java - Android实现多语言支持

标签 java android kotlin locale multilingual

在android上实现多语言支持的最佳方式 1.使用string.xml文件 2. 从服务器端获取语言翻译?

有办法从后端获取 xml 并节省资源吗?后端开发人员建议我从服务器获取语言翻译。

最佳答案

我在中国的所有应用程序都使用 Android 框架。步骤是:

  1. 维护所有字符串的列表。
  2. 不要在 Android Java 中硬编码您的 stings,请引用 XML。
  3. 您可以使用 Google 翻译或百度翻译(翻译)等服务器网站或同等网站进行翻译。

例如,这是我引用字符串的 Activity 代码示例:

tx1 = (TextView) findViewById(R.id.your_textview);
tx1.setText(R.string.msg_about_feedback);

这是 res>values>strings.xml 的摘录

<string name="msg_about_feedback">Feedback</string>
<string name="msg_about_filesource">File Source</string>
<string name="msg_about_cloudIP">Server</string>
<string name="msg_about_localIP">Server</string>
<string name="msg_about_serverIP">Server</string>

这是 res>values-zh>strings.xml

<string name="msg_about_feedback">反馈</string>
<string name="msg_about_filesource">文件源</string>
<string name="msg_about_cloudIP">服务器</string>
<string name="msg_about_localIP">服务器</string>
<string name="msg_about_serverIP">服务器 IP</string>

您必须确保每个语言文件中的条目都匹配。如果文件中缺少其中一个字符串,Android Studio 将标记错误。使用这种方法,一切都由 Android 处理。

如果您不熟悉第二语言,那么最好找人检查翻译。由于上下文、语法等原因,当您盲目接受翻译服务器的输出时,您经常得不到正确的结果。

关于java - Android实现多语言支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54353875/

相关文章:

java - 对我使用 rxJava 从改造 2 获得的响应进行过滤操作

Java、Spring 和 OData 休息服务

java - 将数据流式传输到谷歌应用程序引擎中的bigquery - java

java - 在 Android 的 Java 中嵌入 Python

java - Kotlin 需要 ViewHolder getter/setter 中的对象

json - Gson转换为JSON时再次转义转义序列-Android

java - 如何使用 Java(控制台)获取用户的输入?

android - 我的警报对话框返回错误值,直到我被迫选择某些内容

java - offScreenPageLimit 如何为 viewpager 工作

java - 自动生成的 Kotlin 代码(从 Java 代码)丢失了所有空行,使代码变得更难看