Celestia/國際化
從 v1.5 開始,Celestia 完全支援國際化(通常縮寫為 i18n)。Celestia i18n 使用 gettext 進行處理,gettext 是一項允許不同語言之間翻譯的服務。
程式中使用的所有字串都可以翻譯。對於每種語言,字串列表及其翻譯都儲存在一個 .po 檔案中。
Celestia 應該會根據計算機的語言自動更改其使用的語言。但是,如果您不想切換計算機的語言和區域,則可以使用命令列專門開啟 Celestia
- 開啟終端。
- 使用
cd將目錄更改為包含 Celestia 的目錄(Unix 可執行檔案)。 - 鍵入
./Celestia -AppleLanguages '(aa)',其中aa指的是語言程式碼,例如es代表西班牙語。 - 按 Enter 鍵。
- 開啟命令提示符 (cmd.exe)
- 使用
cd將目錄更改為包含 Celestia 的目錄 - 鍵入
set LC_MESSAGES=aa,其中aa是語言程式碼,然後按 Enter 鍵 - 鍵入
celestia並按 Enter 鍵
可以從 Celestia GitHub 倉庫 或下面“Celestia 翻譯概述”部分的表格中下載 .po 檔案。
可以使用以下軟體編輯 .po 檔案
可以使用 celestia.pot 輕鬆地將特定語言的現有 .po 檔案更新到最新版本。在 poEdit 中,可以使用命令“目錄/從 POT 檔案更新”來實現。然後,程式會顯示已刪除和更改或新引入的字串列表。但請注意,.po 檔案內部的建立日期不會更新。KBabel 也應該具有這樣的機制。
- 從 GitHub 倉庫下載 celestia.pot 檔案。
- 使用您語言的 ISO 639-1 程式碼 重新命名它。
- 如上文“編輯 .po 檔案”部分所述進行編輯。
或者
- 加入 https://www.transifex.com/celestia/celestia/ 作為您的語言翻譯人員並上傳您的檔案。
- 為我們 GitHub 上的倉庫建立新的拉取請求
- 或者只需將 .po 檔案傳送給開發人員中的某個人
- 按照 Celestia/Development/Win32 platform 中描述的 Win 32 平臺的 Celestia 構建步驟操作。假設 Celestia 的原始碼位於“c:\celestia”中,其他程式也安裝在 c 盤中。
- 安裝 perl(例如 ActivePerl)和適用於 Windows 的 POEdit
- 新增 POEdit 的路徑(例如 C:\Program Files\Poedit\bin)。這是為了 msgfmt。
- 開啟 Windows 命令控制檯 (cmd.exe)
- 執行“C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat”
- 使用“cd C:\celestia\celestia\po”命令更改目錄
- 執行“perl translate_resources.pl”。translate_resources.pl 指令碼執行以下操作
- 從 po 檔案翻譯資原始檔 -> src/celestia/rc/celestia_LL.rc
- 構建 dll 檔案 -> src/celestia/rc/celestia_LL.res -> locale/res_LL.dll
- 編譯目錄 -> locale/LL/LC_MESSAGES/celestia[_constellations].mo
Celestia 使用自己的 .txf 字型紋理來顯示 OpenGL 疊加文字。不過,標準 Celestia 軟體包中分發的字型紋理中可能缺少某些非拉丁字元。
在這種情況下,請使用以下過程從標準 .ttf 字型構建 celestia .txf 字型紋理
- 從 http://www.shatters.net/~claurel/stuff/txfutil.tar.gz (失效連結) 下載 txf 實用程式
- 此連結 包含可能與這些實用程式相同的原始碼。
- 生成 .txf 檔案
ttf2txf -w 1048 -h 1048 -f codepoints_LL.txt -s 12 -o sans12_LL.txf font.ttf ttf2txf -w 1048 -h 1048 -f codepoints_LL.txt -s 14 -o sans14_LL.txf font.ttf ttf2txf -w 1048 -h 1048 -f codepoints_LL.txt -s 20 -o sansbold20_LL.txf font_bold.ttf
這將建立以下字型紋理,這些紋理應放置在 font/ 目錄中
- sans12_LL.txf
- sans14_LL.txf
- sansbold20_LL.txf。
Windows 使用者注意
- ttf2txf 的預編譯版本可在以下位置獲得: http://gvince.perso.sfr.fr/celestia/dev/ttf2txf.zip
- codepoints_LL.txt 檔案是透過從 po/ 目錄執行 translate_resources.pl perl 指令碼生成的。請參閱上面“從 MS Windows 的原始碼構建國際化檔案”部分。
當前的翻譯過程適用於Celestia 1.6.1(開發版本)。
>> 上次 celestia.pot 檔案更新時間:2010-01-04
| 語言 | 檔案 | 已翻譯 | 模糊 | 未翻譯 | 修訂日期 | 最後翻譯者 |
|---|---|---|---|---|---|---|
| ar | ar.po | 58% | 335 | 83 | 2006-06-05 | saudilink@lycos.com |
| be | be.po | 100% | 0 | 0 | 2010-11-15 | 375gnu@gmail.com |
| bg | bg.po | 68% | 284 | 30 | 2008-01-27 | kumbarov@gmail.com |
| de | de.po | 100% | 0 | 0 | 2010-01-29 | celestia-deutsch@gmx.net |
| el | el.po | 86% | 128 | 2 | 2010-01-25 | ckouz@uom.gr |
| es | es.po | 100% | 0 | 0 | 2010-01-25 | abramson@cab.cnea.gov.ar |
| fr | fr.po | 100% | 0 | 0 | 2010-02-25 | gvince@sfr.fr |
| gl | gl.po | 100% | 0 | 0 | 2010-04-08 | xabiercs@terra.com |
| hu | hu.po | 100% | 0 | 0 | 2010-04-19 | zoltanszekely@hotmail.com |
| it | it.po | 100% | 0 | 0 | 2010-03-31 | gvince@sfr.fr |
| ja | ja.po | 100% | 0 | 0 | 2010-03-13 | aqua@aqsp.net |
| ko | ko.po | 100% | 0 | 0 | 2010-03-13 | blcktgr73@gmail.com |
| lt | lt.po | 100% | 0 | 0 | 2010-03-02 | neoromancer@gmail.com |
| lv | lv.po | 95% | 46 | 0 | 2010-02-06 | sg30022@lanet.lv |
| nl | nl.po | 100% | 0 | 0 | 2010-03-28 | myckel@sdf.lonestar.org |
| no | no.po | 100% | 0 | 0 | 2010-12-05 | FreewareTips |
| pl | pl.po | 100% | 0 | 0 | 2010-02-05 | hippie_1968@hotmail.com |
| pt | pt.po | 74% | 246 | 4 | 2009-01-13 | zeraeiro@gmail.com |
| pt_BR | pt_BR.po | 100% | 0 | 0 | 2010-04-03 | igorborgo@gmail.com |
| ro | ro.po | 74% | 246 | 4 | 2008-12-28 | oanaradu32@queeq.com |
| ru | ru.po | 100% | 0 | 0 | 2010-11-28 | leserg@ua.fm |
| sk | sk.po | 100% | 0 | 0 | 2010-04-13 | acelists@atlas.sk |
| sv | sv.po | 99% | 0 | 2 | 2010-03-27 | po@danielnylander.se |
| tr | tr.po | 28% | 0 | 681 | 2011-01-02 | kde-i18n-doc@kde.org |
| uk | uk.po | 100% | 0 | 0 | 2010-01-24 | yurchor@ukr.net |
| zh_CN | zh_CN.po | 100% | 0 | 0 | 2010-04-047 | markerzli@gmail.com |
| zh_TW | zh_TW.po | 100% | 0 | 0 | 2010-03-13 | iychiang1809@gmail.com |
| 語言 | 檔案 | 已翻譯 | 模糊 | 未翻譯 | 修訂日期 | 最後翻譯者 |
|---|---|---|---|---|---|---|
| ar | ar.po | 98% | 0 | 1 | 2006-06-05 | saudilink@lycos.com |
| be | be.po | 100% | 0 | 0 | 2010-11-02 | 375gnu@gmail.com |
| bg | bg.po | 100% | 0 | 0 | 2007-12-19 | kumbarov@gmail.com |
| de | de.po | 100% | 0 | 0 | 2006-02-07 | schreiberste@web.de |
| el | el.po | 100% | 0 | 0 | 2009-05-08 | ckouz@uom.gr |
| en | en.po | 100% | 0 | 0 | 2005-08-06 | chris@teyssier.org |
| es | es.po | 100% | 0 | 0 | 2006-02-03 | ElChristou |
| fr | fr.po | 100% | 0 | 0 | 2008-11-23 | vince.gian@free.fr |
| gl | gl.po | 100% | 0 | 0 | 2010-04-08 | xabiercs@terra.es |
| hu | hu.po | 100% | 0 | 0 | 2009-01-15 | zoltanszekely@hotmail.com |
| it | it.po | 100% | 0 | 0 | 2006-08-11 | mausan66@tiscali.it |
| ja | ja.po | 100% | 0 | 0 | 2006-08-07 | aqua@aqsp.net |
| ko | ko.po | 100% | 0 | 0 | 2010-01-26 | jaeuck@gmail.com |
| lt | lt.po | 100% | 0 | 0 | 2008-12-04 | neoromancer@gmail.com |
| lv | lv.po | 100% | 0 | 0 | 2006-12-14 | sg30022@lanet.lv |
| nl | nl.po | 100% | 0 | 0 | 2006-08-02 | myckel@sdf.lonestar.org |
| no | no.po | 100% | 0 | 0 | 2010-12-05 | FreewareTips |
| pl | pl.po | 100% | 0 | 0 | 2008-10-21 | hippie_1968@hotmail.com |
| pt | pt.po | 100% | 0 | 0 | 2006-12-30 | zeraeiro@gmail.com |
| pt_BR | pt_BR.po | 100% | 0 | 0 | 2009-02-18 | igorborgo@gmail.com |
| ro | ro.po | 100% | 0 | 0 | 2008-12-28 | oanaradu32@queeq.com |
| ru | ru.po | 100% | 0 | 0 | 2006-05-27 | leserg@ua.fm |
| sk | sk.po | 100% | 0 | 0 | 2010-02-28 | acelists@atlas.sk |
| sv | sv.po | 100% | 0 | 0 | 2006-02-21 | po@danielnylander.se |
| uk | uk.po | 100% | 0 | 0 | 2008-??-?? | dubyk@library.lviv.ua |
| zh_CN | zh_CN.po | 100% | 0 | 0 | 2006-08-09 | zhaozhengxu@yahoo.com |
| zh_TW | zh_TW.po | 100% | 0 | 0 | 2009-08-10 | alchen@tam.gov.tw |
以下檔案也可以本地化:controls.txt、COPYING、demo.cel、guide.cel、start.cel。
可以使用簡單的文字編輯器編輯這些檔案。對於 UTF-8 編碼,請考慮使用例如 notepad++
翻譯完成後,只需將檔案重新命名為 controls_LL.txt、COPYING_LL、demo_LL.cel、guide_LL.cel、start_LL.cel,其中 LL 代表您語言的ISO 639-1 程式碼。
翻譯完成後,可以將這些檔案傳送到 team@celestia.space。