protected function execute(InputInterface $input, OutputInterface $output) { $masterLanguage = $input->getArgument('master'); $slaveLanguage = $input->getArgument('slave'); $masterLanguageFile = $this->path . 'messages.' . $masterLanguage . '.yml'; $slaveLanguageFile = $this->path . 'messages.' . $slaveLanguage . '.yml'; $catMasterFile = $this->loader->load($masterLanguageFile, $masterLanguage); $catSlaveFile = $this->loader->load($slaveLanguageFile, $slaveLanguage); foreach ($catMasterFile->all('messages') as $key => $value) { if (!$catSlaveFile->has($key)) { $catSlaveFile->set($key, "TODO: {$value}"); } } $messages = $catMasterFile->all('messages'); ksort($messages); $catSlaveFile->replace($messages); foreach ($messages as $key => $value) { $catSlaveFile->set($key, $value); } $output->writeln('Slave file can modify'); $dumper = new YamlFileDumper(); $dumper->dump($catSlaveFile, array('path' => $this->path)); /*unlink created trash file*/ if (file_exists($slaveLanguageFile . '~')) { unlink($slaveLanguageFile . '~'); } $output->writeln($slaveLanguageFile . ' --> <info>Slave file updated</info>'); }
public function testLinearFormatCatalogue() { $catalogue = new MessageCatalogue('en'); $catalogue->add(array('foo.bar1' => 'value1', 'foo.bar2' => 'value2')); $dumper = new YamlFileDumper(); $this->assertStringEqualsFile(__DIR__ . '/../fixtures/messages_linear.yml', $dumper->formatCatalogue($catalogue, 'messages')); }
public function testDump() { $catalogue = new MessageCatalogue('en'); $catalogue->add(array('foo' => 'bar')); $tempDir = sys_get_temp_dir(); $dumper = new YamlFileDumper(); $dumper->dump($catalogue, array('path' => $tempDir)); $this->assertEquals(file_get_contents(__DIR__ . '/../fixtures/resources.yml'), file_get_contents($tempDir . '/messages.en.yml')); unlink($tempDir . '/messages.en.yml'); }
protected function execute(InputInterface $input, OutputInterface $output) { $masterLanguage = $input->getArgument('master'); $slaveLanguage = $input->getArgument('slave'); $fileName = $input->getOption('file-name'); $masterLanguageFile = $this->path . $fileName . '.' . $masterLanguage . '.yml'; $slaveLanguageFile = $this->path . $fileName . '.' . $slaveLanguage . '.yml'; if (!file_exists($slaveLanguageFile)) { $touch = touch($slaveLanguageFile); if ($touch) { $output->writeln($slaveLanguageFile . ' --> <info>Slave file created</info>'); } else { $output->writeln($slaveLanguageFile . ' --> <fg=black;bg=red>Slave file can not created<fg=black;bg=red>'); } } $catMasterFile = $this->loader->load($masterLanguageFile, $masterLanguage, $fileName); $catSlaveFile = $this->loader->load($slaveLanguageFile, $slaveLanguage, $fileName); foreach ($catMasterFile->all($fileName) as $key => $value) { if (!$catSlaveFile->has($key, $fileName)) { $catSlaveFile->set($key, "TODO: " . $value, $fileName); } } $messages = $catSlaveFile->all($fileName); ksort($messages); $catSlaveFile->replace($messages, $fileName); foreach ($messages as $key => $value) { $catSlaveFile->set($key, $value, $fileName); } $output->writeln('Slave file can modify'); $dumper = new YamlFileDumper(); $dumper->dump($catSlaveFile, array('path' => $this->path)); /*unlink created trash file*/ if (file_exists($slaveLanguageFile . '~')) { unlink($slaveLanguageFile . '~'); } $output->writeln($slaveLanguageFile . ' --> <info>Slave file updated</info>'); }