Поделиться через


Строки и локализация в Windows Admin Center

Давайте подробно рассмотрим пакет SDK расширений Windows Admin Center и поговорим о строках и локализации.

Чтобы включить локализацию всех строк, отображаемых на уровне презентации, воспользуйтесь файлом strings.resjson в разделе /src/resources/strings — он уже настроен. Когда необходимо добавить новую строку в расширение, добавьте ее в этот resjson-файл в качестве новой записи. Существующая структура соответствует этому формату:

"<YourExtensionName>_<Component>_<Accessor>": "Your string value goes here.",

Вы можете использовать любой формат для строк, но помните, что процесс создания (процесс, который принимает resjson и выводит используемый класс TypeScript) преобразует символ подчеркивания (_) в периоды (.).

Например, эта запись:

"HelloWorld_cim_title": "CIM Component",

Создает следующую структуру доступа:

MsftSme.resourcesStrings<Strings>().HelloWorld.cim.title;

Добавление других языков для локализации

Для локализации на других языках необходимо создать файл strings.resjson для каждого языка. Эти файлы необходимо поместить в \loc\output\{!ExtensionName}\{!LanguageFolder}\strings.resjson. Доступные языки с соответствующими папками:

Язык Папка
Čeština cs-CZ
Deutsch de-DE
Английский en-US
Español es-ES
Français fr-FR
Magyar hu-HU
Italiano it-IT
日本語 ja-JP
한국어 ko-KR
Nederlands nl-NL
Polski pl-PL
Português (Brasil) pt-BR
Português (Portugal) pt-PT
Русский ru-RU
Svenska sv-SE
Türkçe tr-TR
中文(简体) zh-CN
中文(繁體) zh-TW

Примечание.

Если потребности в структуре файлов отличаются внутри loc/output, необходимо настроить localeOffset для задачи gulp "generate-resjson-json-localized", которая находится в gulpfile.js. Это смещение заключается в том, как глубоко в папке loc она должна начать поиск файлов strings.resjson.

Каждый файл strings.resjson будет отформатирован таким же образом, как упоминалось ранее в верхней части этого руководства.

Например, чтобы включить локализацию для Español, включите эту запись в \loc\output\HelloWorld\es-ES\strings.resjson:

"HelloWorld_cim_title": "CIM Componente",

В любое время, когда вы добавили локализованные строки, gulp generate необходимо выполнить повторно, чтобы они отображались. Запустить:

gulp generate

Чтобы убедиться, что строки были созданы, перейдите по адресу \src\app\assets\strings\{!LanguageFolder}\strings.resjson. В этом файле появится только что добавленная запись. Теперь, если вы переключите язык в Windows Admin Center, вы сможете увидеть локализованные строки в расширении.