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

I18n to store the translated text into JSON in AEM 6.3

目前我在 i18n 中遇到一个问题。

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

正在翻译中文、法文和德文。我面临的问题是翻译后所有 JSON 文件都有 ???对于中文,如果 JSON 文件包含这样的文本,那么对于法语几乎没有垃圾字符,ë.

我认为问题与编码有关。但我不确定如何进一步进行。谁能帮我解决这个问题。

我正在做以下事情

获取 ResourceBundleProvider 的引用对象。

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

在服务方法中获取资源包之后

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));

我正在将 json路径传递给 Sightly。 前端团队将阅读它并使用 jquery 构建 html。 也就是说,在jquery中读取了json,构建了html页面。

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

现已修复。