geniv / nette-translator
Nette 框架的翻译扩展
v2.3.6
2019-03-26 23:34 UTC
Requires
- php: >=7.0
- dibi/dibi: >=3.0
- geniv/nette-locale: >=2.0
- geniv/nette-search-content: >=1.0
- nette/nette: >=2.4
- dev-master
- v2.3.6
- v2.3.5
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.6
- v2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.1.9
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0
- dev-develop
This package is auto-updated.
Last update: 2024-09-27 13:23:01 UTC
README
此翻译器旨在保存消息中的标识,默认文本适用于 id_locale=NULL,下一个语言必须手动翻译。
复数源: http://docs.translatehouse.org/projects/localization-guide/en/latest/l10n/pluralforms.html
安装
$ composer require geniv/nette-translator
或者
"geniv/nette-translator": "^2.0"
require
"php": ">=7.0", "nette/nette": ">=2.4", "dibi/dibi": ">=3.0", "geniv/nette-locale": ">=2.0", "geniv/nette-search-content": ">=1.0"
包含在应用程序中
可用的源驱动程序
- DevNullDriver(忽略翻译,仅使用默认翻译)
- NeonDriver(neon 语法文件系统)
- DibiDriver(dibi + 缓存
_Translator-DibiDriver
,自翻译数据库表)
neon 配置
# translator translator: # debugger: true # autowired: true driver: Translator\Drivers\DevNullDriver # driver: Translator\Drivers\NeonDriver(%appDir%) # driver: Translator\Drivers\DibiDriver(%tablePrefix%) # searchMask: # - *Translation.neon searchPath: - %appDir%/../vendor/geniv # first vendor - %appDir% - %appDir%/presenters/CustomTranslation.neon excludePath: - CustomTranslation.neon
searchPath
用于配置系统搜索默认翻译。默认翻译系统具有名称约定 *Translation.neon
,例如: AppTranslation.neon
目录中的名称按 natsort() 函数排序。可以添加自定义默认翻译文件。 excludePath
仅排除在 searchPath
中的搜索目录。此 neon 文件格式为: myIndent: "MyDefaultMessage"
警告:标识索引不应与翻译本身相同。
neon 配置扩展
extensions: translator: Translator\Bridges\Nette\Extension
用法
{* standard translating *} {_'preklad'} {* plural translating *} {_'preklad', $pocet} {* substitution translating *} {_'preklad', [$pocet]}
此 latte 宏不受支持,因为像索引必须使用简单字符串,如 {_'xyz'}
:
{_}translate{/_}
演示者
/** @var ITranslator @inject */ public $translator; $form = new \Nette\Application\UI\Form; $form->setTranslator($this->translator);
或者
// standard translating $this->translator->translate('message-ident'); // plural translating $this->translator->translate('message-ident', 123); // inside %s // substitution translating $this->translator->translate('message-ident', [123]); // inside %s // substitution translating $this->translator->translate('message-ident', ['hello', 123]); // inside %s, %s