You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何国际化Google Workspace插件?Manifest字段翻译难题求解

可行解决方案及替代方法

一、覆盖侧边栏标题(解决侧边栏标题翻译问题)

你可以通过CardService在构建侧边栏卡片时,动态设置本地化后的标题,完全替代manifest中addOns.common.name在侧边栏的显示:

// 假设你的i18n函数是getLocalizedString,根据用户语言返回对应文本
const sidebarTitle = getLocalizedString('sidebar_title');
const card = CardService.newCardBuilder()
  .setTitle(sidebarTitle)
  // 其他卡片构建逻辑
  .build();
return CardService.newActionResponseBuilder()
  .setNavigation(CardService.newNavigation().pushCard(card))
  .build();

这样侧边栏顶部的标题就会使用你插件已有的多语言逻辑,不再依赖manifest中的静态字段。

二、处理图标悬浮文本(两种思路)

1. 多区域版本提交(官方支持方案)

由于Gmail插件的图标悬浮文本直接读取appsscript.json中addOns.common.name的静态值,且manifest不支持动态变量,你可以针对需要支持的语言,提交独立的插件版本到Google Workspace Marketplace:

  • 为每种语言复制一份项目,修改对应版本的appsscript.json中addOns.common.name为目标语言文本
  • 提交时选择对应的目标区域和语言,用户会根据自己的Google账号语言看到对应版本的插件名称(即图标悬浮文本)
  • 用Git分支管理多份代码版本,可降低维护成本

2. 妥协方案:使用通用/多语言兼容文本

如果维护多版本成本过高,可以使用不依赖单一语言的通用文本:

  • 使用图标配合极简无歧义英文(如果目标用户普遍理解基础英文)
  • 使用 emoji + 简短通用词,比如📧 邮件助手(对中英用户都友好)

补充说明

目前Google Apps Script的manifest文件确实不支持i18n变量插入,所有字段都是静态编译的,上述两种方法是当前能覆盖问题的可行路径。其中覆盖侧边栏标题是完全解决该部分的最优解,图标悬浮文本则需要根据你的维护成本选择对应方案。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 11:35:13