eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.www › Kilka języków na stronie
Ilość wypowiedzi w tym wątku: 4

  • 1. Data: 2010-01-23 10:03:45
    Temat: Kilka języków na stronie
    Od: olo <o...@n...com>

    Witam

    Mam gotowy system do obsługi wielu języków na stronie. Działa
    prawidłowo, ale w niedługim czasie będę chciał go wrzucić na stronę,
    którą odwiedza ok 2k UU dziennie. Tym samym myślę, że nie bez znaczenia
    będzie już kwestia wydajności. Chciałbym zatem zapytać jakie rozwiązanie
    będzie lepsze.

    Zasada jest taka:
    - w mysql jest tabela nazwijmy ją "teksty" z kolumnami: id, pl, en, de,
    itd (w zależności ile jest wersji językowych).
    - w php chcąc wstawić słowo lub zdanie wywołuję funkcję "czytaj" z
    parametrem wskazującym na konkretny id. W połączeniu z globalną zmienną
    przechowującą informację o wersji językowej wybranej przez użytkownika
    mam komplet danych

    i teraz pytanie co będzie wydajniejsze:
    - jedno zapytanie mysql czytające CAŁĄ tabelę "teksty", zapisanie tego
    do tablicy a następnie odwoływanie się do tej tablicy poprzez funkcję
    "czytaj", czy może
    - zapytanie do mysql o jeden konkretny tekst w trakcie wywolania funkcji
    "czytaj"?

    Rozwiązanie pierwsze wykonuje tylko jedno zapytanie, ale zjada pewnie
    więcej zasobów serwera, rozwiązanie drugie z kolei wykonywać będzie
    dziesiątki zapytań do mysql podczas jednego odświeżenia strony.

    Jeśli ktoś robił coś podobnego i ma konkretną odpowiedź na to pytanie to
    bardzo proszę o odpowiedź. W razie czego po prostu wrzucę na parę dni
    jedną opcję, później to samo zrobię z drugą i przeglądne staty serwera

    pozdrawiam!


  • 2. Data: 2010-01-23 22:16:44
    Temat: Re: Kilka języków na stronie
    Od: Krzysztof Warunek <k...@t...pl>

    Dnia Sat, 23 Jan 2010 11:03:45 +0100, olo napisał(a):
    > - jedno zapytanie mysql czytające CAŁĄ tabelę "teksty", zapisanie tego
    > do tablicy a następnie odwoływanie się do tej tablicy poprzez funkcję
    > "czytaj", czy może
    jakie masz ograniczenia pamięci:
    sizeof(tablica)*strlen(tablica[x])* n UU jednocześnie

    > - zapytanie do mysql o jeden konkretny tekst w trakcie wywolania funkcji
    > "czytaj"?
    jakie masz ograniczenia co do liczby zapytań, połączeń jednocześnie

    to to poza tłumaczeniem będzie też coś robić innego?

    poza tym skąd pomysł na "własny system" oparty o bazę skoro jest gettext

    >Jeśli ktoś robił coś podobnego i ma konkretną odpowiedź na to pytanie to
    >bardzo proszę o odpowiedź.
    phptal


    --
    Krzysztof Warunek

    http://tocheckserver.pl


  • 3. Data: 2010-01-24 01:12:53
    Temat: Re: Kilka języków na stronie
    Od: Konrad Kosmowski <k...@k...net>

    ** olo <o...@n...com> wrote:

    > Mam gotowy system do obsługi wielu języków na stronie. Działa prawidłowo, ale
    > w niedługim czasie będę chciał go wrzucić na stronę, którą odwiedza ok 2k UU
    > dziennie. Tym samym myślę, że nie bez znaczenia będzie już kwestia
    > wydajności. Chciałbym zatem zapytać jakie rozwiązanie będzie lepsze.

    Najlepiej będzie przy pierwszej wizycie sugerować się nagłowkiem HTTP
    Accept-Language i kierować na właściwą wersję językową. Jeżeli user zmieni
    język to ustawić mu cookie i dalej sugerować się tym cookie.

    Oczywiście zgodnie ze sztuką wersje językowe powinny widnieć pod różnymi URI
    czyli np. via ścieżka (/pol/foo /eng/foo itd.) czy domena (pol.foo.tld
    eng.foo.tld itd.).

    Najbardziej wkurwiają mnie witryny, które upierają się jaki język mi zaserwować
    np. na podstawie IP z którego się łączę (helloł Google fuck off).

    > Zasada jest taka:
    > - w mysql jest tabela nazwijmy ją "teksty" z kolumnami: id, pl, en, de,
    > itd (w zależności ile jest wersji językowych).
    > - w php chcąc wstawić słowo lub zdanie wywołuję funkcję "czytaj" z
    > parametrem wskazującym na konkretny id. W połączeniu z globalną zmienną
    > przechowującą informację o wersji językowej wybranej przez użytkownika
    > mam komplet danych

    Zobacz sobie jak robi to eZ Publish - tam wszystko jest obiektem - posiada swój
    bazowy język, a dodatkowe traktowane są jako kolejne obiekty - tłumaczenia.

    > i teraz pytanie co będzie wydajniejsze:
    > - jedno zapytanie mysql czytające CAŁĄ tabelę "teksty", zapisanie tego
    > do tablicy a następnie odwoływanie się do tej tablicy poprzez funkcję
    > "czytaj", czy może
    > - zapytanie do mysql o jeden konkretny tekst w trakcie wywolania funkcji
    > "czytaj"?

    Poważnie zadałeś to pytanie czy jaja se robisz?

    --
    + ' .-. .
    , * ) )
    http://kosmosik.net/ . . '-' . kK


  • 4. Data: 2010-01-25 16:54:40
    Temat: Re: Kilka języków na stronie
    Od: olo <o...@n...com>

    Konrad Kosmowski pisze:
    > Najlepiej będzie przy pierwszej wizycie sugerować się nagłowkiem HTTP
    > Accept-Language i kierować na właściwą wersję językową. Jeżeli user zmieni
    > język to ustawić mu cookie i dalej sugerować się tym cookie.
    >

    tak to mam zamiar wlasnie zrobic. W razie czego oczywiscie zawsze bedzie
    mozliwosc zmiany

    > Oczywiście zgodnie ze sztuką wersje językowe powinny widnieć pod różnymi URI
    > czyli np. via ścieżka (/pol/foo /eng/foo itd.) czy domena (pol.foo.tld
    > eng.foo.tld itd.).

    prawdopodobnie bedzie domena/en, domena/de itp, ponieważ strona jest w
    .pl i jakos tak bardziej mi to rozwiazanie lezy

    >> i teraz pytanie co będzie wydajniejsze:
    >> - jedno zapytanie mysql czytające CAŁĄ tabelę "teksty", zapisanie tego
    >> do tablicy a następnie odwoływanie się do tej tablicy poprzez funkcję
    >> "czytaj", czy może
    >> - zapytanie do mysql o jeden konkretny tekst w trakcie wywolania funkcji
    >> "czytaj"?
    >
    > Poważnie zadałeś to pytanie czy jaja se robisz?
    >

    byc moze dla Ciebie jest to oczywiste, ale gdybym nie miał wątpliwości
    to bym pytania nie zadał. Nie wiem czy w sytuacji gdy strzelam: rekordów
    w tabeli będzie 500 i zajmować bedą średnio po 100 znaków to przepisanie
    całej zawartości do tablicy w php i odwolywanie się do niej przez
    tablica['klucz'] bedzie szybsze niz zapytanie do tabeli w mysql z
    prawidłowo zrobionym indeksem.

    strona została zrobiona kilka lat temu. Jej całkowite przerobienie na
    coś innego jak sugeruje Krszysztof we wcześniejszym poście póki co w grę
    nie wchodzi. Chciałbym tylko dodać kilka języków przy stosunkowo niskim
    nakładzie pracy i co najważniejsze: by linki w wersji PL pozostały
    niezmienione (wiem, że istnieje 301, ale i tak mam pewne obawy co do
    braku wpływu na pozycjonowanie google). Bedzie musiało zatem pozostać:
    domena.pl dla wersji polskiej i domena.pl/en w wersji angielskiej

    --
    pozdrawiam!

    http://webtrunki.pl - piwa, wina, wódki, domowe wyroby
    ZAPRASZAMY!!

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: