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.
- Rejestracja:ponad 3 lata
- Ostatnio:około 6 godzin
- Postów:181
- Rejestracja:ponad 3 lata
- Ostatnio:około 6 godzin
- Postów:181
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 ?
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
;|

- Rejestracja:ponad 8 lat
- Ostatnio:około 4 godziny
- Postów:3454
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.
500.blade.php
i wstaw tam {{ __('pindolino') }}
, zrob plik en.json
w katalogu Lang i wpisz { "pindolino": "hey" }
wejdz do kontroelra i wpisz abort(500);
I zobacz czy ci nie podmieni xDDDD skad ty bierzesz takie rewelacje?


- Rejestracja:ponad 4 lata
- Ostatnio:prawie 2 lata
- Postów:449
@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