Задать вопрос
@IliaMal

Как локализовать письма на русский?

Здравствуйте.
Laravel 10.x
При восстановлении пароля отправляется стандартное письмо с ссылкой на восстановление.

Проблема в том что письмо на английском, мне его необходимо заменить язык на русский.
В config/app.php я установил локализацию на 'ru'

Я переопределил значение строк где это возможно
...
return (new MailMessage)
            ->subject('Сброс пароля')
            ->greeting('Здравствуйте!')
            ->line('Вы получили это письмо, потому что мы получили запрос на сброс пароля для вашей учетной записи.')
            ->action('Заменить пароль', url('password/reset', $this->token))
            ->line('Если вы не запрашивали сброс пароля, никаких дальнейших действий не требуется.');
...

Но в шаблоне письма
vendor/laravel/framework/src/Illuminate/Notifications/resources/views/email.blade.php
есть и условно статически записанный текст в футоре:
@lang(
    "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\n".
    'into your web browser:',
    [
        'actionText' => $actionText,
    ]
)

Наличие @lang() видимо подразумевает что данный текст можно переопределить, но в документации я не нашел примера куда, с каким именем и каким содержанием нужно добавить языковой файл.

Я в курсе, что моно задать в @lang() или __() файл и ключ и так указать на нужный файл с переводом (пример: __('auth.login')), но как применить перевод не редактируя файлы в каталоге <code>vendor/laravel/framework/*</code>
  • Вопрос задан
  • 97 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
resources/lang/ru.json
resources/lang/en.json

Пример
{
  "Hello, World!": "Привет, Мир!"
}
__('Hello, World!');


Если с ключами, то
resources/lang/ru/auth.php
resources/lang/en/auth.php

Пример
return [
  "login": "Войти"
];
__('auth.login');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы