Unity實現(xiàn)本地文本多語言化
本文實例為大家分享了Unity實現(xiàn)本地文本多語言化的具體代碼,供大家參考,具體內(nèi)容如下
在unity項目過程中大多都會遇到多語言化,下面講一下自己的一些實現(xiàn)思路。
1. 創(chuàng)建一個要實現(xiàn)多語言化的基類
public abstract class BaseString {
public abstract string text_test{get;}
}
2. 對應(yīng)的語言要繼承BaseString類,這里實現(xiàn)中文和英文的兩個類
public class ChineseString: BaseString {
public override string text_test { get {return "哈嘍";}}
}
public class EnglishString : BaseString {
public override string text_test { get {return "Hello";}}
}
3. 新建一個管理類 TextManager.cs
public class TextManager {
public BaseString strComponent;
private ChineseString chineseStrCompenent = new ChineseString();
private EnglishString englishStrComponent = new EnglishString();
public TextManager() {
strComponent = chineseStrCompenent;
}
public void ChangeLanguage(LanguageType type) {
if (type == LanguageType.ZH)
{
strComponent = chineseStrCompenent;
} else if (type == LanguageType.EN)
{
strComponent = englishStrComponent;
}
}
}
4. 物體上掛載一個Global.cs類,實現(xiàn)調(diào)用
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public enum LanguageType
{
ZH,
EN
}
public class Global : MonoBehaviour {
public Text textView;
private LanguageType mLanguage = LanguageType.ZH;
private TextManager textManager = new TextManager();
// Use this for initialization
void Start () {
textManager.ChangeLanguage(mLanguage);
}
// Update is called once per frame
void Update () {
textView.text = textManager.strComponent.text_test;
}
public void SwitchLanguage()
{
if (mLanguage == LanguageType.ZH)
{
mLanguage = LanguageType.EN;
} else if (mLanguage == LanguageType.EN)
{
mLanguage = LanguageType.ZH;
}
textManager.ChangeLanguage(mLanguage);
}
}
上面的代碼是通過點擊一個按鈕來進(jìn)行切換語言,進(jìn)而在Text組件上顯示對應(yīng)語言的文本。
當(dāng)然根據(jù)系統(tǒng)語言來進(jìn)行切換就可以實現(xiàn)了。


以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++通過Callback向C#傳遞數(shù)據(jù)的方法
下面小編就為大家分享一篇C++通過Callback向C#傳遞數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
C# 類型轉(zhuǎn)換(隱式類型,顯式類型,自定義類型)
本文詳細(xì)介紹了C#中的類型轉(zhuǎn)換,包括隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換(強制類型轉(zhuǎn)換),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
使用revit api畫垂直于風(fēng)管的風(fēng)管示例
這篇文章主要介紹了使用revit api畫垂直于風(fēng)管的風(fēng)管示例,需要的朋友可以參考下2014-03-03
C#設(shè)計模式之Facade外觀模式解決天河城購物問題示例
這篇文章主要介紹了C#設(shè)計模式之Facade外觀模式解決天河城購物問題,簡單描述了外觀模式的定義并結(jié)合具體實例分析了外觀模式解決購物問題的相關(guān)步驟與操作技巧,需要的朋友可以參考下2017-09-09
Unity InputFiled TMP屬性和各種監(jiān)聽示例詳解
這篇文章主要為大家介紹了Unity InputFiled TMP屬性和各種監(jiān)聽示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01

