App-I18N

 view release on metacpan or  search on metacpan

maketext/l10n.php  view on Meta::CPAN

    {
        return $this->cur_lang;
    }

    // get available language list
    function langs()
    {
        return $this->a_langs;
    }

    function set_list( $list )
    {
        $this->a_langs = $list;
    }

    function add( $lang , $name )
    {
        $this->a_langs[ $lang ] = $name;
        return $this;
    }

    function remove( $lang )
    {
        unset( $this->a_langs[ $lang ] );
        return $this;
    }

    // get language name from language hash
    function name( $lang )
    {
        return @$this->a_langs[ $lang ];
    }

    function domain( $domain )
    {
        $this->domain = $domain;
        return $this;
    }

    function localedir( $dir )
    {
        $this->localedir = $dir;
        return $this;
    }

    function gettext( $textdomain = null , $localedir = null )
    {
        if( $textdomain == null )
            $textdomain = $this->domain;

        if( $localedir == null )
            $localedir = $this->localedir;
        if( $localedir == null ) 
            $localedir = dirname(__FILE__) . '/' . 'locale';

        $lang = $this->cur_lang;

        putenv("LANG=$lang");
        setlocale(LC_MESSAGES, $lang );

        bindtextdomain( $textdomain, $localedir );
        bind_textdomain_codeset( $textdomain, 'UTF-8');
        textdomain( $textdomain );
        return $this;
    }
}

function l10n()
{
    global $l10n;
    if( $l10n == null ) {
        $l10n = new L10N();
    }
    return $l10n;
}

function current_lang()
{
    return l10n()->speaking();
}


?>



( run in 1.071 second using v1.01-cache-2.11-cpan-2398b32b56e )