目次
- 1 開發
- 2 翻譯
- 3 履行
- 4 參考
- 5 另見
- 6 外部貫穿連接
gettext是GNU國際化與在地化(i18n)函式庫翻譯它常被用於編寫多說話程式翻譯
利用Unix類型功課系統的用戶只需設定情況變數中的LC_MESSAGES(然則ubuntu linux 是用LANG),程式將主動從響應的.mo檔案中讀取說話資訊翻譯
程式原始碼需要進行點竄以回應GNU gettext要求翻譯大都程式語言均已經由過程字元封裝的體式格局實現了對其的支援翻譯為了削減輸入量和代碼量,此功能平常以符號別號「_」的形式利用,所以例如以下C說話代碼:
printf(gettext("My name is %s. ")翻譯社 my_name); 該當寫作:
除C語言外翻譯社 GNU gettext還支援C++,Objective-C,Pascal/Object Pascal,sh指令碼,bash指令碼,Python,GNU CLISP,Emacs Lisp,librep,GNU Smalltalk,Java,GNU awk,wxWidgets(經由過程wxLocale類),YCP(YaST2說話),Tcl,Perl,PHP,Pike,Ruby和R翻譯用法均與在C說話上雷同翻譯
#: src/name.c:36 msgid "My name is %s. " msgstr ""
翻譯者需要手工或利用雷同Poedit、gtranslator、OmegaT或Emacs等對象的響應模式編輯該檔案翻譯翻譯完成後,檔案應為以下的模樣:
xgettext程式從原始碼生成.pot檔案,作為原始碼中需翻譯內容的模板翻譯一個典型的.pot檔案條目應當是如許的:
printf(_("My name is %s. ")翻譯社 my_name); gettext利用個中的字串尋覓對應的其他說話翻譯,若沒有可用翻譯則返回原始內容翻譯
Gettext
| | 本條目沒有列出任何參考或起原翻譯(2009年9月19日) #: src/name.c:36 msgid "My name is %s. " msgstr "" 注釋被直接放置在字串前,用於匡助翻譯者理解待翻譯內容: /// TRANSLATORS: Please leave %s as it is翻譯社 because it is needed by the program. /// Thank you for contributing to this project. printf(_("My name is %s. ")翻譯社 my_name); 本例中的注釋是以 ///開首的,其感化是用於xgettext程式生成.pot模板檔案翻譯 #: src/name.c:36 msgid "My name is %s. " msgstr "Je m'appelle %s. " 最後.po檔案需要利用msgfmt編譯為.mo檔案以用作釋出翻譯 #. TRANSLATORS: Please leave %s as it is翻譯社 because it is needed by the program. #. Thank you for contributing to this project. #: src/name.c:36 msgid "My name is %s. " msgstr "" 翻譯[編纂]翻譯者需要工作的物件是.po檔案,它是由msginit程式從.pot模板檔案生成的翻譯例如利用msginit初始化法語翻譯檔案時,天成翻譯社們履行以下命令: 履行[編纂]參考[編輯]另見[編纂]外部保持[編纂]
2 個分類:
開辟[編纂]msginit --locale=fr --input=name.pot 這將會利用指定的name.pot在當前目次確立一個fr.po,個中的一個條目應當是以下形式的: xgettext --add-comments=/// 在.pot檔案中的注釋應為以下情勢: 維基百科所有的內容都應當可供查證翻譯請協助添加來自可靠濫觞的援用以改良這篇條目翻譯沒法查證的內容可能被提出貳言而移除翻譯 | |||||||||||||||||||||||||
| 開發者 | GNU專案 |
|---|---|
| 不亂版本 | 0.19.8.1(2016年6月11日) |
| 功課系統 | 跨平台 |
| 類型 | 軟體開辟,翻譯 |
| 授權條款 | LGPL(函式庫),GPL(對象),GFDL/GPL(文件) |
| 網站 | http://www.gnu.org/software/gettext/ |
以下內文出自: http://blog.roodo.com/fcxnjordanh8y/archives/61260559.html有關翻譯的問題歡迎諮詢天成翻譯公司
限會員,要發表迴響,請先登入


