Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Мультиязычный сайт
Форумы портала PHP.SU » » Вопросы новичков » Мультиязычный сайт

Страниц (1): [1]
 

1. shahin - 30 Сентября, 2014 - 09:09:26 - перейти к сообщению
Создаю рервис сайт по ремонту домов на двух языках(Азербайджанский и Русский). В программировании разбираюсь слабо. Нашел устраювающий меня скрипт и перевел весь сайт. И было все хорошо пока не начал создавать страницы и статьи, ведь они же так же должны переводится, но скрит перевода работает на массивах, долго не думал, понял-нужно создавать таблицы на дву язаках, это не сложно! Страница id=1 будет с русским текстом, а страница с id=2 на азерб. языке. НО! Скрипт перевода при выборе определенного языка не трогает таблицы. Мда,уж, тут уже без помощи профи не обойтись. может как-то сделать id=1_rus или rus=1 aze=1. Прошу вашей помощи.
2. RickMan - 30 Сентября, 2014 - 09:14:26 - перейти к сообщению
А может в таблице сделать лучше title_rus, title_aze, text_rus и text_aze и не трогать id? Сайт на какой cms?
3. dcc0 - 30 Сентября, 2014 - 09:17:02 - перейти к сообщению
Можно положить тексты в разные таблицы. Кнопки выбора, по условию вытаскивать ту или иную таблицу. Можно вообще две бд создать с похожей стктурой.
4. shahin - 30 Сентября, 2014 - 10:10:28 - перейти к сообщению
У меня скрипт выполняющий первод сайта такой:
PHP:
скопировать код в буфер обмена
  1.  
  2.   $LangArray = array("Russkiy", "Azerbaycan", "ENG");
  3.     $DefaultLang = "Russkiy";
  4.     if(@$_SESSION['NowLang']) {
  5.        if(!in_array($_SESSION['NowLang'], $LangArray)) {
  6.        $_SESSION['NowLang'] = $DefaultLang;
  7.         }
  8.         }
  9.     else {$_SESSION['NowLang'] = $DefaultLang;}
  10.     $language = addslashes($_GET['language']);
  11.     if($language) {if(!in_array($language, $LangArray)) {
  12.         $_SESSION['NowLang'] = $DefaultLang;}
  13.         else {$_SESSION['NowLang'] = $language;}
  14.     }
  15.     $CurentLang = addslashes($_SESSION['NowLang']);
  16.     include_once (ROOT.'/languages/'.$CurentLang.'.php');

ссылка для выбора такая:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <a href="?language=Russkiy"></a>

как сделать чтобы при клике на ссылку Выводилось нужное поле из бд
5. RickMan - 30 Сентября, 2014 - 10:28:25 - перейти к сообщению
Ну так выберите один из удобных вамметодов хранения данных. И при выборке проверяйте, что у пользователя в $_SESSION['NowLang'] и выбирайте нужные данные.
6. shahin - 30 Сентября, 2014 - 11:07:28 - перейти к сообщению
RickMan Так сам скрипт перевода работает, мне надо чтобы с выбором скажем русского, выволильсь поля с русским текстом из бд, в данном случае выполняется перевод за счет массивов, думаю понятно обьяснил если нет пишите попробую более внятно.
7. RickMan - 30 Сентября, 2014 - 11:14:30 - перейти к сообщению
Вы понимаете, что он рабоатет только в случае с массивом? И если вы хотите чтоб он и с БД работал, то наверное его нужно переписать ну или хотябы документацию посмотреть. Или вы думаете, что если он работает для одного вида переводов то теперь работает для всех?
8. shahin - 30 Сентября, 2014 - 15:03:07 - перейти к сообщению
RickMan Нет я так не думаю, Я знаю что надо переписать это и есть основная проблема, можете помочь? Так-как я не знаю что и куда писать.
9. RickMan - 30 Сентября, 2014 - 15:19:00 - перейти к сообщению
Ну так а как вам помочь если вы ничего в этом не понимаете? Или напишите в раздел "напишите за меня" или в раздел фрилансеров или же выставьте код сюда. Подругому как вам помочь если нет кода.

 

Powered by ExBB FM 1.0 RC1