2022年4月4日 星期一

殭屍毀滅工程 - 模組翻譯教學 Part.3 自己做語言文本(物品篇)

 前言 

PZ工作坊上面有不少模組作者其實並沒有設定語言文本,所以就算有玩家想翻譯他的模組也無法,因為對其他玩家來說,模組裡面沒有英文版就無法翻譯,問模組作者能不能開放翻譯問了老半天還不見得能得到答覆,如果模組作者一直都沒有回覆,最後就是束手無策了。

看到這種情況,我是不會罷休的。馬德,與其看模組作者的臉色,那乾脆我自己來吧!"求人不如求己" 就是用在這個情境上面。所以從這篇開始,就是分享我自己在目前為止所有摸索過後的成果,如果之後還有什麼發現,我會再補充上去。

要注意我會在文章裡面省略很多我之前在基礎知識講過的東西,所以你最好是已經先看過了那兩篇基礎知識,否則你可能會看不懂:基礎知識(上集)基礎知識(下集)

以下為本篇章節:
1. 我們開始吧
2. 找出一些東西
3. 可以開始翻了

 我們開始吧 

首先,你應該要先去PZ遊戲資料夾那邊拷貝一份我們正體中文資料夾裡面的 "ItemName_CH.txt"。拷貝一份出來之後,把裡面的項目刪到只剩一個,並且保留整個第一行以及最後一行,像這樣:
因為第一行和最後一行的那個}是語法的東西,所以要留下來,不能把它們刪掉。

接下來就要找出模組作者寫的物品資料了。此次教學我用Eggon's All Doors Are Yours來示範。這是一個可以直接把遊戲裡面的門直接拆下來然後裝在別的地方的模組。但是這個作者只有做沙盒設定的語言文本,除此之外全都沒有做。

沒意外的話,模組作者應該會把他自己新增的物品設定檔放在media/scripts裡面,而且會給檔名寫有包含 "Items" 這個字眼,所以你不可能找不到。


 找出一些東西 

以本次範例來看,物品設定檔打開來之後就是長這樣:

首先,第一行有一個東西就是我們要的,那就是 "module" 後面的那個。以本次範例來說,上圖的 "EADAY" 就是我要的東西。把它複製下來之後,切回我們剛才準備好的正體中文文本,把原本的 "Base" 替換成剛才複製下來的 "EADAY",像這樣:
我自己不是寫程式出生的,所以我無法正確說明這部分是什麼,但我可以確定如果沒有改這個,遊戲就不會把你的翻譯正確地導入物品名稱上面,你的翻譯會無法生效。

接下來,請切回模組的物品設定檔。以本次範例來說,模組作者設定了不只一項物品,我用虛線框把它們各別框起來給大家看一下:

這樣就可以看出來了吧?!所以每項物品的第一行就是那個 "item" 開頭的就對了。因此我們接下來要複製 "item" 後面的那個東西。以本次範例來說,就是 "CarpentryDoor1"。把它複製下來之後,切回我們剛才準備好的正體中文文本,把原本的 "223Box" 替換成剛才複製下來的 "CarpentryDoor1",像這樣:
這是一個物品的ID。要有這個ID,遊戲才會知道你翻的東西要套用在哪一個東西上面。



 可以開始翻了 

接下來你就可以翻譯這項物品了.... ... ... 什麼?!你說只有這樣根本不知道要怎麼翻譯?你這樣說也是沒錯啦,只靠著物品ID可能會看不出來那是什麼鬼東西,所以我這裡提供兩個可以參考的部分:
1. 模組作者自己設定的物品英文名稱
你不需要開啟除錯模式進去遊戲裡面看,文本裡面就有寫了,其實就是 "DisplayName" 那一行,以本次範例來說,就是那個 "Self made door (poor)" 了。
這就是為什麼模組裡面可以不需要英文語言檔,因為模組作者在寫設定的時候就已經包含在裡面了,而 "DisplayName" 就是設定該物品在遊戲裡面顯示的名稱(因此此換句話說,你懂了這個之後,你就已經知道怎麼製做英文版的物品文本了)。

2. 去看物品的縮圖
模組作者應該都會把物品的縮圖全部放在media/textures這個地方,這樣也可以幫助你了解那是什麼東西。以本次範例來說,資料夾打開來長這樣:

模組作者給這些物品縮圖取的檔案名稱一定都是 "Item_" 加上 "設定的縮圖名稱"。這是規定的格式,所以所有的模組作者都是這樣給物品縮圖取名字的。那麼 "設定的縮圖名稱" 在哪裡?就在設定檔裡面的那個 "Icon" 後面寫的那一串。因此以本次範例來說,textures資料夾裡面的Item_CarpnetryDoorl就是對應的物品縮圖。

這樣就應該知道怎麼翻了,恭喜你翻好了一個物品名稱!接下來如果作者做了不只一個物品,那你就繼續翻下去。以我自己的習慣來說,我會複製一個我剛剛翻好的那一行,然後把物品ID和翻譯內容刪掉,並且繼續複製很多行備用,像這樣:
接下來就只要重複我們翻第一個物品那樣,把物品ID複製過來,然後翻譯就可以了。翻到一半如果還不夠,那就繼續複製;翻完之後還有剩的話,那就再去把多的備用刪掉吧。



 可能的例外狀況 

但如果你發現你要翻的模組在文檔裡面的第一行後面寫的是跟遊戲裡預設的一樣,是 "Base",並不是模組作者自己自訂的名稱,那我認為有三種可能:
1. 這個模組作者的習慣很差
2. 模組作者沒有考量到(或者根本不想)讓別人翻譯他的模組
像這樣,這個範例是Bleach and Dye Clothing (build 41.60+),他還把物品和配方寫在同一個檔案裡面:

這個影響就是除了模組的東西會跟遊戲原版的物品混在一起之外,我甚至還沒找到怎麼直接在這種情況下翻譯。但如果你真的很喜歡這個模組,也還是有辦法的,那就是改一下它的開頭。例如開頭長這樣:
module Base
{

然後你就把它改成這樣:
module 這裡取個名字
{
    imports
    {
        Base

    }

以本次範例來說,我給它取 "DyeClothing",像這樣:

然後翻譯文本那邊就可以套用你剛才設定好的名稱,這樣就可以正常在遊戲裡面顯示你的翻譯成果了,像這樣:


這樣你就完全學會如何自己做物品文本了。怕你消化不良,所以這篇就先這樣吧。如果配方翻譯也已經難不倒你了,那就來看這兩篇吧:

沒有留言 :

張貼留言

矮控的FB粉專已經被駭客搶走,有事可以改去巴哈私信給我(帳號名稱是eva08maicy02)。

關於我自己

我的相片
阿就是不想看到伸手文,所以才把遊戲攻略寫在這~(挖鼻孔)