Интеграция transposh в InstantCMS 2
Сам сделать это не смогу, но с удовольствием куплю платную доработку к инстанту в виде дополнения. Я думаю это будет бомба, если это кто то сделает.
Подсказки для разработчиков:
Сайт разработчика дополнения: transposh.org
Далее, такой же плагин существует и в wordpress. Думаю его переделать будет гораздо проще, чем оригинальный. Ссылка на сайт плагина wordpress: ru.wordpress.org/plugins/transposh-translation-filter-for-wordpress
Что скажете, господа разработчики? Получится под InstantCMS 2 подогнать?
Делитесь своими мнениями…
Можно ли реализовать такую задачу в виде компонента (т. е. без вмешательства в код движка) сказать не могу, нужно смотреть все ли нужные события есть. Для себя я хардкодил, взял за основу Wordpress плагин qTranslate, дописал пару методов:
public static function langExist($lang = false) { $languages = self::getLanguages(); } public static function splitToLanguages($text = false, $quicktags = true) { if (!$text) { return false; } $languages = self::getLanguages(); //init vars $split_regex = "#(<!--[^-]*-->|\[:[a-z]{2}\])#ism"; $current_language = ""; $matches = ""; foreach ($languages as $language) { $result[$language] = ""; } // split text at all xml comments foreach ($blocks as $block) { # detect language tags if (self::langExist($matches[1], $languages)) { $current_language = $matches[1]; } else { $current_language = "invalid"; } continue; // detect quicktags if (self::langExist($matches[1], $languages)) { $current_language = $matches[1]; } else { $current_language = "invalid"; } continue; // detect ending tags $current_language = ""; continue; // detect defective more tag } // correctly categorize text block if ($current_language == "") { // general block, add to all languages foreach ($languages as $language) { $result[$language] .= $block; } } elseif ($current_language != "invalid") { // specific block, only add to active language $result[$current_language] .= $block; } } return $result; } public static function returnCurrentLangText($text = false, $return_lang = false){ if (!$text) { return false; } $config = cmsConfig::getInstance(); $languages = self::getLanguages(); $result = self::splitToLanguages($text); if (!$return_lang) { return $result[$config->language]; } else { return self::langExist($return_lang, $languages) ? $result[$return_lang] : false; } }
$item['content'] = $core::returnCurrentLangText($item['content']); }
Я лично почти доделал возможность полной мультиязычности, не только одного языка… Демо Дороговатая вещь будет.
А мультиязычность для каких компонентов? И для компонентов ли только?
Виджеты, сайт, Компоненты нужно отдельно рассматривать.
И сколько все это добро будет стоить?
Пока думаю. 1000-2000 примерно.
А SEO-оптимизация поддерживается локализациями? Как насчет автоопределения языка для пользователя?
Давно болею этой идеей. Сейчас как раз занят написанием этого компонента. Скоро будет готов.
Добрый день.
Когда напишете модуль,
поделитесь пожалуйста информацией,
готов рассмотреть покупку модуля мультиязычности.
Рассмотрите, пожалуйста. Очень надо.Компоненты нужно отдельно рассматривать.
Если будет поддержка мультиязычности: контента, виджетов, инстантмапса я буду первый в рядах покупателей.