隨時更改區域設置

更新頁 :
頁面創建日期 :

驗證環境

窗戶
  • 視窗 11
統一編輯器
  • 2021.3.12f1
輸入系統(統一技術)
  • 1.4.3
當地語系化(統一技術)
  • 1.3.2

此提示的先決條件

作為此提示描述的前提,已預先進行了以下設置。

先決條件知識和準備

此提示假定以下文字的當地語系化: 首先,請參考以下提示來準備顯示本地化文本。

放置用於更改區域設置的按鈕

如果在 Unity 編輯器中運行它,則可以更改螢幕右上角的區域設置,但在構建遊戲後,它沒有該功能,您需要自己準備。 這次,我將放置一個按鈕,用於在三種語言“日語(ja)”,“英語(en)”和“西班牙語(es)”之間切換,然後按兩下以切換它們。

按鈕腳本

確保在按鍵時調用目標方法。 這是一個通用過程,因此我將省略詳細資訊。 有關詳細說明,請參閱以下提示。

ButtonEvent 創建名為的腳本。

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  /// <summary>Japanese (ja) ボタンをクリックしたとき。</summary>
  public void OnClickJa()
  {
  }

  /// <summary>English (en) ボタンをクリックしたとき。</summary>
  public void OnClickEn()
  {
  }

  /// <summary>Spanish (es) ボタンをクリックしたとき。</summary>
  public void OnClickEs()
  {
  }
}

將每種方法分配給按鈕按兩下。

處理區域設置更改

修改代碼,如下所示:

using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;

public class ButtonEvent : MonoBehaviour
{
  /// <summary>Japanese (ja) ボタンをクリックしたとき。</summary>
  public void OnClickJa()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("ja");
  }

  /// <summary>English (en) ボタンをクリックしたとき。</summary>
  public void OnClickEn()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("en");
  }

  /// <summary>Spanish (es) ボタンをクリックしたとき。</summary>
  public void OnClickEs()
  {
    LocalizationSettings.SelectedLocale = Locale.CreateLocale("es");
  }
}

更改本身很簡單 LocalizationSettings.SelectedLocale ,只需在屬性中設置目標 Locale 即可切換。 Locale Locale.CreateLocale 可以通過在方法中設置區域設置的名稱來創建。

但是,由於區域設置更改過程是異步的,LocalizationSettings.SelectedLocale 因此設置的下一個過程並不意味著區域設置已經完全切換。 如果您正在執行與區域設置相關的操作,請小心。

運行並驗證

這就是它的全部內容,所以請運行它並檢查運動。 在遊戲螢幕的右上角,您可以看到各種資源以與更改區域設置時相同的方式動態切換。