Интернационализация приложений нередко усложняет жизнь .NET-разработчиков, поскольку подразумевает трудоемкий процесс переноса строк в файлы ресурсов и поддержку наборов ресурсов во разных культурах.
ReSharper значительно упрощает работу над многоязычными приложениями благодаря поддержке файлов .resx и использования ресурсов в коде на C#, VB.NET, ASP.NET и XAML. Безопасные рефакторинги, удобная навигация, инспекции кода и быстрые исправления помогут сэкономить время при локализации.
ReSharper находит строки, которые можно локализовать, подсвечивает их и помогает перенести в файл ресурсов.
В зависимости от настроек проекта, ReSharper может подсвечивать все жестко закодированные строковые литералы или только те, которые явно помечены как Localizable (true).
Когда ReSharper находит локализуемую строку, он помогает как можно быстрее перенести ее в файл ресурсов. Дополнительно можно выполнить поиск идентичных строк и применить рефакторинг, чтобы вместо них использовался новый элемент ресурса.
Строки, которые можно перенести в файл ресурсов, могут подчеркиваться или не подчеркиваться в зависимости от настроек проекта. Если строка не выделена фигурным подчеркиванием, нажмите Ctrl+Shift+R и выберите рефакторинг Move to Resource. Если же строка подчеркнута, как на скриншоте слева, вы можете нажать Alt+Enter и применить рефакторинг из списка быстрых исправлений.
В дополнение к строкам, используемым в коде C# и VB.NET, ReSharper может обрабатывать строки из файлов разметки в веб-приложениях и произвольные строки HTML.
Помимо переноса строк в файлы ресурсов в ReSharper можно совершать и другие действия с помощью рефакторингов:
name в ресурсе. Подробнее о других автоматизированных преобразованиях в ReSharper читайте в разделе «Рефакторинги».
В ReSharper предусмотрены несколько инспекций кода, которые помогают выявить типичные проблемы с использованием ресурсов.
В частности, ReSharper предупредит о том, что какое-то значение ресурса не переопределяется в конкретной культуре или переопределяется тем же именем, которое используется в файле ресурсов, не зависящем от культуры. ReSharper уведомляет о дублирующихся именах ресурсов в пределах одного ресурсного файла и даже может обнаруживать отсутствующие или избыточные подстановки в форматирующих строках в значениях ресурсов.
При обнаружении подобных проблем, ReSharper подсветит их в редакторе. Кроме того, с помощью функции Find Code Issues вы можете просмотреть все проблемы в файлах ресурсов и перейти к ним.
И конечно, в ReSharper есть быстрые исправления для немедленного решения всех этих проблем.
Функция Find Usages без проблем работает с ресурсами. ReSharper помогает находить вхождения ресурса как из кода, так и из файлов ресурса.
Действия Go to Derived Symbols и Go to Base позволяют переходить от элементов ресурсов в культурно-нейтральном файле ресурсов к соответствующим элементам в ресурсных файлах для определенных культур и наоборот.
Для просмотра структуры файла ресурсов в ReSharper предусмотрен специальный вариант окна File Structure. В нем перечислены все ресурсы в файле, отображаются идентификаторы ресурсов, текст ресурса в текущей культуре и комментарии. Кроме того, в этом окне инструмента указывается, переопределяются ли элементы ресурсов для других культур, и содержат ли они подстановки форматирования.
Все сочетания клавиш, приведенные на этой странице, соответствуют набору сочетаний «Visual Studio», использующемуся в ReSharper по умолчанию. Подробнее о двух наборах сочетаний клавиш, доступных в ReSharper, вы можете узнать в его документации.