private function initialize($config = array()) { // Load language helper $this->CI->load->helper(array('cookie', 'language')); // Make sure the session library is loaded class_exists('CI_Session') or $this->CI->load->library('session'); // List all available languages $this->languages = $config['languages']; // Set default language. // AS you can see, even if we set the default language // we do a little check up to make sure in exists on the // available languages list. If it doesn't, we set it to // CodeIgniter default language (english). $this->default = array_key_exists($config['default'], $this->languages) ? $this->languages[$config['default']] : $this->languages[config_item('language')]; // We now set the session and cookie names $this->session = $config['session'] ? $config['session'] : 'lang'; $this->cookie = $config['cookie'] ? $config['cookie'] : 'lang'; // Set client language $this->client = $this->_set_client_language(); // Set the current language $this->current = $this->_set_current_language(); // Set config $this->CI->config->set_item('language', $this->current['folder']); if (!empty($config['files'])) { foreach ($config['files'] as $file) { $this->CI->lang->load($file, $this->current['folder']); } } T_setlocale(LC_MESSAGES, $this->current['folder']); T_bindtextdomain('application', APPPATH . 'language'); return; }
/** * TuiyoLocalize::initiate() * Initiates a language domain * @param mixed $domain * @param mixed $locale * @param mixed $encoding * @return */ public function initiate($domain, $locale, $encoding) { //Initialize gettText $locale = !empty($locale) ? $locale : TUIYO_DEFAULT_LOCALE; $domain = !empty($domain) ? $domain : 'system'; $encoding = !empty($encoding) ? $encoding : TUIYO_DEFAULT_ENCODING; putenv("LANG={$locale}"); if (!extension_loaded('gettext')) { TuiyoLoader::import("gettext.gettext", "elibrary", "inc"); T_setlocale(LC_ALL, $locale); T_bindtextdomain($domain, TUIYO_LOCALE); T_bind_textdomain_codeset($domain, $encoding); T_textdomain($domain); //return TRUE; } setlocale(LC_ALL, $locale); bindtextdomain($domain, TUIYO_LOCALE); bind_textdomain_codeset($domain, $encoding); textdomain($domain); $path = "components/com_tuiyo/locale/" . $locale; //Load the parameters for the site! if (!class_exists('JSite')) { $path = "../components/com_tuiyo/locale/" . $locale; } $GLOBALS['mainframe']->addMetaTag("locale", $locale); $GLOBALS['mainframe']->addCustomHeadTag('<link href="' . $path . '/LC_MESSAGES/system.client.json" lang="' . $locale . '" rel="gettext" />'); }
/** * * Initializes the php-gettext * Remember to load first php-gettext * @param string $locale * @param string $charset * @param string $domain */ public static function initialize($locale = 'en_UK', $charset = 'utf-8', $domain = 'messages') { /** * setting the statics so later we can access them from anywhere */ //we allow to choose lang from the url if (Core::config('i18n.allow_query_language') == 1) { if (Core::get('language') !== NULL) { $locale = Core::get('language'); } elseif (Cookie::get('user_language') !== NULL) { $locale = Cookie::get('user_language'); } Cookie::set('user_language', $locale, Core::config('auth.lifetime')); } self::$lang = $locale; //used in i18n kohana self::$locale = $locale; self::$charset = $charset; self::$domain = $domain; //time zone set in the config date_default_timezone_set(Kohana::$config->load('i18n')->timezone); //Kohana core charset, used in the HTML templates as well Kohana::$charset = self::$charset; /** * In Windows LC_MESSAGES are not recognized by any reason. * So we check if LC_MESSAGES is defined to avoid bugs, * and force using gettext */ if (defined('LC_MESSAGES')) { $locale_res = setlocale(LC_MESSAGES, self::$locale); } else { $locale_res = FALSE; } // used with a function money_format setlocale(LC_MONETARY, self::$locale); /** * check if gettext exists if not uses gettext dropin */ if (!function_exists('_') or $locale_res === FALSE or empty($locale_res)) { /** * gettext override * v 1.0.11 * https://launchpad.net/php-gettext/ * We load php-gettext here since Kohana_I18n tries to create the function __() function when we extend it. * PHP-gettext already does this. */ require Kohana::find_file('vendor', 'php-gettext/gettext', 'inc'); T_setlocale(LC_MESSAGES, self::$locale); T_bindtextdomain(self::$domain, DOCROOT . 'languages'); T_bind_textdomain_codeset(self::$domain, self::$charset); T_textdomain(self::$domain); //force to use the gettext dropin self::$dropin = TRUE; } else { bindtextdomain(self::$domain, DOCROOT . 'languages'); bind_textdomain_codeset(self::$domain, self::$charset); textdomain(self::$domain); } }
function set_locale($locale) { //Set language putenv("LC_ALL={$locale}"); T_setlocale(LC_MESSAGES, $locale); T_bindtextdomain('default', 'locale'); T_bind_textdomain_codeset('default', 'UTF-8'); T_textdomain('default'); }
function i18n_setlocale($name, $lang, $msg) { putenv('LC_ALL=' . $lang); T_setlocale(LC_ALL, $lang); $text = i18n_gettext($name, $msg); putenv('LC_ALL=' . PO_LANG); T_setlocale(LC_ALL, PO_LANG); return $text; }
/** * Sets a locale (if supported) * @param String $locale locale to set * @param String $domain messages domain * @return String locale set */ private static function setLocale($locale, $domain = 'messages') { $locale = self::isSupported($locale) ? $locale : self::$config['default']; T_setlocale(LC_MESSAGES, $locale); T_bindtextdomain($domain, self::$config['path']); T_bind_textdomain_codeset($domain, self::$config['encoding']); T_textdomain($domain); header("Content-type: text/html; charset=" . self::$config['encoding']); return $locale; }
function _setlocaleEmu($category, $locale, $baseDir) { $domain = 'pommo'; $encoding = 'UTF-8'; T_setlocale($category, $locale); T_bindtextdomain($domain, $baseDir . '/language'); T_bind_textdomain_codeset($domain, $encoding); T_textdomain($domain); return true; }
private function set_current_lang($newlang) { $this->current_lang = $newlang; @putenv("LC_ALL=" . $newlang); // for WinXP SP3 T_setlocale(LC_ALL, $newlang); T_bindtextdomain("vpsAdmin", WWW_ROOT . "/lang/locale/"); T_bind_textdomain_codeset("vpsAdmin", "UTF-8"); T_textdomain("vpsAdmin"); setcookie(self::c_name, $this->current_lang, time() + 86400 * 7); }
/** * load_gettext * Sets up our local gettext settings. * * @return void */ function load_gettext() { $lang = AmpConfig::get('lang'); $charset = AmpConfig::get('site_charset') ?: 'UTF-8'; $locale = $lang . '.' . $charset; //debug_event('i18n', 'Setting locale to ' . $locale, 5); T_setlocale(LC_MESSAGES, $locale); /* Bind the Text Domain */ T_bindtextdomain('messages', AmpConfig::get('prefix') . "/locale/"); T_bind_textdomain_codeset('messages', $charset); T_textdomain('messages'); //debug_event('i18n', 'gettext is ' . (locale_emulation() ? 'emulated' : 'native'), 5); }
/** * Class constructor * * @return void */ public function __construct() { $config =& get_config(); $lang = empty($config['language']) ? $this->fallback : $config['language']; T_setlocale(LC_MESSAGES, $lang); // Application Language then system's T_bindtextdomain('application', APPPATH . 'language'); T_bindtextdomain('system', BASEPATH . 'language'); T_bind_textdomain_codeset('application', 'UTF-8'); T_textdomain('application'); unset($lang); log_message('info', 'Language Class Initialized'); }
/** * Sets the language to be used for future localized strings * while processing the current page. */ public function setLanguage($handleUserCfg = false) { if ($handleUserCfg) { $this->USERCFG = new CoreUserCfg(); } $this->sCurrentLanguage = $this->gatherCurrentLanguage(); // Check if choosen language is available $this->checkLanguageAvailable($this->sCurrentLanguage, true, true); // Set the language to us putenv('LC_ALL=' . $this->sCurrentLanguage . '.' . $this->sCurrentEncoding); putenv('LANG=' . $this->sCurrentLanguage . '.' . $this->sCurrentEncoding); T_setlocale(LC_MESSAGES, $this->sCurrentLanguage . '.' . $this->sCurrentEncoding); }
public static function applyLocale($newlocale) { self::$locale = $newlocale; //TODO Allow locale to be overriden by GET request? //if($_GET['lang']) $locale = $_GET['lang']; locale_set_default(self::$locale); //$language = locale_get_display_language(self::$locale, 'en'); $lang = locale_get_primary_language(self::$locale); //$region = locale_get_display_region(self::$locale); T_setlocale(LC_MESSAGES, $lang); T_bindtextdomain("grase", "/usr/share/grase/locale"); T_bind_textdomain_codeset("grase", "UTF-8"); T_textdomain("grase"); }
function switchLocale($locale) { global $helpPath, $helpRoot, $masterPath, $defLocale, $incPath; T_setlocale(LC_ALL, $locale . ".utf8"); T_bindtextdomain('messages', "{$incPath}/locale"); T_textdomain('messages'); if (file_exists("{$helpRoot}/{$locale}")) { $helpPath = "{$masterPath}{$helpRoot}/{$locale}/"; } elseif (file_exists("{$helpRoot}/{$defLocale}")) { $helpPath = "{$masterPath}{$helpRoot}/{$defLocale}/"; } else { $helpPath = "{$masterPath}{$helpRoot}/en_EN/"; } }
/** * Define language for get-text translator * * Directory structure for traduction must be: * ./locale/Lang/LC_MESSAGES/messages.mo * Example (French): * ./locale/fr_FR/LC_MESSAGES/messages.mo */ function defineLanguage($lang) { $encoding = 'UTF-8'; if (isset($lang)) { $locale = $lang; } else { $locale = DEFAULT_LOCALE; } // gettext setup T_setlocale(LC_MESSAGES, $locale); // Set the text domain as 'messages' $domain = 'messages'; T_bindtextdomain($domain, LOCALE_DIR); T_bind_textdomain_codeset($domain, $encoding); T_textdomain($domain); }
/** * Define language for get-text translator * * Directory structure for the translation must be: * ./app/locale/Lang/LC_MESSAGES/messages.mo * Example (French): * ./app/locale/fr_FR/LC_MESSAGES/messages.mo */ public static function setLanguage($lang = 'en_EN') { $encoding = 'UTF-8'; $languages = parse_ini_file(CONF_LANG_INI); if (isset($lang) && in_array($lang, $languages)) { $locale = $lang; } else { $locale = CONF_DEFAULT_LOCALE; } // gettext setup T_setlocale(LC_MESSAGES, $locale); // Set the text domain as 'messages' $domain = 'messages'; T_bindtextdomain($domain, LOCALE_DIR); T_bind_textdomain_codeset($domain, $encoding); T_textdomain($domain); }
function setLocalePath($strPath = false, $strDomain = false) { $strDomain = !$strDomain ? 'messages' : $strDomain; $strPath = !$strPath ? SITE_PATH . 'core/locale' : $strPath; if (!is_dir($strPath)) { return setError(sprintf('Can not change the local path to %s. Directory not exists'), $strPath); } global $configFile; $locale = $configFile->getDirectParam('USER_LANGUAGE'); T_setlocale(LC_ALL, $locale); bindtextdomain($strDomain, $strPath); // bind_textdomain_codeset is supported only in PHP 4.2.0+ if (function_exists('bind_textdomain_codeset')) { bind_textdomain_codeset($strDomain, 'utf-8'); } textdomain($strDomain); return true; }
/** * loads gettexts or droppin * @param string $locale * @param string $domain * @param string $charset */ private static function gettext_init($locale, $domain = 'messages', $charset = 'utf8') { /** * check if gettext exists if not uses gettext dropin */ $locale_res = setlocale(LC_ALL, $locale); if (!function_exists('_') or $locale_res === FALSE or empty($locale_res)) { /** * gettext override * v 1.0.11 * https://launchpad.net/php-gettext/ * We load php-gettext here since Kohana_I18n tries to create the function __() function when we extend it. * PHP-gettext already does this. */ include APPPATH . 'common/vendor/php-gettext/gettext.inc'; T_setlocale(LC_ALL, $locale); T_bindtextdomain($domain, DOCROOT . 'languages'); T_bind_textdomain_codeset($domain, $charset); T_textdomain($domain); } else { bindtextdomain($domain, DOCROOT . 'languages'); bind_textdomain_codeset($domain, $charset); textdomain($domain); function __($msgid) { return _($msgid); } } }
* TODO: Maybe change $available_languages to just list the native * language name (well, useres should be able to find their own * language, shouldn't they?) :) * NOTE: The gettext library might be used, if it is available. * The problem is that mo files are cached by the extension, so a * server restart is necessary if these files are updated (e.g. by * a senayan update). I replaced all _('') with __(''), so * php-gettext is always used, thus circumventing this problem. * Obviously there is no real speed disadvantage, since this is the * way wordpress does it. * Developers should use __('') and _ngettext in code! */ // set php-gettext library require LANGUAGES_BASE_DIR . 'php-gettext' . DIRECTORY_SEPARATOR . 'gettext.inc'; // gettext setup $locale = $sysconf['default_lang']; $domain = 'messages'; $encoding = 'UTF-8'; // set language to use T_setlocale(LC_ALL, $locale); // set locales dictionary location _bindtextdomain($domain, LANGUAGES_BASE_DIR . 'locale'); // codeset _bind_textdomain_codeset($domain, $encoding); // set .mo filename to use _textdomain($domain); // Array with available translations // $available_languages[] = array('CODE', __('ENGLISH NAME'), 'NATIVE NAME'); $available_languages[] = array('de_DE', __('German'), 'Deutsch'); $available_languages[] = array('en_US', __('English'), 'English'); $available_languages[] = array('id_ID', __('Indonesian'), 'Indonesia');
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PHP-gettext; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ // define constants define(PROJECT_DIR, realpath('./')); define(LOCALE_DIR, PROJECT_DIR . '/locale'); define(DEFAULT_LOCALE, 'en_US'); require_once '../gettext.inc'; $supported_locales = array('en_US', 'sr_CS', 'de_CH'); $encoding = 'UTF-8'; $locale = isset($_GET['lang']) ? $_GET['lang'] : DEFAULT_LOCALE; // gettext setup T_setlocale(LC_MESSAGES, $locale); // Set the text domain as 'messages' $domain = 'messages'; T_bindtextdomain($domain, LOCALE_DIR); T_bind_textdomain_codeset($domain, $encoding); T_textdomain($domain); header("Content-type: text/html; charset={$encoding}"); ?> <html> <head> <title>PHP-gettext fallback example</title> </head> <body> <h1>PHP-gettext as a fallback solution</h1> <p>Example showing how to use PHP-gettext as a fallback solution if the native gettext library is not available or the system does not support the requested locale.</p>
# Dynamically added variables /* $this->contents; # raw JSON $this->json; # decoded JSON $this->nb_pages; # number of pages $this->page_nb; # current page number $this->hit_page_limit; # boolian flag for page limit (currently 100 pages) $this->rtl; # boolian flag for RTL language */ } } $mv = new MV(); # Gettext # set language putenv("LC_ALL={$mv->language}"); T_setlocale(LC_ALL, $mv->language); # set local T_bindtextdomain($mv->domain, LOCALE_DIR); T_bind_textdomain_codeset($mv->domain, $mv->encoding); T_textdomain($mv->domain); # import localized texts require_once "./mobiletext.php"; $mt = new MT(); # add direction variable $mv->rtl = $mt->DIR == "rtl" ? True : False; # HTTP header header("Content-Type: application/xhtml+xml; charset=UTF-8"); header("Content-Language: ar"); header("Cache-Control: max-age=3600, must-revalidate"); header(sprintf("Last-Modified: %s", date("r", filemtime($_SERVER['SCRIPT_FILENAME'])))); # Query JSON service
/** * loadTextDomain * * This loads a new domain with a certain path into the domain table. * * Note: gettext paths * * Give a path/to/your/mo/files without LC_MESSAGES and locale! * * If you use: T_bindtextdomain('clansuite', '/html/locales'); * The mo.file would be looked up in /html/locales/de_DE/LC_MESSAGES/clansuite.mo * The $domain string specifies the mo-filename => "$domain.mo" * So if $domain = 'clansuite'; => clansuite.mo * * @link http://www.php.net/function.bindtextdomain */ public function loadTextDomain($category, $domain, $locale, $module = null) { #Koch_Debug::firebug($module); // if, $locale string is not over 3 chars long -> $locale = "en", build "en_EN" if (isset($locale[3]) == false) { $locale = mb_strtolower($locale) . '_' . mb_strtoupper($locale); } // Environment Variable LANGUAGE has priority above any local setting putenv('LANGUAGE=' . $locale); putenv('LANG=' . $locale); setlocale(LC_ALL, $locale . '.UTF-8'); T_setlocale(LC_ALL, $locale . '.UTF8', $locale); /** * Set the domain_directory (where look for MO files named $domain.po) */ if ($module === null) { // for domain 'clansuite', it's the ROOT_LANGUAGES directory $domain_directory = ROOT_LANGUAGES; } else { // set a specific module directory $domain_directory = ROOT_MOD . $module . DIRECTORY_SEPARATOR . 'languages'; } // Set the Domain T_bindtextdomain($domain, $domain_directory); T_bind_textdomain_codeset($domain, $this->encoding); T_textdomain($domain); #Koch_Debug::firebug('<p>Textdomain "' .$domain .'" loaded from path "'. $domain_directory .'" for "'. $module .'"</p>'); return true; }
function run() { if (isset($_GET["lang"]) && $_GET["lang"] != "") { // language forced by url. $this->lang = $_GET["lang"]; $_SESSION["lang"] = $this->lang; } else { if (isset($_SESSION["lang"])) { // language forced. this should only happen under / // where no url lang is forced. $this->lang = $_SESSION["lang"]; } else { if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) { // no language specified in url, try to auto-detect. $this->lang = $this->parseHeaderLocale($_SERVER["HTTP_ACCEPT_LANGUAGE"]); } } } $gnuLang = $this->toGnu($this->lang); putenv("LANGUAGE=" . $gnuLang); putenv("LANG=" . $gnuLang); putenv("LC_ALL=" . $gnuLang); putenv("LC_MESSAGES=" . $gnuLang); T_setlocale(LC_ALL, $gnuLang); T_bindtextdomain("spit", "./locale"); T_textdomain("spit"); }
/** * displayChangeLanguage * * Changes the language and redirects the page to the login form. * * @return void */ function displayChangeLanguage() { $_SESSION['language'] = $_GET['lang']; T_setlocale(LC_MESSAGES, $_SESSION['language']); header("Location: index.php"); }
* the first language can be used. * @return string Preferred Language for logging purposes */ function log_lang() { $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE']; $lang = preg_split('#[,;]#', $lang); return lang_normalize($lang[0]); } /* Init i18n */ $detected_lang = request_lang(); $ll = substr($detected_lang, 0, 2); // moved into request_lang() //if (isset($lang_rewrite[$detected_lang])) // $detected_lang=$lang_rewrite[$detected_lang]; T_setlocale(LC_ALL, $detected_lang); T_bindtextdomain('site', rtrim(BU_LANG_PATH, DIRECTORY_SEPARATOR)); T_bind_textdomain_codeset('site', 'UTF8'); T_bindtextdomain('update', rtrim(BU_LANG_PATH, DIRECTORY_SEPARATOR)); T_bind_textdomain_codeset('update', 'UTF8'); T_bindtextdomain('update-legacy', rtrim(BU_LANG_PATH, DIRECTORY_SEPARATOR)); T_bind_textdomain_codeset('update-legacy', 'UTF8'); T_bindtextdomain('customize', rtrim(BU_LANG_PATH, DIRECTORY_SEPARATOR)); T_bind_textdomain_codeset('customize', 'UTF8'); T_textdomain('update'); $newtrans = true; if (strpos("xx,ja,sl,id,uk,rm,da,sv,hu,fa,gl", $ll) > 0) { $newtrans = false; } //if (!$newtrans) // T_textdomain('browser-update');
private function initializeLocalization() { $locale = self::getLocale(); require_once PATH_ROOT . 'lib/gettext/gettext.inc'; $domain = "messages"; T_setlocale(LC_ALL, $locale . '.UTF-8', $locale); T_bindtextdomain($domain, PATH_ROOT . 'locale/'); T_bind_textdomain_codeset($domain, 'UTF-8'); T_textdomain($domain); if (!ini_get("safe_mode")) { @putenv("LC_ALL={$locale}.utf8"); } define('LOCALE', $locale); define('LANG', substr($locale, 0, 2)); }
<?php $langPlug = array("fr" => "fr_FR.utf8", "en" => "en_US", "es" => "es_ES.utf8"); // if (isset($langPlug[$lang]) && $langPlug[$lang]) { require_once dirname(__FILE__) . '/../../../includes/lang/php-gettext/gettext.inc'; T_setlocale(LC_MESSAGES, $langPlug[$lang]); T_bindtextdomain("comment", dirname(__FILE__)); T_bind_textdomain_codeset("comment", "UTF-8"); T_textdomain("comment"); }
} elseif ($locale === "de_DE") { // Try many values because OS doesn't have the same constants $phpLocale = setlocale(LC_ALL, "de_DE", "de", "German"); } elseif ($locale === "it_IT") { // Try many values because OS doesn't have the same constants $phpLocale = setlocale(LC_ALL, "it_IT", "it", "Italian"); } else { // No locale set, it's because visitors modify the url, so forbidden reply header('HTTP/1.1 403 Forbidden'); exit; } T_setlocale(LC_ALL, $phpLocale); $_SESSION['locale'] = $locale; // we want 3.5 always to be displayed '3.5' and not '3,5' $phpLocale = setlocale(LC_NUMERIC, "en_US", "us", "usa", "en", "eng", "English"); T_setlocale(LC_NUMERIC, $phpLocale); $locales_dir = TRUE === file_exists('./i18n/locale') ? './i18n/locale' : ($locales_dir = '../i18n/locale'); $textdomain = "codev"; T_bindtextdomain($textdomain, $locales_dir); T_bind_textdomain_codeset($textdomain, 'UTF-8'); T_textdomain($textdomain); $availableEncoding = mb_detect_order(); if (!array_search("ISO-8859-1", $availableEncoding)) { $newEnconding = array(); $newEnconding[] = "ISO-8859-1"; mb_detect_order(array_merge($availableEncoding, $newEnconding)); } /** * Get the user locale, choose in this order : * -> The locale from GET url * -> The locale set into the SESSION
* * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @category FCMS * @package FamilyConnections * @author Ryan Haudenschilt <*****@*****.**> * @copyright 2007 Haudenschilt LLC * @license http://www.gnu.org/licenses/gpl-2.0.html GPLv2 * @link http://www.familycms.com/wiki/ */ require_once 'inc/thirdparty/gettext.inc'; require_once 'inc/constants.php'; // Setup php-gettext T_setlocale(LC_MESSAGES, 'en_US'); T_bindtextdomain('messages', './language'); T_bind_textdomain_codeset('messages', 'UTF-8'); T_textdomain('messages'); // Fix magic quotes if (get_magic_quotes_gpc()) { $_REQUEST = array_map('stripslashes', $_REQUEST); $_GET = array_map('stripslashes', $_GET); $_POST = array_map('stripslashes', $_POST); $_COOKIE = array_map('stripslashes', $_COOKIE); } define('URL_PREFIX', ''); define('GALLERY_PREFIX', 'gallery/'); main(); return; /**
function msg($msgid, $lang = "") { T_setlocale(LC_ALL, $this->getLang($lang)); T_bindtextdomain($this->domain, $this->directory); T_textdomain($this->domain); T_bind_textdomain_codeset($this->domain, 'UTF-8'); if ($msgid == "") { return ""; } else { return T_gettext($msgid); } }
} exit; } } # Definition of the language $textdomain = "bilbo"; if (isset($_GET['locale']) && !empty($_GET['locale'])) { $locale = $_GET['locale']; } putenv('LANGUAGE=' . $locale); #putenv('LANG='.$locale); putenv('LC_ALL=' . $locale); putenv('LC_MESSAGES=' . $locale); #T_setlocale('LANGUAGE='.$locale); T_setlocale(LC_ALL, $locale); T_setlocale(LC_CTYPE, $locale); $locales_dir = dirname(__FILE__) . '/../i18n'; T_bindtextdomain($textdomain, $locales_dir); T_bind_textdomain_codeset($textdomain, 'UTF-8'); T_textdomain($textdomain); function __error($summary, $message, $code = 0) { # Error codes # 10 : no config file # 20 : database issue # 30 : blog is not defined # 40 : template files creation # 50 : no default theme # 60 : template processing error if (defined('BP_ERRORFILE') && is_file(BP_ERRORFILE)) { include BP_ERRORFILE;