Yii2: Как изменить файл перевода системных сообщений - PullRequest
1 голос
/ 09 января 2020

Проблема

Yii предоставляет собственные переводы для системных сообщений, например, «Ошибка загрузки файла» переводится как «Das Hochladen der Datei ist gescheitert». когда язык на моем сайте меняется на немецкий. Это было бы хорошо, но некоторые переводы грамматически некорректны, и я хотел бы изменить их.

Я нашел файл сообщений, который yii использует для обработки перевода: yiisoft>yii2>messages>de>yii.php, но я не могу внести в него изменения, поскольку он является частью каталога vendor, и любые изменения, которые я внесу, будут перезаписано во время следующего обновления yii.

Что я пробовал

Я пытался следовать инструкциям, изложенным здесь: https://forum.yiiframework.com/t/translating-system-messages/29733 . Что включает в себя создание копии yii.php, помещение ее в новый каталог, внесение желаемых изменений в перевод и затем указание coreMessages на нее в конфигурации. Я выполнил все эти шаги, но, похоже, это ничего не делает для меня.

1 Ответ

1 голос
/ 09 января 2020

Как указано в Guide :

Yii поставляется с сообщениями перевода по умолчанию для ошибок проверки и некоторых других строк. Все эти сообщения находятся в категории yii. Иногда вы хотите исправить перевод сообщений по умолчанию для вашего приложения. Для этого настройте прикладной компонент i18n , как показано ниже:

'i18n' => [
    'translations' => [
        'yii' => [
            'class' => 'yii\i18n\PhpMessageSource',
            'sourceLanguage' => 'en-US',
            'basePath' => '@app/messages'
        ],
    ],
],

Теперь вы можете размещать скорректированные переводы на @app/messages/<language>/yii.php.

* 1014. *

Кстати - вы упомянули, что переводы

[...] грамматически некорректны [...]

Это было бы здорово для Yii 2 и его Сообщество, если вы можете решить проблему - пожалуйста, раскройте этот файл и отправьте PR.

...