不知道为什么,在百度或者某些社区寻找相关Unity的一些比较常规的教程或者功能实现指导时都不怎么顺利,即便在AssetStore中下载了相关插件,你仍然找不到关于这个插件的相关用法,只能读一些对应的project example。
本次我整理了关于I18N插件的用法,且尽可能详细的描述怎么在unity中实现多语言;unity演示版本为2021.3.6f1c1;
1,创建工程i18example
2,在window下找到Asset Store。
这个时候unity会主动打开Package Manager,选中该资源,点击import(如果是download,那么就点击download后再import);
/// <summary>
/// Simple Chinese
/// </summary>
SCN = 7,
/// <summary>
/// Traditional Chinese
/// </summary>
TCN = 8
点开Assets / Honeti / I18N / Scripts / I18N.cs,在 LanguageCode枚举类中增加 简体中文SCN 和 繁体中文(TCN)
在Resources / LangData 目录下(手动创建),创建文本存储文件(LangPad.csv)。
P8.创建文本存储文件
在LangPad.csv中写入^gamestart节点。
Lang Code EN SCN
^gamestart LANGUAGE 语言
新建一个scene并打开,创建一个空白GameObject,取名为I18N,并为其拖入组件I18N.CS(路径在Assets / Honeti / I18N / Scripts中)。
将LangPad.csv作为参数,拖入I18N(Script)中的GameLang。
创建Legacy Text,并将大小设为36,文本内容设为 ^gamestart。
为Text(Legacy)添加组件 I18NText.cs (路径在Assets / Honeti / I18N / Scripts中)
运行工程,可以看到I18N效果。
添加语言切换功能,新建2个Button,文字设为SimpleChinese和English,选择SimpleChinese按钮为其添加点击事件,且将I18N(GameObject)拖入事件触发对象,并为其选择触发setLanguage函数。
填语言值SCN
English按钮雷同,值为EN。
这里教程就结束了,I18除了适配文字模块,仍然适配了声音,精灵,还有,图像,TextMesh等。
其中关于TMP文本,其实只需要稍微改进TextMesh,适配字体也能轻松使用I18N。
我是LEXOOPS,谢谢大家。