2008-09-12 10 views

Respuesta

0

que sugeriría:

  1. poner todas las cadenas, ya sea en la base de datos o archivos de recursos.
  2. Deje espacio adicional para el texto traducido, ya que algunos (por ejemplo, alemán) son más caros.
23

Un par de cosas que he aprendido:

  • absolutamente brutal y minimizar el número de imágenes que tienes que contienen texto. Hacerlo hará que su vida sea un billón por ciento más fácil ya que no tendrá que obtener un nuevo conjunto de imágenes para cada lenguaje en blanco.

  • Tenga mucho cuidado con el posicionamiento CSS que depende de que las cosas siempre permanezcan del mismo tamaño. Si esas cosas contienen texto, no mantendrán el mismo tamaño, y luego tendrá que regresar y arreglar sus diseños.

  • Si utiliza tipos de caracteres en sus tablas sql, asegúrese de que cualquiera de los que puedan recibir entrada internacional sea unicode (nchar, nvarchar, ntext). Para el caso, simplemente estandarizaría el uso de las versiones Unicode.

  • Si está creando consultas SQL dinámicamente, asegúrese de incluir el prefijo N antes de cualquier texto entre comillas si hay alguna posibilidad de que el texto sea unicode. Si terminas poniendo basura en una tabla SQL, verifica si está ahí.

  • Asegúrese de que todas sus páginas web declaren definitivamente que están en formato Unicode. Ver el artículo de Joel, mencionado anteriormente.

  • Vas a utilizar mucho los archivos de recursos para este proyecto. Eso está bien: ASP.NET 2.0 tiene un gran soporte para tal. Deberá consultar las carpetas App_LocalResources y App_GlobalResources, así como GetLocalResourceObject, GetGlobalResourceObject y el concepto de meta: resourceKey. El Capítulo 30 de Professional ASP.NET 2.0 tiene un excelente contenido al respecto. La versión 3.5 del libro también puede tener un buen contenido allí, pero yo no soy el propietario.

  • Piensa en las fuentes. Muchas de las fuentes estándar que quizás desee usar no son aptas para unicode. Siempre he tenido suerte con Arial Unicode MS, MS Gothic, MS Mincho. Sin embargo, no estoy seguro de cuán multiplataforma son estos. Además, tenga en cuenta que no todas las fuentes admiten toda la definición de caracteres Unicode. De nuevo, prueba, prueba, prueba.

  • Comience a pensar ahora en cómo va a obtener traducciones en este sistema. Ve a hablar con quien sea tu proveedor de traducción sobre cómo quieren que los datos pasen de una traducción a otra. Piense en el hecho de que, a través de sus archivos de recursos locales, es probable que repita algunas cadenas comúnmente utilizadas a través del sistema. ¿Lo normalizas en archivos de recursos globales, o tienes algún tipo de capa de base de datos donde solo se genera una copia de cada texto utilizado? En nuestro proyecto reciente, utilizamos archivos de recursos que se generaron a partir de una tabla de base de datos que contenía todas las traducciones y la versión original en inglés de los archivos de recursos.

  • Prueba. En general, voy a probar en alemán, polaco y un idioma asiático (japonés, chino, coreano). El alemán y el polaco son prolijos y casi garantizados para extender las áreas de texto, los idiomas asiáticos usan un conjunto de caracteres totalmente diferente que prueba tu compatibilidad con Unicode.

+0

Para el último punto, uno puede considerar el uso de Pseudolocalization (http://en.wikipedia.org/wiki/Pseudolocalization). Scott Hanselman desarrolló una herramienta (http://www.hanselman.com/blog/PsuedoInternationalizationAndYourASPNETApplication.aspx) que genera un archivo de pseudo recurso. – gsk

2

Esto es un problema difícil. Vivo en Canadá, así que el multilingüismo es un gran problema. En todos mis años de desarrollo de software, nunca he visto una solución que me haya gustado. He visto muchas soluciones que funcionaron y terminaron el trabajo, pero siempre se han sentido como un gran obstáculo. Me gustaría ir con @harriyott y asegurarme de que ninguna de tus cadenas esté realmente en el código. Un archivo de recursos funciona bien para aplicaciones de escritorio. Sin embargo, en ASP.Net, recomendaría usar la base de datos. @John Christensen también tiene algunos buenos consejos.

1

consideraría seriamente leer el siguiente artículo del proyecto de código:

Globalization and localization demystified in ASP.NET 2.0

Se cubre todo, desde las culturas y las variantes regionales, el establecimiento de los hilos de la cultura actual, archivos de recursos, codificaciones, lo que sea!

Y, por supuesto, está lleno de bellas imágenes y ejemplos :-). ¡Buena suerte!

Cuestiones relacionadas