Alconost CEO談手游本地化需要注意的10條規(guī)則

來(lái)源:游戲邦
作者:Alexander Murauski 譯Willow Wu
時(shí)間:2021-01-15
2776
在剛開(kāi)始做游戲時(shí),很多人都會(huì)采取最省錢(qián)最省時(shí)間的方法。如果你不打算循序漸進(jìn)地增長(zhǎng),這甚至還算得上是一個(gè)高效的策略。然而,期待已久的本地化版本一切就緒之后,大多數(shù)游戲開(kāi)發(fā)商才開(kāi)始思考如何才能吸引更多海外玩家。自己的游戲在更多國(guó)家發(fā)行后,或早或晚他們就會(huì)提出幾個(gè)與本地化相關(guān)的點(diǎn)子。

pexels-khwanchai-phanthong-4174745.jpg

原作者:Alexander Murauski 譯者:Willow Wu

本文作者是Alconost的CEO。Alconost是一家為應(yīng)用、游戲、以及其它軟件提供本地化服務(wù)的公司,業(yè)務(wù)涉及70多種語(yǔ)言。Alconost還為Google Play和App Store制作廣告、教育視頻,還有圖片、解說(shuō)詞和預(yù)告片等等。

我們能夠?qū)懗鲞@篇文章,得益于我們客戶(hù)提出的不計(jì)其數(shù)的問(wèn)題——我的游戲哪里有問(wèn)題?本地化做到這種程度還不夠嗎?應(yīng)該如何解決呢?

在剛開(kāi)始做游戲時(shí),很多人都會(huì)采取最省錢(qián)最省時(shí)間的方法。如果你不打算循序漸進(jìn)地增長(zhǎng),這甚至還算得上是一個(gè)高效的策略。

然而,期待已久的本地化版本一切就緒之后,大多數(shù)游戲開(kāi)發(fā)商才開(kāi)始思考如何才能吸引更多海外玩家。自己的游戲在更多國(guó)家發(fā)行后,或早或晚他們就會(huì)提出幾個(gè)與本地化相關(guān)的點(diǎn)子。

首先我們要明確——本地化的意思是將用戶(hù)界面翻譯成目標(biāo)語(yǔ)言,并根據(jù)文化、宗教和政治因素進(jìn)行調(diào)整,從而迎合某個(gè)國(guó)家或地區(qū)的市場(chǎng)需求。

要強(qiáng)調(diào)的是,本地化是為了“解釋”,而不是“改變”。

舉個(gè)例子,某游戲中包含了一個(gè)關(guān)于英語(yǔ)民間故事角色的笑話(huà),翻譯成德語(yǔ)時(shí),本地化的處理方法應(yīng)該是用在一個(gè)在德國(guó)廣為人知的笑話(huà)來(lái)代替。但是,如果用戶(hù)界面中沒(méi)有足夠的空間來(lái)容納文字量較大的德文文本,有時(shí)就需額外花費(fèi)更多精力。

另一個(gè)體現(xiàn)本地化涉及之廣的例子是數(shù)字的翻譯。比如說(shuō),在美式英語(yǔ)中,有些時(shí)候就要求用單詞來(lái)表達(dá)數(shù)字,不能用阿拉伯?dāng)?shù)字。其他地區(qū)的本地化可能需要注意數(shù)詞與名詞的復(fù)數(shù)單數(shù)形式保持一致。例如在俄語(yǔ)中,單復(fù)數(shù)還存在一些特殊情況,而日語(yǔ)和漢語(yǔ)中則沒(méi)有復(fù)數(shù)形式。但是,如果數(shù)字和文字是以硬編碼的形式存在于游戲的靜態(tài)圖像中,僅僅翻譯是不夠的。

這兩種情況還只是冰山一角——在本地化過(guò)程中,你還會(huì)遇到各種各樣跟本地化無(wú)關(guān)的問(wèn)題。有些人稱(chēng)之為偽本地化或者國(guó)際化錯(cuò)誤——指的是一些本可以預(yù)測(cè)和避免,但需要開(kāi)發(fā)人員花費(fèi)很多精力才能解決的問(wèn)題。

這就是為什么Alconost公司為開(kāi)發(fā)人員羅列出了一份規(guī)則,讓他們?cè)陧?xiàng)目啟動(dòng)時(shí)就按照這些建議走,以便在開(kāi)發(fā)過(guò)程中可以輕松一些,為本地化早早打好基礎(chǔ)。

