我想知道如何为不同语言命名我的文件夹。我在哪里可以找到Android上支持的语言列表?


当前回答

仅供参考,如果你无法设置任何地区,问题可能是以下属性在你的应用级别gradle文件:

resConfigs "en", "hi" //to specify allowed locales for your app

所以,如果你想支持英语和印地语以外的任何语言环境,在这里指定你的语言环境,或者只是删除上面的行。默认情况下,您的应用程序将支持所有地区。

其他回答

我认为最好的方法是运行一个示例代码来查找受支持的地区。 我已经做了一个代码片段,它:

final Locale[] availableLocales=Locale.getAvailableLocales();
for(final Locale locale : availableLocales)
  Log.d("Applog",":"+locale.getDisplayName()+":"+locale.getLanguage()+":"
    +locale.getCountry()+":values-"+locale.toString().replace("_","-r"));

这些列是:displayName(它对用户的外观),locale,变量,以及开发人员应该将字符串放入的文件夹。

下面是我用5.0.1模拟器制作的表格: https://docs.google.com/spreadsheets/d/1Hx1CTPT82qFSbzuWiU1nyGROCNM6HKssKCPhxinvdww/

奇怪的是,在某些情况下,我得到了“#”,这是我以前从未见过的东西。它可能很新,我选择的规则对于这些情况可能是不正确的(尽管当我放入这样的文件夹和文件时,它仍然编译良好),但对于其他情况应该没有问题。

如果有人知道“#”是什么,以及如何处理它,请告诉我。

如果你使用Android Studio,你可以:

右键单击项目中的一个目录>新建> Android资源文件 在Available qualifiers部分中选择Locale并单击>>

你会看到所有语言的列表,如果你选择了它们,你会看到每种语言的特定区域。您还可以输入列表来筛选语言。

我找到了一个列表,这可能是一个给定的Android版本(API级别)支持的地区的完整列表: 进入android- sdk\platforms\android-[XX]\data\res\values,其中XX表示API级别,然后用任何文本编辑器打开locale_config.xml。 它是人类可读的,如果需要,可以很容易地处理。

仅供参考,如果你无法设置任何地区,问题可能是以下属性在你的应用级别gradle文件:

resConfigs "en", "hi" //to specify allowed locales for your app

所以,如果你想支持英语和印地语以外的任何语言环境,在这里指定你的语言环境,或者只是删除上面的行。默认情况下,您的应用程序将支持所有地区。

在这里:

public static final Locale  CANADA  Locale constant for en_CA.
public static final Locale  CANADA_FRENCH   Locale constant for fr_CA.
public static final Locale  CHINA   Locale constant for zh_CN.
public static final Locale  CHINESE Locale constant for zh.
public static final Locale  ENGLISH Locale constant for en.
public static final Locale  FRANCE  Locale constant for fr_FR.
public static final Locale  FRENCH  Locale constant for fr.
public static final Locale  GERMAN  Locale constant for de.
public static final Locale  GERMANY Locale constant for de_DE.
public static final Locale  ITALIAN Locale constant for it.
public static final Locale  ITALY   Locale constant for it_IT.
public static final Locale  JAPAN   Locale constant for ja_JP.
public static final Locale  JAPANESE    Locale constant for ja.
public static final Locale  KOREA   Locale constant for ko_KR.
public static final Locale  KOREAN  Locale constant for ko.
public static final Locale  PRC Locale constant for zh_CN.
public static final Locale  ROOT    Locale constant for the root locale.
public static final Locale  SIMPLIFIED_CHINESE  Locale constant for zh_CN.
public static final Locale  TAIWAN  Locale constant for zh_TW.
public static final Locale  TRADITIONAL_CHINESE Locale constant for zh_TW.
public static final Locale  UK  Locale constant for en_GB.
public static final Locale  US  Locale constant for en_US.