/** * @group ZF-9489 */ public function testAddingAdapterToSourcealsUsingOwnRule() { $translate = new Translator\Translator(Translator\Translator::AN_ARRAY, array('singular' => array('plural_0 (en)', 'plural_1 (en)', 'plural_2 (en)', 'plural_3 (en)'), 'plural' => ''), 'en'); $this->assertFalse($translate->isTranslated('Message 1')); $adapter = new Adapter\Gettext(__DIR__ . '/Adapter/_files/translation_en.mo', 'en'); $translate->addTranslation($adapter); $this->assertTrue($adapter->isTranslated('Message 1')); $adapter2 = new Adapter\Gettext(__DIR__ . '/Adapter/_files/testmo/de_AT/LC_TEST/translation-de_DE.mo', 'de_AT'); $adapter2->addTranslation(__DIR__ . '/Adapter/_files/translation_en2.mo', 'fr'); $translate->addTranslation($adapter2, 'fr'); $languages = $translate->getList(); $this->assertFalse(array_key_exists('de_AT', $languages)); $this->assertTrue(array_key_exists('fr', $languages)); }
public function testOtherEncoding() { if (PHP_OS == 'AIX') { $this->markTestSkipped('These charsets are not supported on AIX'); } $adapter = new Adapter\Gettext(dirname(__FILE__) . '/_files/translation_otherencoding.mo', 'ru'); $adapter->addTranslation(dirname(__FILE__) . '/_files/translation_otherencoding.mo', 'ru'); // Original message is in KOI8-R.. as unit tests are done in UTF8 we have to convert // the returned KOI8-R string into UTF-8 $translation = iconv("KOI8-R", "UTF-8", $adapter->translate('Message 2', 'ru')); $this->assertEquals('Сообщение 2 (ru)', $translation); $this->assertEquals('Message 5', $adapter->translate('Message 5')); $this->assertEquals('Message 5', $adapter->translate('Message 5', 'ru_RU')); }