Javascript 创建独立的coldfusion文件(cfml),用于比较文件并获取缺少的标签
我正在使用,它有一些Javascript 创建独立的coldfusion文件(cfml),用于比较文件并获取缺少的标签,javascript,coldfusion,cfml,Javascript,Coldfusion,Cfml,我正在使用,它有一些.properties扩展文件,用于标记和翻译web内容 在我们的应用程序中,我们可以有几个xxx.properties和其他xxx_yy.properties其中xxx是属性的名称,yy是语言翻译。没有yy的是默认语言 下面是一个默认属性文件的示例,其中包含西班牙语和法语翻译文件以及标签添加用户、编辑用户、删除用户: 用户属性 add_user = Add website user edit_user = Edit website user
.properties
扩展文件,用于标记和翻译web内容
在我们的应用程序中,我们可以有几个xxx.properties
和其他xxx_yy.properties
其中xxx
是属性的名称,yy
是语言翻译。没有yy
的是默认语言
下面是一个默认属性文件的示例,其中包含西班牙语和法语翻译文件以及标签添加用户、编辑用户、删除用户
:
用户属性
add_user = Add website user
edit_user = Edit website user
delete_user = Delete website user
add_user = Agregar usuario web
edit_user = Editar usuario web
delete_user = Eliminar usuario web
add_user = Ajouter un utilisateur du site Web
edit_user = Modifier l utilisateur du site Web
delete_user = Supprimer l utilisateur du site Web
用户属性
add_user = Add website user
edit_user = Edit website user
delete_user = Delete website user
add_user = Agregar usuario web
edit_user = Editar usuario web
delete_user = Eliminar usuario web
add_user = Ajouter un utilisateur du site Web
edit_user = Modifier l utilisateur du site Web
delete_user = Supprimer l utilisateur du site Web
用户属性
add_user = Add website user
edit_user = Edit website user
delete_user = Delete website user
add_user = Agregar usuario web
edit_user = Editar usuario web
delete_user = Eliminar usuario web
add_user = Ajouter un utilisateur du site Web
edit_user = Modifier l utilisateur du site Web
delete_user = Supprimer l utilisateur du site Web
我需要做的是创建一个独立的cfml文件,该文件检索应用程序上的所有.properties
文件,并将每个默认.properties文件与其其他翻译文件进行比较,并显示所比较文件缺少的标签(如果存在)
到目前为止,我所能做的是检索查询中的所有属性文件,使用名称和路径,并打印每个属性文件
propertiesFiles = directoryList("/application/i18n/", true, "query", "*.properties", "Directory", "all");
<cfoutput query="propertiesFiles">
#propertiesFiles.name &" "& propertiesFiles.Directory#
</cfoutput>
propertiesFiles=directoryList(“/application/i18n/”,true,“query”、“*.properties”、“Directory”、“all”);
#propertiesFiles.name&“”&propertiesFiles.Directory#
有人能告诉我如何使用coldfusion进行循环逻辑,并将默认文件的标签与他的翻译进行比较吗?或者告诉我一个简单的方法?也许嵌入javascript
提前感谢将每个文件加载到结构中,以便所有名称-值对都已知 因此,对于每个文件,循环遍历一个结构上的所有键,以查看第二个结构中是否缺少这些键
也可以考虑将所有这些数据加载到数据库中。DB更擅长处理数据集。
循环函数是一种选择。有问题的文件看起来像是由cairraige返回分隔的一组行。然后,每一行看起来像一个由等号分隔的列表 此外,还有一个用户定义函数的在线库可供使用。它包括一个名为的函数,可以应用于这种情况 我的方法的第一步是编写一个名为getLabels
的函数,返回每个文件中的标签列表。会的
labels
且值为空字符串的变量ListFirst(delimiter=“=”)获取每个标签,并将其附加到
labels`变量标签
变量user.properties
获取标签。调用此变量AllLabels
然后开始循环执行由
directoryList
命令创建的查询。使用getLabels
函数从每个文件中获取标签,使用listCompare
函数识别丢失的标签。这一切的哪一部分是标签?抱歉,丹,我给出的示例中的标签是添加用户、编辑用户、删除用户。我用信息更新了描述。虽然你可以自己滚动,但是已经有了。此外,文件命名约定是非标准的。i18n通常使用地区语言和国家代码,如“es”,而不是“sp”。例如<代码> SnimaMeIs.Stase(西班牙语)或<代码> SnimaMeMeSejes。属性(西班牙语-西班牙),这是一个属性文件格式,该语句被认为是字符串。我们不能将其拆分为结构键、值对。因为当你读文件时,所有的行都被认为是单行句。读取每一行,然后使用=作为列表定界符来获得关键字和短语值,即键=某个短语。