我对Windows Phone中的资源有疑问。 我想用多种语言(英语,德语,法语)进行应用。 目前我有一个页面,您可以在其中选择语言和两个resx资源文件。 在详细信息页面中,类型控件具有不同的文本块,并且希望根据所选语言替换文本文本字段。 当前可用的语言以矢量语言= {“英语”,“德语”}添加了面板集。
资源文件的示例:
English.resx文件
姓名||值
< TextBlock x:Name =“XTextBlock”/>产品名称
German.resx文件
姓名||值 < TextBlock x:Name =“XTextBlock”/>名称des Produkts
页面选择语言:
English checkbox check
German uncheck
French uncheck
当我打开设置时,保存时应根据所选语言给出要更改的块的名称。 当您浏览整个应用程序时,必须始终保持语言(英语,法语),直到用户想要另一种语言。 一个解决方案,结构,任何想法都受到欢迎?
谢谢!
答案 0 :(得分:1)
一种解决方案如下:
<强> Page.xaml 强>
< TextBlock x: Name = "XTextBlock" Content = "" x:Uid = "uniqueIdentifier/>
<强> Resources.resw 强>
在项目中添加名为&#34; strings&#34;的文件夹。为您需要的每种文化添加子文件夹:en-EN,de-DE,fr-FR。在每个子文件夹中添加 Resources.resw 文件。如图所示:
该文件将包含每个UI控件(来自所有页面)和文本值:
名称:uniqueIdentifier.Content
价值:产品名称
名称:uniqueIdentifier.Content
价值:名称des Produkt
选择语言,然后:
var cul = "en-EN";//or "de-DE".....
var culture = new CultureInfo(cul);
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = culture.Name;
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;