术语

General Translation 库关键术语指南

概览

在整套文档中,我们会使用多种术语来描述 General Translation 库中的各类概念。

本页将重点介绍我们常用的一些核心术语。

关键术语

语言环境(locale)

语言环境是用于标识特定语言的代码。

有关更详细的说明,请参阅语言环境代码字符串页面。

例如,en-US 是英语(美国)的语言环境。

在整个文档中,我们常将“语言环境(locale)”与“语言代码”互换使用。

语言

在与代码配合使用的语境中,我们提到的“语言”实际上指的是 locale(或语言代码)。

例如,当我们说“在调用 setLocale 时提供语言”时,实际上是指“在调用 setLocale 时提供 locale”。

如果我们说“法语是受支持的语言”,实际上是指“fr 是受支持的 locale”。

字典

字典是一个 JSON 文件,包含一组(可嵌套的)键值对。

键用作引用,值为字符串,既可以是源语言,也可以是目标语言。

{
  "greeting": "你好,世界!",
  "farewell": "再见,世界!",
  "dashboard": {
    "title": "Dashboard",
    "description": "欢迎使用 Dashboard"
  }
}

这些键是便于阅读的引用,用于在你的应用中查找已翻译的内容。

这些字典在结构和用法上与常规做法一致,类似于其他 i18n 库中的翻译文件。

源字典也可以是 .js.ts 文件,这意味着它可以从其他文件中导入。 包含已翻译内容的字典只能是 .json 文件。

源字典

源字典是指包含你应用默认 locale 内容的字典。

已翻译字典

已翻译字典是指在特定 locale 中包含与默认 locale 不同内容的字典。

键与源字典相同,值为翻译后的字符串。

如果你有自己的已翻译字典,可以使用 loadDictionary 函数加载它们。

内联内容

内联内容指直接写在应用代码中的文本,而不是单独存放在诸如 JSON 或字典文件中的位置。

包括:

  • <T> 组件
  • useGT 钩子
  • getGT 函数

源内容

源内容指的是你应用默认 locale 的内容,即以应用默认语言编写的所有文本。

对于 gt-nextgt-react,源内容特指应用中所有可翻译的内容,包括应用的源字典以及任何内联内容。

源模板

“源模板”指用于存储源内容的特定数据格式。

{
  ["源内容的唯一标识符"]: "...内容..."
}

源内容的唯一标识符可以是源内容的哈希,或用户自定义的唯一标识符。

根据源内容的类型,相应的 value 可以是字符串、数组或对象。(dictionaries 使用字符串和数组,<T> 组件使用对象)

翻译

在本手册中,我们使用名词“翻译”来指代对源内容进行翻译后得到的译文。

翻译是直接从你的源模板生成的。

loadTranslations 函数允许你自定义这些翻译的存储位置。该函数要求 JSON 的格式与源模板一致。

使用 CLI(命令行界面)generate 命令 从你的源内容生成这些数据文件。

注意:

需要强调的是,“翻译”与“已翻译的字典”并不相同。字典(dictionaries)可能是嵌套的,并以便于理解的人类可读引用作为键。

而翻译通常是扁平结构,键多为不可读的哈希值。

翻译 会存储在 GT CDN(内容分发网络)上。

当我们将“翻译”用于指代 JSON、MDX 或 MD 文件时,指的是对原始源文件的直接翻译。

本指南如何?