From 61f6c4d4ccf398e4942d673c33cd92ab692d717e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=AA=E7=9F=A5=E6=97=B6=E5=85=89?= <732857315@qq.com> Date: Wed, 11 Dec 2024 16:47:39 +0800 Subject: [PATCH 1/4] Update UIStyles.cs --- SunnyUI/Style/UIStyles.cs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/SunnyUI/Style/UIStyles.cs b/SunnyUI/Style/UIStyles.cs index e5808198..6cdd5fcd 100644 --- a/SunnyUI/Style/UIStyles.cs +++ b/SunnyUI/Style/UIStyles.cs @@ -243,10 +243,27 @@ static UIStyles() MenuColors.TryAdd(UIMenuStyle.Black, new UIMenuBlackColor()); MenuColors.TryAdd(UIMenuStyle.White, new UIMenuWhiteColor()); + UIBuiltInResources ljp = new ja_JP_Resources(); //日语 + BuiltInResources.TryAdd(ljp.CultureInfo.LCID, ljp); + + UIBuiltInResources les = new es_ES_tradnl_Resources(); //西班牙语 + UIBuiltInResources lfr = new fr_FR_Resources(); //法语 + UIBuiltInResources lru = new ru_RU_Resources(); //俄语 + UIBuiltInResources lsa = new ar_SA_Resources(); //阿拉伯语 + BuiltInResources.TryAdd(les.CultureInfo.LCID, les); + BuiltInResources.TryAdd(lfr.CultureInfo.LCID, lfr); + BuiltInResources.TryAdd(lru.CultureInfo.LCID, lru); + BuiltInResources.TryAdd(lsa.CultureInfo.LCID, lsa); + UIBuiltInResources lcn = new zh_CN_Resources(); UIBuiltInResources len = new en_US_Resources(); + UIBuiltInResources ltw = new zh_TW_Resources(); BuiltInResources.TryAdd(lcn.CultureInfo.LCID, lcn); BuiltInResources.TryAdd(len.CultureInfo.LCID, len); + BuiltInResources.TryAdd(ltw.CultureInfo.LCID, ltw); + + CultureInfosOfLanguage lInfo_cn = new CultureInfos_zh_CN(); + CultureInfosOfLanguage.TryAdd(lInfo_cn.CultureInfo.LCID, lInfo_cn); } /// @@ -424,7 +441,8 @@ public static CultureInfo CultureInfo } } } - + + public static readonly ConcurrentDictionary CultureInfosOfLanguage = new(); public static readonly ConcurrentDictionary BuiltInResources = new(); public static UIBuiltInResources CurrentResources => BuiltInResources[CultureInfo.LCID]; } From f497bbd5294eb81736c7167e349d743c4e8377ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=AA=E7=9F=A5=E6=97=B6=E5=85=89?= <732857315@qq.com> Date: Wed, 11 Dec 2024 16:49:35 +0800 Subject: [PATCH 2/4] Update UBuiltInResources.cs --- SunnyUI/Style/UBuiltInResources.cs | 279 ++++++++++++++++++++++++++++- 1 file changed, 275 insertions(+), 4 deletions(-) diff --git a/SunnyUI/Style/UBuiltInResources.cs b/SunnyUI/Style/UBuiltInResources.cs index f07acb79..ce86ada8 100644 --- a/SunnyUI/Style/UBuiltInResources.cs +++ b/SunnyUI/Style/UBuiltInResources.cs @@ -18,6 +18,7 @@ * * 2020-04-19: V2.2.0 增加文件说明 * 2021-07-24: V3.0.5 内置字符串已经处理完国际化 + * 2024-12-11: v3.1 增加多语言翻译 联合国语言、繁体中文和日语 ******************************************************************************/ using System.Globalization; @@ -76,7 +77,277 @@ public class en_US_Resources : UIBuiltInResources public override string Save { get; set; } = "Save"; public override string All { get; set; } = "All"; } - + /// + /// 繁体中文 + /// + public class zh_TW_Resources : UIBuiltInResources + { + public override CultureInfo CultureInfo => CultureInfos.zh_TW; + public override string SuccessTitle { get; set; } = "正確"; + public override string ErrorTitle { get; set; } = "錯誤"; + public override string InputTitle { get; set; } = "輸入"; + public override string SelectTitle { get; set; } = "選擇"; + public override string CloseAll { get; set; } = "全部關閉"; + public override string OK { get; set; } = "確定"; + public override string GridNoData { get; set; } = "[ 無數據 ]"; + public override string GridDataLoading { get; set; } = "數據加載中,請稍候..."; + public override string GridDataSourceException { get; set; } = "數據源必須爲DataTable或者List"; + public override string SystemProcessing { get; set; } = "系統正在處理中,請稍候..."; + public override string Prev { get; set; } = "上一頁"; + public override string Next { get; set; } = "下一頁"; + public override string SelectPageRight { get; set; } = "頁"; + public override string Open { get; set; } = "打開"; + } + /// + /// 西班牙语 + /// + public class es_ES_tradnl_Resources : UIBuiltInResources + { + public override CultureInfo CultureInfo => CultureInfos.es_ES_tradnl; + public override string InfoTitle { get; set; } = "Info"; + public override string SuccessTitle { get; set; } = "éxito"; + public override string WarningTitle { get; set; } = "Aviso"; + public override string ErrorTitle { get; set; } = "Error"; + public override string AskTitle { get; set; } = "Pregunta"; + public override string InputTitle { get; set; } = "Entrada"; + public override string SelectTitle { get; set; } = "Selección"; + public override string CloseAll { get; set; } = "Todos cerrados"; + public override string OK { get; set; } = "Vale"; + public override string Cancel { get; set; } = "Cancelar"; + public override string GridNoData { get; set; } = "[ sin datos ]"; + public override string GridDataLoading { get; set; } = "Cargando datos, por favor Espere..."; + public override string GridDataSourceException { get; set; } = "La fuente de datos debe ser datatable o List"; + public override string SystemProcessing { get; set; } = "El sistema está en proceso, por favor Espere..."; + public override string Monday { get; set; } = "Lun"; + public override string Tuesday { get; set; } = "Mar"; + public override string Wednesday { get; set; } = "Mié"; + public override string Thursday { get; set; } = "Jue"; + public override string Friday { get; set; } = "Vie"; + public override string Saturday { get; set; } = "Sáb"; + public override string Sunday { get; set; } = "Dom"; + public override string Prev { get; set; } = "Anterior"; + public override string Next { get; set; } = "Siguiente"; + public override string SelectPageLeft { get; set; } = "Página"; + public override string SelectPageRight { get; set; } = ""; + public override string January { get; set; } = "Eno."; + public override string February { get; set; } = "Fbro."; + public override string March { get; set; } = "Mzo."; + public override string April { get; set; } = "Ab."; + public override string May { get; set; } = "Mayo"; + public override string June { get; set; } = "Jun."; + public override string July { get; set; } = "Jul."; + public override string August { get; set; } = "Agto."; + public override string September { get; set; } = "Sbre."; + public override string October { get; set; } = "Obre."; + public override string November { get; set; } = "Nbre."; + public override string December { get; set; } = "Dbre."; + public override string Today { get; set; } = "Hoy."; + public override string Search { get; set; } = "Buscar"; + public override string Clear { get; set; } = "Eliminar"; + public override string Open { get; set; } = "Abrir"; + public override string Save { get; set; } = "Guardar"; + public override string All { get; set; } = "Todo"; + } + /// + /// 法语 + /// + public class fr_FR_Resources : UIBuiltInResources + { + public override CultureInfo CultureInfo => CultureInfos.fr_FR; + public override string InfoTitle { get; set; } = "Info"; + public override string SuccessTitle { get; set; } = "Succès"; + public override string WarningTitle { get; set; } = "Avertissement"; + public override string ErrorTitle { get; set; } = "Erreur"; + public override string AskTitle { get; set; } = "Enquête"; + public override string InputTitle { get; set; } = "Entrée"; + public override string SelectTitle { get; set; } = "Sélection"; + public override string CloseAll { get; set; } = "Tous fermés"; + public override string OK { get; set; } = "Bon"; + public override string Cancel { get; set; } = "Annuler‌"; + public override string GridNoData { get; set; } = "[ pas de données ]"; + public override string GridDataLoading { get; set; } = "Chargement des données, veuillez patienter..."; + public override string GridDataSourceException { get; set; } = "La source de données doit être datatable ou List"; + public override string SystemProcessing { get; set; } = "Le système est en cours de traitement, veuillez patienter..."; + public override string Monday { get; set; } = "Lun"; + public override string Tuesday { get; set; } = "Mar"; + public override string Wednesday { get; set; } = "Mer"; + public override string Thursday { get; set; } = "Jeu"; + public override string Friday { get; set; } = "Ven"; + public override string Saturday { get; set; } = "Sam"; + public override string Sunday { get; set; } = "Dim"; + public override string Prev { get; set; } = "Précédent"; + public override string Next { get; set; } = "Suivant"; + public override string SelectPageLeft { get; set; } = "Page"; + public override string SelectPageRight { get; set; } = ""; + public override string January { get; set; } = "Jan."; + public override string February { get; set; } = "Fév."; + public override string March { get; set; } = "Mar."; + public override string April { get; set; } = "Avr."; + public override string May { get; set; } = "May"; + public override string June { get; set; } = "Jun."; + public override string July { get; set; } = "Jul."; + public override string August { get; set; } = "Aug."; + public override string September { get; set; } = "Sep."; + public override string October { get; set; } = "Oct."; + public override string November { get; set; } = "Nov."; + public override string December { get; set; } = "Dec."; + public override string Today { get; set; } = "Aujourd'hui"; + public override string Search { get; set; } = "Rechercher"; + public override string Clear { get; set; } = "Effacer"; + public override string Open { get; set; } = "Ouvrir"; + public override string Save { get; set; } = "Sauvegarder"; + public override string All { get; set; } = "Tous"; + } + /// + /// 俄语 + /// + public class ru_RU_Resources : UIBuiltInResources + { + public override CultureInfo CultureInfo => CultureInfos.ru_RU; + public override string InfoTitle { get; set; } = "Информация"; + public override string SuccessTitle { get; set; } = "Успех"; + public override string WarningTitle { get; set; } = "предупреждение"; + public override string ErrorTitle { get; set; } = "Ошибка"; + public override string AskTitle { get; set; } = "Запрос"; + public override string InputTitle { get; set; } = "Ввод"; + public override string SelectTitle { get; set; } = "Выбор"; + public override string CloseAll { get; set; } = "Закрыть все"; + public override string OK { get; set; } = "Ладно"; + public override string Cancel { get; set; } = "Отменить"; + public override string GridNoData { get; set; } = "[ Данные отсутствуют ]"; + public override string GridDataLoading { get; set; } = "Загружаются данные, пожалуйста, подождите немного..."; + public override string GridDataSourceException { get; set; } = "Источник данных должен быть DataTable или List"; + public override string SystemProcessing { get; set; } = "Система находится в процессе обработки, пожалуйста, подождите..."; + public override string Monday { get; set; } = "Пн"; + public override string Tuesday { get; set; } = "Вт"; + public override string Wednesday { get; set; } = "Ср"; + public override string Thursday { get; set; } = "Чт"; + public override string Friday { get; set; } = "Пт"; + public override string Saturday { get; set; } = "Сб"; + public override string Sunday { get; set; } = "Вс"; + public override string Prev { get; set; } = "Предыдущий"; + public override string Next { get; set; } = "Следующий"; + public override string SelectPageLeft { get; set; } = "Страница"; + public override string SelectPageRight { get; set; } = ""; + public override string January { get; set; } = "Янв"; + public override string February { get; set; } = "Фев"; + public override string March { get; set; } = "Мар"; + public override string April { get; set; } = "Апр"; + public override string May { get; set; } = "Май"; + public override string June { get; set; } = "Июн"; + public override string July { get; set; } = "Июл"; + public override string August { get; set; } = "Авг"; + public override string September { get; set; } = "Сен"; + public override string October { get; set; } = "Окт"; + public override string November { get; set; } = "Ноя"; + public override string December { get; set; } = "Дек"; + public override string Today { get; set; } = "Сегодня"; + public override string Search { get; set; } = "Поиск"; + public override string Clear { get; set; } = "Очистить"; + public override string Open { get; set; } = "Открыть"; + public override string Save { get; set; } = "Сохранить"; + public override string All { get; set; } = "Все"; + } + /// + /// 阿拉伯语 + /// + public class ar_SA_Resources : UIBuiltInResources + { + public override CultureInfo CultureInfo => CultureInfos.ar_SA; + public override string InfoTitle { get; set; } = "معلومات"; + public override string SuccessTitle { get; set; } = "النجاح"; + public override string WarningTitle { get; set; } = "حذر"; + public override string ErrorTitle { get; set; } = "خطأ"; + public override string AskTitle { get; set; } = "استعلم عن"; + public override string InputTitle { get; set; } = "المدخلات"; + public override string SelectTitle { get; set; } = "مختار"; + public override string CloseAll { get; set; } = "إغلاق جميع"; + public override string OK { get; set; } = "حَسَناً"; + public override string Cancel { get; set; } = "ألغى"; + public override string GridNoData { get; set; } = "[ لا توجد بيانات ]"; + public override string GridDataLoading { get; set; } = "تحميل البيانات ، الرجاء الانتظار ..."; + public override string GridDataSourceException { get; set; } = "مصدر البيانات يجب أن تكون دیتاتیبل أو قائمة"; + public override string SystemProcessing { get; set; } = "الرجاء الانتظار بينما النظام في العملية ..."; + public override string Monday { get; set; } = "الأحد"; + public override string Tuesday { get; set; } = "السبت"; + public override string Wednesday { get; set; } = "الجمعة"; + public override string Thursday { get; set; } = "الخميس"; + public override string Friday { get; set; } = "الأربعاء"; + public override string Saturday { get; set; } = "الثلاثاء"; + public override string Sunday { get; set; } = "الاثنين"; + public override string Prev { get; set; } = "آخر"; + public override string Next { get; set; } = "التالي"; + public override string SelectPageLeft { get; set; } = "الصفحة"; + public override string SelectPageRight { get; set; } = ""; + public override string January { get; set; } = "يناير"; + public override string February { get; set; } = "فبراير"; + public override string March { get; set; } = "مارس"; + public override string April { get; set; } = "ابريل"; + public override string May { get; set; } = "مايو"; + public override string June { get; set; } = "يونيو"; + public override string July { get; set; } = "يوليو"; + public override string August { get; set; } = "اغسطس"; + public override string September { get; set; } = "سبتمبر"; + public override string October { get; set; } = "اكتوبر"; + public override string November { get; set; } = "نوفمبر"; + public override string December { get; set; } = "ديسمبر"; + public override string Today { get; set; } = "اليوم"; + public override string Search { get; set; } = "بحث"; + public override string Clear { get; set; } = "مسح"; + public override string Open { get; set; } = "فتح"; + public override string Save { get; set; } = "حفظ"; + public override string All { get; set; } = "كامل"; + } + /// + /// 日语 + /// + public class ja_JP_Resources : UIBuiltInResources + { + public override CultureInfo CultureInfo => CultureInfos.ja_JP; + public override string InfoTitle { get; set; } = "メッセージ"; + public override string SuccessTitle { get; set; } = "正しい"; + public override string WarningTitle { get; set; } = "警告"; + public override string ErrorTitle { get; set; } = "エラー"; + public override string AskTitle { get; set; } = "ヒント"; + public override string InputTitle { get; set; } = "インプット"; + public override string SelectTitle { get; set; } = "せんたく"; + public override string CloseAll { get; set; } = "すべて閉じる"; + public override string OK { get; set; } = "確認"; + public override string Cancel { get; set; } = "キャンセル"; + public override string GridNoData { get; set; } = "[ データなし ]"; + public override string GridDataLoading { get; set; } = "データ・ロード中、お待ちください..."; + public override string GridDataSourceException { get; set; } = "データソースはDataTableまたはListでなければなりません"; + public override string SystemProcessing { get; set; } = "システムは処理中です。お待ちください…"; + public override string Monday { get; set; } = "月"; + public override string Tuesday { get; set; } = "火"; + public override string Wednesday { get; set; } = "水"; + public override string Thursday { get; set; } = "木"; + public override string Friday { get; set; } = "金"; + public override string Saturday { get; set; } = "土"; + public override string Sunday { get; set; } = "日"; + public override string Prev { get; set; } = "前のページ"; + public override string Next { get; set; } = "次のページ"; + public override string SelectPageLeft { get; set; } = ""; + public override string SelectPageRight { get; set; } = "ページ"; + public override string January { get; set; } = "むつ"; + public override string February { get; set; } = "さらぎ"; + public override string March { get; set; } = "やよい"; + public override string April { get; set; } = "うづ"; + public override string May { get; set; } = "さつ"; + public override string June { get; set; } = "みなづ"; + public override string July { get; set; } = "ふみづ"; + public override string August { get; set; } = "はづ"; + public override string September { get; set; } = "ながつ"; + public override string October { get; set; } = "かんなづ"; + public override string November { get; set; } = "しもつ"; + public override string December { get; set; } = "しわす"; + public override string Today { get; set; } = "今日"; + public override string Search { get; set; } = "検索"; + public override string Clear { get; set; } = "パージ"; + public override string Open { get; set; } = "開く"; + public override string Save { get; set; } = "保存"; + public override string All { get; set; } = "すべて"; + } /// /// 多语言字符串定义 /// @@ -85,9 +356,9 @@ public abstract class UIBuiltInResources public abstract CultureInfo CultureInfo { get; } /// - /// 提示 + /// 消息 /// - public virtual string InfoTitle { get; set; } = "提示"; + public virtual string InfoTitle { get; set; } = "消息"; /// /// 正确 @@ -289,4 +560,4 @@ public abstract class UIBuiltInResources public virtual string All { get; set; } = "全部"; } -} \ No newline at end of file +} From 54def5babb236c1c1d9c9d9108c398f0ef9b7a89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=AA=E7=9F=A5=E6=97=B6=E5=85=89?= <732857315@qq.com> Date: Wed, 11 Dec 2024 16:52:38 +0800 Subject: [PATCH 3/4] Update UCultureInfo.cs --- SunnyUI/Style/UCultureInfo.cs | 91 ++++++++++++++++++++++++++++++++--- 1 file changed, 84 insertions(+), 7 deletions(-) diff --git a/SunnyUI/Style/UCultureInfo.cs b/SunnyUI/Style/UCultureInfo.cs index c91d3c4a..bbd687fe 100644 --- a/SunnyUI/Style/UCultureInfo.cs +++ b/SunnyUI/Style/UCultureInfo.cs @@ -1,7 +1,33 @@ -using System.Globalization; +/****************************************************************************** + * 2024-12-11: 增加联合国六种语言、繁体中文、日语 +******************************************************************************/ +using System.Globalization; namespace Sunny.UI { + public class CultureInfos_zh_CN : CultureInfosOfLanguage + { + public override CultureInfo CultureInfo => CultureInfos.zh_CN; + } + + public abstract class CultureInfosOfLanguage + { + public abstract CultureInfo CultureInfo { get; } + /// + /// 语言名称检索表 + /// + public virtual Dictionary LCIDNAME { get; set; } = new Dictionary() + { + {CultureInfos.LCID_zh_CN, "简体中文" }, + {CultureInfos.LCID_zh_TW, "繁体中文" }, + {CultureInfos.LCID_en_US, "English" }, + {CultureInfos.LCID_ja_JP, "日本語" }, + {CultureInfos.LCID_es_ES_tradnl, "Español" }, //西班牙语 + {CultureInfos.LCID_fr_FR, "Français" }, //法语 + {CultureInfos.LCID_ru_RU, "Русский язык" }, //俄语 + {CultureInfos.LCID_ar_SA, "بالعربية" }, //阿拉伯语 + }; + } public static class CultureInfos { //语言文件对应ID网址 @@ -34,34 +60,85 @@ public static class CultureInfos //2070 葡萄牙语 //1040 意大利语 + /// + /// 1041 日语 日本 + /// + public const int LCID_ja_JP = 1041; + /// - /// 2052 简体中文 + /// 1034 西班牙语 西班牙 + /// + public const int LCID_es_ES_tradnl = 1034; + + /// + /// 1025 阿拉伯语 沙特阿拉伯 + /// + public const int LCID_ar_SA = 1025; + + /// + /// 1036 法语 法国 + /// + public const int LCID_fr_FR = 1036; + + /// + /// 1049 俄语 俄罗斯 + /// + public const int LCID_ru_RU = 1049; + + /// + /// 2052 简体中文 中国大陆 /// public const int LCID_zh_CN = 2052; /// - /// 1028 繁体中文 + /// 1028 繁体中文 中国台湾 /// public const int LCID_zh_TW = 1028; /// - /// 1033 英语 + /// 1033 英语 美国 /// public const int LCID_en_US = 1033; /// - /// 2052 简体中文 + /// 1041 日语 日本 + /// + public static readonly CultureInfo ja_JP = CultureInfo.GetCultureInfo(LCID_ja_JP); + + /// + /// 1034 西班牙语 西班牙 + /// + public static readonly CultureInfo es_ES_tradnl = CultureInfo.GetCultureInfo(LCID_es_ES_tradnl); + + /// + /// 1025 阿拉伯语 沙特阿拉伯 + /// + public static readonly CultureInfo ar_SA = CultureInfo.GetCultureInfo(LCID_ar_SA); + + /// + /// 1036 法语 法国 + /// + public static readonly CultureInfo fr_FR = CultureInfo.GetCultureInfo(LCID_fr_FR); + + /// + /// 1049 俄语 俄罗斯 + /// + public static readonly CultureInfo ru_RU = CultureInfo.GetCultureInfo(LCID_ru_RU); + + /// + /// 2052 简体中文 中国大陆 /// public static readonly CultureInfo zh_CN = CultureInfo.GetCultureInfo(LCID_zh_CN); /// - /// 1028 繁体中文 + /// 1028 繁体中文 中国台湾 /// public static readonly CultureInfo zh_TW = CultureInfo.GetCultureInfo(LCID_zh_TW); /// - /// 1033 英语 + /// 1033 英语 美国 /// public static readonly CultureInfo en_US = CultureInfo.GetCultureInfo(LCID_en_US); + } } From 2f03f4e250fe274058853464e2eacdf138e9c536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=AA=E7=9F=A5=E6=97=B6=E5=85=89?= <732857315@qq.com> Date: Wed, 11 Dec 2024 17:17:50 +0800 Subject: [PATCH 4/4] Update UCultureInfo.cs --- SunnyUI/Style/UCultureInfo.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/SunnyUI/Style/UCultureInfo.cs b/SunnyUI/Style/UCultureInfo.cs index bbd687fe..1ab85423 100644 --- a/SunnyUI/Style/UCultureInfo.cs +++ b/SunnyUI/Style/UCultureInfo.cs @@ -1,6 +1,7 @@ /****************************************************************************** * 2024-12-11: 增加联合国六种语言、繁体中文、日语 ******************************************************************************/ +using System.Collections.Generic; using System.Globalization; namespace Sunny.UI