Интернационализация

Интернационализация приложений нередко усложняет жизнь .NET-разработчиков, поскольку подразумевает трудоемкий процесс переноса строк в файлы ресурсов и поддержку наборов ресурсов во разных культурах.

ReSharper значительно упрощает работу над многоязычными приложениями благодаря поддержке файлов .resx и использования ресурсов в коде на C#, VB.NET, ASP.NET и XAML. Безопасные рефакторинги, удобная навигация, инспекции кода и быстрые исправления помогут сэкономить время при локализации.

ReSharper выявляет строки, которые можно переместить в ресурсные файлы

Подсветка локализуемых строк

ReSharper находит строки, которые можно локализовать, подсвечивает их и помогает перенести в файл ресурсов.

В зависимости от настроек проекта, ReSharper может подсвечивать все жестко закодированные строковые литералы или только те, которые явно помечены как Localizable (true).

Перенос локализуемой строки в файл ресурсов

Перенос строк в файлы ресурсов

Когда ReSharper находит локализуемую строку, он помогает как можно быстрее перенести ее в файл ресурсов. Дополнительно можно выполнить поиск идентичных строк и применить рефакторинг, чтобы вместо них использовался новый элемент ресурса.

Строки, которые можно перенести в файл ресурсов, могут подчеркиваться или не подчеркиваться в зависимости от настроек проекта. Если строка не выделена фигурным подчеркиванием, нажмите Ctrl+Shift+R и выберите рефакторинг Move to Resource. Если же строка подчеркнута, как на скриншоте слева, вы можете нажать Alt+Enter и применить рефакторинг из списка быстрых исправлений.

В дополнение к строкам, используемым в коде C# и VB.NET, ReSharper может обрабатывать строки из файлов разметки в веб-приложениях и произвольные строки HTML.

Рефакторинги для ресурсов

Рефакторинги

Помимо переноса строк в файлы ресурсов в ReSharper можно совершать и другие действия с помощью рефакторингов:

  • Move Resource перемещает текущий ресурс в другой файл ресурсов.
  • Rename Resource помогает изменить атрибут name в ресурсе.
  • Inline Resource удаляет ресурс из файла ресурсов и заменяет все его использования исходной строкой.
  • Safe Delete Resource попробует удалить ресурс вместе со всеми его использованиями, не нарушая код. Если Resharper обнаружит, что некоторые использования небезопасно удалять автоматически, он предложит отредактировать их вручную перед рефакторингом.

Подробнее о других автоматизированных преобразованиях в ReSharper читайте в разделе «Рефакторинги».

ReSharper подсвечивает все проблемы с кодом, обнаруженные в файлах ресурсов

Инспекции кода в файлах ресурсов

В ReSharper предусмотрены несколько инспекций кода, которые помогают выявить типичные проблемы с использованием ресурсов.

В частности, ReSharper предупредит о том, что какое-то значение ресурса не переопределяется в конкретной культуре или переопределяется тем же именем, которое используется в файле ресурсов, не зависящем от культуры. ReSharper уведомляет о дублирующихся именах ресурсов в пределах одного ресурсного файла и даже может обнаруживать отсутствующие или избыточные подстановки в форматирующих строках в значениях ресурсов.

При обнаружении подобных проблем, ReSharper подсветит их в редакторе. Кроме того, с помощью функции Find Code Issues вы можете просмотреть все проблемы в файлах ресурсов и перейти к ним.

И конечно, в ReSharper есть быстрые исправления для немедленного решения всех этих проблем.

ReSharper находит использования ресурсов в коде на C# и VB.NET, а также в разметке ASP.NET

Поиск использований ресурсов

Функция Find Usages без проблем работает с ресурсами. ReSharper помогает находить вхождения ресурса как из кода, так и из файлов ресурса.

Навигация между ресурсными файлами для определенных культур

Навигация между ресурсами и культурами

Действия Go to Derived Symbols и Go to Base позволяют переходить от элементов ресурсов в культурно-нейтральном файле ресурсов к соответствующим элементам в ресурсных файлах для определенных культур и наоборот.

ReSharper показывает структуру файлов ресурсов

Просмотр структуры файла ресурсов

Для просмотра структуры файла ресурсов в ReSharper предусмотрен специальный вариант окна File Structure. В нем перечислены все ресурсы в файле, отображаются идентификаторы ресурсов, текст ресурса в текущей культуре и комментарии. Кроме того, в этом окне инструмента указывается, переопределяются ли элементы ресурсов для других культур, и содержат ли они подстановки форматирования.

Обратите внимание:

Все сочетания клавиш, приведенные на этой странице, соответствуют набору сочетаний «Visual Studio», использующемуся в ReSharper по умолчанию. Подробнее о двух наборах сочетаний клавиш, доступных в ReSharper, вы можете узнать в его документации.