开发者 Clark
要求Unity 2018.4或者更高版本
本插件扩展了Localization的功能,支持使用CSV格式的本地化配置文件,配置文件格式如下。
- key:配置文件的key,不能为空,此列必须存在。
- type:配置文件值的类型,此列必须存在。如:字符串类型 string ,整形数组 int-array
- description:描述,可以为空,并且此列可以省略
- default:默认值,最好不要为空,如果此列不存在,则会使用值的第一列作为默认列
- zh:中文配置,zh取值自CultureInfo.TwoLetterISOLanguageName,如果字段为空则使用默认配置
- zh-CN:中国,简体中文配置,zh-CN取值自CultureInfo.Name,如果字段为空,则使用zh的配置
以上只有key列和type列是必须存在的,其他可以根据实际情况添加或者省略。
关于值的本地化查询规则是根据System.Globalization.CultureInfo类的TwoLetterISOLanguageName和Name字段来查询的。 优先按CultureInfo.Name查询,如果不存在则使用CultureInfo.TwoLetterISOLanguageName查询,最后才会使用默认值,比如下图中,如果当前语言是zh-CN的话,优先使用zh-CN的配置,如果不存在zh-CN的列或者zh-CN配置为空,则使用zh列的配置,如果zh列不存在或者字段为空则使用默认列的配置。
默认支持以下所有类型和他们的数组类型,通过自定义类型转换器ITypeConverter,可以支持新的数据类型。基本数据类型如下,数组类型是在基本类型后添加后缀"-array",比如字符串的数组:string-array
基本类型(Type) | 默认值(Default Value) | 描述(Description) |
---|---|---|
string | "" | 字符串类型 |
boolean | false | 布尔值,flase或者true |
sbyte | 0 | 有符号的byte,-127-128 |
byte | 0 | 无符号byte,0-255 |
short | 0 | short类型 |
ushort | 0 | 无符号short类型 |
int | 0 | 整型 |
uint | 0 | 无符号整型 |
long | 0 | 长整型 |
ulong | 0 | 无符号长整型 |
char | ‘’ | 字符类型 |
float | 0 | 单精度浮点类型 |
double | 0 | 双精度浮点类型 |
decimal | 0 | 数字类型 |
datetime | 1970-01-01T00:00:00 | 时间类型 |
vector2 | (0,0) | Vector2类型,示例:(0,0) |
vector3 | (0,0,0) | Vector3类型,示例:(0,0,0) |
vector4 | (0,0,0) | Vector4类型,示例:(0,0,0,0) |
color | #000000 | Color类型,示例:#FF0000 |
CSV配置和XML配置一样,支持所有基本数据类型,唯一不同的是CSV文件中使用逗号分隔符来支持数组类型,如下表所示。
注意:数组使用半角逗号分隔,在半角的双引号、单引号、小括号()、中括号[]、大括号{}、尖括号<>之间的逗号会被忽略,如数组的字符串中有逗号,请使用双引号或者单引号将字符串引起来,否则在数组分隔时会出错
key | type | us-EN |
---|---|---|
usernames | string-array | tom,clark,kate |
chars | string-array | "a,b,c","d,e,f","g,h,i" |
positions | vector3-array | (0,1,1.2),(2,2,0),(1.3,0.5,5) |
colors | color-array | #FF0000,#00FF00 |
XML的配置文件和CSV的配置文件可以相互转换,但是对于数组类型的配置需要注意,在CSV中是使用","分割的,而在XML中是标识分割的,在之间如果包含了","转换为csv文件格式时可能出错。
选择XML配置文件的根目录,右键选择Loxodon/Xml To Csv 命令,会自动将目录下的所有xml文件转换为csv格式的文件,XML中不同语言版本会合并到同一个csv文件中。同样,CSV文件也可以转换为XML文件,如果CSV文件中包含多个语言的配置版本,会被拆分成多个XML文件。
生成csv文件如下
邮箱: yangpc.china@gmail.com
网站: https://cocowolf.github.io/loxodon-framework/
QQ群: 622321589