Compare commits

...

52 Commits

Author SHA1 Message Date
c8f3020f17 Yesterdays bugfix broke more than it fixed, refixed. 2016-07-10 10:38:15 +02:00
260dbdfd56 Fix bug preventing to send PMs to number-only nicknames 2016-07-09 17:52:29 +02:00
53211076a0 Making a moderator to member now sets incognito back to disabled 2016-06-13 19:55:09 +02:00
5ef5d5f701 Bugfix 2016-05-21 16:49:05 +02:00
b053e18e11 Make embed image option re-appear whith cookies disabled 2016-05-17 09:55:52 +02:00
eb13ee2d2f Completely fix link-redirection 2016-05-15 09:33:06 +02:00
dca1b81ef9 Add a lang_update.php script to auto-update language files 2016-05-11 12:46:50 +02:00
86b1de0ec8 Add setting in profile to allow offline inbox for: staff, members or everyone 2016-05-10 12:49:31 +02:00
147c511c61 Only use js if browser refresh stopped working 2016-05-10 08:16:25 +02:00
07ff78994e Remove JavaScript "load only new messages" feature, add JS auto-refresh to header instead 2016-05-07 10:37:56 +02:00
b09cb6b352 Fix parts of the offline inbox 2016-05-01 20:15:55 +02:00
e454b44f2b de-duplicate code 2016-04-30 15:29:41 +02:00
a72cd08cfb Fix duplicated class-tags and spelling mistake in SQL 2016-04-29 23:03:16 +02:00
190ec4c863 Allow deletion of member accounts in profile 2016-04-29 21:51:08 +02:00
3105cffaf1 Add an offline inbox for members 2016-04-29 21:47:32 +02:00
1a8eefc396 Fix wrong registration variables 2016-04-28 19:07:09 +02:00
47ffde6839 Better wording for registering applicants 2016-04-28 16:40:07 +02:00
ae3fe6d510 Optimize language-selection function 2016-04-28 11:59:23 +02:00
6ccce399b7 De-duplicate code 2016-04-28 11:05:09 +02:00
8538b22f6a simplify parse_sessions() and write_new_session() 2016-04-28 09:58:07 +02:00
a37026ca64 Add useful error message on failed login 2016-04-28 09:02:42 +02:00
555208a556 Combine Password reset and setting new nickname 2016-04-27 11:14:54 +02:00
d9c9dae6c0 Complete time zone feature 2016-04-27 09:57:34 +02:00
266523902f Avoid douple-parsing of sessions, when logging out or kicking 2016-04-26 13:25:44 +02:00
8408edd1f8 Fix incorrect header 2016-04-26 12:27:39 +02:00
7210a9fc90 Add timezone settings 2016-04-26 12:26:40 +02:00
37fbb7bc43 Allow disabling the chat completely 2016-04-20 15:48:12 +02:00
e72dc58d56 Simplify check_init() 2016-04-19 20:24:53 +02:00
b2df491ab7 Add disable PM option 2016-04-19 20:14:06 +02:00
63b4764ec4 Display a fatal error, if SQLite engine fails to connect to the database 2016-04-19 16:13:30 +02:00
15a4eb62bc Simplify SQL table creation by using common data types for all engines 2016-04-19 15:52:15 +02:00
60355735ee Make nocache refresh hack configurable in profile 2016-04-18 17:22:22 +02:00
0b8cdcc1e5 Remove nocache hack from message reload again
(scrolls back to top every time)
2016-04-17 08:12:48 +02:00
51ee2e1495 Split routing into several sub-functions 2016-04-16 21:04:41 +02:00
db86cb984b Fix a few forms to be used cookie-less 2016-04-15 16:07:15 +02:00
30d460b91e Improve invalid filter handling + allow new line match with \n 2016-04-15 15:16:18 +02:00
ea24d7ae5b Add caching hack for aggressively caching browsers (e.g. links) 2016-04-15 08:54:14 +02:00
6a8186d984 de-duplicate code by using new functions 2016-04-14 22:32:02 +02:00
2757f62d48 Properly escape some parameters 2016-04-14 22:08:20 +02:00
df140d0ee7 Fix warning on redirection of links without a scheme 2016-04-14 19:44:32 +02:00
6890bdb80a Allow extreme captcha to be solved in both directions 2016-04-14 19:12:15 +02:00
5c62bcef00 Add CSS classes and move more css to the database 2016-04-14 18:49:25 +02:00
f2c6d9fb95 Fixed a typo 2016-04-13 21:38:20 +02:00
8749eb0982 Fix language parameter overwrite 2016-04-13 20:08:20 +02:00
1c74441bb4 Better message routing and fixed handling of links with special characters 2016-04-13 20:01:26 +02:00
d4ef35e8ac Add better fatal error handling 2016-04-12 22:19:22 +02:00
0092abe964 Add option to let guests register themselves 2016-04-12 20:12:34 +02:00
333983a2c3 Fix guestaccess selection in setup 2016-04-11 16:20:28 +02:00
fd807ff5ff Add fallback option for moderator approval 2016-04-11 16:05:20 +02:00
bc3bb8e3a4 Attempt to create database when there is no connection 2016-04-11 16:05:07 +02:00
e181af4df5 Move some more settings to the database and add CSS to limit list of chatters hight 2016-04-11 16:02:27 +02:00
a22ffd83fd Several optimizations
Use constants for configuration
Simplify extreme captcha code generation
Add language setting to profile
Add checks for required extensions
2016-04-10 15:52:19 +02:00
12 changed files with 1795 additions and 1254 deletions

View File

@ -1,3 +1,69 @@
Version 1.20.3 - Jul. 10, 2016
Yesterdays bugfix broke more than it fixed, refixed.
Version 1.20.2 - Jul. 9, 2016
Fix bug preventing to send PMs to number-only nicknames
Version 1.20.1 - Jun. 13, 2016
Bugfix when logging guests out via admin section
Don't hide image embedding option in profile with cookies disabled
Making a moderator to member now sets incognito back to disabled
Version 1.20 - May 15, 2016
Add setting in profile to allow offline inbox for: staff, members or everyone
Completely fix link-redirection
Version 1.19.2 - May 7, 2016
Remove JavaScript "load only new messages" feature
Add JS auto-refresh to header instead
Version 1.19.1 - May 1, 2016
Fix parts of the offline inbox
Version 1.19 - Apr. 29, 2016
Add an offline inbox for members
Allow deletion of member accounts in profile
Version 1.18 - Apr. 28, 2016
Add time zone settings
Combine Password reset and setting new nickname
Add useful error message on failed login
Version 1.17 - Apr. 20, 2016
Make nocache refresh hack configurable in profile
Add disable PM option
Allow disabling the chat completely
Version 1.16.4 - Apr. 15, 2016
Properly escape some parameters
Add caching hack for aggressively caching browsers (e.g. links)
Improve invalid filter handling + allow new line match with \n
Fix a few forms to be used cookie-less
Version 1.16.3 - Apr. 14, 2016
Fix warning on redirection of links without a scheme
Version 1.16.2 - Apr. 14, 2016
Add CSS classes and move more css to the database
Allow extreme captcha to be solved in both directions
Version 1.16.1 - Apr. 13, 2016
Fixed a typo
Version 1.16 - Apr. 13, 2016
Use constants for configuration
Simplify extreme captcha code generation
Add language setting to profile
Add checks for required extensions
Move some more settings to the database
Add CSS to limit list of chatters hight
Attempt to create database when there is no connection
Add fallback option for moderator approval
Fix guestaccess selection in setup
Add option to let guests register themselves
Add better fatal error handling
Fixed handling of links with special characters
Version 1.15.3 - Mar. 6, 2016 Version 1.15.3 - Mar. 6, 2016
Allow using html tags in linkfilter without breaking dereferrer or image embed Allow using html tags in linkfilter without breaking dereferrer or image embed
Added French translation Added French translation

31
README
View File

