Internationalization 如何指示AEM查找特定的资源包翻译
Internationalization 如何指示AEM查找特定的资源包翻译,internationalization,aem,resourcebundle,Internationalization,Aem,Resourcebundle,我有两个网站和代码库是相同的
斯泰亚
站点B
应用程序/公司/组件
如何为i18n中的SiteA、SiteB选择不同的资源包翻译
谢谢,
Sri请您具体说明,这是服务器端翻译还是客户端翻译?对于客户端翻译,我对OTB ResourceBundleExportServlet有一个问题
方式:
将属性sling:basename添加到mix:language节点。说:basename=“siteA”
在bundle查找期间传递basename。getResourceBundle(“siteA”,lo
我有两个网站和代码库是相同的
斯泰亚
站点B
应用程序/公司/组件
如何为i18n中的SiteA、SiteB选择不同的资源包翻译
谢谢,
Sri请您具体说明,这是服务器端翻译还是客户端翻译?对于客户端翻译,我对OTB ResourceBundleExportServlet有一个问题
方式:
将属性sling:basename添加到mix:language节点。说:basename=“siteA”
在bundle查找期间传递basename。getResourceBundle(“siteA”,locale)李>
这将仅从特定的basename返回键李>
客户端自定义包导出器:
为SiteA和SiteB保留单独的词典。例如:/apps/company/sitea/i18n、/apps/company/siteb/i18n李>
如果无法拆分词典,请在标签中保留一个术语来标识站点。例如,所有标签都应以siteA/siteA作为前缀。像siteA.点击这里,siteB.点击这里
创建类似于ResourceBundleExportServlet的自定义servlet。将路径保持为/libs/company/i18n/dict
自定义servlet将从slingrequest中检查siteA或siteB,并仅返回相应的标签。根据字典路径(步骤1)或前缀(步骤2)筛选标签
创建对/libs/clientlibs/granite/utils/source/I18n.js的覆盖。将URL前缀更改为
var urlPrefix=“/libs/company/i18n/dict.”
现在,客户端i18n查找将从自定义导出器而不是OTB导出器中提取条目
服务器端解析程序:
要区分sitea或siteb标签,我们需要上面的步骤1或步骤2李>
一旦我们知道如何识别特定于站点的标签,我们只需要一个helper util,它根据请求检查站点并根据特定的字典或前缀进行解析
希望这有帮助 哎呀,这是不可能的。