Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > สอบถามเกี่ยวกับการเปลี่ยนภาษา คร้าบบบบบบบบบบบบบบบบบบบบ



 

สอบถามเกี่ยวกับการเปลี่ยนภาษา คร้าบบบบบบบบบบบบบบบบบบบบ

 



Topic : 056647



โพสกระทู้ ( 116 )
บทความ ( 0 )



สถานะออฟไลน์




คือผมทำเว็บสองภาษานะครับ มีสองโฟลเดอร์แยกไฟล์กันเลย TH 1 โฟลเดอร์ EN 1 โฟลเดอร์ คือถ้าอย่างง่ายเลยก็คือเข้าไปทีละไฟล์แล้วมีรูปให้กดลิงค์เปลี่ยนภาษาแล้วลิงค์ไปที่ไฟล์นั้นเลย แต่ปัญหาคือไฟล์มันมีค่อนข้างที่จะเยอะนะครับ ผมอยากจะทำเป็น ปุ่ม เปลี่ยนภาษา TH EN แล้วก็ให้ลิงค์ไปที่ไฟล์นั้นที่เป็นภาษานั้นเลย ไม่รู้งงกันรึเปล่า ถ้างง ยังไงก็ถามได้นะครับ ขอบคุณครับ



Tag : PHP, HTML/CSS, JavaScript, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-02-28 10:12:28 By : weerayos View : 2563 Reply : 10
 

 

No. 1



โพสกระทู้ ( 318 )
บทความ ( 2 )



สถานะออฟไลน์
Facebook

Code (PHP)
วีธีแบบก็อบปี้
สำหรับภาษาไทย
public_html/
...images/
...index.php
...aboutus.php
...
สำหรับภาษาอังกฤษก็ก็อบภาษาไทยทั้งหมดมาไว้ในภาษาอังกฤษ
...en/  
...images/
...index.php
...aboutus.php
...
url:หน้า index.php ก็จะเป็น <a href='www.xx.com/">th</a> | <a href='www.xx.com/en">en</a>

วิธีแบบดึงจากฐานข้อมูล
public_html/
...imgaes/
...lang/
.......en/
...........lang.inc.php
.......th/
...........lang.ing.php
...index.php

url:หน้า index.php ก็จะเป็น <a href='index.php?l=th>th</a> | <a href='index.php?l=en>en</a>
แล้วก็ทำการ ตรวจสอบคุกกี้ภาษา ว่าตอนนี้ผู้ใช้เลือกภาษาอะไรอยู่ เลือกไทยก็ include ไฟล์คอนฟิกภาษาไทย แต่ถ้ายังไม่เคยเลือกก็ไปตรวจสอบว่ามีการส่งค่า get ตัวแปร l หรือไม่ ถ้า l ถูกให้ค่าก็ include("lang/".$_GET["l"]."/lang.inc.php"); ถ้าไม่ถูกให้ค่าก็ให้ include ค่าดีฟอลเข้าไป จะเป็นภาษาอะไรก็ตามใจ 







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-28 12:01:47 By : chineji
 


 

No. 2



