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

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

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

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

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

โพสต์โดย pprn » 28/08/2018 2:52 pm

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

1. เมื่อกดปุ่ม
    bu1.jpg
    ปุ่มภาษาอังกฤษ
    bu1.jpg (8.79 KiB) เปิดดู 148 ครั้ง

    จะเป็นหน้าเว็บไซต์ภาษาอังกฤษ ดังภาพ
    ans2.JPG
    เว็บภาษาอังกฤษ


2. เมื่อกดปุ่ม
    bu.JPG
    ปุ่มภาษาไทย
    bu.JPG (8.42 KiB) เปิดดู 148 ครั้ง

    จะเป็นหน้าเว็บไซต์ภาษาไทยดังเดิม ดังภาพ
    ans1.JPG
    เว็บภาษาไทย

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 8408
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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
;
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

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

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 มาไม่ได้ค่ะ
แก้ไขล่าสุดโดย pprn เมื่อ 29/08/2018 10:44 pm, แก้ไขไปแล้ว 1 ครั้ง.

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 8408
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์โดย tsukasaz » 29/08/2018 10:18 am

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


ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 53 และ บุคคลทั่วไป 0 ท่าน