Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Jak Zrobić Wybór Języka Na Użytkownika?
Forum PHP.pl > Forum > Przedszkole
gladiror
Witam!
Mam maly problem. Otóz chciałem zrobić coś takiego, że jak użytkownik wchodzi na strone to zostaje sprawdzone z jakiego jest kraju (z tym sobie poradzilem). Gdy juz mamy z jakiego jest kraju to zeby przypisal do niego jezyk (jak jest z polski to polski, jak angielski to angielski). Moj problem polega na tym, że nie jestem pewien jak zrobic jezyki. Chodzi o to, czy teksty polskie poprawiac w plikach czy wszystko wrzucic do bazy danych i z bazy danych odczytywac teksty? Jezeli ktos ma jakies z tym doswiadczenie to poprosze o jakies sugestie...
Pozdrawiam
Gość
Raczej baza będzie lepsza. Zawsze to wygoda wyszukiwania sortowania itp.

Pytanie tylko czy trzymać wszystko w 1 tabeli czy w wielu.

Jeśli danych będzie naprawde sporo to można i w kilku z jakimiś prefixami językowymi a jak mało to raczej wszystko do jednego z 1 rekordem oznaczającym język i jazda
Gość
Tylko, ze jak wybiore tabele to zeby "zmieniac teksty" trzeba do kazdego robic oddzielne zapytanie. Np. jak wstawiasz pole "haslo" to musisz dac zapytanie, po czym dac pole itd...
LBO
Dlaczego oddzielne zapytanie?
  1. <?php
  2. switch ($language) {
  3. case 'englisz':
  4. $prefix = 'en_';
  5. break;
  6. case 'polski':
  7. $prefix = 'pl_';
  8. break;
  9. //itd
  10. default:
  11. $prefix = 'en_';
  12. };
  13. $sql = 'SELECT * FROM '.$prefix.'lang';
  14. ?>

Zakładam, że posiadasz w różnych tabelach tłumaczenia. Konwencja nazewnictwa tabel to: en_lang, pl_lang itd.
TomASS
Cytat
Raczej baza będzie lepsza. Zawsze to wygoda wyszukiwania sortowania itp.

Raczej nie tongue.gif Przynajmnie wg mnie - masz rację baza danych świetnie sobie radzi z sortowaniem. Ja bym do trzymania tłumaczeń użył plików, podpatrz jak ma to zrobione wiele poważnych projektów (ot choćby taki phpmyadmin):
  1. <?php
  2. $strAfterInsertNewInsert = 'Wstawienie nowego rekordu';
  3. $strAll = 'Wszystko';
  4. $strAlterOrderBy = 'Sortowanie tabeli wg';
  5. $strAnalyzeTable = 'Analizowanie tabeli';
  6. $strAnd = 'Oraz';
  7. $strAnIndex = 'Do %s dodany został indeks';
  8. $strAny = 'Dowolny';
  9. ?>

i przy pomocy funkcji printf napisy są "obrabiane".
Zobacz na ten temat.
banpl
ale w ten sposób mozna trzywac w plikach texty ktore sa stale, natomiast dane ktore bedzie zawierala strona, np newsy w roznych jezykach juz trzeba trzymac w bazie smile.gif
mike
A ja polecam do plików config YAMLa. Format z którego korzysta framework Symfony.
Ewentualnie pliki .ini
gladiror
Pobawilem sie baza i jest to troche uciazliwe robienie tego w bazie... Sa oczywiscie tego plusy:
jak dodasz teksty w bazie to nie musisz w kilku plikach zmieniac skryptów. Natomaist minus to duzo zabawy z poprawianiem (łatwiej i szybciej ejst poprawic w pliku niz w bazie danych. Poza tym z baza jest troche zabawy i wydaje mi sie, ze jest wiecej kodu...
Mam pytanie odnosnie YAML - co to jest takiego? wpisalem na forum ale tylko 2 posty znalazł... I jakos nic sensownego nie ma wytlumaczone...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.