java - Android 中文本的本地化

标签 java android localization internationalization

在 Android 中显示本地化文本字符串的解决方案或最佳实践是什么?

例如:

英文版文本:“You have 1 message”和“You have 3 messages”。

请注意,单词“message”或“messages”是由整数决定的。

如果要将其定位在另一条消息中,则可以在句子的开头或结尾插入整数,不必在句子的中间。

此外,对于像日语这样的语言,最好使用全角“3”来将数字显示为句子的一部分。

这意味着,即使我在一个字符串文件中管理所有本地化文本,我仍然需要某种逻辑来计算最终显示的文本。

什么是最佳实践?

我可以使用任何库吗?

最佳答案

我建议查看具有成熟生态系统的 i18n 库,即 i18next 也有一些 android 库:即 i18next-android

multiple plural forms有很好的支持太:i18next-android#multiple-plural-forms

此外,您不仅应该考虑必须检测您的代码 (i18n) 来翻译您的应用程序/网站。你也应该考虑这个过程——你将如何解决continuous localization 、您如何跟踪进度等...

对于翻译管理+系统,您可能例如。看看locize它适用于所有基于 json 的 i18n 框架,并且在核心中有一个非常简单的 api ... 并提供比传统系统更多的功能。

关于java - Android 中文本的本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43600816/

相关文章:

java - 有没有办法在 Java 中将字符串(逐个字符)转换为其 ASCII 值?

java - 如何使用Annotation创建转换器?

java - 如何检查 ImageView 是否加载了来自 URL 的图片

android - 如何在 Android 中刷新 ListView

language-agnostic - 检测 rtf 标记中的多字节和汉字

java - Hibernate 映射一对一

android - ViewHolder 弄乱 View

android - 即使应用程序已经关闭,如何继续运行任务?

localization - 在运行时在 Windows 应用商店应用程序中切换语言

localization - Blazor:从任何地方读取/观察查询参数