1. 源文件
就是一个excel文件:
- 第一列,Chinese,存放中文字符串
- 第二列,English,存放英文字符串
- 其他语言。。。。
2. 将表格转换成Json文本
需要一个excel转Json/XML的工具类:
链接:https://pan.baidu.com/s/1Uy-PNER33n7etzrAkA-BoA
提取码:etxn
将工具导入项目后,首先选中excel文件,然后选择Plugins——>ExcelTools,点击转换即可。
输出一个名为 Language.json 的文件。
将 Language.json 放在 resources 目录下。
[
{
"Chinese": "账号",
"English": "Account"
},
{
"Chinese": "密码",
"English": "password"
},
{
"Chinese": "确定登录",
"English": "Make sure the login"
},
{
"Chinese": "密码找回",
"English": "Get back password"
},
{
"Chinese": "手机号码",
"English": "cell phone number"
},
{
"Chinese": "新密码",
"English": "new password "
},
{
"Chinese": "邀请码",
"English": "Invitation code"
}
]
3. 使用
- 读取TextAsset资源
- 将文本内容转换成 LanguageModel 的 List
- 根据 系统语言,index,读取相应的字符串
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LanguageUtils {
private List<LanguageModel> data;
public static int Account = 0,
Password = 1,
ConfirmLogin = 2,
FindPassword = 3,
PhoneNumber = 4,
NewPassword =5,
InviteCode = 6;
private static LanguageUtils instance;
public static LanguageUtils GetInstance()
{
if(instance == null)
{
instance = new LanguageUtils();
}
return instance;
}
private LanguageUtils()
{
OnReadLanguage();
}
//自动判断系统语言
public string GetString(int index)
{
string lang = SystLanguage();
if (lang.Equals("Chinese"))
{
return data[index].Chinese;
}
return data[index].English;
}
//手动传系统语言
public string GetStringTest(int index, LanguageType type)
{
if(type == LanguageType.Chinese)
{
return data[index].Chinese;
}
return data[index].English;
}
/// <summary>
/// 获取当前系统默认语言
/// </summary>
/// <returns></returns>
private string SystLanguage()
{
return Application.systemLanguage.ToString();
}
/// <summary>
/// 读取语言包
/// </summary>
private void OnReadLanguage()
{
TextAsset asset = Resources.Load<TextAsset>("Language");
data = JsonToObject.JsonToObject_ByJsonContent<LanguageModel>(asset.text);
}
}
/// <summary>
/// 语言字段
/// </summary>
public enum LanguageType
{
Chinese,
English
}
public class LanguageModel
{
public string Chinese;
public string English;
}
4. 运行结果
点击中文点击英文
网友评论