如何比较多个.resx文件?

时间:2008-09-25 22:37:49

标签: .net resources resx

如何比较两个(或更多)大.resx文件的内容?每个文件中有数百个名称/值对,查看组合版本非常有用。我对中性文化中存在的名称/值对特别感兴趣,但在文化特定版本中也没有指定。

7 个答案:

答案 0 :(得分:31)

有一个很棒的免费工具可以编辑resx文件,您可以同时查看多种语言并清楚地看到缺少的内容或额外内容 - Zeta Resource Editor

答案 1 :(得分:7)

虽然它本身不是差异工具,RESX Synchronizer可能会帮助你。它的主要用途是使用中性语言中的新条目更新本地化.resx文件,并删除所有已删除的项目。

可能,使用/ v命令行开关生成的输出将是您所需要的。否则,它会带有完整的C#源代码,因此您可以根据需要进行调整。

答案 2 :(得分:5)

答案 3 :(得分:4)

如果匹配的元素在两个文件中的出现顺序不同,那么在XML文件上使用简单的diff就完全没用了。我一直在寻找一种特定于XML的差异工具,到目前为止还没有成功。

与此同时,我一直在使用的解决方法是:

  • 在Visual Studio中打开.resx个文件。
  • 选择所有[ Ctrl + A ]并剪切[ Ctrl + X ](这可能需要一个而对于大文件 - 耐心等待)
  • 粘贴[ Ctrl + V ]并保存(这将重新创建按键排序的.resx个文件)

当这两个文件因此被重新排序时,正常的差异变得更加容易。您现在可以通过浏览差异来快速找到丢失的密钥。

答案 4 :(得分:4)

对于较新版本的Visual Studio(2010+),现在有一个名为ResXManager的Visual Studio扩展(由tomenglert创建),这对此非常了不起。

它允许您并排查看每种语言的每个资源,并突出显示缺少的资源。 (以下示例来自扩展下载页面。)

Example From Extension Download Page

答案 5 :(得分:0)

您可以使用XML Diff编写代码。请参阅 Using the XML Diff and Patch Tool in Your Applications

答案 6 :(得分:-1)

您可以使用TortoiseSVN的差异工具(如果您使用的是Windows)。只需选择两个文件,右键单击,然后从TortoiseSVN子菜单中选择“diff”。