Mensajes de error y números de error en varios idiomas

7

Por lo tanto, estamos considerando la posibilidad de portar nuestro software para que sea compatible con múltiples idiomas y una de las áreas que tendremos que tratar es los mensajes de error y otras notificaciones.

Obviamente, estos deben ser informados a los usuarios en su propio idioma. Nuestro equipo (en gran parte) solo habla inglés, e incluso si todos fuéramos multilingües, buscamos vender a una amplia gama de países y nunca podríamos esperar tener un número razonable de personas que hablen todos los idiomas (somos una pequeña empresa ).

La forma obvia de solucionar el problema del idioma cuando se nos informan los errores u otros mensajes sobre los que se informa es sobre los números de error que serían coherentes en todos los idiomas. Si bien estos van a existir en el backend (aunque solo sea como clave en el mensaje de error), realmente prefiero no lanzarlos a los usuarios si no tenemos que hacerlo pero no tengo ninguna otra solución.

¿Alguien tiene alguna sugerencia útil para alternativas?

    
pregunta Jon Hopkins 17.01.2011 - 22:52

4 respuestas

4

En las aplicaciones en las que he hecho lo necesario para ser multilingüe, utilizamos un enfoque de tipo de tabla para mantener cada conjunto de cadenas de idioma. El acceso a la tabla es a través de una enumeración. Estos códigos de error más los universales permitirían al usuario final ver su mensaje de error mientras retiene un valor de código para ayudar al equipo de desarrollo. Como han dicho otros, el usuario final preferiría ver los errores en su idioma nativo en lugar del suyo.

    
respondido por el Jeff 17.01.2011 - 23:10
2

Si tiene las traducciones en su base de datos, entonces tiene la capacidad de traducirlas al inglés. Después de un tiempo, será fluido en los mensajes de error globalizados :)

  

Mi sugerencia es que no te preocupes por eso y te centres en ser amigable para el usuario.

Tenga en cuenta que las personas que no hablan inglés apreciarán mucho cuando se cometen errores en su idioma.

Asegúrate de tener las traducciones correctas, esa sería mi preocupación.

    
respondido por el user2567 17.01.2011 - 23:06
1

¿Sería posible que el programa genere un archivo de registro de errores que el usuario pueda enviarle? Mejor aún, si hay una herramienta de informe de fallos separada (que, por supuesto, tendría que traducirse a otros idiomas, pero es probablemente más fácil que traducir todos los mensajes) que enviará todos los datos de error a un buzón especial de su lado. De esa manera, incluso si no entienden el mensaje muy bien, pueden enviarle el registro de errores y usted puede analizarlo en detalle. Sé que el número de error no es su método preferido, pero este o el archivo de error suenan como si funcionaran.

    
respondido por el FrustratedWithFormsDesigner 17.01.2011 - 22:57
1

Como I18N no se tuvo en cuenta al principio, tendrá más problemas que simplemente tratar con los códigos de error.

El diseño de los elementos de la interfaz de usuario con respecto a la estructura de la oración y el crecimiento que puede tener lugar cuando se introduce un nuevo idioma es uno de los más comunes. Además, formar oraciones dinámicamente u otra representación textual sobre la marcha y luego vincular ese resultado dentro de diversos elementos de la interfaz de usuario es otra advertencia.

Mi punto es que la presentación de mensajes de error sería, en última instancia, la parte más fácil de abordar, ya que generalmente están aisladas de un diálogo; mientras que otra representación textual dentro de su aplicación no lo es.

El enfoque que recomendaría es hacer uso de paquetes de idioma y, por lo tanto, implementar una estructura de empaque para la representación textual del producto. Esto le permitiría tener un .zip u otra estructura que podría cargarse y usarse en tiempo de ejecución.

Cuando desee cambiar de idioma, puede eliminar el paquete de idioma que desee y reiniciar la aplicación. El paquete de idioma consistiría en todos los datos textuales necesarios en toda la aplicación. A medida que surge un error en el back-end, se utiliza un código que es específico del producto entre el cliente y el servidor y no está destinado a aparecer para el usuario. Este código luego se asigna a un error del lado del cliente dado que también es estático y no cambia. El valor que contiene ese error en el lado del cliente será la parte dinámica que se extrajo del paquete de idioma al inicio. Luego puede crear un proxy entre los datos extraídos del paquete de idioma y los valores de referencia dentro del código; Permitiendo que se use la tipificación fuerte en todo el producto, pero brindando la capacidad dinámica que busca en diferentes idiomas.

    
respondido por el Aaron McIver 18.01.2011 - 15:51

Lea otras preguntas en las etiquetas