如何获取 iOS/Android 上当前设备的语言?

Ste*_*Bu1 5 c# android ios xamarin

我需要知道 iOS/Android 设备上使用什么语言,因为我在 Xamarin Studio 中构建了一个支持三种不同语言的 MonoGame 应用程序。如果设备的当前语言是英语,则应用程序将以英语显示文本,但如果设备的当前语言是法语,则文本将以法语而不是英语显示。如果我的应用程序不支持设备的当前语言(例如中文),则文本的默认语言将为英语。

如何在 Xamarin Studio 中获取 iOS/Android 上的当前设备语言?

hic*_*sou 6

您可以使用 CultureInfo:

CultureInfo.CurrentCulture.TwoLetterISOLanguageName
Run Code Online (Sandbox Code Playgroud)

Plus是跨平台的。


Cur*_*ley 4

要以编程方式获取语言,在 Android 上您可以使用:

Locale.Default.GetDisplayLanguage(Locale.Default)
Run Code Online (Sandbox Code Playgroud)

在 iOS 上:

var userLang = NSLocale.CurrentLocale.LocaleIdentifier;
Run Code Online (Sandbox Code Playgroud)