如何在Xamarin.Forms中检测设备语言?

时间:2018-01-16 16:38:35

标签: xamarin

我创建了一个移动Xamarin PCL项目。

我正在尝试检测手机(iOS或Android)是否为意大利语。 我尝试过这段代码但是我总是收到“en”的返回值,即使手机设置为意大利语。 (在iOS上测试)

CultureInfo.CurrentCulture.TwoLetterISOLanguageName.ToString()

1 个答案:

答案 0 :(得分:3)

CultureInfo.CurrentCulture.TwoLetterISOLanguageName

是测试此方法的正确方法。但是,iOS中显然存在一个错误。

此处描述的解决方法:https://bugzilla.xamarin.com/show_bug.cgi?id=59596#c8是编辑您的info.plist文件以添加/修改以下内容:

<key>CFBundleLocalizations</key>
<array>
    <string>en</string>
    <string>it</string>
</array>

为您的应用支持的每种语言添加项目。上面的例子有英语(en)和意大利语(it)。

然后,您还可以添加以下键以指定默认语言:

<key>CFBundleDevelopmentRegion</key>
<string>it</string>