I have these URLs
cz/kontroler/akce
en/controller/action
Is used transatable route and works it like charm. But problem is, that when you will write
cz/controller/akce
it works as well.
In generally when you have
cz/something-in-czech
en/something-in-english
which route to someController, will be works still
cz/some
en/some
because it is really name of controller.
How solve this duplicity content issue?
You can create a plugin that uses a preDispatch method. Before the request is executed, you can analyze the url requested and check if the requested language match the language of the params in the url (I mean controller and action). If not, you can redirect the user to the url that is in accord to the given language (basically you'll translate the controller and the action and then redirect the user to the right url).