tinyib/inc/gettext/src/Utils/DictionaryTrait.php
Trevor Slocum b22ff54f12 Switch gettext library from v5.6.1 to v4.8.11
This restores compatibility with PHP 5+.

Relates to #273.
2023-09-09 09:13:00 -07:00

60 lines
1.5 KiB
PHP

<?php
namespace Gettext\Utils;
use Gettext\Translations;
/**
* Trait used by all generators that exports the translations to plain dictionary (original => singular-translation).
*/
trait DictionaryTrait
{
use HeadersGeneratorTrait;
use HeadersExtractorTrait;
/**
* Returns a plain dictionary with the format [original => translation].
*
* @param Translations $translations
* @param bool $includeHeaders
*
* @return array
*/
protected static function toArray(Translations $translations, $includeHeaders)
{
$messages = [];
if ($includeHeaders) {
$messages[''] = static::generateHeaders($translations);
}
foreach ($translations as $translation) {
if ($translation->isDisabled()) {
continue;
}
$messages[$translation->getOriginal()] = $translation->getTranslation();
}
return $messages;
}
/**
* Extract the entries from a dictionary.
*
* @param array $messages
* @param Translations $translations
*/
protected static function fromArray(array $messages, Translations $translations)
{
foreach ($messages as $original => $translation) {
if ($original === '') {
static::extractHeaders($translation, $translations);
continue;
}
$translations->insert(null, $original)->setTranslation($translation);
}
}
}