ManuelTranslationBundle
Bundle que permite la creación y edición de etiquetas de traducción desde la Base de datos
Puedes Crear y Modificar traducciones de etiquetas de manera simple y sin tocar archivos xml, yml, php...
Y además crear facilmente desde el Profiler las etiquetas sin traducir aun., (*1)
Instalación
Ejecutar, (*2)
composer require optimeconsulting/manuel-translation-bundle @dev
Luego de ello, registrar los bundles en el config/bundles.php:, (*3)
return [
...
ManuelAguirre\Bundle\TranslationBundle\ManuelTranslationBundle::class => ['all' => true],
...
];
Configurando el bundle ManuelTranslationBundle:, (*4)
Este bundle nos permite editar y manejar traducciones desde la base de datos, pudiendo editarlas desde la página web, además nos permite sincronizar las traducciones entre el servidor y local del proyecto., (*5)
Para agregar su configuración se debe crear un archivo llamado config/packages/manuel_translation.yaml., (*6)
manuel_translation:
locales: [en, es] # Se deben definir los locales que el translator usará.
security_role: ROLE_SUPER_ADMIN # Valor por defecto si no se define la opción.
En el config/routes.yaml agregar:, (*7)
manuel_translation:
resource: "@ManuelTranslationBundle/src/Controller/"
type: annotation
prefix: /{_locale}/admin/trans
# requirements:
# _locale: "%locales_pattern%"
En el config/packages/security.yaml ajustar el access_control para el admin de traducciones:, (*8)
access_control:
- ...
- { path: "^/[a-z]{2,4}/admin/trans", allow_if: 'is_granted("manage_translations")' }
- ...
El is_granted("manage_translations") permite entrar en el administrador de traducciones cuando
se tiene el rol configurado en el manuel_translation.security_role o si se está ejecutando
el proyecto en un servidor local, en dado caso se puede acceder al admin de traducciones sin
necesidad de estar autenticado., (*9)
Por último se debe crear la base de datos (si no se ha hecho aun) y agregar a la bd las tablas competentes al bundle, por lo que se deben ejecutar los siguientes comandos de consola:, (*10)
php app/console doctrine:database:create
php app/console doctrine:schema:update --force
Además ejecutar el comando:, (*11)
php app/console assets:install
Con esto ya se ha instalado correctamente el bundle., (*12)