翻译¶
借助 Odoo,您可以将网站翻译成不同的语言。
在本章中,您将了解如何:
翻译模块的内容。
导入和导出翻译。
将翻译集成到模块中。
前端¶
要使用网站构建器翻译页面,请前往您的网站并点击语言选择器以切换到该语言。如果您的网站从未翻译为目标语言,请点击 Add a language…,在弹出的窗口中选择该语言,然后点击 添加。
点击 翻译 以开始翻译。根据语言的不同,部分文本会被自动翻译并以绿色高亮显示,而所有需要手动翻译的内容则以黄色高亮显示。
但是,您必须了解通过网站构建器翻译内容时底层发生了什么。
默认页面¶
网站安装完成后,Odoo 会创建一个基础视图。如果您使用构建器编辑页面,则会创建一个重复视图,您的所有修改(以及您的翻译)都会保存在这个视图中。唯一的例外是主页(默认情况下,即使您尚未进行任何编辑,Odoo 也会创建一个基础视图和一个重复视图)。
无论您是通过网站构建器创建页面,还是通过源代码使用记录创建页面,我们都建议您非常谨慎地安排源语言翻译或修改的先后顺序。请注意,对源语言的任何一次修改(Edit master)都会断开源语言与现有翻译之间的链接。换句话说,如果您编辑了源语言,就必须重新创建翻译。
可翻译字符串¶
t-att- 与 t-attf-¶
如果您想设置可翻译字符串,请尽可能优先使用 t-attf- 而不是 t-att-。
示例
要写出“Hello username”,可以按以下方式进行:
<div t-attf-title="Hello #{user.name}" />
Warning
您也可以像下面的示例一样使用 t-att-title 达到相同的结果。但是,这样得到的结果不会被原生地视为可翻译字符串:
<div t-att-title="'Hello' + user.name" />
例外:t-value / t-valuef¶
t-value 和 t-valuef 略有不同。它们都不是显式可翻译的,因此您可以这样写:
<t t-set=”additional_title”>My Page Title Shown in the Browser Tab</t>
由于我们编写的是 XML 上下文,位于两个 XML 标签之间的文本是可翻译的。
混合可翻译与不可翻译的内容¶
在需要仅在一个位置设置可翻译文本的情况下:
<t t-set=”title”>Foo</t>
然后我们需要在不同位置调用它:
<div t-att-title=”label” />
...
<nav t-att-title=”label” />
这里我们只是将可翻译内容调用到一个不可翻译的属性(t-att-title)中。因此,t-att-title 不可翻译,但转换后的变量是可翻译的。
后端¶
直接从后端翻译页面,可以让您同时翻译多种语言。为此,请前往 ,搜索要翻译的页面名称,然后点击 编辑翻译 按钮。
导出¶
翻译完成后,您需要导出译文,以便将其集成到模块中。要一次性导出全部内容,请打开您的数据库,激活 开发者模式,然后前往 。选择您所翻译的 语言,在 文件格式 下选择 PO 文件,并在 要导出的应用 中选择 website_airproof。
下载该文件并将其移动到 i18n 文件夹。如有需要,您可以随后手动编辑 .po 文件。
PO 文件¶
您可以直接编辑 .po 文件或自行创建该文件来进行翻译。请参阅 翻译模块文档 来编写译文。
/website_coconuts/i18n/fr_BE.po¶#. module: website_airproof
#: model_terms:ir.ui.view,arch_db:website_airproof.s_custom_snippet
msgid "..."
msgstr "..."
导入¶
要将译文文件导入 Odoo,请前往 并上传这些文件。