2016-02-15 74 views
0

我曾用「GNU gettext的」用PHP,並沒有使用poEdit的我能提取PO文件格式在Poedit中提取javascript gettext?

一個馬麗娟工作,但是當我嘗試同樣的事情對我的javascript我的HTML裏面的「腳本」標籤我沒有工作更多,我看不到任何JavaScript支持。

poedit支持幾乎所有的語言,除了JavaScript或我正在做它以一種錯誤的方式 任何人都可以提供工作的例子爲JavaScript? 我跟着你使用poEdit幾乎20種語言,所有的例子,所有的工作除了JavaScript的

從GNU的所有工作實例

的gettext-0.19.7.ta​​r.gz

http://ftp.gnu.org/gnu/gettext/

發現的getText gettext-0.19.7 \ gettext-tools \ examples

這是php examlpe,它的工作原理我需要爲javascript做相同的操作

#[email protected]@ -q 
    <? 
     // Example for use of GNU gettext. 
     // This file is in the public domain. 
     // 
     // Source code of the PHP program. 

     setlocale (LC_ALL, ""); 
     textdomain ("hello-php"); 
     bindtextdomain ("hello-php", "@[email protected]"); 

     echo _("Hello, world!"); 
     echo "\n"; 
     echo printf (_("This program is running as process number %d."),posix_getpid()); 
     echo "\n"; 
    ?> 

回答

0

假設您正在使用節點環境,則可以使用此npm package來處理這些文件。我認爲從瀏覽器是不可能的。

+1

'gettext-parser'是gettext * runtime *,它只做一件事:加載PO/MO文件 - 它甚至在鏈接頁面的第一句話中這樣說。它不會做*字符串提取*,這個問題就是關於這個問題的。 –

1

Poedit和xgettext都支持JavaScript一段時間了。您的問題是您將代碼嵌入到HTML文件中,因此它不會被識別爲JavaScript文件(並且Poedit使用的xgettext不支持其他語言的嵌入式內容)。

只需將您的JavaScript代碼放在單獨的.js文件中即可。

請注意,JavaScript代碼在客戶端運行,因此您需要在JavaScript中加載翻譯。對於你來說更好的解決方案,考慮到你在PHP代碼中只有一些(大概是小型的)JS代碼片段,可能是用PHP生成JS代碼 - 即在PHP /服務器端進行翻譯。