Перевод HLstatsX

ZizionarD

Участник
Сообщения
617
Реакции
69
Здравствуйте! Занялся переводом HLstatsX, но остановился на переводе даты. Подскажите, как перевести дату, чтобы вместо Tuesday 8 Aug, было Вторник 8 авг?
 

Kruzya

Участник
Сообщения
12,974
Реакции
10,938
  • Команда форума
  • #2
Локаль установить.
PHP:
setlocale(LC_TIME, "ru_RU");
// вывод времени
 

Kruzya

Участник
Сообщения
12,974
Реакции
10,938
  • Команда форума
  • #4
@Hindrum, в любой, если нигде она не перезаписывается. Хоть в конфиг веб морды.
 

Lima

Участник
Сообщения
159
Реакции
57
@Hindrum, в pages/contents.php замени:
PHP:
        if ($lastevent)
        {
            echo "\t\t\t\t<li>Last Kill <strong> " . date('g:i:s A, D. M. d, Y', strtotime($lastevent)) . "</strong></li>";
        }
на
PHP:
        if ($lastevent)
        {
            setlocale(LC_ALL, 'ru_RU.UTF-8');
            echo "\t\t\t\t<li>Last Kill <strong> " . strftime('%k:%M:%S, %a. %h. %e, %Y', strtotime($lastevent)) . "</strong></li>";
        }
PHP: strftime - Manual
 

ZizionarD

Участник
Сообщения
617
Реакции
69
@Hindrum, в pages/contents.php замени:
PHP:
        if ($lastevent)
        {
            echo "\t\t\t\t<li>Last Kill <strong> " . date('g:i:s A, D. M. d, Y', strtotime($lastevent)) . "</strong></li>";
        }
на
PHP:
        if ($lastevent)
        {
            setlocale(LC_ALL, 'ru_RU.UTF-8');
            echo "\t\t\t\t<li>Last Kill <strong> " . strftime('%k:%M:%S, %a. %h. %e, %Y', strtotime($lastevent)) . "</strong></li>";
        }
PHP: strftime - Manual
А можно ли как-то поменять язык даты в наградах? Просто там получается вывод таты:

$result = $db->query("
SELECT
DATE_FORMAT(value, '%W %e %b'),
DATE_FORMAT( DATE_SUB( value, INTERVAL $awards_numdays DAY ) , '%W %e %b' )
FROM
hlstats_Options
WHERE
keyname='awards_d_date'
");
list($awards_d_date, $awards_s_date) = $db->fetch_row($result);
 

Dreizehnt

Доминик
Сообщения
1,162
Реакции
804
Вообще не поменялось ничего :D @Hindrum, у тебя сработали методы выше?
--- Добавлено позже ---
Я так понимаю HLX к БД обращается и оттуда берёт названия дней недели и месяцев...
 

Kruzya

Участник
Сообщения
12,974
Реакции
10,938
  • Команда форума
  • #8
@Dreizehnt, БД возвращает уже отформатированную дату. PHP-скрипты преобразуют в понятный им формат, а далее преобразуют в нужный Pretty-вид.
 

Dreizehnt

Доминик
Сообщения
1,162
Реакции
804
Ой, этож на главной - всё работает :D Last kill только тоже переименовывайте... В наградах бы ещё понять как отредактировать:
PHP:
<?php
    if ($g_options['gamehome_show_awards'] == 1) {
        $resultAwards = $db->query("
            SELECT
                hlstats_Awards.awardId,
                hlstats_Awards.name,
                hlstats_Awards.verb,
                hlstats_Awards.d_winner_id,
                hlstats_Awards.d_winner_count,
                hlstats_Players.lastName AS d_winner_name,
                hlstats_Players.flag AS flag,
                hlstats_Players.country AS country
            FROM
                hlstats_Awards
            LEFT JOIN hlstats_Players ON
                hlstats_Players.playerId = hlstats_Awards.d_winner_id
            WHERE
                hlstats_Awards.game='$game'
            ORDER BY
                hlstats_Awards.name
        ");

        $result = $db->query("
            SELECT
                IFNULL(value, 1)
            FROM
                hlstats_Options
            WHERE
                keyname='awards_numdays'
        ");

        if ($db->num_rows($result) == 1)
            list($awards_numdays) = $db->fetch_row($result);
        else
            $awards_numdays = 1;

        $result = $db->query("
            SELECT
                DATE_FORMAT(value, '%W %e %b'),
                DATE_FORMAT( DATE_SUB( value, INTERVAL $awards_numdays DAY ) , '%W %e %b' )
            FROM
                hlstats_Options
            WHERE
                keyname='awards_d_date'
        ");
        list($awards_d_date, $awards_s_date) = $db->fetch_row($result);

        if ($db->num_rows($resultAwards) > 0 && $awards_d_date) {
?>
<div class="block" style="padding-top:20px">

<?php
    printSectionTitle((($awards_numdays == 1) ? 'Ежедневные' : "$awards_numdays Day")." награды ($awards_d_date)");
?>
 

ZizionarD

Участник
Сообщения
617
Реакции
69
Вообще не поменялось ничего :D @Hindrum, у тебя сработали методы выше?
--- Добавлено позже ---
Я так понимаю HLX к БД обращается и оттуда берёт названия дней недели и месяцев...
@Dreizehnt, БД возвращает уже отформатированную дату. PHP-скрипты преобразуют в понятный им формат, а далее преобразуют в нужный Pretty-вид.
Да, он именно берет дату из БД, а как ее перевести я не знаю
--- Добавлено позже ---
Вообще не поменялось ничего :D @Hindrum, у тебя сработали методы выше?
--- Добавлено позже ---
Я так понимаю HLX к БД обращается и оттуда берёт названия дней недели и месяцев...
нет, не сработали
--- Добавлено позже ---
Вообщем как-то нужно изменить этот запрос:
$result = $db->query("
SELECT
DATE_FORMAT(value, '%W %e %b'),
DATE_FORMAT( DATE_SUB( value, INTERVAL $awards_numdays DAY ) , '%W %e %b' )
FROM
hlstats_Options
WHERE
keyname='awards_d_date'
");
Чтобы он выдавал дату на русском языке
 
Последнее редактирование:
Сверху Снизу