Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

last_visit_1.2.8em

Ответы на вопросы, связанные с локализацией модов для phpBB 2.0.x
Аватара пользователя
YarNET
phpBB 2.0.6
Сообщения: 518
Стаж: 19 лет 5 месяцев

last_visit_1.2.8em

Сообщение YarNET »

Код: Выделить всё

# 
#-----[ OPEN ]------------------------------------------------ 
# 
language/lang_russian/lang_admin.php 

# 
#-----[ FIND ]------------------------------------------------ 
# 
?> 

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
# 

// Start add - Last visit MOD 
$lang['Hidde_last_logon'] = "Скрыть время последнего входа на форум"; 
$lang['Hidde_last_logon_expain'] = "Если эта опция установлена, то пользователи не смогут видеть время последнего входа; только администратор будет видеть"; 
// End add - Last visit MOD 

# 
#-----[ OPEN ]------------------------------------------------ 
# 
language/lang_russian/lang_main.php 

# 
#-----[ FIND ]------------------------------------------------ 
# 
?> 

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
# 
  
// Start add - Last visit MOD 
$lang['Last_logon'] = 'Последнее посещение'; 
$lang['Hidde_last_logon'] = 'Инкогнито'; 
$lang['Never_last_logon'] = 'Не посещал'; 
$lang['Users_today_zero_total'] = 'Всего  <b>0</b> пользователей посетило форум сегодня : '; 
$lang['Users_today_total'] = 'Всего <b>%d</b> пользователя посетил форум сегодня : '; 
$lang['User_today_total'] = 'Всего <b>%d</b> пользователей посетило форум сегодня : '; 
$lang['Users_lasthour_explain'] = ', %d из них в течение 1 часа'; 
$lang['Users_lasthour_none_explain'] = ''; //showen of none have visited the last hour, fill if you like 

$lang['Years'] = 'Года'; 
$lang['Year'] = 'Год'; 
$lang['Weeks'] = 'Недели'; 
$lang['Week'] = 'Неделя'; 
$lang['Day'] = 'День'; 
$lang['Total_online_time'] = 'Полная продолжительность'; 
$lang['Last_online_time'] = 'Полная продолжительность'; 
$lang['Number_of_visit'] = 'Номер посещения'; 
$lang['Number_of_pages'] = 'Номер открытой страницы'; 
// End add - Last visit MOD 


# 
#-----[ SAVE/CLOSE ALL FILES ]-------------------------------- 
# 
# EoM
Проверь, за что ты платишь деньги провайдеру?
Тестирование скорости соединения с INNTERNET
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Код: Выделить всё

// Start add - Last visit MOD 
$lang['Hidde_last_logon'] = "Скрыть время последнего входа на форум"; 
$lang['Hidde_last_logon_expain'] = "Если эта опция установлена, то пользователи не смогут видеть время последнего входа; только администратор будет видеть"; 
// End add - Last visit MOD
Тут скорее не вход, а посещение форума.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
YarNET
phpBB 2.0.6
Сообщения: 518
Стаж: 19 лет 5 месяцев

Сообщение YarNET »

Код: Выделить всё

# 
#-----[ OPEN ]------------------------------------------------ 
# 
language/lang_russian/lang_admin.php 

# 
#-----[ FIND ]------------------------------------------------ 
# 
?> 

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
# 

// Start add - Last visit MOD
$lang['Hidde_last_logon'] = "Скрыть время последнего посещения форума";
$lang['Hidde_last_logon_expain'] = "Если эта опция установлена, то пользователи не смогут видеть время последнего посещения. Отображение времени последнего посещения будет видно только администрации";
// End add - Last visit MOD

# 
#-----[ OPEN ]------------------------------------------------ 
# 
language/lang_russian/lang_main.php 

# 
#-----[ FIND ]------------------------------------------------ 
# 
?> 

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
# 
  
// Start add - Last visit MOD 
$lang['Last_logon'] = 'Последнее посещение'; 
$lang['Hidde_last_logon'] = 'Инкогнито'; 
$lang['Never_last_logon'] = 'Не посещал'; 
$lang['Users_today_zero_total'] = 'Всего  <b>0</b> пользователей посетило форум сегодня : '; 
$lang['Users_today_total'] = 'Всего <b>%d</b> пользователя посетил форум сегодня : '; 
$lang['User_today_total'] = 'Всего <b>%d</b> пользователей посетило форум сегодня : '; 
$lang['Users_lasthour_explain'] = ', %d из них в течение 1 часа'; 
$lang['Users_lasthour_none_explain'] = ''; //showen of none have visited the last hour, fill if you like 

$lang['Years'] = 'Года'; 
$lang['Year'] = 'Год'; 
$lang['Weeks'] = 'Недели'; 
$lang['Week'] = 'Неделя'; 
$lang['Day'] = 'День'; 
$lang['Total_online_time'] = 'Общее время в Online';
$lang['Last_online_time'] = 'Последняя Online продолжительность';
$lang['Number_of_visit'] = 'Номер посещения';
$lang['Number_of_pages'] = 'Номер открытой страницы';
// End add - Last visit MOD


