Browse Source

Fixes #11212: Added headers to PO file in `yii\i18n\GettextPoFile::save()`

ar-bug
stevekr 8 years ago committed by Alexander Makarov
parent
commit
8ca845b680
  1. 1
      framework/CHANGELOG.md
  2. 16
      framework/i18n/GettextPoFile.php
  3. 7
      tests/framework/i18n/GettextPoFileTest.php

1
framework/CHANGELOG.md

@ -55,6 +55,7 @@ Yii Framework 2 Change Log
- Bug #11528: Fixed MessageFormatter construction exception caught for PHP 7 compatibility (subdee, cebe)
- Bug #11878: Fixed i18n gettext fallback language message loading (stevekr)
- Enh #11212: Added headers to PO file in `yii\i18n\GettextPoFile::save()` (stevekr)
2.0.8 April 28, 2016
--------------------

16
framework/i18n/GettextPoFile.php

@ -54,7 +54,21 @@ class GettextPoFile extends GettextFile
*/
public function save($filePath, $messages)
{
$content = '';
$language = str_replace('-', '_', basename(dirname($filePath)));
$headers = [
'msgid ""',
'msgstr ""',
'"Project-Id-Version: \n"',
'"POT-Creation-Date: \n"',
'"PO-Revision-Date: \n"',
'"Last-Translator: \n"',
'"Language-Team: \n"',
'"Language: ' . $language . '\n"',
'"MIME-Version: 1.0\n"',
'"Content-Type: text/plain; charset=' . Yii::$app->charset . '\n"',
'"Content-Transfer-Encoding: 8bit\n"'
];
$content = implode("\n", $headers) . "\n\n";
foreach ($messages as $id => $message) {
$separatorPosition = strpos($id, chr(4));
if ($separatorPosition !== false) {

7
tests/framework/i18n/GettextPoFileTest.php

@ -10,6 +10,13 @@ use yiiunit\TestCase;
*/
class GettextPoFileTest extends TestCase
{
protected function setUp()
{
parent::setUp();
$this->mockApplication();
}
public function testLoad()
{
$poFile = new GettextPoFile();

Loading…
Cancel
Save