Извлечение текста из текстовых документов с помощью Poedit

Я делаю приложение для викторины, которое считывает данные из текстовых файлов. Приложение работает нормально, но теперь я хочу перевести его на английский (со своего родного языка). Я могу сделать это для строк, определенных в исходных файлах (.py), таких как текст на кнопках и т. Д., Но у меня проблемы с извлечением текста, который необходимо перевести, из тех текстовых документов, в которых находятся все мои вопросы и возможные ответы.

Я использую модуль gettext с Python и использую оператор _ или _( для обозначения переводимых строк (которые я установил в Poedit в разделе «Свойства» - «Ключевые слова источников»).

Я также установил пути к моим переводимым источникам на . (все файлы в этом каталоге) и даже попытался установить эти .txt файлы специально для извлечения.

Мой текстовый файл выглядит так (одна строка одного файла):

_(Koliko je 2/0?);_(0):_(ni definirano):_(2);_(ni definirano)

Я попытался найти, из какого типа документа Poedit извлекает текст, но не нашел ничего, кроме «из источника» - может ли он извлекать из .txt файлов или нет? Если нет, как мне их назвать?

Как я уже сказал, он извлекает строки из моих .py файлов, так что иначе он работает.


person Larisa    schedule 22.05.2017    source источник


Ответы (2)


Poedit не может волшебным образом узнать синтаксис вашего собственного формата файла, поэтому простое добавление файлов .txt ничего не даст. Вам нужно будет написать собственный экстрактор (для справки посмотрите, как работает xgettext) или переключитесь на какой-нибудь стандартный синтаксис:

  1. Быть достаточно похожим на поддерживаемый язык программирования, такой как C (где, как назло, ; и : являются допустимыми элементами синтаксиса, хотя использование, например, , вместо : было бы безопаснее):

    _("Koliko je 2/0?");_("0"):_("ni definirano"):_("2");_("ni definirano")

  2. Используйте формат на основе XML, где xgettext поддерживает описанные правила извлечения с ЕГО.

person Václav Slavík    schedule 23.05.2017

Я столкнулся с той же проблемой при попытке извлечь строки для перевода из файла options.txt в плагине WordPress. Единственное решение, которое я нашел, - это скопировать этот файл options.txt в options.php, в котором PoEdit может искать строки. После завершения операции перевода файл options.txt можно удалить.

person papi Jo    schedule 23.07.2017