2012-11-17 57 views

回答

1

bmargulies是最明確的做法。但是,這需要時間。

如果你處於困境或者想要偷工減料,一個相對簡單的方法就是使用正則表達式來自己篩選代碼。匹配多行(preg中的/ s標誌),存儲匹配,並替換爲散列。任何散列。只要確保它不映射到任何語言的任何東西。 如果HTML標籤被證明對Google很惱人,那麼也應該這樣做。

Google翻譯。

替換回散列。瞧!任務完成!如果你感覺更加勇敢,而不是將哈希替換回來,那麼用一個合適的結構替換它們可能會更有價值。

+0

這是一個簡單實用的方法。我使用RegEx(?<=>)[[:word:] \。\,\:\!\?\ _ \ - \(\)] +?(?= <)來查找文本並繼續執行此過程。 –

1

您需要國際化代碼。您需要將所有可翻譯字符串移出到一個單獨的文件中,以便您可以通過Google推送,然後輕鬆地放入結果中。

研究PHP I18N的話題將證明是有益的。

0

谷歌翻譯工具包用於文件 - 不是太多的源代碼。您可以將程序的字符串組織爲文檔並在Google翻譯工具包中進行翻譯,事實上,這些軟件項目可以完成這項工作,但這是人爲設計的。正如其他人在這裏所說的那樣,使用不同的方法會更好。

將可轉換的字符串放在單獨的文件中 - 例如,您可以使用諸如YAML或JSON之類的東西,或者將您的字符串組織爲PHP數組(例如,它是如何在MediaWiki中完成的)。每條消息都應該有一個密鑰。每種語言使用一個文件或使用所有語言使用一個文件,並按照語言對字符串進行分組。 (順便說一下,使用ISO 639-3語言代碼 - 不要自己編寫代碼,然後你就可以在HTML lang屬性中重用它們。)

在你組織你的字符串之後,編寫函數通過消息鍵和語言代碼從這些文件加載​​字符串,並使用這些函數顯示消息 - 絕不使用硬編碼的字符串。

最後,使用諸如Pootle,Transifex,Zanata或MediaWiki Translate擴展等軟件將您的文件進行翻譯。

(聲明:我是MediaWiki的開發商翻譯擴展)

0

使用類似Gettext(即php-gettext)是這樣做恕我直言最好的方法。另一個廣泛使用的選項是簡單地提取字符串來分離文件(無論是PHP還是JSON)並將其轉換。不過,我建議使用Gettext,因爲您將使用帶有各種可用工具的標準格式。