Строки и локализация в 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, вы сможете увидеть локализованные строки в расширении.