/**
  * @inheritdoc
  */
 public function run()
 {
     // get app language of current application
     $languages = Yii::$app->appLanguage->getAppLanguages();
     $languageLabels = [];
     foreach ($languages as $languageId) {
         $languageLabels[$languageId] = I18N::label($languageId);
     }
     // build form
     $html = '<form method="post" class="current-language" action="' . Yii::$app->request->url . '">';
     $html .= Html::dropDownList('language', Yii::$app->language, $languageLabels, ['class' => 'language-selector form-control']);
     foreach ($languages as $languageId) {
         $html .= Html::hiddenInput($languageId, Url::to([''] + array_merge(Yii::$app->request->get(), ['language' => $languageId])));
     }
     $html .= '</form>';
     return $html;
 }
Ejemplo n.º 2
0
 /**
  * Get language label from id
  * @param string $language Language ID
  * @param bool $flag Display flag
  * @param bool $text Display text
  * @return string HTML
  */
 public static function labelI18n($language, $flag = true, $text = true)
 {
     return '<span class="label-language">' . ($flag ? '<span class="flag flag-' . $language . '"></span>' : '') . ($text ? '<span class="value">' . I18N::label($language) . '</span>' : '') . '</span>';
 }