Не знаю, о каком модуле речь, но попробую объяснить на римере моего модуля
//имеются переменные
private $lang_code='';
private $include_lang_code=false;// разрешение включение в ссылку языкового iso
public function index()
{
...
if($this->include_lang_code)
$this->lang_code = '/'.$this->language->get('code');
...
if(isset($this->request->get['_route_']))
{
$parts=explode('/', $this->request->get['_route_']);
if($this->include_lang_code)
array_shift($parts); // если разрешено включение языка в ссылку, то после разложения урла убираем из массива код языка
...
}
public function rewrite($link)
{
...
$this->lang_code = $this->language->get('code').'/';
// тут получаем iso языка, если разрешено добавление в урл, иначе остается пустое значение
...
return $url_info['scheme'].'://'.$url_info['host'].(isset($url_info['port'])?':'.$url_info['port']:'').str_replace('/index.php', '', $this->lang_code.$url_info['path']).$url.$query;
// ссылка принимает вид домен / iso языка / и дальше как обычно
}