ПогрузчикPoFile
класс PoFileLoader расширяет FileLoader
Методы
| MessageCatalogue | load(mixed $resource, string $locale, string $domain = 'messages') Загружает локаль. | из FileLoader |
| array | loadResource(string $resource) Парсит формат portable object (PO). |
Подробности
MessageCatalogue load(mixed $resource, string $locale, string $domain = 'messages')
Загружает локаль.
Параметры
| mixed | $resource | Ресурс |
| string | $locale | Локаль |
| string | $domain | Домен |
Значение результата
| MessageCatalogue | Экземпляр MessageCatalogue |
Исключения
| NotFoundResourceException | если ресурс не найден |
| InvalidResourceException | если ресурс не может быть загружен |
protected array loadResource(string $resource)
Парсит формат portable object (PO).
Из http://www.gnu.org/software/gettext/manual/gettext.html#PO-Files мы должны уметь парсить файлы, имеющие:
пробелы
translator-comments
. extracted-comments
: reference...
, flag...
| msgid previous-untranslated-string
msgid untranslated-string msgstr translated-string
дополнительные или другие строки:
| msgctxt previous-context
| msgid previous-untranslated-string
msgctxt context
| msgid previous-untranslated-string-singular
| msgid_plural previous-untranslated-string-plural
msgid untranslated-string-singular msgid_plural untranslated-string-plural msgstr[0] translated-string-case-0 ... msgstr[N] translated-string-case-n
Определение гласит: - пробелы и комментарии необязательны. - msgid "" то, что пустая строка определяет заголовок.
Этот парсер жертвует некоторыми функциями эталонной реализации, различия с этой реализацией таковы. - Нет поддержки комментариев, занимающих несколько строк. - Комментарии переводчика и извлеченные комментарии рассматриваются как одного типа. - Идентификаторы сообщений могут иметь другие кодировки, помимо только US-ASCII.
Элементы с пустым идентификатором игнорируются.
{@inheritdoc}
Параметры
| string | $resource |
Значение результата
| array |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Translation/Loader/PoFileLoader.html