国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

InChatter系統(tǒng)之本地化

2019-11-17 03:24:10
字體:
來源:轉載
供稿:網友

InChatter系統(tǒng)之本地化

InChatter現(xiàn)在支持本地化了,其實這個只是很細節(jié)的東西,但是咱也是可以走走國際范。哈哈

其實最重要的原因只是想進行一次本地化的開發(fā)。這個概念相信大部分人都有,但是在實際項目中真的很少會涉及到,我也就InChatter這個項目來實踐下本地化開發(fā)。

一、InChatter的本地化實施

1.新建一個新的類庫,命名為:InChatter.Localization

2.在項目右鍵->屬性,打開項目工程的屬性窗口

3.選擇資源頁簽,修改資源的訪問修飾符為Public(這樣我們才可以訪問資源)

4.按圖中的方式添加你定義你的系統(tǒng)資源。保存以后,可以在PRoperties文件夾中看到我們的資源文件Resources.resx

5.在項目工程屬性窗口,你是無法添加兩個資源文件的,我們可以直接將上述的Resources.resx復制一份,修改為Resources.en.resx

6.將語言內容修改為對應的英文即可

通過上述部分,我們變可以成功的完成資源的創(chuàng)建,編譯項目以后的文件目錄:

InChatter.Localization.dllen/而在en目錄中,存在InChatter.Localization.resources.dll

我們默認的資源存儲在InChatter.Localization.dll中,而我們英文的資源存在InChatter.Localization.resources.dll中

如果我們刪除en文件夾,在英文的環(huán)境下,因為無法找到en資源,系統(tǒng)將直接使用默認的中文資源。

二、本地化系統(tǒng)窗體

1.使用生成的dll添加系統(tǒng)引用(需要將默認資源dll以及各個語言資源文件夾copy到系統(tǒng)的bin/Debug目錄下),解決方案下的項目可直接引用項目

2.在WPF中使用項目資源

(1)Xaml中綁定資源

由于Resource中存在的都是靜態(tài)屬性的資源,在Xaml中綁定靜態(tài)屬性即可

<Window x:Class="InChatter.Client.WPFClient.View.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        xmlns:local="clr-namespace:InChatter.Client.WPFClient.Utility"        Title="{x:Static rex:Resources.MessageWindow}" Height="600" Width="800"              WindowStartupLocation="CenterScreen"        xmlns:rex="clr-namespace:InChatter.Localization.Properties;assembly=InChatter.Localization"        Visibility="{Binding WindowStatus,Mode= TwoWay}" ></Window>

這里我們引用前綴,并綁定了Title屬性

(2)代碼中的綁定

ResourceManager rm = new ResourceManager("InChatter.Localization.Properties.Resources", typeof(InChatter.Localization.Properties.Resources).Assembly)

我們本地測試時,在窗體的InitializeComponent()之前設置:

System.Threading.Thread.CurrentThread.CurrentUICulture=newSystem.Globalization.CultureInfo("en");

強制程序設置為英文的語言環(huán)境。

需要注意的是,在WPF由于MVVM綁定,處理時會引入新的線程,所以在WPF測試中,在ViewModel中也需要加入該設置才能保證ViewModel中設置的資源也為英文,這里的都是針對當前運行線程的,如果程序中加入了新的線程,都需要做這樣的處理,當然這是在中文環(huán)境下。這里僅限于測試,真實使用時,會根據(jù)本地環(huán)境自動加載中文或英文,其他語言也可自行開發(fā)。

三、CurrentCulture和CurrentUICulture

資源信息的加載主要是有CurrentUICulture來決定的,而一些格式化選項則是有CurrentCulture來決定。

CurrentCulture是操作系統(tǒng)的用戶區(qū)域環(huán)境的設置,而CurrentUICulture則是操作系統(tǒng)的語言設置。

附:

Winform添加資源方式

1.使用我們上述的第二種Code的方式

2.對窗體進行自定義,設置窗體屬性的Localizable為true,在默認語言下設置窗體語言,完成以后,將窗體的Language修改為需要本地化的語言(默認為Default),然后再設置窗體界面語言即可。這種方式,資源是跟窗體關聯(lián)的。

可本地化語言信息:

http://www.science.co.il/Language/Locale-codes.asp


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 土默特右旗| 娱乐| 准格尔旗| 张家港市| 成都市| 仙居县| 文水县| 临夏县| 色达县| 岳阳县| 江北区| 锡林郭勒盟| 平定县| 乐东| 酒泉市| 抚顺县| 山阳县| 吴川市| 百色市| 和硕县| 昂仁县| 武威市| 宜良县| 特克斯县| 青海省| 苗栗市| 安仁县| 体育| 隆林| 繁峙县| 富阳市| 武陟县| 隆德县| 介休市| 思茅市| 吴忠市| 安吉县| 门头沟区| 花垣县| 本溪| 太原市|