ต้องการทราบวิธีการเขียน PHP แปลภาษา 2 ภาษา บนหน้าเว็บจากไทยเป็นภาษาอังกฤษค่ะ

ตอบกระทู้

รูปแสดงอารมณ์
: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] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: ต้องการทราบวิธีการเขียน PHP แปลภาษา 2 ภาษา บนหน้าเว็บจากไทยเป็นภาษาอังกฤษค่ะ

Re: ต้องการทราบวิธีการเขียน PHP แปลภาษา 2 ภาษา บนหน้าเว็บจากไทยเป็นภาษาอังกฤษค่ะ

โดย pprn » 29/08/2018 10:13 am

tsukasaz เขียน:ถ้าใช้เป็น php ธรรมดา ไม่ได้ใช้ Framework หรือ CMS อะไร ก็ใช้วิธีแบบง่ายๆ อย่างการส่งค่าผ่าน URL ก็ได้ครับ

ตัวอย่าง
กำหนด Link ของปุ่มเปลี่ยนภาษา ดังนี้
ภาษาไทย => http://localhost/?lang=th
ภาษาอังกฤษ => http://localhost/?lang=en
ถ้ากำหนด Link ของปุ่มเปลี่ยนภาษา ดังนี้

แบบที่ 1
ภาษาไทย => http://localhost/..../index.php?lang=th
ภาษาอังกฤษ => http://localhost/..../index.php?lang=en

แทนที่จะเป็น
แบบที่ 2
ภาษาไทย => http://localhost/..../index.php/?lang=th
ภาษาอังกฤษ => http://localhost/..../index.php/?lang=en

แบบนี้เป็นอะไรหรือเปล่าคะ เพราะแบบที่ 2 เรียกไฟล์ CSS มาไม่ได้ค่ะ

Re: ต้องการทราบวิธีการเขียน PHP แปลภาษา 2 ภาษา บนหน้าเว็บจากไทยเป็นภาษาอังกฤษค่ะ

โดย tsukasaz » 28/08/2018 3:30 pm

ถ้าใช้เป็น php ธรรมดา ไม่ได้ใช้ Framework หรือ CMS อะไร ก็ใช้วิธีแบบง่ายๆ อย่างการส่งค่าผ่าน URL ก็ได้ครับ

ตัวอย่าง
กำหนด Link ของปุ่มเปลี่ยนภาษา ดังนี้
ภาษาไทย => http://localhost/?lang=th
ภาษาอังกฤษ => http://localhost/?lang=en

ในส่วนของเนื้อหาที่ต้องเปลี่ยนไปตามภาษาที่เลือก อาจจะใช้วิธีสร้างไฟล์ config หรือไฟล์ที่สามารถเรียกใช้ได้ทุกหน้า

ภายในไฟล์จะเช็คค่า GET ที่ส่งมา และเก็บไว้ที่ตัวแปร ก่อนจะนำไปใช้เลือกข้อความตามภาษาที่กำหนด

ตัวอย่างไฟล์ config.php หรือไฟล์ที่สามารถเรียกใช้ได้ทุกหน้า

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

<?php
// นำค่าภาษาที่เลือกมาเก็บไว้ที่ตัวแปร โดยกำหนดค่าเริ่มต้นให้เป็นภาษาไทย ถ้ายังไม่ได้คลิกเลือกภาษา
$lang = isset($_GET['lang']) ? $_GET['lang'] : 'th' ;

// สร้างตัวแปรสำหรับเก็บข้อมูลตามภาษาต่างๆ
$arr_content = array('th' => 'สวัสดี', 'en' => 'hello'); 

// ตัวแปรข้อมูลที่จะนำไปใช้แสดงบนหน้าเว็บต่างๆ
$content = $arr_content[$lang]; 

// กรณีไม่ถนัด Array ใช้เป็นเงื่อนไข if ก็ได้
$tags = '';
if($lang == 'th')
{
    $tags = 'แท็กภาษาไทย';
}
else if($lang == 'en')
{
    $tags = 'แท็กภาษาอังกฤษ';
}
ตัวอย่างไฟล์ index.php หรือไฟล์ที่แสดงผลแต่ละหน้า

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

require_once 'config.php';
echo $content;    
echo $tags;

ต้องการทราบวิธีการเขียน PHP แปลภาษา 2 ภาษา บนหน้าเว็บจากไทยเป็นภาษาอังกฤษค่ะ

โดย pprn » 28/08/2018 2:52 pm

ตอนนี้กำลังทำหน้าเว็บไซต์เขียนโดย PHP เป็นภาษาไทยอยู่ ต้องการทำให้แปลเป็นภาษาอังกฤษด้วย โดย

1. เมื่อกดปุ่ม
  • ปุ่มภาษาอังกฤษ
    ปุ่มภาษาอังกฤษ
    bu1.jpg (8.79 KiB) Viewed 1786 times
  • จะเป็นหน้าเว็บไซต์ภาษาอังกฤษ ดังภาพ
  • เว็บภาษาอังกฤษ
    เว็บภาษาอังกฤษ

2. เมื่อกดปุ่ม
  • ปุ่มภาษาไทย
    ปุ่มภาษาไทย
    bu.JPG (8.42 KiB) Viewed 1786 times
  • จะเป็นหน้าเว็บไซต์ภาษาไทยดังเดิม ดังภาพ
  • เว็บภาษาไทย
    เว็บภาษาไทย

ข้างบน