usetwice/personal-translations-widget-bundle

基于个人翻译添加翻译小部件

安装: 185

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 2

类型:symfony-bundle

v0.2.2 2012-12-09 17:03 UTC

This package is not auto-updated.

Last update: 2024-09-28 13:19:57 UTC


README

添加到 composer.json

"ladela/personal-translations-widget-bundle" : "dev-master"

添加到 AppKernel.php

new Ladela\PersonalTranslationsWidgetBundle\PersonalTranslationsWidgetBundle(),

复制或创建符号链接文件

Resources/views/Form/translatable_field_widget.html.twig located in the bundle directory
~~~~

to
~~~~
/app/Resources/views/translatable_field_widget.html.twig locate din the project root

语言配置

config.yml

personal_translations_widget:
  getter: your-languages-getter-service-id

服务类必须实现 TranslationsGetterInterface 并返回语言键 => 标签对的数组

use Ladela\PersonalTranslationsWidgetBundle\TranslationsGetter\TranslationsGetterInterface;

class LanguagesGetter implements TranslationsGetterInterface
{
  public function getLanguages()
  {
    return array('en' => 'English', 'de' => 'Deutsch');
  }
}

或使用语言作为数组

personal_translations_widget:
  languages:
        en: English
        es: Spanish

Sonata Admin 示例

protected function configureFormFields(FormMapper $form)
{
  $subject = $form->getAdmin()->getSubject();
  $form
    ->add('translations', 'translatable_field', array(
    'personal_translation' => 'Site\BaseBundle\Entity\AccommodationTranslation',
    'fields' => array('title', 'description', 'secondary_text'),
    'widgets' => array('title' => 'text', 'description' => 'textarea', 'secondary_text' => 'textarea'),
    'field_options'  => array('secondary_text' => array('attr' => array('class' => 'text-field')))
  ))
}