如何排序。 .NET中的resx(资源文件)

时间:2011-04-28 13:56:58

标签: .net asp.net sorting resources resx

我的项目中的资源文件有问题。当我用英语创建一个时,我把它交给了翻译团队。不知何故,他们以不同的顺序返回了资源文件,因此没有按字母顺序排序。

所以,起初它是:

<data name="a1" xml:space="preserve">
   <value>some text2</value>
</data>
<data name="b1" xml:space="preserve">
   <value>some text3</value>
</data>
<data name="c1" xml:space="preserve">
   <value>some text1</value>
</data>

我收到了:

<data name="c1" xml:space="preserve">
   <value>some text1</value>
</data>
<data name="a1" xml:space="preserve">
   <value>some text2</value>
</data>
<data name="b1" xml:space="preserve">
   <value>some text3</value>
</data>

那么,有没有办法按<data name属性对.resx文件中的元素进行排序?

3 个答案:

答案 0 :(得分:6)

我找到了一个软件: SortRESX 它由Tom Clement创建,你可以在这里找到它: http://www.codeproject.com/KB/cs/ResxMergeUtility.aspx

它是简单的可执行文件,它按字母顺序排序resx文件。这对我很有帮助。 我甚至在我的博客上描述过它。

https://tijanavujanac.posterous.com/resxdiff-solving-the-resx-merge-problem:)

答案 1 :(得分:4)

您可以使用LINQ to XML编写一个快速脚本来执行此操作:

var root = XElement.Load(...);
var sortedRoot = new XElement(root.Name, root.Attributes,
        root.Elements().OrderBy(e => e.Attribute("name").Value)
);

答案 2 :(得分:3)

我写了一个very simple VS extension来排序resx文件。 右键单击任何.resx文件,然后单击&#34; Sort Resx&#34;。

相关问题