หากโปรเจ็กต์ของคุณต้องการรองรับเวอร์ชันหลายภาษา คุณต้องใช้ Zend_Translate เอกสารรายละเอียดของ Zend_Translate อยู่ที่นี่ แต่ถ้าคุณต้องการขี้เกียจ เอกสาร View Helpers จะแนะนำวิธีใช้ Translate Helper เพื่อให้รองรับหลายภาษาได้อย่างง่ายดาย
1. เตรียมไฟล์การแปล
Zend_Translate รองรับไฟล์การแปลในหลายรูปแบบ สามารถเลือกรูปแบบใดได้ที่นี่ หากมีรายการไม่มาก (น้อยกว่า 5,000 รายการ) คุณสามารถลองใช้รูปแบบอาร์เรย์ที่ใช้งานง่ายที่สุด และคุณสามารถเขียนลงในไฟล์ php ได้ สมมติว่าเราต้องการการรองรับเวอร์ชันภาษาจีน ไฟล์การแปลชื่อ zh_cn.php และวางไว้ในโฟลเดอร์ภาษาคู่ขนานกับแอปพลิเคชัน เนื้อหาของไฟล์มีดังนี้:
<?php
ส่งคืนอาร์เรย์(
'hello_world' => 'สวัสดี! -
-
2. โหลดไฟล์การแปล
และแก้ไขไฟล์ html/index.php ก่อนที่จะรันตัวควบคุมส่วนหน้า ให้ใส่โค้ดต่อไปนี้:
need_once 'Zend/Registry.php';
need_once 'Zend/Translate.php';
$adapter = new Zend_Translate('array', $rootPath . '/ languages/zh_cn.php', 'zh');
Zend_Registry::set('Zend_Translate', $adapter);
ฟังก์ชั่นของโค้ดด้านบนคือการโหลด zh_cn.php และบันทึกเป็นตัวแปรส่วนกลาง Zend_Registry ถือได้ว่าเป็นคอนเทนเนอร์ตัวแปรส่วนกลาง
หมายเหตุ: เมื่อบันทึกลงใน Zend_Registry ค่าคีย์จะต้องเป็น Zend_Translate ไม่เช่นนั้นจะไม่ได้รับผลลัพธ์ที่คาดหวัง
3. แก้ไขไฟล์ application/views/scripts/index/index.phtml โดยใช้รายการแปลในมุมมอง
และแทนที่ "<h1>Hello World!</h1>" ต้นฉบับด้วย:
<h1><?php echo $ นี่- >แปล('hello_world'); ?></h1>
4. ดูเพจ
ในขณะนี้ สิ่งที่คุณเห็นในเบราว์เซอร์ควรเป็น "Hello!"