Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] klasa do tłumaczenia
hhg
post
Post #1





Grupa: Zarejestrowani
Postów: 316
Pomógł: 0
Dołączył: 5.07.2006

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


moj system pracuje w dwóch językach: polskim i angielskim. Chaciałbym uelastycznic zwracane przez metody w klasach komunikaty. Toteż chcę stworzyć klase do tłumaczenia. Będzie zawierała dwie tablice: jedna z komunikatami polskimi a druga z angielskimi (pod tymi samymi indeksami odpowiedniki komunikatow w dwoch jezykach). Bedzie pewnie jakas metoda translate() zwracajaca odpowiednik komunikatu z drugiej tablicy.

Czy macie na to jakas lepsza koncepcje? bo mysle ze wpisywanie przy zwracanych wartosciach metod czegos w stylu:

$eng[45]

jest malo wymowne


z gory dzieki za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cosi*
post
Post #2





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 9.07.2007
Skąd: Dąbrowa Górnicza

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


Ja to od dawna robię w ten prosty, ale skuteczny sposób:
- tworzę osobny plik, który będzie odpowiadał za obsługę wersji językowych i przechowywał komunikaty
- wybór wersji językowej może być realizowany w dowolny sposób, w zależności od potrzeb. Może to być zmienna przekazywana przez GET, ciastko, wpis w pliku konfiguracyjnym itp.
- komunikaty trzymam w stałych tekstowych, definiowanych po starcie programu, w zależności od wybranego języka, np.:
  1. <?php
  2. define('_PODAJ_DANE','Podaj dane');
  3. ?>

Ważne żeby nazwy stałych były intuicyjne i żeby nie kolidowały z zastrzeżonymi nazwami (można na początku użyć np. podkreślenia)
- jeżeli piszę w PHP, komunikaty umieszczam bezpośrednio w kodzie HTML:
  1. <a href="index.php"><?= _POWROT_DO_STRONY_GLOWNEJ ?></a>

Najlepiej wtedy przy testowaniu włączyć error_reporting na E_ALL i obserwować, czy czegoś nie poputaliśmy.

No i to chyba tyle. "Sprzedałem" Ci moją autorską metodę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Pozdrawiam,
Cosi
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 18:23