class gettext_native_support
{
var $_interpolation_vars = array();
+ var $domain_path;
/**
* Set gettext language code.
$lshort = strtr($up, '-','');
$ushort = strtr($low, '-','');
- $set = setlocale(LC_ALL, $lang_code.".".$encoding,
- $lang_code.".".$up, $lang_code.".".$low,
- $lang_code.".".$ushort, $lang_code.".".$lshort);
-
+ if ($lang_code == 'C')
+ $set = setlocale(LC_ALL,'C');
+ else
+ $set = setlocale(LC_ALL, $lang_code.".".$encoding,
+ $lang_code.".".$up, $lang_code.".".$low,
+ $lang_code.".".$ushort, $lang_code.".".$lshort);
+
setlocale(LC_NUMERIC, 'C'); // important for numeric presentation etc.
if ($set === false)
{
*/
function add_domain($domain, $path=false, $version='')
{
+ if ($path === false)
+ $path = $this->domain_path;
if ($path === false)
$path = "./locale";
+ if ($domain == "")
+ $domain = "?";
if ($version) {
// To avoid need for apache server restart after change of *.mo file
// we have to include file version as part of filename.
* @param string $path optional -- Repository path
* @throws GetText_Error
*/
- function add_domain($domain, $path = "./locale/", $version ='')
+ function add_domain($domain, $path = false, $version ='')
{
+ if ($path === false)
+ $path = $this->domain_path;
+ if ($path === false)
+ $path = "./locale";
+
if ($version) {
$domain .= '-'.$version;
}
}
}
-/**
-* get_text related error.
+/*
+ Set current gettext domain path
*/
-//class GetText_Error extends PEAR_Error {}
+function set_ext_domain($path='') {
+ global $path_to_root;
+ $_SESSION['get_text']->add_domain($_SESSION['language']->code,
+ $path_to_root . ($path ? '/' : '') .$path.'/lang',
+ $path ? '' : $_SESSION['language']->version);
+}
?>