yii2 advanced template i18n

1) crear la carpeta de mensajes

en common crear la carpeta messages

2) crear el archivo i18n.php

en common/config crear el archivo i18n.php con el siguiente contenido

<?php
return [
    'sourcePath' => __DIR__. '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR,
    'languages' => ['en','es'], //Add languages to the array for the language files to be generated.
    'translator' => 'Yii::t',
    'sort' => false,
    'removeUnused' => false,
    'only' => ['*.php'],
    'except' => [
        '.svn',
        '.git',
        '.gitignore',
        '.gitkeep',
        '.hgignore',
        '.hgkeep',
        '/messages',
        '/vendor',
    ],
    'format' => 'php',
    'messagePath' => __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'messages',
    'overwrite' => true,
];

2) setear en la configuracion el lenguaje del sitio y el componente i18n

en common/config/main.php

'language' => 'es',
  'components' => [
   
    'i18n' => [
    'translations' => [
    'frontend*' => [
    'class' => 'yii\i18n\PhpMessageSource',
    'basePath' => '@common/messages',
    ],
    'backend*' => [
    'class' => 'yii\i18n\PhpMessageSource',
    'basePath' => '@common/messages',
    ],
    ],
    ],
   
    ],



3) crear los archivos de traducciones

ejecutar en la consola
yii message/extract @common/config/i18n.php

esto creara dentro de la carpeta common/messages
las carpetas correspondientes a la lista de lenguajes que se pusieron en i18n.php
y dentro de cada carpeta 3 archivos, con la lista de palabrabras y sus traducciones:
app.php
frontend.php
backend.php

4)Usar los terminos traducidos


Yii::t('backend', 'Translatable String');



No hay comentarios:

Publicar un comentario

linux ubuntu mint actualizar chrome

 desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable