Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
nitrofox
6 / 6 / 2
Регистрация: 30.05.2011
Сообщений: 37
1

Как раелизоавть многоязычность на сайте?

31.05.2011, 17:21. Просмотров 1549. Ответов 3
Метки нет (Все метки)

Как всегда началось все с маленького блога... И захотелось мне сделать в нем выбор языка.. А вот как лучше это реализовать не знаю. Может кто то подскажет?
я думаю так реализовать создать папку lang и в ней файлы типа rus.php примерно содержать они будут массив.
PHP
1
2
3
4
5
6
7
8
9
<?php
  $lang=Array();
  $lang['Back']='Назад';
  $lang['Main page']='Главная страница';
  $lang['Select a category']='Выберете категорию';
  #$lang['']='';
  #$lang['']='';
  #$lang['']='';  
?>
Подключаем к нашему index.php и в меню где должно быть "Главная страница" писать
PHP
1
echo ( $lang['Main page']);
Но у меня чувство такое что этот подход не совсем правильный.. Так как при загрузке например просто первой страницы в массиве будут сотни лишних значений например соглашение всякие регистрационные данные итд итп. Может кто то делал уже такое и в двух словах скажет как это реализовать с большей экономией ресурсов.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2011, 17:21
Ответы с готовыми решениями:

Как сделать многоязычность на сайте на js?
Добрый день, с наступившим новым годом)) Прошу подскажите, нужно сделать многозначность, не просто...

Как можно реализовать многоязычность на DLE?
Как можно реализовать многоязычность на DLE?

многоязычность
как вычислить с какой страны зашел человек и создать многоязычность? тоесть человек зашел с...

Многоязычность
Всем привет. Пишу программу и хотел бы добавить возможность переключения языка интерфейса. Как это...

многоязычность
если ктото сталкивался с многоязычностью то прошу подсказать - использую языки немецкий,...

3
hatsub
61 / 60 / 7
Регистрация: 25.05.2011
Сообщений: 388
31.05.2011, 18:18 2
Сделай так: для конкретного пользователя/гостя создается запись в db/куки в которой указывается ru/eng/... А при загрузке стр, если флаг пользователя/гостя == eng, то идет например require_once - там все переменные имеют англ. название: $lang['Main page']='Home Page'; иначе подгружается другой файл и $lang['Main page']='Главная стр';. Только учитывай, что все посты в блоге нужно в ручную переводить =)
0
nitrofox
6 / 6 / 2
Регистрация: 30.05.2011
Сообщений: 37
31.05.2011, 18:44  [ТС] 3
У меня так и реализовано..
Скрипт lang.php
проверяет есть ли значение в $_GET [lang] если есть оно проверяется на соответствие. Должно иметь не больше и не меньше 3 букв если все условия проходят проверку то в куки загоняется значения $_GET [lang] и с помощью инклуд подключается массив допустим (rus.php). В противном случаи смотрим что у нас в куках есть также проверяем данные если проверку непроходим(допустим в куках нет нечего или lang состоит больше чем 3 буквы или в нем есть какието символы) то чистим куки и опять даем им значение дефолтное (rus) и подключаем опять rus.php. Но если все же куки содержат правильное значение допустим eng. То подключаем eng.php

Но вот в чем проблема как то мне кажется это не изящный вариант. Так как в массиве хранятся сотни значений. А для генерации например формы где всего одна надпись доступ запрещен. Приходится подключать этот массив. Мне кажется что это сильно влияет на производительность. Я уверен что есть еще варианты реализации.. Кто знает?
0
hatsub
61 / 60 / 7
Регистрация: 25.05.2011
Сообщений: 388
31.05.2011, 18:49 4
Разбей массив не несколько более малых и подключай только нужные на данной странице. Более оптимального и рационального способа я не вижу.
0
31.05.2011, 18:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2011, 18:49

Многоязычность
Доброго времени суток. Пришло время когда мне необходимо сделать свою программу Windows Forms...

Плагин - многоязычность
Всем привет не подскажите плагин чтобы можно было создавать записи на многих языках, почитал в...

Android многоязычность
Допустим не сложно с помощью if задать несколько вариантов надписей на кнопке. Но как определить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru