Uzyskaj zlokalizowany tekst i zasoby w dowolnym momencie

Strona zaktualizowana :
Data utworzenia strony :

Środowisko weryfikacji

Windows
  • Okna 11
Edytor Unity
  • 2021.3.12f1
System wejściowy (Unity Technologies)
  • 1.4.4
Lokalizacja (Unity Technologies)
  • 1.3.2

Wymagania wstępne dotyczące tej porady

Poniższe ustawienia zostały wcześniej wprowadzone jako przesłanka do opisu tej wskazówki.

Cele naszych wskazówek

Po kliknięciu przycisku na ekranie ładowania zostanie wyświetlony tekst docelowy z tabeli lokalizacji.

Wstępna wiedza i przygotowanie

Ta wskazówka zakłada lokalizację następującego tekstu: Ponieważ jednak nie wdrożymy ich wszystkich, opublikujemy procedurę z 1 tutaj, ale uprościmy zduplikowaną treść.

Instalowanie pakietu lokalizacyjnego

Procedura jest taka sama tutaj.

Tworzenie lokalizacji

Jest to to samo, co poprzednio, więc opublikuję tylko obraz.

Tutaj tworzymy folder "Lokalizacja" w folderze "Sceny" i tworzymy go w nim.

Tworzenie ustawień regionalnych

To też jest to samo, co poprzednio, więc pominę szczegółową procedurę. Ustawienia regionalne do dodania to "japoński (ja)", "angielski (en)" i "hiszpański (es)".

Określiłem wspomniany wcześniej folder "Lokalizacja".

Pozostaw domyślne ustawienia regionalne jako "japoński (ja)".

Tworzenie tekstów

Pozostaw nazwę TextTable tabeli jako .

Localization Utwórz folder wewnątrz TextTable folderu i określ go.

Utwórz tekst. Tym razem celem jest uzyskanie go programowo, abyś mógł go na razie zarejestrować.

Umiejscowienie interfejsu użytkownika

Chcę umieścić tekst i przycisk, a po kliknięciu przycisku chcę wyświetlić tekst bieżących ustawień regionalnych.

Tworzenie i dołączanie skryptów

Utwórz skrypt. ButtonEvent Pozostaw nazwę jako .

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

public class ButtonEvent : MonoBehaviour
{
  [SerializeField] private Text Text;

  public void OnClick()
  {
    // Localization から指定したテーブル名とキーからエントリーを取得します
    var entry = LocalizationSettings.StringDatabase.GetTableEntry("TextTable", "Hello").Entry;

    Text.text = entry.Value;
  }
}

Wpisz, co się stanie po kliknięciu przycisku. Wszystko, co tutaj robimy, to jedna LocalizationSettings.StringDatabase.GetTableEntry rzecz: możesz uzyskać wpis znalezionego zbioru, określając nazwę tabeli i klucz utworzony w Lokalizacja w metodzie. Tym razem robimy to z tekstem, ale zasoby można również LocalizationSettings.AssetDatabase uzyskać za pomocą .

Gdy już masz wpis, wszystko, co musisz zrobić, to uzyskać wartość, którą masz. Zawartość jest tekstem wybranych ustawień regionalnych. Tym razem uzyskuje się go przez przetwarzanie synchroniczne, ale można również użyć metod asynchronicznych.

Dołącz skrypt do EventSystem. Ustaw również tekst.

Przypisz obsługę kliknięć do przycisku.

Uruchom i zweryfikuj

Spróbuj uruchomić go po zakończeniu konfiguracji. Ponieważ w interfejsie użytkownika nie są ustawione żadne zdarzenia lokalizacji, tekst nie zmienia się po wykonaniu.

Kliknij przycisk, aby przełączyć się na tekst w języku japońskim. Dzieje się tak, ponieważ wybrano bieżące ustawienia regionalne języka japońskiego.

Spróbuj zmienić ustawienia regionalne w prawym górnym rogu ekranu, a następnie kliknij przycisk. Powinien zmienić się na tekst dla docelowych ustawień regionalnych.