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,它根据请求检查站点并根据特定的字典或前缀进行解析

  • 希望这有帮助

    哎呀,这是不可能的。