Архитектура Windows позволяет разработчикам создавать приложения и легко делать их доступными для людей по всему миру. Этот процесс, известный как глобализация, требует, чтобы разработчики в первую очередь разработали приложение с культурно-нейтральным поведением. Windows Store приложения используют пространство имен Globalization для удовлетворения этих потребностей. В этом пространстве имен вы найдете все основные интерфейсы API, которые позволяют разработчикам управлять, определять, преобразовывать международные элементы (форматы для даты, время, десятичные дроби, валюты, регионы, языки и т.д.).
Затем приложение может быть локализовано, так что бы пользователи в конкретном регионе получили соответствующий контент, который имеет смысл для их культуры. Перевод программного обеспечения часто приходит на ум, когда речь идет о локализации. Это действительно часть потребностей, но язык не всегда главная задача: например, вы можете сделать ваше приложение доступным на различных рынках, которые разделяют языки, но, возможно, вашему приложению необходимо представлять различный контент, в том числе ваш логотип, брендинг, шрифты, и т.д.
Мы действительно говорим о локализации, которая представляет параметры для местного языка. Например, локаль для англоязычных пользователей, находящихся в США (en-US), отличается от языкового стандарта для носителей английского языка, находящихся в Австралии (en-AU).
Предлагаю вам взять в пример приложение, которое доступно в нескольких региональных рынках. Возможно вам будет необходимо адаптировать пользовательский интерфейс приложения для местного брендинга. Например, скажем, ваша компания приобретает бизнес в новом регионе и хочет сохранить опыт местных клиентов. Другой пример, возможно будет уместно использовать шрифты, цвета и изображения, которые имеют отношение к той или иной культуре, в том числе зеркальное отображение при работе с арабскими языками.
Таким образом, необходимо рассматривать проектирование уникального приложение, которое может адаптироваться к культуре конечного пользователя, при минимальном взаимодействии с пользователем. Разработчик приложения должен рассмотреть обычные инструменты локализации Windows, даже тогда, когда язык пользовательского интерфейса остается той же.
Давайте рассмотрим несколько примеров дизайна приложений, которые автоматически приспосабливаются к локали пользователя.
Пример 1: “Правильное” название приложения
Например: ваш бизнес работает в различных регионах. Его название «My Contoso, Inc» для американского рынка, но он известен как «My Contoso Ltd.» в Великобритании.
НО вы можете опубликовать только один пакет для приложения. Необходимо не забыть про два основных этапа: во-первых, резервировать каждое локализованное имя приложения в Windows Store и, во-вторых, локализовывать имя в самом приложении.
Примечание: убедитесь, что вы являетесь владельцем интеллектуальной собственности имен, которые вы планируете выпустить на зарубежные рынки (авторские права).
Резервирование имени
Выберите первый пункт, связанный с резервированием имени для приложения
Затем введите первое главное имя вашего приложения. Я рекомендуем Вам выбрать основное имя, которое отражает глобальное значение и/или брендинг. В нашем примере, мы будем использовать «My Contoso».
Когда вы закончите, нажмите “Зарезервировать другое имя” (последняя линия на предыдущем скриншоте). Затем введите другое локализованное название приложения и повторите действия для всех ваших рынков. В нашем примере мы будем использовать “My Contoso, Inc.” и “My Contoso Ltd.”
Локализация имени в приложении
Чтобы облегчить локализацию в Visual Studio/Visual Studio Express, сначала убедитесь, что вы установили Multilingual App Toolkit. Этот инструмент поможет вам управлять локализованными ресурсами. В нашем примере, название приложения является единственным ресурсом (строкой), который мы хотим изменить.
При создании нового проекта, вы увидите набор ресурсов по умолчанию. В нашем примере, мы будем использовать английскую версию Visual Studio на компьютере с ОС Windows, установленной с локалью en-US. Таким образом, у нас есть папка ресурсов по-умолчанию /strings/en-US.
Теперь мы добавим соответствующий код языка, соответствующий каждому локализованному имени приложения. Выберите приложение в обозревателе решений и выберите меню Tools на главной панели инструментов VS, потом Enable Multilingual Toolkit. Затем щелкните правой кнопкой мыши по имени проекта в Visual Studio, в панели выберите Add translation language, а затем выберите необходимые локали, связанные с вашими рынками. В нашем примере, мы добавим Английский (Великобритания) [en-GB].
Затем появится новый файл в папке MultilingualResources: <project_name> _EN-GB.xlf. Теперь этот файл центральное место для всех ваших ресурсов.
Примечание: дополнительный файл _qps-ploc.xlf также существует в папке ресурсов. Этот файл по умолчанию добавлен Multilingual App Toolkit’ом. Мы не будем его использовать.
Запустите проект, но, для начала новый файл XLF предварительно должен быть заполнен оригинальными английскими ресурсами в /strings/en-US/resources.resjson.
Измените файл resources.resjson и создайте новую запись, соответствующую имени по умолчанию:
"appTitle": "My Contoso, Inc."
Перестройте приложение и перезагрузите ресурсы, если будет предложено. Пришло время добавить наши локализованные имена приложения путем редактирования файла _en-GB.XLF. Дважды щелкните по файлу в обозревателе решений, чтобы открыть редактор и установить appTitle в «My Contoso Ltd.» в значении перевода.
Теперь на главной странице приложения заменим ресурсы по-умолчанию:
<h1 class="titlearea win-type-ellipsis"> <span class="pagetitle">App1</span> </h1>
на:
<h1 class="titlearea win-type-ellipsis"> <span class="pagetitle" data-win-res="{textContent: 'appTitle'}"></span> </h1>
Так же изменим имя в манифесте приложения:
Нам также будет необходимо настроить опцию Default language в манифесте. Для этого:
- Измените манифест в режиме пользовательского интерфейса и убедитесь, что ваша язык по умолчанию заполнен
- Редактируйте манифест в режиме кода и добавьте все языки, которые относятся к вашему приложению:
<Resources> <Resource Language="x-generate" /> <Resource Language="EN-US" /> <Resource Language="EN-GB" /> </Resources>
Так же необходимо изменить название в манифесте, что бы оно подтягивалось с ресурсов:
Все, теперь имя вашего приложения локализовано.
Для того чтобы проверить, добавьте все необходимые языковые стандарты в настройках ПК и установите языковой стандарт, который необходимо проверить перед запуском приложения.
Когда вы в конечном итоге отправляете свое приложение в Windows Store, пакет ассоциируется с именами приложений, ранее зарезервированными на вашем аккаунте разработчика.
На этом первая часть статьи подошла к концу. Во второй части вы узнаете как локализовать не только текст, но и контент (например, картинки).
Ссылка на источник: Writing Windows Store apps with locale-based adaptive design
[…] первой части мы рассмотрели с Вами возможности локализации текста […]
[…] В первой части мы рассмотрели с Вами возможности локализации текста в приложении, сейчас же рассмотрим возможности реализации локализации изображений и другого контента. […]