Winres.exe (редактор ресурсов Windows Forms)
Редактор ресурсов Windows Forms (Winres.exe) — это программа визуальной разметки, используемая при локализации пользовательского интерфейса форм Windows Forms. Файлы .resx и .resources, используемые как входные для Winres.exe, могут быть созданы с использованием среды визуального проектирования, такой как Microsoft Visual Studio. Сведения о развертывании ресурсов в приложениях .NET Framework см. в разделе Ресурсы в приложениях.
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 заключается в том, что ее можно использовать как для разработки, так и для локализации приложения. Чтобы локализовать форму после завершения ее разработки, присвойте ее свойству LocalizableAttribute (свойство Localizable в редакторе свойств) значение true, а свойству Language — значение, соответствующее требуемому языку локализации. Затем необходимо отредактировать строки и установить расположение и размер элементов управления таким образом, чтобы они смогли вместить строки на языке локализации. Visual Studio при сохранении локализованного файла .resx записывает в него только локализуемые свойства (изменяющиеся на языке локализации). Visual Studio автоматически создает в нужном каталоге вспомогательную сборку для локализованного файла .resx. Дополнительные сведения см. в следующем разделе. Пошаговое руководство. Локализация форм Windows Forms и Пошаговое руководство. Локализация форм Windows Forms и Пошаговое руководство. Локализация форм Windows Forms.
Хотя Visual Studio предоставляет интегрированную среду разработки и локализации, независимым локализаторам рекомендуется использовать программу Winres.exe. Так как программа Winres.exe предназначена только для локализации, она позволяет более четко отделить код приложения от локализуемых форм, что лучше подходит для управления большими проектами.
Использование программы Winres.exe
Чтобы провести локализацию с помощью Winres.exe, необходимо сначала разработать приложение с использованием визуального конструктора, такого как конструктор форм Visual Studio. По завершении разработки присвойте свойству LocalizableAttribute данной формы (свойство Localizable в редакторе свойств) значение true, и затем передайте независимому локализатору файл .resx на языке по умолчанию. Этот файл .resx содержит дополнительные сведения, которые Winres.exe использует для воссоздания версии исходной формы, соответствующей этапу разработки.
Внимание |
---|
Программу Winres.exe нельзя использовать для редактирования файла ресурсов по умолчанию.Winres.exe интерпретирует все измененные свойства как локализованные и сохранит их в файле ресурсов на языке локализации. |
Окончательные версии файлов ресурсов на целевом языке могут в итоге быть использованы для создания локализованных версий приложения. Дополнительные сведения см. в разделе Ресурсы в приложениях.
Программа Winres.exe версии 2.0 поддерживает следующие возможности.
Winres может работать в режиме одного файла (SFM) или в режиме файлов Visual Studio (VSFM). SFM — это традиционный режим, предусматривающий хранение полной информации о форме и ее содержимом в файле ресурсов. В режиме VSFM в файле ресурсов хранятся только изменения, связанные с языком и региональными параметрами.
В интерфейс добавлено окно сообщений об ошибках, располагающееся в левом нижнем углу основного окна.
Можно проверять наличие дубликатов сочетаний клавиш: для этого служит команда Проверить сочетания клавиш в меню "Формат".
Совместимость версий
Поскольку формат файлов ресурсов Visual Studio 2005 изменен по сравнению с Visual Studio .NET 2002, в программу Winres.exe также были внесены соответствующие изменения для обеспечения совместимости. Поэтому обычно следует использовать версию 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 |
При попытке открыть старый файл ресурсов с помощью Winres.exe 2.0 будет предложено обновить формат файла для совместимости с версией .NET Framework 2.0.
В версиях .NET Framework, предшествовавших версии 2.0, программа Winres.exe и конструктор форм Visual Studio создавали несовместимые файлы ресурсов (как зависящие, так и не зависящие от языка и региональных параметров). Поэтому, начав процесс локализации, на всем его протяжении можно было использовать только один инструмент. Однако в версии Winres.exe 2.0 добавлена поддержка режима файлов Visual Studio (VSFM). Как следует из названия, файл ресурсов, сохраненный в этом режиме, можно редактировать любым из двух инструментов.
Примечание |
---|
Режим VSFM обладает преимуществом совместимости с Visual Studio, но поскольку в этом режиме в файле ресурсов хранятся только измененные значения, для программы Winres.exe требуется, чтобы в каталоге текущего файла ресурсов располагались и его родительские файлы.Например, при редактировании немецкоязычного файла ресурсов TestApp.de-DE.resources необходимо наличие файла ресурсов по умолчанию TestApp.resx, а также, возможно, не зависящего от языка файла ресурсов TestApp.de.resources. |
Примеры
Локализация файла .resx или .resources, связанного с формой
Введите winres в командной строке, чтобы запустить программу Winres.exe.
Чтобы открыть ресурсы по умолчанию для локализуемой формы, выберите команду Открыть в меню Файл и найдите нужный файл.
– или –
Укажите файл, который требуется открыть, в командной строке при запуске Winres.exe.
Следующая команда запускает Winres.exe и загружает форму, связанную с файлом TestApp.resx, в конструктор форм.
winres TestApp.resx
Следующая команда запускает Winres.exe и загружает форму, связанную с файлом TestApp.resources, в конструктор форм.
winres TestApp.resources
Примечание Если форма, ресурсы которой редактируются, является унаследованной, необходимо, чтобы и сборка, содержавшая исходную форму, и сборка, содержащая наследующую (производную) форму, были зарегистрированы в глобальном кэше сборок или располагались в том же каталоге, что и WinRes.exe.Дополнительные сведения об установке компонентов .NET Framework в глобальный кэш сборок см. в разделе глобальный кэш сборок.
Выберите элементы управления в форме и измените значения их свойства Text и других свойств в соответствии с языком локализации и региональными параметрами. Переместите элементы управления или измените их размер, чтобы вместить локализованный текст.
Чтобы сохранить локализованную версию файла .resx или .resources, щелкните значок Сохранить или выберите команду с тем же именем в меню Файл. Откроется окно Выбор культуры.
Выберите нужный язык и файловый режим и нажмите кнопку ОК. Программа сохранит файл, используя соглашение об именах, которое среда выполнения требует применять к локализованным файлам ресурсов. Например, при локализации файла TestApp.resources на немецкий язык (Германия) этот файл будет сохранен как TestApp.de-DE.resources. При локализации файла TestApp.resx на немецкий язык (Германия) файл сохраняется как TestApp.de-DE.resx. Дополнительные сведения о соглашениях об именах ресурсов см. в разделе Упаковка и развертывание ресурсов. Список предварительно определенных названий языков, используемых средой выполнения, см. в разделе Класс CultureInfo.