Ver Mensaje Individual
  #1  
Antiguo 09-11-2006
rcuevas rcuevas is offline
Miembro
 
Registrado: nov 2006
Ubicación: Rosas - Gerona - España
Posts: 39
Reputación: 0
rcuevas Va por buen camino
Question Sistemas multilenguage

Tengo un problemilla referente al lenguaje del programa que estoy implementando. Yo trabajo sobre Windows XP Profesional con Delphi 7 Porfesional. Utilizo un componente, Multilizer, que permite realizar sistemas multi-lenguaje, o lo que es lo mismo, tú le defines un diccionario de idiomas y traducciones, y, en función del idioma utilizado, te traduce el texto visualizado por aquellas traducciones que encuentra en el diccionario, más o menos. De este modo, uno puede traducir sus programas a cualquier lenguaje modificando simplemente el diccionario.

En mi caso, tengo diversos lenguajes, y con todos funciona, o lo que es lo mismo, a todos esos idiomas el componente traduce, según el diccionario que le he asignado, correctamente. El problema me ha llegado cuando lo he intentado traducir al ruso. En el momento de asignar el diccionario ruso, una excepción salta y me muestra el mensaje error mensaje 'Russian is not supported by the code page'.

Investigando por ahí (preguntando a qué se debía el error al equipo de Multilizer, desarrolladores del componente) he averiguado que el componente en cuestión trabaja con UNICODE, mientras que Delphi 7 trabaja con códigos de página. La solución propuesta era ir a ‘Panel de control’ ’Configuración regional y de idioma’ ‘Opciones avanzadas’ y seleccionar en ‘Tablas de conversión de páginas de código’ el ruso.

Me dispuse a realizar lo anteriormente descrito, y cual fue mi sorpresa al ver que la tabla de conversión del ruso ya estaba marcada, aunque estaba como inhabilitada, esto es, no la podía desmarcar ni hacer nada con ella.

De este modo, caí en la cuenta de la opción inmediatamente anterior en esta pantalla (‘Panel de control’ ’Configuración regional y de idioma’ ‘Opciones avanzadas’) que es ‘Idiomas para programas no Unicode’. Investigando esta opción he llegado a la conclusión de que sirve para indicar a Windows qué tabla debe utilizar para interpretar aquellos programas que no funcionan con Unicode (como es el mío que funciona con code pages por haber sido realizado con Delphi), pero poniendo el Ruso, además deja de funcionarme el resto de idiomas, mientras que el ruso continúa sin ser visto como debe.

El caso es que sigo sin ser capaz de traducir mi programa al ruso, pero estoy seguro que la solución ha de llegar jugando con estas opciones. Algo se me escapa pero no acabo de averiguar que es. Tampoco acabo de creerme lo que he dicho en el párrafo anterior, ya que implicaría que 2 programas no unicode, es decir, que trabajan con códigos de página, si estos no tienen el mismo código de página, será imposible que trabajen sobre el mismo Windows a la vez. Parece muy restrictivo.

En fin, si alguien puede echarme una mano se lo agradecería muchísimo.
Responder Con Cita