โพสกระทู้ ( 116 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนคุณchineji ช่วยอธิบายหน่อยได้ไหมครับ หรือถ้าไม่เป็นการรบกวนจนเกินไปก็รบกวนเขียนให้ดู สัก 1 หน้าได้ไหมครับ ที่ผมไม่เข้าใจคือ หน้าที่ผมเข้าไปดูอาจจะไม่ใช่หน้า INDEX แต่เป็นหน้าอื่่น ผมไม่เข้าใจว่ามันจะเรียกไฟล์นั้นที่เป็นภาษาที่เราเลือกนั้นออกมาอย่างไร ชื่อไฟล์เหมือนกันเลยนะครับ แค่คนละภาษา คนละโฟลเดอร์ ครับ ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-28 13:50:56 By : weerayos
 

 

No. 3



โพสกระทู้ ( 318 )
บทความ ( 2 )



สถานะออฟไลน์
Facebook

สำหรับรูปแบบที่ 1 นั้นก็แค่ include ที่เปลี่ยนภาษา ลง head หรือ หรือ footer ของทุกหน้า (ถ้าขยัน) เพราะมันต้องการแค่ให้เข้าไปทำงานยัง โฟลเดอภาษานั้นได้
เช่น

(ในโฟลเดอหลัก หรือ root โฟลเดอ ให้เป็นภาษาไทย)
public_html/

header.php
<a href='www.xx.com/en">English vertion</a> 


login.php
<html>
<head></head>
<body>
<? include("header.php");?>
   <form method="post" action="">
    อีเมล์ <input type="text" name="email">
    รหัสผ่าน <input type="password" name="pass">
   <input type="submit" name="login" value="เข้าสู่ระบบ">
  </form>
</body>
</html>



en/
header.php
<a href='www.xx.com/">Thai vertion</a> 


login.php.
<html>
<head></head>
<body>
<? include("header.php");?>
   <form method="post" action="">
    Email <input type="text" name="email">
    Password <input type="password" name="pass">
   <input type="submit" name="login" value="Login">
  </form>
</body>
</html>




แบบที่ 2 root folder

public_html/
lang/
.....th/
.....config.in.php
config.in.php
$conf["lang"]="th";
$conf["name"]="ชื่อ";
$conf["email"]="อีเมล์";
$conf["password"]="รหัสผ่าน";
$conf["login"]="ล็อกอิน";
$conf["logout"]="ออกจากระบบ";
..........ect.  .......


....en/
config.in.php
$conf["lang"]="en";
$conf["name"]="Name";
$conf["email"]="Email";
$conf["password"]="Password";
$conf["login"]="Login";
$conf["logout"]="Logout";
..........ect.  .......


header.php
<a href='www.xx.com/?l=th">th</a> | <a href='www.xx.com/?l=en">en</a>


login.php.
<html>
<head></head>
<body>
<? 
include("header.php");

if($_GET["l"]!=null){
    include("lang/".$_GET["l"]."/config.inc.php");
    // set cokie langs = $_GET["l"]
}else if($_COOKIE["langs"]!=""){
   include("lang/".$_COOKIE["langs"]."/config.inc.php");
}else{
   include("lang/th/config.inc.php");
   // set cokie langs = th
}
?>

   <form method="post" action="">
    <?=$conf["email"];?> <input type="text" name="email">
    <?=$conf["password"];?> <input type="password" name="pass">
   <input type="submit" name="login" value="<?=$conf["login"];?>">
  </form>
</body>
</html>


คร่าวๆก็ประมาณนี้แหล่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-28 14:44:11 By : chineji
 


 

No. 4



โพสกระทู้ ( 318 )
บทความ ( 2 )



สถานะออฟไลน์
Facebook

แบบที่ 2 login.php หรือหน้าอื่นๆก็ตามแต่ต้องมี บันทัดที่ 5-15 เสมอ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-28 14:46:44 By : chineji
 


 

No. 5



โพสกระทู้ ( 116 )
บทความ ( 0 )



สถานะออฟไลน์


ทุกหน้าต้องมี บันทัดที่ 5-15 เสมอ เหรอครับ ถ้าไม่มีได้ไหมครับ เช่นผมแนบปุ่มเปลี่ยนภาษา ไปพร้อมกับตัว header ซึ่งทุกหน้ามันจะ Include ไปอยู่แล้วอ่ะครับเราสามารถทำแบบนั้นได้ไหมครับแล้วใส่ script ตรงปุ่มที่เปลี่ยนภาษาแทนอ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-28 15:11:17 By : weerayos
 


 

No. 6



โพสกระทู้ ( 768 )
บทความ ( 0 )



สถานะออฟไลน์


ตอนแรกที่ทำเว็บสองภาษาผมก็ทำแบบคุณ weerayos นั้นแหละ แยกเป็นสองไฟล์ TH EN แต่พอทำไปสักพักมันมีการแก้ไข ก็ต้องแก้ 2 ไฟล์ ถ้ามีแก้ 2 ไฟล์ ก็กลายเป็น 4 คิดไปคิดมาแบบนี้ไม่ไหว เลยเปลี่ยนมาเก็บข้อความทุกอย่างในหน้าเว็บเป็นข้อความลงในเบสแบบนี้
msg_tb
แล้วคิวรี่มาใส่อาเรย์2มิติ แบบนี้
array['th/en']['msg_id']='text'
แล้วเวลาจะแสดงใช้ Session เก็บว่าขณะนี้เป็น th หรือ en แล้วเอามาลิ้งกับข้อมูลในอาเรย์เอา
ถ้าทำวิธีนี้เมื่อมีการแก้ไขก็แก้แค่ไฟล์เดียว หรือในอนาคตมีการเพื่อภาษาอีกก็แค่ขยายคอลัมน์ เพิ่มอีกภาษา

ผิดพลาดขออภัยด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-28 15:36:34 By : naskw
 


 

No. 7



โพสกระทู้ ( 116 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณคุณ naskw ที่ให้คำแนะนำครับ แต่ขอผมที่ทำอยู่อ่ะครับ ตัวที่เปลี่ยนภาษานั้นเป็น Flash อ่ะครับ แต่เดิมนะครับก็เลยจะเปลี่ยนอ่ะครับ ซึ่งตัวข้อมูลที่จะทำการแก้ไขหรือการอัพเดตอ่ะครับมันจะทำโดย backend ซึ่งค่อนข้างที่จะสะดวกหน่อยอ่ะครับแต่ก็มีเป็นบางไฟล์ที่ต้องอัพเดตเองแต่ก็ไม่เยอะเท่าไหร่หรอกครับ ประเด็นอยู่ที่ flash นี่แหละครับ คือ อยากจะให้เปิดบน iphone ได้อ่ะครับก็เลยต้องมานั่งแก้อยู่นี่แหละครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-28 15:47:37 By : weerayos
 


 

No. 8



โพสกระทู้ ( 318 )
บทความ ( 2 )



สถานะออฟไลน์
Facebook

กรณีให้มีปุ่มเปลี่ยนภาษาที่หน้าแรกหน้าเดียวเท่านั้น
ก็ให้เอา บันทัดที่ 5-15 include แค่หน้าเดียวก็ได้ ส่วนหน้า อื่นๆ ก็เอา $_COOKIE["langs"] ไปใช้งานได้เลย ไม่ต้องตรวจสอบซ้ำ มันก็จะแปลภาษาให้ครบทุกหน้าอยู่แล้ว

กรณีต้องการให้หน้าอื่น มีปุ่มเปลี่ยนภาษาอีกครั้งก็ทำตามตัวอย่างข้างต้น โดยเปลี่ยน บันทัดที่ 5-15 ไปไว้ใน include file ก็ได้จะได้สะดวก

สำหรับปุ่ม จะใช้เป็นลิงค์ หรือปุ่มกดก็แล้วแต่ ขอแค่ให้ส่ง พารามิเตอร์ l=ภาษา เช่น l=th , l=en ,l=jp ซึ่ง th = ชื่อโฟลเดอมันจะง่ายต่อการ include เช่น

includ("lang/th/config.inc.php");//ภาษาไทย
includ("lang/en/config.inc.php");//ภาษาอังกฤษ
includ("lang/jp/config.inc.php");//ภาษาญี่ปุ่น

หรือถ้าไม่เข้าใจยังไงไว้ว่างๆผมจะทำ demo ให้ดูก็แล้วกัน แต่ก็คาดว่าจากตัวอย่างก็น่าจะนำไปใช้ได้แล้ว แต่ต้องปรับเพิ่มเติมเอาเอง เขียนไว้เพียงแค่เป็นแนวทางคร่าวๆเท่านั้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-28 15:51:00 By : chineji
 


 

No. 9



โพสกระทู้ ( 318 )
บทความ ( 2 )



สถานะออฟไลน์
Facebook

สำหรับตัวอย่างแบบที่ 2 ก็มาจากหลักการแบบเดียวกันของคุณ naskw แหล่ะครับ
แต่ผมเขียนให้ดูเฉาะการแสดงผลของหน้าจอเท่านั้นไม่ได้เขียนการแสดงผลของฐานข้อมูล ซึ่งถ้าจะเอาเรื่องฐานข้อมูลด้วยก็แค่
เอาคุกกี่ที่เก็บว่าตอนนี้ใช้ภาษาอะไรอยู่ไปใช้ได้เลยเช่น
Code (PHP)
$field_lang=$_COOKIE["langs"];
$sql="select * from article";
#query
#while loop
   echo $rs["id"];
   echo $rs["subject_".$field_lang];
   echo $rs["detail_".$field_lang];
   echo $rs["create_date"];
#End loop


ดึงข้อมูลเฉพาะภาษาที่เราต้องการเท่านั้น ประมาณนี้แหล่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-28 16:00:31 By : chineji
 


 

No. 10

Guest


Code (PHP)
<?
session_start();
if($_SESSION["lang"] == "EN")
{
	include("en.php");
}
else
{
	include("th.php");
}
?>


Code (th.php)
<?
	$strTitle = "ยินดีต้อนรับเข้าสู่เว็บไซต์ของฉัน";
	$strHome = "หน้าแรก";
	$strService = "บริการของเรา";
	$strAbout = "เกี่ยวกับเรา";
	$strContact = "ติดต่อเรา";
	
	//** สมมุติค่ามาจาก Database ที่ได้จากการ Query ***//
	$result["DETAIL_TH"] = "นี้คือเนื้อหาภาษาไทย";

	$strDetail = $result["DETAIL_TH"];
?>


Code (en.php)
<?
	$strTitle = "Welcome to My Web Site";
	$strHome = "Home";
	$strService = "Service";
	$strAbout = "About Us";
	$strContact = "Contact Us";


	//** สมมุติค่ามาจาก Database ที่ได้จากการ Query ***//
	$result["DETAIL_EN"] = "This is content English";

	$strDetail = $result["DETAIL_EN"];
?>


Go to : PHP Multiple Language การใช้ PHP ทำเว็บ 2 ภาษาแบบง่าย ๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-22 13:07:36 By : thaicreate
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเกี่ยวกับการเปลี่ยนภาษา คร้าบบบบบบบบบบบบบบบบบบบบ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่