【发布时间】:2016-01-18 09:02:43
【问题描述】:
我有一个要求,比如我需要在发布实例中的自定义 javascript 中有一个 i18n 值。谁能帮我解决这个问题。
提前致谢
【问题讨论】:
标签: aem
我有一个要求,比如我需要在发布实例中的自定义 javascript 中有一个 i18n 值。谁能帮我解决这个问题。
提前致谢
【问题讨论】:
标签: aem
有几种方法可以做到:
CQ.I18n。默认情况下,它使用用户语言环境(而不是当前页面/路径的语言环境)。 所以你可以在下一个方式使用它:
if (CQ && CQ.I18n) {
CQ.I18n.setLocale(_currentPathLocale_);
var localizedMessage = CQ.I18n.getMessage(messageKey);
}
_currentPathLocale_你可以在初始化的时候注入到你的js中。
如果你有下一个 js 脚本:
(function($) {
$.fn.myComponent = function(options) {
var defaults = {
message: "Hello!"
}
var opts = $.extend(defaults, options);
var localizedMessage = opts.message;
}
})(jQuery);
那么你就可以从你的jsp中传递过来了:
<script type="text/javascript">
$(document).ready(function() {
$("#componentDiv").myComponent({message: "<fmt:message key="messageKey"/>"});
})
</script>
【讨论】: