FOSSBilling 本地化

安装一种新语言

默认情况下,FOSSBilling 包括其版本中至少完成25%的所有官方翻译。如果您有自定义翻译,您可以使用以下步骤中提供的说明将其提交到官方存储库。

要安装您的自定义翻译,只需将翻译文件上传到 FOSSBilling 实例的 /locale 目录下,FOSSBilling 将自动检测翻译。请注意,您可能需要在 /locale/locales.php文件中添加一个条目,以便您的翻译以其母语显示其标题,尽管翻译不需要这样做,并且当 FOSSBilling更新时,此文件将被覆盖。

您新安装的翻译的文件结构应如下(英语示例):

  • /locale/
    • /locale/en_US/
      • /locale/en_US/LC_MESSAGES/
      • /locale/en_US/LC_MESSAGES/messages.mo – 汇编的翻译。这是 FOSSBilling 使用翻译所必需的。
      • /locale/en_US/LC_MESSAGES/messages.po – 翻译的来源。FOSSBilling 不需要使用翻译,但它确实允许开发人员轻松构建您的翻译。

为官方翻译做出贡献

现有翻译

为 FOSSBilling 中已经存在的翻译做出贡献很容易!简单地转到 translate.fossbilling.org,并在 Crowdin 创建一个帐户。从那里,您将能够查看现有的翻译并为其做出贡献。

新翻译

如果您尚未为 FOSSBilling 创建新的翻译文件,但想开始一个,只需加入我们的不和谐,并在 #localization 频道中询问将新语言添加到 Crowdin。一旦我们添加了它,您将能够登录 Crowdin,并从那里为翻译做出贡献。

如果您已经完成了自定义翻译

如果您已经创建了自定义翻译,并希望将其添加到官方的 FOSSBilling 翻译中,您需要通过拉取请求将它们添加到我们的区域设置回购协议中。在提交提交新区域设置的拉取请求时,不要包含编译的 .mo 文件。当新的提交添加到存储库时,会自动生成编译的文件。一旦我们将新的翻译合并到官方翻译中,我们将将它们添加到 Crowdin 中,此时它们将可用于众包贡献。

如果您对上述步骤有任何疑问或问题,请加入我们的 discord 并请求帮助。

更改默认语言

FOSSBilling 使用的默认区域设置在 config.php 文件中定义。例如:这是您在重新安装 FOSSBilling 后找到的默认值:’locale’ => ‘en_US’

要更改默认值,请更改 en_US 以匹配翻译的文件夹名称。例如,越南语翻译的 vi_VN。

禁用语言

从FOSSBilling 0.6.0版本开始,您可以通过登录管理员面板并导航到 扩展->语言 来禁用翻译。最终的URL应该是billing.example.com/admin/extension/languages。

在此屏幕上,您可以查看翻译的完整性,只需单击按钮即可启用/禁用任何翻译。

自动语言检测

FOSSBilling 旨在利用浏览器的语言标题来正确选择访问者能够理解的语言。因此,有些人可能会发现他们的 FOSSBilling 实例没有显示他们在配置文件中设置的语言。这不是一个错误,它只是使用您的浏览器所说的首选语言的 FOSSBilling。

其逻辑流程如下:locale logic flowchart

什么算作匹配的区域?

  • FOSSBilling 将仅使用基于语言标题的主要首选区域设置。标题中列出的任何其他语言都将被忽略。
  • 匹配的区域设置要么是完全匹配的区域设置(en_US和en_US),要么是类似的区域设置(en_GB和en_US)