translate.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 = htmlspecialchars($translatedWord, ENT_QUOTES);
  24. return vsprintf($translatedWord, $allWords);
  25. }
  26. }
  27. $getLanguage = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) : "en";
  28. $language = new setLanguage($getLanguage);
  29. ?>