Я сделал отчет RML, который работает идеально. В файлах перевода включены строки, которые находятся в файле RML, поэтому я могу перевести содержимое отчета. Но есть один случай, когда строки не распознаются, поэтому их нельзя перевести. Я приведу пример:Как перевести строки в RML?
Следующая строка работает, «Категория» распознается файлами перевода, и я могу перевести ее там.
<para style="terp_tblheader_General_Centre">Category</para>
Следующие один не работают:
<para>[[ o.type == 'r' and 'Registration' or 'Deregistration' ]]</para>
Это уникальный случай, в котором строка не распознается. типа является полем выбора (который может принимать значения «R» или «D»), и я написал эту строку, чтобы увидеть, в докладе регистрации (в случае типа valueing «R») или дерегистраций (в случае значения типа 'd'). Но Регистрация и Отмена регистрации не распознаются как слова для перевода.
Я видел этот пост:
Translation of strings in python code in RML reports
И я пытался писать _('Registration')
/_('Deregistration')
, а затем _(Registration)
/_(Deregistration)
вместо 'Registration'
/'Deregistration'
, но в этом случае строка даже не появляются в отчет.
Любой может мне помочь, пожалуйста?
Еще раз спасибо @Odedra! Я уже сделал эти шаги, но сгенерированный файл .po не включает «Регистрация» и «Отмена регистрации» в [[o.type == 'r' и 'Registration' или 'Deregistration']]. Остальные строки в RML прекрасно включаются в файл .po. Я думаю, проблема в том, что строки между кавычками не распознаются, может быть так? – forvas
Не могли бы вы показать мне, как вы добавляете это описание в файл .po? –
Если я хорошо понял, что вы имели в виду с описанием, то .po не имеет описания строк между кавычками, потому что эти строки не существуют в файле.Строки RML, которые включены, имеют это выше них -> #: report: my_module.my_report: 0 – forvas