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  « < 7 8 9  
Reply to this topicStart new topic
> Wielojęzykowość, Czekam na Wasze propozycje
dreaken
post 14.08.2011, 10:19:53
Post #161





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 3.12.2009

Ostrzeżenie: (0%)
-----


Do maili najlepiej zrobić sobie specjalny systemik który będzie obsługiwał do nich szablony, a w szablonie maila użyć systemu językowego to nie problem.
Go to the top of the page
+Quote Post
dstp
post 26.01.2012, 12:23:41
Post #162





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 28.07.2011

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


przekopałem cały temat, ale nie znalazłem odpowiedzi na swoje pytanie.. piszę prosty sklep internetowy i stanąłem przy wrzucania produktów z panelu administracyjnego. Mam kilka języków w sklepie i chciałbym, żeby do każdego produktu można było dodać opis i cenę w innym języku. Myślałem, żeby dodać kolumnę do tabeli "LANG", coś takiego:

id | cat | name | desc | price | LANG

i przy dodawaniu produktu wrzucać tyle rekordów ile jest języków, tylko w ostatniej kolumnie zmieniać LANG

chyba, że znacie jakieś lepsze rozwiązanie
Go to the top of the page
+Quote Post
Adi32
post 15.06.2012, 10:58:36
Post #163





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Witajcie.

Przekopałem się przez temat i kilka razy padła odpowiedź na moje pytanie ale może jednak coś się zmieniło gdyż temat dawno zamarł.

Stworzyłem w miarę uniwersalny sklep w którym admin (owner) ma możliwość dodawania dowolnej ilości języków, treści stałych jak i opisów produktów, newsów itp i jest to rozwiązane wydaje mi się w najlepszy możliwy sposób.

Ogólne teksty na stronie:

Tabela jezyk = id | nazwa | skrot
Tabela fraza = id_jezyk | fraza // id jezyk 0 to opis frazy w języku polskim

Dla produktów, kategorii i newsów jest

Tabela produkt id,nazwa i inne | id_jezyk

Użytkownik ma domyślny język w sesji.
Tabele związane z językiem są cachowane więc baza nie jęczy.

Dzięki temu wszystko dzieje się szybko. Admin ma możliwość zmieniać tłumaczenia przez CMS dla każdego języka i frazy.
Jeżeli chodzi o produkty to rozwiązania są 2:
1 - dla innego języka inny produkt
2 - produkt ten sam ale opis, nazwa, cena (waluta, vat) z tabeli łączonej

ale to już zależy od klienta, mam zrobione 2 opcje łatwo przełączalne.

Co o tym myślicie?


--------------------
Wolałem języki z rodziny C ale poszedłem na łatwizne...
Go to the top of the page
+Quote Post
erix
post 25.07.2012, 08:46:27
Post #164





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A jak rozwiązujesz tłumaczenie treści z bazy? Tzn. produkty i opisy w innych językach.

Bo cache cachem, ale nieskończonej pojemności też nie ma.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Regz
post 22.10.2015, 07:44:08
Post #165





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 16.10.2015

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


Ostatnio napisałem na szybkości coś takiego co do samego wyboru języka, może komuś się przyda wink.gif

  1. $langs_array = ['pl', 'en', 'fr'];
  2. $default_lang = 'pl';
  3.  
  4. if(isset($_SESSION['SESSION_LANG'])):
  5. if(!in_array($_SESSION['SESSION_LANG'], $langs_array)):
  6. $_SESSION['SESSION_LANG'] = $default_lang;
  7. endif;
  8. else:
  9. $input = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']);
  10.  
  11. $pattern = '/;q=([0-1]{0,1}.\d{0,4})/i';
  12.  
  13. $user_languages = [];
  14.  
  15. foreach(explode(',', $input) as $lang):
  16. $user_languages[] = preg_replace($pattern,'',$lang);
  17. endforeach;
  18.  
  19. unset($input, $pattern, $lang);
  20.  
  21. $selected_language = '';
  22.  
  23. foreach($user_languages as $lang):
  24. if(in_array($lang, $langs_array)):
  25. $selected_language = $lang;
  26. break;
  27. endif;
  28. endforeach;
  29.  
  30. if(empty($selected_language)):
  31. $_SESSION['SESSION_LANG'] = $default_lang;
  32. else:
  33. $_SESSION['SESSION_LANG'] = $selected_language;
  34. endif;
  35.  
  36. unset($user_languages, $selected_language);
  37. endif;
  38.  
  39. $lang = filter_input(INPUT_GET, 'lang');
  40.  
  41. if(!empty($lang)):
  42. if(in_array($lang, $langs_array)):
  43. $_SESSION['SESSION_LANG'] = $lang;
  44. else:
  45. $_SESSION['SESSION_LANG'] = $default_lang;
  46. endif;
  47. endif;
  48.  
  49. include $_SESSION['SESSION_LANG'] . '/index.php';
  50.  
  51. unset($lang);
  52.  


Ten post edytował Regz 22.10.2015, 07:47:50
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.03.2024 - 12:49