導(dǎo)讀:手機(jī)游戲開(kāi)發(fā)者在向海外擴(kuò)張的過(guò)程中常會(huì)遇到巨大的障礙,我們將在本文討論開(kāi)發(fā)者在進(jìn)行游戲本地化時(shí)易犯的7種錯(cuò)誤做法以及對(duì)應(yīng)的解決方法。
mistakes-main
1.將文本硬碼到源代碼中
為了節(jié)省時(shí)間,有些游戲開(kāi)發(fā)者會(huì)將自己的游戲文本硬碼到源代碼中,例如:
/** Bad Example */
var language = getCurrentLanguage();
function attackEnemy(event) {
var message = document.getElementById(‘message’);
// Name of player and enemy decided by code logic
var player_name = ‘…’;
var enemy_name = ‘…’;
// To show a message on the screen
if (language === ‘english’) {
message.innerHTML = player_name + ‘ attacks ‘ + enemy_name + ‘.’;
} else if (language === ‘chinese’) {
message.innerHTML = player_name + ‘向’ + enemy_name + ‘作出攻擊。’;
}
// Continues with other logic
}
// Attack Enemy by clicking a button
var attackButton = document.getElementById(‘a(chǎn)ttack’);
attackButton.addEventListener(‘click’, attackEnemy);
在這個(gè)例子中,攻擊信息“玩家攻擊敵人”嵌入了源代碼邏輯中。這種硬碼文本是個(gè)捷徑,但與許多捷徑一樣,你過(guò)后總會(huì)為此付出代價(jià)。
所有文本都嵌入代碼中,你過(guò)后每次都得重新追蹤你想修改或更新的翻譯內(nèi)容。這會(huì)拖慢你的翻譯進(jìn)度并且成本更昂貴。
如何解決?
一定要遵從符合國(guó)際慣例的 字符串包裝技巧。此外,當(dāng)你從源代碼中提取文本時(shí),要全面考慮并將其放入資源文件夾(由關(guān)鍵/值匹配數(shù)據(jù)組成)。針對(duì)每種游戲語(yǔ)言保存資源文件夾。這樣更便于管理你的翻譯文本。
上述例子可以采用如下解決方法:
/** Good Example */
var locale = getCurrentLocale();
// Some predefined translations
var translations = {
‘en’: {
‘patrick’: ‘Patrick’,
‘slime’: ‘Slime’,
‘a(chǎn)ttack_message’: ‘{{ player }} attacks {{ enemy }}.’
},
‘zh-HK’: {
‘patrick’: ‘帕特里克’,
‘slime’: ‘史萊姆’,
‘a(chǎn)ttack_message’: ‘{{ player }}向{{ enemy }}作出攻擊!
}
};
function getTranslation(identifier, params) {
var string = translations[locale][identifier];
// handle parameters substitution
// …
return string;
}
function attackEnemy(event) {
var message = document.getElementById(‘message’);
var player_name = getTranslation(‘patrick’);
var enemy_name = getTranslation(‘slime’);
// To show a message on the screen
message.innerHTML = getTranslation(‘a(chǎn)ttack_message’, {
player: player_name,
enemy: enemy_name
});
// Continues with other logic
}
// Attack Enemy by clicking a button
var attackButton = document.getElementById(‘a(chǎn)ttack’);
attackButton.addEventListener(‘click’, attackEnemy);
2.未向翻譯人員提供足夠的情境信息
許多游戲開(kāi)發(fā)者并沒(méi)有認(rèn)真對(duì)待游戲的本地化處理,只是給翻譯人員發(fā)送一個(gè)含有大量文本的表格,卻沒(méi)有提供任何圖片或其他情境化信息。
情境對(duì)于翻譯質(zhì)量來(lái)說(shuō)很關(guān)鍵,如果翻譯人員不清楚該在某一情境下該如何用詞,就可能犯下嚴(yán)重的錯(cuò)誤。
例如,將《現(xiàn)代戰(zhàn)爭(zhēng)2》從英文翻譯成日語(yǔ)時(shí),翻譯人員偶然將“Remember, no Russians”譯成“他們是俄羅斯人,殺死他們”。如果了解更多情境,該日語(yǔ)翻譯人員就會(huì)清楚俄羅斯人并不是這個(gè)游戲環(huán)節(jié)的射擊目標(biāo)了。他們理解錯(cuò)了,所以翻譯有誤。日本游戲玩家也被誤導(dǎo),結(jié)果射擊目標(biāo)就錯(cuò)了。他們?yōu)榇藰O為不快。
解決方法
你的團(tuán)隊(duì)中必須有人負(fù)責(zé)本地化事項(xiàng),例如本地化項(xiàng)目經(jīng)理。這個(gè)職位的人員的職責(zé)就是響應(yīng)翻譯人員的問(wèn)題,并為之提供情境信息。(建議:如果你的團(tuán)隊(duì)很小,無(wú)法專門指派一個(gè)人監(jiān)管本地化事項(xiàng),那就讓文案人員來(lái)負(fù)責(zé)這個(gè)項(xiàng)目)。
如果你為翻譯人員提供了良好的情境信息,就更有可能獲得良好的翻譯內(nèi)容。這些信息要包括:
*翻譯術(shù)語(yǔ)表
*風(fēng)格引導(dǎo)
*實(shí)用的視覺(jué)內(nèi)容,如截圖
*關(guān)于對(duì)話字幕的細(xì)節(jié)
*游戲主角的附錄
3.聘請(qǐng)了錯(cuò)誤的游戲翻譯人員
游戲是一種獨(dú)特的內(nèi)容。不同游戲題材會(huì)帶來(lái)不同的翻譯挑戰(zhàn)。
研究型文本
許多游戲中含有俚語(yǔ),這包括游戲行話(例如《英雄聯(lián)盟》中的gank一詞)。有些游戲還含有專用術(shù)語(yǔ)——例如FIFA游戲中的體育術(shù)語(yǔ)。這就要求翻譯人員進(jìn)行大量的研究調(diào)查,我們將此稱為研究型文本。
創(chuàng)意型文本
而像《QuizUp》或《Candy Crush》等其他類型的游戲則引進(jìn)了大量新的游戲概念,這樣翻譯人員在一定程度上也成了內(nèi)容創(chuàng)造者。我們將此稱為創(chuàng)意型文本。
一般來(lái)說(shuō),常規(guī)的翻譯人員并不總能與任務(wù)對(duì)口。如果選擇了錯(cuò)誤的翻譯人員,你可能就會(huì)陷入一個(gè)漫長(zhǎng)而昂貴并且不快的游戲本地化經(jīng)歷中。
解決方法
你要找的翻譯人員最好就是當(dāng)?shù)厝瞬⑶沂腔钴S游戲玩家,理想情況下,最好是你這種游戲類型的玩家。
要先想想你游戲內(nèi)容的細(xì)節(jié),它屬于研究型還是創(chuàng)意型的內(nèi)容?然后再查看游戲翻譯人員的履歷?纯磳(duì)方之前翻譯過(guò)哪些游戲?對(duì)方玩什么類型的游戲?對(duì)方是否具有調(diào)查研究的經(jīng)驗(yàn)?還是富有創(chuàng)造內(nèi)容的經(jīng)驗(yàn)?
4.沒(méi)有在真正的設(shè)備上測(cè)試翻譯版本
有些開(kāi)發(fā)者并不會(huì)測(cè)試本地化版本的游戲——而這可能給游戲的UI和圖像造成影響。
問(wèn)題在于翻譯出來(lái)的字符串通常未必符合游戲畫面或UI元素。畢竟,翻譯會(huì)改變句子的長(zhǎng)度。例如,一個(gè)句子在翻譯成德語(yǔ)之后一般會(huì)變得更長(zhǎng)(所占空間比英語(yǔ)文本多50%),而翻譯成中文則會(huì)變得更短(中文的字符更緊湊)。
除此之外,翻譯完成后的翻譯,有些字符串也會(huì)因?yàn)橛泊a而丟失。
解決方法
在真正的設(shè)備上測(cè)試翻譯版本!有一個(gè)方法就是偽碼本地化測(cè)試,即替換應(yīng)用中的文本元素。一個(gè)更簡(jiǎn)單更有效的方法就是在設(shè)備上進(jìn)行本地化測(cè)試,這還有利于你觀察游戲本地化處理后的整體質(zhì)量,而不僅僅是發(fā)現(xiàn)故障。
你還可以將文本空間設(shè)置成自動(dòng)調(diào)整格式,這可以避免出現(xiàn)一些常見(jiàn)的UI錯(cuò)誤。
5.沒(méi)有注意文化上的差異
世界是多元化的,不同地區(qū)的玩家也有不同的游戲喜好。每個(gè)國(guó)家的發(fā)行和內(nèi)容規(guī)范也不盡相同。每個(gè)手機(jī)游戲市場(chǎng)都有其獨(dú)特的生態(tài)圈。
如果你沒(méi)有做好準(zhǔn)備,就可能被新市場(chǎng)的一些特點(diǎn)擋住去路(例如:中國(guó)的Google Play不支持IAP功能)。你的游戲內(nèi)容可能不適合特定的市場(chǎng),你可能要調(diào)整游戲內(nèi)容。例如,原版PC游戲《帝國(guó)時(shí)代》登陸韓國(guó)時(shí),它對(duì)日軍攻陷朝鮮半島的歷史描述激怒了該國(guó)政治決策者。最終《帝國(guó)時(shí)代》不得不創(chuàng)造了一個(gè)可下載補(bǔ)丁更改了該描述,以便安撫韓國(guó)官方的情緒。
解決方法
你一定不想因?yàn)槲幕町惗巧下闊。你可以向?dāng)?shù)氐挠螒蛐屑,即翻譯人員尋求幫助。讓他們幫忙審核一下你的游戲內(nèi)容有何不妥之處。
6.翻譯內(nèi)容管理不當(dāng)
游戲開(kāi)發(fā)者要處理大量不同類型的內(nèi)容:手工內(nèi)容,包裝或應(yīng)用商店描述,營(yíng)銷文件,游戲內(nèi)界面文本,以及對(duì)話字幕等。
—發(fā)者有時(shí)候會(huì)在管理不同格式和文件上犯錯(cuò)。因此不同內(nèi)容之間就可能產(chǎn)生一些錯(cuò)誤翻譯,這就可能降低效率和增加成本。
解決方法
確保對(duì)翻譯內(nèi)容進(jìn)行集中管理。理想情況下要使用翻譯管理系統(tǒng),這有助于你組織和管理翻譯內(nèi)容,并對(duì)其進(jìn)行調(diào)整。
7.最后才考慮本地化事項(xiàng)
許多游戲開(kāi)發(fā)者將本地化視為游戲開(kāi)發(fā)周期的最后環(huán)節(jié)。對(duì)于他們來(lái)說(shuō),這相當(dāng)于一個(gè)額外步驟,所以會(huì)推到最后。
但實(shí)際上,這種想法并不明智。這種做法會(huì)讓你錯(cuò)失海外市場(chǎng)機(jī)遇。你很可能在當(dāng)?shù)厥袌?chǎng)遭遇大量山寨產(chǎn)品,并因此無(wú)功而返。如果你決定之后再對(duì)游戲進(jìn)行本地化處理,這會(huì)導(dǎo)致你不得不重新編寫源代碼并創(chuàng)建翻譯材料。
解決方法
要一開(kāi)始就考慮本地化操作。在開(kāi)發(fā)早期階段就要包裝字符串,以便進(jìn)行本地化處理。如果不這樣操作,至少也要盡量調(diào)整編碼方式以令其符合國(guó)際化標(biāo)準(zhǔn)。
世界上多數(shù)游戲玩家來(lái)自海外,而這個(gè)市場(chǎng)只會(huì)不斷發(fā)展。所以要適時(shí)做好本地化的準(zhǔn)備,這樣才有可能征服世界。
相關(guān)閱讀:
《娛家》:不做手游非好漢 電競(jìng)也求上梁山http://www.sfw.cn/xinwen/467409.html
動(dòng)視暴雪15Q1財(cái)報(bào):手游收入8600萬(wàn)美元http://www.sfw.cn/xinwen/467412.html
手游公司哪家強(qiáng)? 福布斯:Supercell第一King面臨困局http://www.sfw.cn/xinwen/467411.html
投稿郵箱:chuanbeiol@163.com 詳情請(qǐng)?jiān)L問(wèn)川北在線:http://m.fishbao.com.cn/