Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在visual studio中同时编辑多个资源文件键_C#_Visual Studio_Resourcebundle - Fatal编程技术网

C# 在visual studio中同时编辑多个资源文件键

C# 在visual studio中同时编辑多个资源文件键,c#,visual-studio,resourcebundle,C#,Visual Studio,Resourcebundle,我有一个c#应用程序,我使用visual studio 2013来开发它。在尝试支持i18n时,为每种语言创建了资源文件: resources.en.resx resources.fr.resx resources.es.resx resources.de.resx and so on... 我想将所有资源文件的键(而不是值)更改为更具描述性的内容,例如将“Header.Text”更改为“main exceptiontitle.Text”。目前,除了在每个文件中手动更改外,我看不到其他方法,这

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

resources.en.resx
resources.fr.resx
resources.es.resx
resources.de.resx and so on...
我想将所有资源文件的键(而不是值)更改为更具描述性的内容,例如将“Header.Text”更改为“main exceptiontitle.Text”。目前,除了在每个文件中手动更改外,我看不到其他方法,这非常繁琐

我查看了这个项目,但它也只允许编辑值,而不允许编辑键


有什么方法可以做到这一点吗?

我也用过Zeta——这对我来说很有用:

  • 在zeta中创建包含多种语言的独立项目
  • 编辑键和本地(国家)值
不起作用的是更改命名约定,以便在VisualStudio中编译

..resx的命名会导致在ASP.NET项目中的visual studio中无法编译的标准资源文件,.design文件无法编译

将文件名更改为以下约定时ux.resx,Zeta无法再管理文件,但visual studio编译相应的.Design文件


。。。相互排斥???

因为
.resx
文件是XML,所以您可以对它们进行简单的查找和替换

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


如果您安装了Resharper,有一种非常简单和安全的方法:

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

  • Resharper打开“重命名资源”对话框,该对话框将正确更新所有资源密钥。

    对不起,我不明白您的答案。我如何阅读前三行是:“泽塔为我工作,允许我编辑键”哦。。。让我澄清一下。Zeta在一行中对齐关键点和国家变体。示例“MY_SPECIAL_KEY”=>Danisk“Min SPECIAL Nøgle”,英语中为=>MY SPECIAL KEY。另外,还可以将密钥标识从MY_SPECIAL_密钥更改为MY_COMMON_密钥。无论如何,我知道Zeta是开源的。因此,我在github上克隆了该程序,并对其进行了修改,以及它如何遵循约定。resx该项目可从以下网站获得: