跳转至内容

Celestia/国际化

来自 Wikibooks,开放世界中的开放书籍

从 v1.5 开始,Celestia 完全支持国际化(通常缩写为 i18n)。Celestia i18n 使用 gettext 进行处理,gettext 是一项允许不同语言之间翻译的服务。

程序中使用的所有字符串都可以翻译。对于每种语言,字符串列表及其翻译都保存在一个 .po 文件中。

使用其他语言的 Celestia

[编辑 | 编辑源代码]

Celestia 应该会根据计算机的语言自动更改其使用的语言。但是,如果您不想切换计算机的语言和区域,则可以使用命令行专门打开 Celestia

  1. 打开终端。
  2. 使用 cd 将目录更改为包含 Celestia 的目录(Unix 可执行文件)。
  3. 键入 ./Celestia -AppleLanguages '(aa)',其中 aa 指的是语言代码,例如 es 代表西班牙语。
  4. 按 Enter 键。
  1. 打开命令提示符 (cmd.exe)
  2. 使用 cd 将目录更改为包含 Celestia 的目录
  3. 键入 set LC_MESSAGES=aa,其中 aa 是语言代码,然后按 Enter 键
  4. 键入 celestia 并按 Enter 键

获取 .po 文件

[编辑 | 编辑源代码]

可以从 Celestia GitHub 仓库 或下面“Celestia 翻译概述”部分的表格中下载 .po 文件。

编辑 .po 文件

[编辑 | 编辑源代码]

可以使用以下软件编辑 .po 文件

  • Poedit:适用于 MacOS、Linux 和 Windows。
  • KBabel:适用于 KDE

更新现有的 .po 文件

[编辑 | 编辑源代码]

可以使用 celestia.pot 轻松地将特定语言的现有 .po 文件更新到最新版本。在 poEdit 中,可以使用命令“目录/从 POT 文件更新”来实现。然后,程序会显示已删除和更改或新引入的字符串列表。但请注意,.po 文件内部的创建日期不会更新。KBabel 也应该具有这样的机制。

创建新的 .po 文件

[编辑 | 编辑源代码]
  • 从 GitHub 仓库下载 celestia.pot 文件。
  • 使用您语言的 ISO 639-1 代码 重命名它。
  • 如上文“编辑 .po 文件”部分所述进行编辑。

将已完成的 .po 文件添加到 Celestia

[编辑 | 编辑源代码]

或者

  • 加入 https://www.transifex.com/celestia/celestia/ 作为您的语言翻译人员并上传您的文件。
  • 为我们 GitHub 上的仓库创建新的拉取请求
  • 或者只需将 .po 文件发送给开发人员中的某个人

从 MS Windows 的源代码构建国际化文件

[编辑 | 编辑源代码]
  • 按照 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

构建 .txf 字体纹理文件

[编辑 | 编辑源代码]

Celestia 使用自己的 .txf 字体纹理来显示 OpenGL 叠加文本。不过,标准 Celestia 软件包中分发的字体纹理中可能缺少某些非拉丁字符。
在这种情况下,请使用以下过程从标准 .ttf 字体构建 celestia .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 翻译概述

[编辑 | 编辑源代码]

当前的翻译过程适用于Celestia 1.6.1(开发版本)。

>> 上次 celestia.pot 文件更新时间:2010-01-04

主要 .po 文件

[编辑 | 编辑源代码]
语言 文件 已翻译 模糊 未翻译 修订日期 最后翻译者
ar ar.po 58% 335 83 2006-06-05 [email protected]
be be.po 100% 0 0 2010-11-15 [email protected]
bg bg.po 68% 284 30 2008-01-27 [email protected]
de de.po 100% 0 0 2010-01-29 [email protected]
el el.po 86% 128 2 2010-01-25 [email protected]
es es.po 100% 0 0 2010-01-25 [email protected]
fr fr.po 100% 0 0 2010-02-25 [email protected]
gl gl.po 100% 0 0 2010-04-08 [email protected]
hu hu.po 100% 0 0 2010-04-19 [email protected]
it it.po 100% 0 0 2010-03-31 [email protected]
ja ja.po 100% 0 0 2010-03-13 [email protected]
ko ko.po 100% 0 0 2010-03-13 [email protected]
lt lt.po 100% 0 0 2010-03-02 [email protected]
lv lv.po 95% 46 0 2010-02-06 [email protected]
nl nl.po 100% 0 0 2010-03-28 [email protected]
no no.po 100% 0 0 2010-12-05 FreewareTips
pl pl.po 100% 0 0 2010-02-05 [email protected]
pt pt.po 74% 246 4 2009-01-13 [email protected]
pt_BR pt_BR.po 100% 0 0 2010-04-03 [email protected]
ro ro.po 74% 246 4 2008-12-28 [email protected]
ru ru.po 100% 0 0 2010-11-28 [email protected]
sk sk.po 100% 0 0 2010-04-13 [email protected]
sv sv.po 99% 0 2 2010-03-27 [email protected]
tr tr.po 28% 0 681 2011-01-02 [email protected]
uk uk.po 100% 0 0 2010-01-24 [email protected]
zh_CN zh_CN.po 100% 0 0 2010-04-047 [email protected]
zh_TW zh_TW.po 100% 0 0 2010-03-13 [email protected]

