【问题标题】:Editing multiple resource file keys at once in visual studio在 Visual Studio 中一次编辑多个资源文件键
【发布时间】:2014-01-28 11:00:14
【问题描述】:

我有一个 c# 应用程序,我使用 Visual Studio 2013 来开发它。在尝试支持 i18n 时,为每种语言制作了资源文件:

resources.en.resx
resources.fr.resx
resources.es.resx
resources.de.resx and so on...

我想将所有资源文件的 KEY(而不是值)更改为更具描述性的内容,例如将“Header.Text”更改为“MainExceptionTitle.Text”目前,我认为没有办法做到这一点,只能更改它在每个文件中手动进行,非常繁琐。

我查看了zeta resource editor 项目,但它也只允许编辑值而不是键。

有没有办法做到这一点?

【问题讨论】:

    标签: c# visual-studio resourcebundle


    【解决方案1】:

    我也使用过 Zeta - 这对我有用:

    • 在 zeta 中创建包含多种语言的独立项目
    • 同时编辑键和本地(国家)值

    不可行的是更改命名约定,以便在 Visual Studio 中编译。

    ..resx 的命名会导致在 Visual Studio 中无法在 ASP.NET 项目中编译的独立资源文件 - .design 文件无法编译。

    将文件名更改为以下约定 _.resx 时,Zeta 无法再管理文件,但 Visual Studio 会编译相应的 .Design 文件。

    ...互斥??

    【讨论】:

    • 对不起,我不明白你的回答。我如何阅读前 3 行是:“Zeta 为我工作,并允许我编辑键”
    • 哦...让我澄清一下。 Zeta 对齐键和国家变化,在一行中对齐。示例 "MY_SPECIAL_KEY" => Danisk "Min special Nøgle",英文 => "My special key"。附加也可以将密钥标识从 MY_SPECIAL_KEY 更改为例如MY_COMMON_KEY。无论如何,我了解到 Zeta 是开源的。因此我在github上克隆了程序,并对其进行了修改,以及它如何遵循约定<projectname>_<national tag>.resx该项目可从:github
    【解决方案2】:

    由于.resx 文件是 XML,您可以对它们进行简单的查找和替换。

    使用 Visual Studio 的 Replace in Files 工具对所有 .resx 文件执行此操作,如下所示:

    【讨论】:

      【解决方案3】:

      如果你安装了 Resharper,有一个非常简单安全的方法:

      1. 打开匹配的设计器文件(这是从 resx 生成的 C# 文件,名为 <ResxFileName>.Designer.cs)。
      2. 导航到有问题的资源属性。您将在此处找到 resx 文件中定义的每个键的静态属性。
      3. 使用 Resharper 重命名命令(在我的机器上为 Ctrl-R、Ctrl-R)。

      Resharper 会打开“重命名资源”对话框,该对话框会正确更新所有资源键。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        • 2017-08-07
        • 2011-03-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多