本地化SilverLight应用程序(多语言支持)
原文 http://www.cnblogs.com/seaworm/archive/2010/11/30/1892325.html
利用资源文件(Resources File)使SilverLight支持多语言。
1. 创建一个SilverLight应用程序。
2. 添加一个资源文件,命名为ApplicationStrings.resx。
![]()
3. 添加String类型的资源,这里添加 UsernameString:User Name。设置Access Modeifer为Public。
![]()
4. 为了让程序可以支持中文,再添加一个资源文件:ApplicationString.zh-CN.resx。这里的zh-CN就是语言区域性名称。关于这个名称可以查阅MSDN。
![]()
5. 为这个资源文件添加同样的资源,只是这次是用中文写的。UsernameString:姓 名。确保Access Modeifer为No code generation。
![]()
6. 使用资源来显示文本内容。这里可以通过代码实现,也可以做一个ResourcesWrapper的类,用于直接Binding。这里是用Binding的方式。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
// ResourcesWrapper Classpublic sealed class ResourcesWrapper { private static Resources.ApplicationStrings applicationStrings = new Resources.ApplicationStrings(); public Resources.ApplicationStrings ApplicationStrings { get { return applicationStrings; } } }// Add into ResourceDictionary<local:ResourcesWrapper x:Key="ResourcesWrapper" />// set Binding in UI element<TextBlock Text="{Binding Source={StaticResource ResourcesWrapper}, Path=ApplicationStrings.UserNameString}" Grid.Row="0" Grid.Column="0" /> |
7. 为了让Silverlight在XAP文件中加入支持的语言资源,我们还需要编辑一下.csproj文件。Unload SilverLight 工程,右键编辑这个文件,在<SupportedCultures>节点中,添加支持的语言,之间用分号隔开。例如:
<SupportedCultures>en-US;zh-CN;</SupportedCultures>
8. 好了,让我们重新加载这个工程,并且编译一下。现在可以看到,在Debug目录下,多出来一个zh-CN的目录,这便是中文支持的语言包了。为了确保XAP中也包含这个文件,可以将XAP用Zip解开,会看到同样包含这个目录。
9. 让我们试一下这个可不可行,直接运行。结果发现,显示出来的还是英文。哦,因为默认UI是显示英文的,修改App.xaml.cs,将UI语言和区域语言一致,当然,这里也可以直接指定使用其他语言。
|
1
2
3
4
5
6
|
private void Application_Startup(object sender, StartupEventArgs e){ Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentCulture; this.RootVisual = new MainPage();} |
好了,这样我们就可以让我们的SilverLight程序支持多国语言了。
本地化SilverLight应用程序(多语言支持)的更多相关文章
- [UWP]针对UWP程序多语言支持的总结,含RTL
UWP 对 Globalization and localization 的支持非常好,可以非常容易地实现应用程序本地化. 所谓本地化,表现最为直观的就是UI上文字和布局方式了,针对文字,提供不同的语 ...
- WPF使用X:Static做多语言支持
让程序支持多语言,一般把需要显示的字符串保存在一个资源类的static属性中. <!--[if !supportLists]--> <!--[endif]--> 微软的WPF程 ...
- PHP Laravel 本地化语言支持
That`s it. 我发如今网上Laravel的学习资料实在是太少了.好多东西须要自己去弄.去理解. 我的方法另一个,就是去github上面下载老外写的Laravel站点,然后拿下来自己执行 ...
- 分享两种实现Winform程序的多语言支持的解决方案
因公司业务需要,需要将原有的ERP系统加上支持繁体语言,但不能改变原有的编码方式,即:普通程序员感受不到编码有什么不同.经过我与几个同事的多番沟通,确定了以下两种方案: 方案一:在窗体基类中每次加载并 ...
- ios调用系统相册、相机 显示中文标题、本地化多语言支持
因为调用系统相册.相机需要显示中文,所以搞了半天才知道是在Project->info->Custom ios Target Properties 添加 Localizations 并加入C ...
- Windows Phone 8本地化多语言支持
原文 Windows Phone 8本地化多语言支持 在WP8平台处理本地化多语言的支持还是比较容易的,大部分工作都有VS IDE处理,开发者只需简单操作,并翻译本地资源即可实现. 无论您目前的应用是 ...
- No-Touch Integration 在SharePoint中使用社区支持的Silverlight应用程序
No-Touch Integration 在SharePoint中使用社区支持的Silverlight应用程序 No-Touch Integration应该是最简单的方法了.将Silv ...
- Windows 8本地化多语言支持
原文:Windows 8本地化多语言支持 在Win8平台处理本地化多语言的支持相对比较容易的,但比WP8稍微复杂一点,并不像WP8平台那样大部分工作都有VS IDE处理,Win8平台的操作基本需要开发 ...
- SAS进阶《深入解析SAS》之开发多语言支持的SAS程序
SAS进阶<深入解析SAS>之开发多语言支持的SAS程序 1. 多语言支持的应用程序是指该程序在世界给第使用时,其能够处理的数据,以及处理数据的方式.信息展现的方式都符合当地的语言.文化习 ...
随机推荐
- 常用工具类,文件和内存的大小获取,shell脚本的执行
/* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Versi ...
- ruby和Python简单对比
前不久学了ruby,发现ruby和Python非常像,于是自个测试对比了下,测完了才知道网上有现成的……下面是测试结果 序列(包括列表和元组等)有分片的特点:可能会比较方便的提取其中特定元素,暂时 ...
- Qt5-MSVC2012-qDebug中文乱码解决方法
1.首先看代码: int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); qDeb ...
- SQL Server identity种子
背景: 用identity修饰列可以使它自动增长 例了: create table T(ID int not null identity(1,1), Data nvarchar(32)); ...
- MYSQL 转换字符集的 2 种方法
方法 1. convert(expression using character_set); convert('123456789' using ascii); 方法 2. cast(expresio ...
- 定制化Azure站点Java运行环境(1)
Azure website提供了为现代化的web应用程序快速部署的PAAS平台,可以让用户几分钟之内快速的将自己的应用部署到云端,并且提供了自动扩展(auto-scaling),SSL,多种语言(Ja ...
- Eclipse Plugin Dev Materials
以下资料是本人在开发Eclipse 插件时候收集的一些比较有用的资料Link,和大家分享下. 比较权威的资料: Helpful Eclipse Plugin Websites: Eclipse Art ...
- 新建Android项目的时候,选择SDK的区别
选择新建一个Android项目时候,出现MiniMum Required SDK.Target SDK.Compile With.Theme,如下所示,分别是什么意思呢? MinMum Require ...
- 实现Linux下的U盘(USB Mass Storage)驱动
如何实现Linux下的U盘(USB Mass Storage)驱动 版本:v0.7 How to Write Linux USB MSC (Mass Storage Class) Driver Cri ...
- codec ruby和json格式输出
zjtest7-frontend:/usr/local/logstash-2.3.4/config# cat geoip.conf input {stdin {} } filter { geoip { ...