/** * Like previous function, but with i18n support. * It's allow to serve static content build with the template engine. * The first variable part of the url must be the language code. * /[en|fr|de]/home * /[en|fr|de]/contacts */ public function simpleWithLocale($request, $match, $template) { Translation::setLocale(strtolower($match[1])); return shortcuts\Template::RenderToResponse($template, array(), $request); }
public function testAcceptedLanguage() { $lang = Translation::getAcceptedLanguage(array('fr', 'en', 'de'), 'da, en-gb;q=0.8, en;q=0.7'); $this->assertEquals('en', $lang); $lang = Translation::getAcceptedLanguage(array('fr', 'en', 'en_DK', 'de'), 'da, en-gb;q=0.8, en-dk;q=0.7, en;q=0.7'); $this->assertEquals('en_DK', $lang); $lang = Translation::getAcceptedLanguage(array('fr', 'en', 'en_DK', 'de'), 'de-at, fr-fr'); $this->assertEquals('de', $lang); $lang = Translation::getAcceptedLanguage(array('fr', 'en', 'en_DK', 'de'), 'jp-jp'); $this->assertEquals('fr', $lang); $lang = Translation::getAcceptedLanguage(array('fr', 'en', 'en_DK', 'de'), ''); $this->assertEquals('fr', $lang); }