生活随笔
收集整理的這篇文章主要介紹了
.NET网站国际化策略
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我所在的公司是做SAAS軟件,用戶群體是面向全球的,因此對應業務系統國際化就是順理成章的事情。
其實國際化重點在于多語言支持,本文就從這方面入手。
多語言
如上解決方案截圖,BQoolCommon.Resource是多語言資源工程,下面來看看具體怎么實現:
2.1、定義多語言資源文件 以支持中(繁體、簡體)英文為例,定義如下圖資源文件
資源文件中定義的資源配置項如下:
生成對應的鍵值對屬性
/// <summary>/// 查詢類似 01:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_1 {get {return ResourceManager.GetString("SettingDailyAt_1", resourceCulture);}}/// <summary>/// 查詢類似 10:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_10 {get {return ResourceManager.GetString("SettingDailyAt_10", resourceCulture);}}/// <summary>/// 查詢類似 11:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_11 {get {return ResourceManager.GetString("SettingDailyAt_11", resourceCulture);}}/// <summary>/// 查詢類似 12:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_12 {get {return ResourceManager.GetString("SettingDailyAt_12", resourceCulture);}}/// <summary>/// 查詢類似 13:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_13 {get {return ResourceManager.GetString("SettingDailyAt_13", resourceCulture);}}/// <summary>/// 查詢類似 14:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_14 {get {return ResourceManager.GetString("SettingDailyAt_14", resourceCulture);}}/// <summary>/// 查詢類似 15:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_15 {get {return ResourceManager.GetString("SettingDailyAt_15", resourceCulture);}}/// <summary>/// 查詢類似 16:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_16 {get {return ResourceManager.GetString("SettingDailyAt_16", resourceCulture);}}/// <summary>/// 查詢類似 17:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_17 {get {return ResourceManager.GetString("SettingDailyAt_17", resourceCulture);}}/// <summary>/// 查詢類似 18:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_18 {get {return ResourceManager.GetString("SettingDailyAt_18", resourceCulture);}}/// <summary>/// 查詢類似 19:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_19 {get {return ResourceManager.GetString("SettingDailyAt_19", resourceCulture);}}/// <summary>/// 查詢類似 02:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_2 {get {return ResourceManager.GetString("SettingDailyAt_2", resourceCulture);}}/// <summary>/// 查詢類似 20:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_20 {get {return ResourceManager.GetString("SettingDailyAt_20", resourceCulture);}}/// <summary>/// 查詢類似 21:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_21 {get {return ResourceManager.GetString("SettingDailyAt_21", resourceCulture);}}/// <summary>/// 查詢類似 22:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_22 {get {return ResourceManager.GetString("SettingDailyAt_22", resourceCulture);}}/// <summary>/// 查詢類似 23:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_23 {get {return ResourceManager.GetString("SettingDailyAt_23", resourceCulture);}}/// <summary>/// 查詢類似 24:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_24 {get {return ResourceManager.GetString("SettingDailyAt_24", resourceCulture);}}/// <summary>/// 查詢類似 03:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_3 {get {return ResourceManager.GetString("SettingDailyAt_3", resourceCulture);}}/// <summary>/// 查詢類似 04:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_4 {get {return ResourceManager.GetString("SettingDailyAt_4", resourceCulture);}}/// <summary>/// 查詢類似 05:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_5 {get {return ResourceManager.GetString("SettingDailyAt_5", resourceCulture);}}/// <summary>/// 查詢類似 06:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_6 {get {return ResourceManager.GetString("SettingDailyAt_6", resourceCulture);}}/// <summary>/// 查詢類似 07:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_7 {get {return ResourceManager.GetString("SettingDailyAt_7", resourceCulture);}}/// <summary>/// 查詢類似 08:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_8 {get {return ResourceManager.GetString("SettingDailyAt_8", resourceCulture);}}/// <summary>/// 查詢類似 09:00 的當地語系化字串。/// </summary>public static string SettingDailyAt_9 {get {return ResourceManager.GetString("SettingDailyAt_9", resourceCulture);}}
2.2、使用
項目當中引用對應的資源類庫
使用翻譯文本
<div class="line01"></div>
<div class="button_area align_r">@CommonUIHelper.BuildCloseColorboxButton(PreferenceElement.Cancel)<button class="button02 jqAddFilter">@FavoriteFilterElement.Save</button>
</div>
設置可供用戶設置的語言選項
用戶選擇對應語系的時候,進行語系切換,如下英文切換
#region set Culture en-USThread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");#endregion set Culture en-US
效果如下
總結
以上是生活随笔 為你收集整理的.NET网站国际化策略 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。