Создание международных INF-файлов

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

INF-файл, который будет использоваться на международном рынке, должен использовать %маркеры strkey% для всего отображаемого пользователем текста. Строки определяются в разделе INF Strings , который обычно находится в конце INF-файла.

Locale-Specific INF-файлы

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

  • Чтобы создать единый международный INF-файл, необходимо включить набор строк Strings.LanguageID в разделе, как описано на справочной странице для INF Strings. Используйте этот метод, если вы планируете предоставить один носитель установки для всех международных рынков.

    Для установок в Windows 2000 и более поздних версиях Windows это рекомендуемый метод для поддержки международных рынков.

  • Чтобы создать отдельный INF-файл для каждого языкового стандарта, начните с основного INF-файла, содержащего все необходимые разделы и записи, кроме раздела Strings . Затем создайте второй набор файлов, где каждый файл содержит только раздел Strings для поддерживаемого языкового стандарта. Объединение основного файла с каждым файлом строк для создания файлов INF для конкретного языкового стандарта.

    Для установок в Windows 2000 и более поздних версиях Windows используйте этот метод только в том случае, если планируется предоставить отдельный носитель установки для каждого международного рынка. Невозможно предоставить несколько версий INF-файла для определенной версии операционной системы в одном носителе установки, так как Windows не может определить, какой INF-файл следует использовать.

Locale-Specific Версии Файлов Драйверов

Если необходимо предоставить языковые версии файлов драйверов для Windows 2000 и более поздних версий Windows, пометьте каждую версию каждого файла со своим языковым стандартом. Не забудьте пометить файлы, которые не зависят от конкретного языка, как языково-нейтральные. Это можно сделать, добавив следующее определение макроса в файл ресурса:

#define VER_LANGNEUTRAL

Это определение должно отображаться перед директивой препроцессора, которая включает common.ver.

После компиляции ваших файлов можно убедиться, что каждый из них помечен как нейтральный в отношении языка, выполнив следующие шаги:

  1. Щелкните правой кнопкой мыши файл в проводнике Windows.

  2. Выберите команду Свойства.

  3. Нажмите вкладку Версия.

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

Поместите файлы, относящиеся к языковому стандарту, в отдельных подкаталогах носителя распространения, например /английский и /немецкий. В INF-файле сделайте следующее:

  • В разделе INF SourceDisksFiles укажите подкаталоги для соответствующего языкового стандарта с помощью маркера строкового ключа, например %LocaleSubDir%.

  • Укажите отдельные разделы INF Strings для каждого языка и определите соответствующую строку имени подкаталога в каждом разделе.

Рассмотрим пример.

[SourceDisksNames]
1=%DiskName%,,,%LocaleSubDir%

[SourceDisksFiles]
mysftwre.exe=1

[Strings]              ; No language ID implies English
DiskName="My Excellent Software"
LocaleSubDir="English"
[Strings.0407]         ; 0407 is the language ID for German
DiskName="Meine ausgezeichnete Software"
LocaleSubDir="German"

Создание INF-файлов Юникода

Если INF-файл содержит символы, которые находятся за пределами диапазона ASCII (то есть за пределами диапазона 0–127), INF-файл должен быть в формате Юникода (UTF-16). Одним из способов создания INF-файла Юникода является использование приложения, например Блокнота для сохранения его в формате Юникода (UTF-16). Если INF-файл отсутствует в формате Юникода (UTF-16), Windows использует текущий языковой стандарт для перевода символов. Если INF-файл находится в формате Юникода (UTF-16), Windows использует полный набор символов Юникода.

Некоторые приложения, такие как Блокнот, позволяют создавать файл Юникода (UTF-16) в небольшом или большом формате. Windows поддерживает INF-файлы, использующие любой формат.