资源,本地化
读写Settings
对于Properties,Settings里面的字符串,
读取
Settings.Default.IpAddress;
写
Settings.Default.IpAddress = host;
Settings.Default.Save();
读取资源中的字符串
新建一个Demo.resx文件
里面建立字符串
方式一:直接Demo.Title
方式二:
var rm = new ResourceManager("Wrox.ProCSharp.Localization.Demo", Assembly.GetExecutingAssembly()); Console.WriteLine(rm.GetString("Title"));
方式二可以读取图片资源
using (Image logo = (Image)rm.GetObject("WroxLogo")) { logo.Save("logo.bmp"); }
国际化
窗口显示国际化
对于一个Form,将Localizable设置为True,Language为默认时,可以放置控件。
需要添加某一个语言,在Language下拉选择(或者直接填写)即可。
比如设置中文后,
在Form的各个控件上输入中文,同时项目中自动生成文件
可执行目录下同时生成zh的文件夹,里面有对应dll资源文件。
代码中设置
string culture=可以是en,zh,fr,de后面的国家也可加上,比如en-us,zh-cn
下面一般在主Form构造函数中设置
CultureInfo ci = new CultureInfo(culture); Thread.CurrentThread.CurrentCulture = ci; Thread.CurrentThread.CurrentUICulture = ci;
一般字符串国际化
在Properties下面新建资源文件,
命名方式如下
原来有一个Resources.resx文件,中文的叫Resources.zh.resx,英文的叫Resources.en.resx
其中的字符串资源名称相同,对应的值为翻译后的结果。
在代码中获取很简单。
Properties.Resources.MsgInfo