Добавление мультиязычности в существующее расширение
господа, подскажите, есть ли простой способ добавить в существующее расширение возможности мультиязычности?
т.е., чтобы при сохранении записи при условии наличия на странице альтернативного языка появлялась возможность ту же запсь перевести на альтернативный язык? к примеру, как в tt_news - можно выбрать язык записи или категории. |
ИМХО: Все нормально созданые расширения имеют подключенную мультиязычность.
Если расширение старое и давно не обновлялось, то возможно используются не xml а php файлы locallang. Встречал где-то в ТЕР расширение которое фиксит старые раширения и заставляет их работать через xml. (ExtDeval по-моему это умеет) Если это собственное расширение, то отредактируйте через Kickstarter. Он автоматически создает такую возможность. Только перед этим сделайте бэкап расширения. Kickstarter перезапишет файлы. |
само расширение мультиязычное, использует xajax и прочие радости требующие UTF. но в нем есть такие вещи как "названия объектов" и "категории объектов" - эти записи можно сделать только на одном языке.
т.е., я имею в виду не собственно перевод меток в расширении, а возможность перевода записей, как обычный элемент контента мы можем иметь на разных языках. |
Надо модифицировать $TCA этих таблиц. В частности, добавить поля sys_language_uid, l18n_parent, l18n_diffsource.
И дописать строчки в PHP код:
Может, ещё что-то надо сделать, не помню. |
кажется что-то еще надо таки добавить..
я седалала все как написано выше - появилась кнопочка для добавления перевода, но при нажатии на нее просто создается копия существующей записи, а язык остается по-умолчанию :( |
Ещё в код расширения надо добавить нечто такое:
PHP код:
|
Еще не забудьте в соответствующие таблицы расширения в БД добавить поля
sys_language_uid int(11) DEFAULT '0' NOT NULL, l18n_parent int(11) DEFAULT '0' NOT NULL, l18n_diffsource mediumblob NOT NULL, |
Спасибо за ответы!
но мне кажется чего-то еще не хватает. Я добавила поля в базу данных (прямо через phpmyadmin). добавила строки Код:
'languageField' => 'sys_language_uid', В админке появился флажок при нажатии на который по идее должна добавляться запись для локализации. но вместо этого просто происходит копирование выбранной записи. может надо еще в kickstrater что-то указать дополнительное? :confused: |
оказалось что в файл tca.php нужно было добавить
Код:
'sys_language_uid' => Array ( так что теперь почти работает:) |
Часовой пояс GMT +4, время: 10:39. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot