Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [class] Pony, Tłumaczenia oparte o pliki xml
SHiP
post
Post #1





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Co tu dużo tlumaczyć. Tworzymy plik xml typu
  1. <pony>
  2.    <language>
  3.        <orginal>en</orginal>
  4.        <translation>pl</translation>
  5.    </language>
  6.  
  7.    <message>
  8.        <orginal>Welcome</orginal>
  9.        <translation>Witaj</translation>
  10.    </message>
  11.    <message>
  12.      <orginal>There are %n dogs. They're saying %s!</orginal>
  13.      <translation>Tam sa %n psy, które mówią %s!</translation>
  14.      <lastchar p="1">2|3|4</lastchar>
  15.    </message>
  16.  
  17.    <message>
  18.      <orginal>There are %n dogs. They're saying %s!</orginal>
  19.      <translation>Tam jest %n psów, które mówią %s!</translation>
  20.      <lastchar p="1">0|1|5|6|7|8|9</lastchar>
  21.    </message>
  22. </pony>


oraz wywolujemy kod php
  1. <?php
  2. require_once 'libs/pony.class.php';
  3.  
  4. $pony = new Pony();
  5. $pony -> loadFile('file.xml');
  6. echo $pony -> translate('There are %n dogs. They're saying %s!', 127, 'hoff hoff hoff').'<br/>';
  7. echo $pony -> translate('There are %n dogs. They're saying %s!', 2, 'hou hou hou').'<br/>';
  8. ?>


W efekcie otrzymujemy
Kod
Tam jest 127 psów, które mówią hoff hoff hoff!
Tam sa 2 psy, które mówią hou hou hou!


parametr p="1" okresla do ktorego parametru ma sie odwolywać wymagany bajer(w tym przypadku ostani znak parametru musi byc jednym z podanych. p jest domyslnie równe jeden wiec w zasadzie moze zniknąc z tego przykładu.

Prezentowałem plik xml koledze, który sie na tym za bardzo nie zna i mówi ze dałby rade dodawać nowe tłumaczenia wiec chyba biblioteka działa (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Do pobrania jak zwykle z http://srodek.info/files/pony-1.0.tar.gz
Licencja: GNU GPL

Czekam na komentarze (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) (i ewentualnie podpowiedzi jakie inne, oprócz ostatniego znaku, wymagania czasami potrzeba ustawic w pliku jezykowym)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SHiP
post
Post #2





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Huh, wy to macie zawsze problemy ^^. Na upartego nie trzeba nic zmieniać. Tłumaczenie angielkie(a raczej pole orginal) jest użyte jako index tak wiec mozliwe jest dzialanie tak np w IPB. Tak wiec zawsze mozna zmienić tlumaczenia i np. stworzyc tlumaczenie polskie Hello World => Witaj piekny swiecie i tlumaczenie angielskie Hello World => Hello sunny world.

Na upartego można zastosowac typowe indeksy
  1. <message>
  2.     <orginal>control_panel_message</orginal>
  3.     <translation>Witaj %s w panelu użytkownika. bla ble ble ble</translation>
  4. </message>


Mi głównie chodzilo o rozwiązania inteligentnego dopierania tlumaczen na podstawie parametrow gdy mamy kilka róznych wersji...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 13:08