GNU gettext无法从Javascript中提取字符串

时间:2018-09-05 12:24:04

标签: javascript razor internationalization gettext poedit

我正在使用GNU gettext来翻译asp.net网页。为了提取我正在使用PoEdit的字符串。

在Javascript代码中,我将普通的labelString'Hour'转换为

scaleLabel: {
 display: true,
 labelString: 'Hour',
},

scaleLabel: {
 display: true,
 labelString: '@Strings.T("Hour")',
},

但是PoEdit无法提取此字符串。有没有办法翻译这种类型的字符串?

1 个答案:

答案 0 :(得分:0)

GNU gettext和Poedit支持JavaScript —在JavaScript文件中。您的上下文外代码段无法清楚说明其获取方式,位置以及提取方式。

但是,代码不包含任何可翻译的字符串,对gettext函数的任何调用,因此xgettext可能无法从中提取任何内容。整个'@Strings.T("Hour")'位是一个 literal 字符串,它不会以任何方式进行解释并且不能很好地进行解析(如何区分要打印出来的人和实际的函数调用?)。您必须调用翻译功能以在运行时获取翻译,并且xgettext才能找到该调用。

请参阅所用gettext库的文档。它解释了用法。