Класс PoFileParser
Парсит файл в формате PO
Краткое описание методов
-
_addMessage() protected
Сохраняет элемент перевода в сообщения.
-
parse() public
Парсит формат portable object (PO).
Подробное описание методов
_addMessage() protected
_addMessage(array $messages, array $item): void
Сохраняет элемент перевода в сообщения.
Параметры
-
array$messages Массив сообщений, собираемых из файла
-
array$item Текущий проверяемый элемент
Возвращает
voidparse() public
parse(string $resource): array
Парсит формат portable object (PO).
Из https://www.gnu.org/software/gettext/manual/gettext.html#PO-Files мы должны быть способны парсить файлы, содержащие:
пробелы
комментарии переводчика
комментарии извлечения
: ссылка...
, флаг...
| msgid предыдущая-непереведенная-строка
msgid непереведенная-строка msgstr переведенная-строка
дополнительные или отличающиеся строки:
| msgctxt предыдущий-контекст
| msgid предыдущая-непереведенная-строка
msgctxt контекст
| msgid предыдущая-непереведенная-строка-единственное число
| msgid_plural предыдущая-непереведенная-строка-множественное число
msgid строка-единственное число msgid_plural строка-множественное число msgstr[0] переведенная-строка-случай-0 ... msgstr[N] переведенная-строка-случай-n
Определение гласит:
- пробелы и комментарии необязательны.
- msgid "" что пустая строка определяет заголовок.
Этот парсер жертвует некоторыми функциями реализации ссылки, различия с этой реализацией таковы.
- Комментарии переводчика и извлечения обрабатываются как один тип.
- Идентификаторы сообщений могут иметь кодировки, отличные от US-ASCII.
Элементы с пустым идентификатором игнорируются.
Параметры
-
string$resource Имя файла для парсинга
Возвращает
array
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.3/class-Cake.I18n.Parser.PoFileParser.html