© Никита Культин, 2012.
05.04.2012
Название приложения, отображаемое в списке установленных программ рядом со значком программы, задается в файле WMAppManifest.xml и определяется значением параметра Title узла <App>. Чтобы обеспечить соответствие названия приложения текущей языковой настройке устройства (локализовать название), в качестве значения параметра Title надо указать динамическую библиотеку, в которой находится строка-ресурс, используемая в качестве названия приложения, и идентификатор строки-ресурса. Например: Title ="@AppRes.dll, -200"
Здесь AppRes.dll это – ddl файл, содержащий строки-ресурсы для так называемой Neutral локализации, 200 – идентификатор строки-ресурса.
Название приложения, отображаемое на плитке главного окна, задает значение ключа <Title> в файле WMAppManifest.xml
<Title>=@AppRes.dll, -100</Title>
Чтобы обеспечить локализацию названия приложения, для каждой культуры (языка), которую ложно поддерживать приложение, надо создать dll библиотеку. Код культуры указывается в имени dll файла.
Замечание. Правила записи имен библиотек см. http://msdn.microsoft.com/en-us/library/ff967550%28v=VS.92%29.aspx
Культура | Язык | Имя файла |
Neutral | Обычно English | AppRes.dll |
us-US | English | AppRes.dll.0409.mui |
ru-RU | Russian | AppRes.dll.0419.mui |
it-IT | Italian | AppRes.dll.0410.mui |
de-DE | German | AppRes.dll.0407.mui |
es-ES | Spanish | AppRes.dll.0c0a.mui |
fr-FR | French | AppRes.dll.040c.mui |
Динамическая библиотека (файл dll) создается в Microsoft Visual C++.
Чтобы создать dll файл надо:
· Создать проект создания dll библиотеки;
· В окне Свойства проекта открыть вкладку Компоновщик/Дополнительно и присвоить параметру Без точки входа (No Entry Point) значение Yes (/NOENTRY);
· Добавить в проект таблицу строк-ресурсов;
· Выполнить компиляцию (построение) проекта.
Внимание! В Microsoft Visual C++ 2010 Express добавить в проект ресурс нельзя. Тем не менее, создать dll файл, содержащий строки-ресурсы все-таки можно!
Чтобы в Microsoft Visual C++ 2010 Express создать динамическую библиотеку, содержащую строки-ресурсы надо:
· Создать проект создания dll библиотеки
· В окне Свойства проекта открыть вкладку Компоновщик/Дополнительно и присвоить параметру Без точки входа (No Entry Point) значение Yes (/NOENTRY);
· Создать текстовый файл содержащий описание таблицы строк (пример приведен ниже).
· Изменить расширение созданного файла на res (теперь текстовый файл является файлом ресурсов)
· Добавить в проект созданный файл ресурсов
Замечание: открыть файл ресурсов в Visual Studio, например, для внесения изменений, можно, сделав щелчок правой кнопкой мыши и выбрав в качестве программы Редактор исходного текста с кодировкой.
· Задать программу обработки файла ресурсов – на вкладке Свойства файла задать Тип элемента - Компилятор ресурсов
· Задать имя dll файла: раскрыть окно Свойства проекта, на вкладке Свойства конфигурации/Общие задать значения полей Конечное имя и Конечное расширение. Например: AppResLib и .ddl.0419.mui, где 0419 - идентификатор культуры русского языка.
· Выполнить построение проекта
Пример фала ресурсов (AppRes.res)
#define AppTitle 100
#define AppTitleString 200
STRINGTABLE
{
AppTitle, "Calendar+"
AppTitleString, "Calendar+"
}
Созданные динамические библиотеки, содержащие строковые ресурсы, надо добавить в WP проект и выполнить построение.
Внимание! Чтобы библиотека была включена в XAP файл, свойству Build Action файла dll (mui) файла надо присвоить значение Content.
Внимание! В файле проекта приложения (csproj) должна быть информация о поддерживаемых приложением локализациях (узел SupportedCultures).