Class Language

Class Language

Od pewnego czasu szukałem klasy, która była by odpowiednia do mojego projektu, postanowiłem wprowadzić dwu języczność. Poszukiwania nie przyniosły zadowalających efektów, które chciałem osiągnąć. Wykonałem klasę, którą nazwałem "Class Language". Klasa bardzo lekka, przejrzysta i bardzo wydajna zero zamuleń. Do "Class Language” można podpiąć dowolną ilość języków, które ma obsługiwać, cała treść tłumaczenia znajduje się w osobnym pliku nazwanym lang.ini, dane w nim się znajdujące są importowane do metody i tam przetwarzane w zależności od języka, jaki na chwilę obecną używamy.

Samo używanie jest banalnie proste sprowadza się do podania języka, jaki ma obowiązywać w danym momencie podajemy go, jako liczby 1 to polski 2 to angielski itd. trzeba zachować tylko jedną regułę w pliku .ini musimy podawać takie same nazwy dla poszczególnych języków.

Jeżeli język polski to w pliku lang.ini tablica [pl] jak angielski to tablica [en] jak czeski to tablica [cz] itd. Następną zmienną, którą należy podać do klasy jest położenie pliku lang.ini z naszymi tłumaczeniami podajemy ścieżkę do pliku. No i już na koniec pozostaje nam tylko określenie słów do tłumaczenia, przez odpowiednią metodę $lang->_lang("ZALOGUJ"); albo $lang->_lang("WYLOGUJ");

Jak wspomniałem wyżej klasa bardzo prosta i wydajna nie powinna przysporzyć w obsłudze żadnych problemów, życzę udanego użytkowania.

 

 

index.php



     require_once('class_lang.php'); 
/* Okresl ktory jezyk "1" to polski "2" to angielski */
/* Specify which language "1" is the Polish "2" is an English */
        $file="lang.ini"; 
        $pl=1; 
        $en=2; 
        $lang = new class_lang($en, $file); 
    echo $lang->_lang("ZALOGUJ");    
    echo $lang->_lang("WYLOGUJ");
lang.ini
 [pl]
 ZALOGUJ= "Zaloguj PL"
 WYLOGUJ= "Wyloguj PL"
 [en]
 ZALOGUJ= "Zaloguj EN"
 WYLOGUJ= "Wyloguj EN"
class_lang.php

 class class_lang{ 
     
   private $whatlang; 
   private $lang      = array(1=>"pl", 2=>"en", 3=>"cz", 4=>"br"); 
   private $lang_tabl = array(); 
   private $pl        = array(); 
           
     
    public function __construct($whatlangg, $file){ 
           if(file_exists($file)){ 
            $this->lang_tabl = parse_ini_file($file, true); 
           }else{ 
             die("Brak Pliku lang.ini"); 
           } 
           if(!empty($whatlangg)){ 
           $this->whatlang = $this->lang[(int)$whatlangg];     
           }else{ 
            die("Brak okreslonego jezyka"); 
           }        
      } 
 
    private function lang(){  
        if(!empty($this->whatlang)){ 
         return $this->whatlang;  
        }else{ 
         return "pl";  
        }          
    } 
      
    private function multi_lang($param){ 
      $this->pl = $this->lang_tabl[$param];    
    }  
 
    private function get_multi_lang(){ 
        return $this->pl; 
    } 
      
    public function _lang($langgg){   
           $this->multi_lang($this->lang()); 
           if($lan = $this->get_multi_lang()){ 
               return $lan[$langgg]; 
           } 
     }        
}

 

 

 

Dodaj komentarz


Kod antyspamowy
Odśwież

Używamy cookies i podobnych technologii m.in. w celach: świadczenia usług, reklamy, statystyk. Korzystanie z witryny bez zmiany ustawień Twojej przeglądarki oznacza, że będą one umieszczane w Twoim urządzeniu końcowym. Pamiętaj, że zawsze możesz zmienić te ustawienia. To find out more about the cookies we use and how to delete them, see our privacy policy.

I accept cookies from this site.

EU Cookie Directive Module Information