国际化游戏¶
介绍¶
我是一位杰出的哈布拉爵士(如果世界上只讲一种语言,那就太好了)。不幸的是,对于我们的开发人员来说,情况并非如此。虽然独立或利基游戏通常不需要本地化,但面向更大市场的游戏通常需要本地化。Godot提供了许多工具使这个过程更简单,因此本教程更像是一个技巧和技巧的集合。
本地化通常是由为工作雇佣的特定工作室完成的,尽管有大量的软件和文件格式可供使用,但迄今为止最常见的本地化方法仍然是使用电子表格。创建和导入电子表格的过程已经包含在 导入翻译 教程,所以这一个看起来更像是对那一个的后续。
注解
我们将以官方演示为例;您可以 download it from the Asset Library .
将键转换为文本¶
一些控件,例如 Button 和 Label ,将在其文本与翻译键匹配时自动获取翻译。例如,如果标签的文本是“主屏幕问候语1”,并且当前翻译中存在该键,则文本将自动翻译。
在代码中, Object.tr() 可以使用函数。这将在翻译中查找文本,如果找到以下内容,则将其转换:
level.set_text(tr("LEVEL_5_NAME"))
status.set_text(tr("GAME_STATUS_" + str(status_index)))
使控件可调整大小¶
不同语言的同一文本在长度上可能有很大的差异。为此,请务必阅读 尺寸和锚 ,因为动态调整控件大小可能会有所帮助。 Container 可以使用,以及中可用的文本换行选项 Label .
TranslationServer¶
Godot有一个服务器处理低级翻译管理,称为 TranslationServer . 翻译可以在运行时添加或删除;当前语言也可以在运行时更改。
翻译项目名称¶
当导出到不同的操作系统和平台时,项目名称将成为应用程序名称。若要以多种语言指定项目名称,请创建新设置 application/name
在 项目设置 并将区域设置标识符附加到它。例如,对于西班牙语来说,这是 application/name_es
:
如果您不确定要使用的语言代码,请参阅 list of locale codes .