We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 16545
    • 358 Posts
    Например: Typo3

    Quote from: Fuzzy at Mar 02, 2009, 12:07 PM

    Кстати, кто-нибудь может привести примеры (например, в других системах управления) с удобной мультиязычностью? Можно было бы взять саму идею и попробовать портировать на MODx.
      • 28106
      • 91 Posts
      А вот послушайте такую идею (возможно несбыточную):

      А что если при нажатии на ссылки rus|eng передавать в адресную строку соответствующий параметр.
      При этом в шаблоне у нас была бы проверка, грубо говоря if param = ’en’ then [*content_en*] и тому подобное.
      Соответственно сделать при редактировании вместо одного привычного поля content несколько, таким образом можно было бы иметь одну ветку, даже один документ но контент появлялся бы на том языке, какой был бы указан в параметре.

      Пока проблемой я вижу именно процесс передачи параметра (именно безболезненной для функций get и post, частенько употребляющихся), с условиями if-then справится можно было.

      Может кто-нибудь вдохновился или же знает какие нибудь возможные пути решения?
        ----------------------------
        in ModX we trust
        • 16956
        • 88 Posts
        Как я понял, модуля мультиязычности еще не придумали?
        К примеру сайт нужно сделать на 8-ми языках (большая восьмерка, грубо говоря), то для modx таких модулей нет? и это сложно реализовать в общем и какие средства нужны для этого помимо php?
        -
        Спасибо.
          • 16545
          • 358 Posts
          "очумелые руки"

          Quote from: LEONeso at Apr 14, 2009, 10:56 AM

          ..... какие средства нужны для этого помимо php?
            • 28106
            • 91 Posts
            Уберите, пожалуйста, ваше сообщение, так как оно нарушает авторские права – если хотите обратить внимание на статью, можете поставить ссылку, а копировать чужие материалы противозаконно.

            Хорошо, извините, не хотел Вас обидеть.

            Ссылки на статьи:

            e-kao .ru/multilingual

            и

            e-kao .ru/multilingual-2
              ----------------------------
              in ModX we trust
              • 22532
              • 349 Posts
              сдается мне автор не обрадуется прочитав ваше сообщение grin
                • 785
                • 2,113 Posts
                Quote from: SpaceW at May 02, 2009, 01:11 PM

                Нашел пару статей о мультиязычности на e-kao.ru, возможно пригодится
                Уберите, пожалуйста, ваше сообщение, так как оно нарушает авторские права – если хотите обратить внимание на статью, можете поставить ссылку, а копировать чужие материалы противозаконно.

                Quote from: p4sh0k at May 04, 2009, 06:40 AM

                сдается мне автор не обрадуется прочитав ваше сообщение grin
                Совсем не обрадовался >:(.
                  Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                  Статьи о MODx, регулярно новые публикации
                  • 21641
                  • 2 Posts
                  Я реализовывал мультиязычность через дулбирование TV и чанков (для глобальных редкоизменяемых данных).

                  Язык определяется через анализ имени 3 уровня.

                  Имя 3 уровня является окончанием к TV/чанку, соответствующего языка.


                  Например:

                  домены
                  site.com
                  eng.site.com

                  переменные TV
                  content
                  content_eng

                  Чанки
                  contact
                  contact_eng


                  TV-шки беруться так

                  $lang=$modx->runSnippet(’get_lang’);
                  $var=$modx->documentObject[$tvar.$lang];
                  if(is_array($var)) return $var[1];
                  else return $var;

                  Чанки так

                  $lang=$modx->runSnippet(’get_lang’);
                  return $modx->getChunk($chunk.$lang);


                  снипет get_lang сделан просто

                  switch ($_SERVER[’SERVER_NAME’]){

                  case "eng.site.ru":
                  case "www.eng.site.ru":
                  $lang="_eng";
                  break;

                  default:
                  $lang=null;
                  break;

                  }
                  return $lang;


                  Добавлять языки просто. Нужно добавить дубликат переменной/чанка с нужным окончание и отредактировать снипет get_lang.

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

                  Да, при такой схеме кеширование должно быть отключено. Производительность падает, но это решается кешированием SQL запросов. Это вообще необходимая вещь, потому что при росте страниц и структуры модх начинает загибаться. Кеширование я брал на этом форуме, и мне это понадобилось ещё до того как делал мультиязычность, так как сайт довольно большой.

                  Сам сайт с реализованной мультиязычностью таким способом http://kedrvetv.ru/ . Потыкайтесь. Если производительность устроит, то можете смело применять аналогичную схему.
                    • 785
                    • 2,113 Posts
                    Quote from: nl8 at Jul 07, 2009, 12:29 PM

                    Сам сайт с реализованной мультиязычностью таким способом http://kedrvetv.ru/ .
                    В общем случае страницы разных языков могут достаточно сильно различаться друг от друга. Для начала на них должны располагаться такие тэги:
                    <meta http-equiv="Content-Language" content="ru" />
                    <meta name="keywords" content="слова на выбранном языке" />
                    <meta name="description" content="описание на выбранном языке" />
                    Также заголовок, расширенный заголовок, описание и название меню удобно использовать при построении страниц. Кроме того, на сайте могут использоваться несколько параметров (TV) для задания чего-то, и придется делать очень много дополнительных параметров, работая с которыми можно запутаться. Мне кажется, создание нескольких документов значительно проще чем добавление множества параметров. Да и отключение кэширования – не слишком удачное решение.
                      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                      Статьи о MODx, регулярно новые публикации
                      • 21641
                      • 2 Posts
                      На счет технических вопросов не буду ничего возражать.

                      Но именно такое решение имеет хорошое юзабилити. Параметров - у того сайта много. Но в модх есть возможность сортировать TV как тебе надо.

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

                      Если бы у модх не было возможности сортировать TV, то такое решение было бы неудачным.

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

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

                      Кроме того. Тут нет гемора с синхронизацией категорий и страниц. Есть одно дерево, и одна страница. Не нужно ничего дополнительного придумывать, делать, чтобы добавить/удалить аналогичные категорию и страницу на другом языке. Я на этом деле собаку съел, когда на фреймворке писал CMS с поддержкой многоязычности и там нужна была автоматическая синхронизация добавления/удаления категорий и страниц.

                      Если вы не придумаете штуку для автоматической синхронизации категорий и страниц, вы просто умрете делать все ручками при частоизменяемом контенте. Например, у того сайта, который я сделал, контент очень часто меняется. Нужно добавлять, удалять товары. Создавать новые категории, потому что ассортимент постоянно растет. И никакого гемора с синхронизацией вообще нет.

                      Обращу внимания вот ещё на что, чтобы создать мультиязычность при моём варианте вам нужно будет написать как минимум 5 снипета. Код троих я привел. Ещё 2 вам будут необходимы:
                      - построения меню;
                      - переключения между языками;