Spec-Zone.ru › CakePHP 3.1

Класс PoFileParser

Парсит файл в формате PO

Пространство имен: Cake\I18n\Parser
Авторское право: Copyright (c) 2010, Союз 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

_addMessage( array $messages , array $item )

Сохраняет элемент перевода в сообщения.

Параметры

массив $messages
Массив сообщений, собираемый из файла
массив $item
Текущий проверяемый элемент

parseисходный код 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
Имя файла для парсинга

Возвращает

array
массив

© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.I18n.Parser.PoFileParser.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API