ФорумПрограммированиеPHP для идиотов → Многоязычный сайт

Многоязычный сайт

  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Фев. 6, 2008, 3:18 д.п., спустя 5 минут 19 секунд

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

    вот это и есть
    несколько шаблонов страниц (если сайт простой и их немного) - для каждого языка свои, со своим текстом.
    все умрут, а я изумруд
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Фев. 6, 2008, 3:19 д.п., спустя 42 секунды

    т.е. 2 сайта
    1 - с шаблоном с русскими картиками и т.д.
    2 - с шаблоном с англ.
    а динамический контент разный на разных языках
    все умрут, а я изумруд
  • Assessor

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz Фев. 6, 2008, 3:25 д.п., спустя 5 минут 36 секунд


    Дальше в зависимости от параметра $_GET['lang'] или $_COOKIE['lang'], если не равно пусто, то бишь задействован альтернативный язык, считываем из таблицы lang данные с условием, что language = $_GET['lang'], иначе считываем данные из основной таблицы…

    почему бы не хранить всё в одной таблице, а при отсутсвии $_GET['lang'] или $_COOKIE['lang'] просто выставлять значение по-умолчанию?


    ?? может я чего-то не понимаю… допустим есть две таблицы, news и page… то есть чтоб хранить записи о других доступных языках, нужно будет в обе таблицы вводить дополнительные поля… а если создать отдельную таблицу, то мы просто в type прописываем в одном случае news, в другом page, а потом строим запрос который извлекает из таблицы данные по нужному критерию.
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz Фев. 6, 2008, 3:53 д.п., спустя 28 минут 21 секунду

    э… ну логичнее имхо выделять отдельные таблицы под разные типы контента (таблица news, таблица page и т.д.), а язык сделать параметром записи в этих таблицах (ну т.е. да - ещё одним полем).
  • Assessor

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz Фев. 6, 2008, 4:07 д.п., спустя 14 минут 5 секунд

    ну так и в моем случае две таблицы news и page под контент… только еще добавляется таблица lang… хотя как кому удобней, дисскусия то бесмысленная, без конкретики… заходи ко мне на сайт, завтра, послезавтра (http://php-5.ru), я подготовлю класс по локализации, там и обсудим все плюся и минусы….
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz Фев. 6, 2008, 2:51 п.п., спустя 10 часов 44 минуты 21 секунду

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

    Сообщения: 52 Репутация: N Группа: Кто попало

    Spritz Фев. 7, 2008, 2:05 д.п., спустя 11 часов 14 минут 4 секунды

    А если все разделы сайта будут создаваться "с нуля" из админки (элементы главного меню и вложенные разделы и т.д.). Т.е. изначально вся навигация будет на русском языке, а потом переводиться на другие языки. Тогда не получится содать копии сайта на других языках заранее.
    А что если в одной таблице хранить текст сразу в трех вариантах (русский, англ, китайский). Т.е. например таблица для главного меню:
    menu_id|RUS|EN|CHINA
    1|Главная|Mail|Bla bla
    2|Контакты|Contacts| …
    Если какого-то перевода нет, то ссылка для перехода на другой язык не доступна.
    А потом если $_GET['lang'] == "en", то берём все ангилийские слова и т.д.
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz Фев. 7, 2008, 2:45 д.п., спустя 39 минут 25 секунд

    Ну можно и так, без проблем. Как больше нарвиться так и делай. Главное чтоб потом проблем не возникло. А то захотят для одного раздела разную структуру для разного языка и будешь сидеть переделывать или еще что поменять, заипешься сидеть писать кучу условий.
    from TRIAL with LOVE
  • Grohot

    Сообщения: 52 Репутация: N Группа: Кто попало

    Spritz Фев. 7, 2008, 3:29 д.п., спустя 43 минуты 55 секунд

    К счастью, структура будет одинакова для всех языков :)
    А то захотят для одного раздела разную структуру для разного языка и будешь сидеть переделывать или еще что поменять, заипешься сидеть писать кучу условий.

    Так то да …
  • Cos

    Сообщения: 41 Репутация: N Группа: Кто попало

    Spritz Авг. 9, 2009, 10:18 д.п., спустя 549 дней 5 часов 48 минут

    подниму тему….

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

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz Авг. 9, 2009, 10:40 д.п., спустя 22 минуты 30 секунд

    спустя 549 дней…
    В смф все прикольно хранится, там файлы с массивами в которых и хрантся прнумерованные строки )
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz Авг. 9, 2009, 10:50 д.п., спустя 9 минут 52 секунды

    rider-sx, ты наверн путаешь локализацию с интернационализацией
  • Cos

    Сообщения: 41 Репутация: N Группа: Кто попало

    Spritz Авг. 9, 2009, 2:19 п.п., спустя 3 часа 29 минут 8 секунд


    подниму тему….

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


    если у меня будет один файл index.php и он будет подгружать контент на какомто определённом языке в зависимости от куки, то вся эта поделка будет индексироваться гуглом на всех языках или только на том, что стоит по дефолту?
    всё ещё жду мнения знающих людей 8(
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz Авг. 9, 2009, 2:23 п.п., спустя 4 минуты 19 секунд

    индекс будет того что по дефолту стоит, куков на сколько я знаю гугл-бот не держит =)
    Спустя 81 сек.
    И да, кстати, поясни по подробнее что именно тебе надо, интернационализацию контента? или сделать локализации всяких статических надписей?
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz Авг. 9, 2009, 2:49 п.п., спустя 26 минут 9 секунд

    Надписи в файлах, как говорил САП, данные (контент сайта) в БД.
    Редактирование надписей не нужно позволять без специальных знаний (то есть, не позволять это юзеру). Ведь вы же не позволяете юзеру менять дизайн на сайте или же менять некоторые слова, которые есть "константы" для определенных страниц (как, например, на форуме надписи "Ответ", "Уведомлять" и т.д.).

Пожалуйста, авторизуйтесь, чтобы написать комментарий!