1. Go to this page and download the library: Download surda/language-switcher library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
surda / language-switcher example snippets
use Nette\Application\UI\Presenter;
use Surda\LanguageSwitcher\TLanguageSwitcher;
class BasePresenter extends Presenter
{
use TLanguageSwitcher;
}
use Nette\Application\UI\Presenter;
use Surda\LanguageSwitcher\TLanguageSwitcherWithoutLocaleProperty;
class BasePresenter extends Presenter
{
use TLanguageSwitcherWithoutLocaleProperty;
/** @persistent */
public $locale = 'cs';
}
use Nette\Application\UI\Presenter;
use Surda\LanguageSwitcher\LanguageSwitcherFactory;
use Surda\LanguageSwitcher\LanguageSwitcherControl;
class BasePresenter extends Presenter
{
/** @var LanguageSwitcherFactory */
private $languageSwitcherFactory;
/** @persistent */
public $locale = 'cs';
public function injectLanguageSwitcherFactory(LanguageSwitcherFactory $LanguageSwitcherFactory)
{
$this->languageSwitcherFactory = $LanguageSwitcherFactory;
}
/**
* @return LanguageSwitcherControl
*/
protected function createComponentLanguageSwitcher(): LanguageSwitcherControl
{
$control = $this->languageSwitcherFactory->create();
$control->setLocale($this->locale);
$control->onChange[] = function (LanguageSwitcherControl $control, string $locale): void {
$this->redirect('this', ['locale' => $locale]);
};
return $control;
}
}
class ProductPresenter extends Presenter
{
/**
* @return LanguageSwitcherControl
*/
protected function createComponentLanguageSwitcher(): LanguageSwitcherControl
{
// Init items per page component
$control = $this->languageSwitcherFactory->create();
// All allowed locales
$control->setLocales(['cs' => 'Czech', 'en' => 'English']);
// Default locale
$control->setDefaultLocale('cs');
// Current locale
$control->setLocale('cs');
// To use your own template (default type)
$control->setTemplate('path/to/your/latte/file.latte');
// To use your own template
$control->setTemplates([
'default' => 'path/to/your/latte/file.latte',
'navbar' => 'path/to/your/latte/navbar.latte',
]);
// Enable ajax (defult is disable)
$control->enableAjax();
// Disable ajax
$control->disableAjax();
return $control;
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.