Skip to content

a lightweight multi-language(i18n) tool for unity project

License

Notifications You must be signed in to change notification settings

LimeVista/MultiLangLiteUnity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-language(I18N) for Unity

一个用于小型 Unity 项目的多语言轻量级工具

实现方式

将多语言 JSON 生成 C# 静态代码,利用 R.Strings.id 进行绑定获取,GetTextIO 、无反射,使用方便,运行效率极高。但是由于生成静态代码,不适合文本量很大的项目。

使用方式

  • 将符合 SystemLanguage 枚举名称的 JSON 文件置入 Assets/MultiLangLite/Editor/I18n 文件夹, JSON 文件命名规则如 SystemLanguage.English -> English.jsonEnglish.json 为默认语言,不可缺少。 JSON 格式参照 文件格式

  • 使用 Unity 编辑器菜单 Tools/MultiLanguage/DebugTools/MultiLanguage/Release 生成 R.cs 文件

  • 获取 I18n 文本方法:

I18n.GetText(R.Strings.Lime);   // 方式一
I18n.Instance[R.Strings.Name];  // 方式二

// 附加参数方式
I18n.GetText(R.Strings.Note, "This is a note");

高级使用

详见: I18n

缺点

对外部资源包文本、联网获取文本多语言尚未实现