java - Assets 文件夹中 JSON 的国际化

标签 java android

我有一个 JSON 文件本地存储在 Assets 文件夹中 -

Assets 文件夹中的 JSON 是 -

[
  {
    "title": "1",
    "message": "Hi"
  },
  {
    "title": "2",
    "message": "Bye"
  },
  {
    "title": "3",
    "message": "Hello"
  }
]

目前是英文版。当我将手机语言更改为法语时,JSON 的内容可能是法语。 如果 Assets 文件夹中没有 1 个专门针对法语的文件,我该如何实现这一目标?还是我需要在 assets 文件夹中再有 1 个法语文件的唯一解决方案?

最佳答案

你不能直接这样做,但你可以使用这个很好的解决方法:

按以下方式命名您的 Assets :file-en.jsonfile-de.json
在你的英语 strings.xml 中定义一个字符串:

<string name="jsonFile">file-en.json</string>

在 DE 字符串中:

<string name="jsonFile">file-de.json</string>

现在您可以通过名称获取 Assets ,该 Assets 存储在已翻译的字符串资源中。

关于java - Assets 文件夹中 JSON 的国际化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49236514/

相关文章:

java - 获取 SQL 查询响应中每个重复记录的计数

java - ListView 中的 Gridview 正在为每一行重复最后一个 gridview 项目

android - Activity 的 onDestroy() 总是会在应用程序销毁时被调用吗?

android - 如何支持安卓产品的所有不同分辨率

android - 底部工作表不在线性布局前面

android - 选择文本并在 MUPDF 中弹出显示含义

android - html5 中的 hls 在 android chrome 浏览器中不起作用

java - 动态创建矩形网格

java - 为什么迭代映射比迭代列表慢?

java - Maven 程序集插件使用类路径构建 jar