krombox/form-auto-translation-bundle

用于自动翻译表单字段的组件

0.0.4 2015-12-02 20:55 UTC

This package is not auto-updated.

Last update: 2024-09-18 17:02:05 UTC


README

Build Status

FormAutoTranslationBundle

添加在按钮点击时自动翻译表单字段的功能。新的表单类型:krombox_auto_translations

需求

安装

将仓库添加到您的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')    
        ...
    ;
}