Uzyskaj zlokalizowany tekst i zasoby w dowolnym momencie
Ś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.