【问题标题】:Get system language setting on Xamarin iOS在 Xamarin iOS 上获取系统语言设置
【发布时间】:2015-01-29 07:54:59
【问题描述】:

我正在尝试读取 iOS 上的 语言 设置。所以在下面的例子中,我想得到“en”或“English”,而不是“de”或“German”:

我已经检查了来自System.Globalization 的整个CultureInfo.CurrentCulture 对象和来自MonoTouch.FoundationNSLocale.CurrentLocale。但我只看到de_DE 无处不在。

【问题讨论】:

    标签: ios localization xamarin locale


    【解决方案1】:

    好的,我找到了基于这个very similar thread的解决方案:

    在 iOS 上您可以获取当前语言代码作为“首选语言”的第一项:

    NSLocale.PreferredLanguages[0]
    

    在 Android 上,跨平台解决方案运行良好:

    CultureInfo.CurrentCulture.TwoLetterISOLanguageName
    

    为了使共享代码可以访问语言代码,我推荐App.cs 的公共静态成员,分别在OnCreateFinishedLaunching 中初始化。

    【讨论】:

    • iOS 解决方案:这将返回一个众所周知的格式“xx-YY”的字符串,其中 xx 是语言指示符,YY 是地区/国家指示符。但与微软的平台不同,这个字符串可以假设奇怪的组合。例如,我在里斯本的一个展会上展示了十部 iPhone 5s 进行测试,当插入它们并在 xamarin 调试器中运行时,它返回“en-PT”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 2011-10-13
    • 1970-01-01
    相关资源
    最近更新 更多