字典
如何翻译网站界面中的固定文本。
简介
字典 是网站界面固定文本的翻译系统 —— 标签、消息、按钮文本 —— 这些不是页面内容,而是"内嵌"在代码中的文本,但仍然需要以每种语言存在。
涉及后台中的两个表单:
- 条目(
dictionary_entry) - 字典(
dictionary)
条目
定义一个翻译"键" —— 代码(code,在代码中用来获取值)和描述。例如一个条目 联系表单成功,用于联系表单的成功消息(正是该条目出现在功能的 ContactForm 中)。
字典
是一个条目针对某个特定语言(language_id)的翻译值 —— 值字段(value,接受 HTML)。
没有通用值/没有语言
与配置不同,字典没有无语言的回退机制 —— 每个条目都需要为使用它的每种语言显式定义一个值。如果某种语言缺少翻译,显示的文本就是条目自身的代码(例如 联系表单成功),而不是通用值。
通过代码
类 website/src/common/Cluar.js 提供了读取字典条目的函数,如果没有翻译,它们都会返回条目代码作为结果(有助于发现缺失的翻译):
Cluar.dictionary(条目)—— 获取当前语言中的翻译值,与保存时的样子一致(可能包含 HTML)。Cluar.plainDictionary(条目)—— 相同,但会移除<p>和<br>标签。这是界面标签(按钮、表单字段、通知)中最常用的。Cluar.plainTitle(条目)—— 相同,但只移除<p>标签。Cluar.plainHTML(条目)—— 移除所有 HTML 标签。Cluar.dictionaryNoParagraph(条目)—— 只移除<p>标签(等同于plainTitle)。
下一步
探索模板。