Вопрос по переводу

Главные вкладки

Аватар пользователя вOFFка вOFFка 9 сентября 2008 в 18:05

Может кто знает как перевести строки User karma, Rank, Rank (out of 10000), Karma модуля User karma на странице профиля? Управление строками в переводах не дает никакого результата.
Заранее спасибо!

Комментарии

Аватар пользователя penexe penexe 9 сентября 2008 в 18:34

разработчик сам накосячил, 722 и 728 строчки в модуле можно изменить но это нехорошо)
без хаков: добавляем в template.php своей темы
<?php
function phptemplate_user_profile($account, $fields) {
$output = '

';
$output .= theme('user_picture', $account);

if(module_exists('user_karma')) {
unset($fields['User karma']);
$uid = $account->uid;
if (variable_get('user_karma_show_ranking_in_user_page', FALSE)) {
$fields[t('USER KARMA')]['rank'] = array(
'value' => '

'.t('RANK').'
'. user_karma_user_rank($uid) .'

'
);
}

if (variable_get('user_karma_show_karma_in_user_page', FALSE)) {
$fields[t('USER KARMA')]['karma'] = array(
'value' => '

'.t('KARMA').'
'. user_karma_user_karma($uid) .'

'
);
}
}

foreach ($fields as $category => $items) {
if (strlen($category) > 0) {
$output .= '

'. check_plain($category) .'

';
}
$output .= '

';
foreach ($items as $item) {
if (isset($item['title'])) {
$output .= '
'. $item['title'] .'

';
}
$output .= '

'. $item['value'] .'

';
}
$output .= '

';
}
$output .= '

';

return $output;
}
?>
после этого в переводах ишем строки
USER KARMA
RANK
KARMA
и меняем их

Аватар пользователя вOFFка вOFFка 9 сентября 2008 в 19:50

Огромное спасибо - все работает!!!
А может у вас и на этот вопрос есть ответ: как в профиле пользователя вывести его роль (зарегистрированный пользователь, продвинутый и др.) и как переименовать (перевести) authenticated user в зарегистрированный пользователь?
Заранее спасибо!

Аватар пользователя вOFFка вOFFка 9 сентября 2008 в 19:51

Огромное спасибо - все работает!!!
А может у вас и на этот вопрос есть ответ: как в профиле пользователя вывести его роль (зарегистрированный пользователь, продвинутый и др.) и как переименовать (перевести) authenticated user в зарегистрированный пользователь?
Заранее спасибо!

Аватар пользователя penexe penexe 9 сентября 2008 в 20:32

<?php
function phptemplate_user_profile($account, $fields) {
$output = '

';
$output .= theme('user_picture', $account);

if(module_exists('user_karma')) {
unset($fields['User karma']);
$uid = $account->uid;
if (variable_get('user_karma_show_ranking_in_user_page', FALSE)) {
$fields[t('USER KARMA')]['rank'] = array(
'value' => '

'.t('RANK').'
'. user_karma_user_rank($uid) .'

'
);
}

if (variable_get('user_karma_show_karma_in_user_page', FALSE)) {
$fields[t('USER KARMA')]['karma'] = array(
'value' => '

'.t('KARMA').'
'. user_karma_user_karma($uid) .'

'
);
}
}
$fields[t('Аккаунт')]['type'] = array(
'title' => t('Тип аккаунта'),
'value' => implode(', ',$account->roles)
);
foreach ($fields as $category => $items) {
if (strlen($category) > 0) {
$output .= '

'. check_plain($category) .'

';
}
$output .= '

';
foreach ($items as $item) {
if (isset($item['title'])) {
$output .= '
'. $item['title'] .'

';
}
$output .= '

'. $item['value'] .'

';
}
$output .= '

';
}
$output .= '

';
return $output;
}
?>

Аватар пользователя penexe penexe 9 сентября 2008 в 20:47

хотя даже вот так
<?php
function phptemplate_user_profile($account, $fields) {
$output = '

';
$output .= theme('user_picture', $account);

if(module_exists('user_karma')) {
unset($fields['User karma']);
$uid = $account->uid;
if (variable_get('user_karma_show_ranking_in_user_page', FALSE)) {
$fields[t('USER KARMA')]['rank'] = array(
'value' => '

'.t('RANK').'
'. user_karma_user_rank($uid) .'

'
);
}

if (variable_get('user_karma_show_karma_in_user_page', FALSE)) {
$fields[t('USER KARMA')]['karma'] = array(
'value' => '

'.t('KARMA').'
'. user_karma_user_karma($uid) .'

'
);
}
}
unset($account->roles[DRUPAL_AUTHENTICATED_RID]);
$account->roles[DRUPAL_AUTHENTICATED_RID] = t('authenticated user');
$fields[t('Аккаунт')]['type'] = array(
'title' => t('Тип аккаунта'),
'value' => implode(', ',$account->roles),
);

foreach ($fields as $category => $items) {
if (strlen($category) > 0) {
$output .= '

'. check_plain($category) .'

';
}
$output .= '

';
foreach ($items as $item) {
if (isset($item['title'])) {
$output .= '
'. $item['title'] .'

';
}
$output .= '

'. $item['value'] .'

';
}
$output .= '

';
}
$output .= '

';

return $output;
}
?>

Аватар пользователя вOFFка вOFFка 9 сентября 2008 в 20:54

Все просто супер, огромное человеческое Вам!!!

$fields[t('Аккаунт')]['type'] = array(
          'title' => t('Тип аккаунта'),
          'value' => implode(', ',$account->roles)

'Тип аккаунта' надо прописать аглицкими буковками а потом перевести через управление строками, а то символами показывается.

А authenticated user так и не перевелось, в переводах такая строка есть, переведена, но в профиле почему-то - на английском, плохо... и не знаю че сделать-то?