如何将Outlook插件Manifest多语言值映射到JSON翻译文件?
如何将Outlook插件Manifest的多语言翻译迁移到统一JSON文件
Office插件的XML Manifest本身不支持直接引用外部JSON的变量替换,你需要通过ExtendedOverrides功能来实现将Manifest翻译内容与统一JSON文件关联的需求,具体步骤如下:
1. 在Manifest中配置ExtendedOverrides
在你的OfficeApp节点下添加ExtendedOverrides元素,指定翻译文件的基础路径和格式:
<OfficeApp> <DefaultLocale>en-us</DefaultLocale> <!-- 其他原有配置 --> <ExtendedOverrides Url="src/shared/i18n/" Format="json"/> <Description DefaultValue="Watch YouTube videos referenced in the emails you receive without leaving your email client."/> <!-- 其他原有配置 --> </OfficeApp>
Url:指定翻译文件所在的目录路径(相对于Manifest文件的位置)Format:固定为json,表示使用JSON格式的覆盖文件
2. 调整翻译JSON文件的结构
ExtendedOverrides要求JSON文件遵循特定的结构,用来映射Manifest中的元素。修改locale-fr.json为以下格式:
{ "manifest": { "Description": { "Value": "Visualisez les vidéos YouTube référencées dans vos courriers électronique directement depuis Outlook." } } }
- 顶级
manifest节点表示要覆盖Manifest中的内容 - 子节点
Description对应Manifest中的<Description>元素 Value字段就是对应locale的翻译文本
如果需要覆盖多个Manifest元素(如DisplayName等),可以在manifest节点下添加更多子项:
{ "manifest": { "Description": { "Value": "你的翻译文本" }, "DisplayName": { "Value": "插件名称的翻译" } } }
3. 移除Manifest中的<Override>元素
原来Manifest中<Description>下的<Override>节点可以直接删除,所有多语言翻译将由对应的JSON文件统一管理。
关键说明
- Office客户端会根据当前用户的locale自动加载对应文件名的JSON文件(如fr-fr locale加载
locale-fr.json,en-us locale可保留默认值或创建locale-en.json) - 确保JSON文件的路径与
ExtendedOverrides中指定的Url一致,否则客户端无法加载翻译内容 - 测试时需切换Outlook的语言设置,验证翻译是否正确生效
内容的提问来源于stack exchange,提问作者John Evans Solachuk
相关产品推荐
相关产品推荐

