We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 36678
    • 152 Posts
    Здравейте
    За да уважа българската част от форума първо ще пусна тук идентично на съобщението което ще пусна и в английската му част. Тук нещата са идентични като работа с разликатата, че коментарите в пакете и обясненията са на български език. Без повече излишни приказки.

    Представям ви един пакет (снипет+плугин) за мултиезичност алтернатива на досегашните. Не се смятам за PHP разработчик (поне не добър), но съм се постарал работата да е възможно по-малко изисквани ресурси. Нещата са тествани и работят. За да няма недоволни трябва да сте наясно, че това е alpha или pre-alpha :-j версия. Сигурен съм, че има какво да се направи за да бъде кодът по-добър, по-бърз и т.н. Отворен съм към нови идеи и оптимизация на кода.

    Да ви представя Multylingo
    Пакета Мultylingo (снипета и плугина) позволява изграждането на пълнофункционален мултиезичен сайт без изискването да правите допълнителни темплейти, като можете да зададете персонализирани страници за грешки на всеки език. Можете да ги използвате в комбинация или поотделно според вашите нужди. Няма “противопоказания” спрямо други плугини и снипети (поне при тестовете). Тествано е на MODx 1.0.4 с PHP 5.2.4, но смятам, че ще работи безпроблемно и при по-стари версии на двете съответно MODx 0.9.6.3 и PHP 4.x.
    Ако имате въпроси, аз съм насреща. При положение, че не знам отговора се надявам и другите които наистина разбират какво правят да се намесят.

    За повече информация за използването на пакета четете файлът readme.txt

    Снипета се използва по следният начин
    [[Multylingo? &parents=`2,3,4,5,6` &default_lang=`en` &textchunk=`examle`]]

    В &default_lang се вписва двубуквеното съкращението на основният език който използвате на сайта си (намиращ се в основната папка).
    В &parents се вписват паките на съответно вторият, третият или колкото езика имате (до 6-тия). Kaтo тази последователност е добре да се спазва при въвеждането на елементите от chunk.
    В &textchunk се вписва името на чънка който служи за показване на текстове според различните езици.
    Първите 2 елемента &parents и &default_lang са задължителни, а &textchunk се използва по желание
    Важно е документите вписани като основни папки на езиковите да имат alias за &parents и да се впише основния език(&default_lang ) според съответният модел:
    http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm

    В резултат на snippet се може да извеждат следните Placeholders
    [+lang-big+] - вади езика за съответния snippet автоматично според съответният език (това къде се намира документа). Може да се ползва за Ditto, Jot и т.н.
    [+lang-ids+] - вади съответния parent според съответният език разпожението на папката. Може да се използва при AjaxSearch или други.
    [+text1+] , [+text2+] ... [+text10+] Показва съответен текст от предварително зададените в чънка (взима се от &textchunk ).

    Плугин Multylingo
    Служи за изграждане на 404 страници за различните езици.
    Този код е базиран на моят код пуснат тук: http://modxcms.com/forums/index.php/topic,46636.msg274624.html#msg274624
    Доразвит тук: http://modxcms.com/forums/index.php/topic,46636.msg274991.html#msg274991

    Трябва да маркирате в System Events:
    [X] OnPageNotFound
    За да работи е нужно да е активирана SEF на адресите и използване на път с псевдоним.
    В $parents се задават ID адресите на езиците катo автоматично се извлича техния alias.
    Работи само при двубуквени alias-и на parents адресите на езиците (може лесно да се преправи) на база:
    Английски имена на страни и елементи на кода ISO 3166-1 и кореспондиращо с ISO 3166-1-alpha-2 код елементи.
    http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm .

    Максималният брой езици е 5+1. 5 зададени и един основен който се извлича автоматично.
    В $parents се задават ID адресите на папките на съответните езиции. Това което сте приели за основен (home document)

    Максималният брой страници за грешки при езиците е 5+1. 5 зададени и една 404 който се извлича автоматично (основната страница за сайта)
    В $langs_404 се задават ID адресите на 404 грешките в последователността в която сте ги задали при $parents.
      Multylingo 1.0 alpha (snippet + plugin) - For creation a full-featured multilingual site with MODx Evo
      My sites:
      Мисли, интересни мисли