Beispiel #1
0
 public function testRtl()
 {
     $this->assertSame('ltr', LanguageCodes::getOrientation('en'));
     $this->assertSame('rtl', LanguageCodes::getOrientation('ar'));
     $this->assertSame('rtl', LanguageCodes::getOrientation('he'));
     $this->assertTrue(LanguageCodes::isRtl('ar'));
     $this->assertFalse(LanguageCodes::isRtl('fr'));
 }
 /**
  * Set needed variables to display Langswitcher.
  */
 public function onTwigSiteVariables()
 {
     $data = new \stdClass();
     $data->page_route = $this->grav['page']->rawRoute();
     /** @var Page $page */
     $page = $this->grav['page'];
     if ($page->home()) {
         $data->page_route = '';
     }
     $data->current = $this->grav['language']->getLanguage();
     $data->languages = LanguageCodes::getNames($this->grav['language']->getLanguages());
     $this->grav['twig']->twig_vars['langswitcher'] = $data;
     if ($this->config->get('plugins.langswitcher.built_in_css')) {
         $this->grav['assets']->add('plugin://langswitcher/css/langswitcher.css');
     }
 }
Beispiel #3
0
 /**
  * Return the languages available in the site
  *
  * @return array
  */
 public static function siteLanguages()
 {
     $languages = [];
     $lang_data = Grav::instance()['config']->get('system.languages.supported', []);
     foreach ($lang_data as $index => $lang) {
         $languages[$lang] = LanguageCodes::getNativeName($lang);
     }
     return $languages;
 }
 /** Add the native_name function */
 public function onTwigInitialized()
 {
     $this->grav['twig']->twig()->addFunction(new \Twig_SimpleFunction('native_name', function ($key) {
         return LanguageCodes::getNativeName($key);
     }));
 }