Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Смена языка, на сайте с инклюдами без бд 
V
    Опции темы
VoodariuS
Дата 8.11.2011, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 13.12.2005

Репутация: нет
Всего: нет



Здравствуйте. Скажу сразу, в PHP я нуб так что просьба не ругаться и помочь в решении моего вопроса.
а вопрос такой - хотелось бы реализовать простую смену языка на сайте из нескольких страниц получив юрл вида blablabla.com/index.php&lang=ru

на данный момент содержание php файлов такое:
include 1.html include 2.html include 3.html с шапкой, контентом и футером соответственно. а хотелось бы получить:
include en/1.html include en/2.html include en/3.html для английского и include ru/1.html ... для русского в соответствии с переменной из юрла. так же хотелось бы получать ссылку на английскую версию страницы если находишься на русской и наоборот. Плюс хотелось бы иметь разный заголовок для разных страниц сайта на разных языках. (их немного, возможно ли их записать в отдельный файл а затем выдавать в зависимости от URL?) чувствую что решение простое и все уложится в несколько строчек кода но в пхп я ноль так что просьба помочь.

Это сообщение отредактировал(а) VoodariuS - 8.11.2011, 20:34
PM MAIL   Вверх
$дмитрий
Дата 8.11.2011, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 17
Всего: 45



Цитата

а хотелось бы получить:
include en/1.html include en/2.html include en/3.html для английского и include ru/1.html

Смотри, здесь я выбираю язык из запроса:
Код

$arLang = array('ru', 'en');
$sLang = in_array($_GET['lang'], $arLang)?$_GET['lang']:$arLang[0];

А здесь я подключаю нужный языковой файл
Код

include($sLang.'/1.html');
include($sLang.'/2.html');
include($sLang.'/3.html');

Осталось лишь правильно скопировать это в файл php
PM MAIL   Вверх
VoodariuS
Дата 8.11.2011, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 13.12.2005

Репутация: нет
Всего: нет



ага, спасибо большое! smile  только вот как же определить язык по умолчанию если он не указан в переменной? хотелось бы инглиш.

и все еще открыт вопрос с <title>- с ними полный бардак. полагаю что нужен скрипт который бы выдавал тайтл в зависимости от имени запрашиваемой страницы с учетом языка но понятия не имею как это может быть реализовано

так с языком по дефолту - понял, рассмотрев скрипт ^^ но вопрос с назанием страницы открыт

Это сообщение отредактировал(а) VoodariuS - 8.11.2011, 19:12
PM MAIL   Вверх
$дмитрий
Дата 8.11.2011, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 17
Всего: 45



Цитата

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

В примере уже есть условие, а чтоб en был по умолчанию нужно:
Код

$arLang = array('en', 'ru');


Цитата

и все еще открыт вопрос с <title>

Можно так
Код

$arLang = array('ru', 'en');
$sLang = in_array($_GET['lang'], $arLang)?$_GET['lang']:$arLang[0];
$arTitle = array('en' => 'Its Title', 'ru' => 'Это заголовок');

echo '<title>'.$arTitle[$sLang].'</title>';

PM MAIL   Вверх
VoodariuS
Дата 8.11.2011, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 13.12.2005

Репутация: нет
Всего: нет



Благодарю. smile возможности нет нажать на кнопку "спасибо" - постов мало 
PM MAIL   Вверх
Lols
Дата 8.11.2011, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 21.10.2011

Репутация: нет
Всего: нет



Красивое решение для смены языка, спасибо smile скорее всего воспользуюсь тоже.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0631 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.