Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zasady pisania na forum Pro

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.

9 Stron V  « < 5 6 7 8 9 >  
Reply to this topicStart new topic
> Wielojęzykowość, Czekam na Wasze propozycje
nospor
post 9.10.2009, 19:04:28
Post #121





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




juz przepisałem ręcznie smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bim2
post 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.


--------------------
Go to the top of the page
+Quote Post
cojack
post 12.10.2009, 15:45:42
Post #123





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


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
Go to the top of the page
+Quote Post
bim2
post 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' winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
cojack
post 13.10.2009, 15:45:56
Post #125





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


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 winksmiley.jpg


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
Go to the top of the page
+Quote Post
Crozin
post 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ę smile.gif
Go to the top of the page
+Quote Post
bim2
post 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. smile.gif Zależy co masz. Jak mam stronę statyczną gdzie występuje tylko Tytuł i Treść to mam jedną tabelę, bo tytuł też tłumaczymy smile.gif A id takie samo.


--------------------
Go to the top of the page
+Quote Post
jmail
post 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 winksmiley.jpg i je wrzucam do templatki tak jak pozostałe zmienne. Kwestia pobrania odpowiedniego pliku językowego
Go to the top of the page
+Quote Post
bim2
post 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ć.


--------------------
Go to the top of the page
+Quote Post
jmail
post 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 biggrin.gif ale przejrzę to co proponujesz i zobaczymy
Go to the top of the page
+Quote Post
marcio
post 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%)
X----


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:

  1.  
  2. $err['pl']['badpwd'] = 'Zle haslo';
  3.  
  4. $err['eng']['badpwd'] = 'Bad login';
  5.  


Wtedy w kontrolerze komponentu/pluginu robic:

  1.  
  2. if(blad podczac logowania) $view -> AddVar('error', $lang -> errors[$lang -> getLang()]['badpwd']);
  3.  


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
Go to the top of the page
+Quote Post
bim2
post 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 smile.gif czyli $lang->get('Wrong login.');


--------------------
Go to the top of the page
+Quote Post
marcio
post 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%)
X----


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
Go to the top of the page
+Quote Post
bim2
post 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ę
  1.  
  2. $form->addError($lang->get('Niepoprawne hasło.'));

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. smile.gif


--------------------
Go to the top of the page
+Quote Post
marcio
post 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%)
X----


Wole to trzymac w plikach tongue.gif 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
Go to the top of the page
+Quote Post
bim2
post 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ę smile.gif Naprawdę, przestaw się już teraz będzie mniej problemów później :]


--------------------
Go to the top of the page
+Quote Post
marcio
post 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%)
X----


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
Go to the top of the page
+Quote Post
bim2
post 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?


--------------------
Go to the top of the page
+Quote Post
marcio
post 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%)
X----


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
Go to the top of the page
+Quote Post
bim2
post 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 smile.gif Nie będzie tak łatwo. Zresztą przy n modułach kopiuj sobie wszystkie pliki itd.


--------------------
Go to the top of the page
+Quote Post

9 Stron V  « < 5 6 7 8 9 >
Reply to this topicStart new topic
3 Użytkowników czyta ten temat (3 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.04.2024 - 17:05