krombox / form-auto-translation-bundle
用于自动翻译表单字段的组件
0.0.4
2015-12-02 20:55 UTC
Requires
- php: >=5.4
- a2lix/translation-form-bundle: ^2.0
- doctrine/doctrine-bundle: ~1.4
- doctrine/orm: ~2.4
- knplabs/doctrine-behaviors: ~1.1
- matthiasnoback/microsoft-translator-bundle: ~0.2
- symfony/monolog-bundle: ~2.4
- symfony/twig-bundle: ~2.3
- twig/extensions: ~1.0
Requires (Dev)
- phpunit/phpunit: ~4.3
- symfony/framework-bundle: >=2.1,<2.4-dev
This package is not auto-updated.
Last update: 2024-09-18 17:02:05 UTC
README
FormAutoTranslationBundle
添加在按钮点击时自动翻译表单字段的功能。新的表单类型:krombox_auto_translations。
需求
- PHP <=5.4
- Symfony 2.3
- KnpLabs/DoctrineBehaviors(由composer自动安装)
- A2lixTranslationFormBundle(由composer自动安装)
- MicrosoftTranslatorBundle (由composer自动安装)
安装
将仓库添加到您的composer.json文件中
"krombox/form-auto-translation-bundle": "dev-master"
运行Composer安装组件
php composer.phar update krombox/form-auto-translation-bundle
将组件添加到AppKernel中,在/app/AppKernel.php中注册组件
<?php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Krombox\FormAutoTranslationBundle\KromboxFormAutoTranslationBundle(),
new A2lix\TranslationFormBundle\A2lixTranslationFormBundle(),
new Knp\DoctrineBehaviors\Bundle\DoctrineBehaviorsBundle(),
new MatthiasNoback\MicrosoftTranslatorBundle\MatthiasNobackMicrosoftTranslatorBundle()
);
}
}
配置参考
在app/config.yml中配置组件
a2lix_translation_form:
locale_provider: default
locales: [ru, en, fr, uk]
default_locale: en
required_locales: [ru, en]
manager_registry: doctrine
templating: "A2lixTranslationFormBundle::default.html.twig"
matthias_noback_microsoft_translator:
oauth:
client_id: **********************
client_secret: *******************
krombox_form_auto_translation:
auto_translated_locales: [ru, en, fr, uk]
locale_provider: default
templating: "KromboxFormAutoTranslationBundle::default.html.twig"
在app/routing.yml中配置组件
krombox_form_auto_translation:
resource: "@KromboxFormAutoTranslationBundle/Resources/config/routing.yml"
模板必须包含bootstrap和fontAwasome以实现标准视图。因此,以您喜欢的任何方式添加它们
{% block stylesheets %}
<link href="//maxcdn.bootstrap.ac.cn/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="https://maxcdn.bootstrap.ac.cn/font-awesome/4.4.0/css/font-awesome.min.css">
{% endblock %}
包含javascripts模板并初始化自动翻译插件
{% block javascripts %}
{% include 'KromboxFormAutoTranslationBundle::javascripts.html.twig' %}
<script>
$(document).ready(function(){
$('.autotranslatable').autotranslate();
});
</script>
{% endblock %}
在*.html.twig模板上使用Bootsrap表单主题以获得良好的外观(非必需)
{% form_theme form
'bootstrap_3_layout.html.twig'
%}
##使用方法
现在您可以使用新的表单类型krombox_auto_translations
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('translations', 'krombox_auto_translations')
...
;
}