【问题标题】:How to sort a . resx (resource file) in .NET如何对 . .NET 中的 resx(资源文件)
【发布时间】:2011-04-28 13:56:57
【问题描述】:

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

所以,一开始是这样的:

<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>

那么,有没有办法通过&lt;data name 属性对.resx 文件中的这些元素进行排序?

【问题讨论】:

    标签: .net asp.net sorting resources resx


    【解决方案1】:

    SortRESX 是 Tom Clement 在 CodeProject 上创建的简单可执行文件。

    它按字母顺序对 *.resx 文件进行排序。我描述了它on my blog

    【讨论】:

    • 我可以让 Visual Studio(或 git)在合并之前自动执行 SortRESX 程序吗?怎么样?
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      我写了一个 very simple VS extension 来对 resx 文件进行排序。 右键单击任何 .resx 文件,然后单击“排序 Resx”。

      【讨论】:

      • 看来你已经过时了,插件不会安装在vs 2015上
      • 我 fork 你的项目,重新编译,然后安装,但是资源文件上没有按钮,我还在source.extension.vsixmanifest 中添加了所有类型的 VS 到 Install Target,但它也没有带来任何新的上下文菜单。 :|
      • 感谢您的反馈。它已经过时了——我推荐使用Resx Manager——他们最近增加了排序功能。
      • 谢谢。安装 Resx Manager 后,您的排序图标也出现了。
      • 如果它只与 VS 2015 兼容就会使用它
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 2016-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多