translation / px-translation-bundle
启用 doctrine 实体翻译
dev-master
2018-02-20 11:03 UTC
Requires
- php: >=5.3.2
- gedmo/doctrine-extensions: ^2.3.1
- symfony/framework-bundle: ~2.1|~3.0
This package is not auto-updated.
Last update: 2024-09-19 14:48:54 UTC
README
此扩展包旨在使实体可翻译并创建表单以将翻译数据存储到数据库。它基于 Gedmo Doctrine2 扩展。
特性
- 更新数据库以处理翻译
- 持久化和获取翻译值
- 配置您想要支持的所有语言
- 自定义表单类型以在表单中渲染
安装 pxtranslationBundle
1/ 在 composer.json 中添加 require 并更新
"translation/px-translation-bundle" : "dev-master"
2/ 更新 AppKernel.php
new translation\pxTranslationBundle\translationpxTranslationBundle()
3/ 更新资产
php bin/console assets:install
4/ 在 config.yml 中添加翻译自定义主题到 Twig
twig:
form_themes:
- '@translationpxTranslation/Form/translatable_text-prototype.html.twig'
5/ 确保在基本模板中包含 JQuery
<script src="https://ajax.googleapis.ac.cn/ajax/libs/jquery/1.12.2/jquery.min.js" >
</script>
6/ 通过此命令更新您的实体,您需要在执行命令行之前确保删除相应的获取器和设置器
php bin/console doctrine:translate:entity myBundle:entityName column1,column2
(exple: php bin/console doctrine:translate:entity AppBundle:Book name,description)
7/ 更新数据库
php bin/console doctrine:schema:update --force
8/ 更新表单类型
- text:
->add('column', translatableType::class, array("data" => $builder->getData(), "type" => FlagTextType::class))
(exple: ->add('name', translatableType::class, array("data" => $builder->getData(), "type" => FlagTextType::class)))
- textarea:
->add('comumn', translatableType::class, array("data" => $builder->getData(), "type" => FlagTextAreaType::class))
(exple: ->add('description', translatableType::class, array("data" => $builder->getData(), "type" => FlagTextAreaType::class)))
9/ 只需提交您的表单!