Autor: Yu Weineng
Datum: 18. Februar 2004
Delphi bietet nicht viel Unterstützung für mehrere Sprachen, was die Internationalisierung von Anwendungen erschwert. Bei der Entwicklung einer länderübergreifenden Anwendung stoßen Sie auf viele Schwierigkeiten. Der Autor selbst war Anfang 2001 an der Erstellung eines elektronischen Zollanmeldungsantrags beteiligt. Das Programm wird in China, den USA, Hongkong und Taiwan eingesetzt und soll künftig auch in Japan und Südkorea eingesetzt werden. Zu diesem Zeitpunkt muss die Anwendung in der Lage sein, Text in mehreren Sprachen gleichzeitig einzugeben und mehrere Sprachen auf derselben Betriebsplattform einzugeben. Da ich zu diesem Zeitpunkt gerade erst mit Delphi angefangen habe, bin ich beim mehrsprachigen Schreiben viele Umwege gegangen. Da Delphi keine großen Anstrengungen in die mehrsprachige Entwicklung gesteckt hat, ist es sehr schwierig, mehrsprachige Programme zu entwickeln. Ich habe Borland-Ingenieure bereits zu Fragen der Mehrsprachigkeit befragt, aber sie waren alle vage. Es scheint, dass man zur Realisierung dieser Funktion nur einen Weg selbst finden kann. Microsoft® Word gibt mir einen Hoffnungsschimmer für die Mehrsprachigkeit, da es Texte in mehreren Sprachen eingeben und drucken kann.
Analyse: 1. Wenn die Anwendung in der Anwendungsentwicklung mehrere Sprachen implementieren möchte, muss sie Unicode verwenden, da nur Unicode alle Zeichen und ihre internen Codes auf der Welt gleichzeitig aufnehmen und mehrere Sprachen auf demselben Formular implementieren kann. 2. Sie ist durch die Betriebssystemplattform begrenzt. Wie oben erwähnt, kann nur Unicode das Problem der Koexistenz mehrerer Sprachen lösen, daher muss die Betriebssystemplattform Unicode als grundlegenden internen Code verwenden. Die Betriebssystemplattform von Microsoft wird nur von Windows NT? und späteren Versionen unterstützt, daher basieren die folgenden Inhalte hauptsächlich auf der Windows NT?-Kernel-Technologieplattform. Warum Microsoft Word in Windows 9x mehrere Sprachen implementieren kann, weiß ich immer noch nicht, welche cleveren Tricks es sich ausgedacht hat. Aufgrund der inhärenten Mängel von Windows 9x und der Beseitigung von Windows 9x habe ich keine Pläne zu viel darüber nachzudenken, wie man das Problem in Windows 9x lösen kann. Es gibt wahrscheinlich auch einen Grund, warum Borland nicht viel Arbeit für mehrere Sprachen leistet. 3. Die Datenbank der Anwendung muss interne Unicode-Codes unterstützen. Der von der Anwendung eingegebene Inhalt wird in der Datenbank gespeichert, daher muss die Datenbank eine Datenbank verwenden, die Unicode unterstützt, da die gespeicherten Daten sonst nicht in der Lage sind, mehrsprachige Zeichen zurückzulesen (oder die Fertigstellung viel Arbeit erfordert). ). Zu den Mainstream-Datenbanken, die Unicode derzeit vollständig unterstützen, gehören Microsoft Access 2000, SQL Server 2000 und Oracle 9x. Oracle 9x muss angepasst und installiert werden und der interne Code muss beim Erstellen der Datenbank als Unicode ausgewählt werden. 4. Anwendungen werden im Allgemeinen in Eingabeschnittstellen und Berichte unterteilt. Mit anderen Worten: Die Anwendung muss in der Lage sein, Text in mehreren Sprachen einzugeben, anzuzeigen und zu drucken (traditionell, vereinfacht, Japanisch, Koreanisch usw.). Unicode-Eingabemethode für die Anwendung. Natürlich muss die Anwendung es nicht verwenden. Während des Tests müssen jedoch mehrere Sprachen in denselben Formulareingabeschrank eingegeben werden, um die Machbarkeit des Programms zu beweisen. Derzeit ist die Microsoft Pinyin-Eingabemethode die einzige Eingabemethode, die eine freie Konvertierung zwischen traditionellen, vereinfachten, englischen, japanischen und koreanischen Schriftarten ermöglicht. Nach der Analyse muss die Anwendung die oben genannten Vorbereitungen treffen: 1. Microsoft? Access-Datenbank 20003. Ich habe TNTComponent zur Schnittstellensteuerung verwendet Steuerelement zur Unterstützung von Unicode ist ein Open-Source-Code-Steuerelement, das jeder bedenkenlos verwenden und ändern kann. Sie können zu http://home.ccci.org/wolbrink gehen, um es herunterzuladen und zu installieren (da die Verwendung mit der Basissteuerung identisch ist und daher nicht erläutert wird). 5. Ich verwende Qreport 3.6.2 für die Berichtssteuerung, da es Unicode nicht unterstützt, also habe ich seinen Code neu geschrieben, damit es mehrere Sprachen unterstützen kann. Dieser Artikel bietet den Download des Patchcodes (Http://happy.gsidc.com). (Da Qreport ein Steuerelement ist, das in Delphi 5 und 6 mitgeliefert wird, geht dieser Artikel davon aus, dass Leser es bereits zum Drucken von Berichten verwenden können.) 6. Microsoft? Microsoft Pinyin-Eingabemethode. Sie können es kostenlos von der Microsoft-Website herunterladen. (Hinweis: Wenn Sie Japanisch usw. möchten, müssen Sie das Sprachpaket herunterladen.)3. Erstellen Sie ein neues TntForm1 und fügen Sie einen TntEdit-Eingabeschrank und eine Schaltfläche hinzu. Nach der Installation von TNTComponent wird a.) die Option „TntForm (Unicode)“ auf der neuen Seite der Anwendung angezeigt. Erstellen Sie ein neues TNTFrom1, um Unicode besser steuern zu können. b.) Eine neue TNT-Kontrollgruppenseite wird im Delphi-Kontrollfeld angezeigt. Bei der Entwicklung mehrsprachiger Anwendungen wird empfohlen, Steuerelemente auf diesem Paneltyp überall dort zu verwenden, wo eine Unicode-Eingabe oder -Anzeige erforderlich ist. 4. Erstellen Sie ein neues Berichtsformular und fügen Sie ein QRLabel hinzu. 5. Schreiben Sie den Formularcode. Doppelsystem TntButton1, Benutzerberichtsformular auf TntForm1 und geben Sie den folgenden Code ein. 6. Test- und Betriebsergebnisse. Im Programm habe ich fünf Sprachschriftarten eingegeben. Wie folgt: a.) Das Zeichen „国“ kommt im traditionellen Chinesisch vor. b.) Das Zeichen „国“ kommt im vereinfachten Chinesisch vor. c.) Das Zeichen „村“ kommt nur in Hongkong vor und kommt nicht im traditionellen Chinesisch vor Die Eingabe muss mit einer Eingabemethode wie Cangjie erfolgen. d.) „China“ ist Englisch. e.) „のKindergarten ひまわり“ ist ein japanisches Schriftartenprogramm. Es stellt sich heraus, dass die Anwendung die Eingabe-, Anzeige- und Druckfunktionen multinationaler Anwendungen implementiert hat. Hier ist ein weiteres Beispiel für das Lesen und Schreiben von Daten (mehrere nationale Schriftarten) in die Datenbank. Laden Sie Beispiel 1 herunter