За последние 24 часа нас посетили 17917 программистов и 1686 роботов. Сейчас ищут 1834 программиста ...

Создание многоязычного веб-сайта

Тема в разделе "PHP для новичков", создана пользователем VicChug, 2 май 2013.

  1. VicChug

    VicChug Активный пользователь

    С нами с:
    1 июн 2009
    Сообщения:
    5
    Симпатии:
    0
    Создал веб-сайт, страницы которого отображают информацию на русском языке. Не используются большие тексты, только короткие тексты в тегах <p>, <select>, <input>, а также сообщения в функции JavaScript alert(). Необходимо чтобы эти страницы могли отображать информацию на других языках(английский, etc.). Как поддерживается многязычие веб-сайта? Должен быть какой-то общий подход. Заранее спасибо за помощь.
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
  3. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Подход не может быть один, т.к. сами сайты по-разному устроены.
    Если для всех языков остаётся одна структура сайта, то можно в БД в таблице для контента создать доп. поля. В каждом поле будет свой вариант, а в SQL запросе нужно указывать текущий язык.
    Если для каждого языка свой набор страниц (а так бывает правильней, если сайт не типа каталога или справочника), своя структура, то удобней в БД создать разные таблицы с текстами для каждого языка.
    Если сайт без БД, на файлах, то делаются массивы с переводами. Также сайт может быть с использованием SSI или вообще на статичных страницах. Как тут может быть единый подход?
     
  4. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Многомерный массив в помощь, подключение файлов отстой.
    Если есть база, сделать разделение ru_text en_text меняя префикс *_text.
    А делать как тут:
    Ужасный подход.
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    там написано что если кто-то не хочет использовать БД то данная статья поможет
     
  6. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ну будет еще один include и что сайт станет сильно тормозить???
    В таких файлах держать можно название кнопок label и т.д. всякая мелочь.

    Добавлено спустя 28 секунд:
    Многомерный массив? А если допустим 4 языка и много переводов.Тебе будет удобно разбираться не легче разбить на файлы?

    Добавлено спустя 4 секунды:
    Многие сайты используют такой подход, Joomla на пр.
    Хочешь сказать ты все в базе держишь?
     
  7. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    ЛОЛ што?
    Ну если ты кроме как подключать файлы на большее не способен, а это я уже вижу, то увы не мои проблемы.
    Ну и разбирай и тони в своих файлах. А я лучше разбиру многомерный массив.
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Your, ну давай сравни плюсы и минусы решения на одномерках в файлах против своего решения на многомерках все равно где. а то ты сам лолшто когда у тебя начинаются необоснованные выпады.
     
  9. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    $lang['ru']=array();
    $lang['en']=array();


    сравнивай... иди...
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Your, ну судя по отсутствию перечисления плюсов и пинусов и тупым двум строчкам все же ты признаешь что этот выпад был необоснованным.
     
  11. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Иди на х у й. Обосновано, мной лично.
     
  12. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    igordata не закрывай тему дай пообщаться, я чувствую прилив энергии)))

    Добавлено спустя 34 секунды:
    Добавлено спустя 9 секунд:
    Я вообщем то ждал такого ответа, ты меня не разочаровал))
    И так чем конкретно разделение на файлы тебя не устраивает, это повышает удобство работы.

    Добавлено спустя 6 секунд:
    Считаешь разработчиков Joomla и остальных ЛОЛАМИ?
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    что за детский сад-то? я тебя не оскорблял и не посылал. просто в последнее время ты часто влезаешь в темы с каким-то тупняком. тупняк ты этот не обосновываешь зато на ура оскорбляешь участников конференции. вот тебе отдельно взятый примет. обсуждение подхода к мультилангу. ты вроде как пришел и сказал 1) многомерный массив, 2) подключение отстой, 3) по ссылке ужасный подход, 4) оскорбил участника smitt, 5) оскорбил участника smitt, 6) опять сказал про многомерный массив.
    когда участник Ganzal попросил тебя обосновать не то что ты ходишь налево и направо оскорбляешь участников а именно высказывания про многомерный массив против подключения файлов ты позволил себе оскорбить участника Ganzal. когда участник Ganzal обозначил что все твои слова не подкреплены мнением ты позволил себе послать участника Ganzal на хyй. схожу, не ссы. магнитиков принести?
    ты мне давай руби правду-матку. в чем плюс многомеров, в чем минус подключаемых файлов. мне абсолютно насрать что я это спрашиваю у человека которого не воспитали родители. мне насрать что ты напрягаешься на попытки оскорбить. человек оскорбляется настолько насколько он сам хочет быть оскорбленным. а я не хочу быть оскорбленным, я хочу знать твое мнение про многомерки и подключения. не можешь обосновать? может быть тогда не стоит писать необоснованную чушь? я уж не говорю что если единственным смыслом сообщения является оскорбление участников (что запрещено легалкой которую ты принял при регистрации) то лучше просто промолчать - за умного сойдешь.
     
  14. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ganzal респект тебе рассмешил.
    Больше недели сижу на другом форуме, никак не могу расшевелить народ, скукота одним словом.
     
  15. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    smitt да тут даже стараться не надо - парняга сам слишком сильно напрягается. просто тема-то достаточно простая. вот взять олимпус (пхпбб30). мультиланг минимум одним файлом - инглиш. остальное от локализации зависит. то есть разраб следит за наличием нужного определения в инглише. если оно есть то все будет работать. за локаль уже отвечает группа перевода. если они пропустят определение то ничего не упадет - локаль просто НЕ переобъявит значение установленное словарем инглиша. охрененное гибкое и быстрое решение. и тут приходит ёр и начинает всех куями крыть, а про что сам говорит - объяснить не может. может его джей покусал? )))
     
  16. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Joomla-это убогое говнище. Говнокодеры. Как и ты.

    Да мне плевать, что ты тут за поэмы тележишь.
    Я даже не читаю их.

    Мне грубо говоря до п и з д ы, что у вас тут за конференция. Меня-это не касается.

    Если вы не врубаетесь чем отличается кучи файлов от массива, то я не собираюсь тут объяснять.
    Чем хорошо? А тем, что не нужно постоянно открывать файлы и подключать их.
    Написать один класс для работы с массивом $lang и радоваться, всего то class::set и class::get.

    Если вы не понимаете, что такое сеттеры и геттеры, почитайте в google.ru он знает.
    А то, что вы будете д р о ч и т ь с я в ручную с правкой скрипт-кодов в файлах и создавать каждый раз новый файл в папке lang и опять каждый раз создавать в нем переменную $lang с текстами и опять каждый раз подключать его на сайт. Если вы не придумали ничего гибче и лучше, компактнее, удобнее и приятнее в работе, пользуйтесь тем, что есть. Мне вообще плевать, чем вы там пользуетесь.
     
  17. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    вот сразу бы так. только опять мутновато вышло и с оттенком оскорблений. пример кода приведи, расскажи подробнее про свой подход, докажи что он лучше чем другие и чем именно. а то получается мы говорим "помидор красный" а ты нам "у трактора дверь вооот таааак открывается"
     
  18. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    А ты я вижу крут, слабо написать это на форуме Joomla свое мнение))

    Давай показывай код эксперт))) все еще не равнодушен к global?
     
  19. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Если массив с переводами получается большой, то имхо лучше подключать.
    Ведь не сложно сделать в админке несколько текстовых полей для языков. Например, создаешь/выбираешь_из_списка константу, текстовые поля заполняются. Подключаемые языковые файлы загружать/сохранять автоматически. И не надо править файлы вручную :)

    Кстати, товарищу Ganzal я бы выдал знак почёта за самоотверженный труд на форуме php.ru.
     
  20. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Джумле много лет. Там куча вещей, которые проще оставить как есть, чем переписать. К тому же там нет таких задач, как чистота кода. Писали с миру по нитке.

    У тебя таких сложностей нет, и ты можешь сразу писать чисто и хорошо.

    акселератор решает вопрос с подключением файлов.
     
  21. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Это верно не спорю.
    А в друпале как лучше? Ты вроде всегда его хвалил...
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    сомневаюсь.
    а вам не всё равно что там внутре? =) вроде как начали обсуждение совсем другой темы...
     
  23. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    оо а я как раз спомнил про "пропурген" пользователь такой был )))
     
  24. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Из базы грузить или из файла разницы большой нет. В итоге всё равно будет массив.

    Удивительно, что никто до сих пор не упомянул слово gettext. Если не знаешь этого, то ты просто не в теме, IMHO.
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Друпал имеет такой же принцип для переводов.