Русификаторы для HLStatsX:CE

Установите ли Вы русификацию для статистики?

  • Да, обязательно.

    Голосов: 405 88.0%
  • Нет, мне и с английской версией неплохо.

    Голосов: 32 7.0%
  • Не пользуюсь статистикой или не решил пока.

    Голосов: 23 5.0%

  • Всего проголосовало
    460

apkon

Участник
Сообщения
257
Реакции
91
Priiiiice, поставь сначала 13, а потом обнови до 14. новые файлы обновятся и будут частичный русский преревод, но ошибок не будет тогда. Возможно сегодня выложу уже перевод для 14 версии )

P.S.: Руссифицировать версию 1.6.14 вообще не надо, там только исправления в базе и демоне.. так что ставь 13, а потом обновляй до 14.
 
Последнее редактирование:

IBANES

Участник
Сообщения
1
Реакции
0
Здравствуйте!
Не могли бы вы подсказать в каком файле изменить Верхние кнопки, Contents, Search, Help.
То есть в каком файле их нужно их перевести чтобы они стали русскими.
Заранее спасибо.
 

RSG

Участник
Сообщения
319
Реакции
26
Здравствуйте!
Не могли бы вы подсказать в каком файле изменить Верхние кнопки, Contents, Search, Help.
То есть в каком файле их нужно их перевести чтобы они стали русскими.
Заранее спасибо.
это иконки они размещены в: hlstatsimg\icons\sourcebans
 

Delet Delet

Участник
Сообщения
6
Реакции
0
hlstasx.smx надо русифицировать.

Может кто нить исходники дать этого файла,постараюсь перевести.
исходник нашел,ко вторнику постараюсь перевести
И еще вот здесь http://stats.deadland.su/ что у них за стата стоит ?вся на русском в идеале,красивая,удобная,явно не hlx ?или она ток доработаная
 
Последнее редактирование:

LEII4A

Участник
Сообщения
741
Реакции
135
это не хлстатс это платная gameme
 

Fab3r

Участник
Сообщения
1,520
Реакции
366
Есть русик на версию 1.6.14 выложите плиз !
 
Последнее редактирование:

Sw[E]n

|So RanDom|
Сообщения
98
Реакции
16
Не подскажете где русифицировать подпись вот эту:

 

smile7

Участник
Сообщения
3
Реакции
0
<?php
/*
HLstatsX Community Edition - Real-time player and clan rankings and statistics
Copyleft (L) 2008-20XX Nicholas Hastings (nshastings@gmail.com)
http://www.hlxcommunity.com

HLstatsX Community Edition is a continuation of
ELstatsNEO - Real-time player and clan rankings and statistics
Copyleft (L) 2008-20XX Malte Bayer (steam@neo-soft.org)
http://ovrsized.neo-soft.org/

ELstatsNEO is an very improved & enhanced - so called Ultra-Humongus Edition of HLstatsX
HLstatsX - Real-time player and clan rankings and statistics for Half-Life 2
http://www.hlstatsx.com/
Copyright (C) 2005-2007 Tobias Oetzel (Tobi@hlstatsx.com)

HLstatsX is an enhanced version of HLstats made by Simon Garner
HLstats - Real-time player and clan rankings and statistics for Half-Life
http://sourceforge.net/projects/hlstats/
Copyright (C) 2001 Simon Garner

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

For support and installation notes visit http://www.hlxcommunity.com

Originally idea for sig.php by Tankster
*/

foreach ($_SERVER as $key => $entry) {
if ($key !== 'HTTP_COOKIE') {
$search_pattern = array('/<script>/', '/<\/script>/', '/[^A-Za-z0-9.\-\/=:;_?#&~]/');
$replace_pattern = array('', '', '');
$entry = preg_replace($search_pattern, $replace_pattern, $entry);

if ($key == 'PHP_SELF') {
if ((strrchr($entry, '/') !== '/hlstats.php') &&
(strrchr($entry, '/') !== '/ingame.php') &&
(strrchr($entry, '/') !== '/show_graph.php') &&
(strrchr($entry, '/') !== '/sig.php') &&
(strrchr($entry, '/') !== '/sig2.php') &&
(strrchr($entry, '/') !== '/index.php') &&
(strrchr($entry, '/') !== '/status.php') &&
(strrchr($entry, '/') !== '/top10.php') &&
(strrchr($entry, '/') !== '/config.php') &&
(strrchr($entry, '/') !== '/') &&
($entry !== '')) {
header('Location: http://'.$_SERVER['HTTP_HOST'].'/hlstats.php');
exit;
}
}
$_SERVER[$key] = $entry;
}
}

