如何为Google Workspace插件的universalActions标签实现国际化
解决Gmail插件
universalActions菜单本地化问题 Gmail插件的universalActions虽在appscript.json中定义,无法直接使用动态变量,但可以通过动态覆盖菜单配置的方式实现基于用户语言环境的文本切换,具体步骤如下:
- 先在清单文件
appscript.json中定义占位符菜单:
"universalActions": [ { "text": "TEMP_MENU", "functionName": "yourActionHandler" } ]
- 在插件的启动函数中,利用
Session.getActiveUserLocale()获取用户语言,再通过GmailApp.setUniversalActions()更新菜单文本:
function onInstall(e) { onOpen(e); } function onOpen(e) { // 获取用户当前语言环境 const userLocale = Session.getActiveUserLocale(); // 定义多语言映射,可按需扩展 const menuTexts = { 'zh-CN': '自定义菜单', 'en-US': 'Custom Menu', 'fr-FR': 'Menu Personnalisé' }; // 匹配对应语言文本,无匹配时用默认值 const targetText = menuTexts[userLocale] || menuTexts['en-US']; // 动态更新universalActions GmailApp.setUniversalActions([ { text: targetText, functionName: 'yourActionHandler' } ]); } function yourActionHandler() { // 菜单点击后的业务逻辑 }
- 注意事项:
- 用户首次安装或打开Gmail时,
onOpen()会触发菜单更新,若未生效可刷新Gmail界面 - 多语言映射可以单独抽离成配置对象,方便后续维护和扩展
- 用户首次安装或打开Gmail时,
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

