Немного помучался, но сделал что бы сразу инглиш и русский был MC 2.1.0, правда всё в одну строку блин( Как в разные сделать ещё не додумал.
Делал всё сразу на веб сервере, так что не знаю как на локалке будет. Редактировал файл в блокноте, сохранял с кодировкой UTF8.
<?php
class MusColAlphabets{
function get_characters(){
$params = &JComponentHelper::getParams( 'com_muscol' );
$language = $params->get('alphabet', 'english') ;
$characters['internal'] = MusColAlphabets::internal_characters($language);
$characters['external'] = MusColAlphabets::external_characters($language);
return $characters ;
}
function get_combined_array(){
$characters = MusColAlphabets::get_characters();
for($i = 0, $n = count($characters['internal']); $i < $n; $i++){
$return[$characters['internal'][$i]] = $characters['external'][$i];
}
return $return ;
}
function internal_characters($language){
//if you add your own alphabet HERE, use ONLY english characters A-Z, and then start with numbers, from 1 to infinity. Do NOT use your alphabet's characters here, only on the other funcion, external_characters() (see below)
$internal['english'] = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","1");
$internal['russian'] = array("А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я","1","2","3","4","5","6","7","8","9","0");
$internal['custom'] = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","#","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я","1","2","3","4","5","6","7","8","9","0");
return $internal[$language] ;
}
function external_characters($language){
$external['english'] = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","#");
$external['russian'] = array("А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я","1","2","3","4","5","6","7","8","9","0");
$external['custom'] = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","#","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я","1","2","3","4","5","6","7","8","9","0");
return $external[$language] ; ;
}
}
Лишнюю для себя белебурду, типо арабского алфавита убрал. Потом в настройках в графе "Alphabet to use on the lettebar" ставил "Custom" алфавит, и получается вывод и инглиша и русского и цифр. Ещё надо править всё равно уже что то другое, что бы сделать вывод в разные строки))
Да и заметил такую вещь, когда создаёшь артиста, то в графе "Letter" надо обязательно ставить первую букву или цифру из названия артиста, что бы он потом нормально отображался в поиске под своей буквой.