Ya me está empezando a funcionar, leyendo la documentación de Zend te recomiendan que cuando vayas a hacer segmentos traducidos en un router hagas un archivo aparte para él solo por si estás utilizando esas palabras en otro sitio, así que lo que he hecho ha sido hacer lo que me dice y ahora ha empezado a funcionar bien, con lo cual me temo que era un problema con el orden en el que poner la traducción.
Entonces he cambiado la linea en la función initRouter
Código PHP:
Zend_Controller_Router_Route::setDefaultTranslator($this->_translate);
por
Código PHP:
$translator = new Zend_Translate(
'ini',
APPLICATION_PATH.'/configs/languages/url_es_ES.ini',
'es');
$translator->addTranslation(
APPLICATION_PATH.'/configs/languages/url_en_GB.ini',
'en');
// Establecer el "locale" actual para el traductor
$translator->setLocale($this->_locale->toString());
// Establecerlo como traductor por defecto para las rutas
Zend_Controller_Router_Route::setDefaultTranslator($translator);
Así que ahora he vuelto a hacer casi lo mismo que al principio pero con la diferencia que para recoger la variable de lenguage no recurro al parametro, sino que cojo la dirección de la variable $_SERVER y hago un explode.
Espero que esto le pueda servir de ayuda a alguién, a mi me ha costado un buen dolor de cabeza.