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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как делать полиязычный сайт 
:(
    Опции темы
len4ixa
Дата 3.8.2009, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


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

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



Халява, но, все-таки, я этого не знаю=( Есть скрипт, где все надписи расположены прямо в пхп файлах. Нужно сделать из этого скрипта полиязычный ресурс, как я думаю, лучше сделать папку с текстовыми файлами и из этих файлов выбирать фразы взависимости от языка, а выбирать по переменной, которая для всех файлов будет одна и та же к определенным фразам. Ну в блокнотах писать типо такого "$say[1]=чему-то там". Но с грамматикой я не дружу еще лучше, подкиньте рекомендаций. Далее: языка будет два, хочу сделать языки в виде кнопок, ну хотя бы это я сделаю, канеш=) А как это прописывается, чтобы язык запомнился ресурсу и о начал читать данные c нужного блокнота? Еще есть мысль, что надо в бд приписать язык, который чел выберет нажатием кнопки. Если он залогинившийся, то приписать к данным пользователя, а если он гость, то судить по ip. А что-нибудь поинтереснее можно предложить?     

Это сообщение отредактировал(а) len4ixa - 3.8.2009, 22:54
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
fesor
Дата 3.8.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



проще всего сделать так:
Код

array(
    'The english variant' => 'Перевод текста',
);


ну и потом либо делать так: message('The english variant'); либо как-то через str_replace))
PM MAIL WWW   Вверх
rMaveric
Дата 3.8.2009, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



fesor, твое предложение не очень хорошее, т.к. в некоторых случаях одни и теже фразы 'The english variant' будут переводиться по разному.

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

Что-бы текущий выбор языка запомнился юзай кукисы. И сессии. На IP не смотри, смотри на языковые предпочтения выставленые в браузере посетителя.


--------------------
Моя благодарность не будет иметь границ. в определенных рамках конечно ;)
---
Веду IT блог
PM MAIL WWW ICQ   Вверх
mogul82
Дата 4.8.2009, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -1
Всего: -5




Сначала по ip определить откуда. И записать с куки. Ручные настройки будут пускай с большим приоритетом.
Бацать масси, использовать лучше числа или констаты.
Так же в движке заложить лучше что бы добовлят часть у URL указывающей на конкретный язык. Что бы легко можно было переключиться. И определить для поисковиков.

А поинтересней ни че нету.
PM MAIL   Вверх
MoLeX
Дата 4.8.2009, 06:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



len4ixa, 
проверяем куку (допустим lang), если её нету то смотрим на предпочтения браузера


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
len4ixa
Дата 4.8.2009, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


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

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



А как записывать в куки и читать с них? записывать вроде setcookie? Я серьезно это не понимаю=) Всмысле в виде кода. Я пока только поняла, что в файле пхп вместо слова надописать переменную, то есть конкретно $say1, а в текстовом файле прописывать, чему она равна.

Добавлено @ 07:17
Вопрос в тему вспомнила, надо еще, чтобы при заходе на сайт данные пользователя так же загружались в куки, а потом он заходил автоматически с помощью этого на сайт. Ну проще всего же так сделать?

Это сообщение отредактировал(а) len4ixa - 4.8.2009, 07:28
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
MoLeX
Дата 4.8.2009, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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





--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 4.8.2009, 07:26 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Тут смешаны в кучу три вопроса.
1. Как реализовать мультиязычность в РНР: gettext
2. Как узнать, на каком языке показывать: разумеется, никаких cookie. Только по адресу. В идеальном случае - доменом (обычно - третьего уровня ru.site.com, en.site.com, fr.site.com, но некоторые могут себе позволить и первый - site.com, site.ru, site.fr), если нет возможности - то каталогом (site.ru/, site.ru/en/, site.ru/ua/). 
3. Как определить, какой язык предлагать по умолчанию, при первом заходе на сайт. Вот только здесь применяется "автоматическое" определение, по параметрам клиента. Только не по IP, разумеется, а по Accept-language

Добавлено @ 07:28
Цитата(len4ixa @  4.8.2009,  07:04 Найти цитируемый пост)
а потом он заходил автоматически

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

Это сообщение отредактировал(а) Ипатьев - 4.8.2009, 07:29
PM MAIL   Вверх
len4ixa
Дата 4.8.2009, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


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

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



Ипатьев, так и сделаю, наверное. А в виде кода пример можешь показать как это делается?
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
MoLeX
Дата 4.8.2009, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Цитата(Ипатьев @  4.8.2009,  07:26 Найти цитируемый пост)
разумеется, никаких cookie.

почему?
 smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 4.8.2009, 07:48 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



По первому пример есть в предыдущем обсуждении.
По второму и третьему - массив $_SERVER, там все нужные переменные.

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

Добавлено через 5 минут и 27 секунд
Цитата(MoLeX @  4.8.2009,  07:44 Найти цитируемый пост)
почему?

Разве это не очевидно?
Куки - необязательная часть протокола. И многими клиентами не поддерживаются. В этом случае переключение языков будет недоступно. Случаи, конечно, разные бывают, но обычно мы хотим, чтобы все версии сайта индексировались поисковиками. А не только одна.

PM MAIL   Вверх
rMaveric
Дата 4.8.2009, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ипатьев, пусть человек учится. Есть стремление, значит поможем smile

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


--------------------
Моя благодарность не будет иметь границ. в определенных рамках конечно ;)
---
Веду IT блог
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 4.8.2009, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(rMaveric @  4.8.2009,  07:55 Найти цитируемый пост)
. Есть стремление, значит поможем

Проблема в том, что учиться лучше постепенно, по ступенькам.
Учитывая же, что на сайте нет ни авторизации, ни даже мыслей, как её сделать, то объем новых знаний рискует стать катастрофическим. Я совсем не против "учиться". Просто обучение длится годы. А я предлагаю практическое решение текущей задачи.

PM MAIL   Вверх
MoLeX
Дата 4.8.2009, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Цитата(Ипатьев @  4.8.2009,  07:48 Найти цитируемый пост)
И многими клиентами не поддерживаются. 

проблема клиента

Цитата(Ипатьев @  4.8.2009,  07:48 Найти цитируемый пост)
но обычно мы хотим, чтобы все версии сайта индексировались поисковиками.

да, об этом как то и не подумал.


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 4.8.2009, 09:02 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(MoLeX @  4.8.2009,  08:49 Найти цитируемый пост)
проблема клиента

Не, ну с таким подходом мы далеко не уедем. 
Все-таки, считается, что мы разрабатываем сайты для посетителей. 
К тому же, проблема здесь скорее архитектурная, чем практическая. Как в соседней теме - проверять правильнее, чем приводить, вне зависимости от мифической разницы в скорости.
Так и здесь: куки служат для сохранения состояния, персонализации контента. А здесь у нас нет задачи сохранять состояние. Страница на японском так и будет страницей на японском, вне зависимости от того, кто на нее смотрит. По сути ведь, одна и та же страница на двух зыках - это две разные страницы, и у них обязан быть разный адрес. 

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.

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


 




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


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

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