Compare commits

...

39 Commits

Author SHA1 Message Date
8142c9c799 Fix ignore list in profile when using prefix + minor optimization 2016-12-30 10:25:54 +01:00
361137db9f Prevent non-admins from loging in incognito via setup 2016-12-30 08:36:13 +01:00
5c32a8859f Force space after /me to prevent posting "as someone else" 2016-12-30 07:19:18 +01:00
208c354284 Sort ignore list alphabetically 2016-12-30 07:05:59 +01:00
c5b080154c Let offline members be ignored 2016-12-30 07:00:43 +01:00
0e6acb8806 List offline members in ignore too, if they posted a message 2016-12-30 06:46:35 +01:00
675568bd30 Performance optimization in cron 2016-12-30 06:08:50 +01:00
f7950e8ee1 Replace configurable static size for notes and post textarea with css 2016-12-27 19:19:16 +01:00
b1713dadc1 Don't display manual refresh message if animation is unsupported 2016-12-26 09:44:23 +01:00
8dd81ed766 Allow disabling applying of kick filters on moderators 2016-12-25 10:39:13 +01:00
0e82276697 Add personal notes 2016-12-24 18:19:46 +01:00
6c885d7c02 Use scheduled tasks instead of executing them on every action 2016-12-24 06:45:04 +01:00
048a373ef7 bugfix 2016-12-22 18:27:26 +01:00
19df2e030a Let everyone ignore anyone + bugfixes
Mods not seeing ignored peoples posts has been fixed before
2016-12-17 13:46:44 +01:00
cb78be1f17 Fix posting, when using regex characters in a url 2016-12-08 20:47:28 +01:00
87e3864daf Increase manual refresh timeout, annoying when server busy 2016-11-28 16:27:01 +01:00
370c322dc6 Fix table creation with new timezones 2016-11-27 20:14:52 +01:00
db026ede18 Add message asking for manual refresh, when it stopped working 2016-11-27 19:37:05 +01:00
d405333419 Use PHPs internal timezone management
Replaces old system completely, all previous settings will be lost
2016-11-27 16:17:23 +01:00
c4e9d76b05 Turn isSet to isset 2016-11-27 09:57:24 +01:00
98f7634a12 Let login, if an old expired session is submitted via the form. 2016-11-27 09:51:12 +01:00
0ecd188559 Separate changing nickname and password 2016-11-27 08:13:02 +01:00
8ca4f9178b get rid of global $F 2016-11-26 20:06:25 +01:00
8197ee6679 Add option to make your own font small 2016-11-26 16:23:05 +01:00
351aabc84b Incorporate Simplified Chinese translation 2016-11-26 09:08:22 +01:00
da99281a5d Merge pull request #4 from jingjinghack/translate
Translate to zh_CN
2016-11-26 08:53:50 +01:00
c8cb6cbd79 Get rid of global $H, use functions instead 2016-11-26 08:17:09 +01:00
972a40af51 translate to zh_CN 2016-11-25 13:13:44 +08:00
92d52d65a0 translate zh_CN 2016-11-24 21:25:36 +08:00
3640da7f8e Use more secure password_hash() for password hashing. 2016-11-20 07:03:05 +01:00
771f555305 Minor sql optimization 2016-11-19 09:33:43 +01:00
bcc80c468d Add stronger randomness on session key generation 2016-11-19 06:50:57 +01:00
88a91658bb turn array() into shorter [] 2016-11-16 20:34:47 +01:00
8ce48c837c Wrap label tags around input, to optimize html output size 2016-11-16 19:57:31 +01:00
25393dd377 Fix uninitialized database access 2016-11-13 08:24:28 +01:00
33c4095c58 Fix initialization on first setup 2016-11-13 08:18:29 +01:00
002b618443 Use simpler UNION in SQL for optimization 2016-11-07 19:48:08 +01:00
5abfb9c9d6 Optimize PM deletion, just keep them around instead of aggressively deleting 2016-10-31 05:39:20 +01:00
6023afa1e7 Improved inbox deletion handeling 2016-10-29 21:39:53 +02:00
13 changed files with 1661 additions and 1231 deletions

View File

@ -1,3 +1,23 @@
Version 1.23.1 - Dec. 30, 2016
Replace configurable static size for notes and post textarea with css
Let offline members be ignored
Force space after /me to prevent posting "as someone else"
Prevent non-admins from loging in incognito via setup
Version 1.23 - Dec. 25, 2016
Optimizations
More secure session key generation and password storage
Add option to make your own font small
Separate changing nickname and password
Use PHPs native timezones
Add message asking for manual refresh, when it stopped working
Add personal notes
Allow disabling applying of kick filters on moderators
Version 1.22.1 - Nov. 13, 2016
Performance optimizations
Fix initialization on first setup
Version 1.22 - Oct. 29, 2016
Add logout button to session view and allow unbanning kicked sessions
Allow changing message sort direction

