public function testRealTranslation() { $this->markTestIncomplete(); $input = "trlKwf('Save')"; $expected = "trl('Speichern')"; $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'de'); $this->assertEquals($expected, $result); $input = "trlpKwf('reply', 'replies', 2)"; $expected = "trlp('Antwort', 'Antworten', 2)"; $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'de'); $this->assertEquals($expected, $result); $input = "trlKwf('Save')"; $expected = "trl('Save')"; $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'en'); $this->assertEquals($expected, $result); $input = "trlcKwf('time', 'On')"; $expected = "trl('Am')"; $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'de'); $this->assertEquals($expected, $result); $input = "trlcKwf('forum', 'Location')"; $expected = "trl('Location')"; $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'en'); $this->assertEquals($expected, $result); $input = str_repeat(' ', 10015) . " trlKwf('Info')"; $result = $this->_jsLoader->trlLoad($input, Kwf_Trl_Parser_JsParser::parseContent($input), 'de'); $this->assertNotContains('trlKwf', $result); }
protected function _getContents($language, $pack) { if ($pack) { $compiledContents = $this->_getCompliedContents(); $map = $compiledContents['contents']; $trlElements = $compiledContents['trlElements']; } else { $contents = $this->_getRawContents(null); $map = Kwf_SourceMaps_SourceMap::createEmptyMap($contents); $trlElements = Kwf_Trl_Parser_JsParser::parseContent($contents); unset($contents); } if ($trlElements) { $buildFile = false; if ($pack) { $buildFile = "cache/assets/" . $this->getFileNameWithType() . '-' . $language; $dir = dirname($buildFile); if (!file_exists($dir)) { mkdir($dir, 0777, true); } } if (!$buildFile || !file_exists("{$buildFile}.buildtime") || filemtime($this->getAbsoluteFileName()) != file_get_contents("{$buildFile}.buildtime")) { foreach ($this->_getTrlReplacements($trlElements, $map->getFileContents(), $language) as $value) { $map->stringReplace($value['search'], $value['replace']); } if ($buildFile) { $map->save("{$buildFile}.map", $buildFile); file_put_contents("{$buildFile}.buildtime", filemtime($this->getAbsoluteFileName())); } } else { $map = new Kwf_SourceMaps_SourceMap(file_get_contents("{$buildFile}.map"), file_get_contents("{$buildFile}")); } } return $map; }