Changeset 1503


Ignore:
Timestamp:
10/08/09 18:30:44 (15 years ago)
Author:
rodsouza
Message:

Ticket #622 - Utilizar XML para internacionalização.

Location:
trunk/expressoMail1_2
Files:
3 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.functions.inc.php

    r1384 r1503  
    9999                        return $response; 
    100100                } 
    101                  
    102                 function getLang($key){ 
    103                         if ($_SESSION['phpgw_info']['expressomail']['lang'][$key]) 
    104                         return $_SESSION['phpgw_info']['expressomail']['lang'][$key];                    
     101 
     102                function getLang( $key ) 
     103                { 
     104                        static $language = NULL; 
     105 
     106                        if ( ! $language ) 
     107                        { 
     108                                $_SESSION[ 'debug' ][ 'init_t' ] = time( ); 
     109                                $_SESSION[ 'debug' ][ 'init_m' ] = microtime( ); 
     110 
     111                                $xml = new DOMDocument; 
     112                                $xml -> preserveWhiteSpace = false; 
     113                                $xml -> load( dirname( __FILE__ ) 
     114                                        . '/../setup/phpgw_' 
     115                                        . $_SESSION['phpgw_info']['expressomail']['user']['preferences']['common']['lang'] 
     116                                        . '.xml' 
     117                                ); 
     118 
     119                                $xpath = new DOMXPath( $xml ); 
     120 
     121                                $_key = 'key'; 
     122                                $_lang = 'translation'; 
     123 
     124                                $language = array( ); 
     125                                foreach( $xml -> documentElement -> childNodes as $entry ) 
     126                                        $language[ $xpath->query( $_key, $entry ) -> item( 0 ) -> nodeValue ] = $xpath->query( $_lang, $entry ) -> item( 0 ) -> nodeValue; 
     127 
     128                                $_SESSION[ 'debug' ][ 'end_t' ] = time( ); 
     129                                $_SESSION[ 'debug' ][ 'end_m' ] = microtime( ); 
     130                        } 
     131 
     132                        if ( array_key_exists( $key, $language ) ) 
     133                                return $language[ $key ]; 
    105134                        else 
    106                                 return ($key . '*'); 
     135                                return ( $key . '*' ); 
    107136                } 
    108137 
  • trunk/expressoMail1_2/inc/load_lang.php

    r1121 r1503  
    2121        foreach($_SESSION['phpgw_info']['expressomail']['lang'] as $key => $value) 
    2222                $script .= "array_lang['".str_replace("'","\'",strtolower($key))."'] = '".str_replace("'","\'",$value)."';\n"; 
    23         echo "<script type='text/javascript'>$script</script>"; 
     23        //echo "<script type='text/javascript'>$script</script>"; 
    2424?> 
  • trunk/expressoMail1_2/index.php

    r1495 r1503  
    1616        echo "<script type='text/javascript'>var template = '".$_SESSION['phpgw_info']['expressoMail1_2']['user']['preferences']['common']['template_set']."';</script>"; 
    1717        echo "<script src='js/modal/modal.js'></script>"; 
     18        echo "<script src='js/xtools.js?".$update_version."' type='text/javascript'></script>"; 
    1819        echo "<script src='js/globals.js?".$update_version."' type='text/javascript'></script>"; 
    1920        echo "<script src='js/sniff_browser.js?".$update_version."' type='text/javascript'></script>"; 
  • trunk/expressoMail1_2/js/common_functions.js

    r1443 r1503  
    8484// Translate words and phrases using user language from eGroupware. 
    8585function get_lang(_key) { 
     86        if ( ! array_lang ) 
     87        { 
     88                array_lang = [ ]; 
     89 
     90                var source = xtools.parse( 'setup/phpgw_pt-br.xml', 'setup/language.xsl' ); 
     91 
     92                try 
     93                { 
     94                        var lang = document.createElement( 'script' ); 
     95                                lang.appendChild( document.createTextNode( source ) ); 
     96 
     97                        document.getElementsByTagName( 'head' ).item( 0 ).appendChild( lang ); 
     98                } 
     99                catch( e ) 
     100                { 
     101                        // IE don't run code above. 
     102                        eval( source ); 
     103                } 
     104        } 
    86105        var key = _key.toLowerCase(); 
    87106        if(array_lang[key]) 
  • trunk/expressoMail1_2/js/globals.js

    r1402 r1503  
    1313var sort_box_reverse = 1; 
    1414var last_message_selected = ''; 
    15 var array_lang = new Array(); 
     15var array_lang = false;//new Array(); 
    1616var cyrus_delimiter = ''; 
    1717var ccaddress_array = new Array(); 
     
    4444var divStatusBar = document.getElementById("divStatusBar"); 
    4545var denyFileExtensions = new Array('exe','com','reg','chm','cnf','hta','ins','jse','job','lnk','pif','src','scf','sct','shb','vbe','vbs','wsc','wsf','wsh','cer','its','mau','','mda','mar','mdz','prf','pst'); 
     46 
     47var xtools = new XTools( '/expresso/expressoMail1_2/' ); 
Note: See TracChangeset for help on using the changeset viewer.