tabi 的多语言能力,让您不再迷失于翻译(转译)

  • 更新于 1 3月 2024

为了扩大到全球受众的范围,tabi 简化了构建多语言网站的过程。在本指南中,我们将向您介绍需要了解的所有内容——从为您的网站设置默认语言到贡献您自己的翻译。让我们开始吧!

常见问题解答

tabi 支持哪些语言?

tabi 支持以下语言:

  • 阿拉伯语(Arabic)
  • 加泰罗尼亚语(Catalan)
  • 中文 (简体)
  • 中文 (繁体)
  • 英文(English)
  • 法语(French)
  • 德语(German)
  • 印地语(Hindi)
  • 意大利语(Italian)
  • 日语(Japanese)
  • 韩语(Korean)
  • 波斯语(Persian)
  • 葡萄牙-欧洲(Portuguese-European)
  • 俄语(Russian)
  • 西班牙语(Spanish)
  • 乌克兰语(Ukranian)

对于支持的语言的最新列表,请参考 tabi 仓库中的 i18n 目录

如何为我的网站设置默认语言?

您可以通过在 config.toml 文件中定义 default_language 变量来设置站点的默认语言。

例如,如果您希望将(简体)中文设为主要语言,只需将这一行添加到 config.toml 中:

base_url = "https://welpo.github.io/tabi"
title = "~/tabi"
default_language = "zh-Hans"

如果 default_language 的值与 i18n 目录中 TOML 文件的名称相匹配,那么 tabi 的所有文本字符串都将被翻译成该语言。

tabi 如何处理多语言支持?

Zola 会自动为此类非默认语言生成 URL:{base_url}/{language_code}/{post}.

tabi 通过在导航栏中添加语言切换器(仅当启用一种以上语言时显示)来方便语言之间的导航。

如果您向上滚动到导航栏,您会看到语言切换器(地球图标)。点击它会显示一个下拉菜单,其中包含可用的语言。点击一种语言的名称,您将被带到该语言的同一页面。

如果一个特定的页面在一种语言中不可用,tabi 将显示一个 404 页面,并带有以下文本:

您请求的页面似乎丢失了,或者尚未被翻译成您的语言。请检查 URL 是否有误,或者返回主页。

这段文本将针对您网站上启用的每种语言显示一次。您可以在 这里 看到这个页面的实际效果。

如何启用多语言支持?

为了启用多语言支持,您需要在您的 config.toml 文件中设置 languages 变量。例如,如果您想要一个默认为英语的网站,并支持印地语和西班牙语,您可以这样设置您的 config.toml

base_url = "https://example.com"
title = "My Site"
default_language = "en"

[languages.hi]
title = "मेरी वेबसाइट"

[languages.es]
title = "Mi web"

在每个语言的章节中,您可以设置其他变量,如 taxonomiesdescription,是否生成订阅…更多信息请参考 Zola 的多语言支持文档

这两个字母代码是什么?

两个字母代码是 ISO 639-1 语言代码(必要时可以是 IETF BCP 47)。它们用于以标准化的方式识别语言。

tabi 使用这些代码来实现语言间的导航并翻译主题。

如何在网站上自定义或覆盖特定的文本字符串?

tabi 按照以下顺序查找字符串文件。 $base_directory是您的 Zola 站点所在的位置(即存储 config.toml 的地方):

  1. $base_directory + "i18n"
  2. $base_directory + "themes/tabi/i18n"

所以在您的基目录中创建 i18n/en.toml,tabi 将从该文件读取字符串,而不是默认的英文字符串。您可以为此操作任何语言,无论是否支持。

确保先复制该语言的所有文件,否则主题将回退到默认的英文字符串。

如果翻译缺失或不完整会发生什么?

如果在语言文件中找不到字符串,tabi 将回退到默认的英文字符串。

我的语言不支持,我能贡献翻译吗?

请务必这样做!我们一直在寻找支持更多语言的机会。您可以通过在 tabi 仓库中创建一个拉取请求(pull request)来贡献翻译。

您可以使用英文文件作为基础,将字符串翻译成您的语言。请确保遵循相同的结构。

文件应以其语言的两字母代码命名,且应为 TOML 文件。例如,如果你想添加对斯瓦希里语的支持,你可以在 i18n 目录下创建一个名为 sw.toml 的文件。

注意:在测试翻译时,您可能需要重启 zola serve 以查看更改,因为 Zola 并不总是能检测到 TOML 文件中的更改。

我发现了一个翻译错误。我该如何改正它?

如果在翻译中发现了错误,你可以在 tabi 仓库中创建一个问题或拉取请求((pull request))。

如何在主题更新后更新翻译?

如果您没有自定义翻译,只需更新主题就会自动更新翻译。

如果您这样做了,您将需要手动更新翻译。您可以通过从相应的文件中复制新字符串,并将它们粘贴到您的自定义文件中来完成此操作。

tabi 会翻译我的内容吗?

不。tabi 仅翻译主题的文本字符串。您将需要自己翻译您的内容。