在 Windows 使用 GetText

要在 Windows 使用 xgettext, msgmerge, msgfmt ... 等, 要安裝哪些東西?

Windows 的 GetText 工具安裝

GetText 所需相關 Library 安裝

  • 上述套件下載後, 於 Windows XP 會缺下述兩個 Library:
    • libexpat.dll
    • libiconv2.dll
  • 可自行去尋找, 或者 直接下載 我抓好的版本 : gettext-dll.tgz
  • 將這兩個檔案放到 C:\gettext\bin\ 即可.

GetText 工具使用

  • C:\gettext\bin\xgettext.exe --from-code=UTF-8 -d hello hello.php
  • C:\gettext\bin\msgmerge.exe -o hello.po locale/zh_TW/LC_MESSAGES/hello.po hello.po
  • C:\gettext\bin\msgfmt.exe -o locale/zh_TW/LC_MESSAGES/hello.mo hello.po

關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 News-Application。將永久鏈結加入書籤。

在 Windows 使用 GetText 有 13 則回應

  1. Jake.Xu 說道:

    详细的过程,让我迅速的上手

  2. Jake.Xu 說道:

    xgettext.exe
    msgmerge.exe
    msgfmt.exe
    可以对上述运用的参数做个简要说明呢?

  3. Jake.Xu 說道:

    工具使用的顺序2,3应该调换一下吧
    msgfmt.exe: hello.po: warning: Charset "CHARSET" is not a portable encoding name
    .
    Message conversion to user's charset might not wo
    rk.
    运行msgfmt.exe时,产生如上警告,不知道是否有影响?

  4. Jake.Xu 說道:

    第一步xgettext.exe产生po文件
    第二步msgfmt.exe产生mo文件
    不知道第三步有什么作用哦,感觉po文件都是同一个啊?
    而且看到你描述的“gettext 看的是 mo 檔, 不是 po 檔 :)”

  5. Tsung 說道:

    xgettext.exe : 把文字抽成 po 檔
    msgmerge.exe : 把抽出來的 po 檔 和你之前翻譯的 po 檔 merge
    msgfmt.exe: 把 CHARSET 設好一次, 以後 merge 後, 就不會警告了. po 檔是給你翻譯用, mo 檔是機器在看, msgfmt 就是做 po -> mo 轉換.

  6. Jake.Xu 說道:

    msgmerge.exe : 把抽出來的 po 檔 和你之前翻譯的 po 檔 merge
    请问为什么要合并呢?
    msgfmt.exe: 把 CHARSET 設好一次, 以後 merge 後, 就不會警告了. po 檔是給你翻譯用, mo 檔是機器在看, msgfmt 就是做 po -> mo 轉換.
    请问如何设置charset

  7. Tsung 說道:

    你翻譯好第一次, 然後試試看要翻第二次, 你會怎麼做?
    會跑 xgettext.ext, 但是抓出來的東西都是空的, 所以會需要把你之前翻譯得做合併.
    CHARSET 就進去改, 設 UTF-8 之類, 就看你的語系編碼而定.

  8. 马栋 說道:

    我在WindowsXP SP3,简体中文环境下,locale如何设置,_("")值都是原值,请问如何处理?

  9. 安琪拉 說道:

    請問hello.php檔要存在哪個資料夾??

  10. 通告: Java Web Application 另类的国际化方式gettext - commons for Java - 不静之心

  11. 通告: Window系统下模拟Linux环境的工具 - 不静之心

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料