android - 支持 Android 应用程序的 IntelliJ IDEA 中的威尔士语
问题描述
从私下收到的一个问题:
我目前正在创建一个 Android 应用程序,其中一个要求是它支持第二语言。我用谷歌搜索了语言代码,但没有找到我需要的语言代码;你能告诉我你是否支持威尔士语,这是英国的一个地方吗?如果是这样,它的国家代码是什么?
解决方案
那将是在 Android 方面,而不是在 IDE 方面来支持;资源捆绑在 APK 本身中,您应该将本地化字符串放在values
文件夹内的本地化文件res/
夹中。例如:
res/
values/ # Default locale (e.g., American English)
values-en-rGB/ # British English
values-it/ # Italian (any country)
通常,Android 上的本地化定义为两个字母的 ISO 639-1 语言代码,后跟两个字母的 ISO 3166-1-alpha-2 区域代码(前面是小写的 r)。威尔士不是一个独立的国家,而是英国的一部分,因此威尔士作为一个地区没有 ISO 代码。但是,有一个威尔士语言代码!因此,您应该能够通过将威尔士语字符串放在res/values-cy
or中来本地化您的应用程序res/values-cy-rGB
。前者将用于所有设置为 Cymraeg 的设备,无论它们设置在哪个国家;后者特定于威尔士的设备,国家设置为英国。对于威尔士语来说,这两个东西本质上是一样的,因为在英国以外没有变体,但是这种机制可以用来区分繁体中文(zh-rTW
) 来自简体中文 ( zh-rCN
)。
有关本地化如何在 Android 上工作的更多详细信息,我建议参考 Android 开发者网站上的本地化指南:https ://developer.android.com/guide/topics/resources/localization
有关支持的 ISO 语言和国家/地区的列表,您可以参考 Wikipedia:https ://en.wikipedia.org/wiki/ISO_3166-1_alpha-2和https://en.wikipedia.org/wiki /List_of_ISO_639-1_codes为语言。
推荐阅读
- jsonpath - argocd 清单中的 json-patch 通配符用法
- swift - 如何将参数传递给 Core Data 生命周期方法?
- c++ - c ++问题,计算文件中的字母
- c++ - std::unordered_map::clear() 做什么?
- c++ - 逐行时间复杂度
- azure-active-directory - 在 B2B 协作中同步外部 Azure AD 用户
- javascript - 如果变量已设置,则推送到数组
- laravel - Laravel 的悲观锁是否也会影响其关系模型?
- r - Windows 的并行 mapply();像 mcapply()
- html - 如何使用 css 和 vh 将我的标题图像设置为我的视口的 100%