Hola @nuria24, gracias por el detalle y el fragmento de código. @miguelhub está en lo cierto, el problema es que la propiedad name del objeto Tab debe ser un array multilenguaje. En el snippet que compartes, solo se está definiendo la clase, pero no se asigna el nombre para los diferentes idiomas.
Para solucionar esto, necesitas añadir un bucle foreach para recorrer todos los idiomas activos y asignar el nombre de la pestaña para cada uno. Así te asegurarás de que el nombre se muestre correctamente en el back office sin importar el idioma seleccionado por el administrador.
Aquí tienes la corrección que deberías aplicar en tu myordergridpro.php, justo después de $tab->class_name = 'AdminMyordergridproAjax';:
function installTab()
{
if (Tab::getIdFromClassName('AdminMyordergridproAjax')) {
return true;
}
$tab = new Tab();
$tab->active = 1;
$tab->class_name = 'AdminMyordergridproAjax';
foreach (Language::getLanguages(true) as $lang) {
$tab->name[$lang['id_lang']] = 'Mis Pedidos Pro (Ajax)';
He añadido las líneas para el bucle y también las propiedades id_parent y module que son esenciales para que la pestaña se cree correctamente y aparezca bajo el menú de Pedidos. Con esto, el nombre debería aparecer traducido o al menos con el nombre que le indiques en todos los idiomas activos.