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

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
pprn
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 565
ลงทะเบียนเมื่อ: 02/07/2018 10:45 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย pprn »

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

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

2. เมื่อกดปุ่ม
  • ปุ่มภาษาไทย
    ปุ่มภาษาไทย
    bu.JPG (8.42 KiB) Viewed 1785 times
  • จะเป็นหน้าเว็บไซต์ภาษาไทยดังเดิม ดังภาพ
  • เว็บภาษาไทย
    เว็บภาษาไทย
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21991
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

ถ้าใช้เป็น 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;
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
ภาพประจำตัวสมาชิก
pprn
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 565
ลงทะเบียนเมื่อ: 02/07/2018 10:45 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย pprn »

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 มาไม่ได้ค่ะ
แก้ไขล่าสุดโดย pprn เมื่อ 29/08/2018 10:44 pm, แก้ไขไปแล้ว 1 ครั้ง.
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21991
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

ต้องเป็นแบบที่ 1 ถูกแล้ว
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Bing [Bot] และบุคลทั่วไป 105