ООчень часто сталкивался с проектами в которых есть один или более язык. И каждый раз мне приходилось объяснять заказчику что для создания второго языка ему нужно создавать копию и все писать дважды-трижды а то и более раз. Те кто не знал о существовании других движков принимали это (со скрипом правда, но это уже другая история), а те кто знали то расказывали мне как это реализовано на бесплатных ЦМС и почему платный и совсем не дешовый Битрикс делает это через задницу (извините за французкий, но из песни слов не выбросишь).И вот созрел вопрос: "Раз Битрикс не хочет делать(выходя из множества уже заданных вопросов на форуме о том почему всё так сложно с многоязычностью) многоязычность методом переводов самих ИБ в системе, почему бы не сделать это самому."
Теперь по сути. Я создал модуль который сохраняет все языкозависимые поля ИБ в отдельной таблице, сами поля будут выбиратся для каждого ИБ отдельно в настройках модуля(пока не реализовано), вводятся значения в добавленной закладке в форме редактирования ИБ. Но каким образом подсовывать компонентам переводы вместо оригиналов остается под вопросом. Пока я реализовал это самым примитивным и неоптимальным способом, перезаписывая $arResult в файле resultModifier. Переписывать все компоненты (для ИБ их довольно много) также не оптимально. Какие есть предложения? Может кто что посоветует.
П.С. В случае создания какой либо рабочей версии модуля выложу ее как OpenSource проект, если конечно к этому будет интерес.
Теперь по сути. Я создал модуль который сохраняет все языкозависимые поля ИБ в отдельной таблице, сами поля будут выбиратся для каждого ИБ отдельно в настройках модуля(пока не реализовано), вводятся значения в добавленной закладке в форме редактирования ИБ. Но каким образом подсовывать компонентам переводы вместо оригиналов остается под вопросом. Пока я реализовал это самым примитивным и неоптимальным способом, перезаписывая $arResult в файле resultModifier. Переписывать все компоненты (для ИБ их довольно много) также не оптимально. Какие есть предложения? Может кто что посоветует.
П.С. В случае создания какой либо рабочей версии модуля выложу ее как OpenSource проект, если конечно к этому будет интерес.