GNU gettext не может извлечь строку из Javascript - PullRequest
0 голосов
/ 05 сентября 2018

Я использую GNU gettext для перевода веб-страницы asp.net. Для извлечения строки я использую PoEdit.

В коде Javascript я конвертирую обычную labelString 'Hour'

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

до

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

Но PoEdit не может извлечь эту строку. Есть ли способ перевести этот тип строки?

1 Ответ

0 голосов
/ 06 сентября 2018

GNU gettext и Poedit поддерживают JavaScript - в файлах JavaScript. Ваш фрагмент кода вне контекста не дает понять, как и где он у вас есть, или как вы его извлекаете.

Однако этот код не содержит переводимой строки, каких-либо вызовов функций gettext, поэтому xgettext не может ничего извлечь из нее. Весь бит '@Strings.T("Hour")' представляет собой литерал - строку, которая никоим образом не интерпретируется и не может быть хорошо проанализирована (как бы вы различали кого-то, намеревающегося распечатать это, и фактическим вызовом функции ?). Вы должны вызвать функцию перевода , чтобы получить перевод во время выполнения, и xgettext, чтобы найти этот вызов.

См. Документацию по используемой вами библиотеке gettext. Это объясняет использование.

...