星座名称 .po 文件

[编辑 | 编辑源代码]
语言 文件 已翻译 模糊 未翻译 修订日期 最后翻译者
ar ar.po 98% 0 1 2006-06-05 [email protected]
be be.po 100% 0 0 2010-11-02 [email protected]
bg bg.po 100% 0 0 2007-12-19 [email protected]
de de.po 100% 0 0 2006-02-07 [email protected]
el el.po 100% 0 0 2009-05-08 [email protected]
en en.po 100% 0 0 2005-08-06 [email protected]
es es.po 100% 0 0 2006-02-03 ElChristou
fr fr.po 100% 0 0 2008-11-23 [email protected]
gl gl.po 100% 0 0 2010-04-08 [email protected]
hu hu.po 100% 0 0 2009-01-15 [email protected]
it it.po 100% 0 0 2006-08-11 [email protected]
ja ja.po 100% 0 0 2006-08-07 [email protected]
ko ko.po 100% 0 0 2010-01-26 [email protected]
lt lt.po 100% 0 0 2008-12-04 [email protected]
lv lv.po 100% 0 0 2006-12-14 [email protected]
nl nl.po 100% 0 0 2006-08-02 [email protected]
no no.po 100% 0 0 2010-12-05 FreewareTips
pl pl.po 100% 0 0 2008-10-21 [email protected]
pt pt.po 100% 0 0 2006-12-30 [email protected]
pt_BR pt_BR.po 100% 0 0 2009-02-18 [email protected]
ro ro.po 100% 0 0 2008-12-28 [email protected]
ru ru.po 100% 0 0 2006-05-27 [email protected]
sk sk.po 100% 0 0 2010-02-28 [email protected]
sv sv.po 100% 0 0 2006-02-21 [email protected]
uk uk.po 100% 0 0 2008-??-?? [email protected]
zh_CN zh_CN.po 100% 0 0 2006-08-09 [email protected]
zh_TW zh_TW.po 100% 0 0 2009-08-10 [email protected]

其他可本地化文件

[编辑 | 编辑源代码]

以下文件也可以本地化:controls.txtCOPYINGdemo.celguide.celstart.cel
可以使用简单的文本编辑器编辑这些文件。对于 UTF-8 编码,请考虑使用例如 notepad++
翻译完成后,只需将文件重命名为 controls_LL.txt、COPYING_LL、demo_LL.cel、guide_LL.cel、start_LL.cel,其中 LL 代表您语言的ISO 639-1 代码
翻译完成后,可以将这些文件发送到 [email protected]

语言 本地化文件
bg controls_bg.txt COPYING_bg guide_bg.cel start_bg.cel
be controls_be.txt demo_be.cel guide_be.cel start_be.cel
de controls_de.txt COPYING_de demo_de.cel guide_de.cel start_de.cel
es controls_es.txt COPYING_es demo_es.cel guide_es.cel start_es.cel
fr controls_fr.txt COPYING_fr demo_fr.cel guide_fr.cel start_fr.cel
gl controls_gl.txt COPYING_gl demo_gl.cel guide_gl.cel start_gl.cel
hu start_hu.cel
it controls_it.txt COPYING_it demo_it.cel guide_it.cel start_it.cel
ja controls_ja.txt COPYING_ja demo_ja.cel guide_ja.cel start_ja.cel
ko controls_ko.txt COPYING_ko demo_ko.cel guide_ko.cel start_ko.cel
lt demo_lt.cel guide_lt.cel start_lt.cel
lv demo_lv.cel start_lv.cel
nl controls_nl.txt COPYING_nl demo_nl.cel guide_nl.cel start_nl.cel
no controls_no.txt demo_no.cel
pl controls_pl.txt COPYING_pl demo_pl.cel guide_pl.cel start_pl.cel
pt controls_pt.txt COPYING_pt demo_pt.cel guide_pt.cel start_pt.cel
pt_BR controls_pt_BR.txt COPYING_pt_BR demo_pt_BR.cel guide_pt_BR.cel start_pt_BR.cel
ru controls_ru.txt COPYING_ru demo_ru.cel guide_ru.cel start_ru.cel
sk controls_sk.txt demo_sk.cel guide_sk.cel start_sk.cel
sv controls_sv.txt COPYING_sv demo_sv.cel guide_sv.cel start_sv.cel
tr demo_tr.cel
uk controls_uk.txt COPYING_uk demo_uk.cel guide_uk.cel start_uk.cel
zh_CN controls_zh_CN.txt COPYING_zh_CN demo_zh_CN.cel guide_zh_CN.cel start_zh_CN.cel
zh_TW controls_zh_TW.txt COPYING_zh_TW demo_zh_TW.cel guide_zh_TW.cel start_zh_TW.cel
华夏公益教科书