/** * Permet de faire le rendu de ce que l'on a donné * On ajoute le titre et les scripts aux variables à transmettre * * @return string Le rendu à envoyer */ public function render() { $title = Translate::_($this->title); $this->addFields('__title', $title === null ? $this->title : $title); $this->addFields('__scripts', $this->scripts); return parent::render(); }
public function testFacadeTranslate() { $translate = TranslateManager::get(); $this->assertSame([], $translate->lang); $example = ['header' => 'Bonjour', 'content' => ['title' => 'Salut la planète !']]; Translate::addArray($example); $this->assertSame($example, $translate->lang); $this->assertTrue(Translate::exist('header')); $this->assertTrue(Translate::exist('content')); $this->assertTrue(Translate::exist('content.title')); $this->assertFalse(Translate::exist('footer')); $this->assertFalse(Translate::exist('content.description')); $this->assertSame($example['header'], Translate::_('header')); $this->assertSame($example['content'], Translate::_('content')); $this->assertSame($example['content']['title'], Translate::_('content.title')); $this->assertNull(Translate::_('footer')); $this->assertNull(Translate::_('content.description')); }
function translate($key) { return Translate::_($key); }
private function loadLang($langFolder, $lang) { $path = $langFolder . '/' . $lang; if ($path === $langFolder . '/' || !file_exists($path)) { return false; } $rdi = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS); $rit = new RecursiveIteratorIterator($rdi); foreach ($rit as $file) { if ($file->getExtension() === 'php') { $pathFile = $file->getRealPath(); $translateArray = (require_once "{$pathFile}"); if (is_array($translateArray)) { // Le vrai dossier de départ $langPath = realpath($path); $langPath = str_replace('\\', '/', $langPath); // On ne garde que le nom des dossiers et du fichier final sans le .php $pathFile = str_replace('.php', '', $pathFile); $pathFile = str_replace('\\', '/', $pathFile); $pathFile = str_replace($langPath . '/', '', $pathFile); $pathExplode = explode('/', $pathFile); $result = $this->createArrayByFolder($pathExplode, function () use($translateArray) { return $translateArray; }); Translate::addArray($result); } } } return true; }