我有一个要求,就像我需要在发布实例中的自定义javascript中拥有i18n值。有谁可以请帮助我。
提前致谢
答案 0 :(得分:1)
有几种方法可以做到:
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>