@ -1,21 +1,3 @@
LE CHAT-PHP - a PHP Chat based on LE CHAT
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/>.
GENERAL INFORMATION: GENERAL INFORMATION:
This is a PHP Chat based on LE CHAT v.1.14. An up-to-date copy of this script can be downloaded at https://github.com/DanWin/le-chat-php This is a PHP Chat based on LE CHAT v.1.14. An up-to-date copy of this script can be downloaded at https://github.com/DanWin/le-chat-php
@ -53,9 +35,15 @@ And more
INSTALLATION INSTRUCTIONS: INSTALLATION INSTRUCTIONS:
You'll need to have mysql, php and a web-server installed. For the captcha feature, you also need php5-gd. You'll need to have php with pdo, pcre and date extension and a web-server installed.
If you want to make the script even faster, install a memcached server and php5-memcached and change the configuaration to use memcached. This will lessen the database load. You will also need the pdo_sqlite, pdo_mysql or pdo_pgsql extension, depending on which database you choose.
When you have everything installed, you'll have to create a database and a user for the chat in mysql. Optionally, you can install:
- the gd extension for the captcha feature
- the json extension for save/restore and a JavaScript helper for clients with enabled JavaScript.
- 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
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 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: Then copy the script to your web-server directory and call the script in your browser with a parameter like this:
http://(server)/(script-name).php?action=setup http://(server)/(script-name).php?action=setup
@ -72,6 +60,7 @@ When you are done, you have to edit the chat script, to include your translation
'lang_code' =>'Language name', 'lang_code' =>'Language name',
to the $L array in the load_lang() function at the bottom, similar to what I did for the German translation. to the $L array in the load_lang() function at the bottom, similar to what I did for the German translation.
Please share your translation with me, so I can add it to the official version. Please share your translation with me, so I can add it to the official version.
To update your translation, you can copy each new string to your translation file or edit the automated lang_update.php script to reflect you language and run it.
REGEX: REGEX:

View File

@ -38,9 +38,15 @@ Features:
Installation Instructions: Installation Instructions:
-------------------------- --------------------------
You'll need to have mysql, php and a web-server installed. For the captcha feature, you also need php5-gd. You'll need to have php with pdo, pcre and date extension and a web-server installed.
If you want to make the script even faster, install a memcached server and php5-memcached and change the configuaration to use memcached. This will lessen the database load. You will also need the pdo_sqlite, pdo_mysql or pdo_pgsql extension, depending on which database you choose.
When you have everything installed, you'll have to create a database and a user for the chat in mysql. Optionally, you can install:
- the gd extension for the captcha feature
- the json extension for save/restore and a JavaScript helper for clients with enabled JavaScript.
- 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
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 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: Then copy the script to your web-server directory and call the script in your browser with a parameter like this:
http://(server)/(script-name).php?action=setup http://(server)/(script-name).php?action=setup
@ -58,6 +64,7 @@ When you are done, you have to edit the chat script, to include your translation
'lang_code' =>'Language name', 'lang_code' =>'Language name',
to the $L array in the load_lang() function at the bottom, similar to what I did for the German translation. to the $L array in the load_lang() function at the bottom, similar to what I did for the German translation.
Please share your translation with me, so I can add it to the official version. Please share your translation with me, so I can add it to the official version.
To update your translation, you can copy each new string to your translation file or edit the automated lang_update.php script to reflect you language and run it.
Regex: Regex:
------ ------

2788
chat.php

File diff suppressed because it is too large Load Diff

View File

