Класс PoFileParser
Парсит файлы в формате PO
Авторские права: Copyright (c) 2010, Union of RAD http://union-of-rad.org (http://lithify.me/)
Авторские права: Copyright (c) 2012, Clemens Tolboom
Авторские права: Copyright (c) 2014, Fabien Potencier https://github.com/symfony/Translation/blob/master/LICENSE
Расположение: I18n/Parser/PoFileParser.php
Краткое описание методов
- _addMessage() protectedСохраняет элемент перевода в сообщения.
- parse() publicПарсит формат Portable Object (PO).
Подробное описание методов
_addMessage()source protected
_addMessage( array $messages , array $item )
Сохраняет элемент перевода в сообщения.
Параметры
- массив
$messages - Массив сообщений, собираемых из файла
- массив
$item - Текущий проверяемый элемент
parse()source public
parse( string $resource )
Парсит формат Portable Object (PO).
Согласно http://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.
Элементы с пустым идентификатором игнорируются.
Параметры
- строка
$resource - Имя файла для парсинга
Возвращает
массив
© 2005–2017 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/3.3/class-Cake.I18n.Parser.PoFileParser.html