tabi 的多语言能力,让您不再迷失于翻译(转译)
为了扩大到全球受众的范围,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
中:
= "https://welpo.github.io/tabi"
= "~/tabi"
= "zh-Hans"
如果 default_language
的值与 i18n 目录中 TOML 文件的名称相匹配,那么 tabi 的所有文本字符串都将被翻译成该语言。
tabi 如何处理多语言支持?
Zola 会自动为此类非默认语言生成 URL:{base_url}/{language_code}/{post}
.
tabi 通过在导航栏中添加语言切换器(仅当启用一种以上语言时显示)来方便语言之间的导航。
如果您向上滚动到导航栏,您会看到语言切换器(地球图标)。点击它会显示一个下拉菜单,其中包含可用的语言。点击一种语言的名称,您将被带到该语言的同一页面。
如果一个特定的页面在一种语言中不可用,tabi 将显示一个 404 页面,并带有以下文本:
您请求的页面似乎丢失了,或者尚未被翻译成您的语言。请检查 URL 是否有误,或者返回主页。
这段文本将针对您网站上启用的每种语言显示一次。您可以在 这里 看到这个页面的实际效果。
如何启用多语言支持?
为了启用多语言支持,您需要在您的 config.toml
文件中设置 languages
变量。例如,如果您想要一个默认为英语的网站,并支持印地语和西班牙语,您可以这样设置您的 config.toml
:
= "https://example.com"
= "My Site"
= "en"
[]
= "मेरी वेबसाइट"
[]
= "Mi web"
在每个语言的章节中,您可以设置其他变量,如 taxonomies
,description
,是否生成订阅…更多信息请参考 Zola 的多语言支持文档。
这两个字母代码是什么?
两个字母代码是 ISO 639-1 语言代码(必要时可以是 IETF BCP 47)。它们用于以标准化的方式识别语言。
tabi 使用这些代码来实现语言间的导航并翻译主题。
如何在网站上自定义或覆盖特定的文本字符串?
tabi 按照以下顺序查找字符串文件。 $base_directory
是您的 Zola 站点所在的位置(即存储 config.toml
的地方):
$base_directory + "i18n"
$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 仅翻译主题的文本字符串。您将需要自己翻译您的内容。