我正在使用Session.getActiveUserLocale((在谷歌日历工作区插件(runtimeVersion:V8(中获取用户的区域设置,它非常适用于我测试过的每种语言,除了中文(简体和繁体(。
function onCalendarHomePageOpen(e) {
Logger.log("Language Code: " + Session.getActiveUserLocale());
}
应返回";zh-CN";当我的语言设置为简体中文时https://myaccount.google.com/language,但它返回一个空字符串。
我知道我可以使用e.commonEventObject.userLocale
,但在很多地方都需要语言环境,如果可能的话,我宁愿不到处传递。
我的作用域是https://www.googleapis.com/auth/script.locale
,addOns.common.useLocaleFromApp
是true
,正如我所提到的,它适用于我尝试过的所有其他语言,包括日语和阿拉伯语。
这是一个已知的问题吗?有人能帮忙吗?谢谢
我已经为此提交了一个错误
Session.getActiveUserLocale((不返回中文值,适用于其他语言
一定要去看它,让谷歌知道它会影响你。
复制步骤
-
启动新的应用程序脚本项目。
-
将此代码粘贴到下面:
代码.gs
function onCalendarHomePageOpen(e) { Logger.log("Language Code: " + Session.getActiveUserLocale()); }
-
将清单替换为:
appscript.json
{ "timeZone":"Europe/Madrid", "addOns":{ "calendar":{ "homepageTrigger":{ "runFunction":"onCalendarHomePageOpen", "enabled":true } }, "common":{ "logoUrl":"https://ssl.gstatic.com/docs/script/images/logo/script-64.png", "name":"MRE Chinese Locale", "useLocaleFromApp":true } }, "oauthScopes":[ "https://www.googleapis.com/auth/script.locale", "https://www.googleapis.com/auth/calendar.addons.execute" ], "exceptionLogging":"STACKDRIVER", "runtimeVersion":"V8" }
-
转到部署>测试部署-选择类型";Add-on";,然后为您的帐户安装它。
-
打开执行页面。
-
在新选项卡中,转到https://calendar.google.com/加载后,在侧边栏中您应该会看到应用程序脚本的图标。单击图标打开侧边栏。这将触发该功能。
-
返回执行页面。
-
在另一个新选项卡中,转到https://myaccount.google.com/u/1/language
-
将您的首选语言更改为中文、简体或繁体
-
刷新日历页面并再次打开侧边栏。
-
检查执行页面。
预期结果:
我的账户原来设置为英语,输出Language code: en
,我把它改为西班牙语,它输出Language code: es
。对于中国人,我期待Langauge code: zh
。
实际结果:
Language Code:
-没有中文语言代码。