Pregunta

La solicitud que estoy escribiendo está casi completa y me gustaría que la usen personas que hablen diferentes idiomas.

No estoy seguro de por dónde empezar, ¿cuál es la diferencia entre globalización y cultura en lo que respecta a la programación?

¿Cómo se pueden tomar frases poco comunes como "esta aplicación fue creada para hacer esto y aquello" en lugar de Archivo, Abrir, Guardar, etc. y convertirlas, digamos, en español?

Muchas gracias :-)

¿Fue útil?

Solución

Microsoft ya tiene una muy buena tutorial

Otros consejos

Tienes diferentes cosas que hacer para tener una aplicación "globalizada".

1) Traduce cada etiqueta en tus formularios y controles en tu aplicación

Debe establecer la propiedad "Localizable" en verdadero en cada formulario y control.Esta propiedad permite la creación de archivos de recursos en cada idioma y región.Ahora, con la propiedad "Idioma", puedes seleccionar qué idioma deseas admitir.Cuando selecciona un idioma en la lista del cuadro combinado, su formulario (o control) cambiará automáticamente a este idioma.Ahora es tu trabajo traducir cada palabra en el control.Tan pronto como realice una modificación, Visual Studio creará un archivo de recursos para el idioma específico.(Por ejemplo, MyForm.fr-FR.resx para Francia-Francia).

2) Importe cada cadena codificada en su código a un archivo resx

Cree un archivo de recursos (personalmente, uso StringTable.resx) y agregue cada cadena para traducir en este archivo.Después de eso, cree un archivo de recursos para cada idioma que desee admitir y traduzca las cadenas de cada archivo.Por ejemplo, si desea admitir francés, cree StringTable.fr.resx o StringTable.fr-FR.resx para francés-Francia.Con Administrador de recursos clase, puedes cargar cada cadena.

Nota: Si está utilizando Visual Studio 2005 o 2008, ya tiene archivos de recursos creados de forma predeterminada.

3) Necesitas elaborar tus formularios y controles sabiamente

Directrices de Microsoft: Directrices de Microsoft

4) Tratar con fechas y números

Si su aplicación crea archivos de datos que pueden enviarse a otro usuario en otra región, debe pensar en ello cuando guarde sus datos en el archivo.Por lo tanto, almacene siempre su fecha y hora en UTC y realice la conversión en local solo cuando cargue la información.Lo mismo se aplica a los números decimales, especialmente si están almacenados en texto.


Cuando compile su aplicación, Visual Studion creará un archivo satélite como MyApplication.es.dll en una subcarpeta fr.Para cargar este dll, debe cambiar el idioma del hilo actual al iniciar su aplicación.

Aquí el código:

CultureInfo ci = new CultureInfo("fr");
Thread.CurrentThread.CurrentUICulture = ci;

Todas sus consultas serán respondidas en el libro a continuación.Los capítulos iniciales explican todos los conceptos principales, la terminología y abreviaturas sofisticadas como i18n.No tuve tiempo de leerlo hasta el final...pero bueno hasta el punto que leí.Recomendado si realmente quieres hacerlo de la manera correcta y tienes tiempo :)

http://www.amazon.com/NET-Internationalization-Developers-Applications-Development/dp/0321341384 Image

Para un sistema muy simple, cree una interfaz que defina métodos como GetSaveText(), etc.y permita que ensamblajes como este se conecten a su aplicación.

Esta debería ser una solución bastante buena para entre 10 y 1000 cadenas:

Tenga un archivo de recursos para cada configuración regional.No conozco .NET pero estoy seguro de que existe alguna forma común de hacerlo.Luego, en su código de obtención de recursos, cargue el apropiado según la configuración regional del navegador de su usuario.Solicite a este código que le proporcione la cadena adecuada para alguna clave.

Contenido del archivo de ejemplo, si tuviera que implementarlo desde cero:

recursos.en:

save=Save
close=Close
ok=OK
areYouSure=Are you sure?

recursos.es:

save=I don't know how to say anything in Spanish, oops
close=...
ok=...
areYouSure=...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top