I18n将翻译后的文本存储到AEM 6.3中的JSON中

时间:2018-01-25 19:25:02

标签: aem cq5

目前我在i18n面临一个问题。

我有一个服务,它将读取JSON文件并更新文件中的一些属性并将JSON存储在dam中。需要使用i18n翻译JSON文件的内容。

翻译发生在中国,法国和德国。我面临的问题是翻译后所有JSON文件都有???对于中文,如果JSON文件包含这样的文本,那么很少有法语垃圾字符,ë。

我认为这个问题与编码有关。但我不知道如何进一步。任何人都可以帮助我。

我正在做以下

获取ResourceBundleProvider的参考对象。

@Reference (target= "(component.name=org.apache.sling.i18n.impl.JcrBundleProvider)")    
ResourceBundleProvider  resourceBundleProvider;     

在服务方法

中获取resourcebundle之后
ResourceBundle bundle = resourceBundleProvider.getResourceBundle(locale);    
I18n i18n = new I18n(resourceBundle);    

将i18n返回的值添加到JSONObject并构造JSON。

final String sample = dataObject.getString("sample");
sampleObject.put("data", i18n.get(sample));

我正在将jsonpath传递给Sightly。 前端团队将阅读它并使用jquery构建html。 换句话说,在jquery中读取json以构造html页面。

1 个答案:

答案 0 :(得分:-1)

问题与编码有关。 我在创建文件时没有设置编码。

现在已经修好了。