Локализация агента
Агенты по сути являются приложениями для Microsoft 365. Они совместно используют общую схему манифеста, упаковку приложений, а также процесс распространения и управления.
Манифест приложения ссылается на файл определения декларативных агентов в объекте copilotAgents
.
Локализация агента немного отличается от локализации других возможностей (таких как вкладки, боты и расширения сообщений) в манифесте приложения Microsoft 365.
Вы используете один и тот же файл локализации (для каждого языка) как для возможностей приложения Teams, так и для агентов. Однако в то время как на все остальные поля манифеста приложения ссылаются выражения JSONPath в языковых файлах, на связанные с агентом поля ссылаются с помощью словарных ключей. В отличие от классических возможностей приложений Teams, которые используют строки языка по умолчанию в самом манифесте приложения, локализованным агентам требуется языковой файл для языка по умолчанию, а также для каждого дополнительного языка.
В этой статье описывается, как добавить в агенты поддержку дополнительных языков (помимо языка по умолчанию).
1. Обновите манифесты агента с помощью маркеризованных ключей
Обновите манифесты декларативного агента и (или) подключаемого модуля API с помощью маркеризованных ключей (отмеченных двойными квадратными скобками, например [[PLUGIN_NAME]]
) для любых значений полей, которые требуется локализовать. Ключи локализации должны соответствовать этому регулярному выражению: ^[a-zA-Z_][a-zA-Z0-9_]*$
В следующем примере показан манифест декларативного агента с токенизированными значениями для его имени и описания.
{
"$schema": "https://developer.microsoft.com/json-schemas/copilot/declarative-agent/v1.0/schema.json",
"name": "[[DA_Name]]",
"description": "[[DA_Description]]",
"instructions": "# You are an assistant..."
}
2. Добавление localizationInfo
в манифест приложения
Добавьте раздел в localizationInfo
манифест приложения с тегами языка и относительными путями для каждого поддерживаемого языкового файла в пакете приложения.
Если агент поддерживает несколько языков, необходимо указать отдельный языковой файл для каждого поддерживаемого языка, включая язык по умолчанию.
В следующем примере показан localizationInfo
раздел манифеста приложения.
"localizationInfo": {
"defaultLanguageTag": "en",
"defaultLanguageFile": "en.json",
"additionalLanguages": [
{
"languageTag": "fr",
"file": "fr.json"
}
]
},
Если агент не поддерживает дополнительные языки, строки языка по умолчанию представлены в самом файле манифеста приложения. Для пакетов приложений на одном языке не требуется отдельный языковой файл для языка по умолчанию.
3. Создание файла локализации для каждого дополнительного языка
Создайте файл локализации для каждого дополнительного поддерживаемого языка со значениями для маркеризованных ключей, используя имена файлов, указанные (для defaultLanguageFile
свойств и file
) в манифесте приложения на предыдущем шаге.
В следующем примере показан языковой файл fr.json
с локализованными строками для агента и личных вкладок.
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.Localization.schema.json`",
"name.short": "Agent de Communications",
"name.full": "Agent pour les Communications",
"description.short": "Outils pour les professionnels de la communication",
"description.full": "Outils pour les professionnels de la communication Contoso, y compris la galerie de ressources et les assistants personnels",
"localizationKeys": {
"DA_Name": "Agent de Communications",
"DA_Description": "Un assistant pour les professionnels de la communication et des relations publiques chez Contoso."
},
"staticTabs[0].name": "Accueil",
"staticTabs[1].name": "Galerie de ressources",
"staticTabs[2].name": "À propos de Contoso"
}
Локализуемые поля в манифесте приложения
Для каждого языкового файла укажите следующие свойства из схемы локализации приложения, которые необходимо локализовать.
Поле манифеста | Описание | Максимальная длина | Обязательный |
---|---|---|---|
@schema |
URL-адрес схемы локализации. Для агентов используйте devPreview: https://developer.microsoft.com/en-us/json-schemas/teams/vDevPreview/MicrosoftTeams.Localization.schema.json . Версия схемы манифеста должна быть одинаковой для файлов манифеста приложения и локализации. |
✔️ | |
name.short |
Заменяет короткое имя из манифеста приложения указанным значением. | 30 символов | ✔️ |
name.full |
Заменяет полное имя из манифеста приложения указанным значением. | 100 символов | ✔️ |
description.short |
Заменяет краткое описание манифеста приложения указанным значением. | 80 символов | ✔️ |
description.full |
Заменяет полное описание манифеста приложения указанным значением. | 4000 символов | ✔️ |
Пары "ключ-значение" для локализованных строк в агентах | Для агентов используйте ключи с маркерами (как указано в приложении manifest.json , но без двойных квадратных скобок) с их локализованными значениями. Пример: "DA_Name": "Agent de Communications" |
||
Пары JSONPath/value для локализованных строк других компонентов приложения | Для всех остальных (классических компонентов приложений Teams) используйте выражения JSONPath в качестве ключей для локализованных значений. Пример: "staticTabs[0].name": "Accueil" |
Дополнительные сведения см. в разделах Локализация приложения (Microsoft Teams) и Справочник по схеме локализации.
Локализуемые поля в манифесте декларативного агента
Следующие поля локализуются в манифесте декларативного агента.
Поле манифеста | Описание | Максимальная длина | Обязательный |
---|---|---|---|
name |
Имя декларативного агента. Должен содержать по крайней мере один символ, отличный от пробелов. | 100 символов | ✔️ |
description |
Описание декларативного агента. Должен содержать по крайней мере один символ, отличный от пробелов. | 1000 символов | ✔️ |
conversation_starters |
Список (массив) примеров вопросов, на которые может ответить декларативный агент, где каждый пример представлен объектом с title и text , оба из которых локализуются. |
6 объектов в массиве |
Дополнительные сведения см. в статье Справочник по манифесту декларативного агента.
Локализуемые поля в манифесте подключаемого модуля API
Следующие поля локализуются в манифесте подключаемого модуля API.
Поле манифеста | Описание | Максимальная длина | Обязательный |
---|---|---|---|
name_for_human |
Короткое, понятное для пользователя имя подключаемого модуля. Он должен содержать по крайней мере один символ, отличный от пробелов. | 20 символов | ✔️ |
description_for_model |
Описание подключаемого модуля, предоставленного модели, включая, для чего предназначен подключаемый модуль и в каких обстоятельствах его функции актуальны. | 2048 символов | |
description_for_human |
Понятное описание подключаемого модуля. | 100 символов | ✔️ |
logo_url |
URL-адрес, используемый для получения логотипа, который может использоваться оркестратором. | ||
legal_info_url |
Абсолютный URL-адрес, который находит документ, содержащий условия обслуживания для подключаемого модуля. | ||
privacy_policy_url |
Абсолютный URL-адрес, который находит документ, содержащий политику конфиденциальности для подключаемого модуля. |
Дополнительные сведения см. в статье Справочник по манифесту подключаемого модуля API.