Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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#:资源文件重构_C#_Visual Studio 2008_Localization_Resx - Fatal编程技术网

C#:资源文件重构

C#:资源文件重构,c#,visual-studio-2008,localization,resx,C#,Visual Studio 2008,Localization,Resx,有人知道在VisualStudio2008解决方案中重构资源的好工具吗 在用于本地化应用程序的程序集中,我们有许多带有翻译文本的资源文件。但是他们变得有点乱。。。我想重命名一些键,并将其中一些移动到其他资源文件中。我希望在我的代码和资源文件的翻译版本中完成这些更改。也许可以分析一下翻译版本中缺少了哪些字符串,以及从原始版本中删除了哪些字符串 有谁知道一个好的VisualStudio扩展或ReSharper插件可以帮我解决这个问题吗?现在这有点痛苦,因为我必须首先在基本资源文件中重命名密钥,然后在

有人知道在VisualStudio2008解决方案中重构资源的好工具吗

在用于本地化应用程序的程序集中,我们有许多带有翻译文本的资源文件。但是他们变得有点乱。。。我想重命名一些键,并将其中一些移动到其他资源文件中。我希望在我的代码和资源文件的翻译版本中完成这些更改。也许可以分析一下翻译版本中缺少了哪些字符串,以及从原始版本中删除了哪些字符串


有谁知道一个好的VisualStudio扩展或ReSharper插件可以帮我解决这个问题吗?现在这有点痛苦,因为我必须首先在基本资源文件中重命名密钥,然后在本地化版本中重命名密钥。然后进行编译,以获取由密钥导致的所有编译错误,这些密钥现在具有不同的名称,然后进行检查并修复所有这些错误。。。非常烦人=/

当您需要将代码中的大量字符串移动到资源时,RGreatEx非常适合。但在这种情况下,这是无济于事的。
没有这样的插件(*这意味着我从来没有见过这样的插件,也没有在谷歌中找到过,但有一些本地化程序可以帮助翻译成新的语言-和)。但是你很容易(可能)不用它就可以做到这一点。
您只需编写一些小工具,为几个选定的resx文件生成选定语言的字符串通用字典,并将其存储在某处。您需要创建的另一个工具是一个工具,它将使用更改后的resx作为模板,并使用以前的工具生成的字典来生成新的resx文件(更改后)。

当然,所有新的和更改的字符串都将丢失,但这可以手动修复。这不会花费太多时间(特别是当您在新一代resx中添加功能来编写丢失字符串的日志时)。

我们正在研究本地化我们的软件,我认为它实现了您的要求(可能有点过分了?

似乎是ReSharper 5中的一些新功能有助于实现这一点

这个演示展示了ReSharper 5如何帮助您快速地将代码中的字符串本地化,而不会破坏常规工作流。使用ReSharper 5处理资源文件不再是开发人员的噩梦


我只是偶然发现了这个问题,这促使我在博客上写下我用什么来解决这个问题

我有两个PowerShell脚本,一个用于重命名资源密钥,另一个用于将资源密钥从一个资源文件移动到另一个资源文件

使用这些脚本,我可以重命名资源密钥:

.\RenameResource.ps1 oldKey newKey
我可以将密钥为“keyName”的资源从名为“ResourceFile1.resx”的文件移动到“ResourceFile2.resx”:

.\MoveResource.ps1 ResourceFile1 ResourceFile2 keyName

我快速查看了一下,它似乎声称可以做这些事情的大部分,但它不能正常工作。将字符串移动到资源文件后,会使ReSharper崩溃,甚至不会出现重命名对话框。不确定它是否能够将资源从一个文件移动到另一个文件…Resharper 6。具有更多本地化功能