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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вариант сайта на другом языке 
:(
    Опции темы
Varlenka
Дата 1.3.2004, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здравствуйте!

А подскажите, пожалуйста, каким наиболее быстрым и безболезненным методом можно сделать вариант сайта еще на другом языке? В смысле на английском, например.

Я поставила 2 ссылки: рус и анг.
И каждый раз, перед тем, как вывести текст, проверяю соответствующую переменную, равна она "rus" или "eng" - такой текст и вывожу. Но это занимает много времени в смысле перекройки кода, а мне нужно все как можно быстрее.

Посоветуйте, пожалуйста, есть ли еще какие-то варианты?


Пасиба
PM   Вверх
IZ@TOP
Дата 1.3.2004, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



А как ты данные хранишь на русском/английском? Если в базе, то се просто, делаешь ?lang=ru, если ru значит приписываем к имени таблиц которых данные ...$lang."_mysite... и то же с конфигоами и меню...


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Vaulter
Дата 1.3.2004, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Varlenka
все строки запихать в константы и в файлы lang_ru.php и lang_eng.php

инклудишь соотвествующий файл - константы определяются нужными строками.
в коде вставляешь константы...



--------------------
PM MAIL WWW ICQ   Вверх
Varlenka
Дата 1.3.2004, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Iz @ 1.3.2004, 00:08)
А как ты данные хранишь на русском/английском? Если в базе, то се просто, делаешь ?lang=ru, если ru значит приписываем к имени таблиц которых данные ...$lang."_mysite... и то же с конфигоами и меню...

withstupid.gif

Iz@top, ничего не поняла biggrin.gif
Можно поконкретнее?


Спасибо
PM   Вверх
Varlenka
Дата 1.3.2004, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Vaulter @ 1.3.2004, 00:08)
Varlenka
все строки запихать в константы и в файлы lang_ru.php и lang_eng.php

инклудишь соотвествующий файл - константы определяются нужными строками.
в коде вставляешь константы...

То есть проверяю ?($lang="eng") и включаю lang_ru.php, а иначе включаю другой файл?


Или сделать кучу констант, которые различаются типо $a_eng и $a_rus?
PM   Вверх
IZ@TOP
Дата 1.3.2004, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Цитата
То есть проверяю ?($lang="eng") и включаю lang_ru.php, а иначе включаю другой файл?
Какая проницательная smile.gif

А я по поводу базы данных, где все тексты храниться будут? Или все будет из двух - трех файлов?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Sardar
Дата 1.3.2004, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата
Или сделать кучу констант, которые различаются типо $a_eng и $a_rus?

Нет. Старый проверенный способ: передаешь со страницей параметр ?lang=...
Далее код:
Код
switch($_GET['lang']) { //switch что бы безопасно было
case "ru": include($lang_dir."lang_ru.php");
case "en": include($lang_dir."lang_en.php");
default: include($lang_dir."lang_en.php");
}

В файле lang_(..).php содежитсяассоциативный массив:
Код
$lang['welcome']="Добро пожаловать";
$lang['back']="Назад";
...

После этого используешь везде по коду $lang['name'].


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
IZ@TOP
Дата 1.3.2004, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Sardar, во, во ... это мы и имели ввиду wink.gif


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Varlenka
Дата 1.3.2004, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Круто, блин!

Спасибо всем за советы!!!


smile.gif
PM   Вверх
Varlenka
Дата 1.3.2004, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Iz @ 1.3.2004, 00:31)
Цитата
То есть проверяю ?($lang="eng") и включаю lang_ru.php, а иначе включаю другой файл?
Какая проницательная smile.gif

А я по поводу базы данных, где все тексты храниться будут? Или все будет из двух - трех файлов?

А тексты не будут в базе данных храниться thumbs-up.gif
PM   Вверх
Varlenka
Дата 1.3.2004, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Sardar @ 1.3.2004, 00:33)
Цитата
Старый проверенный способ: передаешь со страницей параметр ?lang=...




Возникли проблемы.
Что значит передавать с страницей параметр? С сессией?
PM   Вверх
Sardar
Дата 1.3.2004, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Передаешь аргумент к странице методом GET - _http://www.my.site?argument=znachenie[&argument2=znachenie|&argument_bez_znachenija_te_true]

В коде используешь через $_GET['argument'].

Вообщето это азы...


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Varlenka
Дата 1.3.2004, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Sardar @ 1.3.2004, 19:13)
Передаешь аргумент к странице методом GET - _http://www.my.site?argument=znachenie[&argument2=znachenie|&argument_bez_znachenija_te_true]

В коде используешь через $_GET['argument'].

Вообщето это азы...

Нее, ну а если мне надо поменять язык уже на первой странице.
PM   Вверх
Guest
Дата 1.3.2004, 20:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Неплохо бы определить язык пользователя:
Код

$tmp=$_SERVER['HTTP_ACCEPT_LANGUAGE'];
$tmppos=strpos($tmp,';');
$ulang=explode(',',substr($tmp,0,(($tmppos>0)? $tmppos: strlen($tmp))); //языки в ISO639 (ru,en,fr...)


  Вверх
Sardar
Дата 1.3.2004, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Я так и не понял почему я сам посебе "отлогиниваюсь" - достает меня этот баг форума bored.gif .
Предидущий пост мой.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0901 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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