Skip to content

kmergen/yii2-language-switcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yii 2 Language Switcher

Yii2 extension for simple and flexible language switching via a given template

The preferred way to install this extension is through composer.

Either run

composer require "kmergen/yii2-language-switcher": "*"

or add

"kmergen/yii2-language-switcher": "*",

to the require section of your composer.json file.

Usage

Simple list

echo \kmergen\LanguageSwitcher::widget([

]);

Bootstrap 3 dropdown Menu

echo \kmergen\LanguageSwitcher::widget([
                   'parentTemplate' => '<nav class="navbar-nav nav">
                    <li class="dropdown">{activeItem}
                        <ul class="dropdown-menu">{items}</ul>
                     </li>   
                 </nav>',
                 'activeItemTemplate' => '<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{label} <span class="caret"></span></a>',
                 'itemTemplate' => '<li><a href="{url}">{label}</a></li>'
            ]);

Bootstrap 3 dropdown Menu with flags

echo \kmergen\LanguageSwitcher::widget([
                   'parentTemplate' => '<nav class="navbar-nav nav">
                    <li class="dropdown">{activeItem}
                        <ul class="dropdown-menu">{items}</ul>
                     </li>   
                 </nav>',
                 'activeItemTemplate' => '<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="flag flag-{language}"></i> {label} <span class="caret"></span></a>',
                 'itemTemplate' => '<li><a href="{url}"><i class="flag flag-{language}"></i> {label}</a></li>'
            ]);

Bootstrap 4 dropdown Menu

<?= \kmergen\LanguageSwitcher::widget([
                'parentTemplate' => '<li class="nav-item dropdown">{activeItem}                               
                    <div class="dropdown-menu" aria-labelledby="navbarDropdownLanguageMenuLink">{items}</div></li>',
                'activeItemTemplate' => '<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{label}</a>',
                'itemTemplate' => '<a class="dropdown-item" href="{url}">{label}</a>'
                ]); ?>

Bootstrap 4 dropdown Menu with flags

<?= \kmergen\LanguageSwitcher::widget([
                'parentTemplate' => '<li class="nav-item dropdown">{activeItem}                               
                    <div class="dropdown-menu" aria-labelledby="navbarDropdownLanguageMenuLink">{items}</div></li>',
                'activeItemTemplate' => '<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{label}</a>',
                'itemTemplate' => '<a class="dropdown-item" href="{url}"><i class="flag flag-{language}"></i> {label}</a>'
                ]); ?>

In the assets folder of this extension are a flags.png and a flags.css file which you can implement in your project template. We do not register these assets directly with the extension to keep it as flexible as possible.

Note: This widget get the languages from the extension Yii2 LocaleUrls. Therefore you may configure localeUrls first before you run the widget.

About

A Yii2 Language Switcher widget

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •