Pregunta

¿Cómo mantiene actualizadas las cadenas de idiomas hablados en su programa? ¿Hay alguna forma económica? ¿Dónde puede encontrar personas para hacer las conversiones a lo largo del tiempo?

¿Fue útil?

Solución

Hay compañías que traducirán los archivos de recursos en los formatos estándar por tarifas; Creo que así es como lo hacen la mayoría de las grandes empresas.

Hice una pregunta similar recientemente aquí sobre el La mejor manera de estructurar el código en un proyecto para respaldar esto, con mi deseo adicional de preservar las cadenas legibles en el código. Sin embargo, esto no es estándar ... por lo general, colocaría todos los recursos de cadena en un archivo separado y se referiría a ellos por ID en el código, y tendría el archivo traducido.

Ver archivos .rc para Windows C ++, archivos .resx para .NET, no estoy seguro de lo que existe para Linux / Mac / otro, pero estoy seguro de que hay equivalentes.

Otros consejos

Esto fue extraído en Joel's Best Software Writing I: http : //blogs.msdn.com/ericlippert/archive/2003/10/28/53298.aspx (¿Cuántos empleados de Microsoft se necesitan para cambiar una bombilla?), y en un alto nivel se analiza cuán simple Los cambios tienen grandes ramificaciones. Si considera que MS tiene muchas aplicaciones internacionalizadas, y este es el proceso que utilizan para garantizar que sus aplicaciones estén actualizadas con miles de factores, incluidas las cadenas nuevas / modificadas que no se pierden en otros idiomas.

Para necesidades de traducción (¡un área en la que tengo un poco de conocimiento!), recomendaría OmniLingua Worldwide.

Creo que depende de cuán accesible desee que sean los idiomas, lo que probablemente depende mucho de lo que sea el proyecto en primer lugar (profesional, hobby, etc.)

En mi trabajo de afición, tengo las cadenas específicas de la localidad almacenadas en un simple archivo JSON externo (XML o incluso un simple INI funcionaría igual de bien, cualquier cosa que pueda darle pares clave-valor). Esto tiene los beneficios de ser multiplataforma, fácil de editar y (si se desea) permite a cualquier persona con el conocimiento y la determinación de traducir su aplicación a su idioma de elección. Para proyectos de código abierto y similares, eso puede ser invaluable.

Para los proyectos que tal vez no desee traducir de todas formas, los recursos integrados son probablemente una apuesta más segura, ya que son razonablemente fáciles de cambiar para los desarrolladores, pero dan al menos un obstáculo trivial para los posibles traductores. Sin embargo, incluso en este caso, el método de almacenamiento no necesita ser complejo. Cualquiera de los tipos de archivos dados o una tabla de cadenas nativas servirá.

En los proyectos en los que he trabajado, hemos adoptado dos enfoques diferentes para la localización, dependiendo del tamaño del proyecto. Para proyectos más pequeños donde cada desarrollador '' posee '' Como componente, es responsabilidad del desarrollador mantener la lista de lo que debe traducirse y a qué idiomas.

Para proyectos más grandes, hemos etiquetado cada cadena con un prefijo de idioma. Por ejemplo, la cadena alemana para '' Sí '' está marcado como " [de] Sí " ;. Después de la localización, la cadena se reemplaza por "Ja". Esto facilita encontrar cosas que se han perdido, ya que puede buscar por el prefijo.

En cuanto a fuentes comerciales adicionales, he trabajado en varios puntos con Net-Translators y BMT , el último más reciente.

Recomiendo ver el viento del oeste proveedor de recursos db .

Administro una aplicación web de administración de proyectos de código abierto ( http://sharpforge.org/p/SharpForge .aspx ) e inicialmente utilizó los archivos resx. Aquí están los problemas que tuve

  • Quería acceder a esos recursos fuertemente tipados desde la capa BLL. Simplemente no era posible.
  • Los archivos resx también son muy difíciles de mantener, agregar / eliminar / cambiar claves de recursos puede crear todo tipo de problemas.
  • Finalmente estaba teniendo grandes problemas para no guardar los archivos usando editores con el mapa / codificación de caracteres correcto que eliminaría todo el texto traducido. El proceso de obtener los recursos del traductor en el repositorio de código a menudo resultó en un cambio de texto.

Pude implementar el proveedor de db como parte de la aplicación. Viene con un editor al que puede dar acceso a los traductores. Su traducción va directamente a la aplicación sin doble manejo y está disponible tan pronto como se reinicia la aplicación. También tiene la capacidad de crear objetos fuertemente tipados para acceder al proveedor desde cualquier capa.

Una vez instalado, simplemente creé un proyecto de traducción en getafreelancer y pude para realizar 25 traducciones para mi aplicación en aproximadamente 2 semanas. Todo por alrededor de $ US50-100 cada uno.

Póngase en contacto en los foros sharpforge si tiene alguno preguntas sobre cómo implementarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top