Autor: Yu Weineng
Fecha: 2004-febrero-18
Delphi no ha brindado mucho soporte para múltiples idiomas, lo que dificulta la internacionalización de aplicaciones. Cuando se desarrolla una aplicación internacional, se encuentran muchas dificultades. El propio autor participó en la redacción de una solicitud de declaración de aduana electrónica a principios de 2001. El programa se utilizará en China, Estados Unidos, Hong Kong y Taiwán, y se prevé utilizarlo en Japón y Corea del Sur en el futuro. En este momento, la aplicación debe poder ingresar texto en varios idiomas al mismo tiempo y debe poder ingresar varios idiomas en la misma plataforma operativa. Como recién comencé a usar Delphi en ese momento, tomé muchos desvíos en la escritura en varios idiomas. Delphi no ha puesto mucho esfuerzo en el desarrollo multilingüe, por lo que es muy difícil desarrollar programas multilingües. Ya les pregunté a los ingenieros de Borland sobre problemas relacionados con varios idiomas, pero todos fueron vagos. Parece que para realizar esta función, sólo puedes encontrar la manera por ti mismo. Microsoft® Word me da un rayo de esperanza para el multilingüismo porque puede ingresar e imprimir texto en varios idiomas.
Análisis: 1. En el desarrollo de aplicaciones, si la aplicación desea implementar varios idiomas, debe usar Unicode, porque solo Unicode puede acomodar todos los caracteres del mundo y sus códigos internos al mismo tiempo, y puede implementar varios idiomas en el mismo formulario. 2. Está limitado por la plataforma operativa. Como se mencionó anteriormente, solo Unicode puede resolver el problema de la coexistencia de múltiples idiomas, por lo que la plataforma operativa debe usar Unicode como código interno básico. La plataforma operativa de Microsoft solo es compatible con Windows NT y versiones posteriores, por lo que el siguiente contenido se basa principalmente en la plataforma de tecnología del kernel de Windows NT. En cuanto a por qué Microsoft Word puede implementar varios idiomas en Windows 9x, todavía no sé qué trucos ingeniosos se le han ocurrido. Debido a las fallas inherentes de Windows 9x y Windows 9x, no lo planeo. pensar demasiado en las formas de resolverlo en Windows 9x. Probablemente también exista la razón por la que Borland no trabaja mucho en varios idiomas. 3. La base de datos de la aplicación debe admitir códigos internos Unicode. El contenido ingresado por la aplicación se almacenará en la base de datos, por lo que la base de datos debe usar una base de datos que admita Unicode; de lo contrario, los datos almacenados no podrán leer caracteres en varios idiomas (o tomará mucho trabajo completarlos). ). Actualmente, las principales bases de datos que son totalmente compatibles con Unicode incluyen Microsoft Access 2000, SQL Server 2000 y Oracle 9x. Deben personalizarse e instalarse y el código interno debe seleccionarse como Unicode al crear la base de datos. 4. Las aplicaciones generalmente se dividen en interfaces de entrada e informes. En otras palabras, la aplicación debe poder ingresar, mostrar e imprimir texto en múltiples idiomas (acomodando tradicional, simplificado, japonés, coreano, etc.). Método de entrada Unicode para la aplicación. Eso sí, la aplicación no tiene por qué utilizarlo. Sin embargo, durante la prueba, se deben ingresar varios idiomas en el mismo gabinete de entrada de formulario para demostrar la viabilidad del programa. Actualmente, el único método de entrada que puede convertir libremente entre fuentes tradicionales, simplificadas, inglesas, japonesas y coreanas es el método de entrada Microsoft Pinyin. Después del análisis, la aplicación debe realizar los preparativos anteriores. Utilicé: 1. Microsoft? Windows 2000 PRfessional2. Base de datos Microsoft? Access 20003. La herramienta de desarrollo es Broand Delphi 7. 4. Utilicé TNTComponent para el control de la interfaz. control para admitir Unicode TNTComponent es un control de código fuente abierto que todos pueden usar y cambiar con confianza. Puede ir a: http://home.ccci.org/wolbrink para descargarlo e instalarlo (debido a que su uso es el mismo que el control básico, no se explicará el uso). 5. Utilizo Qreport 3.6.2 para el control de informes, porque no es compatible con Unicode, así que reescribí su código para que admita varios idiomas. Este artículo proporciona la descarga del código de parche (Http://happy.gsidc.com). (Debido a que Qreport es un control que viene con Delphi en Delphi 5 y 6, este artículo asume que los lectores ya pueden usarlo para imprimir informes). 6. ¿Microsoft? Método de entrada Microsoft Pinyin. Puede descargarlo de forma gratuita desde el sitio web de Microsoft. (Nota: si desea japonés, etc., debe descargar el paquete de idiomas)3. Cree un nuevo TntForm1 y agregue un gabinete de entrada TntEdit y un botón. Después de instalar TNTComponent, a.) La opción TntForm (Unicode) aparecerá en la nueva página de la aplicación. Cree un nuevo TNTFrom1 para controlar mejor Unicode. b.) Aparecerá una nueva página de grupo de control TNT en el panel de control de Delphi. En el desarrollo de aplicaciones en varios idiomas, se recomienda utilizar controles en este tipo de panel siempre que se requiera entrada o visualización Unicode. 4. Cree un nuevo formulario de informe y agregue una QRLabel. 5. Escriba el código del formulario. TntButton1 de doble sistema, formulario de informe de usuarios en TntForm1 e ingrese el siguiente código. 6. Resultados de prueba y operación. En el programa ingreso cinco fuentes de idiomas. Como sigue: a.) El carácter "国" está en chino tradicional b.) El carácter "国" está en chino simplificado c.) El carácter "村" es exclusivo de Hong Kong y no está en el carácter chino tradicional. biblioteca. Debe ingresarse utilizando un método de entrada como Cangjie. d.) "China" es inglés e.) "のKindergarten ひまわり" es un programa de fuentes japonés. Resulta que la aplicación ha realizado las funciones de entrada, visualización e impresión de aplicaciones multinacionales. A continuación se muestra otro ejemplo de lectura y escritura de datos (múltiples fuentes nacionales) en la base de datos. Descargar ejemplo 1