下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
Linux下的本地化與國際化-2.gettextGNUgettext是一套GNU下的國際化工具,幾乎支持所有Linux下的計算機語言。在gettext的幫助下,可以輕松完成程序的國際化。一、相關(guān)文件.potpo的模版,可由xgettext生成.po翻譯的源,可由msginit+.pot生成.gmo編譯后的po,可由msgfmt+.po生成.mo同上,只是gmo通常指的是未安裝的mo,可由install+.gmo生成二、相關(guān)工具xgettext從源代碼中提取需要翻譯的字串,生成pot文件msginit替換pot中的Entry信息,如譯者,文件編碼等msgmerge合并現(xiàn)有的.po文件msgfmt把.po文件生成.gmo或.mo文件三、相關(guān)函數(shù)bindtextdomain(constchar*domain,constchar*dirname)通過domain與dirname綁定mo文件的域textdomain(constchar*domainname)指定gettext所用的域gettext(constchar*msgid):由locale與textdomain指定的domain得到翻譯后的字串ngettext(constchar*msgid1,constchar*msgid2,unsignedlongintn):通過n返回單數(shù)的msgid1或復(fù)數(shù)的msgid2dgettext(constchar*domain,constchar*msgid)扌旨定domain的gettextdngettext(constchar*domain,constchar*msgid,unsignedlongintn);扌旨定domain的ngettextdcgettext(constchar*domain,constchar*msgid,intcategory):扌旨定domain與category的gettext
dcngettext(constchar*domain,constchar*msgid1,constchar*msgid2,unsignedlongintn,intcategory):扌旨定domain與category的ngettextgettext的dirname,localedomain,category,在磁盤上的結(jié)構(gòu)為dirname/locale/category/domain.mo如/usr/share/locale/zh_CN/LC_MESSAGES/gettext_demo.mo默認(rèn)的category為LC_MESSAGES四、實例—新建文件gettext_demo.cviewplaincopytoclipboardprint?#include<locale.h>#include<libintl.h>#include<stdio.h>3.#define_(string)gettext(string)5.constchar*DOMAIN="gettext_demo";constchar*DIRNAME="languages";8.intmain(intargc,char**argv){10./x設(shè)置locale與系統(tǒng)一致*/setlocale(LC_ALL,"");13./x添加域gettext_test在目錄po*/bindtextdomain(DOMAIN,DIRNAME);16./x設(shè)定默認(rèn)域為gettext_test*/textdomain(DOMAIN);19./xgettext(HelloWorld)*/puts(_("Hello"));return0;}制作zh_CN.UTF-8的語言包gettext_demo$lsgettext_demo.cgettext_demo$mkdirpogettext_demo$cdpo由xgettext生成pot
gettext_demo/po$xgettext-k_——package-namegettext_demo——package-version0.1../x.c-ogettext_demo.potgettext_demo/po$lsgettext_demo.pot由gettext_demo.pot生成zh_CN.pogettext_demo/po$msginit#因為我的系統(tǒng)locale為zh_CN.UTF-8,因此msginit自動生成針對zh_CN.UTF-8的pogettext_demo/po$lsgettext_demo.potzh_CN.po修改po文件#:../gettext_demo.c:22msgid"Hello"msgstr""為#:../gettext_demo.c:22msgid"Hello"msgstr"你好"由zh_CN.po生成zh_CN.mogettext_demo/po$msgfmtzh_CN.po-ozh_CN.mogettext_demo/po$lsgettext_demo.potzh_CN.mozh_CN.po復(fù)制0zh_CN.mo至到../languages/zh_CN/LC_MESSAGES/gettext_demo.mogettext_demo/po$mkdir-p../languages/zh_CN/LC_MESSAGESgettext_demo/po$cpzh_CN.mo../languages/zh_CN/LC_MESSAGES/gettext_demo.mo編譯并測試gettext_demo$gccgettext_demo.c-ogettext_demogettext_demo$lsgettext_demogettext_demo.clanguagespogettext_demo$./gettext_demo你好測試英文環(huán)境gettext_demo$LC_ALL=en_US./gettext_demoHello女口果嘗試LC_ALL=zh_CN.GBK./gettext_demo在UTF-8環(huán)下顯示"舌L碼",因為顯示的是GBK編碼,gettext轉(zhuǎn)換到相應(yīng)的編碼了。</pre〉當(dāng)系統(tǒng)發(fā)生變化時,添加了新的語句,為此通過工具msgmerge進行和并修改gettext_demo.c
/xgettext(HelloWorld)*/puts(_("Hello"));為/xgettext(HelloWorld)*/puts(_("Hello"));puts(_("World"));gettext_demo/po$xgettext-k_——package-namegettext_demo——package-version0.1../x.c-ogettext_demo.potgettext_demo/po$msgmergezh_CN.pogettext_demo.pot-ozh_CN.po.完成。修改文件zh_CN.po#:../gett
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026春貴州貴陽市觀山湖區(qū)第七中學(xué)招臨聘教師6人備考題庫含答案詳解(培優(yōu)b卷)
- 2026春貴州貴陽市觀山湖區(qū)第七中學(xué)招臨聘教師6人備考題庫附參考答案詳解(典型題)
- 2026春貴州貴陽市觀山湖區(qū)第七中學(xué)招臨聘教師6人備考題庫附答案詳解(輕巧奪冠)
- 2026江蘇南京大學(xué)化學(xué)學(xué)院助理招聘備考題庫帶答案詳解(能力提升)
- 2025年棗莊醫(yī)療考試突發(fā)公共衛(wèi)生事件應(yīng)急條例試卷與答案
- (2025年)通信工程師電信網(wǎng)絡(luò)管理基礎(chǔ)知識考試試題附答案
- 2026江蘇南京大學(xué)化學(xué)學(xué)院科研人員招聘備考題庫及答案詳解(基礎(chǔ)+提升)
- 《從漢至元政治制度的演變》參考教案4
- 2025-2030中國嬰童用品市場營銷策略與競爭格局分析研究報告
- 2026年叉車實操培訓(xùn)考試試題庫及完整答案1套
- 鮮花 高清鋼琴譜五線譜
- 安全生產(chǎn)標(biāo)準(zhǔn)化持續(xù)改進方案
- 家具廠長崗位職責(zé)
- CJT511-2017 鑄鐵檢查井蓋
- 2024年高考語文考前專題訓(xùn)練:現(xiàn)代文閱讀Ⅱ(散文)(解析版)
- 躁狂發(fā)作的護理診斷及護理措施
- 第六節(jié)暫準(zhǔn)進出口貨物課件
- 中醫(yī)外科乳房疾病診療規(guī)范診療指南2023版
- 壓實瀝青混合料密度 表干法 自動計算
- 田口三次設(shè)計
- 《我的戒煙》閱讀答案
評論
0/150
提交評論