Estoy escribiendo una aplicación asp.net que tendrá que ser localizado en varias regiones además de América del Norte. ¿Qué debo hacer para prepararme para esta globalización? ¿Cuáles son sus principales recursos de 1 a 2 para aprender a escribir una aplicación preparada para el mundo?¿Qué necesito saber para globalizar una aplicación asp.net?
Respuesta
Obtenga información sobre el espacio de nombres System.Globalization:
Además, un buen libro es NET Internationalization: The Developer's Guide to Building Global Windows and Web Applications
sería bueno para refrescar un poco en Unicodes si se dirigen a otras culturas, idiomas.
que sugeriría:
- poner todas las cadenas, ya sea en la base de datos o archivos de recursos.
- Deje espacio adicional para el texto traducido, ya que algunos (por ejemplo, alemán) son más caros.
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.
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.
Asegúrese de que está compilando con Code Analysis activado, y preste atención al Globalization warnings que le proporciona. Guarde los datos en un formato invariable (CultureInfo.InvariantCulture) hasta que lo muestre al usuario (luego use CultureInfo.CurrentCulture).
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!
- 1. ¿Globalizar una aplicación existente de Windows Forms?
- 2. ¿Qué necesito saber para contribuir a Rails?
- 3. ¿Qué archivos necesito implementar para ASP.NET mvc?
- 4. ¿Qué necesito saber sobre C++ 0x?
- 5. ¿Qué necesito saber para crear plantillas de proyectos de Xcode?
- 6. Desarrollador de Android moviéndose a iOS: ¿qué necesito saber?
- 7. ¿Qué necesito para desarrollar una aplicación web Iron Python en Visual Studio 2010
- 8. Cómo puedo saber en qué página estoy en una aplicación MVC de ASP.NET
- 9. ¿Necesito saber ensamblar para depurar programas escritos en C?
- 10. ¿Cómo averiguo lo que necesito saber?
- 11. ¿Cómo puedo saber si necesito conservar o asignar una propiedad?
- 12. ¿Necesito saber un buen javascript para usar jquery?
- 13. ¿Necesito saber sobre Ruby para aprender Ruby on Rails?
- 14. jQuery globalizar problemas con la validación parseFloat
- 15. ¿Qué necesito saber sobre las firmas XML para que funcione SAML?
- 16. ¿Cómo saber qué aplicación JAXB se utiliza?
- 17. ¿Qué necesito para instalar para obtener Microsoft.TeamFoundation.WorkItemTracking.Client.dll?
- 18. ¿Por qué necesito una conexión para crear Declaracionesprecisas?
- 19. Cómo ordenar una consulta por un campo traducido utilizando globalizar
- 20. ¿Por qué necesito una HttpSession para obtener el ServletContext?
- 21. ¿Cómo puedo saber bajo qué versión de IIS se está ejecutando mi aplicación Asp.Net?
- 22. Qué cosas poco qué necesito hacer antes de implementar una aplicación de rieles
- 23. ¿Qué matemáticas necesito para convertir este número
- 24. ¿Qué bibliotecas necesito para usar std :: placeholders?
- 25. Necesito saber el puerto HTTP y HTTPS que está ejecutando mi aplicación web java webapp startup
- 26. Learning Git. Necesito saber si estoy en el camino correcto
- 27. desarrollador de PHP-MySQL haciendo la transición a PostgreSQL. ¿Qué necesito saber?
- 28. ¿Qué necesito para programar la GPU Tegra
- 29. Cómo cambiar la zona horaria para una aplicación asp.net
- 30. asp.net mvc - necesito almacenar algunos datos para la solicitud actual
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