ผู้เขียน: หยู เหว่ยเหนิง
วันที่: 2004-ก.พ.-18
Delphi ไม่ได้ให้การสนับสนุนหลายภาษามากนัก ทำให้ยากต่อการปรับใช้แอปพลิเคชันระดับสากล เมื่อพัฒนาแอปพลิเคชันข้ามประเทศ คุณจะพบกับปัญหามากมาย ผู้เขียนเองได้มีส่วนร่วมในการเขียนใบสมัครใบศุลกากรอิเล็กทรอนิกส์เมื่อต้นปี พ.ศ. 2544 โปรแกรมนี้จะใช้ในประเทศจีน สหรัฐอเมริกา ฮ่องกง และไต้หวัน และมีแผนจะใช้ในญี่ปุ่นและเกาหลีใต้ในอนาคต ขณะนี้แอปพลิเคชันจะต้องสามารถป้อนข้อความได้หลายภาษาพร้อมกันและสามารถป้อนได้หลายภาษาบนแพลตฟอร์มปฏิบัติการเดียวกัน เนื่องจากฉันเพิ่งเริ่มใช้ 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 ต้องปรับแต่งและติดตั้ง Oracle 9x และต้องเลือกรหัสภายในเป็น Unicode เมื่อสร้างฐานข้อมูล 4. โดยทั่วไปแอปพลิเคชันจะแบ่งออกเป็นอินเทอร์เฟซอินพุตและรายงาน กล่าวอีกนัยหนึ่ง แอปพลิเคชันจะต้องสามารถป้อน แสดง และพิมพ์ข้อความในหลายภาษา (รองรับตัวเต็ม ตัวย่อ ญี่ปุ่น เกาหลี ฯลฯ) วิธีการป้อนข้อมูล Unicode สำหรับแอปพลิเคชัน แน่นอนว่าแอพพลิเคชั่นไม่จำเป็นต้องใช้งาน อย่างไรก็ตามในระหว่างการทดสอบจะต้องป้อนข้อมูลหลายภาษาลงในตู้อินพุตแบบฟอร์มเดียวกันเพื่อพิสูจน์ความเป็นไปได้ของโปรแกรม ในปัจจุบัน วิธีการป้อนข้อมูลเพียงวิธีเดียวที่สามารถแปลงระหว่างแบบอักษรดั้งเดิม ตัวย่อ อังกฤษ ญี่ปุ่น และเกาหลีได้อย่างอิสระคือวิธีการป้อนข้อมูล Microsoft Pinyin หลังจากการวิเคราะห์ แอปพลิเคชันจะต้องดำเนินการตามขั้นตอนข้างต้น ฉันใช้: 1. Microsoft? Windows 2000 PRfessional2. Microsoft? Access Database 20003. เครื่องมือพัฒนาคือ Broand Delphi 7. ฉันใช้ TNTComponent สำหรับการควบคุมอินเทอร์เฟซ การควบคุมเพื่อรองรับ Unicode TNTComponent คือการควบคุมโค้ดแบบโอเพ่นซอร์สที่ทุกคนสามารถใช้และเปลี่ยนแปลงได้อย่างมั่นใจ คุณสามารถไปที่: http://home.ccci.org/wolbrink เพื่อดาวน์โหลดและติดตั้ง (เนื่องจากการใช้งานเหมือนกับการควบคุมพื้นฐาน ดังนั้นการใช้งานจะไม่ได้รับการอธิบาย) 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 ได้ดียิ่งขึ้น b.) หน้ากลุ่มควบคุม TNT ใหม่จะปรากฏบนแผงควบคุมของ Delphi ในการพัฒนาแอปพลิเคชันหลายภาษา ขอแนะนำให้ใช้การควบคุมบนแผงควบคุมประเภทนี้ในทุกที่ที่ต้องการอินพุตหรือการแสดงผลแบบ Unicode 4. สร้างแบบฟอร์มรายงานใหม่และเพิ่ม QRLabel 5. เขียนโค้ดแบบฟอร์ม TntButton1 ระบบคู่ แบบฟอร์มรายงานผู้ใช้บน TntForm1 และป้อนรหัสต่อไปนี้ 6. ผลการทดสอบและการดำเนินงาน ในโปรแกรม ฉันป้อนแบบอักษรห้าภาษา ดังต่อไปนี้: ก.) อักขระ "中" เป็นภาษาจีนตัวเต็ม ข.) อักขระ "中" เป็นภาษาจีนตัวย่อ ค.) อักขระ "村" เป็นอักขระเฉพาะของฮ่องกงและไม่ได้อยู่ในอักขระจีนตัวเต็ม จะต้องป้อนข้อมูลโดยใช้วิธีการป้อนข้อมูลเช่น Cangjie d.) "จีน" เป็นภาษาอังกฤษ e.) "のอนุบาล ひまわり" เป็นโปรแกรมแบบอักษรภาษาญี่ปุ่น ปรากฎว่าแอปพลิเคชันได้ตระหนักถึงฟังก์ชันการป้อนข้อมูล การแสดงผล และการพิมพ์ของแอปพลิเคชันข้ามชาติ นี่เป็นอีกตัวอย่างหนึ่งของการอ่านและเขียนข้อมูล (แบบอักษรหลายชาติ) ลงในฐานข้อมูล ดาวน์โหลดตัวอย่างที่ 1