# 
#-----[ SAVE/CLOSE ALL FILES ]-------------------------------- 
# 
# EoM
:mrgreen: Translation release :idea:
Проверь, за что ты платишь деньги провайдеру?
Тестирование скорости соединения с INNTERNET
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Если не придираться, то только 2 на мой взгляд ошибки

вместо
$lang['Number_of_visit'] = 'Номер посещения';
$lang['Number_of_pages'] = 'Номер открытой страницы';
следует полагать

Код: Выделить всё

$lang['Number_of_visit'] = 'Посещений форума'; 
$lang['Number_of_pages'] = 'Просмотрено страниц'; 
А если придираться, то мод надо править функционально, иначе получится глупость со склонениями, навроде
1 Года 5 Неделя 7 День :)
Если напишу свою версию перевода - обязательно запощу сюда.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Вот вариант моего перевода:

Код: Выделить всё

// Start add - Last visit MOD
$lang['Last_logon'] = 'Последнее посещение';
$lang['Hidde_last_logon'] = 'Спрятан';
$lang['Never_last_logon'] = 'Никогда';
$lang['Users_today_zero_total'] = 'Всего <b>0</b> человек побывало на форуме сегодня :: ';
$lang['Users_today_total'] = 'Всего <b>%d</b> человек побывало на форуме сегодня :: ';
$lang['User_today_total'] = 'Всего <b>%d</b> человек побывало на форуме сегодня :: ';
$lang['Users_lasthour_explain'] = ', %d из них за последний час';
$lang['Users_lasthour_none_explain'] = ''; //showen of none have visited the last hour, fill if you like

$lang['Years'] = 'Лет';
$lang['Year'] = 'Год';
$lang['Weeks'] = 'Недель';
$lang['Week'] = 'Неделя';
$lang['Day'] = 'День';
$lang['Total_online_time'] = 'Всего времени онлайн';
$lang['Last_online_time'] = 'Длительность последнего посещения';
$lang['Number_of_visit'] = 'Количество посещений';
$lang['Number_of_pages'] = 'Количество кликов';
// End add - Last visit MOD
Админку я не переводил, ибо нет надобности 8)
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Вариант мода

Сообщение Coagulant »

Мой вариант перевода (с учетом русской грамматики, например:
Общее время посещений: 2 года, 42 недели, 4 дня, 19:22:36
вместо
Общее время посещений: 2 Лет, 42 Недель, 4 Дней, 19:22:36
и Всего посетителей сегодня: 3
вместо
Всего 3 человек побывало на форуме сегодня)

Есть баг: мод перестает корректно отображать время в годах, неделях и днях на английском, а показывает их на русском, зато грамматически правильно :wink: Подойдет для всех, у кого на борде 1 язык, русский.

Код: Выделить всё

############################################################## 
## MOD Title:          Last visit Russian Translation (Declension)
## MOD Author:         Coagulant < profit@nm.ru > (n/a) http://www.phpbbguru.net 
## MOD Description:    Corrects declension for russian language,
##                     incompatible whith other languages though
## MOD Version:        1.2.8
## MOD Compatibility:  2.0.5->2.0.11
## 
##############################################################

# 
#-----[ OPEN ]------------------------------------------------ 
#
includes/functions.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
// Start add - Last visit MOD

# 
#-----[ AFTER, ADD ]----------------------------------------- 
#
// Russian Edition
function declension($int, $expressions) 
// Taken from http://forum.dklab.ru/viewtopic.php?p=18304
{ 
    settype($int, "integer"); 
    $count = $int % 100; 
    if ($count >= 5 && $count <= 20) { 
        $result = $int." ".$expressions[2]; 
    } else { 
        $count = $count % 10; 
        if ($count == 1) { 
            $result = $int." ".$expressions[0]; 
        } elseif ($count >= 2 && $count <= 4) { 
            $result = $int." ".$expressions[1]; 
        } else { 
            $result = $int." ".$expressions[2]; 
        } 
    } 
    return $result; 
}

# 
#-----[ FIND ]------------------------------------------------ 
# 
	$result=(($years)?$years.' '.(($years==1)?$lang['Year']:$lang['Years']).', ':'').
	(($years || $weeks)?$weeks.' '.(($weeks==1)?$lang['Week']:$lang['Weeks']).', ':'').
	(($years || $weeks || $days) ? $days.' '.(($days==1)?$lang['Day']:$lang['Days']).', ':'').
# 
#-----[ REPLACE WITH ]------------------------------------------------ 
#
	$result=(($years)?declension($years,array("год", "года", "лет")).', ':'').
	(($years || $weeks)?declension($weeks,array("неделя", "недели", "недель")).', ':'').
	(($years || $weeks || $days) ?declension($days,array("день", "дня", "дней")).', ':'').

# 
#-----[ OPEN ]------------------------------------------------ 
# 
language/lang_russian/lang_admin.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
?>

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
# 

