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.

导入翻译

游戏与国际化

游戏社区不是单一语言或单一文化的。它由许多不同的语言和文化组成 - 就像 Godot 社区一样!如果你想让玩家用他们的语言体验你的游戏,你需要提供的其中一件事就是文本翻译,Godot 通过国际化文本支持文本翻译。

在常规的桌面或移动应用程序中,国际化文本通常位于资源文件中(GNU 内容则是 .po 文件)。然而,游戏可以使用比应用程序多几个数量级的文本,因此它们必须支持能高效处理多语言文本加载的方法。

有两种方法来生成多语言的游戏和应用程序。两者都基于键值对系统。第一种是使用其中一种语言作为“键”(通常是英语),第二种是使用特定的标识符。如果首先用英语发布游戏,后来以其他语言发布游戏,则第一种方法可能更易于开发;但是如果同时使用多种语言,则完全是一场噩梦。

一般来说, 游戏使用第二种方法, 并为每个字符串使用唯一的ID. 这允许你在翻译为其他语言时修改文本. 唯一ID可以是数字, 字符串, 或带有数字的字符串(无论如何, 它只是一个唯一的字符串).

备注

如果你需要更强大的文件格式,Godot还支持加载以gettext .po 格式编写的翻译. 有关详细信息, 请参见 使用 gettext 进行本地化.

翻译格式

为了完成这幅图片并提供高效的翻译支持,Godot 有一个可以读取 CSV 文件的特殊导入器。所有电子表格编辑器(可以是 Libreoffice、Microsoft Office、Google Docs 等)都可以导出这种格式,因此唯一的要求是文件必须具有特殊的排列方式。这些 CSV 文件必须以 UTF-8 编码保存,并且不应含有字节顺序标记

CSV 文件必须使用以下格式:

keys

<lang1>

<lang2>

<langN>

KEY1

字符串

字符串

字符串

KEY2

字符串

字符串

字符串

KEYN

字符串

字符串

字符串

The "lang" tags must represent a language, which must be one of the valid locales supported by the engine, or they must start with an underscore (_), which means the related column is served as comment and won't be imported. The "KEY" tags must be unique and represent a string universally (they are usually in uppercase, to differentiate from other strings). These keys will be replaced at runtime by the matching translated string. Note that the case is important, "KEY1" and "Key1" will be different keys. The top-left cell is ignored and can be left empty or having any content. Here's an example:

keys

en

es

ja

GREET

Hello, friend!

Hola, amigo!

こんにちは

ASK

How are you?

Cómo está?

元気ですか

BYE

Goodbye

Adiós

</