我正在尝试本地化我的wp7应用程序,我需要为de-DE
和de-AT
设置不同的字符串,因为即使基本设置相同,这两种文化之间也存在一些语言差异。< / p>
我做了以下事情来实现这个目标:
AppResources.resx
个文件
AppResources.de-DE.resx
个文件
AppResources.de-AT.resx
文件project.csproj
文件并将<SupportedCultures/>
更改为以下内容:<SupportedCultures>de-AT;de-DE</SupportedCultures>
LocalizedStrings
,在App.xaml的Application.Resources中注册了它并相应地更改了输出字符串。作为手机的仿真器都设置为奥地利语区域设置,System.Globalization.CultureInfo.CurrentCulture.ToString();
返回 de-AT ,但无论如何使用AppResources.de-DE.resx
中定义的文本而不是奥地利文化档案中定义的那些。
知道如何解决这个问题吗?
答案 0 :(得分:1)
您应该检查CultureInfo.CurrentUICulture,而不是CurrentCulture!
这是控制为接口加载哪些资源的属性!
CurrentUICulture的值应与手机/模拟器中选择的值匹配设置 - &gt;地区+语言 - &gt;显示语言。
理想情况下,您始终可以通过在Thread.CurrentUICulture上设置不同的CultureInfo来覆盖系统强加的CurrentUICulture。