We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 16239
    • 49 Posts
    Друзья, хочу предложить такую штуку:
    Все мы страдаем  :’( от отсутствия в нашем любимом модх встроенной мультиязычности. Поскольку система опенсоурс, то дело рук утопающих - дело самих утопающих  smiley
    Я предлагаю - в этой теме подробно обсудить как в идеале должна быть реализована мультиязычность, а потом создать это решение и предложить его сообществу для реализации в 0.9.7 или 0.9.8.

    Почему русская ветка, а не английская - я искренне верю, что мозг бывших республик СССР гораздо мощнее, чем западный, а кроме того тут нам будет проще понимать друг друга.

    Со своей стороны я гарантирую поддержку своей студии, и если мы разработаем ТЗ, то дам своим кодерам для релизации.
    Что скажете?
      • 28814 ☆ A M B ☆
      • 1,086 Posts
      Хочу поддержать идею smiley Я не помню ни одного сайта, который мы бы сделали без как минимум 2-ух языков.
      Как я вижу реализацию многоязычности:
      1. В системе должна быть возможность указать, сколько языков будет использоваться на рабочем сайте, а также возможность легко добавить еще в будущем при необходимости.
      2. При добавлении нового языка автоматически должны создаваться новые контентные поля во всех документах, нечто вроде TV(например на отдельной закладке), которые дублируют основной язык полностью, т.е. начиная от title, longtitle, alias, ... и заканчивая всеми TV, которые были добавлены ранее для основного языка.
      3. Дублирование шаблонов, чанков и сниппетов крайне нежелательно (на данный момент практически невозможно обойтись без создания дополнительных шаблонов и чанков).
      4. Текущий выбранный язык пользователем должен быть доступен как глобальная переменная, которую можно использовать в сниппетах, например, для перевода системных сообщений, которые выводит сниппет.
      5. Текущий язык при включенных дружественных URLs выводится алиасом /en/..., /ru/... и т.п.
      6. Все языковые версии документов могут кешироваться.
      Это пока то, что мне пришло на ум.
        Разработка сайтов и программных модулей на MODX.
        Опыт работы на MODx с 2005 года. Высокое качество.
        Компания Baltic Design Colors: http://www.bdcolors.ru.
        • 16239
        • 49 Posts
        Quote from: Igor at Mar 15, 2008, 08:25 AM

        Хочу поддержать идею smiley Я не помню ни одного сайта, который мы бы сделали без как минимум 2-ух языков.
        Как я вижу реализацию многоязычности:
        1. В системе должна быть возможность указать, сколько языков будет использоваться на рабочем сайте, а также возможность легко добавить еще в будущем при необходимости.
        2. При добавлении нового языка автоматически должны создаваться новые контентные поля во всех документах, нечто вроде TV(например на отдельной закладке), которые дублируют основной язык полностью, т.е. начиная от title, longtitle, alias, ... и заканчивая всеми TV, которые были добавлены ранее для основного языка.
        3. Дублирование шаблонов, чанков и сниппетов крайне нежелательно (на данный момент практически невозможно обойтись без создания дополнительных шаблонов и чанков).
        4. Текущий выбранный язык пользователем должен быть доступен как глобальная переменная, которую можно использовать в сниппетах, например, для перевода системных сообщений, которые выводит сниппет.
        5. Текущий язык при включенных дружественных URLs выводится алиасом /en/..., /ru/... и т.п.
        6. Все языковые версии документов могут кешироваться.
        Это пока то, что мне пришло на ум.

        Игорь, спасибо за поддержку. Если честно, я знал что ты откликнешся одним из первых  wink
        По твоим предложениям:
        1. согласен. получается, нужно сделать так, чтобы кол-во языков определялось не при инсталляции, а уже в самой системе была опция (может в tools -> configuration?), позволяющая добавлять/удалять языки. А при инсталляции наверное нужно задавать дефолтный язык?
        2. согласен насчет закладок. мне кажется, это нужно определять как обязательное условие - чтобы весь контент редактировался из одного документа. Здесь давайте обсудим, как это будет происходить на уровне базы данных. Сейчас все поля живут в _site_content. Как быть с языками? как насчет варианта дополнять поля языковыми префиксами? в стиле ru_pagetitle, en_pagetitle?
        И кстати, список полей для дублирования:
        pagetitle
        longtitle
        description
        introtext
        content
        menutitle

        Что еще?

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

        4-5. Причем эта переменная должна использоваться в префиксах в таблице (см. п. 2) и в качестве названия дерева, и его алиаса. Во как wink

        Что скажешь?

        ПС
        Люди, подключайтесь к обсуждению!
          • 28814 ☆ A M B ☆
          • 1,086 Posts
          Quote from: koshaque at Mar 17, 2008, 03:24 AM

          Игорь, спасибо за поддержку. Если честно, я знал что ты откликнешся одним из первых wink
          По твоим предложениям:
          1. согласен. получается, нужно сделать так, чтобы кол-во языков определялось не при инсталляции, а уже в самой системе была опция (может в tools -> configuration?), позволяющая добавлять/удалять языки. А при инсталляции наверное нужно задавать дефолтный язык?
          Да, я думаю, так и должно быть.
          Администратор (разработчик) во время установки определяет, сколько ему нужно языков, а также главный язык сайта. В дальнейшем при необходимости в админ-панели добавляет еще столько языков, сколько ему потребуется.
          Quote from: koshaque at Mar 17, 2008, 03:24 AM

          2. Сейчас все поля живут в _site_content. Как быть с языками? как насчет варианта дополнять поля языковыми префиксами? в стиле ru_pagetitle, en_pagetitle?
          И кстати, список полей для дублирования:
          pagetitle
          longtitle
          description
          introtext
          content
          menutitle

          Что еще?
          Да почти все поля, т.к. может получиться ситуация, когда языковая версия документа существует, но еще не переведена и надо скрыть новый документ в меню или вообще на сайте не публиковать, или еще что-то подобное.
          Quote from: koshaque at Mar 17, 2008, 03:24 AM

          3. Вот тут есть вопросы.. с не-дублированием чанков может возникнуть проблема из-за того, что часто используется графика, которая должна быть разной в разных языковых версиях..
          Да, согласен, чанки стоит разделять по языкам, но опять же не стоит их плодить простым дублированием как это происходит сейчас. Пусть они автоматически получают языковые версии как только администратор добавил новый язык, т.е. такая же система, как с документами в дереве сайта. Опять же с шаблонами можно поступить аналогично и НЕ выводить языковые версии шаблонов в выпадающем списке для выбора нужного шаблона документа (необходимый шаблон будет наследоваться от документа главной языковой версии, а текущий язык будет выбираться автоматически уже при генерации страницы на сайте).
          Quote from: koshaque at Mar 17, 2008, 03:24 AM

          4-5. Причем эта переменная должна использоваться в префиксах в таблице (см. п. 2) и в качестве названия дерева, и его алиаса. Во как wink
          Скорее да, чем нет smiley.
            Разработка сайтов и программных модулей на MODX.
            Опыт работы на MODx с 2005 года. Высокое качество.
            Компания Baltic Design Colors: http://www.bdcolors.ru.
            • 16239
            • 49 Posts
            Вот так всегда: пару человек думает, а пользоваться все будут laugh

            Игорь, тогда давай по процедуре:
            Что происходит, когда ты в админке выбираешь "добавить новый язык"?
            1. В _site_content добавляются поля с соответствующим префиксом
            2. В чанки и шаблоны добавляются поля с префиксами?

            3...
              • 3738
              • 10 Posts
              Идею поддерживаю, но проблема в обсуждении связана с тем что просто некогда было до сих пор изучить функционирование системы в общем. Занимаюсь тем что пишу снипеты основываясь на API. Пока замечаний к способам реализации нету - все здраво. Если надо помочь будет со снипетами - всегда пожалуйста smiley) . А будут идеи или замечания - обязательно сообщу
                • 3190
                • 12 Posts
                Идея стоящая и давно уже кричащая о своем воплощении в жизнь. Вопрос как идею с добавлением новых полей в таблицу привязать потом ко всем сниппетам и ядру? т.е. чтоб изменив глобальную переменную lang получать aнглиский [*content*] или ru [*content*] или fr [*content*]
                Возможно это можно сделать если в 0.97 xPDO используется абстрагированный доступ к полям таблиц. Есть какие-нить мысли поэтому поводу?
                  • 23398
                  • 10 Posts
                  Касательно ввода данных, думаю, что лучшего чем вкладки с различными версиями языков, придумать ничего не удастся.
                  Но и тут стоит учитывать, что существуют как языко-зависимые переменные — например, описание товара (если говорить о реализации каталогов), так и языко-независимые, как артикул товара и его цена. Хотя и цена может отличаться для разных регионов, в зависимости от валюты. Но это уже мультирегиональная, а не мультиязычная проблема.
                    • 23451
                    • 232 Posts
                    Доброго дня всем,

                    Хотелось бы поинтересоваться. Какой наилучший способ сделать мультиязычный сайт (допустим простейший: меню, текст странички, гостевая) на текущей версии MODx? Так сказать какой "best practice" на текущий момент? Просто отдельные папки документов и отдельные шаблоны?
                      • 26704
                      • 115 Posts
                      Quote from: Pisto at Mar 31, 2008, 05:56 AM

                      Доброго дня всем,

                      Хотелось бы поинтересоваться. Какой наилучший способ сделать мультиязычный сайт (допустим простейший: меню, текст странички, гостевая) на текущей версии MODx? Так сказать какой "best practice" на текущий момент? Просто отдельные папки документов и отдельные шаблоны?

                      ответы на данный вопрос можно найти в этом топике http://modxcms.com/forums/index.php/topic,11071.0.html
                      Идею добавления в modx мультиязычности поддерживаю обоими руками. Голова помочь всем чем смогу.