Autor Wątek: [Symfony 3.3] Component symfony/translation i setlocale  (Przeczytany 130 razy)

michal91

  • Newbie
  • *
  • Wiadomości: 2
    • Zobacz profil
[Symfony 3.3] Component symfony/translation i setlocale
« dnia: Czerwiec 18, 2018, 19:53:31 »
Cześć,

dostałem w ręce jakiś stary projekt napisany w Symfony 3.3, chodziło o dodanie tłumaczeń no więc odpaliłem docsa i wdrożyłem tłumaczenia. Jednak napotkałem na problem przy zmianie locale z 'pl' na 'en', przeczytałem już całe Google i nadal nie mogę znaleźć rozwiązania. Dodam jeszcze tylko, że na co dzień nie piszę w Symfony, a muszę sobie z tym poradzić - pomocy Panowie :-)

tłumaczenia są w
app/resources/translation/message.pl.xlf

config.yml
parameters:
    locale: 'pl'

framework:
    #esi: ~
    translator: { fallbacks: ['%locale%'] }
    secret: '%secret%'

routing.yml
front_locale_change:
    path:  /change/{locale}
    defaults: { _controller: FrontBundle:Default:changeLocale }

DefaultController
public function changeLocaleAction(Request $request, $locale) {
        $locale='en'; //w ramach testu
        $request->setLocale($locale);
        $this->get('session')->set('_locale', $locale);
       
        $referer = $request->headers->get('referer');
        if ($referer == NULL) {
            $url = '/';
        } else {
            $url = $referer;
        }
        return $this->redirect($url);
    }

templatka:
<div class="box-content">
                <a href="{{ path('front_locale_change', {'locale' : 'pl' } ) }}">
                    <button class="accept" type="button" onclick="WHImAdultWindow();">
                        <img src="{{ asset('assets/app/custom/images/pl-flag.png') }}" />
                    </button>
                </a>
                <a href="{{ path('front_locale_change', {'locale' : 'en' } ) }}">
                    <button class="" type="button"  onclick="WHImAdultWindow();">
                        <img src="{{ asset('assets/app/custom/images/uk-flag.png') }}" />
                    </button>
                </a>
            </div>

Tłumaczenia z plki ładują się bez problemu, po  przejściu na en tłumaczenia się nie ładują

Valantir

  • Hero Member
  • *****
  • Wiadomości: 569
    • Zobacz profil
Odp: [Symfony 3.3] Component symfony/translation i setlocale
« Odpowiedź #1 dnia: Czerwiec 19, 2018, 13:49:13 »
Podaj przykład z kodu które np. tłumaczenie Ci się nie ładuje? Jak się posługujesz tłumaczeniami w kodzie?

michal91

  • Newbie
  • *
  • Wiadomości: 2
    • Zobacz profil
Odp: [Symfony 3.3] Component symfony/translation i setlocale
« Odpowiedź #2 dnia: Czerwiec 19, 2018, 14:40:38 »
Żadne tłumaczenia mi się nie ładują po zmianie na EN, w templatce tłumaczenia ładuję tak:

{{ 'sponsors'|trans }}
co przekłada się na

"Sponsorzy"

Po wyborze "EN", nie zmienia się na "Sponsors", tak więc tłumaczenia z pliku działają tylko nie wykrywa mi wersji językowej.

Plik z tłumaczeniami wygląda mniej więcej tak:

    <trans-unit id="sponsors" resname="sponsors">
        <source xml:lang="en">Sponsors</source>
        <target xml:lang="pl">Sponsorzy</target>
      </trans-unit>

Jak zdebugowałem sobie "locale" to po zmianie cały czas jest na PL i nijak nie wiem jak to zmienić, tak jakby setlocale w kodzie z kontrolera, który dałem wyżej nie działało.
« Ostatnia zmiana: Czerwiec 19, 2018, 15:29:21 wysłana przez michal91 »