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
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é!