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.

ResourceImporterCSVTranslation

继承: ResourceImporter < RefCounted < Object

导入 CSV 作为 Translation

描述

逗号分隔值是一种纯文本表格存储格式。这种格式简单易用,可以在任何文本编辑器或电子表格软件中进行编辑。这使其成为游戏本地化的常用选择。

在用于翻译的 CSV 文件中,第一列包含字符串标识符,第一行用作标题。第一列的标题可以是任意值。其余标题表示该列的区域设置。标题以下划线(_)开头的列将被忽略。

CSV 文件示例:

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.",「こんにちは」男は言いました

虽然第一列中的键通常使用大写字符串标识符,但直接使用游戏中出现的字符串作为键也很常见。为了避免字符串歧义,可以使用特殊的 ?context 列来指定与 Object.tr() 一起使用的上下文。

en,?context,fr,ja,zh
Letter,Alphabet,Lettre,字母,字母
Letter,Message,Courrier,手紙,信件

要设置用于 Object.tr_n() 方法的字符串的复数形式,请添加一个特殊的 ?plural 列。在该列中设置源字符串的复数形式后,可以添加其他行来提供更多复数形式的翻译。这些复数形式行中的第一列和所有特殊列都必须为空。

Godot 包含一些语言的内置复数规则。还可以使用特殊的 ?pluralrule 行来自定义它们。有关示例和更多信息,请参阅 GNU gettext

en,?plural,fr,ru,zh,_Comment
?pluralrule,,nplurals=2; plural=(n >= 2);,,,Customize the plural rule for French
There is %d apple,There are %d apples,Il y a %d pomme,Есть %d яблоко,那里有%d个苹果,
,,Il y a %d pommes,Есть %d яблока,,
,,,Есть %d яблок,,

教程

属性

int

compress

1

int

delimiter

0

bool

unescape_keys

false

bool

unescape_translations

true


属性说明

int compress = 1 🔗

  • Disabled:创建 Translation

  • Auto:可能时创建 OptimizedTranslation。这样做可以减小生成的文件大小,但会增加少量 CPU 开销。对于包含上下文或复数形式的翻译,则会回退到 Translation


int delimiter = 0 🔗

在 CSV 文件中使用的分隔符。该默认值符合常见的 CSV 约定。制表符分隔值有时被称为 TSV 文件。


bool unescape_keys = false 🔗

如果为 true,则在导入过程中使用 String.c_unescape() 对 CSV 文件中的消息键进行反转义。


bool unescape_translations = true 🔗

如果为 true,则在导入过程中使用 String.c_unescape() 对 CSV 文件中的消息翻译进行反转义。