перевод сообщений от Laravel Custom Validator из другого места - PullRequest
0 голосов
/ 10 июня 2018

Как я могу загрузить перевод из другого местоположения, кроме resources/lang/*/validation.php в vendor/package/src/translation/*/validation.php?

Я создал файл перевода по пути vendor/package/src/translation/*/validation.php:

<?php

return [

    'custom' => [
        'search_text' => [
            'string' => 'A nice message.',
            'not_regex' => 'Regex failed.',
        ],
    ],
   'attributes' => [
       'search_text' => 'Search text',
   ],
];

Я загрузил свойсобственный валидатор в сервис-провайдере:

$this->app->validator->resolver( function( $translator, $data, $rules, $messages = array(), $customAttributes = array() ) {
        return new MyValidator( $translator, $data, $rules, $messages, $customAttributes );
    } );

, и я создал ofc класс валидатора.Но я понятия не имею, как я могу объединить валидатор и перевод из пользовательского места на работу.Вывод должен быть перегружен пользовательским файлом, если какое-либо пересечение появится в обоих файлах.Спасибо за помощь.:)

1 Ответ

0 голосов
/ 10 июня 2018

Если ваш пакет содержит файлы перевода, вы можете использовать метод loadTranslationsFrom, чтобы сообщить Laravel, как их загружать, и должны добавить следующее к методу загрузки вашего поставщика услуг:

public function boot()
{
    $this->loadTranslationsFrom(__DIR__.'/path/to/translations', 'name');
}

Переводы пакетассылаются с использованием синтаксического соглашения package::file.line.

echo trans('name::file.line');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...