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 » PHP » Программирование на PHP » Как правильно реализовать языки сайте

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

1. Соц Сеть - 10 Августа, 2012 - 12:17:15 - перейти к сообщению
здравствуйте подскажите как правильно реализовать языки сайта
например есть кантент
CODE (html):
скопировать код в буфер обмена
  1. <table>
  2. <tr>
  3. <td>фильмы</td>
  4. <td>Новые фильмы</td>
  5. <td>Старые фильмы</td>
  6. </tr>
  7. <tr>
  8. <td>Песьни</td>
  9. <td>Новые Песни </td>
  10. <td>Старые Песни </td>
  11. </tr>
  12. <tr>
  13. <td>Видео</td>
  14. <td>Новые Видео</td>
  15. <td>Старые Видео</td>
  16. </tr>
  17. <tr>
  18. <td>Фото</td>
  19. <td>Новые Фотки</td>
  20. <td>Старые Фотки</td>
  21. </tr>
  22. </table>

и так для каждого <tr> может быть 10-20 описание, и пользователь нажимает на eng для Английского языка, и вот вес этот текст должен меняться, как мне это реализовать ?
для каждого языка создать свой файл и написать там, или все эти слова написать в массив таким образом:
PHP:
скопировать код в буфер обмена
  1. [leng.php]
  2. $film_leng=array("ru"=>array("film"=>"Фильмы",
  3.                         "new_film"=>"Новые фильмы",
  4.                         "old_film"=>"Старые фильмы",
  5.                         "music"=>"Песни",
  6.                         "new_music"=>"Новые Песни",
  7.                         "old_music"=>"Старые Песни",
  8.                         "video"=>"Видео",
  9.                         "new_video"=>"Новые Видео",
  10.                         "old_video"=>"Старые Видео",
  11.                         "photo"=>"Фото",
  12.                         "new_photo"=>"Новые фотки",
  13.                         "old_photo"=>"Старые Фотки",),
  14.                         "eng"=>array(и тот самые ключи но уже значение по англиские)
  15.                                                  );

PHP:
скопировать код в буфер обмена
  1. [film_view.php]
  2. require_once("leng.php");
  3. <table>
  4. <tr>
  5. <td><?echo $film_leng[$leng]['film'];?></td>
  6. <td><?echo $film_leng[$leng]['new_film'];?></td>
  7. <td><?echo $film_leng[$leng]['old_film'];?></td>
  8. </tr>
  9. <tr>
  10. <td><?echo $film_leng[$leng]['music'];?></td>
  11. <td><?echo $film_leng[$leng]['new_music'];?></td>
  12. <td><?echo $film_leng[$leng]['old_music'];?></td>
  13. </tr>
  14. <tr>
  15. <td><?echo $film_leng[$leng]['video'];?></td>
  16. <td><?echo $film_leng[$leng]['new_video'];?></td>
  17. <td><?echo $film_leng[$leng]['old_video'];?></td>
  18. </tr>
  19. <tr>
  20. <td><?echo $film_leng[$leng]['photo'];?></td>
  21. <td><?echo $film_leng[$leng]['new_photo'];?></td>
  22. <td><?echo $film_leng[$leng]['old_photo'];?></td>
  23. </tr>
  24. </table>
2. Runet4ik - 10 Августа, 2012 - 12:27:46 - перейти к сообщению
Занеси в сессию язык, который выбрал пользователь, или в куки, если используешь и при выводе контента обходи этот массив...
3. Соц Сеть - 10 Августа, 2012 - 12:33:00 - перейти к сообщению
Runet4ik пишет:
Занеси в сессию язык, который выбрал пользователь, или в куки, если используешь и при выводе контента обходи этот массив...

здесь вопрос не про то как запись языка где то, а про то как правильно реализовать все это
4. Runet4ik - 10 Августа, 2012 - 12:54:08 - перейти к сообщению
массив:
PHP:
скопировать код в буфер обмена
  1.  
  2. $arr = array('ru'=>array('фильмы', 'старые фильмы', 'музыка'), 'en'=>array('cinema', 'old cinema', 'music'));
  3. if(isset($_SESSION['lang'])){
  4. foreach($arr as $k=>$v){
  5. if($_SESSION['lang'] == $k){
  6. foreach($v as $value){ ?>
  7. <TD><?=$value; ?></TD><?
  8. }
  9. }
  10. }
  11. }else{
  12. используем язык по умолчанию; }

 

Powered by ExBB FM 1.0 RC1