我的应用程序已经被翻译成多种语言,包括法语、繁体中文和简体中文。现在,当应用程序首次启动时,我想根据用户的地区设置自动选择正确的翻译。
对于法语,评估“InstalledUiCulture”的“TwoLettersIsoLanguageName”属性效果很好,但是对于中文,ISO代码不足够。我考虑采用“Name”属性,它将“zh-Hans”和“zh-Hant”分开,但这会破坏法语,因为它在某些系统上给出“fr-FR”,在其他系统上给出“fr-CA”。
是否有一种简单的方法来获取当前文化的两个字母语言代码(如果它不是中文),否则获取“zh-Hans” / “zh-Hant”?
我正在寻找一种优雅的解决方案;当然我已经考虑过解析文化的“Name”属性并特殊处理中文,但那不算非常美观:/。
简而言之,我认为我正在寻找一种从当前文化检索“中性”文化的方法:从“fr-Fr”获取“fr”,从“zh-TW”获取“zh-Hant”,并从“zh-CN”获取“zh-Hans”。有什么建议吗?
谢谢!
对于法语,评估“InstalledUiCulture”的“TwoLettersIsoLanguageName”属性效果很好,但是对于中文,ISO代码不足够。我考虑采用“Name”属性,它将“zh-Hans”和“zh-Hant”分开,但这会破坏法语,因为它在某些系统上给出“fr-FR”,在其他系统上给出“fr-CA”。
是否有一种简单的方法来获取当前文化的两个字母语言代码(如果它不是中文),否则获取“zh-Hans” / “zh-Hant”?
我正在寻找一种优雅的解决方案;当然我已经考虑过解析文化的“Name”属性并特殊处理中文,但那不算非常美观:/。
简而言之,我认为我正在寻找一种从当前文化检索“中性”文化的方法:从“fr-Fr”获取“fr”,从“zh-TW”获取“zh-Hant”,并从“zh-CN”获取“zh-Hans”。有什么建议吗?
谢谢!
Parent
对此非常完美。 - Clément