我需要在GAS中格式化日期,月份/年份,以月份为单位,用意大利语。
我使用了Language.App.translate,因为Utilities.formatDate用英语格式化月份。 代码片段如下:
var dteng = Utilities.formatDate(dt, "CET", "MMMM/yyyy");
dttran = LanguageApp.translate(dteng, 'en', 'it');
当我用我的用户执行脚本时,它工作正常,翻译完成。 当我以不同的用户(实际使用脚本的那个)执行它时,翻译不会发生。
执行记录报告:
LanguageApp.translate([January / 2007,en,it])
但结果是相同的,未翻译的字符串。
脚本的所有剩余部分都可以顺利执行。
任何提示?我应该打开一个问题吗?
TKS
的Massimo
答案 0 :(得分:0)
在我的情况下,行为:
function getTranslate() {
var dteng = Utilities.formatDate(new Date(2007, 0, 1), 'CET', 'MMMM/yyyy');
var dttran = LanguageApp.translate(dteng, 'en', 'it');
/*var dttran = LanguageApp.translate(dteng, 'en', 'es'); // `Enero/2007` <- works as expected.*/
Logger.log(dttran); // January/2007
}
在所有情况下都相同,对于任何用户,始终返回January/2007
。
显然某些字符无法正确解释,格式如:'MMMM/yyyy'
,'MMMM.yyyy'
或'MMMM_yyyy'
无法执行相应的翻译。
使用其他格式(例如'MMMM-yyyy'
),按预期工作。
<强>更新强>
从网上使用Google翻译: