zemistr/l10n-nette-translator
最新稳定版本:v1.2.1
Composer 安装命令:
composer require zemistr/l10n-nette-translator
包简介
Simple l10n translator panel for Tracy
README 文档
README
l10nNetteTranslator
l10n translator for Nette with simple panel for Tracy
Packagist
l10nNetteTranslator is available on Packagist.org, just add the dependency to your composer.json.
{ "require" : { "zemistr/l10n-nette-translator": "1.*" } }
or run Composer command:
php composer.phar require zemistr/l10n-nette-translator
Usage without composer
<?php require('src/l10nNetteTranslator.php');
Example usage (standard usage with file storage)
Just add following code into the config.neon:
extensions: translator: l10nNetteTranslator\ApplicationDI\Extension translator: # languages are required languages: - lang: l10n\Language\CzechLanguage # must implements l10n\Language\ILanguage plural: l10n\Plural\PluralRule8 # must implements l10n\Plural\IPlural - lang: l10n\Language\SlovakLanguage # if language implements l10n\Plural\IPlural, you can ignore plural section - lang: l10n\Language\EnglishLanguage default: true # if is not set, the first language will be set as default # storage is optional storage: @translator_simple_nette_storage # must implements l10nNetteTranslator\Storage\IStorage services: # You can use any storage implements Nette\Caching\IStorage translator_nette_storage: class: Nette\Caching\Storages\FileStorage(%appDir%/Texts) # Texts will be saved in %appDir%/Texts as file named by ISO 639-1 autowired: false translator_simple_nette_storage: l10nNetteTranslator\Storage\SimpleNetteStorage(@translator_nette_storage)
and add into presenter this code:
/** @var \l10nNetteTranslator\Translator */ protected $translator; public function injectTranslator(\l10nNetteTranslator\Translator $translator) { $this->translator = $translator; } protected function beforeRender() { $this->template->setTranslator($this->translator); }
Example usage in form
class XxxPresenter extends \Nette\Application\UI\Presenter { public function createComponentForm() { $form = new Form(); $form->setTranslator($this->translator); ... return $form; } }
Example usage in Latte
// users -> singular => %n% person // users -> plural 1 => %n% people {_'users'} // 1 person {_'users', 0} // 0 people {_'users', 50} // 50 people ---- // user -> singular => I am %firstname% %lastname% {_'user', ['%firstname%' => 'John','%lastname%' => 'Doe']} // I am John Doe {_'user', 1, ['%firstname%' => 'John','%lastname%' => 'Doe']} // I am John Doe
How can I change the language?
class XxxPresenter extends \Nette\Application\UI\Presenter { public function actionDefault() { // argument must be ISO 639-1 code $this->translator->setActiveLanguageCode('cs'); } }
(c) Martin Zeman (Zemistr), 2015 (http://zemistr.eu)
统计信息
- 总下载量: 275
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-04-05