【Unity 插件推薦】Localization 在地化語言大師,一鍵切換多國語言超簡單!

目錄
【Unity 插件推薦】Localization 在地化語言大師,一鍵切換多國語言超簡單!

 

前言

 

今天要推薦的是 Unity Localization 插件,一款專為遊戲開發的【多語言管理】與【在地化】需求設計的強大工具,能夠幫助開發者輕鬆應對跨文化、跨語言的挑戰!

不僅支持靈活的【文本本地化】、【圖片替換】,還提供直觀的【本地化資源管理界面】,無論是【語言切換】、【國際化 UI 設計】,還是【語言包動態加載】,Localization 插件都能高效解決你的問題。

本篇文章將帶你了解如何快速上手 Localization 插件,包括【設置多語言支持】、【本地化資源的整合】以及【動態語言切換】的實現方法。

我們還會分享實際開發中的【詳細介紹】與【補充說明】,幫助開發者避免常見的陷阱,提升遊戲的全球適配能力!

如果你想讓你的遊戲突破地域限制,吸引更多玩家,千萬不要錯過 Localization 插件的精彩介紹!

注意:學習本教學的第一件事是擁有 Unity2021.2 或更高版本。

今天要推薦的是 Unity  的 Localization 插件,一款專為遊戲開發的【多語言管理】與【在地化】需求設計的強大工具,能夠幫助開發者輕鬆應對跨文化、跨語言的挑戰!不僅支持靈活的【文本本地化】、【圖片替換】,還提供直觀的【本地化資源管理界面】,無論是【語言切換】、【國際化 UI 設計】,還是【語言包動態加載】,Localization 插件都能高效解決你的問題。  本篇文章將帶你了解如何快速上手 Localization 插件,包括【設置多語言支持】、【本地化資源的整合】以及【動態語言切換】的實現方法。我們還會分享實際開發中的【詳細介紹】與【補充說明】,幫助開發者避免常見的陷阱,提升遊戲的全球適配能力!如果你想讓你的遊戲突破地域限制,吸引更多玩家,千萬不要錯過 Localization 插件的精彩介紹!

 

功能特色

  1. 多語言資源管理
    Localization 插件內建強大的多語言資源管理功能,支持【文本翻譯】、【圖片切換】與【音效本地化】,讓開發者能輕鬆管理多語言內容,滿足全球化專案需求。
  2. 可視化翻譯工具
    內建【翻譯編輯器】與【本地化表格】,開發者可通過直觀的界面快速【添加】、【編輯】與【測試】翻譯內容,無需編碼即可即時預覽效果,大幅提升開發效率。
  3. 動態語言切換
    支持遊戲運行時的語言即時切換功能,玩家可隨時根據偏好變更語言,插件會自動加載對應資源,確保遊戲體驗一致流暢。

 

適用場景

  1. 全球化遊戲開發
    適合需要支持多語言的遊戲,能輕鬆實現【文字翻譯】、【語音切換】及【圖像替換】,滿足不同地區玩家的需求。
  2. 教育與文化展示
    利用插件的動態內容切換功能,在【教育遊戲】或【文化展示】中提供多語言支持,讓內容更具【親和力】與【包容性】。
  3. 區域化市場運營
    特別適合面向特定市場的區域化專案,能快速調整【語言】和【UI 設計】,提升遊戲的【市場競爭力】與【玩家體驗】。
【Unity 插件推薦】Localization 在地化語言大師,一鍵切換多國語言超簡單!

 

 

Unity Localization 優缺點

 

優點

簡化多語言支援:在地化插件可以大大簡化在應用程式中實現多語言支援的工作,使得開發者能夠更輕鬆地【管理】和【維護】多語言文字。

靈活性:一些本地化插件提供了靈活的配置選項,允許開發者根據需求進行客製化設置,例如【動態切換語言】、【支援富文本】等。

社群支援:一些知名的在地化外掛程式擁有【龐大的用戶群】和【活躍的社群支持】,能夠提供豐富的【文件】、【教學】和【解決方案】,幫助開發者解決在地化中遇到的問題。

 

缺點

學習成本:使用新的在地化插件可能需要一定的學習成本,尤其是熟悉【外掛程式的 API】和【工作流程】,這可能會增加項目開發的【時間】和【成本】。

