Saltar al contenido principal

Contrato de idioma de Driver App

El estado de idioma de Driver App combina un registro de idioma guardado localmente, el idioma del cliente de API, un diccionario de traducción, textos alternativos del origen y la carga de proveedores. Cambiar uno de esos valores no actualiza los demás de manera atómica.

El idioma visible, las traducciones cargadas, la preferencia guardada y la dirección del diseño pueden actualizarse por separado. La disponibilidad de las traducciones depende de la configuración del proyecto.

Disponibilidad​

El proveedor de idioma envuelve los proveedores de configuración, sesión, navegación y tareas; por eso, su estado de carga puede retrasar el inicio posterior y la configuración en segundo plano. Profile puede mostrar un selector de idioma; las opciones disponibles y los diccionarios dependen del proyecto configurado y de la fuente de idioma actual.

Requisitos previos​

  • Identificadores de idioma estables y una política explícita para el idioma predeterminado.
  • Una versión del diccionario para las claves de producto de Driver App.
  • Persistencia local que informe éxito o fallo y mantenga aisladas las cuentas y proyectos.
  • Texto alternativo para cada control, advertencia y error crítico.
  • Comprueba dirección del texto, inversión del diseño, iconos, números, fechas, mapas e interfaz nativa/del proveedor.

Límites de responsabilidad​

LímiteResponsabilidadLímite
Almacenamiento local de idiomaRestaurar y guardar los metadatos seleccionados de ID/código/RTL.Guardar no demuestra que el diccionario esté listo ni actualizado en el servidor.
Idioma del cliente de APIAplicar el código seleccionado a las solicitudes posteriores al origen.Cambiar el cliente no demuestra que el servicio lo admita.
Proveedor de idiomaCargar el idioma predeterminado/guardado, obtener diccionarios, exponer la carga/error y traducir claves.Las transiciones de estado y la persistencia/obtención no son atómicas.
Función de traducciónResolver la clave con prefijo de Driver, la clave original, el texto alternativo y, por último, el texto de la clave.El texto alternativo puede ocultar entradas de diccionario ausentes u obsoletas.
Selector de idiomaMostrar opciones y solicitar otro idioma.La interfaz de selección no demuestra persistencia ni actualización completa.
Interfaz de App/tareasMostrar textos traducidos o alternativos y volver a renderizar según el estado del proveedor.Algunas pantallas pueden conservar su estado local/anterior durante las transiciones.
Metadatos RTLConservar la marca RTL devuelta/guardada.Driver App no aplica dirección de diseño nativa a partir de esta marca.

Entradas y resultados​

Entrada/estadoTransiciónResultadoLímite parcial o de fallo
Hay un idioma guardadoRestaurar el registro y actualizar el código del cliente de API.El proveedor puede iniciar la actualización del diccionario.Las versiones del registro guardado y del diccionario pueden diferir.
No hay idioma guardadoSolicitar el idioma configurado/predeterminado.Se pueden establecer los metadatos del idioma seleccionado.El idioma predeterminado puede establecerse y aun así requerir una actualización posterior del diccionario antes de quitar la carga.
El diccionario se carga correctamenteGuardar el mapa de traducciones recibido y quitar el indicador de carga.Se muestran las claves traducidas.Las claves ausentes siguen usando el fallback/la clave.
Error/excepción del diccionarioGuardar un diccionario vacío o el error, y quitar el indicador de carga.El texto alternativo puede seguir utilizándose.La interfaz puede parecer válida aunque haya fallado la cobertura de traducciones.
Seleccionar otro idiomaGuardar los metadatos, actualizar el cliente de API y activar la carga.Los efectos posteriores solicitan traducciones.La escritura de almacenamiento, el código del cliente y el diccionario pueden completarse por separado.
Seleccionar el idioma actualNo cambia la selección.Se conserva el estado existente.No demuestra que el diccionario actual esté vigente.
Idioma RTLSe conservan los metadatos RTL.Los consumidores pueden consultarlos.Este proveedor por sí solo no establece la inversión/dirección del diseño nativo.

Seguridad y privacidad​

  • No registres tokens de cuenta, identificadores de proyecto ni respuestas privadas de proveedores al diagnosticar la carga de idioma.
  • Nunca traduzcas identificadores operativos, valores de pedido, direcciones, teléfonos, coordenadas ni contenido introducido por usuarios como etiquetas de interfaz.
  • Mantén los textos alternativos libres de detalles privados de implementación.
  • Vincula los resultados tardíos de idioma/diccionario al proyecto actual y a la generación del idioma seleccionado.

Límites y estados de fallo​

EstadoSignificadoRespuesta de mantenimiento
Carga de idiomaLos metadatos o el diccionario siguen pendientes.Mantén explícita la disponibilidad de los componentes posteriores.
Diccionario vacío con texto visibleSe está usando la ruta de texto alternativo/clave.No declares completa la traducción.
Selección guardada, pero texto antiguoDivergieron la persistencia y el estado del diccionario/cliente.Reconcilia la generación; no sobrescribas a ciegas.
Desmontaje antes de recibir respuestaEl transporte puede devolver datos después de que cambie el consumidor.Ignora la generación obsoleta y evita actualizar el estado.
Marca RTL presenteLos metadatos indican que el idioma es RTL.Verifica la dirección del diseño nativo por separado.
Pantalla con varios idiomasAlgunas claves usaron texto alternativo o conservaron el renderizado anterior.Audita por separado las fuentes de claves, diccionarios y alternativas.

Diagnóstico​

SíntomaInspeccionarDiagnóstico seguro
No persiste el cambio de idiomaResultado del almacenamiento local frente al estado del proveedorUsa almacenamiento sintético; no expongas datos de proyecto/cuenta.
Algunas etiquetas conservan el idioma anteriorGeneración seleccionada, código del cliente de API, resultado del diccionario y claves de fallbackRegistra solo la categoría de clave, no valores operativos.
La aplicación sigue cargandoEfecto de idioma predeterminado/diccionario y disponibilidad posteriorPrueba con respuestas interceptadas; no uses el proveedor en vivo.
El texto RTL aparece sin invertir el diseñoConsumidores de metadatos RTL y configuración de dirección nativaTrátalo como compatibilidad parcial hasta completar la revisión de plataforma.
Un fallback legible oculta una traducción faltanteCobertura del diccionario y resolución de fallbackInforma la clave y el idioma faltantes, no la carga privada de respuesta.

Vuelve a revisar cuando cambien el formato del almacenamiento de idiomas, la versión del diccionario, los prefijos de claves, la selección predeterminada, las transiciones de carga/error, el comportamiento del selector, los consumidores RTL o la generación de proyecto/cuenta.

Guías relacionadas: Cambiar idioma · Inicio y carga · Arquitectura de Driver App · Inicio autenticado · Referencia de configuración