public function testDump() { $catalogue = new MessageCatalogue('en'); $catalogue->add(array('foo' => 'bar')); $tempDir = sys_get_temp_dir(); $dumper = new MoFileDumper(); $dumper->dump($catalogue, array('path' => $tempDir)); $this->assertEquals(file_get_contents(__DIR__ . '/../fixtures/resources.mo'), file_get_contents($tempDir . '/messages.en.mo')); unlink($tempDir . '/messages.en.mo'); }
if (!empty($language)) { $iso = api_get_language_isocode($language); /** @var Translator $translator */ $translator = $app['translator']; $translator->setLocale($iso); } $app['language'] = $language; $app['translator'] = $app->share($app->extend('translator', function ($translator, $app) { $locale = $translator->getLocale(); /** @var Translator $translator */ if ($app['translator.cache.enabled']) { //$phpFileDumper = new Symfony\Component\Translation\Dumper\PhpFileDumper(); $dumper = new MoFileDumper(); $catalogue = new MessageCatalogue($locale); $catalogue->add(array('foo' => 'bar')); $dumper->dump($catalogue, array('path' => $app['path.temp'])); } else { $translationPath = $app['path.base'] . 'src/Chamilo/Resources/translations/'; $translator->addLoader('pofile', new PoFileLoader()); $file = $translationPath . $locale . '.po'; if (file_exists($file)) { $translator->addResource('pofile', $file, $locale); } $customFile = $translationPath . $locale . '.custom.po'; if (file_exists($customFile)) { $translator->addResource('pofile', $customFile, $locale); } // Validators $file = $app['path.base'] . 'vendor/symfony/validator/Symfony/Component/Validator/Resources/translations/validators.' . $locale . '.xlf'; $translator->addLoader('xlf', new XliffFileLoader()); if (file_exists($file)) {