หลังจากที่ไม่ได้มาเขียนนานวันนี้ก็เลยแวะมาดูครับ หลังจากที่ได้ชื่นชมกับความน่ารักของน้อง "กระติ๊บ" ที่ยังไม่สร่างซ่า เข้าเว็บน้องเขานึกถึง Blog ตัวเองก็เลยมาเขียนมั่งดีกว่า
วันนี้จะเอาเทคนิคการทำเว็บหลายภาษามาให้อ่านกันครับโดยใช้ CakePHP Framework คู่ใจผมครับ
เวลาเปลี่ยนภาษา URL จะเป็นแบบนี้ครับ
เริ่มกันเลยนะครับ
app/config/routes.php
Router::connect(
'/:language/:controller/:action/*',array(),array('language'=>'[a-z]{3}'));
########################################################
app/app_controller.php
uses(
'L10n'); function _setLanguage(){
if($this->Cookie->read('lang') && !$this->Session->check('Config.language')){
$this->Session->write('Config.language',$this->Cookie->read('lang'));
} else if(isset($this->params['language']) && ($this->params['language']!=$this->Session->read('Config.language'))){
$this->Session->write('Config.language',$this->params['language']);
$this->Cookie->write('lang',$this->params['language'],null,'20 days');
} } ###################################################### app/app_helper.php
<?php class Helper{
){
])){
} );
} } ?>
uses('I18n');
########################################################
app/views/layouts/default.ctp
<?php
echo $html->link('English', array('language'=>'eng')); ?> - <?php echo $html->link('ภาษาไทย', array('language'=>'tha')); ?>
########################################################
app/locale/eng/LC_MESSAGES/main.po
msgid "hello" msgstr "Hello" msgid "point" msgstr "Point"
app/locale/tha/LC_MESSAGES/main.po
msgid "hello" msgstr "สวัสดี" msgid "point" msgstr "แต้มกวน"
ไม่มีความเห็น