2017 © Pedro Peláez
 

symfony-bundle translation-bundle

Symfony2 bundle to work with the language versions of the website. Includes advanced Propel behavior sluggable.

image

it-blaster/translation-bundle

Symfony2 bundle to work with the language versions of the website. Includes advanced Propel behavior sluggable.

  • Tuesday, January 12, 2016
  • by 0x2f8f
  • Repository
  • 4 Watchers
  • 0 Stars
  • 326 Installations
  • PHP
  • 3 Dependents
  • 0 Suggesters
  • 0 Forks
  • 2 Open issues
  • 6 Versions
  • 1 % Grown

The README.md

TranslationBundle

Build Status Scrutinizer Code Quality, (*1)

Вспомогательный бандл для работы с языковыми версиями на сайте, (*2)

Installation

Добавьте ItBlasterTranslationBundle в composer.json:, (*3)

{
    "require": {
        "it-blaster/translation-bundle": "dev-master"
    },
}

Теперь запустите композер, чтобы скачать бандл командой:, (*4)

``` bash $ php composer.phar update it-blaster/translation-bundle, (*5)


Композер установит бандл в папку проекта `vendor/it-blaster/translation-bundle`. Далее подключите бандл в ядре `AppKernel.php`: ``` php <?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new ItBlaster\TranslationBundle\ItBlasterTranslationBundle(), ); }

В app/config/config.yml переопределяеем путь до класса propel-бихейвора sluggable, (*6)

``` bash propel: ... behaviors: ... sluggable: ItBlaster\TranslationBundle\Behavior\ExtendedSluggableBehavior it_blaster_translation_model: ItBlaster\TranslationBundle\Behavior\TranslationModelBehavior, (*7)


В файле `schema.yml` у таблицы прописываем бихейвор с указанием параметра `primary_string`, на основе которой будет формироваться `slug`. Например: ``` bash <behavior name="sluggable"> <parameter name="primary_string" value="title" /> </behavior>

Если вам создавать slug у таблицы не нужно, а нужно только выводить поля языковых версий в правильном порядке, то достаточно прописать бихейвор it_blaster_i18n: ``` bash , (*8)


И прописать в config.yml его подключение: ``` bash propel: ... behaviors: ... it_blaster_i18n: ItBlaster\TranslationBundle\Behavior\ExtendedI18nBehavior

Бихейвор ExtendedSluggableBehavior уже включает в себя методы из бихейвора ExtendedI18nBehavior, поэтому вместе их прописывать в схеме не нужно., (*9)

Если вы используете языковый версии (i18n), необходимо в файле config.yml указать параметры it_blaster_translation.locales и it_blaster_translation.slug_locales. ``` bash it_blaster_translation: locales: ['ru', 'en','uk','cs'] slug_locales: ['en','ru'], (*10)

Параметр `it_blaster_translation.locales` отвечает за порядок вывода полей в форме редактирвоания в CMS.
Параметр `it_blaster_translation.slug_locales` отвечает за порядок языков, на основе которых будет формироваться slug. Если значение по первому языку не заполнено, система будет сформировать slug на основе значения следующей языковой версии.

Таблица переводов
-------
Необходимо в папке проекта src создать файлы переводов <b>messages.`locale`.php</b> и <b>validators.`locale`.php</b> с содержимым:
``` bash
<?php
return \ItBlaster\TranslationBundle\Model\TranslationPeer::getListForLocale("LOCALE");

Например, для английского языка нужно создать файлы: 1. src\App\MainBundle\Resources\translations\messages.en.php 2. src\App\MainBundle\Resources\translations\validators.en.php, (*11)

Со следующим содержимым: ``` bash <?php return \ItBlaster\TranslationBundle\Model\TranslationPeer::getListForLocale("en");, (*12)


Для того, чтобы наполнить таблицу переводов необходимо запустить индексирующий таск в консоле: ``` bash 'php app/console translation:extract en --dir=./src/ --output-dir=./src/App/MainBundle/Resources/translations/ --output-format="php"'

Если вам нужны переводы только файлов шаблонов (twig), то выключите из выборки php-файлы ``` bash 'php app/console translation:extract en --dir=./src/ --output-dir=./src/App/MainBundle/Resources/translations/ --exclude-name="*.php" --output-format="php"', (*13)


**Особенности подключения** 1. Если в проекте не используется JMSTranslationBundle, то необходимо добавить его в composer.json http://jmsyst.com/bundles/JMSTranslationBundle/master/installation 2. В каких-то случаях не переопределяется сервис **jms_translation.dumper.php_dumper.class**, если этого не происходит необходимо в app/config.yml прописать ``` bash parameters: ... jms_translation.dumper.php_dumper.class: ItBlaster\TranslationBundle\Translation\Dumper\PhpDumper ...

Credits

It-Blaster it-blaster@yandex.ru, (*14)

The Versions

12/01 2016

dev-master

9999999-dev https://github.com/it-blaster/translation-bundle

Symfony2 bundle to work with the language versions of the website. Includes advanced Propel behavior sluggable.

  Sources   Download

MIT

The Requires

 

by IT-Blaster

behavior translation sluggable propel

12/01 2016

1.0.4

1.0.4.0 https://github.com/it-blaster/translation-bundle

Symfony2 bundle to work with the language versions of the website. Includes advanced Propel behavior sluggable.

  Sources   Download

MIT

The Requires

 

by IT-Blaster

behavior translation sluggable propel

29/07 2015

v1.0.3

1.0.3.0 https://github.com/it-blaster/translation-bundle

Symfony2 bundle to work with the language versions of the website. Includes advanced Propel behavior sluggable.

  Sources   Download

MIT

The Requires

 

by IT-Blaster

behavior translation sluggable propel

03/06 2015

v1.0.2

1.0.2.0 https://github.com/it-blaster/translation-bundle

Symfony2 bundle to work with the language versions of the website. Includes advanced Propel behavior sluggable.

  Sources   Download

MIT

The Requires

 

by IT-Blaster

behavior translation sluggable propel

14/05 2015

v1.0.1

1.0.1.0 https://github.com/it-blaster/translation-bundle

Symfony2 bundle to work with the language versions of the website. Includes advanced Propel behavior sluggable.

  Sources   Download

MIT

The Requires

 

by IT-Blaster

behavior translation sluggable propel

14/04 2015

v1.0.0

1.0.0.0 https://github.com/it-blaster/translation-bundle

Symfony2 bundle to work with the language versions of the website. Includes advanced Propel behavior sluggable.

  Sources   Download

MIT

The Requires

 

by IT-Blaster

behavior translation sluggable propel