教學:製作附加包/在地化

From Minecraft基岩版开发Wiki
在地化
系列教學
所屬系列
難易度
初級
適用版本
國際版
實踐裝置
WindowsAndroid

引言[edit]

Minecraft 作為全世界銷量第一的遊戲,在世界範圍內有著廣大的玩家群體,這一定程度上得益於其對於世界各國語言的良好支援。而對於一個優秀的附加包作品來說,如果想要其傳播的更為廣泛,適配其他國家的語言也是一道必不可少的工序,我們通常將這個過程稱為「在地化」。

語言檔案[edit]

Mojang附加包提供了一種非常簡便的在地化方案,即透過語言檔案(Lang File)來適配。

我們接著來為我們之前建立的行為包加入內容,在前面的學習中,我們建立了一個沒有任何內容的簡單行為包並為其進行了基礎資訊的組態,現在我們以在清單檔案中實現在地化為例,對語言檔案的使用進行一個初步的介紹。

位置[edit]

語言檔案通常放在資源包的texts資料夾中,後綴為.lang 。語言檔案也可以放在行為包中,但它只可以變更包的名稱和描述。

格式[edit]

語言文字是以鍵值對的形式存在的,其中 = 前的內容為鍵名,對於鍵名,只有清單檔案中包名稱與包描述的在地化文字有著固定的鍵名,即pack.namepack.description,而其他在地化文字的鍵名則可以自行設定,當然相應的,應用時您也需要使用您自己設定的鍵名;= 後的內容為值,= 前後不能有空格,否則會導致語言檔案載入失敗。

可以用兩個井號( ## )加入行注釋或行內注釋,井號後面的所有文字都都將被忽略,直到下一行。

語言文字可以包含有序替代( %1%2 )或無序替代( %s )。原版翻譯文字中的替代將由遊戲填充,而玩家可以使用類似於/tellraw 的指令手動填充替換。

在地化[edit]

在地化包名[edit]

行為包資源包的根目錄下各自新建一個名為 texts 的資料夾,並在其中新建兩個檔案,名稱分別為: zh_CN.langen_US.lang ,它們將分別用於儲存簡體中文及美式英文的文字資料。

現在,該包的目錄如下所示:

  •  tutorial_pack
    •  manifest.json
    •  pack_icon.png
    •  texts
      •  zh_CN.lang
      •  en_US.lang

接著我們開啟這兩個語言檔案,並向其中分別寫入如下內容:

pack.description=附加包教程示例-本地化 
pack.name=附加包教程示例

pack.description=Addon Tutorial Example - Localization 
pack.name=Addon Tutorial Example

如上文所述,pack.namepack.description為鍵名,而附加包教程示例-本地化是鍵值,= 前後不能有空格

接著我們開啟清單檔案,對其進行如下修改:

"header"中的"description"的值修改為"pack.description"

"description": "pack.description",

"header""name"的值修改為"pack.name"

"name": "pack.name",

其餘部分保持不變。

為了使遊戲能夠在附加包不載入的情況下在附加包資訊介面顯示剛才對清單檔案在地化的內容,我們需要讓遊戲預讀取語言檔案。現在我們新建一個檔案,將其命名為languages.json,並在其中寫入剛剛加入的兩個語言檔案的語言代號:

[
  "en_US",
  "zh_CN"
]

現在進入遊戲,在附加包資訊介面您可看到該包的名字及描述發生了變化,切換語言至美式英語後即可看到您設定的美式英語文字。

在地化物品、方塊名[edit]

開啟資源包的texts資料夾,找到之前製作的zh_CN.langen_US.lang,它們將用來在地化物品、方塊名。

在兩個檔案中加入如下內容:

item.<物品赋命名空间标识符>=物品本地化名称
tile.<方块赋命名空间标识符>.name=方块本地化名称

item.<物品赋命名空间标识符>=物品本地化名称
tile.<方块赋命名空间标识符>.name=方块本地化名称

進入遊戲,自訂物品、方塊就有了在地化名稱。

你知道嗎[edit]

  • 在地化的應用領域極廣,包括但不僅限於自訂方塊物品的名稱及描述、UI 中的文字內容等等。事實上,您可以對附加包中對幾乎所有文字內容進行在地化適配,只需將相應文字內容替換為語言檔案中存在的鍵名即可。
  • 你可以透過 languages.jsonlanguage_names.json 檔案引入自訂語言。

< 執行、除錯與匯出 | 閃爍標語與載入訊息 >