NLS

摘自 PostgreSQL 维基
跳转到导航跳转到搜索

PostgreSQL 国家语言支持

此页面包含有关 PostgreSQL 国家语言支持工作的一些信息。请阅读 PostgreSQL 文档中关于 NLS 的信息 以了解背景和技术信息。此页面上的某些信息最终可能会在该信息稳定后迁移到那里。还有 GNU Gettext 手册,它对我们的意义只参半,但无论如何看看也是有益的。

状态

状态表 展示了 PostgreSQL 源代码中哪些区域已准备好翻译,以及这些翻译的进度。你还可以下载针对最新程序源代码合并的新鲜 PO 文件。翻译工作不需要 PostgreSQL 源代码树。

沟通

如果你对 PostgreSQL 翻译项目有任何疑问,包括

  • 你想开始新的翻译或者继续现有的翻译,并且想避免与其他人重复工作,
  • 你在寻找想要与你一起进行翻译工作的人员,
  • 你对工具、源代码树、术语含义等有技术问题时,请将邮件发送到邮件列表 mailto:[email protected](你可能想要 订阅)。

你可以浏览 pgsql-translators 存档

如何操作

以下是进行翻译工作的设置方法。假设你现在已经了解 gettext 消息目录。如果你不了解,请阅读 PostgreSQL 文档中的 NLS 章节。

翻译

  1. 要继续现有的翻译,请按照 状态表 中的链接下载新的 PO 文件。尽可能多地填写此文件。
  2. 要开始新翻译,请点击 状态表 左栏中的一个目录名称下载 POT 文件。首先填写头文件中的所有字段,并移除模糊标记。字符集信息尤其重要,一定不要遗漏!然后根据需要填写文件剩余部分。
  3. 编辑完成后,查看文件中是否有错误。如果您使用 Emacs PO 模式,请按 V。在命令行中运行 msgfmt -o /dev/null -v -c yourfile.po。或者将文件复制到 PostgreSQL 源代码主树并运行 gmake maintainer-check-po。如果不执行此操作,您的文件可能包含会导致程序崩溃的错误,从而会让用户很快对 PostgreSQL 和国际化软件失去兴趣。
  4. 将结果文件提交到 补丁跟踪器。请遵循以下问题提交准则,方便处理提交的人
    • 不要发送补丁;发送整个文件
    • 文件的命名应类似于 postgres-de.popg_dump-fr.po,而不仅仅是 de.pofr.po。这些与从状态页面下载的名称相同,因此请保留这些名称。
    • 如果您发送多个文件,请为同一个问题创建多个附件。
    • 在问题中指定您的文件适用于哪个分支(见下文中的分支)。最好为提交到多个分支的内容创建不同的问题。(这会将附件中的文件名分开。)
  5. 一位已注册的开发者会将您的文件安装到源代码仓库中。为翻译做出了一段时间贡献的人员将被注册为开发者,能够自行将文件提交到源代码仓库。

工具

请不要使用纯文本编辑器编辑 PO 文件。您可能会给自己造成不必要的麻烦。有许多工具可以轻松编辑 PO 文件。

  • Emacs 具有 PO 编辑模式。
  • KBabel 适用于那些喜欢基于 KDE 的工具的人员。
  • Poedit 又是另一个工具,甚至可以在 Windows 下使用。

团队建设

如果您是新人,请在 状态表 上查看是否有人正在处理您的语言。如果有人在处理,则查看排在最上面的翻译文件以了解如何联系最近的译者或翻译团队。请与他们联系以做出贡献。如果您无法联系到最近的译者,或者距离文件最近一次更新已过去很长时间,则您可以接手翻译。但请记住,事先进行沟通可以避免以后的重复工作。

提示

查看GNU 翻译项目的家。在那里,您可以了解有关邮件列表、网站和针对您语言的翻译工作和其他资源的信息。其中一些资源面向 GNU,而另一些则不是。

有一个包含翻译工作当前状态的git 存储库

发布管理

您可以在多条分支中工作。存在一个当前分支和多个回退分支。

回退分支属于 PostgreSQL 过去的版本。通常是个好主意,先完成最近回退分支的翻译工作,因为这些分支是用户当前使用的那一部分。当制作新的回退分支版本时(例如 9.6.5 或 10.1),将包含已更新的翻译。

相反,当前分支通常处于繁重开发阶段,这意味着错误消息会发生变化,今天完成的翻译工作明天可能变得过时。因此,一般来讲,只有在 Beta 阶段或发布后(还没有制作新的开发分支版本)才会对当前分支中的翻译工作进行处理。(状态页面会提供有关分支状态的信息。)

有关发布计划等的信息也会发布到邮件列表mailto:[email protected](请参阅其归档),鼓励您阅读这些信息。

最低翻译标准

必须至少翻译 PO 文件 80% 的字符串,然后才能考虑将该文件包含在 PostgreSQL 的主要版本中。目的是防止用户收到英语和非英语消息奇怪的混合体。在主要版本发布之前的时间(特别是在 Beta 阶段)会定期评估这一标准。不符合此标准的文件将不被包含或(如果以前已包含)将被移除。

如果在分支的维护期内,在主要版本发布后文件低于阈值,则不会因此而移除该文件。