本地化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 Class

 

public 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程序支持多国语言了。

时间: 2025-01-01 12:15:07

本地化SilverLight应用程序(多语言支持)的相关文章

Silverlight 2中多语言支持实现(下)

引言 最近项目要在Silverlight 2应用程序中实现本地化,原以为这个过程非常简单,却没想到实现的时候 一波三折,好在结果还算不错.需求是这样的,用户第一次访问的时候,默认为英文,当用户选择一种显 示语言后,记录在本地,下次用户访问时直接显示已经选择的语言.现在我把整个实现的过程记录下来, 希望对大家有所帮助. 苦笑不得的缺陷 在Silverlight 2中多语言支持实现(上)文章的最后,我们通过修改项目文件中SupportedCultures 来实现了多语言的支持,之所以能够成功,是因为

Silverlight 2中多语言支持实现(上)

引言 最近项目要在Silverlight 2应用程序中实现本地化,原以为这个过程非常简单,却没想到实现的时候 一波三折,好在结果还算不错.需求是这样的,用户第一次访问的时候,默认为英文,当用户选择一种显 示语言后,记录在本地,下次用户访问时直接显示已经选择的语言.现在我把整个实现的过程记录下来, 希望对大家有所帮助. 准备工作 我们发现在Silverlight 2中提供了ResourceManager类,这意味着可以通过资源文件来实现,首先在 Silverlight项目中建立一个文件夹,命名为R

ASP.NET MVC的Localization本地化多语言支持_自学过程

一.ASP.NET MVC的本地化支持 ASP.NET MVC的是基于ASP.NET运行,所以由ASP.NET提供的所有功能,都可以在MVC里使用,例如缓存,会话状态和本地化. 在传统的ASP.NET Web窗体时代我们使用资源文件存储不同语言中的内容和使用由Visual Studio自动生成的ResourceManager类来检索它们.在ASP.NET MVC他们一样有效的. 让我创建一个标准的ASP.NET MVC的一个示例应用程序.该网站是中文的,我们可以看到所有的内容都是在视图和控制器类

ASP程序界面的多语言支持

程序 ASP程序界面的多语言支持 可能有的web应用程序,需要多语言支持,例如,讨论组,既有中文界面,以适合国人使用的方便,又需要英文界面,以满足国际化的需要.我想,似乎没有必要为每一个语言都写一个版本,这不仅比较繁琐,而且以后程序升级就必须修改所有版本的程序.熟悉vc++程序的朋友一定知道通常windows应用程序的国际化手段都是通过rc文件来解决的.只要重新加入不同语言版本的rc文件编译一下就行了.asp程序不能编译也不需编译.我于是开始考虑使用数据库,将ASP程序中使用到的提示信息/甚至图

Windows Phone 8的本地化多语言支持

在WP8平台处理本地化多语言的支持还是比较容易的,大部分工作都有VS IDE处理,开发者只需简单操作,并翻译本地资源即可实现. 无论您目前的应用是否需要支持多语言,将您的代码从可本地化的资源中分离出来很重要.本地化应用的 UI 文本字符串的常见做法是,将每一个字符串复制到资源文件的字符串表的行中.然后用指向表中相应资源的绑定语句 (XAML) 或资源引用(代码隐藏)替换每一个原始字符串.这是一个很好的编码习惯. 本地化多语言配置 当创建一个应用后,会默认在应用中添加资源文件夹Resources和

SAS进阶《深入解析SAS》之开发多语言支持的SAS程序

SAS进阶<深入解析SAS>之开发多语言支持的SAS程序 1. 多语言支持的应用程序是指该程序在世界给第使用时,其能够处理的数据,以及处理数据的方式.信息展现的方式都符合当地的语言.文化习惯,这要求应用程序运行时,能够自动进行与地区.语言相关的处理,也就是通常所说的国际化. 2. SBCS.DBCS.MBCS 单字节字符集SBCS指在该字符集中的字符最多由2个字节表示.一个字节8位,仅支持2的8次方=256个码点. 双字节字符集DBCS(Doule-Byte Character Set)指该字

在SharePoint中使用社区支持的Silverlight应用程序

No-Touch Integration应该是最简单的方法了,将Silverlight集成到SharePoint站点中. 这里使用Dave LaVigne博客( http://franksworld.com/blog/archive/2009/10/07/11739.aspx.)中创建的简单Silverlight应用程序. 1. 导航到他的博客,复制下这段代码. <iframe src="http://www.franksworld.com/silverlight/meeting/&quo

.NET Framework 中多语言支持的实现

前言 曾经记得在 win32 的原生代码编程时代,为实现一个多语言界面而绞尽脑汁,因此出现了大量的教程都是教你如何让程序实现多语言支持,这些实现方法的技术水平参差不齐,很难找到好的框架实现在商业程序中..NET 时代的到来,我们突然发现这一切变得那么简单,你只需轻松点击鼠标就可以让你的程序完美实现多语言支持. 我不想在这里过多的解释文中出现的概念,因为 MSDN 已经为我们提供了完全本地化的技术文档. 正文 我用的是 Visual Studio 2003 中的 Visual C#.NET 来实现

在Silverlight应用程序中进行数据验证

概述 众所周知,在ASP.NET应用程序中,我们可以使用验证控件进行数据输入的验证,遗憾的是在 Silverlight中并没有提供任何验证控件,但Silverlight对于双向数据绑定还是提供了一些基本的数据验 证支持,我们可以在set设置器中定义验证规则,并对于不合法数据抛出异常,最后通过捕获验证错误事 件来实现数据的验证. 本文将介绍在Silverlight应用程序中如何进行数据验证. 准备知识 Silverlight中如下两种情况下,将会触发验证错误: 1.在绑定引擎中执行数据转换时抛出异