Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在iOS/Android上获取当前设备语言?_C#_Android_Ios_Xamarin - Fatal编程技术网

C# 如何在iOS/Android上获取当前设备语言?

C# 如何在iOS/Android上获取当前设备语言?,c#,android,ios,xamarin,C#,Android,Ios,Xamarin,我需要知道iOS/Android设备上使用的是什么语言,因为我在Xamarin Studio中构建了一个支持三种不同语言的单游戏应用程序。如果设备的当前语言为英语,则应用程序将以英语显示文本,但如果设备的当前语言为法语,则文本将以法语而不是英语显示。如果我的应用程序不支持设备的当前语言(例如中文),则文本的默认语言将为英语 如何在Xamarin Studio的iOS/Android上获取当前设备语言?1)打开设置,在主屏幕上点击设置 2) 轻按常规,在下一屏幕上轻按常规 3) 选择语言和地区。如

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

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

1)打开设置,在主屏幕上点击设置 2) 轻按常规,在下一屏幕上轻按常规 3) 选择语言和地区。如果您使用的是iOS 8或更高版本,请向下滚动并点击语言和区域 4) 轻触设备语言,在下一屏幕上,轻触“[设备]语言”


这会解决你的问题。但是,如果这不能解决您的问题,请参见

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

Locale.Default.GetDisplayLanguage(Locale.Default)
在iOS上:

var userLang = NSLocale.CurrentLocale.LocaleIdentifier;

您可以使用CultureInfo:

CultureInfo.CurrentCulture.TwoLetterISOLanguageName

Plus是跨平台的。

可能的副本不起作用。我在iOS上收到了这样一条错误消息:名称“NSLocale”在当前上下文(CS0103)中不存在,而Android的错误消息:“Locale”由于其保护级别(CS0122)而无法访问。请确保您对每个名称都有正确的用法。两者都是公共的和可用的:如果
Locale
也在另一个名称空间/程序集中定义,您可以完全限定它“
Java.Util.Locale.Default.GetDisplayLanguage(Locale.Default)
这两种语言的返回格式非常不同。
NSLocale.CurrentLocale.LocaleIdentifier
将返回“en\u US”而
Locale.Default.GetDisplayLanguage(Locale.Default)
将返回“English”