Więcej niż jeden język w walidacji

0

Taka mnie myśl naszła - walidacja w laravelu i trzymanie komunikatu błędach w katalogu walidacji czyli ../lang/en. Czemu ktoś się uparł, żeby komunikaty o błędach trzymać w tym katalogu, a nie bezpośrednio w kodzie? Przecież normalne text czyli komunikaty typu "menu", "zapisz plik" są w widoku?
Druga sprawa to czy jak ktoś chce trzymać zwykłe komunikaty "menu", "zapisz plik" w walidacji to też się tak da bo wtedy łatwiej dla aplikacji gdzie chcemy żeby była np po angielksu i po polsku.

0

Nie kumam; czyli w sumie o co chodzi, bo nie rozumiem?

0

No chłopie chodzi o to, że w laravelu sa używane paginacje i komunikaty o błędach są przechowywane w ../lang/en ale pozostały tekst jest przechowywany w html, ale czemu wszystkiego nie przechowywać w../lang/en ?

2
tomixtomi0001 napisał(a):

No chłopie chodzi o to, że w laravelu sa używane paginacje i komunikaty o błędach są przechowywane w ../lang/en ale pozostały tekst jest przechowywany w html, ale czemu wszystkiego nie przechowywać w../lang/en ?

No właśnie powinno wszystko być przechowywane w lang/en ;|

2

Błędnie zakładasz, że lang/en to "katalog walidacji".

2

A ja się zpaytam o szczegóły bo może o innych komunikatach mówimy.
Przeczytaj jeszcze raz dokumentację:
https://laravel.com/docs/9.x/localization
Jak ją przeczytasz to okaże się, że te tłumaczenia do zwykłych widoków w Blade też należy trzymać w katalogu lang/ i masz do tego funkcję pomocniczą, która robi translacje __() w starszych chyba było trans()

Ale może o innych komunikatach mówimy. Są jeszcze błędy powiązane z HTTP np. 404 500 i tam nie warto stosować translacji albo robić to w ograniczony sposób bo np. probelm z odczytem translacji może wywalić apkę. Przynajmniej takie zapętlenie można było zrobić w starszych wersjach.

0

Wszystko powinno być w lang chyba że zakładasz na 100%, że strona będzie zawsze w jednym języku lub na potrzeby mvp ma być szybko więc olewasz translacje ale liczysz sie że potem trzeba będzie to przerobić jeśli projekt wypali.

0

@tomixtomi0001: Nie musisz trzymac komunikatow w pliku lang/en.php mozesz wszystkie komuniakty o bledach dac bezposrednio w kontrolerze w walicadji

$request->validate([
    'name' => 'required',
],
[ 'name.required' => 'Pole :attribute jest wymagane.']);

albo w pplikach Request jesli takich uzywasz

 public function rules()
 {
    return [
        'your_field' => 'required|string',
    ];
 }

public function messages()
{
    return [
        'your_field.required' => 'Pole wymagane',
    ];
}

Mozesz tez zalozyc inny plik i korzystac z niego. ale jest zasada taka ze jesli masz strone w jezyku angielskim i chcesz tlumaczyc na jezyk polski to dajesz katalog LANG i ktos ci tlumaczy na inny jezyk i masz bardzo latwo ogarniete inne jezyki. dlatego warto trzymac to wlasnie tam, zamiast szukac pozniej w kontrlerach czy requestach

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.