translate.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. class setLanguage {
  3. private $language = null;
  4. function __construct($language) {
  5. if (file_exists("lang/{$language}.ini")) :
  6. $this->language = parse_ini_file("lang/{$language}.ini", false, INI_SCANNER_RAW);
  7. else :
  8. $this->language = parse_ini_file("lang/en.ini", false, INI_SCANNER_RAW);
  9. endif;
  10. }
  11. public function translate($originalWord) {
  12. $getArg = func_num_args();
  13. if ($getArg > 1) :
  14. $allWords = func_get_args();
  15. array_shift($allWords);
  16. else :
  17. $allWords = array();
  18. endif;
  19. $translatedWord = isset($this->language[$originalWord]) ? $this->language[$originalWord] : null;
  20. if (!$translatedWord) :
  21. echo ("Translation not found for: $originalWord");
  22. endif;
  23. //$translatedWord = str_replace( array( "'","'" ),'', $translatedWord );
  24. $translatedWord = htmlspecialchars($translatedWord, ENT_QUOTES);
  25. return vsprintf($translatedWord, $allWords);
  26. }
  27. }
  28. $getLanguage = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  29. $language = new setLanguage($getLanguage);
  30. ?>