定义地区文本
Civ6所用到的所有英文文本文件可以在Assets/Text/en_US
中找到,不同语言的地区文本文件可以在Assets/Text/Translations
里找到。
例子
我们时常会想要增加或改变游戏中出现的文本,在一个Mod中,我给游戏增加了一个叫做圣地亚哥集团的建筑,并在定义建筑时用到了两个变量:名称与描述,变量名分别为:LOC_BUILDING_SANTIAGO_CO_NAME
与LOC_BUILDING_SANTIAGO_CO_DESCRIPTION
。那么,在另外一个独立的SANTIAGO_CO_Text.xml
中,我便如此写道:
<?xml version="1.0" encoding="UTF-8"?>
<GameData>
<LocalizedText>
<!-- en_US -->
<Replace Tag="LOC_BUILDING_SANTIAGO_CO_NAME" Language="en_US">
<Text>Santiago Corporation</Text>
</Replace>
<Replace Tag="LOC_BUILDING_SANTIAGO_CO_DESCRIPTION" Language="en_US">
<Text>American Unique Building</Text>
</Replace>
<!-- zh_Hans_CN -->
<Replace Tag="LOC_BUILDING_SANTIAGO_CO_NAME" Language="zh_Hans_CN">
<Text>圣地亚哥集团</Text>
</Replace>
<Replace Tag="LOC_BUILDING_SANTIAGO_CO_DESCRIPTION" Language="zh_Hans_CN">
<Text>美国特色建筑</Text>
</Replace>
</LocalizedText>
</GameData>
要注意的是,地区文本文件的一级标签是<GameData>
,而不是在其他文件中的<GameInfo>
。
这里我们使用到了Replace这一个命令,它同样是数据库操作,当在数据库中找到相应的条目时,它起到Update的作用,将原本的值修改成当前值,当在数据库中找不到相应的条目时,它起到Row的作用,新增了这个条目。
地区文本文件需要在Modinfo文件中Components/LocalizedText中导入。