docteurklein / translator-bundle
该扩展包的目的是提供对翻译消息的编辑、添加和删除的接口。
3.0.1
2015-10-05 14:28 UTC
Requires
- php: >=5.4
- phpspec/phpspec: ^2.3
- symfony/framework-bundle: ~2.6
This package is auto-updated.
Last update: 2024-08-29 03:20:55 UTC
README
该扩展包的目的是提供对翻译消息的编辑、添加和删除的接口。
当前支持的格式
- YAML
- XLIFF
- CSV
安装与设置扩展包
- 通过Composer安装
composer require docteurklein/translator-bundle=~3.0
- 将扩展包添加到您的
AppKernel
类
// app/AppKernerl.php public function registerBundles() { $bundles = array( // ... new Knp\Bundle\TranslatorBundle\KnpTranslatorBundle, // ... ); // ... }
- 添加路由
// app/config/routing.yml knplabs_translator_admin: resource: @KnpTranslatorBundle/Resources/config/routing/edition.yml prefix: /trans/admin knplabs_translator: resource: @KnpTranslatorBundle/Resources/config/routing/routing.yml prefix: /trans
以下路由文件提供以下路由
[router] Current routes
Name Method Pattern
knplabs_translator_list GET /trans/admin/list
knplabs_translator_get GET /trans/{id}/{domain}/{locale}
knplabs_translator_put PUT /trans/
最小配置
该扩展包需要激活核心翻译器
// app/config/config.yml framework: # ... translator: { fallback: en } # ...
附加配置
该扩展包依赖于Ext Core库。您可以选择是否自动包含它。
knplabs_translator: include_vendor_assets: false # defaults to true
服务
该扩展包引入了以下服务
knp_translator.dumper.csv container Knp\Bundle\TranslatorBundle\Dumper\CsvDumper
knp_translator.dumper.xliff container Knp\Bundle\TranslatorBundle\Dumper\XliffDumper
knp_translator.dumper.yaml container Knp\Bundle\TranslatorBundle\Dumper\YamlDumper
knp_translator.writer container Knp\Bundle\TranslatorBundle\Translation\Writer
controllers are services too:
knp_translator.controller.edition request Knp\Bundle\TranslatorBundle\Controller\EditionController
knp_translator.controller.translator request Knp\Bundle\TranslatorBundle\Controller\TranslatorController
API
更新特定的翻译键非常简单
$this->get('translator.writer')->write('the key to translate', 'the translated string', 'messages', 'en');
Rest API
- 使用
translated value
更新english
语言的tests
域的foo.bar.baz
键的翻译
curl -X PUT http://project-url/trans/ \ -F 'id=foo.bar.baz' \ -F 'domain=messages' \ -F 'locale=en' \ -F 'value=translate value'
- 获取
tests
域中english
区域的foo.bar.baz
键的翻译值
curl http://project-url/trans/foo.bar.baz/tests/en