Exemplo n.º 1
0
 public function testFormatCatalogue()
 {
     $catalogue = new MessageCatalogue('en');
     $catalogue->add(array('foo' => 'bar'));
     $dumper = new PoFileDumper();
     $this->assertStringEqualsFile(__DIR__ . '/../fixtures/resources.po', $dumper->formatCatalogue($catalogue, 'messages'));
 }
 public function testDump()
 {
     $catalogue = new MessageCatalogue('en');
     $catalogue->add(array('foo' => 'bar'));
     $tempDir = sys_get_temp_dir();
     $dumper = new PoFileDumper();
     $dumper->dump($catalogue, array('path' => $tempDir));
     $this->assertEquals(file_get_contents(__DIR__ . '/../fixtures/resources.po'), file_get_contents($tempDir . '/messages.en.po'));
     unlink($tempDir . '/messages.en.po');
 }
 /**
  * Processes submitting of the form which is generated in
  * {@link \Mibew\Controller\TranslationExportController::showFormAction()}
  * method.
  *
  * @param Request $request Incoming request.
  * @return string Rendered page content.
  */
 public function submitFormAction(Request $request)
 {
     csrf_check_token($request);
     $target = $request->request->get('target');
     if (!preg_match("/^[\\w-]{2,5}\$/", $target)) {
         $target = get_current_locale();
     }
     $messages = load_messages($target);
     ksort($messages);
     $catalogue = new MessageCatalogue($target, array('messages' => $messages));
     $dumper = new PoFileDumper();
     $output = $dumper->format($catalogue);
     $response = new Response();
     $response->headers->set('Content-type', 'application/octet-stream');
     $response->headers->set('Content-Disposition', sprintf('attachment; filename=translation-%s.po', $target));
     $response->headers->set('Content-Length', strlen($output));
     $response->headers->set('Content-Transfer-Encoding', 'binary');
     $response->setContent($output);
     return $response;
 }