我想知道如何为不同语言命名我的文件夹。我在哪里可以找到Android上支持的语言列表?
当前回答
我认为最好的方法是运行一个示例代码来查找受支持的地区。 我已经做了一个代码片段,它:
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 7.0开始,你可以直接从源代码中的语言设置中读取列表。你可以在URL中看到Android版本:
https://android.googlesource.com/platform/frameworks/base/+/android-9.0.0_r1/core/res/res/values/locale_config.xml https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r1/core/res/res/values/locale_config.xml https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r1/core/res/res/values/locale_config.xml https://android.googlesource.com/platform/frameworks/base/+/android-7.1.2_r1/core/res/res/values/locale_config.xml https://android.googlesource.com/platform/frameworks/base/+/android-7.0.0_r1/core/res/res/values/locale_config.xml
谷歌播放描述的列表是不同的:
https://support.google.com/googleplay/android-developer/table/4419860
4.0版本更新
Android 4.0.3平台
Arabic, Egypt (ar_EG)
Arabic, Israel (ar_IL)
Bulgarian, Bulgaria (bg_BG)
Catalan, Spain (ca_ES)
Chinese, PRC (zh_CN)
Chinese, Taiwan (zh_TW)
Croatian, Croatia (hr_HR)
Czech, Czech Republic (cs_CZ)
Danish, Denmark(da_DK)
Dutch, Belgium (nl_BE)
Dutch, Netherlands (nl_NL)
English, Australia (en_AU)
English, Britain (en_GB)
English, Canada (en_CA)
English, India (en_IN)
English, Ireland (en_IE)
English, New Zealand (en_NZ)
English, Singapore(en_SG)
English, South Africa (en_ZA)
English, US (en_US)
Finnish, Finland (fi_FI)
French, Belgium (fr_BE)
French, Canada (fr_CA)
French, France (fr_FR)
French, Switzerland (fr_CH)
German, Austria (de_AT)
German, Germany (de_DE)
German, Liechtenstein (de_LI)
German, Switzerland (de_CH)
Greek, Greece (el_GR)
Hebrew, Israel (he_IL)
Hindi, India (hi_IN)
Hungarian, Hungary (hu_HU)
Indonesian, Indonesia (id_ID)
Italian, Italy (it_IT)
Italian, Switzerland (it_CH)
Japanese (ja_JP)
Korean (ko_KR)
Latvian, Latvia (lv_LV)
Lithuanian, Lithuania (lt_LT)
Norwegian bokmål, Norway (nb_NO)
Polish (pl_PL)
Portuguese, Brazil (pt_BR)
Portuguese, Portugal (pt_PT)
Romanian, Romania (ro_RO)
Russian (ru_RU)
Serbian (sr_RS)
Slovak, Slovakia (sk_SK)
Slovenian, Slovenia (sl_SI)
Spanish (es_ES)
Spanish, US (es_US)
Swedish, Sweden (sv_SE)
Tagalog, Philippines (tl_PH)
Thai, Thailand (th_TH)
Turkish, Turkey (tr_TR)
Ukrainian, Ukraine (uk_UA)
Vietnamese, Vietnam (vi_VN)
来源:http://us.dinodirect.com/Forum/Latest-Posts-5/Android-Versions-and-their-Locales-1-86587/
我认为最好的方法是运行一个示例代码来查找受支持的地区。 我已经做了一个代码片段,它:
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/
奇怪的是,在某些情况下,我得到了“#”,这是我以前从未见过的东西。它可能很新,我选择的规则对于这些情况可能是不正确的(尽管当我放入这样的文件夹和文件时,它仍然编译良好),但对于其他情况应该没有问题。
如果有人知道“#”是什么,以及如何处理它,请告诉我。
首先,我们需要计划应用程序如何在不同的局部环境中呈现不同的效果。 这里它展示了一个例子,文本字符串和图像必须去哪里。
de-rDE German / Germany res/values-de/ res/drawable-de-rDE/
fr-rFR French / France res/values-fr/ res/drawable-fr-rFR/
fr-rCA French / Canada res/values-fr/ res/drawable-fr-rCA/
en-rCA English / Canada (res/values/) res/drawable-en-rCA/
ja-rJP Japanese / Japan res/values-ja/ res/drawable-ja-rJP/
en-rUS English / United States (res/values/) res/drawable-en-rUS/
更多信息,你可以看到页面本地化
推荐文章
- Android Studio, logcat在应用程序关闭后清理
- 在android中从上下文获取活动
- 无法解析主机"<URL here>"没有与主机名关联的地址
- getActivity()在Fragment函数中返回null
- 按钮背景是透明的
- 在Mac OS X上哪里安装Android SDK ?
- 我如何获得图像缩放功能?
- 在Android应用程序中显示当前时间和日期
- BottomSheetDialogFragment的圆角
- 在应用程序启动时出现“无法获得BatchedBridge,请确保您的bundle被正确打包”的错误
- 我如何改变默认对话框按钮的文本颜色在安卓5
- 更改单选按钮的圆圈颜色
- 如何在android中复制一个文件?
- adb找不到我的设备/手机(MacOS X)
- 如何在新的材质主题中改变背面箭头的颜色?