Compare commits
33 Commits
Author | SHA1 | Date | |
---|---|---|---|
1887d42a78 | |||
95fd504249 | |||
c728d6d447 | |||
95c1faf1d9
|
|||
c5e55e8bc0 | |||
1cdf6cbf55 | |||
7adf9732ef | |||
f0659466c1 | |||
0963acafcf | |||
d58fdeee8b
|
|||
e0d6fe5d91 | |||
f605137313 | |||
03f9a86515
|
|||
cfd54b09be | |||
16b81337b1 | |||
2cd5d18511 | |||
0ae827450a | |||
5589999b0f | |||
4d0b828879 | |||
268328f82c | |||
a63901fc76 | |||
36a8727d2f | |||
5cfe783649 | |||
d832cf64ec | |||
7002e3fbad | |||
e83bdda10f | |||
b250285a71 | |||
0080aee4c3 | |||
a59e248851 | |||
507407cfc1 | |||
450d97c40f | |||
9a99d34798 | |||
2ae523feee |
24
CHANGELOG
24
CHANGELOG
@ -1,3 +1,27 @@
|
||||
Allow making file upload member-only
|
||||
Added required tag to captcha input
|
||||
|
||||
Version 1.23.7 - Feb. 24, 2019
|
||||
Support V3 hidden services
|
||||
Fixed filtermodkick setting
|
||||
fixed restore_backup not encrypting notes
|
||||
|
||||
Version 1.23.6 - Apr. 22, 2018
|
||||
Added Czech, Italian and Ukrainian translation
|
||||
Updated Russian translation
|
||||
Bugfixes
|
||||
|
||||
Version 1.23.5 - Sep. 1, 2017
|
||||
Added Russian and Bulgarian translation
|
||||
Updated Spanish translation
|
||||
Bugfixes and optimizations
|
||||
|
||||
Version 1.23.4 - Jan. 23, 2017
|
||||
Fix update from older versions
|
||||
|
||||
Version 1.23.3 - Jan. 17, 2017
|
||||
Fix restoring members in backup and restore
|
||||
|
||||
Version 1.23.2 - Jan. 1, 2017
|
||||
Restructure initalization code to fix setting up new chats
|
||||
|
||||
|
2
README
2
README
@ -42,7 +42,7 @@ Optionally, you can install:
|
||||
- the json extension for save/restore
|
||||
- a memcached server and the memcached extension and change the configuaration to use memcached. This will lessen the database load a bit.
|
||||
- a MySQL or PostgreSQL server to use as an external database instead of SQLite
|
||||
- the openssl extension for encryption of messages and notes in the database
|
||||
- the libsodium extension for encryption of messages and notes in the database (bundled with PHP >= 7.2)
|
||||
When you have everything installed and use MySQL or PostgreSQL, you'll have to create a database and a user for the chat.
|
||||
Then edit the configuration at the bottom of the script to reflect the appropriate database settings and to modify the chat settings the way you like them.
|
||||
Then copy the script to your web-server directory and call the script in your browser with a parameter like this:
|
||||
|
@ -45,7 +45,7 @@ Optionally, you can install:
|
||||
- the json extension for save/restore
|
||||
- a memcached server and the memcached extension and change the configuaration to use memcached. This will lessen the database load a bit.
|
||||
- a MySQL or PostgreSQL server to use as an external database instead of SQLite
|
||||
- the openssl extension for encryption of messages and notes in the database
|
||||
- the libsodium extension (PHP >= 7.2) for encryption of messages and notes in the database
|
||||
When you have everything installed and use MySQL or PostgreSQL, you'll have to create a database and a user for the chat.
|
||||
Then edit the configuration at the bottom of the script to reflect the appropriate database settings and to modify the chat settings the way you like them.
|
||||
Then copy the script to your web-server directory and call the script in your browser with a parameter like this:
|
||||
|
264
chat.php
264
chat.php
@ -2,7 +2,7 @@
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - Main program
|
||||
*
|
||||
* Copyright (C) 2015-2016 Daniel Winzen <d@winzen4.de>
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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
|
||||
@ -54,7 +54,6 @@ route();
|
||||
function route(){
|
||||
global $U;
|
||||
if(!isset($_REQUEST['action'])){
|
||||
update_db();
|
||||
send_login();
|
||||
}elseif($_REQUEST['action']==='view'){
|
||||
check_session();
|
||||
@ -165,7 +164,7 @@ function route_admin(){
|
||||
}elseif($_REQUEST['what']==='room'){
|
||||
clean_room();
|
||||
}elseif($_REQUEST['what']==='nick'){
|
||||
$stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'members WHERE nickname=? AND status>=?;');
|
||||
$stmt=$db->prepare('SELECT null FROM ' . PREFIX . 'members WHERE nickname=? AND status>=?;');
|
||||
$stmt->execute([$_REQUEST['nickname'], $U['status']]);
|
||||
if(!$stmt->fetch(PDO::FETCH_ASSOC)){
|
||||
del_all_messages($_REQUEST['nickname'], 0);
|
||||
@ -220,14 +219,13 @@ function route_admin(){
|
||||
|
||||
function route_setup(){
|
||||
global $U;
|
||||
update_db();
|
||||
if(!valid_admin()){
|
||||
send_alogin();
|
||||
}
|
||||
$C['bool_settings']=['suguests', 'imgembed', 'timestamps', 'trackip', 'memkick', 'forceredirect', 'incognito', 'sendmail', 'modfallback', 'disablepm', 'eninbox', 'enablegreeting', 'sortupdown', 'hidechatters', 'enfileupload', 'personalnotes', 'filtermodkick'];
|
||||
$C['bool_settings']=['suguests', 'imgembed', 'timestamps', 'trackip', 'memkick', 'forceredirect', 'incognito', 'sendmail', 'modfallback', 'disablepm', 'eninbox', 'enablegreeting', 'sortupdown', 'hidechatters', 'personalnotes', 'filtermodkick'];
|
||||
$C['colour_settings']=['colbg', 'coltxt'];
|
||||
$C['msg_settings']=['msgenter', 'msgexit', 'msgmemreg', 'msgsureg', 'msgkick', 'msgmultikick', 'msgallkick', 'msgclean', 'msgsendall', 'msgsendmem', 'msgsendmod', 'msgsendadm', 'msgsendprv', 'msgattache'];
|
||||
$C['number_settings']=['memberexpire', 'guestexpire', 'kickpenalty', 'entrywait', 'captchatime', 'messageexpire', 'messagelimit', 'maxmessage', 'maxname', 'minpass', 'defaultrefresh', 'numnotes', 'maxuploadsize'];
|
||||
$C['number_settings']=['memberexpire', 'guestexpire', 'kickpenalty', 'entrywait', 'captchatime', 'messageexpire', 'messagelimit', 'maxmessage', 'maxname', 'minpass', 'defaultrefresh', 'numnotes', 'maxuploadsize', 'enfileupload'];
|
||||
$C['textarea_settings']=['rulestxt', 'css', 'disabletext'];
|
||||
$C['text_settings']=['dateformat', 'captchachars', 'redirect', 'chatname', 'mailsender', 'mailreceiver', 'nickregex', 'passregex', 'externalcss'];
|
||||
$C['settings']=array_merge(['guestaccess', 'englobalpass', 'globalpass', 'captcha', 'dismemcaptcha', 'topic', 'guestreg', 'defaulttz'], $C['bool_settings'], $C['colour_settings'], $C['msg_settings'], $C['number_settings'], $C['textarea_settings'], $C['text_settings']); // All settings in the database
|
||||
@ -434,29 +432,21 @@ function send_captcha(){
|
||||
$bg=imagecolorallocate($im, 0, 0, 0);
|
||||
$fg=imagecolorallocate($im, 255, 255, 255);
|
||||
imagefill($im, 0, 0, $bg);
|
||||
$line=imagecolorallocate($im, 100, 100, 100);
|
||||
for($i=0;$i<3;++$i){
|
||||
imagestring($im, 5, 5, 5, $code, $fg);
|
||||
$line=imagecolorallocate($im, 255, 255, 255);
|
||||
for($i=0;$i<2;++$i){
|
||||
imageline($im, 0, mt_rand(0, 24), 55, mt_rand(0, 24), $line);
|
||||
}
|
||||
$dots=imagecolorallocate($im, 200, 200, 200);
|
||||
$dots=imagecolorallocate($im, 255, 255, 255);
|
||||
for($i=0;$i<100;++$i){
|
||||
imagesetpixel($im, mt_rand(0, 55), mt_rand(0, 24), $dots);
|
||||
}
|
||||
imagestring($im, 5, 5, 5, $code, $fg);
|
||||
echo '<img width="55" height="24" src="data:image/gif;base64,';
|
||||
}else{
|
||||
$im=imagecreatetruecolor(150, 200);
|
||||
$bg=imagecolorallocate($im, 0, 0, 0);
|
||||
$fg=imagecolorallocate($im, 255, 255, 255);
|
||||
imagefill($im, 0, 0, $bg);
|
||||
$line=imagecolorallocate($im, 100, 100, 100);
|
||||
for($i=0;$i<5;++$i){
|
||||
imageline($im, 0, mt_rand(0, 200), 150, mt_rand(0, 200), $line);
|
||||
}
|
||||
$dots=imagecolorallocate($im, 200, 200, 200);
|
||||
for($i=0;$i<1000;++$i){
|
||||
imagesetpixel($im, mt_rand(0, 150), mt_rand(0, 200), $dots);
|
||||
}
|
||||
$chars=[];
|
||||
for($i=0;$i<10;++$i){
|
||||
$found=false;
|
||||
@ -495,13 +485,21 @@ function send_captcha(){
|
||||
for($i=5;$i<9;++$i){
|
||||
imageline($im, $chars[$i]['x']+4, $chars[$i]['y']+8, $chars[$i+1]['x']+4, $chars[$i+1]['y']+8, $follow);
|
||||
}
|
||||
$line=imagecolorallocate($im, 255, 255, 255);
|
||||
for($i=0;$i<5;++$i){
|
||||
imageline($im, 0, mt_rand(0, 200), 150, mt_rand(0, 200), $line);
|
||||
}
|
||||
$dots=imagecolorallocate($im, 255, 255, 255);
|
||||
for($i=0;$i<1000;++$i){
|
||||
imagesetpixel($im, mt_rand(0, 150), mt_rand(0, 200), $dots);
|
||||
}
|
||||
echo '<img width="150" height="200" src="data:image/gif;base64,';
|
||||
}
|
||||
ob_start();
|
||||
imagegif($im);
|
||||
imagedestroy($im);
|
||||
echo base64_encode(ob_get_clean()).'">';
|
||||
echo '</td><td>'.hidden('challenge', $randid).'<input type="text" name="captcha" size="15" autocomplete="off"></td></tr>';
|
||||
echo '</td><td>'.hidden('challenge', $randid).'<input type="text" name="captcha" size="15" autocomplete="off" required></td></tr>';
|
||||
}
|
||||
|
||||
function send_setup($C){
|
||||
@ -757,7 +755,7 @@ function restore_backup($C){
|
||||
$member[$setting]=0;
|
||||
}
|
||||
}
|
||||
$stmt->execute([$member['nickname'], $member['passhash'], $member['status'], $member['refresh'], $member['bgcolour'], $member['regedby'], $member['lastlogin'], $member['timestamps'], $member['embed'], $member['incognito'], $member['style'], $member['nocache'], $member['tz'], $member['eninbox'], $member['sortupdown'], $member['hidechatters']]);
|
||||
$stmt->execute([$member['nickname'], $member['passhash'], $member['status'], $member['refresh'], $member['bgcolour'], $member['regedby'], $member['lastlogin'], $member['timestamps'], $member['embed'], $member['incognito'], $member['style'], $member['nocache'], $member['tz'], $member['eninbox'], $member['sortupdown'], $member['hidechatters'], $member['nocache_old']]);
|
||||
}
|
||||
}
|
||||
if(isset($_REQUEST['notes']) && isset($code['notes'])){
|
||||
@ -769,6 +767,9 @@ function restore_backup($C){
|
||||
}elseif($note['type']==='staff'){
|
||||
$note['type']=1;
|
||||
}
|
||||
if(MSGENCRYPTED){
|
||||
$note['text']=base64_encode(sodium_crypto_aead_aes256gcm_encrypt($note['text'], '', AES_IV, ENCRYPTKEY));
|
||||
}
|
||||
$stmt->execute([$note['type'], $note['lastedited'], $note['editedby'], $note['text']]);
|
||||
}
|
||||
}
|
||||
@ -803,7 +804,7 @@ function send_backup($C){
|
||||
$result=$db->query('SELECT * FROM ' . PREFIX . "notes;");
|
||||
while($note=$result->fetch(PDO::FETCH_ASSOC)){
|
||||
if(MSGENCRYPTED){
|
||||
$note['text']=openssl_decrypt($note['text'], 'aes-256-cbc', ENCRYPTKEY, 0, '1234567890123456');
|
||||
$note['text']=sodium_crypto_aead_aes256gcm_decrypt(base64_decode($note['text']), null, AES_IV, ENCRYPTKEY);
|
||||
}
|
||||
$code['notes'][]=$note;
|
||||
}
|
||||
@ -1414,7 +1415,7 @@ function send_frameset(){
|
||||
}else{
|
||||
$bottom='';
|
||||
}
|
||||
if(($U['status']>=5 || ($U['status']>2 && get_count_mods()==0)) && get_setting('enfileupload')){
|
||||
if(($U['status']>=5 || ($U['status']>2 && get_count_mods()==0)) && get_setting('enfileupload')>0 && get_setting('enfileupload')<=$U['status']){
|
||||
$postheight=120;
|
||||
}else{
|
||||
$postheight=100;
|
||||
@ -1438,7 +1439,7 @@ function send_frameset(){
|
||||
}
|
||||
echo "<frame name=\"post\" src=\"$_SERVER[SCRIPT_NAME]?action=post&session=$U[session]&lang=$language\">";
|
||||
}
|
||||
echo "<noframes><body>$I[noframes]".form_target('_parent', 'login').submit($I['backtologin'], 'class="backbutton"').'</form></body></noframes></frameset></html>';
|
||||
echo "<noframes><body>$I[noframes]".form_target('_parent', '').submit($I['backtologin'], 'class="backbutton"').'</form></body></noframes></frameset></html>';
|
||||
exit;
|
||||
}
|
||||
|
||||
@ -1538,7 +1539,7 @@ function send_notes($type){
|
||||
}
|
||||
if(isset($_REQUEST['text'])){
|
||||
if(MSGENCRYPTED){
|
||||
$_REQUEST['text']=openssl_encrypt($_REQUEST['text'], 'aes-256-cbc', ENCRYPTKEY, 0, '1234567890123456');
|
||||
$_REQUEST['text']=base64_encode(sodium_crypto_aead_aes256gcm_encrypt($_REQUEST['text'], '', AES_IV, ENCRYPTKEY));
|
||||
}
|
||||
$time=time();
|
||||
$stmt=$db->prepare('INSERT INTO ' . PREFIX . 'notes (type, lastedited, editedby, text) VALUES (?, ?, ?, ?);');
|
||||
@ -1572,7 +1573,7 @@ function send_notes($type){
|
||||
$note['text']='';
|
||||
}
|
||||
if(MSGENCRYPTED){
|
||||
$note['text']=openssl_decrypt($note['text'], 'aes-256-cbc', ENCRYPTKEY, 0, '1234567890123456');
|
||||
$note['text']=sodium_crypto_aead_aes256gcm_decrypt(base64_decode($note['text']), null, AES_IV, ENCRYPTKEY);
|
||||
}
|
||||
echo "</p>".form('notes');
|
||||
echo "$hiddendo<textarea name=\"text\">".htmlspecialchars($note['text']).'</textarea><br>';
|
||||
@ -1596,7 +1597,7 @@ function send_approve_waiting(){
|
||||
global $I, $db;
|
||||
print_start('approve_waiting');
|
||||
echo "<h2>$I[waitingroom]</h2>";
|
||||
$result=$db->query('SELECT * FROM ' . PREFIX . 'sessions WHERE entry=0 AND status=1 ORDER BY id;');
|
||||
$result=$db->query('SELECT * FROM ' . PREFIX . 'sessions WHERE entry=0 AND status=1 ORDER BY id LIMIT 100;');
|
||||
if($tmp=$result->fetchAll(PDO::FETCH_ASSOC)){
|
||||
echo form('admin', 'approve');
|
||||
echo '<table>';
|
||||
@ -1765,7 +1766,7 @@ function send_post($rejected=''){
|
||||
}
|
||||
}
|
||||
echo '</select></td>';
|
||||
if(get_setting('enfileupload')){
|
||||
if(get_setting('enfileupload')>0 && get_setting('enfileupload')<=$U['status']){
|
||||
if(!$disablepm && ($U['status']>=5 || ($U['status']>=3 && get_count_mods()==0 && get_setting('memkick')))){
|
||||
echo '</tr></table><table><tr id="secondline">';
|
||||
}
|
||||
@ -2017,9 +2018,9 @@ function send_download(){
|
||||
$stmt->execute([$_REQUEST['id']]);
|
||||
if($data=$stmt->fetch(PDO::FETCH_ASSOC)){
|
||||
header("Content-Type: $data[type]");
|
||||
header("Content-disposition: filename=\"$data[filename]\"");
|
||||
header("Content-Disposition: filename=\"$data[filename]\"");
|
||||
header('Pragma: no-cache');
|
||||
header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0');
|
||||
header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0, private');
|
||||
header('Expires: 0');
|
||||
echo base64_decode($data['data']);
|
||||
}else{
|
||||
@ -2033,7 +2034,7 @@ function send_download(){
|
||||
function send_logout(){
|
||||
global $I, $U;
|
||||
print_start('logout');
|
||||
echo '<h1>'.sprintf($I['bye'], style_this(htmlspecialchars($U['nickname']), $U['style'])).'</h1>'.form_target('_parent', 'login').submit($I['backtologin'], 'class="backbutton"').'</form>';
|
||||
echo '<h1>'.sprintf($I['bye'], style_this(htmlspecialchars($U['nickname']), $U['style'])).'</h1>'.form_target('_parent', '').submit($I['backtologin'], 'class="backbutton"').'</form>';
|
||||
print_end();
|
||||
}
|
||||
|
||||
@ -2119,7 +2120,7 @@ function send_chat_disabled(){
|
||||
function send_error($err){
|
||||
global $I;
|
||||
print_start('error');
|
||||
echo "<h2>$I[error]: $err</h2>".form_target('_parent', 'login').submit($I['backtologin'], 'class="backbutton"').'</form>';
|
||||
echo "<h2>$I[error]: $err</h2>".form_target('_parent', '').submit($I['backtologin'], 'class="backbutton"').'</form>';
|
||||
print_end();
|
||||
}
|
||||
|
||||
@ -2162,6 +2163,7 @@ function print_chatters(){
|
||||
$stmt=$db->prepare('SELECT nickname, style, status FROM ' . PREFIX . 'sessions WHERE entry!=0 AND status>0 AND incognito=0 AND nickname NOT IN (SELECT ign FROM '. PREFIX . 'ignored WHERE ignby=? UNION SELECT ignby FROM '. PREFIX . 'ignored WHERE ign=?) ORDER BY status DESC, lastpost DESC;');
|
||||
$stmt->execute([$U['nickname'], $U['nickname']]);
|
||||
$nc=substr(time(), -6);
|
||||
$G=$M=[];
|
||||
while($user=$stmt->fetch(PDO::FETCH_NUM)){
|
||||
$link="<a href=\"$_SERVER[SCRIPT_NAME]?action=post&session=$U[session]&lang=$language&nc=$nc&sendto=".htmlspecialchars($user[0]).'" target="post">'.style_this(htmlspecialchars($user[0]), $user[1]).'</a>';
|
||||
if($user[2]<=2){
|
||||
@ -2186,43 +2188,16 @@ function print_chatters(){
|
||||
// session management
|
||||
|
||||
function create_session($setup, $nickname, $password){
|
||||
global $I, $U, $db, $memcached;
|
||||
$U['nickname']=str_replace(' ', '', $nickname);
|
||||
if(!check_member($password)){
|
||||
global $I, $U;
|
||||
$U['nickname']=preg_replace('/\s/', '', $nickname);
|
||||
if(check_member($password)){
|
||||
if($setup && $U['status']>=7){
|
||||
$U['incognito']=1;
|
||||
}
|
||||
$U['entry']=$U['lastpost']=time();
|
||||
}else{
|
||||
add_user_defaults($password);
|
||||
}
|
||||
$U['entry']=$U['lastpost']=time();
|
||||
if($setup && $U['status']>=7){
|
||||
$U['incognito']=1;
|
||||
}
|
||||
$captcha=(int) get_setting('captcha');
|
||||
if($captcha!==0 && ($U['status']==1 || get_setting('dismemcaptcha')==0)){
|
||||
if(!isset($_REQUEST['challenge'])){
|
||||
send_error($I['wrongcaptcha']);
|
||||
}
|
||||
if(!MEMCACHED){
|
||||
$stmt=$db->prepare('SELECT code FROM ' . PREFIX . 'captcha WHERE id=?;');
|
||||
$stmt->execute([$_REQUEST['challenge']]);
|
||||
$stmt->bindColumn(1, $code);
|
||||
if(!$stmt->fetch(PDO::FETCH_BOUND)){
|
||||
send_error($I['captchaexpire']);
|
||||
}
|
||||
$time=time();
|
||||
$stmt=$db->prepare('DELETE FROM ' . PREFIX . 'captcha WHERE id=? OR time<(?-(SELECT value FROM ' . PREFIX . "settings WHERE setting='captchatime'));");
|
||||
$stmt->execute([$_REQUEST['challenge'], $time]);
|
||||
}else{
|
||||
if(!$code=$memcached->get(DBNAME . '-' . PREFIX . "captcha-$_REQUEST[challenge]")){
|
||||
send_error($I['captchaexpire']);
|
||||
}
|
||||
$memcached->delete(DBNAME . '-' . PREFIX . "captcha-$_REQUEST[challenge]");
|
||||
}
|
||||
if($_REQUEST['captcha']!==$code){
|
||||
if($captcha!==3 || strrev($_REQUEST['captcha'])!==$code){
|
||||
send_error($I['wrongcaptcha']);
|
||||
}
|
||||
}
|
||||
}
|
||||
if($U['status']==1){
|
||||
check_captcha(isset($_REQUEST['challenge']) ? $_REQUEST['challenge'] : '', isset($_REQUEST['captcha']) ? $_REQUEST['captcha'] : '');
|
||||
$ga=(int) get_setting('guestaccess');
|
||||
if(!valid_nick($U['nickname'])){
|
||||
send_error(sprintf($I['invalnick'], get_setting('maxname'), get_setting('nickregex')));
|
||||
@ -2242,6 +2217,37 @@ function create_session($setup, $nickname, $password){
|
||||
write_new_session($password);
|
||||
}
|
||||
|
||||
function check_captcha($challenge, $captcha_code){
|
||||
global $I, $db, $memcached;
|
||||
$captcha=(int) get_setting('captcha');
|
||||
if($captcha!==0){
|
||||
if(empty($challenge)){
|
||||
send_error($I['wrongcaptcha']);
|
||||
}
|
||||
if(MEMCACHED){
|
||||
if(!$code=$memcached->get(DBNAME . '-' . PREFIX . "captcha-$_REQUEST[challenge]")){
|
||||
send_error($I['captchaexpire']);
|
||||
}
|
||||
$memcached->delete(DBNAME . '-' . PREFIX . "captcha-$_REQUEST[challenge]");
|
||||
}else{
|
||||
$stmt=$db->prepare('SELECT code FROM ' . PREFIX . 'captcha WHERE id=?;');
|
||||
$stmt->execute([$challenge]);
|
||||
$stmt->bindColumn(1, $code);
|
||||
if(!$stmt->fetch(PDO::FETCH_BOUND)){
|
||||
send_error($I['captchaexpire']);
|
||||
}
|
||||
$time=time();
|
||||
$stmt=$db->prepare('DELETE FROM ' . PREFIX . 'captcha WHERE id=? OR time<(?-(SELECT value FROM ' . PREFIX . "settings WHERE setting='captchatime'));");
|
||||
$stmt->execute([$challenge, $time]);
|
||||
}
|
||||
if($captcha_code!==$code){
|
||||
if($captcha!==3 || strrev($captcha_code)!==$code){
|
||||
send_error($I['wrongcaptcha']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function write_new_session($password){
|
||||
global $I, $U, $db;
|
||||
$stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'sessions WHERE nickname=?;');
|
||||
@ -2257,7 +2263,7 @@ function write_new_session($password){
|
||||
}
|
||||
}else{
|
||||
// create new session
|
||||
$stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'sessions WHERE session=?;');
|
||||
$stmt=$db->prepare('SELECT null FROM ' . PREFIX . 'sessions WHERE session=?;');
|
||||
do{
|
||||
if(function_exists('random_bytes')){
|
||||
$U['session']=bin2hex(random_bytes(16));
|
||||
@ -2495,6 +2501,9 @@ function check_member($password){
|
||||
$stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'members WHERE nickname=?;');
|
||||
$stmt->execute([$U['nickname']]);
|
||||
if($temp=$stmt->fetch(PDO::FETCH_ASSOC)){
|
||||
if(get_setting('dismemcaptcha')==0){
|
||||
check_captcha(isset($_REQUEST['challenge']) ? $_REQUEST['challenge'] : '', isset($_REQUEST['captcha']) ? $_REQUEST['captcha'] : '');
|
||||
}
|
||||
if($temp['passhash']===md5(sha1(md5($U['nickname'].$password)))){
|
||||
// old hashing method, update on the fly
|
||||
$temp['passhash']=password_hash($password, PASSWORD_DEFAULT);
|
||||
@ -2556,11 +2565,11 @@ function register_guest($status, $nick){
|
||||
|
||||
function register_new($nick, $pass){
|
||||
global $I, $U, $db;
|
||||
$nick=str_replace(' ', '', $nick);
|
||||
$nick=preg_replace('/\s/', '', $nick);
|
||||
if(empty($nick)){
|
||||
return '';
|
||||
}
|
||||
$stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'sessions WHERE nickname=?');
|
||||
$stmt=$db->prepare('SELECT null FROM ' . PREFIX . 'sessions WHERE nickname=?');
|
||||
$stmt->execute([$nick]);
|
||||
if($stmt->fetch(PDO::FETCH_NUM)){
|
||||
return sprintf($I['cantreg'], htmlspecialchars($nick));
|
||||
@ -2571,7 +2580,7 @@ function register_new($nick, $pass){
|
||||
if(!valid_pass($pass)){
|
||||
return sprintf($I['invalpass'], get_setting('minpass'), get_setting('passregex'));
|
||||
}
|
||||
$stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'members WHERE nickname=?');
|
||||
$stmt=$db->prepare('SELECT null FROM ' . PREFIX . 'members WHERE nickname=?');
|
||||
$stmt->execute([$nick]);
|
||||
if($stmt->fetch(PDO::FETCH_NUM)){
|
||||
return sprintf($I['alreadyreged'], htmlspecialchars($nick));
|
||||
@ -2634,7 +2643,7 @@ function passreset($nick, $pass){
|
||||
if(empty($nick)){
|
||||
return '';
|
||||
}
|
||||
$stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'members WHERE nickname=? AND status<?;');
|
||||
$stmt=$db->prepare('SELECT null FROM ' . PREFIX . 'members WHERE nickname=? AND status<?;');
|
||||
$stmt->execute([$nick, $U['status']]);
|
||||
if($stmt->fetch(PDO::FETCH_ASSOC)){
|
||||
$passhash=password_hash($pass, PASSWORD_DEFAULT);
|
||||
@ -2721,7 +2730,7 @@ function save_profile(){
|
||||
$stmt->execute([$_REQUEST['unignore'], $U['nickname']]);
|
||||
}
|
||||
if(!empty($_REQUEST['ignore'])){
|
||||
$stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'messages WHERE poster=? AND poster NOT IN (SELECT ign FROM ' . PREFIX . 'ignored WHERE ignby=?);');
|
||||
$stmt=$db->prepare('SELECT null FROM ' . PREFIX . 'messages WHERE poster=? AND poster NOT IN (SELECT ign FROM ' . PREFIX . 'ignored WHERE ignby=?);');
|
||||
$stmt->execute([$_REQUEST['ignore'], $U['nickname']]);
|
||||
if($U['nickname']!==$_REQUEST['ignore'] && $stmt->fetch(PDO::FETCH_NUM)){
|
||||
$stmt=$db->prepare('INSERT INTO ' . PREFIX . 'ignored (ign, ignby) VALUES (?, ?);');
|
||||
@ -2763,7 +2772,7 @@ function save_profile(){
|
||||
|
||||
function set_new_nickname(){
|
||||
global $I, $U, $db;
|
||||
$_REQUEST['newnickname']=str_replace(' ', '', $_REQUEST['newnickname']);
|
||||
$_REQUEST['newnickname']=preg_replace('/\s/', '', $_REQUEST['newnickname']);
|
||||
if(!valid_nick($_REQUEST['newnickname'])){
|
||||
return sprintf($I['invalnick'], get_setting('maxname'), get_setting('nickregex'));
|
||||
}
|
||||
@ -2821,6 +2830,7 @@ function add_user_defaults($password){
|
||||
$U['sortupdown']=get_setting('sortupdown');
|
||||
$U['hidechatters']=get_setting('hidechatters');
|
||||
$U['passhash']=password_hash($password, PASSWORD_DEFAULT);
|
||||
$U['entry']=$U['lastpost']=time();
|
||||
}
|
||||
|
||||
// message handling
|
||||
@ -2866,23 +2876,32 @@ function validate_input(){
|
||||
}elseif($_REQUEST['sendto']==='s &' && $U['status']>=6){
|
||||
$poststatus=6;
|
||||
$displaysend=sprintf(get_setting('msgsendadm'), style_this(htmlspecialchars($U['nickname']), $U['style']));
|
||||
}else{// known nick in room?
|
||||
}else{ // known nick in room?
|
||||
if(get_setting('disablepm')){
|
||||
//PMs disabled
|
||||
return;
|
||||
}
|
||||
$stmt=$db->prepare('SELECT * FROM (SELECT nickname, style, 1 AS inbox FROM ' . PREFIX . 'members WHERE nickname=? AND eninbox!=0 AND eninbox<=? AND nickname NOT IN (SELECT nickname FROM ' . PREFIX . 'sessions) UNION SELECT nickname, style, 0 AS inbox FROM ' . PREFIX . 'sessions WHERE nickname=?) AS t WHERE nickname NOT IN (SELECT ign FROM ' . PREFIX . 'ignored WHERE ignby=? UNION SELECT ignby FROM ' . PREFIX . 'ignored WHERE ign=?);');
|
||||
$stmt->execute([$_REQUEST['sendto'], $U['status'], $_REQUEST['sendto'], $U['nickname'], $U['nickname']]);
|
||||
if($tmp=$stmt->fetch(PDO::FETCH_ASSOC)){
|
||||
$recipient=$_REQUEST['sendto'];
|
||||
$poststatus=9;
|
||||
$displaysend=sprintf(get_setting('msgsendprv'), style_this(htmlspecialchars($U['nickname']), $U['style']), style_this(htmlspecialchars($recipient), $tmp['style']));
|
||||
$inbox=$tmp['inbox'];
|
||||
}
|
||||
if(empty($recipient)){// nick left already or ignores us
|
||||
$message='';
|
||||
$rejected='';
|
||||
$stmt=$db->prepare('SELECT null FROM ' . PREFIX . 'ignored WHERE (ignby=? AND ign=?) OR (ign=? AND ignby=?);');
|
||||
$stmt->execute([$_REQUEST['sendto'], $U['nickname'], $_REQUEST['sendto'], $U['nickname']]);
|
||||
if($stmt->fetch(PDO::FETCH_NUM)){
|
||||
//ignored
|
||||
return;
|
||||
}
|
||||
$tmp=false;
|
||||
$stmt=$db->prepare('SELECT s.style, 0 AS inbox FROM ' . PREFIX . 'sessions AS s LEFT JOIN ' . PREFIX . 'members AS m ON (m.nickname=s.nickname) WHERE s.nickname=? AND (s.incognito=0 OR (m.eninbox!=0 AND m.eninbox<=?));');
|
||||
$stmt->execute([$_REQUEST['sendto'], $U['status']]);
|
||||
if(!$tmp=$stmt->fetch(PDO::FETCH_ASSOC)){
|
||||
$stmt=$db->prepare('SELECT style, 1 AS inbox FROM ' . PREFIX . 'members WHERE nickname=? AND eninbox!=0 AND eninbox<=?;');
|
||||
$stmt->execute([$_REQUEST['sendto'], $U['status']]);
|
||||
if(!$tmp=$stmt->fetch(PDO::FETCH_ASSOC)){
|
||||
//nickname left or disabled offline inbox for us
|
||||
return;
|
||||
}
|
||||
}
|
||||
$recipient=$_REQUEST['sendto'];
|
||||
$poststatus=9;
|
||||
$displaysend=sprintf(get_setting('msgsendprv'), style_this(htmlspecialchars($U['nickname']), $U['style']), style_this(htmlspecialchars($recipient), $tmp['style']));
|
||||
$inbox=$tmp['inbox'];
|
||||
}
|
||||
if($poststatus!==9 && preg_match('~^/me~iu', $message)){
|
||||
$displaysend=style_this(htmlspecialchars("$U[nickname] "), $U['style']);
|
||||
@ -2891,7 +2910,7 @@ function validate_input(){
|
||||
$message=apply_filter($message, $poststatus, $U['nickname']);
|
||||
$message=create_hotlinks($message);
|
||||
$message=apply_linkfilter($message);
|
||||
if(isset($_FILES['file']) && get_setting('enfileupload')){
|
||||
if(isset($_FILES['file']) && get_setting('enfileupload')>0 && get_setting('enfileupload')<=$U['status']){
|
||||
if($_FILES['file']['error']===UPLOAD_ERR_OK && $_FILES['file']['size']<=(1024*get_setting('maxuploadsize'))){
|
||||
$hash=sha1_file($_FILES['file']['tmp_name']);
|
||||
$name=htmlspecialchars($_FILES['file']['name']);
|
||||
@ -2913,7 +2932,7 @@ function validate_input(){
|
||||
'text' =>"<span class=\"usermsg\">$displaysend".style_this($message, $U['style']).'</span>'
|
||||
];
|
||||
if(MSGENCRYPTED){
|
||||
$newmessage['text']=openssl_encrypt($newmessage['text'], 'aes-256-cbc', ENCRYPTKEY, 0, '1234567890123456');
|
||||
$newmessage['text']=base64_encode(sodium_crypto_aead_aes256gcm_encrypt($newmessage['text'], '', AES_IV, ENCRYPTKEY));
|
||||
}
|
||||
$stmt=$db->prepare('INSERT INTO ' . PREFIX . 'inbox (postdate, postid, poster, recipient, text) VALUES(?, ?, ?, ?, ?)');
|
||||
$stmt->execute([$newmessage['postdate'], $id[0], $newmessage['poster'], $newmessage['recipient'], $newmessage['text']]);
|
||||
@ -3005,15 +3024,15 @@ function create_hotlinks($message){
|
||||
$message=preg_replace('~((?:[^\s<>]*:[^\s<>]*@)?[a-z0-9\-]+(?:\.[a-z0-9\-]+)+:\d+)(?![^<>]*>)~iu', "<<$1>>", $message); // server:port given
|
||||
$message=preg_replace('~([^\s<>]*:[^\s<>]*@[a-z0-9\-]+(?:\.[a-z0-9\-]+)+(?::\d+)?)(?![^<>]*>)~iu', "<<$1>>", $message); // au:th@server given
|
||||
// 3. likely servers without any hints but not filenames like *.rar zip exe etc.
|
||||
$message=preg_replace('~((?:[a-z0-9\-]+\.)*[a-z2-7]{16}\.onion)(?![^<>]*>)~iu', "<<$1>>", $message);// *.onion
|
||||
$message=preg_replace('~((?:[a-z0-9\-]+\.)*(?:[a-z2-7]{55}d|[a-z2-7]{16})\.onion)(?![^<>]*>)~iu', "<<$1>>", $message);// *.onion
|
||||
$message=preg_replace('~([a-z0-9\-]+(?:\.[a-z0-9\-]+)+(?:\.(?!rar|zip|exe|gz|7z|bat|doc)[a-z]{2,}))(?=[^a-z0-9\-\.]|$)(?![^<>]*>)~iu', "<<$1>>", $message);// xxx.yyy.zzz
|
||||
// Convert every <<....>> into proper links:
|
||||
$message=preg_replace_callback('/<<([^<>]+)>>/u',
|
||||
function ($matches){
|
||||
if(strpos($matches[1], '://')===false){
|
||||
return "<a href=\"http://$matches[1]\" target=\"_blank\">$matches[1]</a>";
|
||||
return "<a href=\"http://$matches[1]\" target=\"_blank\" rel=\"noreferrer noopener\">$matches[1]</a>";
|
||||
}else{
|
||||
return "<a href=\"$matches[1]\" target=\"_blank\">$matches[1]</a>";
|
||||
return "<a href=\"$matches[1]\" target=\"_blank\" rel=\"noreferrer noopener\">$matches[1]</a>";
|
||||
}
|
||||
}
|
||||
, $message);
|
||||
@ -3062,7 +3081,7 @@ function apply_mention($message){
|
||||
|
||||
function add_message($message, $recipient, $poster, $delstatus, $poststatus, $displaysend, $style){
|
||||
global $db;
|
||||
if(empty($message)){
|
||||
if($message===''){
|
||||
return false;
|
||||
}
|
||||
$newmessage=[
|
||||
@ -3084,7 +3103,7 @@ function add_message($message, $recipient, $poster, $delstatus, $poststatus, $di
|
||||
}
|
||||
|
||||
function add_system_message($mes){
|
||||
if(empty($mes)){
|
||||
if($mes===''){
|
||||
return;
|
||||
}
|
||||
$sysmessage=[
|
||||
@ -3101,7 +3120,7 @@ function add_system_message($mes){
|
||||
function write_message($message){
|
||||
global $db;
|
||||
if(MSGENCRYPTED){
|
||||
$message['text']=openssl_encrypt($message['text'], 'aes-256-cbc', ENCRYPTKEY, 0, '1234567890123456');
|
||||
$message['text']=base64_encode(sodium_crypto_aead_aes256gcm_encrypt($message['text'], '', AES_IV, ENCRYPTKEY));
|
||||
}
|
||||
$stmt=$db->prepare('INSERT INTO ' . PREFIX . 'messages (postdate, poststatus, poster, recipient, text, delstatus) VALUES (?, ?, ?, ?, ?, ?);');
|
||||
$stmt->execute([$message['postdate'], $message['poststatus'], $message['poster'], $message['recipient'], $message['text'], $message['delstatus']]);
|
||||
@ -3222,7 +3241,7 @@ function print_messages($delstatus=0){
|
||||
|
||||
function prepare_message_print(&$message, $removeEmbed){
|
||||
if(MSGENCRYPTED){
|
||||
$message['text']=openssl_decrypt($message['text'], 'aes-256-cbc', ENCRYPTKEY, 0, '1234567890123456');
|
||||
$message['text']=sodium_crypto_aead_aes256gcm_decrypt(base64_decode($message['text']), null, AES_IV, ENCRYPTKEY);
|
||||
}
|
||||
if($removeEmbed){
|
||||
$message['text']=preg_replace_callback('/<img src="([^"]+)"><\/a>/u',
|
||||
@ -3242,6 +3261,9 @@ function send_headers(){
|
||||
header('Expires: 0');
|
||||
header('Referrer-Policy: no-referrer');
|
||||
header('Content-Security-Policy: referrer never');
|
||||
header('X-Content-Type-Options: nosniff');
|
||||
header('X-Frame-Options: sameorigin');
|
||||
header('X-XSS-Protection: 1; mode=block');
|
||||
if($_SERVER['REQUEST_METHOD']==='HEAD'){
|
||||
exit; // headers sent, no further processing needed
|
||||
}
|
||||
@ -3285,7 +3307,7 @@ function save_setup($C){
|
||||
if($_REQUEST['memberexpire']<5){
|
||||
$_REQUEST['memberexpire']=5;
|
||||
}
|
||||
if($_REQUEST['captchatime']<30){
|
||||
if($_REQUEST['captchatime']<30){
|
||||
$_REQUEST['memberexpire']=30;
|
||||
}
|
||||
if($_REQUEST['defaultrefresh']<5){
|
||||
@ -3409,7 +3431,7 @@ function style_this($text, $styleinfo){
|
||||
|
||||
function check_init(){
|
||||
global $db;
|
||||
return @$db->query('SELECT * FROM ' . PREFIX . 'settings LIMIT 1;');
|
||||
return @$db->query('SELECT null FROM ' . PREFIX . 'settings LIMIT 1;');
|
||||
}
|
||||
|
||||
// run every minute doing various database cleanup task
|
||||
@ -3452,6 +3474,9 @@ function cron(){
|
||||
while($tmp=$result->fetch(PDO::FETCH_NUM)){
|
||||
$stmt->execute([$tmp[0], $tmp[0]]);
|
||||
}
|
||||
// delete old captchas
|
||||
$stmt=$db->prepare('DELETE FROM ' . PREFIX . 'captcha WHERE time<(?-(SELECT value FROM ' . PREFIX . "settings WHERE setting='captchatime'));");
|
||||
$stmt->execute([$time]);
|
||||
}
|
||||
|
||||
function destroy_chat($C){
|
||||
@ -3490,8 +3515,8 @@ function init_chat(){
|
||||
$suwrite='';
|
||||
if(check_init()){
|
||||
$suwrite=$I['initdbexist'];
|
||||
$result=$db->query('SELECT * FROM ' . PREFIX . 'members WHERE status=8;');
|
||||
if($result->fetch(PDO::FETCH_ASSOC)){
|
||||
$result=$db->query('SELECT null FROM ' . PREFIX . 'members WHERE status=8;');
|
||||
if($result->fetch(PDO::FETCH_NUM)){
|
||||
$suwrite=$I['initsuexist'];
|
||||
}
|
||||
}elseif(!preg_match('/^[a-z0-9]{1,20}$/i', $_REQUEST['sunick'])){
|
||||
@ -3618,6 +3643,7 @@ function init_chat(){
|
||||
['maxuploadsize', '1024'],
|
||||
['nextcron', '0'],
|
||||
['personalnotes', '1'],
|
||||
['filtermodkick', '0'],
|
||||
];
|
||||
$stmt=$db->prepare('INSERT INTO ' . PREFIX . 'settings (setting, value) VALUES (?, ?);');
|
||||
foreach($settings as $pair){
|
||||
@ -3639,7 +3665,6 @@ function init_chat(){
|
||||
'eninbox' =>0,
|
||||
'sortupdown' =>0,
|
||||
'hidechatters' =>0,
|
||||
'filtermodkick' =>1,
|
||||
];
|
||||
$stmt=$db->prepare('INSERT INTO ' . PREFIX . 'members (nickname, passhash, status, refresh, bgcolour, timestamps, style, embed, incognito, nocache, tz, eninbox, sortupdown, hidechatters, nocache_old) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);');
|
||||
$stmt->execute([$reg['nickname'], $reg['passhash'], $reg['status'], $reg['refresh'], $reg['bgcolour'], $reg['timestamps'], $reg['style'], $reg['embed'], $reg['incognito'], $reg['nocache'], $reg['tz'], $reg['eninbox'], $reg['sortupdown'], $reg['hidechatters'], $reg['nocache_old']]);
|
||||
@ -3946,9 +3971,6 @@ function update_db(){
|
||||
$db->exec('CREATE INDEX ' . PREFIX . 'notes_type ON ' . PREFIX . 'notes(type);');
|
||||
$db->exec('CREATE INDEX ' . PREFIX . 'notes_editedby ON ' . PREFIX . 'notes(editedby);');
|
||||
}
|
||||
if($dbversion<40){
|
||||
$db->exec('INSERT INTO ' . PREFIX . "settings (setting, value) VALUES ('filtermodkick', '1');");
|
||||
}
|
||||
if($dbversion<41){
|
||||
$db->exec('DROP TABLE ' . PREFIX . 'sessions;');
|
||||
$db->exec('CREATE TABLE ' . PREFIX . "sessions (id $primary, session char(32) NOT NULL UNIQUE, nickname varchar(50) NOT NULL UNIQUE, status smallint NOT NULL, refresh smallint NOT NULL, style varchar(255) NOT NULL, lastpost integer NOT NULL, passhash varchar(255) NOT NULL, postid char(6) NOT NULL DEFAULT '000000', useragent varchar(255) NOT NULL, kickmessage varchar(255) DEFAULT '', bgcolour char(6) NOT NULL, entry integer NOT NULL, timestamps smallint NOT NULL, embed smallint NOT NULL, incognito smallint NOT NULL, ip varchar(45) NOT NULL, nocache smallint NOT NULL, tz varchar(255) NOT NULL, eninbox smallint NOT NULL, sortupdown smallint NOT NULL, hidechatters smallint NOT NULL, nocache_old smallint NOT NULL)$memengine$charset;");
|
||||
@ -3975,18 +3997,21 @@ function update_db(){
|
||||
$db->exec('CREATE INDEX ' . PREFIX . 'inbox_recipient ON ' . PREFIX . 'inbox(recipient);');
|
||||
$db->exec('ALTER TABLE ' . PREFIX . 'inbox ADD FOREIGN KEY (recipient) REFERENCES ' . PREFIX . 'members(nickname) ON DELETE CASCADE ON UPDATE CASCADE;');
|
||||
}
|
||||
if($dbversion<42){
|
||||
$db->exec('INSERT IGNORE INTO ' . PREFIX . "settings (setting, value) VALUES ('filtermodkick', '1');");
|
||||
}
|
||||
update_setting('dbversion', DBVERSION);
|
||||
if($msgencrypted!==MSGENCRYPTED){
|
||||
if(!extension_loaded('openssl')){
|
||||
send_fatal_error($I['opensslextrequired']);
|
||||
if(!extension_loaded('sodium')){
|
||||
send_fatal_error($I['sodiumextrequired']);
|
||||
}
|
||||
$result=$db->query('SELECT id, text FROM ' . PREFIX . 'messages;');
|
||||
$stmt=$db->prepare('UPDATE ' . PREFIX . 'messages SET text=? WHERE id=?;');
|
||||
while($message=$result->fetch(PDO::FETCH_ASSOC)){
|
||||
if(MSGENCRYPTED){
|
||||
$message['text']=openssl_encrypt($message['text'], 'aes-256-cbc', ENCRYPTKEY, 0, '1234567890123456');
|
||||
$message['text']=base64_encode(sodium_crypto_aead_aes256gcm_encrypt($message['text'], '', AES_IV, ENCRYPTKEY));
|
||||
}else{
|
||||
$message['text']=openssl_decrypt($message['text'], 'aes-256-cbc', ENCRYPTKEY, 0, '1234567890123456');
|
||||
$message['text']=sodium_crypto_aead_aes256gcm_decrypt(base64_decode($message['text']), null, AES_IV, ENCRYPTKEY);
|
||||
}
|
||||
$stmt->execute([$message['text'], $message['id']]);
|
||||
}
|
||||
@ -3994,9 +4019,9 @@ function update_db(){
|
||||
$stmt=$db->prepare('UPDATE ' . PREFIX . 'notes SET text=? WHERE id=?;');
|
||||
while($message=$result->fetch(PDO::FETCH_ASSOC)){
|
||||
if(MSGENCRYPTED){
|
||||
$message['text']=openssl_encrypt($message['text'], 'aes-256-cbc', ENCRYPTKEY, 0, '1234567890123456');
|
||||
$message['text']=base64_encode(sodium_crypto_aead_aes256gcm_encrypt($message['text'], '', AES_IV, ENCRYPTKEY));
|
||||
}else{
|
||||
$message['text']=openssl_decrypt($message['text'], 'aes-256-cbc', ENCRYPTKEY, 0, '1234567890123456');
|
||||
$message['text']=sodium_crypto_aead_aes256gcm_decrypt(base64_decode($message['text']), null, AES_IV, ENCRYPTKEY);
|
||||
}
|
||||
$stmt->execute([$message['text'], $message['id']]);
|
||||
}
|
||||
@ -4094,6 +4119,7 @@ function check_db(){
|
||||
if(!check_init()){
|
||||
send_init();
|
||||
}
|
||||
update_db();
|
||||
}elseif($_REQUEST['action']==='init'){
|
||||
init_chat();
|
||||
}
|
||||
@ -4119,13 +4145,16 @@ function load_fonts(){
|
||||
function load_lang(){
|
||||
global $I, $L, $language;
|
||||
$L=[
|
||||
'bg' =>'Български',
|
||||
'cz' =>'čeština',
|
||||
'de' =>'Deutsch',
|
||||
'en' =>'English',
|
||||
'es_AR' =>'Español (Argentina)',
|
||||
'es_ES' =>'Español (España)',
|
||||
'es' =>'Español',
|
||||
'fr' =>'Français',
|
||||
'id' =>'Bahasa Indonesia',
|
||||
'it' =>'Italiano',
|
||||
'ru' =>'Русский',
|
||||
'uk' =>'Українська',
|
||||
'zh_CN' =>'简体中文',
|
||||
];
|
||||
if(isset($_REQUEST['lang']) && isset($L[$_REQUEST['lang']])){
|
||||
@ -4151,10 +4180,11 @@ function load_lang(){
|
||||
|
||||
function load_config(){
|
||||
mb_internal_encoding('UTF-8');
|
||||
define('VERSION', '1.23.2'); // Script version
|
||||
define('DBVERSION', 41); // Database layout version
|
||||
define('VERSION', '1.24'); // Script version
|
||||
define('DBVERSION', 42); // Database layout version
|
||||
define('MSGENCRYPTED', false); // Store messages encrypted in the database to prevent other database users from reading them - true/false - visit the setup page after editing!
|
||||
define('ENCRYPTKEY', 'MY_KEY'); // Encryption key for messages
|
||||
define('ENCRYPTKEY_PASS', 'MY_SECRET_KEY'); // Encryption key for messages
|
||||
define('AES_IV_PASS', '1234567890123456'); //AES Encryption IV
|
||||
define('DBHOST', 'localhost'); // Database host
|
||||
define('DBUSER', 'www-data'); // Database user
|
||||
define('DBPASS', 'YOUR_DB_PASS'); // Database password
|
||||
@ -4172,5 +4202,9 @@ function load_config(){
|
||||
}
|
||||
define('COOKIENAME', PREFIX . 'chat_session'); // Cookie name storing the session information
|
||||
define('LANG', 'en'); // Default language
|
||||
if (MSGENCRYPTED){
|
||||
//Do not touch: Compute real keys needed by encryption functions
|
||||
define('ENCRYPTKEY', substr(hash("sha512/256",ENCRYPTKEY_PASS),0, SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES));
|
||||
define('AES_IV', substr(hash("sha512/256",AES_IV_PASS), 0, SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES));
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
8
chatters_list_on_right_example.css
Normal file
8
chatters_list_on_right_example.css
Normal file
@ -0,0 +1,8 @@
|
||||
.msg {padding: 0.5em 0; border-bottom: 1px solid #363636}
|
||||
input, select, textarea, button {padding: 0.2em; border: 1px solid #ffffff; border-radius: 0.5em}
|
||||
#messages small {color: #989898}
|
||||
#messages {display: block; width: 79%}
|
||||
.messages #topic {display: block; width: 79%}
|
||||
.messages #chatters {display: block; float:right; width: 20%; overflow-y: auto; position:fixed; right:0px; max-height:100%; bottom:2em; top:2em;}
|
||||
.messages #chatters td, #chatters tr, #chatters th {display: table-row; width: 100%!important;}
|
||||
.messages #chatters table a {display: table-row; line-height: 0;}
|
368
lang_bg.php
Normal file
368
lang_bg.php
Normal file
@ -0,0 +1,368 @@
|
||||
<?php
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - Bulgarian translation
|
||||
*
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
//Native language name: Български
|
||||
$T=[
|
||||
'nodb' => 'Няма връзка с базата данни!',
|
||||
'nodbsetup' => 'Няма връзка с базата данни, моля създайте база данни и редактирайте скрипта да използва правилната база данни със съответния потребител и парола.',
|
||||
'changelang' => 'Смени езика:',
|
||||
'expire' => 'Невалидна/изтекла сесия',
|
||||
'kicked' => 'Ти беше изгонен от чата!',
|
||||
'invalnick' => 'Невалиден ник (Максимум %1$d символа и трябва да съвпада с регулярния израз "%2$s")',
|
||||
'invalpass' => 'Невалидна парола (Най-малко %1$d символа и трябва да съвпада с регулярния израз "%2$s")',
|
||||
'noconfirm' => 'Полето за потвърждение на паролата не съвпада!',
|
||||
'incorregex' => 'Невалиден регулярен израз!',
|
||||
'bottom' => 'Най-долу',
|
||||
'top' => 'Горе',
|
||||
'choose' => '(избери)',
|
||||
'setup' => 'Инсталация на чата',
|
||||
'init' => 'Първоначална инсталация',
|
||||
'sulogin' => 'Потребителско име на супер-администратора:',
|
||||
'sunick' => 'Ник на супер-администратора:',
|
||||
'supass' => 'Парола на супер-администратора:',
|
||||
'suconfirm' => 'Потвърди паролата:',
|
||||
'susuccess' => 'Успешна регистрация!',
|
||||
'initbtn' => 'Инициализация на чата',
|
||||
'initdbexist' => 'Таблиците в базата данни вече съществуват! За да продължите, моля първо изтрийте тези таблици ръчно.',
|
||||
'initsuexist' => 'Вече съществува супер-администратор!',
|
||||
'initgosetup' => 'Отиди към страницата за инсталация',
|
||||
'captcha' => 'Captcha',
|
||||
'enabled' => 'Разрешено',
|
||||
'onlyguests' => 'Само за гости',
|
||||
'disabled' => 'Забранено',
|
||||
'simple' => 'Просто',
|
||||
'moderate' => 'Умерено',
|
||||
'extreme' => 'Екстремно',
|
||||
'nick' => 'Ник:',
|
||||
'pass' => 'Парола:',
|
||||
'globalloginpass' => 'Глобална парола:',
|
||||
'login' => 'Вход',
|
||||
'dbupdate' => 'Базата данни бе успешно обновена!',
|
||||
'sysmessages' => 'Системни съобщения',
|
||||
'msgenter' => 'Влизане',
|
||||
'msgexit' => 'Напускане',
|
||||
'msgmemreg' => 'Членът е регистриран',
|
||||
'msgsureg' => 'Кандидатът е регистриран',
|
||||
'msgkick' => 'Изгонен',
|
||||
'msgmultikick' => 'Множество изгонени',
|
||||
'msgallkick' => 'Всички са изгонени',
|
||||
'msgclean' => 'Стаята беше почистена',
|
||||
'dateformat' => '<a target="_blank" href="http://php.net/manual/en/function.date.php#refsect1-function.date-parameters">Формат на дата</a>',
|
||||
'admfunc' => 'Административни функции',
|
||||
'allguests' => 'Всички гости',
|
||||
'cleanmsgs' => 'Изчисти съобщенията',
|
||||
'room' => 'Цялата стая',
|
||||
'selection' => 'Избор',
|
||||
'cleannick' => 'Следния ник:',
|
||||
'clean' => 'Изчисти',
|
||||
'kickchat' => 'Изгони потребител (%d минути)',
|
||||
'kickreason' => 'Причина:',
|
||||
'kickpurge' => 'Заличи съобщенията',
|
||||
'kick' => 'Изгони',
|
||||
'logoutinact' => 'Изкарай неактивен потребител от чата',
|
||||
'logout' => 'Изкарай',
|
||||
'sessions' => 'Виж активните сесии',
|
||||
'view' => 'Виж',
|
||||
'filter' => 'Филтър',
|
||||
'guestacc' => 'Промени достъпа за гост',
|
||||
'guestallow' => 'Позволи',
|
||||
'guestwait' => 'Позволи с чакалня',
|
||||
'adminallow' => 'Изисквай одобрение от модератор',
|
||||
'guestdisallow' => 'Само членове',
|
||||
'addsuguest' => 'Регистрирай кандидат',
|
||||
'register' => 'Регистрирай',
|
||||
'admmembers' => 'Членове',
|
||||
'memdel' => 'Изтрий от базата данни',
|
||||
'memdeny' => 'Забрани достъп (!)',
|
||||
'memsuguest' => 'Направи кандидат (G)',
|
||||
'memreg' => 'Направи обикновен член',
|
||||
'memmod' => 'Направи модератор (M)',
|
||||
'memsumod' => 'Направи супер-модератор (SM)',
|
||||
'memadm' => 'Направи администратор (A)',
|
||||
'change' => 'Промени',
|
||||
'regguest' => 'Регистрирай гост',
|
||||
'regmem' => 'Регистрирай нов член',
|
||||
'sessact' => 'Активни сесии',
|
||||
'sessnick' => 'Ник',
|
||||
'sesstimeout' => 'Изтичане след',
|
||||
'sessua' => 'User-Agent',
|
||||
'fid' => 'Филтър ID:',
|
||||
'match' => 'Съвпадение',
|
||||
'replace' => 'Замени',
|
||||
'allowpm' => 'Разреши в ЛС',
|
||||
'regex' => 'Регулярен израз',
|
||||
'apply' => 'Приложи',
|
||||
'newfilter' => 'Нов филтър:',
|
||||
'add' => 'Добави',
|
||||
'noframes' => 'Този чат използва <b>фреймове</b>. Моля позволете фреймовете във вашия браузър или използвайте друг, подходящ.',
|
||||
'delselmes' => 'Изтрий избраните съобщения',
|
||||
'staffnotes' => 'Бележки на екипа',
|
||||
'adminnotes' => 'Администраторски бележки',
|
||||
'notessaved' => 'Бележките са запазени!',
|
||||
'lastedited' => 'Последна редакция от %1$s на %2$s',
|
||||
'savenotes' => 'Запази бележките',
|
||||
'waitingroom' => 'Чакалня',
|
||||
'waittext' => 'Добре дошъл, %1$s, влизането ти беше отложено, ще можеш да влезеш в чата след %2$d секунди.',
|
||||
'admwaittext' => 'Добре дошъл, %1$s, влизането ти беше отложено, ще можеш да влезеш в чата след като бъдеш одобрен от модератор.',
|
||||
'waitreload' => 'Ако тази страница не се презарежда сама на всеки %d секунди, моля използвайте бутона за презареждане по-долу за да я презаредите ръчно',
|
||||
'reload' => 'Презареди',
|
||||
'rules' => 'Правила',
|
||||
'talkto' => 'Изпрати до',
|
||||
'toall' => 'Всички в чата',
|
||||
'tomem' => 'Само до членовете',
|
||||
'tostaff' => 'Само до екипа',
|
||||
'toadmin' => 'Само до админ',
|
||||
'alsopurge' => 'Също заличи съобщенията',
|
||||
'dellast' => 'Изтрий последното съобщение',
|
||||
'delall' => 'Изтрий всички съобщения',
|
||||
'switchsingle' => 'Превключи на многоредово поле',
|
||||
'switchmulti' => 'Превключи на едноредово поле',
|
||||
'help' => 'Помощ',
|
||||
'helpguest' => 'Предназначението на всички функции трябва да е ясно, просто използвай бутоните. В профила си можеш да променяш интервала на опресняване на чата и цвета на шрифта, а също така и да игнорираш потребители.<br><u>Забележка:</u> Това е чат, така че ако спреш да чатиш, след известно време ще бъдеш амтоматично изкаран от чата.',
|
||||
'helpembed' => 'Ако искаш да вградиш изображение в поста си, просто използвай тага [img] пред линка с изображението. Пример: [img]http://example.com/images/file.jpg ще вгради изображението в поста ти.',
|
||||
'helpmem' => 'Членове: Вие ще имате някои допълнителни опции. Може да променяте цвета на фона, да променяте паролата си по всяко време, и разбира се, да изтриете акаунта си.',
|
||||
'helpmod' => 'Модератори: Забележете админ бутона най-долу. Натискането му ще изведе страница, през която ще можете да почистите стаята, да гоните потребители, да преглеждате всички активни сесии и да забраните напълно достъпа на гости, ако е необходимо.',
|
||||
'helpadm' => 'Администратори: Вие ще можете допълнително да регистрирате гости, да редактирате профили на членове и да регистрирате нови никове.',
|
||||
'profile' => 'Твоят профил',
|
||||
'ignore' => 'Игнорирай',
|
||||
'unignore' => 'Спри да игнорираш',
|
||||
'refreshrate' => 'Честота на опресняване (5-150 секунди)',
|
||||
'fontcolour' => 'Цвят на шрифта',
|
||||
'viewexample' => 'Виж примери',
|
||||
'bgcolour' => 'Цвят на фона',
|
||||
'fontface' => 'Облик на шрифта',
|
||||
'roomdefault' => 'По подразбиране за стаята',
|
||||
'bold' => 'Получер',
|
||||
'italic' => 'Курсив',
|
||||
'small' => 'Малък',
|
||||
'fontexample' => 'Пример за избрания шрифт',
|
||||
'timestamps' => 'Покажи времеви маркери',
|
||||
'embed' => 'Вграждане на изображения',
|
||||
'incognito' => 'Режим Инкогнито',
|
||||
'changenick' => 'Промени ник',
|
||||
'changepass' => 'Промени парола',
|
||||
'oldpass' => 'Стара парола:',
|
||||
'newpass' => 'Нова парола:',
|
||||
'confirmpass' => 'Потвърди новата парола:',
|
||||
'savechanges' => 'Запази промените',
|
||||
'reloadpb' => 'Презареди пощенската кутия',
|
||||
'reloadmsgs' => 'Презареди съобщенията',
|
||||
'chgprofile' => 'Профил',
|
||||
'adminbtn' => 'Администрация',
|
||||
'admnotes' => 'Администраторски бележки',
|
||||
'notes' => 'Бележки',
|
||||
'clone' => 'Клонирай',
|
||||
'randh' => 'Правила & Помощ',
|
||||
'exit' => 'Изход от чата',
|
||||
'bye' => 'Чао, драги %s, скоро те очакваме отново!',
|
||||
'colourtable' => 'Таблица с цветове',
|
||||
'backtoprofile' => 'Обратно в твоя профил',
|
||||
'copy' => 'Препиши:',
|
||||
'choosecol' => 'Гости, изберете цвят:',
|
||||
'randomcol' => 'Произволен цвят',
|
||||
'enter' => 'Влез в чата',
|
||||
'error' => 'Грешка',
|
||||
'members' => 'Членове',
|
||||
'guests' => 'Гости',
|
||||
'approveguests' => '%d нови гости чакат одобрение',
|
||||
'allowchecked' => 'Допусни избраните',
|
||||
'allowall' => 'Допусни всички',
|
||||
'denychecked' => 'Не допускай избраните',
|
||||
'denyall' => 'Не допускай никого',
|
||||
'denymessage' => 'Изпрати съобщение до недопуснатите:',
|
||||
'butallowdeny' => 'Изпрати',
|
||||
'waitempty' => 'Няма повече заявки за присъединяване, чакащи одобрение.',
|
||||
'wrongcaptcha' => 'Грешна Captcha',
|
||||
'captchaexpire' => 'Captcha-та е вече използвана или е изтекла.',
|
||||
'noguests' => 'Съжаляваме, но в момента се допускат само членове!',
|
||||
'curchat' => 'В стаята има %d потребители:',
|
||||
'cantreg' => 'Не мога да регистрирам %s',
|
||||
'alreadyreged' => '%s е вече регистриран.',
|
||||
'successreg' => '%s е успешно регистриран.',
|
||||
'cantchgstat' => 'Не мога да променя статуса на %s',
|
||||
'succdel' => '%s е успешно изтрит от базата данни.',
|
||||
'succchg' => 'Статусът за %s бе успешно променен.',
|
||||
'wrongpass' => 'Грешна парола!',
|
||||
'wrongglobalpass' => 'Грешна глобална парола!',
|
||||
'succprofile' => 'Профилът ти беше успешно съхранен.',
|
||||
'backtologin' => 'Обратно към страницата за вход.',
|
||||
'backtochat' => 'Обратно към чата.',
|
||||
'Beige' => 'Бежово',
|
||||
'Black' => 'Черно',
|
||||
'Blue' => 'Синьо',
|
||||
'BlueViolet' => 'Виолетово-синьо',
|
||||
'Brown' => 'Кафяво',
|
||||
'Cyan' => 'Зелено-синьо',
|
||||
'DarkBlue' => 'Тъмносиньо',
|
||||
'DarkGreen' => 'Тъмнозелено',
|
||||
'DarkRed' => 'Тъмночервено',
|
||||
'DarkViolet' => 'Тъмновиолетово',
|
||||
'DeepSkyBlue' => 'Небесно синьо',
|
||||
'Gold' => 'Златно',
|
||||
'Grey' => 'Сиво',
|
||||
'Green' => 'Зелено',
|
||||
'HotPink' => 'Топло розово',
|
||||
'Indigo' => 'Индиго',
|
||||
'LightBlue' => 'Светлосиньо',
|
||||
'LightGreen' => 'Светлозелено',
|
||||
'LimeGreen' => 'Липовозелено',
|
||||
'Magenta' => 'Лилаво-червено (Маджента)',
|
||||
'Olive' => 'Тъмно жълто-зелено',
|
||||
'Orange' => 'Оранжево',
|
||||
'OrangeRed' => 'Оранжево-червено',
|
||||
'Purple' => 'Лилаво',
|
||||
'Red' => 'Червено',
|
||||
'RoyalBlue' => 'Кралско синьо',
|
||||
'SeaGreen' => 'Морско зелено',
|
||||
'Sienna' => 'Златисто-жълто (Охра)',
|
||||
'Silver' => 'Сребърно',
|
||||
'Tan' => 'Жълто-кафяво',
|
||||
'Teal' => 'Синьо-зелено',
|
||||
'Violet' => 'Виолетово',
|
||||
'White' => 'Бяло',
|
||||
'Yellow' => 'Жълто',
|
||||
'YellowGreen' => 'Жълто-зелено',
|
||||
'redirectto' => 'Пренасочване към:',
|
||||
'nonhttp' => 'Заявен е не-http линк:',
|
||||
'httpredir' => 'Ако не работи, опитай това:',
|
||||
'actions' => 'Действия',
|
||||
'sesip' => 'IP-адрес',
|
||||
'css' => 'CSS стил',
|
||||
'memberexpire' => 'Изтичане на сесията на членове (минути)',
|
||||
'guestexpire' => 'Изтичане на сесията за гости (минути)',
|
||||
'kickpenalty' => 'Наказание с изгонване (минути)',
|
||||
'entrywait' => 'Време за изчакване в чакалнята (секунди)',
|
||||
'captchatime' => 'Валидност на Captcha-та (секунди)',
|
||||
'messageexpire' => 'Съобщенията изтичат след (минути)',
|
||||
'messagelimit' => 'Лимит на съобщенията (публичен)',
|
||||
'maxmessage' => 'Максимална дължина на съобщението',
|
||||
'confirm' => 'Сигурен ли си?',
|
||||
'yes' => 'Да',
|
||||
'no' => 'Не',
|
||||
'colbg' => 'Цвят на фона',
|
||||
'coltxt' => 'Цвят на текста',
|
||||
'maxname' => 'Максимална дължина на ник',
|
||||
'minpass' => 'Минимална дължина на паролата',
|
||||
'defaultrefresh' => 'Интервал на опресняване на съобщенията по подразбиране (секунди)',
|
||||
'suguests' => 'Позволи кандидати',
|
||||
'rulestxt' => 'Правила (html)',
|
||||
'imgembed' => 'Вгради изображения',
|
||||
'trackip' => 'Покажи IP-то на сесията',
|
||||
'captchachars' => 'Символи, използвани за Captcha-та',
|
||||
'memkick' => 'Членовете могат да гонят, ако няма модератор в стаята',
|
||||
'forceredirect' => 'Пренасочване',
|
||||
'redirect' => 'Мой скрипт за пренасочване',
|
||||
'backuprestore' => 'Бекъп и възстановяване',
|
||||
'backup' => 'Направи бекъп',
|
||||
'restore' => 'Възстанови',
|
||||
'settings' => 'Настройки',
|
||||
'linkfilter' => 'Филтър за линкове',
|
||||
'chatname' => 'Име на чата',
|
||||
'destroy' => 'Унищожи чата',
|
||||
'destroyed' => 'Успешно унищожи чата',
|
||||
'topic' => 'Тема',
|
||||
'passreset' => 'Нулирай парола',
|
||||
'cantresetpass' => 'Не мога да нулирам паролата',
|
||||
'succpassreset' => 'Успешно нулира паролата',
|
||||
'entermsg' => '%s влезе в чата.',
|
||||
'exitmsg' => '%s напусна чата.',
|
||||
'memregmsg' => '%s вече е регистриран член.',
|
||||
'suregmsg' => '%s вече е регистриран кандидат.',
|
||||
'kickmsg' => '%s беше изгонен.',
|
||||
'multikickmsg' => '%s бяха изгонени.',
|
||||
'allkickmsg' => 'Всички гости бяха изгонени.',
|
||||
'cleanmsg' => '%s беше почистена.',
|
||||
'sendallmsg' => '%s - ',
|
||||
'sendmemmsg' => '[М] %s - ',
|
||||
'sendmodmsg' => '[Екип] %s - ',
|
||||
'sendadmmsg' => '[Админ] %s - ',
|
||||
'sendprvmsg' => '[%1$s до %2$s] - ',
|
||||
'msgsendall' => 'Съобщение до всички',
|
||||
'msgsendmem' => 'Съобщение само до членовете',
|
||||
'msgsendmod' => 'Съобщение само до екипа',
|
||||
'msgsendadm' => 'Съобщение само до администраторите',
|
||||
'msgsendprv' => 'Лично съобщение',
|
||||
'numnotes' => 'Брой версии на бележки, които да се пазят',
|
||||
'revisions' => 'Версии:',
|
||||
'older' => 'По-стари',
|
||||
'newer' => 'По-нови',
|
||||
'accessdenied' => 'Достъпът е забранен',
|
||||
'loggedinas' => 'В момента си логнат като %s и нямаш достъп до тази част.',
|
||||
'newnickname' => 'Нов ник:',
|
||||
'nicknametaken' => 'Този ник се използва от друг',
|
||||
'nopass' => 'Невалидна парола (поне %d символа), не променям ника',
|
||||
'gdextrequired' => 'Добавката gd за PHP е необходима за тази функционалност. Моля, първо я инсталирайте.',
|
||||
'memcachedextrequired' => 'Добавката memcached за PHP е необходима за кеш функционалностите. Моля, първо я инсталирайте или върнете настройките за memcached обратно на false.',
|
||||
'sodiumextrequired' => 'Добавката libsodium за PHP е необходима the криптиращата функционалност. Моля, първо я инсталирайте или върнете настройките за криптиране обратно на false.',
|
||||
'pdo_mysqlextrequired' => 'Добавката pdo_mysql за PHP е необходима за избрания драйвер за базата данни. Моля, първо я инсталирайте.',
|
||||
'pdo_pgsqlextrequired' => 'Добавката pdo_pgsql за PHP е необходима за избрания драйвер за базата данни. Моля, първо я инсталирайте.',
|
||||
'pdo_sqliteextrequired' => 'Добавката pdo_sqlite за PHP е необходима за избрния драйвер за базата данни. Моля, първо я инсталирайте.',
|
||||
'jsonextrequired' => 'Добавката json за PHP е необходима за тази функционалност. Моля, първо я инсталирайте.',
|
||||
'sendmail' => 'Изпрати мейл при ново публично съобщение',
|
||||
'mailsender' => 'Изпрати мейл, използвайки този адрес',
|
||||
'mailreceiver' => 'Изпрати мейл до този адрес',
|
||||
'modfallback' => 'Използвай чакалня, ако няма модератор да одобрява гостите',
|
||||
'regpass' => 'Повтори паролата <br>за да се регистрираш',
|
||||
'guestreg' => 'Разреши на гостите да се регистрират сами',
|
||||
'asmember' => 'Като член',
|
||||
'assuguest' => 'Като кандидат',
|
||||
'fatalerror' => 'Фатална грешка',
|
||||
'prevmatch' => 'Съвпадението ти беше както следва',
|
||||
'matchtoolong' => 'Съвпадението ти беше прекалено дълго. Може да използваш най-много 255 символа. Опитай се да го разделиш.',
|
||||
'nocache' => 'Автоматично скролиране (за старите браузъри или сортиране от горе надолу).',
|
||||
'disablepm' => 'Забрани личните съобщения',
|
||||
'disablechat' => 'Забрани чата',
|
||||
'disabletext' => 'Съобщение относно забранения чат (html)',
|
||||
'disabledtext' => 'Временно забранен',
|
||||
'defaulttz' => 'Часова зона по подрзбиране',
|
||||
'tz' => 'Часова зона',
|
||||
'optional' => '(опционално)',
|
||||
'userloggedin' => 'Потребителят с това потребителско име е вече логнат.',
|
||||
'regednick' => 'Този ник е на регистриран член.',
|
||||
'eninbox' => 'Позволи офлайн пощенска кутия',
|
||||
'inboxmsgs' => 'Прочети %d съобщения в пощенската ти кутия',
|
||||
'offline' => '(офлайн)',
|
||||
'deleteacc' => 'Изтрий акаунт',
|
||||
'eninnone' => 'За никого',
|
||||
'eninall' => 'За всички',
|
||||
'eninmem' => 'Само за членове',
|
||||
'eninstaff' => 'Само за екипа',
|
||||
'eninadmin' => 'Само за администратори',
|
||||
'nickregex' => 'Регулярен израз за никове',
|
||||
'passregex' => 'Регулярен израз за пароли',
|
||||
'externalcss' => 'Линк към външен CSS файл',
|
||||
'greetingmsg' => 'Добре дошъл, %s!',
|
||||
'entryhelp' => 'Ако този фрейм не се презареди след %d секунди, ще е необходимо да позволите автоматичното презареждане (meta презареждане) в своя браузър. Също се уверете, че нямате уеб филтър, локален филтър или добавка за браузъра, която да блокира автоматичното презареждане! Такива са например "Polipo", "NoScript", и други.<br>Възможно решение е (също в случай на грешки при презареждане на ниво сървър/прокси) да използвате бутона за ръчно презареждане на вашия браузър.',
|
||||
'enablegreeting' => 'Покажи приветствено съобщение преди да покажеш самото съобщение',
|
||||
'unban' => 'Премахни бан',
|
||||
'sortupdown' => 'Подреди съобщенията от горе надолу',
|
||||
'sortframe' => 'Преподредба',
|
||||
'cs' => 'Чувствително към малки и големи букви',
|
||||
'hidechatters' => 'Скрий списъка с потребители',
|
||||
'enfileupload' => 'Позволи качването на файлове',
|
||||
'msgattache' => 'Прикачен файл',
|
||||
'filenotfound' => 'Файлът не е намерен!',
|
||||
'maxuploadsize' => 'Максимален размер на файл в KB',
|
||||
'maxsize' => 'Макс %d KB',
|
||||
'cssupdate' => 'Забележка: CSS-ът по подразбиране е вече вграден в кода и може да бъде премахнат от CSS настройките',
|
||||
'manualrefresh' => 'Необходимо ръчно опресняване',
|
||||
'personalnotes' => 'Лични бележки',
|
||||
'filtermodkick' => 'Прилагай филтъра за изгонване и за модераторите',
|
||||
];
|
368
lang_cz.php
Normal file
368
lang_cz.php
Normal file
@ -0,0 +1,368 @@
|
||||
<?php
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - Czech translation
|
||||
*
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
//Native language name: čeština
|
||||
$I=[
|
||||
'nodb' => 'Chyba databáze!',
|
||||
'nodbsetup' => 'Žádné připojení k databázi, prosím vytvořte databázi a upravte script pro použití správné databáze se zadaným uživatelským jménem a heslem!',
|
||||
'changelang' => 'Změnit jazyk:',
|
||||
'expire' => 'Neplatná/relace vypršela',
|
||||
'kicked' => 'Byl jsi vyhozen!',
|
||||
'invalnick' => 'Neplatná přezdívka (%1$d znaků maximální a musí odpovídat regulární výraz "%2$s")',
|
||||
'invalpass' => 'Neplatné heslo (Alespoň %1$d znaků a musí odpovídat regulární výraz "%2$s")',
|
||||
'noconfirm' => 'Hesla se neshodují!',
|
||||
'incorregex' => 'Nesprávný regulární výraz!',
|
||||
'bottom' => 'Dolní',
|
||||
'top' => 'Horní',
|
||||
'choose' => '(vybrat)',
|
||||
'setup' => 'Nastavení Chatu',
|
||||
'init' => 'Počáteční nastavení',
|
||||
'sulogin' => 'Superadmin Přihlášení',
|
||||
'sunick' => 'Superadmin Přezdívka:',
|
||||
'supass' => 'Superadmin Heslo:',
|
||||
'suconfirm' => 'Potvrzení hesla:',
|
||||
'susuccess' => 'Byl jsi úspěšně zaregistrován!',
|
||||
'initbtn' => 'Inicializace chatu',
|
||||
'initdbexist' => 'Databázové tabulky již existují! Chcete-li pokračovat, musíte tyto tabulky nejprve ručně odstranit.',
|
||||
'initsuexist' => 'Superadmin již existuje!',
|
||||
'initgosetup' => 'Přejděte na stránku nastavení',
|
||||
'captcha' => 'Captcha',
|
||||
'enabled' => 'Povoleno',
|
||||
'onlyguests' => 'Pouze pro hosty',
|
||||
'disabled' => 'Zakázáno',
|
||||
'simple' => 'Jednoduchý',
|
||||
'moderate' => 'Moderate',
|
||||
'extreme' => 'Extrémní',
|
||||
'nick' => 'Přezdívka:',
|
||||
'pass' => 'Heslo:',
|
||||
'globalloginpass' => 'Globální heslo:',
|
||||
'login' => 'Přihlásit se',
|
||||
'dbupdate' => 'Databáze byla úspěšně aktualizována!',
|
||||
'sysmessages' => 'Systémové zprávy',
|
||||
'msgenter' => 'Vstup',
|
||||
'msgexit' => 'Odchod',
|
||||
'msgmemreg' => 'Registrovaný člen',
|
||||
'msgsureg' => 'Žadatel se zaregistroval',
|
||||
'msgkick' => 'Vyhozen',
|
||||
'msgmultikick' => 'Vyhozeno více členů',
|
||||
'msgallkick' => 'Všichni byli vyhozeni',
|
||||
'msgclean' => 'Místnost byla vyčištěna',
|
||||
'dateformat' => '<a target="_blank" href="http://php.net/manual/en/function.date.php#refsect1-function.date-parameters">Formát datumu</a>',
|
||||
'admfunc' => 'Administrativní funkce',
|
||||
'allguests' => 'Všichni hosté',
|
||||
'cleanmsgs' => 'Vyčistit zprávy',
|
||||
'room' => 'Celá místnost',
|
||||
'selection' => 'Výběr',
|
||||
'cleannick' => 'Následující přezdívka:',
|
||||
'clean' => 'Vyčistit',
|
||||
'kickchat' => 'Vyhodit chatujícího (%d minutes)',
|
||||
'kickreason' => 'Důvod vyhození:',
|
||||
'kickpurge' => 'Vyčistit zprávy',
|
||||
'kick' => 'Vyhodit',
|
||||
'logoutinact' => 'Odhlásit neaktivní chatující',
|
||||
'logout' => 'Odhlásit',
|
||||
'sessions' => 'Zobrazit aktivní relace',
|
||||
'view' => 'Zobrazit',
|
||||
'filter' => 'Filtr',
|
||||
'guestacc' => 'Změnit přístup pro hosty',
|
||||
'guestallow' => 'Povolit',
|
||||
'guestwait' => 'Povolit s čekající možností',
|
||||
'adminallow' => 'Požadovat schválení moderátorem',
|
||||
'guestdisallow' => 'Jen členové',
|
||||
'addsuguest' => 'Zaregistrovat žadatele',
|
||||
'register' => 'Registrovat',
|
||||
'admmembers' => 'Členové',
|
||||
'memdel' => 'Odstranit z databáze',
|
||||
'memdeny' => 'Zamítnout přístup (!)',
|
||||
'memsuguest' => 'Nastavit na žadatele (G)',
|
||||
'memreg' => 'Nastavte na řádného člena',
|
||||
'memmod' => 'Nastavit na moderátory (M)',
|
||||
'memsumod' => 'Nastavit na supermod (SM)',
|
||||
'memadm' => 'Nastavit pro Administrátory (A)',
|
||||
'change' => 'Změnit',
|
||||
'regguest' => 'Registrovat hosta',
|
||||
'regmem' => 'Registrovat nového Člena',
|
||||
'sessact' => 'Aktivní relace',
|
||||
'sessnick' => 'Přezdívka',
|
||||
'sesstimeout' => 'Časový limit (Timeout) v',
|
||||
'sessua' => 'User-Agent',
|
||||
'fid' => 'ID filtru:',
|
||||
'match' => 'Match',
|
||||
'replace' => 'Nahradit',
|
||||
'allowpm' => 'Povolit v PM',
|
||||
'regex' => 'Regex',
|
||||
'apply' => 'Použít',
|
||||
'newfilter' => 'Nový filtr:',
|
||||
'add' => 'Přidat',
|
||||
'noframes' => 'Tento chat používá <b> rámeček </ b>. Povolte rámečky ve vašem prohlížeči nebo použijte jiný!',
|
||||
'delselmes' => 'Odstranit vybrané zprávy',
|
||||
'staffnotes' => 'Poznámky zaměstnanců',
|
||||
'adminnotes' => 'Poznámky Administrátorů',
|
||||
'notessaved' => 'Poznámky uloženy!',
|
||||
'lastedited' => 'Naposledy upraveno %1$s at %2$s',
|
||||
'savenotes' => 'Uložit poznámky',
|
||||
'waitingroom' => 'Čekárna',
|
||||
'waittext' => 'Vítejte %1$s, vaše přihlášení bylo odloženo, přístup k chatu je možný v %2$d sekundách.',
|
||||
'admwaittext' => 'Vítejte %1$s, vaše přihlašovací údaje byly odloženy, můžete k chatu přistupovat až to moderátor dovolí.',
|
||||
'waitreload' => 'Pokud se tato stránka neobnoví každých %d sekund, použijte tlačítko níže, abyste ji znovu načítali ručně!',
|
||||
'reload' => 'Znovu načíst',
|
||||
'rules' => 'Pravidla',
|
||||
'talkto' => 'Mluvit s',
|
||||
'toall' => 'Všem',
|
||||
'tomem' => 'Jen členové',
|
||||
'tostaff' => 'Jen zaměstnanci',
|
||||
'toadmin' => 'Jen administrátoři',
|
||||
'alsopurge' => 'Také vyčistit zprávy',
|
||||
'dellast' => 'Vymazat poslední zprávu',
|
||||
'delall' => 'Vymazat všechny zprávy',
|
||||
'switchsingle' => 'Přepnout na jednorázovou linku',
|
||||
'switchmulti' => 'Přepnout na víceřádkový',
|
||||
'help' => 'Pomoc',
|
||||
'helpguest' => 'Všechny funkce by měly být docela samo vysvětlující, stačí použít tlačítka. Ve vašem profilu můžete nastavit obnovovací frekvenci a barvu písma a ignorovat uživatele. <br> <u>Poznámka:</u> Jedná se o chat, takže pokud nebudete mluvit, budete automaticky po chvíli odhlášeni.',
|
||||
'helpembed' => 'Pokud chcete vložit obrázek do příspěvku, jednoduše jej vložte [img] před vaší adresou URL obrázku. Například: [img]http://example.com/images/file.jpg vloží obrázek do příspěvku.',
|
||||
'helpmem' => 'Členové: Ve svém profilu budete mít další možnosti. Můžete nastavit tvar písma, změnit heslo kdykoli a samozřejmě můžete svůj účet smazat.',
|
||||
'helpmod' => 'Moderátoři: Uvidíte správce v dolní části. Zobrazí se stránka, ve které můžete čistit místnost, vyhodit cahtující, prohlížet všechny aktivní relace a v případě potřeby úplně zakázat přístup pro hosty.',
|
||||
'helpadm' => 'Administrátoři: Budete dále moci registrovat hosty, editovat členy a registrovat nové přezdívky.',
|
||||
'profile' => 'Váš profil',
|
||||
'ignore' => 'Ignorovat',
|
||||
'unignore' => 'Již neignorovat',
|
||||
'refreshrate' => 'Obnovovací frekvence (5-150 sekund)',
|
||||
'fontcolour' => 'Barva písma',
|
||||
'viewexample' => 'Zobrazit příklady',
|
||||
'bgcolour' => 'Barva pozadí',
|
||||
'fontface' => 'Tvar písma',
|
||||
'roomdefault' => 'Výchozí místnost',
|
||||
'bold' => 'Tučně',
|
||||
'italic' => 'Kurzíva',
|
||||
'small' => 'Malý',
|
||||
'fontexample' => 'Příklad vybraného písma',
|
||||
'timestamps' => 'Zobrazit časové značky',
|
||||
'embed' => 'Embed obzrázky',
|
||||
'incognito' => 'Režim inkognito',
|
||||
'changenick' => 'Změnit přezdívku',
|
||||
'changepass' => 'Změnit heslo',
|
||||
'oldpass' => 'Staré heslo:',
|
||||
'newpass' => 'Nové heslo:',
|
||||
'confirmpass' => 'Potvrdit nové heslo:',
|
||||
'savechanges' => 'Uložit',
|
||||
'reloadpb' => 'Znovu načíst poštovní schránku',
|
||||
'reloadmsgs' => 'Znovu načíst zprávy',
|
||||
'chgprofile' => 'Profil',
|
||||
'adminbtn' => 'Admin',
|
||||
'admnotes' => 'Admin poznámky',
|
||||
'notes' => 'Poznámky',
|
||||
'clone' => 'Klonovat',
|
||||
'randh' => 'Pravidla & Pomoc',
|
||||
'exit' => 'Opustit chat',
|
||||
'bye' => 'Sbohem %s, navštivte nás brzy!',
|
||||
'colourtable' => 'Barevný',
|
||||
'backtoprofile' => 'Zpět do profilu',
|
||||
'copy' => 'Kopírovat:',
|
||||
'choosecol' => 'Hosté, vyberte barvu:',
|
||||
'randomcol' => 'Náhodná barva',
|
||||
'enter' => 'Vstoupit',
|
||||
'error' => 'Chyba',
|
||||
'members' => 'Členové',
|
||||
'guests' => 'Hosté',
|
||||
'approveguests' => '%d noví hsté ke schválení',
|
||||
'allowchecked' => 'Povolit vybrané',
|
||||
'allowall' => 'Povolit vše',
|
||||
'denychecked' => 'Zakázat vybrané',
|
||||
'denyall' => 'Zakázat vše',
|
||||
'denymessage' => 'Poslat zprávu odepřeným:',
|
||||
'butallowdeny' => 'Odeslat',
|
||||
'waitempty' => 'Žádná další žádost o schválení',
|
||||
'wrongcaptcha' => 'Špatná Captcha',
|
||||
'captchaexpire' => 'Captcha byla již použitá nebo vypršel čas',
|
||||
'noguests' => 'Omlouváme se, v současné době pouze členové!',
|
||||
'curchat' => 'Právě teď %d chatujících v místnosti:',
|
||||
'cantreg' => 'Nelze zaregistrovat %s',
|
||||
'alreadyreged' => '%s je již zaregistrovaný.',
|
||||
'successreg' => '%s byl úspěšně zaregistrován..',
|
||||
'cantchgstat' => 'Nelze změnit status uživatele %s',
|
||||
'succdel' => '%s byl úspěšně vymazán z databáze.',
|
||||
'succchg' => 'Status %s byl úspěšně změněn.',
|
||||
'wrongpass' => 'Špatné heslo!',
|
||||
'wrongglobalpass' => 'Špatné globální heslo!',
|
||||
'succprofile' => 'Váš profil byl úspěšně uložen.',
|
||||
'backtologin' => 'Zpět na přihlašovací stránku.',
|
||||
'backtochat' => 'Zpět do chatu.',
|
||||
'Beige' => 'Béžový',
|
||||
'Black' => 'Černý',
|
||||
'Blue' => 'Modrý',
|
||||
'BlueViolet' => 'Modro-fialová',
|
||||
'Brown' => 'Hnědá',
|
||||
'Cyan' => 'Tyrkysová',
|
||||
'DarkBlue' => 'Tmavě modrá',
|
||||
'DarkGreen' => 'Tmavě zelená',
|
||||
'DarkRed' => 'Tmavě červená',
|
||||
'DarkViolet' => 'Tmavě fialová',
|
||||
'DeepSkyBlue' => 'Modré nebe',
|
||||
'Gold' => 'Zlatá',
|
||||
'Grey' => 'Šedá',
|
||||
'Green' => 'Zelená',
|
||||
'HotPink' => 'Hot růžová',
|
||||
'Indigo' => 'Indigo',
|
||||
'LightBlue' => 'Světle modrá',
|
||||
'LightGreen' => 'Světle zelená',
|
||||
'LimeGreen' => 'Limetkově zelená',
|
||||
'Magenta' => 'Purpurová',
|
||||
'Olive' => 'Olivová',
|
||||
'Orange' => 'Oranžová',
|
||||
'OrangeRed' => 'oranžově-červená',
|
||||
'Purple' => 'Purpurová',
|
||||
'Red' => 'Červená',
|
||||
'RoyalBlue' => 'Královsky modrá',
|
||||
'SeaGreen' => 'Zelené moře',
|
||||
'Sienna' => 'Oranžově žlutá',
|
||||
'Silver' => 'Stříbrný',
|
||||
'Tan' => 'Bronz',
|
||||
'Teal' => 'Teal',
|
||||
'Violet' => 'Fialová',
|
||||
'White' => 'Bílá',
|
||||
'Yellow' => 'Žlutá',
|
||||
'YellowGreen' => 'Žluto zelená',
|
||||
'redirectto' => 'Přesměrování na:',
|
||||
'nonhttp' => 'Požadovaný odkaz bez http:',
|
||||
'httpredir' => 'Pokud to nefunguje, zkuste tohle:',
|
||||
'actions' => 'Akce',
|
||||
'sesip' => 'IP-Addresa',
|
||||
'css' => 'CSS Styl',
|
||||
'memberexpire' => 'Členský časový limit (minut)',
|
||||
'guestexpire' => 'Host timeout (minut)',
|
||||
'kickpenalty' => 'Kick penalty (minut)',
|
||||
'entrywait' => 'Čas čekací místnosti (sekund)',
|
||||
'captchatime' => 'Časový limit Captcha (sekund)',
|
||||
'messageexpire' => 'Časový limit zprávy (minut)',
|
||||
'messagelimit' => 'Limit zprávy (veřejnost)',
|
||||
'maxmessage' => 'Maximální délka zprávy',
|
||||
'confirm' => 'Jsi si jistý?',
|
||||
'yes' => 'Ano',
|
||||
'no' => 'Ne',
|
||||
'colbg' => 'Barva pozadí',
|
||||
'coltxt' => 'Barva textu',
|
||||
'maxname' => 'Maximální délka přezdívky',
|
||||
'minpass' => 'Minimální délka hesla',
|
||||
'defaultrefresh' => 'Výchozí doba načtení zprávy (reload) (sekund)',
|
||||
'suguests' => 'Povolit žadatele',
|
||||
'rulestxt' => 'Pravidla (html)',
|
||||
'imgembed' => 'Obrázky v rámečku (embed)',
|
||||
'trackip' => 'Zobrazit IP relace',
|
||||
'captchachars' => 'Znaky použité v Captcha',
|
||||
'memkick' => 'Členové mohou vyhazovat, pokud není přítomen žádný moderátor',
|
||||
'forceredirect' => 'Vynucené přesměrování',
|
||||
'redirect' => 'Vlastní skript přesměrování',
|
||||
'backuprestore' => 'Zálohování a obnovení',
|
||||
'backup' => 'Zalohování',
|
||||
'restore' => 'Obnovení',
|
||||
'settings' => 'Nastavení',
|
||||
'linkfilter' => 'Filtr odkazů',
|
||||
'chatname' => 'Název chatu',
|
||||
'destroy' => 'Zničit chat',
|
||||
'destroyed' => 'Chat byl úspěšně zničen',
|
||||
'topic' => 'Téma',
|
||||
'passreset' => 'Reset hesla',
|
||||
'cantresetpass' => 'Nelze resetovat heslo',
|
||||
'succpassreset' => 'Heslo bylo úspěšně resetováno',
|
||||
'entermsg' => '%s vstoupil do chatu.',
|
||||
'exitmsg' => '%s opustil chat.',
|
||||
'memregmsg' => '%s se stal registrovaným členem.',
|
||||
'suregmsg' => '%s je nyní registrovaným žadatelem.',
|
||||
'kickmsg' => '%s byl vyhozen.',
|
||||
'multikickmsg' => '%s byli vyhozeni..',
|
||||
'allkickmsg' => 'Všichni hosté byli vyhozeni.',
|
||||
'cleanmsg' => '%s byl vyčištěn.',
|
||||
'sendallmsg' => '%s - ',
|
||||
'sendmemmsg' => '[M] %s - ',
|
||||
'sendmodmsg' => '[Personál] %s - ',
|
||||
'sendadmmsg' => '[Administrátor] %s - ',
|
||||
'sendprvmsg' => '[%1$s do %2$s] - ',
|
||||
'msgsendall' => 'Zpráva všem',
|
||||
'msgsendmem' => 'Zpráva jen pro členy',
|
||||
'msgsendmod' => 'Zpráva jen pro personál',
|
||||
'msgsendadm' => 'Zpráva jen Administrátorům',
|
||||
'msgsendprv' => 'Soukromá zpráva',
|
||||
'numnotes' => 'Počet poznámek, které je nutné zachovat',
|
||||
'revisions' => 'Revize:',
|
||||
'older' => 'Starší',
|
||||
'newer' => 'Novější',
|
||||
'accessdenied' => 'Přístup zamítnut',
|
||||
'loggedinas' => 'Jste přihlášeni jako %s a nemáte přístup k této části.',
|
||||
'newnickname' => 'Nová přezdívka:',
|
||||
'nicknametaken' => 'Přezdívku již někdo používá',
|
||||
'nopass' => 'Chybné heslo (Nejméně %d znaků), přezdívka zůstala stejná',
|
||||
'gdextrequired' => 'Rozšíření PHP gd je pro tuto funkci vyžadováno. Nejprve ho nainstalujte.',
|
||||
'memcachedextrequired' => 'Pro funkci ukládání do mezipaměti je vyžadováno memcached rozšíření PHP. Nejprve ho nainstalujte, nebo nastavte parametr memcached na hodnotu false.',
|
||||
'sodiumextrequired' => 'Pro funkci šifrování je vyžadováno rozšíření PHP libsodium. Nejprve ho nainstalujte nebo nastavte šifrované nastavení zpět na hodnotu false.',
|
||||
'pdo_mysqlextrequired' => 'Rozšíření pdo_mysql PHP je vyžadováno pro zvolený ovladač databáze. Nejprve ho nainstalujte.',
|
||||
'pdo_pgsqlextrequired' => 'Pro zvolený databázový ovladač je vyžadováno rozšíření PHP pdo_pgsql. Nejprve ho nainstalujte.',
|
||||
'pdo_sqliteextrequired' => 'Rozšíření pdo_sqlite PHP je vyžadováno pro zvolený ovladač databáze. Nejprve ho nainstalujte.',
|
||||
'jsonextrequired' => 'Pro tuto funkci je vyžadováno rozšíření PHP json. Nejprve ho nainstalujte.',
|
||||
'sendmail' => 'Odeslat mail na novou veřejnou zprávu',
|
||||
'mailsender' => 'Odeslat mail pomocí této adresy',
|
||||
'mailreceiver' => 'Odeslat mail do této adresy',
|
||||
'modfallback' => 'Zpět do čekaí místnosti, pokud není přítomen žádný moderátor, který schvaluje hosty',
|
||||
'regpass' => 'Zopakujte heslo<br>pro registraci',
|
||||
'guestreg' => 'Nechte hosty zaregistrovat se',
|
||||
'asmember' => 'Jako členové',
|
||||
'assuguest' => 'Jako žadatel',
|
||||
'fatalerror' => 'Fatal error',
|
||||
'prevmatch' => 'Vaše hledání bylo následující',
|
||||
'matchtoolong' => 'Vaše hledání bylo příliš dlouhé. Můžete použít max. 255 znaků. Zkuste to rozdělit.',
|
||||
'nocache' => 'Automatické procházení (pro staré prohlížeče nebo třídění od nejvyššího dole).',
|
||||
'disablepm' => 'Zakázat soukromé zprávy',
|
||||
'disablechat' => 'Vypnout chat',
|
||||
'disabletext' => 'Deaktivovat zprávu v chatu (html)',
|
||||
'disabledtext' => 'Dočasně zakázáno',
|
||||
'defaulttz' => 'Výchozí časové pásmo',
|
||||
'tz' => 'Časové pásmo',
|
||||
'optional' => '(volitelný)',
|
||||
'userloggedin' => 'Uživatel s touto přezdívkou je již přihlášen.',
|
||||
'regednick' => 'Tato přezdívka používá registrovaný člen.',
|
||||
'eninbox' => 'Povolit offline doručenou poštu ',
|
||||
'inboxmsgs' => 'Přečtěte si %d zprávy ve vaší doručené poště',
|
||||
'offline' => '(offline)',
|
||||
'deleteacc' => 'Odstranit účet',
|
||||
'eninnone' => 'Pro nikoho',
|
||||
'eninall' => 'Pro všechny',
|
||||
'eninmem' => 'Jen pro členy',
|
||||
'eninstaff' => 'Jen pro personál',
|
||||
'eninadmin' => 'Jen pro Administrátory',
|
||||
'nickregex' => 'Přezdívka regex',
|
||||
'passregex' => 'Heslo regex',
|
||||
'externalcss' => 'Link pro externí CSS soubor',
|
||||
'greetingmsg' => 'Vítej %s!',
|
||||
'entryhelp' => 'Pokud tento snímek není znovu načten v% d sekundách, bude muset v prohlížeči povolit automatické přesměrování (meta refresh). Také se ujistěte, že žádný webový filtr, místní proxy nástroj nebo plugin pro prohlížeč nebrání automatickému obnovení! Mohlo by to být například "Polipo", "NoScript" atd.<br>Jako řešení (nebo v případě chyby načtení serveru / serveru proxy) můžete ručně obnovit tlačítka v dolní části.',
|
||||
'enablegreeting' => 'Před zobrazením zpráv zobrazte uvítací zprávu',
|
||||
'unban' => 'Odbanovat',
|
||||
'sortupdown' => 'Seřadit zprávy shora dolů',
|
||||
'sortframe' => 'Změňit uspořádání',
|
||||
'cs' => 'Velká a malá písmena',
|
||||
'hidechatters' => 'Skrýt seznam chatujících',
|
||||
'enfileupload' => 'Povolit nahrávání souborů',
|
||||
'msgattache' => 'Příloha',
|
||||
'filenotfound' => 'Soubor nebyl nalezen!',
|
||||
'maxuploadsize' => 'Maximální velikost nahrávaných souborů v KB',
|
||||
'maxsize' => 'Max. %d KB',
|
||||
'cssupdate' => 'Poznámka: Výchozí CSS je nyní napevno a může být odstraněn z nastavení CSS',
|
||||
'manualrefresh' => 'Nutná ruční aktualizace ',
|
||||
'personalnotes' => 'Osobní poznámky',
|
||||
'filtermodkick' => 'Použít vyhazovací filtr na moderátory',
|
||||
];
|
@ -2,7 +2,7 @@
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - German translation
|
||||
*
|
||||
* Copyright (C) 2015-2016 Daniel Winzen <d@winzen4.de>
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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
|
||||
@ -135,7 +135,7 @@ $T=[
|
||||
'switchsingle' => 'Zu Einzel-Zeile wechseln',
|
||||
'switchmulti' => 'Zu Mehrfach-Zeilen wechseln',
|
||||
'help' => 'Hilfe',
|
||||
'helpguest' => 'Alle Funktionen sollten recht selbsterklärend sein, benutze einfach die Knöpfe. In Ihrem Profil könnsen Sie die Aktualisierungsrate, Schriftfarbe und Ihre gewünschte Postboxgröße anpassen.<br><u>Hinweis:</u> Dies ist ein Chat, wenn Sie also nichts schreiben, werden Sie automatisch nach einiger Zeit abgemeldet.',
|
||||
'helpguest' => 'Alle Funktionen sollten recht selbsterklärend sein, benutze einfach die Knöpfe. In Ihrem Profil könnsen Sie die Aktualisierungsrate und Schriftfarbe anpassen, sowie Nutzer ignorieren.<br><u>Hinweis:</u> Dies ist ein Chat, wenn Sie also nichts schreiben, werden Sie automatisch nach einiger Zeit abgemeldet.',
|
||||
'helpembed' => 'Wenn Sie ein Bild einbetten möchten, fügen Sie einfach ein [img] vor die Adresse des Bildes. Beispiel: [img]http://example.com/images/file.jpg bettet das Bild in Ihrem Beitrag ein.',
|
||||
'helpmem' => 'Mitglieder: Sie werden einige zusätzliche Optionen in Ihrem Profil haben. Sie können Ihre Schriftart ändern, Ihr Passwort jederzeit ändern und natürlich können Sie auch Ihr Profil löschen.',
|
||||
'helpmod' => 'Moderatoren: Achten Sie auf den Admin-Knof unten. Er ruft eine Seite auf, auf der Sie Nachrichten löschen können, Teilnehmer rausschmeißen können, alle aktive Sitzungen anzeigen lassen können und den Gastzugriff deaktivieren können, falls dies nötig sein sollte.',
|
||||
@ -310,7 +310,7 @@ $T=[
|
||||
'nopass' => 'Ungültiges Passwort (Mindestens %d Zeichen), Nickname nicht geändert',
|
||||
'gdextrequired' => 'Für diese Funktion wird die gd Erweiterung von PHP benötigt. Bitte installieren Sie diese zuerst.',
|
||||
'memcachedextrequired' => 'Die memcached Erweiterung von PHP wird benötigt, um die Cache-Funktion zu benutzen. Bitte installieren Sie diese zuerst oder setzen Sie die memcached Einstellung zurück auf false.',
|
||||
'opensslextrequired' => 'Die openssl Erweiterung von PHP wird benötigt, um die Verschlüsselungs-Funktion zu benutzen. Bitte installieren Sie diese zuerst oder setzen Sie die encrypted Einstellung zurück auf false.',
|
||||
'sodiumextrequired' => 'Die libsodium Erweiterung von PHP wird benötigt, um die Verschlüsselungs-Funktion zu benutzen. Bitte installieren Sie diese zuerst oder setzen Sie die encrypted Einstellung zurück auf false.',
|
||||
'pdo_mysqlextrequired' => 'Die pdo_mysql Erweiterung von PHP wird für den ausgewählten Datenbanktreiber benötigt. Bitte installieren Sie diese zuerst.',
|
||||
'pdo_pgsqlextrequired' => 'Die pdo_pgsql Erweiterung von PHP wird für den ausgewählten Datenbanktreiber benötigt. Bitte installieren Sie diese zuerst.',
|
||||
'pdo_sqliteextrequired' => 'Die pdo_sqlite Erweiterung von PHP wird für den ausgewählten Datenbanktreiber benötigt. Bitte installieren Sie diese zuerst.',
|
||||
@ -366,4 +366,4 @@ $T=[
|
||||
'personalnotes' => 'Persönliche Notizen',
|
||||
'filtermodkick' => 'Kickfilter auf Moderatoren anwenden',
|
||||
];
|
||||
?>
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - English translation
|
||||
*
|
||||
* Copyright (C) 2015-2016 Daniel Winzen <d@winzen4.de>
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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
|
||||
@ -135,7 +135,7 @@ $I=[
|
||||
'switchsingle' => 'Switch to single-line',
|
||||
'switchmulti' => 'Switch to multi-line',
|
||||
'help' => 'Help',
|
||||
'helpguest' => 'All functions should be pretty much self-explaining, just use the buttons. In your profile you can adjust the refresh rate, font colour and your preferred input box size.<br><u>Note:</u> This is a chat, so if you don\'t keep talking, you will be automatically logged out after a while.',
|
||||
'helpguest' => 'All functions should be pretty much self-explaining, just use the buttons. In your profile you can adjust the refresh rate and font colour, as well as ignore users.<br><u>Note:</u> This is a chat, so if you don\'t keep talking, you will be automatically logged out after a while.',
|
||||
'helpembed' => 'If you want to embed an image in your post, simply put [img] in front of your image URL. Example: [img]http://example.com/images/file.jpg will embed the image in your post.',
|
||||
'helpmem' => 'Members: You\'ll have some more options in your profile. You can adjust your font face, change your password anytime and of course you can delete your account.',
|
||||
'helpmod' => 'Moderators: Notice the Admin-button at the bottom. It\'ll bring up a page where you can clean the room, kick chatters, view all active sessions and disable guest access completely if needed.',
|
||||
@ -310,7 +310,7 @@ $I=[
|
||||
'nopass' => 'Invalid password (At least %d characters), not changing nickname',
|
||||
'gdextrequired' => 'The gd extension of PHP is required for this feature. Please install it first.',
|
||||
'memcachedextrequired' => 'The memcached extension of PHP is required for the caching feature. Please install it first or set the memcached setting back to false.',
|
||||
'opensslextrequired' => 'The openssl extension of PHP is required for the encryption feature. Please install it first or set the encrypted setting back to false.',
|
||||
'sodiumextrequired' => 'The libsodium extension of PHP is required for the encryption feature. Please install it first or set the encrypted setting back to false.',
|
||||
'pdo_mysqlextrequired' => 'The pdo_mysql extension of PHP is required for the selected database driver. Please install it first.',
|
||||
'pdo_pgsqlextrequired' => 'The pdo_pgsql extension of PHP is required for the selected database driver. Please install it first.',
|
||||
'pdo_sqliteextrequired' => 'The pdo_sqlite extension of PHP is required for the selected database driver. Please install it first.',
|
||||
@ -366,4 +366,4 @@ $I=[
|
||||
'personalnotes' => 'Personal notes',
|
||||
'filtermodkick' => 'Apply kick filter on moderators',
|
||||
];
|
||||
?>
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
<?php
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - Spanish (ar) translation
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - Spanish translation
|
||||
*
|
||||
* Copyright (C) 2015-2016 Daniel Winzen <d@winzen4.de>
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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
|
||||
@ -18,13 +18,15 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
//Native language name: Español (Argentina)
|
||||
//Native language name: Español
|
||||
$T=[
|
||||
'nodb' => '¡Sin conexión a la base de datos!',
|
||||
'nodbsetup' => '¡No pudo conectarse a la base de datos! Por favor creá la base de datos y editá el script para usarla con el nombre de usuario y clave dados.',
|
||||
'changelang' => 'Cambiar idioma:',
|
||||
'expire' => 'La sesión es inválida o expiró',
|
||||
'kicked' => '¡Te expulsaron!',
|
||||
'invalnick' => 'NickName inválido (%1$d characters maximum and has to match the regular expression "%2$s")',
|
||||
'invalpass' => 'Contraseña erronea(At least %1$d characters and has to match the regular expression "%2$s")',
|
||||
'noconfirm' => '¡La contraseña y su confirmación no coinciden!',
|
||||
'incorregex' => '¡Expresión regular incorrecta!',
|
||||
'bottom' => 'Inicio',
|
||||
@ -49,7 +51,7 @@ $T=[
|
||||
'moderate' => 'Moderado',
|
||||
'extreme' => 'Extremo',
|
||||
'nick' => 'Apodo:',
|
||||
'pass' => 'Constraseña:',
|
||||
'pass' => 'Contraseña:',
|
||||
'globalloginpass' => 'Contraseña global:',
|
||||
'login' => 'Identificarse',
|
||||
'dbupdate' => '¡La base de datos fue actualizada con éxito!',
|
||||
@ -68,8 +70,8 @@ $T=[
|
||||
'cleanmsgs' => 'Limpiar mensajes',
|
||||
'room' => 'Sala entera',
|
||||
'selection' => 'Selección',
|
||||
'cleannick' => 'Following nickname:',
|
||||
'clean' => 'Clean',
|
||||
'cleannick' => 'Siguiente Nick:',
|
||||
'clean' => 'Limpiar',
|
||||
'kickchat' => 'Expulsado (%d minutos)',
|
||||
'kickreason' => 'Motivo de expulsión:',
|
||||
'kickpurge' => 'Mensaje de purga',
|
||||
@ -79,7 +81,7 @@ $T=[
|
||||
'sessions' => 'Ver sesiones activas',
|
||||
'view' => 'Ver',
|
||||
'filter' => 'Filtro',
|
||||
'guestacc' => 'Change Guestaccess',
|
||||
'guestacc' => 'Cambiar acceso de invitado',
|
||||
'guestallow' => 'Permitir',
|
||||
'guestwait' => 'Permitir con sala de espera',
|
||||
'adminallow' => 'Requiere aprobación del moderator',
|
||||
@ -99,7 +101,7 @@ $T=[
|
||||
'regmem' => 'Registrar miembro nuevo',
|
||||
'sessact' => 'Sesiones activas',
|
||||
'sessnick' => 'Apodo',
|
||||
'sesstimeout' => 'Vecnimiento',
|
||||
'sesstimeout' => 'Vencimiento',
|
||||
'sessua' => 'Navegador',
|
||||
'fid' => 'ID del filtro:',
|
||||
'match' => 'Coincidencia',
|
||||
@ -133,7 +135,7 @@ $T=[
|
||||
'switchsingle' => 'Cambiar a una sola línea',
|
||||
'switchmulti' => 'Cambiar a múltiples líneas',
|
||||
'help' => 'Ayuda',
|
||||
'helpguest' => 'Todas las funciones deberían ser auto-explicativas, sólo usa los botones. En tu perfil puedes ajustar el tiempo de actualización, el color del texto y el tamaño de caja que prefieras.<br><u>Nota:</u> Esto es una sala de chat, así que si no te mantenés hablando, vas a ser expulsado automáticamete después de un tiempo.',
|
||||
'helpguest' => 'Todas las funciones deberían ser auto-explicativas, sólo usa los botones. En tu perfil puedes ajustar el tiempo de actualización, el color del texto y el tamaño de caja que prefieras.<br><u>Nota:</u> Esto es una sala de chat, así que si no te mantenés hablando, vas a ser expulsado automáticamente después de un tiempo.',
|
||||
'helpembed' => 'Si querés incluir una imagen en tu publicación, simplemente poné [img] al comienzo de la dirección URL de la imagen. Por ejemplo: [img]http://example.com/images/file.jpg incluirá la imagen en tu publicación.',
|
||||
'helpmem' => 'Miembros: Vas a tener algunas opciones más en tu perfil. Vas a poder ajustar la tipografía del texto y cambiar la contraseña en cualquier momento.',
|
||||
'helpmod' => 'Moderadores: Notá el botón de administración al final de la página. Te va a llevar a una página donde podés limpiar la sala, expulsar personas, ver todas las sesiones activas y deshabilitar el acceso a invitados totalmente si fuese necesario.',
|
||||
@ -149,10 +151,12 @@ $T=[
|
||||
'roomdefault' => 'Sala por defecto',
|
||||
'bold' => 'Negrita',
|
||||
'italic' => 'Bastardilla',
|
||||
'small' => 'Pequeño',
|
||||
'fontexample' => 'Ejemplo de la tipografía seleccionada',
|
||||
'timestamps' => 'Mostrar fecha y hora',
|
||||
'embed' => 'Habilitar imágenes',
|
||||
'incognito' => 'Modo incógnito',
|
||||
'changenick' => 'Cambiar Nick',
|
||||
'changepass' => 'Cambiar la contraseña',
|
||||
'oldpass' => 'Contraseña anterior:',
|
||||
'newpass' => 'Contraseña nueva:',
|
||||
@ -167,7 +171,7 @@ $T=[
|
||||
'clone' => 'Clone',
|
||||
'randh' => 'Reglas y ayuda',
|
||||
'exit' => 'Salir de la sala',
|
||||
'bye' => '¡Chau %s, visitanos pronto!',
|
||||
'bye' => '¡Chau %s, visítanos pronto!',
|
||||
'colourtable' => 'Colourtable',
|
||||
'backtoprofile' => 'Volver a tu perfil',
|
||||
'copy' => 'Copiar:',
|
||||
@ -195,11 +199,11 @@ $T=[
|
||||
'cantchgstat' => 'No pudo cambiarse el estado de %s',
|
||||
'succdel' => '%s fue eliminado de la base de datos.',
|
||||
'succchg' => 'Se cambió el estado de %s sin problemas.',
|
||||
'wrongpass' => '¡Constraseña incorrecta!',
|
||||
'wrongglobalpass' => '¡Constraseña global incorrecta!',
|
||||
'wrongpass' => '¡Contraseña incorrecta!',
|
||||
'wrongglobalpass' => '¡Contraseña global incorrecta!',
|
||||
'succprofile' => 'Tu perfil se guardó sin problemas.',
|
||||
'backtologin' => 'Volver a la página de identificación.',
|
||||
'backtochat' => 'Vovler a la sala.',
|
||||
'backtochat' => 'Volver a la sala.',
|
||||
'Beige' => 'Beige',
|
||||
'Black' => 'Negro',
|
||||
'Blue' => 'Azul',
|
||||
@ -267,7 +271,7 @@ $T=[
|
||||
'redirect' => 'Script de redirección personalizado',
|
||||
'backuprestore' => 'Copias de seguridad',
|
||||
'backup' => 'Hacer copia',
|
||||
'restore' => 'Restablacer copia',
|
||||
'restore' => 'Restablecer copia',
|
||||
'settings' => 'Configuración',
|
||||
'linkfilter' => 'Filtro de enlaces',
|
||||
'chatname' => 'Nombre de la sala',
|
||||
@ -275,8 +279,8 @@ $T=[
|
||||
'destroyed' => 'Sala destruida satisfactoriamente',
|
||||
'topic' => 'Asunto',
|
||||
'passreset' => 'Reiniciar contraseña',
|
||||
'cantresetpass' => 'Can\'t reset password',
|
||||
'succpassreset' => 'Successfully reset password',
|
||||
'cantresetpass' => 'No se puede reiniciar contraseña',
|
||||
'succpassreset' => 'Contraseña reiniciada correctamente',
|
||||
'entermsg' => '%s entró en la sala.',
|
||||
'exitmsg' => '%s se fue de la sala.',
|
||||
'memregmsg' => '%s ahora es un miembro registrado.',
|
||||
@ -295,14 +299,70 @@ $T=[
|
||||
'msgsendmod' => 'Sólo mensajes a staff',
|
||||
'msgsendadm' => 'Sólo mensajes a administradores',
|
||||
'msgsendprv' => 'Mensaje privado',
|
||||
'numnotes' => 'Number of notes revisions to keep',
|
||||
'numnotes' => 'Numero de notas para revisar',
|
||||
'revisions' => 'Revisiones:',
|
||||
'older' => 'Older',
|
||||
'newer' => 'Newer',
|
||||
'older' => 'Antiguo',
|
||||
'newer' => 'Nuevo',
|
||||
'accessdenied' => 'Acceso no permitido',
|
||||
'loggedinas' => 'Estás identificado como %s y no tenés acceso a esta sección.',
|
||||
'newnickname' => 'Nuevo apodo:',
|
||||
'nicknametaken' => 'Ese apodo ya fue tomado',
|
||||
'nopass' => 'Constraseña incorrecta (al menos %d caracteres), no se cambia apodo'
|
||||
'nopass' => 'Constraseña incorrecta (al menos %d caracteres), no se cambia apodo',
|
||||
'gdextrequired' => 'La extensión gd de PHP es requerida para esto. Instálela primero.',
|
||||
'memcachedextrequired' => 'La extensión memcached de PHP es requerida para esto. Instalela primero o configure memcached en false.',
|
||||
'sodiumextrequired' => 'La extensión libsodium de PHP es necesaria para la encriptación. Instálela o configure la encriptación en false.',
|
||||
'pdo_mysqlextrequired' => 'La extensión pdo_mysql de PHP es necesaria para la database driver seleccionada. Instálelo primero.',
|
||||
'pdo_pgsqlextrequired' => ' La extensión pdo_pgsql de PHP es necesaria para la database driver seleccionada. Instálelo primero.',
|
||||
'pdo_sqliteextrequired' => ' La extensión pdo_sqlite de PHP es necesaria para la database driver seleccionada. Instálelo primero.',
|
||||
'jsonextrequired' => 'La extensión json de PHP es necesaria para esta configuración. Instálela primero.',
|
||||
'sendmail' => 'Enviar mail en nuevo mensaje público',
|
||||
'mailsender' => 'Enviar mail usando esta dirección',
|
||||
'mailreceiver' => 'Enviar mail a esta dirección',
|
||||
'modfallback' => 'Volver a la sala de espera, si ningún moderador aprovo la visita',
|
||||
'regpass' => 'Repetir contraseña<br>para registrarse',
|
||||
'guestreg' => 'Dar permisos de invitado a si mismos',
|
||||
'asmember' => 'Como miembro',
|
||||
'assuguest' => 'Como aplicante',
|
||||
'fatalerror' => 'Error fatal',
|
||||
'prevmatch' => 'Your match was as follows',
|
||||
'matchtoolong' => 'Your match was too long. You can use max. 255 characters. Try splitting it up.',
|
||||
'nocache' => 'Autoscroll (para buscadores antiguos o tipo top to bottom).',
|
||||
'disablepm' => 'Desactivar mensajes privados',
|
||||
'disablechat' => 'Desactivar chat',
|
||||
'disabletext' => 'Mensaje de chat desactivado (html)',
|
||||
'disabledtext' => 'Desactivado temporalmente',
|
||||
'defaulttz' => 'Zona horaria predeterminada',
|
||||
'tz' => 'Zona horaria',
|
||||
'optional' => '(opcional)',
|
||||
'userloggedin' => 'Un usuario con ese nombre ya está registrado.',
|
||||
'regednick' => 'Este nombre es un usuario registrado.',
|
||||
'eninbox' => 'Activar inbox offline',
|
||||
'inboxmsgs' => 'Leer %d mensajes en tu bandeja',
|
||||
'offline' => '(offline)',
|
||||
'deleteacc' => 'Borrar cuenta',
|
||||
'eninnone' => 'Para nadie',
|
||||
'eninall' => 'Para todos',
|
||||
'eninmem' => 'Solo para miembros',
|
||||
'eninstaff' => 'Solo para staff',
|
||||
'eninadmin' => 'Solo para administradores',
|
||||
'nickregex' => 'Nickname regex',
|
||||
'passregex' => 'Password regex',
|
||||
'externalcss' => 'Link para archivo CSS externo',
|
||||
'greetingmsg' => 'Bienvenido %s!',
|
||||
'entryhelp' => 'Si no se te redirige en %d segundos, asegurate de tener activado la redirección automática (meta refresh) en tu navegador. También asegurate de que ningún filtro web, local proxy tool o browser plugin evita tu redirección automática! Podría ser por ejemplo "Polipo", "NoScript", etc.<br>o puedes usar el botón de recargar de manera manual.',
|
||||
'enablegreeting' => ' Mostrar un saludo antes de los mensajes',
|
||||
'unban' => 'Desbanear',
|
||||
'sortupdown' => 'Sort messages from top to bottom',
|
||||
'sortframe' => 'Rearrange',
|
||||
'cs' => 'Case sensitive',
|
||||
'hidechatters' => 'Esconder lista de chatters',
|
||||
'enfileupload' => 'Habilitar subida de archivos',
|
||||
'msgattache' => 'Attachement',
|
||||
'filenotfound' => 'Documento no encontrado!',
|
||||
'maxuploadsize' => 'Máxima subida en KB',
|
||||
'maxsize' => 'Max %d KB',
|
||||
'cssupdate' => 'Note: Css predeterminado está ahora hardcoded y puede ser removido de la configuración CSS',
|
||||
'manualrefresh' => 'Recarga manual requerida',
|
||||
'personalnotes' => 'Notas personales',
|
||||
'filtermodkick' => 'Aplicar Kick filter en moderadores o administradores',
|
||||
];
|
||||
?>
|
308
lang_es_ES.php
308
lang_es_ES.php
@ -1,308 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - Spanish (ES) translation
|
||||
*
|
||||
* Copyright (C) 2015-2016 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
//Native language name: Español (España)
|
||||
$T=[
|
||||
'nodb' => '¡Sin conexión a la base de datos!',
|
||||
'nodbsetup' => '¡No pudo conectarse a la base de datos! Por favor crea la base de datos y edita el script para usarla con el nombre de usuario y clave dados.',
|
||||
'changelang' => 'Cambiar idioma:',
|
||||
'expire' => 'La sesión es inválida o expiró',
|
||||
'kicked' => '¡Te expulsaron!',
|
||||
'noconfirm' => '¡La contraseña y su confirmación no coinciden!',
|
||||
'incorregex' => '¡Expresión regular incorrecta!',
|
||||
'bottom' => 'Inicio',
|
||||
'top' => 'Fin',
|
||||
'choose' => '(elija)',
|
||||
'setup' => 'Configuración del chat',
|
||||
'init' => 'Configuración inicial',
|
||||
'sulogin' => 'Registro de Superadministrador',
|
||||
'sunick' => 'Apodo del superadmin:',
|
||||
'supass' => 'Contraseña del superadmin:',
|
||||
'suconfirm' => 'Confirmar contraseña:',
|
||||
'susuccess' => '¡Registrado con éxito!',
|
||||
'initbtn' => 'Inicializar chat',
|
||||
'initdbexist' => '¡La base de datos ya existe! Para continuar, primero tienes que borrar esas tablas manualmente.',
|
||||
'initsuexist' => '¡Ya existe un superadministrador!',
|
||||
'initgosetup' => 'Ir a la página de configuración',
|
||||
'captcha' => 'Captcha',
|
||||
'enabled' => 'Habilitado',
|
||||
'onlyguests' => 'Sólo para invitados',
|
||||
'disabled' => 'Deshabilitado',
|
||||
'simple' => 'Simple',
|
||||
'moderate' => 'Moderado',
|
||||
'extreme' => 'Extremo',
|
||||
'nick' => 'Apodo:',
|
||||
'pass' => 'Constraseña:',
|
||||
'globalloginpass' => 'Contraseña global:',
|
||||
'login' => 'Identificarse',
|
||||
'dbupdate' => '¡La base de datos fue actualizada con éxito!',
|
||||
'sysmessages' => 'Mensajes de sistema',
|
||||
'msgenter' => 'Entrando',
|
||||
'msgexit' => 'Saliendo',
|
||||
'msgmemreg' => 'Miembro registrado',
|
||||
'msgsureg' => 'Aplicante registrado',
|
||||
'msgkick' => 'Expulsado',
|
||||
'msgmultikick' => 'Expulsión múltiple',
|
||||
'msgallkick' => 'Todos expulsados',
|
||||
'msgclean' => 'Sala limpiada',
|
||||
'dateformat' => '<a target="_blank" href="http://php.net/manual/en/function.date.php#refsect1-function.date-parameters">Date formating</a>',
|
||||
'admfunc' => 'Funciones administrativas',
|
||||
'allguests' => 'Todos invitados',
|
||||
'cleanmsgs' => 'Limpiar mensajes',
|
||||
'room' => 'Sala entera',
|
||||
'selection' => 'Selección',
|
||||
'cleannick' => 'Following nickname:',
|
||||
'clean' => 'Clean',
|
||||
'kickchat' => 'Expulsado (%d minutos)',
|
||||
'kickreason' => 'Motivo de expulsión:',
|
||||
'kickpurge' => 'Mensaje de purga',
|
||||
'kick' => 'Expulsar',
|
||||
'logoutinact' => 'Desconectar persona inactiva',
|
||||
'logout' => 'Desconectar',
|
||||
'sessions' => 'Ver sesiones activas',
|
||||
'view' => 'Ver',
|
||||
'filter' => 'Filtro',
|
||||
'guestacc' => 'Change Guestaccess',
|
||||
'guestallow' => 'Permitir',
|
||||
'guestwait' => 'Permitir con sala de espera',
|
||||
'adminallow' => 'Requiere aprobación del moderator',
|
||||
'guestdisallow' => 'Sólo miembros',
|
||||
'addsuguest' => 'Agregar aplicante',
|
||||
'register' => 'Registrar',
|
||||
'admmembers' => 'Miembros',
|
||||
'memdel' => 'Borrar de la base de datos',
|
||||
'memdeny' => 'Denegar acceso (!)',
|
||||
'memsuguest' => 'Convertir en aplicante (G)',
|
||||
'memreg' => 'Convertir en miembro regular',
|
||||
'memmod' => 'Convertir en moderador (M)',
|
||||
'memsumod' => 'Convertir en supermoderador (SM)',
|
||||
'memadm' => 'Convertir administrador (A)',
|
||||
'change' => 'Cambiar',
|
||||
'regguest' => 'Registrar invitado',
|
||||
'regmem' => 'Registrar miembro nuevo',
|
||||
'sessact' => 'Sesiones activas',
|
||||
'sessnick' => 'Apodo',
|
||||
'sesstimeout' => 'Expiración',
|
||||
'sessua' => 'Navegador',
|
||||
'fid' => 'ID del filtro:',
|
||||
'match' => 'Coincidencia',
|
||||
'replace' => 'Reemplazar',
|
||||
'allowpm' => 'Permitir en MP',
|
||||
'regex' => 'Expresión regular',
|
||||
'apply' => 'Aplicar',
|
||||
'newfilter' => 'Filtro nuevo:',
|
||||
'add' => 'Añadir',
|
||||
'noframes' => 'Este chat usa <b>frames</b>. ¡Por favor, habilítalos en tu navegador o usa uno que los permita!',
|
||||
'delselmes' => 'Borrar mensajes seleccionados',
|
||||
'staffnotes' => 'Notas del equipo',
|
||||
'adminnotes' => 'Notas de administrador',
|
||||
'notessaved' => '¡Notas guardadas!',
|
||||
'lastedited' => 'Editada por última vez por %1$s el %2$s',
|
||||
'savenotes' => 'Guardar notas',
|
||||
'waitingroom' => 'Sala de espera',
|
||||
'waittext' => 'Bienvenido %1$s, tu identificación fue demorada, podrás acceder a la sala en %2$d segundos.',
|
||||
'admwaittext' => 'Bienvenido %1$s, tu identificación fue demorada, podrás acceder a la sala en cuanto un administrador lo permita.',
|
||||
'waitreload' => 'Si esta página no se actualiza cada %d segundos, usa el botón de abajo para hacerlo manualmente.',
|
||||
'reload' => 'Recargar',
|
||||
'rules' => 'Reglas',
|
||||
'talkto' => 'Enviar a',
|
||||
'toall' => 'Todos',
|
||||
'tomem' => 'Sólo miembros',
|
||||
'tostaff' => 'Sólo equipo',
|
||||
'toadmin' => 'Sólo administradores',
|
||||
'alsopurge' => 'Además purgar mensajes',
|
||||
'dellast' => 'Eliminar el último mensaje',
|
||||
'delall' => 'Eliminar todos los mensajes',
|
||||
'switchsingle' => 'Cambiar a una sola línea',
|
||||
'switchmulti' => 'Cambiar a múltiples líneas',
|
||||
'help' => 'Ayuda',
|
||||
'helpguest' => 'Todas las funciones deberían ser auto-explicativas, sólo usa los botones. En tu perfil puedes ajustar el tiempo de refresco, el color del texto y el tamaño de caja que prefieras.<br><u>Nota:</u> Esto es una sala de chat, así que si no te mantienes hablando, serás desconectado automáticamete luego de un tiempo.',
|
||||
'helpembed' => 'Si quieres incluir una imagen en tu publicación, simplemente pon [img] al comienzo de la dirección URL de la imagen. Por ejemplo: [img]http://example.com/images/file.jpg incluirá la imagen en tu publicación.',
|
||||
'helpmem' => 'Miembros: Tendrás algunas opciones adicionales en tu perfil. Podrás ajustar la tipografía del texto y cambiar la contraseña en cualquier momento.',
|
||||
'helpmod' => 'Moderadores: Nota el botón de administración al final de la página. Te llevará a una página donde puedes limpiar la sala, expulsar personas, ver todas las sesiones activas y deshabilitar el acceso a invitados totalmente si fuese necesario.',
|
||||
'helpadm' => 'Administradores: Además podrás registrar invitados, editar miembros y registrar nuevos apodos sin que estén en la sala.',
|
||||
'profile' => 'Tu perfil',
|
||||
'ignore' => 'Ignorar',
|
||||
'unignore' => 'Dejar de ignorar',
|
||||
'refreshrate' => 'Tiempo de actualización (5-150 segundos)',
|
||||
'fontcolour' => 'Color de texto',
|
||||
'viewexample' => 'Ver ejemplos',
|
||||
'bgcolour' => 'Color de fondo',
|
||||
'fontface' => 'Tipografía',
|
||||
'roomdefault' => 'Sala por defecto',
|
||||
'bold' => 'Negrita',
|
||||
'italic' => 'Bastardilla',
|
||||
'fontexample' => 'Ejemplo de la tipografía seleccionada',
|
||||
'timestamps' => 'Mostrar fecha y hora',
|
||||
'embed' => 'Habilitar imágenes',
|
||||
'incognito' => 'Modo incógnito',
|
||||
'changepass' => 'Cambiar la contraseña',
|
||||
'oldpass' => 'Contraseña anterior:',
|
||||
'newpass' => 'Contraseña nueva:',
|
||||
'confirmpass' => 'Confirmar contraseña nueva:',
|
||||
'savechanges' => 'Guardar cambios',
|
||||
'reloadpb' => 'Recargar caja de publicación',
|
||||
'reloadmsgs' => 'Recargar mensajes',
|
||||
'chgprofile' => 'Perfil',
|
||||
'adminbtn' => 'Admin',
|
||||
'admnotes' => 'Notas de administrador',
|
||||
'notes' => 'Notas',
|
||||
'clone' => 'Clone',
|
||||
'randh' => 'Reglas y ayuda',
|
||||
'exit' => 'Salir de la sala',
|
||||
'bye' => '¡Chau %s, visitanos pronto!',
|
||||
'colourtable' => 'Colourtable',
|
||||
'backtoprofile' => 'Volver a tu perfil',
|
||||
'copy' => 'Copiar:',
|
||||
'choosecol' => 'Invitado, elija un color:',
|
||||
'randomcol' => 'Color al azar',
|
||||
'enter' => 'Ingresar a la sala',
|
||||
'error' => 'Error',
|
||||
'members' => 'Miembros',
|
||||
'guests' => 'Invitados',
|
||||
'approveguests' => '%d nuevos invitados para aprobar',
|
||||
'allowchecked' => 'Aceptar marcados',
|
||||
'allowall' => 'Aceptar todos',
|
||||
'denychecked' => 'Rechazar marcados',
|
||||
'denyall' => 'Rechazar todos',
|
||||
'denymessage' => 'Enviar mensaje a rechazados:',
|
||||
'butallowdeny' => 'Enviar',
|
||||
'waitempty' => 'No hay más peticiones para aprobar.',
|
||||
'wrongcaptcha' => 'Captcha incorrecto',
|
||||
'captchaexpire' => 'Captcha ya usado o expirado.',
|
||||
'noguests' => '¡Perdón! Actualmente sólo se permiten miembros.',
|
||||
'curchat' => 'Actualmente hay %d personas en la sala:',
|
||||
'cantreg' => 'No pudo registrarse %s',
|
||||
'alreadyreged' => '%s ya fue registrado.',
|
||||
'successreg' => '%s se registro exitosamente.',
|
||||
'cantchgstat' => 'No pudo cambiarse el estado de %s',
|
||||
'succdel' => '%s fue eliminado de la base de datos.',
|
||||
'succchg' => 'Se cambió el estado de %s exitosamente.',
|
||||
'wrongpass' => '¡Constraseña incorrecta!',
|
||||
'wrongglobalpass' => '¡Constraseña global incorrecta!',
|
||||
'succprofile' => 'Tu perfil se guardó satisfactoriamente.',
|
||||
'backtologin' => 'Volver a la página de identificación.',
|
||||
'backtochat' => 'Vovler a la sala.',
|
||||
'Beige' => 'Beis',
|
||||
'Black' => 'Negro',
|
||||
'Blue' => 'Azul',
|
||||
'BlueViolet' => 'Azul violáceo',
|
||||
'Brown' => 'Marrón',
|
||||
'Cyan' => 'Cian',
|
||||
'DarkBlue' => 'Azul oscuro',
|
||||
'DarkGreen' => 'Verde oscuro',
|
||||
'DarkRed' => 'Rojo oscuro',
|
||||
'DarkViolet' => 'Violeta oscuro',
|
||||
'DeepSkyBlue' => 'Azul celeste',
|
||||
'Gold' => 'Dorado',
|
||||
'Grey' => 'Gris',
|
||||
'Green' => 'Verde',
|
||||
'HotPink' => 'Rosa cálido',
|
||||
'Indigo' => 'Índigo',
|
||||
'LightBlue' => 'Azul claro',
|
||||
'LightGreen' => 'Verde claro',
|
||||
'LimeGreen' => 'Verde lima',
|
||||
'Magenta' => 'Magenta',
|
||||
'Olive' => 'Oliva',
|
||||
'Orange' => 'Naranja',
|
||||
'OrangeRed' => 'Rojo anaranjado',
|
||||
'Purple' => 'Púrpura',
|
||||
'Red' => 'Rojo',
|
||||
'RoyalBlue' => 'Azul real',
|
||||
'SeaGreen' => 'Verde marino',
|
||||
'Sienna' => 'Siena',
|
||||
'Silver' => 'Plateado',
|
||||
'Tan' => 'Bronceado',
|
||||
'Teal' => 'Cerceta',
|
||||
'Violet' => 'Violeta',
|
||||
'White' => 'Blanco',
|
||||
'Yellow' => 'Amarillo',
|
||||
'YellowGreen' => 'Verde amarillento',
|
||||
'redirectto' => 'Redirigir hacia:',
|
||||
'nonhttp' => 'Petición de enlace que no es http:',
|
||||
'httpredir' => 'Si no funciona, prueba esto:',
|
||||
'actions' => 'Acciones',
|
||||
'sesip' => 'Dirección IP',
|
||||
'css' => 'Estilo CSS',
|
||||
'memberexpire' => 'Expiración para miembros (minutos)',
|
||||
'guestexpire' => 'Expiración para invitados (minutos)',
|
||||
'kickpenalty' => 'Penalidad al expulsar (minutos)',
|
||||
'entrywait' => 'Tiempo en sala de espera (segundos)',
|
||||
'captchatime' => 'Expiración de captcha (segundos)',
|
||||
'messageexpire' => 'Expiracíon de mensajes (minutos)',
|
||||
'messagelimit' => 'Límite de mensajes (público)',
|
||||
'maxmessage' => 'Largo máximo de mensaje',
|
||||
'confirm' => '¿Estás seguro?',
|
||||
'yes' => 'Sí',
|
||||
'no' => 'No',
|
||||
'colbg' => 'Color de fondo',
|
||||
'coltxt' => 'Color de texto',
|
||||
'maxname' => 'Largo máximo para apodos',
|
||||
'minpass' => 'Largo mínimo para contraseñas',
|
||||
'defaultrefresh' => 'Tiempo de refresco de mensajes por defecto (segundos)',
|
||||
'suguests' => 'Habilitar aplicantes',
|
||||
'rulestxt' => 'Reglas (html)',
|
||||
'imgembed' => 'Imágenes incrustadas',
|
||||
'trackip' => 'Mostrar IP de la sesión',
|
||||
'captchachars' => 'Caracteres usados en el Captcha',
|
||||
'memkick' => 'Los miembros pueden expulsar, si no hay moderador presente',
|
||||
'forceredirect' => 'Forzar redirección',
|
||||
'redirect' => 'Script de redirección personalizado',
|
||||
'backuprestore' => 'Respaldar y restaurar',
|
||||
'backup' => 'Respaldar',
|
||||
'restore' => 'Restaurar',
|
||||
'settings' => 'Preferencias',
|
||||
'linkfilter' => 'Filtro de enlaces',
|
||||
'chatname' => 'Nombre de la sala',
|
||||
'destroy' => 'Destruir sala',
|
||||
'destroyed' => 'Sala destruida satisfactoriamente',
|
||||
'topic' => 'Asunto',
|
||||
'passreset' => 'Reiniciar contraseña',
|
||||
'cantresetpass' => 'Can\'t reset password',
|
||||
'succpassreset' => 'Successfully reset password',
|
||||
'entermsg' => '%s entró en la sala.',
|
||||
'exitmsg' => '%s se fue de la sala.',
|
||||
'memregmsg' => '%s ahora es un miembro registrado.',
|
||||
'suregmsg' => '%s ahora es un aplicante registrado.',
|
||||
'kickmsg' => '%s fue expulsado.',
|
||||
'multikickmsg' => '%s fueron expulsados.',
|
||||
'allkickmsg' => 'Todas las personas fueron expulsadas.',
|
||||
'cleanmsg' => '%s fue limpiada.',
|
||||
'sendallmsg' => '%s - ',
|
||||
'sendmemmsg' => '[M] %s - ',
|
||||
'sendmodmsg' => '[Equipo] %s - ',
|
||||
'sendadmmsg' => '[Admin] %s - ',
|
||||
'sendprvmsg' => '[%1$s a %2$s] - ',
|
||||
'msgsendall' => 'Mensajes a todos',
|
||||
'msgsendmem' => 'Sólo mensajes a miembros',
|
||||
'msgsendmod' => 'Sólo mensajes a equipo',
|
||||
'msgsendadm' => 'Sólo mensajes a administradores',
|
||||
'msgsendprv' => 'Mensaje privado',
|
||||
'numnotes' => 'Number of notes revisions to keep',
|
||||
'revisions' => 'Revisiones:',
|
||||
'older' => 'Older',
|
||||
'newer' => 'Newer',
|
||||
'accessdenied' => 'Acceso denegado',
|
||||
'loggedinas' => 'Estás identificado como %s y no tenés acceso a esta sección.',
|
||||
'newnickname' => 'Nuevo apodo:',
|
||||
'nicknametaken' => 'Ese apodo ya fue tomado',
|
||||
'nopass' => 'Constraseña incorrecta (al menos %d caracteres), no se cambia apodo'
|
||||
];
|
||||
?>
|
@ -2,7 +2,7 @@
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - French translation
|
||||
*
|
||||
* Copyright (C) 2015-2016 Daniel Winzen <d@winzen4.de>
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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
|
||||
@ -305,4 +305,4 @@ $T=[
|
||||
'nicknametaken' => 'Pseudo déjà pris',
|
||||
'nopass' => 'Mot de passe invalide (au moins % caractères), ne pas changer le pseudo',
|
||||
];
|
||||
?>
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - Indonesian translation
|
||||
*
|
||||
* Copyright (C) 2015-2016 Daniel Winzen <d@winzen4.de>
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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
|
||||
@ -305,4 +305,4 @@ $T=[
|
||||
'nicknametaken' => 'Nama sudah ada',
|
||||
'nopass' => 'Kata sandi salah (Minimal %d karakter), tak merubah nama'
|
||||
];
|
||||
?>
|
||||
|
||||
|
368
lang_it.php
Normal file
368
lang_it.php
Normal file
@ -0,0 +1,368 @@
|
||||
<?php
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - Italian translation
|
||||
*
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
//Native language name: Italiano
|
||||
$T=[
|
||||
'nodb' => 'Non cè collegamento al database!',
|
||||
'nodbsetup' => 'Non cè collegamento con database, perfavore crea il database ed edita lo scipt, per utilizzare database giusto con utente e password creati',
|
||||
'changelang' => 'Cambia lingua:',
|
||||
'expire' => 'Sessione invalida',
|
||||
'kicked' => 'Bannato!',
|
||||
'invalnick' => 'Nome sbagliato (%1$d simboli al massimo e deve coincidere con il testo"%2$s")',
|
||||
'invalpass' => 'Password sbagliata (Almeno %1$d simboli e deve coincidere con il testo "%2$s")',
|
||||
'noconfirm' => 'Password inserite non coincidono!',
|
||||
'incorregex' => 'Testo non corretto',
|
||||
'bottom' => 'Giù',
|
||||
'top' => 'Su',
|
||||
'choose' => '(sclegli)',
|
||||
'setup' => 'Impostare chat',
|
||||
'init' => 'Impostazioni iniziali',
|
||||
'sulogin' => 'Entrata per super-amministratore',
|
||||
'sunick' => 'Nome super-amministratore:',
|
||||
'supass' => 'Password super-amministratore:',
|
||||
'suconfirm' => 'Conferma password:',
|
||||
'susuccess' => 'Registrato con successo!',
|
||||
'initbtn' => 'Inizio della chat',
|
||||
'initdbexist' => 'Tabelle nel database esistono! Per continuare, prima devi eliminare tabelle manualmente.',
|
||||
'initsuexist' => 'Super-amministratore è già esistente!',
|
||||
'initgosetup' => 'Impostazioni Chat',
|
||||
'captcha' => 'Captcha',
|
||||
'enabled' => 'Abilitato',
|
||||
'onlyguests' => 'Solo per ospiti',
|
||||
'disabled' => 'Disabilitato',
|
||||
'simple' => 'Facile',
|
||||
'moderate' => 'Medio',
|
||||
'extreme' => 'Difficile',
|
||||
'nick' => 'Login:',
|
||||
'pass' => 'Password:',
|
||||
'globalloginpass' => 'Password globale:',
|
||||
'login' => 'Entrare',
|
||||
'dbupdate' => 'Database aggiornato!',
|
||||
'sysmessages' => 'Messaggi del sistema',
|
||||
'msgenter' => 'Entrata',
|
||||
'msgexit' => 'Uscita',
|
||||
'msgmemreg' => 'Registarto',
|
||||
'msgsureg' => 'Richiedente registrato',
|
||||
'msgkick' => 'Bannato',
|
||||
'msgmultikick' => 'Bannati più volte',
|
||||
'msgallkick' => 'Tutti bannati',
|
||||
'msgclean' => 'Pulizia chat',
|
||||
'dateformat' => '<a target="_blank" href="http://php.net/manual/ru/function.date.php#refsect1-function.date-parameters">Fuso Orario</a>',
|
||||
'admfunc' => 'Funzioni del amministratore',
|
||||
'allguests' => 'Tutti ospiti',
|
||||
'cleanmsgs' => 'Cancella messaggi',
|
||||
'room' => 'Stanza pubblica',
|
||||
'selection' => 'Scelta',
|
||||
'cleannick' => 'Al Nome:',
|
||||
'clean' => 'Cancella',
|
||||
'kickchat' => 'Ban (%d minuti)',
|
||||
'kickreason' => 'Messaggio al bannato',
|
||||
'kickpurge' => 'Pulizia messaggi',
|
||||
'kick' => 'Kick',
|
||||
'logoutinact' => 'Espelli partecipante',
|
||||
'logout' => 'Logout',
|
||||
'sessions' => 'Sessioni attive',
|
||||
'view' => 'Visualizza',
|
||||
'filter' => 'Filtro',
|
||||
'guestacc' => 'Cambia entrata nella chat',
|
||||
'guestallow' => 'Accettare',
|
||||
'guestwait' => 'Accettare ospiti',
|
||||
'adminallow' => 'Richiedere il permesso al moderatore',
|
||||
'guestdisallow' => 'Solo membri',
|
||||
'addsuguest' => 'Aggiungere candidato',
|
||||
'register' => 'Registrare',
|
||||
'admmembers' => 'Membri',
|
||||
'memdel' => 'Eliminare dal database',
|
||||
'memdeny' => 'Aggiungere membro (!)',
|
||||
'memsuguest' => 'Aggiunzione al candidato (G)',
|
||||
'memreg' => 'Aggiornare stato',
|
||||
'memmod' => 'Aggiunzione moderatore (M)',
|
||||
'memsumod' => 'Aggiunzione super-moderatore (SM)',
|
||||
'memadm' => 'Aggiunzione amministratore (A)',
|
||||
'change' => 'Cambia',
|
||||
'regguest' => 'Registra opspiti',
|
||||
'regmem' => 'Registra nuovo utente',
|
||||
'sessact' => 'Sessioni attive',
|
||||
'sessnick' => 'Nome',
|
||||
'sesstimeout' => 'Tempo di attesa in',
|
||||
'sessua' => 'User-Agent',
|
||||
'fid' => 'Filtro ID:',
|
||||
'match' => 'Coincidenza',
|
||||
'replace' => 'Sostituire',
|
||||
'allowpm' => 'Accettare in privato',
|
||||
'regex' => 'Testo regolare',
|
||||
'apply' => 'Salvare',
|
||||
'newfilter' => 'Nuovo filtro:',
|
||||
'add' => 'Aggiungere',
|
||||
'noframes' => 'Questa chat utilizza <b>frames</b>. Perfavore, avvia il supporto nel tuo Browser o utilizza quello adatto!',
|
||||
'delselmes' => 'Eliminare messaggi selezionati',
|
||||
'staffnotes' => 'Note del supporto',
|
||||
'adminnotes' => 'Note del amministratore',
|
||||
'notessaved' => 'Note salvate!',
|
||||
'lastedited' => 'Ultima redazione %1$s %2$s',
|
||||
'savenotes' => 'Salvare note',
|
||||
'waitingroom' => 'Degli ospiti',
|
||||
'waittext' => 'Benvenuto %1$s, rimani in attesa, chat sarà disponibile tra %2$d secondi.',
|
||||
'admwaittext' => 'Benvenuto %1$s, rimani in attesa, chat sarà disponibile dopo che moderazione accetta entrata.',
|
||||
'waitreload' => 'Se questa pagina non risponde, non si aggiorna ogni %d secondi, utilizzate il tasto in basso, per ricaricare manualmente',
|
||||
'reload' => 'Ricaricare',
|
||||
'rules' => 'Regole',
|
||||
'talkto' => 'Invia',
|
||||
'toall' => 'Tutti nella chat',
|
||||
'tomem' => 'Membri',
|
||||
'tostaff' => 'Staff',
|
||||
'toadmin' => 'Amministratore',
|
||||
'alsopurge' => 'Eliminare messaggi',
|
||||
'dellast' => 'Eliminare utlimo messaggio',
|
||||
'delall' => 'Eliminare tutti messaggi',
|
||||
'switchsingle' => 'Abilitare modalità riga(e)',
|
||||
'switchmulti' => 'Abilitare multiriga',
|
||||
'help' => 'Aiuto',
|
||||
'helpguest' => 'Tutte le funzioni sono chiare, solo utilizzate i tasti. Nelle impostazioni del vostro profilo potete impostare tempo di aggiornamento, colore del carattere e dimensione della finestra.<br><u>Nota:</u> é una chat, per questo anche se non scrivete niente, sarà in automatico salvato dopo un tot di tempo..',
|
||||
'helpembed' => 'Se volete impostare immagine nel vostro post, attaccate [img] davanti al vostro URL-immagine. Esempio: [img]http://example.com/images/file.jpg sarà agganciato al vostro messaggio.<br> Anche disponibile carica file cliccando pulsante in alro "Browse..."<br>',
|
||||
'helpmem' => 'Membri: Avete alcune scelte nelle impostazioni del profilo. Si può impostare carattere e cambiare la password in qualsiasi momento.',
|
||||
'helpmod' => 'Staff: Visualizzate il tasto dell amministratore giù. Questo vi riendizzerà, dove potete ripulire la stanza, bannare, visualizzare sessioni attive e disabilitare accesso agli ospiti, se necessario.',
|
||||
'helpadm' => 'Amministratori: Vi è disponibile registrare utenti, modificare e rigistrare nuovi nomi senza che ci siano nella stanza.',
|
||||
'profile' => 'Mio profilo',
|
||||
'ignore' => 'Ignorare',
|
||||
'unignore' => 'Non ignorare più',
|
||||
'refreshrate' => 'Ricarica Chat (5-150 secondi)',
|
||||
'fontcolour' => 'Colore carattere',
|
||||
'viewexample' => 'Visualizza esempi',
|
||||
'bgcolour' => 'Colore sfondo',
|
||||
'fontface' => 'Carattere',
|
||||
'roomdefault' => 'Predefinito',
|
||||
'bold' => 'Grassetto',
|
||||
'italic' => 'Corsivo',
|
||||
'small' => 'Diminuito',
|
||||
'fontexample' => 'Esempio del carattere selezionato',
|
||||
'timestamps' => 'Visualizzare il tempo',
|
||||
'embed' => 'Incollare immagine',
|
||||
'incognito' => 'Modalità incognito',
|
||||
'changenick' => 'Cambia nome',
|
||||
'changepass' => 'Cambia password',
|
||||
'oldpass' => 'Vecchio profilo:',
|
||||
'newpass' => 'Nuovo profilo:',
|
||||
'confirmpass' => 'Conferma:',
|
||||
'savechanges' => 'Salavre cambiamenti',
|
||||
'reloadpb' => 'Ricarica Chat',
|
||||
'reloadmsgs' => 'Aggiorna/Indietro',
|
||||
'chgprofile' => 'Profilo',
|
||||
'adminbtn' => 'Amministratore',
|
||||
'admnotes' => 'Note del amministratore',
|
||||
'notes' => 'Appunti',
|
||||
'clone' => 'Clona',
|
||||
'randh' => 'Regole/Aiuto',
|
||||
'exit' => 'Abbandona',
|
||||
'bye' => 'Ti salutiamo %s, entra ancora!',
|
||||
'colourtable' => 'Esempio colori',
|
||||
'backtoprofile' => 'Tornare nel mio profilo',
|
||||
'copy' => 'Copia:',
|
||||
'choosecol' => 'Selezionate colore:',
|
||||
'randomcol' => 'Colore a caso',
|
||||
'enter' => 'Entrare',
|
||||
'error' => 'Errore',
|
||||
'members' => 'Registrati',
|
||||
'guests' => 'Ospiti',
|
||||
'approveguests' => '%d nuovi ospiti da accettare',
|
||||
'allowchecked' => 'Permettere verifica',
|
||||
'allowall' => 'Permettere a tutti',
|
||||
'denychecked' => 'Non permettere verifica',
|
||||
'denyall' => 'Non permettere a nessuno',
|
||||
'denymessage' => 'Mandare messaggio con rifiuto:',
|
||||
'butallowdeny' => 'Inviare',
|
||||
'waitempty' => 'Non ci sono più richieste disponibili.',
|
||||
'wrongcaptcha' => 'Captcha errata!',
|
||||
'captchaexpire' => 'Codice di protezione è già in utilizzo oppure tempo scaduto.',
|
||||
'noguests' => 'Scusate, entrano solo registrati!',
|
||||
'curchat' => 'Attualmente %d partecipante (i) in stanza:',
|
||||
'cantreg' => 'Non puoi registrarti %s',
|
||||
'alreadyreged' => '%s Già registrato.',
|
||||
'successreg' => '%s Registrato con successo.',
|
||||
'cantchgstat' => 'Impossibile cambiare stato %s',
|
||||
'succdel' => '%s eliminato dal database.',
|
||||
'succchg' => 'Stato %s cambaito con successo.',
|
||||
'wrongpass' => 'Password errata!',
|
||||
'wrongglobalpass' => 'Password globale sbagliata!',
|
||||
'succprofile' => 'Tuo profilo è stato salvato.',
|
||||
'backtologin' => 'Tornare nella pag. pincipale.',
|
||||
'backtochat' => 'Tornare nella chat.',
|
||||
'Beige' => 'Beige',
|
||||
'Black' => 'Nero',
|
||||
'Blue' => 'Blu',
|
||||
'BlueViolet' => 'Viola-blu',
|
||||
'Brown' => 'Marrone',
|
||||
'Cyan' => 'Azzurro',
|
||||
'DarkBlue' => 'Blu-scuro',
|
||||
'DarkGreen' => 'Verde-scuro',
|
||||
'DarkRed' => 'Rosso-scuro',
|
||||
'DarkViolet' => 'Viola-scuro',
|
||||
'DeepSkyBlue' => 'Azzurro chiaro',
|
||||
'Gold' => 'Oro',
|
||||
'Grey' => 'Griggio',
|
||||
'Green' => 'Verde',
|
||||
'HotPink' => 'Rosa-chiaro',
|
||||
'Indigo' => 'Indigo',
|
||||
'LightBlue' => 'Blu-chiaro',
|
||||
'LightGreen' => 'Verde-charo',
|
||||
'LimeGreen' => 'Verde lime',
|
||||
'Magenta' => 'Magenta',
|
||||
'Olive' => 'Oliva',
|
||||
'Orange' => 'Arancione',
|
||||
'OrangeRed' => 'Arancione-rosso',
|
||||
'Purple' => 'Viola',
|
||||
'Red' => 'Rosso',
|
||||
'RoyalBlue' => 'Re blu',
|
||||
'SeaGreen' => 'Verde mare',
|
||||
'Sienna' => 'Siena',
|
||||
'Silver' => 'Cromato',
|
||||
'Tan' => 'Abbronzato',
|
||||
'Teal' => 'Teal',
|
||||
'Violet' => 'Viola',
|
||||
'White' => 'Bianco',
|
||||
'Yellow' => 'Giallo',
|
||||
'YellowGreen' => 'Giallo-verde',
|
||||
'redirectto' => 'Riendirizzamento su:',
|
||||
'nonhttp' => 'Url richiesto non è http:',
|
||||
'httpredir' => 'Se non funziona prova questo:',
|
||||
'actions' => 'Azioni',
|
||||
'sesip' => 'IP-indirizzo',
|
||||
'css' => 'CSS stili',
|
||||
'memberexpire' => 'Time-Out membri (minuti)',
|
||||
'guestexpire' => 'Time-out ospiti (minuti)',
|
||||
'kickpenalty' => 'Ban (minuti)',
|
||||
'entrywait' => 'Tempo di attesa stanza ospiti (secondi)',
|
||||
'captchatime' => 'Time-Out Captcha (secondi)',
|
||||
'messageexpire' => 'Time-Out messaggi (minuti)',
|
||||
'messagelimit' => 'Limite messaggi (pubblici)',
|
||||
'maxmessage' => 'Lunghezza massimale dei messaggi',
|
||||
'confirm' => 'Sei sicuro?',
|
||||
'yes' => 'Si',
|
||||
'no' => 'No',
|
||||
'colbg' => 'Colore sfondo',
|
||||
'coltxt' => 'Colore testo',
|
||||
'maxname' => 'Lunghezza nome massimale',
|
||||
'minpass' => 'Lunghezza minima password',
|
||||
'defaultrefresh' => 'In predefinito tempo di ricarica (secondi)',
|
||||
'suguests' => 'Accettare ospiti',
|
||||
'rulestxt' => 'Regole (html)',
|
||||
'imgembed' => 'Inserimento immagini',
|
||||
'trackip' => 'Visualizzare IP-sessione',
|
||||
'captchachars' => 'Simboli, utilizzati in Captcha',
|
||||
'memkick' => 'Membri possono espellere, se non è presente moderatore',
|
||||
'forceredirect' => 'Riendirizzamento forzato',
|
||||
'redirect' => 'Riendirizzamento forzato membri',
|
||||
'backuprestore' => 'Backup e ripristino',
|
||||
'backup' => 'Backup',
|
||||
'restore' => 'Ripristino',
|
||||
'settings' => 'Impostazioni',
|
||||
'linkfilter' => 'Filtaggio link',
|
||||
'chatname' => 'Nome Chat',
|
||||
'destroy' => 'Distruggere chat',
|
||||
'destroyed' => 'Chat distrutto',
|
||||
'topic' => 'Tema',
|
||||
'passreset' => 'Cambia password',
|
||||
'cantresetpass' => 'Impossibile cambiare password',
|
||||
'succpassreset' => 'Password cambiata',
|
||||
'entermsg' => '%s entrato in chat.',
|
||||
'exitmsg' => '%s abbandonato chat.',
|
||||
'memregmsg' => '%s ora registrato membro.',
|
||||
'suregmsg' => '%s ora registrato candidato.',
|
||||
'kickmsg' => '%s espcluso dalla chat.',
|
||||
'multikickmsg' => '%s esclusi dalla chat.',
|
||||
'allkickmsg' => 'tutti ospiti esplusi dalla chat.',
|
||||
'cleanmsg' => '%s pulito prima.',
|
||||
'sendallmsg' => '%s - ',
|
||||
'sendmemmsg' => '[M] %s - ',
|
||||
'sendmodmsg' => '[Staff] %s - ',
|
||||
'sendadmmsg' => '[Admin] %s - ',
|
||||
'sendprvmsg' => '[%1$s a %2$s] - ',
|
||||
'msgsendall' => 'Messaggio a tutti',
|
||||
'msgsendmem' => 'Messaggio ai membri',
|
||||
'msgsendmod' => 'Messaggio solo ai moderatori',
|
||||
'msgsendadm' => 'Messaggio solo al amministratore',
|
||||
'msgsendprv' => 'Messaggio privato',
|
||||
'numnotes' => 'Numero per salvare',
|
||||
'revisions' => 'Ripristino:',
|
||||
'older' => 'Vecchi',
|
||||
'newer' => 'Nuovi',
|
||||
'accessdenied' => 'Rifiutato.',
|
||||
'loggedinas' => 'Sei entrato come %s e non hai accesso alla sessione.',
|
||||
'newnickname' => 'Nuovo nome:',
|
||||
'nicknametaken' => 'Nome occupato',
|
||||
'nopass' => 'Password sbagliata (Almeno %d simboli), senza cambiare nome',
|
||||
'gdextrequired' => 'The gd extension of PHP is required for this feature. Please install it first.',
|
||||
'memcachedextrequired' => 'The memcached extension of PHP is required for the caching feature. Please install it first or set the memcached setting back to false.',
|
||||
'sodiumextrequired' => 'The libsodium extension of PHP is required for the encryption feature. Please install it first or set the encrypted setting back to false.',
|
||||
'pdo_mysqlextrequired' => 'The pdo_mysql extension of PHP is required for the selected database driver. Please install it first.',
|
||||
'pdo_pgsqlextrequired' => 'The pdo_pgsql extension of PHP is required for the selected database driver. Please install it first.',
|
||||
'pdo_sqliteextrequired' => 'The pdo_sqlite extension of PHP is required for the selected database driver. Please install it first.',
|
||||
'jsonextrequired' => 'The json extension of PHP is required for this feature. Please install it first.',
|
||||
'sendmail' => 'Mandare messaggio come nuovo pubblico',
|
||||
'mailsender' => 'Mandare messaggio utilizzando questo indirizzo',
|
||||
'mailreceiver' => 'Mandare messaggio a questo indirizzo',
|
||||
'modfallback' => 'Tornare nella stanza di attesa, se non è presente moderatore',
|
||||
'regpass' => 'Ripetere password<br>Registrarsi',
|
||||
'guestreg' => 'Permettere di registrarsi agli ospiti',
|
||||
'asmember' => 'Come membro',
|
||||
'assuguest' => 'Come candidato',
|
||||
'fatalerror' => 'Errore fatale',
|
||||
'prevmatch' => 'Testi nei campi coincidono',
|
||||
'matchtoolong' => 'Testo troppo lungo. Si puà utilizzare solo 255 simboli, provare suddividere campo in parti',
|
||||
'nocache' => 'Avtoricarica (per i Browser precedenti, per suddividere dal alto-basso)',
|
||||
'disablepm' => 'Disabilitare mess. privati',
|
||||
'disablechat' => 'Disabilitare chat',
|
||||
'disabletext' => 'Messaggio di chat disabilitata (html)',
|
||||
'disabledtext' => 'Attualmente disabilitato',
|
||||
'defaulttz' => 'Fus orario predefinito',
|
||||
'tz' => 'Fuso Orario',
|
||||
'optional' => '(optional)',
|
||||
'userloggedin' => 'Utilizzatore con questo nome è già in rete.',
|
||||
'regednick' => 'Questo nome appartiene già ad un altro.',
|
||||
'eninbox' => 'Abilitare offline-posta',
|
||||
'inboxmsgs' => 'Leggete %d messaggi in entrata',
|
||||
'offline' => '(offline)',
|
||||
'deleteacc' => 'Eliminare account',
|
||||
'eninnone' => 'Per nessuno',
|
||||
'eninall' => 'Per tutti',
|
||||
'eninmem' => 'Solo per membri',
|
||||
'eninstaff' => 'Solo per moderatori',
|
||||
'eninadmin' => 'Solo per amministratore',
|
||||
'nickregex' => 'Nickname regex',
|
||||
'passregex' => 'Password regex',
|
||||
'externalcss' => 'Link per CSS esterno',
|
||||
'greetingmsg' => 'Benvenuto %s!',
|
||||
'entryhelp' => 'Se questa finestra non si aggiorna ogni %d secondi. Dovete abilitare aggiornamento automatico (meta refresh) nel vostro browser. Assicuratevi che non ci sia filtro-web, verificate impostazioni proxy, o plugin del browser per il blocco del aggiornamento! Esempi dei plugin: "Polipo", "NoScript", ecc...<br>Nota, (nel caso di errore di ricarica delle pagine a causa del server/proxy) Вы всегда можете использовать кнопки внизуpotete sempre utilizzare tasti in basso della pagina per ricaricare manualmente.',
|
||||
'enablegreeting' => 'Visualizzare benvenuto prima del ultimo messaggio',
|
||||
'unban' => 'Sbloccare',
|
||||
'sortupdown' => 'Riordinare messaggi dal alto in basso',
|
||||
'sortframe' => 'Ribaltare chat',
|
||||
'cs' => 'Registrazione-sensibile',
|
||||
'hidechatters' => 'Nascondere lista dei partecipanti',
|
||||
'enfileupload' => 'Abilitare upload dei file',
|
||||
'msgattache' => 'Annotazione',
|
||||
'filenotfound' => 'File non trovato!',
|
||||
'maxuploadsize' => 'Dimensione massima del file KB',
|
||||
'maxsize' => 'Max. %d KB',
|
||||
'cssupdate' => 'Note: Default CSS is now hardcoded and can be removed from the CSS setting',
|
||||
'manualrefresh' => 'Bisogna aggiornare pagina manualmente',
|
||||
'personalnotes' => 'Appunti personali',
|
||||
'filtermodkick' => 'Utlizzare filtro di esclusione per moderatori',
|
||||
];
|
137
lang_ru.php
137
lang_ru.php
@ -2,7 +2,7 @@
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - Russian translation
|
||||
*
|
||||
* Copyright (C) 2015-2016 Daniel Winzen <d@winzen4.de>
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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
|
||||
@ -25,7 +25,9 @@ $T=[
|
||||
'changelang' => 'Изменить язык:',
|
||||
'expire' => 'Недействительная/с истекшим сроком сессия',
|
||||
'kicked' => 'Забанен!',
|
||||
'noconfirm' => 'Подтверждение пароля не совпадает!',
|
||||
'invalnick' => 'Некорректное имя (%1$d символов максимум и оно должно совпадать с выражением "%2$s")',
|
||||
'invalpass' => 'Некорректный пароль (Хотя бы %1$d символов и он должен совпадать с выражением "%2$s")',
|
||||
'noconfirm' => 'Введенные пароли не совпадают!',
|
||||
'incorregex' => 'Неправильное регулярное выражение!',
|
||||
'bottom' => 'Вниз',
|
||||
'top' => 'Вверх',
|
||||
@ -117,9 +119,9 @@ $T=[
|
||||
'lastedited' => 'Последний раз редактировал %1$s %2$s',
|
||||
'savenotes' => 'Сохранить заметки',
|
||||
'waitingroom' => 'Гостевая',
|
||||
'waittext' => 'Добро пожаловать %1$s, Ваш логин задерживается, Вы можете получить доступ в чат через %2$d секунд.',
|
||||
'admwaittext' => 'Добро пожаловать %1$s, Ваш логин задерживается, Вы можете получить доступ в чат в ближайшее время, когда разрешит модератор.',
|
||||
'waitreload' => 'Если эта страница не отвечает, обновления каждые %d секунд, используйте кнопку ниже, чтобы загрузить его вручную!',
|
||||
'waittext' => 'Добро пожаловать %1$s, наблюдается задержка входа, доступ к чату будет осуществлен через %2$d секунд.',
|
||||
'admwaittext' => 'Добро пожаловать %1$s, наблюдается задержка входа, доступ к чату будет доступен после подтверждения модератором.',
|
||||
'waitreload' => 'Если эта страница не отвечает, не обновляется каждые %d секунд, используйте кнопку ниже, чтобы перезагрузить ее вручную!',
|
||||
'reload' => 'Перезагрузить',
|
||||
'rules' => 'Правила',
|
||||
'talkto' => 'Отправить',
|
||||
@ -130,14 +132,14 @@ $T=[
|
||||
'alsopurge' => 'Также очистить сообщения',
|
||||
'dellast' => 'Удалить последнее сообщение',
|
||||
'delall' => 'Удалить все сообщения',
|
||||
'switchsingle' => 'Переключитесь на одну линию',
|
||||
'switchmulti' => 'Переключитесь на мульти-линию',
|
||||
'switchsingle' => 'Включить однострочный режим',
|
||||
'switchmulti' => 'Включить многострочный режим',
|
||||
'help' => 'Помощь',
|
||||
'helpguest' => 'Все функции интуитивно понятны, просто используйте кнопки. В настройках вашего профиля вы можете настроить частоту обновления, цвет шрифта и желаемый размер окна входа.<br><u>Заметка:</u> Это чат, поэтому даже если вы ничего не пишете, то будете автоматически зарегистрированы через некоторое время..',
|
||||
'helpembed' => 'Если вы хотите встроить изображение в свой пост, просто положите [img] перед вашим URL-изображением. Пример: [img]http://example.com/images/file.jpg будет вставлять изображения в вашем посте.<br>',
|
||||
'helpguest' => 'Все функции интуитивно понятны, просто используйте кнопки. В настройках вашего профиля вы можете настроить частоту обновления, цвет шрифта и желаемый размер окна входа.<br><u>Заметка:</u> Это чат, поэтому даже если вы ничего не пишете, то будет автоматически зарегистрировано через некоторое время..',
|
||||
'helpembed' => 'Если вы хотите встроить изображение в свой пост, прикрепите [img] перед вашим URL-изображением. Пример: [img]http://example.com/images/file.jpg будет прикреплять картинку к вашему сообщению.<br>',
|
||||
'helpmem' => 'Участники: У вас есть несколько вариантов настроек в вашем профиле. Можно настроить шрифт и изменить свой пароль в любое время.',
|
||||
'helpmod' => 'Модераторы: Обратите внимание кнопку администратора внизу. Это перенесет на страницу, где вы можете очистить комнату, забанить, просмотреть все активные сеансы и отключить гостевой доступ полностью, если необходимо.',
|
||||
'helpadm' => 'Администраторы: Вы способны регистрировать гостей, редактировать пользователей и регистрировать новые ники без их присутствия в комнате.',
|
||||
'helpmod' => 'Модераторы: Обратите внимание кнопку администратора внизу. Это перенесет вас на страницу, где вы можете очистить комнату, забанить, просмотреть все активные сеансы и отключить гостевой доступ полностью, если необходимо.',
|
||||
'helpadm' => 'Администраторы: Вы способны регистрировать гостей и новые ники без их присутствия в комнате а также редактировать пользователей.',
|
||||
'profile' => 'Ваш профиль',
|
||||
'ignore' => 'Игнорировать',
|
||||
'unignore' => 'Больше не игнорировать',
|
||||
@ -149,10 +151,12 @@ $T=[
|
||||
'roomdefault' => 'По умолчанию',
|
||||
'bold' => 'Жирный',
|
||||
'italic' => 'Курсив',
|
||||
'small' => 'Маленький',
|
||||
'fontexample' => 'Пример выбранного вами шрифта',
|
||||
'timestamps' => 'Показать отметки времени',
|
||||
'embed' => 'Вставить изображения',
|
||||
'incognito' => 'Режим инкогнито',
|
||||
'changenick' => 'Изменить имя',
|
||||
'changepass' => 'Изменить пароль',
|
||||
'oldpass' => 'Старый пароль:',
|
||||
'newpass' => 'Новый пароль:',
|
||||
@ -171,21 +175,21 @@ $T=[
|
||||
'colourtable' => 'Примеры цветов',
|
||||
'backtoprofile' => 'Вернуться к вашему профилю',
|
||||
'copy' => 'Копия:',
|
||||
'choosecol' => 'Гости выбирают цвет:',
|
||||
'choosecol' => 'Выберите ваш цвет:',
|
||||
'randomcol' => 'Случайный цвет',
|
||||
'enter' => 'Войти в чат',
|
||||
'error' => 'Ошибка',
|
||||
'members' => 'Зарегистрированные',
|
||||
'guests' => 'Гости',
|
||||
'approveguests' => '%d новые гости для одобрения',
|
||||
'allowchecked' => 'Разрешить проверять',
|
||||
'allowall' => 'Позволять всем',
|
||||
'denychecked' => 'Запретить проверять',
|
||||
'allowchecked' => 'Разрешить проверку',
|
||||
'allowall' => 'Разрешить всем',
|
||||
'denychecked' => 'Запретить проверку',
|
||||
'denyall' => 'Запретить всем',
|
||||
'denymessage' => 'Отправить сообщение с отказом:',
|
||||
'butallowdeny' => 'Отправить',
|
||||
'waitempty' => 'Нет больше запросов для одобрения.',
|
||||
'wrongcaptcha' => 'Неправильный код',
|
||||
'waitempty' => 'Больше запросов для одобрения нет.',
|
||||
'wrongcaptcha' => 'Неверная капча!',
|
||||
'captchaexpire' => 'Защитный код уже используется или время истекло.',
|
||||
'noguests' => 'Извините, входят только зарегистрированные!',
|
||||
'curchat' => 'Сейчас %d разговор (ов) в комнате:',
|
||||
@ -257,18 +261,109 @@ $T=[
|
||||
'maxname' => 'Максимальная длина имени',
|
||||
'minpass' => 'Минимальная длина пароля',
|
||||
'defaultrefresh' => 'По умолчанию время перезагрузки сообщения (секунды)',
|
||||
'suguests' => 'Включить заявителей',
|
||||
'suguests' => 'Разрешить гостей',
|
||||
'rulestxt' => 'Правила (html)',
|
||||
'imgembed' => 'Вставка изображений',
|
||||
'trackip' => 'Показать IP-сессию',
|
||||
'captchachars' => 'Символы, используемые в Captcha',
|
||||
'memkick' => 'Пользователи могут банить, если не присутствует модератор',
|
||||
'memkick' => 'Пользователи могут исключать, если не присутствует модератор',
|
||||
'forceredirect' => 'Принудительное перенаправление',
|
||||
'redirect' => 'Пользовательский скрипт перенаправления',
|
||||
'backuprestore' => 'Бэкап и восстановление',
|
||||
'backup' => 'Бэкап',
|
||||
'restore' => 'Восстановление',
|
||||
'settings' => 'Настройки',
|
||||
'linkfilter' => 'Фильтрация ссылок'
|
||||
'linkfilter' => 'Фильтрация ссылок',
|
||||
'chatname' => 'Название чата',
|
||||
'destroy' => 'Уничтожить чат',
|
||||
'destroyed' => 'Чат успешно уничтожен',
|
||||
'topic' => 'Тема',
|
||||
'passreset' => 'Сброс пароля',
|
||||
'cantresetpass' => 'Невозможно сбросить пароль',
|
||||
'succpassreset' => 'Пароль успешно сброшен',
|
||||
'entermsg' => '%s вошел в чат.',
|
||||
'exitmsg' => '%s покинул чат.',
|
||||
'memregmsg' => '%s теперь зарегистрированный член.',
|
||||
'suregmsg' => '%s теперь зарегистрированный заявитель.',
|
||||
'kickmsg' => '%s исключен из чата.',
|
||||
'multikickmsg' => '%s исключены из чата.',
|
||||
'allkickmsg' => 'Все гости исключены из чата.',
|
||||
'cleanmsg' => '%s был очищен.',
|
||||
'sendallmsg' => '%s - ',
|
||||
'sendmemmsg' => '[M] %s - ',
|
||||
'sendmodmsg' => '[Staff] %s - ',
|
||||
'sendadmmsg' => '[Admin] %s - ',
|
||||
'sendprvmsg' => '[%1$s to %2$s] - ',
|
||||
'msgsendall' => 'Сообщение всем',
|
||||
'msgsendmem' => 'Сообщение только членам',
|
||||
'msgsendmod' => 'Сообщение только модераторам',
|
||||
'msgsendadm' => 'Сообщение только администраторам',
|
||||
'msgsendprv' => 'Личное сообщение',
|
||||
'numnotes' => 'Число исправлений для сохранения',
|
||||
'revisions' => 'Исправления:',
|
||||
'older' => 'Старые',
|
||||
'newer' => 'Новые',
|
||||
'accessdenied' => 'В доступе отказано.',
|
||||
'loggedinas' => 'Вы вошли как %s и не имеете доступа к этой секции.',
|
||||
'newnickname' => 'Новое имя:',
|
||||
'nicknametaken' => 'Имя уже занято',
|
||||
'nopass' => 'Некорректный пароль (Хотя бы %d символов), не меняя имени',
|
||||
'gdextrequired' => 'gd расширение для PHP требуетса для етой функции. Пожалуйста установите его сначала...',
|
||||
'memcachedextrequired' => 'The memcached extension of PHP is required for the caching feature. Please install it first or set the memcached setting back to false.',
|
||||
'sodiumextrequired' => 'The libsodium extension of PHP is required for the encryption feature. Please install it first or set the encrypted setting back to false.',
|
||||
'pdo_mysqlextrequired' => 'Pdo_mysql расширение для PHP требуетса для драйверов базы данных. Пожалуйста установите его сначала..',
|
||||
'pdo_pgsqlextrequired' => 'Pdo_pgsql расширение для PHP требуетса для драйверов базы данных. Пожалуйста установите его сначала..',
|
||||
'pdo_sqliteextrequired' => 'Pdo_sqlite расширение для PHP требуетса для драйверов базы данных. Пожалуйста установите его сначала.',
|
||||
'jsonextrequired' => 'Json расширение для PHP требуетса для етой функции. Пожалуйста установите его сначала.',
|
||||
'sendmail' => 'Отправить сообщение как новое публичное',
|
||||
'mailsender' => 'Отправить сообщение на этот адрес',
|
||||
'mailreceiver' => 'Отправить сообщение по этому адресу',
|
||||
'modfallback' => 'Вернуться в комнату ожидания, если отстутсвует модератор для подтверждения гостей',
|
||||
'regpass' => 'Повторите пароль<br>Зарегистрироваться',
|
||||
'guestreg' => 'Разрешить гостям регистрироваться самостоятельно',
|
||||
'asmember' => 'Как член',
|
||||
'assuguest' => 'Как заявитель',
|
||||
'fatalerror' => 'Фатальная ошибка',
|
||||
'prevmatch' => 'Тексты в полях совпадают',
|
||||
'matchtoolong' => 'Текст в поле слишком длинний. Можно использовать максимум 255 символов, попробуйте разбить поле на части.',
|
||||
'nocache' => 'Автозагрузка (для старых браузеров, для сортрировки сверху-вниз).',
|
||||
'disablepm' => 'Отключить личные сообщения',
|
||||
'disablechat' => 'Отключить чат',
|
||||
'disabletext' => 'Чат отключил сообщение (html)',
|
||||
'disabledtext' => 'Временно отключен',
|
||||
'defaulttz' => 'Часовой пояс по умолчанию',
|
||||
'tz' => 'Часовой пояс',
|
||||
'optional' => '(опционально)',
|
||||
'userloggedin' => 'Пользователь с текущим именем уже в сети.',
|
||||
'regednick' => 'Это имя принадлежит зарегистрированному пользователю.',
|
||||
'eninbox' => 'Включить оффлайн-почту',
|
||||
'inboxmsgs' => 'Прочитайте %d входящих сообщений',
|
||||
'offline' => '(оффлайн)',
|
||||
'deleteacc' => 'Удалить аккаунт',
|
||||
'eninnone' => 'Никаму',
|
||||
'eninall' => 'Для всех',
|
||||
'eninmem' => 'Только для членов',
|
||||
'eninstaff' => 'Только для модераторов',
|
||||
'eninadmin' => 'Только для админов',
|
||||
'nickregex' => 'Ник regex',
|
||||
'passregex' => 'Пароль regex',
|
||||
'externalcss' => 'Ссылка на внешний CSS файл',
|
||||
'greetingmsg' => 'Добро пожаловать %s!',
|
||||
'entryhelp' => 'Если это окно не обновится в течение %d секунд, Вам нужно включить автоматическое обновление (meta refresh) в вашем браузере. Также убедитесь в отстутствии веб-фильтра, проверьте настройки прокси, либо плагины браузера на блокировку автоматического обновления! Примеры плагинов: "Polipo", "NoScript", и т.д.<br>Тем не менее, (в случае ошибок перезагрузки страниц из-за сервера/прокси) вы всегда можете использовать кнопки внизу страницы для ручного обновления страницыы.',
|
||||
'enablegreeting' => 'Показывать приветственное сообщение перед остальными сообщениями',
|
||||
'unban' => 'Разблокировать',
|
||||
'sortupdown' => 'Сортировать сообщения сверху вниз',
|
||||
'sortframe' => 'Перестроить',
|
||||
'cs' => 'Регистр-чувствительный',
|
||||
'hidechatters' => 'Спрятать список людей в чате',
|
||||
'enfileupload' => 'Разрешить файловые загрузки',
|
||||
'msgattache' => 'Прикрепление',
|
||||
'filenotfound' => 'Файл не обнаружен!',
|
||||
'maxuploadsize' => 'Максимальный размер файла в КБ',
|
||||
'maxsize' => 'Макс. %d КБ',
|
||||
'cssupdate' => 'Заметка: по установлению CSS он тяжелый и можна убрать его в CSS настройках',
|
||||
'manualrefresh' => 'Требуется обновить страницу вручную',
|
||||
'personalnotes' => 'Личные заметки',
|
||||
'filtermodkick' => 'Применить фильтр исключения для модераторов',
|
||||
];
|
||||
?>
|
||||
|
||||
|
369
lang_uk.php
Normal file
369
lang_uk.php
Normal file
@ -0,0 +1,369 @@
|
||||
<?php
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - Ukrainian translation
|
||||
*
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
//Native language name: Українська
|
||||
$T=[
|
||||
'nodb' => 'Нема зєднення з базою данних!',
|
||||
'nodbsetup' => 'Нема зєднення з базою данних, будьласка, зробіть, базу данних і поміняйте сценарій, щоб іспользувати правильну базу данних з заданним імям використовувателя і паролеєм!',
|
||||
'changelang' => 'Поміняти мову:',
|
||||
'expire' => 'Недійствінна/з теперішнім сроком сесія',
|
||||
'kicked' => 'Забанений!',
|
||||
'invalnick' => 'Не вірне имя (%1$d символів максимально і воно має совпадати з вираженням "%2$s")',
|
||||
'invalpass' => 'Не вірний пароль (Хотя б %1$d символів і воно має совпадати з вираженням "%2$s")',
|
||||
'noconfirm' => 'Введені паролі не однакові!',
|
||||
'incorregex' => 'Не правильне регулярне вираження!',
|
||||
'bottom' => 'Вниз',
|
||||
'top' => 'Вверх',
|
||||
'choose' => '(вибрати)',
|
||||
'setup' => 'Установка чата',
|
||||
'init' => 'Початкова установка',
|
||||
'sulogin' => 'Вхід для суперадминистратора',
|
||||
'sunick' => 'Нік суперадминистратора:',
|
||||
'supass' => 'Пароль суперадминистратора:',
|
||||
'suconfirm' => 'Підтвердити пароль:',
|
||||
'susuccess' => 'Успішно зарегістрірований!',
|
||||
'initbtn' => 'Початок чата',
|
||||
'initdbexist' => 'Таблиці бази данних вже бувають! Щоб продовжити, маєте спочатку удалити таблиці вручну.',
|
||||
'initsuexist' => 'Суперадминистратор вже существує!',
|
||||
'initgosetup' => 'Перейти на сторінку установкі',
|
||||
'captcha' => 'Captcha',
|
||||
'enabled' => 'Включений',
|
||||
'onlyguests' => 'Тільки для гістей',
|
||||
'disabled' => 'Виключений',
|
||||
'simple' => 'Легка',
|
||||
'moderate' => 'Середня',
|
||||
'extreme' => 'Сильна',
|
||||
'nick' => 'Нік:',
|
||||
'pass' => 'Пароль:',
|
||||
'globalloginpass' => 'Глобальний пароль:',
|
||||
'login' => 'Війти',
|
||||
'dbupdate' => 'База данних успішно обновлена!',
|
||||
'sysmessages' => 'Системні повідомлення',
|
||||
'msgenter' => 'Вхід',
|
||||
'msgexit' => 'Вихід',
|
||||
'msgmemreg' => 'Зарегістрірованні',
|
||||
'msgsureg' => 'Заявник зарегістрірован',
|
||||
'msgkick' => 'Забаненні',
|
||||
'msgmultikick' => 'Багаторазово забаненні',
|
||||
'msgallkick' => 'Всі забаненні',
|
||||
'msgclean' => 'Очищення чата',
|
||||
'dateformat' => '<a target="_blank" href="http://php.net/manual/ru/function.date.php#refsect1-function.date-parameters">Формат дати</a>',
|
||||
'admfunc' => 'Административные функції',
|
||||
'allguests' => 'Всі гості',
|
||||
'cleanmsgs' => 'Очищення повідомлень',
|
||||
'room' => 'Загальна комната',
|
||||
'selection' => 'Вибір',
|
||||
'cleannick' => 'По ніку:',
|
||||
'clean' => 'Очистити',
|
||||
'kickchat' => 'Бан (%d хвилин)',
|
||||
'kickreason' => 'Повідомлення забаненому',
|
||||
'kickpurge' => 'Очищення повідомлень',
|
||||
'kick' => 'Бан',
|
||||
'logoutinact' => 'Віхід неактивного чата',
|
||||
'logout' => 'Вийти',
|
||||
'sessions' => 'Активні сесії',
|
||||
'view' => 'Перегляд',
|
||||
'filter' => 'Фільтр',
|
||||
'guestacc' => 'Замінити гостевий доступ',
|
||||
'guestallow' => 'Дозволити',
|
||||
'guestwait' => 'Дозволити з гостевой',
|
||||
'adminallow' => 'Вимагати одобрення модератора',
|
||||
'guestdisallow' => 'Тільки участники',
|
||||
'addsuguest' => 'Добавити заявителя',
|
||||
'register' => 'Зарегістріровати',
|
||||
'admmembers' => 'Участники',
|
||||
'memdel' => 'Удалити з бази данних',
|
||||
'memdeny' => 'Забопонити вхід (!)',
|
||||
'memsuguest' => 'Набір др претендента (G)',
|
||||
'memreg' => 'Установити участника',
|
||||
'memmod' => 'Набір модератора (M)',
|
||||
'memsumod' => 'Набір супермодератора (SM)',
|
||||
'memadm' => 'Набір администратора (A)',
|
||||
'change' => 'Змінити',
|
||||
'regguest' => 'Регістрація гістей',
|
||||
'regmem' => 'Регістрація нових участникив',
|
||||
'sessact' => 'Активні сесії',
|
||||
'sessnick' => 'Нік',
|
||||
'sesstimeout' => 'Час задержки в',
|
||||
'sessua' => 'User-Agent',
|
||||
'fid' => 'Фільтр ID:',
|
||||
'match' => 'Совпадіння',
|
||||
'replace' => 'Замінити',
|
||||
'allowpm' => 'Дозволити в личку',
|
||||
'regex' => 'Регулярне вираження',
|
||||
'apply' => 'Примінити',
|
||||
'newfilter' => 'Новий фільтр:',
|
||||
'add' => 'Добавити',
|
||||
'noframes' => 'Цей чат використовуе <b>frames</b>. Будь ласка, включить піддержку у вашому браузері або використовуйте підхідящий!',
|
||||
'delselmes' => 'Удалити вибранне повідомлення',
|
||||
'staffnotes' => 'Служебні замітки',
|
||||
'adminnotes' => 'Замітки администратора',
|
||||
'notessaved' => 'Замітки збереженні!',
|
||||
'lastedited' => 'Послідній раз редактироний %1$s %2$s',
|
||||
'savenotes' => 'Зберігти замітки',
|
||||
'waitingroom' => 'Гістева',
|
||||
'waittext' => 'Ласково просимо %1$s, наблюдаєтся задержка вхіда, доступ до чату буде через %2$d секунд.',
|
||||
'admwaittext' => 'Ласково просимо %1$s, наблюдаєтся задержка вхіда, доступ до чату буде доступний після підтверждення модератора.',
|
||||
'waitreload' => 'Якщо ця сторінка не відповідае, не обновляється кожних %d секунд, використовуйте кнопку внизу, щоб перезагрузити її вручну!',
|
||||
'reload' => 'Перезагрузити',
|
||||
'rules' => 'Правила',
|
||||
'talkto' => 'Відіслати',
|
||||
'toall' => 'Всі в чаті',
|
||||
'tomem' => 'Участникі',
|
||||
'tostaff' => 'Служебні',
|
||||
'toadmin' => 'Администратор',
|
||||
'alsopurge' => 'Також очистити повідомлення',
|
||||
'dellast' => 'Удалити послідні повідомлення',
|
||||
'delall' => 'Удалити всі повідомлення',
|
||||
'switchsingle' => 'Включить однорядковий режим',
|
||||
'switchmulti' => 'Включить багаторядковий режим',
|
||||
'help' => 'Допомога',
|
||||
'helpguest' => 'Всі функції добре зрозумілі, просто використовуйте кнопки. В настройках вашого профіля ви можете настроїти частоту обновлення, кольор шрифта і бажаємий позмір вікна для вхіда.<br><u>Замітка:</u> Це чат, тому даже якщо ви нічого не пишете, то буде автоматично зарегістріровано через деякий час...',
|
||||
'helpembed' => 'Якщо ви хочете встроїти картинку в свій пост, прикріпіть [img] перед вашим URL-картинкою. Приклад: [img]http://example.com/images/file.jpg буде прикріпленна картинка до вашого повідомлення.<br>',
|
||||
'helpmem' => 'Участники: У вас є декілька варіантів настройок у вашому профілі. Можете настроїти шрифт або изменити свій пароль в любий час.',
|
||||
'helpmod' => 'Модератори: Зверніть увагу на кнопку администратора внизу. Це перенесе вас на сторінку, де ви зможете очистити кімнату, забанити, передивитись всі активні сессії і відключити гістевий доступ повністю, якщо обязанно.',
|
||||
'helpadm' => 'Администратори: Ви згiдні регiстріровати гістей, редактирувати участників і регістріровати нові нікі без їх присутності в кімнаті.',
|
||||
'profile' => 'Ваш профіль',
|
||||
'ignore' => 'Игнорірувати',
|
||||
'unignore' => 'Більше не ігнорірувати',
|
||||
'refreshrate' => 'Частота обновлення (5-150 секунд)',
|
||||
'fontcolour' => 'Кольор шрифта',
|
||||
'viewexample' => 'Подивитись приклади',
|
||||
'bgcolour' => 'Фоновий коляр',
|
||||
'fontface' => 'Шрифт',
|
||||
'roomdefault' => 'Дефаулт',
|
||||
'bold' => 'Жирний',
|
||||
'italic' => 'Курсивний',
|
||||
'small' => 'Маленький',
|
||||
'fontexample' => 'Приклад вибранного вами шрифта',
|
||||
'timestamps' => 'Показати відмітки часу',
|
||||
'embed' => 'Вставити картинку',
|
||||
'incognito' => 'Режим аноним',
|
||||
'changenick' => 'Замінити імя',
|
||||
'changepass' => 'Замінити пароль',
|
||||
'oldpass' => 'Старий пароль:',
|
||||
'newpass' => 'Новий пароль:',
|
||||
'confirmpass' => 'Підтвердити:',
|
||||
'savechanges' => 'Зберігти иізмінення',
|
||||
'reloadpb' => 'Перезагрузити почтовий ящік',
|
||||
'reloadmsgs' => 'Обновити',
|
||||
'chgprofile' => 'Профіль',
|
||||
'adminbtn' => 'Администратор',
|
||||
'admnotes' => 'Зауваження администратора',
|
||||
'notes' => 'Зауваження',
|
||||
'clone' => 'Клонувати',
|
||||
'randh' => 'Правила і допомога',
|
||||
'exit' => 'Вихід',
|
||||
'bye' => 'Допобачення %s, заходіть знову!',
|
||||
'colourtable' => 'Приклад колорів',
|
||||
'backtoprofile' => 'Вернутись до вашого профиля',
|
||||
'copy' => 'Копія:',
|
||||
'choosecol' => 'Виберіть ваш коляр:',
|
||||
'randomcol' => 'Случайний коляр',
|
||||
'enter' => 'Війти в чат',
|
||||
'error' => 'Ошибка',
|
||||
'members' => 'Зарегістріруванні',
|
||||
'guests' => 'Гості',
|
||||
'approveguests' => '%d новіе гості для одобрення',
|
||||
'allowchecked' => 'Дозволити провірку',
|
||||
'allowall' => 'Дозволити всім',
|
||||
'denychecked' => 'Заборонити провірку',
|
||||
'denyall' => 'Заборонити всім',
|
||||
'denymessage' => 'Відіслати повідомлення з відмовою:',
|
||||
'butallowdeny' => 'Відіслати',
|
||||
'waitempty' => 'Більше запросів для одобрення нема.',
|
||||
'wrongcaptcha' => 'Не правильна капча!',
|
||||
'captchaexpire' => 'Захисний код вже использується або стік час.',
|
||||
'noguests' => 'Вибачайте, входять тільки зарегистрируванні!',
|
||||
'curchat' => 'Заресь %d размова (в) в кімнаті:',
|
||||
'cantreg' => 'Ви не можете зарегістріруватись %s',
|
||||
'alreadyreged' => '%s вже зарегістрірований.',
|
||||
'successreg' => '%s успішно зарегістрірований.',
|
||||
'cantchgstat' => 'Неможливо замінити статус %s',
|
||||
'succdel' => '%s успішно удалений з бази данних.',
|
||||
'succchg' => 'Статус %s успішно замінений.',
|
||||
'wrongpass' => 'Невірний пароль!',
|
||||
'wrongglobalpass' => 'Невірний глобальний пароль!',
|
||||
'succprofile' => 'Ваш профіль був успішно збережений.',
|
||||
'backtologin' => 'Вернутись на сторінку вхіда.',
|
||||
'backtochat' => 'Вернутись в чат.',
|
||||
'Beige' => 'Бежевий',
|
||||
'Black' => 'Чорний',
|
||||
'Blue' => 'Синій',
|
||||
'BlueViolet' => 'Фіолєтово-синій',
|
||||
'Brown' => 'Коричневий',
|
||||
'Cyan' => 'Голубий',
|
||||
'DarkBlue' => 'Темно-синий',
|
||||
'DarkGreen' => 'Темно-зелений',
|
||||
'DarkRed' => 'Темно-червоний',
|
||||
'DarkViolet' => 'Темно-фиолетовий',
|
||||
'DeepSkyBlue' => 'Голубе небо',
|
||||
'Gold' => 'Золотий',
|
||||
'Grey' => 'Сірий',
|
||||
'Green' => 'Зелений',
|
||||
'HotPink' => 'Ярко-розовий',
|
||||
'Indigo' => 'Індіго',
|
||||
'LightBlue' => 'Світло-синій',
|
||||
'LightGreen' => 'Світло-зелений',
|
||||
'LimeGreen' => 'Зелений лайм',
|
||||
'Magenta' => 'Пурпурний',
|
||||
'Olive' => 'Оливковий',
|
||||
'Orange' => 'Оранжевий',
|
||||
'OrangeRed' => 'Оранжево-червоний',
|
||||
'Purple' => 'Фіолєтовий',
|
||||
'Red' => 'Червоний',
|
||||
'RoyalBlue' => 'Королівский синій',
|
||||
'SeaGreen' => 'Морський зелений',
|
||||
'Sienna' => 'Сіена',
|
||||
'Silver' => 'Серібряний',
|
||||
'Tan' => 'Загарний',
|
||||
'Teal' => 'Чірок',
|
||||
'Violet' => 'Фіолєтовий',
|
||||
'White' => 'Білий',
|
||||
'Yellow' => 'Жовтий',
|
||||
'YellowGreen' => 'Жовто-зелений',
|
||||
'redirectto' => 'Перенаправлення на:',
|
||||
'nonhttp' => 'Запрошенна ссилка не http:',
|
||||
'httpredir' => 'Якщо це не працює, попробуйте це:',
|
||||
'actions' => 'Дії',
|
||||
'sesip' => 'IP-адрес',
|
||||
'css' => 'CSS стилі',
|
||||
'memberexpire' => 'Тайм-аут участникив (хвилин)',
|
||||
'guestexpire' => 'Тайм-аут гістей (хвилин)',
|
||||
'kickpenalty' => 'Бан (хвилин)',
|
||||
'entrywait' => 'Час задерження в гістевій (секунд)',
|
||||
'captchatime' => 'Тайм-аут Captcha (секунд)',
|
||||
'messageexpire' => 'Тайм-аут повідомлення (хвилин)',
|
||||
'messagelimit' => 'Ліміт повідомлень (загальних)',
|
||||
'maxmessage' => 'Максимальна довжина повідомлення',
|
||||
'confirm' => 'Ви впевненні?',
|
||||
'yes' => 'Так',
|
||||
'no' => 'Ні',
|
||||
'colbg' => 'Фоновий коляр',
|
||||
'coltxt' => 'Кольор текста',
|
||||
'maxname' => 'Максимальна довжина часу',
|
||||
'minpass' => 'Мінімальна довжина пароля',
|
||||
'defaultrefresh' => 'По дефаулт час перезагрузки повідомлень (секунд)',
|
||||
'suguests' => 'Дозволити гістей',
|
||||
'rulestxt' => 'Правила (html)',
|
||||
'imgembed' => 'Вставка картінкі',
|
||||
'trackip' => 'Показати IP-сесію',
|
||||
'captchachars' => 'Символи, використовувані в Captcha',
|
||||
'memkick' => 'Участники можуть ісключати, якщо нема модератора',
|
||||
'forceredirect' => 'Примусовне перенаправлення',
|
||||
'redirect' => 'Користувача скрипт перенаправлення',
|
||||
'backuprestore' => 'Бэкап і восстановлення',
|
||||
'backup' => 'Бэкап',
|
||||
'restore' => 'Восстановлення',
|
||||
'settings' => 'Настройки',
|
||||
'linkfilter' => 'Фильтрація ссилок',
|
||||
'chatname' => 'Імя чата',
|
||||
'destroy' => 'Удалити чат',
|
||||
'destroyed' => 'Чат вдачно удаленний',
|
||||
'topic' => 'Тема',
|
||||
'passreset' => 'Зкинути пароль',
|
||||
'cantresetpass' => 'Неможливо зкинути пароль',
|
||||
'succpassreset' => 'Пароль успішно зкинутий',
|
||||
'entermsg' => '%s війшов в чат.',
|
||||
'exitmsg' => '%s покинув чат.',
|
||||
'memregmsg' => '%s тепер зарегистрированний участник.',
|
||||
'suregmsg' => '%s тепер зарегистрированний заявник.',
|
||||
'kickmsg' => '%s виключений з чата.',
|
||||
'multikickmsg' => '%s виключені з чата.',
|
||||
'allkickmsg' => 'Всі гості виключені з чата.',
|
||||
'cleanmsg' => '%s був очищений.',
|
||||
'sendallmsg' => '%s - ',
|
||||
'sendmemmsg' => '[M] %s - ',
|
||||
'sendmodmsg' => '[Staff] %s - ',
|
||||
'sendadmmsg' => '[Admin] %s - ',
|
||||
'sendprvmsg' => '[%1$s to %2$s] - ',
|
||||
'msgsendall' => 'Повідомлення всім',
|
||||
'msgsendmem' => 'Повідомлення тільки участникам',
|
||||
'msgsendmod' => 'Повідомлення тільки модераторам',
|
||||
'msgsendadm' => 'Повідомлення тільки администраторам',
|
||||
'msgsendprv' => 'Приватне повідомлення',
|
||||
'numnotes' => 'Номер ісправлень для зберіження',
|
||||
'revisions' => 'Ісправлень:',
|
||||
'older' => 'Старі',
|
||||
'newer' => 'Нові',
|
||||
'accessdenied' => 'В вхіді відмовленно.',
|
||||
'loggedinas' => 'Ви війшли як %s і не маєте доступа до цеї секції.',
|
||||
'newnickname' => 'Нове імя:',
|
||||
'nicknametaken' => 'Імя вже занято',
|
||||
'nopass' => 'Негідний пароль (Хотя б %d символів), не міняя імя',
|
||||
'gdextrequired' => 'The gd extension of PHP is required for this feature. Please install it first.',
|
||||
'memcachedextrequired' => 'The memcached extension of PHP is required for the caching feature. Please install it first or set the memcached setting back to false.',
|
||||
'sodiumextrequired' => 'The libsodium extension of PHP is required for the encryption feature. Please install it first or set the encrypted setting back to false.',
|
||||
'pdo_mysqlextrequired' => 'The pdo_mysql extension of PHP is required for the selected database driver. Please install it first.',
|
||||
'pdo_pgsqlextrequired' => 'The pdo_pgsql extension of PHP is required for the selected database driver. Please install it first.',
|
||||
'pdo_sqliteextrequired' => 'The pdo_sqlite extension of PHP is required for the selected database driver. Please install it first.',
|
||||
'jsonextrequired' => 'The json extension of PHP is required for this feature. Please install it first.',
|
||||
'sendmail' => 'Відправити повідомлення як нове публичне заявлення',
|
||||
'mailsender' => 'Отправить сообщение на цей адрес',
|
||||
'mailreceiver' => 'Отправить сообщение по цьому адресу',
|
||||
'modfallback' => 'Вернутись в кімнату задержки, якщо нема модератора для підтверждення гістей',
|
||||
'regpass' => 'Повторіть пароль<br>Зарегистрироватись',
|
||||
'guestreg' => 'Дозволити гістям регістріроватись самостійно',
|
||||
'asmember' => 'Як учасник',
|
||||
'assuguest' => 'Як заявник',
|
||||
'fatalerror' => 'Фатальна ошибка',
|
||||
'prevmatch' => 'Тексти в стрічках совпадають',
|
||||
'matchtoolong' => 'Текст в стрічки задлінне. Можна використати максимально 255 символів, попробуйте розділити строки на частини.',
|
||||
'nocache' => 'Автопрокрутка (для старих браузерів, для сортріровкі з верху-вниз).',
|
||||
'disablepm' => 'Відключити приватні повідомлення',
|
||||
'disablechat' => 'Відключити чат',
|
||||
'disabletext' => 'Чат відключив повідомлення (html)',
|
||||
'disabledtext' => 'Часково відключенний',
|
||||
'defaulttz' => 'Часовий пояс по дефаулт',
|
||||
'tz' => 'Часовий пояс',
|
||||
'optional' => '(опційно)',
|
||||
'userloggedin' => 'Гость з таким имям вже в чаті.',
|
||||
'regednick' => 'Це імя використовуе зарегістріруваний участник.',
|
||||
'eninbox' => 'Включити офлайн-почту',
|
||||
'inboxmsgs' => 'Прочитайте %d вхідящих повідомлень',
|
||||
'offline' => '(офлайн)',
|
||||
'deleteacc' => 'Удалити акаунт',
|
||||
'eninnone' => 'Ні для кого',
|
||||
'eninall' => 'Для всіх',
|
||||
'eninmem' => 'Тільки для участників',
|
||||
'eninstaff' => 'Тількі для модераторів',
|
||||
'eninadmin' => 'Тоільки для адмінів',
|
||||
'nickregex' => 'Nickname regex',
|
||||
'passregex' => 'Password regex',
|
||||
'externalcss' => 'Ссилка на внішний CSS файл',
|
||||
'greetingmsg' => 'Добро пожалоувати %s!',
|
||||
'entryhelp' => 'Якщо це вікно не обновиться через %d секунд, Вам треба включити автоматичне обновлення (meta refresh) у вашому браузері. Також увіртесь щоб не було веб-фильтра, провірьте настройкі проксі, або плагіни браузера на блокіровку автоматичного обновлення! Прклади плагінов: "Polipo", "NoScript", и т.д.<br>Тем не меньше, (в случаї ошибок перезагрузки сторінок за сервера/проксі) Ви завжди зможете использувати кнопки внизу сторінки для ручного обновлення.',
|
||||
'enablegreeting' => 'Показувати привітальнее повідомлення перед другими повідомленнями',
|
||||
'unban' => 'Розблокирувати',
|
||||
'sortupdown' => 'Сортіроувати повідомлення з верху вниз',
|
||||
'sortframe' => 'Перестроиїти',
|
||||
'cs' => 'Регістр-сенситивний',
|
||||
'hidechatters' => 'Заховати список людей в чаті',
|
||||
'enfileupload' => 'Дозврлити файлові загрузки',
|
||||
'msgattache' => 'Прикріпленні',
|
||||
'filenotfound' => 'Файл не найдений!',
|
||||
'maxuploadsize' => 'Максимальний розмір файла в КБ',
|
||||
'maxsize' => 'Макс. %d КБ',
|
||||
'cssupdate' => 'Note: Default CSS is now hardcoded and can be removed from the CSS setting',
|
||||
'manualrefresh' => 'Потрібно обновити сторінку вручну',
|
||||
'personalnotes' => 'Лічні замітки',
|
||||
'filtermodkick' => 'Примінити фільтр исключення для модераторів',
|
||||
];
|
||||
|
@ -1,14 +1,14 @@
|
||||
<?php
|
||||
$native = 'Deutsch'; // Native lanugae name
|
||||
$english = 'German'; // Enlish language name
|
||||
$code = 'de'; // Language code
|
||||
$native = 'Español (España)'; // Native lanugae name
|
||||
$english = 'Spanish (ES)'; // Enlish language name
|
||||
$code = 'es_ES'; // Language code
|
||||
|
||||
ob_start();
|
||||
echo "<?php
|
||||
$file = "<?php
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - $english translation
|
||||
*
|
||||
* Copyright (C) 2015-2016 Daniel Winzen <d@winzen4.de>
|
||||
* Copyright (C) 2015-2018 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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
|
||||
@ -37,9 +37,7 @@ foreach($T as $id=>$value){
|
||||
}
|
||||
}
|
||||
foreach($I as $id=>$value){
|
||||
echo "\t'$id' => '".str_replace("'", "\'", $value)."',\n";
|
||||
$file .= "\t'$id' => '".str_replace("'", "\'", $value)."',\n";
|
||||
}
|
||||
echo "];\n?>\n";
|
||||
$file=ob_get_clean();
|
||||
$file .= "];\n";
|
||||
file_put_contents("lang_$code.php", $file);
|
||||
?>
|
||||
|
499
lang_zh_CN.php
499
lang_zh_CN.php
@ -1,23 +1,4 @@
|
||||
<?php
|
||||
/*
|
||||
* LE CHAT-PHP - a PHP Chat based on LE CHAT - Simplified Chinese translation
|
||||
*
|
||||
* Copyright (C) 2015-2016 Daniel Winzen <d@winzen4.de>
|
||||
*
|
||||
* 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
//Native language name: 简体中文
|
||||
$T=[
|
||||
'nodb' => '没有连接到数据库!',
|
||||
@ -29,8 +10,8 @@ $T=[
|
||||
'invalpass' => '无效的密码 (至少包含%1$d个字符,并且必须与正则表达式"%2$s"匹配)',
|
||||
'noconfirm' => '重复密码不匹配!',
|
||||
'incorregex' => '正则表达式错误!',
|
||||
'bottom' => 'Bottom',
|
||||
'top' => '排行',
|
||||
'bottom' => '底部',
|
||||
'top' => '顶部',
|
||||
'choose' => '(选择)',
|
||||
'setup' => '安装程序',
|
||||
'init' => '初始化设置',
|
||||
@ -64,7 +45,7 @@ $T=[
|
||||
'msgmultikick' => '批量踢出',
|
||||
'msgallkick' => '全部踢出',
|
||||
'msgclean' => '房间清理',
|
||||
'dateformat' => '<a target="_blank" href="http://php.net/manual/en/function.date.php#refsect1-function.date-parameters">Date formating</a>',
|
||||
'dateformat' => '<a target="_blank" href="http://php.net/manual/en/function.date.php#refsect1-function.date-parameters">日期格式</a>',
|
||||
'admfunc' => '管理员功能',
|
||||
'allguests' => '全部游客',
|
||||
'cleanmsgs' => '清理消息',
|
||||
@ -83,7 +64,7 @@ $T=[
|
||||
'filter' => '过滤',
|
||||
'guestacc' => '修改游客访问',
|
||||
'guestallow' => '允许',
|
||||
'guestwait' => 'Allow with waitingroom',
|
||||
'guestwait' => '等候室允许',
|
||||
'adminallow' => '请求审核人批准',
|
||||
'guestdisallow' => '只仅正式成员',
|
||||
'addsuguest' => '注册申请员',
|
||||
@ -94,7 +75,7 @@ $T=[
|
||||
'memsuguest' => '申请为申请人 (G)',
|
||||
'memreg' => '设置为正式成员',
|
||||
'memmod' => '设置为主持人 (M)',
|
||||
'memsumod' => 'Set to supermod (SM)',
|
||||
'memsumod' => '设置为0.5 (SM)',
|
||||
'memadm' => '设置为管理员 (A)',
|
||||
'change' => '修改',
|
||||
'regguest' => '注册游客',
|
||||
@ -119,246 +100,246 @@ $T=[
|
||||
'lastedited' => '上次由%1$s编辑 时间为%2$s',
|
||||
'savenotes' => '保存说明',
|
||||
'waitingroom' => '等候室',
|
||||
'waittext' => 'Welcome %1$s, your login has been delayed, you can access the chat in %2$d seconds.',
|
||||
'admwaittext' => 'Welcome %1$s, your login has been delayed, you can access the chat as soon, as a moderator lets you in.',
|
||||
'waitreload' => 'If this page doesn\'t refresh every %d seconds, use the button below to reload it manually!',
|
||||
'reload' => 'Reload',
|
||||
'rules' => 'Rules',
|
||||
'talkto' => 'Send to',
|
||||
'toall' => 'All chatters',
|
||||
'tomem' => 'Members only',
|
||||
'tostaff' => 'Staff only',
|
||||
'toadmin' => 'Admin only',
|
||||
'alsopurge' => 'Also purge messages',
|
||||
'dellast' => 'Delete last message',
|
||||
'delall' => 'Delete all messages',
|
||||
'switchsingle' => 'Switch to single-line',
|
||||
'switchmulti' => 'Switch to multi-line',
|
||||
'help' => 'Help',
|
||||
'helpguest' => 'All functions should be pretty much self-explaining, just use the buttons. In your profile you can adjust the refresh rate, font colour and your preferred input box size.<br><u>Note:</u> This is a chat, so if you don\'t keep talking, you will be automatically logged out after a while.',
|
||||
'helpembed' => 'If you want to embed an image in your post, simply put [img] in front of your image URL. Example: [img]http://example.com/images/file.jpg will embed the image in your post.',
|
||||
'helpmem' => 'Members: You\'ll have some more options in your profile. You can adjust your font face, change your password anytime and of course you can delete your account.',
|
||||
'helpmod' => 'Moderators: Notice the Admin-button at the bottom. It\'ll bring up a page where you can clean the room, kick chatters, view all active sessions and disable guest access completely if needed.',
|
||||
'helpadm' => 'Admins: You\'ll be furthermore able to register guests, edit members and register new nicknames.',
|
||||
'profile' => 'Your Profile',
|
||||
'ignore' => 'Ignore',
|
||||
'unignore' => 'Don\'t ignore anymore',
|
||||
'refreshrate' => 'Refresh rate (5-150 seconds)',
|
||||
'fontcolour' => 'Font colour',
|
||||
'viewexample' => 'View examples',
|
||||
'bgcolour' => 'Background colour',
|
||||
'fontface' => 'Fontface',
|
||||
'roomdefault' => 'Room Default',
|
||||
'bold' => 'Bold',
|
||||
'italic' => 'Italic',
|
||||
'fontexample' => 'Example for your chosen font',
|
||||
'timestamps' => 'Show Timestamps',
|
||||
'embed' => 'Embed images',
|
||||
'incognito' => 'Incognito mode',
|
||||
'changepass' => 'Change Password',
|
||||
'oldpass' => 'Old password:',
|
||||
'newpass' => 'New password:',
|
||||
'confirmpass' => 'Confirm new password:',
|
||||
'savechanges' => 'Save changes',
|
||||
'reloadpb' => 'Reload Post Box',
|
||||
'reloadmsgs' => 'Reload Messages',
|
||||
'chgprofile' => 'Profile',
|
||||
'adminbtn' => 'Admin',
|
||||
'admnotes' => 'Admin Notes',
|
||||
'notes' => 'Notes',
|
||||
'clone' => 'Clone',
|
||||
'randh' => 'Rules & Help',
|
||||
'exit' => 'Exit Chat',
|
||||
'bye' => 'Bye %s, visit again soon!',
|
||||
'colourtable' => 'Colourtable',
|
||||
'backtoprofile' => 'Back to your Profile',
|
||||
'copy' => 'Copy:',
|
||||
'choosecol' => 'Guests, choose a colour:',
|
||||
'randomcol' => 'Random Colour',
|
||||
'enter' => 'Enter Chat',
|
||||
'error' => 'Error',
|
||||
'members' => 'Members',
|
||||
'guests' => 'Guests',
|
||||
'approveguests' => '%d new guests to approve',
|
||||
'allowchecked' => 'Allow checked',
|
||||
'allowall' => 'Allow all',
|
||||
'denychecked' => 'Deny checked',
|
||||
'denyall' => 'Deny all',
|
||||
'denymessage' => 'Send message to denied:',
|
||||
'butallowdeny' => 'Submit',
|
||||
'waitempty' => 'No more entry requests to approve.',
|
||||
'wrongcaptcha' => 'Wrong Captcha',
|
||||
'captchaexpire' => 'Captcha already used or timed out.',
|
||||
'noguests' => 'Sorry, currently members only!',
|
||||
'curchat' => 'Currently %d chatter(s) in room:',
|
||||
'cantreg' => 'Can\'t register %s',
|
||||
'alreadyreged' => '%s is already registered.',
|
||||
'successreg' => '%s successfully registered.',
|
||||
'cantchgstat' => 'Can\'t change status of %s',
|
||||
'succdel' => '%s successfully deleted from database.',
|
||||
'succchg' => 'Status of %s successfully changed.',
|
||||
'wrongpass' => 'Wrong Password!',
|
||||
'wrongglobalpass' => 'Wrong global Password!',
|
||||
'succprofile' => 'Your profile has successfully been saved.',
|
||||
'backtologin' => 'Back to the login page.',
|
||||
'backtochat' => 'Back to the chat.',
|
||||
'Beige' => 'Beige',
|
||||
'Black' => 'Black',
|
||||
'Blue' => 'Blue',
|
||||
'BlueViolet' => 'Blue violet',
|
||||
'Brown' => 'Brown',
|
||||
'Cyan' => 'Cyan',
|
||||
'DarkBlue' => 'Dark blue',
|
||||
'DarkGreen' => 'Dark green',
|
||||
'DarkRed' => 'Dark red',
|
||||
'DarkViolet' => 'Dark violet',
|
||||
'DeepSkyBlue' => 'Sky blue',
|
||||
'Gold' => 'Gold',
|
||||
'Grey' => 'Grey',
|
||||
'Green' => 'Green',
|
||||
'HotPink' => 'Hot pink',
|
||||
'Indigo' => 'Indigo',
|
||||
'LightBlue' => 'Light blue',
|
||||
'LightGreen' => 'Light green',
|
||||
'LimeGreen' => 'Lime green',
|
||||
'Magenta' => 'Magenta',
|
||||
'Olive' => 'Olive',
|
||||
'Orange' => 'Orange',
|
||||
'OrangeRed' => 'Orange red',
|
||||
'Purple' => 'Purple',
|
||||
'Red' => 'Red',
|
||||
'RoyalBlue' => 'Royal blue',
|
||||
'SeaGreen' => 'Sea green',
|
||||
'Sienna' => 'Sienna',
|
||||
'Silver' => 'Silver',
|
||||
'Tan' => 'Tan',
|
||||
'Teal' => 'Teal',
|
||||
'Violet' => 'Violet',
|
||||
'White' => 'White',
|
||||
'Yellow' => 'Yellow',
|
||||
'YellowGreen' => 'Yellow green',
|
||||
'redirectto' => 'Redirecting to:',
|
||||
'nonhttp' => 'Non-http link requested:',
|
||||
'httpredir' => 'If it\'s not working, try this one:',
|
||||
'actions' => 'Actions',
|
||||
'sesip' => 'IP-Address',
|
||||
'css' => 'CSS Style',
|
||||
'memberexpire' => 'Member timeout (minutes)',
|
||||
'guestexpire' => 'Guest timeout (minutes)',
|
||||
'kickpenalty' => 'Kick penalty (minutes)',
|
||||
'entrywait' => 'Waiting room time (seconds)',
|
||||
'captchatime' => 'Captcha timeout (seconds)',
|
||||
'messageexpire' => 'Message timeout (minutes)',
|
||||
'messagelimit' => 'Message limit (public)',
|
||||
'maxmessage' => 'Maximal message length',
|
||||
'confirm' => 'Are you sure?',
|
||||
'yes' => 'Yes',
|
||||
'no' => 'No',
|
||||
'colbg' => 'Background colour',
|
||||
'coltxt' => 'Text colour',
|
||||
'maxname' => 'Maximal nickname length',
|
||||
'minpass' => 'Minimal password length',
|
||||
'defaultrefresh' => 'Default message reload time (seconds)',
|
||||
'suguests' => 'Enable applicants',
|
||||
'rulestxt' => 'Rules (html)',
|
||||
'imgembed' => 'Embed images',
|
||||
'trackip' => 'Show session-IP',
|
||||
'captchachars' => 'Characters used in Captcha',
|
||||
'memkick' => 'Members can kick, if no moderator is present',
|
||||
'forceredirect' => 'Force redirection',
|
||||
'redirect' => 'Custom redirection script',
|
||||
'backuprestore' => 'Backup and restore',
|
||||
'backup' => 'Backup',
|
||||
'restore' => 'Restore',
|
||||
'settings' => 'Settings',
|
||||
'linkfilter' => 'Linkfilter',
|
||||
'chatname' => 'Chat name',
|
||||
'destroy' => 'Destroy chat',
|
||||
'destroyed' => 'Successfully destroyed chat',
|
||||
'topic' => 'Topic',
|
||||
'passreset' => 'Reset password',
|
||||
'cantresetpass' => 'Can\'t reset password',
|
||||
'succpassreset' => 'Successfully reset password',
|
||||
'entermsg' => '%s entered the chat.',
|
||||
'exitmsg' => '%s left the chat.',
|
||||
'memregmsg' => '%s is now a registered member.',
|
||||
'suregmsg' => '%s is now a registered applicant.',
|
||||
'kickmsg' => '%s has been kicked.',
|
||||
'multikickmsg' => '%s have been kicked.',
|
||||
'allkickmsg' => 'All guests have been kicked.',
|
||||
'cleanmsg' => '%s has been cleaned.',
|
||||
'waittext' => '欢迎%1$s, 您的登录信息已被延迟,您可以访问聊天记录%2$d秒.',
|
||||
'admwaittext' => '欢迎%1$s, 您的登录信息已被延迟,您可以尽快访问聊天内容,因为主持人会让您进入.',
|
||||
'waitreload' => '如果这个页面没有刷新%d秒, 使用下面的按钮手动重新加载!',
|
||||
'reload' => '刷新',
|
||||
'rules' => '规则',
|
||||
'talkto' => '发送至',
|
||||
'toall' => '所有的聊天者',
|
||||
'tomem' => '内部使用',
|
||||
'tostaff' => '只供职员使用',
|
||||
'toadmin' => '仅限管理员',
|
||||
'alsopurge' => '同时清除消息',
|
||||
'dellast' => '删除上一条消息',
|
||||
'delall' => '删除所有信息',
|
||||
'switchsingle' => '切换到单行',
|
||||
'switchmulti' => '切换到多行',
|
||||
'help' => '帮助',
|
||||
'helpguest' => '这里一切解释权归我所有,只需使用按钮。 在您的配置文件中,您可以调整刷新率,字体颜色和首选输入框大小.<br><u>注意:</u> 这是一个聊天室,所以如果你不再说话,你会在一段时间后自动退出.',
|
||||
'helpembed' => '如果您想在帖子中嵌入图片,只需将[img]放在图片网址前面即可。示例:[img]http://example.com/images/file.jpg会将图片嵌入到您的帖子中.',
|
||||
'helpmem' => '成员:您的个人资料中还有更多选项。 您可以随时调整字体,更改密码,当然也可以删除您的帐户.',
|
||||
'helpmod' => '版主:请注意底部。 它将打开一个页面,您可以在其中清理房间,踢聊天,查看所有活动会话并在需要时完全禁用访客访问权限.',
|
||||
'helpadm' => '管理员:您还可以注册客人,编辑成员并注册新的昵称。',
|
||||
'profile' => '你的个人资料',
|
||||
'ignore' => '忽略',
|
||||
'unignore' => '取消忽略',
|
||||
'refreshrate' => '刷新时间(5秒-150秒)',
|
||||
'fontcolour' => '字体颜色',
|
||||
'viewexample' => '查看示例',
|
||||
'bgcolour' => '背景色',
|
||||
'fontface' => '字体',
|
||||
'roomdefault' => '默认房间',
|
||||
'bold' => '大胆',
|
||||
'italic' => '斜体',
|
||||
'fontexample' => '您选择的字体的示例',
|
||||
'timestamps' => '显示时间戳',
|
||||
'embed' => '嵌入图像',
|
||||
'incognito' => '隐身模式',
|
||||
'changepass' => '更改密码',
|
||||
'oldpass' => '旧密码:',
|
||||
'newpass' => '新密码:',
|
||||
'confirmpass' => '在重复一次新密码:',
|
||||
'savechanges' => '保存更改',
|
||||
'reloadpb' => '刷新缓存',
|
||||
'reloadmsgs' => '刷新一下消息',
|
||||
'chgprofile' => '个人资料',
|
||||
'adminbtn' => '管理',
|
||||
'admnotes' => '管理员公告',
|
||||
'notes' => '公告',
|
||||
'clone' => '打开新标签',
|
||||
'randh' => '条款 & 帮助',
|
||||
'exit' => '退出聊天室',
|
||||
'bye' => '再见%s, 欢迎你再此访问!',
|
||||
'colourtable' => '颜色表',
|
||||
'backtoprofile' => '回到你的个人资料',
|
||||
'copy' => '验证码:',
|
||||
'choosecol' => '客人,选择一种颜色:',
|
||||
'randomcol' => '随机颜色',
|
||||
'enter' => '回车',
|
||||
'error' => '错误',
|
||||
'members' => '会员',
|
||||
'guests' => '游客',
|
||||
'approveguests' => '%d新客人批准',
|
||||
'allowchecked' => '允许检查',
|
||||
'allowall' => '允许全部',
|
||||
'denychecked' => '拒绝检查',
|
||||
'denyall' => '全部拒绝',
|
||||
'denymessage' => '发送消息给拒绝:',
|
||||
'butallowdeny' => '提交',
|
||||
'waitempty' => '不再需要批准入场申请.',
|
||||
'wrongcaptcha' => '错误验证码',
|
||||
'captchaexpire' => '验证码已经使用或超时.',
|
||||
'noguests' => '对不起,目前仅限会员!',
|
||||
'curchat' => '目前%d人在房间里聊天:',
|
||||
'cantreg' => '无法注册%s',
|
||||
'alreadyreged' => '%s已经注册',
|
||||
'successreg' => '%s成功注册.',
|
||||
'cantchgstat' => '无法改变状态%s',
|
||||
'succdel' => '%s已成功从数据库中删除.',
|
||||
'succchg' => '%s的状态已更改.',
|
||||
'wrongpass' => '密码错误!',
|
||||
'wrongglobalpass' => '错误的全球密码!',
|
||||
'succprofile' => '您的个人资料已成功保存.',
|
||||
'backtologin' => '返回登录页面.',
|
||||
'backtochat' => '回到聊天室.',
|
||||
'Beige' => '米色',
|
||||
'Black' => '黑色',
|
||||
'Blue' => '蓝色',
|
||||
'BlueViolet' => '紫罗兰色',
|
||||
'Brown' => '棕色',
|
||||
'Cyan' => '青色',
|
||||
'DarkBlue' => '深蓝',
|
||||
'DarkGreen' => '深绿色',
|
||||
'DarkRed' => '深红',
|
||||
'DarkViolet' => '深紫罗兰',
|
||||
'DeepSkyBlue' => '天蓝色',
|
||||
'Gold' => '金',
|
||||
'Grey' => '灰色',
|
||||
'Green' => '绿色',
|
||||
'HotPink' => '亮粉色',
|
||||
'Indigo' => '靛青',
|
||||
'LightBlue' => '浅蓝',
|
||||
'LightGreen' => '浅绿色',
|
||||
'LimeGreen' => '柠檬绿',
|
||||
'Magenta' => '品红',
|
||||
'Olive' => '橄榄',
|
||||
'Orange' => '橙子',
|
||||
'OrangeRed' => '橙红色',
|
||||
'Purple' => '紫色',
|
||||
'Red' => '红色',
|
||||
'RoyalBlue' => '宝蓝色',
|
||||
'SeaGreen' => '海绿色',
|
||||
'Sienna' => '黄土',
|
||||
'Silver' => '银色',
|
||||
'Tan' => '黄褐色',
|
||||
'Teal' => '蓝绿色',
|
||||
'Violet' => '紫色',
|
||||
'White' => '白色',
|
||||
'Yellow' => '黄色',
|
||||
'YellowGreen' => '黄绿色',
|
||||
'redirectto' => '重定向到:',
|
||||
'nonhttp' => '请求非http链接:',
|
||||
'httpredir' => '如果它不起作用,试试这个:',
|
||||
'actions' => '操作',
|
||||
'sesip' => 'IP地址',
|
||||
'css' => 'CSS风格',
|
||||
'memberexpire' => '会员超时(分钟)',
|
||||
'guestexpire' => '访客超时(分钟)',
|
||||
'kickpenalty' => '踢罚(分钟)',
|
||||
'entrywait' => '等候室时间(秒)',
|
||||
'captchatime' => '验证码超时(秒)',
|
||||
'messageexpire' => '消息超时(分钟)',
|
||||
'messagelimit' => '消息限制(公开)',
|
||||
'maxmessage' => '最大消息长度',
|
||||
'confirm' => '你确定吗?',
|
||||
'yes' => '是',
|
||||
'no' => '否',
|
||||
'colbg' => '背景色',
|
||||
'coltxt' => '文字颜色',
|
||||
'maxname' => '最大昵称长度',
|
||||
'minpass' => '最小密码长度',
|
||||
'defaultrefresh' => '默认消息重新加载时间(秒)',
|
||||
'suguests' => '启用申请人',
|
||||
'rulestxt' => '规则(html)',
|
||||
'imgembed' => '嵌入图像',
|
||||
'trackip' => '显示会话-IP',
|
||||
'captchachars' => '验证码中使用的字符',
|
||||
'memkick' => '如果没有主持人,会员可以踢',
|
||||
'forceredirect' => '强制重定向',
|
||||
'redirect' => '自定义重定向脚本',
|
||||
'backuprestore' => '备份还原',
|
||||
'backup' => '备用',
|
||||
'restore' => '恢复',
|
||||
'settings' => '设置',
|
||||
'linkfilter' => '链接过滤器',
|
||||
'chatname' => '聊天名称',
|
||||
'destroy' => '摧毁聊天',
|
||||
'destroyed' => '成功破坏了聊天',
|
||||
'topic' => '话题',
|
||||
'passreset' => '重设密码',
|
||||
'cantresetpass' => '无法重置密码',
|
||||
'succpassreset' => '成功重置密码',
|
||||
'entermsg' => '%s进入聊天室.',
|
||||
'exitmsg' => '%s离开了聊天室',
|
||||
'memregmsg' => '%s现在是注册会员.',
|
||||
'suregmsg' => '%s现在是注册申请人.',
|
||||
'kickmsg' => '%s被踢了.',
|
||||
'multikickmsg' => '%s被踢了.',
|
||||
'allkickmsg' => '所有客人都被踢了.',
|
||||
'cleanmsg' => '%s已经清理干净了.',
|
||||
'sendallmsg' => '%s - ',
|
||||
'sendmemmsg' => '[M] %s - ',
|
||||
'sendmodmsg' => '[Staff] %s - ',
|
||||
'sendadmmsg' => '[Admin] %s - ',
|
||||
'sendprvmsg' => '[%1$s to %2$s] - ',
|
||||
'msgsendall' => 'Message to all',
|
||||
'msgsendmem' => 'Message to members only',
|
||||
'msgsendmod' => 'Message to staff only',
|
||||
'msgsendadm' => 'Message to admins only',
|
||||
'msgsendprv' => 'Private message',
|
||||
'numnotes' => 'Number of notes revisions to keep',
|
||||
'revisions' => 'Revisions:',
|
||||
'older' => 'Older',
|
||||
'newer' => 'Newer',
|
||||
'accessdenied' => 'Access denied',
|
||||
'loggedinas' => 'You are logged in as %s and don\'t have access to this section.',
|
||||
'newnickname' => 'New nickname:',
|
||||
'nicknametaken' => 'Nickname is already taken',
|
||||
'nopass' => 'Invalid password (At least %d characters), not changing nickname',
|
||||
'gdextrequired' => 'The gd extension of PHP is required for this feature. Please install it first.',
|
||||
'memcachedextrequired' => 'The memcached extension of PHP is required for the caching feature. Please install it first or set the memcached setting back to false.',
|
||||
'opensslextrequired' => 'The openssl extension of PHP is required for the encryption feature. Please install it first or set the encrypted setting back to false.',
|
||||
'pdo_mysqlextrequired' => 'The pdo_mysql extension of PHP is required for the selected database driver. Please install it first.',
|
||||
'pdo_pgsqlextrequired' => 'The pdo_pgsql extension of PHP is required for the selected database driver. Please install it first.',
|
||||
'pdo_sqliteextrequired' => 'The pdo_sqlite extension of PHP is required for the selected database driver. Please install it first.',
|
||||
'jsonextrequired' => 'The json extension of PHP is required for this feature. Please install it first.',
|
||||
'sendmail' => 'Send mail on new public message',
|
||||
'mailsender' => 'Send mail using this address',
|
||||
'mailreceiver' => 'Send mail to this address',
|
||||
'modfallback' => 'Fallback to waiting room, if no moderator is present to approve guests',
|
||||
'regpass' => 'Repeat password<br>to register',
|
||||
'guestreg' => 'Let guests register themselves',
|
||||
'asmember' => 'As member',
|
||||
'assuguest' => 'As applicant',
|
||||
'fatalerror' => 'Fatal error',
|
||||
'prevmatch' => 'Your match was as follows',
|
||||
'matchtoolong' => 'Your match was too long. You can use max. 255 characters. Try splitting it up.',
|
||||
'nocache' => 'Autoscroll (for old browsers or top-to-bottom sort).',
|
||||
'disablepm' => 'Disable private messages',
|
||||
'disablechat' => 'Disable chat',
|
||||
'disabletext' => 'Chat disabled message (html)',
|
||||
'disabledtext' => 'Temporarily disabled',
|
||||
'defaulttz' => 'Default time zone',
|
||||
'tz' => 'Time zone',
|
||||
'optional' => '(optional)',
|
||||
'userloggedin' => 'A user with this nickname is already logged in.',
|
||||
'regednick' => 'This nickname is a registered member.',
|
||||
'eninbox' => 'Enable offline inbox',
|
||||
'inboxmsgs' => 'Read %d messages in your inbox',
|
||||
'offline' => '(offline)',
|
||||
'deleteacc' => 'Delete account',
|
||||
'eninnone' => 'For no one',
|
||||
'eninall' => 'For everyone',
|
||||
'eninmem' => 'For members only',
|
||||
'eninstaff' => 'For staff only',
|
||||
'eninadmin' => 'For admins only',
|
||||
'nickregex' => 'Nickname regex',
|
||||
'passregex' => 'Password regex',
|
||||
'externalcss' => 'Link to external CSS file',
|
||||
'greetingmsg' => 'Welcome %s!',
|
||||
'msgsendall' => '给所有人的信息',
|
||||
'msgsendmem' => '仅向会员发送消息',
|
||||
'msgsendmod' => '仅向员工发送消息',
|
||||
'msgsendadm' => '仅向管理员发送消息',
|
||||
'msgsendprv' => '私人信息',
|
||||
'numnotes' => '要保留的备注数量',
|
||||
'revisions' => '修订:',
|
||||
'older' => '旧的',
|
||||
'newer' => '较新',
|
||||
'accessdenied' => '拒绝访问',
|
||||
'loggedinas' => '您以%s身份登录,无法访问此部分',
|
||||
'newnickname' => '新昵称:',
|
||||
'nicknametaken' => '昵称已被取消',
|
||||
'nopass' => '密码无效(至少%d个字符),不更改昵称.',
|
||||
'gdextrequired' => '此功能需要PHP的gd扩展名。 请先安装它。.',
|
||||
'memcachedextrequired' => '缓存功能需要PHP的memcached扩展。 请先安装它或将memcached设置恢复为false.',
|
||||
'sodiumextrequired' => '加密功能需要PHP的libsodium扩展。 请先安装它或将加密设置恢复为false.',
|
||||
'pdo_mysqlextrequired' => '所选数据库驱动程序需要PHP的pdo_mysql扩展名。 请先安装它.',
|
||||
'pdo_pgsqlextrequired' => '所选数据库驱动程序需要PHP的pdo_pgsql扩展名。 请先安装它。',
|
||||
'pdo_sqliteextrequired' => '所选数据库驱动程序需要PHP的pdo_sqlite扩展。 请先安装它.',
|
||||
'jsonextrequired' => '此功能需要PHP的json扩展名。 请先安装它.',
|
||||
'sendmail' => '发送新公共邮件的邮件',
|
||||
'mailsender' => '使用此地址发送邮件',
|
||||
'mailreceiver' => '发送邮件到这个地址',
|
||||
'modfallback' => '如果没有主持人来批准客人,请回到候诊室',
|
||||
'regpass' => '重复密码<br>注册',
|
||||
'guestreg' => '让客人自己注册',
|
||||
'asmember' => '作为会员',
|
||||
'assuguest' => '作为申请人',
|
||||
'fatalerror' => '致命错误',
|
||||
'prevmatch' => '你的申请如下',
|
||||
'matchtoolong' => '你的申请太长了。 你可以用max。 255个字符。 尝试拆分它.',
|
||||
'nocache' => '自动滚动(适用于旧浏览器或从上到下排序).',
|
||||
'disablepm' => '禁用私人消息',
|
||||
'disablechat' => '禁用聊天',
|
||||
'disabletext' => '聊天禁用消息(html)',
|
||||
'disabledtext' => '暂时禁用',
|
||||
'defaulttz' => '默认时区',
|
||||
'tz' => '时区',
|
||||
'optional' => '(可选的)',
|
||||
'userloggedin' => '具有此昵称的用户已登录.',
|
||||
'regednick' => '这个昵称是注册会员.',
|
||||
'eninbox' => '启用离线收件箱',
|
||||
'inboxmsgs' => '阅读收件箱中的%d条消息',
|
||||
'offline' => '(离线)',
|
||||
'deleteacc' => '删除帐户',
|
||||
'eninnone' => '一个人',
|
||||
'eninall' => '所以人',
|
||||
'eninmem' => '仅限会员',
|
||||
'eninstaff' => '仅限员工',
|
||||
'eninadmin' => '仅适用于管理员',
|
||||
'nickregex' => '昵称正则表达式',
|
||||
'passregex' => '密码正则表达式',
|
||||
'externalcss' => '链接到外部CSS文件',
|
||||
'greetingmsg' => '欢迎%s!',
|
||||
'entryhelp' => 'If this frame does not reload in %d seconds, you\'ll have to enable automatic redirection (meta refresh) in your browser. Also make sure no web filter, local proxy tool or browser plugin is preventing automatic refreshing! This could be for example "Polipo", "NoScript", etc.<br>As a workaround (or in case of server/proxy reload errors) you can always use the buttons at the bottom to refresh manually.',
|
||||
'enablegreeting' => 'Show a greeting message before showing the messages',
|
||||
'unban' => 'Unban',
|
||||
'sortupdown' => 'Sort messages from top to bottom',
|
||||
'sortframe' => 'Rearrange',
|
||||
'cs' => 'Case sensitive',
|
||||
'hidechatters' => 'Hide list of chatters',
|
||||
'enfileupload' => 'Enable file uploads',
|
||||
'msgattache' => 'Attachement',
|
||||
'filenotfound' => 'File not found!',
|
||||
'maxuploadsize' => 'Maximum upload size in KB',
|
||||
'enablegreeting' => '在显示消息之前显示问候消息',
|
||||
'unban' => '取消禁止',
|
||||
'sortupdown' => '从上到下对消息进行排序',
|
||||
'sortframe' => '改变方向',
|
||||
'cs' => '大小写',
|
||||
'hidechatters' => '隐藏聊天列表',
|
||||
'enfileupload' => '启用文件上载',
|
||||
'msgattache' => '附件',
|
||||
'filenotfound' => '找不到文件!',
|
||||
'maxuploadsize' => '最大上载大小(KB)',
|
||||
'maxsize' => 'Max %d KB',
|
||||
'cssupdate' => 'Note: Default CSS is now hardcoded and can be removed from the CSS setting',
|
||||
'cssupdate' => '注意:默认的CSS现在是硬编码的,可以从CSS设置中删除。',
|
||||
];
|
||||
?>
|
||||
|
||||
|
Reference in New Issue
Block a user