1.提前選擇本地化語(yǔ)言

我們之前寫(xiě)過(guò)一篇關(guān)于APP本地化工作流程的文章,行動(dòng)清單的第一項(xiàng)就是“評(píng)估你的潛能”,我們現(xiàn)在也要做這件事。

你可能會(huì)反對(duì)說(shuō),在一款游戲真正上線(xiàn)之前,你不可能預(yù)見(jiàn)到所有潛在的市場(chǎng)。嗯,這在一定程度上是正確的:你得先用非本地化版本做個(gè)測(cè)試,看看用戶(hù)的反響,然后你再進(jìn)行本地化。但是,你并不用每次都按這個(gè)步驟來(lái)。

首先,你的游戲可能包含了太多文化和地域方面的禁忌,如果沒(méi)有本地化,即使游戲敘事一流,你的游戲也會(huì)被拒之門(mén)外。

所以在游戲制作開(kāi)始之前,預(yù)測(cè)潛在市場(chǎng)的最好辦法是什么?

·分析競(jìng)品的本地化。一般來(lái)說(shuō),如果競(jìng)爭(zhēng)對(duì)手的游戲在某一市場(chǎng)上找到了肥沃的土壤,那么你也有很大的機(jī)會(huì)那里獲得成功。

·從游戲類(lèi)型角度出發(fā),評(píng)估一下本地化的效果。例如,如果你是一個(gè)獨(dú)立開(kāi)發(fā)者,正在考慮發(fā)行一款復(fù)古風(fēng)格的roguelike游戲,你可以通過(guò)觀(guān)察成功的同類(lèi)游戲來(lái)確定哪些市場(chǎng)是比較有前景的——比如說(shuō)《地痞街區(qū)》,已經(jīng)被本地化成七種語(yǔ)言,外加英語(yǔ)。另外一種辦法就是從地域角度去分析。比如說(shuō)電子游戲是日本文化中不可分割的一部分,那么開(kāi)發(fā)初期你可能就要把日本列為目標(biāo)市場(chǎng)了。

·研究本地化需求最強(qiáng)烈的那門(mén)語(yǔ)言。說(shuō)到這里,你可能想看看我們之前在 “Best Languages for Game Localization”(https://medium.com/@Alconost/best-languages-for-game-translation-836c467db417)一文中的研究報(bào)告。

我們的“0號(hào)規(guī)則”是盡可能地將英語(yǔ)作為游戲的源語(yǔ)言。我們建議在開(kāi)發(fā)的第一天起,就要考慮兩個(gè)本地化方向。這兩個(gè)“默認(rèn)”方向就是英語(yǔ)和你的母語(yǔ)(如果不是英語(yǔ)的話(huà))。這種方法有幾個(gè)無(wú)可爭(zhēng)辯的好處:第一,以后可以將英文作為源語(yǔ)言翻譯,這有助于確保游戲的一致性。第二,一開(kāi)始就準(zhǔn)備兩種語(yǔ)言,這會(huì)讓你提前認(rèn)識(shí)到本地化前期工作中的所有陷阱。到時(shí)游戲擴(kuò)展到20種語(yǔ)言,你就會(huì)熟練很多了。

2.為目標(biāo)語(yǔ)言調(diào)整界面

在設(shè)計(jì)界面元素時(shí),人們一般會(huì)為其它語(yǔ)言文本留出30%的空間(甚至更多,如果能夠做到的話(huà))。這對(duì)短字符串尤其有用(菜單選項(xiàng)、UI等)。

但是,我們還有更好的方法。如果你已經(jīng)考慮到了規(guī)則1,并且有了一個(gè)初步的目標(biāo)語(yǔ)言列表,那么我告訴你一個(gè)很有幫助的方法:為最棘手的語(yǔ)言設(shè)計(jì)界面。

就比如說(shuō),德語(yǔ)的文字量一般都會(huì)比英語(yǔ)多平均30%,俄語(yǔ)是10%。阿拉伯語(yǔ)也是這種情況。另一方面,繁體中文所占用的空間一般比英文少30%。

再說(shuō)到字節(jié),一個(gè)拉丁文字母等于一個(gè)字節(jié),但西里爾文和阿拉伯文是兩個(gè),你在規(guī)劃數(shù)據(jù)存儲(chǔ)時(shí)也需要考慮到這一點(diǎn)。

3.不要把字符串直接嵌入到代碼中

轉(zhuǎn)換文本進(jìn)行本地化,會(huì)導(dǎo)致這些硬編碼字符串丟失。記住這條本地化規(guī)則:每一個(gè)可本地化的字符串都應(yīng)該是可編輯的,不要觸及任何代碼。

實(shí)際上,為了本地化而做的這些工程都可以被歸結(jié)為“國(guó)際化”,簡(jiǎn)稱(chēng)“i18n”——指讓產(chǎn)品無(wú)需做大的改變就能夠適應(yīng)不同的語(yǔ)言和地區(qū)的需要。從程序角度來(lái)說(shuō),就是在不修改內(nèi)部代碼的情況下,能根據(jù)不同語(yǔ)言及地區(qū)顯示相應(yīng)的界面。

另一個(gè)重要的技巧是避免用簡(jiǎn)單的單詞組成字段。某位谷歌程序員給我們提供了這樣一個(gè)典型例子:

String currency = Locale::getCurrencyString() + money.toString(); // creates $123

這就體現(xiàn)出了一個(gè)問(wèn)題——其他語(yǔ)言可能會(huì)把幣種符號(hào)放在數(shù)字后面。

你可以使用需要本地化的格式化字符串。就比如說(shuō):

String format = Locale::get(“currency format”); // returns “${0}” in English String currency = String::Format(format, money.toString());

后一種方法允許本地化人員在實(shí)際格式化字符串中重新排列單詞。

4.記住,時(shí)間、日期、計(jì)量單位和數(shù)字也需要本地化

作為上一條規(guī)則的延伸,我們想明確指出,數(shù)字方面的信息也需要從代碼中提取出來(lái)進(jìn)行本地化,因此也不能硬編碼。

你還需要準(zhǔn)備好重新設(shè)計(jì)界面上的數(shù)字。比如說(shuō)游戲時(shí)間線(xiàn)上的計(jì)時(shí),應(yīng)該也是需要本土化的。原因是,西方國(guó)家大多是單向性時(shí)間模式,也就是說(shuō),他們習(xí)慣于用一條延伸的線(xiàn)來(lái)表示時(shí)間的流動(dòng),而亞洲國(guó)家則喜歡多樣性時(shí)間模式,用圓圈來(lái)表示。

更不用說(shuō)不同語(yǔ)言的日期格式、計(jì)量單位各不相同了。

所以我們的建議是,在本地化的時(shí)候要做好準(zhǔn)備,考慮好每一個(gè)細(xì)節(jié)。

5.使用占位符和格式化控件,并使其易于訪(fǎng)問(wèn)

涉及到本地化和文本編輯時(shí),使用占位符有時(shí)也是一個(gè)很好的選擇。但如果不提供占位符的訪(fǎng)問(wèn)權(quán)限,那么它可能成為一把雙刃劍。

這個(gè)問(wèn)題牽涉到不同語(yǔ)種中的不同語(yǔ)序。所以我們的建議是:讓你的占位符成為短語(yǔ)的一部分,這樣就可以在上下文中插入。舉個(gè)小例子來(lái)對(duì)比一下:

反面例子:“Mommy ate ” + %num + ” apples.”

正面例子:“Mommy ate %num apples.”

對(duì)占位符的簡(jiǎn)短描述也會(huì)有很大幫助。這樣一來(lái),當(dāng)占位符被認(rèn)為是與前面的文字有錯(cuò)誤的關(guān)聯(lián)或不相關(guān)的時(shí)候,就可以避免疑惑。

6.避免往圖片里加文字

如果你的游戲中有圖片,記得也要本地化,尤其是那種帶有文字的。這就意味著你要從頭設(shè)計(jì)圖片。

重新設(shè)計(jì)圖片和創(chuàng)意資源有時(shí)是個(gè)好主意,這樣你就可以根據(jù)目標(biāo)市場(chǎng)的需求對(duì)元素做出調(diào)整。然而,如果你只是單純替換翻譯文本,那就完全是浪費(fèi)時(shí)間了。

7.使用正確的編碼和字體

如果你需要某些跟你字符串類(lèi)不同的特殊字符, 比如“spéc??l ”這樣的,編碼問(wèn)題是不可避免的。如果你的目標(biāo)語(yǔ)言在本地化后出現(xiàn)了編碼不匹配的情況,可能需要花費(fèi)大量的時(shí)間和精力來(lái)刪除這些可怕的字符, 比如???這樣的。

字體方面也會(huì)出現(xiàn)同樣的問(wèn)題。特別是某些花哨的游戲字體只涵蓋了某些語(yǔ)言的字形。結(jié)果就是,你可能得為不同的語(yǔ)言挑選不同的字體。在選擇字體時(shí)請(qǐng)注意這一點(diǎn),否則游戲中可能會(huì)出現(xiàn)一堆方框(□□□)而不是文字。

我們建議還是盡可能地使用Unicode而不是ASCII。UTF-8是最常用的,而且是空間利用率最高的編碼。所以,請(qǐng)確保你的輸入文件沒(méi)有出現(xiàn)編碼錯(cuò)誤。

關(guān)于這一點(diǎn),我們就先講到這里了。詳細(xì)的編碼教程,你可以看看“Where Do Mojibakes Come From? A Smart Guide to Encodings”這篇文章(https://medium.com/swlh/where-do-mojibakes-come-from-a-smart-guide-to-encodings-fa96de357123)。

8.如果已經(jīng)為本地化做好準(zhǔn)備,你可以試試偽翻譯

當(dāng)你把上面所講的技術(shù)方面的事都搞定了,你可以試運(yùn)行看看。網(wǎng)絡(luò)上有很多很棒的偽本地化工具,可以將你的界面模仿成外語(yǔ)界面,包括調(diào)整文本長(zhǎng)度、檢查編碼和硬編碼字符串。

這些工具基本上都會(huì)運(yùn)行一個(gè)模仿目標(biāo)語(yǔ)言的腳本,并生成一個(gè)測(cè)試版本,然后必須在常規(guī)流程中作為非本地化版本進(jìn)行QA測(cè)試。

這種提前測(cè)試并不是什么靈丹妙藥,但是的確很有幫助。而對(duì)于開(kāi)發(fā)者來(lái)說(shuō)也是一件很有趣的事。

9.早點(diǎn)制作術(shù)語(yǔ)表

術(shù)語(yǔ)表是游戲內(nèi)專(zhuān)有詞匯和概念的整合,在游戲中必須保持前后一致。這些詞匯主要包括物品、人物名稱(chēng)、器物和屬性狀態(tài)。

保持術(shù)語(yǔ)翻譯一致是非常重要的,試想一下,如果某個(gè)游戲內(nèi)的東西在一個(gè)地方被翻譯成 “藥水”(potion),在另一個(gè)地方被翻譯成 “靈藥”(elixir)——你在無(wú)意中為玩家制造了額外的邏輯難題。

10.準(zhǔn)備好提供上下文

確保本地化團(tuán)隊(duì)有充足的上下文信息可以參考,這一點(diǎn)的重要性不亞于制作術(shù)語(yǔ)表。從我們的經(jīng)驗(yàn)來(lái)看,譯員、本地化項(xiàng)目經(jīng)理和游戲開(kāi)發(fā)者之間的充分交流有助于語(yǔ)境的建立。

我們意識(shí)到要讓開(kāi)發(fā)團(tuán)隊(duì)做到24小時(shí)待機(jī)是很難的。然而在本地化階段,我們的建議是指定一個(gè)代表作為聯(lián)系人——錯(cuò)誤或模糊不清的語(yǔ)境確實(shí)會(huì)對(duì)本地化的最終結(jié)果產(chǎn)生很大影響。

除此之外,本地化工作流平臺(tái)主要是根據(jù)客戶(hù)的喜好來(lái)選擇的,這樣是為了最大程度地保證溝通的便利和高效。

充分的準(zhǔn)備工作最終會(huì)讓你看到好的結(jié)果。

我們希望這些簡(jiǎn)單的規(guī)則、建議能對(duì)你的游戲開(kāi)發(fā)有所幫助。祝你能夠取得輝煌成功,讓玩家們沉浸其中!

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
版權(quán)說(shuō)明:本文內(nèi)容來(lái)自于游戲邦,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀(guān)點(diǎn),不代表快出海對(duì)觀(guān)點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼關(guān)注
獲取更多出海資訊的相關(guān)信息
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪(fǎng)
投稿采訪(fǎng)
出海管家
出海管家