Gracias @mutmut por el feedback, y bien visto ![]()
Un poco de contexto sobre el «por qué» del inglés, porque no es un simple olvido de traducción:
En la integración, los mensajes «normales» (estado de conexión, respuesta de la acción cuando al menos un TV responde, insignias por TV) se envían en formato multilingüe { en, fr, de } → traducidos automáticamente según tu idioma.
El toast rojo, sin embargo, proviene del hecho de que la acción lanza un error — es eso lo que desencadena el color rojo. Y del lado del SDK de integración externa:
- un error lanzado (throw) se reenvía a Gladys como una simple cadena de texto, no como un objeto multilingüe;
- el controlador de acción (onAction) no recibe el idioma del usuario (a diferencia de los widgets onWidgetGet que reciben language).
Por lo tanto, hoy un toast rojo no puede ser traducido por idioma como los mensajes verdes. Las dos únicas opciones actuales:
1. toast rojo monolingüe (fr para la comunidad, pero un usuario EN/DE lo vería en fr);
2. toast verde localizado + nos apoyamos en las insignias rojas «inaccesible» por TV para la severidad.
@pierre-gilles ¿sería posible agregar del lado del SDK la posibilidad de un error de acción localizado? Dos opciones:
-
aceptar un objeto
{ en, fr, … }como mensaje de error de una acción (en lugar de una simple cadena), o -
pasar el idioma del usuario al controlador
onAction(como paraonWidgetGet), a cargo de la integración de traducir.
Mientras tanto, dejo la 2.2.4 como está (toast rojo en inglés) — decidme qué enfoque preferís.