Как включать i18n в yii2 с advanced сдержись?

В сети я столкнулся с этим руководителем https://stackoverflow.com / questions / 32831288/yii2-translation-does-not-work, это продолжил, но в момент 5 выполнил извлечение сообщений в шаге, у меня появляется эта ошибка в консоли introducir la descripción de la imagen aquí

Это файл config для консоли introducir la descripción de la imagen aquí

и если это функциональный проект, который считает установленным несколько расширения, Это конфигурация yii для выполнения batch

introducir la descripción de la imagen aquí

8
задан 23.05.2017, 15:39
2 ответа

Чтобы мочь давать возможность переводу, и что остался доступным для backend как для frontend ты должен создавать папку внутри папки common так называемый messages, это быть должный оставаться так:

common
   |
   +---> messages

Внутри папки messages, ты создаешь папку, которая будет содержать перевод, который ты желаешь, в случае, если это будут переводы на английский язык эта папка могла бы называться 'в', до здесь структуры папок

common
   |
   +---> messages
            |
            +---->es

Уже имея эту структуру, будь должен создавать файл, названный соглашением "app.php", этот файл будет содержать специфический traudcción языка следующей формы:

<?php
    return [
        'Hola' => 'Hello',
        'Mundo => 'World'
    ];

До сих пор у нас есть наша созданная конфигурация, чтобы давать возможность ей в Yii, нужно давать возможность компоненту i18n в файле common/config/main-local.php

'components' => [
    ....
    'i18n' => [
        'translations' => [
            'app*' => [
                'class' => 'yii\i18n\PhpMessageSource',
                # El archivo de traducciones se encuentra en:
                # folder/to/project/common/messages
                'basePath' => '@common/messages',
                # Para el componente la variable sourceLanguage 
                # siempre debe estar por defecto 'en-US'
                'sourceLanguage' => 'en-US',
                'fileMap' => [
                    'app' => 'app.php',
                    'app/error' => 'error.php',
                ],
            ],
        ],
    ],
    ....
]

С этим уже мы считаем уполномоченным перевод, чтобы устанавливать, у какого перевода будет назначенное по умолчанию приложение стабильно в mail-local.php

<?php 
    return [
        ....
        'language' => 'en' # El proyecto se inicializa con la traducción en inglés
        ....
        components => [
            ....
        ],
    ....
    ]

Уже чтобы иметь переводимые тексты, в совещаниях только должно использовать родную функцию Yii:

<div>
    <label> <?= Yii::t('app', 'Hola') ?> </label>
    <label> <?= Yii::t('app', 'Mundo') ?> </label>
</div>

Смоги продолжать добавлять больше опору для большего количества языков создавая больше папок в common/messages с подпапками и archvios traduccioes, который он хочет вынести для приложения.

3
ответ дан 01.12.2019, 08:16

Компонент user в Yii2 по умолчанию у него есть класс yii\web\User которая используется, чтобы получать информацию пользователя, когда ты входишь в Yii2 с Веб браузера.

В консоли этот класс не доступен по умолчанию и нужно выписывать ее или использовать другой эквивалентный класс для консоли (уже она была разработана тобой или 3-ьих).

Я рекомендую добавлять:

'class' => 'yii\web\User',

В твой компонент user в конфигурации консоли или избегать использовать это благодаря тому, что вышеупомянутый компонент не разработан, чтобы использовать в консоли, этом с разумом, что в консоли нет удостоверения пользователей как ни в Вебе ни получении параметров посредством form, для этого нет классов, которые ты можешь находить на странице официальной документации когда пишут в поисковой службе: yii\console.

У классов там полосатые есть свойства и методы, которые могут быть использованными, чтобы создавать компоненты, которые работали бы посредством консоли.

Больше официальной информации (английский язык) на:

Привет.

3
ответ дан 01.12.2019, 08:16
  • 1
    Использовав этот класс в компоненте он дает мне эту ошибку: Exception и #39; yii\base\UnknownPropertyException и # 39; with message и #39; Getting unknown prop erty: yii\console\ErrorHandler:: errorAction и # 39;....... схвати и # 237; я объявил его в компонентах config консоли: и #39; user и # 39; = > [и #39; class и # 39; = > и #39; yii\web\User и # 39;], –  unrealmach 09.12.2015, 03:43
  • 2
    Я протестировал его в новом приложении с advanced сдержись, который показывал мне ту же ошибку пользователя в момент реализации миграции RBAC, и я решаю, с которым ты упомянул в этом ответе... –  unrealmach 09.12.2015, 05:21
  • 3
    @unrealmach мне приятно, что ты функционировал, если ты считаешь, что и #233; sta возвращенная это правильная ты можешь помечать ее с голубкой. –  Chofoteddy 09.12.2015, 08:13