Auteur : Yu Weineng
Date : 2004-février-18
Delphi n'offre pas beaucoup de support pour plusieurs langues, ce qui rend difficile l'internationalisation des applications. Lors du développement d'une application internationale, vous rencontrez de nombreuses difficultés. L'auteur lui-même a participé à la rédaction d'une application de déclaration électronique en douane début 2001. Le programme sera utilisé en Chine, aux États-Unis, à Hong Kong et à Taiwan, et prévoit de l'être à l'avenir au Japon et en Corée du Sud. À l'heure actuelle, l'application doit être capable de saisir du texte dans plusieurs langues en même temps et être capable de saisir plusieurs langues sur la même plate-forme d'exploitation. Comme je venais tout juste de commencer à utiliser Delphi à l’époque, j’ai fait pas mal de détours dans l’écriture multilingue. Delphi n'a pas déployé beaucoup d'efforts dans le développement multilingue, il est donc très difficile de développer des programmes multilingues. J'ai déjà interrogé les ingénieurs de Borland sur des problèmes multilingues, mais ils étaient tous vagues. Il semble que pour réaliser cette fonction, vous ne puissiez trouver un moyen que par vous-même. Microsoft® Word me donne une lueur d'espoir pour le multilinguisme car il peut saisir et imprimer du texte dans plusieurs langues.
Analyse : 1. Dans le développement d'applications, si l'application souhaite implémenter plusieurs langues, elle doit utiliser Unicode, car seul Unicode peut accueillir tous les caractères et leurs codes internes du monde en même temps, et peut implémenter plusieurs langues sur le même formulaire. 2. Il est limité par la plateforme d'exploitation. Comme mentionné ci-dessus, seul Unicode peut résoudre le problème de la coexistence de plusieurs langues, la plate-forme d'exploitation doit donc utiliser Unicode comme code interne de base. La plate-forme d'exploitation de Microsoft n'est prise en charge que par Windows NT ? et les versions ultérieures. Le contenu suivant est donc principalement basé sur la plate-forme technologique du noyau Windows NT ? Quant à savoir pourquoi Microsoft Word peut implémenter plusieurs langues dans Windows 9x, je ne sais toujours pas quelles astuces astucieuses il a proposées. En raison des défauts inhérents à Windows 9x et Windows 9x, je ne prévois pas. trop réfléchir aux moyens de le résoudre dans Windows 9x. C'est probablement aussi la raison pour laquelle Borland ne fait pas beaucoup de travail pour plusieurs langues. 3. La base de données de l'application doit prendre en charge les codes internes Unicode. Le contenu saisi par l'application sera stocké dans la base de données, la base de données doit donc utiliser une base de données prenant en charge Unicode, sinon les données stockées ne pourront pas relire les caractères multilingues (ou cela demandera beaucoup de travail pour terminer ). Actuellement, les bases de données grand public qui prennent entièrement en charge Unicode incluent Microsoft Access 2000, SQL Server 2000 et Oracle 9x. Elles doivent être personnalisées et installées et le code interne doit être sélectionné comme Unicode lors de la création de la base de données. 4. Les applications sont généralement divisées en interfaces de saisie et en rapports. En d'autres termes, l'application doit être capable de saisir, d'afficher et d'imprimer du texte dans plusieurs langues (pouvant accueillir le traditionnel, le simplifié, le japonais, le coréen, etc.). Méthode de saisie Unicode pour l'application. Bien entendu, l’application n’est pas obligée de l’utiliser. Cependant, lors des tests, plusieurs langues doivent être saisies dans la même armoire de saisie de formulaire pour prouver la faisabilité du programme. Actuellement, la seule méthode de saisie pouvant convertir librement entre les polices traditionnelles, simplifiées, anglaises, japonaises et coréennes est la méthode de saisie Microsoft Pinyin. Après analyse, l'application doit effectuer les préparations ci-dessus. J'ai utilisé : 1. Microsoft ? Windows 2000 PRfessional2. Microsoft ? Base de données Access 20003. L'outil de développement est Broand Delphi 7. 4. J'ai utilisé TNTComponent pour le contrôle de l'interface. pour prendre en charge Unicode. TNTComponent est un contrôle de code open source que tout le monde peut utiliser et modifier en toute confiance. Vous pouvez aller sur : http://home.ccci.org/wolbrink pour télécharger et installer (car son utilisation est la même que celle du contrôle de base, donc l'utilisation ne sera pas expliquée). 5. J'utilise Qreport 3.6.2 pour le contrôle de rapport, car il ne prend pas en charge Unicode, j'ai donc réécrit son code afin qu'il puisse prendre en charge plusieurs langues. Cet article fournit le téléchargement du code de correctif (Http://happy.gsidc.com). (Comme Qreport est un contrôle fourni avec Delphi dans Delphi 5 et 6, cet article suppose que les lecteurs peuvent déjà l'utiliser pour imprimer des rapports). 6. Microsoft ? Méthode de saisie Microsoft Pinyin. Vous pouvez le télécharger gratuitement sur le site Web de Microsoft. (Remarque : si vous voulez du japonais, etc., vous devez télécharger le pack de langue)3. Créez un nouveau TntForm1 et ajoutez une armoire de saisie TntEdit et un bouton. Après avoir installé TNTComponent, a.) L'option TntForm (Unicode) apparaîtra sur la nouvelle page de l'application. Créez un nouveau TNTFrom1 pour mieux contrôler Unicode. b.) Une nouvelle page de groupe de contrôle TNT apparaîtra sur le panneau de contrôle de Delphi. Dans le développement d'applications multilingues, il est recommandé d'utiliser des contrôles sur ce type de panneau chaque fois qu'une saisie ou un affichage Unicode est requis. 4. Créez un nouveau formulaire de rapport et ajoutez un QRLabel. 5. Écrivez le code du formulaire. Double-système TntButton1, formulaire de rapport des utilisateurs sur TntForm1 et entrez le code suivant. 6. Résultats des tests et des opérations. Dans le programme, je saisis cinq polices de langue. Comme suit : a.) Le caractère « 国 » est en chinois traditionnel. b.) Le caractère « 国 » est en chinois simplifié. c.) Le caractère « 村 » est unique à Hong Kong et ne fait pas partie du caractère chinois traditionnel. bibliothèque. Il doit être saisi en utilisant une méthode de saisie telle que Cangjie. d.) "China" est l'anglais e.) "のKindergarten ひまわり" est un programme de polices japonaises. Il s'avère que l'application a réalisé les fonctions de saisie, d'affichage et d'impression d'applications multinationales. Voici un autre exemple de lecture et d'écriture de données (plusieurs polices nationales) dans la base de données. Télécharger l'exemple 1