- Ресурсы (Windows)
- Типы ресурсов
- Использование
- Ссылки
- Смотреть что такое «Ресурсы (Windows)» в других словарях:
- Ресурсы в приложениях .NET Resources in .NET apps
- Создание и локализация ресурсов Create and localize resources
- Упаковка и развертывание ресурсов Package and deploy resources
- Извлечение ресурсов Retrieve resources
- Ресурсы приложения и система управления ресурсами App resources and the Resource Management System
Ресурсы (Windows)
Ресурсы Microsoft Windows — данные, встроенные в EXE, DLL, CPL и (начиная с Windows Vista) MUI-файлы. Доступ к этим данным можно получить через функции Windows API.
Типы ресурсов
У каждого ресурса есть имя и тип. В Windows используются следующие предопределенные типы ресурсов.
Разработчик может также использовать собственные типы ресурсов.
Использование
Значок, который Windows использует для отображения EXE-файла это первый значок, который прописан в качестве ресурса в этом файле. Если такого ресурса в файле нет, то используется значок из библиотеки стандартных значков Windows. Версия программного продукта, прописанная в ресурсах, показывается на закладке Версия в окне свойств.
Существуют программы-редакторы, позволяющие изменять ресурсы, встроенные в EXE-файлы (например, Resource Hacker). Они применяются для языковой локализации программ или замены значков.
Ссылки
Wikimedia Foundation . 2010 .
Смотреть что такое «Ресурсы (Windows)» в других словарях:
Windows Resource Protection — Windows Resource Protection (сокр. WRP) технология, используемая в ОС Windows Vista взамен Windows File Protection. Она защищает ключи реестра и папки, наряду с критически важными системными файлами. Методы, используемые этой технологией для … Википедия
Windows Template Library — Тип библиотека (программирование) Разработчик Nenad Stefanovic Написана на С++ Операционная система Microsoft Windows Последняя версия WTL 8.1.11324 (21.11.2011) Лицензия … Википедия
Ресурсы — Ресурс Ресурс средства, позволяющие с помощью определённых преобразований получить желаемый результат. Ресурс (техника) объём работы, на который рассчитывается машина, здание и т. д. После исчерпания ресурса не гарантируется безопасная работа,… … Википедия
Windows Azure — Разработчик Microsoft Семейство ОС Windows … Википедия
Windows Small Business Server — (SBS) (ранее Microsoft Small Business Server) интегрированное программное серверное решение от компании Microsoft, разработанное для построения сети небольших компаний (до 75 пользователей или компьютеров). В состав решения входят ключевые… … Википедия
Windows PowerShell — Windows PowerShell … Википедия
Windows Mobile — Не следует путать с Windows Phone … Википедия
Windows Advanced Media Player — Winamp Winamp 5.5 (обложка Bento) Тип Мультимедиа проигрыватели Разработчик ОС Microsoft Windows Версия … Википедия
Защита ресурсов Windows — Windows Resource Protection (сокр. WRP) технология, используемая в ОС Windows Vista взамен Windows File Protection. Она защищает ключи реестра и папки, наряду с критически важными системными файлами. Методы, используемые этой технологией для … Википедия
Архитектура Windows NT — Windows NT 3.1, Windows NT 3.5, Windows NT 3.51 … Википедия
Ресурсы в приложениях .NET Resources in .NET apps
Практически любое высококачественное приложение должно использовать ресурсы. Nearly every production-quality app has to use resources. Ресурс представляет собой любые неисполняемые данные, которые логически развертываются вместе с приложением. A resource is any nonexecutable data that is logically deployed with an app. Ресурсы могут отображаться в приложении в виде сообщений об ошибках либо как часть интерфейса пользователя. A resource might be displayed in an app as error messages or as part of the user interface. Ресурсы могут содержать данные различных видов, включая символьные строки, изображения и объекты. Resources can contain data in a number of forms, including strings, images, and persisted objects. (Для записи сохраняемых объектов в файл ресурсов объекты должны быть сериализуемыми.) Благодаря хранению данных в файле ресурсов сами данные можно изменять без повторной компиляции всего приложения. (To write persisted objects to a resource file, the objects must be serializable.) Storing your data in a resource file enables you to change the data without recompiling your entire app. Это также позволяет хранить данные в одном месте и исключает необходимость в использовании жестко закодированных данных, которые хранятся в нескольких местах. It also enables you to store data in a single location, and eliminates the need to rely on hard-coded data that is stored in multiple locations.
.NET Framework и .NET Core обеспечивают всестороннюю поддержку для создания и локализации ресурсов. The .NET Framework and .NET Core provide comprehensive support for the creation and localization of resources. Кроме того, .NET поддерживает простую модель упаковки и развертывания локализованных ресурсов. In addition, .NET supports a simple model for packaging and deploying localized resources.
Сведения о ресурсах ASP.NET см. в разделе Общие сведения о ресурсах страниц ASP.NET. For information about resources in ASP.NET, see ASP.NET Web Page Resources Overview.
Создание и локализация ресурсов Create and localize resources
В нелокализованном приложении файлы ресурсов можно использовать как хранилище для данных приложения, особенно для строк, которые в противном случае было бы необходимо жестко задавать в нескольких местах в исходном коде. In a non-localized app, you can use resource files as a repository for app data, particularly for strings that might otherwise be hard-coded in multiple locations in source code. Чаще всего ресурсы создаются в виде текстовых (txt) или XML-файлов (.resx), а для их компиляции в двоичные RESOURCES-файлы используется Resgen.exe (генератор файлов ресурсов). Most commonly, you create resources as either text (.txt) or XML (.resx) files, and use Resgen.exe (Resource File Generator) to compile them into binary .resources files. Эти файлы можно затем встроить в исполняемый файл приложения с помощью компилятора языка. These files can then be embedded in the app’s executable file by a language compiler. Дополнительные сведения о создании ресурсов см. в разделе Создание файлов ресурсов. For more information about creating resources, see Creating Resource Files.
Вы также можете локализовать ресурсы приложения для конкретных языков и региональных параметров. You can also localize your app’s resources for specific cultures. Это позволяет создавать локализованные (переведенные) версии приложений. This enables you to build localized (translated) versions of your apps. При разработке приложения, использующего локализованные ресурсы, необходимо назначить язык и региональные параметры, являющиеся нейтральными или резервными, языком и региональными параметрами, ресурсы которого используются в случае отсутствия подходящих ресурсов. When you develop an app that uses localized resources, you designate a culture that serves as the neutral or fallback culture whose resources are used if no suitable resources are available. Как правило, ресурсы нейтрального языка и региональных параметров хранятся в исполняемом файле приложения. Typically, the resources of the neutral culture are stored in the app’s executable. Остальные ресурсы для отдельных языков и региональных параметров хранятся в автономных вспомогательных сборках. The remaining resources for individual localized cultures are stored in standalone satellite assemblies. Дополнительные сведения см. в разделе Создание вспомогательных сборок. For more information, see Creating Satellite Assemblies.
Упаковка и развертывание ресурсов Package and deploy resources
Развертывание ресурсов локализованного приложения выполняется во вспомогательных сборках. You deploy localized app resources in satellite assemblies. Вспомогательная сборка содержит ресурсы для одного языка и региональных параметров; в ней нет никакого кода приложения. A satellite assembly contains the resources of a single culture; it does not contain any app code. В модели развертывания вспомогательной сборки вы создаете приложение с одной сборкой по умолчанию (которая обычно является главной сборкой) и одной вспомогательной сборкой для каждого языка и региональных параметров, поддерживаемых приложением. In the satellite assembly deployment model, you create an app with one default assembly (which is typically the main assembly) and one satellite assembly for each culture that the app supports. Поскольку вспомогательные сборки не являются частью главной сборки, ресурсы, относящиеся к конкретному языку и региональным параметрам, можно легко заменять или обновлять, не заменяя главную сборку приложения. Because the satellite assemblies are not part of the main assembly, you can easily replace or update resources corresponding to a specific culture without replacing the app’s main assembly.
Точно определите ресурсы, которые будут применяться в сборке ресурсов по умолчанию для приложения. Carefully determine which resources will make up your app’s default resource assembly. Так как сборка по умолчанию является частью главной сборки, то при внесении в нее любых изменений потребуется замена главной сборки. Because it is a part of the main assembly, any changes to it will require you to replace the main assembly. Если ресурс по умолчанию не предоставлен, то в случае его поиска процессом использования резервных ресурсов будет создаваться исключение. If you do not provide a default resource, an exception will be thrown when the resource fallback process attempts to find it. В хорошо спроектированном приложении при использовании ресурсов исключения никогда не создаются. In a well-designed app, using resources should never throw an exception.
Дополнительные сведения см. в статье Упаковка и развертывание ресурсов. For more information, see the Packaging and Deploying Resources article.
Извлечение ресурсов Retrieve resources
Приложение во время выполнения загружает соответствующие локализованные ресурсы отдельно для каждого потока на основе языка и региональных параметров, которые заданы свойством CultureInfo.CurrentUICulture. At run time, an app loads the appropriate localized resources on a per-thread basis, based on the culture specified by the CultureInfo.CurrentUICulture property. Значение этого свойства формируется следующим образом: This property value is derived as follows:
Присвоением свойству Thread.CurrentUICulture объекта CultureInfo, который представляет локализованные значения языка и региональных параметров. By directly assigning a CultureInfo object that represents the localized culture to the Thread.CurrentUICulture property.
Если язык и региональные параметры не заданы явным образом, соответствующие значения по умолчанию для пользовательского интерфейса каждого потока извлекаются из свойства CultureInfo.DefaultThreadCurrentUICulture. If a culture is not explicitly assigned, by retrieving the default thread UI culture from the CultureInfo.DefaultThreadCurrentUICulture property.
Если язык и региональные параметры по умолчанию для пользовательского интерфейса в потоке не заданы явным образом, применяются язык и региональные параметры текущего пользователя на локальном компьютере. If a default thread UI culture is not explicitly assigned, by retrieving the culture for the current user on the local computer. В реализациях .NET на базе Windows для этого вызывается Windows-функция GetUserDefaultUILanguage . .NET implementations running on Windows do this by calling the Windows GetUserDefaultUILanguage function.
Дополнительные сведения об указании языка и региональных параметров для пользовательского интерфейса см. в разделах справки CultureInfo и CultureInfo.CurrentUICulture. For more information about how the current UI culture is set, see the CultureInfo and CultureInfo.CurrentUICulture reference pages.
Ресурсы для текущего или определенного языка и региональных параметров пользовательского интерфейса можно получить с помощью класса System.Resources.ResourceManager. You can then retrieve resources for the current UI culture or for a specific culture by using the System.Resources.ResourceManager class. Хотя для получения ресурсов чаще всего используется класс ResourceManager, пространство имен System.Resources содержит дополнительные типы, которые можно использовать для получения ресурсов. Although the ResourceManager class is most commonly used for retrieving resources, the System.Resources namespace contains additional types that you can use to retrieve resources. Сюда входит следующее. These include:
Класс ResourceReader, который позволяет перечислять ресурсы, встроенные в сборку или хранящиеся в отдельном двоичном RESOURCES-файле. The ResourceReader class, which enables you to enumerate resources embedded in an assembly or stored in a standalone binary .resources file. Это удобно, когда точные имена ресурсов, доступных во время выполнения, неизвестны. It is useful when you don’t know the precise names of the resources that are available at run time.
Класс ResXResourceReader, который позволяет получать ресурсы из XML-файла (.resx). The ResXResourceReader class, which enables you to retrieve resources from an XML (.resx) file.
Класс ResourceSet, который позволяет получать ресурсы для конкретного языка и региональных параметров без учета правил отката. The ResourceSet class, which enables you to retrieve the resources of a specific culture without observing fallback rules. Ресурсы могут храниться в сборке или отдельном двоичном RESOURCES-файле. The resources can be stored in an assembly or a standalone binary .resources file. Можно также разработать реализацию IResourceReader, которая позволит использовать класс ResourceSet для извлечения ресурсов из другого источника. You can also develop an IResourceReader implementation that enables you to use the ResourceSet class to retrieve resources from some other source.
Класс ResXResourceSet, который позволяет получить в память все элементы из XML-файла ресурсов. The ResXResourceSet class, which enables you to retrieve all the items in an XML resource file into memory.
Ресурсы приложения и система управления ресурсами App resources and the Resource Management System
В этом разделе рассказывается, как создавать, упаковывать и использовать ресурсы вашего приложения со строками, изображениями и файлами. This section shows you how to author, package, and consume your app’s string, image, and file resources. Например, можно упаковать вместе с казуальной игрой файл, содержащий определения уровней игры, и загружать его во время выполнения. For example, you might package a file along with your casual game containing a definition of the game’s levels, and load the file at run-time. Мы также рассмотрим, как обеспечение независимости ресурсов от логики приложения позволяет легко локализовать и настраивать приложение для разных стран, дисплеев, параметров специальных возможностей и других контекстов с различными пользователями и компьютерами. We also show you how maintaining your resources independently of the app’s logic makes it easy to localize and customize your app for different locales, device displays, accessibility settings, and other user and machine contexts. Ресурсы, такие как строки и изображения, обычно должны быть представлены в нескольких вариантах для различных языков, масштабов и контрастности. Resources such as strings and images typically need to exist in multiple language, scale, and contrast variants. Для таких ресурсов предлагается поддержка системы управления ресурсами. For resources such as that, you have the support of the Resource Management System.
Существуют два типа ресурсов приложений. There are two types of app resource.
- Файловый ресурс — ресурс, хранимый в виде файла на диске. A file resource is a resource stored as a file on disk. Файловый ресурс может содержать точечный рисунок, XAML, XML, HTML или любые другие данные. A file resource can contain a bitmap image, XAML, XML, HTML, or any other kind of data.
- Вложенный ресурс — ресурс, встроенный в определенный файл, содержащий ресурсы. An embedded resource is a resource that is embedded within some containing resource file. Наиболее распространенным примером является строковый ресурс, расположенный в файле ресурсов (RESW- или RESJSON-файле). The most common example is a string resource embedded within a Resources File (.resw or .resjson).
Дополнительные сведения о преимуществах локализации приложений см. в разделе Глобализация и локализация. For more info about the value proposition of localizing your app, see Globalization and localization.