Как добавить новую строку в файл *.po с редактором PO

Я Вручную создал файл: test.po с содержанием:

msgstr "приветствие"
msgstr "Hello World"

Теперь я могу редактировать перевод (hello world) в редакторах, таких как "poedit" и "GTranslated" (я использую Ubuntu). Я даже могу добавить комментарии к этому переводу. Однако ни "poedit", ни "GTranslated" не позволят мне добавить новую строку перевода - я посмотрел онлайн безрезультатно и посмотрел на скриншоты других редакторов, и ни у одного из них нет "новой" кнопки.

Что мне не хватает??? Кажется глупым редактировать новые ключи с помощью "простого" текстового редактора, а затем редактировать их в этих редакторах ПО (в зависимости от того, какие они могут быть). (Если вы не можете сказать, что я новичок в этом мире gettext - я создаю веб-сайт на Zend/PHP.)

5 ответов

Решение

Вы никогда не должны добавлять строки непосредственно в файл.po; они будут добавлены msgmerge из файла.pot, созданного xgettext,

Вот что я сделал:

Отредактируйте файл.po и добавьте новую строку, например:

msgid "All Catalogues"
msgstr "Todos los catalogos"

Сохраните.po файл.

Теперь откройте его в poedit и в меню выберите: Каталог> Обновить из файла POT

После обновления вы увидите новую строку и сможете ее изменить.

Сохраните изменения, и все готово.

MacOS:

  1. Отредактируйте.po файл в любом текстовом редакторе.
  2. Откройте файл.po в Poedit (бесплатно)
  3. В Poedit выберите файл -> Скомпилировать в.MO

Это то, что работало для меня в.po файле Wordpress Genesis .

Откройте файл.po в любом текстовом редакторе, добавьте эти строки или все, что нужно для добавления текста.

msgid "All Catalogues"
msgstr "Todos los catalogos"

сохранить и запустить:-D

Старый поток, но я обнаружил, что хочу перевести строки, которые хранятся в базе данных WordPress и не могут быть переведены с помощью Polylang.

Я создал файл PHP в теме и добавил строки с __("A string to translate"); PoEdit автоматически добавил его в файл .po.

Другие вопросы по тегам