저자: Yu Weineng
날짜: 2004년 2월 18일
Delphi는 여러 언어에 대한 지원을 많이 제공하지 않아 애플리케이션을 국제화하기가 어렵습니다. 국제적인 애플리케이션을 개발할 때 많은 어려움에 직면합니다. 저자는 2001년 초 전자세관신고서 작성에 직접 참여했다. 이 프로그램은 중국, 미국, 홍콩, 대만에서 활용될 예정이며, 향후 일본과 한국에서도 활용될 계획이다. 이때 애플리케이션은 동시에 여러 언어로 텍스트를 입력할 수 있어야 하며, 동일한 운영 플랫폼에서 여러 언어를 입력할 수 있어야 합니다. 당시 저는 델파이를 막 사용하기 시작했기 때문에 다국어 글쓰기에서 우회를 많이 했습니다. 델파이는 다국어 개발에 많은 노력을 기울이지 않았기 때문에 다국어 프로그램을 개발하는 것은 매우 어렵습니다. 이전에 볼랜드 엔지니어들에게 다국어 문제에 대해 문의한 적이 있지만 모두 모호했습니다. 이 기능을 구현하려면 스스로 방법을 찾아야 할 것 같습니다. Microsoft® Word는 여러 언어로 텍스트를 입력하고 인쇄할 수 있기 때문에 다국어 사용에 대한 희망을 심어줍니다.
분석: 1. 애플리케이션 개발에 있어서 애플리케이션이 여러 언어를 구현하려면 유니코드를 사용해야 한다. 왜냐하면 유니코드만이 세상의 모든 문자와 그 내부 코드를 동시에 수용할 수 있고, 동일한 형태로 여러 언어를 구현할 수 있기 때문이다. 2. 운영 플랫폼에 따라 제한됩니다. 위에서 언급한 것처럼 다국어 공존 문제는 유니코드만이 해결할 수 있기 때문에 운영 플랫폼에서는 유니코드를 기본 내부 코드로 사용해야 한다. Microsoft의 운영 플랫폼은 Windows NT? 이상 버전에서만 지원되므로 다음 내용은 주로 Windows NT? 커널 기술 플랫폼을 기반으로 합니다. Microsoft Word가 Windows 9x에서 여러 언어를 구현할 수 있는 이유에 대해서는 Windows 9x와 Windows 9x의 본질적인 결함 때문에 어떤 교묘한 트릭이 등장했는지 아직 알 수 없습니다. Windows 9x에서 이를 해결하는 방법에 대해 너무 많이 생각하는 것도 아마도 Borland가 여러 언어에 대해 많은 작업을 수행하지 않는 이유가 있을 것입니다. 3. 애플리케이션의 데이터베이스는 유니코드 내부 코드를 지원해야 합니다. 애플리케이션에서 입력한 내용은 데이터베이스에 저장되므로 데이터베이스는 유니코드를 지원하는 데이터베이스를 사용해야 합니다. 그렇지 않으면 저장된 데이터를 다국어 문자를 다시 읽을 수 없습니다(또는 완료하는 데 많은 작업이 필요함). ). 현재 유니코드를 완벽하게 지원하는 주류 데이터베이스에는 Microsoft Access 2000, SQL Server 2000 및 Oracle 9x가 포함됩니다. Oracle 9x를 사용자 정의하여 설치해야 하며 데이터베이스 생성 시 내부 코드를 유니코드로 선택해야 합니다. 4. 애플리케이션은 일반적으로 입력 인터페이스와 보고서로 구분됩니다. 즉, 애플리케이션은 다양한 언어(번체, 간체, 일본어, 한국어 등 지원)로 텍스트를 입력, 표시 및 인쇄할 수 있어야 합니다. 애플리케이션의 유니코드 입력 방법입니다. 물론, 애플리케이션이 이를 사용할 필요는 없습니다. 그러나 테스트 중에는 프로그램의 타당성을 입증하기 위해 동일한 형식의 입력 캐비닛에 여러 언어를 입력해야 합니다. 현재 번체, 간체, 영어, 일본어, 한국어 글꼴 간 자유롭게 변환할 수 있는 입력 방법은 마이크로소프트 병음 입력 방법뿐이다. 분석 후 애플리케이션은 위의 준비를 수행해야 합니다. 1. Microsoft® Windows 2000 PRfessional2. Microsoft® Access 데이터베이스 20003. 개발 도구는 Broand Delphi 7입니다. 4. 인터페이스 제어를 위해 TNTComponent를 사용했습니다. 유니코드를 지원하는 컨트롤 TNTComponent는 누구나 안심하고 사용하고 변경할 수 있는 오픈 소스 코드 컨트롤입니다. http://home.ccci.org/wolbrink에 접속하여 다운로드 및 설치가 가능합니다. (사용법은 기본 컨트롤과 동일하므로 사용법은 설명하지 않습니다.) 5. 보고서 컨트롤로 Qreport 3.6.2를 사용하는데, 유니코드를 지원하지 않기 때문에 여러 언어를 지원할 수 있도록 코드를 다시 작성했습니다. 이 글에서는 패치코드 다운로드(http://happy.gsidc.com)를 제공합니다. (Qreport는 Delphi 5 및 6에서 Delphi와 함께 제공되는 컨트롤이기 때문에 이 기사에서는 독자가 이미 이를 사용하여 보고서를 인쇄할 수 있다고 가정합니다.) 6. 마이크로소프트? 마이크로소프트 병음 입력 방법. Microsoft 웹사이트에서 무료로 다운로드할 수 있습니다. (참고: 일본어 등을 원할 경우 언어팩을 다운로드해야 합니다)3. 새로운 TntForm1을 생성하고 TntEdit 입력 캐비닛과 버튼을 추가합니다. TNTComponent를 설치한 후, a.) TntForm(유니코드) 옵션이 응용 프로그램의 새 페이지에 나타납니다. 유니코드를 더 효과적으로 제어하려면 새 TNTFrom1을 생성하세요. b.) 새로운 TNT 컨트롤 그룹 페이지가 Delphi의 제어판에 나타납니다. 다중 언어 애플리케이션 개발에서는 유니코드 입력 또는 표시가 필요한 모든 곳에서 이러한 유형의 패널에 컨트롤을 사용하는 것이 좋습니다. 4. 새 보고서 양식을 만들고 QRLabel을 추가합니다. 5. 양식 코드를 작성합니다. 이중 시스템 TntButton1, 사용자는 TntForm1에 양식을 보고하고 다음 코드를 입력합니다. 6. 테스트 및 작동 결과. 프로그램에는 다섯 가지 언어 글꼴을 입력했습니다. 다음과 같습니다. a.) "國"은 중국어 번체입니다. b.) "國"은 중국어 간체입니다. c.) "村"은 홍콩 고유의 문자이며 중국어 번체에는 없습니다. 라이브러리는 Cangjie와 같은 입력 방법을 사용하여 입력해야 합니다. d.) "China"는 영어입니다. e.) "のKindergarten ひまわり"는 일본어 글꼴 프로그램으로 다국적 응용 프로그램의 입력, 표시 및 인쇄 기능을 구현한 것으로 나타났습니다. 다음은 데이터베이스에서 데이터(다중 국가 글꼴)를 읽고 쓰는 또 다른 예입니다. 예제 1 다운로드