• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Codejie's C++ Space

            Using C++

            LingosHook:1.4.000 and gettext


                看,下面是什么?!



                不認識了吧?就是LingosHook,全中文的LingosHook!

                一直想著寫個中文版的LingosHook,但一想到要維護中、英文兩個版本就有點怕,所以一直沒有去做。這次下決心做的時候,才發(fā)現(xiàn)實際wxWidget最i18n支持的很好的。。。

                先說wxWidget,其支持通過gettext工具制作語言包的,并直接提供了字符串宏來自動處理:
                1. wxLocale類負責(zé)語言的管理工作,如設(shè)置當(dāng)前語言、指定語言包位置等;
                2. _()宏,將根據(jù)當(dāng)前設(shè)置語言的不同,自動讀取語言包,處理語言轉(zhuǎn)換;
                3. _T()、wxT()宏則跟_()宏相對應(yīng),其中的字符串不會因為語言不同而轉(zhuǎn)換,可用于需要轉(zhuǎn)換的地方,如SQL語句等;
                4. 這三個就夠了。。

                再說gettext,這個剛用,不熟悉,簡單說下:
                1. 下載gettext-tools-0.17和gettext-runtime-0.17,這里下載http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
                2. 通過./bin目錄下的xgettext自動提取代碼中的字符串;
            xgettext -a .\LingosHookApp\*.cpp .\LingosHookApp\*.h -o lang.po
                3. 編輯輸出.po文件,就是翻譯了;
                4. 使用msgfmt編譯.po文件到.mo文件;
            msgfmt -o lang.mo lang.po
                5. 將.mo放到指定目錄就好了。

                簡單吧,這里多說下編輯.po文件是的經(jīng)驗,只做了中文的轉(zhuǎn)換,其它應(yīng)該類似吧。。
                1. 先將.po中的CHARSET改為UTF-8;
                2. 使用編輯工具設(shè)置編碼為UTF-8,然后再翻譯;(我使用的是Notepad++,對付這個很好用)
                3. 翻譯好后,將編碼轉(zhuǎn)換回ASCII,原因是如果直接用msgfmt處理UTF-8的文檔會有錯誤的;
                4. 就好了。


                真的很簡單,有興趣的下載個lang.po,根據(jù)自己的需要翻譯好,然后發(fā)給我,LingosHook就可以再支持一種語言界面了。。。。



            <---- 要失望的分割線---->

                嗯,1.4.000版本就是支持中文了。。。要新增什么功能還沒有計劃好。。。
               

            posted on 2011-03-19 22:15 codejie 閱讀(1797) 評論(8)  編輯 收藏 引用 所屬分類: C++LingosHook

            評論

            # re: LingosHook:1.4.000 and gettext 2011-03-21 10:17 巫云

            請問,這個可以移植到ubuntu下面使用嗎?  回復(fù)  更多評論   

            # re: LingosHook:1.4.000 and gettext 2011-03-21 12:08 codejie

            @巫云
            除了HOOK用了Windows API外,其它都是標(biāo)準(zhǔn)C++,包括GUI部分都能跨平臺的。但我覺得問題是,Lingoes好像不能在Linux上跑吧?LingosHook是一個其的增加應(yīng)用,脫離它用處還真不大了,除非不用來取詞,只是管理和背單詞那是可以的。  回復(fù)  更多評論   

            # re: LingosHook:1.4.000 and gettext 2011-03-22 21:16 haolly

            要中文版干什么。。。。。。
            英文的挺好  回復(fù)  更多評論   

            # re: LingosHook:1.4.000 and gettext[未登錄] 2011-03-22 22:59 codejie

            @haolly
            。。。只是為了多語言,大家都可以定制自己使用語言的界面了就。。。練手,寫了玩玩,好不。。。  回復(fù)  更多評論   

            # re: LingosHook:1.4.000 and gettext 2011-03-23 13:13 wdj


            熱切盼望能在“自動朗讀語音”的基礎(chǔ)上增加一個選擇TTS合成語音的選項,這樣就不用再受windows自帶的那個TTS的折磨了!  回復(fù)  更多評論   

            # re: LingosHook:1.4.000 and gettext 2011-03-24 12:24 codejie

            @wdj
            麻煩先試試系統(tǒng)TTS設(shè)置里面能不能配置下,這個我現(xiàn)在還不熟悉的。。  回復(fù)  更多評論   

            # re: LingosHook:1.4.000 and gettext 2011-03-25 22:43 haolly

            @codejie

            我一直害怕看英翻中的東西,特別是軟件。哈哈  回復(fù)  更多評論   

            # re: LingosHook:1.4.000 and gettext[未登錄] 2011-03-27 23:25 codejie

            @haolly
            哈哈,哈哈,實際我也都用英文的系統(tǒng)。。。這不是因為我E文不好,怕描述的不清楚,才用中文再來一次了。。。  回復(fù)  更多評論   

            公告

            Using C++

            導(dǎo)航

            統(tǒng)計

            留言簿(73)

            隨筆分類(513)

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            一级做a爰片久久毛片毛片| 久久午夜福利无码1000合集| 色8激情欧美成人久久综合电| 中文字幕精品久久| 久久精品a亚洲国产v高清不卡| 精品久久久久久久久久久久久久久| 亚洲人成无码www久久久| 久久久久久亚洲Av无码精品专口 | 日产精品久久久久久久| 亚洲国产精品无码久久一线| 久久精品国产亚洲一区二区| 国产毛片欧美毛片久久久| 久久精品男人影院| 亚洲精品视频久久久| 热99re久久国超精品首页| 久久99热这里只频精品6| 精品多毛少妇人妻AV免费久久| 亚洲中文字幕久久精品无码APP| 99久久精品免费看国产| 亚洲精品乱码久久久久久中文字幕 | 青草影院天堂男人久久| 伊人久久五月天| 亚洲国产精品久久久久婷婷软件 | 日本精品一区二区久久久| 久久久久四虎国产精品| 伊人久久大香线焦AV综合影院 | 久久精品国产亚洲7777| 久久se精品一区二区| 精品久久久久久亚洲精品| 亚洲欧洲精品成人久久曰影片| 精品久久人人妻人人做精品| 伊人久久大香线蕉影院95| 国内精品久久人妻互换| 国内精品伊人久久久久av一坑| 77777亚洲午夜久久多人| 久久99热这里只有精品国产| 欧美久久一级内射wwwwww.| 九九热久久免费视频| 久久久91人妻无码精品蜜桃HD| 国产福利电影一区二区三区久久久久成人精品综合 | 99久久久久|