HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/home/posscale/subdomains/xibo/vendor/gettext/gettext/src/Extractors/Jed.php
<?php

namespace Gettext\Extractors;

use Gettext\Translations;

/**
 * Class to get gettext strings from json files.
 */
class Jed extends PhpArray implements ExtractorInterface
{
    /**
     * {@inheritdoc}
     */
    public static function fromString($string, Translations $translations = null, $file = '')
    {
        if ($translations === null) {
            $translations = new Translations();
        }

        $content = json_decode($string, true);

        PhpArray::handleArray($content, $translations);

        return $translations;
    }

    /**
     * Extract and insert a new translation.
     * 
     * @param Translations $translations
     * @param string       $key
     * @param string       $message
     */
    protected static function insertTranslation(Translations $translations, $key, $message)
    {
        $context_glue = '\u0004';
        $key = explode($context_glue, $key);

        $context = isset($key[1]) ? array_shift($key) : '';
        $original = array_shift($key);
        $translation = array_shift($message);
        $plural_translation = array_shift($message);

        $entry = $translations->insert($context, $original);
        $entry->setTranslation($translation);
        $entry->setPluralTranslation($plural_translation);
    }
}