0

我需要在 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

马西莫

4

1 回答 1

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'),按预期工作。

更新

使用网络上的谷歌翻译:

在此处输入图像描述

于 2013-08-28T12:30:57.920 回答