Community Builder 1.2.1 - русификация, украинизация



Недавно столкнулся с задачей расширить стандартную форму регистрации Joomla 1.5

Гугл помог, как всегда:)

Для этой задачи отлично подошел компонент Community Builder 1.2.1


Правда, глюковатый он немного, но со своей задачей справляется. Тем более, распространяется бесплатно.

Community Builder 1.2.1 (СВ 1.2.1) предоставляет возможность задавать необходимые поля, которые вы хотите видеть при регистрации. Ассортимент очень широкий. Начиная от простых текстовых полей, заканчивая полем даты (например, для указания даты рождения).

Есть много минусов, один из которых - локализация.
  • Существует русифицированная версия СВ 1.1, которую "локализаторы" позиционируют как полноценную версию с русским интерфейсом. Но после ее установки в меню СВ почти все было квардатами/ромбиками (в зависимости от браузера). А кое-что оставалось на английском. Вот такая "полноценная версия с русским интерфейсом". Поэтому я даже ссылку на этот ресурс давать не буду, чтобы не сбить с толку никого. Компонент сам по себе ведь хороший... 
  • Нашел несколько плагинов, которые, по заявлению авторов, "локализировали" этот компонент. Но эти плагины как правило, не ставились, приходилось куда-то что-то копировать, заменять, добавлять и т.д. Больше чем в половине случаев после таких действий были проблемы с кодировкой. Ну да ладно, можно сохранить в правильной кодировке файлы локализаций - и забыть.

Но у меня стояла задача подружить СВ 1.2.1 с JoomFish (2.0.4). И вот здесь начались реальные проблемы. Снова нашел через гугл поделие, иначе не назовешь, которое позволяло интегрировать СВ 1.2.1 и JoomFish. После копирования всех файлов из архива в нужные места (не установки, а ручного копирования. Ну да ладно, лишь бы работало) вроде бы все стало ОК.

Но до тех пор, пока не решил все же перевести что-то с помощью JoomFish. Независимо, что: СВ 1.2.1, любое меню, любой материал, - получал на выходе вот такую ошибку в браузере


 

DB function failed with error number 1146
Table 'krona.jos_comprofiler_fields' doesn't exist SQL=SELECT f.`title` , jf.`value` FROM `jos_comprofiler_fields` AS f INNER JOIN `jos_jf_content` AS jf ON f.`fieldid` = jf.`reference_id` WHERE f.`name` LIKE "cb_%" AND jf.`language_id` = 1 AND jf.`reference_table` = "comprofiler_fields"union SELECT f.`fieldtitle` , jf.`value` FROM `jos_comprofiler_field_values` AS f INNER JOIN `jos_jf_content` AS jf ON f.`fieldvalueid` = jf.reference_id WHERE jf.language_id = 1 AND jf.reference_table = "comprofiler_field_values"

То ли руки у меня кривые, то ли... Короче, я сделал вывод, что нифига так не получится.

Пришел к простому решению: 

  • создать файлы с необходимыми локализациями, например rus.php, eng.php, ukr.php
  •  создать пустой файл с названием default_language.php, потому что именно из этого файла компонент берет перевод
  • вставить в файл default_language.php такой код 
<?php
$document = & JFactory::getDocument();
$curlang = $document->language;
 
switch ($curlang) {
case 'ru-ru':
include('default_language-ru.php');
break;
case 'uk-ua':
include('default_language-uk.php');
break;
case 'en-gb':
include('default_language-en.php');
break;
 
}
 
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php  
$document = & JFactory::getDocument(); 
$curlang = $document->language; 
switch ($curlang) { 
	case 'ru-ru': 
		include('default_language-ru.php');  
	break;  
	case 'uk-ua': 
		include('default_language-uk.php');  
	break;  
	case 'en-gb':  
		include('default_language-en.php');  
	break;  }  
?>

который определяет текущий язык сайта, а затем в зависимости от значения переменной $curlang подключает определенный языковой файл

На будущее я сделал себе готовый архив и алгоритм действий
  • Устанавливаем СВ 1.2.1. 
  • Берем архив CB 1.2.1 MultiLang
  • Копируем в папку /components/com_comprofiler/plugin/language/ все содержимое. 
  • Таким образом получили английский, украинский  и русский интерфейсы в зависимости от выбранного языка. 

Естественно, JoomFifh должен быть установлен с теми языками, которые вам нужны

Решение это не элегантное, решение это - костыль. Но оно работает, оно действительно работает!

Благодарность принимаю в виде:

  • "Спасибо" от чистого сердца
  • лайка / шары
  • комментария
  • Яндекс.Денег 4100162037745
  • WebMoney Z150917603458, R351335054010, E199046692457, U207019834816



Оставить комменатрий

Последние 10 комментариев(я)