วิธีการทำให้ joomla Extensions รองรับได้หลายภาษา

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: วิธีการทำให้ joomla Extensions รองรับได้หลายภาษา

Re: วิธีการทำให้ joomla Extensions รองรับได้หลายภาษา

โดย Patipat » 18/07/2019 2:13 pm

ได้แล้วครับผม ขอบคุณครับ

Re: วิธีการทำให้ joomla Extensions รองรับได้หลายภาษา

โดย tsukasaz » 18/07/2019 2:06 pm

หลักการชื่อไฟล์ภาษา .ini ประกอบด้วย
=> ตัวย่อภาษา . ชื่อโมดูล . ini

ยกตัวอย่างโมดูลชื่อ mod_test หน้าเว็บภาษาไทย จะต้องตั้งชื่อไฟล์ว่า
=> th-TH.mod_test.ini

Re: วิธีการทำให้ joomla Extensions รองรับได้หลายภาษา

โดย Patipat » 18/07/2019 2:01 pm

ทำไมของผม มันแสดงเป็นชื่อตัวแปรครับ มันไม่แสดง คำที่เรากำหนดให้

รูปนี้ชื่อตัวแปรครับ
Selection_999(283).png
Selection_999(283).png (8.19 KiB) Viewed 1030 times
รูปนี้ผลลัพธ์
Selection_999(284).png
Selection_999(284).png (58.47 KiB) Viewed 1030 times
ตรงนี้โค้ดแสดงครับ

โค้ด: เลือกทั้งหมด

<?php echo JText::_('MOD_MZC_PRODUCTS_SLIDES_SHOW'); ?>

Re: วิธีการทำให้ joomla Extensions รองรับได้หลายภาษา

โดย mindphp » 12/07/2019 5:59 pm

ย้ายกระทู้ Post ผิดหมวด

วิธีการทำให้ joomla Extensions รองรับได้หลายภาษา

โดย jamepiyawat » 12/07/2019 4:50 pm

ผมได้มีโอกาสทำโมดูลใน joomla เช่นทำโมดูลแสดงสถิติผู้ที่เข้ามาสมัครเว็บไซต์มีกี่คนแล้วแต่ปัญหาก็มีอยู่ที่ถ้าจะทำเป็นภาษาอังกฤษอย่างเดียวก็ดูจะเหมือนว่าจะใช้งานยากเกินไปหน่อยผมจึงจำเป็นต้องหาวิธีการทำให้โมดูของผมนั้นเป็น 2 ภาษาหรือมากกว่านั้นก็ได้จึงทำให้ผมรู้วิธีการในการเขียนโค้ดที่ทำให้เป็น 2 ภาษาได้โดยซึ่งวิธีการทำนั้นก็ไม่ยากอย่างที่คิดเอาไว้จะเป็นอย่างไรลองติดตามได้จากบทความนี้เลยครับ

ให้เราเปิดโฟร์เดอร์ language ออกมาเราก็จะเห็นว่ามีไฟล์ภาษาอยู่ในที่นี้ก็จะเป็นภาษาไทยและภาษาอังกฤกษ
Selection_985.png
Selection_985.png (8.32 KiB) Viewed 1075 times
จากนั้นให้เราทำการเปิดไพล์ขึ้นมาซึ้งเราก็จะเห็นว่าไฟล์ภาษาจะมี 2 ไฟล์นั้นก็คือ .ini กับ .sys.ini แล้วมันต่างกันยังไงในสวนนี้ก็จะอธิบายง่าย ๆ ว่า .ini นั้นจะนำชื่อตัวอักษรของเราไปแสดงผลในหน้าโมดูลแต่ถ้าเป็น.sys.ini ก็จะนำค่าของเราไปแสดงผมในส่วนของหลังบ้านเช่นเมนู Extensions: Manage ก็จะนำค่า .sys.ini ของเราไปแสดงนั้นเองถ้าเราอยากจะอธิบายว่าโมดูลของเราเอาไว้ทำอะไรเราก็ใส่คำพวกนั้นไว้ใน .sys.ini

ให้เราทำการเปิดไฟล์ที่ต้องการจะทำออกมาได้เลยเช่นถ้าอยากจะทำคำอธิบายโมดูหลังบ้านก็ให้เปิดไฟล์ .sys.ini ออกมาทั้ง 2 ภาษาแต่ถ้าอยากจะให้โมดูของเราที่แสดงผลผ่านหน้าเว็บของเราก็ให้เปิดฟล์ .ini ออกมาในที่นี้เพื่อให้เห็นภาพกันชัดเจนก็จะทำให้เปลี่ยนภาษาที่หน้าโมดูลของเรานั้นครับจำเป็นจะต้องเปิดฟล์ .ini ออกมาทั้ง 2 ภาษาเลย

ถ้าท่านใดที่ยังไม่เคยเขียนเลยก็จะเป็นไฟล์ว่างก็ให้เราทำคล้าย ๆ กับการนำตัวอักษรใส่ไปอยู่ในตัวแปลเลย แต่ว่าต้องเป็นตัวพิมพ์ใหญ่ทั้งหมดเท่านั้นนะครับเพื่อความเข้าใจตรงกันกับทีม ตัวอย่าง ครับ

ผมก็จะนำโค้ดนี้ไปใส่ในไฟล์ภาษาอังกฤษ

โค้ด: เลือกทั้งหมด

MOD_MZC_RANDOM_PRODUCTS_NUMBER_OF_PRODUCTS = "Number of products"
และโค้ดนี้ไปใส่ในไฟล์ภาษาไทย

โค้ด: เลือกทั้งหมด

MOD_MZC_RANDOM_PRODUCTS_NUMBER_OF_PRODUCTS = "จำนวนสินค้า"
จำเป็นจะต้องให้ชื่อเหมื่อนกันเลยนะครับ
และให้เราใช้คำสั่งนี้เพื่อเรียกค่าออกมาแสดง

โค้ด: เลือกทั้งหมด

<?php echo JText::_('MOD_MZC_RANDOM_PRODUCTS_NUMBER_OF_PRODUCTS'); ?>
ผลลัทธ์ที่ได้

หน้าที่เปลี่ยนเว็บเป็นภาษาอังกฤษ
Selection_986.png
Selection_986.png (7.26 KiB) Viewed 1075 times
หน้าที่เปลี่ยนเว็บเป็นภาษาไทย
Selection_988.png
Selection_988.png (5.01 KiB) Viewed 1075 times
ทำนี้เราก็จะสามารถทำให้โมดูลใน joomla ของเราเปลี่ยนได้ 2 ภาษาแล้วไม่อยากอย่างที่คิดเลยใช้ไหมล่ะครับก็หวังว่าบทความนี้จะเป็นประโยชน์ให้กับทุกท่านที่สนในในการพัฒนาเว็บไซต์ด้วย joomla นะครับและหวังเป็นอย่างยิ่งว่าท่านที่ได้รับความรู้นี้ไปแล้วจะนำความรู้นี้ไปส่งต่อกับผู้ที่มีความสบใจเหมือนกับเรานะครับ

ข้างบน