Překlad slova v url – použitím proměnné začnou padat stránky do špatného routeru

- Stejsi
 - Člen | 21
 
Ahojte, potřeboval bych poradit. Mám následující router (od Filipa
z KDYBY) na překlad id produktu na hezké url a zpět. Dále specifikovaný
presenter a action na kterém se má routovat
(Shop:product).
$frontRouter[] = $route = new FilterRoute('[<locale=cs '.$locale.'>/]produkt/<idShopProduct>', 'Shop:product');
$route->addFilter('idShopProduct', array($container->routerRepository, 'getShopProductIdByUrl'), array($container->routerRepository, 'getShopProductUrlById'));
Problém je v tom že se mi nedaří přeložit to slovo → produkt ← v adrese. Totiž pokud na to použiji proměnnou, tak mi do toho routeru začnou padat i stránky, které tam nepatří, mám totiž nadefinovaný router podobně i pro jiné sekce, např. články viz.:
$frontRouter[] = $route = new FilterRoute('[<locale=cs '.$locale.'>/]clanek/<articleUrl>', 'Cms:article');
        $route->addFilter('articleUrl', array($container->routerRepository, 'getCmsIdByUrl'), array($container->routerRepository, 'getCmsUrlById'));
abych se tomu vyhnul tak jsem musel definovat výchozí hodnotu a povolené hodnoty takto:
 $frontRouter[] = $route = new FilterRoute('[<locale=cs '.$locale.'>/][!<produkt=produkt produkt|product>/]<idShopProduct>', 'Shop:product');
        $route->addFilter('produkt', array($container->routerRepository, 'getProductByUrl'), array($container->routerRepository, 'getProductById'));
        $route->addFilter('idShopProduct', array($container->routerRepository, 'getShopProductIdByUrl'), array($container->routerRepository, 'getShopProductUrlById'));
Tohle funguje správně pokud jsem přímo na produktu, překládá produkt na product v případě angličtiny, ale vytváří to špatně odkazy na kategoriích produktů – odkaz je ../en/produkt/some-product místo ../en/product/some-product
Přikládám i funkce na překlad slova (jen zjednodušeně)
		public function getProductByUrl($presenter, Nette\Application\Request $request){
            $lang = $request->getParameters()['locale'];
            if($lang == 'cs'){
                return "produkt";
            }else{
                return "product";
            }
        }
         public function getProductById($presenter, Nette\Application\Request $request){
            $lang = $request->getParameters()['locale'];
            if($lang == 'en'){
                return "product";
            }else{
                return "produkt";
            }
        }
Fóra jsem pročetl, ale nenašel jsem ten problém že se ty routery
„bijou“.
Neví někdo co s tím? Děkuji!