更多语言的成就应用程序 Windows Phone

Achievement app in more languages Windows Phone

我对 Windows Phone 中的资源有疑问。 我想用多种语言(英语、德语、法语)进行申请。 目前我有一个页面,您可以在其中 select 语言和两个 resx 资源文件。 在详细信息页面中,类型控件具有不同的文本块,并希望根据 selected 语言替换文本文本字段。 当前可用的语言作为矢量语言 = {"English", "German"} 添加了面板集。

资源文件示例:

English.resx 文件

姓名 ||值

< TextBlock x: 名称 = "XTextBlock" /> 产品名称

German.resx 文件

姓名 ||价值 < TextBlock x: Name = "XTextBlock" /> Name des Produkts

页select离子语言:

     English checkbox check

     German     uncheck

     French     uncheck

当我打开设置和保存时,应该根据 selected 语言给出要更改的块的名称。 当您浏览整个应用程序时,必须始终保持语言(英语、法语)的值,直到用户想要另一种语言。 一个解决方案,结构,欢迎任何想法?

谢谢!

一种解决方案可以如下:

  1. Page.xaml

    < TextBlock x: Name = "XTextBlock" Content = "" x:Uid = "uniqueIdentifier/>
    
  2. Resources.resw

在您的项目中添加一个名为 "strings" 的文件夹。为您需要的每种文化添加子文件夹:en-EN、de-DE、fr-FR。在每个子文件夹中添加 Resources.resw 文件。如图所示:

该文件将包含每个 UI 控件(来自所有页面)和文本值:

  • for en-EN

姓名:uniqueIdentifier.Content

值:产品名称

  • 为去德

姓名:uniqueIdentifier.Content

值:产品名称

  1. 让它选择设备语言或改变文化:

选择语言,然后:

var cul = "en-EN";//or "de-DE".....
var culture = new CultureInfo(cul);
        Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = culture.Name;
        CultureInfo.DefaultThreadCurrentCulture = culture;
        CultureInfo.DefaultThreadCurrentUICulture = culture;