diff --git a/README b/README
index 59c1aca..b95bfe0 100644
--- a/README
+++ b/README
@@ -41,7 +41,7 @@ Private messages
Multi-line messages
Change font, colour and refresh rate in profile settings
Autologout when inactive for some time
-Image and video embedding
+Image embedding
Notes for admins and moderators
Clone the chat to have multiple tabs
Kick chatters
diff --git a/README.md b/README.md
index e2371c5..8b498ce 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ Features:
* Multi-line messages
* Change font, colour and refresh rate in profile settings
* Autologout when inactive for some time
-* Image and video embedding
+* Image embedding
* Notes for admins and moderators
* Clone the chat to have multiple tabs
* Kick chatters
diff --git a/chat.php b/chat.php
index 2283c19..87732da 100755
--- a/chat.php
+++ b/chat.php
@@ -2337,7 +2337,7 @@ function check_init(){
}
function init_chat(){
- global $C, $H, $I, $mysqli;
+ global $C, $H, $I, $memcached, $mysqli;
$suwrite='';
if(check_init()>=7){
$suwrite=$I['initdbexist'];
@@ -2380,6 +2380,7 @@ function init_chat(){
"ALTER TABLE `$C[prefix]settings` MODIFY `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT; ".
"INSERT INTO `$C[prefix]settings` (`setting`,`value`) VALUES ('guestaccess', '0'), ('globalpass', ''), ('englobalpass', '0'), ('captcha', '0'), ('dateformat', 'm-d H:i:s'), ('rulestxt', ''), ('msgencrypted', '0'), ('msgenter', '%s entered the chat.'), ('msgexit', '%s left the chat.'), ('msgmemreg', '%s is now a registered member.'), ('msgsureg', '%s is now a registered applicant.'), ('msgkick', '%s has been kicked.'), ('msgmultikick', '%s have been kicked.'), ('msgallkick', 'All chatters have been kicked.'), ('msgclean', '%s has been cleaned.'), ('dbversion', '$C[dbversion]'), ('css', 'a:visited{color:#B33CB4;} a:active{color:#FF0033;} a:link{color:#0000FF;} input,select,textarea{color:#FFFFFF;background-color:#000000;} a img{width:15%} a:hover img{width:35%} .error{color:#FF0033;} .delbutton{background-color:#660000;} .backbutton{background-color:#004400;} #exitbutton{background-color:#AA0000;}'), ('memberexpire', '60'), ('guestexpire', '15'), ('kickpenalty', '10'), ('entrywait', '120'), ('messageexpire', '14400'), ('messagelimit', '150'), ('maxmessage', 2000), ('captchatime', '600'), ('colbg', '000000'), ('coltxt', 'FFFFFF'), ('maxname', '20'), ('minpass', '5'), ('defaultrefresh', '20'), ('dismemcaptcha', '0'), ('suguests', '0'), ('imgembed', '1'), ('timestamps', '1'), ('trackip', '1'), ('captchachars', '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), ('memkick', '1'), ('forceredirect', '0'), ('redirect', ''), ('incognito', '1');");
while(mysqli_more_results($mysqli)) mysqli_next_result($mysqli);
+ if($C['memcached']) $memcached->delete("$C[dbname]-$C[prefix]num-tables");
$reg=array(
'nickname' =>$_REQUEST['sunick'],
'passhash' =>md5(sha1(md5($_REQUEST['sunick'].$_REQUEST['supass']))),
@@ -2582,7 +2583,8 @@ function load_lang(){
global $C, $I, $L;
$L=array(
'de' =>'Deutsch',
- 'en' =>'English'
+ 'en' =>'English',
+ 'ru' =>'Русский'
);
if(isSet($_REQUEST['lang']) && array_key_exists($_REQUEST['lang'], $L)){
$C['lang']=$_REQUEST['lang'];
@@ -2591,7 +2593,10 @@ function load_lang(){
$C['lang']=$_COOKIE['language'];
}
include('lang_en.php'); //always include English
- if($C['lang']!=='en') include("lang_$C[lang].php"); //replace with translation if available
+ if($C['lang']!=='en'){
+ include("lang_$C[lang].php"); //replace with translation if available
+ foreach($T as $name=>$translation) $I[$name]=$translation;
+ }
}
function load_config(){
diff --git a/lang_de.php b/lang_de.php
index 98d2c00..98cbdb1 100644
--- a/lang_de.php
+++ b/lang_de.php
@@ -18,7 +18,7 @@
* along with this program. If not, see .
*/
-$I=array(
+$T=array(
'nodb' => 'Keine Verbindung zur Datenbank!',
'nodbsetup' => 'Keine Verbindung zur Datenbank, bitte erstelle eine Datenbank und bearbeite das Skript, um die korrekte Datenbank mit angegebenem Benutzernamen und Passwort zu benutzen.',
'changelang' => 'Sprache ändern:',
diff --git a/lang_ru.php b/lang_ru.php
new file mode 100644
index 0000000..0a45a09
--- /dev/null
+++ b/lang_ru.php
@@ -0,0 +1,238 @@
+
+*
+* 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 .
+*/
+
+//Language: Русский
+$T=array(
+ 'nodb' => 'Нет соединения с базой данных!',
+ 'nodbsetup' => 'Нет соединения с базой данных, пожалуйста, создайте базу данных и измените сценарий, чтобы использовать правильную базу данных с заданными именем пользователя и паролем!',
+ 'changelang' => 'Изменить язык:',
+ 'expire' => 'Недействительная/с истекшим сроком сессия',
+ 'kicked' => 'Забанен!',
+ 'invalnick' => 'Недействительный ник (20 символов максимум, никакие специальные разрешенные символы)',
+ 'invalpass' => 'Неверный пароль (по крайней мере% D символов)',
+ 'noconfirm' => 'Подтверждение пароля не совпадает!',
+ 'incorregex' => 'Неправильное регулярное выражение!',
+ 'bottom' => 'Вниз',
+ 'top' => 'Вверх',
+ 'choose' => '(выбрать)',
+ 'setup' => 'Установка чата',
+ 'init' => 'Начальная установка',
+ 'sulogin' => 'Логин суперадминистратора',
+ 'sunick' => 'Ник суперадминистратора:',
+ 'supass' => 'Пароль суперадминистратора:',
+ 'suconfirm' => 'Подтверждение пароля:',
+ 'susuccess' => 'Успешно зарегистрирован!',
+ 'initbtn' => 'Initalise чат',
+ 'initdbexist' => 'Таблицы базы данных уже существуют! Чтобы продолжить, вы должны сначала удалить эти таблицы вручную.',
+ 'initsuexist' => 'Суперадминистратор уже существует!',
+ 'initgosetup' => 'Перейти к странице установки',
+ 'nick' => 'Ник:',
+ 'pass' => 'Пароль:',
+ 'globalloginpass' => 'Глобальный пароль:',
+ 'login' => 'Логин',
+ 'dbupdate' => 'База данных успешно обновлена!',
+ 'sysmessages' => 'Системные сообщения',
+ 'msgenter' => 'Вход',
+ 'msgexit' => 'Выход',
+ 'msgmemreg' => 'Зарегистрированный',
+ 'msgsureg' => 'Претендент зарегистрировался',
+ 'msgkick' => 'Забанили',
+ 'msgmultikick' => 'Многократно забанили',
+ 'msgallkick' => 'Все забаненые',
+ 'msgclean' => 'Комната очищается',
+ 'dateformat' => 'Формат даты',
+ 'admfunc' => 'Административные функции',
+ 'allguests' => 'Все гости',
+ 'cleanmsgs' => 'Очистка сообщений',
+ 'room' => 'Целая комната',
+ 'selection' => 'Выбор',
+ 'clean' => 'Чистый',
+ 'kickchat' => 'Бан (%d минут)',
+ 'kickmsg' => 'Бан сообщения:',
+ 'kickpurge' => 'Очистка сообщений',
+ 'kick' => 'Бан',
+ 'logoutinact' => 'Выход неактивного чата',
+ 'logout' => 'Выйти',
+ 'sessions' => 'Вид активных сессий',
+ 'view' => 'Вид',
+ 'filter' => 'Фильтр',
+ 'guestacc' => 'Изменить гостевой доступ',
+ 'guestallow' => 'Позволить',
+ 'guestwait' => 'Разрешить с гостевой',
+ 'adminallow' => 'Требовать одобрения модератора',
+ 'globalpass' => 'Разрешить с глобальным паролем',
+ 'memberglobalpass' => 'Только зарегистрированные с глобальным паролем',
+ 'guestdisallow' => 'Только зарегистрированные',
+ 'addsuguest' => 'Добавить заявителя',
+ 'register' => 'Регистр',
+ 'admmembers' => 'Зарегистрированные',
+ 'memdel' => 'Удалить из базы данных',
+ 'memdeny' => 'Запретить доступ (!)',
+ 'memsuguest' => 'Набор к претенденту (G)',
+ 'memreg' => 'Установите зарегистрированного',
+ 'memmod' => 'Набор модератору (M)',
+ 'memsumod' => 'Набор супермодератору (M)',
+ 'memadm' => 'Набор администратору (A)',
+ 'change' => 'Изменение',
+ 'regguest' => 'Регистрация гостей',
+ 'regmem' => 'Новая регистрация',
+ 'sessact' => 'Активные сеансы',
+ 'sessnick' => 'Ник',
+ 'sesstimeout' => 'Время ожидания в',
+ 'sessua' => 'User-Agent',
+ 'fid' => 'Фильтр ID:',
+ 'match' => 'Соответствие',
+ 'replace' => 'Заменять',
+ 'allowpm' => 'Разрешить в личку',
+ 'regex' => 'Регулярное выражение',
+ 'apply' => 'Применять',
+ 'newfilter' => 'Новый фильтр:',
+ 'add' => 'Добавить',
+ 'noframes' => 'Этот чат использует frames. Пожалуйста, включите поддержку в Вашем браузере или используйте подходящий!',
+ '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' => 'Все функции должны быть в значительной степени самоуправления объяснения, просто используйте кнопки. В настройках вашего профиля вы можете настроить частоту обновления, цвет шрифта и желаемый размер окна входа.
Заметка: Это чат, так что если вы молчите, вы будете автоматически зарегистрированы через некоторое время..',
+ 'helpembed' => 'Если вы хотите встроить изображение в свой пост, просто положите [img] перед вашим URL-изображением. Пример: [img]http://example.com/images/file.jpg будет вставлять изображения в вашем посте.',
+ 'helpmem' => 'Члены: У вас есть еще несколько вариантов в вашем профиле. Вы можете настроить шрифт и изменить свой пароль в любое время.',
+ 'helpmod' => 'Модераторы: Обратите внимание кнопку администратора внизу. Это перенесет на страницу, где вы можете очистить комнату, забанить, просмотреть все активные сеансы и отключить гостевой доступ полностью, если необходимо.',
+ 'helpadm' => 'Администраторы: Вы способны регистрировать гостей, редактировать пользователей и регистрировать новые ники без их присутствия в комнате.',
+ 'profile' => 'Ваш профиль',
+ 'ignore' => 'Игнорировать',
+ 'unignore' => 'Не игнорируйте больше',
+ 'refreshrate' => 'Частота обновления (20-150 секунд)',
+ 'fontcolour' => 'Цвет шрифта',
+ 'viewexample' => 'Посмотреть примеры',
+ 'bgcolour' => 'Фоновый цвет',
+ 'fontface' => 'Шрифт',
+ 'roomdefault' => 'Комната по умолчанию',
+ 'bold' => 'Жирный',
+ 'italic' => 'Курсив',
+ 'fontexample' => 'Пример для выбранного шрифта',
+ 'timestamps' => 'Показать отметки времени',
+ 'embed' => 'Вставить изображения',
+ 'incognito' => 'Режим инкогнито',
+ 'pbsize' => 'Размер окна сообщений',
+ 'nbsize' => 'Размер окна заметок',
+ 'width' => 'Ширина:',
+ 'height' => 'Высота:',
+ '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' => 'Неправильный код',
+ 'captchatime' => 'Защитный код уже используется или время истекло.',
+ 'noguests' => 'К сожалению, в настоящее время только зарегистрированные!',
+ 'curchat' => 'В настоящее время %d разговор (ов) в комнате:',
+ 'cantreg' => 'Вы не можете зарегистрироваться %s',
+ 'alreadyreged' => '%s уже зарегистрирован.',
+ 'successreg' => '%s успешно зарегистрирован.',
+ 'cantchgstat' => 'Невозможно изменить статус %s',
+ 'succdel' => '%s успешно удален из базы данных.',
+ 'succchg' => 'Статус %s успешно изменен.',
+ 'wrongpass' => 'Неправильный пароль!',
+ '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' => 'Желто-зеленый',
+);
+?>