一套项目完结之后,还项发布英文版 日文版怎么办? 有两种解决方案,第一种比较笨的方法是手动的把相应文字替换掉.
第二种就是把需要切换的语言集中存放到txt文档中,通过list集合,的方法进行访问(每一个key可以对应多个value). 下面实现的是第二种方法.
目标:实现 中文.英文.日文的切换.
1 界面UI的简单搭建:

2 txt文档的创建 格式为UTF-8

3 LanguageMgr的创建,挂载到Canvas上

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class LanguageMgr : MonoBehaviour
{private static LanguageMgr instance = null;public static LanguageMgr Instance{get { return instance; }}/// <summary>/// 语言/// </summary>[SerializeField]private SystemLanguage language;/// <summary>/// 相同的key 对应 不同国家的value/// </summary>private Dictionary<string, string> dict = new Dictionary<string, string>();
/// <summary>/// 加载预翻译的语言/// </summary>private void loadLanguage(){//加载文件TextAsset ta = Resources.Load<TextAsset>(language.ToString());if (ta == null){Debug.LogWarning("没有这个语言的翻译文件");return;}//获取每一行string[] lines = ta.text.Split('\n');//获取key valuefor (int i = 0; i < lines.Length; i++){//检测if (string.IsNullOrEmpty(lines[i]))continue;//获取 key:kv[0] value kv[1]string[] kv = lines[i].Split(':');//保存到字典dict.Add(kv[0], kv[1]);Debug.Log(string.Format("key:{0}, value:{1}", kv[0], kv[1]));}}void Awake(){instance = this;loadLanguage();}/// <summary>/// 获取对应的value/// </summary>/// <param name="key">键</param>/// <returns>返回对应的value 如果不存在这个key 就返回空串</returns>public string GetText(string key){if (dict.ContainsKey(key))return dict[key];else//没有这个key{return string.Empty;}}
}

4 UIText 在需要切换语言的text上挂载该脚本

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
public class UIText : MonoBehaviour
{[SerializeField]private string key;// Use this for initializationvoid Start(){if (!string.IsNullOrEmpty(key)){string value = LanguageMgr.Instance.GetText(key);if (!string.IsNullOrEmpty(value)){gameObject.GetComponent<Text>().text = value;}}}
}

5 点击 language 选择相应的语言.即可实现切换.

Unity编程笔记----多语言切换相关推荐

  1. Unity编程笔记----音效管理器

    游戏世界里离不开各种酷炫的音效,把这些音效集中起来进行管理是每个项目必须要做的事情. 分享一下自用的SoundMgr(适用于大多Unity项目) 整体思路: SoundMgr脚本被调用时,自动执行继承 ...

  2. Go语言编程笔记16:存储数据

    Go语言编程笔记16:存储数据 图源:wallpapercave.com 几乎任何程序都绕不开读写数据,只不过具体的数据存储介质和方式有所不同.本篇文章将从多种数据存储方式进行探讨各种存储方式如何实现 ...

  3. 贪吃蛇统计分数的c语言代码,C/C++编程笔记:C语言贪吃蛇源代码控制台(二),分数和食物!...

    接上文<C/C++编程笔记:C语言贪吃蛇源代码控制台(一),会动的那种哦!>如果你在学习C语言开发贪吃蛇的话,零基础建议从上一篇开始哦!接下来正式开始吧! 三.蛇的运动 上次我已经教大家画 ...

  4. 聊聊在博客园写博客的这两年《Unity 3D脚本编程:使用C#语言开发跨平台游戏》正式出版...

    版本状态: 2016.9 第一次印刷 (2016.11 输出到台湾) 2017.1 第二次印刷 2017.5 第三次印刷 2017.5 电子书上线:Unity 3D脚本编程--使用C#语言开发跨平台游 ...

  5. 【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码

    [Unity学习笔记][Unity中文课堂教程] C#中级编程代码 最近想补一补C#基础,Unity官方的C#中级编程教程质量很高,于是开个帖子把跟着敲+记录了部分价讲解和我自己的理解的代码存在这 原 ...

  6. 《Unity 3D脚本编程:使用C#语言开发跨平台游戏》序言

    本文是7月受陈嘉栋的委托为他的新书<Unity 3D脚本编程:使用C#语言开发跨平台游戏>所写的序言,借助序言告诉大家.NET平台有着一个广阔的使用场景. 序言 Unity3D 是由两个具 ...

  7. c语言球球半径,C/C++编程笔记:C语言开发球球大作战(源码分享),你想试试吗?...

    原标题:C/C++编程笔记:C语言开发球球大作战(源码分享),你想试试吗? 游戏背景 <球球大作战>是Superpop一款自主研du发的免费手机网络游戏. 以玩家间的实时互动PK产生游戏乐 ...

  8. Go语言编程笔记18:软件测试

    Go语言编程笔记18:软件测试 图源:wallpapercave.com 软件测试也是软件开发的重要组成部分,本篇文章将探讨如何使用Go的标准库和第三方库对程序进行测试. testing Go的标准库 ...

  9. 15.笔记go语言——Web编程概念

    15.笔记go语言--Web编程概念 Go目前已经拥有了成熟的Http处理包,这使得编写能做任何事情的动态Web程序易如反掌. Web原理 浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去 ...

最新文章

  1. python教程第四版pdf下载-笨办法学python第四版 电子书(pdf格式)
  2. $.fn.extend简单学习
  3. mysql utf8mb4 配置_MariaDB(Mysql)配置utf8mb4编码
  4. [css] 写出主流浏览器内核私有属性的css前缀
  5. java线程自带队列的使用以及线程阻塞
  6. RocketMq 消费消息的两种方式 pull 和 push
  7. PowerBI 应用时间智能(生成日期表)
  8. 强名称(3)强名称的脆弱性
  9. win10 安装程序显示“为了对电脑进行保护,已经阻止此应用” 管理员已阻止你运行此应用
  10. cocos2dx游戏-可爱的小精灵的各种用法大全
  11. C#图片处理:生成大尺寸图片,以边框颜色填充
  12. new和delete,malloc和free
  13. matlab滤波有几种形式,几种经典常用的滤波算法
  14. 图像数据的标准化与归一化
  15. c语言输入输出预处理命令,C语言第十一讲,预处理命令.
  16. 大话设计模式——外观模式
  17. 使用无界面方式登录人人网
  18. 常用的CSS命名规范大总结
  19. 将Eclipse4.0修改为传统的界面
  20. 程序员投简历到底是“精投”好,还是“广撒网”好?

热门文章

  1. 2022保安员(初级)考试试题模拟考试平台操作
  2. JAVA编程你必须知道的那些英文单词
  3. 【94期分享】4款水彩手绘风格PPT模板免费下载
  4. html5首行缩进没有效果,css如何实现首行缩进效果
  5. 写代码时记录的小技巧
  6. Spring优点、Spring IOC 底层实现原理、Spring IOC 快速入门案例、何为 DI 依赖注入
  7. Java——后端开发经验总结(持续更新中)
  8. python综合应用题苏格拉底_计算机辅助python的综合应用(3),二级,应用题,三
  9. WAIC 2022 | 洞见科技在可信AI论坛联合发布《可信人工智能产业生态发展报告》
  10. 虎年姓氏头像微信小程序源码+AI智能配音小程序源码+喝酒娱乐多功能小程序源码