Автор: Ю Вэйнэн
Дата: 18 февраля 2004 г.
В Delphi не предусмотрена поддержка нескольких языков, что затрудняет интернационализацию приложений. При разработке международного приложения вы сталкиваетесь со многими трудностями. Автор сам участвовал в написании заявления на электронную таможенную декларацию в начале 2001 года. Программа будет использоваться в Китае, США, Гонконге и Тайване, а в будущем планируется использовать в Японии и Южной Корее. В настоящее время приложение должно иметь возможность вводить текст на нескольких языках одновременно и иметь возможность вводить несколько языков на одной операционной платформе. Поскольку в то время я только начал использовать Delphi, мне пришлось много отклоняться от написанного на нескольких языках. Delphi не приложил особых усилий к многоязычной разработке, поэтому разрабатывать многоязычные программы очень сложно. Раньше я спрашивал инженеров Borland о проблемах многоязычности, но все они были туманными. Кажется, что достичь этой функции можно только самостоятельно. Microsoft® Word дает мне проблеск надежды на многоязычие, поскольку он может вводить и печатать текст на нескольких языках.
Анализ: 1. При разработке приложений, если приложение хочет реализовать несколько языков, оно должно использовать Unicode, поскольку только Unicode может одновременно вместить все символы и их внутренние коды в мире и может реализовать несколько языков в одной и той же форме. 2. Это ограничено операционной платформой. Как уже говорилось выше, только Unicode может решить проблему сосуществования нескольких языков, поэтому операционная платформа должна использовать Unicode в качестве основного внутреннего кода. Операционная платформа Microsoft поддерживается только Windows NT и более поздними версиями, поэтому следующий контент в основном основан на технологической платформе ядра Windows NT? Что касается того, почему Microsoft Word может реализовать несколько языков в Windows 9x, я до сих пор не знаю, какие хитрые трюки он придумал. Поскольку присущие Windows 9x и Windows 9x недостатки будут устранены, я не планирую. слишком много думать о том, как решить эту проблему в Windows 9x. Вероятно, это также причина, по которой Borland мало работает для нескольких языков. 3. База данных приложения должна поддерживать внутренние коды Unicode. Содержимое, введенное приложением, будет храниться в базе данных, поэтому база данных должна использовать базу данных, поддерживающую Unicode, в противном случае сохраненные данные не смогут считывать многоязычные символы (или для завершения потребуется много работы). ). В настоящее время основные базы данных, полностью поддерживающие Unicode, включают Microsoft Access 2000, SQL Server 2000 и Oracle 9x, которые необходимо настроить и установить, а при создании базы данных необходимо выбрать внутренний код как Unicode. 4. Приложения обычно делятся на интерфейсы ввода и отчеты. Другими словами, приложение должно иметь возможность вводить, отображать и печатать текст на нескольких языках (включая традиционный, упрощенный, японский, корейский и т. д.). Метод ввода Unicode для приложения. Конечно, приложение не обязательно его использовать. Однако во время тестирования в один и тот же шкаф ввода формы необходимо вводить несколько языков, чтобы доказать осуществимость программы. В настоящее время единственным методом ввода, который позволяет свободно конвертировать традиционные, упрощенные, английские, японские и корейские шрифты, является метод ввода Microsoft Pinyin. После анализа приложение должно выполнить вышеуказанные приготовления. Я использовал: 1. Microsoft? Windows 2000 PRfessional2. База данных Microsoft Access 20003. Инструмент разработки — Broand Delphi 7. 4. Для управления интерфейсом я использовал TNTComponent. элемент управления для поддержки Unicode TNTComponent — это элемент управления с открытым исходным кодом, который каждый может с уверенностью использовать и изменять. Вы можете перейти по адресу: http://home.ccci.org/wobrink, чтобы загрузить и установить (поскольку его использование такое же, как и для основного элемента управления, поэтому его использование не будет объяснено). 5. Для управления отчетами я использую Qreport 3.6.2, поскольку он не поддерживает Unicode, поэтому я переписал его код, чтобы он мог поддерживать несколько языков. В этой статье представлена загрузка кода исправления (http://happy.gsidc.com). (Поскольку Qreport — это элемент управления, который входит в состав Delphi в Delphi 5 и 6, в этой статье предполагается, что читатели уже могут использовать его для печати отчетов). 6. Microsoft? Метод ввода Microsoft Pinyin. Скачать его можно бесплатно с сайта Microsoft. (Примечание: если вам нужен японский и т. д., вам необходимо загрузить языковой пакет)3. Создайте новый TntForm1 и добавьте кабинет ввода TntEdit и кнопку. После установки TNTComponent: а.) На новой странице приложения появится опция TntForm (Unicode). Создайте новый TNTFrom1, чтобы лучше управлять Unicode. б.) На панели управления Delphi появится новая страница группы управления TNT. При разработке многоязычных приложений рекомендуется использовать элементы управления на панели этого типа везде, где требуется ввод или отображение в формате Unicode. 4. Создайте новую форму отчета и добавьте QRLabel. 5. Напишите код формы. Двойная система TntButton1. Форма отчета пользователей на TntForm1 и введите следующий код. 6. Результаты испытаний и эксплуатации. В программе набираю пять языковых шрифтов. А именно: a.) Иероглиф «国» используется в традиционном китайском языке. b.) Иероглиф «国» используется в упрощенном китайском языке. c.) Иероглиф «村» уникален для Гонконга и не встречается в традиционном китайском иероглифе. библиотеку. Его необходимо ввести с использованием метода ввода, такого как Cangjie. d.) «Китай» — английский e.) «のДетский сад ひまわり» — это программа японских шрифтов. Оказывается, приложение реализовало функции ввода, отображения и печати многонациональных приложений. Вот еще один пример чтения и записи данных (несколько национальных шрифтов) в базу данных. Скачать пример 1