2
README
View File

@ -77,6 +77,6 @@ If you never used regex before, check out this starting guide to begin with regu
LIVE DEMO:
If you want to see the script in action, you can visit my TOR hidden service http://tt3j2x4k5ycaa5zt.onion/chat.php or via a tor2web proxy like https://danwin1210.tk/chat.php if you don't have TOR installed.
If you want to see the script in action, you can visit my TOR hidden service http://tt3j2x4k5ycaa5zt.onion/chat.php or via a tor2web proxy like https://danwin1210.me/chat.php if you don't have TOR installed.
Considering this is a hidden service, you should be prepared for the worst case, as people tend to do illegal activities in the TOR network. I'm not online 24/7 so it might not be possible to remove such content right away.
If you should see illegal content, don't panic. Use the contact form on my site to notify me and clean your browser cache afterwards.

View File

@ -83,6 +83,6 @@ If you never used regex before, check out [this starting guide](http://docs.acti
Live demo:
----------
If you want to see the script in action, you can visit my [TOR hidden service](http://tt3j2x4k5ycaa5zt.onion/chat.php) or via a tor2web proxy like [this one](https://danwin1210.tk/chat.php) if you don't have TOR installed.
If you want to see the script in action, you can visit my [TOR hidden service](http://tt3j2x4k5ycaa5zt.onion/chat.php) or via a tor2web proxy like [this one](https://danwin1210.me/chat.php) if you don't have TOR installed.
Considering this is a hidden service, you should be prepared for the worst case, as people tend to do illegal activities in the TOR network. I'm not online 24/7 so it might not be possible to remove such content right away.
If you should see illegal content, don't panic. Use the contact form on my site to notify me and clean your browser cache afterwards. I will remove the content as soon as possible.

1882
chat.php

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
*/
//Native language name: Deutsch
$T=array(
$T=[
'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:',
@ -151,14 +151,12 @@ $T=array(
'roomdefault' => 'Raumstandard',
'bold' => 'Fett',
'italic' => 'Kursiv',
'small' => 'Klein',
'fontexample' => 'Beispiel für Ihre gewählte Schrift',
'timestamps' => 'Zeitstempel anzeigen',
'embed' => 'Bilder einbetten',
'incognito' => 'Inkognito Modus',
'pbsize' => 'Postboxgröße',
'nbsize' => 'Notizboxgröße',
'width' => 'Breite:',
'height' => 'Höhe:',
'changenick' => 'Nickname ändern',
'changepass' => 'Passwort ändern',
'oldpass' => 'Altes Passwort:',
'newpass' => 'Neues Passwort:',
@ -364,5 +362,8 @@ $T=array(
'maxuploadsize' => 'Maximal hochgeladene Dateigröße in KB',
'maxsize' => 'Max %d KB',
'cssupdate' => 'Hinweis: Standard CSS ist jetzt hardcoded und kann aus der CSS Einstellung entfernt werden',
);
'manualrefresh' => 'Manuelles Neuladen erforderlich',
'personalnotes' => 'Persönliche Notizen',
'filtermodkick' => 'Kickfilter auf Moderatoren anwenden',
];
?>

View File

@ -19,7 +19,7 @@
*/
//Native language name: English
$I=array(
$I=[
'nodb' => 'No connection to database!',
'nodbsetup' => 'No connection to database, please create a database and edit the script to use the correct database with given username and password!',
'changelang' => 'Change language:',
@ -151,14 +151,12 @@ $I=array(
'roomdefault' => 'Room Default',
'bold' => 'Bold',
'italic' => 'Italic',
'small' => 'Small',
'fontexample' => 'Example for your chosen font',
'timestamps' => 'Show Timestamps',
'embed' => 'Embed images',
'incognito' => 'Incognito mode',
'pbsize' => 'Post box size',
'nbsize' => 'Notes box size',
'width' => 'Width:',
'height' => 'Height:',
'changenick' => 'Change Nickname',
'changepass' => 'Change Password',
'oldpass' => 'Old password:',
'newpass' => 'New password:',
@ -364,5 +362,8 @@ $I=array(
'maxuploadsize' => 'Maximum upload size in KB',
'maxsize' => 'Max %d KB',
'cssupdate' => 'Note: Default CSS is now hardcoded and can be removed from the CSS setting',
);
'manualrefresh' => 'Manual refresh required',
'personalnotes' => 'Personal notes',
'filtermodkick' => 'Apply kick filter on moderators',
];
?>

View File

@ -19,7 +19,7 @@
*/
//Native language name: Español (Argentina)
$T=array(
$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:',
@ -153,10 +153,6 @@ $T=array(
'timestamps' => 'Mostrar fecha y hora',
'embed' => 'Habilitar imágenes',
'incognito' => 'Modo incógnito',
'pbsize' => 'Tamaño de la caja de publicación',
'nbsize' => 'Tamaño de la caja de notas',
'width' => 'Ancho:',
'height' => 'Alto:',
'changepass' => 'Cambiar la contraseña',
'oldpass' => 'Contraseña anterior:',
'newpass' => 'Contraseña nueva:',
@ -308,5 +304,5 @@ $T=array(
'newnickname' => 'Nuevo apodo:',
'nicknametaken' => 'Ese apodo ya fue tomado',
'nopass' => 'Constraseña incorrecta (al menos %d caracteres), no se cambia apodo'
);
];
?>

View File

@ -19,7 +19,7 @@
*/
//Native language name: Español (España)
$T=array(
$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:',
@ -153,10 +153,6 @@ $T=array(
'timestamps' => 'Mostrar fecha y hora',
'embed' => 'Habilitar imágenes',
'incognito' => 'Modo incógnito',
'pbsize' => 'Tamaño de la caja de publicación',
'nbsize' => 'Tamaño de la caja de notas',
'width' => 'Ancho:',
'height' => 'Alto:',
'changepass' => 'Cambiar la contraseña',
'oldpass' => 'Contraseña anterior:',
'newpass' => 'Contraseña nueva:',
@ -308,5 +304,5 @@ $T=array(
'newnickname' => 'Nuevo apodo:',
'nicknametaken' => 'Ese apodo ya fue tomado',
'nopass' => 'Constraseña incorrecta (al menos %d caracteres), no se cambia apodo'
);
];
?>

View File

@ -19,7 +19,7 @@
*/
//Native language name: Français
$T=array(
$T=[
'nodb' => 'Pas de connexion à la base de données!',
'nodbsetup' => 'Pas de connexion à la base de données, s\'il vous plaît créer une base de données et modifier le script pour utiliser la base de données correctement avec le nom d\'utilisateur et son mot de passe !',
'changelang' => 'Changer la langue:',
@ -153,10 +153,6 @@ $T=array(
'timestamps' => 'Afficher l\'horodatage',
'embed' => 'Images imbriquées',
'incognito' => 'Mode incognito',
'pbsize' => 'Dimension de la boite du texte',
'nbsize' => 'Dimension de la boite du chat',
'width' => 'Largeur:',
'height' => 'Hauteur:',
'changepass' => 'Changer le mot de passe',
'oldpass' => 'Ancien mot de passe:',
'newpass' => 'Nouveau mot de passe:',
@ -308,5 +304,5 @@ $T=array(
'newnickname' => 'Nouveau Pseudo:',
'nicknametaken' => 'Pseudo déjà pris',
'nopass' => 'Mot de passe invalide (au moins % caractères), ne pas changer le pseudo',
);
];
?>

View File

@ -19,7 +19,7 @@
*/
//Native language name: Bahasa Indonesia
$T=array(
$T=[
'nodb' => 'Tak ada sambungan ke basisdata!',
'nodbsetup' => 'Tak ada sambungan ke basisdata, silahkan buat basisdata dan sunting skrip ini agar menggunakan basisdata yang benar dengan nama pengguna dan kata sandi yang telah diberikan!',
'changelang' => 'Ubah bahasa:',
@ -153,10 +153,6 @@ $T=array(
'timestamps' => 'Tunjukkan penanda waktu',
'embed' => 'Tanamkan gambar',
'incognito' => 'Mode penyamaran',
'pbsize' => 'Ukuran kotak pos',
'nbsize' => 'Ukuran otak catatan',
'width' => 'Lebar:',
'height' => 'Tinggi:',
'changepass' => 'Ubah kata sandi',
'oldpass' => 'Kata sandi lama:',
'newpass' => 'Kata sandi baru:',
@ -308,5 +304,5 @@ $T=array(
'newnickname' => 'Nama baru:',
'nicknametaken' => 'Nama sudah ada',
'nopass' => 'Kata sandi salah (Minimal %d karakter), tak merubah nama'
);
];
?>

View File

@ -19,7 +19,7 @@
*/
//Native language name: Русский
$T=array(
$T=[
'nodb' => 'Нет соединения с базой данных!',
'nodbsetup' => 'Нет соединения с базой данных, пожалуйста, создайте базу данных и измените сценарий, чтобы использовать правильную базу данных с заданными именем пользователя и паролем!',
'changelang' => 'Изменить язык:',
@ -153,10 +153,6 @@ $T=array(
'timestamps' => 'Показать отметки времени',
'embed' => 'Вставить изображения',
'incognito' => 'Режим инкогнито',
'pbsize' => 'Размер окна сообщений',
'nbsize' => 'Размер окна заметок',
'width' => 'Ширина:',
'height' => 'Высота:',
'changepass' => 'Изменить пароль',
'oldpass' => 'Старый пароль:',
'newpass' => 'Новый пароль:',
@ -274,5 +270,5 @@ $T=array(
'restore' => 'Восстановление',
'settings' => 'Настройки',
'linkfilter' => 'Фильтрация ссылок'
);
];
?>

View File

@ -25,7 +25,7 @@ echo "<?php
*/
//Native language name: $native
\$T=array(
\$T=[
";
if(file_exists("lang_$code.php")){
include("lang_$code.php");
@ -39,7 +39,7 @@ foreach($T as $id=>$value){
foreach($I as $id=>$value){
echo "\t'$id' => '".str_replace("'", "\'", $value)."',\n";
}
echo ");\n?>\n";
echo "];\n?>\n";
$file=ob_get_clean();
file_put_contents("lang_$code.php", $file);
?>

364
lang_zh_CN.php Normal file
View File

@ -0,0 +1,364 @@
<?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' => '没有连接到数据库!',
'nodbsetup' => '没有连接到数据库,请创建一个数据库并编辑脚本并修改为用户名密码正确的数据库!',
'changelang' => '修改语言:',
'expire' => '无效/已过期的会话',
'kicked' => '你被踢出该聊天室!',
'invalnick' => '无效的用户名 (最多%1$d个字符必须与正则表达式"%2$s"匹配)',
'invalpass' => '无效的密码 (至少包含%1$d个字符并且必须与正则表达式"%2$s"匹配)',
'noconfirm' => '重复密码不匹配!',
'incorregex' => '正则表达式错误!',
'bottom' => 'Bottom',
'top' => '排行',
'choose' => '(选择)',
'setup' => '安装程序',
'init' => '初始化设置',
'sulogin' => '超级管理员登录:',
'sunick' => '超级管理员用户名:',
'supass' => '超级管理员密码:',
'suconfirm' => '重复密码:',
'susuccess' => '成功注册!',
'initbtn' => '初始化聊天室',
'initdbexist' => '数据库表已经存在!,要继续,您必须先手动删除这些表',
'initsuexist' => '超级管理员已经存在!',
'initgosetup' => '去设置界面',
'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">Date formating</a>',
'admfunc' => '管理员功能',
'allguests' => '全部游客',
'cleanmsgs' => '清理消息',
'room' => '整个房间',
'selection' => '选择',
'cleannick' => '下面的名称:',
'clean' => '清理',
'kickchat' => 'Kick Chatter (%d minutes)',
'kickreason' => '踢出信息:',
'kickpurge' => '清除信息',
'kick' => '踢出',
'logoutinact' => '注销非活动聊天者',
'logout' => '登出',
'sessions' => '查看活动聊天',
'view' => '显示',
'filter' => '过滤',
'guestacc' => '修改游客访问',
'guestallow' => '允许',
'guestwait' => 'Allow with waitingroom',
'adminallow' => '请求审核人批准',
'guestdisallow' => '只仅正式成员',
'addsuguest' => '注册申请员',
'register' => '注册',
'admmembers' => '正式成员',
'memdel' => '从数据库删除',
'memdeny' => '拒绝访问 (!)',
'memsuguest' => '申请为申请人 (G)',
'memreg' => '设置为正式成员',
'memmod' => '设置为主持人 (M)',
'memsumod' => 'Set to supermod (SM)',
'memadm' => '设置为管理员 (A)',
'change' => '修改',
'regguest' => '注册游客',
'regmem' => '注册新成员',
'sessact' => '活动会话',
'sessnick' => '用户名',
'sesstimeout' => '超时',
'sessua' => '用户代理',
'fid' => '过滤器ID:',
'match' => '匹配',
'replace' => '替换',
'allowpm' => '允许在PM',
'regex' => '正则表达式',
'apply' => '应用',
'newfilter' => '新过滤器:',
'add' => '添加',
'noframes' => '这个聊天室使用 <b>frames</b>. 请在浏览器中启用<b>frames</b>或使用合适的<b>frames</b>!',
'delselmes' => '删除所选信息',
'staffnotes' => '工作人员说明',
'adminnotes' => '管理员说明',
'notessaved' => '说明已保存!',
'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.',
'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!',
'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',
'maxsize' => 'Max %d KB',
'cssupdate' => 'Note: Default CSS is now hardcoded and can be removed from the CSS setting',
];
?>