是否可以使用gettext等翻譯R腳本。如果是這樣,怎麼樣?如果沒有,我還有什麼其他選擇?使用gettext翻譯R腳本
9
A
回答
10
您可以使用base :: gettext/ngettext,base :: bindtextdomain和tools :: xgettext2pot函數。
例如:
myFunction <- function()
{
bindtextdomain("R-myProgram","/my/translation/dir")
gettext("Hello",domain="R-myProgram")
}
然後,假設該功能的路徑是「/my/dir/R/myfile.R」使用一個文件中:tools::xgettext2pot("/my/dir", "/my/translation/dir/pot/R-myProgram.pot")
然後使用msginit,的msgfmt等來創建.mo文件/my/translation/dir/fr/LC_MESSAGES/R-myProgram.mo
。如果您的語言環境是法語,myFunction()現在應該打印「Bonjour」而不是「Hello」。
幾個其他點:
- 好像xgettext2pot假設你的項目是一個標準的R包,僅查找* .R的R /子目錄中的文件。
- 的
domain
說法似乎是默認的函數調用的gettext() - 停止()消息(),警告()和packupStartupMessage()也被xgettext2pot檢測到的命名空間。還有一個gettextf()函數可用作gettext()的類sprintf變體。
- 由於標準的xgettext實用程序似乎不支持R語法,並且由於必須使用tools :: xgettext2pot,所以標準方法會忽略一些內容,如消息上下文(pgettext()),flags表示類似printf的字符串,並且可以在不用手修改.pot文件的情況下爲翻譯人員編寫代碼註釋(由xgettext -c提取)。
+0
如果我用'sys.getlocale(「LC_All」,「fr」)將我的語言環境設置爲法語I只是沒有得到翻譯後的'msstr'。還是全部你好。這是爲什麼? –
相關問題
- 1. 沒有使用gettext翻譯
- 2. 翻譯MATLAB腳本至R
- 3. Gettext不翻譯
- 4. getText crowdfounded翻譯
- 5. gettext未翻譯
- 6. PHP gettext不翻譯
- 7. Silex Twig翻譯Gettext
- 8. 應用翻譯使用gettext .po文件
- 9. 與Boost.ProgramOptions一起使用gettext-like翻譯
- 10. 使用gettext翻譯.js文件
- 11. gettext沒有翻譯顯示
- 12. 如何保留gettext()翻譯?
- 13. Gettext不同的翻譯
- 14. ZF2 - 覆蓋gettext翻譯
- 15. Zend Framework 2翻譯使用gettext變量的文本
- 16. 無法在zend框架中使用gettext翻譯文本2
- 17. 如何在鏈接到翻譯文本時使用gettext?
- 18. 使用python腳本的dna翻譯
- 19. 如何防止用gettext翻譯註釋()
- 20. 翻譯php應用程序與gettext
- 21. 用PHP和gettext翻譯XSL文件
- 22. PHP gettext翻譯不起作用
- 23. Django模型翻譯:在數據庫中存儲翻譯或使用gettext?
- 24. 用php腳本和translate.google.com翻譯文本
- 25. Google使用Java腳本在富文本頁面中翻譯翻譯
- 26. bash腳本翻譯XML
- 27. Ruby to bash腳本翻譯
- 28. 通過AJAX返回的Gettext未翻譯
- 29. 翻譯在JavaScript中像PHP中的gettext?
- 30. Gettext的或數據庫翻譯
你是什麼意思的「翻譯」? – Subs
我的意思是我有字符串,用英文寫成。我需要以某種方式標記它們,提取到單獨的文件,將它們翻譯爲俄語。通過使用一個參數運行腳本 - 它會顯示英文消息,並與其他 - 俄文。就像gettext的工作:) – Shark
看看'?gettext' – Andrie