Commit bbbd6211f33b41588aeb72b2cfc0ed35cfaec0b9

Authored by nbm
1 parent 30453465

Grab language to use from a cookie, and implement _kt using the internal

i18n infrastructure.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5141 c91229c3-7414-0410-bfa2-8a42b809f60b
config/dmsDefaults.php
... ... @@ -120,30 +120,16 @@ class KTInit {
120 120  
121 121 // {{{ setupI18n()
122 122 /**
123   - * setupI
  123 + * setupI18n
124 124 *
125 125 */
126 126 function setupI18n () {
127 127 require_once(KT_LIB_DIR . '/i18n/i18nutil.inc.php');
128 128 require_once("HTTP.php");
129 129 global $default;
130   - if (in_array("gettext", get_loaded_extensions()) && function_exists('gettext') && function_exists('_')) {
131   - if ($default->useAcceptLanguageHeader) {
132   - $aInstalledLocales = KTi18nUtil::getInstalledLocales();
133   - $sLocale = $aInstalledLocales[HTTP::negotiateLanguage($aInstalledLocales)];
134   - $default->defaultLanguage = $sLocale;
135   - }
136   - putenv('LANG=' . $default->defaultLanguage);
137   - putenv('LANGUAGE=' . $default->defaultLanguage);
138   - setlocale(LC_ALL, $default->defaultLanguage);
139   - // Set the text domain
140   - $sDomain = 'knowledgeTree';
141   - bindtextdomain($sDomain, $default->fileSystemRoot . "/i18n");
142   - textdomain($sDomain);
143   - return true;
144   - } else {
145   - return false;
146   - $default->log->info("Gettext not installed, i18n disabled.");
  130 + $language = KTUtil::arrayGet($_COOKIE, 'kt_language');
  131 + if ($language) {
  132 + $default->defaultLanguage = $language;
147 133 }
148 134 }
149 135 // }}}
... ... @@ -467,13 +453,6 @@ class KTInit {
467 453  
468 454 $KTInit = new KTInit();
469 455  
470   -// handle unexpected errors in smarty somewhat more gracefully, even if no gettext is installed.
471   -if (!function_exists('_')) {
472   - function _kt($s) { return $s; }
473   -} else {
474   - function _kt($s) { return _($s); }
475   -}
476   -
477 456 $KTInit->prependPath(KT_DIR . '/thirdparty/pear');
478 457 $KTInit->prependPath(KT_DIR . '/thirdparty/Smarty');
479 458 require_once('PEAR.php');
... ... @@ -487,6 +466,9 @@ require_once(KT_LIB_DIR . '/util/ktutil.inc');
487 466 require_once(KT_LIB_DIR . "/config/config.inc.php");
488 467  
489 468 $KTInit->initConfig();
  469 +
  470 +$KTInit->setupI18n();
  471 +
490 472 $oKTConfig =& KTConfig::getSingleton();
491 473 $KTInit->setupServerVariables();
492 474  
... ... @@ -506,13 +488,7 @@ require_once(KT_LIB_DIR . '/database/lookup.inc');
506 488 // table mapping entries
507 489 include("tableMappings.inc");
508 490  
509   -$i18nLoaded = $KTInit->setupI18n();
510   -if ($i18nLoaded === false) {
511   - // gettext dummy already loaded.
512   -}
513   -
514 491 $default->systemVersion = trim(file_get_contents(KT_DIR . '/docs/VERSION.txt'));
515   -$default->lastDatebaseVersion = '2.0.2';
516 492  
517 493 $KTInit->cleanGlobals();
518 494 $KTInit->cleanMagicQuotes();
... ... @@ -529,4 +505,6 @@ if ($checkup !== true) {
529 505 KTPluginUtil::loadPlugins();
530 506 }
531 507  
  508 +$GLOBALS['main'] =& new KTPage();
  509 +
532 510 ?>
... ...
lib/i18n/i18nutil.inc.php
... ... @@ -58,3 +58,9 @@ class KTi18nUtil {
58 58 return $aLocales;
59 59 }
60 60 }
  61 +
  62 +function _kt($sContents) {
  63 + $oReg =& KTi18nRegistry::getSingleton();
  64 + $oi18n =& $oReg->geti18n('knowledgeTree');
  65 + return $oi18n->gettext($sContents);
  66 +}
... ...