define('IN_HLSTATS', true);
header("Content-Type: image/png");

// Load database classes
require ('config.php');
require (INCLUDE_PATH . '/class_db.php');
require (INCLUDE_PATH . '/functions.php');

$db_classname = 'DB_' . DB_TYPE;
if (class_exists($db_classname))
{
$db = new $db_classname(DB_ADDR, DB_USER, DB_PASS, DB_NAME, DB_PCONNECT);
}
else
{
error('Database class does not exist. Please check your config.php file for DB_TYPE');
}

$g_options = getOptions();

@error_reporting(E_ALL ^ E_NOTICE);

function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){
$opacity=$pct;
// getting the watermark width
$w = imagesx($src_im);
// getting the watermark height
$h = imagesy($src_im);

// creating a cut resource
$cut = imagecreatetruecolor($src_w, $src_h);
// copying that section of the background to the cut
imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);
// inverting the opacity
$opacity = 100 - $opacity;

// placing the watermark now
imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);
imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opacity);
}

function f_num($number) {
if (($number >= 10) &&($number < 20))
return $number.'th';
else {
switch ($number % 10) {
case 1:
return $number.'st';
break;
case 2:
return $number.'nd';
break;
case 3:
return $number.'rd';
break;
default:
return $number.'th';
break;
}
}
}

if (!isset($g_options['scripturl']))
$g_options['scripturl'] = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');

$player_id = 0;
if (isset($_GET['player_id'])) {
$player_id = valid_request($_GET['player_id'], 1);
} elseif (isset($_GET['steam_id']) && isset($_GET['game'])) {
$steam_id = valid_request($_GET['steam_id'], 0);
$steam_id = preg_replace('/^STEAM_\d+?\:/i','',$steam_id);
$game = valid_request($_GET['game'], 0);

$steam_id_escaped=$db->escape($steam_id);
$game_escaped=$db->escape($game);
// Obtain player_id from the steam_id and game code
$db->query("
SELECT
playerId
FROM
hlstats_PlayerUniqueIds
WHERE
uniqueId = '{$steam_id_escaped}' AND
game = '{$game_escaped}'
");

if ($db->num_rows() != 1)
error("No such player '$player'.");
list($player_id) = $db->fetch_row();
}

$show_flags = $g_options['countrydata'];
if ((isset($_GET['show_flags'])) && (is_numeric($_GET['show_flags'])))
$show_flags = valid_request($_GET['show_flags'], 1);



if (file_exists(IMAGE_PATH.'/progress/sig_'.$player_id.'.png')) {
$file_timestamp = @filemtime(IMAGE_PATH.'/progress/sig_'.$player_id.'.png');
if ($file_timestamp + IMAGE_UPDATE_INTERVAL > time()) {
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
$browser_timestamp = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']);
if ($browser_timestamp + IMAGE_UPDATE_INTERVAL > time()) {
header('HTTP/1.0 304 Not Modified');
exit;
}
}

$mod_date = date('D, d M Y H:i:s \G\M\T', $file_timestamp);
header('Last-Modified:'.$mod_date);
exit;
}
}

////
//// Main
////

if ((isset($_GET['color'])) && (is_string($_GET['color'])))
$color = hex2rgb(valid_request($_GET['color'], 0));
if ((isset($_GET['caption_color'])) && (is_string($_GET['caption_color'])))
$caption_color = hex2rgb(valid_request($_GET['caption_color'], 0));
if ((isset($_GET['link_color'])) && (is_string($_GET['link_color'])))
$link_color = hex2rgb(valid_request($_GET['link_color'], 0));

