Advertisement
soyuka

Gettext config with cookies

Feb 8th, 2012
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.91 KB | None | 0 0
  1. <?php
  2. /*GET Pref language */
  3. function GetPrefLanguage($str_http_languages)
  4. {
  5.     $lang = substr($str_http_languages, 0, 2);
  6.  
  7.     switch($lang) {
  8.         case 'fr':
  9.             return 'fr_FR';
  10.         break;
  11.         case 'de':
  12.             return 'de_DE';
  13.         break;
  14.         case 'en':
  15.             return 'en_US';
  16.         break;
  17.         default:
  18.             return 'en_US';
  19.     }
  20. }
  21.  
  22. $lang = GetPrefLanguage($_SERVER["HTTP_ACCEPT_LANGUAGE"]);
  23.  
  24. if(!isset($_COOKIE['lang']) || empty($_COOKIE['lang'])) {
  25.    
  26.     setcookie('lang', $lang, time() + 24*3600*350, '/', null, false, true);
  27.     $language = $lang;
  28.  
  29. } else {
  30.     $language = $_COOKIE['lang'];
  31. }
  32.  
  33.  
  34. setlocale(LC_ALL, $language);
  35.  
  36. // Set language
  37. putenv('LANG='.$language);
  38.  
  39. // Specify location of translation tables
  40. bindtextdomain('traductions', dirname(__FILE__).'/locale');
  41.  
  42. // Choose domain
  43. textdomain("traductions");
  44.  
  45. // Translation is looking for in ./locale/xx_XX/LC_MESSAGES/traductions.mo now
  46.  
  47. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement