开发人员本地化规则



首先,我们会做,但是然后思考-反之亦然?  Alconost会  告诉您在游戏开发阶段要考虑哪些本地化功能。

我们写这篇文章是为了回答开发人员反复提出的问题:“我的游戏出了什么问题?为什么翻译不够?如何解决?”

开始开发游戏时,许多人试图节省所有资源-如果您不打算随着时间的推移发展自己的想法,这甚至很有效。

但是大多数开发者在将游戏投放到本地市场后不久就开始考虑如何吸引其他国家的游戏玩家。并且需要本地化。

首先,让我们处理术语。本地化游戏-使其适应所选语言环境(语言标准,国家或地区),将界面翻译成目标语言并修正文化,宗教和政治因素的方法。

Alconost撰写的文章

这里应该强调的是,本地化意味着接口的适当翻译,而不是其元素的改变。

例如,如果在翻译成德语的游戏中有一个关于来自英国民间传说的人物的笑话,那么当本地化时,这个笑话将被在德国会被理解的笑话所代替。但是,如果德语文本不适合界面,则此问题的解决方案将超出本地化范围。

本地化的另一个示例是带数字的文本翻译。在某些语言标准中,例如en-US(美国英语),数字有时需要用单词而不是数字来书写。用其他语言,数字必须对应于某些形式的单数和复数名词。例如,俄语是一个不错的选择,比一个选项多得多。在日文和中文中,根本没有复数形式。好吧,如果将游戏中的数字和文本固定为静态图像,则仅翻译文本是不够的。

这两个带有幽默感和数字的例子只是冰山一角:在翻译过程中可能还会出现许多其他非本地化问题。它们有时被称为伪本地化或国际化错误。

通常,本地化之前的技术任务与国际化有关(简称为“ i18n”)。通常,这些是可以避免的技术问题,而纠正这些问题可能需要开发人员做出努力。

为了预测此类错误,我们在Alconost决定创建规则列表。如果您从开发的一开始就遵循它们,那么您将安静地进行而无需进行任何不必要的准备,就可以将游戏本地化。

1.预先选择本地化语言


可以说在实际启动游戏之前不可能预见所有可能的翻译语言。这在一定程度上是正确的:首先,您在非本地化版本上测试您的受众群体,然后通过本地化扩大覆盖范围。但是这个规则并不普遍。

首先,游戏中存在许多文化和地区禁忌,以至于如果没有本地化,无论游戏多么令人兴奋,都不可能吸引这样一个地区的观众。

问题出现了:在开始游戏之前如何最好地选择有前途的语言?

  • 分析竞争对手的本地化项目。通常,如果某个竞争性游戏在特定市场中很流行,则本地化产品获得成功的机会更大。
  • . , - -, , , , Streets of Rogue, , . . , . -, .
  • , . , « ».

无论如何,请记住规则编号0:英语应尽可能是来源。

但是,我们建议从第一天开始就着手开发至少两种语言的游戏。这两种语言最有可能是``默认''语言-英语和俄语。在这种情况下,您将拥有多个优势。首先,可以将游戏以一致和统一的方式从英语翻译成其他语言。其次,从第一天开始就在游戏中实现双语,您将自动发现准备本地化的陷阱。过渡到20种语言版本也不会那么困难。

2.为可能的语言准备接口


我们通常建议创建“边距很小”的界面元素,以使它们的大小至少比源文本所需的大小大30%。对于短行(例如菜单项)尤其如此。

但是我们还有另一个更好的想法。如果您从第1条规则开始并且已经编译了语言列表,请为最复杂(本地化最多)的语言标准开发接口。

为了理解,德语文本平均比英语文本(俄语和阿拉伯语)长30%-大约长10%。但是,繁体中文文字的字符空间比英文文本少30%。

3.不要在代码中嵌入文本字符串


无法从代码检索的行无法本地化。请记住,本地化的字符串应在不编辑代码的情况下进行编辑。

另一个重要提示:尽量不要由单个单词或片段组成文本。Google开发人员StackExchange平台上分享了此类错误的一个很好的例子

字符串currency = Locale :: getCurrencyString()+ money.toString(); //给出“ $ 123”

在此示例中,我们得到的字符串形式为“ $ 123”,尽管在某些其他语言中,货币符号应位于数字之后。

因此,最好使用可以本地化的格式字符串。例如:

