[Laravel]lokalizacja a kontroler |
[Laravel]lokalizacja a kontroler |
30.06.2018, 10:01:24
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 31.05.2018 Ostrzeżenie: (0%) |
Piszę swoją pierwszą aplikację w Laravelu. Wersja frameworka 5.6. Udało mi się zaimplementować lokalizację w apce, korzystając głównie z dokumentacji. I działa, w routingu, w blade'ach. Ale gdy dodam widok do metody w kontrolerze i tą metodę wywołam w routingu to lokalizacja wtedy nie działa. Szukałem w Google rozwiązań, ale dotyczyły głównie starszych wersji frameworka i nawet było napisane gdzieś, że w najnowszych wersjach frameworka zaimplementowanie lokalizacji jest uproszczone i nie potrzeba tworzyć już np. middleware do lokalizacji.
Ktoś wyjaśni mi jak użyć lokalizację z kontrolerem w wersji Laravela 5.6? |
|
|
1.07.2018, 09:40:29
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) |
A możesz wrzucić kawałek kodu? Praktycznie nic nie rozumiem z tego co napisałeś, "Larwa" to archaiczny framework (z czasów Zend 1) i używa się lokalizacji tak:
Domyślny język ustawia się w konfiguracji a jeśli chcesz go zmieniać to musisz gdzieś zaimplementować: Ustawiane na podstawie parametru w URL, subdomeny, ciasteczka, nagłówku przeglądarki - jak wolisz. |
|
|
1.07.2018, 16:54:11
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 31.05.2018 Ostrzeżenie: (0%) |
Tak działa bez kontrolera
plik web.php
Z metodą z kontrolera działa tylko jak wpiszę parametr danego języka, plik kontrolera
plik routingu
|
|
|
1.07.2018, 16:59:51
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Laravel ma to do siebie że działa jak chce a twórcy zamkną ci zgłoszenie i problem rozwiązany według nich przykładowo jeśli używasz trans to nie zadziała z tłumaczeniami w plikach json (chociaż z tablicami już bez problemu). Spróbuj używać wszędzie __().
-------------------- |
|
|
2.07.2018, 00:15:23
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) |
Metoda __() została dodana mniej więcej wtedy kiedy obsługa json stąd takie działanie.
Generalnie metoda __ szuka najpierw w json, potem w plikach lang stąd różnica w działaniu jest wskazana dla optymalności (choć ja akurat nie używam jsonów, a __() tak bo jakieś to bardziej "pro" w widokach). -------------------- |
|
|
2.07.2018, 08:14:57
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 31.05.2018 Ostrzeżenie: (0%) |
Mogę stworzyć z tablic obiekty JSON i dekodować je w widoku. Ale i tak, jeśli w kontrolerze załapuje mi lokalizacja tylko jak podam parametr języka, to i tak muszę porobić chyba stany warunkowe dla wszystkich języków.
|
|
|
2.07.2018, 08:15:16
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Ja wiem że pierwsza że samemu ale czasami nie warto się bawić
https://github.com/mcamara/laravel-localization |
|
|
2.07.2018, 09:16:43
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) |
Nie działa Ci, bo nigdzie nie ustawiasz setLocale. Jak już zdefiniowałeś w routingu ten parametr, to trzeba go odebrać i użyć.
|
|
|
3.07.2018, 10:41:56
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 31.05.2018 Ostrzeżenie: (0%) |
|
|
|
Wersja Lo-Fi | Aktualny czas: 29.03.2024 - 00:14 |