นี่คือไฟล์ ./locale/fr/LC_MESSAGES/messages.po
ของฉัน:
msgid "NO GOOD"
msgstr "IT WORKED!"
คำสั่งที่ใช้สร้างไฟล์ .mo:
$ msgfmt -o locale/fr/LC_MESSAGES/messages.mo locale/fr/LC_MESSAGES/messages.po
ไฟล์ PHP ของฉัน (ทำงานผ่าน CLI เพื่อการทดสอบในฐานะรูท)
<?php
bindtextdomain('messages','./locale');
textdomain('messages');
setlocale(LC_MESSAGES, 'fr');
echo gettext("NO GOOD");
นี่คือผลลัพธ์ของฉัน:
$ NO GOOD
ข้อมูล PHP:
GetText Support => enabled
มีความคิดเห็นใดบ้างว่าทำไมสิ่งนี้ถึงใช้งานไม่ได้
bind_textdomain_codeset()
นอกจากนี้ คุณจะต้องตรวจสอบให้แน่ใจด้วยว่ามีการติดตั้งไฟล์ภาษาที่เหมาะสมในระบบของคุณ (สมมติว่าคุณใช้เซิร์ฟเวอร์ที่ใช้ Linux) และไฟล์ภาษานี้มีชุดอักขระที่ถูกต้อง ดูบทความนี้เพื่อดูรายละเอียดเพิ่มเติม: blog.terresquall.com/2020 /09/การแก้ไขปัญหา-php-gettext - person John Doe   schedule 06.09.2020