文章目录

  • 前言
  • 一、添加多语言功能
  • 二、导入/出CSV文件
  • 1.导出CSV文件
  • 2.读入数据
  • 三、本地化声音
  • 1.添加声音
  • 2.系统化添加声音
  • 总结



前言

本地化语言,也就是多语言切换在大点的项目里是必备的功能,通常我们用ID或字段进行标记某一段话,然后在UI初始化、更新的时候给text进行赋值。

string str= UILocalizationManager.instance.GetLocalizedText("问候语");

Dialogue System本地化基本使用 熟悉了基本的使用方式,我们代入该对话插件,怎么能在快速迭代的版本完成后再实现多语言功能。

一、添加多语言功能

首先进行模板更新

unity 本地文字转语音 unity怎么换语言_c#


unity 本地文字转语音 unity怎么换语言_多语言_02


更新完发现多了两个选项,我们随便添上点东西

unity 本地文字转语音 unity怎么换语言_c#_03


然后在管理器修改前置条件,运行播放上一篇的第一个场景发现文字变成了EN里面的文字,那模如何切换呢?改EN为CN即可,这时候又会变成CN里的文字。代码切换直接使用UILocalizationManager.instance.currentLanguage即可,在第一篇介绍里面就有。

unity 本地文字转语音 unity怎么换语言_游戏程序_04

二、导入/出CSV文件

这样一个一个改也不是事,让策划来估计下一秒就不干了,所以我们就整个策划都会的表格。

1.导出CSV文件

找到本地化语言功能,如下图自动查找添加模板-EN、CN,然后选择一个文件夹进行导出。

unity 本地文字转语音 unity怎么换语言_c#_05


unity 本地文字转语音 unity怎么换语言_多语言_06


分别用文档工具和文本打开Dialogue_EN,可以看到CSV其实就是逗号间隔的文本信息,然后这些文档就交给策划或者相关人员填上对应的翻译即可。(wps保存的会有不兼容的问题,最好用office,不过那都是策划的事情了)

unity 本地文字转语音 unity怎么换语言_c#_07

2.读入数据

直接读取文件夹即可

unity 本地文字转语音 unity怎么换语言_c#_08


下图修改成功

unity 本地文字转语音 unity怎么换语言_多语言_09

三、本地化声音

官方教程

1.添加声音

在序列拖拽或者输入AudioWait()填入声音名称即可。

unity 本地文字转语音 unity怎么换语言_c#_10

2.系统化添加声音

一个个添加那不累死个人,所以我们导出csv文件

unity 本地文字转语音 unity怎么换语言_多语言_11


我们需要知道Entrytags,也就是每句话的标签,格式默认在下图:

unity 本地文字转语音 unity怎么换语言_c#_12


表格里的表现是这样的:

unity 本地文字转语音 unity怎么换语言_unity 本地文字转语音_13


那我们根据对话将声音片段进行命名,加入unity的Resource底下即可完成。

最后我们需要在对话系统加入AudioWait(entrytag),如果需要多语言如下图加个AudioWait(entrytaglocal),不同语言的音频在加上对于的下划线即可。

unity 本地文字转语音 unity怎么换语言_unity_14


总结

因为该对话系统高度集成,所以本地化语言看似有些不灵活,实际上这种东西都是项目中后期搞得,剧情什么的都固定下来很少修改,说白了就一个翻译不必太纠结。
总体来说,用起来很方便,顺便一提这个加上前言里的表格使用足以应对大部分项目。