Java 资产文件夹中JSON的国际化
我有一个JSON文件存储在本地的资产文件夹中- 资产文件夹中的JSON为-Java 资产文件夹中JSON的国际化,java,android,Java,Android,我有一个JSON文件存储在本地的资产文件夹中- 资产文件夹中的JSON为- [ { "title": "1", "message": "Hi" }, { "title": "2", "message": "Bye" }, { "title": "3", "message": "Hello" } ] 这是目前在英语。当我将手机语言更改为法语时,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