依賴性:部分在地化插件可能存在【版本更新不及時】、【相容性問題】或【依賴其他庫】的情況,需要開發者謹慎考慮項目的依賴性。

效能:不同的本地化插件可能會對應用程式的效能產生不同程度的影響,特別是在多語言文字較多的情況下需要注意效能損耗。

 

 

Unity Localization 安裝

 

首先導入 Localization 插件。

首先導入 Localization 插件。

 

 

Unity Localization 建立配置

 

建立配置
建立配置

 

 

Unity Localization 選擇語言

 

選擇語言

 

 

Unity Localization 選擇預設語言

選擇預設語言

 

這個也設定為英語。

這個也設定為英語。

 

 

Unity Localization 建立多語言表數據

 

建立多語言表數據
建立多語言表數據

 

 

Unity Localization 創建 key

 

該鍵將包含對你為不同語言編寫的文本的引用
創建   key

 

 

Unity Localization 配置不同語言文本

 

配置不同語言文本

 

 

Unity Localization 預先載入

 

確保開啟了預載功能。

確保開啟了預載功能。

 

 

Unity Localization 綁定不同多語言文字數據並顯示

 

綁定不同多語言文字數據並顯示

 

綁定文字顯示事件。

綁定文字顯示事件。

 

運行效果。

運行效果

 


Unity Localization 語言切換

 

右上角切換語言。

右上角切換語言。

 

 

Unity Localization 自己編寫按鈕控制語言切換

 

實際應用我們絕對不會使用自帶的語言切換功能,而是自己代碼控制,_localeID 對應配置語言的索引。

實際應用我們絕對不會使用自帶的語言切換功能,而是自己代碼控制,_localeID 對應配置語言的索引。

 

using UnityEngine;

using UnityEngine.Localization.Settings; // 確保包含 UnityEngine.Localization.Settings 命名空間

public class LocaleSelector : MonoBehaviour

{

   private bool active = false; // 用於跟蹤是否正在進行語言環境更改的變量

   // 方法:根據 LocaleID 更改語言環境

   public void ChangeLocale(int localeID)

   {

       if (active) // 如果已經有語言環境更改正在進行,直接退出方法

           return;

       StartCoroutine(SetLocale(localeID)); // 啟動協程來設置新的語言環境

   }

   // 協程:異步設置語言環境

   IEnumerator SetLocale(int _localeID)

   {

       active = true; // 設置 active 為 true,表示語言環境更改正在進行中

       yield return LocalizationSettings.InitializationOperation; // 等待本地化系統初始化完成

       // 根據 _localeID 設置選定的語言環境

       LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[_localeID];

       active = false; // 語言環境更改完成後,重置 active 為 false

   }

}

 

配置如下。

配置如下。

 

當然,要記住玩家選譯的語言,你需要保存 localeID,並在遊戲開始時加載對應的語言。

當然,要記住玩家選譯的語言,你需要保存 localeID,並在遊戲開始時加載對應的語言。

 

 

Unity Localization 多語言圖片切換

 

新增 Asset Table Collection 表格資料。

新增 Asset Table Collection 表格資料。

 

這裡使用另外方式配置數據,也就是直接在編輯框配置修改內容。

這裡使用另外方式配置數據,也就是直接在編輯框配置修改內容。

 

可以看到表內同步配置好了內容。

可以看到表內同步配置好了內容。

 

同樣綁定更新事件。

同樣綁定更新事件。

 

效果如下。

效果如下。

 

 

在建構中使用 Localization

 

我們還需要做一件事來在構建中使用 Localization

我們還需要做一件事來在構建中使用 Localization。

 

新增資源。

新增資源

 

如果你已經新增過資源,可以選擇更新。

如果你已經新增過資源,可以選擇更新。

 

清除 Addressables 的舊建置數據並重新建置所有資源。

清除 Addressables 的舊建置數據並重新建置所有資源。

 

 

Unity Localization 分析錯誤修復

 

分析視窗。

分析視窗。

 

點擊分析。

點擊分析。

 

如果你發現任何錯誤,請嘗試使用「修復所選規則」按鈕修復它們。

如果你發現任何錯誤,請嘗試使用「修復所選規則」按鈕修復它們。

 

 

Unity Localization 動態修改多語言文字內容

 

開啟多語言表,配置新的內容。

開啟多語言表,配置新的內容。

 

{0} 可以理解為我們要動態修改的內容佔位。

