2009-06-05 2 views
3

Кто-нибудь знает о хорошем инструменте для рефакторинга ресурсов в решении visual studio 2008?C#: рефакторинг файлов ресурсов

У нас есть несколько файлов ресурсов с переводом текста в сборке, используемой для локализации нашего приложения. Но они немного запутались ... Я хотел бы переименовать некоторые из ключей и переместить некоторые из них в другие файлы ресурсов. И я хотел бы, чтобы эти изменения были внесены в мой код и переведенные версии файлов ресурсов. Может быть, некоторый анализ того, что строки отсутствуют в переведенных версиях, и какие строки были удалены из оригинала, а также ...

Кто-нибудь знает о хорошем расширении визуальной студии или плагине ReSharper, который может помочь мне с этим ? Сейчас это немного боль, потому что я должен сначала переименовать ключ в файл базового ресурса, а затем в локализованные версии. И затем скомпилируйте, чтобы получить все ошибки компиляции в результате ключа, у которого теперь есть другое имя, а затем пройти и исправить их все ... очень раздражает =/

+0

Я взял быстрый взгляд на http://safedevelop.com/Products/RGreatEx, который, кажется, утверждают, что сделать большинство из этих вещей, но он не работает должным образом. Делает перезагрузку ReSharper после перемещения строк в файл ресурсов, а диалог переименования даже не появляется. Не уверен, что у него есть возможность переместить ресурс из одного файла в другой либо ... – Svish

ответ

0

Кажется, некоторые новые функции в ReSharper 5, который помогает с этим

Localizing your Applications with ReSharper 5

Этот пример показывает, как ReSharper 5 помогает сделать строки в вашем коде быстро локализуемого, не нарушая ваш обычный рабочий процесс. не Работа с файлами ресурсов больше не кошмар разработчика с ReSharper 5.

+0

Resharper 6. имеет больше возможностей для локализации http://www.jetbrains.com/resharper/webhelp/Resources__Index.html –

0

RGreatEx подходит, когда вам нужно переместить много строки в коде для ресурсов. Но в этом случае это не поможет.
Нет такого плагина (* это означает, что я никогда не видел таких и не нашел в Google, но есть некоторые локализаторы, которые могут помочь перевести на новый язык - http://www.peoplewords.com/download/ResxEditor.aspx и http://sourceforge.net/projects/resx/ и http://www.resx-localization-studio.net/ и http://madskristensen.net/post/A-NET-resource-editor-application-for-resx-files.aspx). Но вы легко (возможно) можете сделать это без него.
Все, что вам нужно, это написать небольшой инструмент, который будет генерировать общий словарь строк для выбранного языка для нескольких выбранных файлов resx и хранить его где-нибудь. Еще один инструмент, который вам нужно создать, - это инструмент, который будет генерировать новые файлы resx (после ваших изменений) с использованием измененных resxs в качестве шаблонов и использования словаря, сгенерированного предыдущим инструментом.
Конечно, все новые и измененные строки будут отсутствовать, но это можно исправить вручную. Это займет не так много времени (особенно если вы добавите функции для записи журнала отсутствующих строк во время генерации нового resx).

0

Посмотрел в Sisulizer локализовать наше программное обеспечение, и я думаю, что он выполняет то, что вы просите (немного избыточно возможно?)

1

Я просто наткнулся этот вопрос, который побудил меня в блоге о том, что я использую для этой проблемы здесь Moving and renaming resource keys in a .resx file.

У меня есть два сценария PowerShell, который переименовывает ключ ресурса и тот, который перемещает ключ ресурса из одного файла ресурсов в другой.

Используя эти сценарии, я могу переименовать ключ ресурса:

.\RenameResource.ps1 oldKey newKey 

И я могу переместить ресурс с ключом «KEYNAME» из файла с именем «ResourceFile1.resx» в «ResourceFile2.Resx»:

.\MoveResource.ps1 ResourceFile1 ResourceFile2 keyName 
Смежные вопросы