Temat: wielojęzyczność w aplikacjach internetowych

Chciałbym swoją stronę zrobić w kilku językach jednak nie wiem jak to rozwiązać? Jak wy wykonujecie strony wielojęzyczne? Chodzi o to żeby można było dodawać nowy język np. z poziomu panelu admina.

konto usunięte

Temat: wielojęzyczność w aplikacjach internetowych

Proste jak drut

robisz w bazie tabelkę z językami

id | jezyk
1 | polski
2 | angielski

itp itd.

Następnie struktura artykułów wiadomości dodajesz do tabelki kolumnę jezyk

wiad_id | tekst | jezyk
1 | bla | 1
2 | bla2 | 2

teraz wystarczy zapytanie które wedle wybranego języka będzie pobierało poprawne dane z bazy

A dodawanie nowego języka to prosta rzecz gdyż robisz to w pierwszej tabelce, i system od razu wie że istnieje nowy język tak samo będzie z usuwaniem języka

konto usunięte

Temat: wielojęzyczność w aplikacjach internetowych

Tak jak wspomnial Paweł najlepiej zrobić łopatologicznie dwie tabelki. Jeżeli cała strona ma być tłumaczona dobrze jest zmodyfikować drugą aby:
1) pierwsza kolumna miała identyfikator tekstowy (np. "login" albo "user" albo "create_new_user")
2) dodać kolumnę "kontekstu", przy pierwszym zapytaniu cały kontekst jest wyciągany z bazy danych i zapisywany w cache requestu/aplikacji do wyboru (znacznie szybsze rozwiązanie niż pytanie o każdy zasób)

Dobrze jest stworzyć sobie klasę - menedżera. Oczywiste, ale lepiej wspomnieć ;>
Robert B.

Robert B. Specjalista, Polska
Telefonia Cyfrowa

Temat: wielojęzyczność w aplikacjach internetowych

Paweł Robert Kostecki:
Proste jak drut

robisz w bazie tabelkę z językami

id | jezyk
1 | polski
2 | angielski

itp itd.

Następnie struktura artykułów wiadomości dodajesz do tabelki kolumnę jezyk

wiad_id | tekst | jezyk
1 | bla | 1
2 | bla2 | 2

teraz wystarczy zapytanie które wedle wybranego języka będzie pobierało poprawne dane z bazy

A dodawanie nowego języka to prosta rzecz gdyż robisz to w pierwszej tabelce, i system od razu wie że istnieje nowy język tak samo będzie z usuwaniem języka

Drobna poprawka w drucie :)
wiad_id | tekst | jezyk
1 | bla | 1
1 | bla2 | 2

konto usunięte

Temat: wielojęzyczność w aplikacjach internetowych

A no tak :P zagalopowałem się

konto usunięte

Temat: wielojęzyczność w aplikacjach internetowych

Polecałbym także, dla statycznego tekstu, podobne rozwiązanie jak w Symfony - "tłumaczenia". Tzn. piszesz wszystko po polskiemu i owijasz w jakąś funkcję, która (gdy zajdzie taka potrzeba) przetłumaczy na angielski (np. z pliku XML, tabelki z bazy, etc)

Temat: wielojęzyczność w aplikacjach internetowych

Ja korzystam z gettext. Polecam!

Temat: wielojęzyczność w aplikacjach internetowych

A jak pracochlonne moze byc przygotowanie portalu na wielojezycznosc?
Chodzi mi tu dokladnie o http://otua.biz , tylko czesc kliencka (czyli wlasnie to, co widac), bo od strony dealera - juz to jest zalatwione... Tekstu za duzo nie ma, akcji do tlumaczenia raczej tez. Slownik aut, wyposazenia itd - zalatwiony od strony dealera.Piotr Giermasinski edytował(a) ten post dnia 22.07.08 o godzinie 07:47
Alan Gabriel B.

Alan Gabriel B. Software Engineer,
IFX

Temat: wielojęzyczność w aplikacjach internetowych

Piotr Giermasinski:
A jak pracochlonne moze byc przygotowanie portalu na wielojezycznosc?
Chodzi mi tu dokladnie o http://otua.biz , tylko czesc kliencka (czyli wlasnie to, co widac), bo od strony dealera - juz to jest zalatwione... Tekstu za duzo nie ma, akcji do tlumaczenia raczej tez. Slownik aut, wyposazenia itd - zalatwiony od strony dealera.

Zależy o jaką wielojęzykowość chodzi.

Bo jeżeli tylko tłumaczenia interfejsu to nie bardzo - wiąże sie to z wyedytowaniem szablonów (i przygotowaniem plików z tłumaczeniami ofkorzz).

Natomiast jeżeli chodzi o głęboką wielojęzykowość na poziomie danych. Z tym może być trudniej, bo powinno się to uzwględnić na w trakcie projektowania aplikacji - przeróbka taka wymaga wiecej wysiłku.Alan B. edytował(a) ten post dnia 22.07.08 o godzinie 08:36

Następna dyskusja:

A jak Wy walczycie z hakera...




Wyślij zaproszenie do