{0}可以理解為我們要動態修改的內容佔位。

 

關鍵是選取這個「智慧」複選框。這將允許我們透過代碼改變值。

關鍵是選取這個「智慧」複選框。這將允許我們透過代碼改變值。

 

代碼控制如下。

using UnityEngine;

using UnityEngine.Localization;

using TMPro;

public class ChangeScore : MonoBehaviour

{

   [SerializeField] private LocalizedString localStringScore; // 用於本地化的字符串

   [SerializeField] private TextMeshProUGUI textComp; // 用於顯示分數的 TextMeshPro 組件

   private int score; // 分數變量

   // Unity 消息:在對象啟用時調用

   private void OnEnable()

   {

       // 設置本地化字符串的參數

       localStringScore.Arguments = new object[] { score };

       // 訂閱本地化字符串變化的事件

       localStringScore.StringChanged += UpdateText;

   }

   // Unity 消息:在對象禁用時調用

   private void OnDisable()

   {

       // 取消訂閱本地化字符串變化的事件

       localStringScore.StringChanged -= UpdateText;

   }

   // 更新文本的方法,參數為新的字符串值

   private void UpdateText(string value)

   {

       textComp.text = value; // 更新 TextMeshPro 組件的文本

   }

   // 增加分數的方法

   public void IncreaseScore()

   {

       score++; // 增加分數

       localStringScore.Arguments[0] = score; // 更新本地化字符串的參數

       localStringScore.RefreshString(); // 刷新本地化字符串以應用新的參數

   }

}


配置如下。

配置如下。

 

增加分數按鈕配置點擊事件。

增加分數按鈕配置點擊事件。

 

效果如下。

效果如下。

 

 

Unity Localization 相關介紹 & 教學影片

 

Unity Localization Tools | Learn How to Localize Your Game | Unity Tutorial

 

Unity Localization: Add support for Multiple Languages [1/2]

 

Unity Localization: Add support for Multiple Languages [2/2]

 

 

Unity Localization 在地化語言大師插件下載點

 

【Localization】

官方文檔:Localization

————————————————

以上內容改編節錄CSDN 作者:向宇it

 

更多好用插件:【Unity 好用插件推薦】持續更新,一起讓遊戲開發事半功倍!

 

 

 

本文原創(或整理)於亞洲電玩通,未經作者與本站同意不得隨意引用、轉載、改編或截錄。

特約作家簡介

X
A
Y
B
JamXu的頭像
JamXu
十年遊戲研發
二十年遊戲台主
三十年遊戲玩家

經中華網龍遊戲企劃進入遊戲圈,然後被雷打到去學程式前後端又學了點設計帶帶幾個研發團隊,見證了 3D 渲染技術及遊戲引擎互相進步,也見證了研發代理的更迭與博弈遊戲的興起,再毅然研究起 SEO 網路行銷社群廣告投放,深信自研自賣才是最大贏家,期望能為台灣研發重回輝煌時光貢獻一點力量。如果你也有遊戲夢,歡迎交流認識。


支持贊助 / DONATE

 

亞洲電玩通只是很小的力量,但仍希望為復甦台灣遊戲研發貢獻一點動能,如果您喜歡亞洲電玩通的文章,或是覺得它們對您有幫助,歡迎給予一些支持鼓勵,不論是按讚追蹤或是贊助,讓亞洲電玩通持續產出,感謝。

亞洲電玩通AsiaGameMaster - Steam 遊戲鑑賞家
亞洲電玩通AsiaGameMaster - FB 粉絲專頁
亞洲電玩通AsiaGameMaster - IG 粉絲專頁
亞洲電玩通AsiaGameMaster - Twitter
亞洲電玩通AsiaGameMaster - Yoytube 粉絲專頁
亞洲電玩通AsiaGameMaster - Tiktok

BTC

亞洲電玩通AsiaGameMaster - BTC 鏈贊助地址

352Bw8r46rfXv6jno8qt9Bc3xx6ptTcPze

 

ETH

亞洲電玩通AsiaGameMaster - ETH 鏈贊助地址

0x795442E321a953363a442C76d39f3fbf9b6bC666

 

TRON

亞洲電玩通AsiaGameMaster - TRON 鏈贊助地址

TCNcVmin18LbnXfdWZsY5pzcFvYe1MoD6f

延伸閱讀