if ($player_id > 0) {
$db->query("
SELECT
playerId,
game,
FROM_UNIXTIME((last_event), '%a %D %b %k:%H') as lastevent,
connection_time,
last_skill_change,
lastName,
country,
flag,
kills,
deaths,
suicides,
skill,
shots,
hits,
headshots, IFNULL(ROUND(headshots/kills * 100), '-') AS hpk,
IFNULL(kills/deaths, '-') AS kpd,
IFNULL(ROUND((hits / shots * 100), 1), 0.0) AS acc,
activity,
hideranking
FROM
hlstats_Players
WHERE
playerId='$player_id'
");
if ($db->num_rows() != 1)
error("No such player '$player'.");

$playerdata = $db->fetch_array();
$db->free_result();

$pl_name = $playerdata['lastName'];

if(function_exists('imagettftext')) {
if (strlen($pl_name) > 30) {
$pl_name = substr($pl_name, 0, 27) . '...';
}
} else {
if (strlen($pl_name) > 30) {
$pl_shortname = substr($pl_name, 0, 27) . '...';
} else {
$pl_shortname = $pl_name;
$pl_name = htmlspecialchars($pl_name, ENT_COMPAT);
$pl_shortname = htmlspecialchars($pl_shortname, ENT_COMPAT);
$pl_urlname = urlencode($playerdata['lastName']);
}
}

$db->query("
SELECT
COUNT(*) as count
FROM
hlstats_Players
WHERE
game='".$playerdata['game']."'");
$pl_count = $db->fetch_array();
$db->free_result();

if (($playerdata['activity'] > 0) && ($playerdata['hideranking'] == 0)) {
$rank = get_player_rank($playerdata);
} else {
if ($playerdata['hideranking'] == 1)
$rank = 'Hidden';
elseif ($playerdata['hideranking'] == 2)
$rank = 'Banned';
else
$rank = 'Not active';
}

if ($playerdata['activity'] == -1)
$playerdata['activity'] = 0;

$skill_change = '0';
if ($playerdata['last_skill_change'] > 0)
$skill_change = $playerdata['last_skill_change'];
else if ($playerdata['last_skill_change'] < 0)
$skill_change = $playerdata['last_skill_change'];

$background='random';
if ((isset($_GET['background'])) && ( (($_GET['background'] > 0) && ($_GET['background'] < 12)) || ($_GET['background']=='random')) )
$background = valid_request($_GET['background'], 0);

if ($background == 'random')
$background = rand(1,11);

$hlx_sig_image = getImage('/games/'.$playerdata['game'].'/sig/'.$background);
if ($hlx_sig_image)
{
$hlx_sig = $hlx_sig_image['path'];
}
else
{
$hlx_sig = IMAGE_PATH."/sig/$background.png";
}

switch ($background) {
case 1: $caption_color = array('red' => 0, 'green' => 0, 'blue' => 255);
$link_color = array('red' => 0, 'green' => 0, 'blue' => 255);
$color = array('red' => 0, 'green' => 0, 'blue' => 0);
break;
case 2: $caption_color = array('red' => 147, 'green' => 23, 'blue' => 18);
$link_color = array('red' => 147, 'green' => 23, 'blue' => 18);
$color = array('red' => 255, 'green' => 255, 'blue' => 255);
break;
case 3: $caption_color = array('red' => 150, 'green' => 180, 'blue' => 99);
$link_color = array('red' => 150, 'green' => 180, 'blue' => 99);
$color = array('red' => 255, 'green' => 255, 'blue' => 255);
break;
case 4: $caption_color = array('red' => 255, 'green' => 203, 'blue' => 4);
$link_color = array('red' => 255, 'green' => 203, 'blue' => 4);
$color = array('red' => 255, 'green' => 255, 'blue' => 255);
break;
case 5: $caption_color = array('red' => 255, 'green' => 255, 'blue' => 255);
$link_color = array('red' => 0, 'green' => 102, 'blue' => 204);
$color = array('red' => 255, 'green' => 255, 'blue' => 255);
break;
case 6: $caption_color = array('red' => 0, 'green' => 0, 'blue' => 0);
$link_color = array('red' => 255, 'green' => 255, 'blue' => 255);
$color = array('red' => 255, 'green' => 255, 'blue' => 255);
break;
case 7: $caption_color = array('red' => 255, 'green' => 255, 'blue' => 255);
$link_color = array('red' => 100, 'green' => 100, 'blue' => 100);
$color = array('red' => 0, 'green' => 0, 'blue' => 0);
break;
case 8: $caption_color = array('red' => 255, 'green' => 255, 'blue' => 255);
$link_color = array('red' => 255, 'green' => 255, 'blue' => 255);
$color = array('red' => 255, 'green' => 255, 'blue' => 255);
break;
case 9: $caption_color = array('red' => 255, 'green' => 255, 'blue' => 255);
$link_color = array('red' => 0, 'green' => 0, 'blue' => 0);
$color = array('red' => 0, 'green' => 0, 'blue' => 0);
break;
case 10: $caption_color = array('red' => 255, 'green' => 255, 'blue' => 255);
$link_color = array('red' => 255, 'green' => 255, 'blue' => 255);
$color = array('red' => 255, 'green' => 255, 'blue' => 255);
break;
case 11: $caption_color = array('red' => 150, 'green' => 180, 'blue' => 99);
$link_color = array('red' => 150, 'green' => 180, 'blue' => 99);
$color = array('red' => 255, 'green' => 255, 'blue' => 255);
break;
default: $caption_color = array('red' => 0, 'green' => 0, 'blue' => 255);
$link_color = array('red' => 0, 'green' => 155, 'blue' => 0);
$color = array('red' => 0, 'green' => 0, 'blue' => 0);
break;
}

$image = imagecreatetruecolor(400, 75);

imagealphablending($image, false);
imagesavealpha($image, true);

$white = imagecolorallocate($image, 255, 255, 255);
$bgray = imagecolorallocate($image, 192, 192, 192);
$yellow = imagecolorallocate($image, 255, 255, 0);
$black = imagecolorallocate($image, 0, 0, 0);
$red = imagecolorallocate($image, 255, 0, 0);
$green = imagecolorallocate($image, 0, 155, 0);
$blue = imagecolorallocate($image, 0, 0, 255);
$grey_shade = imagecolorallocate($image, 204, 204, 204);
$font_color = imagecolorallocate($image, $color['red'], $color['green'], $color['blue']);
$caption_color = imagecolorallocate($image, $caption_color['red'], $caption_color['green'], $caption_color['blue']);
$link_color = imagecolorallocate($image, $link_color['red'], $link_color['green'], $link_color['blue']);
//$font_colorb = imagecolorallocate($image, $colorb['red'], $colorb['green'], $colorb['blue']);
//$caption_colorb = imagecolorallocate($image, $caption_colorb['red'], $caption_colorb['green'], $caption_colorb['blue']);
//$link_colorb = imagecolorallocate($image, $link_colorb['red'], $link_colorb['green'], $link_colorb['blue']);


$background_img = imagecreatefrompng($hlx_sig);



if ($background_img) {
imagecopy($image, $background_img, 0, 0, 0, 0, 400, 75);
imagedestroy($background_img);
}

if ($background == 0)
imagerectangle($image, 0, 0, 400, 75, $bgray);

$start_header_name = 9;
if ($show_flags > 0) {
$flag = imagecreatefromgif(getFlag($playerdata['flag'], 'path'));
if ($flag) {
imagecopy($image, $flag, 8, 4, 0, 0, 18, 12);
$start_header_name += 22;
imagedestroy($flag);
}
}
imagealphablending($image, true);
$timestamp = $playerdata['connection_time'];
$days = floor($timestamp / 86400);
$hours = $days * 24;
$hours += floor($timestamp / 3600 % 24);
if ($hours < 10)
$hours = '0'.$hours;
$min = floor($timestamp / 60 % 60);
if ($min < 10)
$min = '0'.$min;
$sec = floor($timestamp % 60);
if ($sec < 10)
$sec = '0'.$sec;
$con_time = $hours.':'.$min.':'.$sec;

if ($playerdata['last_skill_change'] == '')
$playerdata['last_skill_change'] = 0;
if ($playerdata['last_skill_change'] == 0)
$trend_image_name = IMAGE_PATH.'/t1.gif';
elseif ($playerdata['last_skill_change'] > 0)
$trend_image_name = IMAGE_PATH.'/t0.gif';
elseif ($playerdata['last_skill_change'] < 0)
$trend_image_name = IMAGE_PATH.'/t2.gif';
$trend = imagecreatefromgif($trend_image_name);

if(function_exists('imagettftext'))
{
$font = IMAGE_PATH.'/sig/font/DejaVuSans.ttf';
$mf = imageloadfont(IMAGE_PATH.'/sig/font/1.phpfont');

imagettftext($image, 10, 0, 30, 15, $caption_color, $font, $pl_name);
}
else
{
imagestring($image, $mf, $start_header_name, 2, $playerdata['lastName'], $caption_color);
}

imagestring($image, $mf, 15, 24, iconv("UTF-8","windows-1251", "Позиция: "), $font_color);
if (is_numeric($rank)) {
imagestring($image , $mf, 71, 24, number_format($rank), $font_color);
$start_pos_x = 72 + (imagefontwidth(3) * strlen(number_format($rank))) + 7;
} else {
imagestring($image, 3, 71, 24, $rank, $font_color);
$start_pos_x = 72 + (imagefontwidth(3) * strlen($rank)) + 7;
}
$ranktext = 'из '.$pl_count['count'].' игроков '.$playerdata['skill'].' очк. (';
$ranktext = iconv("UTF-8","windows-1251", $ranktext);
imagestring($image, $mf, $start_pos_x, 24, $ranktext, $font_color);

$start_pos_x += (imagefontwidth(2) * strlen($ranktext));

if ($trend) {
imagecopy($image, $trend, $start_pos_x+=30, 20, 0, 0, 7, 7);
$start_header_name += 22;
imagedestroy($trend);
$start_pos_x += 10;
}

imagestring($image, $mf, $start_pos_x, 24, $skill_change.iconv("UTF-8","windows-1251", " очк.)"), $font_color);
imagestring($image, $mf, 15, 36,iconv("UTF-8","windows-1251", "Фраги: ") .$playerdata['kills'].iconv("UTF-8","windows-1251", " убийств ").$playerdata['deaths'].iconv("UTF-8","windows-1251", " смертей ( ").$playerdata['kpd'].'), '.$playerdata['headshots'].iconv("UTF-8","windows-1251", " в голову "), $font_color);
imagestring($image, $mf, 15, 47, iconv("UTF-8","windows-1251", "Активность: ") .$playerdata['lastevent'].' ('.$playerdata['activity'].'%), Time: '.$con_time.' h.', $font_color);
imagestring($image, $mf, 15, 58, iconv("UTF-8","windows-1251", "Статистика: ") , $font_color);imagestring($image, $mf, 95, 56, $g_options['siteurl'], $link_color);

//$watermark = imagecreatefrompng(IMAGE_PATH.'/watermark.png');
//imagecopymerge_alpha($image, $watermark, 334, 58, 0, 0, 60, 12, 50);

$mod_date = date('D, d M Y H:i:s \G\M\T', time());
Header('Last-Modified:'.$mod_date);

imagepng($image);
imagedestroy($image);
imagedestroy($watermark);

}
?>

Все это в sig.php, в кодировке UTF-8 без BOM.
 

lokok

Участник
Сообщения
10
Реакции
4
Спасибо за перевод, но он не полный ( не переведна к примеру страница, сгенерированная в реальном времени)
hlstats.php?mode=actioninfo&action=Begin_Bomb_Defuse_Without_Kit&game=css

Или та же команда в игре help.
 

fallen1994

Участник
Сообщения
2,357
Реакции
538
то что в игре переводится в плагине =\
 

sabas

Участник
Сообщения
17
Реакции
1
Будет ли перевод 1.6.15 !? Заранее Благодарю !
 

KapaT

Эгоист
Сообщения
1,988
Реакции
535
sabas,со старых версий подхолит
 
Сообщения
6
Реакции
7
Сделал обновление до 15версии RUS (без плагинов AMX и Sourcemod)
В основу взят перевод Q-Masters.RU | apkon, исправил некоторые косяки

Установка:
Сперва установите русификатор для версии 14, затем устанавливайте эту версию поверх.
 

Вложения

  • HLXCE1.6.15UPGRADE_RUS.zip
    567.4 КБ · Просмотры: 134
Последнее редактирование:

Похожие темы

Сверху Снизу