Ứng dụng đa ngôn ngữ trong website php

Thảo luận trong 'PHP' bắt đầu bởi hongoctrien, 3 Tháng mười một 2012.

  1. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    [IMG]

    Demo: http://www.bitrepository.com/demo/php-multi-language-site/

    Đã có khi bào bạn truy cập web và thấy chức năng lựa chọn nhiều ngôn ngữ, hỗ trợ cho người dùng nhiều quốc gia khác nhau?
    Đầu tiên chúng ta cần tạo ra những file ngôn ngữ chứa ngôn ngữ muốn sử dụng (lang.vi.php, lang.en.php, ......). Với mục đích như trên, tôi tạo ra các file ngôn ngữ tiếng anh và tiếng việt, đặt chúng vào thư mục languages
    Trong tập tin chính (index.php), tôi sẽ chèn vào nội dung code được chứa trong file common.php (ngang hàng với index.php).

    Nội dung file en.php
    Mã:
    <?php
    /*
    ------------------
    Language: English
    ------------------
    */
     
    $lang = array();
     
    $lang['PAGE_TITLE'] = 'My website page title';
    $lang['HEADER_TITLE'] = 'My website header title';
    $lang['SITE_NAME'] = 'My Website';
    $lang['SLOGAN'] = 'My slogan here';
    $lang['HEADING'] = 'Heading';
     
    // Menu
     
    $lang['MENU_HOME'] = 'Home';
    $lang['MENU_ABOUT_US'] = 'About Us';
    $lang['MENU_OUR_PRODUCTS'] = 'Our products';
    $lang['MENU_CONTACT_US'] = 'Contact Us';
    $lang['MENU_ADVERTISE'] = 'Advertise';
    $lang['MENU_SITE_MAP'] = 'Site Map';
    ?>
    Nội dung file vi.php
    Mã:
    <?php
    /*
    ------------------
    Language: English
    ------------------
    */
     
    $lang = array();
     
    $lang['PAGE_TITLE'] = 'Tiêu đề web';
    $lang['HEADER_TITLE'] = 'Tiêu đề đầu trang';
    $lang['SITE_NAME'] = 'Webiste của tôi';
    $lang['SLOGAN'] = 'slogan';
    $lang['HEADING'] = 'Tiêu đề đầu';
     
    // Menu
     
    $lang['MENU_HOME'] = 'Trang chủ';
    $lang['MENU_ABOUT_US'] = 'Giới thiệu';
    $lang['MENU_OUR_PRODUCTS'] = 'Chủ';
    $lang['MENU_CONTACT_US'] = 'Liên hệ';
    $lang['MENU_ADVERTISE'] = 'Advertise';
    $lang['MENU_SITE_MAP'] = 'Sơ đồ trang';
    ?>
    Nội dung file common.php (chứa đoạn mã điều khiển hướng ngôn ngữ - trỏ đến file ngôn ngữ nào)
    Mã:
    <?php
    session_start();
    header('Cache-control: private'); // IE 6 FIX
     
    if(isSet($_GET['lang']))
    {
    $lang = $_GET['lang'];
     
    // register the session and set the cookie
    $_SESSION['lang'] = $lang;
     
    setcookie('lang', $lang, time() + (3600 * 24 * 30));
    }
    else if(isSet($_SESSION['lang']))
    {
    $lang = $_SESSION['lang'];
    }
    else if(isSet($_COOKIE['lang']))
    {
    $lang = $_COOKIE['lang'];
    }
    else
    {
    $lang = 'en';
    }
     
    switch ($lang) {
      case 'en':
      $lang_file = 'lang.en.php';
      break;
     
      default:
      $lang_file = 'lang.vi.php';
     
    }
     
    include_once 'languages/'.$lang_file;
    ?>
    Trong bài giới thiệu này, tôi đã chọn để sử dụng một số hình ảnh biểu tượng, mỗi hình ảnh có một liên kết đến index.php với ?lang=ký hiệu ngôn ngữ (vi hoặc en). Mặc định là tiếng việt, vi vậy, để hiển thị ngôn ngữ tiếng anh, bạn cần chạy link ?lang=en
    VD: http://localhost/2mit/index.php?lang=en

    Chúc thành công!

    Nguồn: http://www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html

    Các file đính kèm:

    dinhvinh07phu_hung9x thích bài này.
  2. Offline

    funnyboyhn

    • Thành Viên Mới

    Số bài viết:
    6
    Đã được thích:
    2
    Điểm thành tích:
    0
    Mình cũng đã viết 1 bài hướng dẫn chi tiết về cách xây dựng 1 website đa ngôn ngữ trong PHP. Có đầy đủ source code nữa! Các bạn tham khảo nhé! :)

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí