Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
使用电子表格进行本地化
电子表格是游戏本地化最常用的格式之一。Godot 支持 CSV 格式的电子表格。本指南将介绍 CSV 的操作方法。
CSV 文件必须使用 UTF-8 编码保存,不带字节序标记。
警告
默认情况下,Microsoft Excel 始终以 ANSI 编码保存 CSV 文件,而不使用 UTF-8。虽然没有内置的方法来保存为 UTF-8,但可以使用此处描述的变通方案。
我们推荐改用 LibreOffice 或 Google Sheets。
格式
CSV 文件必须使用以下格式:
keys |
<lang1> |
<lang2> |
<langN> |
|---|---|---|---|
KEY1 |
string |
string |
string |
KEY2 |
string |
string |
string |
KEYN |
string |
string |
string |
“lang”标签必须代表一种语言,即必须是引擎支持的有效区域设置,或者必须以下划线(_)开头,表示这一列是注释,不进行导入。KEY 标签必须唯一,代表一个全局字符串(通常为全大写,以区别于其他字符串)。这些键将在运行时替换为匹配的翻译字符串。请注意,大小写很重要,KEY1 和 Key1 是不同的键。左上角的单元格会被忽略,可以留空或包含任何内容。示例:
keys |
en |
es |
ja |
|---|---|---|---|
GREET |
Hello, friend! |
Hola, amigo! |
こんにちは |
ASK |
How are you? |
Cómo está? |
元気ですか |
BYE |
Goodbye |
Adiós |
さようなら |
QUOTE |
"Hello" said the man. |
"Hola" dijo el hombre. |
「こんにちは」男は言いました |
下面是以逗号分隔的纯文本文件形式展示的相同示例,这应该是在电子表格中编辑上述内容的结果。当编辑纯文本版本时,请确保用双引号包裹任何包含逗号、换行符或双引号的消息,这样逗号就不会被解析为分隔符,换行符不会创建新条目,双引号也不会被解析为包裹字符。请确保在消息内包含的任何双引号前面使用另一个双引号来转义。另外,你也可以在导入选项中选择逗号以外的其他分隔符。
keys,en,es,ja
GREET,"Hello, friend!","Hola, amigo!",こんにちは
ASK,How are you?,Cómo está?,元気ですか
BYE,Goodbye,Adiós,さようなら
QUOTE,"""Hello"" said the man.","""Hola"" dijo el hombre.",「こんにちは」男は言いました
指定复数形式
自 Godot 4.6 起,可以在 CSV 文件中指定复数形式。
这可以通过在表中任意位置(第一列除外,第一列保留用于翻译键)添加名为 ?plural 的列来实现。按照惯例,建议将其放在第二列。请注意,在下面的示例中,键列是包含英文本地化的列。
en,?plural,fr,ru,ja,zh
?pluralrule,,nplurals=2; plural=(n >= 2);,,
There is %d apple,There are %d apples,Il y a %d pomme,Есть %d яблоко,リンゴが%d個あります,那里有%d个苹果
,,Il y a %d pommes,Есть %d яблока,,
,,,Есть %d яблок,,
备注
使用复数形式时,不支持 Control 节点的自动翻译。你必须使用 tr_n() 手动翻译字符串。
指定翻译上下文
自 Godot 4.6 起,可以在 CSV 文件中指定翻译上下文。这可用于消除含义不同的相同源字符串之间的歧义。虽然在使用 LIKE_THIS 这样的翻译键时通常不需要这样做,但这在使用纯英文文本作为翻译键时非常有用。
这可以通过在表中任意位置(第一列除外,第一列保留用于翻译键)添加名为 ?context 的列来实现。按照惯例,建议将其放在第二列,或者如果也使用了 ?plural 列,则放在其后。请注意,在下面的示例中,键列是包含英文本地化的列。
en,?context,fr,ru,ja,zh
Letter,Alphabet,Lettre,Буква,字母,字母
Letter,Message,Courrier,Письмо,手紙,信件
CSV 导入器
Godot 默认会将 CSV 文件作为翻译导入,在同一文件夹中生成一个或多个压缩后的翻译资源文件。
导入还会将翻译添加到要在游戏运行时加载的翻译列表中,在 project.godot(或项目设置)中指定。Godot 还允许在运行时加载和删除翻译。
选择 .csv 文件并访问 Import 停靠面板,以定义导入选项。你可以切换是否压缩导入的翻译,并选择在解析 CSV 文件时使用的分隔符。
对这些选项进行任何更改后,请务必点击 。
将 CSV 文件加载为翻译
导入 CSV 文件后,它不会自动注册为项目的翻译源。请务必按照配置导入的翻译中的步骤操作,以便在运行项目时实际使用该翻译。