Winres.exe (редактор для локализации ресурсов Windows)

Редактор для локализации ресурсов Windows (Winres.exe) — это программа визуальной разметки, используемая при локализации ресурсов пользовательского интерфейса Windows Forms. Вы можете создать RESX - или RESOURCES-файлы , которые используются в качестве входных данных для Winres.exe, используя среду визуального проектирования, например Microsoft Visual Studio. Информацию о развертывании ресурсов в приложениях .NET Framework см. в разделе Ресурсы в приложениях .NET.

Приложение Winres.exe устанавливается вместе с Visual Studio. Для запуска этого средства используйте Командную строку разработчика или PowerShell для разработчиков в Visual Studio.

Предупреждение

Не открывайте ненадежные файлы с помощью этого средства. Если файл является двоичным, он будет десериализоваться с помощью двоичной десериализации, что небезопасно. Дополнительные сведения см. в разделе Риски десериализации при использовании BinaryFormatter и связанных типов.

Синтаксис

winres resourceFile
winres /?

Аргументы

Аргумент Описание
resourceFile Файл ресурсов, который требуется локализовать. Это должен быть файл ресурсов Windows Forms с расширением RESX или RESOURCES, созданный с помощью конструктора Visual Studio. Программа Winres.exe не может открывать универсальные RESX-файлы и RESOURCES-файлы.
Параметр Описание
/? Отображает синтаксис команд и параметров программы.

Примечания

Состояние элементов пользовательского интерфейса из формы в проекте Windows Forms обычно хранится в файлах ресурсов, которые являются xml-файлами с расширением RESX или соответствующими скомпилированными двоичными версиями с расширением RESOURCES. Программа Winres.exe предоставляет ограниченные возможности редактирования файлов обоих типов вне среды разработки Visual Studio. В частности, она поддерживает следующие виды операций редактирования.

  • Предусмотрено редактирование файла ресурсов, зависящего или не зависящего от языка и региональных параметров, для изменения свойств пользовательского интерфейса формы или ее элементов управления, например текста, размера или положения.
  • Можно создавать файлы ресурсов, зависящие или не зависящие от языка и региональных параметров, из файла ресурсов по умолчанию.
  • Файл ресурсов определенного языка и региональных параметров можно сохранить в виде файла ресурсов другого языка региональных параметров. Например, файл ресурсов английского языка (США) можно сохранить как файл ресурсов польского языка. Обычно новый файл требует дополнительного редактирования для приведения в соответствие новому языку и региональным параметрам.

Также см. раздел Иерархическая организация ресурсов для локализации или Иерархическая организация ресурсов для локализации.

Программа Winres.exe не может преобразовать RESX-файл в соответствующий ему RESOURCES-файл, для этого используется программа Resgen.exe. Дополнительные сведения о программе Resgen.exe см. в разделе Resgen.exe (генератор файлов ресурсов).

Программа Winres.exe представляет собой графическое приложение, которое воссоздает форму Windows Forms в виде версии этапа разработки, используя лишь файл ресурсов, без доступа к исходному коду. Интерфейс программы Winres.exe включает конструктор форм Windows Forms из Visual Studio и окно свойств. Такой подход позволяет визуально редактировать RESOURCES-файл или RESX-файл, содержащий форму Windows Forms. Обычно программа Winres.exe используется для изменения подписей элементов управления и настройки их расположения и размера, чтобы подписи могли вместить текст на требуемом языке.

Если программа Winres.exe не может разрешить какой-либо тип элемента управления, она создает его прототип в локализованном файле RESX или RESOURCES. Прототип элемента управления отображается в форме Windows Forms в виде заштрихованного окна. Размер и расположение заштрихованного окна совпадают с размером и расположением самого элемента управления. Все доступные для локализации свойства прототипа элемента управления показаны в окне Свойства. Все изменения, внесенные в прототип, сохраняются в самом элементе управления.

Сравнение программы Winres.exe со средой Visual Studio

Обычно, прежде чем приступать к локализации форм Windows Forms для приложения, необходимо выбрать инструмент локализации: Visual Studio или программа Winres.exe. Свободное переключение между этими двумя инструментами для локализации может быть невозможно из-за проблем совместимости версий, описанных ниже.

Преимущество среды Visual Studio заключается в том, что ее можно использовать как для разработки приложения, так и для его локализации. Чтобы локализовать форму после ее разработки, задайте значение true для свойства LocalizableAttribute (свойство Localizable в редакторе свойств) и значение, соответствующее требуемому языку локализации, для свойства Language. Затем необходимо отредактировать строки и настроить расположение и размер элементов управления таким образом, чтобы они смогли вместить строки на языке локализации. Среда Visual Studio при сохранении локализованного RESX-файла записывает в него только локализуемые свойства (изменяющиеся на языке локализации). Среда Visual Studio автоматически создает в нужном каталоге вспомогательную сборку для локализованного RESX-файла.

