我使用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