如何在安卓系统中获取语言?

12

在我的安卓应用中,我需要知道手机的语言是什么,以这种格式显示:fr(法语),en(英语),等等。我该怎么做?我知道可以使用以下代码显示语言:

Locale.getDefault().getDisplayLanguage()

但结果是法语、英语等......

我能否以某种方式获得语言的缩写?


因为我需要将其放在链接中。例如,如果语言是法语,则链接将类似于"http://www.something/fr",如果是英语,则为"http://www.somthing/en"。 - Gabrielle
请查看 getISO3Language() 方法 http://download.oracle.com/javase/1.4.2/docs/api/java/util/Locale.html#getISO3Language() - David Olsson
3个回答

25

6

使用怎么样呢?

Locale.getDefault().getLanguage();

这应该是正确的,但实际上它返回了“英语”,“西班牙语”等,就像 getDisplayLocale() 一样.....为什么?!?!? - matteo
我在Locale类中找不到名为“getDisplayLocale()”的方法。您使用的是哪个API级别或SDK? - nahwarang
@matteo 应该返回 "en"、"es" 等。 - IgorGanapolsky

0

我认为你可以尝试其中之一。
Locale.getDefault().getLanguage();
这将返回语言的ISO代码,例如"de"、"ru"。

或者

Resources.getSystem().getConfiguration().locale; 

这将返回全局共享的 Resources 对象,该对象仅提供对系统资源的访问。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接