游戏翻译指南

Reddit上,我看到了许多游戏作品,其中创作者们付出了大量的努力,但大多数的游戏都存在一个问题:缺乏对其他语言的翻译,或者设计不考虑多语言的翻译问题。我们都知道,将我们的游戏翻译成其他语言会帮助我们扩大受众并建立更大的粉丝群。因此,我结合了多个插件、提示和程序,打算介绍自动翻译工具,以便您可以通过项目来实现自动翻译并轻松地支持多种语言,并让社区轻松地翻译游戏。

通用帮助

在本部分,我将提供一些通用的建议来帮助翻译游戏。

· 分离代码和文本

这意味着不要以下种方式做

text = "You died"

而是应该通过以下方式做:

text = GetText("GAME_OVER")

并且,在一个单独的文件 (.json) 中把文本写在下面:

"GAME_OVER": "You died"

这种做法对社区有帮助,因为当我们在翻译游戏的时候,我们可以打开.json文件并直接工作。

· 避免在图像中包含文本

因为这样会导致需要为每种语言重新设计图像;而使用空图像并在上面叠加文本或者让用户可以查看图像的转录以便翻译是更好的选择。

· 支持UTF-8和字体

即使您不使用它们,游戏的文本字体应该可以支持不包含在您语言中的字符(比如字母“ñ”),以便避免翻译时的困扰。同样,不提供支持中文、俄语、阿拉伯语等语言的字体或者支持这些语言的字体会使翻译变得不可能。

· 文件格式和结构

为了方便翻译,保存文本文件格式以及保存结构如下:

.json文件

.PO文件

.CSV文件

.YAML文件

并保存在一个易于理解的结构中,如:

/Localization/es.json

· 添加支持文本扩张

有些语言比其他语言更长,所以好好提供扩张对话框或者使他们比您自己语言所需的更加大。

通用程序

这些程序虽然不专门针对特定的引擎,但可以通过插件集成在引擎中或者与引擎的文件格式兼容。

· Game-Localizer.ai : 这个是使用人工智能平台来自动翻译文本文件 (.PO, .JSON, .XML, 等)。它可以检测变量,比如 {player_name} 或者 {tag},并在翻译的时候对变量保持不变。然而,它并不支持所有语言,并且需要一月一次付款。

· Granslate : 这是一个 SDK,宣称与 Godot、Unity、Unreal Engine、Game Maker 集成。它提供了自动翻译和即时在游戏中的文本,但是 SDK 正在开发中,这些功能只是承诺而已。

· Lingo.dev CLI : 这是一个开源工具,可以上传文本文件并自动翻译它们使用不同的人工智能。在全面性和效果上,虽然很好,但是免费选项限制,在小项目上会得到好效果,但是在大项目上会遇到限制。

· LoveLocalize : 这个工具可以使用人工智能翻译文件,并允许多个用户编辑同一文件,并让您可以使用 API 集成其他人工智能,并让您可以创建翻译库。然而,它需要一月一次付款,并且不会在付款前启用所有功能。

· GameStringer : 这是为桌面的开源程序,可以不仅仅是翻译文本文件,还可以检测游戏文本并提供即时翻译,并支持多种引擎和文件类型,并且支持多种人工智能翻译。

接下来,我将讨论插件和引擎的特定程序。

UNITY

Localization Package : Unity 并不支持原生多语言功能;您需要下载这个包来支持多语言。您可以在 “Package Manager” 中找到这个包或者直接从 这里 下载。

VeluTranslate : 它是一个实时翻译和localized管理服务,可以:

o  实时局化:您可以从网页界面更改和更新文本,而这些改变马上会传播到游戏或应用,不需要重新编译也不需要通过商店检视。

o  自动语言识别和生成:如果玩家使用您的游戏中的一个没有支持的语言时,VeluTranslate就可以自动识别并生成翻译(或者需要您手动同意)。

o  合作管理:可以让您管理项目、分配不同成员的权限以及一起工作。

o  数据导出:如果您不想用云服务,可以导出您的翻译文件来内部管理。

需要说明,这个一些功能需要花费一份付款。

Localify : 这是一个文本管理器,可以让您很方便地读取和编辑您的游戏的基文本和各种翻译。您可以看出哪些翻译不完整、各个翻译到何种程度,都可以使用自动翻译。需要注意的是,这个程序并不免费。

AutoTranslateForUnityLocalization : 这是一个免费的插件,可以使用Unity的局化包,检测文本并使用Google翻译API来翻译它。它经常被玩家所使用来便捷自动翻译(尽管质量非常疑问)当其他选项不可用的时候。如果您希望它正确工作,您需要使用String表进行文本呈现(如在局化包中提到)。

Crowdin : 它是一个翻译管理系统(偶尔称为 TMS)。它可以让您集中所有需要翻译的文本、协作翻译家、使用人工智能工具、以及自动化 workflow,直到游戏的最终版本。尽管它并非专门为 Unity 设计,但是通过这个 指南来进行集成。

