У меня есть PO-файл с таким содержимым, как:
msgid "or"
msgstr "or-translation"
msgid "orand"
msgstr "orand-translation"
Мне нужно получить перевод данного сообщения. Используя команду "msggrep -K -e 'orand' template2.pot", я получаю перевод 'orand', и это нормально.
Но когда я использую "msggrep -K -e" или "template2.pot", if возвращает оба перевода ('или' и 'orand'). Команда "msggrep -K -e '^ или' template2.pot" работает должным образом, возвращая оба перевода, но "msggrep -K -e '^ или $' template2.pot" просто не выполняется, потому что ничего не возвращает. Похоже, символ '$' прерывает парсер регулярных выражений msggrep.
Я пробовал использовать другие флаги msggrep (например, -F, -E ...), но все они считывают шаблоны тестирования из файла, и это неприемлемо для моих реальных потребностей. Я использую msggrep 0.14.6 (и не могу перейти на более новую библиотеку).
Кто-нибудь знает, как я могу получить перевод для 'orand', используя msggrep?