summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-08-28 03:18:44 +0300
committerAndrei Karas <akaras@inbox.ru>2015-08-28 03:18:44 +0300
commita02df69300f6fb5e3423c904419d65591d906cad (patch)
tree33a2dbf1052348bc9c7a468a9db406d4e838997b
parent9fe347e05374d5f9b08e2aed1b0c8bdbfd067111 (diff)
downloadmv-a02df69300f6fb5e3423c904419d65591d906cad.tar.gz
mv-a02df69300f6fb5e3423c904419d65591d906cad.tar.bz2
mv-a02df69300f6fb5e3423c904419d65591d906cad.tar.xz
mv-a02df69300f6fb5e3423c904419d65591d906cad.zip
Update translations.
-rw-r--r--po/POTFILES.in27
-rw-r--r--po/ca.po460
-rw-r--r--po/cs.po472
-rw-r--r--po/de.po473
-rw-r--r--po/es.po472
-rw-r--r--po/fi.po472
-rw-r--r--po/fr.po472
-rw-r--r--po/id.po466
-rw-r--r--po/it.po472
-rw-r--r--po/ja.po472
-rw-r--r--po/manaplus.pot454
-rw-r--r--po/nl.po466
-rw-r--r--po/nl_BE.po466
-rw-r--r--po/pl.po472
-rw-r--r--po/pt.po472
-rw-r--r--po/pt_BR.po472
-rw-r--r--po/ru.po472
-rw-r--r--po/sv.po472
-rw-r--r--po/sv_SE.po472
-rw-r--r--po/tr.po472
-rw-r--r--po/uk.po472
-rw-r--r--po/zh_CN.po460
-rw-r--r--po/zh_HK.po98
23 files changed, 5054 insertions, 4924 deletions
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 88a966c41..00090d99d 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -139,26 +139,29 @@ src/input/pages/windows.cpp
src/inventory.cpp
src/localconsts.h
src/logger.h
-src/net/ea/charserverhandler.cpp
-src/net/ea/chathandler.cpp
-src/net/ea/gamehandler.cpp
-src/net/ea/guildhandler.cpp
-src/net/ea/loginhandler.cpp
+src/net/ea/charserverrecv.cpp
+src/net/ea/chatrecv.cpp
+src/net/ea/gamerecv.cpp
+src/net/ea/guildrecv.cpp
+src/net/ea/loginrecv.cpp
src/net/ea/network.cpp
-src/net/eathena/charserverhandler.cpp
-src/net/eathena/chathandler.cpp
+src/net/eathena/charserverrecv.cpp
+src/net/eathena/chatrecv.cpp
src/net/eathena/generalhandler.cpp
-src/net/eathena/inventoryhandler.cpp
+src/net/eathena/generalrecv.cpp
+src/net/eathena/inventoryrecv.cpp
src/net/eathena/itemflags.h
-src/net/eathena/loginhandler.cpp
-src/net/eathena/mailhandler.cpp
+src/net/eathena/loginrecv.cpp
+src/net/eathena/mailrecv.cpp
src/net/eathena/maptypeproperty2.h
-src/net/eathena/pethandler.cpp
+src/net/eathena/petrecv.cpp
src/net/eathena/skillhandler.cpp
src/net/ea/tradehandler.cpp
src/net/tmwa/charserverhandler.cpp
+src/net/tmwa/charserverrecv.cpp
src/net/tmwa/generalhandler.cpp
-src/net/tmwa/loginhandler.cpp
+src/net/tmwa/generalrecv.cpp
+src/net/tmwa/loginrecv.cpp
src/net/tmwa/skillhandler.cpp
src/render/rendererslistsdl2.h
src/render/rendererslistsdl.h
diff --git a/po/ca.po b/po/ca.po
index b3256e41d..9402832ad 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Catalan (http://www.transifex.com/akaras/manaplus/language/"
@@ -53,11 +53,10 @@ msgstr "Arxiu enviat"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "OK"
@@ -545,12 +544,10 @@ msgstr "Canviant servidors de joc"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Error"
@@ -1382,89 +1379,99 @@ msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
-msgid "Chinese (China)"
+msgid "Catalan"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:49
-msgid "Czech"
+msgid "Chinese (China)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:51
-msgid "English"
+msgid "Czech"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:53
-msgid "Finnish"
+msgid "Dutch (Belgium/Flemish)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:55
-msgid "French"
+msgid "English"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:57
-msgid "German"
+msgid "Finnish"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:59
-msgid "Indonesian"
+msgid "French"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:61
-msgid "Italian"
+msgid "German"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
+msgid "Indonesian"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:65
-msgid "Japanese"
+msgid "Italian"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
+msgid "Japanese"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:69
-msgid "Portuguese"
+msgid "Polish"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:71
-msgid "Portuguese (Brazilian)"
+msgid "Portuguese"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:73
-msgid "Russian"
+msgid "Portuguese (Brazilian)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:75
-msgid "Spanish (Castilian)"
+msgid "Russian"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:77
-msgid "Swedish (Sweden)"
+msgid "Spanish (Castilian)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:79
+msgid "Swedish (Sweden)"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr ""
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1738,8 +1745,8 @@ msgstr "Intercanvi"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Atacar"
@@ -3816,7 +3823,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5775,9 +5782,9 @@ msgstr "Juga"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Informació"
@@ -5864,7 +5871,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8173,175 +8180,175 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8349,28 +8356,28 @@ msgid ""
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Error desconegut."
@@ -8391,320 +8398,319 @@ msgstr "Connexió interrompuda amb el servidor. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr ""
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Has estat desconnectat del servidor!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Força"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Agilitat"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Vitalitat"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Intel·ligència"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Destresa"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Sort"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Defensa"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "Atac màgic"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "Defensa màgica"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% de Precisió"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% de Evasió"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% de Crític"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Retard d'atac"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Demora a peu"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Distància d'atac"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Autenticació fallida."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "No hi ha cap servidor disponible."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Algú altre està provant d'utilitzar aquest compte."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Aquest compte ja està sent utilitzat."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Hack de desplaçament ràpid detectat."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Accès de sessió duplicat."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Error de connexió desconegut."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Has estat desconnectat del servidor!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Força"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Agilitat"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Vitalitat"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Intel·ligència"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Destresa"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Sort"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Defensa"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "Atac màgic"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "Defensa màgica"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% de Precisió"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% de Evasió"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% de Crític"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Retard d'atac"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Demora a peu"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Distància d'atac"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8712,27 +8718,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Objecte desconegut"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Antiga contrasenya incorrecta."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr ""
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8810,32 +8816,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s bol un intercanvi amb tu, acceptes?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr ""
diff --git a/po/cs.po b/po/cs.po
index 177b8ba1b..dc4521e44 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Czech (http://www.transifex.com/akaras/manaplus/language/"
@@ -58,11 +58,10 @@ msgstr "Soubor byl uploadován"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "OK"
@@ -550,12 +549,10 @@ msgstr "Vyměňuji herní servery"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Chyba"
@@ -1389,89 +1386,99 @@ msgstr "(výchozí)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Činsky (Čína)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Česky"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Holandsk (Belgie/Vlámsky)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Anglicky"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finsky"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Francouzsky"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Německy"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonésky"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Italsky"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polsky"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japonsky"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Holandsk (Belgie/Vlámsky)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polsky"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Portugalsky"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Portugalsky (Brazílie)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Rusky"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Španělsky (Kastýlie)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr "Švédsky (Švédsko)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Turecky"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1745,8 +1752,8 @@ msgstr "Obchod"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Útok"
@@ -3823,7 +3830,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5787,9 +5794,9 @@ msgstr "Hrát"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Informace"
@@ -5881,7 +5888,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr "mazlíček patřící %s"
@@ -8192,177 +8199,177 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "Přístup zamítnut. Nejpravděpodobněji je na serveru příliš mnoho hráčů."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Nemohu použít toto ID."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Neznámá chyba postavy na serveru."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
"Nelze vytvořit postavu. Nejpravděpodobněji její jméno již na serveru "
"existuje."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Špatné jméno."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Nesprávné statistiky."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Nesprávný účes."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Nesprávný místo."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Špatná rasa."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr "Špatný vzhled."
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Postava odstraněna."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Nelze odeslat šeptání, %s není připojen."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Nelze odeslat šeptání, %s vás ignoruje."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr "Šeptání nebylo možné zaslat, jsi ignorován všemi hráči."
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Hra"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Požadavek na odchod odepřen!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Jméno gildy: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Vedoucí gildy: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Úroveň gildy: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Připojených členů: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Maximálně členů: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Průměrná úroveň: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Zkušenosti gildy: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Další zkušenosti gildy: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Hrad gildy: %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "Neregistované ID."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Špatné heslo."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "Platnost účtu vypršela."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Odmítnutí od serveru."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr "Byl jste trvale vyloučen ze hry. Prosím kontaktujte GM team."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Klientský software je příliš starý."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8372,28 +8379,28 @@ msgstr ""
"Prosím kontaktujte GM team přes fórum."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Server je přelidněný."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Toto uživatelské jméno je již používáno."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "Špatný e-mail."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Uživatelské jméno bylo trvale odstraněno."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Neznámá chyba."
@@ -8414,320 +8421,319 @@ msgstr "Spojení se serverem ukončeno. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr "Chyba přejmenování postavy."
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr "Postava přejmenována."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr "Přejmenování není povoleno."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr "Nové jméno nebylo nastaveno."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr "Postava nenalezena."
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Nepodařilo se odstranit postavu."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr "Na tomto místě není možné použít dovednost."
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr "Na tomto místě není požné použít předmět."
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr "Není možné obléct. Špatná úroveň."
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr "Nené možné použít. Špatná úroveň."
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr "Na tomhle se pracuje."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr "Zpráva nemohla být poslána. Kanál %s neexistuje."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr "Není možné otevřít kanál %s. Kanál neexistuje."
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr "Síla %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr "Hbitost %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr "Vitalita %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr "Inteligence %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr "Obratnost %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr "Štěstí %s"
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Byl jsem odpojen od server!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Síla"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Hbitost"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Vitalita"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Inteligence"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Obratnost"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Štěstí"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Obrana"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "Magický útok"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "Magická Obr."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Přesnost"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Uhnutí"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% Kritický zásah"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Zpoždění útoku"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Zpoždění chůze"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Dosah útoku"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Poškození za vteř."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Ověření selhalo."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Nejsou dostupné žádné servery."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Někdo jiný se pokouší používat tento účet."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Tento účet je již přihlášen."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Detekován podvod s rychlostí."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr "Server je plný."
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr "Promiň jsi moc mladý."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Duplicitní přihlášení."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr "Moc spojení z jedné IP adresy."
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr "Není neplaceno."
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr "Placení pozastaveno."
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr "Placení zeměněno."
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr "Zaplatit špatnou IP adresu."
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr "Zaplatit herní místnost."
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr "Odpojení vynuceno GM."
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Neznámá chyba připojení."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Byl jsem odpojen od server!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Síla"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Hbitost"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Vitalita"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Inteligence"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Obratnost"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Štěstí"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Obrana"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "Magický útok"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "Magická Obr."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Přesnost"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Uhnutí"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% Kritický zásah"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Zpoždění útoku"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Zpoždění chůze"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Dosah útoku"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Poškození za vteř."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8735,27 +8741,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Neznámý předmět"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Účet nenalezen, prosím přihlaste se znovu."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Půvoní heslo je nesprávné."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Nové heslo je příliš krátké."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8833,32 +8839,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s s tebou chce obchodovat, souhlasíš?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Síla:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Hbitost:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Vitalita:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Inteligence:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Obratnost:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Štěstí:"
diff --git a/po/de.po b/po/de.po
index cc31589f9..1a3f981bd 100644
--- a/po/de.po
+++ b/po/de.po
@@ -33,7 +33,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: German (http://www.transifex.com/akaras/manaplus/language/"
@@ -77,11 +77,10 @@ msgstr "Datei hochgeladen"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "OK"
@@ -570,12 +569,10 @@ msgstr "Spielserver wechseln"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Fehler"
@@ -1416,89 +1413,99 @@ msgstr "(Normal)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Chinesisch (China)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Tschechisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Niederländisch (Belgisch/Flämisch)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Englisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finnisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Französisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Deutsch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonesisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Italienisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polnisch"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japanisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Niederländisch (Belgisch/Flämisch)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polnisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Portugiesisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Portugiesisch (Brasilien)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Russisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Spanisch (Kastilisch)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr "Schwedisch (Schweden)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Türkisch"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1772,8 +1779,8 @@ msgstr "Handeln"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Angriff"
@@ -3960,11 +3967,12 @@ msgid "Highlight words (separated by comma)"
msgstr "Wörter hervorheben (Mit Komma trennen)"
#: src/gui/widgets/tabs/setup_chat.cpp:267
+#, fuzzy
msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
"Hier kannst du ein einige zusätzliche Wörter zur Hervorhebung bestimmen . "
"Benutze durch Komma getrennte Wörter.\n"
@@ -5955,9 +5963,9 @@ msgstr "Spielen"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Info"
@@ -6049,7 +6057,7 @@ msgid "Broken nick detected: "
msgstr "Defekter Spielername entdeckt: "
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr "%ss Haustier"
@@ -8358,180 +8366,180 @@ msgid "Npc"
msgstr "NPC"
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
"Zugriff verweigert. Wahrscheinlich sind zu viele Spieler auf dem Server."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Kann diese ID nicht verwenden."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Unbekannter Charakterserver Fehler."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
"Fehlschlag beim Erstellen des Charakters. Wahrscheinlich wird der Name schon "
"benutzt."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Falscher Name."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Falsche Stats."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Falsche Haare."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Falscher Slot."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Falsche Rasse."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr "Falsches Aussehen."
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Charakter gelöscht."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Flüstern konnte nicht gesendet werden, %s ist offline."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Konnte nicht flüstern. Ignoriert von %s."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
"Flüsternachricht konnte nicht gesendet werden. Du wirst von allen Spielern "
"ignoriert."
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Spiel"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Anfrage zum Verlassen verweigert!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Gildenname: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Gilden Meister: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Gilden Level: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Mitglieder Online: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Max Mitglieder: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Durchschn. Level: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Gilden-EP: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Verbl. Gilden-EP: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Gildenburg: %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "Nicht registrierte ID."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Falsches Passwort."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "Account abgelaufen."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Vom Server abgelehnt."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr "Du wurdest für immer vom Spiel gebannt. Bitte kontaktiere das GM-Team."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Client ist zu alt."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8541,28 +8549,28 @@ msgstr ""
"Bitte kontaktiere das GM-Team via der Foren."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Server überfüllt."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Dieser Benutzername ist bereits vorhanden."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "Falsche E-Mail-Adresse."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Benutzername für immer gelöscht."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Unbekannter Fehler."
@@ -8583,320 +8591,319 @@ msgstr "Verbindung mit Server abgebrochen. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr "Fehler beim Umbennen des Charakters."
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr "Charakter umbenannt."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr "Umbennen ist nicht erlaubt."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr "Neuer Name ist nicht gesetzt."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr "Charakter nicht gefunden."
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Konnte Charakter nicht löschen."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr "Kann keine Fähigkeiten in diesem Bereich wirken."
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr "Kann Gegenstände in diesem Bereich nicht benutzen."
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr "Kann das nicht ausrüsten. Falsches Level."
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr "Kann das nicht benutzen. Falsches Level."
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr "Ist in Arbeit."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr "Nachricht konnte nicht gesendet werden, Kanal %s gibt es nicht."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr "Kann Kanal nicht öffnen. Kanal %s gibt es nicht."
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr "Stärke %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr "Beweglichkeit %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr "Gesundheit %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr "Intelligenz %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr "Geschick %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr "Glück %s"
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Verbindung zum Server unterbrochen!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Stärke"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Beweglichkeit"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Gesundheit"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Intelligenz"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Geschick"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Glück"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Verteidigung:"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "M.Angriff:"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "M.Verteidigung:"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Genauigkeit"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Ausweichen"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% Kritisch"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Angriffsverzug"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Laufverzug:"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Angriffsbereich"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Schaden/Sek."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr "Karma"
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr "Verhalten"
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Authentifizierung fehlgeschlagen."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Keine Server verfügbar."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Jemand anderes versucht diesen Account zu benutzen."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Dieser Account ist bereits angemeldet."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Geschwindigkeits-Hack festgestellt."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr "Server ist voll."
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr "Tut uns leid, aber du bist minderjährig."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Mehrfache Anmeldung."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr "Zu viele Verbindungen von der selben IP."
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr "Für diese Zeit nicht bezahlt."
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr "Zahlung eingestellt."
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr "Zahlung geändert."
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr "Falsche Zahlungs IP."
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr "Spielraum bezahlen."
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr "Erzwungene Trennung von einem GM."
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr "Japanische IP sind nicht erlaubt."
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr "Verbliebender anderer Account."
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr "Unsaubere IP."
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr "Jede IP zählen."
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr "IP zählen."
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr "Speicher."
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr "?Han? : Bann gültig."
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr "Begrenzter IP Zugang."
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr "Über Charakterliste."
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr "IP blockiert."
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr "Ungültige Passwortanzahl."
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr "Keine erlaubte Rasse."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Unbekannter Verbindungsfehler."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr "Karte nicht gefunden"
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Verbindung zum Server unterbrochen!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Stärke"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Beweglichkeit"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Gesundheit"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Intelligenz"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Geschick"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Glück"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Verteidigung:"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "M.Angriff:"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "M.Verteidigung:"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Genauigkeit"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Ausweichen"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% Kritisch"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Angriffsverzug"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Laufverzug:"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Angriffsbereich"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Schaden/Sek."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr "Karma"
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr "Verhalten"
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8904,27 +8911,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Unbekannter Gegenstand"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Account nicht gefunden. Bitte noch einmal anmelden."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Altes Passwort falsch."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Das neue Passwort ist zu kurz."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr "Du hast eine neue Nachricht von %s mit dem Betreff %s"
@@ -9002,32 +9009,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s möchte mit dir handeln, stimmst du zu?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Stärke:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Beweglichkeit:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Gesundheit:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Intelligenz:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Geschick:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Glück:"
diff --git a/po/es.po b/po/es.po
index 1d0ede8d2..d04f92212 100644
--- a/po/es.po
+++ b/po/es.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 22:40+0000\n"
"Last-Translator: Nelson Martell <nelson6e65-manaplus@yahoo.es>\n"
"Language-Team: Spanish (http://www.transifex.com/akaras/manaplus/language/"
@@ -65,11 +65,10 @@ msgstr "Archivo subido"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "OK"
@@ -557,12 +556,10 @@ msgstr "Cambiando servidores del juego"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Error"
@@ -1400,89 +1397,99 @@ msgstr "(predeterminado)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Chino (China)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Checo"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Holanda (Bélgica/Flandes)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Inglés"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finlandés"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Francés"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Alemán"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonesio"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Italiano"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polaco"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japonés"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Holanda (Bélgica/Flandes)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polaco"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Portugués"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Portugués (Brasileño)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Ruso"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Español (Castellano)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr "Sueco (Suecia)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Turco"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1756,8 +1763,8 @@ msgstr "Intercambio"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Atacar"
@@ -3850,7 +3857,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5823,9 +5830,9 @@ msgstr "Jugar"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Información"
@@ -5917,7 +5924,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr "Mascota de %s"
@@ -8229,168 +8236,168 @@ msgid "Npc"
msgstr "Npc"
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
"Acceso denegado. Lo más probable es que hayan muchos jugadores en este "
"servidor."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Imposible usar este ID."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Falla char-server desconocida."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Error al crear personaje. Probablemente ya esté en uso."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Nombre equivocado."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Estadísticas incorrectas."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Cabello incorrecto."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Ranura incorrecta."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Raza incorrecta."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr "Apariencia incorrecta."
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Personaje borrado."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "No pudo ser enviado el Susurro, ya que %s está desconectado."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "No pudo ser enviado el Susurro, ya que es ignorado por %s."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
"El susurro no pudo ser enviado. Estás siendo ignorado por todos los "
"jugadores."
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Juego"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "¡Petición de salida denegada!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Nombre del gremio: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Maestro del gremio: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Nivel del gremio: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Miembros conectados: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Máx. Miembros: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Nivel promedio: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Experiencia del gremio: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Experiencia siguiente del gremio: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Castillo del gremio: %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "ID no registrada."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Contraseña incorrecta."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "La cuenta expiró."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Rechazado del servidor."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
@@ -8398,12 +8405,12 @@ msgstr ""
"equipo de GM."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Cliente es demasiado antiguo."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8413,28 +8420,28 @@ msgstr ""
"Por favor contacta al equipo de GM a través de los foros."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Servidor sobrepoblado."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Este nombre de usuario ya está escogido."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "E-mail incorrecto."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Nombre de usuario borrado permanentemente."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Error desconocido."
@@ -8455,320 +8462,319 @@ msgstr "Conexión al servidor terminada. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr "Error de renombrado del personaje."
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr "Personaje renombrado."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr "No se permite renombrar."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr "El nuevo nombre no está establecido."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr "Personaje no encontrado."
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Fallo al borrar el personaje."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr "No puedes lanzar la habilidad en esta área."
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr "No puedes usar el artículo en esta área."
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr "No puedes equipar. Nivel equivocado."
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr "No puedes usar. Nivel equivocado."
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr "Trabajo en progreso."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr "El mensaje no se pudo enviar, el canal %s no existe."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr "No se puede abrir el cana. El canal %s no existe."
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr "Fuerza %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr "Agilidad %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr "Vitalidad %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr "Inteligencia %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr "Destreza %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr "Suerte %s"
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "¡Desconectado del servidor!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Fuerza"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Agilidad"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Vitalidad"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Inteligencia"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Destreza"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Suerte"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Defensa"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "Ataque M."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "Defensa M."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% de Precisión"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% de Evasión"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% de Críticos"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Retraso de Ataque"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Retraso de Marcha"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Rango de Ataque"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Daño por segundo."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr "Karma"
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr "Comportamiento"
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Autenticación fallida."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "No hay servidores disponibles."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Alguien más está tratando de usar esta cuenta."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Ya hay alguien conectado con esta cuenta."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Speed hack detectado."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr "Servidor lleno."
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr "Lo siento, tú eres menor de edad."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Inicio de sesión duplicada."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr "Muchas conecciones desde la misma IP."
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr "No pagas esta vez."
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr "Pago suspendido."
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr "Pago cambiado."
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr "Desconección forzada por GM."
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr "Rechazo de censura japonesa."
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr "Memoria."
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr "Over characters list."
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr "IP bloqueada."
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr "Conteo inválido de contraseña."
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr "Raza no permitida."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Error de conexión desconocido."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr "Mapa no encontrado"
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "¡Desconectado del servidor!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Fuerza"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Agilidad"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Vitalidad"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Inteligencia"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Destreza"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Suerte"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Defensa"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "Ataque M."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "Defensa M."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% de Precisión"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% de Evasión"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% de Críticos"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Retraso de Ataque"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Retraso de Marcha"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Rango de Ataque"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Daño por segundo."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr "Karma"
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr "Comportamiento"
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8776,27 +8782,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Elemento desconocido"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Cuenta no encontrada. Por favor, vuelve a iniciar sesión."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Contraseña anterior incorrecta."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Nueva contraseña es muy corta."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr "Tienes un nuevo correo de %s, con el asunto %s"
@@ -8874,32 +8880,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s quiere realizar un intercambio contigo, ¿aceptas?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Fuerza:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Agilidad:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Vitalidad:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Inteligencia:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Destreza:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Suerte:"
diff --git a/po/fi.po b/po/fi.po
index 418c937aa..975098e61 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Finnish (http://www.transifex.com/akaras/manaplus/language/"
@@ -53,11 +53,10 @@ msgstr ""
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "Ok"
@@ -544,12 +543,10 @@ msgstr "Vaihdan pelipalvelinta"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Virhe"
@@ -1382,89 +1379,99 @@ msgstr "(oletus)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Kiina (kiina)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Tsekki"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Hollanti (Belgia/fleemi)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Englanti"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Suomi"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Ranska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Saksa"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonesia"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Puola"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japani"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Hollanti (Belgia/fleemi)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Puola"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Portugali"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Portugali (Brasilia)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Venäjä"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Espanja (Kastilli)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr ""
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1738,8 +1745,8 @@ msgstr "Tee kaupat"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Hyökkää"
@@ -3816,7 +3823,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5771,9 +5778,9 @@ msgstr "Pelaa"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Tietoja"
@@ -5860,7 +5867,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8167,176 +8174,176 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "Pääsy evätty. Todennäköisesti palvelimella on liian paljon pelaajia."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Tätä tunnistetta ei voi käyttää."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Tuntematon hahmopalvelinvirhe."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Hahmon luonti epäonnistui. Todennäköisesti hahmon nimi on jo käytössä."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Väärä nimi."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Väärät arvot."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Väärä hiustyyli."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Väärä paikka."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Väärä rotu."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Hahmo poistettu."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Kuiskausta ei voitu lähettää, %s ei ole kirjautuneena sisään."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Kuiskausta ei voitu lähettää, %s ei huomioinut sitä."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Peli"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Lopetuspyyntö evätty!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Killan nimi: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Kiltamestari: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Kiltataso: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Jäseniä linjoilla: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Jäsenmaksimi: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Keskim. taso: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Kiltakokemusta: %d kkp"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Seuraavaan tasoon: %d kkp"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Killan linna: %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "Rekisteröimätön tunniste."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Väärä salasana."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "Tili vanhentunut."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Palvelin ei kelpuuttanut yhteydenottoasi."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
"Pääsysi peliin on pysyvästi estetty. Ole hyvä ja ota yhteyttä GM-tiimiin."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Liian vanha asiakasohjelma."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8346,28 +8353,28 @@ msgstr ""
"Ole hyvä ja ota yhteyttä GM-tiimiin keskustelufoorumin kautta."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Palvelin on täynnä."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Käyttäjätunnus on jo käytössä."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Käyttäjänimi pysyvästi poistettu."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Tuntematon virhe."
@@ -8388,320 +8395,319 @@ msgstr "Yhteys palvelimeen katkaistu. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Hahmon poisto epäonnistui."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Yhteys palvelimeen katkesi!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Voima"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Ketteryys"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Elinvoima"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Älykkyys"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Näppäryys"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Tuuri"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Puolustus"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "T.-hyökkäys"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "T.-puolustus"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Tarkkuus"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Välttö"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% Täysosuma"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Hyökkäysviive"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Kävelyviive"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Hyökkäyskantama"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Vahinko sekunnissa."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Tunnistus epäonnistui."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Palvelimia ei saatavilla."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Joku muu yrittää käyttää tätä tunnusta."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Tällä tunnuksella on jo kirjauduttu."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Nopeusviritelmä havaittu."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Kaksinkertainen sisäänkirjautuminen."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Tuntematon yhteysongelma."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Yhteys palvelimeen katkesi!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Voima"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Ketteryys"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Elinvoima"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Älykkyys"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Näppäryys"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Tuuri"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Puolustus"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "T.-hyökkäys"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "T.-puolustus"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Tarkkuus"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Välttö"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% Täysosuma"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Hyökkäysviive"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Kävelyviive"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Hyökkäyskantama"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Vahinko sekunnissa."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8709,27 +8715,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Tuntematon tavara"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Tunnusta ei löytynyt. Yritä uudelleen."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Vanha salsana on väärä."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Uusi salasana on liian lyhyt."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8807,32 +8813,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s haluaa tehdä kauppaa kanssasi, katsotko tarjouksen?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Voima:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Ketteryys:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Elinvoima:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Älykkyys:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Näppäryys:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Tuuri:"
diff --git a/po/fr.po b/po/fr.po
index 5b310e2f5..f741b9009 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: French (http://www.transifex.com/akaras/manaplus/language/"
@@ -65,11 +65,10 @@ msgstr "Fichier mis en ligne"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "Ok"
@@ -559,12 +558,10 @@ msgstr "Changement de serveur de jeu"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Erreur"
@@ -1409,89 +1406,99 @@ msgstr "(défaut)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Chinois (Chine)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Tchèque"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Néerlandais (Belgique / Flamand)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Anglais"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finlandais"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Français"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Allemand"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonésien"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Italien"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polonais"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japonais"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Néerlandais (Belgique / Flamand)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polonais"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Portugais"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Portugais (Brésilien)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Russe"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Espagnol (Castillan)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr "Suédois (Suède)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Turc"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1765,8 +1772,8 @@ msgstr "Échange"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Attaquer"
@@ -3845,7 +3852,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5818,9 +5825,9 @@ msgstr "Jouer"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Informations"
@@ -5912,7 +5919,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr "%s du familier"
@@ -8225,168 +8232,168 @@ msgid "Npc"
msgstr "Npc"
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "Accès refusé. Il y a probablement trop de joueurs sur le serveur."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Tu ne peux pas utiliser cette identification."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Erreur inconnue du serveur de personnage."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
"Impossible de créer ce personnage. Il est probable que ce nom soit déjà "
"utilisé."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Mauvais nom."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Stats incorrectes."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Cheveux incorrects."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Case incorrecte."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Race incorrecte."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr "Apparence incorrecte."
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Personnage supprimé."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Le message privé n'a pu être envoyé, %s n'est pas en ligne."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Le message privé n'a pu être envoyé, tu es ignoré par %s."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
"Le message privé n'a pas pu être envoyé, tu as été ignoré par tous les "
"joueurs."
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Jeu"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Requête de départ refusée !"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Nom de la guilde : %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Maître de la guilde : %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Niveau de la guilde : %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Membres en ligne : %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Membres maximums : %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Niveau moyen : %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Expérience Groupe : %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Expérience suivante pour la guilde : %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Château de la guilde : %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "Id non enregistrée."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Mauvais mot de passe."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "Le compte a expiré."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Rejeté par le serveur."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
@@ -8394,12 +8401,12 @@ msgstr ""
"MJs."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Client trop ancien."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8409,28 +8416,28 @@ msgstr ""
"Merci de contacter l'équipe des MJs sur le forum."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Serveur surpeuplé."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Ce nom d'utilisateur est déjà utilisé."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "Mail incorrecte."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Le nom de l'utilisateur a été éliminé de façon permanente."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Erreur inconnue."
@@ -8451,320 +8458,319 @@ msgstr "Connexion au serveur terminée. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr "Erreur du renommage du personnage."
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr "Personnage renommé."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr "Renommage non permis."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr "Le nouveau nom n'est pas appliqué."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr "Personnage non trouvé."
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "La suppression du personnage n'a pu s'effectuer."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr "Ne peux pas lancer de compétence dans cette zone."
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr "Ne peux pas utiliser cet objet dans cette zone."
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr "Ne peux pas être équipé. Niveau insuffisant."
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr "Ne peux pas être utilisé. Niveau insuffisant."
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr "Travail en cours."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr "Le message n'a pas pu être envoyé, la chaîne %s n'existe pas."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr "Ne peut pas ouvrir la chaîne. La chaîne %s n'existe pas."
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr "Force %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr "Agilité %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr "Vitalité %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr "Intelligence %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr "Dextérité %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr "Chance %s"
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Vous avez été déconnecté du serveur !"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Force"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Agilité"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Vitalité"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Intelligence"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Dextérité"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Chance"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Défense"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "Attaque M."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "Défense M."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Précision"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Esquive"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% Coup critique"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Temps de l'attaque"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Temps de déplacement"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Portée de l'attaque"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Dégâts par s."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr "Karma"
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr "Manière"
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Échec de l'authentification."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Aucun serveur n'est disponible."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Quelqu'un d'autre essaie d'utiliser ce compte."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Ce compte est déjà connecté."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Speed hack détecté."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr "Serveur plein."
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr "Désolé, vous êtes trop jeune."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Authentification déjà effectuée."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr "Trop de connexions avec la même adresse ip."
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr "Non payé pour le moment."
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr "Paiement suspendu."
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr "Paiement changé."
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr "Paie le mauvais ip."
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr "Payez le serveur."
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr "Déconnexion forcé par le MJ."
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr "Bannir le Japon refusé."
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr "L'autre compte subsiste."
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr "Adresse Ip invalide."
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr "Nombre d'adresses Ip totale."
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr "Nombre d'adresses Ip."
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr "Mémoire."
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr "Pseudonyme disponible."
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr "Adresse Ip avec accès limité."
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr "Au dessus de la liste des personnages."
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr "Adresse Ip bloquée."
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr "Taille du mot de passe invalide."
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr "Race non permise."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Erreur de connexion inconnue."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr "Carte non trouvée"
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Vous avez été déconnecté du serveur !"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Force"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Agilité"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Vitalité"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Intelligence"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Dextérité"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Chance"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Défense"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "Attaque M."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "Défense M."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Précision"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Esquive"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% Coup critique"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Temps de l'attaque"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Temps de déplacement"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Portée de l'attaque"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Dégâts par s."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr "Karma"
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr "Manière"
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8772,27 +8778,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Objet inconnu"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Le compte n'a pas été trouvé. Reconnectes-toi s'il-te-plaît."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Ancien mot de passe incorrect."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Le nouveau mot de passe est trop court."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8870,32 +8876,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s souhaite réaliser un échange avec vous. Acceptez-vous ?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Force :"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Agilité :"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Vitalité :"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Intelligence :"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Dextérité :"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Chance :"
diff --git a/po/id.po b/po/id.po
index fd521bf0c..ecd8eb750 100644
--- a/po/id.po
+++ b/po/id.po
@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Indonesian (http://www.transifex.com/akaras/manaplus/language/"
@@ -57,11 +57,10 @@ msgstr "Data telah terunggah"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "OK"
@@ -548,12 +547,10 @@ msgstr "Mengganti server"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Kesalahan"
@@ -1386,89 +1383,99 @@ msgstr "(dasar)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Cina"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Ceko"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Belgia"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Inggris"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finlandia"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Prancis"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Jerman"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonesia"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Italia"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polandia"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Jepang"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Belgia"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polandia"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Portugis"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Brazil"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Rusia"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Spanyol"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr "Swedia"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Turki"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1742,8 +1749,8 @@ msgstr "Dagang"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Serang"
@@ -3820,7 +3827,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5772,9 +5779,9 @@ msgstr "Main"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr ""
@@ -5861,7 +5868,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8166,175 +8173,175 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Versi yang digunakan sudah kadaluarsa."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8342,28 +8349,28 @@ msgid ""
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Server kepenuhan."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Username dihapus permanen."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr ""
@@ -8384,320 +8391,319 @@ msgstr ""
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr ""
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
-msgid "Authentication failed."
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
-msgid "No servers available."
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
-msgid "Someone else is trying to use this account."
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
-msgid "This account is already logged in."
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
-msgid "Speed hack detected."
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:192
-msgid "Server full."
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
-msgid "Sorry, you are underaged."
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
-msgid "Duplicated login."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:201
-msgid "To many connections from same ip."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
-msgid "Not paid for this time."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
-msgid "Pay suspended."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
-msgid "Pay changed."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
-msgid "Pay wrong ip."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
-msgid "Pay game room."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
-msgid "Disconnect forced by GM."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
-msgid "Ban japan refuse."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
-msgid "Remained other account."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
-msgid "Ip unfair."
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
-msgid "Ip count all."
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
-msgid "Ip count."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
+msgid "Authentication failed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
-msgid "Memory."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
+msgid "No servers available."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
-msgid "Han valid."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
+msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
-msgid "Ip limited access."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
+msgid "This account is already logged in."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
-msgid "Over characters list."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
+msgid "Speed hack detected."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
-msgid "Ip blocked."
+#: src/net/eathena/generalrecv.cpp:111
+msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
-msgid "Invalid password count."
+#: src/net/eathena/generalrecv.cpp:114
+msgid "Sorry, you are underaged."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
-msgid "Not allowed race."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
+msgid "Duplicated login."
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
-msgid "Unknown connection error."
+#: src/net/eathena/generalrecv.cpp:120
+msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:270
-msgid "Map not found"
+#: src/net/eathena/generalrecv.cpp:123
+msgid "Not paid for this time."
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
+#: src/net/eathena/generalrecv.cpp:126
+msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
+#: src/net/eathena/generalrecv.cpp:129
+msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
+#: src/net/eathena/generalrecv.cpp:132
+msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
+#: src/net/eathena/generalrecv.cpp:135
+msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
+#: src/net/eathena/generalrecv.cpp:138
+msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
+#: src/net/eathena/generalrecv.cpp:142
+msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
+#: src/net/eathena/generalrecv.cpp:145
+msgid "Remained other account."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
+#: src/net/eathena/generalrecv.cpp:148
+msgid "Ip unfair."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
+#: src/net/eathena/generalrecv.cpp:151
+msgid "Ip count all."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
+#: src/net/eathena/generalrecv.cpp:154
+msgid "Ip count."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
+#: src/net/eathena/generalrecv.cpp:158
+msgid "Memory."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
+#: src/net/eathena/generalrecv.cpp:161
+msgid "Han valid."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
+#: src/net/eathena/generalrecv.cpp:164
+msgid "Ip limited access."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
+#: src/net/eathena/generalrecv.cpp:167
+msgid "Over characters list."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
+#: src/net/eathena/generalrecv.cpp:170
+msgid "Ip blocked."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
+#: src/net/eathena/generalrecv.cpp:173
+msgid "Invalid password count."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
+#: src/net/eathena/generalrecv.cpp:176
+msgid "Not allowed race."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
+msgid "Unknown connection error."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
+#: src/net/eathena/generalrecv.cpp:189
+msgid "Map not found"
msgstr ""
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8705,27 +8711,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr ""
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8803,32 +8809,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Kekuatan:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Daya/Tenaga Hidup:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Kecerdasan:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Ketangkasan:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr ""
diff --git a/po/it.po b/po/it.po
index 0ca089cb2..7213abd22 100644
--- a/po/it.po
+++ b/po/it.po
@@ -18,7 +18,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Italian (http://www.transifex.com/akaras/manaplus/language/"
@@ -62,11 +62,10 @@ msgstr "File caricato"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "OK"
@@ -554,12 +553,10 @@ msgstr "Cambiamento server del gioco"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Errore"
@@ -1397,89 +1394,99 @@ msgstr "(default)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Cinese (Cina)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Ceco"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Olandese (Belgio/Fiandre)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Inglese"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finlandese"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Francese"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Tedesco"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonesiano"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Italiano"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polacco"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Giapponese"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Olandese (Belgio/Fiandre)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polacco"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Portoghese"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Portoghese (Brasile)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Russo"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Spagnolo (Castigliano)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr ""
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1753,8 +1760,8 @@ msgstr "Commercia"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Attacco"
@@ -3831,7 +3838,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5791,9 +5798,9 @@ msgstr "Gioca"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Informazioni"
@@ -5880,7 +5887,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8189,164 +8196,164 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "Accesso negato. Probabilmente il server è sovraccarico."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "ID non disponibile."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Errore char-server sconosciuto."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Creazione personaggio non riuscita. Il nome è già in uso."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Nome errato."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Statistiche errate."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Taglio capelli errato."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Slot errato."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Razza errata."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Personaggio eliminato."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Il messaggio privato non puo' essere inviato, %s e' offline."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Il messaggio privato e' stato ignorato da %s."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Gioco"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Richiesta di chiusura rifiutata!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Nome Gilda: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Master di Gilda: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Livello Gilda: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Membri Online: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Numero massimo Membri: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Livello Medio: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Punti Exp Gilda: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "ID non registrato."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Password errata."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "Account scaduto."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Rifiutato dal server."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
@@ -8354,12 +8361,12 @@ msgstr ""
"per maggiori informazioni."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Versione del Client obsoleta."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8369,28 +8376,28 @@ msgstr ""
"Contatta il team GM sul forum."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Server affollato."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Username già in uso."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "Email errata."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Username cancellato permanentemente."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Errore sconosciuto."
@@ -8411,320 +8418,319 @@ msgstr "Connessione al server terminata. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Eliminazione personaggio fallita."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Disconnesso dal server!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Forza"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Agilità"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Vitalità"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Intelligenza"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Destrezza"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Fortuna"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Difesa."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "Attacco magico."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "Difesa Magica."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Accuratezza"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Evasione"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% Colpo critico"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Ritardo Attacco"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Ritardo Movimento"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Range d'attacco"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Danno per secondo."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Autenticazione fallita."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Nessun server disponibile."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Qualcun altro sta provando ad usare questo account."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Questo account è già registrato."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Rilevato speed hack."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Accesso duplicato."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Errore di connessione sconosciuto."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Disconnesso dal server!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Forza"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Agilità"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Vitalità"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Intelligenza"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Destrezza"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Fortuna"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Difesa."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "Attacco magico."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "Difesa Magica."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Accuratezza"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Evasione"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% Colpo critico"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Ritardo Attacco"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Ritardo Movimento"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Range d'attacco"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Danno per secondo."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8732,27 +8738,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Oggetto sconosciuto"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "L'account non è stato trovato. Per favore effettua un nuovo login."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "La vecchia password è sbagliata."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "La nuova password è troppo corta."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8830,32 +8836,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s vuole commerciare con te, accetti?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Forza:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Agilità:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Costituzione:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Intelligenza:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Destrezza:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Fortuna:"
diff --git a/po/ja.po b/po/ja.po
index 72456c99d..6014aca76 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Japanese (http://www.transifex.com/akaras/manaplus/language/"
@@ -58,11 +58,10 @@ msgstr ""
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "OK"
@@ -548,12 +547,10 @@ msgstr "ゲームサーバーを変更しています"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "エラー"
@@ -1388,89 +1385,99 @@ msgstr "(デフォルト)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "中国語 (中国)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "チェコ語"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "ドイツ語 (ベルギー/フランドル)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "英語"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "フィンランド語"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "フランス語"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "ドイツ語"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "インドネシア語"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "イタリア語"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "ポーランド語"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "日本語"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "ドイツ語 (ベルギー/フランドル)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "ポーランド語"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "ポルトガル語"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "ポルトガル語 (ブラジル)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "ロシア語"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "スペイン語 (カスティリヤ)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr ""
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1744,8 +1751,8 @@ msgstr "トレード"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "攻撃"
@@ -3822,7 +3829,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5776,9 +5783,9 @@ msgstr "プレイ"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "情報"
@@ -5865,7 +5872,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8172,177 +8179,177 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "アクセスできません。サーバーが混みあっています."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "このIDは使用できません."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "不明なキャラクターサーバーエラー."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
"キャラクター作成に失敗しました。既に使われている名前もしくは無効な文字が含ま"
"れています."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "名前が違います."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "間違った統計."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "間違った髪型."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "間違ったスロット."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "種別が間違っています."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "キャラクターを削除しました."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "%sがオフラインの為ささやきは送れませんでした."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "%sが完全無視設定をしている為ささやきは送れませんでした."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "ゲーム"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "今キャンセルできません!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "ギルド名: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "ギルドマスター: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "ギルドレベル: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "オンラインユーザー: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "最大メンバー数: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "平均レベル: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "ギルドExp: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "次のギルドExpまで: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "ギルド城: %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "未登録なID."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "入力したパスワードは間違っています."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "アカウントの有効期限が切れました."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "サーバーから拒否されました."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr "ゲームから永久追放されました。詳細はGMチームへ連絡して下さい."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "アップデートが必要です."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8352,28 +8359,28 @@ msgstr ""
"GMにご連絡下さい."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "サーバーが混雑しています."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "ユーザ名は既に使用されています."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "メールアドレスが違います."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "ユーザーネームは永久に削除されました."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "不明なエラー."
@@ -8394,320 +8401,319 @@ msgstr "サーバーへの接続が切断されました. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "キャラクター削除に失敗しました."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "サーバーから切断されました!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "攻撃力"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "機敏さ"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "防御力"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "魔力"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "命中率"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "幸運"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Defense"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "M.Attack"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "M.Defense"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Accuracy"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Evade"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% Critical"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "攻撃遅延"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr " 徒歩遅延"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "攻撃距離"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "ダメージ/秒."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "認証に失敗しました."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "利用できるサーバーがありません."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "他からのログインがありました."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "このアカウントは既にログイン中です."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "スピードハックが探知されました."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "重複ログイン."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "不明な接続エラーです."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "サーバーから切断されました!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "攻撃力"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "機敏さ"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "防御力"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "魔力"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "命中率"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "幸運"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Defense"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "M.Attack"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "M.Defense"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Accuracy"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Evade"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% Critical"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "攻撃遅延"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr " 徒歩遅延"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "攻撃距離"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "ダメージ/秒."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8715,27 +8721,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "不明なアイテム"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "アカウントが見つかりませんでした。再度ログインして下さい."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "変更前のパスワードが間違っています."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "新しいパスワードは文字数が足りません."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8813,32 +8819,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%sはあなたにトレードを申請しています?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "攻撃力:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "機敏さ:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "防御力:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "魔力:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "命中率:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "幸運:"
diff --git a/po/manaplus.pot b/po/manaplus.pot
index f26c84902..1ca309859 100644
--- a/po/manaplus.pot
+++ b/po/manaplus.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -51,11 +51,10 @@ msgstr ""
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr ""
@@ -542,12 +541,10 @@ msgstr ""
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr ""
@@ -1379,89 +1376,99 @@ msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
-msgid "Chinese (China)"
+msgid "Catalan"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:49
-msgid "Czech"
+msgid "Chinese (China)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:51
-msgid "English"
+msgid "Czech"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:53
-msgid "Finnish"
+msgid "Dutch (Belgium/Flemish)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:55
-msgid "French"
+msgid "English"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:57
-msgid "German"
+msgid "Finnish"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:59
-msgid "Indonesian"
+msgid "French"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:61
-msgid "Italian"
+msgid "German"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
+msgid "Indonesian"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:65
-msgid "Japanese"
+msgid "Italian"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
+msgid "Japanese"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:69
-msgid "Portuguese"
+msgid "Polish"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:71
-msgid "Portuguese (Brazilian)"
+msgid "Portuguese"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:73
-msgid "Russian"
+msgid "Portuguese (Brazilian)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:75
-msgid "Spanish (Castilian)"
+msgid "Russian"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:77
-msgid "Swedish (Sweden)"
+msgid "Spanish (Castilian)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:79
+msgid "Swedish (Sweden)"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr ""
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1735,8 +1742,8 @@ msgstr ""
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr ""
@@ -3813,7 +3820,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5765,9 +5772,9 @@ msgstr ""
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr ""
@@ -5854,7 +5861,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8161,175 +8168,175 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8337,28 +8344,28 @@ msgid ""
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr ""
@@ -8379,320 +8386,319 @@ msgstr ""
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr ""
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
-msgid "Authentication failed."
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
-msgid "No servers available."
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
-msgid "Someone else is trying to use this account."
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
-msgid "This account is already logged in."
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
-msgid "Speed hack detected."
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:192
-msgid "Server full."
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
-msgid "Sorry, you are underaged."
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
-msgid "Duplicated login."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:201
-msgid "To many connections from same ip."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
-msgid "Not paid for this time."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
-msgid "Pay suspended."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
-msgid "Pay changed."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
-msgid "Pay wrong ip."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
-msgid "Pay game room."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
-msgid "Disconnect forced by GM."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
-msgid "Ban japan refuse."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
-msgid "Remained other account."
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
-msgid "Ip unfair."
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
-msgid "Ip count all."
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
-msgid "Ip count."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
+msgid "Authentication failed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
-msgid "Memory."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
+msgid "No servers available."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
-msgid "Han valid."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
+msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
-msgid "Ip limited access."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
+msgid "This account is already logged in."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
-msgid "Over characters list."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
+msgid "Speed hack detected."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
-msgid "Ip blocked."
+#: src/net/eathena/generalrecv.cpp:111
+msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
-msgid "Invalid password count."
+#: src/net/eathena/generalrecv.cpp:114
+msgid "Sorry, you are underaged."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
-msgid "Not allowed race."
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
+msgid "Duplicated login."
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
-msgid "Unknown connection error."
+#: src/net/eathena/generalrecv.cpp:120
+msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:270
-msgid "Map not found"
+#: src/net/eathena/generalrecv.cpp:123
+msgid "Not paid for this time."
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
+#: src/net/eathena/generalrecv.cpp:126
+msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
+#: src/net/eathena/generalrecv.cpp:129
+msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
+#: src/net/eathena/generalrecv.cpp:132
+msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
+#: src/net/eathena/generalrecv.cpp:135
+msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
+#: src/net/eathena/generalrecv.cpp:138
+msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
+#: src/net/eathena/generalrecv.cpp:142
+msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
+#: src/net/eathena/generalrecv.cpp:145
+msgid "Remained other account."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
+#: src/net/eathena/generalrecv.cpp:148
+msgid "Ip unfair."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
+#: src/net/eathena/generalrecv.cpp:151
+msgid "Ip count all."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
+#: src/net/eathena/generalrecv.cpp:154
+msgid "Ip count."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
+#: src/net/eathena/generalrecv.cpp:158
+msgid "Memory."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
+#: src/net/eathena/generalrecv.cpp:161
+msgid "Han valid."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
+#: src/net/eathena/generalrecv.cpp:164
+msgid "Ip limited access."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
+#: src/net/eathena/generalrecv.cpp:167
+msgid "Over characters list."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
+#: src/net/eathena/generalrecv.cpp:170
+msgid "Ip blocked."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
+#: src/net/eathena/generalrecv.cpp:173
+msgid "Invalid password count."
msgstr ""
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
+#: src/net/eathena/generalrecv.cpp:176
+msgid "Not allowed race."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
+msgid "Unknown connection error."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
+#: src/net/eathena/generalrecv.cpp:189
+msgid "Map not found"
msgstr ""
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8700,27 +8706,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr ""
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8798,32 +8804,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr ""
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr ""
diff --git a/po/nl.po b/po/nl.po
index 2b04faa3f..b46efac24 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Dutch (Belgium) (http://www.transifex.com/akaras/manaplus/"
@@ -55,11 +55,10 @@ msgstr "Bestand is opgeladen"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "Oké"
@@ -546,12 +545,10 @@ msgstr "Wijzigen spelservers"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Fout"
@@ -1385,89 +1382,99 @@ msgstr "(standaard)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
-msgid "Chinese (China)"
+msgid "Catalan"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:49
-msgid "Czech"
+msgid "Chinese (China)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:51
-msgid "English"
+msgid "Czech"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:53
-msgid "Finnish"
+msgid "Dutch (Belgium/Flemish)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:55
-msgid "French"
+msgid "English"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:57
-msgid "German"
-msgstr "Duits"
+msgid "Finnish"
+msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:59
-msgid "Indonesian"
+msgid "French"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:61
-msgid "Italian"
-msgstr ""
+msgid "German"
+msgstr "Duits"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
+msgid "Indonesian"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:65
+msgid "Italian"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japans"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Russisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr ""
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1741,8 +1748,8 @@ msgstr "Handel"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Aanvallen"
@@ -3819,7 +3826,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5777,9 +5784,9 @@ msgstr "Spelen"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Info"
@@ -5866,7 +5873,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8175,177 +8182,177 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
"Toegang geweigerd. Hoogstwaarschijnlijk zijn er teveel spelers op deze "
"server."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Onbekende char-server fout."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Kan personage niet aanmaken. Waarschijnlijk bestaat de naam al."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Verkeerde naam."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Ongeldige statistieken."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Ongeldig haar."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Personage verwijderd."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Spel"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Aanvraag op de stoppen is geweigerd!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Verkeerd wachtwoord."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Geweigered door de server."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Client is te oud."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8355,28 +8362,28 @@ msgstr ""
"Neem aub contact op met het GM team via de forums."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Deze gebruikersnaam is al genomen."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Gebruikersnaam is compleet verwijderd."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Onbekende fout."
@@ -8397,320 +8404,319 @@ msgstr "Verbinding met server beëindigd. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Kon personage niet verwijderen."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "De verbinding met de server werd verbroken!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Kracht"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Behendigheid"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Vitaliteit"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Intelligentie"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Handigheid"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Geluk"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Verdediging"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "M.Aanval"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "M.Verdediging"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Nauwkeurigheid"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Ontwijking"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Aanvalsvertraging"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Wandelvertraging"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Aanvalsbereik"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Authenticatie gefaald."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Geen servers beschikbaar."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Iemand anders is aan het proberen deze account te gebruiken."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Deze account is al ingelogd."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Snelheidshack gedetecteerd."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Verdubbelde login."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Onbekende connectiefout."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "De verbinding met de server werd verbroken!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Kracht"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Behendigheid"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Vitaliteit"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Intelligentie"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Handigheid"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Geluk"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Verdediging"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "M.Aanval"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "M.Verdediging"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Nauwkeurigheid"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Ontwijking"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Aanvalsvertraging"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Wandelvertraging"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Aanvalsbereik"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8718,27 +8724,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Onbekend voorwerp"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Account was niet gevonden. Probeer opnieuw in te loggen aub."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Oud wachtwoord is ongeldig."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Nieuw wachtwoord is te kort."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8816,32 +8822,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s wil met jou handelen, aanvaard je dit?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Sterkte:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Agiliteit:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Vitaliteit:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Intelligentie:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Dexteriteit:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Geluk:"
diff --git a/po/nl_BE.po b/po/nl_BE.po
index 2b04faa3f..b46efac24 100644
--- a/po/nl_BE.po
+++ b/po/nl_BE.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Dutch (Belgium) (http://www.transifex.com/akaras/manaplus/"
@@ -55,11 +55,10 @@ msgstr "Bestand is opgeladen"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "Oké"
@@ -546,12 +545,10 @@ msgstr "Wijzigen spelservers"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Fout"
@@ -1385,89 +1382,99 @@ msgstr "(standaard)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
-msgid "Chinese (China)"
+msgid "Catalan"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:49
-msgid "Czech"
+msgid "Chinese (China)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:51
-msgid "English"
+msgid "Czech"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:53
-msgid "Finnish"
+msgid "Dutch (Belgium/Flemish)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:55
-msgid "French"
+msgid "English"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:57
-msgid "German"
-msgstr "Duits"
+msgid "Finnish"
+msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:59
-msgid "Indonesian"
+msgid "French"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:61
-msgid "Italian"
-msgstr ""
+msgid "German"
+msgstr "Duits"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
+msgid "Indonesian"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:65
+msgid "Italian"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japans"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Russisch"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr ""
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1741,8 +1748,8 @@ msgstr "Handel"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Aanvallen"
@@ -3819,7 +3826,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5777,9 +5784,9 @@ msgstr "Spelen"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Info"
@@ -5866,7 +5873,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8175,177 +8182,177 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
"Toegang geweigerd. Hoogstwaarschijnlijk zijn er teveel spelers op deze "
"server."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Onbekende char-server fout."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Kan personage niet aanmaken. Waarschijnlijk bestaat de naam al."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Verkeerde naam."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Ongeldige statistieken."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Ongeldig haar."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Personage verwijderd."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Spel"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Aanvraag op de stoppen is geweigerd!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Verkeerd wachtwoord."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Geweigered door de server."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Client is te oud."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8355,28 +8362,28 @@ msgstr ""
"Neem aub contact op met het GM team via de forums."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Deze gebruikersnaam is al genomen."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Gebruikersnaam is compleet verwijderd."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Onbekende fout."
@@ -8397,320 +8404,319 @@ msgstr "Verbinding met server beëindigd. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Kon personage niet verwijderen."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "De verbinding met de server werd verbroken!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Kracht"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Behendigheid"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Vitaliteit"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Intelligentie"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Handigheid"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Geluk"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Verdediging"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "M.Aanval"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "M.Verdediging"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Nauwkeurigheid"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Ontwijking"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Aanvalsvertraging"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Wandelvertraging"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Aanvalsbereik"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Authenticatie gefaald."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Geen servers beschikbaar."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Iemand anders is aan het proberen deze account te gebruiken."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Deze account is al ingelogd."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Snelheidshack gedetecteerd."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Verdubbelde login."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Onbekende connectiefout."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "De verbinding met de server werd verbroken!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Kracht"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Behendigheid"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Vitaliteit"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Intelligentie"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Handigheid"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Geluk"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Verdediging"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "M.Aanval"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "M.Verdediging"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Nauwkeurigheid"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Ontwijking"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Aanvalsvertraging"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Wandelvertraging"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Aanvalsbereik"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8718,27 +8724,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Onbekend voorwerp"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Account was niet gevonden. Probeer opnieuw in te loggen aub."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Oud wachtwoord is ongeldig."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Nieuw wachtwoord is te kort."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8816,32 +8822,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s wil met jou handelen, aanvaard je dit?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Sterkte:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Agiliteit:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Vitaliteit:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Intelligentie:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Dexteriteit:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Geluk:"
diff --git a/po/pl.po b/po/pl.po
index e811e48ba..c6abb79b0 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Polish (http://www.transifex.com/akaras/manaplus/language/"
@@ -59,11 +59,10 @@ msgstr "Plik wysłano"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "Ok"
@@ -551,12 +550,10 @@ msgstr "Zmiana serwera"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Błąd"
@@ -1391,89 +1388,99 @@ msgstr "(domyślne)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Chinese (China)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Czech"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Dutch (Belgium/Flemish)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "English"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finnish"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "French"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "German"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonesian"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Włoski"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polish"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japanese"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Dutch (Belgium/Flemish)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polish"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Portuguese"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Portuguese (Brazilian)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Russian"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Spanish (Castilian)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr "Szwedzki (Szwecja)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Turecki"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1747,8 +1754,8 @@ msgstr "Handel"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Atak"
@@ -3827,7 +3834,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5788,9 +5795,9 @@ msgstr "Graj"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Info"
@@ -5882,7 +5889,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr "zwierzątko gracza %s's"
@@ -8193,175 +8200,175 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "Odmowa wstępu. Prawdopodobnie serwer jest przeciążony."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Nie można użyć tego ID."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Nieznany błąd serwera postaci."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Nie udało się stworzyć postaci. Prawdopodobnie imię jest już zajęte."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Nieprawidłowe imię."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Nieprawidłowe staty."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Nieprawidłowe włosy."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Nieprawidłowe miejsce inwentarza."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Nieprawidłowa rasa."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr "Niewłaściwy wygląd."
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Postać skasowana."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Szept nie mógł zostać wysłany, %s jest offline."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Szept nie mógł zostać wysłany, jesteś ignorowany/a przez %s."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Gra"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Żądanie wyjścia odrzucone!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Nazwa gildii: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Przywódca gildii: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Poziom gildii: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Członkowie online: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Maksymalna ilość członków: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Przeciętny poziom: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Punkty doświadczenie gildii: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Punkty doświadczenia do następnego poziomu gildii: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Zamek gildii: %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "Niezarejestrowany ID."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Nieprawidłowe hasło."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "Ważność konta wygasła."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Nie przyjęty przez serwer."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr "Dostałeś/aś dożywotniego bana. Prosimy o kontakt z drużyną GM-ów."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Klient jest zbyt nieaktualny."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8371,28 +8378,28 @@ msgstr ""
"Prosimy o kontakt z drużyną GM-ów przez fora."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Serwer jest przeciążony."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Login jest już w użyciu."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "Nieprawidłowy adres e-mail."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Login pernamentnie usunięty."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Nieznany błąd."
@@ -8413,320 +8420,319 @@ msgstr "Połączenie z serwerem przerwane. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Nie udało się skasować postaci."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr "Siła %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr "Zwinność %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr "Żywotność %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr "Inteligencja %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr "Celność %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr "Szczęście %s"
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Rozłączono z serwerem!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Siła"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Zwinność"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Witalność"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Inteligencja"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Celność"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Szczęście"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Obrona"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "Atak mag."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "Obrona mag."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% celności"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% uników"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% ciosów kryt."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Opóźnienie ataku"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Opóźnienie chodu"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Zasięg ataku"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Obrażenia na sek."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Błąd uwierzytelniania."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Brak dostępnych serwerów."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Ktoś inny próbuje użyć konta."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "To konto jest już zalogowane."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Wykryto speed hack."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Zduplikowany login."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Nieznany błąd połączenia."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Rozłączono z serwerem!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Siła"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Zwinność"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Witalność"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Inteligencja"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Celność"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Szczęście"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Obrona"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "Atak mag."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "Obrona mag."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% celności"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% uników"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% ciosów kryt."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Opóźnienie ataku"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Opóźnienie chodu"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Zasięg ataku"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Obrażenia na sek."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8734,27 +8740,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Nieznany przedmiot"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Konto nie znalezione. Prosimy się przelogować."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Stare hasło nieprawidłowe."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Nowe hasło jest zbyt krótkie."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8832,32 +8838,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s chce handlować z Tobą, zgadzasz się?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Siła:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Szybkość:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Witalność:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Inteligencja:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Celność:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Szczęście:"
diff --git a/po/pt.po b/po/pt.po
index 950fa60b3..63979f5b8 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Portuguese (http://www.transifex.com/akaras/manaplus/language/"
@@ -55,11 +55,10 @@ msgstr ""
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "OK"
@@ -546,12 +545,10 @@ msgstr "Mudando servidores do jogo"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Erro"
@@ -1392,89 +1389,99 @@ msgstr "(padrão)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Chinês (China)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Tcheco"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Holandês (Bélgica / Flandres)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Inglês"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finlandês"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Francês"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Alemão"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonésio"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Italiano"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polonês"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japonês"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Holandês (Bélgica / Flandres)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polonês"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Português"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Português (Brasileiro)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Russo"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Espanhol (castelhano)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Turco"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1748,8 +1755,8 @@ msgstr "Negócios"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Atacar"
@@ -3826,7 +3833,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5784,9 +5791,9 @@ msgstr "Jogar"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Informações"
@@ -5878,7 +5885,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8186,164 +8193,164 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "Acesso negado. Provavelmente há jogadores demais neste servidor."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Não é possível usar este ID."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Erro desconhecido do char-server."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Erro ao criar personagem. Provavelmente o nome já está sendo usado."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Nome errado."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Stats incorretos."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Cabelo incorreto."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Slot incorreto."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Corrida incorreta."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Personagem deletado."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Mensagem privada não pode ser enviada, %s está offline."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Mensagem privada não pode ser enviada, ignorado por %s."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Jogo"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Requisição de saída negada!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Nome Guilda: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Mestre da guilda: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Nível Guilda: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Membros Online: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Max Membros: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Nível médio: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Guilda exp: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Guilda prox. exp: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Castelo Guilda : %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "ID não registrado."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Senha incorreta."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "A conta expirou."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Rejeitado pelo servidor."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
@@ -8351,12 +8358,12 @@ msgstr ""
"algum GM."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Cliente muito antigo."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8366,28 +8373,28 @@ msgstr ""
"Por favor entre em contato com algum GM através do fórum."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Server lotado."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Este nome de usuário já está em uso."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "Email incorreto."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Usuário deletado."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Erro desconhecido."
@@ -8408,320 +8415,319 @@ msgstr "Conexão com o servidor interrompida. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Falha ao deletar personagem."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Você foi desconectado(a) do servidor!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Força"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Agilidade"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Vitalidade"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Inteligência"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Destreza"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Sorte"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Defesa"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "Atq. Mágico"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "Def. Mágica"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Exatidão"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Evasão"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% Críticos"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Atraso de ataque"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Atraso de movimento"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Atraso de alcance"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Dano por seg."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Falha de autenticação."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Servidores indisponíveis."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Outra pessoa está tentando utilizar esta conta."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Existe alguém conectado a esta conta."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Hack de velocidade detectado."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Login duplicado."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Erro de conexão desconhecido."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Você foi desconectado(a) do servidor!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Força"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Agilidade"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Vitalidade"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Inteligência"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Destreza"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Sorte"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Defesa"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "Atq. Mágico"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "Def. Mágica"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Exatidão"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Evasão"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% Críticos"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Atraso de ataque"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Atraso de movimento"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Atraso de alcance"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Dano por seg."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8729,27 +8735,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Item desconhecido"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Conta não encontrada. Por favor, tente novamente."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Senha antiga incorreta."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Nova senha é muito curta."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8827,32 +8833,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s quer negociar com você, você aceita?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Força:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Agilidade:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Vitalidade:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Inteligência:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Destreza:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Sorte:"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 9cbe5234c..155fd8bdf 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/akaras/manaplus/"
@@ -66,11 +66,10 @@ msgstr "Arquivo enviado"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "OK"
@@ -559,12 +558,10 @@ msgstr "Mudando de servidor do jogo"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Erro"
@@ -1404,89 +1401,99 @@ msgstr "(padrão)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Chinês(China)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Tcheco"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Holandês"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Inglês"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finlandês"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Francês"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Alemão"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonésio"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Italiano"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polonês"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japonês"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Holandês"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polonês"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Português"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Português (Brasileiro)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Russo"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Espanhol"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr "Suéco (Suécia)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Turco"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1760,8 +1767,8 @@ msgstr "Negociação"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Atacar"
@@ -3838,7 +3845,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5800,9 +5807,9 @@ msgstr "Jogar"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Informações"
@@ -5894,7 +5901,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr "Animal de estimação de %s"
@@ -8202,165 +8209,165 @@ msgid "Npc"
msgstr "Npc"
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "Acesso negado. Provavelmente há jogadores demais neste servidor."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Não é possível usar este ID."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Erro desconhecido do char-server."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Erro ao criar personagem. Provavelmente o nome já está sendo usado."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Nome errado."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Stats incorretos."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Cabelo incorreto."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Slot incorreto."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Corrida incorreta."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr "Aparência incorreta."
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Personagem deletado."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Mensagem privada não pode ser enviada, %s está offline."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Mensagem privada não pode ser enviada, ignorado por %s."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
"Mensagem privada não pode ser enviada, ignorado por todos os jogadores."
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Jogo"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Requisição de saída negada!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Nome Guilda: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Mestre da guilda: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Nível Guilda: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Membros Online: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Max Membros: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Nível médio: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Guilda exp: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Guilda prox. exp: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Castelo Guilda : %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "ID não registrado."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Senha incorreta."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "A conta expirou."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Rejeitado pelo servidor."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
@@ -8368,12 +8375,12 @@ msgstr ""
"algum GM."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Cliente muito antigo."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8383,28 +8390,28 @@ msgstr ""
"Por favor entre em contato com algum GM através do fórum."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Servidor lotado."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Este nome de usuário já está em uso."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "Email incorreto."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Usuário apagado permanentemente."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Erro desconhecido."
@@ -8425,320 +8432,319 @@ msgstr "Conexão com o servidor interrompida. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr "Erro ao renomear personagem."
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr "Personagem renomeado."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr "Não é permitido renomear."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr "Novo nome não definido."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr "Personagem não encontrado."
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Falha ao deletar personagem."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr "Não é possível conjurar habilidade nesta área."
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr "Não é possível usar item nesta área."
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr "Não é possível equipar. Nível errado."
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr "Não é possível usar. Nível errado."
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr "Trabalho em andamento."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr "Mensagem não pode ser enviada, canal %s não existe."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr "Não pode abrir canal. Canal %s não existe."
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr "Força %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr "Agilidade %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr "Vitalidade %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr "Inteligência %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr "Destreza %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr "Sorte %s"
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Você foi desconectado(a) do servidor!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Força"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Agilidade"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Vitalidade"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Inteligência"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Destreza"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Sorte"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Defesa"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "Ataque M."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "Defesa M."
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Precisão"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Evasão"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% Críticos"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Atraso de ataque"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Atraso de movimento"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Distância de ataque"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Dano por seg."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr "Carma"
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr "Etiqueta"
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Falha de autenticação."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Servidores indisponíveis."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Outra pessoa está tentando utilizar esta conta."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Existe alguém conectado a esta conta."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Hack de velocidade detectado."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr "Servidor lotado."
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr "Desculpe, você está abaixo da idade permitida."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Login duplicado."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr "Muitas conexões do mesmo IP."
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr "Não pago no momento."
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr "Pagamento suspenso."
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr "Pagamento modificado."
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr "IP de pagamento errado."
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr "Pagar sala de jogo."
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr "Desconexão forçada pelo GM."
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr "Ban Japan refuse."
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr "Manteve-se outra conta."
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr "IP hostil."
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr "Contagem geral de IP."
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr "Contagem de IP."
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr "Memória."
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr "HAN válido."
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr "Acesso limitado de IP."
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr "Acima da lista de personagens."
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr "IP bloqueado."
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr "Contagem de senha inválida."
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr "Raça não permitida."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Erro de conexão desconhecido."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr "Mapa não encontrado."
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Você foi desconectado(a) do servidor!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Força"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Agilidade"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Vitalidade"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Inteligência"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Destreza"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Sorte"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Defesa"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "Ataque M."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "Defesa M."
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Precisão"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Evasão"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% Críticos"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Atraso de ataque"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Atraso de movimento"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Distância de ataque"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Dano por seg."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr "Carma"
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr "Etiqueta"
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8746,27 +8752,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Item desconhecido"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Conta não encontrada. Por favor, tente novamente."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Senha antiga incorreta."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Nova senha é muito curta."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8844,32 +8850,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s quer negociar com você, você aceita?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Força:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Agilidade:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Vitalidade:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Inteligência:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Destreza:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Sorte:"
diff --git a/po/ru.po b/po/ru.po
index 7e5d91432..11462891e 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -18,7 +18,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 11:28+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Russian (http://www.transifex.com/akaras/manaplus/language/"
@@ -64,11 +64,10 @@ msgstr "Файл выгружен"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "ОК"
@@ -557,12 +556,10 @@ msgstr "Смена игрового сервера"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Ошибка"
@@ -1400,89 +1397,99 @@ msgstr "(по умолчанию)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Китайский"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Чешский"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Голландский (Бельгийский/Фламандский)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Английский"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Финский"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Французский"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Немецкий"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Индонезийский"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Итальянский"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Польский"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Японский"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Голландский (Бельгийский/Фламандский)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Польский"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Португальский"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Португальский (Бразильский)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Русский"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Испанский (Кастильский)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr "Шведский (Швеция)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Турецкий"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1756,8 +1763,8 @@ msgstr "Торговать"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Атака"
@@ -3834,7 +3841,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5801,9 +5808,9 @@ msgstr "Играть"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Сведения"
@@ -5895,7 +5902,7 @@ msgid "Broken nick detected: "
msgstr "Обнаружен некорректный ник: "
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr "животное %s'а"
@@ -8208,177 +8215,177 @@ msgid "Npc"
msgstr "НИП"
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
"В доступе отказано. Скорее всего, на этом сервере слишком много игроков."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Нельзя использовать данный ID."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Неизвестная ошибка сервера персонажей."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
"Невозможно создать персонажа. Скорее всего, такое имя уже используется."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Некорректное имя."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Некорректные статы."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Некорректный тип волос."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Некорректный слот."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Неправильная раса."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr "Неправильная внешность."
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Персонаж удален."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Сообщение не может быть отправлено, %s оффлайн."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Приватное сообщение не может быть послано: %s игнорирует его."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr "Приватное сообщение не может быть послано. Вас игнорируют все игроки."
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Игра"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Запрос на выход отклонен!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Имя гильдии: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Мастер гильдии: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Уровень гильдии: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Пользователей онлайн: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Макс. членов: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Средний уровень: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Опыт гильдии: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Нужно опыта до следующего уровня: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Замки гильдии: %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "Незарегистрированный ID."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Неверный пароль."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "Учетная запись просрочена."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Получен отказ от сервера."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr "Вас навсегда забанили. Пожалуйста, свяжитесь с командой ГМ-ов."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Клиент устарел."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8387,28 +8394,28 @@ msgstr ""
"Вас забанили до %s. Пожалуйста, свяжитесь с командой ГМ-ов через форум."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Сервер переполнен."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Это имя пользователя уже занято."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "Неправильный email."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Пользователь удален."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Неизвестная ошибка."
@@ -8429,320 +8436,319 @@ msgstr "Подключение к серверу прервано. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr "Ошибка изменения имени персонажа."
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr "Персонаж переименован."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr "Изменение имени запрещено."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr "Новое имя не указано."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr "Персонаж не найден."
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Невозможно удалить персонажа."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr "Здесь невозможно выполнить заклинание."
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr "Здесь невозможно использовать предмет."
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr "Невозможно одеть, некорректный уровень."
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr "Невозможно использовать, некорректный уровень."
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr "Идет работа."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr "Сообщение не может быть отправлено, т.к. канал %s не существует."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr "Не возможно открыть канал. Канал %s не существует."
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr "Сила (str) %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr "Выносливость (agi) %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr "Живучесть (vit) %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr "Интеллект (int) %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr "Ловкость (dex) %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr "Удача (luk) %s"
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Отключено от сервера!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Сила (str)"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Выносливость (agi)"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Живучесть (vit)"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Интеллект (int)"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Ловкость (dex)"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Удача (luk)"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Защита"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "Маг. Атака"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "Маг.Защита"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Точности"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Уклонения"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% Критический удар"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Задержка атаки"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Задержка движения"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Зона атаки"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Урон в сек."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr "Карма"
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr "Манеры"
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Ошибка авторизации."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Нет доступных серверов."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Кто-то еще пытается воспользоваться данным аккаунтом."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Этот аккаунт уже в сети."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Обнаружен взлом скорости."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr "Сервер переполнен."
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr "К сожалению вы несовершеннолетний."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Двойная попытка подключения."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr "Слишком много соединений с одного адреса."
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr "Не оплачено."
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr "Оплата приостановлена."
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr "Оплата изменена."
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr "Оплачен другой адрес."
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr "Оплатите за комнату."
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr "ГМ отключил вас от сервера."
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr "Японский бан."
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr "Остались другие аккаунты."
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr "Неправильный адрес."
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr "Превышение колчиства соединений с одного адреса."
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr "Превышение колчиства соединений с одного адреса."
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr "Память."
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr "Корректный han."
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr "Ограничение по ip адресу."
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr "Слишком много персонажей."
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr "IP-адрес заблокирован."
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr "Некорректное число символов в пароле."
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr "Некорректная расса."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Неизвестная ошибка подключения."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr "Карта не найдена"
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Отключено от сервера!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Сила (str)"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Выносливость (agi)"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Живучесть (vit)"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Интеллект (int)"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Ловкость (dex)"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Удача (luk)"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Защита"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "Маг. Атака"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "Маг.Защита"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Точности"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Уклонения"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% Критический удар"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Задержка атаки"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Задержка движения"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Зона атаки"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Урон в сек."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr "Карма"
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr "Манеры"
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr "Осталось %s арендного времени для %s."
@@ -8750,27 +8756,27 @@ msgstr "Осталось %s арендного времени для %s."
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Неизвестный предмет"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Учетная запись не найдена. Попробуйте снова."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Старый пароль указан неверно."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Новый пароль слишком короткий."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr "Вам пришло сообщение от %s и заголовком %s"
@@ -8848,32 +8854,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s хочет торговать с Вами, Вы принимаете предложение?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Сила (str):"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Выносливость (agi):"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Живучесть (vit):"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Интеллект (int):"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Ловкость (dex):"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Удача (luk):"
diff --git a/po/sv.po b/po/sv.po
index 8612e37d5..4610b20e3 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Swedish (Sweden) (http://www.transifex.com/akaras/manaplus/"
@@ -52,11 +52,10 @@ msgstr ""
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "OK"
@@ -543,12 +542,10 @@ msgstr "Ändrar spelserver"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Error"
@@ -1383,89 +1380,99 @@ msgstr "(standard)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Kinesiska (Du vet Kina)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Tjeckiska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Nederländska (Belgien / Flandern)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Engelska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Franska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Tyska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonesiska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Italienska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polska"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japanska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Nederländska (Belgien / Flandern)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Portugisiska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Portugisiska (brasilianska)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Ryska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Spanska (Castilian)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Turkiska"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1739,8 +1746,8 @@ msgstr "Trade"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Attackera"
@@ -3817,7 +3824,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5776,9 +5783,9 @@ msgstr "Spela"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Info"
@@ -5870,7 +5877,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8181,178 +8188,178 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "Åtkomst nekad. Trolig orsak; det är för många spelare på denna server."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Kan inte använda detta ID."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
"Misslyckades att skapa karaktär. Troligen på grund av att namnet redan är "
"taget."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Fel namn."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Icke korrekta stats."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Icke korrekt hår."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Icke korrekt slot."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Felaktig race."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr "Icke korrekt utseende."
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Karaktär raderad."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Viskning kunde inte sändas, %s är offline."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Viskning kunde inte sändas, ignorerad av %s."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Spel"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Efterfrågning att avsluta nekad!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Guild-namn: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Guild master: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Guild level: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Medlemmar online: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Maximalt antal medlemmar: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Medel-level: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Guild exp: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Guild nästa exp: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Guild slott: %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "Oregistrerat ID."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Fel lösenord."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "Kotot har löpt ut ur tid."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Nekad från servern."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
"Du har blivit permanent bannad från spelet. Vänligen kontakta GM-teamet."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Klienten är uråldrig."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8362,28 +8369,28 @@ msgstr ""
"teamet via forumet."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Servern är överbefolkad."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Detta användarnamn är redan taget."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "Felaktig epost."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Användarnamnet är permanent raderat."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Okänt fel."
@@ -8404,320 +8411,319 @@ msgstr "Anslutningen till servern avslutad. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Misslyckades att radera karaktär."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr "Strength %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr "Agility %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr "Vitality %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr "Intelligence %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr "Dexterity %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr "Luck %s"
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Du blev frånkopplad från servern!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Strength"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Agility"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Vitality"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Intelligence"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Dexterity"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Luck"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Defense"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "M.Attack"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "M.Defense"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Accuracy"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Evade"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% Critical Hit"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Attack Delay"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Walk Delay"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Attack Range"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Damage per sec."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Inga servrar tillgängliga."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Någon annan försöker använda detta konto."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Detta konto är redan inloggat."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Speed hack upptäckt."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Duplicerad Inloggning."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Okänt anslutningsfel."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Du blev frånkopplad från servern!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Strength"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Agility"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Vitality"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Intelligence"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Dexterity"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Luck"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Defense"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "M.Attack"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "M.Defense"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Accuracy"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Evade"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% Critical Hit"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Attack Delay"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Walk Delay"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Attack Range"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Damage per sec."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8725,27 +8731,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Okänt item"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Kontot hittades inte. Vänligen logga ut och logga in igen."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Gamla lösenordet är felaktigt."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Det nya lösenordet är för kort."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8823,32 +8829,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s vill trade:a med dig, accepterar du?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Strength:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Agility:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Vitality:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Intelligence:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Dexterity:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Luck:"
diff --git a/po/sv_SE.po b/po/sv_SE.po
index 8612e37d5..4610b20e3 100644
--- a/po/sv_SE.po
+++ b/po/sv_SE.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Swedish (Sweden) (http://www.transifex.com/akaras/manaplus/"
@@ -52,11 +52,10 @@ msgstr ""
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "OK"
@@ -543,12 +542,10 @@ msgstr "Ändrar spelserver"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Error"
@@ -1383,89 +1380,99 @@ msgstr "(standard)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Kinesiska (Du vet Kina)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Tjeckiska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Nederländska (Belgien / Flandern)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Engelska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Franska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Tyska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonesiska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Italienska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polska"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japanska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Nederländska (Belgien / Flandern)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Portugisiska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Portugisiska (brasilianska)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Ryska"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Spanska (Castilian)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr ""
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Turkiska"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1739,8 +1746,8 @@ msgstr "Trade"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Attackera"
@@ -3817,7 +3824,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5776,9 +5783,9 @@ msgstr "Spela"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Info"
@@ -5870,7 +5877,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8181,178 +8188,178 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "Åtkomst nekad. Trolig orsak; det är för många spelare på denna server."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Kan inte använda detta ID."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
"Misslyckades att skapa karaktär. Troligen på grund av att namnet redan är "
"taget."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Fel namn."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Icke korrekta stats."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Icke korrekt hår."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Icke korrekt slot."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Felaktig race."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr "Icke korrekt utseende."
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Karaktär raderad."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Viskning kunde inte sändas, %s är offline."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Viskning kunde inte sändas, ignorerad av %s."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Spel"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Efterfrågning att avsluta nekad!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Guild-namn: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Guild master: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Guild level: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Medlemmar online: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Maximalt antal medlemmar: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Medel-level: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Guild exp: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Guild nästa exp: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Guild slott: %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "Oregistrerat ID."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Fel lösenord."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "Kotot har löpt ut ur tid."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Nekad från servern."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
"Du har blivit permanent bannad från spelet. Vänligen kontakta GM-teamet."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Klienten är uråldrig."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8362,28 +8369,28 @@ msgstr ""
"teamet via forumet."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Servern är överbefolkad."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Detta användarnamn är redan taget."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "Felaktig epost."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Användarnamnet är permanent raderat."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Okänt fel."
@@ -8404,320 +8411,319 @@ msgstr "Anslutningen till servern avslutad. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Misslyckades att radera karaktär."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr "Strength %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr "Agility %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr "Vitality %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr "Intelligence %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr "Dexterity %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr "Luck %s"
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Du blev frånkopplad från servern!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Strength"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Agility"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Vitality"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Intelligence"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Dexterity"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Luck"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Defense"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "M.Attack"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "M.Defense"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "% Accuracy"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "% Evade"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "% Critical Hit"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Attack Delay"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Walk Delay"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Attack Range"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Damage per sec."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Inga servrar tillgängliga."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Någon annan försöker använda detta konto."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Detta konto är redan inloggat."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Speed hack upptäckt."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Duplicerad Inloggning."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Okänt anslutningsfel."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Du blev frånkopplad från servern!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Strength"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Agility"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Vitality"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Intelligence"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Dexterity"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Luck"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Defense"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "M.Attack"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "M.Defense"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "% Accuracy"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "% Evade"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "% Critical Hit"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Attack Delay"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Walk Delay"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Attack Range"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Damage per sec."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8725,27 +8731,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Okänt item"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Kontot hittades inte. Vänligen logga ut och logga in igen."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Gamla lösenordet är felaktigt."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Det nya lösenordet är för kort."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8823,32 +8829,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s vill trade:a med dig, accepterar du?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Strength:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Agility:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Vitality:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Intelligence:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Dexterity:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Luck:"
diff --git a/po/tr.po b/po/tr.po
index 7bb471e9f..ffcec3bec 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Turkish (http://www.transifex.com/akaras/manaplus/language/"
@@ -54,11 +54,10 @@ msgstr "Dosya yüklendi"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "TAMAM"
@@ -545,12 +544,10 @@ msgstr "Oyun sunucusu değiştiriliyor"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Hata"
@@ -1386,89 +1383,99 @@ msgstr "(varsayılan)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Chinese (China)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Czech"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Dutch (Belgium/Flemish)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "English"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Finnish"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "French"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "German"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Indonesian"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Italian"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Polish"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Japanese"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Dutch (Belgium/Flemish)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Polish"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Portuguese"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Portuguese (Brazilian)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Russian"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Spanish (Castilian)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr "Swedish (Sweden)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Türkçe"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1742,8 +1749,8 @@ msgstr "Takas"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Saldırı"
@@ -3821,7 +3828,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5775,9 +5782,9 @@ msgstr "Oyna"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Bilgi"
@@ -5864,7 +5871,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8173,175 +8180,175 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Yanlış yer."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Fısıltı gönderilemedi, %s tarafından görmezden gelindi."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "Hesap silinmiş."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8349,28 +8356,28 @@ msgid ""
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Bilinemeyen hata."
@@ -8391,320 +8398,319 @@ msgstr ""
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr ""
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Güç"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Çeviklik"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Yaşam Gücü"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Zeka"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Maharet"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Şans"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Başka birisi bu hesabı kullanmaya çalışıyor."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Zaten bu hesaba bağlanıldı."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Güç"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Çeviklik"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Yaşam Gücü"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Zeka"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Maharet"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Şans"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8712,27 +8718,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Bilinmeyen nesne"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Hesap bulunamadı. Lütfen tekrar giriş yapın."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Eski şifre hatalı."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr ""
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8810,32 +8816,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s sana takas isteği yolladı, kabul ediyor musun?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Güç:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Çeviklik:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Yaşam Gücü:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Zeka:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Maharet:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr ""
diff --git a/po/uk.po b/po/uk.po
index 013c8c621..dd24757f9 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Ukrainian (http://www.transifex.com/akaras/manaplus/language/"
@@ -55,11 +55,10 @@ msgstr "Файл завантажено"
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "ОК"
@@ -549,12 +548,10 @@ msgstr "Зміна ігрового серверу..."
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "Помилка"
@@ -1390,89 +1387,99 @@ msgstr "(за замовчуванням)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
+msgid "Catalan"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:49
msgid "Chinese (China)"
msgstr "Китайська (Китай)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:49
+#: src/gui/models/langlistmodel.h:51
msgid "Czech"
msgstr "Чеська"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:51
+#: src/gui/models/langlistmodel.h:53
+msgid "Dutch (Belgium/Flemish)"
+msgstr "Данська (Бельгійська/Фламандська)"
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:55
msgid "English"
msgstr "Англійська"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:53
+#: src/gui/models/langlistmodel.h:57
msgid "Finnish"
msgstr "Фінська"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:55
+#: src/gui/models/langlistmodel.h:59
msgid "French"
msgstr "Французька"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:57
+#: src/gui/models/langlistmodel.h:61
msgid "German"
msgstr "Німецька"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:59
+#: src/gui/models/langlistmodel.h:63
msgid "Indonesian"
msgstr "Індонезійська"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:61
+#: src/gui/models/langlistmodel.h:65
msgid "Italian"
msgstr "Італійська"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
-msgstr "Польська"
-
-#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:65
+#: src/gui/models/langlistmodel.h:67
msgid "Japanese"
msgstr "Японська"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
-msgstr "Данська (Бельгійська/Фламандська)"
+#: src/gui/models/langlistmodel.h:69
+msgid "Polish"
+msgstr "Польська"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:69
+#: src/gui/models/langlistmodel.h:71
msgid "Portuguese"
msgstr "Португальська"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:71
+#: src/gui/models/langlistmodel.h:73
msgid "Portuguese (Brazilian)"
msgstr "Португальська (Бразильська)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:73
+#: src/gui/models/langlistmodel.h:75
msgid "Russian"
msgstr "Російська"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:75
+#: src/gui/models/langlistmodel.h:77
msgid "Spanish (Castilian)"
msgstr "Іспанська (Кастильська)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:77
+#: src/gui/models/langlistmodel.h:79
msgid "Swedish (Sweden)"
msgstr "Швецька (Швеція)"
#. TRANSLATORS: language
-#: src/gui/models/langlistmodel.h:79
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr "Турецька"
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1746,8 +1753,8 @@ msgstr "Торгівля"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "Атака"
@@ -3824,7 +3831,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5783,9 +5790,9 @@ msgstr "Увійти"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "Відомості"
@@ -5877,7 +5884,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr "%s'ів улюбленець"
@@ -8186,175 +8193,175 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "Доступ заборонений. Скоріше за все, зараз не ньому забагато гравців."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr "Неможливо вжити цей ID."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr "Невідома помилка серверу персонажів."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Неможливо створити персонажа. Скоріше за все, хтось вже так назвався."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "Некоректне ім'я."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "Невірні характеристики."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "Невірна зачіска."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr "Невірний слот."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr "Невірна раса."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr "Невірний вигляд."
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "Персонаж видалено."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "Неможливо надіслати приватне повідомлення, %s офлайн."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr "Неможливо надіслати приватне повідомлення, %s встановив ігнорування."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr "Неможливо надіслати приватне повідомлення, вас ігнорують всі гравці."
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "Назва"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr "Позив до виходу відхилено!"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr "Назва гільдії: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "Володар гільдії: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "Рівень гільдії: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "Членів онлайн: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "Максимум членів: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "Середній рівень: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "Досвід гільдії: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "Досвід до наступного рівня: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr "Замок гільдії: %s"
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "Не зареєстрований ID."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "Неправильний пароль."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "Акаунт прострочено."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr "Отримана відмова від серверу."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr "Вас було навіки забанено. Пишіть листи команді ГМ'ів."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "Клієнт застарий."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8364,28 +8371,28 @@ msgstr ""
"Звертайтесь до команди ГМ'ів на форумі."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr "Сервер перенаселено."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr "Цей логін все є чиїмось."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr "Некоректна електронна пошта."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr "Користувач стертий."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "Невстановлена помилка."
@@ -8406,320 +8413,319 @@ msgstr "З'єднання з сервером припинене. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr "Помилка переіменування персонажу."
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr "Персонаж переіменовано."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr "Переіменування не дозволене."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr "Нове ім'я не вжито."
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr "Персонаж не знайдено."
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "Неможливо видалити персонаж."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr "Неможливо використати вміння у цій місцевості."
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr "Неможливо використати цей предмет у цій місцевості."
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr "Неможливо вдягнути. Неправильний рівень."
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr "Неможливо вжити. Неправильний рівень."
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr "Чекаємо на результат."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr "Неможливо відправити повідомлення, канал %s не існує."
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr "Неможливо відкрити канал, канал %s не існує."
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr "Сила %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr "Спритність %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr "Витривалість %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr "Інтелект %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr "Вправність %s"
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr "Талан %s"
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "Відключений від серверу!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "Сила"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "Спритність"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "Витривалість"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "Інтелект"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "Вправність"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "Талан"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "Захист"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr "Маг. напад"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr "Маг. захист"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "Точність (%)"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "Ухиляння (%)"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "Критичний удар (%)"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "Затримка атаки"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "Затримка руху"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "Дальність атаки"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "Ушкодження за секунду."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr "Карма"
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr "Манери"
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "Аутентифікація не вдалася."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "Немає доступних серверів."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "Хтось інший намагається використати цей акаунт."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "Цей акаунт все знаходиться у грі."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "Виявлено перевищення швидкісних лімітів."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr "Сервер повний."
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr "Даруйте, але в вас недостатньо віку."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "Дубльований логін."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr "Забагато з'єднань з того ж самого IP."
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr "Не оплачуване."
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr "Оплату призупинено."
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr "Оплату змінено."
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr "Оплачувано інший IP."
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr "Оплатіть кімнату."
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr "ГМ відключив вас від серверу."
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr "Японський бан."
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr "Залишились інші акаунти."
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr "Неправильна адреса."
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr "Перевищення з'єднань з однієї адреси."
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr "Перевищення з'єднань з однієї адреси."
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr "Пам'ять."
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr "Коректний HAN."
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr "Обмеження IP доступу."
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr "Забагато персонажів."
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr "IP-адреса заблокована."
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr "Некоректний розмір паролю."
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr "Недозволена раса."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "Невідома помилка з'єднання."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr "Мапу не знайдено."
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "Відключений від серверу!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "Сила"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "Спритність"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "Витривалість"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "Інтелект"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "Вправність"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "Талан"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "Захист"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr "Маг. напад"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr "Маг. захист"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "Точність (%)"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "Ухиляння (%)"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "Критичний удар (%)"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "Затримка атаки"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "Затримка руху"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "Дальність атаки"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "Ушкодження за секунду."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr "Карма"
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr "Манери"
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8727,27 +8733,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "Невідомий предмет"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "Акаунт не знайдено. Будь ласка, спробуйте знов."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "Старий пароль некоректний."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "Новий пароль замалий."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8825,32 +8831,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s бажає торгуватись, чи ви згодні?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "Сила:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "Спритність:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "Витривалість:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "Інтелект:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "Вправність:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "Талан:"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 2dd897db0..9f95e10cc 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"POT-Creation-Date: 2015-08-28 01:56+0300\n"
"PO-Revision-Date: 2015-08-23 09:14+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/akaras/manaplus/"
@@ -59,11 +59,10 @@ msgstr ""
#: src/gui/windows/itemamountwindow.cpp:179 src/gui/windows/quitdialog.cpp:66
#: src/gui/windows/registerdialog.cpp:241 src/gui/windows/socialwindow.cpp:524
#: src/gui/windows/textdialog.cpp:48 src/gui/windows/unregisterdialog.cpp:149
-#: src/net/ea/charserverhandler.cpp:145 src/net/ea/charserverhandler.cpp:170
-#: src/net/ea/gamehandler.cpp:85 src/net/eathena/charserverhandler.cpp:614
-#: src/net/eathena/charserverhandler.cpp:649
-#: src/net/eathena/charserverhandler.cpp:685
-#: src/net/tmwa/charserverhandler.cpp:477
+#: src/net/ea/charserverrecv.cpp:110 src/net/ea/charserverrecv.cpp:136
+#: src/net/ea/gamerecv.cpp:72 src/net/eathena/charserverrecv.cpp:377
+#: src/net/eathena/charserverrecv.cpp:412
+#: src/net/eathena/charserverrecv.cpp:440 src/net/tmwa/charserverrecv.cpp:283
msgid "OK"
msgstr "确定"
@@ -549,12 +548,10 @@ msgstr "正在更改游戏服务器"
#: src/gui/windows/charselectdialog.cpp:324
#: src/gui/windows/editserverdialog.cpp:211
#: src/gui/windows/registerdialog.cpp:241
-#: src/gui/windows/unregisterdialog.cpp:146
-#: src/net/ea/charserverhandler.cpp:142
-#: src/net/eathena/charserverhandler.cpp:589
-#: src/net/eathena/charserverhandler.cpp:593
-#: src/net/eathena/charserverhandler.cpp:681
-#: src/net/tmwa/charserverhandler.cpp:473
+#: src/gui/windows/unregisterdialog.cpp:146 src/net/ea/charserverrecv.cpp:107
+#: src/net/eathena/charserverrecv.cpp:350
+#: src/net/eathena/charserverrecv.cpp:354
+#: src/net/eathena/charserverrecv.cpp:436 src/net/tmwa/charserverrecv.cpp:279
msgid "Error"
msgstr "错误"
@@ -1386,89 +1383,99 @@ msgstr "(默认)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:47
-msgid "Chinese (China)"
+msgid "Catalan"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:49
-msgid "Czech"
+msgid "Chinese (China)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:51
-msgid "English"
+msgid "Czech"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:53
-msgid "Finnish"
+msgid "Dutch (Belgium/Flemish)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:55
-msgid "French"
+msgid "English"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:57
-msgid "German"
+msgid "Finnish"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:59
-msgid "Indonesian"
+msgid "French"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:61
-msgid "Italian"
+msgid "German"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:63
-msgid "Polish"
+msgid "Indonesian"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:65
-msgid "Japanese"
+msgid "Italian"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:67
-msgid "Dutch (Belgium/Flemish)"
+msgid "Japanese"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:69
-msgid "Portuguese"
+msgid "Polish"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:71
-msgid "Portuguese (Brazilian)"
+msgid "Portuguese"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:73
-msgid "Russian"
+msgid "Portuguese (Brazilian)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:75
-msgid "Spanish (Castilian)"
+msgid "Russian"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:77
-msgid "Swedish (Sweden)"
+msgid "Spanish (Castilian)"
msgstr ""
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:79
+msgid "Swedish (Sweden)"
+msgstr ""
+
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:81
msgid "Turkish"
msgstr ""
+#. TRANSLATORS: language
+#: src/gui/models/langlistmodel.h:83
+msgid "Ukraine"
+msgstr ""
+
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
@@ -1742,8 +1749,8 @@ msgstr "交易"
#. TRANSLATORS: player stat
#: src/gui/popups/popupmenu.cpp:164 src/gui/popups/popupmenu.cpp:286
#: src/gui/popups/popupmenu.cpp:814 src/gui/widgets/skillinfo.cpp:109
-#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
-#: src/net/tmwa/generalhandler.cpp:359
+#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:285
+#: src/net/tmwa/generalhandler.cpp:314
msgid "Attack"
msgstr "攻击"
@@ -3820,7 +3827,7 @@ msgid ""
"Here you can specify some extra words which will also cause highlighting. "
"Use comma to separate words.\n"
"\n"
-"Note: frequent hilights are annoying - use it with caution."
+"Note: frequent highlights are annoying - use it with caution."
msgstr ""
#. TRANSLATORS: settings option
@@ -5772,9 +5779,9 @@ msgstr "开始"
#. TRANSLATORS: info message header
#. TRANSLATORS: info header
#. TRANSLATORS: info message
-#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverhandler.cpp:166
-#: src/net/eathena/charserverhandler.cpp:610
-#: src/net/eathena/charserverhandler.cpp:646
+#: src/gui/windows/charselectdialog.cpp:79 src/net/ea/charserverrecv.cpp:132
+#: src/net/eathena/charserverrecv.cpp:373
+#: src/net/eathena/charserverrecv.cpp:409
msgid "Info"
msgstr "信息"
@@ -5861,7 +5868,7 @@ msgid "Broken nick detected: "
msgstr ""
#. TRANSLATORS: owners pet name. For example: 4144's pet
-#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/pethandler.cpp:173
+#: src/gui/windows/chatwindow.cpp:1755 src/net/eathena/petrecv.cpp:69
#, c-format
msgid "%s's pet"
msgstr ""
@@ -8166,175 +8173,175 @@ msgid "Npc"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:87
+#: src/net/ea/charserverrecv.cpp:52
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "访问被拒绝。最有可能的,也有太多的球员,在此服务器上."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:92
+#: src/net/ea/charserverrecv.cpp:57
msgid "Cannot use this ID."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:96
+#: src/net/ea/charserverrecv.cpp:61
msgid "Unknown char-server failure."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:112
+#: src/net/ea/charserverrecv.cpp:77
msgid "Failed to create character. Most likely the name is already taken."
msgstr "创建角色失败。很可能名称已被占用."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:117 src/net/ea/loginhandler.cpp:249
-#: src/net/eathena/loginhandler.cpp:233
+#: src/net/ea/charserverrecv.cpp:82 src/net/ea/loginrecv.cpp:162
+#: src/net/eathena/loginrecv.cpp:102
msgid "Wrong name."
msgstr "错误的名称."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:121
+#: src/net/ea/charserverrecv.cpp:86
msgid "Incorrect stats."
msgstr "不正确的统计."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:125
+#: src/net/ea/charserverrecv.cpp:90
msgid "Incorrect hair."
msgstr "不正确的头发."
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:129
+#: src/net/ea/charserverrecv.cpp:94
msgid "Incorrect slot."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:133
+#: src/net/ea/charserverrecv.cpp:98
msgid "Incorrect race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/charserverhandler.cpp:137
+#: src/net/ea/charserverrecv.cpp:102
msgid "Incorrect look."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/ea/charserverhandler.cpp:168
+#: src/net/ea/charserverrecv.cpp:134
msgid "Character deleted."
msgstr "角色已删除."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:115
+#: src/net/ea/chatrecv.cpp:94
#, c-format
msgid "Whisper could not be sent, %s is offline."
msgstr "密语无法发送,%s离线."
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:125
+#: src/net/ea/chatrecv.cpp:104
#, c-format
msgid "Whisper could not be sent, ignored by %s."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/ea/chathandler.cpp:135
+#: src/net/ea/chatrecv.cpp:114
msgid "Whisper could not be sent, you ignored by all players."
msgstr ""
#. TRANSLATORS: error header
-#: src/net/ea/gamehandler.cpp:81
+#: src/net/ea/gamerecv.cpp:68
msgid "Game"
msgstr "游戏"
#. TRANSLATORS: error message
-#: src/net/ea/gamehandler.cpp:83
+#: src/net/ea/gamerecv.cpp:70
msgid "Request to quit denied!"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:121
+#: src/net/ea/guildrecv.cpp:115
#, c-format
msgid "Guild name: %s"
msgstr ""
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:124
+#: src/net/ea/guildrecv.cpp:118
#, c-format
msgid "Guild master: %s"
msgstr "工会会长: %s"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:127
+#: src/net/ea/guildrecv.cpp:121
#, c-format
msgid "Guild level: %d"
msgstr "工会等级: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:130
+#: src/net/ea/guildrecv.cpp:124
#, c-format
msgid "Online members: %d"
msgstr "在线玩家: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:133
+#: src/net/ea/guildrecv.cpp:127
#, c-format
msgid "Max members: %d"
msgstr "最大成员: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:136
+#: src/net/ea/guildrecv.cpp:130
#, c-format
msgid "Average level: %d"
msgstr "平均等级: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:139
+#: src/net/ea/guildrecv.cpp:133
#, c-format
msgid "Guild exp: %d"
msgstr "工会经验值: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:142
+#: src/net/ea/guildrecv.cpp:136
#, c-format
msgid "Guild next exp: %d"
msgstr "工会下一级所需经验: %d"
#. TRANSLATORS: guild info message
-#: src/net/ea/guildhandler.cpp:145
+#: src/net/ea/guildrecv.cpp:139
#, c-format
msgid "Guild castle: %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:209 src/net/eathena/loginhandler.cpp:188
+#: src/net/ea/loginrecv.cpp:122 src/net/eathena/loginrecv.cpp:57
msgid "Unregistered ID."
msgstr "未注册的ID."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:213 src/net/eathena/loginhandler.cpp:192
+#: src/net/ea/loginrecv.cpp:126 src/net/eathena/loginrecv.cpp:61
msgid "Wrong password."
msgstr "错误的密码."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:218 src/net/eathena/loginhandler.cpp:197
+#: src/net/ea/loginrecv.cpp:131 src/net/eathena/loginrecv.cpp:66
msgid "Account expired."
msgstr "账户过期失效."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:222 src/net/eathena/loginhandler.cpp:201
+#: src/net/ea/loginrecv.cpp:135 src/net/eathena/loginrecv.cpp:70
msgid "Rejected from server."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:226 src/net/eathena/loginhandler.cpp:205
+#: src/net/ea/loginrecv.cpp:139 src/net/eathena/loginrecv.cpp:74
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr "您已被永久禁止进入游戏。请联系GM团队."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:231 src/net/eathena/loginhandler.cpp:210
+#: src/net/ea/loginrecv.cpp:144 src/net/eathena/loginrecv.cpp:79
msgid "Client too old."
msgstr "客户端太旧."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:235 src/net/eathena/loginhandler.cpp:214
+#: src/net/ea/loginrecv.cpp:148 src/net/eathena/loginrecv.cpp:83
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -8344,28 +8351,28 @@ msgstr ""
"请通过论坛联系GM组."
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:241 src/net/eathena/loginhandler.cpp:223
+#: src/net/ea/loginrecv.cpp:154 src/net/eathena/loginrecv.cpp:92
msgid "Server overpopulated."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:245 src/net/eathena/loginhandler.cpp:228
+#: src/net/ea/loginrecv.cpp:158 src/net/eathena/loginrecv.cpp:97
msgid "This user name is already taken."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:253 src/net/eathena/loginhandler.cpp:238
+#: src/net/ea/loginrecv.cpp:166 src/net/eathena/loginrecv.cpp:107
msgid "Incorrect email."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:257 src/net/eathena/loginhandler.cpp:243
+#: src/net/ea/loginrecv.cpp:170 src/net/eathena/loginrecv.cpp:112
msgid "Username permanently erased."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/ea/loginhandler.cpp:261 src/net/eathena/loginhandler.cpp:247
-#: src/net/eathena/loginhandler.cpp:355 src/net/tmwa/loginhandler.cpp:255
+#: src/net/ea/loginrecv.cpp:174 src/net/eathena/loginrecv.cpp:116
+#: src/net/eathena/loginrecv.cpp:194 src/net/tmwa/loginrecv.cpp:123
msgid "Unknown error."
msgstr "未知的错误."
@@ -8386,320 +8393,319 @@ msgstr "连接到服务器终止. "
#. TRANSLATORS: error message
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:591
-#: src/net/eathena/charserverhandler.cpp:637
+#: src/net/eathena/charserverrecv.cpp:352
+#: src/net/eathena/charserverrecv.cpp:400
msgid "Character rename error."
msgstr ""
#. TRANSLATORS: info message
-#: src/net/eathena/charserverhandler.cpp:612
+#: src/net/eathena/charserverrecv.cpp:375
msgid "Character renamed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:628
+#: src/net/eathena/charserverrecv.cpp:391
msgid "Rename not allowed."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:632
+#: src/net/eathena/charserverrecv.cpp:395
msgid "New name is not set."
msgstr ""
#. TRANSLATORS: char rename error
-#: src/net/eathena/charserverhandler.cpp:641
+#: src/net/eathena/charserverrecv.cpp:404
msgid "Character not found."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/charserverhandler.cpp:683
-#: src/net/tmwa/charserverhandler.cpp:475
+#: src/net/eathena/charserverrecv.cpp:438 src/net/tmwa/charserverrecv.cpp:281
msgid "Failed to delete character."
msgstr "删除角色失败."
-#: src/net/eathena/chathandler.cpp:487
+#: src/net/eathena/chatrecv.cpp:139
msgid "Can't cast skill in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:490
+#: src/net/eathena/chatrecv.cpp:142
msgid "Can't use item in this area."
msgstr ""
-#: src/net/eathena/chathandler.cpp:493
+#: src/net/eathena/chatrecv.cpp:145
msgid "Can't equip. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:496
+#: src/net/eathena/chatrecv.cpp:148
msgid "Can't use. Wrong level."
msgstr ""
-#: src/net/eathena/chathandler.cpp:499
+#: src/net/eathena/chatrecv.cpp:151
msgid "Work in progress."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:679
+#: src/net/eathena/chatrecv.cpp:331
#, c-format
msgid "Message could not be sent, channel %s is not exists."
msgstr ""
#. TRANSLATORS: chat message
-#: src/net/eathena/chathandler.cpp:825
+#: src/net/eathena/chatrecv.cpp:453
#, c-format
msgid "Can't open channel. Channel %s is not exists."
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:141
+#: src/net/eathena/generalhandler.cpp:131 src/net/tmwa/generalhandler.cpp:140
#, c-format
msgid "Strength %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:143
+#: src/net/eathena/generalhandler.cpp:132 src/net/tmwa/generalhandler.cpp:142
#, c-format
msgid "Agility %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:145
+#: src/net/eathena/generalhandler.cpp:133 src/net/tmwa/generalhandler.cpp:144
#, c-format
msgid "Vitality %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:147
+#: src/net/eathena/generalhandler.cpp:134 src/net/tmwa/generalhandler.cpp:146
#, c-format
msgid "Intelligence %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:149
+#: src/net/eathena/generalhandler.cpp:135 src/net/tmwa/generalhandler.cpp:148
#, c-format
msgid "Dexterity %s"
msgstr ""
#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:137 src/net/tmwa/generalhandler.cpp:151
+#: src/net/eathena/generalhandler.cpp:136 src/net/tmwa/generalhandler.cpp:150
#, c-format
msgid "Luck %s"
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:172 src/net/tmwa/generalhandler.cpp:186
+#: src/net/eathena/generalhandler.cpp:249 src/net/tmwa/generalhandler.cpp:270
+msgid "Got disconnected from server!"
+msgstr "和服务器失去连接!"
+
+#: src/net/eathena/generalhandler.cpp:273 src/net/tmwa/generalhandler.cpp:297
+msgid "Strength"
+msgstr "力量"
+
+#: src/net/eathena/generalhandler.cpp:275 src/net/tmwa/generalhandler.cpp:300
+msgid "Agility"
+msgstr "敏捷"
+
+#: src/net/eathena/generalhandler.cpp:277 src/net/tmwa/generalhandler.cpp:303
+msgid "Vitality"
+msgstr "生命"
+
+#: src/net/eathena/generalhandler.cpp:279 src/net/tmwa/generalhandler.cpp:306
+msgid "Intelligence"
+msgstr "智慧"
+
+#: src/net/eathena/generalhandler.cpp:281 src/net/tmwa/generalhandler.cpp:309
+msgid "Dexterity"
+msgstr "敏捷"
+
+#: src/net/eathena/generalhandler.cpp:283 src/net/tmwa/generalhandler.cpp:312
+msgid "Luck"
+msgstr "幸运"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:286 src/net/tmwa/generalhandler.cpp:316
+msgid "Defense"
+msgstr "防御"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:287 src/net/tmwa/generalhandler.cpp:318
+msgid "M.Attack"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:288 src/net/tmwa/generalhandler.cpp:320
+msgid "M.Defense"
+msgstr ""
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:290 src/net/tmwa/generalhandler.cpp:323
+#, no-c-format
+msgid "% Accuracy"
+msgstr "%精度"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:292 src/net/tmwa/generalhandler.cpp:326
+#, no-c-format
+msgid "% Evade"
+msgstr "%闪避"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:294 src/net/tmwa/generalhandler.cpp:329
+#, no-c-format
+msgid "% Critical"
+msgstr "%"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:295 src/net/tmwa/generalhandler.cpp:331
+msgid "Attack Delay"
+msgstr "攻击延迟"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:296 src/net/tmwa/generalhandler.cpp:333
+msgid "Walk Delay"
+msgstr "步行延迟"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:297 src/net/tmwa/generalhandler.cpp:335
+msgid "Attack Range"
+msgstr "攻击范围"
+
+#. TRANSLATORS: player stat
+#: src/net/eathena/generalhandler.cpp:298 src/net/tmwa/generalhandler.cpp:337
+msgid "Damage per sec."
+msgstr "每秒伤害."
+
+#: src/net/eathena/generalhandler.cpp:299
+msgid "Karma"
+msgstr ""
+
+#: src/net/eathena/generalhandler.cpp:300
+msgid "Manner"
+msgstr ""
+
+#. TRANSLATORS: error message
+#: src/net/eathena/generalrecv.cpp:91 src/net/tmwa/generalrecv.cpp:97
msgid "Authentication failed."
msgstr "身份验证失败."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:175 src/net/tmwa/generalhandler.cpp:190
+#: src/net/eathena/generalrecv.cpp:94 src/net/tmwa/generalrecv.cpp:101
msgid "No servers available."
msgstr "没有可用的服务器."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:180 src/net/tmwa/generalhandler.cpp:196
+#: src/net/eathena/generalrecv.cpp:99 src/net/tmwa/generalrecv.cpp:107
msgid "Someone else is trying to use this account."
msgstr "别人尝试使用该帐户."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:185 src/net/tmwa/generalhandler.cpp:202
+#: src/net/eathena/generalrecv.cpp:104 src/net/tmwa/generalrecv.cpp:113
msgid "This account is already logged in."
msgstr "此帐户已登录."
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:189 src/net/tmwa/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:108 src/net/tmwa/generalrecv.cpp:118
msgid "Speed hack detected."
msgstr "检测速度劈."
-#: src/net/eathena/generalhandler.cpp:192
+#: src/net/eathena/generalrecv.cpp:111
msgid "Server full."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:195
+#: src/net/eathena/generalrecv.cpp:114
msgid "Sorry, you are underaged."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:198 src/net/tmwa/generalhandler.cpp:211
+#: src/net/eathena/generalrecv.cpp:117 src/net/tmwa/generalrecv.cpp:122
msgid "Duplicated login."
msgstr "重复登录."
-#: src/net/eathena/generalhandler.cpp:201
+#: src/net/eathena/generalrecv.cpp:120
msgid "To many connections from same ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:204
+#: src/net/eathena/generalrecv.cpp:123
msgid "Not paid for this time."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:207
+#: src/net/eathena/generalrecv.cpp:126
msgid "Pay suspended."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:210
+#: src/net/eathena/generalrecv.cpp:129
msgid "Pay changed."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:213
+#: src/net/eathena/generalrecv.cpp:132
msgid "Pay wrong ip."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:216
+#: src/net/eathena/generalrecv.cpp:135
msgid "Pay game room."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:219
+#: src/net/eathena/generalrecv.cpp:138
msgid "Disconnect forced by GM."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:223
+#: src/net/eathena/generalrecv.cpp:142
msgid "Ban japan refuse."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:226
+#: src/net/eathena/generalrecv.cpp:145
msgid "Remained other account."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:229
+#: src/net/eathena/generalrecv.cpp:148
msgid "Ip unfair."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:232
+#: src/net/eathena/generalrecv.cpp:151
msgid "Ip count all."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:235
+#: src/net/eathena/generalrecv.cpp:154
msgid "Ip count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:239
+#: src/net/eathena/generalrecv.cpp:158
msgid "Memory."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:242
+#: src/net/eathena/generalrecv.cpp:161
msgid "Han valid."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:245
+#: src/net/eathena/generalrecv.cpp:164
msgid "Ip limited access."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:248
+#: src/net/eathena/generalrecv.cpp:167
msgid "Over characters list."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:251
+#: src/net/eathena/generalrecv.cpp:170
msgid "Ip blocked."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:254
+#: src/net/eathena/generalrecv.cpp:173
msgid "Invalid password count."
msgstr ""
-#: src/net/eathena/generalhandler.cpp:257
+#: src/net/eathena/generalrecv.cpp:176
msgid "Not allowed race."
msgstr ""
#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:260 src/net/tmwa/generalhandler.cpp:215
+#: src/net/eathena/generalrecv.cpp:179 src/net/tmwa/generalrecv.cpp:126
msgid "Unknown connection error."
msgstr "未知的连接错误."
-#: src/net/eathena/generalhandler.cpp:270
+#: src/net/eathena/generalrecv.cpp:189
msgid "Map not found"
msgstr ""
-#. TRANSLATORS: error message
-#: src/net/eathena/generalhandler.cpp:360 src/net/tmwa/generalhandler.cpp:315
-msgid "Got disconnected from server!"
-msgstr "和服务器失去连接!"
-
-#: src/net/eathena/generalhandler.cpp:384 src/net/tmwa/generalhandler.cpp:342
-msgid "Strength"
-msgstr "力量"
-
-#: src/net/eathena/generalhandler.cpp:386 src/net/tmwa/generalhandler.cpp:345
-msgid "Agility"
-msgstr "敏捷"
-
-#: src/net/eathena/generalhandler.cpp:388 src/net/tmwa/generalhandler.cpp:348
-msgid "Vitality"
-msgstr "生命"
-
-#: src/net/eathena/generalhandler.cpp:390 src/net/tmwa/generalhandler.cpp:351
-msgid "Intelligence"
-msgstr "智慧"
-
-#: src/net/eathena/generalhandler.cpp:392 src/net/tmwa/generalhandler.cpp:354
-msgid "Dexterity"
-msgstr "敏捷"
-
-#: src/net/eathena/generalhandler.cpp:394 src/net/tmwa/generalhandler.cpp:357
-msgid "Luck"
-msgstr "幸运"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:397 src/net/tmwa/generalhandler.cpp:361
-msgid "Defense"
-msgstr "防御"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:398 src/net/tmwa/generalhandler.cpp:363
-msgid "M.Attack"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:399 src/net/tmwa/generalhandler.cpp:365
-msgid "M.Defense"
-msgstr ""
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:401 src/net/tmwa/generalhandler.cpp:368
-#, no-c-format
-msgid "% Accuracy"
-msgstr "%精度"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:403 src/net/tmwa/generalhandler.cpp:371
-#, no-c-format
-msgid "% Evade"
-msgstr "%闪避"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:405 src/net/tmwa/generalhandler.cpp:374
-#, no-c-format
-msgid "% Critical"
-msgstr "%"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:406 src/net/tmwa/generalhandler.cpp:376
-msgid "Attack Delay"
-msgstr "攻击延迟"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:407 src/net/tmwa/generalhandler.cpp:378
-msgid "Walk Delay"
-msgstr "步行延迟"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:408 src/net/tmwa/generalhandler.cpp:380
-msgid "Attack Range"
-msgstr "攻击范围"
-
-#. TRANSLATORS: player stat
-#: src/net/eathena/generalhandler.cpp:409 src/net/tmwa/generalhandler.cpp:382
-msgid "Damage per sec."
-msgstr "每秒伤害."
-
-#: src/net/eathena/generalhandler.cpp:410
-msgid "Karma"
-msgstr ""
-
-#: src/net/eathena/generalhandler.cpp:411
-msgid "Manner"
-msgstr ""
-
#. TRANSLATORS: notification message
-#: src/net/eathena/inventoryhandler.cpp:913
+#: src/net/eathena/inventoryrecv.cpp:546
#, c-format
msgid "Left %s rental time for item %s."
msgstr ""
@@ -8707,27 +8713,27 @@ msgstr ""
#. TRANSLATORS: unknown item
#. TRANSLATORS: unknown item message
#. TRANSLATORS: item name
-#: src/net/eathena/inventoryhandler.cpp:1176
-#: src/net/eathena/inventoryhandler.cpp:1309 src/resources/db/itemdb.cpp:240
+#: src/net/eathena/inventoryrecv.cpp:801 src/net/eathena/inventoryrecv.cpp:934
+#: src/resources/db/itemdb.cpp:240
msgid "Unknown item"
msgstr "未知物品"
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:343 src/net/tmwa/loginhandler.cpp:243
+#: src/net/eathena/loginrecv.cpp:182 src/net/tmwa/loginrecv.cpp:111
msgid "Account was not found. Please re-login."
msgstr "帐号不存在。请重新登录."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:347 src/net/tmwa/loginhandler.cpp:247
+#: src/net/eathena/loginrecv.cpp:186 src/net/tmwa/loginrecv.cpp:115
msgid "Old password incorrect."
msgstr "旧密码不正确."
#. TRANSLATORS: error message
-#: src/net/eathena/loginhandler.cpp:351 src/net/tmwa/loginhandler.cpp:251
+#: src/net/eathena/loginrecv.cpp:190 src/net/tmwa/loginrecv.cpp:119
msgid "New password too short."
msgstr "新密码太短."
-#: src/net/eathena/mailhandler.cpp:216
+#: src/net/eathena/mailrecv.cpp:149
#, c-format
msgid "You have new mail from %s with subject %s"
msgstr ""
@@ -8805,32 +8811,32 @@ msgid "%s wants to trade with you, do you accept?"
msgstr "%s想和您进行交易,是否接受?"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:308
+#: src/net/tmwa/charserverhandler.cpp:223
msgid "Strength:"
msgstr "力量:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:310
+#: src/net/tmwa/charserverhandler.cpp:225
msgid "Agility:"
msgstr "敏捷:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:312
+#: src/net/tmwa/charserverhandler.cpp:227
msgid "Vitality:"
msgstr "生命:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:314
+#: src/net/tmwa/charserverhandler.cpp:229
msgid "Intelligence:"
msgstr "智力:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:316
+#: src/net/tmwa/charserverhandler.cpp:231
msgid "Dexterity:"
msgstr "灵巧:"
#. TRANSLATORS: playe stat
-#: src/net/tmwa/charserverhandler.cpp:318
+#: src/net/tmwa/charserverhandler.cpp:233
msgid "Luck:"
msgstr "幸运:"
diff --git a/po/zh_HK.po b/po/zh_HK.po
index f16679410..abb58e65d 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2015-08-23 00:52+0300\n"
-"PO-Revision-Date: 2015-08-24 21:15+0000\n"
-"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
+"POT-Creation-Date: 2015-08-24 23:43+0300\n"
+"PO-Revision-Date: 2015-08-27 05:41+0000\n"
+"Last-Translator: Pak Long Wu <paklongwu1006@gmail.com>\n"
"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/akaras/manaplus/language/zh_HK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -258,7 +258,7 @@ msgid "Quick"
msgstr "快速"
#. TRANSLATORS: visible beings on map
-#: src/actormanager.cpp:1451
+#: src/actormanager.cpp:1453
msgid "Visible on map"
msgstr "在地圖上可見"
@@ -1142,7 +1142,7 @@ msgstr "(b) 黑白地圖顯示"
#. TRANSLATORS: pickup size in status bar
#: src/gamemodifiers.cpp:406
msgid "(?) map view"
-msgstr ""
+msgstr "(?) 地圖顯示"
#. TRANSLATORS: away type in status bar
#: src/gamemodifiers.cpp:418
@@ -1456,42 +1456,42 @@ msgstr "西班牙語 (卡斯蒂利亞)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:77
msgid "Swedish (Sweden)"
-msgstr ""
+msgstr "瑞典語(瑞典)"
#. TRANSLATORS: language
#: src/gui/models/langlistmodel.h:79
msgid "Turkish"
-msgstr ""
+msgstr "土耳其語"
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:35
msgid "General Magic"
-msgstr ""
+msgstr "基本魔法"
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:37
msgid "Life Magic"
-msgstr ""
+msgstr "生命魔法"
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:39
msgid "War Magic"
-msgstr ""
+msgstr "戰鬥魔法"
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:41
msgid "Transmute Magic"
-msgstr ""
+msgstr "物質轉換魔法"
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:43
msgid "Nature Magic"
-msgstr ""
+msgstr "自然魔法"
#. TRANSLATORS: magic school
#: src/gui/models/magicschoolmodel.h:45
msgid "Astral Magic"
-msgstr ""
+msgstr "奧術魔法"
#. TRANSLATORS: relation type
#: src/gui/models/playerrelationlistmodel.h:35
@@ -1506,159 +1506,159 @@ msgstr "好友"
#. TRANSLATORS: relation type
#: src/gui/models/playerrelationlistmodel.h:39
msgid "Disregarded"
-msgstr ""
+msgstr "被無視"
#. TRANSLATORS: relation type
#: src/gui/models/playerrelationlistmodel.h:41
msgid "Ignored"
-msgstr "忽略"
+msgstr "被忽略"
#. TRANSLATORS: relation type
#: src/gui/models/playerrelationlistmodel.h:43
msgid "Erased"
-msgstr ""
+msgstr "被擦去"
#. TRANSLATORS: relation type
#: src/gui/models/playerrelationlistmodel.h:45
msgid "Blacklisted"
-msgstr ""
+msgstr "被列入黑名單"
#. TRANSLATORS: relation type
#. TRANSLATORS: palette color
#: src/gui/models/playerrelationlistmodel.h:47 src/gui/userpalette.cpp:159
msgid "Enemy"
-msgstr ""
+msgstr "冤家"
#. TRANSLATORS: buy dialog sort type.
#: src/gui/models/sortlistmodelbuy.h:33
msgid "unsorted"
-msgstr ""
+msgstr "未分類"
#. TRANSLATORS: buy dialog sort type.
#: src/gui/models/sortlistmodelbuy.h:35
msgid "by price"
-msgstr ""
+msgstr "按價錢"
#. TRANSLATORS: buy dialog sort type.
#. TRANSLATORS: inventory sort mode
#: src/gui/models/sortlistmodelbuy.h:37 src/gui/models/sortlistmodelinv.h:34
msgid "by name"
-msgstr ""
+msgstr "按名字"
#. TRANSLATORS: buy dialog sort type.
#. TRANSLATORS: inventory sort mode
#: src/gui/models/sortlistmodelbuy.h:39 src/gui/models/sortlistmodelinv.h:36
msgid "by id"
-msgstr ""
+msgstr "按ID"
#. TRANSLATORS: buy dialog sort type.
#. TRANSLATORS: inventory sort mode
#: src/gui/models/sortlistmodelbuy.h:41 src/gui/models/sortlistmodelinv.h:38
msgid "by weight"
-msgstr ""
+msgstr "按重量"
#. TRANSLATORS: buy dialog sort type.
#. TRANSLATORS: inventory sort mode
#: src/gui/models/sortlistmodelbuy.h:43 src/gui/models/sortlistmodelinv.h:40
msgid "by amount"
-msgstr ""
+msgstr "按數量"
#. TRANSLATORS: buy dialog sort type.
#. TRANSLATORS: inventory sort mode
#: src/gui/models/sortlistmodelbuy.h:45 src/gui/models/sortlistmodelinv.h:42
msgid "by type"
-msgstr ""
+msgstr "按種類"
#. TRANSLATORS: target type
#: src/gui/models/targettypemodel.h:32
msgid "No Target"
-msgstr ""
+msgstr "沒有目標"
#. TRANSLATORS: target type
#: src/gui/models/targettypemodel.h:34
msgid "Allow Target"
-msgstr ""
+msgstr "允許目標"
#. TRANSLATORS: target type
#: src/gui/models/targettypemodel.h:36
msgid "Need Target"
-msgstr ""
+msgstr "需要目標"
#. TRANSLATORS: update type
#. TRANSLATORS: onscreen button size
#: src/gui/models/updatetypemodel.h:32 src/gui/widgets/tabs/setup_touch.cpp:43
msgid "Normal"
-msgstr ""
+msgstr "正常"
#. TRANSLATORS: update type
#: src/gui/models/updatetypemodel.h:34
msgid "Auto Close"
-msgstr ""
+msgstr "自動關閉"
#. TRANSLATORS: update type
#: src/gui/models/updatetypemodel.h:36
msgid "Skip"
-msgstr ""
+msgstr "跳過"
#. TRANSLATORS: being popup label
#: src/gui/popups/beingpopup.cpp:167 src/gui/popups/beingpopup.cpp:187
#, c-format
msgid "Hungry: %d"
-msgstr ""
+msgstr "飢餓:%d"
#. TRANSLATORS: being popup label
#: src/gui/popups/beingpopup.cpp:171 src/gui/popups/beingpopup.cpp:191
#, c-format
msgid "Intimacy: %d"
-msgstr ""
+msgstr "親密關係:%d"
#. TRANSLATORS: being popup label
#: src/gui/popups/beingpopup.cpp:207
#, c-format
msgid "Party: %s"
-msgstr ""
+msgstr "隊伍:%s"
#. TRANSLATORS: being popup label
#: src/gui/popups/beingpopup.cpp:225
#, c-format
msgid "Guild: %s"
-msgstr ""
+msgstr "公會:%s"
#. TRANSLATORS: being popup label
#: src/gui/popups/beingpopup.cpp:242
#, c-format
msgid "Pvp rank: %u"
-msgstr ""
+msgstr "PVP排名:%u"
#. TRANSLATORS: being popup label
#: src/gui/popups/beingpopup.cpp:259
#, c-format
msgid "Buy shop: %s"
-msgstr ""
+msgstr "購買商店:%s"
#. TRANSLATORS: being popup label
#: src/gui/popups/beingpopup.cpp:276
#, c-format
msgid "Sell shop: %s"
-msgstr ""
+msgstr "售賣商店:%s"
#. TRANSLATORS: being popup label
#: src/gui/popups/beingpopup.cpp:291
#, c-format
msgid "Comment: %s"
-msgstr ""
+msgstr "評語:%s"
#. TRANSLATORS: being popup label
#: src/gui/popups/beingpopup.cpp:305
#, c-format
msgid "Chat room: %s"
-msgstr ""
+msgstr "聊天室:%s"
#. TRANSLATORS: party popup item
#. TRANSLATORS: party creation message
#: src/gui/popups/createpartypopup.h:50 src/gui/windows/socialwindow.cpp:521
msgid "Create Party"
-msgstr ""
+msgstr "選擇隊伍"
#. TRANSLATORS: party popup item
#. TRANSLATORS: popup menu item
@@ -1709,12 +1709,12 @@ msgstr "取消"
#: src/gui/popups/itempopup.cpp:219
#, c-format
msgid "Weight: %s"
-msgstr ""
+msgstr "重量:%s"
#. TRANSLATORS: popup label
#: src/gui/popups/itempopup.cpp:284
msgid "Cards: "
-msgstr ""
+msgstr "卡片: "
#. TRANSLATORS: popup menu item
#. TRANSLATORS: trade with player
@@ -1739,27 +1739,27 @@ msgstr "交易"
#: src/input/pages/basic.cpp:40 src/net/eathena/generalhandler.cpp:396
#: src/net/tmwa/generalhandler.cpp:359
msgid "Attack"
-msgstr ""
+msgstr "攻擊"
#. TRANSLATORS: popup menu item
#. TRANSLATORS: send whisper to player
#: src/gui/popups/popupmenu.cpp:167 src/gui/popups/popupmenu.cpp:259
#: src/gui/popups/popupmenu.cpp:473
msgid "Whisper"
-msgstr ""
+msgstr "悄悄話"
#. TRANSLATORS: popup menu item
#. TRANSLATORS: heal player
#: src/gui/popups/popupmenu.cpp:173 src/gui/popups/popupmenu.cpp:818
msgid "Heal"
-msgstr ""
+msgstr "療癒"
#. TRANSLATORS: popup menu item
#. TRANSLATORS: kick player from guild
#: src/gui/popups/popupmenu.cpp:193 src/gui/popups/popupmenu.cpp:209
#: src/gui/popups/popupmenu.cpp:522 src/gui/popups/popupmenu.cpp:846
msgid "Kick from guild"
-msgstr ""
+msgstr "從公會踢出"
#. TRANSLATORS: popup menu item
#. TRANSLATORS: change player position in guild
@@ -6892,13 +6892,13 @@ msgstr ""
#: src/gui/windows/tradewindow.cpp:514
msgid ""
"Failed adding item. You can not overlap one kind of item on the window."
-msgstr "增加物品失敗.你不能覆蓋視窗中的該類物品能."
+msgstr "增加物品失敗。你不能覆蓋視窗中的物品."
#. TRANSLATORS: unregister dialog. label.
#: src/gui/windows/unregisterdialog.cpp:64
#, c-format
msgid "Name: %s"
-msgstr "名字:%s"
+msgstr "名字:%s"
#. TRANSLATORS: updater window name
#: src/gui/windows/updaterwindow.cpp:170