Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 资产文件夹中JSON的国际化_Java_Android - Fatal编程技术网

Java 资产文件夹中JSON的国际化

Java 资产文件夹中JSON的国际化,java,android,Java,Android,我有一个JSON文件存储在本地的资产文件夹中- 资产文件夹中的JSON为- [ { "title": "1", "message": "Hi" }, { "title": "2", "message": "Bye" }, { "title": "3", "message": "Hello" } ] 这是目前在英语。当我将手机语言更改为法语时,JSON的内容是否可能是法语。 我如何实现这一点,而不必在资产文件夹中增加一个专门

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

资产文件夹中的JSON为-

[
  {
    "title": "1",
    "message": "Hi"
  },
  {
    "title": "2",
    "message": "Bye"
  },
  {
    "title": "3",
    "message": "Hello"
  }
]
这是目前在英语。当我将手机语言更改为法语时,JSON的内容是否可能是法语。
我如何实现这一点,而不必在资产文件夹中增加一个专门用于法语的文件?或者,这是我需要在资产文件夹中增加一个法语文件的唯一解决方案吗?

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

将您的资产命名如下:
file en.json
file-de.json

用英语
strings.xml
定义字符串:

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

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

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

创建类似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);
}
List modellist=new ArrayList();

对于(i=0;idid)您尝试将其作为每个语言环境中的
String
资源保存,并读取字符串并解析JSON值。为不同的语言创建单独的字符串文件夹。@SivakumarS不,我不喜欢那样做……您能简要解释一下我是如何做到的吗?会有帮助的……请检查@Vladyslav answer