Polylang

Компонент позволяет создавать мультиязычные сайты без дополнительных контекстов.

Возможности
  • Локализация полей документов Modx
  • Локализация Tv
  • Локализация полей miniShop2 (добавленных через msFieldsManager)
  • Локализация опций miniShop2
  • Изменения типа ввода данных для полей
  • Изменения порядка вывода полей в админке
  • Изменение порядка вывода языков на сайте
  • Автоматический перевод поля или группы полей локализации через google translate или yandex translate
  • Задание полей, для которых следует использовать автоматический перевод
  • Автоматическое создание локализаций для документа с автоматическим переводом полей
  • Индексация полей локализаций в mSearch2
  • Авто определение языковой версии сайта при первом его посещении
  • URL с слэшем на конце и без
Интеграция
  • msFieldsManager — Да
  • mSearch2 — Да
  • pdoTools — Да
  • msImportExport — В планах
  • msMultiCurrency — В планах
Видео-обзор


Купить
Prihod
09 июля 2020, 14:18
modx.pro
4
1 525
+24
Поблагодарить автора Отправить деньги

Комментарии: 43

Николай Савин
09 июля 2020, 14:26
+1
О! Еще один языковик. Было бы неплохо почитать об отличиях от Локализатора
    Prihod
    09 июля 2020, 14:52
    +4
    Было бы неплохо почитать об отличиях от Локализатора
    Ну если на вскидку то такие.
    1. Работа с кастомными полями miniShop2
    2. Работа с опциями miniShop2
    3. Индексация полей для mSearch2 из коробки
    4. Возможность сортировки языков при выводе
    5. Возможность скрыть часть полей или изменить для них тип ввода, например прикрутить к полю текстовый редактор
    6. Перевод текста как с помощью yandex translate так и google translate + можно реализовать свой класс с нужным сервисом перевода
    7. Можно указать какие поля следует переводить автоматически
    8. Можно сразу сделать создание и перевод локализаций для ресурса
    9. Поддержка url как со слешем на конце так и без
    10. Авто определение языковой версии сайта при первом его посещении
    11. Сниппет который создает URL для ресурса с учетом выбранной языковой версии сайта.
    12. Ну и в целом меньше лишних тело движений при настройки компонента
      Николай Савин
      09 июля 2020, 14:55
      0
      Выглядит внушительно. Спасибо за работу.
        Андрей Шевяков
        09 июля 2020, 20:18
        0
        Вот где ты был пару месяцев назад(((( Не пришлось бы изобретать кучу велосипедов… Пошел тестить на модхост.
      Sergey Korn
      09 июля 2020, 19:53
      0
      А с MIGX будет работать хотя бы в перспективе? Если да, то это бомба!
        Prihod
        09 июля 2020, 20:06
        +2
        в перспективе да
          Sergey Korn
          09 июля 2020, 20:10
          0
          Тогда жду с нетерпением и буду пользовать!
            igor
            04 апреля 2021, 10:14
            0
            еще не работает c migx?
              Prihod
              04 апреля 2021, 21:45
              0
              Лично не тестировал все моменты, но уже общался с несколькими клиентами которые юзают migx. Да и в принципе не должно быть проблем с migx так как это все те же TV, главное в из названии не использовать дефис. Ну а вообще все можно протестировать в бесплатном тарифе на modhost.pro/
          Тодор
          09 июля 2020, 20:00
          +1
          А как насчет совместимоси с mSearch2?
            Prihod
            09 июля 2020, 20:06
            +1
            совместим
            Андрей Шевяков
            09 июля 2020, 21:29
            +2
            Можно ли указывать разную цену для товара в зависимости от локализации?
              Prihod
              10 июля 2020, 00:32
              0
              Нет
                Андрей Шевяков
                10 июля 2020, 00:37
                +2
                Планируется в дальнейшем? В любом случае думаю этот функционал нужен, т.к. на примере своего сайта, мне только из за того что для ru цены в рублях, а для en цены в $, и не привязанные к курсу, пришлось собирать сайт на контекстах, а это не сильно удобно. Готов помочь со спонсированием по такому функционалу.
                  Николай Савин
                  10 июля 2020, 09:47
                  0
                  Что мешало создать дополнительное поле price_usd и в зависимости от назначенного cultureKey использовать необходимую цену?
                    Андрей Шевяков
                    10 июля 2020, 11:47
                    0
                    Пробовал пойти по такому пути, не завелся mFilter с такими ценами и сложности с опциями товаров в Локализаторе были опять же в mFilter. Долго крутил, в итоге переделал все с помощью Babel.
                      Prihod
                      10 июля 2020, 12:16
                      0
                      Я думаю то как потом с ним работать в корзине и при оформлении заказа не говоря уже об других дополнениях которые как то модифицируют цену. Именно поэтому на данный момент такой возможности и нет даже в msMultiCurrency но в планах такое реализовать есть но для этого нужно будет сделать пару изменений в самом minishop2
                SEQUEL.ONE
                09 июля 2020, 23:44
                0
                Без контекстов это конечно хорошо, но вот если на сайте через контексты разные сайты работают, то как тогда быть?
                  Prihod
                  10 июля 2020, 00:31
                  0
                  Ну в принципе всё должно работать
                  Viktor
                  13 июля 2020, 12:30
                  0
                  Охуе**о!
                    Юрий
                    28 ноября 2020, 21:24
                    0
                    Добрый день!
                    Подскажите пожалуйста какова схема работы с данными при импорте различных языковых версий. Например при работе с Babel создаются дубликаты ресурсов в соответствующих контекстах и организовываются связи между ними. А в случае с Polylang какова схема в этом случае? На что ориентироваться?
                      Роман
                      03 декабря 2020, 12:07
                      0
                      Здравствуйте. В видео для документов html, вы убрали окончание для страниц .html? Это принципиально или сделали так чисто по привычке? На моем сайте товары с расширением .html, не будет ли проблем в работе с вашим дополнением?

                      Спасибо.
                        Prihod
                        03 декабря 2020, 12:20
                        0
                        Чисто по привычке, с html проблем не будет
                          Роман
                          03 декабря 2020, 12:31
                          0
                          И если у меня есть опыт работы с БД через HeidiSQL, я смогу через него и csv сделать быстрый перевод всех товаров и категорий? Коль msImportExport пока в планах.
                            Prihod
                            03 декабря 2020, 12:39
                            0
                            Ну теоретически можешь. Поставь его на бесплатном тестовом тарифе modhost.pro/ и проверь )
                              Роман
                              03 декабря 2020, 14:33
                              0
                              Поставил, покопался, все возможно, основная сложность это свести ID контента и ID локализации. Можно как-то одним кликом создать для всех контентов (категории, страницы, товары) на сайте локализации ru и заполнить содержимым, которым уже заполнены? На сайте около 7к документов, у товара есть опции и ТВ поля, у категорий ТВ поля.

                              Идея какая: сайт в зоне com.ua и делать com.ua/ua не хочется. Сейчас сайт на русском языке, создать локализацию ru с нынешним содержимым (скопировать), а потом нынешнюю версию сайта которая выводиться на domen.com.ua — перевести на укр язык и сделать локализацию UA основной для сайта.

                              Реально ?)
                                Prihod
                                03 декабря 2020, 19:18
                                0
                                ну это нужно писать свой скрипт из коробки такой возможности нет
                                  Роман
                                  03 декабря 2020, 21:47
                                  0
                                  Вы про «одним кликом создать локализации»?
                                    Prihod
                                    03 декабря 2020, 21:49
                                    0
                                    ну да, вопрос же про это был
                        Андрей Рябченко
                        01 февраля 2021, 14:58
                        0
                        Добрый день
                        подскажите, есть у компонента возможность массового заполнения полей?
                        через msPe или отдельным скриптом?
                          Кирилл
                          18 февраля 2021, 05:24
                          0
                          Не в ту ветку обратился, *del*
                          Кирилл
                          18 февраля 2021, 05:25
                          0
                          Доброго времени суток! Насколько я понял по ветке выше, у модуля нет возможности запустить перевод всего сайта автоматически? Соответственно после всех предварительных настроек. В том же бесплатном локализаторе такой функционал есть.

                          Просто, допустим, если сайт на 1к ресурсов, то нужно будет в каждый заходить и прокликивать кнопку на перевод? По моему это было бы очень затратно по времени. Или, допустим, прокликал я 1к раз, переводя на 2 языка, а тут на следующий день надо третий язык добавить. Тогда снова ручной переобход 1к ресов?

                          Вы писали в ветке выше что надо писать скрипт. Не подскажете, например, через тот же модуль консоли, как бы выглядел запрос на авто-перевод всех недостающих полей в абстрактном ресурсе *ID*?
                            Андрей Рябченко
                            18 февраля 2021, 10:27
                            0
                            у меня больше 10к ресурсов
                            прокликал руками основные категории и разделы, остальное нереально.
                            по поводу наличия скрипта массового перевода автор молчит
                              Кирилл
                              18 февраля 2021, 11:54
                              0
                              А через поддержку не пробовали обращаться? Я интересуюсь заранее т.к у меня может быть заказ, где он используется, но я бы туда точно тоже написал, чтобы уточнить т.к важный момент.
                                Андрей Рябченко
                                18 февраля 2021, 12:03
                                0
                                ну вот сейчас сходил, спросил )
                                а разница… автор и там и тут видит-же тред по своему компоненту
                                больше функционал — всяко лучше
                              Prihod
                              18 февраля 2021, 12:29
                              +3
                              Сегодня будет сборка с таким скриптом
                                Prihod
                                18 февраля 2021, 14:22
                                +2
                                Новая версия 1.0.10-pl уже доступна prnt.sc/zyy7wr
                                  Кирилл
                                  18 февраля 2021, 15:01
                                  +1
                                  Спасибо! Думаю этого многим не хватало для полного счастья) Отличный компонент!
                              Sergey (Sentinel)
                              27 февраля 2021, 14:29
                              0
                              А вот такая конструкция не будет работать для компонента?
                              {11 | resource : 'longtitle'}
                                Prihod
                                27 февраля 2021, 20:13
                                +1
                                используй pdoField
                                  Sergey (Sentinel)
                                  28 февраля 2021, 12:53
                                  0
                                  Спасибо, а если на странице 10 заголовков нужно вывести в разных местах?
                                  На сколько критично по скорости выводить 10 вызовов pdoField?
                                Sergey (Sentinel)
                                28 февраля 2021, 16:46
                                0
                                Кстати, тестировал вывод TV в шаблоне при реализации своего источника файлов к примеру по пути assets/img
                                Получается на другом языке путь не подставляется для такого вызова
                                {set $reviewsImg = 'pdoField' | snippet : ['id' => 18,'field' => 'img']}
                                <img class="lazy" src="{$reviewsImg | Polylang2BaseUrl | pthumb : "w=780&h=752&zc=1&far=1&bg=ffffff&q=75"}" >
                                т.е. для другого языка изображение в TV не найдено, т.к. отсутствует assets/img
                                  Sergey (Sentinel)
                                  28 февраля 2021, 17:14
                                  0
                                  приходится велосипедить
                                  {if $_modx->config.cultureKey == 'en'}
                                  {set $uriLang = '/assets/img/'}
                                  {/if}
                                  {set $reviewsImg = $uriLang ~ 'pdoField' | snippet : ['id' => 18,'field' => 'img']}
                                  но это конечно жесть…
                                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                  43