Создал веб-сайт, страницы которого отображают информацию на русском языке. Не используются большие тексты, только короткие тексты в тегах <p>, <select>, <input>, а также сообщения в функции JavaScript alert(). Необходимо чтобы эти страницы могли отображать информацию на других языках(английский, etc.). Как поддерживается многязычие веб-сайта? Должен быть какой-то общий подход. Заранее спасибо за помощь.
Подход не может быть один, т.к. сами сайты по-разному устроены. Если для всех языков остаётся одна структура сайта, то можно в БД в таблице для контента создать доп. поля. В каждом поле будет свой вариант, а в SQL запросе нужно указывать текущий язык. Если для каждого языка свой набор страниц (а так бывает правильней, если сайт не типа каталога или справочника), своя структура, то удобней в БД создать разные таблицы с текстами для каждого языка. Если сайт без БД, на файлах, то делаются массивы с переводами. Также сайт может быть с использованием SSI или вообще на статичных страницах. Как тут может быть единый подход?
Многомерный массив в помощь, подключение файлов отстой. Если есть база, сделать разделение ru_text en_text меняя префикс *_text. А делать как тут: Ужасный подход.
Ну будет еще один include и что сайт станет сильно тормозить??? В таких файлах держать можно название кнопок label и т.д. всякая мелочь. Добавлено спустя 28 секунд: Многомерный массив? А если допустим 4 языка и много переводов.Тебе будет удобно разбираться не легче разбить на файлы? Добавлено спустя 4 секунды: Многие сайты используют такой подход, Joomla на пр. Хочешь сказать ты все в базе держишь?
ЛОЛ што? Ну если ты кроме как подключать файлы на большее не способен, а это я уже вижу, то увы не мои проблемы. Ну и разбирай и тони в своих файлах. А я лучше разбиру многомерный массив.
Your, ну давай сравни плюсы и минусы решения на одномерках в файлах против своего решения на многомерках все равно где. а то ты сам лолшто когда у тебя начинаются необоснованные выпады.
Your, ну судя по отсутствию перечисления плюсов и пинусов и тупым двум строчкам все же ты признаешь что этот выпад был необоснованным.
igordata не закрывай тему дай пообщаться, я чувствую прилив энергии))) Добавлено спустя 34 секунды: Добавлено спустя 9 секунд: Я вообщем то ждал такого ответа, ты меня не разочаровал)) И так чем конкретно разделение на файлы тебя не устраивает, это повышает удобство работы. Добавлено спустя 6 секунд: Считаешь разработчиков Joomla и остальных ЛОЛАМИ?
что за детский сад-то? я тебя не оскорблял и не посылал. просто в последнее время ты часто влезаешь в темы с каким-то тупняком. тупняк ты этот не обосновываешь зато на ура оскорбляешь участников конференции. вот тебе отдельно взятый примет. обсуждение подхода к мультилангу. ты вроде как пришел и сказал 1) многомерный массив, 2) подключение отстой, 3) по ссылке ужасный подход, 4) оскорбил участника smitt, 5) оскорбил участника smitt, 6) опять сказал про многомерный массив. когда участник Ganzal попросил тебя обосновать не то что ты ходишь налево и направо оскорбляешь участников а именно высказывания про многомерный массив против подключения файлов ты позволил себе оскорбить участника Ganzal. когда участник Ganzal обозначил что все твои слова не подкреплены мнением ты позволил себе послать участника Ganzal на хyй. схожу, не ссы. магнитиков принести? ты мне давай руби правду-матку. в чем плюс многомеров, в чем минус подключаемых файлов. мне абсолютно насрать что я это спрашиваю у человека которого не воспитали родители. мне насрать что ты напрягаешься на попытки оскорбить. человек оскорбляется настолько насколько он сам хочет быть оскорбленным. а я не хочу быть оскорбленным, я хочу знать твое мнение про многомерки и подключения. не можешь обосновать? может быть тогда не стоит писать необоснованную чушь? я уж не говорю что если единственным смыслом сообщения является оскорбление участников (что запрещено легалкой которую ты принял при регистрации) то лучше просто промолчать - за умного сойдешь.
Ganzal респект тебе рассмешил. Больше недели сижу на другом форуме, никак не могу расшевелить народ, скукота одним словом.
smitt да тут даже стараться не надо - парняга сам слишком сильно напрягается. просто тема-то достаточно простая. вот взять олимпус (пхпбб30). мультиланг минимум одним файлом - инглиш. остальное от локализации зависит. то есть разраб следит за наличием нужного определения в инглише. если оно есть то все будет работать. за локаль уже отвечает группа перевода. если они пропустят определение то ничего не упадет - локаль просто НЕ переобъявит значение установленное словарем инглиша. охрененное гибкое и быстрое решение. и тут приходит ёр и начинает всех куями крыть, а про что сам говорит - объяснить не может. может его джей покусал? )))
Joomla-это убогое говнище. Говнокодеры. Как и ты. Да мне плевать, что ты тут за поэмы тележишь. Я даже не читаю их. Мне грубо говоря до п и з д ы, что у вас тут за конференция. Меня-это не касается. Если вы не врубаетесь чем отличается кучи файлов от массива, то я не собираюсь тут объяснять. Чем хорошо? А тем, что не нужно постоянно открывать файлы и подключать их. Написать один класс для работы с массивом $lang и радоваться, всего то class::set и class::get. Если вы не понимаете, что такое сеттеры и геттеры, почитайте в google.ru он знает. А то, что вы будете д р о ч и т ь с я в ручную с правкой скрипт-кодов в файлах и создавать каждый раз новый файл в папке lang и опять каждый раз создавать в нем переменную $lang с текстами и опять каждый раз подключать его на сайт. Если вы не придумали ничего гибче и лучше, компактнее, удобнее и приятнее в работе, пользуйтесь тем, что есть. Мне вообще плевать, чем вы там пользуетесь.
вот сразу бы так. только опять мутновато вышло и с оттенком оскорблений. пример кода приведи, расскажи подробнее про свой подход, докажи что он лучше чем другие и чем именно. а то получается мы говорим "помидор красный" а ты нам "у трактора дверь вооот таааак открывается"
А ты я вижу крут, слабо написать это на форуме Joomla свое мнение)) Давай показывай код эксперт))) все еще не равнодушен к global?
Если массив с переводами получается большой, то имхо лучше подключать. Ведь не сложно сделать в админке несколько текстовых полей для языков. Например, создаешь/выбираешь_из_списка константу, текстовые поля заполняются. Подключаемые языковые файлы загружать/сохранять автоматически. И не надо править файлы вручную Кстати, товарищу Ganzal я бы выдал знак почёта за самоотверженный труд на форуме php.ru.
Джумле много лет. Там куча вещей, которые проще оставить как есть, чем переписать. К тому же там нет таких задач, как чистота кода. Писали с миру по нитке. У тебя таких сложностей нет, и ты можешь сразу писать чисто и хорошо. акселератор решает вопрос с подключением файлов.
Из базы грузить или из файла разницы большой нет. В итоге всё равно будет массив. Удивительно, что никто до сих пор не упомянул слово gettext. Если не знаешь этого, то ты просто не в теме, IMHO.