Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Strona w kilku wersjach językowych
Forum PHP.pl > Forum > Przedszkole
Anonymous
Witam,
Jestem początkującym jeżeli chodzi o programowanie w PHP. Chce stworzyć strone, która będzie dostępna w wielu wersjach językowych i zabardzo niewiem jak sie do tego zabrać. Powinien istnieć jeden plik np index.php który bedzie wczytywał stringi z jakiegos pliku lub bazy danych, czy zrobic kilka plików z tym samym kodem i funkcjami różniące się między sobą tylko wyświetlaną zawartością? Napiszcie w jaki sposób się to robi, być może wykorzystując własne doświadczenia.
Mlodycompany
ja mam zrobione tak.
index. w indexie wyincludowany plik ze zdefiniowanymi stalymi. w tym pliku zdefiniowane stale. w indexie echo STALA. i getem zmiana jezyka
bogdan89
oo właśnie. akurat wczoraj wymyslilem sobie takie zarządzanie językami na stronie.
zrobilem sobie funkcje w ob_start(); ktora wczytuje plik, np.: lang_pl.php, w ktorym mam zapisane wszystkie stale teksty na stronie w tablicach w formacie:
$lang_in[] = '{001}';
$lang_out[] = 'strona główna';

$lang_in[] = '{002}';
$lang_out[] = 'mapa strony';

w plikach widoku strony wpisuje np.: {001}.

dzieki str_replace(); zamieniam $lang_in na $lang_out na calej stronie, oczywiscie za pomocą ob_start();

nazwe pliku z jezykiem ktory ma byc wczytywany trzymam w sesji.

myslicie, ze to jest dobre rozwiazanie?
Heweliusz
Nie lepiej zrobić to tak, jak w dużych projektach typu php-fusion ?
Ustawiamy sobie w pliku index.php w katalogu językowym tablicę, na przykład:
  1. <?php
  2. $lang = array(
  3. 'ERROR' => 'Wystąpił błąd',
  4. 'HELLO' => 'Witaj'
  5. );
  6. ?>

Potem include do pliku, w którym chcesz to wykorzystać, a używasz tak:
  1. <?php
  2. echo $lang['HELLO'] . ' $user';
  3. ?>
Mlodycompany
a nie lepiej definiowac stałe?
  1. <?php
  2. define('STALA', 'tekst');
  3. ?>

ja mam tak zrobione na stronie i naprawde sobie chwale
nrm
gettext
bogdan89
Heweliusz, Mlodycompany i normanos podaliście rozwiązania, gdzie potrzebne jest PHP, żeby wczytać dany tekst w dane miejsce. Powiedzcie, co zrobić, gdy includuje plik html, w którym jest coś do przetłumaczenia ... (?)
Pride
Cytat(bogdan89 @ 24.07.2008, 17:49:10 ) *
Heweliusz, Mlodycompany i normanos podaliście rozwiązania, gdzie potrzebne jest PHP, żeby wczytać dany tekst w dane miejsce. Powiedzcie, co zrobić, gdy includuje plik html, w którym jest coś do przetłumaczenia ... (?)

str_replace();" title="Zobacz w manualu PHP" target="_manual
bogdan89
Cytat(Pride @ 24.07.2008, 17:52:29 ) *


i ja tej tej funkcji uzywam, jak napisalem w pierwszym moim poscie do tego tematu winksmiley.jpg
i wydaje mi sie, ze w moim przypadku moje rozwiazanie jest najwygodniejsze... smile.gif
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.