GODOT

Basic tool: GODOT 已经具备选择多种语言的能力,我在通用提示中说过它使用按键表,写一个入口在你的游戏编码中然后将该入口替换成一个符号,后者是在按键表中存储文本的。这个是保存在 .CSV 格式的,然后 godot 将其转换为 .translation 格式。

Localization Editor: 这是一个小型插件,可以读取和编辑 .CSV 文件,并且提供一些有用的工具,如选中空白和实时翻译与 API 集成。

Unreal [ ] Engine

Native system: Unreal Engine 自己已经具备了局化系统,您可以使用,但是这可能稍微难以理解。还有一个实验性工具: *Localization Dashboard ,可以帮助您管理翻译。

Fast Localizer: 这个插件提供了一个比原生系统更简单的管理选项,可以让您不需要导出、导入文件就可以工作,同时可以使用 CSV 和 JSON 文件,并且可以连接翻译 API 来实现实时翻译。

Localization Translation: 这个插件可以让您快速通过 API 来完成多行文本的翻译,尽管它有一份月费上限需要支付。然而,这意味着如果您持续翻译,您必须付费。并且,它不替代原生系统,而是用它来辅助工作,需要依靠系统才能将插件文件转换为引擎可理解的文件。

**UE 4 Easy Localization Tool: 这是一个开放源代码的插件,可以让您直接使用 CSV 文件,并将它们导入 Unreal Engine 的局化系统,让您可以根据需要在列中工作,来便捷翻译和检查。

RPG Maker

**Multi-Language System Plugin: 这个插件可以让您的游戏支持多种语言,并且能相对简单地管理它们,将文本组合在可编辑的 .JSON 文件中,能让用户在菜单中轻松切换语言。

**RPG Maker MZ Plugin: Multi Language: 这是一个比较复杂的插件,可以让您编辑和翻译所有游戏的文本,但是它只有在您拥有另一个 插件 之后才能工作。这个系统虽然很有用,但是比原生支持会稍微需要花更多时间来掌握,并且会提供更好的翻译结果。

**Tosh Localization: 这个程序是专门为了翻译他人的游戏而准备的,可以将游戏中的文本抽出并可以在 .JSON 文件中编辑,重新导入到游戏中。请注意,这个程序支持 RPG Maker MZ 并需要支付费用。

**JAO RPG Multilanguage: 这是一个工具包可以很轻松地支持多种语言,并且可以追踪翻译和编辑不同的文本,并且可以让用户在游戏中轻松切换语言,但工具本身虽然免费但是支持 MV 的版本。

GameMaker Studio

局化系统:Game Maker 并不提供原生多语言功能,但提供了可以在 .JSON 和 .CSV 文件中操作的工具。

**cmnLoc for GameMaker: 这个翻译工具可以扫描游戏代码并自动生成翻译文件,并且可以在代码中用关键字替换文本然后在翻译文件中替换关键字显示所需的文本。需要说明这个是需要付费的。

**Easy Localization with JSON: 这个资产可以让您将局化操作使用 .JSON 文件轻松完成,并且支持非拉丁文的字母,并且需要您自行在自己的代码中编写。

**Polyglot: 这是一个脚本库,它让您可以在 JSON 文件中载入局化的文本,并且添加翻译选项。

**Multilingual Strings: 这个资产可以非常轻松地载入 CSV 文件,并且可以提供任何文本的翻译。需要说明这个是为了小型游戏且只翻译为常见语言适用,因为当游戏包含大量且复杂的文本或翻译为少见语言时,这个就不能很好地工作。

**GM-I18n: 这是一个完整的 internationalization 库,可以让您可以工作动态和静态的文本,强调复杂度以及管理声音等。

Ren'Py

RenPy 中的翻译:Translating Ren'Py Ren'Py 引擎既支持原生的局化系统,组织并保存文本在多个 .ryp 中,并支持自动翻译这些文本但是必须手动完成。

RenLocalizer: 这是一个轻松翻译引擎,RenPy 的开源应用工具。可以让您自动翻译整个游戏,并且检测游戏中的文本,并且只更改玩家看到的文本。它完全兼容多种 API,并且支持使用 Google 翻译或人工智能。

Renpy-translate: 这是一个脚本使用 Google Cloud API 执行 Ren'Py 文本自动翻译,尽管这是需要花费付款的。

Ren'Py 机器翻译: 这个脚本可以通过 AI 来自动翻译 Ren'Py 游戏,但需要您安装 Python 并使用 textblob 和 pycountry 库。

人工智能翻译的考虑

尽管程序、脚本和插件上面能够部分或全面地自动翻译游戏语言,但是务必要记住翻译质量会非常差。当然,每种翻译(即使质量很差的翻译)都比没有翻译要好,但您应该回忆的是专业翻译会提供最佳翻译质量。

翻译指南是希望能够在翻译游戏中提高翻译质地和让翻译方便,因此可以让更多的游戏可以轻松地支持多种语言而不用改变代码和结构。