¿Cómo maneja un servicio web moderno varios idiomas (configuraciones regionales)?

1. El mayor problema será la consistencia de las claves. Verifique el flujo:

  • liberas tu aplicación de Android / servicio web v1
  • cargar archivos de localización al servidor y cargar / hacer traducciones allí
  • A medida que avanza el desarrollo, actualiza los archivos de localización en el servidor, ya que los traductores tienen que hacer su trabajo antes del lanzamiento de la nueva versión
  • en caso de que se hayan cambiado algunas claves: la versión anterior (aplicación) no puede obtener sus textos traducidos
  • puedes crear “versiones” en el servidor, pero eso trae problemas de administración
  • puede restringir los cambios de teclas, pero eso no resolverá el problema (las teclas pueden desaparecer, los textos con las mismas teclas pueden cambiar su significado)

2. Los retrasos, por supuesto. Tendrá que extraer los materiales localizados en el tiempo de ejecución.

3. Enfoque común roto. Android no está listo para obtener recursos localizados en el tiempo de ejecución, probablemente tendrá que hackear lo que no es bueno a largo plazo.

Eso es solo un primer pensamiento.

Déjame darte mis antecedentes. Estoy gestionando la startup orientada a la localización Crowdin (servicio de gestión de traducción · Crowdin). He observado miles de proyectos de localización continua y la buena práctica desde mi perspectiva es la siguiente:

  • gestionar el proceso de localización en el servidor (crear configuraciones regionales, hacer localización, hacer qa, etc.)
  • cargue materiales de localización para traducir en cada confirmación (active la carga automáticamente, envíe una notificación a los traductores de que aparecieron nuevas cadenas)
  • Descargue traducciones existentes de forma continua (por ejemplo, con Jenkins y cree versiones provisionales)
  • hacer QA continuamente, mejorar las traducciones
  • desplegar / liberar tan a menudo como sea posible. incluir la última localización con cada versión lanzada

No sé cómo se ajusta a su flujo de trabajo y ciclo de lanzamiento del proyecto, pero en general este enfoque da buenos resultados.

Le recomiendo que se ponga en contacto con nuestro soporte si podemos ayudarlo a mejorar / configurar su proceso de localización.

Por lo general, hago la traducción en el lado del servidor, básicamente siempre pasa el idioma al servicio web que solicita y devuelve toda la información en el idioma solicitado.

Creo que no es muy eficiente el enfoque del que habla sobre el uso de un servicio web aislado para manejar las traducciones, ya que el cliente debe realizar al menos dos solicitudes para cada servicio web, la primera para obtener la información y la segunda para traducirla. .

More Interesting

¿Cómo documentaría una aplicación web como Gmail?

¿Cuál es la diferencia de velocidad entre el agente de usuario web y la detección de características?

¿Cuál es la mejor tecnología para crear una aplicación web multitáctil con necesidades como: rotar, escalar, arrastrar y soltar, etc.?

Tengo buenos antecedentes usando PHP / MySQL. ¿Qué debo tener en cuenta para crear una aplicación web como Stack Overflow?

¿Cuál es el mejor enfoque para la ramificación de Git cuando un equipo trabaja en una aplicación web?

Si tuviera que iniciar una nueva aplicación web a gran escala hoy, ¿qué marco utilizaría?

¿Las aplicaciones web realmente pueden reemplazar las aplicaciones nativas fuera de línea / Windows para el software ERP?

Cómo ejecutar la misma aplicación Node.js que una aplicación de consola y también una aplicación de navegador

¿Qué aplicaciones web sociales que no son juegos tienen la misma adicción y utilidad que Quora?

¿Cómo aborda Node.JS varias técnicas de piratería como la inyección SQL o las secuencias de comandos de sitios cruzados (XSS)?

¿Node.js sería un marco bueno o mejor para crear una aplicación que transmita videos?

Usabilidad: ¿Qué son las empresas que ofrecen un servicio para crear recorridos interactivos superpuestos en su sitio?

¿Cuál es la mejor manera de administrar los gastos compartidos en línea?

¿Puedo usar mi habilidad de ds y algoritmos en el desarrollo de software en tiempo real, como aplicaciones web que usan Java?

¿Cómo se implementa un proyecto django creado en PyCharm en Windows?