Neos.Neos/Classes/Service/XliffService.php
public function getCachedJson(Locale $locale)
    {
        $cacheIdentifier = md5($locale);

        if ($this->xliffToJsonTranslationsCache->has($cacheIdentifier)) {
            $json = $this->xliffToJsonTranslationsCache->get($cacheIdentifier);
        } else {
            $labels = [];

            foreach ($this->packagesRegisteredForAutoInclusion as $packageKey => $sourcesToBeIncluded) {
                if (!is_array($sourcesToBeIncluded)) {
                    continue;
                }

                $package = $this->packageManager->getPackage($packageKey);
                $sources = $this->collectPackageSources($package, $sourcesToBeIncluded);

                //get the xliff files for those sources
                foreach ($sources as $sourceName) {
                    $fileId = $packageKey . ':' . $sourceName;
                    $file = $this->xliffFileProvider->getFile($fileId, $locale);

                    foreach ($file->getTranslationUnits() as $key => $value) {
                        $valueToStore = !empty($value[0]['target']) ? $value[0]['target'] : $value[0]['source'];
                        if ($this->scrambleTranslatedLabels) {
                            $valueToStore = str_repeat('#', UnicodeFunctions::strlen($valueToStore));
                        }
                        $this->setArrayDataValue($labels, str_replace('.', '_', $packageKey) . '.' . str_replace('/', '_', $sourceName) . '.' . str_replace('.', '_', $key), $valueToStore);
                    }
                }
            }

            $json = json_encode($labels);
            $this->xliffToJsonTranslationsCache->set($cacheIdentifier, $json);
        }

        return $json;
    }
public function getCachedJson(Locale $locale)
    {
        $cacheIdentifier = md5($locale);

        if ($this->xliffToJsonTranslationsCache->has($cacheIdentifier)) {
            $json = $this->xliffToJsonTranslationsCache->get($cacheIdentifier);
        } else {
            $labels = [];

            foreach ($this->packagesRegisteredForAutoInclusion as $packageKey => $sourcesToBeIncluded) {
                if (!is_array($sourcesToBeIncluded)) {
                    continue;
                }

                $package = $this->packageManager->getPackage($packageKey);
                $sources = $this->collectPackageSources($package, $sourcesToBeIncluded);

                //get the xliff files for those sources
                foreach ($sources as $sourceName) {
                    $fileId = $packageKey . ':' . $sourceName;
                    $file = $this->xliffFileProvider->getFile($fileId, $locale);

                    foreach ($file->getTranslationUnits() as $key => $value) {
                        $valueToStore = !empty($value[0]['target']) ? $value[0]['target'] : $value[0]['source'];
                        if ($this->scrambleTranslatedLabels) {
                            $valueToStore = str_repeat('#', UnicodeFunctions::strlen($valueToStore));
                        }
                        $this->setArrayDataValue($labels, str_replace('.', '_', $packageKey) . '.' . str_replace('/', '_', $sourceName) . '.' . str_replace('.', '_', $key), $valueToStore);
                    }
                }
            }

            $json = json_encode($labels);
            $this->xliffToJsonTranslationsCache->set($cacheIdentifier, $json);
        }

        return $json;
    }
public function getCachedJson ( Locale $ locale ) { $ cacheIdentifier = md5 ( $ locale ) ; if ( $ this -> xliffToJsonTranslationsCache -> has ( $ cacheIdentifier ) ) { $ json = $ this -> xliffToJsonTranslationsCache -> get ( $ cacheIdentifier ) ; } else { $ labels = [ ] ; foreach ( $ this -> packagesRegisteredForAutoInclusion as $ packageKey => $ sourcesToBeIncluded ) { if ( ! is_array ( $ sourcesToBeIncluded ) ) { continue ; } $ package = $ this -> packageManager -> getPackage ( $ packageKey ) ; $ sources = $ this -> collectPackageSources ( $ package , $ sourcesToBeIncluded ) ; //get the xliff files for those sources foreach ( $ sources as $ sourceName ) { $ fileId = $ packageKey . ':' . $ sourceName ; $ file = $ this -> xliffFileProvider -> getFile ( $ fileId , $ locale ) ; foreach ( $ file -> getTranslationUnits ( ) as $ key => $ value ) { $ valueToStore = ! empty ( $ value [ 0 ] [ 'target' ] ) ? $ value [ 0 ] [ 'target' ] : $ value [ 0 ] [ 'source' ] ; if ( $ this -> scrambleTranslatedLabels ) { $ valueToStore = str_repeat ( '#' , UnicodeFunctions :: strlen ( $ valueToStore ) ) ; } $ this -> setArrayDataValue ( $ labels , str_replace ( '.' , '_' , $ packageKey ) . '.' . str_replace ( '/' , '_' , $ sourceName ) . '.' . str_replace ( '.' , '_' , $ key ) , $ valueToStore ) ; } } } $ json = json_encode ( $ labels ) ; $ this -> xliffToJsonTranslationsCache -> set ( $ cacheIdentifier , $ json ) ; } return $ json ; }
Return the json array for a given locale, sourceCatalog, xliffPath and package.
The json will be cached.

@param Locale $locale The locale
@return Result
@throws Exception
Return the json array for a given locale sourceCatalog xliffPath and package . The json will be cached .