документы , связанные Касабланкой в комментарии, говорят, как это должно быть сделано, однако окольным путем.
Ответ в "косвенные строки" ,Вы должны добавить несколько строковых ресурсов в файл EXE или DLL, все с одинаковым идентификатором, но с разными языками, указанными (оператором LANGUAGE
). Затем вы можете ссылаться на эти строки в файле autorun.inf
с помощью косвенного синтаксиса строки: @filename,-id
Синтаксис для косвенных строк - это знак @
, за которым следует имя файла, содержащего строковые ресурсы, на которые вы ссылаетесь, затем запятая, минус, а затем идентификатор строки, на которую вы ссылаетесь.
Пример:
[autorun]
open="MyApp.exe"
icon=MyApp.exe,0
label=@MyApp.exe,-100
action=@MyApp.exe,-101
Для этого требуется, чтобы в вашем EXE-файле имелся ресурс таблицы строк, содержащий все локализованные строки.В формате файла RC это может выглядеть следующим образом:
#include <winresrc.h>
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
100 "English MyApp
101 "English MyApp description text"
END
LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
100 "German MyApp
101 "German MyApp description text"
END
В этом случае Windows должна использовать немецкую строку, если у пользователя установлена немецкая версия Windows или выбран немецкий язык в качестве языка многоязыкового интерфейса пользователя.Любая языковая версия должна выбирать английские строки.