字符串格式=语言环境:: get(“货币格式”); //以英文返回“ $ {0}”

字符串货币=字符串::格式(format,money.toString());

后一种选项使翻译人员可以重新排列字符串中的单词。

4.请记住,时间,日期,单位和数字也必须本地化。


有必要在前面的规则中添加数字信息也必须可用于翻译的信息-不能将其保留在代码中。

准备更改界面中数字的格式:例如,计算游戏时间的时钟很可能也必须进行本地化。这里的要点是,西方国家的文化基本上是单时的,也就是说,那里的人们以时间为时间轴,而在亚洲国家则以圆圈为中心。

更不用说日期和度量单位的格式在不同语言中不同的事实。

因此,在本地化之前,建议您准备并考虑这些细微差别。

5.使用变量和格式设置工具并对其进行访问


在本地化和编辑文本时,有时使用变量似乎是硬编码的一种不错的选择。但是,如果您没有赋予翻译人员酌情使用变量的机会,则可能会不利于您。

问题是不同语言中单词和短语的顺序不同。因此,我们的建议是使变量成为短语的一部分,以便可以在正确的上下文中插入变量。这是一个正确与否的小例子:

错误:“妈妈吃了” +%num +“苹果”。
正确:“妈妈吃了%的苹果。”

简要描述变量将很有用:这将避免变量与先前的文本片段混淆和错误相关(或不相关)。

6.请勿将文字缝入图像


如果您在游戏中有图像,则准备将它们本地化,尤其是当它们包含大量文本时,这意味着从头开始重做图形。

编辑图形资源通常不是多余的,因此它们的颜色和符号与所选区域的标准相对应。但是,如果要重做图像以插入翻译后的文本,则会浪费时间和精力。

7.使用正确的字体和编码


如果您使用不适合字符串类的“特殊”字符,则会出现编码问题。而且,如果本地化后目标产品的编码有误,则消除字符似乎会花费大量时间和精力。

字体也一样。某些游戏字体没有所有语言的字形。因此,对于某些语言版本,您将不得不选择其他字体。不要忘了它,否则您可能会冒一堆字符,例如□□□而不是字幕文本。

我们建议使用Unicode而不是ASCII:UTF-8是最常见和最佳的编码。

通常,请注意源文件的编码。在这里,我们将不做详细介绍-有关此主题的综合指南,请参见我们的关于“ krakozyabry”狩猎的英文文章

8.准备本地化了吗?尝试伪翻译


因此,需要考虑技术上的细微差别。现在是测试本地化的时候了。互联网上有许多很棒的伪本地化工具可以模仿外语界面,包括更改文本的长度,检查编码以及查找硬编码的字符串。

本质上,您运行一个脚本来模拟目标语言并生成一个构建,然后在测试过程中将其检查为原始的非本地化构建。

这样的初步测试不是万能药,但它会有所帮助。而且,用“ abracadabra”(而不是文本)测试新界面也可能很有趣。

9.开始提前编译词汇表。


词汇表是游戏中术语和概念的集合,必须以相同的方式进行翻译。这些主要是对象,状态名称,状态,工件和字符名称。

使用词汇表在游戏中保持一致的条款很重要。想象一下,一个物品在一个地方被翻译成“药水”,而在另一地方被翻译成“ elixir”,而玩家突然间陷入了无法解决的逻辑难题。

10.准备给予背景


在翻译过程中,给本地化团队提供背景很重要。从我们在Alconost的经验来看,翻译,本地化经理和开发人员之间建立良好的沟通有助于确定这种情况。

我们知道,所有开发人员都不可能(也不是必须)全天候保持联系。因此,我们建议您选择通过翻译管理平台与翻译人员实时沟通的联系人

通常,此类平台由客户选择。因此,与本地化团队的虚拟通信既方便又高效。好吧,这是有道理的,因为用头脑完成的工作一定会有所回报。

希望我们的技巧对您有所帮助。祝你好运,更满意的球员!好吧,如果您需要本地化或建议方面的帮助,请给Alconost写信给我们

关于作者

Alconost 以70种语言本地化游戏应用程序和网站本地翻译器,语言测试,带API的云平台,连续本地化,24/7项目经理,任何格式的字符串资源。

我们还制作广告和教育视频 -用于销售,图像,广告,教育,预告片,专家,Google Play和App Store的预告片的网站。

→  了解更多

All Articles