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

时间:2015-12-15 09:22:01

标签: c# wpf xaml windows-phone-8 resources

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

资源文件的示例:

English.resx文件

姓名||值

< TextBlock x:Name =“XTextBlock”/>产品名称

German.resx文件

姓名||值 < TextBlock x:Name =“XTextBlock”/>名称des Produkts

页面选择语言:

     English checkbox check

     German     uncheck

     French     uncheck

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

谢谢!

1 个答案:

答案 0 :(得分:1)

一种解决方案如下:

  1. <强> Page.xaml

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

  3. 在项目中添加名为&#34; strings&#34;的文件夹。为您需要的每种文化添加子文件夹:en-EN,de-DE,fr-FR。在每个子文件夹中添加 Resources.resw 文件。如图所示: enter image description here

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

    • for en-EN

    名称:uniqueIdentifier.Content

    价值:产品名称

    • for de-DE

    名称:uniqueIdentifier.Content

    价值:名称des Produkt

    1. 让它选择设备语言或更改文化:
    2. 选择语言,然后:

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