kmergen / yii2-language-switcher
A simple and flexible language switcher
Installs: 1 344
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 5
Open Issues: 1
Type:yii2-extension
Requires
This package is auto-updated.
Last update: 2024-12-22 02:55:34 UTC
README
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.