Wielojęzykowość, Czekam na Wasze propozycje |
Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.
Wielojęzykowość, Czekam na Wasze propozycje |
9.10.2009, 19:04:28
Post
#121
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6307 Dołączył: 27.12.2004 |
juz przepisałem ręcznie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
11.10.2009, 20:19:02
Post
#122
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Wszyscy się zastanawiają jak robić tłumaczenie, ale najprościej moim zdaniem zrobić podobnie jak ma wordpress. Sam tworzyłem teraz czterojęzyczny serwis i wychodzi, że najprościej jest dać np. w templatkach
Kod <p>__Tekst__</p> <p>__Tekst ze zmienna %s czegos__($zmienna)</p> Dzięki temu jest nawet możliwość poprawy literówek już na poziomie bazy danych, nie plików bo kluczem jest md5(). Tak więc, dzięki temu jestem w stanie poprosić kilkoro ludzi do poprawiania literówek i tworzenia tłumaczeń bez konieczności szukania tego po plikach. -------------------- |
|
|
12.10.2009, 15:45:42
Post
#123
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) |
Dla statycznych tekstów najlepiej jest użyć gettext. A dla trzymanych w bazie to l18n
-------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
13.10.2009, 14:23:49
Post
#124
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Hmm, ja miast gettext korzystam z własnego sytemu z racji tego, że były problemy z tym gettext. Cachowało mi jakimś cudem plik i nie było możliwośći wgrania najnowszwego pliku. Co do danych typu newsy, mam kolumnę lang i później w zapytaniach where :langW: tzn. where lang = 'pl'
-------------------- |
|
|
13.10.2009, 15:45:56
Post
#125
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) |
Dokładnie, to żadna sztuczka ta wielojęzyczność. Mi tam gettext działa bez problemu, tylko to trochę upierdliwe jest z tymi tłumaczeniami ;p trzeba się opisać jak głupi
-------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
14.10.2009, 14:26:43
Post
#126
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
@bim2: chyba osobną tabelę łączoną w relacji 1-1 (z id oraz językiem), a nie samą kolumnę
|
|
|
14.10.2009, 16:08:10
Post
#127
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
No tak. Zależy co masz. Jak mam stronę statyczną gdzie występuje tylko Tytuł i Treść to mam jedną tabelę, bo tytuł też tłumaczymy A id takie samo.
-------------------- |
|
|
14.10.2009, 16:18:12
Post
#128
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 53 Dołączył: 10.08.2009 Ostrzeżenie: (0%) |
nie wiem czy ktoś już to pisał :F
ja mam różne języki zapisane w tablicach php i je wrzucam do templatki tak jak pozostałe zmienne. Kwestia pobrania odpowiedniego pliku językowego |
|
|
14.10.2009, 20:58:38
Post
#129
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
jmail także tak miałem, ale po n serwisach to jest niewydajne w trakcie pisania tego. Musisz dodać sobie do tablicy wpis, później w templatkach {$lang.user} Tylko nie wiesz ci kryje się pod user jakbyś chciał coś zmienić/dodać.
Gettext jest najlepszym wyjściem i radzę Ci się na to przerzucić. -------------------- |
|
|
14.10.2009, 21:05:19
Post
#130
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 53 Dołączył: 10.08.2009 Ostrzeżenie: (0%) |
no jak tam kto uważa. dla mnie to jest wygodne i wydajne nie miałem jakoś probolemów do tej pory i jakoś tam działało ale przejrzę to co proponujesz i zobaczymy
|
|
|
22.10.2009, 22:53:05
Post
#131
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Ok przeczytalem caly watek wywnioskowalem troche z niego tworzac wlasny "Fw" mysle ze przyda sie standartowa implementacja wielojezykowosci.
Dla stalych tresci zrobie to porostu tak: Mam komponent news i jego opis autor,data,tresc i tytul i katalog jego widokow czyli: Kod |components ||views |||News ||||Admin |PL |Eng ||||User |PL |Eng No i na podstawie zmiennej sesyjnej wczytam odpowiedni widok z odpowiedniego katalogu(implementacja wczytywania w klase View a jezyku w innej) Wydaje mi sie to wygodne,elastyczne i shcludnie wyglada. Co do tresci np zawsze naszych news'ow zrobie to tak jak pokazal to @rzymek01 w poscie http://forum.php.pl/index.php?s=&showt...st&p=476814 podpunkt: Cytat dla elementów dynamicznych (każdy język -> taka sama treść): Zaprezentowany rozniez przez Kayne. Co jednak dla wyswietlania bledow w kilku jezykach bo tego nie zrozumialem albo nie doczytalem jak to osiagnac powiedzmy ze ktos chce sie zalogowac jak w przypadku danego jezyka wyswietlic komunikat w odpowiednim jezyku myslalem by zrobic katalog errors w katalogu widoku danego komponentu/pluginu a nim tablice typu:
Wtedy w kontrolerze komponentu/pluginu robic:
Wydaje mi sie rozsadne czy sie myle moze zabardzo zamotane i zaduzo jest kalogow plikow czy cos? -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
23.10.2009, 20:56:24
Post
#132
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Ja byłbym nadal za i18n, nawet dla błędów czyli $lang->get('Wrong login.');
-------------------- |
|
|
23.10.2009, 22:32:06
Post
#133
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Czyli jak i gdzie zapisywac bledy?
Bo nie rozumiem. -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
24.10.2009, 10:55:48
Post
#134
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Nigdzie. Piszesz błąd jaki wystapił a tłumaczenie działa na zasadzie tłumaczenia całych fraz. Tj. ja mam w bazie danych tabelę langs z kolumnami hash|pl|en|pt|es Hash to md5 frazy, a reszty się chyba łatwo domyślić. Wszędzie piszę domyślnie po polsku czyli jak mam błąd to robię
I później sprawdzam czy w bazie jest hash = md5($fraza) Jeśli nie ma dodaję ją do bazy z hashem i wypełnionym polem pl. Później tłumaczenie to zmiana en pt lub es. -------------------- |
|
|
24.10.2009, 12:44:14
Post
#135
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Wole to trzymac w plikach i zrobic tak jak ja to rozpisalem.
P.S ale dzieki za nastepna metode Ten post edytował marcio 24.10.2009, 12:44:44 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
24.10.2009, 13:28:31
Post
#136
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Po 5 zleceniach odechciewa się szukania języków po plikach, sprawdzania poprawiania. Po przerzuceniu się na ten sposób odczujesz wielką ulgę Naprawdę, przestaw się już teraz będzie mniej problemów później :]
-------------------- |
|
|
24.10.2009, 14:01:15
Post
#137
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Kazdy komponent/plugin bedzie mial katalog errors a w nim plik z o nazwie takiej samej jak nazwa komponentu/pluginu dane bede zapisywane tak jak podalem wyzej wiec na to samo wychodzi czy pliki czy baza jeden kit.
Tak samo biblioteka tez bedzie mogla miec wlasne bledy w roznych jezykach jesli zajdzie taka potrzeba np lib do upload'u/download'u -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
24.10.2009, 14:22:18
Post
#138
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Pomyśl, że chcesz później dodać kolejny język i dać możliwość grupie tłumaczy tłumaczenia tego. Jak to rozwiążesz?
-------------------- |
|
|
24.10.2009, 15:04:41
Post
#139
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Dam im plik z errors i do tego pliki widokow a dane dynamiczne jak news'y etc.... to wiadomo.
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
24.10.2009, 15:20:09
Post
#140
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Taaak, rozdziel to dla kilku tłumaczy Nie będzie tak łatwo. Zresztą przy n modułach kopiuj sobie wszystkie pliki itd.
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 23.09.2024 - 04:34 |