Example #1
0
 private function __construct()
 {
     global $ExistingLocales;
     // defined in bootstrap.php
     global $ExistingLangs;
     // defined in bootstrap.php
     // ******************************************************************************************
     // Current language
     // ******************************************************************************************
     $this->curLang = Route::getLangFromUrl();
     $this->curLangMaj = strtoupper($this->curLang);
     // ******************************************************************************************
     // Text translation
     // ******************************************************************************************
     // done with mo file
     // ******************************************************************************************
     // URL translation
     // ******************************************************************************************
     if (TC_ENVIRONMENT != 'dev' && isset($_SESSION["i18n_urls"])) {
         $I18N_URL = $_SESSION["i18n_urls"];
         $I18N_URL_INV = $_SESSION["i18n_urls_inv"];
         $I18N_TEXTS = $_SESSION["i18n_texts"];
     } else {
         // translations
         $I18N_TEXTS = array();
         foreach ($ExistingLocales as $l => $locale) {
             $filename = TC_ROOTDIR . "/lang/" . $locale . "/LC_MESSAGES/default.mo";
             $I18N_TEXTS[$l] = $this->loadPOfile($filename);
         }
         // save in session
         $_SESSION["i18n_texts"] = $I18N_TEXTS;
         // URLs
         $I18N_URL = array();
         $I18N_URL_INV = array();
         foreach ($ExistingLangs as $l) {
             $I18N_URL[$l] = array();
             $L = strtoupper($l);
             // open translations file
             self::readTransfile(TC_ROOTDIR . "/lang/urls_" . $L . ".txt", $I18N_URL[$l]);
             $I18N_URL_INV[$l] = array();
             foreach ($I18N_URL[$l] as $k => $v) {
                 $I18N_URL_INV[$l][$v] = $k;
             }
         }
         // save in session
         $_SESSION["i18n_urls"] = $I18N_URL;
         $_SESSION["i18n_urls_inv"] = $I18N_URL_INV;
     }
 }