локализация Orchard.Taxonomy Terms

Topics: Core, General, Localization, Troubleshooting, Русский (Russian)
May 28, 2014 at 5:35 AM
Edited May 28, 2014 at 5:47 AM
на днях поигрался с проблемой локализации Term'ов
как принято, добавил Localization partial в соотвесствующий тип, созданный под терминологию
однако, как думаю всем известно, в админке нам доступны лишь master термины
т.е. локализованные версии прикрепить нельзя
я решил пойти иным путем, создал в модуле handler, там в событии OnUpdated ловлю типы контентов содержащие TermsPart и соотвественно заменяю мастеров на их локализованные версии (язык беру из ContentItem). Здесь я правда столкнулся с проблемой. когда первое сохранение перевода, не присваивает ему выбранной культуры. Эту проблему я описал в issue. Но осталась еще одна проблема, пока я ее решил создав свою реализацию ITaxonomyService где повторил вызовы на оригинальный сервис, кроме функции
IEnumerable<TermPart> GetTermsForContentItem(int contentItemId, string field = null, VersionOptions versionOptions = null);
Здесь провожу обратную конвертацию локализованных терминов в мастер термины, т.о. в админке все работает корректно, НО здесь 2 недостатка, это также пагубно влияет на frontend , ну и конечно хотелось бы избавиться от прокси сервиса ITaxonomyService
Есть соображения как повлиять на подгрузку терминов для админки? Иначе выражаясь, как выставить галочки в админке на выбранные термины, с учетом что в БД привязаны локализованные термины.
May 28, 2014 at 5:46 AM
Edited May 28, 2014 at 5:46 AM
English version: (and sorry for my bad english)

recently I toyed with the problem of Term localization
as is commonly added to appropriate Localization partial type created by the terminology
however, as we all know , in the admin are available to us only master termsбie localized versions can not attach
I decided to go another way , created in the module Handler, in the event OnUpdated catching content types containing TermsPart and appropriately replace masters to their localized version ( language taken from ContentItem). Here I ran into a problem though . when first saving a translation, not assigns the selected culture . The problem I described in the issue. But there was another problem , while I have decided to create its own implementation ITaxonomyService where repeated calls to the original service , except for the function
IEnumerable <TermPart> GetTermsForContentItem (int contentItemId, string field = null, VersionOptions versionOptions = null);

I spend here the reverse conversion of localized terms in the master terms , thus in admin everything works correctly, but here 2 drawbacks , it also adversely affects the frontend, and of course I would like to get rid of the service proxy ITaxonomyService

Any idea how to influence load master terms for the admin ? Otherwise speaking, put a check in as the admin on the terms selected , taking into account that the database tied localized terms .