开发全球化的应用程序(一)

随着公司规模的不断扩大,随时需要多国语言的软件开发。经过几日的研究,总结出下面一些心得。
开发步骤:
1、全球化的考虑:在软件设计的初始阶段就要考虑到多国语的问题。在代码中不要用硬编码,例如:标签文本,按钮文本,提示信息。还有字符串,日期格式,时间和货币格式都需要考虑。具体的使用可以参考 System.Globalization namespace. 以后可能还会写到关于这方面的文章。
2、分离:把code 与 resource 分开,resource作为satellite assembly。
3、翻译:对不同的资源文件进行本地化的翻译。

几个概念:
1、Culture: 分为Invariant Culture,Neutral Cultrue,Specific Culture
2、Thread.CurrrentCulture: 当前线程的Culture,如果没有指定,程序启动时会用window 安装时的region信息初始化。
3、Thread.CurrentUICulture: 当前线程的UICulture,如果没有指定,程序启动时会用windows当前的language初始化。
4、CurrentUICulture 和 CurrentCulture:
     CurrentUICulture是和界面相关的Culture,例如:标签本文,提示信息等。与语言相关,可以指定为上述的三种Culture.
     CurrentCulture是和格式相关的Culture,例如:日期格式,时间,货币,日历等。与region相关,可以指定为Invariant Culture     &   Sepcific Culture.
所以本地化可以分为两个方面,一个是纯文本信息,另一个是格式信息。在coding阶段都应该考虑,与一般的程序不用。

用到的namespace & class:
System.Globalization; System.Resources; ResourceManager; CultureInfo;

Sample:
1CultureInfo culture = new CultureInfo("zh-CN");
2Thread.CurrentUICulture = culture;
3Thread.CurrentCulture = culture;
4ResourceManager rm = new ResourceManager("Resources",resourcesAssembly); 
5string name = rm.GetString("lblName");
6

posted on 2005-04-27 17:01  ONLY-YOU  阅读(1379)  评论(2编辑  收藏  举报

导航