Skip to content

Latest commit

 

History

History
152 lines (104 loc) · 8.25 KB

File metadata and controls

152 lines (104 loc) · 8.25 KB

Loxodon Framework Localization For CSV

license release openupm npm

开发者 Clark

要求Unity 2018.4 或者更高版本

框架的本地化模块默认支持XML文件格式和Asset文件格式,本插件主要是扩展了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列不存在或者字段为空则使用默认列的配置。

文件编码

如果文件中包含中文,请确保CSV文件使用UTF-8编码,否则在文件转换时可能出现乱码,使用WPS从excel文件导出为csv文件时,请重点检查编码格式是否为UTF-8编码(可以使用记事本或者EditPlus查看)。

支持的类型

默认支持以下所有类型和他们的数组类型,通过自定义类型转换器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的相互转换

XML的配置文件和CSV的配置文件可以相互转换,但是对于数组类型的配置需要注意,在CSV中是使用","分割的,而在XML中是标识分割的,在之间如果包含了","转换为csv文件格式时可能出错。

选择XML配置文件的根目录,右键选择Loxodon/Xml To Csv 命令,会自动将目录下的所有xml文件转换为csv格式的文件,XML中不同语言版本会合并到同一个csv文件中。同样,CSV文件也可以转换为XML文件,如果CSV文件中包含多个语言的配置版本,会被拆分成多个XML文件。

生成csv文件如下

文件示例

CSV原文件

转换为XML文件格式后的中文本地化文件(魔兽世界、星际争霸、帝国时代后面的换行符仍然存在,只是不可见)。

安装

自Loxodon.Framework 2.0版本开始,保留了原有的 *.unitypackage包发布方式,同时添加了UPM发布方式,此版本要求Unity 2018.4.2及以上版本,框架的目录结构进行了一些调整,以符合UPM格式要求。

安装注意:在中国区下载的Unity版本屏蔽了第三方仓库,会导致UPM包安装失败,咨询了Unity中国相关人员说是马上会放开,如果UPM方式安装失败请使用.unitypackage文件安装或者使用非中国区的Unity版本*

使用 OpenUPM 安装(推荐)

OpenUPM 是一个开源的UPM包仓库,它支持发布第三方的UPM包,它能够自动管理包的依赖关系,推荐使用它安装本框架.

通过openupm命令安装包,要求nodejs and openupm-cli客户端的支持,如果没有安装请先安装nodejs和open-cli。

# 使用npm命令安装openupm-cli,如果已经安装请忽略.
npm install -g openupm-cli

#切换当前目录到项目的根目录
cd F:/workspace/New Unity Project

#安装 loxodon-framework
openupm add com.vovgou.loxodon-framework-localization-csv

修改Packages/manifest.json文件安装

通过修改manifest.json文件安装,不需要安装nodejs和openupm-cli客户端。在Unity项目根目录下找到Packages/manifest.json文件,在文件的scopedRegistries(没有可以自己添加)节点下添加第三方仓库package.openupm.com的配置,同时在dependencies节点下添加com.vovgou.loxodon-framework和com.vovgou.loxodon-framework-localization-csv的配置,保存后切换到Unity窗口即可完成安装。

{
  "dependencies": {
    ...
    "com.unity.modules.xr": "1.0.0",
    "com.vovgou.loxodon-framework-localization-csv": "2.0.0-preview"
  },
  "scopedRegistries": [
    {
      "name": "package.openupm.com",
      "url": "https://package.openupm.com",
      "scopes": [
        "com.vovgou",
        "com.openupm"
      ]
    }
  ]
}

通过git URL安装

Unity 2019.3.4f1及以上版本支持使用git URL安装. 如下图添加 https://github.com/vovgou/loxodon-framework.git?path=Loxodon.Framework.LocalizationsForCsv/Assets/LoxodonFramework/LocalizationsForCsv 地址到UPM管理器,耐性等待一段时间,下载完成后即安装成功。

通过 *.unitypackage 文件安装

从以下地址下载 Loxodon.Framework.LocalizationsForCsv2.x.x.unitypackage 后,导入到你的项目中即完成安装.

联系方式

邮箱: yangpc.china@gmail.com
网站: https://vovgou.github.io/loxodon-framework/
QQ群: 622321589