Хотя Visual Studio обеспечивает интегрированную среду разработки и локализации, сторонним локализаторам рекомендуется использовать программу Winres.exe. Так как программа Winres.exe предназначена только для локализации, она позволяет более четко отделить код приложения от локализуемых форм, что лучше подходит для управления большими проектами.

Использование программы Winres.exe

Чтобы выполнить локализацию с помощью программы Winres.exe, необходимо сначала разработать приложение с помощью визуального конструктора, такого как конструктор Windows Forms в Visual Studio. После завершения разработки присвойте свойству LocalizableAttribute данной формы (свойство Localizable в редакторе свойств) значение true и передайте стороннему локализатору RESX-файл с языком и региональными параметрами по умолчанию. Такой RESX-файл содержит дополнительные сведения, которые программа Winres.exe использует для воссоздания версии исходной формы, соответствующей времени разработки.

Примечание

Программу Winres.exe нельзя использовать для редактирования файла ресурсов по умолчанию. Программа Winres.exe интерпретирует все измененные свойства как локализованные и сохраняет их в файле ресурсов на языке локализации.

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

Программа Winres.exe поддерживает следующие возможности:

  • Программа Winres может работать в режиме одного файла (SFM) или в режиме файлов Visual Studio (VSFM). SFM — это устаревший режим, предусматривающий хранение всей информации о форме и ее содержимом в файле ресурсов. В режиме VSFM в файле ресурсов хранятся только изменения, связанные с языком и региональными параметрами.

  • Окно сообщений об ошибках находится в левом нижнем углу основного окна.

  • С помощью команды Проверить сочетания клавиш в меню Формат можно проверить наличие дублирующихся сочетаний клавиш.

Совместимость версий

Рекомендуется использовать версию Winres.exe, выпущенную вместе с платформой .NET Framework. В таблице ниже представлен список совместимых версий:

Visual Studio .NET Framework Winres.exe
Visual Studio .NET 2002 1.0 1.0
Visual Studio .NET 2003 1.1 1.1
Visual Studio 2005 2.0 2.0
Visual Studio 2008 3.0 и 3.5 3.0 и 3.5
Visual Studio 2010 4,0 4,0
Visual Studio 2017 4.6 4.6

Примечание

Режим VSFM обладает преимуществом в плане совместимости с Visual Studio, но поскольку в этом режиме в файле ресурсов хранятся только измененные значения, для программы Winres.exe требуется, чтобы в каталоге текущего файла ресурсов располагались и его родительские файлы. Например, при редактировании немецкоязычного файла ресурсов TestApp.de-DE.resources необходимо наличие файла ресурсов по умолчанию TestApp.resx, а также, возможно, не зависящего от языка файла ресурсов TestApp.de.resources.

Примеры

Локализация файла RESX или RESOURCES, связанного с формой

  1. Чтобы выполнить Winres.exe, введите winres в командной строке разработчика.

  2. Чтобы открыть ресурсы по умолчанию для локализуемой формы, выберите Файл > Открыть и перейдите к файлу, чтобы открыть его.

    -или-

    При запуске программы Winres.exe в командной строке укажите файл, который требуется открыть. Следующая команда запускает программу Winres.exe и загружает форму, связанную с файлом TestApp.resx, в конструктор форм.

    winres TestApp.resx
    

    Следующая команда запускает программу Winres.exe и загружает форму, связанную с файлом TestApp.resources, в конструктор форм.

    winres TestApp.resources
    

    Примечание

    Если форма, ресурсы которой редактируются, является унаследованной, необходимо, чтобы и сборка, содержавшая исходную форму, и сборка, содержащая наследующую (производную) форму, были зарегистрированы в глобальном кэше сборок или располагались в том же каталоге, что и программа WinRes.exe. Дополнительные сведения об установке компонентов .NET Framework в глобальный кэш сборок см. в разделе Глобальный кэш сборок.

  3. Выберите элементы управления в форме и измените значения их свойства Text и других свойств в соответствии с языком локализации и региональными параметрами. Переместите элементы управления или измените их размер, чтобы вместить локализованный текст.

  4. Чтобы сохранить локализованную версию RESX- или RESOURCES-файла, щелкните значок Сохранить или выберите Файл > Сохранить. Откроется окно Выбор языка и региональных параметров.

  5. Выберите нужный язык и файловый режим и нажмите кнопку ОК.

    Средство сохраняет файл с помощью соглашения об именовании, которое среда выполнения ожидает для локализованных файлов ресурсов. Например, при локализации файла TestApp.resources на немецкий язык (Германия) этот файл будет сохранен как TestApp.de-DE.resources. При локализации файла TestApp.resx на немецкий язык (Германия) файл сохраняется как TestApp.de-DE.resx. Подробнее о соглашениях об именовании ресурсов см. в разделе Упаковка и развертывание ресурсов. Список стандартных имен языка и региональных параметров, используемых средой выполнения, см. в CultureInfo разделе класс .

См. также