|
|

楼主 |
发表于 2018-7-30 16:09:32
|
显示全部楼层
本帖最后由 天道玄虚 于 2018-9-4 03:17 编辑
编写预设模板文件的说明:
================================================================================
预设模板文件同样是一个xml文件,必须含有名称为【xmlbuilder】的文件头。
为识别预设模板作用的对象,第一个子项应与对象文件的文件头有着相同的名称和属性。例如fomod config文件的文件头:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://qconsulting.ca/fo3/ModConfig5.0.xsd"/>
因此,作用于fomod config文件的预设模板应:
<xmlbuilder>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://qconsulting.ca/fo3/ModConfig5.0.xsd"/>
...
</xmlbuilder>
第二个子项目之后,子项目名称均为【structure】,分别代表每一级项目的模板结构,可以包含两项属性:folder,unique。
【folder】的值应为下一级子项所在的目录,例如fomod config中,第一级的【folder】应等于:installSteps
而第二级则为:installStep\optionalFileGroups
【structure】的子项目决定解读规则,对每一个条目解释如下:
若条目无子项,则该项为属性声明,即对应于原本属于父项目的属性。其名称与父项目属性名相同,属性决定解读方式。
若条目有子项,则该项为项目目录结构,对应于父项目所包含的目录。
属性声明中,需要定义一下参数:
flag:决定属性的类别,包括:
【】选项:option:A|B|C(A、B、C为具体选项名)
——1.01B,新模板规则:当属性声明的flag标识为option时,tag应分别包含标签和选项标签,并以“|”分割,例如:<type flag="option:SelectAny|SelectOnlyOne" tag="Select Type|Select Any|Select Only One"/>
【】文段:paragraph
【】文本:text
【】文件:file
【】路径:path
【】隐藏:hide(不会被显示)
【】名字:name(拥有该标识的属性,其值为项目名,覆盖之前的指定,原则上不应多次指定)
tag:决定属性的显示标签,当希望翻译预设文件时,应翻译此项。
default:决定属性默认值,当新建属性时默认设定的值,隐藏属性应指定默认值。
auto:决定是否隐藏值为空的属性。
condition:决定是否依据目标属性是否为空隐藏当前属性。
text:当该项属性对应于项目文本时,应设定为true,同时该条属性声明的名称应为text。例如:
对于moduleName这一项,需要的值为项目文本,则声明应写作:
<moduleName>
<text flag="name" tag="" text="true" default="New Module"/>
</moduleName>
================================================================================
多语言模板:
=====================================
对于tag属性和default属性,如果其值以$开头,那么将会在语言部分自动检索对应当前语言的版本,当找不到对应语言时,将会自动选用最先声明的语言。
多语言声明:
在头文件识别下增加名称为【language】的子项,子项的【name】属性声明语言类型。
【language】子项下,统一使用【string】项目声明词条翻译
【string】的【name】属性对应于原文(需要包含$),【value】属性对应于译文。
例如fomod config的多语言声明如下:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://qconsulting.ca/fo3/ModConfig5.0.xsd">
<language name="English">
<string name="$NewMod" value="New Module"/>
<string name="$NewStep" value="New InstallStep"/>
<string name="$NewGroup" value="New FileGroup"/>
<string name="$NewPlugin" value="New FilePlugin"/>
<string name="$Condition" value="Condition"/>
<string name="$GroupOption" value="Select Type|Select Any|Select Only One"/>
<string name="$Description" value="Description"/>
<string name="$PluginImage" value="Plugin Image"/>
<string name="$SourFile" value="Source File"/>
<string name="$SourPath" value="Source Path"/>
<string name="$DestPath" value="Destination"/>
<string name="$PluginOption" value="Plugin Type|Required|Recommended|Optional"/>
</language>
<language name="简体中文">
<string name="$NewMod" value="新模组"/>
<string name="$NewStep" value="新步骤"/>
<string name="$NewGroup" value="新组别"/>
<string name="$NewPlugin" value="新选项"/>
<string name="$Condition" value="条件"/>
<string name="$GroupOption" value="类型|任意选择|唯一选择"/>
<string name="$Description" value="描述"/>
<string name="$PluginImage" value="选项图片"/>
<string name="$SourFile" value="源文件"/>
<string name="$SourPath" value="源路径"/>
<string name="$DestPath" value="目标路径"/>
<string name="$PluginOption" value="选项类型|必需|推荐|可选"/>
</language>
<language name="繁體中文">
<string name="$NewMod" value="新模組"/>
<string name="$NewStep" value="新步驟"/>
<string name="$NewGroup" value="新組別"/>
<string name="$NewPlugin" value="新選項"/>
<string name="$Condition" value="條件"/>
<string name="$GroupOption" value="類型|任意選擇|唯壹選擇"/>
<string name="$Description" value="描述"/>
<string name="$PluginImage" value="選項圖片"/>
<string name="$SourFile" value="源文件"/>
<string name="$SourPath" value="源路徑"/>
<string name="$DestPath" value="目標路徑"/>
<string name="$PluginOption" value="選項類型|必需|推薦|可選"/>
</language>
</config>
=====================================
|
|