资产文件夹中JSON的国际化

时间:2018-03-12 13:31:27

标签: java android

我有一个本地存储在资源文件夹中的JSON文件 -

我的资产文件夹中的JSON是 -

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

目前这是英文版。当我将手机语言更改为法语时,JSON的内容是否可能是法语。 如果没有专门为资源文件夹中的法语添加一个文件,我该如何实现这一目标?或者它是我需要在资产文件夹中为法语添加1个文件的唯一解决方案吗?

2 个答案:

答案 0 :(得分:5)

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

为您的资产命名如下:file-en.jsonfile-de.json等 在你的英文strings.xml中定义一个字符串:

<string name="jsonFile">file-en.json</string>
DE字符串中的

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

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

答案 1 :(得分:-1)

创建像value-en和value-fr这样的文件夹。在该字符串文件中用适当的语言提及你的字符串。尝试如下代码。

List<Model> modellist = new ArrayList();
for(i=0;i<reposece.size();i++){
Model model = new Model();
model.addTitle(response.get(getString(R.string.title)))
model.addMessage(response.get(getString(R.string.message)))
modellist.add(model);
}