Multijazyčné routování na moduly
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- martin.knor
 - Člen | 17
 
Ahoj, lze nějak docílit toho abych měl překlady u multijazyčných rout pokud mám v routě statický text? abych nemusel vypisovat pro každý jazyk jednu routu?
$frontRouter[] = new Route('[<lang us>/]product/<url>', 'Product:category');
$frontRouter[] = new Route('[<lang cz>/]produkt/<url>', 'Product:category');
				
- martin.knor
 - Člen | 17
 
Tohle mi fungovalo akorát pomocí překladové tabulky se vždy přesměrovalo na poslední překlad vedoucí na presenter, takže ho to vzalo ale nezůstal v adrese.

- Jan Tvrdík
 - Nette guru | 2595
 
martin.knor: Zrovna lobuji, aby to šlo vyřešit ještě jednodušeji. Viz https://github.com/…te/pull/1440.
Momentálně to jde řešit globálními filtry:
$frontRouter[] = new Route('[<lang us>/]<presenter>/<url>', [
	NULL => [
		Route::FILTER_IN => function ($params) {
			if ($params['lang'] === 'cs' && $params['presenter'] === 'Produkt') {
				$params['presenter'] = 'Product';
			}
			return $params;
		},
		Route::FILTER_OUT => function ($params) {
			// ...
		}
	]
]);
				
- David Grudl
 - Nette Core | 8285
 
V čem by to nové řešení bylo jednodušší? Kód bude vypadat víceméně stejně.

- Jan Tvrdík
 - Nette guru | 2595
 
@David Grudl: Bude to lépe čitelné, protože
filtrování parametru <presenter> bude nastaveno přímo
u toho parametru. Navíc nebude trpět aplikací dvou filtrů, což může taky
někoho zmást.