jak přepínat jazykovou lokazlizaci v KDYBY, uplny zaklad

asinkan
Člen | 38
+
0
-

Ahoj,

podle dokumentace jsem si úspěšně nainstaloval Kdyby. Překlady mi fungují (při zadání „en“ na konci URL).

Postupoval jsem podle návodu , ale narazil jsem u sekce „Locale resolvers“

Neumím udělat tlačítko, které mi změní jazykovou lokalizaci. V návodu se píše:

„It can be autowired by Kdyby\Translation\LocaleResolver\SessionResolver, and you can change the stored locale using setLocale method.“

Ale jak tuhle setLocale metodu použít? Jak ji volat?

V configu mаm:

extensions:
        translation:
            Kdyby\Translation\DI\TranslationExtension

translation:
    resolvers:
        session: on

Co napsat presenteru v případě, že chci změnit jazyk? Klidně v konstruktoru, to je jedno. Jen jako test.

Díky moc

David Matějka
Moderator | 6445
+
+2
-

Ahoj, většinou je nejlepší udržovat locale v URL, tedy pomocí Parameter resolveru. pak ti pro změnu jazyku stačí kliknout na odkaz, který ten parametr změní:

<a n:href="this locale => cs">přepnout do češtiny</a>
David Matějka
Moderator | 6445
+
+3
-

mimochodem, bude asi lepší použít integraci contributte/translation, jelikož kdyby balíčky jsou většinou neudržované

asinkan
Člen | 38
+
+1
-

Díky, přesně tohle mi v dokumentaci chybělo ;-)