resx 文件中快捷方式的语言问题

jb1*_*b17 8 c# resx shortcut visual-studio

I\xc2\xb4m 在德语版本中使用 Visual Studio 2017。我们项目的另一个程序员使用英文版本。现在我们\xc2\xb4项目的.resx文件出现了问题。我们创建了一些菜单项并为它们提供键盘快捷键。因为我们是在英文VS中创建的,所以.resx文件中的ShortcutKeys的名称是英文的:

\n\n
<data name="Example.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">\n<value>Ctrl+O</value> \n
Run Code Online (Sandbox Code Playgroud)\n\n

现在如果我想在德语VS版本中编译代码,我\xc2\xb4ve得到以下错误:

\n\n
\n

Ung\xc3\xbcltige ResX-Datei。按下“Ctrl”键即可恢复正常。

\n
\n\n

用英语讲:

\n\n
\n

ResX 文件无效。找不到请求的值“\'Ctrl”

\n
\n\n

该错误可以通过此编辑来纠正(“Strg”而不是“Ctrl”):

\n\n
<data name="Example.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">\n<value>Strg+O</value> \n
Run Code Online (Sandbox Code Playgroud)\n\n

有没有更简单的方法来解决这个问题?\n因为这样的快捷方式有很多,我们不可能每次都这样解决每个快捷方式的错误。

\n

dum*_*mmy 5

这里也描述了这个问题。

这个解决方案对我有用:

您可以使用“中性”键名称,例如“Control”而不是“Ctrl”或“Strg”。如果在 .resx 文件中使用 System.Windows.Forms.Keys 中的键名称,则可以使用所有语言版本的 Visual Studio 打开它们。不幸的是,Windows 窗体设计器使用损坏的(本地化)键盘快捷键保存 .resx 文件。