Advanced: Localization

Translate!

此处描述了多语言教程翻译的工作原理。系统包括:

  • InputStringsScriptableObject 对象(TSR > TipTextData)

  • 带有翻译内容的 CSV 表格(TSR > TipTextData > CSVFile)

  • 此处的文本嵌入到教程步骤中,可在两个位置进行编辑

Storage

添加翻译

要进行翻译,必须至少有一种语言的文本提示可用。添加翻译步骤如下:

  1. 打开 TSR > TipTextData。这是存储所有场景和教程文本提示的位置。

  2. 点击“Export current strings to CSV”按钮。

  3. 编辑 CSV。当前文本的副本已创建在“Default”列中。将其通过翻译工具翻译,并将翻译内容填入对应语言列。

  4. 完成后,在运行时或编辑模式切换语言时,文本将根据翻译内容进行变化。文本和其翻译是通过匹配内容查找的,而不是绑定到特定索引。

切换语言(4 种方式)

更改语言会在运行时和编辑模式下无缝更新所有文本提示。

In inspector
Via script

通过 TSR > TipTextData 更改语言,只需从下拉列表中选择不同的值即可。

调用 TSR > TranslateAllTutorial() 方法。为其使用下拉列表中的现有语言之一。

sceneReferences.TranslateAllTutorial(InputStringsScriptableObject.Language.Italian);

通过 ATM 更改语言,只需从下拉列表中选择不同的值即可。

调用 TSR > TranslateAllTutorialByString() 方法。指定 CSV 文件首行中声明的任意语言,即使该语言未在下拉列表中显示。

sceneReferences.TranslateAllTutorialByString("Polish");

添加新语言

As Enum for the list (found by column number)
Simplified (found by string)
  1. 打开 InputStringsScriptableObject.cs

  2. 找到 "public enum Language" > "AddCustomLanguage = 11",将其替换为你的语言,例如 "Romanian = 11"

  3. 打开 CSV 文件,并在第 11 列(L 列)填写罗马尼亚语翻译

  4. 完成。要创建新语言,请使用未使用列的索引,例如 "CustomLanguage = 16"

  1. 打开 CSV 文件,并在任意空列中填写翻译内容

  2. 确保该列的第 0 行命名为所使用的语言,例如 "Romanian"

  3. 完成。但要调用该语言进行翻译,只能使用 TranslateAllTutorialByString("Romanian") 方法。例如,可将其绑定到旗帜按钮。

Last updated