@ -86,7 +86,7 @@ $T=array(
'guestwait' => 'Mit Warteraum erlauben', 'guestwait' => 'Mit Warteraum erlauben',
'adminallow' => 'Moderator-Erlaubnis benötigen', 'adminallow' => 'Moderator-Erlaubnis benötigen',
'guestdisallow' => 'Nur Mitglieder', 'guestdisallow' => 'Nur Mitglieder',
'addsuguest' => 'Anwerber hinzufügen', 'addsuguest' => 'Anwerber registrieren',
'register' => 'Registrieren', 'register' => 'Registrieren',
'admmembers' => 'Mitglieder', 'admmembers' => 'Mitglieder',
'memdel' => 'Aus der Datenbank löschen', 'memdel' => 'Aus der Datenbank löschen',
@ -180,7 +180,7 @@ $T=array(
'choosecol' => 'Gast, such dir eine Farbe aus:', 'choosecol' => 'Gast, such dir eine Farbe aus:',
'randomcol' => 'Zufällige Farbe', 'randomcol' => 'Zufällige Farbe',
'enter' => 'Chat beitreten', 'enter' => 'Chat beitreten',
'error' => 'Fehler:', 'error' => 'Fehler',
'members' => 'Mitglieder', 'members' => 'Mitglieder',
'guests' => 'Gäste', 'guests' => 'Gäste',
'approveguests' => '%d neue Gäste zum Hereinlassen', 'approveguests' => '%d neue Gäste zum Hereinlassen',
@ -254,6 +254,7 @@ $T=array(
'captchatime' => 'Captcha-Ablaufzeit (Sekunden)', 'captchatime' => 'Captcha-Ablaufzeit (Sekunden)',
'messageexpire' => 'Nachrichten-Ablaufzeit (Minuten)', 'messageexpire' => 'Nachrichten-Ablaufzeit (Minuten)',
'messagelimit' => 'Nachrichtenlimit (öffentliche)', 'messagelimit' => 'Nachrichtenlimit (öffentliche)',
'keeplimit' => 'So viele Male zusätzliche Nachrichten behalten (PMs und Mitgliederchat)',
'maxmessage' => 'Maximale Nachrichenlänge', 'maxmessage' => 'Maximale Nachrichenlänge',
'confirm' => 'Bist du sicher?', 'confirm' => 'Bist du sicher?',
'yes' => 'Ja', 'yes' => 'Ja',
@ -276,7 +277,6 @@ $T=array(
'restore' => 'Wiederherstellen', 'restore' => 'Wiederherstellen',
'settings' => 'Einstellungen', 'settings' => 'Einstellungen',
'linkfilter' => 'Linkfilter', 'linkfilter' => 'Linkfilter',
'enablejs' => 'JavaScript für besseres Nachrichtenladen erlauben',
'chatname' => 'Chatname', 'chatname' => 'Chatname',
'destroy' => 'Chat zerstören', 'destroy' => 'Chat zerstören',
'destroyed' => 'Chat erfolgreich zerstört', 'destroyed' => 'Chat erfolgreich zerstört',
@ -308,9 +308,43 @@ $T=array(
'newer' => 'Neuer', 'newer' => 'Neuer',
'accessdenied' => 'Zugriff verweigert', 'accessdenied' => 'Zugriff verweigert',
'loggedinas' => 'Du bist als %s angemeldet und hast keinen Zugriff auf diesen Bereich.', 'loggedinas' => 'Du bist als %s angemeldet und hast keinen Zugriff auf diesen Bereich.',
'changenickname' => 'Nickname ändern',
'newnickname' => 'Neuer Nickname:', 'newnickname' => 'Neuer Nickname:',
'nicknametaken' => 'Nickname ist bereits vergeben', 'nicknametaken' => 'Nickname ist bereits vergeben',
'nopass' => 'Ungültiges Passwort (Mindestens %d Zeichen), Nickname nicht geändert' '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.',
'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.',
'jsonextrequired' => 'Für diese Funktion wird die json Erweiterung von PHP benötigt. Bitte installieren Sie diese zuerst.',
'sendmail' => 'E-Mail bei neuer Nachricht senden',
'mailsender' => 'E-Mail mit dieser Adresse versenden',
'mailreceiver' => 'E-Mail and diese Adresse senden',
'modfallback' => 'Auf Warteraum rückgreifen, falls kein Moderator anwesend ist, um Gäste hereinzulassen',
'regpass' => 'Zum registrieren<br>Passwort wiederholen',
'guestreg' => 'Gäste sich selbst registrieren lassen',
'asmember' => 'Als Mitglied',
'assuguest' => 'Als Anwerber',
'fatalerror' => 'Fataler Fehler',
'prevmatch' => 'Ihr regex war folgender',
'matchtoolong' => 'Ihr Match war zu lang. Sie können max. 255 Zeichen benutzen. Versuchen Sie diesen aufzuteilen.',
'nocache' => 'Neulade-Hack für alte Browser hinzufügen.<br>Aktiviere dies, falls Neuladen nicht funktioniert.',
'disablepm' => 'Private Nachrichten deaktivieren',
'disablechat' => 'Chat deaktivieren',
'disabletext' => 'Chat deaktiviert Nachricht (html)',
'disabledtext' => 'Kurzzeitig deaktiviert',
'defaulttz' => 'Standard Zeitzone',
'tz' => 'Zeitzone',
'optional' => '(optional)',
'userloggedin' => 'Ein Nutzer mit diesem Nicknamen ist bereits angemeldet.',
'regednick' => 'Dieser Nickname ist ein registeriertes Mitglied.',
'eninbox' => 'Offline Posteingang aktivieren',
'inboxmsgs' => '%d Nachrichten im Posteingang lesen',
'offline' => '(offline)',
'deleteacc' => 'Konto löschen',
'eninall' => 'Für jeden',
'eninmem' => 'Nur für Mitglieder',
'eninstaff' => 'Nur für Moderatoren'
); );
?> ?>

View File

@ -86,7 +86,7 @@ $I=array(
'guestwait' => 'Allow with waitingroom', 'guestwait' => 'Allow with waitingroom',
'adminallow' => 'Require moderator approval', 'adminallow' => 'Require moderator approval',
'guestdisallow' => 'Only members', 'guestdisallow' => 'Only members',
'addsuguest' => 'Add applicant', 'addsuguest' => 'Register applicant',
'register' => 'Register', 'register' => 'Register',
'admmembers' => 'Members', 'admmembers' => 'Members',
'memdel' => 'Delete from database', 'memdel' => 'Delete from database',
@ -180,7 +180,7 @@ $I=array(
'choosecol' => 'Guests, choose a colour:', 'choosecol' => 'Guests, choose a colour:',
'randomcol' => 'Random Colour', 'randomcol' => 'Random Colour',
'enter' => 'Enter Chat', 'enter' => 'Enter Chat',
'error' => 'Error:', 'error' => 'Error',
'members' => 'Members', 'members' => 'Members',
'guests' => 'Guests', 'guests' => 'Guests',
'approveguests' => '%d new guests to approve', 'approveguests' => '%d new guests to approve',
@ -254,6 +254,7 @@ $I=array(
'captchatime' => 'Captcha timeout (seconds)', 'captchatime' => 'Captcha timeout (seconds)',
'messageexpire' => 'Message timeout (minutes)', 'messageexpire' => 'Message timeout (minutes)',
'messagelimit' => 'Message limit (public)', 'messagelimit' => 'Message limit (public)',
'keeplimit' => 'Keep this times additional messages (PMs and Member chat)',
'maxmessage' => 'Maximal message length', 'maxmessage' => 'Maximal message length',
'confirm' => 'Are you sure?', 'confirm' => 'Are you sure?',
'yes' => 'Yes', 'yes' => 'Yes',
@ -276,7 +277,6 @@ $I=array(
'restore' => 'Restore', 'restore' => 'Restore',
'settings' => 'Settings', 'settings' => 'Settings',
'linkfilter' => 'Linkfilter', 'linkfilter' => 'Linkfilter',
'enablejs' => 'Allow JavaScript for better message loading',
'chatname' => 'Chat name', 'chatname' => 'Chat name',
'destroy' => 'Destroy chat', 'destroy' => 'Destroy chat',
'destroyed' => 'Successfully destroyed chat', 'destroyed' => 'Successfully destroyed chat',
@ -308,9 +308,43 @@ $I=array(
'newer' => 'Newer', 'newer' => 'Newer',
'accessdenied' => 'Access denied', 'accessdenied' => 'Access denied',
'loggedinas' => 'You are logged in as %s and don\'t have access to this section.', 'loggedinas' => 'You are logged in as %s and don\'t have access to this section.',
'changenickname' => 'Change nickname',
'newnickname' => 'New nickname:', 'newnickname' => 'New nickname:',
'nicknametaken' => 'Nickname is already taken', 'nicknametaken' => 'Nickname is already taken',
'nopass' => 'Invalid password (At least %d characters), not changing nickname' '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' => 'Add refresh hack for old browsers.<br>Enable, if refreshing doesn\'t work.',
'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',
'eninall' => 'For everyone',
'eninmem' => 'For members only',
'eninstaff' => 'For staff only'
); );
?> ?>

View File

@ -180,7 +180,7 @@ $T=array(
'choosecol' => 'Invitado, elegí un color:', 'choosecol' => 'Invitado, elegí un color:',
'randomcol' => 'Color al azar', 'randomcol' => 'Color al azar',
'enter' => 'Entrar a la sala', 'enter' => 'Entrar a la sala',
'error' => 'Error:', 'error' => 'Error',
'members' => 'Miembros', 'members' => 'Miembros',
'guests' => 'Invitados', 'guests' => 'Invitados',
'approveguests' => '%d nuevos invitados para aprobar', 'approveguests' => '%d nuevos invitados para aprobar',
@ -276,7 +276,6 @@ $T=array(
'restore' => 'Restablacer copia', 'restore' => 'Restablacer copia',
'settings' => 'Configuración', 'settings' => 'Configuración',
'linkfilter' => 'Filtro de enlaces', 'linkfilter' => 'Filtro de enlaces',
'enablejs' => 'Permitir JavaScript para mejorar la carga de mensajes',
'chatname' => 'Nombre de la sala', 'chatname' => 'Nombre de la sala',
'destroy' => 'Destruir sala', 'destroy' => 'Destruir sala',
'destroyed' => 'Sala destruida satisfactoriamente', 'destroyed' => 'Sala destruida satisfactoriamente',
@ -308,7 +307,6 @@ $T=array(
'newer' => 'Newer', 'newer' => 'Newer',
'accessdenied' => 'Acceso no permitido', 'accessdenied' => 'Acceso no permitido',
'loggedinas' => 'Estás identificado como %s y no tenés acceso a esta sección.', 'loggedinas' => 'Estás identificado como %s y no tenés acceso a esta sección.',
'changenickname' => 'Cambiar apodo',
'newnickname' => 'Nuevo apodo:', 'newnickname' => 'Nuevo apodo:',
'nicknametaken' => 'Ese apodo ya fue tomado', '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'

View File

@ -180,7 +180,7 @@ $T=array(
'choosecol' => 'Invitado, elija un color:', 'choosecol' => 'Invitado, elija un color:',
'randomcol' => 'Color al azar', 'randomcol' => 'Color al azar',
'enter' => 'Ingresar a la sala', 'enter' => 'Ingresar a la sala',
'error' => 'Error:', 'error' => 'Error',
'members' => 'Miembros', 'members' => 'Miembros',
'guests' => 'Invitados', 'guests' => 'Invitados',
'approveguests' => '%d nuevos invitados para aprobar', 'approveguests' => '%d nuevos invitados para aprobar',
@ -276,7 +276,6 @@ $T=array(
'restore' => 'Restaurar', 'restore' => 'Restaurar',
'settings' => 'Preferencias', 'settings' => 'Preferencias',
'linkfilter' => 'Filtro de enlaces', 'linkfilter' => 'Filtro de enlaces',
'enablejs' => 'Permitir JavaScript para mejorar la carga de mensajes',
'chatname' => 'Nombre de la sala', 'chatname' => 'Nombre de la sala',
'destroy' => 'Destruir sala', 'destroy' => 'Destruir sala',
'destroyed' => 'Sala destruida satisfactoriamente', 'destroyed' => 'Sala destruida satisfactoriamente',
@ -308,7 +307,6 @@ $T=array(
'newer' => 'Newer', 'newer' => 'Newer',
'accessdenied' => 'Acceso denegado', 'accessdenied' => 'Acceso denegado',
'loggedinas' => 'Estás identificado como %s y no tenés acceso a esta sección.', 'loggedinas' => 'Estás identificado como %s y no tenés acceso a esta sección.',
'changenickname' => 'Cambiar apodo',
'newnickname' => 'Nuevo apodo:', 'newnickname' => 'Nuevo apodo:',
'nicknametaken' => 'Ese apodo ya fue tomado', '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'

View File

@ -180,7 +180,7 @@ $T=array(
'choosecol' => 'Invité, choisir une couleur:', 'choosecol' => 'Invité, choisir une couleur:',
'randomcol' => 'Couleur aléatoire', 'randomcol' => 'Couleur aléatoire',
'enter' => 'Entrer', 'enter' => 'Entrer',
'error' => 'Erreur:', 'error' => 'Erreur',
'members' => 'Membres', 'members' => 'Membres',
'guests' => 'Invités', 'guests' => 'Invités',
'approveguests' => '%d nouveaux invités à approuver', 'approveguests' => '%d nouveaux invités à approuver',
@ -276,7 +276,6 @@ $T=array(
'restore' => 'Récupérer', 'restore' => 'Récupérer',
'settings' => 'Paramètres', 'settings' => 'Paramètres',
'linkfilter' => 'Lien filtré', 'linkfilter' => 'Lien filtré',
'enablejs' => 'Autoriser JavaScript permet un meilleur chargement des messages ',
'chatname' => 'Nom du chat', 'chatname' => 'Nom du chat',
'destroy' => 'Destruction du chat', 'destroy' => 'Destruction du chat',
'destroyed' => 'Chat supprimé', 'destroyed' => 'Chat supprimé',
@ -308,7 +307,6 @@ $T=array(
'newer' => 'Nouveau', 'newer' => 'Nouveau',
'accessdenied' => 'Accès interdit', 'accessdenied' => 'Accès interdit',
'loggedinas' => 'Vous êtes connecté en tant que %s et vous n\'avez pas accès à cette section.', 'loggedinas' => 'Vous êtes connecté en tant que %s et vous n\'avez pas accès à cette section.',
'changenickname' => 'Changer de Pseudo',
'newnickname' => 'Nouveau Pseudo:', 'newnickname' => 'Nouveau Pseudo:',
'nicknametaken' => 'Pseudo déjà pris', 'nicknametaken' => 'Pseudo déjà pris',
'nopass' => 'Mot de passe invalide (au moins % caractères), ne pas changer le pseudo', 'nopass' => 'Mot de passe invalide (au moins % caractères), ne pas changer le pseudo',

View File

@ -180,7 +180,7 @@ $T=array(
'choosecol' => 'Silahkan pilih warna:', 'choosecol' => 'Silahkan pilih warna:',
'randomcol' => 'Warna acak', 'randomcol' => 'Warna acak',
'enter' => 'Masuk obrolan', 'enter' => 'Masuk obrolan',
'error' => 'Kesalahan:', 'error' => 'Kesalahan',
'members' => 'Anggota', 'members' => 'Anggota',
'guests' => 'Tamu', 'guests' => 'Tamu',
'approveguests' => '%d tamu baru untuk disetujui', 'approveguests' => '%d tamu baru untuk disetujui',
@ -276,7 +276,6 @@ $T=array(
'restore' => 'Pulihkan', 'restore' => 'Pulihkan',
'settings' => 'Pengaturan', 'settings' => 'Pengaturan',
'linkfilter' => 'penyaring-tautan', 'linkfilter' => 'penyaring-tautan',
'enablejs' => 'Izinkan javascript agar pemuatan pesan lebih baik',
'chatname' => 'Nama obrolan', 'chatname' => 'Nama obrolan',
'destroy' => 'Musnahkan obrolan', 'destroy' => 'Musnahkan obrolan',
'destroyed' => 'Berhasil memusnahkan obrolan', 'destroyed' => 'Berhasil memusnahkan obrolan',
@ -308,7 +307,6 @@ $T=array(
'newer' => 'Baru', 'newer' => 'Baru',
'accessdenied' => 'Akses ditolak', 'accessdenied' => 'Akses ditolak',
'loggedinas' => 'Anda masuk sebagai %s dan tak dapat mengakses bagian ini.', 'loggedinas' => 'Anda masuk sebagai %s dan tak dapat mengakses bagian ini.',
'changenickname' => 'Ubah nama',
'newnickname' => 'Nama baru:', 'newnickname' => 'Nama baru:',
'nicknametaken' => 'Nama sudah ada', 'nicknametaken' => 'Nama sudah ada',
'nopass' => 'Kata sandi salah (Minimal %d karakter), tak merubah nama' 'nopass' => 'Kata sandi salah (Minimal %d karakter), tak merubah nama'

View File

@ -180,7 +180,7 @@ $T=array(
'choosecol' => 'Гости выбирают цвет:', 'choosecol' => 'Гости выбирают цвет:',
'randomcol' => 'Случайный цвет', 'randomcol' => 'Случайный цвет',
'enter' => 'Войти в чат', 'enter' => 'Войти в чат',
'error' => 'Ошибка:', 'error' => 'Ошибка',
'members' => 'Зарегистрированные', 'members' => 'Зарегистрированные',
'guests' => 'Гости', 'guests' => 'Гости',
'approveguests' => '%d новые гости для одобрения', 'approveguests' => '%d новые гости для одобрения',

45
lang_update.php Normal file
View File

@ -0,0 +1,45 @@
<?php
$native = 'Deutsch'; // Native lanugae name
$english = 'German'; // Enlish language name
$code = 'de'; // Language code
ob_start();
echo "<?php
/*
* LE CHAT-PHP - a PHP Chat based on LE CHAT - $english 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: $native
\$T=array(
";
if(file_exists("lang_$code.php")){
include("lang_$code.php");
}
include('lang_en.php');
foreach($T as $id=>$value){
if(isSet($I[$id])){
$I[$id]=$value;
}
}
foreach($I as $id=>$value){
echo "\t'$id' => '".str_replace("'", "\'", $value)."',\n";
}
echo ");\n?>\n";
$file=ob_get_clean();
file_put_contents("lang_$code.php", $file);
?>