// Start add - Last visit MOD
$lang['Hidde_last_logon'] = "Скрыть время последнего посещения"; 
$lang['Hidde_last_logon_expain'] = "Время последнего посещения форума пользователем будет отображаться только для администрации"; 
// End add - Last visit MOD

# 
#-----[ OPEN ]------------------------------------------------ 
# 
language/lang_russian/lang_main.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
?>

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
# 
 
// Start add - Last visit MOD
$lang['Last_logon'] = 'Последнее посещение'; 
$lang['Hidde_last_logon'] = 'Скрыто'; 
$lang['Never_last_logon'] = 'Нет';
$lang['Users_today_zero_total'] = 'Всего посетителей сегодня: <b>0</b> :: ';
$lang['Users_today_total'] = 'Всего посетителей сегодня: <b>%d</b> :: ';
$lang['User_today_total'] = 'Всего посетителей сегодня: <b>%d</b> :: ';
$lang['Users_lasthour_explain'] = ', из них %d за последний час.'; 
$lang['Users_lasthour_none_explain'] = ''; //показывается при отсутсвии посетителей за последний час

$lang['Years'] = 'Years';
$lang['Year'] = 'Year';
$lang['Weeks'] = 'Weeks';
$lang['Week'] = 'Week';
$lang['Day'] = 'Day';
$lang['Total_online_time'] = 'Общее время посещений'; 
$lang['Last_online_time'] = 'Длительность последнего посещения'; 
$lang['Number_of_visit'] = 'Посещений форума'; 
$lang['Number_of_pages'] = 'Просмотрено страниц'; 
// End add - Last visit MOD

#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------
#
# EoM
Аватара пользователя
YarNET
phpBB 2.0.6
Сообщения: 518
Стаж: 19 лет 5 месяцев

Сообщение YarNET »

Долгое время не получалось грамотно создать строчку на главной странице, но путем долгих изысканий и уже совместно с одним хорошим человеком был достигнут следующий результат:
Пример:

Всего за эти сутки посетителей было: 189, из них зарегистрированных: 34, скрытых: 5 и гостей: 150
из них %d за последний час. - убрано, т.к. эта информация никому не нужна, она не несет информативности никакой, а следовательно только место занимает (актуально для тем, которые не на весь экран раскрываются; SwiftBlue - пример)

Чтобы эту строку убрать комментируем в index.php

строку

Код: Выделить всё

'L_USERS_LASTHOUR' =>($users_lasthour)?sprintf($lang['Users_lasthour_explain'],$users_lasthour):$lang['Users_lasthour_none_explain'],
'L_USERS_TODAY' =>$l_today_users,
т.е.

Код: Выделить всё

// 'L_USERS_LASTHOUR' =>($users_lasthour)?sprintf($lang['Users_lasthour_explain'],$users_lasthour):$lang['Users_lasthour_none_explain'],
'L_USERS_TODAY' =>$l_today_users,
language/lang_russian/lang_main.php

Код: Выделить всё

// Start add - Last visit MOD
$lang['Last_logon'] = 'Последнее посещение';
$lang['Hidde_last_logon'] = 'Инкогнито';
$lang['Never_last_logon'] = 'Не было посещений';
$lang['Users_today_zero_total'] = 'Всего за эти сутки посетителей было: <b>0</b>, из них '; 
$lang['Users_today_total'] = 'Всего за эти сутки посетителей было: <b>%d</b>, из них '; 
$lang['User_today_total'] = 'Всего за эти сутки посетителей было: <b>1</b>, из них '; 
$lang['Users_lasthour_explain'] = '.'; 
$lang['Users_lasthour_none_explain'] = '.';
$lang['Years'] = 'Года'; 
$lang['Year'] = 'Год';
$lang['Weeks'] = 'Недели';
$lang['Week'] = 'Неделя';
$lang['Day'] = 'День';
$lang['Total_online_time'] = 'Общее время в Online';
$lang['Last_online_time'] = 'Последняя Online продолжительность';
$lang['Number_of_visit'] = 'Посещений форума';
$lang['Number_of_pages'] = 'Просмотрено страниц';
// End add - Last visit MOD
Проверь, за что ты платишь деньги провайдеру?
Тестирование скорости соединения с INNTERNET
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

YarNET

Код: Выделить всё

Всего за эти сутки посетителей было:
Поправка, мод всё-таки считает не за сутки, а именно за сегодняшний день и всё статистика обнуляется в 0ч. Хотя у кого какие ассоциации, у меня сутки ассоциируются с 24 часами. :roll:
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
YarNET
phpBB 2.0.6
Сообщения: 518
Стаж: 19 лет 5 месяцев

Сообщение YarNET »

Siava, тогда в чем ошибка?
Он считает от 0:00 до 0:00 соответствующего часового пояса, а это сутки. Хотя это уже просто игра слов. День, в моем понимании - это светлое время суток...
Проверь, за что ты платишь деньги провайдеру?
Тестирование скорости соединения с INNTERNET

Вернуться в «Локализация модов для phpBB 2.0.x»