![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| len4ixa |
|
|||
|
Твоя лучшая фантазия ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
Халява, но, все-таки, я этого не знаю=( Есть скрипт, где все надписи расположены прямо в пхп файлах. Нужно сделать из этого скрипта полиязычный ресурс, как я думаю, лучше сделать папку с текстовыми файлами и из этих файлов выбирать фразы взависимости от языка, а выбирать по переменной, которая для всех файлов будет одна и та же к определенным фразам. Ну в блокнотах писать типо такого "$say[1]=чему-то там". Но с грамматикой я не дружу еще лучше, подкиньте рекомендаций. Далее: языка будет два, хочу сделать языки в виде кнопок, ну хотя бы это я сделаю, канеш=) А как это прописывается, чтобы язык запомнился ресурсу и о начал читать данные c нужного блокнота? Еще есть мысль, что надо в бд приписать язык, который чел выберет нажатием кнопки. Если он залогинившийся, то приписать к данным пользователя, а если он гость, то судить по ip. А что-нибудь поинтереснее можно предложить?
Это сообщение отредактировал(а) len4ixa - 3.8.2009, 22:54 --------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. |
|||
|
||||
| fesor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 16.7.2009 Где: Минск Репутация: 4 Всего: 4 |
проще всего сделать так:
ну и потом либо делать так: message('The english variant'); либо как-то через str_replace)) |
|||
|
||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: 3 Всего: 6 |
fesor, твое предложение не очень хорошее, т.к. в некоторых случаях одни и теже фразы 'The english variant' будут переводиться по разному.
Так что, len4ixa прав и лучше юзать нумерованый массив для строк, но для удобства вместо номеров использовать константы, которые будут как-то наталкивать на смысл фразы. Что-бы текущий выбор языка запомнился юзай кукисы. И сессии. На IP не смотри, смотри на языковые предпочтения выставленые в браузере посетителя. -------------------- |
|||
|
||||
| mogul82 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 282 Регистрация: 20.11.2008 Репутация: -1 Всего: -5 |
Сначала по ip определить откуда. И записать с куки. Ручные настройки будут пускай с большим приоритетом. Бацать масси, использовать лучше числа или констаты. Так же в движке заложить лучше что бы добовлят часть у URL указывающей на конкретный язык. Что бы легко можно было переключиться. И определить для поисковиков. А поинтересней ни че нету. |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
len4ixa,
проверяем куку (допустим lang), если её нету то смотрим на предпочтения браузера -------------------- Amazing |
|||
|
||||
| len4ixa |
|
|||
|
Твоя лучшая фантазия ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
А как записывать в куки и читать с них? записывать вроде setcookie? Я серьезно это не понимаю=) Всмысле в виде кода. Я пока только поняла, что в файле пхп вместо слова надописать переменную, то есть конкретно $say1, а в текстовом файле прописывать, чему она равна.
Добавлено @ 07:17 Вопрос в тему вспомнила, надо еще, чтобы при заходе на сайт данные пользователя так же загружались в куки, а потом он заходил автоматически с помощью этого на сайт. Ну проще всего же так сделать? Это сообщение отредактировал(а) len4ixa - 4.8.2009, 07:28 --------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
-------------------- Amazing |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 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 Во-первых, тут, насколько я понимаю, есть правило, чтобы в одной теме был только один вопрос. Во-вторых, насколько я помню, за последнюю неделю этот вопрос был подробно рассмотрен раза три. В отличие от вопроса мультиязычности, который был подробно рассмотрен всего только один раз. Это сообщение отредактировал(а) Ипатьев - 4.8.2009, 07:29 |
|||
|
||||
| len4ixa |
|
|||
|
Твоя лучшая фантазия ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 25.11.2008 Репутация: нет Всего: нет |
Ипатьев, так и сделаю, наверное. А в виде кода пример можешь показать как это делается?
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
-------------------- Amazing |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
По первому пример есть в предыдущем обсуждении.
По второму и третьему - массив $_SERVER, там все нужные переменные. Вообще, судя по тому, что setcookie вызывает вопросы, то я бы порекомендовал пока не заниматься такими сложными вещами, а тупо сделать две версии сайта, притом несинхронные. Поставить два движка в разные каталоги, один из которых прямо в тексте перевести. Добавлено через 5 минут и 27 секунд Разве это не очевидно? Куки - необязательная часть протокола. И многими клиентами не поддерживаются. В этом случае переключение языков будет недоступно. Случаи, конечно, разные бывают, но обычно мы хотим, чтобы все версии сайта индексировались поисковиками. А не только одна. |
|||
|
||||
| rMaveric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 18.7.2003 Репутация: 3 Всего: 6 |
Ипатьев, пусть человек учится. Есть стремление, значит поможем
А насчет куков, проверки акцепт-ленгвичей и пр., я предпочитаю приоритетный язык таки сохранять в кукисах, уже от установленного там значения редиректить на языковую версию. -------------------- |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Проблема в том, что учиться лучше постепенно, по ступенькам. Учитывая же, что на сайте нет ни авторизации, ни даже мыслей, как её сделать, то объем новых знаний рискует стать катастрофическим. Я совсем не против "учиться". Просто обучение длится годы. А я предлагаю практическое решение текущей задачи. |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
проблема клиента
да, об этом как то и не подумал. -------------------- Amazing |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Не, ну с таким подходом мы далеко не уедем. Все-таки, считается, что мы разрабатываем сайты для посетителей. К тому же, проблема здесь скорее архитектурная, чем практическая. Как в соседней теме - проверять правильнее, чем приводить, вне зависимости от мифической разницы в скорости. Так и здесь: куки служат для сохранения состояния, персонализации контента. А здесь у нас нет задачи сохранять состояние. Страница на японском так и будет страницей на японском, вне зависимости от того, кто на нее смотрит. По сути ведь, одна и та же страница на двух зыках - это две разные страницы, и у них обязан быть разный адрес. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |