Вход Регистрация
Файл: vendor/symfony/translation/Dumper/QtFileDumper.php
Строк: 73
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyComponentTranslationDumper;

use 
SymfonyComponentTranslationMessageCatalogue;

/**
 * QtFileDumper generates ts files from a message catalogue.
 *
 * @author Benjamin Eberlei <kontakt@beberlei.de>
 */
class QtFileDumper extends FileDumper
{
    public function 
formatCatalogue(MessageCatalogue $messagesstring $domain, array $options = []): string
    
{
        
$dom = new DOMDocument('1.0''utf-8');
        
$dom->formatOutput true;
        
$ts $dom->appendChild($dom->createElement('TS'));
        
$context $ts->appendChild($dom->createElement('context'));
        
$context->appendChild($dom->createElement('name'$domain));

        foreach (
$messages->all($domain) as $source => $target) {
            
$message $context->appendChild($dom->createElement('message'));
            
$metadata $messages->getMetadata($source$domain);
            if (isset(
$metadata['sources'])) {
                foreach ((array) 
$metadata['sources'] as $location) {
                    
$loc explode(':'$location2);
                    
$location $message->appendChild($dom->createElement('location'));
                    
$location->setAttribute('filename'$loc[0]);
                    if (isset(
$loc[1])) {
                        
$location->setAttribute('line'$loc[1]);
                    }
                }
            }
            
$message->appendChild($dom->createElement('source'$source));
            
$message->appendChild($dom->createElement('translation'$target));
        }

        return 
$dom->saveXML();
    }

    protected function 
getExtension(): string
    
{
        return 
'ts';
    }
}
Онлайн: 2
Реклама