我使用Gettext和Poedit软件在PHP中翻译字符串。 我想在JavaScript中使用翻译后的字符串,但不要将代码内联到HTML文档中,而是放在外部文件中。内嵌在HTML文档中不会造成问题,因为内嵌的JS代码也被渲染。举个例子:翻译JS与Poedit的方法
var hello = <?=_("hello");?>
的PHP代码做(因为重复的字符串)译者应使用相同的翻译桌。
所以我的想法是“编译”的JavaScript文件用PHP。例如,在一个外部JS文件是这样的码:
if (window.confirm("_translate('are_you_sure')")) {
location.href = this.href;
}
PHP脚本读取高于该代码,并发现里面_translate()
所有字符串。代码将用翻译后的字符串替换_translate('are_you_sure')
。 它的工作原理,但永远不会翻译,因为即使我将_translate添加到源的键中,Poedit软件也不会在_translate()
中找到该字符串。所以没有翻译的字符串需要翻译。
所以我的问题是如何告诉poEdit的,他应该读一个JavaScript文件里面有_translate()
字符串?
这不完全是你想要的,但似乎是util:http://i18next.com/ – Carlangueitor