六、创建Mod的多语言数据

本章节会讲述如何创建Localization数据。

Localization

多语言应该是整个Mod制作环节中最好讲的部分,但实际上,这个东西很乱,乱到人绝望。

初步讲解

首先多语言是通过Actions中的UpdateText来更新的,在游戏中多语言模块被单独放在了一个数据库中。

多语言的行为有两个部分,Front-End,In-Game,还有官方的一种骚操作,我称之为Mod-Description(将多语言放在modinfo)当中。

多语言既可以被Xml载入,也可以被Sql写入。

你可以像Icons那样,把多语言合并为Front-End,In-Game统一使用的一个文件,也可以像我一样,分开写,分开写的好处是,比没有分开写效率高一丢丢丢丢丢。

先做FrontEnd

首先,FrontEnd是最容易做的一部分:

新建个xml文件,命名规则可以按照我的来

我们在<GameData>中新建一个元素<LocalizedText>

应该是这样

然后我们就可以写文本啦

<Text> 文本

上面是芙芙Mod在加载时候的个人介绍。

文本具体有三个部分,它的整体是按照<Row>来划分的。

Row标签中有两个属性:Tag和Language。

首先,Tag是文本的Id,意思是你在你的Mod中预先配置好的文本Id或者是游戏中默认通过相对关系生成的Id(这句话很难理解,可以选择不理解)

其次,Language是游戏内部的语言Id,我这里展示所有的语言种类:

我绝望了,Gitbook的表格控件真是震撼我妈,大家复制出来粘贴在Excel看吧。

其中的Locale就是语言的id,Name是语言的方言名称。

然后<Row>元素中包裹着一个<Text>元素,<Text>元素中的内容是游戏中应该显示的文本,那么,芙芙这句话可以理解为:

引用LOC_TRAIT_LEADER_FATE_FOU_DESCRIPTION这个Id的英文环境下的文本是:Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!Fou!

现在我们来整理整理哪些东西是FrontEnd需要加载的:

  • 领袖名称

  • 领袖技能名称

  • 领袖技能说明

  • 文明名称

  • 文明技能名称

  • 文明技能说明

  • 特色单位、建筑、改良、区域等名称

大体上就是选择界面的那几个,现在我们根据这些线索,把他们的ID找出来:

我们目前只有这三项,所以我们只写这三项。

这是英文版本的,现在我们来复制这一部分两次,制作简体中文和繁体中文,当然,如果你不想做繁体中文,你只需要复制一次就可以了,最终,你应该有九条:

很好,现在你成功完成了这一部分,注意,我没有单纯的复制,我还修改了Language属性中的值,现在这三个Id,分别有了简体中文、繁体中文和英文的三种文本。

In-Game

InGame部分是最混乱的,因为游戏有大量的相对引用,暨没有明确的ID,会结合领袖ID,文明ID动态生成一些ID。

但是我为大家整合了这一部分(可能有错误),但是99%都是正确的,如果哪里有问题,可以联系我,我来改正。

你可以直接复制这一部分的<LocalizedText>放入到你In-Game中的文本Xml中,注意,如果你的Mod没有信仰和文明,你可以把这两个部分的代码去掉。

如刚才我们做FrontEnd一样,你可以把三个语言都写在一个Xml中,也可以分开建立三个Xml,分别写入每个语言,只要你保证你写的规则是正确的,游戏就可以读取。

你只需要把YYYYY_XXXXX_ZZZZZ替换为你的文明ID或者领袖ID就可以了(注意前缀不要重复,我已经写好了)。

其中还添加了Leader_Data中的文本Id,注意,当你发现有些地方的文本还是Id的时候,你就应该查一查哪个没有写,或者是写错了。

下面是我整个做完的内容:

特殊<Text>详解

{}

{}只可以写Id,意思是与目标id文本一致,比如:

当游戏调用LOC_PEDIA_LEADERS_PAGE_LEADER_FSN_ARCHER_EMIYA_CHAPTER_HISTORY_PARA_1时,实际上调用的是LOC_LOADING_INFO_LEADER_FSN_ARCHER_EMIYA。

[NEWLINE]

换行,没有特别的意义。

[COLOR][ENDCOLOR]

夹在这中间的文本会变成第一个括号的颜色,比如:

[COLOR_FLOAT_SCIENCE]Fate/EXTELLA LINK Charlemagne-Saber[ENDCOLOR]

这个意思是其中的文本变为游戏中科学文本颜色的蓝色。

[ICON]

其中填写代码为游戏中的图标代码,可以显示图标,比如:[ICON_GreatPerson],会显示伟人的小图标。

图标可以查大佬工具1.5。

大佬工具1.5文本生成器

第四个
当你游击时会弹出图标
点击生成后会显示图标代码
选中Mod目录会自动匹配文本Id

收尾

FrontEnd的UpdateText添加这个Xml
In-Game需要这两个文件,为什么?因为In-Game也需要我们FrontEnd写好的文本信息

现在我们来测试一下

选择界面
载入界面(我修复了第五章的图像问题)
外交界面
百科界面

至此,文本教程结束

相对引用是比较混乱的,所以如果你没有提前把Id写在上面,大佬工具1.5是不会搜索到相对引用的Id。

Last updated

Was this helpful?