Pregunta

Así que tengo un programa que necesita ser multilingüe. La única diferencia entre lo que necesito y lo que he encontrado en la web es que todas las computadoras en las que se ejecutará mi programa están configuradas para la localización de EN.

Tenemos empleados de habla hispana que usarán el programa al igual que los empleados de habla inglesa. Así que no podré configurar algo basado en la localización de la computadora, todo tendrá que hacerse en código.

Estaba pensando en intentar crear un archivo XML (realmente solo un conjunto de datos) para cada formulario que tengo y que cada tabla de datos sea un idioma seleccionable. En cada tabla, tendría la información (nombre de control, propiedad y texto) para establecer las etiquetas / casillas de verificación / etc. que necesita. Tendré que crear un nuevo control de formulario para poder tener una función genérica y cambiar el nombre de todos estos controles si es posible.

<DataSet>
   <English>
     <ControlName>labelHello</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Hello</Text>
   </English>
   <English>
     <ControlName>labelBye</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Bye</Text>
   </English>
   <Spanish>
     <ControlName>labelHello</ControlName>
     <ControlProperty>Text</ControlProperty>
     <Text>Hola</Text>
   </Spanish>
</DataSet>

Además, no sabía mucho sobre las cadenas en el archivo de recursos para cada formulario. ¿Podría hacerlo desde allí y usar las funciones .Net para lograr esto?

Así que tengo muchas sugerencias porque realmente no quiero volver al programa que acabo de escribir y poner esto, odio volver y agregar más funcionalidades una vez que ya he pasado tanto tiempo con este tonto ...

Gracias

¿Fue útil?

Solución

Puede establecer la cultura que desea en el código, por ejemplo:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-ES");

Consulte este artículo de MSDN para obtener más información. info.

Otros consejos

Es un dolor, pero no es difícil. Dentro del diseñador WinForm de VS2008, seleccione el formulario, vea sus propiedades y establezca Localizable = True (si ve la clase / código parcial detrás del archivo verá una nueva línea que se parece a

  resources.ApplyResources(this, "$this")

Luego, para cada configuración regional que desee admitir, seleccione Idioma y localice los cambios necesarios sobre el Local predeterminado.

Creo que Windows permite al usuario especificar una configuración regional diferente para una aplicación específica. La última vez que probé esto con Windows 2000.

Con Windows puede tener una EN de cultura de máquina, pero para el navegador, los usuarios individuales de la PC pueden seleccionar culturas preferidas (IE y amp; Firefox de todos modos). Todo lo demás en PC es inglés En IE, vaya a herramientas, Opciones, haga clic en el botón de idioma en la pestaña general. Puede especificar una jerarquía de idiomas preferida.

De lo contrario, ve con la respuesta de Joes.

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