Magnat
Guest
Мультиязычность
Всем привет
Вобщем такая вот трабла... Есть у меня табличка с ньюсами...
Есть табличка для линкования контента... т.е. табличка в которой записуются айдишники при добавлении через админку новой языковой версии какого-либо контента...
Смысл этой дополнительной таблички - при переходе на страничку, взависимости от языка, мы сразу знаем его айдишник в родной таблички (именно того языка, который нам нужен).
Вот получается такая загвоздка... Есть страничка news.php которой передаются следущий параметр ?id=NEWS_ID. При клтке на линк для перехода к другому языку, движок сайта переключает язык, и при перезагрузки страницы мы соответственно выбираем нужную запись с таблички ньюсов (всмысле языковую). Вот структура таблицы для линкования:
id | type | id_def_lang | id_trans | language
Во выборка нужного нам айдишника:
всё замечательно работает, вот только бы не запарка с языком... Поле language указует язык на который переведена запись id_def_lang в записе с айдишником id_trans.
Допустим у нас есть два языка.. Русский и английский.. Мы перевели одну новостную статью на английский, этот перевод зафиксировался в таблички линкования: 1|1|2|English
После при переходе на английскую версию с русской нормально всё, т.к. в этой табличке есть запись с данным language и id_def_lang, но вот при переходе обратно на русский, в запросе $_SESSION['lang'] меняет значение с English на Russian и поля id_def_lang не совпадает с NEWS_ID_NOW (Т.е. с просматриваемым адйдишником)...
Может стоит в табличке линковании фиксировать всевозможные изменения, т.е. добавили новую языковую версию ньюсов, после чего мы кроме того, что добавляем линк на новую версию, ещё и ставим на дефолтовую версию языка... или так награмождений много будет?
Смысл таких мохинаций - обеспечить на любой странички сайта переход на другую версию языка. Т.е. смотрим статью с ньюсов под айдишником 2 и при клике на другой язык, мы должны получить эту же статью, только уже на выбранном языке... А в табличке с ньюсами она лежит под айдишником допустим 3.
Может кто что подскажет полегче?
Бо мне что-то это не совсем нравиться 
Всем привет

Вобщем такая вот трабла... Есть у меня табличка с ньюсами...
Есть табличка для линкования контента... т.е. табличка в которой записуются айдишники при добавлении через админку новой языковой версии какого-либо контента...
Смысл этой дополнительной таблички - при переходе на страничку, взависимости от языка, мы сразу знаем его айдишник в родной таблички (именно того языка, который нам нужен).
Вот получается такая загвоздка... Есть страничка news.php которой передаются следущий параметр ?id=NEWS_ID. При клтке на линк для перехода к другому языку, движок сайта переключает язык, и при перезагрузки страницы мы соответственно выбираем нужную запись с таблички ньюсов (всмысле языковую). Вот структура таблицы для линкования:
id | type | id_def_lang | id_trans | language
Во выборка нужного нам айдишника:
PHP:
$SQL = "SELECT id_trans FROM language WHERE type='news' AND id_def_lang='".$news_id."' AND language='".$_SESSION['lang']."';";
$fetch_news_lang = $Db->fetchArray($Db->query($SQL));
Допустим у нас есть два языка.. Русский и английский.. Мы перевели одну новостную статью на английский, этот перевод зафиксировался в таблички линкования: 1|1|2|English
После при переходе на английскую версию с русской нормально всё, т.к. в этой табличке есть запись с данным language и id_def_lang, но вот при переходе обратно на русский, в запросе $_SESSION['lang'] меняет значение с English на Russian и поля id_def_lang не совпадает с NEWS_ID_NOW (Т.е. с просматриваемым адйдишником)...
Может стоит в табличке линковании фиксировать всевозможные изменения, т.е. добавили новую языковую версию ньюсов, после чего мы кроме того, что добавляем линк на новую версию, ещё и ставим на дефолтовую версию языка... или так награмождений много будет?
Смысл таких мохинаций - обеспечить на любой странички сайта переход на другую версию языка. Т.е. смотрим статью с ньюсов под айдишником 2 и при клике на другой язык, мы должны получить эту же статью, только уже на выбранном языке... А в табличке с ньюсами она лежит под айдишником допустим 3.
Может кто что подскажет полегче?
Бо мне что-то это не совсем нравиться 
