Unity實(shí)現(xiàn)本地文本多語(yǔ)言化
本文實(shí)例為大家分享了Unity實(shí)現(xiàn)本地文本多語(yǔ)言化的具體代碼,供大家參考,具體內(nèi)容如下
在unity項(xiàng)目過程中大多都會(huì)遇到多語(yǔ)言化,下面講一下自己的一些實(shí)現(xiàn)思路。
1. 創(chuàng)建一個(gè)要實(shí)現(xiàn)多語(yǔ)言化的基類
public abstract class BaseString { public abstract string text_test{get;} }
2. 對(duì)應(yīng)的語(yǔ)言要繼承BaseString類,這里實(shí)現(xiàn)中文和英文的兩個(gè)類
public class ChineseString: BaseString { public override string text_test { get {return "哈嘍";}} } public class EnglishString : BaseString { public override string text_test { get {return "Hello";}} }
3. 新建一個(gè)管理類 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. 物體上掛載一個(gè)Global.cs類,實(shí)現(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); } }
上面的代碼是通過點(diǎn)擊一個(gè)按鈕來(lái)進(jìn)行切換語(yǔ)言,進(jìn)而在Text組件上顯示對(duì)應(yīng)語(yǔ)言的文本。
當(dāng)然根據(jù)系統(tǒng)語(yǔ)言來(lái)進(jìn)行切換就可以實(shí)現(xiàn)了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#實(shí)現(xiàn)windows系統(tǒng)重啟和關(guān)機(jī)的代碼詳解
這篇文章主要介紹了C#實(shí)現(xiàn)windows系統(tǒng)重啟和關(guān)機(jī)的的方法,涉及C#調(diào)用windows系統(tǒng)命令實(shí)現(xiàn)控制開機(jī)、關(guān)機(jī)等操作的技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2024-02-02C#程序中session的基本設(shè)置示例及清除session的方法
這篇文章主要介紹了C#程序中session的基本設(shè)置示例及清除session的方法,是C#入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-04-04C#中使用強(qiáng)制類型實(shí)現(xiàn)字符串和ASCII碼之間的轉(zhuǎn)換
這篇文章主要介紹了C#中使用強(qiáng)制類型實(shí)現(xiàn)字符串和ASCII碼之間的轉(zhuǎn)換,本文還給出了另一種方法,需要的朋友可以參考下2014-08-08C# ADO.NET 離線查詢的實(shí)現(xiàn)示例
這篇文章主要介紹了C# ADO.NET 離線查詢的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05C#實(shí)現(xiàn)系統(tǒng)桌面右下角彈框
這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)系統(tǒng)桌面右下角彈框,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2023-01-01C#實(shí)現(xiàn)在啟動(dòng)目錄創(chuàng)建快捷方式的方法
這篇文章主要介紹了C#實(shí)現(xiàn)在啟動(dòng)目錄創(chuàng)建快捷方式的方法,涉及C#快捷方式的創(chuàng)建技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09C#加密知識(shí)整合 (AES,MD5,RSA,SHA256)
這篇文章主要介紹了c#對(duì)于加密的一點(diǎn)整合 (AES,MD5,RSA,SHA256),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01C# 中的GroupBy的動(dòng)態(tài)拼接問題及GroupBy<>用法介紹
這篇文章主要介紹了C# 中的GroupBy的動(dòng)態(tài)拼接問題,在文章給大家提到了C# List泛型集合中的GroupBy<>用法詳解,需要的朋友可以參考下2017-12-12