UNITY I18N国际化本地化多语言的简单用法

不知道为什么,在百度或者某些社区寻找相关Unity的一些比较常规的教程或者功能实现指导时都不怎么顺利,即便在AssetStore中下载了相关插件,你仍然找不到关于这个插件的相关用法,只能读一些对应的project example。

本次我整理了关于I18N插件的用法,且尽可能详细的描述怎么在unity中实现多语言;unity演示版本为2021.3.6f1c1;

1,创建工程i18example

p1.创建工程i18example

2,在window下找到Asset Store。

p2.选择在线搜索
p3.选择I18N
p4.在unity中打开

这个时候unity会主动打开Package Manager,选中该资源,点击import(如果是download,那么就点击download后再import);

p5.upm界面
p6.勾选Data和Scripts

/// <summary>

/// Simple Chinese

/// </summary>

SCN = 7,

/// <summary>

/// Traditional Chinese

/// </summary>

TCN = 8 

点开Assets / Honeti / I18N / Scripts / I18N.cs,在 LanguageCode枚举类中增加 简体中文SCN 和 繁体中文(TCN)


P7.增加简中和繁中

在Resources / LangData 目录下(手动创建),创建文本存储文件(LangPad.csv)。

P8.创建文本存储文件

在LangPad.csv中写入^gamestart节点。

Lang Code EN SCN

^gamestart LANGUAGE 语言

新建一个scene并打开,创建一个空白GameObject,取名为I18N,并为其拖入组件I18N.CS(路径在Assets / Honeti / I18N / Scripts中)。


P8.创建翻译节点

将LangPad.csv作为参数,拖入I18N(Script)中的GameLang。


P9.设置文本数据

创建Legacy Text,并将大小设为36,文本内容设为 ^gamestart。


P10.创建Legacy Text

为Text(Legacy)添加组件 I18NText.cs (路径在Assets / Honeti / I18N / Scripts中)


P11.添加翻译文本组件

运行工程,可以看到I18N效果。


P12.语言对应正常

添加语言切换功能,新建2个Button,文字设为SimpleChinese和English,选择SimpleChinese按钮为其添加点击事件,且将I18N(GameObject)拖入事件触发对象,并为其选择触发setLanguage函数。


P13.加入切换语言事件

填语言值SCN


P14.设置语言

English按钮雷同,值为EN。


P15.中文效果
P16.英文效果

这里教程就结束了,I18除了适配文字模块,仍然适配了声音,精灵,还有,图像,TextMesh等。

其中关于TMP文本,其实只需要稍微改进TextMesh,适配字体也能轻松使用I18N。

我是LEXOOPS,谢谢大家。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容