summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog29
-rw-r--r--README2
-rw-r--r--README.txt2
-rwxr-xr-xbuild/packevol14
-rwxr-xr-xbuild/packwin2
-rwxr-xr-xconfigure.ac2
-rw-r--r--data/evol/evol.desktop47
-rw-r--r--data/evol/evol.manaplus17
-rw-r--r--data/evol/icons/evol-client.icobin0 -> 533366 bytes
-rw-r--r--data/evol/icons/evol-client.pngbin0 -> 7366 bytes
-rw-r--r--data/evol/icons/evol-client.xpm45
-rw-r--r--data/evol/images/loginwallpaper_800x600.pngbin0 -> 1481772 bytes
-rw-r--r--data/graphics/sprites/manaplus_emote.xml4
-rw-r--r--data/graphics/sprites/manaplus_emotes.xml8
-rw-r--r--data/graphics/sprites/manaplus_emotions.pngbin34648 -> 39205 bytes
-rw-r--r--data/icons/manaplus.xpm70
-rw-r--r--data/tmw/images/loginwallpaper_800x600.pngbin0 -> 903998 bytes
-rw-r--r--data/tmw/tmw.manaplus17
-rw-r--r--docs/example.manaplus4
-rwxr-xr-xnightly/buildlinux.sh1
-rwxr-xr-xnightly/buildwindows.sh8
-rwxr-xr-xnightly/evol.sh6
-rw-r--r--packaging/windows/evol.nsi436
-rw-r--r--packaging/windows/setup.nsi37
-rw-r--r--po/POTFILES.in1
-rw-r--r--po/cs.po830
-rw-r--r--po/de.po1055
-rw-r--r--po/es.po820
-rw-r--r--po/fi.po1153
-rw-r--r--po/fr.po817
-rw-r--r--po/id.po934
-rw-r--r--po/it.po823
-rw-r--r--po/ja.po881
-rw-r--r--po/manaplus.pot809
-rw-r--r--po/nl_BE.po817
-rw-r--r--po/pl.po819
-rw-r--r--po/pt.po894
-rw-r--r--po/pt_BR.po827
-rw-r--r--po/ru.po815
-rw-r--r--po/zh_CN.po827
-rw-r--r--src/CMakeLists.txt6
-rw-r--r--src/Makefile.am6
-rw-r--r--src/actorsprite.cpp19
-rw-r--r--src/actorspritemanager.h22
-rw-r--r--src/animatedsprite.cpp2
-rw-r--r--src/animatedsprite.h4
-rw-r--r--src/being.cpp37
-rw-r--r--src/being.h28
-rw-r--r--src/channel.h5
-rw-r--r--src/chatlogger.cpp8
-rw-r--r--src/chatlogger.h2
-rw-r--r--src/client.cpp108
-rw-r--r--src/client.h7
-rw-r--r--src/commandhandler.cpp10
-rw-r--r--src/compoundsprite.cpp78
-rw-r--r--src/compoundsprite.h21
-rw-r--r--src/configuration.h4
-rw-r--r--src/debug.h13
-rw-r--r--src/defaults.cpp6
-rw-r--r--src/dropshortcut.cpp7
-rw-r--r--src/emoteshortcut.h2
-rw-r--r--src/equipment.h2
-rw-r--r--src/flooritem.h2
-rw-r--r--src/game.cpp137
-rw-r--r--src/game.h4
-rw-r--r--src/graphics.cpp48
-rw-r--r--src/graphics.h28
-rw-r--r--src/graphicsvertexes.h2
-rw-r--r--src/gui/charcreatedialog.cpp163
-rw-r--r--src/gui/charcreatedialog.h16
-rw-r--r--src/gui/charselectdialog.cpp2
-rw-r--r--src/gui/chatwindow.cpp11
-rw-r--r--src/gui/editdialog.h2
-rw-r--r--src/gui/editserverdialog.cpp239
-rw-r--r--src/gui/editserverdialog.h104
-rw-r--r--src/gui/equipmentwindow.h2
-rw-r--r--src/gui/gui.cpp36
-rw-r--r--src/gui/gui.h5
-rw-r--r--src/gui/inventorywindow.cpp12
-rw-r--r--src/gui/inventorywindow.h2
-rw-r--r--src/gui/itemamountwindow.cpp10
-rw-r--r--src/gui/logindialog.cpp14
-rw-r--r--src/gui/npcdialog.cpp40
-rw-r--r--src/gui/npcdialog.h10
-rw-r--r--src/gui/outfitwindow.cpp381
-rw-r--r--src/gui/outfitwindow.h4
-rw-r--r--src/gui/palette.h10
-rw-r--r--src/gui/popupmenu.cpp12
-rw-r--r--src/gui/serverdialog.cpp329
-rw-r--r--src/gui/serverdialog.h42
-rw-r--r--src/gui/setup.cpp2
-rw-r--r--src/gui/setup_relations.cpp7
-rw-r--r--src/gui/setup_video.cpp76
-rw-r--r--src/gui/setup_video.h5
-rw-r--r--src/gui/shopwindow.cpp13
-rw-r--r--src/gui/shopwindow.h2
-rw-r--r--src/gui/skilldialog.h2
-rw-r--r--src/gui/socialwindow.cpp8
-rw-r--r--src/gui/socialwindow.h4
-rw-r--r--src/gui/statuswindow.cpp17
-rw-r--r--src/gui/theme.h2
-rw-r--r--src/gui/tradewindow.h2
-rw-r--r--src/gui/updaterwindow.cpp10
-rw-r--r--src/gui/userpalette.h2
-rw-r--r--src/gui/viewport.cpp49
-rw-r--r--src/gui/viewport.h24
-rw-r--r--src/gui/whoisonline.cpp179
-rw-r--r--src/gui/whoisonline.h68
-rw-r--r--src/gui/widgets/browserbox.h2
-rw-r--r--src/gui/widgets/button.h6
-rw-r--r--src/gui/widgets/channeltab.h3
-rw-r--r--src/gui/widgets/chattab.cpp14
-rw-r--r--src/gui/widgets/chattab.h8
-rw-r--r--src/gui/widgets/desktop.cpp8
-rw-r--r--src/gui/widgets/emoteshortcutcontainer.cpp2
-rw-r--r--src/gui/widgets/guildchattab.h3
-rw-r--r--src/gui/widgets/icon.h3
-rw-r--r--src/gui/widgets/layout.h4
-rw-r--r--src/gui/widgets/popup.h18
-rw-r--r--src/gui/widgets/progressbar.h6
-rw-r--r--src/gui/widgets/scrollarea.h3
-rw-r--r--src/gui/widgets/setupitem.cpp10
-rw-r--r--src/gui/widgets/setupitem.h4
-rw-r--r--src/gui/widgets/setuptabscroll.h2
-rw-r--r--src/gui/widgets/shoplistbox.h3
-rw-r--r--src/gui/widgets/tab.h4
-rw-r--r--src/gui/widgets/tabbedarea.h4
-rw-r--r--src/gui/widgets/textbox.h3
-rw-r--r--src/gui/widgets/textfield.cpp54
-rw-r--r--src/gui/widgets/textfield.h2
-rw-r--r--src/gui/widgets/vertcontainer.cpp7
-rw-r--r--src/gui/widgets/vertcontainer.h6
-rw-r--r--src/gui/widgets/window.cpp78
-rw-r--r--src/gui/widgets/window.h15
-rw-r--r--src/gui/widgets/windowcontainer.cpp12
-rw-r--r--src/gui/widgets/windowcontainer.h6
-rw-r--r--src/gui/windowmenu.cpp2
-rw-r--r--src/guild.cpp7
-rw-r--r--src/guild.h2
-rw-r--r--src/guildmanager.h2
-rw-r--r--src/keyboardconfig.cpp14
-rw-r--r--src/keyboardconfig.h6
-rw-r--r--src/localplayer.cpp31
-rw-r--r--src/localplayer.h62
-rw-r--r--src/main.h4
-rw-r--r--src/manaplus.rc5
-rw-r--r--src/map.cpp11
-rw-r--r--src/map.h28
-rw-r--r--src/mumblemanager.cpp8
-rw-r--r--src/mumblemanager.h7
-rw-r--r--src/net/adminhandler.h6
-rw-r--r--src/net/download.cpp2
-rw-r--r--src/net/ea/adminhandler.cpp6
-rw-r--r--src/net/ea/adminhandler.h6
-rw-r--r--src/net/ea/playerhandler.cpp1
-rw-r--r--src/net/inventoryhandler.h4
-rw-r--r--src/net/manaserv/adminhandler.cpp6
-rw-r--r--src/net/manaserv/adminhandler.h6
-rw-r--r--src/net/manaserv/attributes.cpp8
-rw-r--r--src/net/manaserv/connection.h2
-rw-r--r--src/net/manaserv/gamehandler.h6
-rw-r--r--src/net/manaserv/guildhandler.h2
-rw-r--r--src/net/manaserv/loginhandler.cpp2
-rw-r--r--src/net/manaserv/playerhandler.cpp5
-rw-r--r--src/net/manaserv/playerhandler.h2
-rw-r--r--src/net/manaserv/specialhandler.cpp10
-rw-r--r--src/net/manaserv/specialhandler.h6
-rw-r--r--src/net/messagein.cpp19
-rw-r--r--src/net/messagein.h2
-rw-r--r--src/net/playerhandler.h2
-rw-r--r--src/net/serverinfo.h2
-rw-r--r--src/net/specialhandler.h6
-rw-r--r--src/net/tmwa/beinghandler.cpp2
-rw-r--r--src/net/tmwa/charserverhandler.cpp7
-rw-r--r--src/net/tmwa/inventoryhandler.cpp4
-rw-r--r--src/net/tmwa/inventoryhandler.h2
-rw-r--r--src/net/tmwa/network.cpp2
-rw-r--r--src/net/tmwa/network.h2
-rw-r--r--src/net/tmwa/npchandler.cpp83
-rw-r--r--src/net/tmwa/npchandler.h7
-rw-r--r--src/net/tmwa/playerhandler.cpp50
-rw-r--r--src/net/tmwa/playerhandler.h1
-rw-r--r--src/net/tmwa/protocol.h2
-rw-r--r--src/net/tmwa/specialhandler.cpp6
-rw-r--r--src/net/tmwa/specialhandler.h6
-rw-r--r--src/opengl1graphics.cpp21
-rw-r--r--src/opengl1graphics.h4
-rw-r--r--src/openglgraphics.cpp20
-rw-r--r--src/openglgraphics.h4
-rw-r--r--src/particle.h2
-rw-r--r--src/resources/action.h2
-rw-r--r--src/resources/colordb.cpp65
-rw-r--r--src/resources/colordb.h4
-rw-r--r--src/resources/emotedb.cpp5
-rw-r--r--src/resources/image.cpp49
-rw-r--r--src/resources/image.h23
-rw-r--r--src/resources/imageset.h4
-rw-r--r--src/resources/iteminfo.h5
-rw-r--r--src/resources/music.cpp51
-rw-r--r--src/resources/music.h22
-rw-r--r--src/resources/resource.h2
-rw-r--r--src/resources/resourcemanager.cpp39
-rw-r--r--src/resources/resourcemanager.h10
-rw-r--r--src/resources/soundeffect.cpp8
-rw-r--r--src/resources/soundeffect.h8
-rw-r--r--src/sound.cpp102
-rw-r--r--src/sound.h25
-rw-r--r--src/textcommand.h2
-rw-r--r--src/utils/checkutils.cpp39
-rw-r--r--src/utils/checkutils.h30
-rw-r--r--src/utils/copynpaste.cpp2
-rw-r--r--src/utils/physfsrwops.cpp186
-rw-r--r--src/utils/physfsrwops.h82
-rw-r--r--src/utils/stringutils.cpp36
-rw-r--r--src/utils/stringutils.h4
215 files changed, 10132 insertions, 7897 deletions
diff --git a/ChangeLog b/ChangeLog
index cf8c29553..2474682d7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2012-02-05 New release 1.2.2.5
+ManaPlus:
+fix: particle font in japan localisation.
+fix: some untranslated strings.
+fix: possible crash after switching servers.
+fix: option "attack range" in evol server.
+fix: drop counter with enabled "buggy servers protection".
+fix: empty custom update server.
+add: request client language from server. (evol server)
+add: moving camera by npc commands. (evol server)
+add: evol branding in windows installer.
+add: extended online list. (evol server)
+add: redesign char creation dialog.
+add: resize window from video settings tab.
+add: option to enable/disable window resize.
+add: option to show/hide window frame border.
+add: 3 new emotes by (Nina O'Reilly)
+add: support for 48 emotes.
+add: redesign servers list dialog, using new server editor.
+add: increase login dialog size.
+add: use translation for description in servers dialog.
+
+Mana:
+fix: infinite character selection with command line parameter --character
+add: resize update window.
+add: separate server editor.
+add: possible improve loading images/music.
+add: game window resize.
+
2012-01-22 New release 1.2.1.22
fix: bad update hosts handling.
fix: possible crashes.
diff --git a/README b/README
index 995b0cda8..d7e46430c 100644
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
THE MANA PLUS CLIENT
===============
- Version: 1.2.1.22 Date: 2012-01-22
+ Version: 1.2.2.5 Date: 2012-02-05
Development team:
- See AUTHORS file for a list
diff --git a/README.txt b/README.txt
index 28a0ddd92..4f4a397fc 100644
--- a/README.txt
+++ b/README.txt
@@ -1,7 +1,7 @@
THE MANA PLUS CLIENT
===============
- Version: 1.2.1.22 Date: 2012-01-22
+ Version: 1.2.2.5 Date: 2012-02-05
Development team:
- See AUTHORS file for a list
diff --git a/build/packevol b/build/packevol
new file mode 100755
index 000000000..9059fdf58
--- /dev/null
+++ b/build/packevol
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+cd ..
+
+dir=`pwd`
+
+cd packaging/windows
+./make-translations.sh
+makensis -DDLLDIR=$dir/../mana_win/libs/dll/ \
+ -DPRODUCT_VERSION="1.2.2.5" \
+ -DEXESUFFIX=/src \
+ -DUPX=true \
+ evol.nsi
+
diff --git a/build/packwin b/build/packwin
index d855cf534..296039482 100755
--- a/build/packwin
+++ b/build/packwin
@@ -7,7 +7,7 @@ dir=`pwd`
cd packaging/windows
./make-translations.sh
makensis -DDLLDIR=$dir/../mana_win/libs/dll/ \
- -DPRODUCT_VERSION="1.2.1.22" \
+ -DPRODUCT_VERSION="1.2.2.5" \
-DEXESUFFIX=/src \
-DUPX=true \
setup.nsi
diff --git a/configure.ac b/configure.ac
index 7f3a3f6fe..01a438ca8 100755
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ(2.59)
-AC_INIT([ManaPlus], [1.2.1.22], [akaras@inbox.ru], [manaplus])
+AC_INIT([ManaPlus], [1.2.2.5], [akaras@inbox.ru], [manaplus])
AM_INIT_AUTOMAKE([1.9])
AC_CONFIG_HEADERS([config.h:config.h.in])
AC_LANG_CPLUSPLUS
diff --git a/data/evol/evol.desktop b/data/evol/evol.desktop
new file mode 100644
index 000000000..7ccfc4001
--- /dev/null
+++ b/data/evol/evol.desktop
@@ -0,0 +1,47 @@
+
+[Desktop Entry]
+Version=1.0
+Name=EvolOnline
+Comment=A 2D MMORPG client
+Exec=manaplus /usr/share/games/manaplus/data/evol/evol.manaplus
+StartupNotify=false
+Terminal=false
+Type=Application
+Icon=evol-client
+Categories=Game;AdventureGame;
+
+
+# Translations
+Comment[vls]=Nen 2D MMORPG client
+Name[vls]=ManaPlus
+Icon[vls]=manaplus
+Comment[ru]=Клиент к 2D MMORPG игре
+Name[ru]=ManaPlus
+Icon[ru]=manaplus
+Comment[it]=Un gioco fantasy online
+Name[it]=ManaPlus
+Icon[it]=manaplus
+Comment[ja]=2Dã®MMORPGクライアント
+Name[ja]=ManaPlus
+Icon[ja]=manaplus
+Comment[cs]=2D MMORPG klient
+Name[cs]=ManaPlus
+Icon[cs]=manaplus
+Comment[nl_BE]=Een 2D MMORPG client
+Name[nl_BE]=ManaPlus
+Icon[nl_BE]=manaplus
+Comment[de]=ein 2D MMORG Client
+Name[de]=ManaPlus
+Icon[de]=manaplus
+Comment[sv_SE]=Ett fantasyrollspel online
+Name[sv_SE]=ManaPlus
+Icon[sv_SE]=manaplus
+Comment[es]=Un cliente MMORPG 2D
+Name[es]=ManaPlus
+Icon[es]=manaplus
+Comment[fr]=Un jeu en ligne dans un univers fantastique
+Name[fr]=ManaPlus
+Icon[fr]=manaplus
+Comment[nl]=Een online role playing game
+Name[nl]=ManaPlus
+Icon[nl]=manaplus
diff --git a/data/evol/evol.manaplus b/data/evol/evol.manaplus
new file mode 100644
index 000000000..63a963495
--- /dev/null
+++ b/data/evol/evol.manaplus
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+
+<configuration>
+ <option name="appName" value="Evol Online"/>
+ <option name="appShort" value="mana"/>
+ <option name="appIcon" value="evol/icons/evol-client"/>
+ <option name="loginMusic" value="Artis - The Adventure Begins.ogg"/>
+ <option name="onlineServerList" value="http://www.evolonline.org/serverlist.xml"/>
+ <option name="defaultServer" value="world.evolonline.org"/>
+ <option name="defaultPort" value="6901"/>
+ <option name="defaultServerType" value="evol"/>
+ <option name="font" value="fonts/dejavusans.ttf" />
+ <option name="boldFont" value="fonts/dejavusans-bold.ttf" />
+ <option name="theme" value="wood" />
+ <option name="wallpapersPath" value="evol/images/" />
+ <option name="wallpaperFile" value="loginwallpaper_800x600.png" />
+</configuration>
diff --git a/data/evol/icons/evol-client.ico b/data/evol/icons/evol-client.ico
new file mode 100644
index 000000000..17309a1ba
--- /dev/null
+++ b/data/evol/icons/evol-client.ico
Binary files differ
diff --git a/data/evol/icons/evol-client.png b/data/evol/icons/evol-client.png
new file mode 100644
index 000000000..2fb9eaab0
--- /dev/null
+++ b/data/evol/icons/evol-client.png
Binary files differ
diff --git a/data/evol/icons/evol-client.xpm b/data/evol/icons/evol-client.xpm
new file mode 100644
index 000000000..7fb1f2cda
--- /dev/null
+++ b/data/evol/icons/evol-client.xpm
@@ -0,0 +1,45 @@
+/* XPM */
+static char * manaplus_xpm[] = {
+"32 32 10 1",
+" c None",
+". c #663300",
+"X c #673200",
+"o c #663400",
+"O c #653400",
+"+ c #653200",
+"@ c #653300",
+"# c #673300",
+"$ c #663200",
+"% c #673400",
+" .. . ",
+" .. X . ",
+" .X .. o O. ",
+" +@o .o O# o. ",
+" Xo. $.@ . o%. ",
+" $.#$.#$+ ",
+" . $$$## ",
+" ....$@+ %. ",
+" ....o#$X ",
+" .$o.. ",
+" .@@. ",
+" Oo#. ",
+" o ",
+" #@ . ",
+" O... ",
+" $.o ",
+" #.$. ",
+" ..% ",
+" #$@. ",
+" .... ",
+" # O%.@..$.#.o . ",
+" +# oO X+$..@ .#$$ ",
+" % +...o # % ",
+" O %o..$oO O.% ",
+" o #O$@ X# + ",
+" # $ $ % ",
+" O. . $ #@ ",
+" o XO ",
+" . X $X ",
+" # + + ",
+" . @ . ",
+" .$# $@ "};
diff --git a/data/evol/images/loginwallpaper_800x600.png b/data/evol/images/loginwallpaper_800x600.png
new file mode 100644
index 000000000..a1fe4f83b
--- /dev/null
+++ b/data/evol/images/loginwallpaper_800x600.png
Binary files differ
diff --git a/data/graphics/sprites/manaplus_emote.xml b/data/graphics/sprites/manaplus_emote.xml
index 8f27c4f83..1ec57dff2 100644
--- a/data/graphics/sprites/manaplus_emote.xml
+++ b/data/graphics/sprites/manaplus_emote.xml
@@ -1,5 +1,7 @@
<?xml version="1.0"?>
-<sprite variants="25" variant_offset="1">
+<!-- Author : Reid, 4144
+Copyright (C) 2011-2012 Manaplus -->
+<sprite variants="28" variant_offset="1">
<imageset name="base" src="graphics/sprites/manaplus_emotions.png" width="30" height="32" />
<action name="stand" imageset="base">
diff --git a/data/graphics/sprites/manaplus_emotes.xml b/data/graphics/sprites/manaplus_emotes.xml
index 38628dc30..240b2d4b8 100644
--- a/data/graphics/sprites/manaplus_emotes.xml
+++ b/data/graphics/sprites/manaplus_emotes.xml
@@ -1,4 +1,9 @@
<emotes>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule selector="//emote/sprite/@name" translate="yes"/>
+ <its:translateRule selector="//*" translate="no"/>
+ </its:rules>
+
<emote id="100"><sprite name="Kitty" variant="0">manaplus_emote.xml</sprite></emote>
<emote id="101"><sprite name="xD" variant="1">manaplus_emote.xml</sprite></emote>
<emote id="102"><sprite name="^.^" variant="2">manaplus_emote.xml</sprite></emote>
@@ -24,4 +29,7 @@
<emote id="122"><sprite name="Bad geek" variant="22">manaplus_emote.xml</sprite></emote>
<emote id="123"><sprite name="Mimi" variant="23">manaplus_emote.xml</sprite></emote>
<emote id="124"><sprite name="Alien" variant="24">manaplus_emote.xml</sprite></emote>
+ <emote id="125"><sprite name="Troll" variant="25">manaplus_emote.xml</sprite></emote>
+ <emote id="126"><sprite name="Metal" variant="26">manaplus_emote.xml</sprite></emote>
+ <emote id="127"><sprite name="Crying" variant="27">manaplus_emote.xml</sprite></emote>
</emotes>
diff --git a/data/graphics/sprites/manaplus_emotions.png b/data/graphics/sprites/manaplus_emotions.png
index c6f49ff29..1b2815b87 100644
--- a/data/graphics/sprites/manaplus_emotions.png
+++ b/data/graphics/sprites/manaplus_emotions.png
Binary files differ
diff --git a/data/icons/manaplus.xpm b/data/icons/manaplus.xpm
index 33de9197a..df48f3ad3 100644
--- a/data/icons/manaplus.xpm
+++ b/data/icons/manaplus.xpm
@@ -3,39 +3,39 @@ static char * manaplus_xpm[] = {
"32 32 6 1",
" c None",
". c #FF6600",
-"+ c #FF6500",
-"@ c #FF6400",
-"# c #FF6700",
-"$ c #FF6300",
-" .+.++.. ",
-" ..+...@ .+.# ",
-" ++..@ @ ",
-" ..+. +@ ",
-" +.+. $ ++ ",
-" ..+. @@$@+$$ ",
-" .... $++++@",
-" +..+ @@ ",
-" ..+ +@ ",
-" +.. ... ... ",
-" ..+ ...+.+.....+....++ ",
-" ... #.... ....+. ..... ",
-" ... ....+ ..... .... ",
-"@..+ +... .... ...+ ",
-"+.. .... .... .... ",
+"X c #FF6500",
+"o c #FF6400",
+"O c #FF6700",
+"+ c #FF6300",
+" .X.XX.. ",
+" ..X...o .X.O ",
+" XX..o . ",
+" ..X. o ",
+" X.X. + XX ",
+" ..X. o+oX+ ",
+" .... +XXXX ",
+" X..X oo .",
+" ..X o ",
+" X.. ... ... . ",
+" ..X ...X.X.....X....XX ",
+" ... O.... ....X. ..... ",
+" ... ....X ..... .... ",
+"o..X X... .... ...X ",
+"X.. .... .... .... ",
"... .... .... .... ",
-"... .... .... ...+ ",
-"... .... .... ...+ ",
-"... +...+ ..... ...+ ",
-"... +... +... +... ",
-" .. .... .... +..+ ",
-" .. ...+ .... ....+++.+.",
-" +. ... ... ..+.. +",
-" .+ + .",
-" +. .. .+",
-" +. .. ++ ",
-" .. +.+ ++ ",
-" ++ +...+.. ",
-" .+ +.....+ ",
-" ++ ....+.. ",
-" +++.#.++.+.+.. ",
-" ..+..+.. "};
+"... .... .... ...X ",
+"... .... .... ...X ",
+"... X...X ..... ...X ",
+"... X... X... X... ",
+" .. .... .... X..X ",
+" .. ...X .... ....XXX.X.",
+" X. ... ... ..X.. X",
+" .X X .",
+" X. .. .X",
+" X. .. XX ",
+" .. X.X XX ",
+" XX X...X.. ",
+" .X X.....X ",
+" XX ....X.. ",
+" XXX.O.XX.X.X.. ",
+" ..X..X.. "};
diff --git a/data/tmw/images/loginwallpaper_800x600.png b/data/tmw/images/loginwallpaper_800x600.png
new file mode 100644
index 000000000..e3a6e492d
--- /dev/null
+++ b/data/tmw/images/loginwallpaper_800x600.png
Binary files differ
diff --git a/data/tmw/tmw.manaplus b/data/tmw/tmw.manaplus
new file mode 100644
index 000000000..47688e1d0
--- /dev/null
+++ b/data/tmw/tmw.manaplus
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+
+<configuration>
+ <option name="appName" value="The Mana World"/>
+ <option name="appShort" value="mana"/>
+ <option name="appIcon" value="icons/manaplus.png"/>
+ <option name="loginMusic" value="Magick - Real.ogg"/>
+ <option name="onlineServerList" value="http://manasource.org/serverlist.xml"/>
+ <option name="defaultServer" value="server.themanaworld.org"/>
+ <option name="defaultPort" value="6901"/>
+ <option name="defaultServerType" value="evol"/>
+ <option name="font" value="fonts/dejavusans.ttf" />
+ <option name="boldFont" value="fonts/dejavusans-bold.ttf" />
+ <option name="theme" value="wood" />
+ <option name="wallpapersPath" value="tmw/images/" />
+ <option name="wallpaperFile" value="loginwallpaper_800x600.png" />
+</configuration>
diff --git a/docs/example.manaplus b/docs/example.manaplus
index 8be9c675e..2a580463f 100644
--- a/docs/example.manaplus
+++ b/docs/example.manaplus
@@ -9,9 +9,9 @@ filename / path as a command line parameter
-->
<configuration>
- <option name="appName" value="Mana"/>
+ <option name="appName" value="ManaPlus"/>
<option name="appShort" value="mana"/>
- <option name="appIcon" value="icons/manaplus.png"/>
+ <option name="appIcon" value="icons/manaplus"/>
<option name="loginMusic" value="Magick - Real.ogg"/>
<option name="onlineServerList" value="http://manasource.org/serverlist.xml"/>
<option name="defaultServer" value="server.themanaworld.org"/>
diff --git a/nightly/buildlinux.sh b/nightly/buildlinux.sh
index b6f3efc77..c5cec9a41 100755
--- a/nightly/buildlinux.sh
+++ b/nightly/buildlinux.sh
@@ -29,4 +29,5 @@ then
cp src/manaplus $DSTDIR/bin
cp nightly/runme.sh $DSTDIR
cp "nightly/run tests.sh" $DSTDIR
+ cp nightly/evol.sh $DSTDIR
fi
diff --git a/nightly/buildwindows.sh b/nightly/buildwindows.sh
index b55ea8134..3cb9d6607 100755
--- a/nightly/buildwindows.sh
+++ b/nightly/buildwindows.sh
@@ -29,3 +29,11 @@ makensis -DDLLDIR=$dir/../packaging/windows/libs/dll/ \
-DUPX=true \
setup.nsi
+cp ../../nightly/setup_finish.bmp .
+cp ../../nightly/setup_welcome.bmp .
+
+makensis -DDLLDIR=$dir/../packaging/windows/libs/dll/ \
+ -DPRODUCT_VERSION="nightly-$1" \
+ -DEXESUFFIX=/src \
+ -DUPX=true \
+ evol.nsi
diff --git a/nightly/evol.sh b/nightly/evol.sh
new file mode 100755
index 000000000..06af1d85a
--- /dev/null
+++ b/nightly/evol.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+DIR=$(dirname "$(readlink -f $0)")
+cd "$DIR"
+export LD_LIBRARY_PATH="$DIR"/libs/:$LD_LIBRARY_PATH
+./bin/manaplus ./data/evol/evol.manaplus
diff --git a/packaging/windows/evol.nsi b/packaging/windows/evol.nsi
new file mode 100644
index 000000000..ffd3dae3f
--- /dev/null
+++ b/packaging/windows/evol.nsi
@@ -0,0 +1,436 @@
+; This script allows the following parameters being overwritten from
+; command line. When called without any parameters it behaves exactly
+; like the old install script.
+;
+; DLLDIR - directory containing required dlls
+; EXEDIR - directory containing manaplus.exe
+; EXESUFFIX - offset to SRCDIR pointing to a directory containing manaplus.exe
+; PRODUCT_VERSION - software version
+; UPX - upx binary name
+;
+; For a cmake build on UNIX the following should give you a working installer:
+; makensis -DDLLDIR=/path/to/dlls \
+; -DPRODUCT_VERSION=0.1.`date +%Y%m%d`
+; -DUPX=upx
+; -DEXESUFFIX=/src
+
+CRCCheck on
+SetCompress off
+SetCompressor /SOLID lzma
+
+RequestExecutionLevel admin
+
+!define SRCDIR "..\.."
+!ifndef UPX
+ !define "UPX upx\upx.exe"
+!endif
+
+!ifdef EXESUFFIX
+ !define EXEDIR ${SRCDIR}/${EXESUFFIX}
+!endif
+
+!ifndef EXEDIR
+ !define EXEDIR ${SRCDIR}
+!endif
+
+!ifndef DLLDIR
+ !define DLLDIR ${SRCDIR}/dll
+!endif
+
+;--- (and without !defines ) ---
+!System "${UPX} --best --crp-ms=999999 --compress-icons=0 --nrv2d ${EXEDIR}\manaplus.exe"
+
+!define MULTIUSER_INSTALLMODE_COMMANDLINE
+!include "MultiUser.nsh"
+
+; HM NIS Edit helper defines
+!define PRODUCT_NAME "EvolClient"
+!ifndef PRODUCT_VERSION
+ !define PRODUCT_VERSION "1.1"
+!endif
+!define PRODUCT_PUBLISHER "Evol Online Delopment Team"
+!define PRODUCT_WEB_SITE "http://www.evolonline.org/"
+!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\manaplus.exe"
+!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
+!define PRODUCT_UNINST_ROOT_KEY "SHCTX"
+
+!include "FileAssociation.nsh"
+
+; MUI 1.67 compatible ------
+!include "MUI.nsh"
+
+; MUI Settings
+!define MUI_ABORTWARNING
+;!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\win-install.ico"
+!define MUI_ICON "${SRCDIR}\data\evol\icons\evol-client.ico"
+;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\win-uninstall.ico"
+!define MUI_UNICON "${SRCDIR}\data\evol\icons\evol-client.ico"
+
+;Language Selection Dialog Settings
+;Remember the installer language
+!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
+!define MUI_LANGDLL_REGISTRY_KEY "Software\EvolOnline"
+!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+
+!define MUI_WELCOMEFINISHPAGE_BITMAP "setup_welcome.bmp"
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP "setup_welcome.bmp"
+
+; Welcome page
+
+!define MUI_WELCOMEPAGE_TITLE_3LINES
+!insertmacro MUI_PAGE_WELCOME
+; License page
+!insertmacro MUI_PAGE_LICENSE "${SRCDIR}\COPYING"
+; Directory page
+!insertmacro MUI_PAGE_DIRECTORY
+; Components page
+!insertmacro MUI_PAGE_COMPONENTS
+; Instfiles page
+!insertmacro MUI_PAGE_INSTFILES
+; Finish page
+!define MUI_FINISHPAGE_RUN
+!define MUI_FINISHPAGE_RUN_FUNCTION RunEvol
+!define MUI_FINISHPAGE_SHOWREADME 'notepad.exe "$\"$INSTDIR\README$\""'
+!define MUI_PAGE_CUSTOMFUNCTION_PRE changeFinishImage
+!define MUI_FINISHPAGE_LINK "Visit EvolOnline website for the latest news, FAQs and support"
+!define MUI_FINISHPAGE_LINK_LOCATION "http://www.evolonline.org/"
+!insertmacro MUI_PAGE_FINISH
+
+Function RunEvol
+SetOutPath $INSTDIR
+Exec "$INSTDIR\manaplus.exe $INSTDIR\evol.manaplus"
+FunctionEnd
+
+Function changeFinishImage
+!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "$PLUGINSDIR\setup_finish.bmp"
+FunctionEnd
+
+; Uninstaller pages
+
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+!define MUI_FINISHPAGE_TITLE_3LINES
+!insertmacro MUI_UNPAGE_FINISH
+
+;Languages
+!insertmacro MUI_LANGUAGE "English" # first language is the default language
+!insertmacro MUI_LANGUAGE "French"
+!insertmacro MUI_LANGUAGE "German"
+!insertmacro MUI_LANGUAGE "Spanish"
+!insertmacro MUI_LANGUAGE "SimpChinese"
+!insertmacro MUI_LANGUAGE "TradChinese"
+!insertmacro MUI_LANGUAGE "Japanese"
+!insertmacro MUI_LANGUAGE "Korean"
+!insertmacro MUI_LANGUAGE "Italian"
+!insertmacro MUI_LANGUAGE "Dutch"
+!insertmacro MUI_LANGUAGE "Danish"
+!insertmacro MUI_LANGUAGE "Swedish"
+!insertmacro MUI_LANGUAGE "Norwegian"
+!insertmacro MUI_LANGUAGE "Finnish"
+!insertmacro MUI_LANGUAGE "Greek"
+!insertmacro MUI_LANGUAGE "Russian"
+!insertmacro MUI_LANGUAGE "Portuguese"
+!insertmacro MUI_LANGUAGE "PortugueseBR"
+!insertmacro MUI_LANGUAGE "Polish"
+!insertmacro MUI_LANGUAGE "Ukrainian"
+!insertmacro MUI_LANGUAGE "Czech"
+!insertmacro MUI_LANGUAGE "Slovak"
+!insertmacro MUI_LANGUAGE "Croatian"
+!insertmacro MUI_LANGUAGE "Bulgarian"
+!insertmacro MUI_LANGUAGE "Hungarian"
+!insertmacro MUI_LANGUAGE "Thai"
+!insertmacro MUI_LANGUAGE "Romanian"
+!insertmacro MUI_LANGUAGE "Latvian"
+!insertmacro MUI_LANGUAGE "Macedonian"
+!insertmacro MUI_LANGUAGE "Estonian"
+!insertmacro MUI_LANGUAGE "Turkish"
+!insertmacro MUI_LANGUAGE "Lithuanian"
+!insertmacro MUI_LANGUAGE "Catalan"
+!insertmacro MUI_LANGUAGE "Slovenian"
+!insertmacro MUI_LANGUAGE "Serbian"
+!insertmacro MUI_LANGUAGE "SerbianLatin"
+!insertmacro MUI_LANGUAGE "Arabic"
+!insertmacro MUI_LANGUAGE "Farsi"
+!insertmacro MUI_LANGUAGE "Hebrew"
+!insertmacro MUI_LANGUAGE "Indonesian"
+!insertmacro MUI_LANGUAGE "Mongolian"
+!insertmacro MUI_LANGUAGE "Luxembourgish"
+!insertmacro MUI_LANGUAGE "Albanian"
+!insertmacro MUI_LANGUAGE "Breton"
+!insertmacro MUI_LANGUAGE "Belarusian"
+!insertmacro MUI_LANGUAGE "Icelandic"
+!insertmacro MUI_LANGUAGE "Malay"
+!insertmacro MUI_LANGUAGE "Bosnian"
+!insertmacro MUI_LANGUAGE "Kurdish"
+
+!insertmacro MUI_RESERVEFILE_LANGDLL
+
+ReserveFile "setup_finish.bmp"
+
+; MUI end ------
+
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
+OutFile "evol-${PRODUCT_VERSION}-win32.exe"
+InstallDir "$PROGRAMFILES\EvolOnline"
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
+ShowInstDetails show
+ShowUnInstDetails show
+RequestExecutionLevel admin
+
+Function .onInit
+ !insertmacro MULTIUSER_INIT
+ !insertmacro MUI_LANGDLL_DISPLAY
+ InitPluginsDir
+ File /oname=$PLUGINSDIR\setup_finish.bmp "setup_finish.bmp"
+
+ ReadRegStr $R0 SHCTX \
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" \
+ "UninstallString"
+ StrCmp $R0 "" done
+
+ MessageBox MB_YESNO|MB_ICONEXCLAMATION \
+ "${PRODUCT_NAME} is already installed. $\n$\nClick `YES` (recomended) to remove the \
+ previous version or `NO` to install new version over old version." \
+ IDNO done
+
+;Run the uninstaller
+uninst:
+ ClearErrors
+ ExecWait '$R0' ;Do not copy the uninstaller to a temp file
+
+ IfErrors no_remove_uninstaller done
+ ;You can either use Delete /REBOOTOK in the uninstaller or add some code
+ ;here to remove the uninstaller. Use a registry key to check
+ ;whether the user has chosen to uninstall. If you are using an uninstaller
+ ;components page, make sure all sections are uninstalled.
+ no_remove_uninstaller:
+
+done:
+
+FunctionEnd
+
+
+Section "Core files (required)" SecCore
+ SectionIn RO
+ SetOutPath "$INSTDIR"
+ SetOverwrite ifnewer
+ CreateDirectory "$INSTDIR\data"
+ CreateDirectory "$INSTDIR\data\evol"
+ CreateDirectory "$INSTDIR\data\evol\icons"
+ CreateDirectory "$INSTDIR\data\evol\images"
+ CreateDirectory "$INSTDIR\data\fonts"
+ CreateDirectory "$INSTDIR\data\graphics"
+ CreateDirectory "$INSTDIR\data\help"
+ CreateDirectory "$INSTDIR\data\help\fr"
+ CreateDirectory "$INSTDIR\data\help\pt"
+ CreateDirectory "$INSTDIR\data\help\pt\tips"
+ CreateDirectory "$INSTDIR\data\help\pt_BR"
+ CreateDirectory "$INSTDIR\data\help\pt_BR\tips"
+ CreateDirectory "$INSTDIR\data\help\ru"
+ CreateDirectory "$INSTDIR\data\help\ru\tips"
+ CreateDirectory "$INSTDIR\data\help\tips"
+ CreateDirectory "$INSTDIR\data\icons"
+ CreateDirectory "$INSTDIR\data\perserver"
+ CreateDirectory "$INSTDIR\data\perserver\default"
+ CreateDirectory "$INSTDIR\data\graphics\gui"
+ CreateDirectory "$INSTDIR\data\graphics\images"
+ CreateDirectory "$INSTDIR\data\graphics\sprites"
+ CreateDirectory "$INSTDIR\data\sfx"
+ CreateDirectory "$INSTDIR\data\sfx\system"
+ CreateDirectory "$INSTDIR\data\themes"
+ CreateDirectory "$INSTDIR\data\themes\blackwood"
+ CreateDirectory "$INSTDIR\data\themes\classic"
+ CreateDirectory "$INSTDIR\data\themes\enchilado"
+ CreateDirectory "$INSTDIR\data\themes\mana"
+ CreateDirectory "$INSTDIR\data\themes\pink"
+ CreateDirectory "$INSTDIR\data\themes\redandblack"
+ CreateDirectory "$INSTDIR\data\themes\unity"
+ CreateDirectory "$INSTDIR\data\themes\wood"
+ CreateDirectory "$INSTDIR\docs"
+
+ SetOverwrite ifnewer
+ SetOutPath "$INSTDIR"
+
+ File "${EXEDIR}\manaplus.exe"
+ File "${DLLDIR}\SDL.dll"
+ File "${DLLDIR}\SDL_image.dll"
+ File "${DLLDIR}\SDL_mixer.dll"
+ File "${DLLDIR}\SDL_net.dll"
+ File "${DLLDIR}\SDL_ttf.dll"
+ File "${DLLDIR}\exchndl.dll"
+ File "${DLLDIR}\SDL_gfx.dll"
+ File "${DLLDIR}\libcurl-4.dll"
+ File "${DLLDIR}\libiconv-2.dll"
+ File "${DLLDIR}\libiconv2.dll"
+ File "${DLLDIR}\libintl3.dll"
+ File "${DLLDIR}\libpng12-0.dll"
+ File "${DLLDIR}\libxml2-2.dll"
+ File "${DLLDIR}\zlib1.dll"
+ File "${SRCDIR}\AUTHORS"
+ File "${SRCDIR}\COPYING"
+ File "${SRCDIR}\NEWS"
+ File "${SRCDIR}\README.txt"
+ SetOutPath "$INSTDIR\data\fonts"
+ File "${SRCDIR}\data\fonts\*.ttf"
+ SetOutPath "$INSTDIR\data\graphics\gui"
+ File "${SRCDIR}\data\graphics\gui\*.png"
+ File "${SRCDIR}\data\graphics\gui\*.xml"
+ SetOutPath "$INSTDIR\data\graphics\images"
+ File /x minimap_*.png ${SRCDIR}\data\graphics\images\*.png
+ File "${SRCDIR}\data\graphics\images\error.png"
+ SetOutPath "$INSTDIR\data\graphics\sprites"
+ File "${SRCDIR}\data\graphics\sprites\*.gif"
+ File "${SRCDIR}\data\graphics\sprites\*.png"
+ File "${SRCDIR}\data\graphics\sprites\*.xml"
+ SetOutPath "$INSTDIR\data\sfx\system"
+ File "${SRCDIR}\data\sfx\system\*.ogg"
+ SetOutPath "$INSTDIR\data\themes\blackwood"
+ File "${SRCDIR}\data\themes\blackwood\*.png"
+ File "${SRCDIR}\data\themes\blackwood\*.xml"
+ SetOutPath "$INSTDIR\data\themes\mana"
+ File "${SRCDIR}\data\themes\mana\*.xml"
+ SetOutPath "$INSTDIR\data\themes\enchilado"
+ File "${SRCDIR}\data\themes\enchilado\*.png"
+ File "${SRCDIR}\data\themes\enchilado\*.xml"
+ SetOutPath "$INSTDIR\data\themes\pink"
+ File "${SRCDIR}\data\themes\pink\*.png"
+ File "${SRCDIR}\data\themes\pink\*.xml"
+ SetOutPath "$INSTDIR\data\themes\redandblack"
+ File "${SRCDIR}\data\themes\redandblack\*.png"
+ File "${SRCDIR}\data\themes\redandblack\*.xml"
+ SetOutPath "$INSTDIR\data\themes\unity"
+ File "${SRCDIR}\data\themes\unity\*.png"
+ File "${SRCDIR}\data\themes\unity\*.xml"
+ SetOutPath "$INSTDIR\data\themes\wood"
+ File "${SRCDIR}\data\themes\wood\*.png"
+ File "${SRCDIR}\data\themes\wood\*.xml"
+ SetOutPath "$INSTDIR\data\help"
+ File "${SRCDIR}\data\help\*.txt"
+ SetOutPath "$INSTDIR\data\help\fr"
+ File "${SRCDIR}\data\help\fr\*.txt"
+ SetOutPath "$INSTDIR\data\help\pt\tips"
+ File "${SRCDIR}\data\help\pt\tips\*.txt"
+ SetOutPath "$INSTDIR\data\help\pt_BR\tips"
+ File "${SRCDIR}\data\help\pt_BR\tips\*.txt"
+ SetOutPath "$INSTDIR\data\help\ru"
+ File "${SRCDIR}\data\help\ru\*.txt"
+ SetOutPath "$INSTDIR\data\help\ru\tips"
+ File "${SRCDIR}\data\help\ru\tips\*.txt"
+ SetOutPath "$INSTDIR\data\help\tips"
+ File "${SRCDIR}\data\help\tips\*.txt"
+ File "${SRCDIR}\data\help\tips\*.jpg"
+ SetOutPath "$INSTDIR\data\icons\"
+ File "${SRCDIR}\data\icons\manaplus.ico"
+ SetOutPath "$INSTDIR\data\perserver\default\"
+ File "${SRCDIR}\data\perserver\default\*.txt"
+ File "${SRCDIR}\data\perserver\default\*.xml"
+ SetOutPath "$INSTDIR\docs"
+ File "${SRCDIR}\docs\FAQ.txt"
+ SetOutPath "$INSTDIR"
+ File "${SRCDIR}\data\evol\evol.manaplus"
+ SetOutPath "$INSTDIR\data\evol\images"
+ File "${SRCDIR}\data\evol\images\*.png"
+ SetOutPath "$INSTDIR\data\evol\icons"
+ File "${SRCDIR}\data\evol\icons\*.ico"
+SectionEnd
+
+Section "Create Shortcuts" SecShortcuts
+ SetOutPath "$INSTDIR"
+ SetOverwrite ifnewer
+ CreateDirectory "$SMPROGRAMS\EvolOnline"
+ CreateShortCut "$SMPROGRAMS\EvolOnline\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
+ CreateShortCut "$SMPROGRAMS\EvolOnline\EvolOnline (no opengl).lnk" '"$INSTDIR\manaplus.exe"' '"--no-opengl" "$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
+ CreateShortCut "$SMPROGRAMS\EvolOnline\EvolOnline (safemode).lnk" '"$INSTDIR\manaplus.exe"' '"--safemode" "$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
+ CreateShortCut "$SMPROGRAMS\EvolOnline\EvolOnline (tests).lnk" '"$INSTDIR\manaplus.exe"' '"--tests" "$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
+ CreateShortCut "$DESKTOP\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
+ CreateShortCut "$DESKTOP\EvolOnline (tests).lnk" '"$INSTDIR\manaplus.exe"' '"--tests" "$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
+
+ ${registerExtension} "$INSTDIR\manaplus.exe" ".manaplus" "ManaPlus brandings"
+SectionEnd
+
+Section /o "Portable" SecPortable
+ SetOutPath "$INSTDIR"
+ File "portable.xml"
+SectionEnd
+
+Section /o "Evol Online music" SecEvolMusic
+ AddSize 9787
+ CreateDirectory "$INSTDIR\data\music"
+ SetOutPath "$INSTDIR\data\music"
+ NSISdl::download "http://downloads.sourceforge.net/project/evolonline/music/evolmusic-beta1-1.tar.gz" "$TEMP\evolmusic-beta1-1.tar.gz"
+ untgz::extract -j -d "$INSTDIR\data\music" "$TEMP\evolmusic-beta1-1.tar.gz"
+ Delete "$TEMP\evolmusic-beta1-1.tar.gz"
+SectionEnd
+
+Section "Translations" SecTrans
+ SetOutPath "$INSTDIR"
+ File /nonfatal /r "${SRCDIR}\translations"
+SectionEnd
+
+;Package descriptions
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "The core program files."
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} "Create game shortcuts and register extensions."
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecPortable} "Portable client. (If selected client will work as portable client.)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecEvolMusic} "Background evol music. (If selected the evol music will be downloaded from the internet.)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecTrans} "Translations for the user interface. Uncheck this component to leave it in English."
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+
+
+Section -AdditionalIcons
+ WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
+ WriteIniStr "$INSTDIR\ManaPlus.url" "InternetShortcut" "URL" "http://manaplus.evolonline.org/"
+ CreateShortCut "$SMPROGRAMS\EvolOnline\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
+ CreateShortCut "$SMPROGRAMS\EvolOnline\Readme.lnk" "notepad.exe" "$INSTDIR\README.txt"
+ CreateShortCut "$SMPROGRAMS\EvolOnline\FAQ.lnk" "$INSTDIR\docs\FAQ.txt"
+ CreateShortCut "$SMPROGRAMS\EvolOnline\Uninstall.lnk" "$INSTDIR\uninst.exe"
+SectionEnd
+
+Section -Post
+ WriteUninstaller "$INSTDIR\uninst.exe"
+ WriteRegStr SHCTX "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\manaplus.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\manaplus.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
+SectionEnd
+
+Function un.onInit
+ !insertmacro MUI_UNGETLANGUAGE
+ !insertmacro MULTIUSER_UNINIT
+FunctionEnd
+
+Section Uninstall
+ DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\EvolOnline"
+
+ Delete "$INSTDIR\*.*"
+
+ Delete "$SMPROGRAMS\EvolOnline\Uninstall.lnk"
+ Delete "$DESKTOP\EvolOnline.lnk"
+ Delete "$DESKTOP\EvolOnline (tests).lnk"
+ Delete "$SMPROGRAMS\EvolOnline\EvolOnline.lnk"
+ Delete "$SMPROGRAMS\EvolOnline\EvolOnline (no opengl).lnk"
+ Delete "$SMPROGRAMS\EvolOnline\EvolOnline (safemode).lnk"
+ Delete "$SMPROGRAMS\EvolOnline\EvolOnline (tests).lnk"
+ Delete "$SMPROGRAMS\EvolOnline\Website.lnk"
+ Delete "$SMPROGRAMS\EvolOnline\Readme.lnk"
+ Delete "$SMPROGRAMS\EvolOnline\FAQ.lnk"
+ Delete "$SMPROGRAMS\EvolOnline\EvolOnline.lnk"
+ Delete "$DESKTOP\EvolOnline.lnk"
+
+ RMDir "$SMPROGRAMS\EvolOnline"
+
+ RMDir /r "$INSTDIR\data"
+ RMDir /r "$INSTDIR\docs"
+ RMDir /r "$INSTDIR\translations"
+ RMDir /r "$INSTDIR\updates"
+ RMDir "$INSTDIR"
+
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
+ DeleteRegKey SHCTX "${PRODUCT_DIR_REGKEY}"
+ ${unregisterExtension} ".manaplus" "ManaPlus brandings"
+ SetAutoClose true
+SectionEnd
diff --git a/packaging/windows/setup.nsi b/packaging/windows/setup.nsi
index 1a4beb87c..38780e297 100644
--- a/packaging/windows/setup.nsi
+++ b/packaging/windows/setup.nsi
@@ -175,6 +175,7 @@ InstallDir "$PROGRAMFILES\Mana"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
ShowUnInstDetails show
+RequestExecutionLevel admin
Function .onInit
!insertmacro MULTIUSER_INIT
@@ -338,8 +339,8 @@ Section "Create Shortcuts" SecShortcuts
${registerExtension} "$INSTDIR\manaplus.exe" ".manaplus" "ManaPlus brandings"
SectionEnd
-Section /o "Music for tmw" SecMusic
- AddSize 17602
+Section /o "Tmw music" SecTmwMusic
+ AddSize 25200
CreateDirectory "$INSTDIR\data\music"
SetOutPath "$INSTDIR\data\music"
NSISdl::download "http://downloads.sourceforge.net/themanaworld/tmwmusic-0.3.tar.gz" "$TEMP\tmwmusic-0.3.tar.gz"
@@ -353,6 +354,32 @@ Section /o "Portable" SecPortable
File "portable.xml"
SectionEnd
+Section /o "Evol Online music" SecEvolMusic
+ AddSize 9787
+ CreateDirectory "$INSTDIR\data\music"
+ SetOutPath "$INSTDIR\data\music"
+ NSISdl::download "http://downloads.sourceforge.net/project/evolonline/music/evolmusic-beta1-1.tar.gz" "$TEMP\evolmusic-beta1-1.tar.gz"
+ untgz::extract -j -d "$INSTDIR\data\music" "$TEMP\evolmusic-beta1-1.tar.gz"
+ Delete "$TEMP\evolmusic-beta1-1.tar.gz"
+SectionEnd
+
+Section "Evol Online shortcuts" SecEvol
+ SetOutPath "$INSTDIR"
+ CreateDirectory "$INSTDIR\data\evol"
+ CreateDirectory "$INSTDIR\data\evol\icons"
+ CreateDirectory "$INSTDIR\data\evol\images"
+
+ SetOutPath "$INSTDIR"
+ File "${SRCDIR}\data\evol\evol.manaplus"
+ SetOutPath "$INSTDIR\data\evol\images"
+ File "${SRCDIR}\data\evol\images\*.png"
+ SetOutPath "$INSTDIR\data\evol\icons"
+ File "${SRCDIR}\data\evol\icons\*.ico"
+
+ CreateShortCut "$SMPROGRAMS\Mana\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
+ CreateShortCut "$DESKTOP\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
+SectionEnd
+
Section "Translations" SecTrans
SetOutPath "$INSTDIR"
File /nonfatal /r "${SRCDIR}\translations"
@@ -362,8 +389,10 @@ SectionEnd
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "The core program files."
!insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} "Create game shortcuts and register extensions."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecMusic} "Background tmw music. (If selected the tmw music will be downloaded from the internet.)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecTmwMusic} "Background tmw music. (If selected the tmw music will be downloaded from the internet.)"
!insertmacro MUI_DESCRIPTION_TEXT ${SecPortable} "Portable client. (If selected client will work as portable client.)"
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecEvol} "Create shortcuts for Evol Online."
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecEvolMusic} "Background evol music. (If selected the evol music will be downloaded from the internet.)"
!insertmacro MUI_DESCRIPTION_TEXT ${SecTrans} "Translations for the user interface. Uncheck this component to leave it in English."
!insertmacro MUI_FUNCTION_DESCRIPTION_END
@@ -408,6 +437,8 @@ Section Uninstall
Delete "$SMPROGRAMS\Mana\Website.lnk"
Delete "$SMPROGRAMS\Mana\Readme.lnk"
Delete "$SMPROGRAMS\Mana\FAQ.lnk"
+ Delete "$SMPROGRAMS\Mana\EvolOnline.lnk"
+ Delete "$DESKTOP\EvolOnline.lnk"
RMDir "$SMPROGRAMS\Mana"
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 8feef4b97..652b43d3f 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -18,6 +18,7 @@ src/gui/connectiondialog.cpp
src/gui/debugwindow.cpp
src/gui/didyouknowwindow.cpp
src/gui/editdialog.cpp
+src/gui/editserverdialog.cpp
src/gui/equipmentwindow.cpp
src/gui/helpwindow.cpp
src/gui/inventorywindow.cpp
diff --git a/po/cs.po b/po/cs.po
index 6f83f1062..107933f31 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-05 20:43+0000\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-02 16:45+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Czech (http://www.transifex.net/projects/p/manaplus/team/"
"cs/)\n"
@@ -34,122 +34,122 @@ msgid "miss"
msgstr "minul"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr ""
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr ""
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Nastavení"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Výkon"
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Video"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr ""
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "Připojuji se k serveru"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "Přihlašuji se"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Vstupuji do herního světa"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Požaduji postavy"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "Připojuji se k hernímu serveru"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Zaměňuji herní servery"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "Chyba"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Požaduji registraÄní detaily"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Změna hesla"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "Heslo úspěšně změněno!"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "Změna emailu"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "Email úspěšně změněn!"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "Zrušení registrace úspěšné"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "Nashledanou, vraťte se kdykoli..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Neplatný host updatů: %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "Chyba při vytváření adresáře s updaty!"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Chyba: %s neexistuje a nelze ho vytvoÅ™it. UkonÄuji."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "Neznámý příkaz."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "Nelze zaslat prázdné šeptání!"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -158,105 +158,105 @@ msgstr ""
"Nelze vytvoÅ™it záložku se Å¡eptáním pro \"%s\"! BuÄto záložka existuje nebo "
"jsi to ty."
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Chybí jméno party."
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Chybí jméno guildy."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "Prosím zadej jméno."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "Enter přepíná chat."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "Zpráva zavírá chat."
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "Enter nyní přepíná chat."
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "Zpráva nyní ukonÄuje chat."
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "přítel"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "přehlížený"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "neutrální"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "HrÃ¡Ä je již %s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "HrÃ¡Ä byl úspěšnÄ› zaÅ™azen jako %s!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "HrÃ¡Ä nemůže být zaÅ™azen jako %s!"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "HrÃ¡Ä nebyl ignorován!"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "HrÃ¡Ä již není ignorován!"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "HrÃ¡Ä nemůže být odignorován!"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr ""
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "HrÃ¡Ä již byl vymazán!"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "HrÃ¡Ä byl úspěšnÄ› vymazán!"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "HrÃ¡Ä nemůže být vymazán!"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr "Doba běhu klienta: %s"
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
@@ -264,7 +264,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
@@ -272,7 +272,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
@@ -280,7 +280,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
@@ -288,7 +288,7 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
@@ -296,27 +296,27 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr "velikost chache fontů"
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr "Velikost cache:"
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "Vytvořeno:"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "Odstraněno:"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr ""
@@ -325,43 +325,43 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr ""
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr ""
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Snímky obrazovky ukládat jako "
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "Ukládání snímku obrazovky selhalo!"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "Spojení se serverem bylo ztraceno."
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "Chyba sítě"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Ignorovat příchozí žádosti o obchodování"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Akceptovat příchozí žádosti o obchodování"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "Nelze naÄíst mapu"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "Chyba pÅ™i naÄítání %s"
@@ -415,7 +415,7 @@ msgstr ""
msgid "Result"
msgstr "Výsledek"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "Vynulovat"
@@ -437,30 +437,30 @@ msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr ""
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "UkonÄit"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "VÅ¡e"
@@ -477,21 +477,21 @@ msgid "Sell"
msgstr "Prodej"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Zrušit"
@@ -527,7 +527,7 @@ msgstr "Emailové adresy nesouhlasí."
msgid "Change Password"
msgstr "Změnit heslo"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Heslo:"
@@ -554,68 +554,73 @@ msgstr "Nové heslo musí být méně než.%d znaků dlouhé."
msgid "The new password entries mismatch."
msgstr "Nová hesla nesouhlasí."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Vytvořit postavu"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr ""
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "Jméno:"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr ""
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Barva vlasů:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "ÚÄes:"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr ""
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "Rasa:"
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Vytvořit"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Muž"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Žena"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "Rozdělte prosím %d bodů"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Vaše jméno musí mít nejméně 4 znaky."
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Stav postavy je OK"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "Odstraňte prosím %d bodů"
@@ -657,9 +662,9 @@ msgstr "Zadej heslo pro smazání postavy"
msgid "Enter password:"
msgstr "Zadej heslo:"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Smazat"
@@ -734,7 +739,7 @@ msgstr "duhová 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -746,12 +751,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Přítomno: %s; %d hráÄů je přítomno."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Šeptání pro %s: %s"
@@ -915,8 +920,8 @@ msgid "Did You Know?"
msgstr "Víte že ... ?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Zavřít"
@@ -932,11 +937,36 @@ msgstr "Další >"
msgid "Auto open this window"
msgstr "Automaticky otevírat toto okno"
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "OK"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Port:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Typ serveru:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr ""
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "Vybavení"
@@ -1034,39 +1064,39 @@ msgstr "Vzít"
msgid "Drop"
msgstr "Upustit"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "VÅ¡e"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Vyberte množství předmětů, se kterými budete obchodovat."
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Vyberte množství předmětů, které chcete upustit."
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Vyberte množství předmětů, které chcete uskladnit."
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Vyberte množství předmětů, které chcete obdržet."
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Vyberte množství předmětů, které chcete rozdělit."
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Přidat k nákupu."
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Přidat k prodeji."
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "Neznámý."
@@ -1185,32 +1215,31 @@ msgstr "Automaticky zavírat"
msgid "Skip"
msgstr "PÅ™eskoÄit"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Přihlášení"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Server:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Vlastní host updatů"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Pamatovat přihlášení"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "Updaty:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "Registrace"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Změnit server"
@@ -1254,24 +1283,24 @@ msgstr "stavový řádek"
msgid "Need"
msgstr "Potřebuješ"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr ""
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Další"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Odeslat"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "Vyprázdnit"
@@ -1287,12 +1316,13 @@ msgstr "Odeslat"
msgid "Failed to send as sender or letter invalid."
msgstr "Odeslání se nezdařilo. odesílatel nebo dopis není platný."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "Výstroj: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Klávesa: %s"
@@ -1697,64 +1727,58 @@ msgstr "Heslo musí být kratší než %d znaků."
msgid "Passwords do not match."
msgstr "Hesla se neshodují."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Zvolte server"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "Zvolte server *** BEZPEČNà MÓD ***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Port:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "Použít stejnou IP pro herní sub servery"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Typ serveru:"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "NaÄíst"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "Připojit"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "Vlastní server"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "Přidat"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Prosím zadejte adresu a port serveru."
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Upravit"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Stahuji seznam serverů...%2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "Čekám na odezvu serveru..."
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Připravuji stažení"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "Chyba při získávání seznamu serverů!"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "potřebuje novější verzi"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "potřebuje v%s"
@@ -2319,23 +2343,23 @@ msgstr ""
msgid "Enemy"
msgstr ""
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Povolit obchodování"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Povolit šeptání"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Starý"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr "Vztahy"
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Když ignoruji:"
@@ -2463,8 +2487,8 @@ msgstr "Velikost písma"
msgid "Theme Changed"
msgstr "Téma změněno"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Restartujte klient pro aplikováni změn."
@@ -2516,151 +2540,154 @@ msgstr "střední"
msgid "max"
msgstr "max"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Celá obrazovka"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "Vlastní kurzor"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Částicové efekty"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "Zobrazit informaci o sebrání předmětu"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "v chatu"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "jako Äástici"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr ""
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr ""
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "Omezení FPS:"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Altern. FPS omezení:"
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "Neprůhlednost GUI"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "Detaily Äástic"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "Žádné"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
"Selhalo přepnutí do módu v okně a obnovení předchozího módu taktéž selhalo!"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
"Selhalo přepnutí do módu celé obrazovky a obnovení předchozího módu taktéž "
"selhalo!"
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Přepínám na celou obrazovku"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "Pro uplatnění změn je potřeba restart."
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Měním na OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "Změny v OpenGL vyžadují restart."
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Vlastní rozlišení (příklad: 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Zadej nové rozlišení:"
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "Rozlišení obrazovky změněno"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr "Některá okna mohou být přesunuta aby se vešly do menšího okna."
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "Nastavení Äásticových efektů bylo zmÄ›nÄ›no."
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "Změny se projeví až po změně mapy."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "Osobní obchod"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Koupit věci"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Prodat věci"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Přidat"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "Oznámit"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "Zobrazit odkazy v oznámení"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr "Aukce"
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Požadavek k obchodování"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s chce %s %s příjímáte?"
@@ -2787,7 +2814,7 @@ msgstr "Ignorovat monstra"
msgid "Create Guild"
msgstr "Vytvořit gildu"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "Vytvořit partu"
@@ -2799,93 +2826,103 @@ msgstr "SpoleÄenství"
msgid "Invite"
msgstr "Pozvat"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr ""
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr ""
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "Přijato pozvání do party od %s."
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "Odmítnuto přijetí do party od %s."
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "Přijato pozvání do gildy od %s."
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "Odmítnuto pozvání do gildy od %s."
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "Vytvářím gildu s názvem %s."
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "Vytvářím partu s názvem %s."
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "Název gildy"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "Zvolte jméno vaší gildy."
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr "Obdržen požadavek na vytvoření gildy, ale tato již existuje."
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s vás zve ke vstupu do gildy %s."
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "Přílmout pozvání do gildy"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "Obdržen požadavek na vytvoření party, ale tato již existuje."
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "Byli jste pozváni k připojení se do party."
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "Byli jste pozváni k připojení se do party %s."
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s vás pozval ke vstupu do své party."
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s vás zve ke vstupu do party: %s."
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "Přijmout pozvání do party"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "Nemohu vytvoÅ™it partu. Již jste Älenem party."
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "Jméno party"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "Zvolte jméno vaší party."
@@ -3079,29 +3116,29 @@ msgstr "Jméno: %s"
msgid "Updating..."
msgstr "Aktualizuje se..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "Připojuji se..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Hrát"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 Proces aktualizace není kompletní."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 silnÄ› doporuÄujeme zkusit"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 aktualizaci později"
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "Hotovo"
@@ -3253,23 +3290,23 @@ msgstr "Hranice domácího místa"
msgid "Road Point"
msgstr "Bod cesty"
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "Kdo je online - Obnovuji"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "Obnovit"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "Kdo je online - "
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "Kdo je online - chyba"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr ""
@@ -3408,10 +3445,6 @@ msgstr ""
msgid "/kick > Kick some one from the guild you are in"
msgstr ""
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Upravit"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr ""
@@ -3662,7 +3695,7 @@ msgstr ""
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr ""
@@ -3789,184 +3822,186 @@ msgstr "Smajlíky"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "Zkratka smajlíku %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr ""
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "Obléct výstroj"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr "Kopírovat výstroj"
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr "Kopírovat výbavu do výstroje"
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr ""
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "Přepnout chat"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "Rolovat chat nahoru"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "Rolovat chat dolů"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "Předchozí záložka chatu"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "Další záložka chatu"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr "Zavřít stávající záložku chatu"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr "Předchozí řádek chatu"
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr "Další řádek chatu"
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr "Autodoplňování v chatu"
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr "Deaktivovat vstup chatu"
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr ""
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "Ignorovat vstup 1"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "Ignorovat vstup 2"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr "OtoÄit nahoru"
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr "OtoÄit dolů"
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr "OtoÄit vlevo"
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr "OtoÄit vpravo"
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr "Šílené pohyby"
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr "Změnit mód šílených pohybů"
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr ""
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr ""
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr ""
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr "Rychlé léÄení cíle nebo sebe"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr "Použít kouzlo #itenplz"
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "Použít magický útok"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr "Přepnout magický útok"
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr ""
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr "Změnit typ pohybu"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr "ZmÄ›nit typ útoÄné zbranÄ›"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr "Změnit typ útoku"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr "Změnit mód následování"
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr "Změnit mód imitace"
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "Zapnout/Vypnout audio"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr "Zapnout/Vypnout Away mód"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr "Emulovat pravý klik z klávesnice"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr "přemnout mód kamery"
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr "Klávesa modifikátoru"
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -3975,42 +4010,42 @@ msgstr ""
"Konflikt klávesy \"%s\" a klávesy \"%s\". Vyřešte jej, neboť se hra může "
"chovat podivnÄ›."
-#: src/localplayer.cpp:384
-#, fuzzy, c-format
+#: src/localplayer.cpp:385
+#, c-format
msgid "You were killed by %s"
-msgstr "Zabil vás "
+msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr "Snažili jste se sebrat neexistující předmět."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "Předmět je příliš těžký."
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Předmět je příliš daleko."
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "Inventář je plný."
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr "Hromada je příliš velká."
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "Předmět patří někomu jinému."
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr "Neznámý problém při pokusu sebrat předmět."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
@@ -4018,292 +4053,292 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) výchozí pohyby"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr "(I) invertované pohyby"
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr "(c) pohyby s trochou šílených pohybů"
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr "(C) pohyby s šílenými pohyby"
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr "(d) dvojité normální + šílené"
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
msgstr ""
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr ""
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr "(a) vlastní šílené pohyby"
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr "(?) šílené pohyby"
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr "(0) výchozí pohyb k cíli"
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr "(1) pohyb k cíli do vzdálenosti 1"
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr "(2) pohyb k cíli do vzdálenosti 2"
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr "(3) pohyb k cíli do vzdálenosti 3"
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr "(5) pohyb k cíli do vzdálenosti 5"
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr "(7) pohyb k cíli do vzdálenosti 7"
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr "(A) pohyb k cíli na útoÄný dosah"
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr ""
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?) pohyb k cíli"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr "(D) výchozí následování"
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr "(R) relativní následování"
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr "(M) zrcadlené následování"
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr ""
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr "(?) neznámé následování"
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) útok"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) výchozí útok"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr "(s) přepínat útok bez štítu"
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr "(S) přepínat útok se štítem"
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) jdi a útoÄ"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr "(A) jdi, útoÄ, sbírej"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) bez automatického útoku"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr "(S) malý sběr 1x1 pole"
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr "(D) výchozí sběr 2x1 pole"
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) sběr před 2x3 pole"
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr "(3) sběr 3x3 pole"
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr "(g) jdi a seber do vzdálenosti 4"
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr "(G) jdi a seber do vzdálenosti 8"
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr "(A) jdi a seber do max. vzdálenosti"
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?) sběr"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) Normální zobrazení mapy"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr "(D) debug zobrazení mapy"
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr "(u) ultra zobrazení mapy"
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr "(U) ultra zobrazení mapy 2"
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) zobrazen prázdné mapy"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b) zobrazení Äernobílé mapy"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) použij #flar pro magický útok"
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) použij #chiza pro magický útok"
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(I) použij #ingrav pro magický útok"
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) použij #frillyar pro magický útok"
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) použij #upmarmu pro magický útok"
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) magický útok attack"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr ""
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr ""
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr ""
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr ""
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr ""
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr "(D) výchozí imitace"
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr "(O) imitace výstroje"
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr "(?) imitace"
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr ""
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) u poÄítaÄe"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) pryÄ (away)"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) away"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr "(G) mód herní kamery"
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr "(F) mód volné kamery"
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr "Modifikátory hry jsou zapnuty"
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr "Modifikátory hry jsou vypnuty"
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr ""
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr ""
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "Následování zrušeno."
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr ""
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr "Imitace zrušena."
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr "Vidíte "
@@ -4474,9 +4509,8 @@ msgid "Incorrect slot."
msgstr "Nesprávný slot."
#: src/net/ea/charserverhandler.cpp:167
-#, fuzzy
msgid "Incorrect race."
-msgstr "Nesprávný úÄes."
+msgstr ""
#: src/net/ea/charserverhandler.cpp:182 src/net/manaserv/charhandler.cpp:210
msgid "Info"
@@ -4631,9 +4665,8 @@ msgid "%s has left your guild."
msgstr "%s opustil vaši gildu."
#: src/net/ea/guildhandler.cpp:499
-#, fuzzy
msgid "You were kicked from guild."
-msgstr "Byl jste vykopnut z gildy."
+msgstr ""
#: src/net/ea/guildhandler.cpp:512
#, c-format
@@ -5631,6 +5664,3 @@ msgstr ""
#: src/resources/itemdb.cpp:167
msgid "Unknown item"
msgstr "Neznámý předmět"
-
-#~ msgid "> Next"
-#~ msgstr "> Další"
diff --git a/po/de.po b/po/de.po
index 5a36bce07..497e53986 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,14 +8,15 @@
# <der.loisl@gmx.de>, 2011.
# <jack@krass.com>, 2011.
# <Necromong@inbox.ru>, 2011.
+# Philipp <philipp.krueger1@googlemail.com>, 2012.
# Rosemarie Tauber <horos@online.de>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-20 22:13+0000\n"
-"Last-Translator: Rosemarie Tauber <horos@online.de>\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-02 16:45+0000\n"
+"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: German (http://www.transifex.net/projects/p/manaplus/team/"
"de/)\n"
"Language: de\n"
@@ -37,123 +38,123 @@ msgid "miss"
msgstr "verfehlt"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr "I"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Einstellungen"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Leistung"
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Video"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr ""
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "Verbinde zum Server"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "Anmelden"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Betrete die Spielwelt"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Spielfiguren werden angefragt"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "Verbinde zum Charakterserver"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Charakterserver wechseln"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "Fehler"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Anfrage der Registrierungsdetails"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Passwort ändern"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "Passwort erfolgreich geändert!"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "E-Mail ändern"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "E-Mail erfolgreich geändert!"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "erfolgreich abgemeldet."
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "Leb wohl und komme jeder Zeit wieder..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s existiert nicht und kann nicht erstellt werden! Beende."
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Ungültiger Updateserver: %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "Fehler beim Erstellen des Verzeichnisses für Updates!"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr ""
"Fehler: %s existiert nicht und kann nicht erstellt werden! Verlassend..."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "Unbekannter Befehl."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "Kann keine leeren Nachrichten versenden!"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -162,160 +163,160 @@ msgstr ""
"Kann keinen tab für Spieler \"%s\" erstellen! Entweder existiert er bereits, "
"oder du bist es selbst."
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "Anfrage den Kanal %s betreten zu dürfen."
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Name der Party fehlt."
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Name der Gilde fehlt."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "Bitte gib einen Namen an."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "Enter-Taste steuert den Chat (zeigen/verstecken)"
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "Nachricht schließt den Chat."
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "Enter aktiviert jetzt den Chat."
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "Nachricht schließt jetzt den Chat."
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "Freund"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "unbeachtet"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "neutral"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "Spieler ist bereits %s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "Spieler erfolgreich %s!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "Spieler konnte nicht %s werden!"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "Spieler wurde nicht ignoriert!"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "Spieler wird nicht länger ignoriert!"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "Ignorieren des Spielers konnte nicht rückgängig gemacht werden!"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr "Feind"
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "Spieler ist bereits gelöscht!"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "Spieler erfolgreich gelöscht!"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "Spieler konnte nicht gelöscht werden!"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
-msgstr ""
+msgstr "Client läuft seit: %s"
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d Woche"
msgstr[1] "%d Wochen"
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d Tag"
msgstr[1] "%d Tage"
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d Stunde"
msgstr[1] "%d Stunden"
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d Minute"
msgstr[1] "%d Minuten"
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d Sekunde"
msgstr[1] "%d Sekunden"
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr ""
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr ""
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "Erstellt:"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "Gelöscht:"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr ""
@@ -325,43 +326,43 @@ msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
"Gültige Optionen für /%s sind \"yes\",\"no\",\"true\",\"false\",\"1\",\"0\"."
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "Allgemein"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "Debug"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Bildschirmfoto gespeichert unter"
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "Bildschirmfoto konnte nicht gespeichert werden!"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "Die Verbindung zum Server wurde getrennt."
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "Netzwerkfehler"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Ignoriere eingehende Handelsanfragen"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Akzeptiere eingehende Handelsanfragen"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "Karte konnte nicht geladen werden."
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "Fehler beim Laden von %s"
@@ -384,7 +385,7 @@ msgstr "Pvp Rang: %d"
#: src/gui/beingpopup.cpp:162
#, c-format
msgid "Comment: %s"
-msgstr ""
+msgstr "Kommentar: %s"
#: src/gui/botcheckerwindow.cpp:266
msgid "Bot Checker"
@@ -415,7 +416,7 @@ msgstr "Bewegen"
msgid "Result"
msgstr "Resultat"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "Zurücksetzten"
@@ -437,30 +438,30 @@ msgstr "Menge"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "Beenden"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "Max"
@@ -477,21 +478,21 @@ msgid "Sell"
msgstr "Verkaufen"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Abbrechen"
@@ -527,7 +528,7 @@ msgstr "Die eingetragenen E-Mailadressen stimmen nicht überein."
msgid "Change Password"
msgstr "Passwort ändern"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Passwort:"
@@ -554,68 +555,73 @@ msgstr "Das neue Passwort muss kürzer als %d Zeichen sein."
msgid "The new password entries mismatch."
msgstr "Die Passwörter stimmen nicht überein."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Charakter erstellen"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr ""
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "Name :"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Haarfarbe:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "Frisur:"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr ""
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "Rasse:"
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Erstellen"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Männlich"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Weiblich"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "Bitte verteile %d Punkte"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Dein Name muss aus mindestens 4 Zeichen bestehen."
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Spielfigurattribute OK"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "Bitte entferne %d Punkte"
@@ -657,9 +663,9 @@ msgstr "Gebe dein Passwort ein, um den Charakter zu löschen"
msgid "Enter password:"
msgstr "Gib dein Passwort ein:"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Löschen"
@@ -734,7 +740,7 @@ msgstr "Regenbogen 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -746,12 +752,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Anwesend: %s ;%d Spieler sind anwesend."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Flüsternd zu %s: %s"
@@ -785,7 +791,7 @@ msgstr "Ziel"
#: src/gui/debugwindow.cpp:74
msgid "Net"
-msgstr ""
+msgstr "Net"
#: src/gui/debugwindow.cpp:147 src/gui/debugwindow.cpp:222
#: src/gui/debugwindow.cpp:251
@@ -814,7 +820,7 @@ msgstr "Spieler-Position:"
#: src/gui/debugwindow.cpp:154
msgid "Particle count:"
-msgstr ""
+msgstr "Partikelanzahl:"
#: src/gui/debugwindow.cpp:156 src/gui/debugwindow.cpp:237
#: src/gui/debugwindow.cpp:256
@@ -843,7 +849,7 @@ msgstr "%d FPS"
#: src/gui/debugwindow.cpp:190 src/gui/debugwindow.cpp:242
msgid "Textures count:"
-msgstr ""
+msgstr "Texturanzahl:"
#: src/gui/debugwindow.cpp:233
#, c-format
@@ -915,8 +921,8 @@ msgid "Did You Know?"
msgstr "Wusstest du schon?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Schließen"
@@ -932,11 +938,36 @@ msgstr "Vor >"
msgid "Auto open this window"
msgstr ""
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "Ok"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Port:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Server Typ:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr ""
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "Ausrüstung"
@@ -954,23 +985,23 @@ msgstr "Hilfe"
#: src/gui/inventorywindow.cpp:71
msgid "by name"
-msgstr ""
+msgstr "nach Name"
#: src/gui/inventorywindow.cpp:72
msgid "by id"
-msgstr ""
+msgstr "nach Id"
#: src/gui/inventorywindow.cpp:73
msgid "by weight"
-msgstr ""
+msgstr "nach Gewicht"
#: src/gui/inventorywindow.cpp:74
msgid "by amount"
-msgstr ""
+msgstr "nach Anzahl"
#: src/gui/inventorywindow.cpp:75
msgid "by type"
-msgstr ""
+msgstr "nach Art"
#: src/gui/inventorywindow.cpp:112 src/gui/windowmenu.cpp:76
#: src/inventory.cpp:249
@@ -1034,39 +1065,39 @@ msgstr "Abholen"
msgid "Drop"
msgstr "Wegwerfen"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "Alle"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Wähle aus, wie viele Gegenstände Du handeln möchtest."
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Wähle aus, wie viele Gegenstände Du wegwerfen möchtest."
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Wähle aus, wie viele Gegenstände du aufbewahren möchtest."
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Wähle aus, wie viele Gegenstände du abholen möchtest."
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Wähle Anzahl der Gegenstände die Du aufteilen möchtest."
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Füge zu Einkaufsladen hinzu."
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Füge zu Verkaufsladen hinzu."
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "Unbekannt."
@@ -1081,7 +1112,7 @@ msgstr "Gewicht: %s"
#: src/gui/killstats.cpp:46 src/gui/windowmenu.cpp:69
msgid "Kill stats"
-msgstr ""
+msgstr "Besiegte Gegner Statistik"
#: src/gui/killstats.cpp:67
msgid "Reset stats"
@@ -1099,7 +1130,7 @@ msgstr "Level: %d bei %f%%"
#: src/gui/killstats.cpp:76 src/gui/killstats.cpp:213
#, c-format
msgid "Exp: %d/%d Left: %d"
-msgstr ""
+msgstr "Exp: %d/%d Ãœbrig: %d"
#: src/gui/killstats.cpp:79 src/gui/killstats.cpp:219
#: src/gui/killstats.cpp:228
@@ -1123,7 +1154,7 @@ msgstr ""
#: src/gui/killstats.cpp:240
#, c-format
msgid "Kills/Min: %s, Exp/Min: %s"
-msgstr ""
+msgstr "Kills/Min: %s, Exp/Min: %s"
#: src/gui/killstats.cpp:87 src/gui/killstats.cpp:92 src/gui/killstats.cpp:97
#: src/gui/killstats.cpp:292 src/gui/killstats.cpp:308
@@ -1143,7 +1174,7 @@ msgstr[1] ""
#: src/gui/killstats.cpp:103 src/gui/killstats.cpp:244
msgid "Last kill exp:"
-msgstr ""
+msgstr "Letze exp:"
#: src/gui/killstats.cpp:105 src/gui/killstats.cpp:358
#: src/gui/killstats.cpp:364 src/gui/killstats.cpp:370
@@ -1183,32 +1214,31 @@ msgstr "automatisch schließen"
msgid "Skip"
msgstr "überspringen"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Anmelden"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Server:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Updateserver verwalten"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Benutzername merken"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "Update:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "Registrieren"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Wechsle den Server"
@@ -1252,24 +1282,24 @@ msgstr "Status Balken"
msgid "Need"
msgstr "Muss"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr ""
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Weiter"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Absenden"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "Frei"
@@ -1285,12 +1315,13 @@ msgstr "Senden"
msgid "Failed to send as sender or letter invalid."
msgstr "Es misslang den Brief zu senden oder er war ungültig."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "Ausrüstung: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Taste: %s"
@@ -1338,7 +1369,7 @@ msgstr ""
#: src/gui/popupmenu.cpp:685 src/gui/popupmenu.cpp:693
#: src/gui/popupmenu.cpp:716
msgid "Black list"
-msgstr ""
+msgstr "Schwarze Liste"
#: src/gui/popupmenu.cpp:152 src/gui/popupmenu.cpp:160
#: src/gui/popupmenu.cpp:168 src/gui/popupmenu.cpp:415
@@ -1369,7 +1400,7 @@ msgstr "Löschen"
#: src/gui/popupmenu.cpp:713 src/gui/popupmenu.cpp:721
#: src/gui/popupmenu.cpp:726
msgid "Unignore"
-msgstr ""
+msgstr "Nicht mehr Ignorieren"
#: src/gui/popupmenu.cpp:182 src/gui/popupmenu.cpp:194
#: src/gui/popupmenu.cpp:437 src/gui/popupmenu.cpp:457
@@ -1395,12 +1426,12 @@ msgstr "Lade ein zu Party"
#: src/gui/popupmenu.cpp:217 src/gui/popupmenu.cpp:477
#: src/gui/popupmenu.cpp:774
msgid "Kick from party"
-msgstr ""
+msgstr "Aus Party werfen"
#: src/gui/popupmenu.cpp:232 src/gui/popupmenu.cpp:244
#: src/gui/popupmenu.cpp:494 src/gui/popupmenu.cpp:791
msgid "Kick from guild"
-msgstr ""
+msgstr "Aus Gilde werfen"
#: src/gui/popupmenu.cpp:237 src/gui/popupmenu.cpp:249
#: src/gui/popupmenu.cpp:499 src/gui/popupmenu.cpp:796
@@ -1410,11 +1441,11 @@ msgstr ""
#: src/gui/popupmenu.cpp:257 src/gui/popupmenu.cpp:507
#: src/gui/popupmenu.cpp:805
msgid "Invite to guild"
-msgstr ""
+msgstr "In Gilde einladen"
#: src/gui/popupmenu.cpp:265
msgid "Kick player"
-msgstr ""
+msgstr "Spieler rauswerfen"
#: src/gui/popupmenu.cpp:267
msgid "Nuke"
@@ -1423,7 +1454,7 @@ msgstr ""
#: src/gui/popupmenu.cpp:269 src/gui/popupmenu.cpp:739
#: src/gui/popupmenu.cpp:828
msgid "Show Items"
-msgstr ""
+msgstr "Zeige Items"
#: src/gui/popupmenu.cpp:270 src/gui/popupmenu.cpp:740
#: src/gui/popupmenu.cpp:829 src/gui/popupmenu.cpp:2136
@@ -1448,7 +1479,7 @@ msgstr "Verkaufen(?)"
#: src/gui/popupmenu.cpp:312
msgid "Kick"
-msgstr ""
+msgstr "Rauswerfen"
#: src/gui/popupmenu.cpp:323
msgid "Remove from attack list"
@@ -1468,7 +1499,7 @@ msgstr "Hinzufügen zur Ignorierenliste"
#: src/gui/popupmenu.cpp:345 src/gui/popupmenu.cpp:519
msgid "Add name to chat"
-msgstr ""
+msgstr "Füge Name dem Chat hinzu"
#: src/gui/popupmenu.cpp:358 src/gui/setup_players.cpp:48
msgid "Players"
@@ -1498,7 +1529,7 @@ msgstr "Entfernen"
#: src/gui/popupmenu.cpp:573
msgid "Warp"
-msgstr ""
+msgstr "Warp"
#: src/gui/popupmenu.cpp:589
msgid "Clear outfit"
@@ -1510,11 +1541,11 @@ msgstr "Zaubersprüche"
#: src/gui/popupmenu.cpp:609
msgid "Load old spells"
-msgstr ""
+msgstr "Lade alte Zaubersprüche"
#: src/gui/popupmenu.cpp:610
msgid "Edit spell"
-msgstr ""
+msgstr "Bearbeite Zauberspruch"
#: src/gui/popupmenu.cpp:636
msgid "Disable highlight"
@@ -1603,7 +1634,7 @@ msgstr "Alles aufbewahren"
#: src/gui/popupmenu.cpp:1824 src/gui/popupmenu.cpp:1920
#: src/gui/popupmenu.cpp:1967
msgid "Drop all"
-msgstr ""
+msgstr "Alles fallenlassen"
#: src/gui/popupmenu.cpp:1843
msgid "Retrieve 10"
@@ -1649,11 +1680,11 @@ msgstr "(normal)"
#: src/gui/popupmenu.cpp:2092 src/gui/popupmenu.cpp:2103
msgid "Move up"
-msgstr ""
+msgstr "Nach oben"
#: src/gui/popupmenu.cpp:2094 src/gui/popupmenu.cpp:2105
msgid "Move down"
-msgstr ""
+msgstr "Nach unten"
#: src/gui/quitdialog.cpp:52
msgid "Switch server"
@@ -1695,64 +1726,58 @@ msgstr "Das Passwort muss kürzer als %d Zeichen sein."
msgid "Passwords do not match."
msgstr "Passwörter stimmen nicht überein."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Wähle deinen Server"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "Wähle einen Server ***SICHERER MODUS ***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Port:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
-msgstr ""
-
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Server Typ:"
+msgstr "Benutze die selbe IP auf Zweitservern des Spiels"
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "Laden"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "Verbinde..."
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "Server verwalten"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "Hinzufügen"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Bitte die Adresse und den Port eines Servers eingeben"
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Ändern"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Lade Serverliste herunter...%2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "Warte auf den Server"
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Download wird vorbereitet"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "Fehler beim Empfangen der Serverliste!"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "benötigt eine neuere Version"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "benötigt v%s"
@@ -1829,7 +1854,7 @@ msgstr "Lasse magische und GM-Nachrichten in allen Chat Tabs zu"
#: src/gui/setup_chat.cpp:70
msgid "Limits"
-msgstr ""
+msgstr "Limit"
#: src/gui/setup_chat.cpp:72
msgid "Limit max chars in chat line"
@@ -1901,7 +1926,7 @@ msgstr "Benutze lokale Zeit"
#: src/gui/setup_chat.cpp:123 src/gui/setup_other.cpp:166
msgid "Other"
-msgstr ""
+msgstr "Sonstig"
#: src/gui/setup_chat.cpp:125
msgid "Highlight words (separated by comma)"
@@ -1992,7 +2017,7 @@ msgstr "Stopp"
#: src/gui/setup_joystick.cpp:149
msgid "Rotate the stick and dont press buttons"
-msgstr ""
+msgstr "Drehe den Controlstick und drücke keine Tasten"
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2112,7 +2137,7 @@ msgstr "Eigenen HP-Balken anzeigen"
#: src/gui/setup_other.cpp:117
msgid "Enable quick stats"
-msgstr ""
+msgstr "Aktiviere schnelleres Aufwerten der Spelerattribute"
#: src/gui/setup_other.cpp:120
msgid "Cycle player targets"
@@ -2124,7 +2149,7 @@ msgstr "Zeige \"job exp\"-Nachrichten"
#: src/gui/setup_other.cpp:126
msgid "Show players popups"
-msgstr ""
+msgstr "Zeige Spieler-Popups"
#: src/gui/setup_other.cpp:129
msgid "Afk message"
@@ -2156,11 +2181,11 @@ msgstr "Protokolliere NPC Dialoge"
#: src/gui/setup_other.cpp:157
msgid "Bots support"
-msgstr ""
+msgstr "Bot unterstützung"
#: src/gui/setup_other.cpp:159
msgid "Enable auction bot support"
-msgstr ""
+msgstr "Aktiviere auction bot unterstützung"
#: src/gui/setup_other.cpp:162
msgid "Enable guild bot support and disable native guild support"
@@ -2184,11 +2209,11 @@ msgstr "Debug-Protokoll benutzen"
#: src/gui/setup_other.cpp:181
msgid "Low traffic mode"
-msgstr ""
+msgstr "Niedriger Datenverkehr Modus"
#: src/gui/setup_other.cpp:184
msgid "Hide shield sprite"
-msgstr ""
+msgstr "Zeige das Schild nicht an"
#: src/gui/setup_other.cpp:187
msgid "Show background"
@@ -2276,7 +2301,7 @@ msgstr ""
#: src/gui/setup_players.cpp:78
msgid "Show statuses"
-msgstr ""
+msgstr "Zeige Stattistiken"
#: src/gui/setup_players.cpp:81
msgid "Show ip addresses on screenshots"
@@ -2284,7 +2309,7 @@ msgstr "IP auf Screenshots anzeigen."
#: src/gui/setup_players.cpp:84
msgid "Allow self heal with mouse click"
-msgstr ""
+msgstr "Erlaube Selbstheilung mittels Mausklick"
#: src/gui/setup_relations.cpp:65
msgid "Relation"
@@ -2318,23 +2343,23 @@ msgstr ""
msgid "Enemy"
msgstr "Feind"
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Handeln erlauben"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Flüstern erlauben"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Alt"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr ""
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Wenn ignorierend:"
@@ -2452,7 +2477,7 @@ msgstr ""
#: src/gui/setup_theme.cpp:200
msgid "Japanese font"
-msgstr ""
+msgstr "Japanische Schrift"
#: src/gui/setup_theme.cpp:237
msgid "Font size"
@@ -2462,8 +2487,8 @@ msgstr "Schriftgröße"
msgid "Theme Changed"
msgstr "Theme geändert"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Starte das Spiel neu um die Änderungen zu übernehmen."
@@ -2515,156 +2540,159 @@ msgstr "Mittel"
msgid "max"
msgstr "max"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Vollbild"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "Benutzerdefinierter Zeiger"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Partikeleffekte"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "Benachrichtigung beim Aufheben"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "im Chatfenster"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "als Partikeleffekt"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr ""
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr ""
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "FPS Limit:"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Alt FPS Limit:"
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr "Chat über Spielern"
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "GUI Transparenz"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "Hintergrundeffekte"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "Partikeldetail"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "Kein(e)"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
"Das Wechseln in den Fenstermodus sowie das Wiederherstellen der vorherigen "
"Auflösung schlug fehl."
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
"Das Wechseln in den Vollbildmodus sowie das Wiederherstellen der vorherigen "
"Auflösung schlug fehl."
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Wechsle zum Vollbildmodus"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "Änderungen treten erst nach einem Neustart des Programms in Kraft."
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Wechsle zu OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr ""
"Änderungen an OpenGL werden erst nach einem Neustart der Anwendung "
"übernommen."
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Benutzerdefinierte Auflösung (zum Beispiel: 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Neue Auflösung eingeben:"
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "Bildschirmauflösung wurde geändert"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
"Einige Fenster können verschoben werden um sich an die geänderte Auflösung "
"anzupassen."
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "Partikeleffekteinstellungen wurden verändert"
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "Änderung werden beim nächsten Kartenwechsel übernommen."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "Persönlicher Laden"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Kaufe Dinge"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Verkaufe Dinge"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Hinzufügen"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "Teile mit"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
-msgstr ""
+msgstr "Zeige Links in Ankündigung"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr ""
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Erbitte einen Handel"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s möchte %s %s akzeptierst du?"
@@ -2769,11 +2797,11 @@ msgstr "Bist du sicher, dass du die Party %s verlassen willst?"
#: src/gui/socialwindow.cpp:649
msgid "Nav"
-msgstr ""
+msgstr "Nav"
#: src/gui/socialwindow.cpp:927
msgid "Atk"
-msgstr ""
+msgstr "Atk"
#: src/gui/socialwindow.cpp:968
msgid "Priority mobs"
@@ -2785,13 +2813,13 @@ msgstr ""
#: src/gui/socialwindow.cpp:1035
msgid "Ignore mobs"
-msgstr ""
+msgstr "Ignoriere Monster"
#: src/gui/socialwindow.cpp:1195
msgid "Create Guild"
msgstr "Gilde erstellen"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "Party erstellen"
@@ -2803,93 +2831,103 @@ msgstr "Sozial"
msgid "Invite"
msgstr "Einladen"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr ""
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr ""
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "Partyeinladung von %s angenommen."
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "Partyeinladung von %s abgelehnt."
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "Guildeneinladung von %s angenommen."
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "Guildeneinladung von %s abgelehnt."
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "Erstelle der Gilde %s."
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "Erstelle die Party \"%s\""
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "Gildenname"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "Wähle den Namen deiner Gilde"
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr "Anfrage für eine Party erhalten, es wurde schoneinmal angefragt."
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s hat dich eingeladen, seiner Gilde %s beizutreten."
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "Nehme Gildeneinladung an"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "Anfrage für eine Party erhalten, aber du bist bereits in einer Party."
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "Du wurdest zu einer Party eingeladen."
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "Du wurdest zu der Party %s eingeladen."
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s hat dich in seine Party eingeladen."
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s hat dich eingeladen, an der Party %s teilzunehmen."
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "Nehme Partyeinladung an"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "Konnte keine Partie erstellen. Du bist schon in einer Partie."
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "Partyname"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "Name deiner Party wählen."
@@ -3003,7 +3041,7 @@ msgstr "Befehl:"
#: src/gui/textcommandeditor.cpp:200
msgid "Comment:"
-msgstr ""
+msgstr "Kommentar:"
#: src/gui/textcommandeditor.cpp:203
msgid "Mana:"
@@ -3085,29 +3123,29 @@ msgstr "Name : %s"
msgid "Updating..."
msgstr "Aktualisiere..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "Verbinde..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Los!"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 Update wurde nicht erfolgreich abgeschlossen."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 Es wird dringend empfohlen,"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 Du versuchts es später erneut."
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "Fertig"
@@ -3237,11 +3275,11 @@ msgstr "Betretbarer Boden"
#: src/gui/userpalette.cpp:159
msgid "Local Player Attack Range"
-msgstr ""
+msgstr "Lokale Spieler-Attackenreichweite"
#: src/gui/userpalette.cpp:161
msgid "Local Player Attack Range Border"
-msgstr ""
+msgstr "Rand der Attackenreichweite des Lokalen Spielers"
#: src/gui/userpalette.cpp:163
msgid "Monster Attack Range"
@@ -3253,29 +3291,29 @@ msgstr "Stammplatz"
#: src/gui/userpalette.cpp:167
msgid "Home Place Border"
-msgstr ""
+msgstr "Stamm platz Grenze"
#: src/gui/userpalette.cpp:169
msgid "Road Point"
msgstr "Wegpunkt"
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "Wer ist Online - Aktualisiere"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "Aktualisierung"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "Wer ist Online -"
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "Wer ist Online - Fehler"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "Wer ist Online - Aktualisiere"
@@ -3404,24 +3442,20 @@ msgstr ""
#: src/gui/widgets/guildchattab.cpp:109 src/net/ea/gui/guildtab.cpp:135
#: src/net/ea/gui/partytab.cpp:69
msgid "/help > Display this help."
-msgstr ""
+msgstr "/help > zeige diese Hilfe."
#: src/gui/widgets/guildchattab.cpp:110 src/net/ea/gui/guildtab.cpp:136
msgid "/invite > Invite a player to your guild"
-msgstr ""
+msgstr "/invite > Lade einen Spieler in deine Party ein"
#: src/gui/widgets/guildchattab.cpp:111 src/net/ea/gui/guildtab.cpp:137
msgid "/leave > Leave the guild you are in"
-msgstr ""
+msgstr "/leave > Verlasse dir Gilde in der du bist"
#: src/gui/widgets/guildchattab.cpp:112 src/net/ea/gui/guildtab.cpp:138
msgid "/kick > Kick some one from the guild you are in"
msgstr ""
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Ändern"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr "/ignore > Anderen Spieler ignorieren"
@@ -3449,6 +3483,7 @@ msgstr "Befehl:/ignore"
#: src/gui/widgets/whispertab.cpp:125
msgid "This command ignores the other player regardless of current relations."
msgstr ""
+"Dieser Kommando ignoriert andere Spieler ohne Rücksicht auf Beziehungen."
#: src/gui/widgets/whispertab.cpp:130
msgid "Command: /unignore <player>"
@@ -3457,6 +3492,8 @@ msgstr "Befehl: /unignore <Spieler>"
#: src/gui/widgets/whispertab.cpp:131
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
+"Dieser Kommando stoppt das Ignorieren eines Spielers, sofern er ignoriert "
+"wird."
#: src/gui/windowmenu.cpp:65
msgid "BC"
@@ -3476,7 +3513,7 @@ msgstr "Wer ist Online"
#: src/gui/windowmenu.cpp:69
msgid "KS"
-msgstr ""
+msgstr "BGS"
#: src/gui/windowmenu.cpp:71
msgid "Smilies"
@@ -3524,7 +3561,7 @@ msgstr "ZS"
#: src/gui/windowmenu.cpp:97
msgid "DR"
-msgstr ""
+msgstr "WW"
#: src/gui/windowmenu.cpp:98
msgid "YK"
@@ -3536,7 +3573,7 @@ msgstr "Wusstest du schon"
#: src/gui/windowmenu.cpp:100
msgid "SET"
-msgstr ""
+msgstr "EINST"
#: src/gui/worldselectdialog.cpp:77
msgid "Select World"
@@ -3588,7 +3625,7 @@ msgstr "Gehe zu Ziel"
#: src/keyboardconfig.cpp:54
msgid "Change Move to Target type"
-msgstr ""
+msgstr "Verändere Bewege dich zum Ziel-Typus"
#: src/keyboardconfig.cpp:56
msgid "Move to Home location"
@@ -3600,7 +3637,7 @@ msgstr "Setzte Stammplatz"
#: src/keyboardconfig.cpp:60
msgid "Move to navigation point"
-msgstr ""
+msgstr "Bewege zum Navigationspunkt"
#: src/keyboardconfig.cpp:63
msgid "Stop Attack"
@@ -3612,7 +3649,7 @@ msgstr ""
#: src/keyboardconfig.cpp:66
msgid "Target Closest"
-msgstr ""
+msgstr "Markiere Nähesten"
#: src/keyboardconfig.cpp:68
msgid "Target NPC"
@@ -3648,7 +3685,7 @@ msgstr "Handeln erlauben/verbieten"
#: src/keyboardconfig.cpp:80
msgid "Change Map View Mode"
-msgstr ""
+msgstr "Wechsle Ansichtsmodus der Karte"
#: src/keyboardconfig.cpp:82
msgid "Select OK"
@@ -3672,7 +3709,7 @@ msgstr ""
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "Kurztaste %d"
@@ -3723,7 +3760,7 @@ msgstr "Debugfenster"
#: src/keyboardconfig.cpp:149
msgid "Social Window"
-msgstr ""
+msgstr "Gesellschaftsfenster"
#: src/keyboardconfig.cpp:151
msgid "Emote Shortcut Window"
@@ -3731,7 +3768,7 @@ msgstr "Kurztasten für Gefühle"
#: src/keyboardconfig.cpp:153
msgid "Outfits Window"
-msgstr ""
+msgstr "Kleidungs Fenster"
#: src/keyboardconfig.cpp:155
msgid "Shop Window"
@@ -3739,11 +3776,11 @@ msgstr "Kauf Fenster"
#: src/keyboardconfig.cpp:157
msgid "Quick drop Window"
-msgstr ""
+msgstr "Schnelles wegwerfen Fenster"
#: src/keyboardconfig.cpp:159
msgid "Kill Stats Window"
-msgstr ""
+msgstr "Besiegte Gegner Fenster"
#: src/keyboardconfig.cpp:161
msgid "Commands Window"
@@ -3763,11 +3800,11 @@ msgstr "Wusstest du schon Fenster"
#: src/keyboardconfig.cpp:171
msgid "Previous Social Tab"
-msgstr ""
+msgstr "Vorheriger Gesellschaftstab"
#: src/keyboardconfig.cpp:173
msgid "Next Social Tab"
-msgstr ""
+msgstr "Nächster Gesellschaftstab"
#: src/keyboardconfig.cpp:175
msgid "Emotes Keys"
@@ -3799,518 +3836,522 @@ msgstr "Grinsen"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "Gefühlstaste %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr ""
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "Ausrüstung anziehen"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr "Ausrüstung kopieren"
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr "Chat Tasten"
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "Chat ein/aus"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "Im Chat hochscrollen"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "Im Chat runter scrollen"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "Voriger Tab"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "Nächster Tab"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr "Schließe aktuellen Tab"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
-msgstr ""
+msgstr "Vorherige Chat-Zeile"
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
-msgstr ""
+msgstr "Nächste Chat-Zeile"
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
-msgstr ""
+msgstr "Chat Autovervollständigung"
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr "Deaktiviere Chateingabe"
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr "Andere Tasten"
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "Ignoriere Eingabe 1"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "Ignoriere Eingabe 2"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
-msgstr ""
+msgstr "Richtung oben"
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
-msgstr ""
+msgstr "Richtung unten"
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
-msgstr ""
+msgstr "Richtung links"
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
-msgstr ""
+msgstr "Richtung rechts"
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr "Verrückte Bewegungen"
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr ""
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
-msgstr ""
+msgstr "Lass N Items von Slot 0 fallen"
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
-msgstr ""
+msgstr "Lass N Items fallen"
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr ""
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
-msgstr ""
+msgstr "Heile Ziel/dich selbst"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr "Benutze #itenplz Spruch"
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "Benutze magische Angriff"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr "Wechsle magische Angriff"
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr ""
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
-msgstr ""
+msgstr "Wechsle die Bewegungsart"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr ""
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr "Wechsle Angriffsart"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr "Wechle Folgenmodus"
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr "Wechsle Imitierenmodus"
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr "Aktiviere / Deaktiviere Spielmodifikations Tasten"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "An/Aus Audio"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
-msgstr ""
+msgstr "Aktiviere/Deaktiviere abwesend Modus"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr ""
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
-msgstr ""
+msgstr "Ändere Kameramodus"
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr ""
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
+"Konflikt zwischen \"%s\" und \"%s\" Tasten. Ändere die Tastenbelegung oder "
+"das Spiel lässt sich nicht richtig steuern."
-#: src/localplayer.cpp:384
+#: src/localplayer.cpp:385
#, c-format
msgid "You were killed by %s"
msgstr "Du wurdest von einem %s getötet"
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr "Du versucht einen nicht exitierenden Gegenstand aufzuheben."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "Gegenstand ist zu schwer"
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Gegenstand ist zu weit weg."
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "Inventar ist voll"
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr "Stapel ist zu groß"
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "Gegenstand gehört jemand anderem"
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
-msgstr ""
+msgstr "Fehler bei dem Aufheben des Items."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Du hast %d [@@%d|%s@@] aufgehoben."
msgstr[1] "Du hast %d [@@%d|%s@@] aufgehoben."
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) normale Bewegungen"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr "(I) bewegungen umkehren"
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr ""
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr ""
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr ""
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
-msgstr ""
+msgstr "(?) unbekannte Bewegung"
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr ""
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr "(a) benutzerdefinierte verrückte Bewegung"
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr "(?) verrückte Bewegung"
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr ""
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr ""
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr ""
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr ""
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr ""
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr ""
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr ""
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
-msgstr ""
+msgstr "(a) Bogenschützen Angriffsreichweite"
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr ""
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr ""
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr ""
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr ""
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr ""
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr ""
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) Angriff"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) Normaler Angriff"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr ""
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr ""
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) gehe und greife an"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr "(A) gehe, greife an, hebe auf"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) ohne automatischen Angriff"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr "(S) kleine aufhebe Zelle 1x1"
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr "(D) normale aufhebe Zelle 2x1"
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr ""
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr ""
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr ""
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr ""
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr ""
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?) aufheben"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) Normale Kartenansicht"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr "(D) Debug Kartenansicht"
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr "(u) Ultra Kartenansicht"
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr "(U) Ultra Kartenansicht 2"
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) Leere Kartenansicht"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b) Schwarz-Weiß Kartenansicht"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) benutze #flar als magischen Angriff"
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) benutze #chiza als magischen Angriff"
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(I) benutze #ingrav als magischen Angriff"
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) benutze #frillyar als magischen Angriff"
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) benutze #upmarmu als magischen Angriff"
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) magischer Angriff"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr ""
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr ""
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr ""
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr "(d) greife keine Spieler an"
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr ""
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr "(D) normale Imitation"
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
-msgstr ""
+msgstr "(O) Outfit Imitation"
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr "(?) Imitation"
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "Abwesend"
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) Anwesend"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) Abwesend"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) Abwesend"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr ""
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr ""
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr "Spielmodifikatoren sind aktiviert"
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr "Spielmodifikatoren sind deaktiviert"
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr ""
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "Folgen:"
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "Folgen abgebrochen"
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr ""
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
-msgstr ""
+msgstr "Imitation abgebrochen"
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr "Du siehst"
@@ -4340,7 +4381,7 @@ msgstr "-l --log-file : Log Datei benutzen"
#: src/main.cpp:58
msgid " -L --chat-log-dir : Chat log dir to use"
-msgstr ""
+msgstr " -L --chat-log-dir : Verzeichnis für die Chat Log"
#: src/main.cpp:59
msgid " -v --version : Display the version"
@@ -4376,7 +4417,7 @@ msgstr " -p --port : Port des Loginservers"
#: src/main.cpp:67
msgid " --update-host : Use this update host"
-msgstr ""
+msgstr " --update-host : Benutzt diesen Aktualisierungs Host"
#: src/main.cpp:68
msgid " -D --default : Choose default character server and character"
@@ -4492,7 +4533,7 @@ msgstr "Charakter gelöscht"
#: src/net/ea/charserverhandler.cpp:188
msgid "Failed to delete character."
-msgstr ""
+msgstr "Konnte Character nicht löschen."
#: src/net/ea/chathandler.cpp:61 src/net/ea/chathandler.cpp:67
#: src/net/ea/chathandler.cpp:72 src/net/ea/chathandler.cpp:78
@@ -4504,7 +4545,7 @@ msgstr ""
#: src/net/ea/chathandler.cpp:129
#, c-format
msgid "Whisper could not be sent, %s is offline."
-msgstr ""
+msgstr "Flüstern konnte nicht gesendet werden, %s ist nicht online."
#: src/net/ea/chathandler.cpp:137
#, c-format
@@ -4673,7 +4714,7 @@ msgstr ""
#: src/net/ea/gui/partytab.cpp:95
msgid "Command: /item <policy>"
-msgstr ""
+msgstr "Befehl: /item <Regel>"
#: src/net/ea/gui/partytab.cpp:97
msgid "This command changes the party's item sharing policy."
@@ -4733,23 +4774,23 @@ msgstr ""
#: src/net/ea/gui/partytab.cpp:187 src/net/ea/partyhandler.cpp:247
msgid "Experience sharing enabled."
-msgstr ""
+msgstr "Erfahrung teilen ist aktiviert."
#: src/net/ea/gui/partytab.cpp:190 src/net/ea/partyhandler.cpp:257
msgid "Experience sharing disabled."
-msgstr ""
+msgstr "Erfahrung teilen ist deaktiviert."
#: src/net/ea/gui/partytab.cpp:193 src/net/ea/partyhandler.cpp:267
msgid "Experience sharing not possible."
-msgstr ""
+msgstr "Erfahrung teilen nicht möglich."
#: src/net/ea/gui/partytab.cpp:196
msgid "Experience sharing unknown."
-msgstr ""
+msgstr "Erfahrung teilen unbekannt."
#: src/net/ea/inventoryhandler.cpp:404
msgid "Failed to use item."
-msgstr ""
+msgstr "Kann diesen Gegenstand nicht verwenden."
#: src/net/ea/inventoryhandler.cpp:572
msgid "Unable to equip."
@@ -4824,17 +4865,17 @@ msgstr ""
#: src/net/ea/partyhandler.cpp:82
msgid "Party successfully created."
-msgstr ""
+msgstr "Party erfolgreich erstellt."
#: src/net/ea/partyhandler.cpp:138
#, c-format
msgid "%s has joined your party."
-msgstr ""
+msgstr "%s ist deiner Party beigetreten."
#: src/net/ea/partyhandler.cpp:174
#, c-format
msgid "%s is already a member of a party."
-msgstr ""
+msgstr "%s is bereits ein Mitglied deiner Party."
#: src/net/ea/partyhandler.cpp:179
#, c-format
@@ -4944,7 +4985,7 @@ msgstr "Du bist nicht Tod, du ruhst dich nur aus."
#: src/net/ea/playerhandler.cpp:121
msgid "You are no more."
-msgstr ""
+msgstr "Du bit tot."
#: src/net/ea/playerhandler.cpp:122
msgid "You have ceased to be."
@@ -4965,14 +5006,16 @@ msgstr "Deines Lebens beraubt, ruhst du in Frieden."
#: src/net/ea/playerhandler.cpp:126
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
+"Wenn sie nicht so unvorsichtig gewesen währen, könnten sie die Radischen "
+"noch von oben sehen."
#: src/net/ea/playerhandler.cpp:127
msgid "Your metabolic processes are now history."
-msgstr ""
+msgstr "Deine metabolischen Prozesse sind nun Geschichte."
#: src/net/ea/playerhandler.cpp:128
msgid "You're off the twig."
-msgstr ""
+msgstr "Du bist weg vom Fenster."
#: src/net/ea/playerhandler.cpp:129
msgid "You've kicked the bucket."
@@ -5020,7 +5063,7 @@ msgstr ""
#: src/net/ea/playerhandler.cpp:505
msgid "Cannot raise skill!"
-msgstr ""
+msgstr "Kann diese Fähigkeit nicht aufwerten!"
#: src/net/ea/playerhandler.cpp:623
msgid "Equip arrows first."
@@ -5032,7 +5075,7 @@ msgstr "Handeln Fehlgeschlagen"
#: src/net/ea/specialhandler.cpp:146
msgid "Emote failed!"
-msgstr ""
+msgstr "Emotion fehlgeschlagen"
#: src/net/ea/specialhandler.cpp:149
msgid "Sit failed!"
@@ -5040,7 +5083,7 @@ msgstr "Sitzen Fehlgeschlagen"
#: src/net/ea/specialhandler.cpp:152
msgid "Chat creating failed!"
-msgstr ""
+msgstr "Chat starten fehlgeschlagen."
#: src/net/ea/specialhandler.cpp:155
msgid "Could not join party!"
@@ -5052,7 +5095,7 @@ msgstr ""
#: src/net/ea/specialhandler.cpp:171
msgid "You have not yet reached a high enough lvl!"
-msgstr ""
+msgstr "Du hast noch ein zu niedriges Level!"
#: src/net/ea/specialhandler.cpp:174
msgid "Insufficient HP!"
@@ -5064,7 +5107,7 @@ msgstr ""
#: src/net/ea/specialhandler.cpp:180
msgid "You have no memos!"
-msgstr ""
+msgstr "Du hast keine Erinnerungen!"
#: src/net/ea/specialhandler.cpp:183
msgid "You cannot do that right now!"
@@ -5096,7 +5139,7 @@ msgstr "Huh? Was ist das?"
#: src/net/ea/specialhandler.cpp:213
msgid "Warp failed..."
-msgstr ""
+msgstr "Warp fehlgeschlagen..."
#: src/net/ea/specialhandler.cpp:216
msgid "Could not steal anything..."
@@ -5144,14 +5187,18 @@ msgstr ""
#: src/net/ea/tradehandler.cpp:242
msgid "Failed adding item. Trade partner has no free slot."
msgstr ""
+"Gegenstand hinzufügen fehlgeschlagen. Handelspartner hat keinen Platz in "
+"seinem Inventar."
#: src/net/ea/tradehandler.cpp:247
msgid "Failed adding item. You can't trade this item."
msgstr ""
+"Gegenstand hinzufügen fehlgeschlagen. Sie können diesen Gegenstand nicht "
+"handeln."
#: src/net/ea/tradehandler.cpp:251
msgid "Failed adding item for unknown reason."
-msgstr ""
+msgstr "Gegenstand hinzufügen aus unbekannten Gründen fehlgeschlagen."
#: src/net/ea/tradehandler.cpp:270 src/net/manaserv/tradehandler.cpp:160
msgid "Trade canceled."
@@ -5262,11 +5309,11 @@ msgstr "Spielfigurattribute sind zu klein"
#: src/net/manaserv/charhandler.cpp:172
#, c-format
msgid "At least one stat is out of the permitted range: (%u - %u)."
-msgstr ""
+msgstr "Einer oder mehr Stats sind außerhalb der erlaubten Werte: (%u - %u)."
#: src/net/manaserv/charhandler.cpp:178
msgid "Invalid slot number."
-msgstr ""
+msgstr "Falsche Slotnummer"
#: src/net/manaserv/charhandler.cpp:210
msgid "Player deleted."
@@ -5329,7 +5376,7 @@ msgstr "%s hat %s gekickt."
#: src/net/manaserv/chathandler.cpp:337
msgid "Unknown channel event."
-msgstr ""
+msgstr "Unbekannter Befehl."
#: src/net/manaserv/guildhandler.cpp:90
msgid "Error creating guild."
@@ -5468,7 +5515,7 @@ msgstr ""
#: src/net/tmwa/buysellhandler.cpp:143
msgid "Unable to sell unsellable item."
-msgstr ""
+msgstr "Es ist nicht möglich einen unverkäuflichen Gegenstand zu verkaufen."
#: src/net/tmwa/generalhandler.cpp:108
#, c-format
@@ -5565,7 +5612,7 @@ msgstr "% Critical"
#: src/net/tmwa/generalhandler.cpp:282
msgid "Attack Delay"
-msgstr ""
+msgstr "Angriffs Verzögerung"
#: src/net/tmwa/generalhandler.cpp:284
msgid "Walk Delay"
diff --git a/po/es.po b/po/es.po
index 82983c66f..63a36ccf4 100644
--- a/po/es.po
+++ b/po/es.po
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-19 19:27+0000\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-02 19:32+0000\n"
"Last-Translator: Nelson Martell <nelson6e65-manaplus@yahoo.es>\n"
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/"
"manaplus/team/es/)\n"
@@ -36,122 +36,122 @@ msgid "miss"
msgstr "falla"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr "I"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Configuración"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Rendimiento"
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Vídeo"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr "Temas"
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "Conectando al servidor"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "Accediendo a la cuenta"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Entrando al mundo del juego"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Cargando personajes"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "Conectando al servidor del juego"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Cambiando servidores del juego"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "Error"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Solicitando detalles de registro"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Cambio de contraseña"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "¡Contraseña cambiada exitosamente!"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "Cambio de Email"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "¡Email modificado exitosamente!"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "Registro cancelado"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "Adiós, vuelve cuando quieras..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "¡%s no existe y no puede ser creado! Saliendo."
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Servidor de actualización inválido: %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "¡Error al crear la carpeta de actualizaciones!"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Error: ¡%s no existe y no puede ser creado! Saliendo."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "Comando desconocido."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "¡No puedes enviar susurros vacíos!"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -160,160 +160,160 @@ msgstr ""
"¡No se puede crear una pestaña de susurro para el nick \"%s\"! O bien ya "
"existe, o eres tú."
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "Solicitando la entrada del canal %s."
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Falta el nombre del grupo."
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Falta el nombre del Clan."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "Por favor, especifique un nombre."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "Volver a alternar el chat."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "Mensaje cierra la charla."
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "Volver ahora a cambiar de chat."
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "Mensaje ahora cierra el chat."
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "amigo"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "desatendido"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "neutral"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "¡Jugador ya es %s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "¡Jugador %s exitosamente!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "¡Jugador no pudo ser %s!"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "El jugador no estaba ignorado!"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "¡El jugador ya no es ignorado!"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "¡Al jugador no se le puede dejar de ignorar!"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr "en la lista negra"
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr "enemigo"
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "¡Jugador ya borrado!"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "¡Jugador borrado con éxito!"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "¡Jugador no pudo ser borrado!"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr "Tiempo de actividad del cliente: %s"
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d semana"
msgstr[1] "%d semanas"
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d día"
msgstr[1] "%d días"
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d hora"
msgstr[1] "%d horas"
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minuto"
msgstr[1] "%d minutos"
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d segundo"
msgstr[1] "%d segundos"
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr "tamaño de caché de fuente"
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr "Tam. caché:"
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "Creado:"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "Borrado:"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr "Imágenes de recurso:"
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr "Imágenes de recurso huérfano:"
@@ -323,43 +323,43 @@ msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
"Opciones para /%s son \"yes\" | \"no\", \"true\" | \"false\", \"1\" | \"0\"."
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "General"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "Depurador"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Captura de pantalla guardada como "
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "¡El guardado de la captura de pantalla ha fallado!"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "Se ha perdido la conexión con el servidor."
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "Error de Red"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Ignorando las peticiones de intercambio"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Aceptando las peticiones de intercambio"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "No se pudo cargar el mapa"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "Error mientras cargaba %s"
@@ -413,7 +413,7 @@ msgstr "Mover"
msgid "Result"
msgstr "Resultado"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "Restablecer"
@@ -435,30 +435,30 @@ msgstr "Cantidad:"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "Salir"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "Máximo"
@@ -475,21 +475,21 @@ msgid "Sell"
msgstr "Vender"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Cancelar"
@@ -525,7 +525,7 @@ msgstr "Los correos ingresados no concuerdan."
msgid "Change Password"
msgstr "Cambiar contraseña"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Contraseña:"
@@ -552,68 +552,73 @@ msgstr "La nueva contraseña debe tener como máximo %d caracteres."
msgid "The new password entries mismatch."
msgstr "Las nuevas contraseñas no concuerdan."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Crear Personaje"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr "Nuevo Personaje"
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "Nombre:"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Color de cabello:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "Peinado:"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr "^"
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "Race:"
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Crear"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Masculino"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Femenino"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "Por favor, distribuye %d puntos"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Tu nombre debe tener como mínimo 4 caracteres."
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Atributos del personaje OK"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "Por favor borra %d puntos"
@@ -655,9 +660,9 @@ msgstr "Ingrese la contraseña para borrar el personaje"
msgid "Enter password:"
msgstr "Ingrese contraseña:"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Borrar"
@@ -732,7 +737,7 @@ msgstr "arco iris 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -744,12 +749,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Presentes: %s; %d jugadores están presentes."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Susurrando a %s: %s"
@@ -913,8 +918,8 @@ msgid "Did You Know?"
msgstr "¿Sabías que...?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Cerrar"
@@ -930,11 +935,37 @@ msgstr "Siguiente >"
msgid "Auto open this window"
msgstr "Abrir automáticamente esta ventana"
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "OK"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr "Editar Servidor"
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr "Dirección:"
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Puerto:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Tipo de servidor:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr "Descripción:"
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr ""
+"Por favor, por lo menos especifique el nombre y el puerto del servidor."
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "Equipamiento"
@@ -1032,39 +1063,39 @@ msgstr "Recuperar"
msgid "Drop"
msgstr "Tirar"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "Todo"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Seleccione la cantidad de objetos a intercambiar."
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Seleccione la cantidad de objetos a tirar."
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Seleccione la cantidad de objetos a almacenar."
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Seleccione la cantidad de artículos a recuperar."
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Seleccione la cantidad de objetos para dividir."
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Agregar a las compras de la tienda."
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Agregar a las ventas de la tienda."
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "Desconocido."
@@ -1181,32 +1212,31 @@ msgstr "Cerrar automáticamente"
msgid "Skip"
msgstr "Saltar"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Inicio de sesión"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Servidor:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Host de actualización personalizado"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Recordar nombre de usuario"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "Actualizar:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "Registrar"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Cambiar de servidor"
@@ -1250,24 +1280,24 @@ msgstr "barra de estado"
msgid "Need"
msgstr "Necesitas"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr "Dejar de esperar"
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Siguiente"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Enviar"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "Limpiar"
@@ -1283,12 +1313,13 @@ msgstr "Enviar"
msgid "Failed to send as sender or letter invalid."
msgstr "Fallo al enviar o mensaje inválido."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "Conjuntos: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Tecla: %s"
@@ -1693,64 +1724,58 @@ msgstr "La contraseña debe tener como mínimo %d caracteres."
msgid "Passwords do not match."
msgstr "Las contraseñas no coinciden."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Escoge tu servidor"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "Elige tu servidor *** MODO SEGURO ***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Puerto:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "Usar el mismo ip para los subservidores del juego"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Tipo de servidor:"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "Cargar"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "Conectar"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "Servidor propio"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "Añadir"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Por favor especifique el nombre y el puerto del servidor."
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Editar"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Bajando la lista de servidores...%2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "Esperando al servidor..."
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Preparando la descarga"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "¡Error al recuperar la lista de servidores!"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "requiere una versión mas nueva"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "requiere v%s"
@@ -2316,23 +2341,23 @@ msgstr "En la lista negra"
msgid "Enemy"
msgstr "Enemigo"
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Permitir intercambios"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Permitir mensajes privados"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Viejo"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr "Relaciones"
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Cuando se ignora a alguien:"
@@ -2460,8 +2485,8 @@ msgstr "Tamaño de fuente"
msgid "Theme Changed"
msgstr "Tema cambiado"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Reinicia el juego para que los cambios tengan efecto."
@@ -2513,151 +2538,154 @@ msgstr "medio"
msgid "max"
msgstr "máximo"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Pantalla completa"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "Cursor propio"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Efectos de partículas"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "Mostrar aviso al coger algo"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "en el chat"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "como partícula"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr "Permitir cambiar de tamaño"
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr "Sin marco"
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "Límite FPS:"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Límite FPS alternativo: "
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr "Sobrecarga de texto"
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "Opacidad de interfaz"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "Ambiente FX"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "Detalle de partículas"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "Nada"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
"Fallo al cambiar para el modo ventana y fallo al restaurar el modo anterior!"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
"Fallo al cambiar para el modo ventana completa y fallo al restaurar el modo "
"anterior!"
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Cambiando a pantalla completa"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "Reinicio necesario para que los cambios tengan su efecto."
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Cambiando a OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "Aplicar el intercambio a OpenGL requiere reiniciar el juego."
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Resolución personalizada (ejemplo: 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Ingrese la nueva resolución: "
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "Resolución de pantalla cambiada"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr "Algunas ventanas deben ser movidas a una resolución más baja."
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "Configuración del efecto de las partículas cambiado."
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "Los cambios tendrán efecto cuando se cambie de mapa."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "Tienda personal"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Comprar artículos"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Vender artículos"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Añadir"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "Anunciar"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "Mostrar enlaces en anuncio"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr "Subasta"
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Propuesta de intercambio"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s quiere %s %s ¿aceptas?"
@@ -2784,7 +2812,7 @@ msgstr "Criaturas ignoradas"
msgid "Create Guild"
msgstr "Crear Clan"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "Crear grupo"
@@ -2796,93 +2824,103 @@ msgstr "Social"
msgid "Invite"
msgstr "Invitar"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr "J"
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr "A"
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "Aceptada la invitación de %s."
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "Cancelada la invitación de %s."
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "Aceptada la invitación al clan de %s."
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "Rechazada la invitación al clan de %s."
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "Creando clan llamado %s."
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "Creando grupo llamado %s."
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "Nombre del clan"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "Escoge el nombre de tu clan."
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr "Recibida petición de creación del clan, pero ya existe."
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s te ha invitado al clan %s."
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "Aceptar invitación al clan"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "Recibida petición de creación del grupo, pero ya existe."
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "Fuiste invitado a un grupo."
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "Has sido invitado para unirte al grupo %s."
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s te ha invitado a unirte a su grupo."
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s te ha invitado para unirte al grupo %s."
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "Aceptar invitación al grupo"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "No se pudo crear un grupo. Ya estás en uno."
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "Nombre del grupo"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "Escoge el nombre del grupo."
@@ -3078,29 +3116,29 @@ msgstr "Nombre: %s"
msgid "Updating..."
msgstr "Actualizando..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "Conectando..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Jugar"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 El proceso de actualización esta incompleto."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 Es altamente recomendado que"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 lo intentes de nuevo más tarde."
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "Completado"
@@ -3252,23 +3290,23 @@ msgstr "Limites de Lugar de Inicio"
msgid "Road Point"
msgstr "Mostrar camino"
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "Quién está conectado - Actualizando"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "Actualizar"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "Quienes están conectados - "
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "Quienes están conectados - error"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "Quienes están conectados - Actualizar"
@@ -3409,10 +3447,6 @@ msgstr "/leave > Dejar el clan en el que estás"
msgid "/kick > Kick some one from the guild you are in"
msgstr "/kick > Expulsar a alguien del clan en el que estás."
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Editar"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr "/ignore > Ignorar a otro jugador"
@@ -3665,7 +3699,7 @@ msgstr "Tecla de acceso directo de objeto"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "Atajo para el objeto %d"
@@ -3792,184 +3826,186 @@ msgstr "Emoticono"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "Atajo para Emoticono %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr "Teclas de Conjuntos"
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "Ponerse el conjunto"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr "Copiar el conjunto"
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr "Copiar lo que tiene equipado a Conjunto"
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr "Teclas del Chat"
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "Cambiar Chat"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "Desplazarse hacia arriba en el chat"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "Desplazarse hacia abajo en el chat"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "Pestaña de Chat Anterior"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "Siguiente Pestaña del Chat"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr "Cerrar la Pestaña activa del Chat"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr "Línea previa del chat"
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr "Siguiente línea del chat"
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr "Completar texto automáticamente en chat"
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr "Desactivar entrada al Chat"
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr "Otras Teclas"
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "Ignorar input 1"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "Ignorar input 2"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr "Arriba"
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr "Abajo"
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr "Izquierda"
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr "Derecha"
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr "Movimientos locos"
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr "Cambiar el tipo de movimientos locos"
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr "Lanzamiento de N objetos desde 0 casillas"
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr "Dejar caer N artículos rápidamente"
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr "Cambiar el contador de lanzamientos"
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr "Curar rápidamente a objetivo o a sí mismo"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr "Usar el hechizo #itenplz"
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "Usar ataque mágico"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr "Intercambiar ataque mágico"
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr "Intercambiar ataque pvp"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr "Cambiar tipo de maniobra"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr "Cambiar tipo de arma de ataque"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr "Cambiar tipo de ataque"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr "Cambiar modo de perseguir"
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr "Cambiar modo de Imitación"
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr "Habilitar / Deshabilitar las teclas de modificación del Juego"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "Encender / Apagar audio"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr "Habilitar / Deshabilitar modo AFK"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr "Emular clic derecho desde el teclado"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr "Interruptor de tipo de cámara"
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr "Tecla modificadora"
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -3978,340 +4014,340 @@ msgstr ""
"Conflicto con las teclas \"%s\" e \"%s\" . Resuelva el conflicto, o el juego "
"puede presentar un comportamiento raro."
-#: src/localplayer.cpp:384
+#: src/localplayer.cpp:385
#, c-format
msgid "You were killed by %s"
msgstr "Fuiste eliminado por %s"
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr "Intentaste recoger un objeto inexistente."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "El artículo es muy pesado."
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "El artículo está muy lejos."
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "El inventario está lleno."
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr "El agrupamiento es demasiado grande."
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "El artículo pertenece a alguien más."
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr "Problema desconocido al intentar recoger el artículo."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Recogiste un %d [@@%d|%s@@]."
msgstr[1] "Recogiste unos %d [@@%d|%s@@]."
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) moverse predeterminado"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr "(I) moverse invertido"
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr "(c) moverse con algunos movimientos locos"
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr "(C) moverse con movimientos locos"
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr "(d) doble normal + loco"
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
msgstr "(?) movimiento desconocido"
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr "(%d) movimiento loco número %d"
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr "(a) maniobra alocada personalizada"
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr "(?) maniobra loca"
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr "(0) moverse por defecto hacia el objetivo"
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr "(1) moverse al objetivo en distancia 1"
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr "(2) moverse al objetivo en distancia 2"
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr "(3) moverse al objetivo en distancia 3"
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr "(5) moverse al objetivo en distancia 5"
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr "(7) moverse al objetivo en distancia 7"
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr "(A) desplazarse al objetivo en el rango de ataque"
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr "(a) rango de ataque de arquero"
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?) mover al objetivo"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr "(D) seguimiento predeterminado"
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr "(R) seguimiento relativo"
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr "(M) seguimiento tipo espejo"
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr "(P) seguimiento como mascota"
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr "(?) seguimiento desconocido"
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) atacar"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) ataque predeterminado"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr "(s) intercambiar ataque sin escudo"
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr "(S) intercambiar ataque con escudo"
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) ir y atacar"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr "(A) ir, atacar, recoger"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) sin atacar automáticamente"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr "(S) recoger a 1x1 celdas (pequeño)"
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr "(D) recoger a 2x1 celdas (predeterminado)"
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) recoger interesadamente a 2x3 celda"
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr "(3) recoger a 3x3 celdas"
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr "(g) ir y recoger en distancia 4"
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr "(G) ir y recoger en distancia 8"
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr "(A) ir y recoger a máxima distancia"
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?) recoger"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) vista normal del mapa"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr "(D) vista depurar del mapa"
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr "(u) ultra vista del mapa"
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr "(U) ultra vista del mapa 2"
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) vista vacía del mapa"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b) vista del mapa en blanco y negro"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) usar #flar para ataque mágico"
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) usar #chiza para ataque mágico"
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(I) usar #ingrav para ataque mágico"
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) usar #frillyar para ataque mágico"
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) usar #upmarmu para ataque mágico"
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) ataque mágico"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr "(a) atacar a todos los jugadores"
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr "(f) atacar a los que no son amigos"
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr "(b) atacar a quienes están en malas relaciones"
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr "(d) no atacar a los jugadores"
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr "(?) ataque pvp"
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr "(D) imitación predeterminada"
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr "(O) imitación de conjuntos"
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr "(?) imitación"
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "Fuera del Teclado"
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) en el teclado"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) lejos del teclado"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) afuera"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr "(G) modo de cámara de juego"
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr "(F) modo de cámara libre"
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr "Modificadores del juego están habilitados"
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr "Modificadores del juego están deshabilitados"
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr "Los modificadores del juego son desconocidos"
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "Seguir: "
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "Seguir cancelado"
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr "Imitación: "
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr "Imitación cancelada"
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr "Ves "
#: src/main.cpp:50
msgid "manaplus [options] [manaplus-file]"
-msgstr "manaplus [options] [manaplus-file]"
+msgstr "manaplus [opciones] [manaplus-file]"
#: src/main.cpp:51
msgid "[manaplus-file] : The manaplus file is an XML file (.manaplus)"
diff --git a/po/fi.po b/po/fi.po
index fa82c7eae..c015ef94e 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-05 20:43+0000\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-02 16:45+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fi\n"
@@ -32,122 +32,122 @@ msgid "miss"
msgstr "huti"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
-msgstr ""
+msgstr "P"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
-msgstr ""
+msgstr "-"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Asetukset"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
-msgstr ""
+msgstr "Tehokkuus"
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Kuva"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
-msgstr ""
+msgstr "Teemat"
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "Yhdistän palvelimeen"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "Kirjaudun sisään"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Siirryn pelimaailmaan"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Pyydän hahmoja"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "Yhdistän pelipalvelimeen"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Vaihdan pelipalvelinta"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "Virhe"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Pyydän rekisteröitymisen yksityiskohtia"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Salasanan vaihto"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "Salasana vaihdettu onnistuneesti!"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "Sähköpostin vaihto"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "Sähköpostiosoite vaihdettu onnistuneesti!"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "Tietojen poisto onnistui"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "Näkemisiin, tule pian takaisin..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s ei ole olemassa eikä sitä voi luoda! Poistun."
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Epäkelpo päivitysosoite: %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "Päivityshakemistoa luodessa tapahtui virhe!"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Virhe: %s ei ole olemassa eikä sitä voi luoda! Poistun."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "Tuntematon komento."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "Et voi lähettää tyhjiä kuiskauksia!"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -156,160 +156,160 @@ msgstr ""
"Kuiskausvälilehden luonti nimelle \"%s\" epäonnistui! Se on joko jo auki tai "
"käytit omaa nimeäsi."
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "Pyyntö liittyä kanavalle %s lähetetty."
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Ryhmän nimi puuttuu."
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Killan nimi puuttuu."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "Anna nimi."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "Rivinvaihto aktivoi ja sulkee keskustelun."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "Viesti sulkee keskustelun."
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "Nyt rivinvaihto aktivoi ja sulkee keskustelun."
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "Nyt viesti sulkee keskustelun."
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "ystävä"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "vaimennettu"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "neutraali"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "Pelaaja on jo %s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "Pelaaja on nyt %s."
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "Toiminto epäonnistui, pelaaja ei ole vielä %s!"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "Pelaajaa ei ollut jätetty huomiotta!"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "Pelaaja huomioidaan taas."
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "Pelaajan uudelleenhuomiointi epäonnistui."
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
-msgstr ""
+msgstr "mustalistattu"
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
-msgstr ""
+msgstr "vihollinen"
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "Pelaaja on jo pyyhitty!"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "Pelaaja pyyhitty."
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "Toiminto epäonnistui, pelaajaa ei ole vielä pyyhitty."
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr "Ohjelma ollut käynnissä: %s"
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d viikon"
msgstr[1] "%d viikkoa"
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d päivän"
msgstr[1] "%d päivää"
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d tunnin"
msgstr[1] "%d tuntia"
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minuutin"
msgstr[1] "%d minuuttia"
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d sekunnin"
msgstr[1] "%d sekuntia"
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr "kirjasinvälimuistin koko"
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr "Välimuistin koko:"
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "Luotu:"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "Poistettu:"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr "Resurssikuvat:"
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr "Orvot resurssikuvat:"
@@ -320,43 +320,43 @@ msgstr ""
"Vaihtoehdot komennolle /%s ovat \"yes\" (kyllä), \"no\" (ei) tai vastaavasti "
"\"true\", \"false\", \"1\" tai \"0\"."
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "Yleiset"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "Debug"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Ruutukaappaus tallennettu nimellä "
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "Ruutukaappauksen tallentaminen epäonnistui!"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "Yhteys palvelimeen katkesi."
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "Verkkovirhe"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Et huomioi kaupankäyntipyyntöjä"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Hyväksyt kaupankäyntipyynnöt"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "Kartan lataaminen epäonnistui"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "Kohdetta %s ladattaessa tapahtui virhe."
@@ -379,7 +379,7 @@ msgstr "PvP-taso: %d"
#: src/gui/beingpopup.cpp:162
#, c-format
msgid "Comment: %s"
-msgstr ""
+msgstr "Kommentti: %s"
#: src/gui/botcheckerwindow.cpp:266
msgid "Bot Checker"
@@ -410,7 +410,7 @@ msgstr "Liiku"
msgid "Result"
msgstr "Tulos"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "Nollaa"
@@ -428,34 +428,34 @@ msgstr "Hinta: %s / Kaikkiaan: %s"
#: src/gui/buydialog.cpp:103
msgid "Amount:"
-msgstr ""
+msgstr "Määrä:"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "Sulje"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "Max"
@@ -472,21 +472,21 @@ msgid "Sell"
msgstr "Myy"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Peru"
@@ -522,7 +522,7 @@ msgstr "Annetut sähköpostiosoitteet eivät täsmää."
msgid "Change Password"
msgstr "Vaihda salasana"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Salasana:"
@@ -549,68 +549,73 @@ msgstr "Uuden salasanan enimmäispituus on %d merkkiä."
msgid "The new password entries mismatch."
msgstr "Uuden salasanan kopiot eivät täsmää."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Luo hahmo"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr ""
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "Nimi:"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Hiusten väri:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "Hiustyyli:"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr ""
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "Rotu: "
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Luo"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Miespuolinen"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Naispuolinen"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "Jaa %d pistettä"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Nimessäsi täytyy olla ainakin 4 merkkiä."
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Hahmon pistejako OK"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "%d pistettä liikaa, ole hyvä ja poista ylimäärä"
@@ -652,9 +657,9 @@ msgstr "Anna salasana hahmon poistamiseksi"
msgid "Enter password:"
msgstr "Salasana:"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Poista"
@@ -729,7 +734,7 @@ msgstr "sateenkaari 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -741,12 +746,12 @@ msgstr "???"
msgid "Chat"
msgstr "Keskustelu"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Läsnä: %s; %d pelaajaa paikalla."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Kuiskaat pelaajalle %s: %s"
@@ -893,7 +898,7 @@ msgstr "Kriittinen osuma:"
#: src/gui/debugwindow.cpp:387 src/gui/debugwindow.cpp:392
#, c-format
msgid "Ping: %s ms"
-msgstr ""
+msgstr "Ping: %s ms"
#: src/gui/debugwindow.cpp:395
#, c-format
@@ -907,31 +912,56 @@ msgstr "Ulos: %d tavua/s"
#: src/gui/didyouknowwindow.cpp:47
msgid "Did You Know?"
-msgstr ""
+msgstr "Tiesitkö?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Sulje"
#: src/gui/didyouknowwindow.cpp:64
msgid "< Previous"
-msgstr ""
+msgstr "< Edellinen"
#: src/gui/didyouknowwindow.cpp:65
msgid "Next >"
-msgstr ""
+msgstr "Seuraava >"
#: src/gui/didyouknowwindow.cpp:66
msgid "Auto open this window"
-msgstr ""
+msgstr "Avaa tämä ikkuna automaattisesti"
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "Ok"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Portti:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Palvelintyyppi:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr ""
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "Varusteet"
@@ -949,23 +979,23 @@ msgstr "Apua"
#: src/gui/inventorywindow.cpp:71
msgid "by name"
-msgstr ""
+msgstr "nimi"
#: src/gui/inventorywindow.cpp:72
msgid "by id"
-msgstr ""
+msgstr "id"
#: src/gui/inventorywindow.cpp:73
msgid "by weight"
-msgstr ""
+msgstr "paino"
#: src/gui/inventorywindow.cpp:74
msgid "by amount"
-msgstr ""
+msgstr "määrä"
#: src/gui/inventorywindow.cpp:75
msgid "by type"
-msgstr ""
+msgstr "tyyppi"
#: src/gui/inventorywindow.cpp:112 src/gui/windowmenu.cpp:76
#: src/inventory.cpp:249
@@ -1029,39 +1059,39 @@ msgstr "Ota"
msgid "Drop"
msgstr "Pudota"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "Kaikki"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Anna vaihtokaupattavien tavaroiden määrä."
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Anna pudotettavien tavaroiden määrä."
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Anna varastoitavien tavaroiden määrä."
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Anna varastosta otettavien tavaroiden määrä."
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Anna eri pinoon jaettavien tavaroiden määrä."
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Lisää ostokauppaan."
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Lisää myyntikauppaan."
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "Tuntematon."
@@ -1089,36 +1119,36 @@ msgstr "Nollaa ajastin"
#: src/gui/killstats.cpp:72 src/gui/killstats.cpp:208
#, c-format
msgid "Level: %d at %f%%"
-msgstr ""
+msgstr "Taso: %d @ %f%%"
#: src/gui/killstats.cpp:76 src/gui/killstats.cpp:213
#, c-format
msgid "Exp: %d/%d Left: %d"
-msgstr ""
+msgstr "Kokemus: %d/%d, jäljellä: %d"
#: src/gui/killstats.cpp:79 src/gui/killstats.cpp:219
#: src/gui/killstats.cpp:228
#, c-format
msgid "1%% = %d exp, avg mob for 1%%: %s"
-msgstr ""
+msgstr "1%% = %d kp, keskim. vastustajaa 1%%:iin: %s"
#: src/gui/killstats.cpp:82 src/gui/killstats.cpp:145
#: src/gui/killstats.cpp:237
#, c-format
msgid "Kills: %s, total exp: %s"
-msgstr ""
+msgstr "Tappoja: %s, kp kaikkiaan: %s"
#: src/gui/killstats.cpp:84 src/gui/killstats.cpp:147
#: src/gui/killstats.cpp:223 src/gui/killstats.cpp:233
#, c-format
msgid "Avg Exp: %s, No. of avg mob to next level: %s"
-msgstr ""
+msgstr "Keskim. kp: %s, Keskim. vastustajaa seur. tasoon: %s"
#: src/gui/killstats.cpp:85 src/gui/killstats.cpp:165
#: src/gui/killstats.cpp:240
#, c-format
msgid "Kills/Min: %s, Exp/Min: %s"
-msgstr ""
+msgstr "Tappoa/min: %s, kp/min: %s"
#: src/gui/killstats.cpp:87 src/gui/killstats.cpp:92 src/gui/killstats.cpp:97
#: src/gui/killstats.cpp:292 src/gui/killstats.cpp:308
@@ -1126,41 +1156,41 @@ msgstr ""
#, c-format
msgid "Exp speed per %d min: %s"
msgid_plural "Exp speed per %d min: %s"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Kokemustahti / %d min: %s"
+msgstr[1] "Kokemustahti / %d min: %s<"
#: src/gui/killstats.cpp:90 src/gui/killstats.cpp:95 src/gui/killstats.cpp:100
#, c-format
msgid "Time for next level per %d min: %s"
msgid_plural "Time for next level per %d min: %s"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Aika ensi tasolle %d min perusteella: %s"
+msgstr[1] "Aika ensi tasolle %d min perusteella: %s"
#: src/gui/killstats.cpp:103 src/gui/killstats.cpp:244
msgid "Last kill exp:"
-msgstr ""
+msgstr "Viime tapon kp:"
#: src/gui/killstats.cpp:105 src/gui/killstats.cpp:358
#: src/gui/killstats.cpp:364 src/gui/killstats.cpp:370
#: src/gui/killstats.cpp:375
msgid "Time before jacko spawn:"
-msgstr ""
+msgstr "Aika jackon resetiin:"
#: src/gui/killstats.cpp:297 src/gui/killstats.cpp:304
#: src/gui/killstats.cpp:314 src/gui/killstats.cpp:321
#: src/gui/killstats.cpp:333 src/gui/killstats.cpp:340
#, c-format
msgid " Time for next level: %s"
-msgstr ""
+msgstr " Aika seur. tasolle: %s"
#: src/gui/killstats.cpp:364
#, c-format
msgid "%s %d?"
-msgstr ""
+msgstr "%s %d?"
#: src/gui/killstats.cpp:370
msgid "jacko spawning"
-msgstr ""
+msgstr "jacko elää!"
#: src/guildmanager.cpp:485 src/net/ea/guildhandler.cpp:451
msgid "You have left the guild."
@@ -1178,32 +1208,31 @@ msgstr "Sulje kun valmis"
msgid "Skip"
msgstr "Ohita"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Kirjaudu sisään"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Palvelin:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Käytä omaa päivityspalvelinta"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Muista käyttäjätunnus"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "Päivitys:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "Rekisteröidy"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Vaihda palvelinta"
@@ -1247,24 +1276,24 @@ msgstr "tilapalkki"
msgid "Need"
msgstr "Tarvitaan"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
-msgstr ""
+msgstr "Lakkaa odottamasta"
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Seuraava"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Lähetä"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "Ei-pelaajahahmo (NPC)"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "Tyhjennä"
@@ -1280,12 +1309,13 @@ msgstr "Lähetä"
msgid "Failed to send as sender or letter invalid."
msgstr "Lähettäminen epäonnistui: vastaanottaja tai kirje ei kelpaa."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "Asu: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Näppäin: %s"
@@ -1333,7 +1363,7 @@ msgstr "Vaimenna"
#: src/gui/popupmenu.cpp:685 src/gui/popupmenu.cpp:693
#: src/gui/popupmenu.cpp:716
msgid "Black list"
-msgstr ""
+msgstr "Musta lista"
#: src/gui/popupmenu.cpp:152 src/gui/popupmenu.cpp:160
#: src/gui/popupmenu.cpp:168 src/gui/popupmenu.cpp:415
@@ -1341,7 +1371,7 @@ msgstr ""
#: src/gui/popupmenu.cpp:686 src/gui/popupmenu.cpp:694
#: src/gui/popupmenu.cpp:702
msgid "Set as enemy"
-msgstr ""
+msgstr "Aseta viholliseksi"
#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
#: src/gui/popupmenu.cpp:169 src/gui/popupmenu.cpp:177
@@ -1429,17 +1459,17 @@ msgstr "Riisu"
#: src/gui/popupmenu.cpp:467 src/gui/popupmenu.cpp:741
#: src/gui/popupmenu.cpp:830
msgid "Add comment"
-msgstr ""
+msgstr "Lisää kommentti"
#: src/gui/popupmenu.cpp:286 src/gui/popupmenu.cpp:515
#: src/gui/popupmenu.cpp:756 src/gui/popupmenu.cpp:835
msgid "Buy (?)"
-msgstr ""
+msgstr "Osta (?)"
#: src/gui/popupmenu.cpp:287 src/gui/popupmenu.cpp:516
#: src/gui/popupmenu.cpp:757 src/gui/popupmenu.cpp:836
msgid "Sell (?)"
-msgstr ""
+msgstr "Myy (?)"
#: src/gui/popupmenu.cpp:312
msgid "Kick"
@@ -1471,7 +1501,7 @@ msgstr "Pelaajat"
#: src/gui/popupmenu.cpp:546
msgid "Pick up"
-msgstr "Nosta"
+msgstr "Poimi"
#: src/gui/popupmenu.cpp:547 src/gui/popupmenu.cpp:1848
#: src/gui/popupmenu.cpp:1932 src/gui/popupmenu.cpp:1979
@@ -1493,11 +1523,11 @@ msgstr "Poista"
#: src/gui/popupmenu.cpp:573
msgid "Warp"
-msgstr ""
+msgstr "Warppaa"
#: src/gui/popupmenu.cpp:589
msgid "Clear outfit"
-msgstr ""
+msgstr "Poista asu"
#: src/gui/popupmenu.cpp:608 src/gui/windowmenu.cpp:96
msgid "Spells"
@@ -1521,7 +1551,7 @@ msgstr "Salli korostus"
#: src/gui/popupmenu.cpp:640
msgid "Don't remove name"
-msgstr ""
+msgstr "Älä poista nimeä"
#: src/gui/popupmenu.cpp:642
msgid "Remove name"
@@ -1541,7 +1571,7 @@ msgstr "Eroa"
#: src/gui/popupmenu.cpp:654
msgid "Copy to clipboard"
-msgstr ""
+msgstr "Kopioi leikepöydälle"
#: src/gui/popupmenu.cpp:849
msgid "Change guild position"
@@ -1560,12 +1590,12 @@ msgstr "Nimi: "
#. TRANSLATORS: number of chars in string should be near original
#: src/gui/popupmenu.cpp:1382
msgid "Player comment "
-msgstr ""
+msgstr "Pelaajakommentti "
#. TRANSLATORS: number of chars in string should be near original
#: src/gui/popupmenu.cpp:1384
msgid "Comment: "
-msgstr ""
+msgstr "Kommentti: "
#: src/gui/popupmenu.cpp:1786
msgid "Add to trade"
@@ -1598,7 +1628,7 @@ msgstr "Varastoi kaikki"
#: src/gui/popupmenu.cpp:1824 src/gui/popupmenu.cpp:1920
#: src/gui/popupmenu.cpp:1967
msgid "Drop all"
-msgstr ""
+msgstr "Pudota kaikki"
#: src/gui/popupmenu.cpp:1843
msgid "Retrieve 10"
@@ -1634,7 +1664,7 @@ msgstr "Palauta oletusmuokkaimet (keltainen palkki)"
#: src/gui/popupmenu.cpp:2062 src/gui/statuswindow.cpp:242
msgid "Copy to chat"
-msgstr ""
+msgstr "Kopioi keskusteluun"
#: src/gui/popupmenu.cpp:2082 src/gui/setup_theme.cpp:88
#: src/gui/setup_theme.cpp:145 src/gui/socialwindow.cpp:982
@@ -1690,64 +1720,58 @@ msgstr "Salasanan tulee olla alle %d merkkiä pitkä."
msgid "Passwords do not match."
msgstr "Salasanat eivät täsmää."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Valitse palvelimesi"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
-msgstr ""
+msgstr "Valitse palvelimesi *** VARMUUSTILA ***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Portti:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "Käytä samaa IP-osoitetta alipalvelimille"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Palvelintyyppi:"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "Lataa"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "Yhdistä"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "Muu palvelin"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "Lisää"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Kirjoita kenttiin sekä palvelimen osoite että portti"
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Muokkaa"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Lataan palvelinluettelon...%2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "Odotan palvelinta..."
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Valmistelen latausta"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "Palvelinluettelon hakeminen epäonnistui!"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "vaatii uudemman version"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "vaatii version %s"
@@ -1816,7 +1840,7 @@ msgstr "Näytä keskustelun värilista"
#: src/gui/setup_chat.cpp:64
msgid "Commands"
-msgstr ""
+msgstr "Komennot"
#: src/gui/setup_chat.cpp:66
msgid "Allow magic and GM commands in all chat tabs"
@@ -1824,7 +1848,7 @@ msgstr "Salli magia ja GM-komennot kaikilla keskusteluvälilehdillä"
#: src/gui/setup_chat.cpp:70
msgid "Limits"
-msgstr ""
+msgstr "Rajat"
#: src/gui/setup_chat.cpp:72
msgid "Limit max chars in chat line"
@@ -1836,7 +1860,7 @@ msgstr "Keskusteluvälilehden riviraja"
#: src/gui/setup_chat.cpp:79
msgid "Logs"
-msgstr ""
+msgstr "Lokit"
#: src/gui/setup_chat.cpp:81
msgid "Enable chat Log"
@@ -1848,7 +1872,7 @@ msgstr "Näytä keskusteluhistoria"
#: src/gui/setup_chat.cpp:88
msgid "Messages"
-msgstr ""
+msgstr "Viestit"
#: src/gui/setup_chat.cpp:90
msgid "Hide shop messages"
@@ -1856,7 +1880,7 @@ msgstr "Piilota kauppaviestit"
#: src/gui/setup_chat.cpp:94
msgid "Tabs"
-msgstr ""
+msgstr "Välilehdet"
#: src/gui/setup_chat.cpp:96
msgid "Put all whispers in tabs"
@@ -1888,23 +1912,23 @@ msgstr "Muuta välilehden kokoa tarpeen mukaan"
#: src/gui/setup_chat.cpp:118
msgid "Time"
-msgstr ""
+msgstr "Aika"
#: src/gui/setup_chat.cpp:120
msgid "Use local time"
-msgstr ""
+msgstr "Käytä paikallista aikaa"
#: src/gui/setup_chat.cpp:123 src/gui/setup_other.cpp:166
msgid "Other"
-msgstr ""
+msgstr "Muu"
#: src/gui/setup_chat.cpp:125
msgid "Highlight words (separated by comma)"
-msgstr ""
+msgstr "Korosta sanat (pilkuin erotettu)"
#: src/gui/setup_chat.cpp:128
msgid "Show MVP messages"
-msgstr ""
+msgstr "Näytä MVP-viestit"
#: src/gui/setup_colors.cpp:49
msgid "This is what the color looks like"
@@ -1975,7 +1999,7 @@ msgstr "Ota peliohjain käyttöön"
#: src/gui/setup_joystick.cpp:75
msgid "Use joystick if client window inactive"
-msgstr ""
+msgstr "Käytä peliohjainta jos asiakasikkuna ei ole aktiivinen"
#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
@@ -1987,7 +2011,7 @@ msgstr "Lopeta"
#: src/gui/setup_joystick.cpp:149
msgid "Rotate the stick and dont press buttons"
-msgstr ""
+msgstr "Pyöritä ohjainta, älä paina nappeja"
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2067,19 +2091,19 @@ msgstr "Piirrä siirtymäpikanäppäimet kartalle"
#: src/gui/setup_other.cpp:87
msgid "Enable lazy scrolling"
-msgstr ""
+msgstr "Ota laiska vieritys käyttöön"
#: src/gui/setup_other.cpp:90
msgid "Scroll laziness"
-msgstr ""
+msgstr "Vierityksen laiskuus"
#: src/gui/setup_other.cpp:93
msgid "Scroll radius"
-msgstr ""
+msgstr "Vierityksen säde"
#: src/gui/setup_other.cpp:97
msgid "Moving"
-msgstr ""
+msgstr "Liikkuminen"
#: src/gui/setup_other.cpp:99
msgid "Auto fix position"
@@ -2099,7 +2123,7 @@ msgstr "Villiliike (a) -ohjelma"
#: src/gui/setup_other.cpp:112
msgid "Player"
-msgstr ""
+msgstr "Pelaaja"
#: src/gui/setup_other.cpp:114
msgid "Show own hp bar"
@@ -2123,7 +2147,7 @@ msgstr "Näytä pelaajaponnahdusikkunat"
#: src/gui/setup_other.cpp:129
msgid "Afk message"
-msgstr ""
+msgstr "Poissaoloviesti"
#: src/gui/setup_other.cpp:132
msgid "Show job"
@@ -2135,7 +2159,7 @@ msgstr "Ota käyttöön hyökkäyssuodin"
#: src/gui/setup_other.cpp:138
msgid "Enable advert protocol"
-msgstr ""
+msgstr "Ota käyttöön mainosprotokolla"
#: src/gui/setup_other.cpp:144
msgid "Accept sell/buy requests"
@@ -2151,15 +2175,15 @@ msgstr "Kirjaa keskustelut ei-pelaajahahmojen kanssa lokiin"
#: src/gui/setup_other.cpp:157
msgid "Bots support"
-msgstr ""
+msgstr "Bottien tuki"
#: src/gui/setup_other.cpp:159
msgid "Enable auction bot support"
-msgstr ""
+msgstr "Ota käyttöön huutokauppabotin tuki"
#: src/gui/setup_other.cpp:162
msgid "Enable guild bot support and disable native guild support"
-msgstr ""
+msgstr "Ota käyttöön kiltabottien tuki ja poista sisäinen kiltatuki käytöstä"
#: src/gui/setup_other.cpp:168
msgid "Enable server side attack"
@@ -2171,7 +2195,7 @@ msgstr "Ota bottitutka käyttöön"
#: src/gui/setup_other.cpp:174
msgid "Enable buggy servers protection (do not disable)"
-msgstr ""
+msgstr "Ota käyttöön bugisten palvelinten suojaus (älä poista käytöstä)"
#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
@@ -2191,11 +2215,11 @@ msgstr "Näytä tausta"
#: src/gui/setup_perfomance.cpp:55
msgid "Better perfomance (enable for better perfomance)"
-msgstr ""
+msgstr "Ota lisätehot käyttöön ;)"
#: src/gui/setup_perfomance.cpp:58
msgid "Auto adjust perfomance"
-msgstr ""
+msgstr "Sopeuta tehokkuusasetukset automaattisesti"
#: src/gui/setup_perfomance.cpp:61
msgid "Hw acceleration"
@@ -2204,38 +2228,39 @@ msgstr "Rautakiihdytys"
#: src/gui/setup_perfomance.cpp:64
msgid "Enable opacity cache (Software, can use many memory)"
msgstr ""
+"Ota käyttöön läpinäkyvyysvälimuisti (ohjelmallinen, voi olla muistisyöppö)"
#: src/gui/setup_perfomance.cpp:67
msgid "Enable map reduce (Software)"
-msgstr ""
+msgstr "Ota käyttöön karttareduktio (ohjelmallinen)"
#: src/gui/setup_perfomance.cpp:70
msgid "Better quality (disable for better perfomance)"
-msgstr ""
+msgstr "Parempi laatu (poista käytöstä jos tarvitset lisätehoa)"
#: src/gui/setup_perfomance.cpp:73
msgid "Enable alpha channel fix (Software, can be very slow)"
-msgstr ""
+msgstr "Ota käyttöön alfakanavan korjaus (ohjelmallinen, voi olla hidas)"
#: src/gui/setup_perfomance.cpp:77
msgid "Show beings transparency"
-msgstr ""
+msgstr "Näytä olioiden läpinäkyvyys"
#: src/gui/setup_perfomance.cpp:80
msgid "Enable reorder sprites."
-msgstr ""
+msgstr "Ota käyttöön uudelleenjärjestyshahmot"
#: src/gui/setup_perfomance.cpp:83
msgid "Small memory (enable for lower memory usage)"
-msgstr ""
+msgstr "Pieni muisti, käytä vähemmän muistia"
#: src/gui/setup_perfomance.cpp:86
msgid "Disable advanced beings caching (Software)"
-msgstr ""
+msgstr "Poista kehittynyt olentojen välimuisti käytöstä (ohjelmallinen)"
#: src/gui/setup_perfomance.cpp:89
msgid "Disable beings caching (Software)"
-msgstr ""
+msgstr "Poista olentojen välimuisti käytöstä (ohjelmallinen)"
#: src/gui/setup_players.cpp:54
msgid "Show gender"
@@ -2251,7 +2276,7 @@ msgstr "Näytä oma nimi"
#: src/gui/setup_players.cpp:63
msgid "Enable extended mouse targeting"
-msgstr ""
+msgstr "Ota käyttöön laajennettu kohteen valinta hiirellä"
#: src/gui/setup_players.cpp:66
msgid "Target dead players"
@@ -2267,19 +2292,19 @@ msgstr "Turvaa kaupat"
#: src/gui/setup_players.cpp:75
msgid "Unsecure chars in names"
-msgstr ""
+msgstr "Turvattomia merkkejä nimissä"
#: src/gui/setup_players.cpp:78
msgid "Show statuses"
-msgstr ""
+msgstr "Näytä tilat"
#: src/gui/setup_players.cpp:81
msgid "Show ip addresses on screenshots"
-msgstr ""
+msgstr "Näytä IP-osoitteet kuvakaappauksissa"
#: src/gui/setup_players.cpp:84
msgid "Allow self heal with mouse click"
-msgstr ""
+msgstr "Salli itsen parantaminen hiiren napsautuksella"
#: src/gui/setup_relations.cpp:65
msgid "Relation"
@@ -2307,29 +2332,29 @@ msgstr "Pyyhitty"
#: src/gui/setup_relations.cpp:75
msgid "Blacklisted"
-msgstr ""
+msgstr "Mustalla listalla"
#: src/gui/setup_relations.cpp:76
msgid "Enemy"
-msgstr ""
+msgstr "Vihollinen"
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Salli kaupakäynti"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Salli kuiskaukset"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Vanha"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
-msgstr ""
+msgstr "Suhteet"
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Kun jätät huomiotta:"
@@ -2359,59 +2384,59 @@ msgstr "Jättimäinen (15)"
#: src/gui/setup_theme.cpp:146
msgid "Chinese (China)"
-msgstr ""
+msgstr "Kiina (kiina)"
#: src/gui/setup_theme.cpp:147
msgid "Czech"
-msgstr ""
+msgstr "Tsekki"
#: src/gui/setup_theme.cpp:148
msgid "English"
-msgstr ""
+msgstr "Englanti"
#: src/gui/setup_theme.cpp:149
msgid "Finnish"
-msgstr ""
+msgstr "Suomi"
#: src/gui/setup_theme.cpp:150
msgid "French"
-msgstr ""
+msgstr "Ranska"
#: src/gui/setup_theme.cpp:151
msgid "German"
-msgstr ""
+msgstr "Saksa"
#: src/gui/setup_theme.cpp:152
msgid "Indonesian"
-msgstr ""
+msgstr "Indonesia"
#: src/gui/setup_theme.cpp:153
msgid "Polish"
-msgstr ""
+msgstr "Puola"
#: src/gui/setup_theme.cpp:154
msgid "Japanese"
-msgstr ""
+msgstr "Japani"
#: src/gui/setup_theme.cpp:155
msgid "Dutch (Belgium/Flemish)"
-msgstr ""
+msgstr "Hollanti (Belgia/fleemi)"
#: src/gui/setup_theme.cpp:156
msgid "Portuguese"
-msgstr ""
+msgstr "Portugali"
#: src/gui/setup_theme.cpp:157
msgid "Portuguese (Brazilian)"
-msgstr ""
+msgstr "Portugali (Brasilia)"
#: src/gui/setup_theme.cpp:158
msgid "Russian"
-msgstr ""
+msgstr "Venäjä"
#: src/gui/setup_theme.cpp:159
msgid "Spanish (Castilian)"
-msgstr ""
+msgstr "Espanja (Kastilli)"
#: src/gui/setup_theme.cpp:191
msgid "Theme"
@@ -2423,7 +2448,7 @@ msgstr "Käyttöliittymän teema"
#: src/gui/setup_theme.cpp:194
msgid "Language"
-msgstr ""
+msgstr "Kieli"
#: src/gui/setup_theme.cpp:195
msgid "Main Font"
@@ -2443,11 +2468,11 @@ msgstr "Ohjekirjasin"
#: src/gui/setup_theme.cpp:199
msgid "Secure font"
-msgstr ""
+msgstr "Turvallinen kirjasin"
#: src/gui/setup_theme.cpp:200
msgid "Japanese font"
-msgstr ""
+msgstr "Japanilainen kirjasin"
#: src/gui/setup_theme.cpp:237
msgid "Font size"
@@ -2457,8 +2482,8 @@ msgstr "Kirjasimen koko"
msgid "Theme Changed"
msgstr "Ulkoasua muutettu"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Käynnistä ohjelma uudelleen, jotta muutos astuu voimaan."
@@ -2510,149 +2535,152 @@ msgstr "keskitaso"
msgid "max"
msgstr "maksimi"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Kokoruututila"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "Tyylitelty hiiren osoitin"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Hiukkastehosteet"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
-msgstr "Näytä ottoviesti"
+msgstr "Näytä poimintaviesti"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "keskusteluikkunassa"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "leijuvana"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr ""
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr ""
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "Piirtonopeusrajoitin (FPS):"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Vaihtoehtoinen FPS-rajoitin:"
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr "Tekstinä yläpuolella"
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "Käyttöliittymän läpinäkyvyys"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "Taustaäänet"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "Hiukkastehosteiden yksityiskohtaisuus"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "-"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "Ikkunoituun tilaan vaihto epäonnistui, samoin paluu edelliseen tilaan!"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "Kokoruututilaan vaihto epäonnistui, samoin paluu edelliseen tilaan!"
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Vaihdan kokoruututilaan"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "Ohjelma pitää käynnistää uudelleen, jotta muutokset astuvat voimaan."
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Vaihdetaan käyttämään OpenGL:ää"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "OpenGL -asetuksen muutos vaatii ohjelman uudelleenkäynnistyksen."
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Oma tarkkuus (esim. 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Anna uusi tarkkuus: "
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "Ikkunan koko vaihdettu"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
"Joitakin ikkunoita on siirretty, jotta ne mahtuvat pienemmälle ruudulle."
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "Hiukkastehosteiden asetuksia on muutettu."
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "Muutokset astuvat voimaan kartan vaihtuessa."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "Oma kauppa"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Osta tavaroita"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Myy tavaroita"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Lisää"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "Ilmoita"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "Näytä linkit ilmoituksessa"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
-msgstr ""
+msgstr "Huutokauppa"
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Kaupantekoehdotus"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s haluaa %s %s - hyväksytkö?"
@@ -2779,7 +2807,7 @@ msgstr "Ohitettavat kohteet"
msgid "Create Guild"
msgstr "Luo kilta"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "Luo ryhmä"
@@ -2791,93 +2819,103 @@ msgstr "Suhteet"
msgid "Invite"
msgstr "Kutsu"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr ""
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr ""
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "Otit vastaan ryhmäkutsun pelaajalta %s."
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "Kieltäydyit pelaajan %s ryhmäkutsusta."
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "Otit vastaan kiltakutsun pelaajalta %s."
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "Kieltäydyit pelaajan %s kiltakutsusta."
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "Luon killan %s."
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "Luon ryhmän %s."
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "Killan nimi"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "Valitse killallesi nimi."
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr "Vastaanotin kiltapyynnön, mutta sellainen on jo olemassa."
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s on kutsunut sinut liittymään kiltaan %s."
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "Ota kiltakutsu vastaan"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "Sain ryhmäpyynnön, mutta sellainen on jo olemassa."
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "Sinut on kutsuttu liittymään ryhmään."
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "Sinut on kutsuttu liittymään ryhmään %s."
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s on kutsunut sinut liittymään ryhmäänsä."
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s on kutsunut sinut liittymään ryhmäänsä %s."
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "Ota ryhmäkutsu vastaan"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "Ryhmän luominen epäonnistui, olet jo ryhmän jäsen."
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "Ryhmän nimi"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "Anna ryhmällesi nimi."
@@ -2991,7 +3029,7 @@ msgstr "Komento:"
#: src/gui/textcommandeditor.cpp:200
msgid "Comment:"
-msgstr ""
+msgstr "Kommentti:"
#: src/gui/textcommandeditor.cpp:203
msgid "Mana:"
@@ -3071,29 +3109,29 @@ msgstr "Nimi: %s"
msgid "Updating..."
msgstr "Päivitetään..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "Yhdistetään..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Pelaa"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 Päivitysprosessi keskeytyi"
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 Suosittelemme vahvasti että"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 yrität myöhemmin uudelleen"
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "Valmis"
@@ -3155,7 +3193,7 @@ msgstr "Hiukkastehosteet"
#: src/gui/userpalette.cpp:132
msgid "Pickup Notification"
-msgstr "Ottoilmoitus"
+msgstr "Poimintailmoitus"
#: src/gui/userpalette.cpp:133
msgid "Exp Notification"
@@ -3245,23 +3283,23 @@ msgstr "Kotipaikan raja"
msgid "Road Point"
msgstr "Väyläpiste"
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "Kuka on linjoila - päivitän"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "Päivitä"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "Kuka on linjoilla - "
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "Kuka on linjoilla - virhe"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "Kuka on linjoilla - päivitä"
@@ -3402,10 +3440,6 @@ msgstr "/leave > Eroa nykyisestä killastasi"
msgid "/kick > Kick some one from the guild you are in"
msgstr "/kick > Poista käyttäjä killastasi"
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Muokkaa"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr "/ignore > Jätä pelaaja huomiotta"
@@ -3515,11 +3549,11 @@ msgstr "Pu"
#: src/gui/windowmenu.cpp:98
msgid "YK"
-msgstr ""
+msgstr "T?"
#: src/gui/windowmenu.cpp:98
msgid "Did you know"
-msgstr ""
+msgstr "Tiesitkö"
#: src/gui/windowmenu.cpp:100
msgid "SET"
@@ -3547,7 +3581,7 @@ msgstr "Kärry"
#: src/keyboardconfig.cpp:43
msgid "Basic Keys"
-msgstr ""
+msgstr "Perusnäppäimet"
#: src/keyboardconfig.cpp:44
msgid "Move Up"
@@ -3595,7 +3629,7 @@ msgstr "Keskeytä hyökkäys"
#: src/keyboardconfig.cpp:65
msgid "Untarget"
-msgstr ""
+msgstr "Poista kohdevalinta"
#: src/keyboardconfig.cpp:66
msgid "Target Closest"
@@ -3611,11 +3645,11 @@ msgstr "Pelaaja kohteeksi"
#: src/keyboardconfig.cpp:71
msgid "Pickup"
-msgstr "Nouki"
+msgstr "Poimi"
#: src/keyboardconfig.cpp:72
msgid "Change Pickup Type"
-msgstr "Muuta noston tyyppiä"
+msgstr "Muuta poiminnan tyyppiä"
#: src/keyboardconfig.cpp:74
msgid "Hide Windows"
@@ -3643,7 +3677,7 @@ msgstr "Valitse OK"
#: src/keyboardconfig.cpp:85
msgid "Shortcuts Keys"
-msgstr ""
+msgstr "Pikavalintanäppäimet"
#: src/keyboardconfig.cpp:86
msgid "Item Shortcuts Key"
@@ -3659,14 +3693,14 @@ msgstr "Tavaroiden pikavalintanäppäin"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "Tavarapikavalinta %d"
#: src/keyboardconfig.cpp:128
msgid "Windows Keys"
-msgstr ""
+msgstr "Ikkunanäppäimet"
#: src/keyboardconfig.cpp:129
msgid "Help Window"
@@ -3746,7 +3780,7 @@ msgstr "Kuka on linjoilla -ikkuna"
#: src/keyboardconfig.cpp:168
msgid "Did you know Window"
-msgstr ""
+msgstr "Tiesitkö-ikkuna"
#: src/keyboardconfig.cpp:171
msgid "Previous Social Tab"
@@ -3758,7 +3792,7 @@ msgstr "Seuraava sos. välilehti"
#: src/keyboardconfig.cpp:175
msgid "Emotes Keys"
-msgstr ""
+msgstr "Elenäppäimet"
#: src/keyboardconfig.cpp:176
msgid "Smilie"
@@ -3786,184 +3820,186 @@ msgstr "Hymiö"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "Eleen pikavalinta %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
-msgstr ""
+msgstr "Asunäppäimet"
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "Pue asu"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr "Kopioi asu"
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr "Kopioi varusteet asuksi"
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
-msgstr ""
+msgstr "Keskustelunäppäimet"
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "Ota keskustelu käyttöön/pois käytöstä"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "Vieritä keskustelua ylös"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "Vieritä keskustelua alas"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "Edellinen keskusteluvälilehti"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "Seuraava keskusteluvälilehti"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
-msgstr ""
+msgstr "Sulje tämä keskusteluvälilehti"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr "Edellinen keskustelulinja"
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr "Seuraava keskustelulinja"
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr "Sarkaintäydennys keskustelussa"
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr "Poistu keskustelusyötöstä"
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
-msgstr ""
+msgstr "Muut näppäimet"
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "Jätä huomiotta syöte 1"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "Jätä huomiotta syöte 2"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr "Vie ylös"
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr "Vie alas"
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr "Vie vasemmalle"
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr "Vie oikealle"
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr "Villiliikkeet"
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr "Muuta villiliiketilaa"
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr "Pudota nopeasti N esinettä paikasta 0"
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr "Pudota nopeasti N esinettä"
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr "Vaihda nopean pudotuksen laskuria"
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr "Pikaparanna kohde tai itse"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr "Käytä #itenplz-loitsua"
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "Käytä magiahyökkäystä"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr "Vaihda magiahyökkäystä"
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
-msgstr ""
+msgstr "Vaihda PvP-hyökkäystä"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr "Vaihda liikkumistyyppiä"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr "Vaihda hyökkäysaseen tyyppiä"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr "Vaihda hyökkäystyyppiä"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr "Vaihda seuraustyyliä"
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr "Vaihda matkintatyyliä"
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr "Ota käyttöön / poista pelimuokkaimet"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "Äänet päälle / pois"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr "Aseta / peru poissaolo"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr "Kontekstivalikkoon \"klikkaus\" näppäimistöltä"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr "Vaihda kameran toimintaa"
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
-msgstr ""
+msgstr "Muokkausnäppäin"
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -3972,356 +4008,356 @@ msgstr ""
"Päällekkäiset näppäinoikotiet \"%s\" ja \"%s\" voivat aiheuttaa outouksia; "
"ole hyvä ja poista päällekkäisyydet. "
-#: src/localplayer.cpp:384
-#, fuzzy, c-format
+#: src/localplayer.cpp:385
+#, c-format
msgid "You were killed by %s"
-msgstr "Sinut otti hengiltä "
+msgstr "Sinut tappoi %s."
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
-msgstr "Yritit nostaa olemattoman tavaran."
+msgstr "Yritit poimia olemattoman tavaran."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "Tavara on liian painava."
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Tavara on liian kaukana."
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "Sinulla on liikaa tavaraa ennestään."
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr "Kasa on liian suuri."
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "Tavara kuuluu jollekulle muulle."
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
-msgstr "Tuntematon ongelma esti tavaran nostamisen."
+msgstr "Tuntematon ongelma esti tavaran poimimisen."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
-msgstr[0] "[@@%2$d|%3$s@@] (%1$d kpl) otettu."
-msgstr[1] "[@@%2$d|%3$s@@] (%1$d kpl) otettu."
+msgstr[0] "[@@%2$d|%3$s@@] (%1$d kpl) poimittu."
+msgstr[1] "[@@%2$d|%3$s@@] (%1$d kpl) poimittu."
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) oletusliikkeet"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr "(I) käännetyt liikkeet"
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr "(c) liikkuu osin villiliikkein"
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr "(C) liikkuu villiliikkein"
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr "(d) tuplaa tavallinen + villi"
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
-msgstr ""
+msgstr "(?) tuntematon liikkumistapa"
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
-msgstr ""
+msgstr "(%d) villiliike nro %d"
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr "(a) oma villiliike"
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr "(?) villiliike"
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr "(0) oletussiirtymä kohteen luo"
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr "(1) siirry kohteen luo etäisyydellä 1"
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr "(2) siirry kohteen luo etäisyydellä 2"
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr "(3) siirry kohteen luo etäisyydellä 3"
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr "(5) siirry kohteen luo etäisyydellä 5"
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr "(7) siirry kohteen luo etäisyydellä 7"
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr "(A) siirry kohteen luo hyökkäyskantamalla"
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
-msgstr ""
+msgstr "(a) jousiampujan hyökkäyskantama"
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?) siirry kohteen luo"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr "(D) oletusseuraaminen"
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr "(R) suhteellinen seuraaminen"
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr "(M) peilikuvaseuraaminen"
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr "(P) lemmikkiseuraaminen"
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr "(?) tuntematon seuraaminen"
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) hyökkäys"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) oletushyökkäys"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr "(s) vaihda hyökkäystä, ei kilpeä"
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr "(S) vaihda hyökkäystä, kilpi mukana"
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) mene ja hyökkää"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
-msgstr "(A) mene, hyökkää, nosta"
+msgstr "(A) mene, hyökkää, poimi"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) ei automaattista hyökkäystä"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
-msgstr "(S) pieni nosto 1x1 ruutua"
+msgstr "(S) pieni poiminta 1x1 ruutua"
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
-msgstr "(D) oletusnosto 2x1 ruutua"
+msgstr "(D) oletuspoiminta 2x1 ruutua"
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
-msgstr "(F) nosto edestä 2x3 ruutua"
+msgstr "(F) poiminta edestä 2x3 ruutua"
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
-msgstr "(3) nosto 3x3 ruutua"
+msgstr "(3) poiminta 3x3 ruutua"
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
-msgstr "(g) mene ja nosta etäisyydellä 4"
+msgstr "(g) mene ja poimi etäisyydellä 4"
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
-msgstr "(G) mene ja nosta etäisyydellä 8"
+msgstr "(G) mene ja poimi etäisyydellä 8"
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
-msgstr "(A) mene ja nosta maksimietäisyydellä"
+msgstr "(A) mene ja poimi maksimietäisyydellä"
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
-msgstr "(?) nosta"
+msgstr "(?) poiminta"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) normaali karttanäkymä"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr "(D) debug-karttanäkymä"
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr "(u) ultra-karttanäkymä"
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr "(U) ultra-karttanäkymä 2"
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) tyhjä karttanäkymä"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b) mustavalkoinen karttanäkymä"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) #flar taikahyökkäyksenä"
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) #chiza taikahyökkäyksenä"
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(I) #ingrav taikahyökkäyksenä"
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) #frillyar taikahyökkäyksenä"
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) #upmarmu taikahyökkäyksenä"
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) taikahyökkäys"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
-msgstr ""
+msgstr "(a) hyökkää kaikkien pelaajien kimppuun"
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
-msgstr ""
+msgstr "(f) säästä ystävät, listi muut"
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
-msgstr ""
+msgstr "(b) hyökkää jos huonot suhteet"
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
-msgstr ""
+msgstr "(d) älä hyökkää pelaajien kimppuun"
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
-msgstr ""
+msgstr "(?) pelaajien kanssa taistelu"
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr "(D) oletusmatkinta"
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr "(O) asun matkinta"
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr "(?) matkinta"
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "Poissa"
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) paikalla"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) poissa"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) poissaolo"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr "(G) pelin kameratila"
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr "(F) vapaa kamera"
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr "Pelimuokkaimet käytössä"
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr "Pelimuokkaimet poissa käytöstä"
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
-msgstr ""
+msgstr "Pelimuokkaimet ovat tuntemattomia"
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "Seuraa: "
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "Seuraaminen keskeytetty"
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr "Matki: "
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr "Matkiminen keskeytetty"
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr "Näet "
#: src/main.cpp:50
msgid "manaplus [options] [manaplus-file]"
-msgstr ""
+msgstr "manaplus [asetukset] [manaplus-tiedosto]"
#: src/main.cpp:51
msgid "[manaplus-file] : The manaplus file is an XML file (.manaplus)"
-msgstr ""
+msgstr "[manaplus-tiedosto] : Manaplus-tiedosto on XML-tiedosto (.manaplus)"
#: src/main.cpp:53
msgid " used to set custom parameters"
-msgstr ""
+msgstr " jolla asetetaan erikoisvalitsimia"
#: src/main.cpp:54
msgid " to the manaplus client."
-msgstr ""
+msgstr " manaplus-ohjelmalle."
#: src/main.cpp:56
msgid "Options:"
-msgstr "Parametrit:"
+msgstr "Asetusvivut:"
#: src/main.cpp:57
msgid " -l --log-file : Log file to use"
@@ -4394,7 +4430,7 @@ msgstr " --safemode : Käynnistä peli vikasietotilassa"
#: src/main.cpp:77
msgid " -T --tests : Start testing drivers and auto configuring"
-msgstr ""
+msgstr " -T --tests : Käynnistä ajuritestaus ja automaattiasetukset"
#: src/main.cpp:80
msgid " --no-opengl : Disable OpenGL for this session"
@@ -4469,9 +4505,8 @@ msgid "Incorrect slot."
msgstr "Väärä paikka."
#: src/net/ea/charserverhandler.cpp:167
-#, fuzzy
msgid "Incorrect race."
-msgstr "Väärä hiustyyli."
+msgstr "Väärä rotu."
#: src/net/ea/charserverhandler.cpp:182 src/net/manaserv/charhandler.cpp:210
msgid "Info"
@@ -4512,19 +4547,19 @@ msgstr "MVP-pelaaja: "
#: src/net/ea/chathandler.cpp:370
msgid "All whispers ignored."
-msgstr ""
+msgstr "Kaikki kuiskaukset jätetään huomiotta."
#: src/net/ea/chathandler.cpp:374
msgid "All whispers ignore failed."
-msgstr ""
+msgstr "Kuiskausten huomiotta jättäminen epäonnistui."
#: src/net/ea/chathandler.cpp:385
msgid "All whispers unignored."
-msgstr ""
+msgstr "Kaikki kuiskaukset huomioidaan taas."
#: src/net/ea/chathandler.cpp:389
msgid "All whispers unignore failed."
-msgstr ""
+msgstr "Kuiskausten huomiointi epäonnistui."
#: src/net/ea/gamehandler.cpp:92
#, c-format
@@ -4626,9 +4661,8 @@ msgid "%s has left your guild."
msgstr "%s on eronnut killastasi."
#: src/net/ea/guildhandler.cpp:499
-#, fuzzy
msgid "You were kicked from guild."
-msgstr "Sinut on potkittu killasta."
+msgstr "Sinut potkittiin ulos killasta."
#: src/net/ea/guildhandler.cpp:512
#, c-format
@@ -5008,7 +5042,7 @@ msgstr "Kannat roinaa alle puolet elopainoasi, ja paranet jälleen."
#: src/net/ea/playerhandler.cpp:453
#, c-format
msgid "You picked up %s."
-msgstr "%s nostettu."
+msgstr "%s poimittu."
#: src/net/ea/playerhandler.cpp:459
#, c-format
@@ -5576,7 +5610,7 @@ msgstr "Hyökkäyskantama"
#: src/net/tmwa/generalhandler.cpp:288
msgid "Damage per sec."
-msgstr ""
+msgstr "Vahinko sekunnissa."
#: src/net/tmwa/network.cpp:153
msgid "Empty address given to Network::connect()!"
@@ -5639,6 +5673,3 @@ msgstr "MP %+d"
#: src/resources/itemdb.cpp:167
msgid "Unknown item"
msgstr "Tuntematon tavara"
-
-#~ msgid "> Next"
-#~ msgstr "> Seuraava"
diff --git a/po/fr.po b/po/fr.po
index 19c2ea2ac..c6a4d63a1 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-19 19:50+0000\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-04 00:11+0000\n"
"Last-Translator: reid <reidyaro@gmail.com>\n"
"Language-Team: French (http://www.transifex.net/projects/p/manaplus/team/"
"fr/)\n"
@@ -37,123 +37,123 @@ msgid "miss"
msgstr "raté"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr "I"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Configuration"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Performance"
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Vidéo"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr "Thèmes"
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "Connexion au serveur"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "Connexion"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Vous entrez dans un nouveau monde"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Téléchargement des personnages"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "Connexion au serveur de jeu"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Changement de serveur de jeu"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "Erreur"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Demande des paramètres d'inscription"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Changement de mot de passe"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "Le mot de passe a été changé avec succès !"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "Changer d'e-mail"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "L'adresse e-mail a été changée avec succès !"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "Désinscription réussie"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "A bientôt, revenez quand vous voudrez..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s n'existe pas et ne peut pas être créé ! Fermeture du programme."
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Site de mise à jour invalide : %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "Impossible de créer le dossier de mise à jour !"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr ""
"Erreur : %s n'existe pas et ne peut pas être créé ! Fermeture du programme."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "Commande inconnue."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "Vous ne pouvez pas envoyer de messages vides."
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -162,161 +162,161 @@ msgstr ""
"Vous ne pouvez créer une nouvelle fenêtre de message privé avec le nom \"%s"
"\". Soit elle existe déjà, soit il s'agit de vous même."
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "Demande de rejoindre le canal %s."
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Le nom du groupe est manquant."
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Le nom de la guilde est manquant."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "Veuillez indiquer un nom."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "La touche <entrée> ferme la ligne d'entrée du chat."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "Le message ferme la conversation."
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr ""
"La touche <entrée> ferme maintenant la ligne d'entrée de la conversation."
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "Le message ferme maintenant la conversation."
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "ami"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "écarté"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "neutre"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "Joueur déjà %s !"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "Joueur %s avec succès!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "Le joueur n'a pas pu %s !"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "Le joueur n'était pas ignoré !"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "Le joueur n'est plus ignoré !"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "Vous n'avez pas pu enlever le statut ignoré de ce joueur !"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr "sous liste noire"
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr "ennemi"
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "Joueur déjà effacé !"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "Joueur éliminé avec succès !"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "le joueur n'a pas pu être effacé !"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr "Heure de lancement du client : %s"
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d semaine"
msgstr[1] "%d semaines"
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d jour"
msgstr[1] "%d jours"
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d heure"
msgstr[1] "%d heures"
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minute"
msgstr[1] "%d minutes"
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d secondes"
msgstr[1] "%d secondes"
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr "Taille du cache de polices"
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr "Dimension du cache :"
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "Créé : "
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "Effacé :"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr "Images des ressources :"
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr "Images des ressources non affectées :"
@@ -326,44 +326,44 @@ msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
"Les options de /%s sont \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "Général"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "Informations"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Capture d'écran sauvegardée sous"
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "La sauvegarde de la capture d'écran a échoué !"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr ""
"La connexion au serveur a été coupée, le programme va maintenant se fermer."
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "Erreur Réseau"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Ignorer les requêtes d'échanges entrantes"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Accepter les requêtes d'échanges entrantes"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "La carte n'a pu être chargée"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "Erreur durant le chargement %s"
@@ -417,7 +417,7 @@ msgstr "Déplacement"
msgid "Result"
msgstr "Résultat"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "Réinitialiser"
@@ -439,30 +439,30 @@ msgstr "Montant:"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "Quitter"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "Max."
@@ -479,21 +479,21 @@ msgid "Sell"
msgstr "Vendre"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Annuler"
@@ -529,7 +529,7 @@ msgstr "Les deux adresses e-mail ne correspondent pas."
msgid "Change Password"
msgstr "Changer le mot de passe"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Mot de passe :"
@@ -556,68 +556,73 @@ msgstr "Le mot de passe ne doit pas être plus long que %d caractères."
msgid "The new password entries mismatch."
msgstr "Les nouveaux mots de passe ne correspondent pas."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Créer le personnage"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr "Nouveau Personnage"
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "Nom :"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Couleur :"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "Coupe :"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr "^"
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "Race:"
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Créer"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Masculin"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Féminin"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "Veuillez distribuer %d points"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Votre nom doit comporter un minimum de 4 caractères."
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Caractéristiques du personnage Ok"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "Veuillez retirer %d points"
@@ -659,9 +664,9 @@ msgstr "Entrer le mot de passe pour effacer le personnage"
msgid "Enter password:"
msgstr "Entrer le mot de passe :"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Supprimer"
@@ -736,7 +741,7 @@ msgstr "arc en ciel 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -748,12 +753,12 @@ msgstr "???"
msgid "Chat"
msgstr "Conversation"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Présents : %s ; %d joueurs sont présents."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Message envoyé à %s : %s"
@@ -917,8 +922,8 @@ msgid "Did You Know?"
msgstr "Le saviez-vous ?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Fermer"
@@ -934,11 +939,36 @@ msgstr "Suivant >"
msgid "Auto open this window"
msgstr "Ouverture automatique de cette fenêtre"
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "Ok"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr "Editer le Serveur"
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr "Addresse :"
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Port :"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Type de Serveur :"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr "Description :"
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr "S'il te plait, entres la bonne adresse et le bon port du serveur."
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "Équipement"
@@ -1036,39 +1066,39 @@ msgstr "Récupérer"
msgid "Drop"
msgstr "Jeter"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "Tout"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Choisir le nombre d'objets à échanger."
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Choisir le nombre d'objets à jeter."
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Choisir le nombre d'objets à stocker."
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Choisir le nombre d'objet à reprendre"
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Choisir le nombre d'objets à séparer."
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Ajouter à la boutique d'achats."
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Ajouter à la boutique de ventes."
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "Inconnu."
@@ -1185,32 +1215,31 @@ msgstr "Fermeture automatique"
msgid "Skip"
msgstr "Sauter"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Compte"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Serveur :"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Serveur de mise à jour personnalisé"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Se souvenir du nom d'utilisateur"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "Mise à jour : "
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "S'inscrire"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Changer de Serveur"
@@ -1254,24 +1283,24 @@ msgstr "Barre de Statut"
msgid "Need"
msgstr "Restant"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr "Arrêter d'attendre "
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Suivant"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Soumettre"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "PNJ"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "Effacer"
@@ -1287,12 +1316,13 @@ msgstr "Envoyer"
msgid "Failed to send as sender or letter invalid."
msgstr "Échec de l'envoi comme émetteur ou caractère invalide."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "Tenue : %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Touche : %s"
@@ -1697,64 +1727,58 @@ msgstr "Le mot de passe doit faire moins de %d caractères."
msgid "Passwords do not match."
msgstr "Les deux mots de passe sont différents"
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Choisissez le serveur"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "Choisissez votre serveur *** Mode Sûr ***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Port :"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "Utiliser la même ip pour les sous-serveurs de jeu"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Type de Serveur :"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "Charger"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "Connexion..."
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "Serveur personnalisé"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "Ajouter"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Veuillez entrer l'adresse et le port du serveur."
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Éditer"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Téléchargement de la liste des serveurs...%2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "En attente du serveur..."
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Préparation du téléchargement"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "Erreur lors du téléchargement de la liste de serveur !"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "requiert une nouvelle version"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "requiert la v%s"
@@ -2321,23 +2345,23 @@ msgstr "Sous liste noir"
msgid "Enemy"
msgstr "Ennemi"
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Autoriser les échanges"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Autoriser les messages privés"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Ancien"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr "Relations"
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Quand ignoré :"
@@ -2465,8 +2489,8 @@ msgstr "Taille de police"
msgid "Theme Changed"
msgstr "Thème changé"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Redémarrez le jeu pour que les changements soient appliqués."
@@ -2518,156 +2542,159 @@ msgstr "moyen"
msgid "max"
msgstr "max"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Plein écran"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "Curseur personnalisé"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Effets de particules"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "Afficher les messages de ramassage"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "dans la conversation"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "avec des particules"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr "Activer la redimension"
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr "Pas d'image"
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "Limite FPS :"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Alterner les limites FPS"
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr "Texte aérien"
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "Opacité de l'interface"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "Effets ambiants"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "Détail des particules"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "Rien"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
"Impossible de passer en mode fenêtré, et l'ancienne résolution n'est "
"également pas accessible !"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
"Impossible de passer en mode plein-écran, et l'ancienne résolution n'est "
"également pas accessible !"
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Passage en plein écran"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr ""
"Les changements ne seront pris en compte qu'au prochain démarrage du jeu."
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Activation d'OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr ""
"Le changement OpenGL ne sera pris en compte qu'au prochain démarrage du jeu."
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Résolution personnalisée (Exemple : 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Entrer la nouvelle résolution : "
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "Résolution de l'écran modifiée"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
"Certaines fenêtres pourraient être modifiées pour coïncider à la résolution "
"réduite."
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "Paramètres d'effet de particules modifiés."
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "Les changements seront appliqués au changement de carte."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "Boutique personnelle"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Acheter des objets"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Vendre des objets"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Ajouter"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "Annoncer"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "Montrer les liens dans l'annonce"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr "Enchère"
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Demande d'échange"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s souhaite %s %s Acceptez-vous ?"
@@ -2794,7 +2821,7 @@ msgstr "Ignorer les monstres"
msgid "Create Guild"
msgstr "Créer une Guilde"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "Créer un groupe"
@@ -2806,97 +2833,107 @@ msgstr "Social"
msgid "Invite"
msgstr "Inviter"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr "P"
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr "F"
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "Invitation dans le groupe acceptée de la part de %s."
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "Invitation dans le groupe de la part de %s refusée."
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "Invitation dans la guilde acceptée de la part de %s."
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "Invitation dans la guilde de la part de %s refusée."
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "La guilde %s a été créée."
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "Le groupe %s a été créé."
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "Nom de la guilde"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "Choisissez le nom de la guilde."
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr ""
"Vous avez reçu une invitation pour rejoindre une guilde, mais vous êtes déjà "
"dans une."
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s vous a invité à rejoindre la guilde %s."
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "Accepter l'invitation dans cette guilde"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr ""
"Vous avez reçu une invitation pour rejoindre un groupe, mais vous êtes déjà "
"dans un groupe."
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "Vous avez été invité à rejoindre un groupe."
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "Vous avez été invité à rejoindre le groupe %s."
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s vous a invité à rejoindre son groupe."
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s vous a invité à rejoindre le groupe %s."
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "Accepter l'invitation pour ce groupe"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "Ne peut pas créer un groupe. Vous faites déjà partie d'un groupe."
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "Nom du groupe"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "Choisissez le nom du groupe."
@@ -3092,29 +3129,29 @@ msgstr "Nom : %s"
msgid "Updating..."
msgstr "Mise à jour en cours..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "Connexion..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Jouer"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 Le processus de mise à jour n'est pas achevé"
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 Il est fortement recommandé que"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 Essayez à nouveau plus tard"
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "Terminé"
@@ -3266,23 +3303,23 @@ msgstr "Limites de votre position"
msgid "Road Point"
msgstr "Étape"
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "Qui est en ligne - Mise à jour"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "Mise à jour"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "Qui est en ligne - "
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "Qui est en ligne - Erreur"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "Qui est en ligne - Mise à jour"
@@ -3427,10 +3464,6 @@ msgstr "/leave > Quitter la guilde courante"
msgid "/kick > Kick some one from the guild you are in"
msgstr "/kick > Éjecter quelqu'un du groupe dont vous faites partie"
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Éditer"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr "/ignore > Ignore l'autre joueur"
@@ -3683,7 +3716,7 @@ msgstr "Touche de raccourcis items"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "Raccourci Objet %d"
@@ -3810,184 +3843,186 @@ msgstr "Smileys"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "Raccourci d'émoticône %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr "Touches d'habillages"
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "Mettre la tenue"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr "Copier la tenue"
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr "Copier l'équipement porté dans les tenues"
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr "Touches de la boite de dialogue"
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "Activer / Désactiver la conversation"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "Défiler la conversation (haut)"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "Défiler la conversation (bas)"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "Onglet de conversation précédent"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "Onglet de conversation suivant"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr "Fermer la fenêtre de dialogue ouverte"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr "Ligne de conversation précédente"
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr "Ligne de conversation suivante"
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr "Auto complétion du chat"
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr "Désactiver la saisie dans le chat"
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr "Autre touches"
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "Ignorer l'entrée 1"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "Ignorer l'entrée 2"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr "Vers le haut"
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr "Vers le bas"
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr "Vers la gauche"
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr "Vers la droite"
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr "Mouvements de fous"
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr "Changer le mode de mouvement de fou"
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr "Jeter rapidement N objets depuis l'emplacement 0"
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr "Jeter rapidement N objets"
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr "Changer de compteur de jet rapide d'objets"
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr "Soins rapides de la cible ou de soi"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr "Utiliser le sort #itenplz"
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "Utiliser l'attaque magique"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr "Changer d'attaque magique"
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr "Commutateur d'attaque en PVP"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr "Changer de type de mouvement"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr "Changer de type d'arme d'attaque"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr "Changer de type d'attaque"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr "Changer de type de suivi"
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr "Changer de type d'imitation"
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr "Désactiver / Activer les touches de modifications du jeu"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "Son On / Off"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr "Activer / Désactiver le mode en absence"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr "Emuler le clic droit à partir du clavier"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr "Changer le mode caméra"
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr "Modifier la touche"
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -3996,334 +4031,334 @@ msgstr ""
"Conflit entre les touches \"%s\" and \"%s\". Changez au moins l'une des "
"touches ou attendez vous à un possible comportement étrange du jeu."
-#: src/localplayer.cpp:384
+#: src/localplayer.cpp:385
#, c-format
msgid "You were killed by %s"
msgstr "Tu as été tué par %s"
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr "Vous avez essayé de prendre un item qui n'existe pas."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "L'objet est trop lourd."
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "L'objet est trop éloigné"
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "L'inventaire est plein"
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr "La pile est trop grande"
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "L'objet appartient a quelqu'un d'autre"
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr "Problème inconnu pour ramasser l'objet."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Vous avez ramassé %d [@@%d|%s@@]."
msgstr[1] "Vous avez ramassé %d [@@%d|%s@@]."
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) Mouvements par défaut"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr "(I) Mouvements inversés"
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr "(c) mouvements un peu fous"
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr "(C) mouvements complètements fous"
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr "(d) double normal et fou"
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
msgstr "(?) déplacement inconnue"
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr "(%d) mouvement de fou numerique %d"
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr "(a) mouvements fous personnalisés"
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr "(?) mouvements fous"
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr "(0) Aller à la cible distante par défaut"
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr "(1) Aller à la cible en distante de 1"
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr "(2) Aller vers la cible jusqu'à 2 de distance"
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr "(3) Aller à la cible en distante de 3"
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr "(5) Aller à la cible en distante de 5"
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr "(7) Aller à la cible en distante de 7"
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr "(A) Aller à la cible dans le champ d'attaque"
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr "(a) Portée des attaques des Archéens"
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?) Aller à la cible"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr "(D) Suivre : défaut"
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr "(R) Suivre: mouvement relatif"
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr "(M) Suivre effet miroir"
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr "(P) Suivre comme un toutou"
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr "(?) Suivre : mode inconnu"
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) Attaque"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) Attaque : défaut"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr "(s) Attaquer sans protection"
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr "(S) Attaquer avec protection"
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) Se déplacer et attaquer"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr "(A) Se déplacer, attaquer et ramasser"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) Sans attaque automatique"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr "(S) Ramassage sur 1x1 case"
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr "(D) Ramassage par défaut sur 2x1 cases"
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) Ramassage avant sur 2x3 cases"
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr "(3) Ramassage sur 3x3 cases"
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr "(g) Aller et ramasser jusqu'à 4 de distance"
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr "(G) Aller et ramasser jusqu'à 8 de distance"
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr "(A) Aller et ramasser jusqu'à la distance max"
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?) Ramassage"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) Vue normale du jeu"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr "(D) Vue du jeu mode déverminage"
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr "(u) Vue du jeu mode Ultra 1"
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr "(u) Vue du jeu mode Ultra 2"
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) Vue de la carte vide"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b) Vue de la carte en N&B"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) Utiliser #flar comme sort d'attaque"
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) Utiliser #chiza comme sort d'attaque"
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(I) Utiliser #ingrav comme sort d'attaque"
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) Utiliser #frillyar comme sort d'attaque"
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) Utiliser #upmarmu comme sort d'attaque"
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) Sorts d'attaque"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr "(a) attaque tous les joueurs"
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr "(f) n'attaque pas des amis"
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr "(b) attaque les mauvaises relations"
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr "(d) Ne pas attaquer les joueurs"
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr "(?) attaque en PVP"
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr "(D) Imitation par défaut"
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr "(O) Imiter les équipements"
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr "(?) Imitation"
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "Inactif"
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) Présent sur le jeu"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) Absent"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) Absent"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr "(G) Mode camera du jeu"
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr "(F) Mode camera libre"
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr "Modificateurs de mode de jeu activés"
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr "Modificateurs de mode de jeu désactivés"
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr "Les modificateurs de jeux sont inconnus"
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "Suivre : "
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "Suivi annulé"
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr "Imitation: "
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr "Imitation annulée"
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr "Vous voyez "
diff --git a/po/id.po b/po/id.po
index 1340e7d01..a2f435d95 100644
--- a/po/id.po
+++ b/po/id.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2011-11-11 21:38+0000\n"
-"Last-Translator: akaras <akaras@inbox.ru>\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-02 16:45+0000\n"
+"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Indonesian (http://www.transifex.net/projects/p/manaplus/team/"
"id/)\n"
"Language: id\n"
@@ -34,122 +34,122 @@ msgid "miss"
msgstr "Luput"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr "l"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Pengaturan"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr ""
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Video"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr ""
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "Terhubung dengan server"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "Masuk"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Memasuki arena permainan"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Pemilihan karakter"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "terhubung dengan server"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Pergantian server"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "Kesalahan"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Meminta detail registrasi"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Ubah sandi"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "Perubahan sandi berhasil"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "Perubahan email"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "Perubahan email berhasil"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "Telah tidak terdaftar"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "Selamat tinggal, datang kembali setiap saat"
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s tidak ada dan tidak dapat dibuat!keluar."
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Gagal mengupdate host: %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "Gagal membuat direktori update!"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "kesalahan %s tidak ada dan tidak dapat dibuat!keluar."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "Perintah tidak dikenal."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "Tidak dapat mengirimkan pesan tanpa nama"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -158,155 +158,155 @@ msgstr ""
"Tidak dapat membuat kolom whisper baru untuk nama \"%s\"! nama telah ada, "
"atau nama anda sendiri"
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "Meminta untuk masuk ke channel %s."
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Nama kelompok tidak dapat di temukan"
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Nama organisasi tidak ditemukan."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "Tetapkan sebuah nama"
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "Kembalikan pengalihan obrolan"
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "Tutup pesan obrolan"
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "Kembalikan sekarang pengalihan obrolan"
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "Pesan menutup obrolan"
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "Teman"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "Diabaikan"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "netral"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "Pemain telah %s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "Pemain telah berhasil %s!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "Pemain tidak bisa %s!"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "Pemain tidak diabaikan!"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "Pemain tidak lagi diabaikan!"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "Pemain tidak dapat diabaikan"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr ""
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "Pemain telah terhapus"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "Pemain telah berhasil dihapus"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "Pemain tidak dapat dihapus"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr ""
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] ""
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] ""
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] ""
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] ""
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] ""
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr "Ukuran jenis huruf cache"
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr "Ukuran Cache:"
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "Buat"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "Hapus"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr "Sumber gambar"
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr ""
@@ -316,43 +316,43 @@ msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
"Pilihan untuk /%s adalah \"ya\", \"tidak\", \"benar\",\"salah\", \"1\",\"0\"."
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "Umum"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "Debug"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Screenshot disimpan sebagai"
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "Gagal menyimpan screenshot!"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "Koneksi ke server terputus"
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "Kesalahan jaringan"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Abaikan permohonan transaksi"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Terima permohonan transaksi"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "Tidak dapat menampilkan peta"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "Error ketika menunggu %s"
@@ -406,7 +406,7 @@ msgstr "Jalan"
msgid "Result"
msgstr "Hasil"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "Reset"
@@ -428,30 +428,30 @@ msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "Keluar"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "Max"
@@ -468,21 +468,21 @@ msgid "Sell"
msgstr "Jual"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Batal"
@@ -518,7 +518,7 @@ msgstr "Pengisian alamat email tidak cocok"
msgid "Change Password"
msgstr "Ganti sandi"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Kata Sandi:"
@@ -545,68 +545,73 @@ msgstr "Password baru harus kurang dari %d karakter."
msgid "The new password entries mismatch."
msgstr "Password baru yang dimasukkan tidak cocok."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Buat Karakter"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr ""
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "Nama:"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Warna rambut"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "Gaya rambut"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr ""
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "Ras:"
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Buat"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Laki-laki"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Perempuan"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "Tolong distribusikan %d point"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Nama anda paling sedikit harus mengandung 4 karakter"
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Stats Karakter OK"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "Tolong hilangkan %d poin"
@@ -648,9 +653,9 @@ msgstr "Masukan Sandi untuk menghapus karakter"
msgid "Enter password:"
msgstr "Masukkan sandi"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Hapus"
@@ -725,7 +730,7 @@ msgstr "pelangi 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -737,12 +742,12 @@ msgstr "???"
msgid "Chat"
msgstr "Obrolan"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Kehadiran: %s; %d pemain yang hadir."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Berbisik ke %s: %s"
@@ -906,8 +911,8 @@ msgid "Did You Know?"
msgstr "Apakah kamu tahu?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Tutup"
@@ -923,11 +928,36 @@ msgstr "Selanjutnya"
msgid "Auto open this window"
msgstr "Buka jendela otomatis"
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "OK"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Port:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Tipe server:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr ""
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "Perlengkapan"
@@ -1025,39 +1055,39 @@ msgstr "Kembalikan"
msgid "Drop"
msgstr "Buang"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "Semua"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Pilih jumlah item yang mau di perdagangkan"
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Pilih jumlah item yang ingin dibuang"
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Pilih jumlah item yang ingin disimpan"
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Pilih jumlah item yang ingin diambil kembali"
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Pilih jumlah item yang ingin dipisahkan"
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Tambahkan ke daftar beli"
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Tambahkan ke daftar jual"
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "Tidak diketahui"
@@ -1172,32 +1202,31 @@ msgstr "Tutup otomatis"
msgid "Skip"
msgstr "lanjutkan"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Login"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Server:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Modifikasi sumber update"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Ingat username"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "Update:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "Mendaftar"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Menganti Server"
@@ -1241,24 +1270,24 @@ msgstr ""
msgid "Need"
msgstr "Butuh"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr ""
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Berikutnya"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Masukan"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "Hapus"
@@ -1274,12 +1303,13 @@ msgstr "Kirim"
msgid "Failed to send as sender or letter invalid."
msgstr "Gagal untuk mengirim sebagai pengirim atau surat tidak valid."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "Setelan: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Kunci: %s"
@@ -1490,9 +1520,8 @@ msgid "Warp"
msgstr ""
#: src/gui/popupmenu.cpp:589
-#, fuzzy
msgid "Clear outfit"
-msgstr "Setelan saat bepergian"
+msgstr ""
#: src/gui/popupmenu.cpp:608 src/gui/windowmenu.cpp:96
msgid "Spells"
@@ -1535,9 +1564,8 @@ msgid "Leave"
msgstr ""
#: src/gui/popupmenu.cpp:654
-#, fuzzy
msgid "Copy to clipboard"
-msgstr "Pindahkan ke chat"
+msgstr ""
#: src/gui/popupmenu.cpp:849
msgid "Change guild position"
@@ -1686,64 +1714,58 @@ msgstr "Panjang kata sandi tidak boleh kurang dari %d karakter."
msgid "Passwords do not match."
msgstr "Kata sandi cocok."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Pilih Server Anda"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "Pilih Servermu *** SAFE MODE ***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Port:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "Gunakan ip yang sama untuk sub server game"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Tipe server:"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "Memuat"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "Menyambung"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "Modifikasi server"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "Tambah"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Tolong tulis address dan port dari server"
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Ganti"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Mengunduh daftar server... %2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "Menyambung ke server..."
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Menyiapkan pengunduhan"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "Gagal mengunduh data server!"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "Membutuhkan versi terbaru"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "Membutuhkan v%s"
@@ -2307,23 +2329,23 @@ msgstr ""
msgid "Enemy"
msgstr ""
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Perbolehkan penukaran"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Perbolehkan berbisik"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Lama"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr ""
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Ketika menolak:"
@@ -2451,8 +2473,8 @@ msgstr "Ukuran huruf"
msgid "Theme Changed"
msgstr "Tema diganti"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Restart client anda untuk memberikan efek."
@@ -2504,148 +2526,151 @@ msgstr "sedang"
msgid "max"
msgstr "maksimal"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Layar penuh"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "Modifikasi kursor"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Efek partikel"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "Perlihatkan notifikasi pengambilan item"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "dalam obrolan"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "sebagai partikel"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr ""
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr ""
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "Batas FPS:"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "batas Alt FPS:"
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "Detil partikel"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "Tidak ada"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Mengubah ke mode Layar penuh"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "Memulai dari awal di butuhkan untuk melihat efek"
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Mengubah ke OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "Mendaftar perubahan ke OpenGL membutuhkan memulai dari awal"
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Modifikasi resolusi (contoh: 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Masukkan resolusi baru:"
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "Resolusi layar diubah"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "Pengaturan efek partikel diubah"
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "Perubahan akan memberikan efek saat pergantian peta."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "Toko personal"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Beli barang"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Jual barang"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Tambah"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "Umumkan"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "Perlihatkan link di Umumkan"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr ""
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Meminta untuk menukar"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s ingin %s %s apakah anda bersedia?"
@@ -2772,7 +2797,7 @@ msgstr "Abaikan mobs"
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr ""
@@ -2784,93 +2809,103 @@ msgstr ""
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr ""
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr ""
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr ""
@@ -3064,29 +3099,29 @@ msgstr "Nama: %s"
msgid "Updating..."
msgstr "Mengupdate..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "Menyambung..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Main"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr ""
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr ""
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr ""
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr ""
@@ -3238,23 +3273,23 @@ msgstr ""
msgid "Road Point"
msgstr ""
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr ""
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr ""
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr ""
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr ""
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr ""
@@ -3393,10 +3428,6 @@ msgstr ""
msgid "/kick > Kick some one from the guild you are in"
msgstr ""
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Ganti"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr ""
@@ -3647,7 +3678,7 @@ msgstr ""
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr ""
@@ -3774,519 +3805,519 @@ msgstr ""
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr ""
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr "Salin barang-barang yang dipakai ke Setelan"
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr ""
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr "Tutup tab obrolan ini"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr "Garis obrolan sebelumnya"
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr "Garis obrolan selanjutnya"
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr ""
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr ""
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr ""
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr ""
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr ""
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr ""
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr ""
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr ""
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr ""
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr ""
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr ""
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr ""
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr ""
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr ""
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr ""
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr ""
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr ""
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr ""
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr ""
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr ""
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr ""
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr ""
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr ""
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr ""
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr "Kunci pengubah"
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:384
-#, fuzzy, c-format
+#: src/localplayer.cpp:385
+#, c-format
msgid "You were killed by %s"
-msgstr "Keluarkan dari organisasi"
+msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr "Mencoba mengambil item yang tidak lagi ada"
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "item terlalu berat"
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "barang terlalu jauh"
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "Perbekalan sudah penuh"
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "Barang milik orang lain."
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr ""
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) jalan normal"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr ""
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr ""
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr ""
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr "(d) normal ganda + mode gila"
-#: src/localplayer.cpp:1903
-#, fuzzy
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
-msgstr "(?) jalan"
+msgstr ""
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr ""
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr ""
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr ""
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr ""
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr ""
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr "(2) jalan ke target di jarak 2"
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr ""
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr ""
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr ""
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr ""
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr ""
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?)bergerak ke target"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr ""
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr ""
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr ""
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr ""
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr ""
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?)serangan"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) pukulan normal"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr "(s) ganti pukulan tanpa pelindung"
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr "(S) pukulan dengan pelindung"
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) jalan dan serang"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr "(A) jalan, serang, ambil"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) tanpa penyerangan otomatis"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr ""
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr ""
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr ""
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr ""
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr ""
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr ""
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr ""
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?)mengambil"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) penampilan peta normal"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr ""
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr ""
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr ""
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) penampilan peta kosong"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b)penampilan peta hitam & putih"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) gunakan #flar untuk serangan magic"
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) gunakan #chiza untuk serangan magic"
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(l) gunakan #ingrav untuk serangan magic"
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) gunakan #frillyar untuk serangan magic"
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) gunakan #upmarmu untuk serangan magic"
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) serangan magic"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr ""
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr ""
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr ""
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr ""
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr ""
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr ""
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr ""
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr ""
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr ""
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) pada keyboard"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) pergi"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) pergi"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr ""
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr ""
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr "Perombakan game diperbolehkan"
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr "Perombakan game tidak diperbolehkan"
-#: src/localplayer.cpp:2241
-#, fuzzy
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
-msgstr "Perombakan game diperbolehkan"
+msgstr ""
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "Ikuti:"
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "Batal mengikuti"
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr "Tirukan:"
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr "Batal menirukan"
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr ""
@@ -4455,9 +4486,8 @@ msgid "Incorrect slot."
msgstr ""
#: src/net/ea/charserverhandler.cpp:167
-#, fuzzy
msgid "Incorrect race."
-msgstr "Sandi tidak benar"
+msgstr ""
#: src/net/ea/charserverhandler.cpp:182 src/net/manaserv/charhandler.cpp:210
msgid "Info"
@@ -4612,9 +4642,8 @@ msgid "%s has left your guild."
msgstr ""
#: src/net/ea/guildhandler.cpp:499
-#, fuzzy
msgid "You were kicked from guild."
-msgstr "Keluarkan dari organisasi"
+msgstr ""
#: src/net/ea/guildhandler.cpp:512
#, c-format
@@ -5608,96 +5637,3 @@ msgstr "MP %+d"
#: src/resources/itemdb.cpp:167
msgid "Unknown item"
msgstr ""
-
-#~ msgid "Waiting for server"
-#~ msgstr "Menunggu ke server"
-
-#~ msgid "Load old outfits"
-#~ msgstr "Memuat setelan lama"
-
-#~ msgid "(D)"
-#~ msgstr "(D)"
-
-#~ msgid "(I)"
-#~ msgstr "(l)"
-
-#~ msgid "(c)"
-#~ msgstr "(c)"
-
-#~ msgid "(C)"
-#~ msgstr "(C)"
-
-#~ msgid "(d)"
-#~ msgstr "(d)"
-
-#~ msgid "(?)"
-#~ msgstr "(?)"
-
-#~ msgid "(a)"
-#~ msgstr "(a)"
-
-#~ msgid "(0)"
-#~ msgstr "(0)"
-
-#~ msgid "(1)"
-#~ msgstr "(1)"
-
-#~ msgid "(2)"
-#~ msgstr "(2)"
-
-#~ msgid "(3)"
-#~ msgstr "(3)"
-
-#~ msgid "(5)"
-#~ msgstr "(5)"
-
-#~ msgid "(7)"
-#~ msgstr "(7)"
-
-#~ msgid "(A)"
-#~ msgstr "(A)"
-
-#~ msgid "(R)"
-#~ msgstr "(R)"
-
-#~ msgid "(M)"
-#~ msgstr "(M)"
-
-#~ msgid "(P)"
-#~ msgstr "(P)"
-
-#~ msgid "(s)"
-#~ msgstr "(s)"
-
-#~ msgid "(S)"
-#~ msgstr "(S)"
-
-#~ msgid "(G)"
-#~ msgstr "(G)"
-
-#~ msgid "(f)"
-#~ msgstr "(f)"
-
-#~ msgid "(F)"
-#~ msgstr "(F)"
-
-#~ msgid "(U)"
-#~ msgstr "(U)"
-
-#~ msgid "(b)"
-#~ msgstr "(b)"
-
-#~ msgid "(g)"
-#~ msgstr "(g)"
-
-#~ msgid "(N)"
-#~ msgstr "(N)"
-
-#~ msgid "(u)"
-#~ msgstr "(u)"
-
-#~ msgid "(e)"
-#~ msgstr "(e)"
-
-#~ msgid "(O)"
-#~ msgstr "(O)"
diff --git a/po/it.po b/po/it.po
index 9bcabbf02..6729eb9ec 100644
--- a/po/it.po
+++ b/po/it.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-19 19:53+0300\n"
-"PO-Revision-Date: 2012-01-19 16:56+0000\n"
+"POT-Creation-Date: 2012-02-02 19:43+0300\n"
+"PO-Revision-Date: 2012-02-02 16:45+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Italian (http://www.transifex.net/projects/p/manaplus/team/it/)\n"
"MIME-Version: 1.0\n"
@@ -34,122 +34,122 @@ msgid "miss"
msgstr "Mancato"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr ""
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr ""
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Impostazioni"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr ""
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Video"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr ""
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "Connessione al server"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "Accesso all'account"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Accesso al gioco"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Caricamento personaggi"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "Connessione al server del gioco"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Cambiamento server del gioco"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "Errore"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Richiesta dettagli di registrazione"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Cambia password"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "Password modificata con successo!"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "Cambia Email"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "Email cambiata con successo!"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "Annullamento registrazione effettuato con successo"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "Addio, torna quando vuoi..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s non esiste e non può essere creato! Uscita in corso."
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Invalido aggiornamento host: %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "Errore durante la creazione della directory degli aggiornamenti"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Errore: %s non esiste e non può essere creato! Ucita in corso."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "Comando sconosciuto."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "Impossibile inviare un sussurro vuoto!"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is"
@@ -158,160 +158,160 @@ msgstr ""
"Impossibile creare una scheda per sussurrare a \"%s\"! Esiste già, oppure "
"sei tu."
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "Richiesta per accedere al canale %s."
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Manca il nome del party."
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Manca il nome della gilda."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "Prego specificare un nome."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "Attiva/disattiva la chat."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "I messaggi chiudono la conversazione."
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "Attiva/disattiva la chat adesso."
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "I messaggi adesso chiudono la chat."
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "Amico"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "Disprezzato"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "Neutrale"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "Il giocatore è già %s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "Il giocatore è stato %s con successo!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "Il giocatore non può essere %s!"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "Il giocatore non era ignorato!"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "Giocatore non più ignorato!"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "Impossibile annullare l'ignoro!"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr ""
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "Il giocatore è già cancellato!"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "Giocatore cancellato dal tuo schermo con successo!"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "Il giocatore non può essere cancellato!"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr ""
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr ""
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr ""
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr ""
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr ""
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr ""
@@ -322,43 +322,43 @@ msgstr ""
"Le opzioni per /%s sono \"yes\" (sì), \"no\", \"true\" (vero), \"false\" "
"(falso), \"1\", \"0\"."
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "Generale"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "Debug"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Screenshot salvato come"
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "Salvataggio immagine fallito!"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "La connessione al server è caduta."
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "Errore di rete"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Le richieste di scambio in arrivo saranno ignorate"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Le richieste di scambio in arrivo saranno accettate"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "Impossibile caricare la mappa."
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "Errore durante il caricamento di %s"
@@ -412,7 +412,7 @@ msgstr "Movimento"
msgid "Result"
msgstr "Risultato"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "Reimposta"
@@ -434,30 +434,30 @@ msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "Esci"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "Massimo"
@@ -474,21 +474,21 @@ msgid "Sell"
msgstr "Vendi"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Annulla"
@@ -524,7 +524,7 @@ msgstr "Gli indirizzi email immessi non coincidono."
msgid "Change Password"
msgstr "Cambia la Password"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Password:"
@@ -551,68 +551,73 @@ msgstr "La nuova password deve essere più corta di %d caratteri."
msgid "The new password entries mismatch."
msgstr "Le password immesse non coincidono."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Crea Personaggio"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr ""
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "Nome:"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Colore dei capelli:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "Taglio di capelli:"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr ""
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Crea"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Maschio"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Femmina"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "Distribuire %d punti"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Il tuo nome deve contenere almeno 4 caratteri."
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Statistiche personaggio OK"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "Rimuovere %d punti"
@@ -654,9 +659,9 @@ msgstr ""
msgid "Enter password:"
msgstr ""
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Elimina"
@@ -731,7 +736,7 @@ msgstr "Arcobaleno 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -743,12 +748,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Presente: %s; %d giocatori sono presenti."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Sussurra a %s: %s"
@@ -912,8 +917,8 @@ msgid "Did You Know?"
msgstr ""
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Chiudi"
@@ -929,11 +934,36 @@ msgstr ""
msgid "Auto open this window"
msgstr ""
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "OK"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Porta:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Tipo di server:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr ""
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "Equipaggiamento"
@@ -1031,39 +1061,39 @@ msgstr "Recupera"
msgid "Drop"
msgstr "Lascia"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "Tutti"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Seleziona la quantità di oggetti da scambiare."
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Seleziona la quantità di oggetti da lasciare."
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Selezionare la quantità di oggetti da riporre."
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Seleziona la quantità di oggetti da ritirare"
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Seleziona la quantità di oggetti da dividere."
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Aggiungi allo shop di acquisto."
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Aggiungi allo shop di vendita."
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "Sconosciuto"
@@ -1180,32 +1210,31 @@ msgstr "Chiusura automatica"
msgid "Skip"
msgstr "Salta"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Autenticazione"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Server:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Aggiornamento host"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Ricorda username"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "Aggiornamento:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "Registra"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Cambia server"
@@ -1249,24 +1278,24 @@ msgstr "Barra dello stato"
msgid "Need"
msgstr "Bisogno"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr ""
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Prossimo"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Invia"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "Cancella"
@@ -1282,12 +1311,13 @@ msgstr "Invia"
msgid "Failed to send as sender or letter invalid."
msgstr "La lettera non è valida oppure non è stato possibile inviarla."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "Outfit: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Chiave: %s"
@@ -1692,64 +1722,58 @@ msgstr "La password deve contenere meno di %d caratteri."
msgid "Passwords do not match."
msgstr "Le password non corrispondono."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Scegli il tuo server"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr ""
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Porta:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "Utilizzare lo stesso IP per i sub server di gioco"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Tipo di server:"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "Carica"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "Connetti"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "Server personalizzati"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "Aggiungi"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Inserire l'indirizzo e la porta del server."
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Modifica"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Downloading server list... %2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "Attesa del server..."
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Preparazione download"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "Errore nel ricevimento della lista sei server!"
-#: src/gui/serverdialog.cpp:678
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "Richiede una versione più nuova"
-#: src/gui/serverdialog.cpp:680
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "Richiede v%s"
@@ -2315,23 +2339,23 @@ msgstr ""
msgid "Enemy"
msgstr ""
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Permetti scambi"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Permetti sussurri"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Vecchio"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr ""
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Quando si ignora:"
@@ -2459,8 +2483,8 @@ msgstr "Dimensione caratteri"
msgid "Theme Changed"
msgstr "Tema cambiato"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Per applicare le modifiche, è necessario riavviare il client."
@@ -2512,154 +2536,157 @@ msgstr "medio"
msgid "max"
msgstr "massimo"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Schermo intero"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "Cursore personalizzato"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Effetti particelle"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "Mostra notifica pickup"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "in chat"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "come particelle"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr ""
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr ""
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "Limite FPS:"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Limite Alt FPS: "
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr "Testo sovrastante"
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "Opacità IU"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "Suoni ambientali"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "Dettaglio particelle"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "Nessuno"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
"Cambio verso la modalità finestra fallito e anche il ripristino modalità "
"precedente è fallito!"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
"Cambio verso la modalità schermo intero fallito e anche il ripristino della "
"modalità precedente è fallito!"
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Cambiamento a schermo intero"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "Riavvio necessario affinchè i cambiamenti abbiano effetto."
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Cambiamento a OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "Applicare le modifiche ad OpenGL richiede il riavvio."
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Risoluzione scelta (esempio 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Nuova risoluzione: "
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "RIsoluzione schermo cambiata"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
"Alcune finestre potrebbero essere spostate per addattarsi alla risoluzione "
"ridotta"
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "Impostazioni effetti particelle cambiate."
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "I cambi saranno effettuati al cambio della mappa."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "Negozio personale"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Compra oggetti"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Vendi oggetti"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Aggiungi"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "Annuncia"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "Mostra link nell'annuncio"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr ""
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Richiesta di commercio"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s vuole %s %s accetti?"
@@ -2786,7 +2813,7 @@ msgstr ""
msgid "Create Guild"
msgstr "Crea una Gilda"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "Crea gruppo"
@@ -2798,93 +2825,103 @@ msgstr "Sociale"
msgid "Invite"
msgstr "Invita"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr ""
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr ""
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "Accettato invito al gruppo da parte di %s"
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "Rifiutato invito al gruppo da parte di %s"
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "Accettato invito alla gilda da parte di %s"
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "Rifiutato invito alla gilda da parte di %s"
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "Stai creando una gilda chiamata %s"
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "Stai creando un party chiamato %s"
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "Nome della gilda"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "Scegli un nome per la tua gilda"
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr "Ricevuto invito ad una gilda, ma ne hai già una."
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s ti ha invitato ad entrare nella gilda %s"
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "Accetta invito alla gilda"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "Ricevuta richiesta di party, ma ne esiste già una."
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "Sei stato invitato ad entrare in un party"
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "Sei stato invitato ad entrare nel gruppo %s"
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s ti ha invitato ad unirti al suo party."
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s ti ha invitato ad unirti al party %s."
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "Accetta invito nel party"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "Impossibile creare un party, sei già in un party"
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "Nome del gruppo"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "Scegli un nome per il tuo party"
@@ -3081,29 +3118,29 @@ msgstr "Nome: %s"
msgid "Updating..."
msgstr "Aggiornamento..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "Connessione..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Gioca"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 L'aggiornamento è stato completato."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 È fortemente raccomandato"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 riprova più tardi"
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "Completato"
@@ -3255,23 +3292,23 @@ msgstr ""
msgid "Road Point"
msgstr ""
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "Chi è online - Aggiornamento in corso"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "Aggiornamento"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "Chi è online - "
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "Chi è online - errore"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "Chi è online - aggiornamento"
@@ -3412,10 +3449,6 @@ msgstr ""
msgid "/kick > Kick some one from the guild you are in"
msgstr ""
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Modifica"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr "/ignore > Ignora l'altro giocatore"
@@ -3670,7 +3703,7 @@ msgstr ""
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "Scorciatoia %d"
@@ -3797,184 +3830,186 @@ msgstr ""
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr ""
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr ""
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "Attiva Chat"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "Scorre la chat in alto"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "Scorre la chat in basso"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "Scheda Chat Precedente"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "Scheda Chat Successiva"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr ""
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr ""
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr ""
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr ""
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr ""
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "Ignora input 1"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "Ignora input 2"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr ""
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr ""
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr ""
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr ""
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr ""
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr ""
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr ""
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr ""
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr ""
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr ""
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr ""
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr ""
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr ""
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr ""
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr ""
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr ""
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr ""
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "On / Off audio"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr "Abilita / Disabilita modalità away"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr ""
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr ""
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr ""
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -3983,334 +4018,334 @@ msgstr ""
"Conflitto tra le chiavi \"%s\" e \"%s\". Risolvi, o potrebbero capitare "
"inconvenienti"
-#: src/localplayer.cpp:384
+#: src/localplayer.cpp:385
#, c-format
msgid "You were killed by %s"
msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr ""
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "L'oggetto è troppo pesante"
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr ""
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "L'inventario è pieno"
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr ""
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr ""
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Hai raccolto %d [@@%d|%s@@]."
msgstr[1] "Hai raccolto %d [@@%d|%s@@]."
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr ""
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr ""
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr ""
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr ""
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr ""
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
msgstr ""
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr ""
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr ""
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr ""
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr ""
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr ""
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr ""
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr ""
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr ""
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr ""
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr ""
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr ""
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr ""
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr ""
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr ""
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr ""
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr ""
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr ""
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr ""
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr ""
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr ""
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr ""
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr ""
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr ""
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr ""
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr ""
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr ""
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr ""
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr ""
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr ""
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr ""
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr ""
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr ""
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr ""
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr ""
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr ""
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr ""
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr ""
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr ""
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr ""
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr ""
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr ""
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr ""
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr ""
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr ""
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr ""
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr ""
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr ""
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr ""
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr ""
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr ""
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr ""
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr ""
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "Assente"
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr ""
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr ""
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr ""
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr ""
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr ""
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr ""
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr ""
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr ""
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr ""
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr ""
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr ""
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr ""
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr ""
@@ -4535,16 +4570,16 @@ msgstr ""
msgid "All whispers unignore failed."
msgstr ""
-#: src/net/ea/gamehandler.cpp:87
+#: src/net/ea/gamehandler.cpp:92
#, c-format
msgid "Online users: %d"
msgstr ""
-#: src/net/ea/gamehandler.cpp:99
+#: src/net/ea/gamehandler.cpp:104
msgid "Game"
msgstr ""
-#: src/net/ea/gamehandler.cpp:99
+#: src/net/ea/gamehandler.cpp:104
msgid "Request to quit denied!"
msgstr ""
diff --git a/po/ja.po b/po/ja.po
index 6a8589ea0..0bee737f8 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-21 09:20+0000\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-03 05:16+0000\n"
"Last-Translator: Candy <HarajukuCupcakes@gmail.com>\n"
"Language-Team: Japanese (http://www.transifex.net/projects/p/manaplus/team/"
"ja/)\n"
@@ -36,122 +36,122 @@ msgid "miss"
msgstr "ミス"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr "I"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "設定"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "パフォーマンス"
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "ビデオ"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr "テーマ"
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "サーãƒãƒ¼ã«æŽ¥ç¶šã—ã¦ã„ã¾ã™"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "ログインã—ã¦ã„ã¾ã™"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "ゲームã®ä¸–ç•Œã«ç§»å‹•ã—ã¦ã„ã¾ã™"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "キャラクターを呼ã³å‡ºã—ã¦ã„ã¾ã™"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "ゲームサーãƒãƒ¼ã«æŽ¥ç¶šã—ã¦ã„ã¾ã™"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "ゲームサーãƒãƒ¼ã‚’変更ã—ã¦ã„ã¾ã™"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "エラー"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "登録内容を呼ã³å‡ºã—ã¦ã„ã¾ã™"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "パスワード変更"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "パスワードを変更ã—ã¾ã—ãŸ"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "メールアドレス変更"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "メールアドレスを変更ã—ã¾ã—ãŸ"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "登録を解除ã—ã¾ã—ãŸ"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "ã•ã‚ˆã†ãªã‚‰ã€€ã¾ãŸä¼šã„ã¾ã—ょã†"
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%sã¯å­˜åœ¨ã—ãªã„為ã€ä½œæˆã§ãã¾ã›ã‚“"
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "無効ãªã‚¢ãƒƒãƒ—デートホスト:%s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "更新フォルダã®ä½œæˆã‚¨ãƒ©ãƒ¼"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "エラー: %s ã¯å­˜åœ¨ã—ãªã„為ã€ä½œæˆã§ãã¾ã›ã‚“"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "ä¸æ˜Žãªã‚³ãƒžãƒ³ãƒ‰ã§ã™"
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "空ã®ã•ã•ã‚„ãã‚’é€ä¿¡ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -160,155 +160,155 @@ msgstr ""
"%sã¸ã®ã•ã•ã‚„ãタブã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸã€‚ãã®ã‚¿ãƒ–ã¯æ—¢ã«é–‹ã„ã¦ã„ã‚‹ã€ã‚‚ã—ãã¯è‡ª"
"分宛ã¦ã§ã™"
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "%sãƒãƒ£ãƒ³ãƒãƒ«ã¸ã®å‚加をリクエスト中"
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "パーティåãŒã‚ã‚Šã¾ã›ã‚“"
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "ギルドåãŒã‚ã‚Šã¾ã›ã‚“"
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "åå‰ã‚’入力ã—ã¦ãã ã•ã„"
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "改行キーã§ãƒãƒ£ãƒƒãƒˆå…¥åŠ›ãŒã§ãã¾ã™"
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "ãƒãƒ£ãƒƒãƒˆã‚’é–‰ã˜ã¾ã™"
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "改行キーã§ãƒãƒ£ãƒƒãƒˆå…¥åŠ›ãŒã§ãã¾ã™"
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "ãƒãƒ£ãƒƒãƒˆã‚’é–‰ã˜ã¾ã™"
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "å‹é”"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "無視"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "中性"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "プレイヤーã¯æ—¢ã«%s"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "プレイヤーã®%sã«æˆåŠŸã—ã¾ã—ãŸ"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "プレイヤーを%sã§ããªã‹ã£ãŸ"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
-msgstr "プレイヤーを無視ã§ãã¾ã›ã‚“ã§ã—ãŸ"
+msgstr "プレイヤーを完全無視ã§ãã¾ã›ã‚“ã§ã—ãŸ"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
-msgstr "プレイヤーを無視解除ã—ã¾ã—ãŸ"
+msgstr "プレイヤーを完全無視解除ã—ã¾ã—ãŸ"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
-msgstr "プレイヤーを無視解除ã§ãã¾ã›ã‚“ã§ã—ãŸ"
+msgstr "プレイヤーを完全無視解除ã§ãã¾ã›ã‚“ã§ã—ãŸ"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr "ブラックリスト化ã•ã‚Œã¦ã„ã¾ã™"
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr "敵"
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "プレイヤーã¯å‰Šé™¤ã•ã‚Œã¦ã„ã¾ã™"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "プレイヤーを削除ã—ã¾ã—ãŸ"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "プレイヤーを削除ã§ãã¾ã›ã‚“ã§ã—ãŸ"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr "クライアントã®ç¨¼åƒæ™‚é–“: %s"
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d週"
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%dæ—¥"
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d時"
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d分"
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d秒"
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr "フォントキャッシュサイズ"
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr "キャッシュサイズ:"
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "作æˆ:"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "削除:"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr "リソースイメージ:"
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr "リソース孤å…イメージ:"
@@ -318,43 +318,43 @@ msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
"/%sã¸ã®å¯èƒ½ãªã‚ªãƒ—ションã¯ï¼š\"yes\", \"no\", \"true\", \"false\", \"1\", \"0\""
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "一般"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "デãƒãƒƒã‚°"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr " ã¨ã—ã¦ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã‚’ä¿å­˜ã—ã¾ã—ãŸ"
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "スクリーンショットをä¿å­˜ã§ãã¾ã›ã‚“ã§ã—ãŸ"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "サーãƒãƒ¼ã¸ã®æŽ¥ç¶šãŒåˆ‡æ–­ã•ã‚Œã¾ã—ãŸ"
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ©ãƒ¼"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "トレードリクエストを無効ã«ã—ã¦ã„ã¾ã™"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "トレードリクエストを有効ã«ã—ã¾ã—ãŸ"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "マップã®èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "%sã®èª­ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒèµ·ãã¾ã—ãŸ"
@@ -408,7 +408,7 @@ msgstr "å‹•ã"
msgid "Result"
msgstr "çµæžœ"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "リセット"
@@ -430,30 +430,30 @@ msgstr "é‡:"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "終了"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "最大"
@@ -470,21 +470,21 @@ msgid "Sell"
msgstr "売る"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "キャンセル"
@@ -520,7 +520,7 @@ msgstr "メールアドレスãŒä¸€è‡´ã—ã¾ã›ã‚“"
msgid "Change Password"
msgstr "パスワードã®å¤‰æ›´"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "パスワード:"
@@ -547,68 +547,73 @@ msgstr "パスワードã¯%d文字以下ã§ãªãã¦ã¯ã„ã‘ã¾ã›ã‚“"
msgid "The new password entries mismatch."
msgstr "æ–°ã—ã„パスワードãŒä¸€è‡´ã—ã¾ã›ã‚“"
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "キャラクター作æˆ"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr "æ–°ã—ã„キャラクター"
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "åå‰:"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "髪色:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "ヘアスタイル"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr "^"
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "人種:"
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "作æˆ"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "男性"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "女性"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "%d ãƒã‚¤ãƒ³ãƒˆã‚’振り分ã‘ã¦ãã ã•ã„"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "åå‰ã¯ï¼”文字以上必è¦ã§ã™"
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "能力ãƒã‚¤ãƒ³ãƒˆé…分é‡ã¯å•é¡Œã‚ã‚Šã¾ã›ã‚“"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "%dãƒã‚¤ãƒ³ãƒˆã‚’å–り除ã„ã¦ãã ã•ã„"
@@ -627,7 +632,7 @@ msgstr "アカウントã¨ã‚­ãƒ£ãƒ©ã‚¯ã‚¿ãƒ¼ç®¡ç†"
#: src/gui/charselectdialog.cpp:139
msgid "Switch Login"
-msgstr "ä»–ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã§ãƒ­ã‚°ã‚¤ãƒ³"
+msgstr "別アカウントã§ãƒ­ã‚°ã‚¤ãƒ³"
#: src/gui/charselectdialog.cpp:154 src/gui/unregisterdialog.cpp:50
#: src/gui/unregisterdialog.cpp:58
@@ -650,9 +655,9 @@ msgstr "キャラクターを削除ã™ã‚‹ã«ã¯ãƒ‘スワードを入力ã—ã¦ä¸‹
msgid "Enter password:"
msgstr "パスワードを入力ã—ã¦ä¸‹ã•ã„:"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "削除"
@@ -727,7 +732,7 @@ msgstr "虹 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -739,12 +744,12 @@ msgstr "???"
msgid "Chat"
msgstr "ãƒãƒ£ãƒƒãƒˆ"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "ç¾åœ¨: %s; %d プレイヤーãŒã„ã¾ã™"
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "%sã«ã•ã•ã‚„ã中:%s"
@@ -765,7 +770,7 @@ msgstr "ã„ã„ãˆ"
#: src/gui/popupmenu.cpp:692 src/gui/popupmenu.cpp:701
#: src/gui/popupmenu.cpp:715
msgid "Ignore"
-msgstr "無視"
+msgstr "完全無視"
#: src/gui/debugwindow.cpp:72 src/gui/minimap.cpp:50 src/gui/minimap.cpp:99
#: src/gui/setup_other.cpp:64
@@ -886,7 +891,7 @@ msgstr "最高ヒット:"
#: src/gui/debugwindow.cpp:278 src/gui/debugwindow.cpp:329
#: src/gui/debugwindow.cpp:353
msgid "Critical hit:"
-msgstr "致命的ヒット:"
+msgstr "クリティカルヒット:"
#: src/gui/debugwindow.cpp:387 src/gui/debugwindow.cpp:392
#, c-format
@@ -908,8 +913,8 @@ msgid "Did You Know?"
msgstr "豆知識"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "é–‰ã˜ã‚‹"
@@ -925,11 +930,36 @@ msgstr "次㸠>"
msgid "Auto open this window"
msgstr "ã“ã®çª“を自動ã§é–‹ã‘ã‚‹"
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "OK"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr "サーãƒãƒ¼ç·¨é›†"
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr "アドレス:"
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "ãƒãƒ¼ãƒˆ:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "サーãƒãƒ¼ã‚¿ã‚¤ãƒ—:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr "詳細:"
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr "サーãƒãƒ¼ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒãƒ¼ãƒˆã‚’入力ã—ã¦ä¸‹ã•ã„"
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "装ç€å“"
@@ -982,7 +1012,7 @@ msgstr "フィルタ:"
#: src/gui/inventorywindow.cpp:556 src/gui/popupmenu.cpp:1814
#: src/gui/popupmenu.cpp:1910 src/gui/popupmenu.cpp:1957
msgid "Equip"
-msgstr "装ç€ã™ã‚‹"
+msgstr "装ç€"
#: src/gui/inventorywindow.cpp:159 src/gui/inventorywindow.cpp:548
#: src/gui/inventorywindow.cpp:552 src/gui/popupmenu.cpp:1818
@@ -1027,39 +1057,39 @@ msgstr "å–出ã™"
msgid "Drop"
msgstr "è½ã¨ã™"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "å…¨ã¦"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "トレードã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã®æ•°é‡ã‚’入力ã—ã¦ãã ã•ã„"
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "è½ã¨ã™ã‚¢ã‚¤ãƒ†ãƒ ã®æ•°é‡ã‚’入力ã—ã¦ãã ã•ã„"
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "ä¿ç®¡ã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã®æ•°é‡ã‚’入力ã—ã¦ãã ã•ã„"
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "å–出ã™ã‚¢ã‚¤ãƒ†ãƒ ã®æ•°é‡ã‚’入力ã—ã¦ãã ã•ã„"
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "分割ã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã®é‡ã‚’é¸æŠžã—ã¦ãã ã•ã„"
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "購入リストã«è¿½åŠ "
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "販売リストã«è¿½åŠ "
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "ä¸æ˜Ž"
@@ -1174,32 +1204,31 @@ msgstr "自動ã§é–‰ã˜ã‚‹"
msgid "Skip"
msgstr "スキップ"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "ログイン"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "サーãƒãƒ¼:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "カスタムアップデートホスト"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "ユーザーåを記憶ã™ã‚‹"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "アップデート:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "登録"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "サーãƒãƒ¼å¤‰æ›´"
@@ -1243,24 +1272,24 @@ msgstr "情勢"
msgid "Need"
msgstr "å¿…è¦"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr "キャンセル"
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "次"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "決定"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "クリア"
@@ -1276,12 +1305,13 @@ msgstr "é€ä¿¡ã™ã‚‹"
msgid "Failed to send as sender or letter invalid."
msgstr "文字ã‹å·®å‡ºäººãŒç„¡åŠ¹ã®ç‚ºé€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "æœè£…: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "éµ: %s"
@@ -1360,7 +1390,7 @@ msgstr "消ã™"
#: src/gui/popupmenu.cpp:713 src/gui/popupmenu.cpp:721
#: src/gui/popupmenu.cpp:726
msgid "Unignore"
-msgstr "無視解除"
+msgstr "完全無視解除"
#: src/gui/popupmenu.cpp:182 src/gui/popupmenu.cpp:194
#: src/gui/popupmenu.cpp:437 src/gui/popupmenu.cpp:457
@@ -1455,7 +1485,7 @@ msgstr "攻撃リストã¸è¿½åŠ ã™ã‚‹"
#: src/gui/popupmenu.cpp:332
msgid "Add to ignore list"
-msgstr "無視リストã¸è¿½åŠ ã™ã‚‹"
+msgstr "完全無視リストã¸è¿½åŠ ã™ã‚‹"
#: src/gui/popupmenu.cpp:345 src/gui/popupmenu.cpp:519
msgid "Add name to chat"
@@ -1686,64 +1716,58 @@ msgstr "パスワードã¯%d文字以下ã§ãªãã¦ã¯ã„ã‘ã¾ã›ã‚“"
msgid "Passwords do not match."
msgstr "パスワードãŒä¸€è‡´ã—ã¾ã›ã‚“"
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "サーãƒãƒ¼ã‚’é¸æŠžã—ã¦ãã ã•ã„"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "サーãƒãƒ¼ã‚’é¸ã‚“ã§ä¸‹ã•ã„ *** セーフモード ***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "ãƒãƒ¼ãƒˆ:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "åŒã˜IPをゲームサブサーãƒãƒ¼ã§ã‚‚使用ã™ã‚‹"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "サーãƒãƒ¼ã‚¿ã‚¤ãƒ—:"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "読込ã¿"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "ログイン"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "カスタムサーãƒãƒ¼"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "追加"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "サーãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒãƒ¼ãƒˆã‚’入力ã—ã¦ãã ã•ã„"
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "編集"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "サーãƒãƒ¼ãƒªã‚¹ãƒˆã‚’ダウンロード中...%2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "サーãƒãƒ¼ã‹ã‚‰ã®å¿œç­”ã‚’å¾…ã£ã¦ã„ã¾ã™"
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "ダウンロード準備中..."
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "サーãƒãƒ¼ãƒªã‚¹ãƒˆã®èª­ã¿è¾¼ã¿ã«å¤±æ•—"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "アップデートãŒå¿…è¦ã§ã™"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "v%sãŒå¿…è¦"
@@ -2166,7 +2190,7 @@ msgstr "ボットãƒã‚§ãƒƒã‚«ãƒ¼ã‚’有効ã«ã™ã‚‹"
#: src/gui/setup_other.cpp:174
msgid "Enable buggy servers protection (do not disable)"
-msgstr "ä¸å®‰å®šãªã‚µãƒ¼ãƒãƒ¼ã®ä¿è­·ã‚’有効ã«ã™ã‚‹(無効ã«ã—ãªã„)"
+msgstr "ä¸å®‰å®šãªã‚µãƒ¼ãƒãƒ¼ä¿è­·ã‚’有効ã«ã™ã‚‹(無効ã«ã—ãªã„)"
#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
@@ -2293,11 +2317,11 @@ msgstr "å‹é”"
#: src/gui/setup_relations.cpp:72
msgid "Disregarded"
-msgstr "無視"
+msgstr "無視ã—ã¦ã„ã‚‹"
#: src/gui/setup_relations.cpp:73
msgid "Ignored"
-msgstr "無視ã™ã‚‹"
+msgstr "完全無視ã—ã¦ã„ã‚‹"
#: src/gui/setup_relations.cpp:74
msgid "Erased"
@@ -2311,25 +2335,25 @@ msgstr "ブラックリスト化ã•ã‚Œã¦ã„ã¾ã™"
msgid "Enemy"
msgstr "敵"
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "トレードをå—付ã‘ã‚‹"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "å…¨ã¦ã®ã•ã•ã‚„ãã‚’å—ã‘å–ã‚‹"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "å¤ã„"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr "関係"
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
-msgstr "無視ã®éš›ã«ã¯:"
+msgstr "完全無視ã®éš›ã«ã¯:"
#: src/gui/setup_theme.cpp:108
msgid "Tiny (10)"
@@ -2455,8 +2479,8 @@ msgstr "フォントサイズ"
msgid "Theme Changed"
msgstr "テーマを変更ã—ã¾ã—ãŸ"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "設定変更ã®ç‚ºã‚¢ãƒ—リケーションをå†èµ·å‹•ã—ã¦ãã ã•ã„"
@@ -2508,148 +2532,151 @@ msgstr "中"
msgid "max"
msgstr "最大"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "フールスクリーン"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "カスタムカーソル"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "パーティクル効果"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
-msgstr "ピックアップ通知表示"
+msgstr "åŽé›†é€šçŸ¥è¡¨ç¤º"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "ãƒãƒ£ãƒƒãƒˆã§"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "ç”»é¢å†…ã§"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr "リサイズを有効ã«ã™ã‚‹"
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr "フレームãªã—"
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "FPSリミット:"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Alt FPS リミット: "
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr "ヘッダーテキスト"
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "GUIä¸é€æ˜Ž"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "環境FX"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "パーティクルã®è©³ç´°"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "ãªã—"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "ウインドウモードã€ã¾ãŸå‰ãƒ¢ãƒ¼ãƒ‰ã®å¾©å…ƒã«ã‚‚失敗ã—ã¾ã—ãŸ"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "フルスクリーンモードã€ã¾ãŸå‰ãƒ¢ãƒ¼ãƒ‰ã®å¾©å…ƒã«ã‚‚失敗ã—ã¾ã—ãŸ"
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "フルスクリーンã«å¤‰æ›´"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "設定変更ã®ç‚ºã€å†èµ·å‹•ã‚’ã—ã¦ãã ã•ã„"
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "OpenGLã«å¤‰æ›´"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "OpenGLã®è¨­å®šã‚’変更ã™ã‚‹ãŸã‚ã€å†èµ·å‹•ã‚’ã—ã¦ãã ã•ã„。"
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "カスタム解åƒåº¦ (例: 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "解åƒåº¦ã‚’入力ã—ã¦ä¸‹ã•ã„: "
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "スクリーンã®è§£åƒåº¦ã‚’変更ã—ã¾ã—ãŸ"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr "解åƒåº¦ã®å¤‰æ›´ã«åˆã‚ã›ã€ã„ãã¤ã‹ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒç§»å‹•ã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™"
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "パーティクル効果ã®è¨­å®šã‚’変更ã—ã¾ã—ãŸ"
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "変更ã¯ãƒžãƒƒãƒ—ãŒå¤‰ã‚ã£ãŸæ™‚ã«æœ‰åŠ¹ã«ãªã‚Šã¾ã™"
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "最大 (15)"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "購入"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "販売"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "追加"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "アナウンス"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "アナウンスã«ãƒªãƒ³ã‚¯ã‚’表示ã™ã‚‹"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr "オークション"
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "トレードをリクエスト"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%sãŒ%s %sを希望ã—ã¦ã„ã¾ã™ã€‚承èªã—ã¾ã™ã‹ï¼Ÿ"
@@ -2758,7 +2785,7 @@ msgstr "ナビ"
#: src/gui/socialwindow.cpp:927
msgid "Atk"
-msgstr "Atk"
+msgstr "攻撃"
#: src/gui/socialwindow.cpp:968
msgid "Priority mobs"
@@ -2770,13 +2797,13 @@ msgstr "敵を攻撃ã™ã‚‹"
#: src/gui/socialwindow.cpp:1035
msgid "Ignore mobs"
-msgstr "敵を無視ã™ã‚‹"
+msgstr "敵を完全無視ã™ã‚‹"
#: src/gui/socialwindow.cpp:1195
msgid "Create Guild"
msgstr "ギルドを作æˆã™ã‚‹"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "パーティを作る"
@@ -2788,93 +2815,103 @@ msgstr "ソーシャル"
msgid "Invite"
msgstr "招待"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr "周囲"
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr "フレ"
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "%sã‹ã‚‰ã®ãƒ‘ーティ招待を承èªã—ã¾ã—ãŸ"
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "%sã‹ã‚‰ã®ãƒ‘ーティ招待を拒å¦ã—ã¾ã—ãŸ"
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "%sã‹ã‚‰ã®ã‚®ãƒ«ãƒ‰æ‹›å¾…を承èªã—ã¾ã—ãŸ"
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "%sã‹ã‚‰ã®ã‚®ãƒ«ãƒ‰æ‹›å¾…ã‚’æ‹’å¦ã—ã¾ã—ãŸ"
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "ギルド %sを作æˆã—ã¾ã—ãŸ"
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "パーティ %sを作æˆã—ã¾ã—ãŸ"
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "ギルドå"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "ギルドåã‚’é¸ã‚“ã§ãã ã•ã„"
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr "ギルド招待を承èªã—ãŸãŒæ—¢ã«å…¥ä¼šã—ã¦ã„ã¾ã™"
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%sãŒã‚®ãƒ«ãƒ‰ %sã¸æ‹›å¾…ã—ã¦ã„ã¾ã™"
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "ギルド招待をå—ã‘入れる"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "パーティ招待を承èªã—ãŸãŒæ—¢ã«å…¥ä¼šã—ã¦ã„ã¾ã™"
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "パーティã«æ‹›å¾…ã•ã‚Œã¾ã—ãŸ"
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "パーティ %sã«æ‹›å¾…ã•ã‚Œã¾ã—ãŸ"
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%sã¯ã‚ãªãŸã‚’パーティã«æ‹›å¾…ã—ã¾ã—ãŸ"
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%sã¯ã‚ãªãŸã‚’%sã¨ã„ã†ãƒ‘ーティã«æ‹›å¾…ã—ã¾ã—ãŸ"
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "パーティ招待をå—ã‘入れã¾ã™"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "パーティーを作æˆã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。もã†ãƒ‘ーティーã«å…¥ã£ã¦ã„ã¾ã™"
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "パーティå"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "パーティåã‚’é¸ã‚“ã§ãã ã•ã„"
@@ -3070,35 +3107,35 @@ msgstr "åå‰: %s"
msgid "Updating..."
msgstr "æ›´æ–°ã—ã¦ã„ã¾ã™..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "接続ã—ã¦ã„ã¾ã™..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "プレイ"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 アップデートã¯å®Œäº†ã—ã¦ã„ã¾ã›ã‚“"
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 ã™ã‚‹äº‹ã‚’å¼·ã推奨ã—ã¾ã™"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 ã—ã°ã‚‰ããŸã£ã¦ã‹ã‚‰ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„"
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "完了"
#: src/gui/userpalette.cpp:116
msgid "Being"
-msgstr "人"
+msgstr "プレイヤー"
#: src/gui/userpalette.cpp:117
msgid "Friend Names"
@@ -3110,7 +3147,7 @@ msgstr "無視ã—ã¦ã„ã‚‹åå‰"
#: src/gui/userpalette.cpp:119
msgid "Ignored Names"
-msgstr "無視ã—ã¦ã„ã‚‹åå‰"
+msgstr "完全無視ã—ã¦ã„ã‚‹åå‰"
#: src/gui/userpalette.cpp:120
msgid "Erased Names"
@@ -3170,15 +3207,15 @@ msgstr "プレイヤーã®HPãƒãƒ¼ï¼ˆäºŒç•ªç›®ã®è‰²ï¼‰"
#: src/gui/userpalette.cpp:137
msgid "Player Hits Monster"
-msgstr "プレイヤーã¯ãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’ヒット"
+msgstr "プレイヤーãŒãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’ヒットã—ãŸæ™‚"
#: src/gui/userpalette.cpp:138
msgid "Monster Hits Player"
-msgstr "モンスターã¯ãƒ—レイヤーをヒット"
+msgstr "モンスターãŒãƒ—レイヤーをヒットã—ãŸæ™‚"
#: src/gui/userpalette.cpp:140
msgid "Other Player Hits Local Player"
-msgstr "ä»–ã®ãƒ—レイヤーãŒãƒ­ãƒ¼ã‚«ãƒ«ãƒ—レイヤーを攻撃ã—ã¾ã—ãŸ"
+msgstr "ä»–ã®ãƒ—レイヤーãŒãƒ­ãƒ¼ã‚«ãƒ«ãƒ—レイヤーを攻撃ã—ãŸæ™‚"
#: src/gui/userpalette.cpp:141
msgid "Critical Hit"
@@ -3186,11 +3223,11 @@ msgstr "クリティカルヒット"
#: src/gui/userpalette.cpp:143
msgid "Local Player Hits Monster"
-msgstr "ローカルプレイヤーãŒãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’攻撃ã—ã¾ã—ãŸ"
+msgstr "ローカルプレイヤーãŒãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’攻撃ã—ãŸæ™‚"
#: src/gui/userpalette.cpp:145
msgid "Local Player Critical Hit"
-msgstr "ローカルプレイヤー 会心ã®ä¸€æ’ƒ"
+msgstr "ローカルプレイヤー クリティカルヒットã—ãŸæ™‚"
#: src/gui/userpalette.cpp:147
msgid "Local Player Miss"
@@ -3244,23 +3281,23 @@ msgstr "ホームボーダー"
msgid "Road Point"
msgstr "ロードãƒã‚¤ãƒ³ãƒˆ"
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "オンラインリスト - アップデート中"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "アップデート"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "オンラインリスト - "
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "オンラインリスト - エラー"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "オンラインリスト - アップデート"
@@ -3403,13 +3440,9 @@ msgstr "/leave > ギルドã‹ã‚‰é€€ä¼šã™ã‚‹"
msgid "/kick > Kick some one from the guild you are in"
msgstr "/kick > プレイヤーをギルドã‹ã‚‰è¿½ã„出ã—ã¾ã™"
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "編集"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
-msgstr "/ignore > ä»–ã®ãƒ—レイヤーを無視ã™ã‚‹"
+msgstr "/ignore > ä»–ã®ãƒ—レイヤーを完全無視ã™ã‚‹"
#: src/gui/widgets/whispertab.cpp:108
msgid "/unignore > Stop ignoring the other player"
@@ -3433,7 +3466,7 @@ msgstr "コマンド: /ignore"
#: src/gui/widgets/whispertab.cpp:125
msgid "This command ignores the other player regardless of current relations."
-msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯å…¨ã¦ã®ãƒ—レイヤーを無視ã—ã¾ã™"
+msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯å…¨ã¦ã®ãƒ—レイヤーを完全無視ã—ã¾ã™"
#: src/gui/widgets/whispertab.cpp:130
msgid "Command: /unignore <player>"
@@ -3441,7 +3474,7 @@ msgstr "コマンド: /unignore <プレイヤーå>"
#: src/gui/widgets/whispertab.cpp:131
msgid "This command stops ignoring the other player if they are being ignored."
-msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ãƒ—レイヤー無視を解除ã—ã¾ã™"
+msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ãƒ—レイヤー完全無視を解除ã—ã¾ã™"
#: src/gui/windowmenu.cpp:65
msgid "BC"
@@ -3657,7 +3690,7 @@ msgstr "アイテムショートカットキー"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "アイテムショートカット: %d"
@@ -3784,184 +3817,186 @@ msgstr "スマイリー"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "スマイリーショートカット: %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr "æœè£…キー"
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "æœã‚’ç€ã‚‹"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr "æœã‚’コピーã™ã‚‹"
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr "装ç€å“ã‚’æœè£…ã«ã‚³ãƒ”ー"
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr "ãƒãƒ£ãƒƒãƒˆã‚­ãƒ¼"
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "トグルãƒãƒ£ãƒƒãƒˆ"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "ãƒãƒ£ãƒƒãƒˆã‚’上ã¸ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ã™ã‚‹"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "ãƒãƒ£ãƒƒãƒˆã‚’下ã¸ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ã™ã‚‹"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "å‰ã®ãƒãƒ£ãƒƒãƒˆã‚¿ãƒ–"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "次ã®ãƒãƒ£ãƒƒãƒˆã‚¿ãƒ–"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr "ã“ã®ãƒãƒ£ãƒƒãƒˆã‚¿ãƒ–ã‚’é–‰ã˜ã‚‹"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr "å‰ãƒãƒ£ãƒƒãƒˆæ–‡"
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr "次ãƒãƒ£ãƒƒãƒˆæ–‡"
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr "ãƒãƒ£ãƒƒãƒˆã‚ªãƒ¼ãƒˆã‚³ãƒ³ãƒ—リート"
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr "ãƒãƒ£ãƒƒãƒˆå…¥åŠ›ç„¡åŠ¹"
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr "ãã®ä»–ã®ã‚­ãƒ¼"
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
-msgstr "インプット1無視"
+msgstr "インプット1完全無視"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
-msgstr "インプット2無視"
+msgstr "インプット2完全無視"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr "上方å‘"
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr "下方å‘"
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr "左方å‘"
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr "å³æ–¹å‘"
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr "クレイジームーブ"
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr "クレイジームーブモード変更"
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr "Nアイテムを 0スロットã‹ã‚‰ã‚¯ã‚¤ãƒƒã‚¯ãƒ‰ãƒ­ãƒƒãƒ—"
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr "Nアイテムをクイックドロップ"
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr "クイックドロップカウンター変更"
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr "ターゲットåˆã¯è‡ªåˆ†ã‚’HP回復ã•ã›ã‚‹"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr "呪文 #itenplz ã‚’å”±ãˆã‚‹"
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "魔法攻撃を使用"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr "マジックアタック変更"
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr "PvP攻撃変更"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr "ムーブタイプ変更"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr "武器変更"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr "攻撃方法変更"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr "フォローモード変更"
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr "真似モード変更"
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr "ゲームモディファイアキーを無効 / 有効ã«ã™ã‚‹"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "オーディオ オン/オフ"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr "AFKモードを有効 / 無効ã«ã™ã‚‹"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr "å³ã‚¯ãƒªãƒƒã‚¯ã‚’エミュレートã™ã‚‹"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr "カメラモード変更"
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr "モディファイアーキー"
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -3970,333 +4005,333 @@ msgstr ""
"\"%s\"ã¨\"%s\"キーãŒé‡è¤‡ã—ã¦ã„ã¾ã™ã€‚ ゲームプレイã«æ‚ªã„影響ãŒå‡ºã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›"
"ん。"
-#: src/localplayer.cpp:384
+#: src/localplayer.cpp:385
#, c-format
msgid "You were killed by %s"
msgstr "%sã«ã‚ˆã£ã¦æ®ºã•ã‚Œã¾ã—ãŸ"
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr "存在ã—ãªã„アイテムã¯æ‹¾ãˆã¾ã›ã‚“"
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "アイテムãŒé‡éŽãŽã¾ã™"
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "アイテムãŒé ã™ãŽã¾ã™."
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "インベントリーãŒæº€æ¯ã§ã™"
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr "é‡ãŒå¤šã™ãŽã¾ã™"
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "ã“ã‚Œã¯ä»–ã®ãƒ—レイヤーã®ã‚¢ã‚¤ãƒ†ãƒ ã§ã™"
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr "ä¸æ˜Žãªã‚¨ãƒ©ãƒ¼ã®ç‚ºæ‹¾ãˆã¾ã›ã‚“"
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
-msgstr[0] "%d [@@%d|%s@@]を拾ã„ã¾ã—ãŸ"
+msgstr[0] "%d [@@%d|%s@@]を手ã«å…¥ã‚Œã¾ã—ãŸ"
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) デフォルトムーブ"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr "(I) 逆ムーブ"
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr "(c) クレイジームーブをå«ã‚“ã ãƒ ãƒ¼ãƒ–"
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr "(C) クレイジームーブ"
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr "(d) ダブルノーマル + クレイジー"
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
msgstr "(?) ä¸æ˜Žãªãƒ ãƒ¼ãƒ–"
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr "(%d) クレイジームーブ %d"
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr "(a) カスタムクレイジームーブ"
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr "(?) クレイジームーブ"
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr "(0) ターゲットã¸ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆæŽ¥è¿‘"
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr "(1) è·é›¢1ã§ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã¸æŽ¥è¿‘"
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr "(2) è·é›¢2ã§ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«è¿‘付ã"
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr "(3) è·é›¢3ã§ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã¸æŽ¥è¿‘"
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr "(5) è·é›¢5ã§ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«è¿‘付ã"
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr "(7) è·é›¢7ã§ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«è¿‘付ã"
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr "(A) 攻撃範囲内ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«è¿‘付ã"
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr "(a) 弓師攻撃範囲"
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?) ターゲットã«è¿‘付ã"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr "(D) デフォルトフォロー"
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr "(R) å‹é”フォロー"
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr "(M) ミラーフォロー"
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr "(P) ペットフォロー"
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr "(?) ä¸æ˜Žãªãƒ•ã‚©ãƒ­ãƒ¼"
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) 攻撃"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) デフォルト攻撃"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr "(s) 盾ãªã—攻撃"
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr "(S) 盾ã‚り攻撃"
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) 接近ã€æ”»æ’ƒ"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr "(A) 接近ã€æ”»æ’ƒã€æ‹¾ã†"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) 自動攻撃ãªã—"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr "(S) å°ç¯„囲ã§æ‹¾ã† 1x1セル"
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr "(D) デフォルト範囲ã§æ‹¾ã† 2x1セル"
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) 広範囲ã§æ‹¾ã† 2x3セル"
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr "(3) 3x3セルã®ç¯„囲ã§æ‹¾ã†"
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr "(g) è·é›¢4ã®ç¯„囲ã§æ‹¾ã†"
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr "(G) è·é›¢8ã§æ‹¾ã†"
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr "(A) 最大範囲ã§æ‹¾ã†"
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?) 拾ã†"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) 通常マップビュー"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr "(D) デãƒãƒƒã‚°ãƒžãƒƒãƒ—ビュー"
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr "(u) ウルトラマップビュー"
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr "(U) ウルトラマップビュー2"
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) 空マップビュー"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b) 白黒マップビュー"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) 魔法攻撃㯠#flarを使ã†"
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) 魔法攻撃㯠#chizaを使ã†"
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(I) 魔法攻撃㯠#ingravを使ã†"
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) 魔法攻撃㯠#frillyarを使ã†"
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) 魔法攻撃㯠#upmarmuを使ã†"
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) 魔法攻撃"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr "(a) å…¨ã¦ã®ãƒ—レイヤーを攻撃"
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr "(f) å‹é”以外を攻撃"
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr "(b) 敵を攻撃"
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr "(d) ä»–ã®ãƒ—レイヤーを攻撃ã—ãªã„"
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr "(?) PvP攻撃"
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr "(D) デフォルト真似"
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr "(O) æœè£…真似"
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr "(?) 真似をã™ã‚‹"
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "アウェイ"
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) キーボード"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) アウェイ"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) アウェイ"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr "(G) ゲームカメラモード"
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr "(F) フリーカメラモード"
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr "ゲームモディファイアã¯æœ‰åŠ¹ã«ãªã£ã¦ã¾ã™"
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr "ゲームモディファイアã¯ç„¡åŠ¹ã«ãªã£ã¦ã¾ã™"
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr "ä¸æ˜Žãªã‚²ãƒ¼ãƒ ãƒ¢ãƒ‡ã‚£ãƒ•ã‚¡ã‚¤ã‚¢ãƒ¼"
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "フォロー: "
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "フォローを止ã‚ã‚‹"
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr "真似: "
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr "真似をやã‚ã‚‹"
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr " ãŒè¦‹ãˆã‚‹"
@@ -4471,7 +4506,7 @@ msgstr "é–“é•ã£ãŸã‚¹ãƒ­ãƒƒãƒˆ"
#: src/net/ea/charserverhandler.cpp:167
msgid "Incorrect race."
-msgstr ""
+msgstr "種別ãŒé–“é•ã£ã¦ã„ã¾ã™"
#: src/net/ea/charserverhandler.cpp:182 src/net/manaserv/charhandler.cpp:210
msgid "Info"
@@ -4500,7 +4535,7 @@ msgstr "%sãŒã‚ªãƒ•ãƒ©ã‚¤ãƒ³ã®ç‚ºã•ã•ã‚„ãã¯é€ã‚Œã¾ã›ã‚“ã§ã—ãŸ"
#: src/net/ea/chathandler.cpp:137
#, c-format
msgid "Whisper could not be sent, ignored by %s."
-msgstr "%sãŒç„¡è¦–設定をã—ã¦ã„る為ã•ã•ã‚„ãã¯é€ã‚Œã¾ã›ã‚“ã§ã—ãŸ"
+msgstr "%sãŒå®Œå…¨ç„¡è¦–設定をã—ã¦ã„る為ã•ã•ã‚„ãã¯é€ã‚Œã¾ã›ã‚“ã§ã—ãŸ"
#: src/net/ea/chathandler.cpp:346
msgid "MVP player."
@@ -5000,7 +5035,7 @@ msgstr "インベントリーãŒä½“é‡ã®åŠåˆ†ä»¥ä¸‹ã«ãªã£ãŸç‚ºã€ä½“力ã¯
#: src/net/ea/playerhandler.cpp:453
#, c-format
msgid "You picked up %s."
-msgstr "%sを拾ã„ã¾ã—ãŸ"
+msgstr "%sを手ã«å…¥ã‚Œã¾ã—ãŸ"
#: src/net/ea/playerhandler.cpp:459
#, c-format
diff --git a/po/manaplus.pot b/po/manaplus.pot
index d36082bed..27dddd521 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: 2012-01-21 19:25+0300\n"
+"POT-Creation-Date: 2012-02-04 15:55+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"
@@ -31,282 +31,282 @@ msgid "miss"
msgstr ""
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr ""
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr ""
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr ""
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr ""
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr ""
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr ""
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr ""
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr ""
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr ""
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr ""
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr ""
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr ""
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr ""
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr ""
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr ""
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr ""
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr ""
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr ""
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr ""
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr ""
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr ""
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr ""
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr ""
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr ""
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr ""
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr ""
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] ""
msgstr[1] ""
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr ""
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr ""
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr ""
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr ""
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr ""
@@ -315,43 +315,43 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr ""
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr ""
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr ""
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -405,7 +405,7 @@ msgstr ""
msgid "Result"
msgstr ""
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr ""
@@ -427,30 +427,30 @@ msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr ""
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr ""
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr ""
@@ -467,21 +467,21 @@ msgid "Sell"
msgstr ""
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr ""
@@ -517,7 +517,7 @@ msgstr ""
msgid "Change Password"
msgstr ""
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr ""
@@ -544,68 +544,73 @@ msgstr ""
msgid "The new password entries mismatch."
msgstr ""
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
msgstr ""
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr ""
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr ""
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr ""
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr ""
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr ""
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr ""
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr ""
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr ""
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr ""
@@ -647,9 +652,9 @@ msgstr ""
msgid "Enter password:"
msgstr ""
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr ""
@@ -724,7 +729,7 @@ msgstr ""
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -736,12 +741,12 @@ msgstr ""
msgid "Chat"
msgstr ""
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -905,8 +910,8 @@ msgid "Did You Know?"
msgstr ""
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr ""
@@ -922,11 +927,36 @@ msgstr ""
msgid "Auto open this window"
msgstr ""
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr ""
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr ""
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr ""
@@ -1024,39 +1054,39 @@ msgstr ""
msgid "Drop"
msgstr ""
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr ""
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr ""
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr ""
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr ""
@@ -1173,32 +1203,31 @@ msgstr ""
msgid "Skip"
msgstr ""
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr ""
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr ""
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr ""
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr ""
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr ""
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr ""
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr ""
@@ -1242,24 +1271,24 @@ msgstr ""
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr ""
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr ""
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr ""
@@ -1275,12 +1304,13 @@ msgstr ""
msgid "Failed to send as sender or letter invalid."
msgstr ""
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr ""
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr ""
@@ -1685,64 +1715,58 @@ msgstr ""
msgid "Passwords do not match."
msgstr ""
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr ""
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr ""
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr ""
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr ""
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr ""
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr ""
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
msgstr ""
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
msgstr ""
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr ""
@@ -2306,23 +2330,23 @@ msgstr ""
msgid "Enemy"
msgstr ""
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr ""
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr ""
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr ""
@@ -2450,8 +2474,8 @@ msgstr ""
msgid "Theme Changed"
msgstr ""
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr ""
@@ -2503,148 +2527,151 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr ""
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr ""
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr ""
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr ""
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr ""
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr ""
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr ""
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr ""
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr ""
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr ""
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr ""
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr ""
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr ""
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr ""
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr ""
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr ""
@@ -2771,7 +2798,7 @@ msgstr ""
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr ""
@@ -2783,93 +2810,103 @@ msgstr ""
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr ""
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr ""
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr ""
@@ -3063,29 +3100,29 @@ msgstr ""
msgid "Updating..."
msgstr ""
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr ""
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr ""
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr ""
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr ""
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr ""
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr ""
@@ -3237,23 +3274,23 @@ msgstr ""
msgid "Road Point"
msgstr ""
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr ""
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr ""
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr ""
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr ""
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr ""
@@ -3392,10 +3429,6 @@ msgstr ""
msgid "/kick > Kick some one from the guild you are in"
msgstr ""
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr ""
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr ""
@@ -3646,7 +3679,7 @@ msgstr ""
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr ""
@@ -3773,518 +3806,520 @@ msgstr ""
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr ""
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr ""
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr ""
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr ""
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr ""
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr ""
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr ""
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr ""
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr ""
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr ""
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr ""
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr ""
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr ""
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr ""
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr ""
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr ""
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr ""
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr ""
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr ""
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr ""
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr ""
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr ""
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr ""
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr ""
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr ""
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr ""
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr ""
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr ""
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr ""
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:384
+#: src/localplayer.cpp:385
#, c-format
msgid "You were killed by %s"
msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr ""
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr ""
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr ""
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr ""
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr ""
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr ""
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr ""
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr ""
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr ""
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr ""
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr ""
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
msgstr ""
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr ""
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr ""
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr ""
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr ""
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr ""
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr ""
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr ""
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr ""
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr ""
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr ""
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr ""
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr ""
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr ""
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr ""
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr ""
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr ""
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr ""
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr ""
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr ""
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr ""
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr ""
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr ""
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr ""
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr ""
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr ""
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr ""
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr ""
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr ""
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr ""
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr ""
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr ""
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr ""
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr ""
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr ""
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr ""
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr ""
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr ""
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr ""
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr ""
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr ""
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr ""
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr ""
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr ""
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr ""
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr ""
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr ""
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr ""
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr ""
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr ""
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr ""
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr ""
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr ""
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr ""
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr ""
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr ""
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr ""
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr ""
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr ""
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr ""
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr ""
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr ""
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr ""
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr ""
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr ""
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr ""
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr ""
diff --git a/po/nl_BE.po b/po/nl_BE.po
index 6ed92b105..b40a90933 100644
--- a/po/nl_BE.po
+++ b/po/nl_BE.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-19 16:56+0000\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-02 16:45+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Dutch (Belgium) (http://www.transifex.net/projects/p/manaplus/"
"team/nl_BE/)\n"
@@ -33,122 +33,122 @@ msgid "miss"
msgstr "mist"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr "I"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Configureren"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr ""
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Video"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr ""
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "Verbinden met server"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "Inloggen"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Spelwereld binnenkomen"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Aanvragen personage"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "Verbinden met de spelserver"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Wijzigen spelservers"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "Fout"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Aanvragen registratie details"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Paswoord Wijziging"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "Paswoord is gewijzigd!"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "Email Wijziging"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "Email is gewijzigd!"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "Registratie ongedaan gemaakt!"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "Tot ziens..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s bestaat niet en kan niet gecreëerd worden! Stoppen."
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Ongeldige update host %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "Fout bij het creëren van de update map!"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Fout: %s bestaat niet en kan niet gecreëerd worden! Stoppen."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "Onbekend commando."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "Kan geen lege berichten sturen!"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -157,160 +157,160 @@ msgstr ""
"Je kan geen fluister-tab aanmaken voor \"%s\"! Het kan zijn dat hij reeds "
"bestaat, of het is jezelf."
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "Aanvragen om bij kanaal %s toegevoegd te worden."
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Groepsnaam ontbreekt."
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Guild-naam ontbreekt."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "Gelieve een naam te specifiëren"
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "Ga terug naar chat"
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "Bericht sluit chat."
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "Ga nu terug naar chat."
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "Bericht sluit nu chat."
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "vriend"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "genegeerd"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "neutraal"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "Speler reeds %s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "Speler succesvol %s!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "Speler kan niet %s zijn!"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "Speler is niet genegeerd!"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "Speler niet langer genegeerd!"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "Speler kan niet worden genegeerd!"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr ""
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "Speler reeds verwijderd!"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "Speler succesvol verwijderd!"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "Speler kan niet worden verwijderd!"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr "Client uptime: %s"
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d week"
msgstr[1] "%d weken"
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d dag"
msgstr[1] "%d dagen"
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d uur"
msgstr[1] "%d uren"
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minuut"
msgstr[1] "%d minuten"
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d seconde"
msgstr[1] "%d seconden"
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr ""
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr ""
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "Aangemaakt:"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "Verwijdered:"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr ""
@@ -320,43 +320,43 @@ msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
"Opties voor /%s zijn \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "Algemeen"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "Debug"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Scherafdruk opgeslagen als:"
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "Opslaan van screenshot mislukt!"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "De verbinding met de server is verbroken."
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "Netwerkfout"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Inkomende handelsaanvragen negeren"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Inkomende handelsaanvragen accepteren"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "Kon Map Niet Laden"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "Fout bij het laden van %s"
@@ -410,7 +410,7 @@ msgstr "Beweeg"
msgid "Result"
msgstr "Resultaat"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "Reset"
@@ -432,30 +432,30 @@ msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "Afsluiten"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "Maximum"
@@ -472,21 +472,21 @@ msgid "Sell"
msgstr "Verkopen"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Annuleren"
@@ -522,7 +522,7 @@ msgstr "De email adres ingaven zijn niet gelijk."
msgid "Change Password"
msgstr "Wijzig wachtwoord"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Wachtwoord:"
@@ -549,68 +549,73 @@ msgstr "Het nieuw paswoord mag niet meer dan %d karakters bevatten."
msgid "The new password entries mismatch."
msgstr "De nieuwe paswoord ingaven zijn niet gelijk."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Personage Aanmaken"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr ""
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "Naam:"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Haarkleur:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "Haarstijl:"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr ""
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "Ras:"
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Aanmaken"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Mannelijk"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Vrouwelijk"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "Nog %d punten te verdelen"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Je naam moet uit tenminste 4 tekens bestaan"
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Attributen van personage OK"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "Verwijder alstublieft %d punten"
@@ -652,9 +657,9 @@ msgstr "Geef uw wachtwoord om uw personage te verwijderen"
msgid "Enter password:"
msgstr "Geef wachtwoord:"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Verwijderen"
@@ -729,7 +734,7 @@ msgstr "regenboog 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -741,12 +746,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Aanwezig: %s; %d speler zijn aanwezig."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Fluisteren naar %s: %s"
@@ -910,8 +915,8 @@ msgid "Did You Know?"
msgstr "Weet u?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Sluiten"
@@ -927,11 +932,36 @@ msgstr "Volgend >"
msgid "Auto open this window"
msgstr ""
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "OK"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Poort:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Server type:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr ""
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "Uitrusting"
@@ -1029,39 +1059,39 @@ msgstr "Afhalen"
msgid "Drop"
msgstr "Neerleggen"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "Alle"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Selecteer het aantal voorwerpen om te verhandelen"
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Selecteer het aantal voorwerpen om neer te leggen"
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Selecteer hoeveelheid voorwerpen te bewaren."
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Selecteer hoeveelheid voorwerpen terug te nemen."
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Selecteer hoeveelheid voorwerpen om te splitsen."
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Toevoegen om te kopen"
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Toevoegen om te verkopen"
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "Onbekend."
@@ -1178,32 +1208,31 @@ msgstr "Auto Sluiten"
msgid "Skip"
msgstr "Overslaan"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Inloggen"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Server:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Manuele update server"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Onthoud gebruikersnaam"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "Update:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "Aanmelden"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Wijzig Server"
@@ -1247,24 +1276,24 @@ msgstr ""
msgid "Need"
msgstr "Nood"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr ""
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Volgende"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Indienen"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "Wissen"
@@ -1280,12 +1309,13 @@ msgstr "Verzenden"
msgid "Failed to send as sender or letter invalid."
msgstr "Kon niet zenden als zender, of de brief is ongeldig."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "Kleren: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Sleutel: %s"
@@ -1690,64 +1720,58 @@ msgstr "Het wachtwoord moet uit minder dan %d tekens bestaan."
msgid "Passwords do not match."
msgstr "Wachtwoorden komen niet overeen."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Kies Uw Server"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "Kies Uw Server *** VEILIGE MODUS ***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Poort:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "Gebruik hetzelfde ip voor spel sub-servers"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Server type:"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "Laden"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "Verbinden"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "Manuele Server"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "Toevoegen"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Typ aub zowel het adres van de server, als de poort."
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Wijzig"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Downloaden van server lijst...%2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "Wachten op server..."
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Download voorbereiden"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "Fout tijdens ophalen server lijst"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "vereist een nieuwere versie"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "vereist v%s"
@@ -2313,23 +2337,23 @@ msgstr ""
msgid "Enemy"
msgstr ""
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Handelen toestaan"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Fluisteren toestaan"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Oud"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr "Relaties"
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Tijdens negeren:"
@@ -2457,8 +2481,8 @@ msgstr "Lettergrootte"
msgid "Theme Changed"
msgstr "Thema is gewijzigd"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Herstart de client om de wijzigingen in werking te doen treden."
@@ -2510,154 +2534,157 @@ msgstr "gemiddeld"
msgid "max"
msgstr "max"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Volledig scherm"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "Aangepaste cursor"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Deeltjes effecten"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "Notificatie bij oprapen weergeven"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "in chat"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "als deeltje"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr ""
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr ""
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "FPS limiet:"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Alt FPS limiet: "
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "Dekking van de GUI"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "Omgevingseffecten"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "Geen"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
"Gefaald om te wisselen naar venstermodus en terugkeren naar oude modus "
"faalde ook!"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
"Gefaald om te wisselen naar volledigscherm modus en terugkeren naar oude "
"modus faalde ook!"
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Verwisselen naar Volledig Scherm"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "De veranderingen worden pas actief na opnieuw opstarten"
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Verwisselen naar OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "Het wisselen van of naar OpenGL wordt pas actief na opnieuw opstarten"
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Manuele resolutie (voorbeeld: 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Geef een nieuwe resolutie: "
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "Scherm Resolutie is gewijzigd"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
"Enkele vensters kunnen verplaatst worden om te passen in de omlaag gebrachte "
"resolutie"
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "Wijzigingen treden in werking bij het wisselen van map."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "Persoonlijke winkel"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Koop voorwerpen"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Verkoop voorwerpen"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Toevoegen"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "Aankondigingen"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "Toon links in aankondigingen"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr ""
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Handel aanvragen"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s wilt %s %s ga je akkoord?"
@@ -2784,7 +2811,7 @@ msgstr ""
msgid "Create Guild"
msgstr "Guild aanmaken"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "Groep aanmaken"
@@ -2796,93 +2823,103 @@ msgstr "Sociaal"
msgid "Invite"
msgstr "Nodig uit"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr ""
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr ""
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "Uitnodiging voor groep %s aanvaard."
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "Uitnodiging voor groep %s geweigerd."
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "Uitnodiging voor guild %s aanvaard."
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "Uitnodiging voor guild %s geweigerd."
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "Maken van guild %s."
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "Maken van groep %s."
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "Guild Naam"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "Kies uw guild naam"
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr "Uitnodiging tot guild ontvangen, maar er is er al één."
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s heeft je uitgenodigd om guid %s te vervoegen."
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "Guild Uitnodiging Aanvaarden"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "Uitnodiging tot groep ontvangen, maar er is er al één."
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "U bent uitgenodigd om je bij een groep te voegen."
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "U bent uitgenodigd om je bij groep %s te voegen."
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s heeft je uitgenodigd om je bij hun groep te voegen."
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s heeft je uitgenodigd om je bij groep %s te voegen."
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "Groepsuitnodiging aanvaarden"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "Kan groep niet aanmaken. Je bent al in een groep."
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "Groep Naam"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "Kies uw groepsnaam."
@@ -3078,29 +3115,29 @@ msgstr "Naam: %s"
msgid "Updating..."
msgstr "Actualiseren..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "Verbinden..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Spelen"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 Het updateproces is onvolledig."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 Het is ten sterkste aanbevolen dat"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 probeer later opnieuw."
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "Voltooid"
@@ -3252,23 +3289,23 @@ msgstr ""
msgid "Road Point"
msgstr ""
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "Wie Is Online - Bijwerken"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "Bijwerken"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "Wie Is Online - "
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "Wie Is Online - fout"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "Wie Is Online - Bijgewerkt"
@@ -3413,10 +3450,6 @@ msgstr ""
msgid "/kick > Kick some one from the guild you are in"
msgstr ""
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Wijzig"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr "/ignore > Negeer de andere speler"
@@ -3670,7 +3703,7 @@ msgstr "Voorwerpsnelkoppelingstoets"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "Snelkoppeling naar voorwerp %d"
@@ -3797,518 +3830,520 @@ msgstr "Smilie"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "Emoticon snelkoppeling %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr ""
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "Draag Kledij"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr "Kopiëer Kledij"
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr ""
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "Chat omhoogscrollen"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "Chat omlaagscrollen"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "Vorige chattab"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "Volgende chattab"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr ""
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr ""
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr ""
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr ""
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr ""
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "Ingave 1 negeren"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "Ingave 2 negeren"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr ""
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr ""
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr ""
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr ""
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr ""
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr ""
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr "Snel N Voorwerpen van slot 0 neerleggen"
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr "Snel N Voorwerpen Neerleggen"
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr "Wissel Snel Neerleggingsteller"
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr "Snel jezelf of iemand anders genezen"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr "Gebruik #itenplz spreuk"
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "Gebruik magie aanval"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr ""
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr ""
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr ""
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr ""
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr ""
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr ""
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr ""
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "Aan / Uit audio"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr ""
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr ""
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr ""
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr ""
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:384
+#: src/localplayer.cpp:385
#, c-format
msgid "You were killed by %s"
msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr "Geprobeerd een nietbestaand voorwerp op te rapen."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "Voorwerp is te zwaar."
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Voorwerp is te ver weg."
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr ""
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "Voorwerp behoort bij iemand anders."
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr "Onbekend probleem bij het oprapen van voorwerp."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "U raapte op %d [@@%d|%s@@]."
msgstr[1] "U raapte op %d [@@%d|%s@@]."
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) standaard bewegingen"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr "(I) geïnverteerde bewegingen"
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr "(c) bewegingen met enkele vreemde bewegingen"
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr "(C) bewegingen met vreemde bewegingen"
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr "(d) dubbel normaal + raar"
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
msgstr ""
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr ""
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr "(a) manuele vreemde beweging"
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr "(?) vreemde beweging"
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr "(0) standaard bewegingen tot aan doel"
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr "(1) bewegen tot aan doel in bereik 1"
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr "(2) bewegen tot aan doel in bereik 2"
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr "(3) bewegen tot aan doel in bereik 3"
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr "(5) bewegen tot aan doel in bereik 5"
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr "(7) bewegen tot aan doel in bereik 7"
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr "(A) beweeg tot aan doel in aanvalsbereik"
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr ""
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?) beweeg tot aan doel"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr "(D) standaard volgen"
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr "(R) relatief volgen"
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr "(M) gespiegeld volgen"
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr "(P) huisdier volgen"
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr "(?) onbekend volgen"
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) aanval"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) standaard aanval"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr "(s) wissel aanval zonder schild"
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr "(S) wissel aanval met schild"
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) ga en val aan"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr "(A) ga, val aan, raap op"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) zonder auto aanval"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr "(S) klein raap op 1x1 velden"
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr "(D) standaard raap op 2x1 velden"
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) vooruit raap op 2x3 velden"
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr "(3) raap op 3x3 velden"
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr "(g) go en raap op met bereik 4"
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr "(G) ga en raap op met bereik 8"
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr "(A) ga en raap op zonder bereiklimiet"
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?) raap op"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) normale map tonen"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr "(D) debug map tonen"
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr "(u) ultra map tonen"
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr "(U) ultra map tonen 2"
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) lege map tonen"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b) zwart & witte map tonen"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) gebruik #flar voor magie aanval"
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) gebruik #chiza voor magie aanval"
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(I) gebruik #ingrav voor magie aanval"
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) gebruik #frillyar voor magie aanval"
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) gebruik #upmarmu voor magie aanval"
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) magie aanval"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr ""
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr ""
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr ""
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr ""
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr ""
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr "(D) standaard imitatie"
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr "(O) kleren imitatie"
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr "(?) imitatie"
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "Weg"
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) op toetsenbord"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) weg"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) weg"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr "(G) spel camera modus"
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr "(F) vrije camera modus"
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr ""
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr ""
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr ""
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "Volg: "
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "Volgen onderbroken"
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr "Imitatie: "
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr "Imitatie onderbroken"
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr ""
diff --git a/po/pl.po b/po/pl.po
index 1a3a7dd59..15fd20cf9 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-19 21:15+0000\n"
-"Last-Translator: derpella <matwa@poczta.pl>\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-02 16:45+0000\n"
+"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Polish (http://www.transifex.net/projects/p/manaplus/team/"
"pl/)\n"
"Language: pl\n"
@@ -34,122 +34,122 @@ msgid "miss"
msgstr "Pudło!"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr "I"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Konfiguracja"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Wydajność programu"
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Obraz"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr "Skórki"
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "ÅÄ…czenie z serwerem"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "Logowanie"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Wchodzenie do świata gry"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Sprawdzanie postaci"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "ÅÄ…czenie siÄ™ z serwerem gry"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Zmiana serwera"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "BÅ‚Ä…d"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Sprawdzanie szczegółów rejestracji"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Zmiana hasła"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "Hasło zmienione z powodzeniem!"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "Zmiana adresu e-mail"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "Adres e-mail zmieniony z powodzeniem!"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "Wyrejestrowano z powodzeniem"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "Żegnaj, będziemy czekać na Twój powrót..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s nie istnieje i nie może byś utworzone! Wyjście."
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Nieprawidłowy serwer aktualizacji: %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "BÅ‚Ä…d podczas tworzenia katalogu aktualizacji!"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Błąd: %s nie istnieje i nie może być utworzone! Wyjście."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "Nieznane polecenie."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "Nie można wysłać pustych szeptów!"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -157,105 +157,105 @@ msgid ""
msgstr ""
"Nie można utworzyć zakładki szeptu dla \"%s\"! Już istnieje, albo to Ty."
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "Prośba o dołączenie do kanału %s."
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Brakuje nazwy grupy."
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Brak nazwy gildii."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "Proszę wpisać prawidłową nazwę."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "Return włącza czat."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "Wiadomość zamyka czat."
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "Return od teraz włącza czat."
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "Wiadomość od teraz zamyka czat."
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "znajomy"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "lekceważony"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "neutralny"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "Gracz jest już %s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "Gracz jest teraz %s!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "Gracz nie może być %s!"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "Gracz nie był ignorowany!"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "Gracz już nie jest ignorowany!"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "Gracz nie może być odignorowany!"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr "dodany/a do czarnej listy"
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr "wróg"
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "Gracz został usunięty!"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "Gracz usunięty z powodzeniem!"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "Gracz nie mógł zostać usunięty!"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr "Czas pracy programu: %s"
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
@@ -263,7 +263,7 @@ msgstr[0] "%d tydzień"
msgstr[1] "%d tygodni/e"
msgstr[2] "%d tygodni/e"
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
@@ -271,7 +271,7 @@ msgstr[0] "%d dzień"
msgstr[1] "%d dni"
msgstr[2] "%d dni"
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
@@ -279,7 +279,7 @@ msgstr[0] "%d godzina"
msgstr[1] "%d godzin/y"
msgstr[2] "%d godzin/y"
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
@@ -287,7 +287,7 @@ msgstr[0] "%d minuta"
msgstr[1] "%d minut/y"
msgstr[2] "%d minut/y"
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
@@ -295,27 +295,27 @@ msgstr[0] "%d sekunda"
msgstr[1] "%d sekund/y"
msgstr[2] "%d sekund/y"
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr "rozmiar cache czcionki"
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr "Rozmiar cache:"
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "Stworzono:"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "Usunięto:"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr "Obrazy źródłowe:"
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr "Osierocone obrazy źródłowe:"
@@ -324,43 +324,43 @@ msgstr "Osierocone obrazy źródłowe:"
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr "Opcjami dla /%s sÄ… \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "Ogólny"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "Debug"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Zrzut ekranu zapisany jako"
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "Zapisywanie zrzutu ekranu nie powiodło się!"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "Połączenie z serwerem zostało zerwane."
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "BÅ‚Ä…d sieci"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Ignorowanie przychodzących próśb o handel"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Akceptowanie przychodzących próśb o handel"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "Nie można załadować mapy"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "BÅ‚Ä…d podczas Å‚Ä…dowania %s"
@@ -414,7 +414,7 @@ msgstr "Podejdź"
msgid "Result"
msgstr "Rezultat"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "Resetuj"
@@ -436,30 +436,30 @@ msgstr "Ilość:"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "Wyjdź"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "Maks."
@@ -476,21 +476,21 @@ msgid "Sell"
msgstr "Sprzedaj"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Anuluj"
@@ -526,7 +526,7 @@ msgstr "Pola adresu e-mail siÄ™ nie zgadzajÄ…."
msgid "Change Password"
msgstr "Zmień hasło"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Hasło:"
@@ -553,68 +553,73 @@ msgstr "Nowe hasło może mieć najwyżej %d znaków."
msgid "The new password entries mismatch."
msgstr "Potwierdzenie hasła nie zgadza się."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Stwórz postać"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr ""
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "ImiÄ™:"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Kolor włosów:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "Fryzura:"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr ""
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "Rasa:"
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Utwórz"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Mężczyzna"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Kobieta"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "Proszę wykorzystać %d punktów"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Twoje imię musi mieć co najmniej 4 znaki."
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Statystyki postaci w porzÄ…dku."
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "Proszę usunąć %d punktów"
@@ -656,9 +661,9 @@ msgstr "Wprowadź hasło aby usunąć postać"
msgid "Enter password:"
msgstr "Wprowadź hasło:"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Usuń"
@@ -733,7 +738,7 @@ msgstr "tęczowy 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -745,12 +750,12 @@ msgstr "???"
msgid "Chat"
msgstr "Czat"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "%s obecny/a. %d graczy online."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Szepczesz do %s: %s"
@@ -914,8 +919,8 @@ msgid "Did You Know?"
msgstr "Cz wiesz że..."
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Zamknij"
@@ -931,11 +936,36 @@ msgstr "Dalej>"
msgid "Auto open this window"
msgstr "Otwieraj to okno automatycznie"
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "Ok"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Port:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Typ serwera:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr ""
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "Ekwipunek"
@@ -1033,39 +1063,39 @@ msgstr "Pobierz"
msgid "Drop"
msgstr "Upuść"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "wszystkie"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Wybierz ilość przedmiotów do handlu."
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Wybierz ilość przedmiotów do upuszczenia."
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Podaj ilość rzeczy do przechowania."
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Wybierz ilość przedmiotów do odbioru."
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Wybierz ilość przedmiotów do podziału."
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Dodaj to sklepu (sprzedaj)"
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Dodaj do sklepu (kupuj)"
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "Nieznany obiekt"
@@ -1184,32 +1214,31 @@ msgstr "Automatyczne zamykanie"
msgid "Skip"
msgstr "Omiń"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Zaloguj siÄ™"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Serwer:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Zaawansowane ustawienia aktualizacji"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Zapamiętaj login"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "Aktualizacja:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "Rejestruj"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Zmień serwer"
@@ -1253,24 +1282,24 @@ msgstr "pasek statusu"
msgid "Need"
msgstr "Potrzeba"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr "Przerwij"
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Dalej"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Zatwierdź"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "Wyczyść"
@@ -1286,12 +1315,13 @@ msgstr "Wyślij"
msgid "Failed to send as sender or letter invalid."
msgstr "Nie powiodła się wysyłka jako nadawca, albo list jest nieprawidłowy."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "Strój: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Klawisz: %s"
@@ -1696,64 +1726,58 @@ msgstr "Hasło nie może mieć więcej niż %d znaków."
msgid "Passwords do not match."
msgstr "Hasła nie zgadzają się."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Wybierz serwer"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "Wybierz serwer ***TRYB BEZPIECZEŃSTWA***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Port:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "Użyj tego samego IP dla podserwerów"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Typ serwera:"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "Załaduj"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "Połącz"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "Dodaj serwer"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "Dodaj"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Proszę wpisać adres i port serwera"
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Edycja"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Ściąganie listy serwerów... %2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "Czekanie na serwer..."
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Przygotowanie ściągania"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "Błąd przy uzyskiwaniu listy serwerów!"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "wymaga nowszej wersji"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "wymaga v%s"
@@ -2317,23 +2341,23 @@ msgstr "Dodany/a do czarnej listy"
msgid "Enemy"
msgstr "Wróg"
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Zezwól na handel"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Zezwól na szepty"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Resetuj"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr "Relacje"
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Gdy ignorowany:"
@@ -2461,8 +2485,8 @@ msgstr "Rozmiar czcionki"
msgid "Theme Changed"
msgstr "Skórka zmieniona"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Uruchom ponownie program, aby mogły zajść zmiany."
@@ -2514,153 +2538,156 @@ msgstr "średnie"
msgid "max"
msgstr "najlepsze"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Pełny ekran"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "WÅ‚asny kursor"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Efekty czÄ…steczkowe"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "Pokaż powiadomienie o podniesieniu"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "w czacie"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "jako czÄ…steczkÄ™"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr ""
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr ""
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "Limit FPS:"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Alternatywny limit FPS:"
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr "Tekst nad głową"
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "Przezroczystość GUI"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "Efekty otoczenia"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "Detale czÄ…steczkowe"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "Brak"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
"Nie udało się zmienić na tryb w oknie, ani przywrócić do poprzedniego stanu!"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
"Nie udało się zmienić na tryb pełnoekranowy ani przywrócić do poprzedniego "
"stanu!"
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Zmiana na tryb pełnoekranowy"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "Wymagane ponowne uruchomienie aby zastosować zmiany."
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Zmiana na OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "Zastosowanie zmiany na OpenGL wymaga ponownego uruchomienia."
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Własna rozdzielczość (np. 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Wpisz nową rozdzielczość:"
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "Rozdzielczość zmieniona"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
"Niektóre okna mogą być przesunięte aby dopasować się do niższej "
"rozdzielczości."
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "Ustawienia efektów cząsteczkowych zmienione."
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "Efekty nastÄ…piÄ… po zmianie mapy."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "WÅ‚asny sklep"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Kupuj"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Sprzedaj"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Dodaj"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "Ogłoś"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "Pokazuj linki w ogłoszeniach"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr "Aukcja"
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Prośba o handel"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s chce %s%s, akceptujesz?"
@@ -2787,7 +2814,7 @@ msgstr "Ignoruj moby"
msgid "Create Guild"
msgstr "Utwórz gildię"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "Utwórz grupę"
@@ -2799,93 +2826,103 @@ msgstr "Społeczność"
msgid "Invite"
msgstr "ZaproÅ›"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr ""
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr ""
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "Zaakceptowano zaproszenie do grupy od %s."
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "Odrzucono zaproszenie do grupy od %s."
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "Akceptowano zaproszenie do gildii od %s."
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "Odrzucono zaproszenie do gildii od %s."
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "Tworzenie gildii o nazwie %s."
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "Tworzenie grupy o nazwie %s."
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "Nazwa gildii"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "Wybierz nazwÄ™ gildii."
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr "Gildia o tej nazwie już istnieje."
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s zaprosił/a Cię do gildii %s."
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "Akceptuj zaproszenie do gildii"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "Grupa o takiej nazwie już istnieje."
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "Zostałeś/aś zaproszony/a do grupy."
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "Zostałeś/aś zaproszony/a do grupy %s."
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s zaprosił/a Cię do grupy."
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s zaprosił/a Cię do grupy %s ."
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "Zaakceptuj zaproszenie do grupy"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "Nie można utworzyć grupy. Już należysz do grupy."
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "Nazwa grupy"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "Wybierz nazwÄ™ grupy."
@@ -3081,29 +3118,29 @@ msgstr "ImiÄ™: %s"
msgid "Updating..."
msgstr "Aktualizacja..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "ÅÄ…czenie..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Graj"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 Proces aktualizacji jest niekompletny."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 Jest mocno zalecane abyÅ›"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 Spróbuj ponownie później."
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "Zakończono"
@@ -3255,23 +3292,23 @@ msgstr "Obwódka lokalizacji domowej"
msgid "Road Point"
msgstr "Drogowskaz"
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "Kto jest online- aktualizacja"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "Aktualizuj"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "Gracze online- "
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "Gracze online- błąd"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "Gracze online- aktualizacja"
@@ -3410,10 +3447,6 @@ msgstr "/leave > Opuść swoją gildię"
msgid "/kick > Kick some one from the guild you are in"
msgstr "/kick > Wyrzuć kogoś ze swojej gildii"
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Edycja"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr "/ignore > Ignoruj gracza"
@@ -3664,7 +3697,7 @@ msgstr "Klawisz skrótu przedmiotu"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "Skrót przedmiotu %d"
@@ -3791,184 +3824,186 @@ msgstr "Emotikonka"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "Skrót Emotki %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr "Klawisze stroju"
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "Nałóż strój"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr "Kopiuj strój"
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr "Skopiuj ekwipunek do stroju"
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr "Klawisze czatu"
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "Przełącznik Czatu"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "Przewiń czat do góry"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "Przewiń czat w doł"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "Poprzednia zakładka czatu"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "Następna zakładka czatu"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr "Zamknij bieżącą zakładkę czatu"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr "Poprzedni wiersz czatu"
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr "Następny wiersz czatu"
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr "Dopełnianie w czacie"
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr "Wyłącz wpisywanie do czatu"
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr "Inne"
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "Ignoruj wprowadzenie 1"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "Ignoruj wprowadzenie 2"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr "Skieruj się w górę"
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr "Skieruj się w dół"
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr "Skieruj siÄ™ w lewo"
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr "Skieruj siÄ™ w prawo"
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr "Szalone ruchy"
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr "Zmień tryb szalonych ruchów"
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr "Szybkie upuszczenie N przedmiotów z pozycji 0"
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr "Szybkie upuszczenie N przedmiotów"
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr "Zmień licznik szybkiego upuszczania"
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr "Szybkie leczenie celu lub siebie"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr "Użyj zaklęcia #itenplz"
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "Użyj magicznego ataku"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr "Przełącz magiczny atak"
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr "Przełącz atak PvP"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr "Zmień tryb poruszania się"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr "Zmień rodzaj broni"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr "Zmień rodzaj ataku"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr "Zmień rodzaj podążania"
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr "Zmień rodzaj imitacji"
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr "Włącz/ wyłącz klawisze modyfikatorów gry"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "Włącz/ wyłącz dźwięk"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr "Włącz/ wyłącz tryb AFK"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr "Emuluj prawe kliknięcie klawiaturą"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr "Przełącz tryb kamery"
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr "Klawisz modyfikatora"
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -3977,42 +4012,42 @@ msgstr ""
"Konflikt pomiędzy klawiszami \"%s\" i \"%s\". Rozwiąż go, albo mogą pojawić "
"siÄ™ problemy."
-#: src/localplayer.cpp:384
+#: src/localplayer.cpp:385
#, c-format
msgid "You were killed by %s"
msgstr "Zostałeś/aś zabity/a przez %s"
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr "Próbowano podnieść nieistniejący przedmiot."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "Przedmiot zbyt ciężki."
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Przedmiot za daleko"
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "Inwentarz jest pełny."
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr "Za duży stos."
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "Przedmiot należy do kogoś innego."
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr "Nieznany problem podczas próby podniesienia przedmiotu."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
@@ -4020,292 +4055,292 @@ msgstr[0] "Podniosłeś/aś %d [@@%d|%s@@]."
msgstr[1] "Podniosłeś/aś %d [@@%d|%s@@]."
msgstr[2] "Podniosłeś/aś %d [@@%d|%s@@]."
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) domyślne poruszanie się"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr "(I) odwrócone ruchy"
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr "(c) trochę szalonych ruchów"
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr "(C) dużo szalonych ruchów"
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr "(d) podwójne normalne + szalone"
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
msgstr "(?) nieznany sposób poruszania się"
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr "(%d) szalone ruchy numer %d"
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr "(a) własne szalone ruchy"
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr "(?) szalone ruchy"
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr "(0) domyślne przybliżenie do celu"
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr "(1) podejdź do 1 pola od celu"
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr "(2) podejdź do 2 pól od celu"
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr "(3) podejdź do 3 pól od celu"
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr "(5) podejdź do 5 pól od celu"
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr "(7) podejdź do 7 pól od celu"
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr "(A) podejdź do celu na zasięg ataku"
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr "(a) zasięg ataku łucznika"
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?) pól do celu"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr "(D) domyślne podążanie"
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr "(R) relatywne podążanie"
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr "(M) lustrzane podążanie"
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr "(P) niewolnicze podążanie"
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr "(?) nieznane podążanie"
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) atak"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) domyślny atak"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr "(s) zdejmij tarczÄ™ do ataku"
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr "(S) załóż tarczę do ataku"
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) idź, atakuj"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr "(A) idź, atakuj, podnieś"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) bez autoataku"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr "(S) podnoÅ› w promieniu 1x1"
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr "(D) podnoÅ› w promieniu 2x1"
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) podnoÅ› w promieniu 2x3"
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr "(3) podnoÅ› w promieniu 3x3"
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr "(g) podejdź i podnoś do 4 pól"
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr "(G) podejdź i podnoś do 8 pól"
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr "(A) podejdź i podnoś w zasięgu wzroku"
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?) podnoÅ›"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) normalny widok mapy"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr "(D) widok debug"
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr "(u) płaska mapa"
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr "(U) płaska mapa 2"
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) mapa bez tekstur"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b) dwukolorowa mapa"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) użyj #flar jako M.A."
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) użyj #chiza jako M.A."
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(I) użyj #ingrav jako M.A."
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) użyj #frillyar jako M.A."
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) użyj #upmarmu jako M.A."
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) magiczny atak"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr "(a) atakuj wszystkich graczy"
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr "(f) nie atakuj przyjaciół"
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr "(b) atakuj nielubianych"
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr "(d) nie atakuj nikogo"
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr "(?) atak PvP"
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr "(D) domyślna imitacja"
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr "(O) Imituj strój"
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr "(?) imitacja"
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "AFK"
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) przy klawiaturze"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) AFK"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) stan"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr "(G) tryb kamery gry"
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr "(F) wolny tryb kamery"
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr "Modyfikatory gry włączone."
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr "Modyfikatory gry wyłączone."
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr "Modyfikatory gry nieznane"
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "Podążasz za: "
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "Podążanie anulowane."
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr "Imitujesz: "
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr "Imitacja anulowana"
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr "Widzisz "
diff --git a/po/pt.po b/po/pt.po
index a4eebe0ee..017eca473 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -4,15 +4,15 @@
#
# Translators:
# Andrei Karas <akaras@inbox.ru>, 2011.
-# <freya.df@gmail.com>, 2011.
+# <freya.df@gmail.com>, 2011, 2012.
# freya <freya.df@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-19 16:56+0000\n"
-"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-03 23:57+0000\n"
+"Last-Translator: freya <freya.df@gmail.com>\n"
"Language-Team: Portuguese (http://www.transifex.net/projects/p/manaplus/team/"
"pt/)\n"
"Language: pt\n"
@@ -34,122 +34,122 @@ msgid "miss"
msgstr "errou"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr "l"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "Configurar"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Performance"
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Vídeo"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr "Temas"
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "Conectando ao servidor"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "Efetuando login"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Entrando no domínio do jogo"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Requisitando personagens"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "Conectando ao servidor do jogo"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Mudando servidores do jogo"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "Erro"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Requisitando detalhes do registro"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Mudar senha"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "Senha modificada com sucesso!"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "Mudar email"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "Email modificado com sucesso!"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "Registro cancelado com sucesso"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "Tchau, volte sempre..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s não existe e não pode ser criado! Saindo."
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Host de atualização inválido: %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "Erro ao criar pasta de atualizações!"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Erro: %s não existe e não pode se criado! Saindo."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "Comando desconhecido."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "Não é possível enviar mensagens privadas vazias!"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -158,160 +158,160 @@ msgstr ""
"Não é possível criar uma aba de mensagem privada para o nick \"%s\"! Ou ela "
"já existe ou é você mesmo."
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "Solicitando entrada no canal %s."
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Falta o nome do grupo."
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Falta o nome da guilda."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "Por favor, especifique um nome."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "Enter alterna para o chat."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "A mensagem fecha o chat."
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "Agora Enter alterna para o chat."
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "Agora a mensagem fecha o chat."
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "amigo"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "ignorado"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "neutro"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "Jogador já %s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "Jogador %s com sucesso!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "Jogador não pode ser %s!"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "O jogador não estava ignorado!"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "O jogador não está mais ignorado!"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "Não foi possível deixar de ignorar o jogador!"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr "Na Lista Negra"
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
-msgstr ""
+msgstr "Inimigo"
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "Jogador já apagado!"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "Jogador apagado com sucesso!"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "Jogador não pode ser apagado!"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr "Uptime do cliente: %s"
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d semana"
msgstr[1] "%d semanas"
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d dia"
msgstr[1] "%d dias"
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d hora"
msgstr[1] "%d horas"
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minuto"
msgstr[1] "%d minutos"
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d segundo"
msgstr[1] "%d segundos"
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr "Tamanho do cache de fonte"
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr "Tamanho de Cache:"
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "Criado:"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "Deletado:"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr "Recursos de imagens:"
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr "Recursos de imagens orfãos:"
@@ -321,43 +321,43 @@ msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
"Opções para /%s são \"yes\" e \"no\", \"true\" e \"false\", \"1\" e \"0\"."
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "Geral"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "Depurador"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Screenshot salva como "
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "Falha ao salvar screenshot!"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "A conexão com o servidor caiu."
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "Erro de conexão"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Ignorando propostas de negócios"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Aceitando propostas de negócios"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "Não foi possível carregar o mapa"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "Erro ao carregar %s"
@@ -411,7 +411,7 @@ msgstr "Mover"
msgid "Result"
msgstr "Resultado"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "Resetar"
@@ -433,30 +433,30 @@ msgstr "Quantidade:"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "Sair"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "Máximo"
@@ -473,21 +473,21 @@ msgid "Sell"
msgstr "Vender"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Cancelar"
@@ -523,7 +523,7 @@ msgstr "Os emails informados não são iguais."
msgid "Change Password"
msgstr "Alterar senha"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Senha:"
@@ -550,68 +550,73 @@ msgstr "A nova senha deve ter menos que %d caracteres."
msgid "The new password entries mismatch."
msgstr "As novas senhas não são iguais."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Criar Personagem"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr "Novo Pesonagem"
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "Nome:"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Cor do Cabelo:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "Estilo do Cabelo:"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr "^"
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "Corrida:"
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Criar"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Homem"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Mulher"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "Por favor distribua %d pontos"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Seu nome deve ter pelo menos 4 caracteres."
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Atributos do personagem OK"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "Por favor remova %d pontos"
@@ -653,9 +658,9 @@ msgstr "Entre com a Senha para Deletar o usuario"
msgid "Enter password:"
msgstr "Entre com a senha"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Excluir"
@@ -730,7 +735,7 @@ msgstr "arco-íris 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -742,12 +747,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Presentes: %s; %d jogadores estão presentes."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Enviando MP para %s: %s"
@@ -911,8 +916,8 @@ msgid "Did You Know?"
msgstr "Você sabia?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Fechar"
@@ -928,11 +933,36 @@ msgstr "Próximo >"
msgid "Auto open this window"
msgstr "Abrir automaticamente esta janela"
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "OK"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr "Editar Servidor"
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr "Endereço:"
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Porta:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Tipo de servidor:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr "Descrição:"
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr "Por favor coloque ao menos uma porta de servidor."
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "Equipamento"
@@ -1030,39 +1060,39 @@ msgstr "Retirar"
msgid "Drop"
msgstr "Descartar"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "Tudo"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Selecionar quantidade de itens para negociar."
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Selecionar quantidade de itens para descartar."
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Escolha a quantidade de itens para armazenar."
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Escolha a quantidade de itens para retirar."
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Selecionar quantidade de itens para dividir."
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Adicionar na loja de compra"
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Adicionar na loja de venda"
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "Desconhecido"
@@ -1179,32 +1209,31 @@ msgstr "Fechar"
msgid "Skip"
msgstr "Passar"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Login"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Servidor:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Atualizações customizadas"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Lembrar usuário"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "Atualização:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "Registrar"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Trocar servidor"
@@ -1248,24 +1277,24 @@ msgstr "Barra de Status"
msgid "Need"
msgstr "Precisa"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
-msgstr ""
+msgstr "Pare de esperar"
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Próximo"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Enviar"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "Limpar"
@@ -1281,12 +1310,13 @@ msgstr "Enviar"
msgid "Failed to send as sender or letter invalid."
msgstr "Falha ao enviar como remetente ou a carta é inválida."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "Roupas: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Tecla: %s"
@@ -1342,7 +1372,7 @@ msgstr "Lista Negra"
#: src/gui/popupmenu.cpp:686 src/gui/popupmenu.cpp:694
#: src/gui/popupmenu.cpp:702
msgid "Set as enemy"
-msgstr ""
+msgstr "Definir como inimigo."
#: src/gui/popupmenu.cpp:153 src/gui/popupmenu.cpp:161
#: src/gui/popupmenu.cpp:169 src/gui/popupmenu.cpp:177
@@ -1498,7 +1528,7 @@ msgstr "Urdidura"
#: src/gui/popupmenu.cpp:589
msgid "Clear outfit"
-msgstr ""
+msgstr "Limpar equipamento"
#: src/gui/popupmenu.cpp:608 src/gui/windowmenu.cpp:96
msgid "Spells"
@@ -1542,7 +1572,7 @@ msgstr "Sair"
#: src/gui/popupmenu.cpp:654
msgid "Copy to clipboard"
-msgstr ""
+msgstr "CopiaCopiar para a área de transferência"
#: src/gui/popupmenu.cpp:849
msgid "Change guild position"
@@ -1691,64 +1721,58 @@ msgstr "A senha deve ser menor que %d caracteres."
msgid "Passwords do not match."
msgstr "Senhas não conferem."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Escolha seu servidor"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "Escolha seu servidor *** MODO SEGURO ***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Porta:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "Usar o mesmo ip para os sub servidores do jogo"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Tipo de servidor:"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "Carregar"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "Conectar"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "Servidor customizado"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "Adicionar"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Por favor especifique o endereço e a porta do servidor."
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Editar"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Baixando lista de servidores...%2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "Aguardando servidor..."
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Preparando download"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "Erro ao recuperar lista!"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "requer uma versão mais nova"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "requer v%s"
@@ -1975,7 +1999,7 @@ msgstr "Habilitar joystick"
#: src/gui/setup_joystick.cpp:75
msgid "Use joystick if client window inactive"
-msgstr ""
+msgstr "Use joystick se a janela cliente estiver inativo"
#: src/gui/setup_joystick.cpp:78
msgid "Joystick"
@@ -1987,7 +2011,7 @@ msgstr "Parar"
#: src/gui/setup_joystick.cpp:149
msgid "Rotate the stick and dont press buttons"
-msgstr ""
+msgstr "Girar o bastão e não pressionar os botões"
#: src/gui/setup_keyboard.cpp:80
msgid "Keyboard"
@@ -2171,7 +2195,7 @@ msgstr "Habilitar Analisador de bot"
#: src/gui/setup_other.cpp:174
msgid "Enable buggy servers protection (do not disable)"
-msgstr ""
+msgstr "Habilitar proteção contra bugs no servidor (não pode ser desabilitado)"
#: src/gui/setup_other.cpp:178
msgid "Enable debug log"
@@ -2311,25 +2335,25 @@ msgstr "Na Lista Negra "
#: src/gui/setup_relations.cpp:76
msgid "Enemy"
-msgstr ""
+msgstr "Inimigo"
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Permitir negociações"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Permitir mensagens particulares"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Antigo"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr "Relações"
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Quando ignorar:"
@@ -2359,59 +2383,59 @@ msgstr "Enorme (15)"
#: src/gui/setup_theme.cpp:146
msgid "Chinese (China)"
-msgstr ""
+msgstr "Chinês (China)"
#: src/gui/setup_theme.cpp:147
msgid "Czech"
-msgstr ""
+msgstr "Tcheco"
#: src/gui/setup_theme.cpp:148
msgid "English"
-msgstr ""
+msgstr "Inglês"
#: src/gui/setup_theme.cpp:149
msgid "Finnish"
-msgstr ""
+msgstr "Finlandês"
#: src/gui/setup_theme.cpp:150
msgid "French"
-msgstr ""
+msgstr "Francês"
#: src/gui/setup_theme.cpp:151
msgid "German"
-msgstr ""
+msgstr "Alemão"
#: src/gui/setup_theme.cpp:152
msgid "Indonesian"
-msgstr ""
+msgstr "Indonésio"
#: src/gui/setup_theme.cpp:153
msgid "Polish"
-msgstr ""
+msgstr "Polonês"
#: src/gui/setup_theme.cpp:154
msgid "Japanese"
-msgstr ""
+msgstr "Japonês"
#: src/gui/setup_theme.cpp:155
msgid "Dutch (Belgium/Flemish)"
-msgstr ""
+msgstr "Holandês (Bélgica / Flandres)"
#: src/gui/setup_theme.cpp:156
msgid "Portuguese"
-msgstr ""
+msgstr "Português"
#: src/gui/setup_theme.cpp:157
msgid "Portuguese (Brazilian)"
-msgstr ""
+msgstr "Português (Brasileiro)"
#: src/gui/setup_theme.cpp:158
msgid "Russian"
-msgstr ""
+msgstr "Russo"
#: src/gui/setup_theme.cpp:159
msgid "Spanish (Castilian)"
-msgstr ""
+msgstr "Espanhol (castelhano)"
#: src/gui/setup_theme.cpp:191
msgid "Theme"
@@ -2423,7 +2447,7 @@ msgstr "Tema"
#: src/gui/setup_theme.cpp:194
msgid "Language"
-msgstr ""
+msgstr "Linguagem"
#: src/gui/setup_theme.cpp:195
msgid "Main Font"
@@ -2457,8 +2481,8 @@ msgstr "Tamanho da fonte"
msgid "Theme Changed"
msgstr "Tema alterado"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Reincie o cliente para que as mudanças surtam efeito."
@@ -2510,152 +2534,155 @@ msgstr "médio"
msgid "max"
msgstr "máximo"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Tela cheia"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "Cursor customizado"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Efeitos de partícula"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "Mostrar aviso ao pegar algo"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "em chat"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "como partícula"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr "Habilitar redirecionamento"
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr "Sem quadros"
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "Limite FPS:"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Limite FPS alt: "
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr "Texto sobrescrito como:"
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "Opacidade"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "Ambiente FX"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "Detalhe de partículas"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "Nenhum"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
"Falha ao mudar para o modo janela e falha na restauração do modo anterior!"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
"Falha ao mudar para o modo tela cheia e falha na restauração do modo "
"anterior!"
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Mudando para tela cheia"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "É preciso reiniciar para as mudanças terem efeito."
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Mudando para OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "Mudanças no OpenGL requerem o reinício do jogo."
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Resolução customizada (exemplo 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Escolha a nova resolução "
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "Resolução de tela alterada"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
"Algumas janelas podem ser movidas para se adequar à resolução mais baixa."
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "Configurações de efeito de partícula modificadas."
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "As mudanças terão efeito ao mudar de mapa."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "Loja pessoal"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Comprar itens"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Vender itens"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Adicionar"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "Anúncio"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "Mostrar links em anúncio"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr "Leilão"
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Proposta de negociação"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s quer %s %s você aceita?"
@@ -2782,7 +2809,7 @@ msgstr "Ignorar mobss"
msgid "Create Guild"
msgstr "Criar guilda"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "Criar grupo"
@@ -2794,93 +2821,103 @@ msgstr "Social"
msgid "Invite"
msgstr "Convidar"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr "J"
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr "A"
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "Aceitou convite para o grupo de %s."
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "Rejeitou convite para o grupo de %s."
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "Aceitou convite para a guilda de %s."
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "Rejeitou convite para a guilda de %s."
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "Criando guilda chamada %s."
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "Criando grupo chamado %s."
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "Nome da guilda"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "Escolha o nome da sua guilda."
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr "Requisição de guilda recebida, mas já existe uma."
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s te convidou para entrar na guilda %s."
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "Aceitar convite para a guilda"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "Requisição de grupo recebida, mas já existe um."
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "Você foi convidado para entrar em um grupo."
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "Você foi convidado para entrar no grupo %s."
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s te convidou para entrar em seu grupo."
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s te convidou para entrar no grupo %s."
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "Aceitar convite para o grupo"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "Não foi possível criar o grupo. Você já faz parte de um."
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "Nome do grupo"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "Escolha o nome do seu grupo."
@@ -3075,29 +3112,29 @@ msgstr "Nome: %s"
msgid "Updating..."
msgstr "Atualizando..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "Conectando..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Jogar"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 O processo de update está incompleto."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 É altamente recomendado que"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 tente novamente mais tarde."
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "Concluído"
@@ -3249,23 +3286,23 @@ msgstr "Borda do Lugar Inicial"
msgid "Road Point"
msgstr "Ponto de estrada"
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "Quem está online - Atualizando"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "Atualizar"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "Quem está online - "
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "Quem está online - Erro"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "Quem está online - Atualizado"
@@ -3405,10 +3442,6 @@ msgstr "/leave > Sai da guilda em que você está"
msgid "/kick > Kick some one from the guild you are in"
msgstr "/kick > Expulsa alguém da guilda em que você está"
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Editar"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr "/ignore > Ignora o outro jogador"
@@ -3660,7 +3693,7 @@ msgstr "Atalhos de item"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "Atalho para item %d"
@@ -3787,184 +3820,186 @@ msgstr "Emoticon"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "Atalho para emoticon %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr "Teclas de vestuario"
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "Vestir roupas"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr "Copiar roupas"
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr "Copiar roupa equipada"
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr "Teclas de conversação"
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "Alternar para chat"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "Rolar chat para cima"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "Rolar chat para baixo"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "Aba de chat anterior"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "Próxima aba de chat"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr "Fechar aba de chat atual"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr "Linha de chat anterior"
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr "Próxima linha de chat"
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr "Chat auto completar"
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr "Desativar entrada de chat"
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr "Outras teclas"
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "Ignorar input 1"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "Ignorar input 2"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr "Para cima"
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr "Para baixo"
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr "Para esquerda"
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr "Para direita"
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr "Movimentos loucos"
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr "Trocar Modo de movimentos loucos"
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr "Descartar rapidamente N itens do slot 0"
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr "Descartar rapidamente N itens"
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr "Mudar contador de descarte"
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr "Curar um alvo ou você mesmo"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr "Usa feitiço #itenplz"
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "Usar feitiço de ataque"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr "Trocar feitiço de ataque"
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
-msgstr ""
+msgstr "Trocar ataque de pvp"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr "Mudar tipo de movimento"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr "Mudar tipo de ataque de arma"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr "Mudar tipo de ataque"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr "Mudar modo de seguir"
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr "Mudar modo de imitação"
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr "Habilitar / Desabilitar Chaves de modificação"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "Ligar / Desligar áudio"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr "Habilitar / Desabilitar modo indisponivel "
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr "Emular botão direito do teclado"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr "Alterar modo de camera"
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr "Modificar chave"
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -3973,334 +4008,334 @@ msgstr ""
"Conflito com as teclas \"%s\" e \"%s\" . Resolva o conflito para não "
"comprometer a jogabilidade."
-#: src/localplayer.cpp:384
+#: src/localplayer.cpp:385
#, c-format
msgid "You were killed by %s"
-msgstr ""
+msgstr "Você foi morto por %s"
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr "Você tentou pegar um item não existente."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "Este item é muito pesado."
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Item está muito longe"
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "O inventário está cheio."
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr "Esta pilha é muito grande."
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "Este item pertence a outra pessoa."
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr "Problema desconhecido ao tentar pegar item."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Você pegou %d [@@%d|%s@@]."
msgstr[1] "Você pegou %d [@@%d|%s@@]."
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) movimentos padrão"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr "(l) inserir movimentos"
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr "(c) Alguns movimentos loucos"
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr "(C) Movimentos loucos"
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr "(d) dobro normal + louco"
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
-msgstr ""
+msgstr "(?) Movimento desconhecido"
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
-msgstr ""
+msgstr "(%d) movimento louco numero %d"
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr "(a) movimentos loucos customizados"
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr "(?) movimentos loucos"
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr "(0) Mover ao alvo padrão"
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr "(1) Mover ao alvo com distância 1"
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr "(2) mover ao alvo em distância 2"
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr "(3) Mover ao alvo com distância 3"
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr "(5) Mover ao alvo com distância 5"
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr "(7) Mover ao alvo com distância 7"
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr "(A) Mover ao alvo com a distância de ataque"
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr "(a) Alcance de arqueiros"
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?) Mover ao alvo"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr "(D) Seguir em modo padrão"
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr "(R) Seguir em modo relativo"
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr "(M) Seguir em modo espelhado"
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr "(P) Seguir em modo animal de extimação"
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr "(?) Seguir em modo desconhecido"
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) Ataque"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) Ataque padrão"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr "(s) Trocar ataque sem escudo"
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr "(S) Trocar ataque com escudo"
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) Ir e atacar"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr "(A) Ir, atacar, pegar"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) sem auto ataque"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr "(S) Pequeno pegar 1x1 celulas"
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr "(D) Pegar padrão 2x1 células"
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) Pegar em frente 2x3 células"
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr "(3) Pegar 3x3 células"
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr "(g) Ir e pegar em distância 4"
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr "(G) Ir e pegar em distância 8"
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr "(A) Ir e pegar em distância mâxima"
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?) Pegar item"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) Visualizardor de mapa normal"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr "(D) Visualizador de mapa depurador"
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr "(u) Visualizador de mapa ultra"
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr "(U) Visualizador de mapa ultra 2"
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) Visualizador de mapa vazio"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b) Visualizador de mapa preto e branco"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) Usar #flar para feitiço de ataque"
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) Usar #chiza para feitiço de ataque"
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(I) Usar #ingrav para feitiço de ataque"
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) Usar #frillyar para feitiço de ataque"
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) Usar #upmarmu para feitiço de ataque"
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) Feitiço de ataque"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
-msgstr ""
+msgstr "(a) atacar todos inimigos"
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
-msgstr ""
+msgstr "(f) não atacar amigos"
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
-msgstr ""
+msgstr "(b) atacar más relações"
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
-msgstr ""
+msgstr "(d) não atacar jogadores"
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
-msgstr ""
+msgstr "(?) Ataque PVP"
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr "(D) Mímica padrão"
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr "(O) Mímica de roupas"
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr "(?) Mímica"
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "Indisponivel "
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) No teclado"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) Ausente"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) Ausente"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr "(G) Modo de jogo câmera"
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr "(F) Modo de jogo câmera livre"
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr "Modificadores de jogo ativados"
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr "Modificadores de jogo desativados"
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
-msgstr ""
+msgstr "Modificador de jogo desconhecido"
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "Seguindo:"
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "Seguir cancelado"
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr "Imitando:"
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr "Imitação cancelada"
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr "Você vê "
@@ -4399,6 +4434,7 @@ msgstr " --safemode : Inicia o jogo em modo seguro"
#: src/main.cpp:77
msgid " -T --tests : Start testing drivers and auto configuring"
msgstr ""
+" -T --testes : Começar a testar drivers para auto configuração"
#: src/main.cpp:80
msgid " --no-opengl : Disable OpenGL for this session"
@@ -4474,7 +4510,7 @@ msgstr "Slot incorreto."
#: src/net/ea/charserverhandler.cpp:167
msgid "Incorrect race."
-msgstr ""
+msgstr "Corrida incorreta:"
#: src/net/ea/charserverhandler.cpp:182 src/net/manaserv/charhandler.cpp:210
msgid "Info"
@@ -4630,7 +4666,7 @@ msgstr "%s saiu de sua Guilda."
#: src/net/ea/guildhandler.cpp:499
msgid "You were kicked from guild."
-msgstr ""
+msgstr "Você foi expulso da guilda."
#: src/net/ea/guildhandler.cpp:512
#, c-format
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 83e2254a9..16e7618a7 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -6,15 +6,15 @@
# <alasmirt@gmail.com>, 2011, 2012.
# alastrim <alasmirt@gmail.com>, 2011.
# Andrei Karas <akaras@inbox.ru>, 2011.
-# <freya.df@gmail.com>, 2011.
+# <freya.df@gmail.com>, 2011, 2012.
# freya <freya.df@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-19 16:56+0000\n"
-"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-03 23:57+0000\n"
+"Last-Translator: freya <freya.df@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.net/projects/p/"
"manaplus/team/pt_BR/)\n"
"Language: pt_BR\n"
@@ -36,122 +36,122 @@ msgid "miss"
msgstr "por id"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr "I"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "por peso"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "Performance"
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Vídeo"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr "Temas"
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "por quantidade"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "por tipo"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Habilitar rolagem preguisoça "
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Rolagem preguiçosa"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "Conectando ao servidor do jogo"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Mudando servidores do jogo"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "Erro"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Requisitando detalhes do registro"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Mudar senha"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "Senha modificada com sucesso!"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "Mudar email"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "Email modificado com sucesso!"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "Registro cancelado com sucesso"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "Tchau, volte sempre..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s não existe e não pode ser criado! Saindo."
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Host de atualização inválido: %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "Erro ao criar pasta de atualizações!"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Erro: %s não existe e não pode se criado! Saindo."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "Comando desconhecido."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "Não é possível enviar mensagens privadas vazias!"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -160,160 +160,160 @@ msgstr ""
"Não é possível criar uma aba de mensagem privada para o nick \"%s\"! Ou ela "
"já existe ou é você mesmo."
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "Solicitando entrada no canal %s."
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Falta o nome do grupo."
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Falta o nome da guilda."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "Por favor, especifique um nome."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "Enter alterna para o chat."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "A mensagem fecha o chat."
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "Agora Enter alterna para o chat."
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "Agora a mensagem fecha o chat."
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "amigo"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "ignorado"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "neutro"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "Jogador já %s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "Jogador %s com sucesso!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "Jogador não pode ser %s!"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "O jogador não estava ignorado!"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "O jogador não está mais ignorado!"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "Não foi possível deixar de ignorar o jogador!"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr "Na Lista Negra"
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr "inimigo"
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "Jogador já apagado!"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "Jogador apagado com sucesso!"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "Jogador não pode ser apagado!"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr "Uptime do cliente: %s"
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d semana"
msgstr[1] "%d semanas"
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d dia"
msgstr[1] "%d dias"
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d hora"
msgstr[1] "%d horas"
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minuto"
msgstr[1] "%d minutos"
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d segundo"
msgstr[1] "%d segundos"
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr "Tamanho de fonte Cache"
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr "Tamanho de cache:"
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "Criado:"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "Deletado:"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr "Recursos de imagem:"
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr "Recurso de imagem orfão:"
@@ -323,43 +323,43 @@ msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
"Opções para /%s são \"yes\" e \"no\", \"true\" e \"false\", \"1\" e \"0\"."
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "Geral"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "Depurador"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Screenshot salva como "
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "Falha ao salvar screenshot!"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "A conexão com o servidor caiu."
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "Erro de conexão"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Ignorando propostas de negócios"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Aceitando propostas de negócios"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "Não foi possível carregar o mapa"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "Erro ao carregar %s"
@@ -413,7 +413,7 @@ msgstr "Mover"
msgid "Result"
msgstr "Resultado"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "Resetar"
@@ -435,30 +435,30 @@ msgstr "Quantidade:"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "Sair"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "Máximo"
@@ -475,21 +475,21 @@ msgid "Sell"
msgstr "Vender"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Cancelar"
@@ -525,7 +525,7 @@ msgstr "Os emails informados não são iguais."
msgid "Change Password"
msgstr "Alterar senha"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Senha:"
@@ -552,68 +552,73 @@ msgstr "A nova senha deve ter menos que %d caracteres."
msgid "The new password entries mismatch."
msgstr "As novas senhas não são iguais."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Criar Personagem"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr "Novo Personagem"
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "Nome:"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Cor do Cabelo:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "Estilo do Cabelo:"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr "^"
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "Corrida:"
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Criar"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Homem"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Mulher"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "Por favor distribua %d pontos"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Seu nome deve ter pelo menos 4 caracteres."
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Atributos do personagem OK"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "Por favor remova %d pontos"
@@ -655,9 +660,9 @@ msgstr "Entre com a senha para apagar o personagem"
msgid "Enter password:"
msgstr "Entre com a senha:"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Excluir"
@@ -732,7 +737,7 @@ msgstr "arco-íris 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -744,12 +749,12 @@ msgstr "???"
msgid "Chat"
msgstr "Chat"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Presentes: %s; %d jogadores estão presentes."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Enviando MP para %s: %s"
@@ -913,8 +918,8 @@ msgid "Did You Know?"
msgstr "Você Sabia?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Fechar"
@@ -930,11 +935,36 @@ msgstr "Próximo >"
msgid "Auto open this window"
msgstr "Auto abrir esta janela"
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "OK"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr "Editar Servidor"
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr "Endereço:"
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Porta:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Tipo de servidor:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr "Descrição:"
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr "Por favor, pelo menos um dos dois tipos de portas de servidor."
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "Equipamento"
@@ -1032,39 +1062,39 @@ msgstr "Retirar"
msgid "Drop"
msgstr "Descartar"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "Tudo"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Selecionar quantidade de itens para negociar."
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Selecionar quantidade de itens para descartar."
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Escolha a quantidade de itens para armazenar."
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Escolha a quantidade de itens para retirar."
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Selecionar quantidade de itens para dividir."
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Adicionar na loja de compra"
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Adicionar na loja de venda"
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "Desconhecido"
@@ -1181,32 +1211,31 @@ msgstr "Fechar"
msgid "Skip"
msgstr "Passar"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Login"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Servidor:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Atualizações customizadas"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Lembrar usuário"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "Atualização:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "Registrar"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Trocar servidor"
@@ -1250,24 +1279,24 @@ msgstr "Barra de Status"
msgid "Need"
msgstr "Precisa"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr "Parar de esperar"
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Próximo"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Enviar"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "Limpar"
@@ -1283,12 +1312,13 @@ msgstr "Enviar"
msgid "Failed to send as sender or letter invalid."
msgstr "Falha ao enviar como remetente ou a carta é inválida."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "Roupas: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Tecla: %s"
@@ -1693,64 +1723,58 @@ msgstr "A senha deve ser menor que %d caracteres."
msgid "Passwords do not match."
msgstr "Senhas não conferem."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Escolha seu servidor"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "Escolha seu servidor *** MODO SEGURO ***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Porta:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "Usar o mesmo ip para os sub servidores do jogo"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Tipo de servidor:"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "Carregar"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "Conectar"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "Servidor customizado"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "Adicionar"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Por favor especifique o endereço e a porta do servidor."
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Editar"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Baixando lista de servidores...%2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "Aguardando servidor..."
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Preparando download"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "Erro ao recuperar lista!"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "requer uma versão mais nova"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "requer v%s"
@@ -2315,23 +2339,23 @@ msgstr "Na Lista Negra "
msgid "Enemy"
msgstr "Inimigo"
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Permitir negociações"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Permitir mensagens particulares"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Antigo"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr "Relações"
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Quando ignorar:"
@@ -2459,8 +2483,8 @@ msgstr "Tamanho da fonte"
msgid "Theme Changed"
msgstr "Tema alterado"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Reincie o cliente para que as mudanças surtam efeito."
@@ -2512,152 +2536,155 @@ msgstr "médio"
msgid "max"
msgstr "máximo"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Tela cheia"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "Cursor customizado"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Efeitos de partícula"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "Mostrar aviso ao pegar algo"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "em chat"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "como partícula"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr "Habilitar redimensionamento"
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr "Sem quadros"
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "Limite FPS:"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Limite FPS alt: "
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr "Texto sobrescrito como:"
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "Opacidade"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "Ambiente FX"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "Detalhe de partículas"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "Nenhum"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
"Falha ao mudar para o modo janela e falha na restauração do modo anterior!"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
"Falha ao mudar para o modo tela cheia e falha na restauração do modo "
"anterior!"
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Mudando para tela cheia"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "É preciso reiniciar para as mudanças terem efeito."
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Mudando para OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "Mudanças no OpenGL requerem o reinício do jogo."
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Resolução customizada (exemplo 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Escolha a nova resolução "
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "Resolução de tela alterada"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
"Algumas janelas podem ser movidas para se adequar à resolução mais baixa."
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "Configurações de efeito de partícula modificadas."
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "As mudanças terão efeito ao mudar de mapa."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "Loja pessoal"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Comprar itens"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Vender itens"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Adicionar"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "Anúncio"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "Mostrar links em anúncio"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr "Leilão"
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Proposta de negociação"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s quer %s %s você aceita?"
@@ -2784,7 +2811,7 @@ msgstr "Ignorar mobs"
msgid "Create Guild"
msgstr "Criar guilda"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "Criar grupo"
@@ -2796,93 +2823,103 @@ msgstr "Social"
msgid "Invite"
msgstr "Convidar"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr "J"
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr "A"
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "Aceitou convite para o grupo de %s."
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "Rejeitou convite para o grupo de %s."
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "Aceitou convite para a guilda de %s."
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "Rejeitou convite para a guilda de %s."
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "Criando guilda chamada %s."
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "Criando grupo chamado %s."
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "Nome da guilda"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "Escolha o nome da sua guilda."
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr "Requisição de guilda recebida, mas já existe uma."
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s te convidou para entrar na guilda %s."
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "Aceitar convite para a guilda"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "Requisição de grupo recebida, mas já existe um."
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "Você foi convidado para entrar em um grupo."
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "Você foi convidado para entrar no grupo %s."
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s te convidou para entrar em seu grupo."
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s te convidou para entrar no grupo %s."
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "Aceitar convite para o grupo"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "Não foi possível criar o grupo. Você já faz parte de um."
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "Nome do grupo"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "Escolha o nome do seu grupo."
@@ -3077,29 +3114,29 @@ msgstr "Nome: %s"
msgid "Updating..."
msgstr "Atualizando..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "Conectando..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Jogar"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 O processo de update está incompleto."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 É altamente recomendado que"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 tente novamente mais tarde."
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "Concluído"
@@ -3251,23 +3288,23 @@ msgstr "Borda do Lugar Inicial"
msgid "Road Point"
msgstr "Ponto de estrada"
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "Quem está online - Atualizando"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "Atualizar"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "Quem está online - "
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "Quem está online - Erro"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "Quem está online - Atualizado"
@@ -3407,10 +3444,6 @@ msgstr "/leave > Sai da guilda em que você está"
msgid "/kick > Kick some one from the guild you are in"
msgstr "/kick > Expulsa alguém da guilda em que você está"
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Editar"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr "/ignore > Ignora o outro jogador"
@@ -3662,7 +3695,7 @@ msgstr "Atalhos de item"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "Atalho para item %d"
@@ -3789,184 +3822,186 @@ msgstr "Emoticon"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "Atalho para emoticon %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr "Teclas de vestuario"
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "Vestir roupas"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr "Copiar roupas"
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr "Copiar roupa equipada"
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr "Teclas de conversasão"
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "Alternar para chat"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "Rolar chat para cima"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "Rolar chat para baixo"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "Aba de chat anterior"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "Próxima aba de chat"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr "Fechar aba de chat atual"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr "Linha de chat anterior"
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr "Próxima linha de chat"
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr "Chat auto completar"
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr "Desativar entrada de chat"
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr "Outras teclas"
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "Ignorar input 1"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "Ignorar input 2"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr "Para cima"
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr "Para baixo"
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr "Para esquerda"
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr "Para direita"
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr "Movimentos loucos"
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr "Trocar Modo de movimentos loucos"
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr "Descartar rapidamente N itens do slot 0"
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr "Descartar rapidamente N itens"
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr "Mudar contador de descarte"
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr "Curar um alvo ou você mesmo"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr "Usa feitiço #itenplz"
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "Usar feitiço de ataque"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr "Trocar feitiço de ataque"
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr "Mudar ataque em pvp"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr "Mudar tipo de movimento"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr "Mudar tipo de ataque de arma"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr "Mudar tipo de ataque"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr "Mudar modo de seguir"
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr "Mudar modo de imitação"
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr "Habilitar / Desabilitar Chaves de modificação"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "Ligar / Desligar áudio"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr "Habilitar / Desabilitar modo indisponivel "
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr "Emular botão direito do teclado"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr "Alterar modo de camera"
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr "Chave de modificação"
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -3975,334 +4010,334 @@ msgstr ""
"Conflito com as teclas \"%s\" e \"%s\" . Resolva o conflito para não "
"comprometer a jogabilidade."
-#: src/localplayer.cpp:384
+#: src/localplayer.cpp:385
#, c-format
msgid "You were killed by %s"
-msgstr ""
+msgstr "Você foi morto por %s"
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr "Você tentou pegar um item não existente."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "Este item é muito pesado."
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Item está muito longe"
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "O inventário está cheio."
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr "Esta pilha é muito grande."
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "Este item pertence a outra pessoa."
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr "Problema desconhecido ao tentar pegar item."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Você pegou %d [@@%d|%s@@]."
msgstr[1] "Você pegou %d [@@%d|%s@@]."
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) movimentos padrão"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr "(l) inserir movimentos"
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr "(c) Alguns movimentos loucos"
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr "(C) Movimentos loucos"
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr "(d) dobro normal + louco"
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
msgstr "(?) movimento desconhecido"
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr "(%d) movimento louco número %d"
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr "(a) movimentos loucos customizados"
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr "(?) Movimentos loucos"
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr "(0) Mover ao alvo padrão"
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr "(1) Mover ao alvo com distância 1"
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr "(2) mover ao alvo em distância 2"
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr "(3) Mover ao alvo com distância 3"
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr "(5) Mover ao alvo com distância 5"
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr "(7) Mover ao alvo com distância 7"
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr "(A) Mover ao alvo com a distância de ataque"
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr "(a) Alcance ataque de arqueiro"
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?) Mover ao alvo"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr "(D) Seguir em modo padrão"
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr "(R) Seguir em modo relativo"
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr "(M) Seguir em modo espelhado"
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr "(P) Seguir em modo animal de extimação"
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr "(?) Seguir em modo desconhecido"
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) Ataque"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) Ataque padrão"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr "(s) Trocar ataque sem escudo"
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr "(S) Trocar ataque com escudo"
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) Ir e atacar"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr "(A) Ir, atacar, pegar"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) sem auto ataque"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr "(S) Pequeno pegar 1x1 celulas"
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr "(D) Pegar padrão 2x1 células"
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) Pegar em frente 2x3 células"
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr "(3) Pegar 3x3 células"
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr "(g) Ir e pegar em distância 4"
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr "(G) Ir e pegar em distância 8"
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr "(A) Ir e pegar em distância mâxima"
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?) Pegar item"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) Visualizardor de mapa normal"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr "(D) Visualizador de mapa depurador"
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr "(u) Visualizador de mapa ultra"
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr "(U) Visualizador de mapa ultra 2"
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) Visualizador de mapa vazio"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b) Visualizador de mapa preto e branco"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) Usar #flar para feitiço de ataque"
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) Usar #chiza para feitiço de ataque"
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(I) Usar #ingrav para feitiço de ataque"
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) Usar #frillyar para feitiço de ataque"
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) Usar #upmarmu para feitiço de ataque"
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) Feitiço de ataque"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr "(a) atacar qualquer jogador"
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr "(f) não atacar amigos"
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr "(b) atacar más relações"
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr "(d) não atacar jogadores"
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr "(?) ataque em pvp"
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr "(D) Mímica padrão"
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr "(O) Mímica de roupas"
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr "(?) Mímica"
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "Indisponivel "
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) No teclado"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) Ausente"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) Ausente"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr "(G) Modo de jogo câmera"
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr "(F) Modo de jogo câmera livre"
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr "Modificadores de jogo desativados"
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr "Modificadores de jogo desativados"
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr "Modificadores são desconhecidos"
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "Seguindo:"
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "Seguindo cancelado"
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr "Imitando:"
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr "Imitação cancelada"
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr "Você vê "
@@ -4476,7 +4511,7 @@ msgstr "Slot incorreto."
#: src/net/ea/charserverhandler.cpp:167
msgid "Incorrect race."
-msgstr ""
+msgstr "Corrida incorreta."
#: src/net/ea/charserverhandler.cpp:182 src/net/manaserv/charhandler.cpp:210
msgid "Info"
@@ -4632,7 +4667,7 @@ msgstr "%s saiu de sua Guilda."
#: src/net/ea/guildhandler.cpp:499
msgid "You were kicked from guild."
-msgstr ""
+msgstr "Você foi expulso da guilda."
#: src/net/ea/guildhandler.cpp:512
#, c-format
diff --git a/po/ru.po b/po/ru.po
index 324296f5c..f04b59c32 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-19 16:57+0000\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-02 16:46+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Russian (http://www.transifex.net/projects/p/manaplus/team/"
"ru/)\n"
@@ -36,122 +36,122 @@ msgid "miss"
msgstr "промах"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr "О"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr "Б"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "ÐаÑтройка"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "ПроизводительноÑÑ‚ÑŒ"
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "Видео"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr "Темы"
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "Идет подключение к Ñерверу..."
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "ÐвторизациÑ"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "Входим в игровой мир"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "Получение ÑпиÑка перÑонажей"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "Подключение к игровому Ñерверу"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "Смена игрового Ñервера"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "Ошибка"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ñ€ÐµÐ³Ð¸Ñтрационных данных"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "Изменить Пароль"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "Пароль изменен!"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "Сменить Email"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "Email изменен!"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð°"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "Хорошо, возвращайтеÑÑŒ в любое времÑ..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s не ÑущеÑтвует, и не может быть Ñоздано! Выход."
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "Ðекорректный Ñервер обновлений: %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ð¸ Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹!"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "Ошибка: %s не ÑущеÑтвует, и не может быть Ñоздан! Выход."
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°."
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÑÑ‚ÑŒ пуÑтые ÑообщениÑ!"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -160,105 +160,105 @@ msgstr ""
"Ðевозможно Ñоздать вкладку Ð´Ð»Ñ Ð»Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ Ð¸Ð³Ñ€Ð¾ÐºÐ¾Ð¼ \"%s\"! Или вкладка "
"уже Ñоздана, или Ñтот игрок Ð’Ñ‹ Ñами."
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° приÑоединение к каналу %s."
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "Ðе указано название группы"
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "Ðе задано Ð¸Ð¼Ñ Ð³Ð¸Ð»ÑŒÐ´Ð¸Ð¸."
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "ПожалуйÑта, укажите имÑ"
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr "Enter переключает Ð’Ð°Ñ Ð½Ð° окно чата."
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "Сообщение закрывает чат."
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "Теперь Return переключает чат."
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "Теперь Ñообщение закрывает чат."
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "друг"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "пренебрегаемый"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "нейтральный"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "Игрок уже %s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "Игрок удачно %s!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "Игрок не может быть %s!"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "Игрок не был игнорируемым!"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "Игрок больше не игнорируетÑÑ!"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "Игрок не может быть удален из ÑпиÑка игнорированиÑ!"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr "добавлен в черный ÑпиÑок"
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr "враг"
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "Игрок и так уже удален!"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "Игрок удален!"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "Игрок не может быть удален!"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr "Ð’Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ клиента: %s"
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
@@ -266,7 +266,7 @@ msgstr[0] "%d неделÑ"
msgstr[1] "%d недели"
msgstr[2] "%d недель"
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
@@ -274,7 +274,7 @@ msgstr[0] "%d день"
msgstr[1] "%d днÑ"
msgstr[2] "%d дней"
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
@@ -282,7 +282,7 @@ msgstr[0] "%d чаÑ"
msgstr[1] "%d чаÑа"
msgstr[2] "%d чаÑов"
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
@@ -290,7 +290,7 @@ msgstr[0] "%d минута"
msgstr[1] "%d минуты"
msgstr[2] "%d минут"
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
@@ -298,27 +298,27 @@ msgstr[0] "%d Ñекунда"
msgstr[1] "%d Ñекунды"
msgstr[2] "%d Ñекунд"
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr "размер кеша шрифта"
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr "Размер кеша:"
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "Создано:"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "Удалено:"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr "Изображений:"
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr "Удаленных изображений:"
@@ -329,43 +329,43 @@ msgstr ""
"/%s может принимать значение \"yes\", \"no\", \"true\", \"false\", \"1\" или "
"\"0\"."
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "Общие"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "Отладка"
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "Снимок Ñкрана Ñохранен как "
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "Ошибка при Ñохранении Ñнимка Ñкрана!"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "Соединение Ñ Ñервером потерÑно."
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "Ошибка Ñети"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "Игнорировать Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ торговле"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "Принимать Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ торговле"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "Ðе удалоÑÑŒ загрузить карту"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "Ошибка во Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ %s"
@@ -419,7 +419,7 @@ msgstr "Движение"
msgid "Result"
msgstr "Результат"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "СброÑить"
@@ -441,30 +441,30 @@ msgstr "КоличеÑтво:"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "Выход"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "МакÑ"
@@ -481,21 +481,21 @@ msgid "Sell"
msgstr "Продать"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "Отмена"
@@ -531,7 +531,7 @@ msgstr "ÐÐ´Ñ€ÐµÑ E-mail не Ñовпадает"
msgid "Change Password"
msgstr "Изменить пароль"
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "Пароль:"
@@ -558,68 +558,73 @@ msgstr "Пароль должен Ñодержать менее %d ÑимволÐ
msgid "The new password entries mismatch."
msgstr "Ðовый пароль не Ñовпадает."
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "Создать перÑонажа"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr "Ðовый перÑонаж"
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "ИмÑ:"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "Цвет волоÑ:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "Стрижка:"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr "^"
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr "РаÑа:"
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "Создать"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "Мужчина"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "Женщина"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "РаÑпределите очки (%d)"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "Ð˜Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ñодержать не менее четырех Ñимволов."
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "Данные перÑонажа в порÑдке"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "Снимите очки (%d)"
@@ -661,9 +666,9 @@ msgstr "Введите пароль Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ñонажа"
msgid "Enter password:"
msgstr "Введите пароль:"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "Удалить"
@@ -738,7 +743,7 @@ msgstr "радуга 3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -750,12 +755,12 @@ msgstr "???"
msgid "Chat"
msgstr "Чат"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr "ПриÑутÑтвуют: %s; Ð’Ñего %d игроков."
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "Вы прошептали %s: %s"
@@ -919,8 +924,8 @@ msgid "Did You Know?"
msgstr "Вы знаете?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "Закрыть"
@@ -936,11 +941,36 @@ msgstr "Следующий >"
msgid "Auto open this window"
msgstr "ÐвтоматичеÑки открывать Ñто окно"
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "ОК"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr "Редактирование Ñервера"
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr "ÐдреÑ:"
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "Порт:"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "Тип:"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr "ОпиÑание:"
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr "ПожалуйÑта введите хотÑбы Ð°Ð´Ñ€ÐµÑ Ð¸ порт Ñервера"
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "СнарÑжение"
@@ -1038,39 +1068,39 @@ msgstr "Получить"
msgid "Drop"
msgstr "БроÑить"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "Ð’ÑÑ‘"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "Сколько предметов продать."
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "Сколько предметов ÑброÑить."
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "Укажите количеÑтво вещей Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ."
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "Укажите количеÑтво вещей Ð´Ð»Ñ Ð¸Ð·ÑŠÑтиÑ."
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "Сколько предметов разделить."
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "Добавить в ÑпиÑок покупки."
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "Добавить в ÑпиÑок продажи."
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "ÐеизвеÑтно."
@@ -1189,32 +1219,31 @@ msgstr "Ðвт. закрыть"
msgid "Skip"
msgstr "ПропуÑтить"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "Вход"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "Сервер:"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "Польз. Ñайт обновлений"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "Запомнить логин"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "ОбновлениÑ:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "РегиÑтрациÑ"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "Сменить Ñервер"
@@ -1258,24 +1287,24 @@ msgstr "ÑтатуÑ"
msgid "Need"
msgstr "Ðужно"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr "ОÑтановить ожидание"
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "Следующий"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "Применить"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "ОчиÑтить"
@@ -1291,12 +1320,13 @@ msgstr "Отправить"
msgid "Failed to send as sender or letter invalid."
msgstr "Ðевозможно поÑлать ибо отправитель либо Ñообщение неверны."
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "ÐарÑд: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "Клавиша: %s"
@@ -1701,64 +1731,58 @@ msgstr "Пароль не должен Ñодержать более %d Ñимв
msgid "Passwords do not match."
msgstr "Пароли не Ñовпадают."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "Выберите Ñервер"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "Выбор Ñервера *** БЕЗОПÐСÐЫЙ РЕЖИМ ***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "Порт:"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "ИÑпользовать одинаковый IP Ð´Ð»Ñ Ð¸Ð³Ñ€Ð¾Ð²Ñ‹Ñ… Ñуб-Ñерверов"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "Тип:"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "Загрузить"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "СоединитьÑÑ"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
msgstr "Добавить"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "Следует указать Ð°Ð´Ñ€ÐµÑ Ð¸ порт Ñервера."
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "Изменить"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Получение ÑпиÑка Ñерверов...%2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "Ожидание ответа от Ñервера"
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "Подготовка к загрузке"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "Ðе удалоÑÑŒ получить ÑпиÑок Ñерверов!"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "требуетÑÑ Ð±Ð¾Ð»ÐµÐµ Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑиÑ"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "требуетÑÑ v%s"
@@ -2328,23 +2352,23 @@ msgstr "Ð’ черном ÑпиÑке"
msgid "Enemy"
msgstr "Враг"
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "Разрешить торговлю"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "Разрешить шептание"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "Старые"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr "СвÑзи"
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "Когда игнорируетÑÑ:"
@@ -2472,8 +2496,8 @@ msgstr "Размер шрифта"
msgid "Theme Changed"
msgstr "Тема изменена"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "Перезегрузите игру дабы Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ñтупили в Ñилу."
@@ -2525,154 +2549,157 @@ msgstr "Ñредне"
msgid "max"
msgstr "макÑ."
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "Ðа полный Ñкран"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "Игровой курÑор"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "Эффекты чаÑтиц"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "Показать уведомление о подборе предмета"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "в чате"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "как чаÑтицу"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr "Разрешить менÑÑ‚ÑŒ размер окна"
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr "Без рамки"
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "Ограничить кадр/Ñ:"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr "Ðльтер. ограничить кадр/Ñ: "
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr "ТекÑÑ‚ над головами"
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "ÐепрозрачноÑÑ‚ÑŒ интерфейÑа"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "Эффекты окружающей Ñреды"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "Ð”ÐµÑ‚Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ‡Ð°Ñтиц"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "Ðет"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
"Ðе удалоÑÑŒ переключитьÑÑ Ð² оконный режим. ВоÑÑтановить Ñтарый режим также не "
"удалоÑÑŒ!"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
"Ðе удалоÑÑŒ переключитьÑÑ Ð² полноÑкранный режим. ВоÑÑтановить Ñтарый режим "
"также не удалоÑÑŒ!"
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "Переключение в полноÑкранный режим"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "Ð”Ð»Ñ Ð²ÑÑ‚ÑƒÐ¿Ð»ÐµÐ½Ð¸Ñ Ð² Ñилу выбранных наÑтроек требуетÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° игры."
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "Переключение на OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð° OpenGL необходима перезагрузки игры."
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "Свое разрешение (например: 1024х768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "Ðовое разрешение: "
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "Разрешение Ñкрана изменено"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
"Ðекоторые окна могут быть Ñдвинуты, чтобы умеÑтитьÑÑ Ð½Ð° Ñкране при меньшем "
"разрешении"
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "ÐаÑтройки Ñффектов чаÑтиц изменены."
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑтупÑÑ‚ в Ñилу поÑле загрузки новой карты."
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "Свой магазин"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "Купить"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "Продать"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "Добавить"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "ÐнонÑ"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "Показывать ÑÑылки"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr "Ðукцион"
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° Торговлю"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s хочет %s %s, вы принимаете предложение?"
@@ -2799,7 +2826,7 @@ msgstr "Игнорируемые монÑтры"
msgid "Create Guild"
msgstr "Создать Гильдию"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "Создать группу"
@@ -2811,93 +2838,103 @@ msgstr "ОбщеÑтво"
msgid "Invite"
msgstr "ПриглаÑить"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr "И"
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr "Д"
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "ПринÑто приглашение в группу от %s."
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "Отклонено приглашение в группу от %s."
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "ПринÑто приглашение в гильдию от %s."
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "Отклонено приглашение в гильдию от %s."
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "Создание гильдии Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %s."
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "Создание группы Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %s."
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "Ð˜Ð¼Ñ Ð³Ð¸Ð»ÑŒÐ´Ð¸Ð¸"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "Выберите Ð¸Ð¼Ñ Ð´Ð»Ñ Ð³Ð¸Ð»ÑŒÐ´Ð¸Ð¸."
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr "Получено приглашение в гильдию, но оно не первое."
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s приглашает приÑоединитьÑÑ Ðº гильдии %s."
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "ПринÑÑ‚ÑŒ приглашение в гильдию"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "Получено приглашение в группу, но оно не порвое."
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "Ð’Ð°Ñ Ð¿Ñ€Ð¸Ð³Ð»Ð°ÑˆÐ°ÑŽÑ‚ в группу."
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "Ð’Ð°Ñ Ð¿Ñ€Ð¸Ð³Ð»Ð°ÑˆÐ°ÑŽÑ‚ приÑоединитьÑÑ Ðº группе %s."
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s приглашает Ð’Ð°Ñ Ðº Ñебе в группу."
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s приглашает приÑоединитьÑÑ Ðº %s группе."
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "ПринÑÑ‚ÑŒ приглашение в группу"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "Ðе удалоÑÑŒ Ñоздать группу. Ð’Ñ‹ уже ÑоÑтоите в другой."
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr "Ð˜Ð¼Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "Выберите Ð¸Ð¼Ñ Ð±ÑƒÐ´ÑƒÑ‰ÐµÐ¹ группы."
@@ -3093,29 +3130,29 @@ msgstr "ИмÑ: %s"
msgid "Updating..."
msgstr "Обновление..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "Соединение..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "Играть"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 ПроцеÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ завершен!"
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 ÐаÑтоÑтельно рекомендуетÑÑ"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr "##1 попытатьÑÑ ÐµÑ‰Ðµ раз немного погодÑ."
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "Завершено"
@@ -3267,23 +3304,23 @@ msgstr "Бордюр домашней позиции"
msgid "Road Point"
msgstr "Точка дороги"
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "Кто онлайн - обновление"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "Обновить"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "Кто онлайн - "
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "Кто онлайн - ошибка"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "Кто онлайн - обновление"
@@ -3423,10 +3460,6 @@ msgstr "/leave > Покинуть текущую гильдию"
msgid "/kick > Kick some one from the guild you are in"
msgstr "/kick > Вышвырнуть кого-либо из Вашей текущей группы"
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "Изменить"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr "/ignore > Игнорировать другого игрока"
@@ -3679,7 +3712,7 @@ msgstr "ГорÑчие клавиши предметов"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "ÐšÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ быÑтрого предмета %d"
@@ -3806,184 +3839,186 @@ msgstr "Смайлы"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "ÐšÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ Ð´Ð»Ñ Ñмайла %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr "Клавиши нарÑдов"
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "Ðадеть нарÑд"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr "Копировать нарÑд"
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr "Копирование надетого нарÑда"
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr "Клавиши чата"
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "Переключение на чат"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "Прокручивание чата вверх"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "Прокручивание чата вниз"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð·Ð°ÐºÐ»Ð°Ð´ÐºÐ° чата"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ð·Ð°ÐºÐ»Ð°Ð´ÐºÐ° чата"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr "Закрыть текущую вкладку чата"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ñтрока чата"
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñтрока чата"
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr "Ðвтозавершение в чате"
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr "Отключение фокуÑа ввода"
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr "Другие клавиши"
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "Игнорирование ввода 1"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "Игнорирование ввода 2"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr "ПовернутьÑÑ Ð²Ð²ÐµÑ€Ñ…"
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr "ПовернутьÑÑ Ð²Ð½Ð¸Ð·"
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr "ПовернутьÑÑ Ð²Ð»ÐµÐ²Ð¾"
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr "ПовернутьÑÑ Ð²Ð¿Ñ€Ð°Ð²Ð¾"
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr "СумаÑшедшие движениÑ"
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr "ПоменÑÑ‚ÑŒ режим ÑумаÑшедших движений"
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr "БыÑтрый ÑÐ±Ñ€Ð¾Ñ N предметов из 0 Ñлота"
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr "БыÑтрый ÑÐ±Ñ€Ð¾Ñ N предметов"
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr "Переключение Ñчётчика быÑтрого ÑброÑа"
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr "БыÑтрое Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ ÑÐµÐ±Ñ Ð¸Ð»Ð¸ цели"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr "ИÑпользование Ð·Ð°ÐºÐ»Ð¸Ð½Ð°Ð½Ð¸Ñ #itenplz"
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "ИÑпользование магичеÑкой атаки"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr "Переключение маг. атаки"
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr "Переключение pvp атаки"
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr "Изменение типа движениÑ"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr "Измение типа атаки оружием"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr "Изменение типа атаки"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr "Изменение режима ÑледованиÑ"
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr "Изменение режима имитации"
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr "Включение / Выключение Ñпециальных модификаторов"
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "Вкл. / Выкл. звука"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr "Включение / Выключение режима отошел"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr "ЭмулÑÑ†Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¾Ð³Ð¾ клика Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ñ‹"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr "Изменение режима камеры"
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr "Кнопка-модификатор"
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -3992,42 +4027,42 @@ msgstr ""
"Конфликт клавиш \"%s\" и \"%s\".ИÑправьте их, или игра может ÑÐµÐ±Ñ Ñтранно "
"веÑти."
-#: src/localplayer.cpp:384
+#: src/localplayer.cpp:385
#, c-format
msgid "You were killed by %s"
msgstr "Ð’Ð°Ñ ÑƒÐ±Ð¸Ð» %s"
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr "Попытка поднÑÑ‚ÑŒ неÑущеÑтвующий предмет."
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "Предмет Ñлишком Ñ‚Ñжелый."
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "Предмет Ñлишком далеко"
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr "Инвентарь переполнен."
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr "Слишком много предметов."
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr "Предмет принадлежит кому-то еще."
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° при поднÑтии предмета."
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
@@ -4035,292 +4070,292 @@ msgstr[0] "Ð’Ñ‹ поднÑли %d [@@%d|%s@@]."
msgstr[1] "Ð’Ñ‹ поднÑли %d [@@%d|%s@@]."
msgstr[2] "Ð’Ñ‹ поднÑли %d [@@%d|%s@@]."
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr "(D) Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию"
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr "(I) обратное движение"
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr "(c) обычное движение иногда Ñ Ñумашедшими движениÑми"
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr "(C) движение Ñ Ñумашедшими движениÑми"
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr "(d) нормальные и Ñумашедшие движениÑ"
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
msgstr "(?) неизвеÑтное движение"
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr "(%d) ÑумаÑшедшее движение %d"
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr "(a) пользовательÑкие Ñумашедшие движениÑ"
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr "(?) неизвеÑтные ÑумаÑшедшие движениÑ"
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr "(0) обычное движение к цели"
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr "(1) движение к цели на раÑÑтоÑние 1"
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr "(2) движение к цели на раÑÑтоÑние 2"
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr "(3) движение к цели на раÑÑтоÑние 3"
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr "(5) движение к цели на раÑÑтоÑние 5"
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr "(7) движение к цели на раÑÑтоÑние 7"
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr "(A) движение к цели на раÑÑтоÑние атаки"
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr "(a) атака лучника"
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?) неизвеÑтное движение к цели"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr "(D) Ñледование по умолчанию"
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr "(R) отноÑительное Ñледование"
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr "(M) зеркальное Ñледование"
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr "(P) Ñледование как животное"
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr "(?) неизвеÑтное Ñледование"
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) неизвеÑÑ‚Ð½Ð°Ñ Ð°Ñ‚Ð°ÐºÐ°"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr "(D) Ð¾Ð±Ñ‹Ñ‡Ð½Ð°Ñ Ð°Ñ‚Ð°ÐºÐ°"
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr "(s) переключение атаки без щита"
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr "(S) переключение атаки Ñо щитом"
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) идти и атаковать"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr "(A) идти, атаковать, Ñобирать"
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr "(d) без автоатаки"
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr "(S) поднÑтие в облаÑти 1x1"
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr "(D) поднÑтие из облаÑти 2x1"
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr "(F) поднÑтие из облаÑти Ñпереди 2x3"
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr "(3) поднÑтие из облаÑти 3x3"
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr "(g) движение и поднÑтие на раÑÑтоÑнии 4"
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr "(g) движение и поднÑтие на раÑÑтоÑнии 8"
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr "(A) движение и поднÑтие на макÑимальном раÑÑтоÑнии"
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?) неизвеÑтный режим поднÑтиÑ"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr "(N) обычный режим карты"
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr "(D) отладочный режим карты"
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr "(u) Ñпециальный режим карты"
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr "(U) Ñпециальный режим карты 2"
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr "(e) режим пуÑтой карты"
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr "(b) черно-белый режим карты"
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr "(f) иÑпользовать #flar Ð´Ð»Ñ Ð°Ñ‚Ð°ÐºÐ¸"
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr "(c) иÑпользовать #chiza Ð´Ð»Ñ Ð°Ñ‚Ð°ÐºÐ¸"
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr "(I) иÑпользовать #ingrav Ð´Ð»Ñ Ð°Ñ‚Ð°ÐºÐ¸"
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr "(F) иÑпользовать #frillyar Ð´Ð»Ñ Ð°Ñ‚Ð°ÐºÐ¸"
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr "(U) иÑпользовать #upmarmu Ð´Ð»Ñ Ð°Ñ‚Ð°ÐºÐ¸"
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr "(?) неизвеÑÑ‚Ð½Ð°Ñ Ð¼Ð°Ð³Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ð°Ñ‚Ð°ÐºÐ°"
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr "(a) атаковать вÑех игроков"
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr "(f) атаковать вÑех кроме друзей"
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr "(b) атаковать врагов"
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr "(d) не атаковать игроков"
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr "(?) pvp атака"
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr "(D) Ð¸Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ Ð¿Ð¾ умолчанию"
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr "(O) Ð¸Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ Ð½Ð°Ñ€Ñдов"
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr "(?) неизвеÑÑ‚Ð½Ð°Ñ Ð¸Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ"
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "Отошел"
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr "(O) возле компьютера"
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr "(A) отошел"
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr "(?) неизвеÑтный режим отошел"
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr "(G) Ð¸Ð³Ñ€Ð¾Ð²Ð°Ñ ÐºÐ°Ð¼ÐµÑ€Ð°"
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr "(F) ÑÐ²Ð¾Ð±Ð¾Ð´Ð½Ð°Ñ ÐºÐ°Ð¼ÐµÑ€Ð°"
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr "Игровые модификаторы включены"
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr "Игровые модификаторы выключены"
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr "Игровые модификаторы в неизвеÑтном положении"
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "Следование: "
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr "Следование отменено"
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr "ИмитациÑ: "
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr "Ð˜Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð¼ÐµÐ½ÐµÐ½Ð°"
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr "Вы видите "
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 32a6a190d..ca72c8765 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ManaPlus\n"
"Report-Msgid-Bugs-To: akaras@inbox.ru\n"
-"POT-Creation-Date: 2012-01-21 19:25+0300\n"
-"PO-Revision-Date: 2012-01-05 20:43+0000\n"
+"POT-Creation-Date: 2012-02-04 15:55+0300\n"
+"PO-Revision-Date: 2012-02-02 16:45+0000\n"
"Last-Translator: Andrei Karas <akaras@inbox.ru>\n"
"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/manaplus/"
"team/zh_CN/)\n"
@@ -34,277 +34,277 @@ msgid "miss"
msgstr "无法出售无法出售的物å“。"
#. TRANSLATORS: this away status writed in player nick
-#: src/being.cpp:1534
+#: src/being.cpp:1534 src/gui/whoisonline.cpp:749
msgid "A"
msgstr "A"
#. TRANSLATORS: this inactive status writed in player nick
-#: src/being.cpp:1539
+#: src/being.cpp:1539 src/gui/whoisonline.cpp:754
msgid "I"
msgstr "I"
-#: src/client.cpp:946 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
+#: src/client.cpp:953 src/gui/setup.cpp:54 src/gui/windowmenu.cpp:100
msgid "Setup"
msgstr "魔法攻击"
-#: src/client.cpp:953 src/gui/setup_perfomance.cpp:48
+#: src/client.cpp:960 src/gui/setup_perfomance.cpp:48
msgid "Perfomance"
msgstr "性能"
-#: src/client.cpp:958 src/gui/setup_video.cpp:315
+#: src/client.cpp:965 src/gui/setup_video.cpp:319
msgid "Video"
msgstr "视频"
-#: src/client.cpp:963
+#: src/client.cpp:970
msgid "Themes"
msgstr "主题"
-#: src/client.cpp:1045
+#: src/client.cpp:1052
msgid "Connecting to server"
msgstr "魔法防御"
-#: src/client.cpp:1076
+#: src/client.cpp:1083
msgid "Logging in"
msgstr "å°è¯•æ¡èµ·ä¸å­˜åœ¨çš„物å“。"
-#: src/client.cpp:1109
+#: src/client.cpp:1116
msgid "Entering game world"
msgstr "æ¡èµ·ç‰©å“å‘生ä¸å­˜åœ¨çš„物å“。"
-#: src/client.cpp:1210
+#: src/client.cpp:1217
msgid "Requesting characters"
msgstr "请求角色"
-#: src/client.cpp:1241
+#: src/client.cpp:1252
msgid "Connecting to the game server"
msgstr "连接到游æˆæœåŠ¡å™¨"
-#: src/client.cpp:1251
+#: src/client.cpp:1262
msgid "Changing game servers"
msgstr "更改游æˆæœåŠ¡å™¨"
-#: src/client.cpp:1294 src/client.cpp:1301 src/client.cpp:1435
+#: src/client.cpp:1305 src/client.cpp:1312 src/client.cpp:1446
#: src/gui/changeemaildialog.cpp:157 src/gui/changepassworddialog.cpp:147
-#: src/gui/charcreatedialog.cpp:230 src/gui/charselectdialog.cpp:256
-#: src/gui/register.cpp:228 src/gui/serverdialog.cpp:401
+#: src/gui/charcreatedialog.cpp:272 src/gui/charselectdialog.cpp:256
+#: src/gui/editserverdialog.cpp:174 src/gui/register.cpp:228
#: src/gui/unregisterdialog.cpp:137 src/net/ea/charserverhandler.cpp:170
#: src/net/ea/charserverhandler.cpp:188 src/net/manaserv/charhandler.cpp:184
#: src/net/manaserv/charhandler.cpp:227
msgid "Error"
msgstr "错误"
-#: src/client.cpp:1310
+#: src/client.cpp:1321
msgid "Requesting registration details"
msgstr "请求注册的详细信æ¯"
-#: src/client.cpp:1336
+#: src/client.cpp:1347
msgid "Password Change"
msgstr "密ç æ›´æ”¹"
-#: src/client.cpp:1337
+#: src/client.cpp:1348
msgid "Password changed successfully!"
msgstr "更改密ç æˆåŠŸï¼"
-#: src/client.cpp:1356
+#: src/client.cpp:1367
msgid "Email Change"
msgstr "更改电å­é‚®ä»¶"
-#: src/client.cpp:1357
+#: src/client.cpp:1368
msgid "Email changed successfully!"
msgstr "更改电å­é‚®ä»¶æˆåŠŸï¼"
-#: src/client.cpp:1377
+#: src/client.cpp:1388
msgid "Unregister Successful"
msgstr "注销æˆåŠŸ"
-#: src/client.cpp:1378
+#: src/client.cpp:1389
msgid "Farewell, come back any time..."
msgstr "å†è§ï¼Œéšæ—¶æ¬¢è¿Žå›žæ¥... ..."
-#: src/client.cpp:1583 src/client.cpp:1616 src/client.cpp:1631
-#: src/client.cpp:2063 src/client.cpp:2070
+#: src/client.cpp:1594 src/client.cpp:1627 src/client.cpp:1642
+#: src/client.cpp:2074 src/client.cpp:2081
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr "%s ä¸å­˜åœ¨ï¼Œå¹¶ä¸”无法创建ï¼é€€å‡ºã€‚"
-#: src/client.cpp:1769
+#: src/client.cpp:1780
#, c-format
msgid "Invalid update host: %s"
msgstr "无效的更新主机: %s"
-#: src/client.cpp:1803 src/client.cpp:1809
+#: src/client.cpp:1814 src/client.cpp:1820
msgid "Error creating updates directory!"
msgstr "创建更新目录错误ï¼"
-#: src/client.cpp:1830
+#: src/client.cpp:1841
#, c-format
msgid "Error: %s doesn't exist and can't be created! Exiting."
msgstr "错误:%s ä¸å­˜åœ¨å¹¶ä¸”无法创建ï¼é€€å‡ºã€‚"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:213
msgid "Unknown command."
msgstr "未知命令。"
-#: src/commandhandler.cpp:332
+#: src/commandhandler.cpp:333
msgid "Cannot send empty whispers!"
msgstr "无法å‘é€ç©ºç™½å¯†è¯­ï¼"
-#: src/commandhandler.cpp:346
+#: src/commandhandler.cpp:347
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr "æ— æ³•åŒ \"%s\" 建立一个ç§äººè°ˆè¯æ ‡ç­¾é¡µï¼æˆ–者已ç»å­˜åœ¨ï¼Œæˆ–者那就是自己。"
-#: src/commandhandler.cpp:366
+#: src/commandhandler.cpp:367
#, c-format
msgid "Requesting to join channel %s."
msgstr "请求加入频é“%s。"
-#: src/commandhandler.cpp:382 src/net/ea/gui/partytab.cpp:125
+#: src/commandhandler.cpp:383 src/net/ea/gui/partytab.cpp:125
msgid "Party name is missing."
msgstr "帮会å称缺失。"
-#: src/commandhandler.cpp:393
+#: src/commandhandler.cpp:394
msgid "Guild name is missing."
msgstr "公会å称是缺少的。"
-#: src/commandhandler.cpp:406 src/commandhandler.cpp:523
-#: src/commandhandler.cpp:564 src/commandhandler.cpp:604
+#: src/commandhandler.cpp:407 src/commandhandler.cpp:524
+#: src/commandhandler.cpp:565 src/commandhandler.cpp:605
msgid "Please specify a name."
msgstr "请指定一个å称。"
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:457
+#: src/commandhandler.cpp:458
msgid "Message closes chat."
msgstr "讯æ¯å…³é—­èŠå¤©ã€‚"
-#: src/commandhandler.cpp:468
+#: src/commandhandler.cpp:469
msgid "Return now toggles chat."
msgstr "<回车>键现在切æ¢èŠå¤©ã€‚"
-#: src/commandhandler.cpp:474
+#: src/commandhandler.cpp:475
msgid "Message now closes chat."
msgstr "讯æ¯çŽ°åœ¨å…³é—­èŠå¤©ã€‚"
-#: src/commandhandler.cpp:502
+#: src/commandhandler.cpp:503
msgid "friend"
msgstr "朋å‹"
-#: src/commandhandler.cpp:507
+#: src/commandhandler.cpp:508
msgid "disregarded"
msgstr "无视"
-#: src/commandhandler.cpp:512
+#: src/commandhandler.cpp:513
msgid "neutral"
msgstr "中性"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:532
#, c-format
msgid "Player already %s!"
msgstr "玩家已ç»%s!"
-#: src/commandhandler.cpp:545
+#: src/commandhandler.cpp:546
#, c-format
msgid "Player successfully %s!"
msgstr "玩家æˆåŠŸ%s!"
-#: src/commandhandler.cpp:553
+#: src/commandhandler.cpp:554
#, c-format
msgid "Player could not be %s!"
msgstr "玩家ä¸èƒ½ä¸º %s"
-#: src/commandhandler.cpp:576
+#: src/commandhandler.cpp:577
msgid "Player wasn't ignored!"
msgstr "是ä¸èƒ½å¿½è§†çš„ï¼"
-#: src/commandhandler.cpp:583
+#: src/commandhandler.cpp:584
msgid "Player no longer ignored!"
msgstr "玩家ä¸å†è¢«å¿½ç•¥ï¼"
-#: src/commandhandler.cpp:585
+#: src/commandhandler.cpp:586
msgid "Player could not be unignored!"
msgstr "玩家ä¸èƒ½è¢«å¿½ç•¥!"
-#: src/commandhandler.cpp:591
+#: src/commandhandler.cpp:592
msgid "blacklisted"
msgstr ""
-#: src/commandhandler.cpp:596
+#: src/commandhandler.cpp:597
msgid "enemy"
msgstr ""
-#: src/commandhandler.cpp:611
+#: src/commandhandler.cpp:612
msgid "Player already erased!"
msgstr "玩家已ç»è¢«åˆ é™¤!"
-#: src/commandhandler.cpp:622
+#: src/commandhandler.cpp:623
msgid "Player successfully erased!"
msgstr "玩家æˆåŠŸåˆ é™¤ï¼"
-#: src/commandhandler.cpp:624
+#: src/commandhandler.cpp:625
msgid "Player could not be erased!"
msgstr "玩家无法删除ï¼"
-#: src/commandhandler.cpp:931 src/commandhandler.cpp:977
+#: src/commandhandler.cpp:938 src/commandhandler.cpp:984
#, c-format
msgid "Client uptime: %s"
msgstr ""
-#: src/commandhandler.cpp:941
+#: src/commandhandler.cpp:948
#, c-format
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] ""
-#: src/commandhandler.cpp:950
+#: src/commandhandler.cpp:957
#, c-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] ""
-#: src/commandhandler.cpp:958
+#: src/commandhandler.cpp:965
#, c-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] ""
-#: src/commandhandler.cpp:966
+#: src/commandhandler.cpp:973
#, c-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] ""
-#: src/commandhandler.cpp:974
+#: src/commandhandler.cpp:981
#, c-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] ""
-#: src/commandhandler.cpp:1053
+#: src/commandhandler.cpp:1060
msgid "font cache size"
msgstr "字体缓存大å°"
-#: src/commandhandler.cpp:1065
+#: src/commandhandler.cpp:1072
msgid "Cache size:"
msgstr ""
-#: src/commandhandler.cpp:1069
+#: src/commandhandler.cpp:1076
msgid "Created:"
msgstr "创建于:"
-#: src/commandhandler.cpp:1071
+#: src/commandhandler.cpp:1078
msgid "Deleted:"
msgstr "删除:"
-#: src/commandhandler.cpp:1226 src/commandhandler.cpp:1233
+#: src/commandhandler.cpp:1236 src/commandhandler.cpp:1243
msgid "Resource images:"
msgstr ""
-#: src/commandhandler.cpp:1228 src/commandhandler.cpp:1235
+#: src/commandhandler.cpp:1238 src/commandhandler.cpp:1245
msgid "Resource orphaned images:"
msgstr ""
@@ -313,43 +313,43 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr "/%s的选项是\"yes\",\"no\",\"true\",\"false\",\"1\",\"0\"。"
-#: src/game.cpp:254 src/gui/widgets/chattab.cpp:405
+#: src/game.cpp:254 src/gui/widgets/chattab.cpp:413
msgid "General"
msgstr "常规"
-#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:407
+#: src/game.cpp:258 src/gui/debugwindow.cpp:54 src/gui/widgets/chattab.cpp:415
msgid "Debug"
msgstr "调试 "
-#: src/game.cpp:508
+#: src/game.cpp:510
msgid "Screenshot saved as "
msgstr "截图ä¿å­˜ä¸º"
-#: src/game.cpp:516
+#: src/game.cpp:518
msgid "Saving screenshot failed!"
msgstr "ä¿å­˜å±å¹•å¿«ç…§å¤±è´¥ï¼"
-#: src/game.cpp:558
+#: src/game.cpp:560
msgid "The connection to the server was lost."
msgstr "æœåŠ¡å™¨çš„连接丢失。"
-#: src/game.cpp:559
+#: src/game.cpp:561
msgid "Network Error"
msgstr "网络错误"
-#: src/game.cpp:1270
+#: src/game.cpp:1273
msgid "Ignoring incoming trade requests"
msgstr "忽略新进的交易请求"
-#: src/game.cpp:1280
+#: src/game.cpp:1283
msgid "Accepting incoming trade requests"
msgstr "接å—传入的交易请求"
-#: src/game.cpp:1786
+#: src/game.cpp:1797
msgid "Could Not Load Map"
msgstr "ä¸èƒ½åŠ è½½åœ°å›¾"
-#: src/game.cpp:1787
+#: src/game.cpp:1798
#, c-format
msgid "Error while loading %s"
msgstr "加载%s时出现错误"
@@ -403,7 +403,7 @@ msgstr "移动"
msgid "Result"
msgstr "结果"
-#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:124
+#: src/gui/botcheckerwindow.cpp:311 src/gui/npcdialog.cpp:128
msgid "Reset"
msgstr "é‡ç½®"
@@ -425,30 +425,30 @@ msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:207
-#: src/gui/itemamountwindow.cpp:235 src/gui/npcdialog.cpp:114
-#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:765
+#: src/gui/buydialog.cpp:108 src/gui/itemamountwindow.cpp:205
+#: src/gui/itemamountwindow.cpp:233 src/gui/npcdialog.cpp:118
+#: src/gui/selldialog.cpp:91 src/gui/statuswindow.cpp:770
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:206
-#: src/gui/itemamountwindow.cpp:234 src/gui/npcdialog.cpp:115
-#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:777
+#: src/gui/buydialog.cpp:111 src/gui/itemamountwindow.cpp:204
+#: src/gui/itemamountwindow.cpp:232 src/gui/npcdialog.cpp:119
+#: src/gui/selldialog.cpp:92 src/gui/statuswindow.cpp:782
msgid "-"
msgstr "-"
#: src/gui/buydialog.cpp:113 src/gui/quitdialog.cpp:47
#: src/gui/quitdialog.cpp:50 src/gui/quitdialog.cpp:51
-#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:294
+#: src/gui/selldialog.cpp:94 src/gui/serverdialog.cpp:261
#: src/keyboardconfig.cpp:84
msgid "Quit"
msgstr "退出"
#: src/gui/buydialog.cpp:114 src/gui/selldialog.cpp:95
-#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:565
-#: src/gui/statuswindow.cpp:764 src/gui/statuswindow.cpp:795
+#: src/gui/statuswindow.cpp:515 src/gui/statuswindow.cpp:570
+#: src/gui/statuswindow.cpp:769 src/gui/statuswindow.cpp:800
msgid "Max"
msgstr "最大"
@@ -465,21 +465,21 @@ msgid "Sell"
msgstr "出售"
#: src/gui/buyselldialog.cpp:65 src/gui/changeemaildialog.cpp:59
-#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:105
-#: src/gui/connectiondialog.cpp:47 src/gui/itemamountwindow.cpp:209
-#: src/gui/npcpostdialog.cpp:58 src/gui/popupmenu.cpp:348
-#: src/gui/popupmenu.cpp:385 src/gui/popupmenu.cpp:522
-#: src/gui/popupmenu.cpp:550 src/gui/popupmenu.cpp:576
-#: src/gui/popupmenu.cpp:592 src/gui/popupmenu.cpp:613
-#: src/gui/popupmenu.cpp:841 src/gui/popupmenu.cpp:867
-#: src/gui/popupmenu.cpp:1850 src/gui/popupmenu.cpp:1880
-#: src/gui/popupmenu.cpp:1938 src/gui/popupmenu.cpp:1985
-#: src/gui/popupmenu.cpp:2022 src/gui/popupmenu.cpp:2063
-#: src/gui/popupmenu.cpp:2117 src/gui/popupmenu.cpp:2139
-#: src/gui/quitdialog.cpp:55 src/gui/register.cpp:82 src/gui/setup.cpp:72
-#: src/gui/socialwindow.cpp:1198 src/gui/textcommandeditor.cpp:241
-#: src/gui/textdialog.cpp:51 src/gui/unregisterdialog.cpp:59
-#: src/gui/updaterwindow.cpp:162
+#: src/gui/changepassworddialog.cpp:61 src/gui/charcreatedialog.cpp:124
+#: src/gui/connectiondialog.cpp:47 src/gui/editserverdialog.cpp:79
+#: src/gui/itemamountwindow.cpp:207 src/gui/npcpostdialog.cpp:58
+#: src/gui/popupmenu.cpp:348 src/gui/popupmenu.cpp:385
+#: src/gui/popupmenu.cpp:522 src/gui/popupmenu.cpp:550
+#: src/gui/popupmenu.cpp:576 src/gui/popupmenu.cpp:592
+#: src/gui/popupmenu.cpp:613 src/gui/popupmenu.cpp:841
+#: src/gui/popupmenu.cpp:867 src/gui/popupmenu.cpp:1850
+#: src/gui/popupmenu.cpp:1880 src/gui/popupmenu.cpp:1938
+#: src/gui/popupmenu.cpp:1985 src/gui/popupmenu.cpp:2022
+#: src/gui/popupmenu.cpp:2063 src/gui/popupmenu.cpp:2117
+#: src/gui/popupmenu.cpp:2139 src/gui/quitdialog.cpp:55
+#: src/gui/register.cpp:82 src/gui/setup.cpp:72 src/gui/socialwindow.cpp:1198
+#: src/gui/textcommandeditor.cpp:241 src/gui/textdialog.cpp:51
+#: src/gui/unregisterdialog.cpp:59 src/gui/updaterwindow.cpp:168
msgid "Cancel"
msgstr "å–消"
@@ -515,7 +515,7 @@ msgstr "电å­é‚®ä»¶åœ°å€ä¸åŒ¹é…。"
msgid "Change Password"
msgstr "æ›´æ¢å¯†ç "
-#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:95
+#: src/gui/changepassworddialog.cpp:64 src/gui/logindialog.cpp:96
#: src/gui/register.cpp:76 src/gui/unregisterdialog.cpp:56
msgid "Password:"
msgstr "密ç ï¼š"
@@ -542,68 +542,73 @@ msgstr "新密ç å¿…é¡»å°äºŽ%d个字符长。"
msgid "The new password entries mismatch."
msgstr "新的密ç è¾“å…¥ä¸åŒ¹é…。"
-#: src/gui/charcreatedialog.cpp:59
-msgid "Create Character"
-msgstr "创建角色"
+#: src/gui/charcreatedialog.cpp:70
+msgid "New Character"
+msgstr ""
-#: src/gui/charcreatedialog.cpp:85 src/gui/logindialog.cpp:94
-#: src/gui/register.cpp:75
+#: src/gui/charcreatedialog.cpp:99 src/gui/editserverdialog.cpp:61
+#: src/gui/logindialog.cpp:95 src/gui/register.cpp:75
msgid "Name:"
msgstr "姓å"
#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:88 src/gui/charcreatedialog.cpp:93
-#: src/gui/charcreatedialog.cpp:99 src/gui/outfitwindow.cpp:85
+#: src/gui/charcreatedialog.cpp:102 src/gui/charcreatedialog.cpp:108
+#: src/gui/charcreatedialog.cpp:113 src/gui/charcreatedialog.cpp:117
+#: src/gui/outfitwindow.cpp:85
msgid ">"
msgstr ">"
#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:91 src/gui/charcreatedialog.cpp:94
-#: src/gui/charcreatedialog.cpp:100 src/gui/outfitwindow.cpp:84
+#: src/gui/charcreatedialog.cpp:105 src/gui/charcreatedialog.cpp:109
+#: src/gui/charcreatedialog.cpp:118 src/gui/outfitwindow.cpp:84
msgid "<"
msgstr "<"
-#: src/gui/charcreatedialog.cpp:92
+#: src/gui/charcreatedialog.cpp:106
msgid "Hair color:"
msgstr "头å‘颜色:"
-#: src/gui/charcreatedialog.cpp:95
+#: src/gui/charcreatedialog.cpp:110
msgid "Hair style:"
msgstr "å‘型:"
-#: src/gui/charcreatedialog.cpp:101
+#: src/gui/charcreatedialog.cpp:112
+msgid "^"
+msgstr ""
+
+#: src/gui/charcreatedialog.cpp:119
msgid "Race:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:104 src/gui/charselectdialog.cpp:483
+#: src/gui/charcreatedialog.cpp:123 src/gui/charselectdialog.cpp:483
#: src/gui/socialwindow.cpp:1260
msgid "Create"
msgstr "建立"
-#: src/gui/charcreatedialog.cpp:106 src/gui/register.cpp:98
+#: src/gui/charcreatedialog.cpp:125 src/gui/register.cpp:98
msgid "Male"
msgstr "帅哥"
-#: src/gui/charcreatedialog.cpp:107 src/gui/register.cpp:99
+#: src/gui/charcreatedialog.cpp:126 src/gui/register.cpp:99
msgid "Female"
msgstr "美女"
-#: src/gui/charcreatedialog.cpp:125 src/gui/charcreatedialog.cpp:312
+#: src/gui/charcreatedialog.cpp:144 src/gui/charcreatedialog.cpp:368
#, c-format
msgid "Please distribute %d points"
msgstr "请分å‘%d点数"
-#: src/gui/charcreatedialog.cpp:231
+#: src/gui/charcreatedialog.cpp:273
msgid "Your name needs to be at least 4 characters."
msgstr "ä½ çš„å字需è¦è‡³å°‘4个字符"
-#: src/gui/charcreatedialog.cpp:303
+#: src/gui/charcreatedialog.cpp:359
msgid "Character stats OK"
msgstr "角色状æ€å¯ä»¥"
-#: src/gui/charcreatedialog.cpp:317
+#: src/gui/charcreatedialog.cpp:373
#, c-format
msgid "Please remove %d points"
msgstr "请删除%d点数"
@@ -645,9 +650,9 @@ msgstr "删除字符输入的密ç "
msgid "Enter password:"
msgstr "输入密ç ï¼š"
-#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:298
-#: src/gui/setup_relations.cpp:244 src/gui/shopwindow.cpp:122
-#: src/gui/shopwindow.cpp:125 src/gui/textcommandeditor.cpp:244
+#: src/gui/charselectdialog.cpp:413 src/gui/serverdialog.cpp:266
+#: src/gui/setup_relations.cpp:246 src/gui/shopwindow.cpp:123
+#: src/gui/shopwindow.cpp:126 src/gui/textcommandeditor.cpp:244
msgid "Delete"
msgstr "删除"
@@ -722,7 +727,7 @@ msgstr "彩虹3"
#: src/gui/chatwindow.cpp:146 src/gui/inventorywindow.cpp:90
#: src/gui/itemamountwindow.cpp:93 src/gui/logindialog.cpp:78
-#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:222
+#: src/gui/setup_joystick.cpp:60 src/gui/setup_relations.cpp:224
#: src/gui/setup_theme.cpp:74 src/gui/setup_theme.cpp:128
#: src/gui/setup_theme.cpp:174 src/gui/setup_video.cpp:211
#: src/gui/textcommandeditor.cpp:102 src/gui/textcommandeditor.cpp:141
@@ -734,12 +739,12 @@ msgstr "???"
msgid "Chat"
msgstr "èŠå¤©"
-#: src/gui/chatwindow.cpp:650
+#: src/gui/chatwindow.cpp:653
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chatwindow.cpp:1037
+#: src/gui/chatwindow.cpp:1040
#, c-format
msgid "Whispering to %s: %s"
msgstr "对%s密语到:%s"
@@ -903,8 +908,8 @@ msgid "Did You Know?"
msgstr "你知é“å—?"
#: src/gui/didyouknowwindow.cpp:63 src/gui/helpwindow.cpp:59
-#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:53
-#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:113
+#: src/gui/inventorywindow.cpp:205 src/gui/npcdialog.cpp:54
+#: src/gui/popupmenu.cpp:630 src/gui/shopwindow.cpp:114
msgid "Close"
msgstr "关闭"
@@ -920,11 +925,36 @@ msgstr "下一页>"
msgid "Auto open this window"
msgstr "自动打开这个窗å£"
-#: src/gui/editdialog.cpp:47 src/gui/itemamountwindow.cpp:208
-#: src/gui/okdialog.cpp:45 src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
+#: src/gui/editdialog.cpp:47 src/gui/editserverdialog.cpp:78
+#: src/gui/itemamountwindow.cpp:206 src/gui/okdialog.cpp:45
+#: src/gui/quitdialog.cpp:54 src/gui/textdialog.cpp:50
msgid "OK"
msgstr "确定"
+#: src/gui/editserverdialog.cpp:54
+msgid "Edit Server"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:62
+msgid "Address:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:63
+msgid "Port:"
+msgstr "端å£ï¼š"
+
+#: src/gui/editserverdialog.cpp:64
+msgid "Server type:"
+msgstr "æœåŠ¡å™¨ç±»åž‹ï¼š"
+
+#: src/gui/editserverdialog.cpp:65
+msgid "Description:"
+msgstr ""
+
+#: src/gui/editserverdialog.cpp:175
+msgid "Please at least type both the address and the port of the server."
+msgstr ""
+
#: src/gui/equipmentwindow.cpp:64 src/gui/windowmenu.cpp:74
msgid "Equipment"
msgstr "装备"
@@ -1022,39 +1052,39 @@ msgstr "å–回"
msgid "Drop"
msgstr "丢弃"
-#: src/gui/itemamountwindow.cpp:210
+#: src/gui/itemamountwindow.cpp:208
msgid "All"
msgstr "全部"
-#: src/gui/itemamountwindow.cpp:261
+#: src/gui/itemamountwindow.cpp:259
msgid "Select amount of items to trade."
msgstr "请选择交易的物å“æ•°é‡ã€‚"
-#: src/gui/itemamountwindow.cpp:264
+#: src/gui/itemamountwindow.cpp:262
msgid "Select amount of items to drop."
msgstr "请选择丢弃的物å“æ•°é‡ã€‚"
-#: src/gui/itemamountwindow.cpp:267
+#: src/gui/itemamountwindow.cpp:265
msgid "Select amount of items to store."
msgstr "请选择存储的物å“æ•°é‡ã€‚"
-#: src/gui/itemamountwindow.cpp:270
+#: src/gui/itemamountwindow.cpp:268
msgid "Select amount of items to retrieve."
msgstr "请选择å–回的物å“æ•°é‡ã€‚"
-#: src/gui/itemamountwindow.cpp:273
+#: src/gui/itemamountwindow.cpp:271
msgid "Select amount of items to split."
msgstr "请选择你分离的物å“çš„æ•°é‡"
-#: src/gui/itemamountwindow.cpp:276
+#: src/gui/itemamountwindow.cpp:274
msgid "Add to buy shop."
msgstr "添加到购买商店。"
-#: src/gui/itemamountwindow.cpp:279
+#: src/gui/itemamountwindow.cpp:277
msgid "Add to sell shop."
msgstr "添加到出售商店。"
-#: src/gui/itemamountwindow.cpp:282
+#: src/gui/itemamountwindow.cpp:280
msgid "Unknown."
msgstr "未知。"
@@ -1169,32 +1199,31 @@ msgstr "自动关闭"
msgid "Skip"
msgstr "跳过"
-#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:123
+#: src/gui/logindialog.cpp:86 src/gui/logindialog.cpp:124
msgid "Login"
msgstr "登录"
-#: src/gui/logindialog.cpp:91 src/gui/serverdialog.cpp:252
-#: src/gui/widgets/chattab.cpp:173
+#: src/gui/logindialog.cpp:92 src/gui/widgets/chattab.cpp:173
msgid "Server:"
msgstr "æœåŠ¡å™¨ï¼š"
-#: src/gui/logindialog.cpp:96
+#: src/gui/logindialog.cpp:97
msgid "Custom update host"
msgstr "自定义更新主机"
-#: src/gui/logindialog.cpp:110
+#: src/gui/logindialog.cpp:111
msgid "Remember username"
msgstr "è®°ä½ç”¨æˆ·å"
-#: src/gui/logindialog.cpp:111
+#: src/gui/logindialog.cpp:112
msgid "Update:"
msgstr "更新日期:"
-#: src/gui/logindialog.cpp:121 src/gui/register.cpp:66 src/gui/register.cpp:81
+#: src/gui/logindialog.cpp:122 src/gui/register.cpp:66 src/gui/register.cpp:81
msgid "Register"
msgstr "注册"
-#: src/gui/logindialog.cpp:122
+#: src/gui/logindialog.cpp:123
msgid "Change Server"
msgstr "更改æœåŠ¡å™¨"
@@ -1238,24 +1267,24 @@ msgstr "状æ€æ "
msgid "Need"
msgstr "需è¦"
-#: src/gui/npcdialog.cpp:51
+#: src/gui/npcdialog.cpp:52
msgid "Stop waiting"
msgstr ""
-#: src/gui/npcdialog.cpp:52
+#: src/gui/npcdialog.cpp:53
msgid "Next"
msgstr "下一个"
-#: src/gui/npcdialog.cpp:54
+#: src/gui/npcdialog.cpp:55
msgid "Submit"
msgstr "æ交"
-#: src/gui/npcdialog.cpp:59 src/gui/npcpostdialog.cpp:42
+#: src/gui/npcdialog.cpp:60 src/gui/npcpostdialog.cpp:42
#: src/gui/setup_other.cpp:151
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:108 src/gui/popupmenu.cpp:632
+#: src/gui/npcdialog.cpp:112 src/gui/popupmenu.cpp:632
msgid "Clear"
msgstr "清除"
@@ -1271,12 +1300,13 @@ msgstr "å‘é€"
msgid "Failed to send as sender or letter invalid."
msgstr "å‘é€ä¿¡ä»¶å¤±è´¥æˆ–者信件无效。"
-#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:890
+#: src/gui/outfitwindow.cpp:86 src/gui/outfitwindow.cpp:547
#, c-format
msgid "Outfit: %d"
msgstr "套装: %d"
-#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:892
+#: src/gui/outfitwindow.cpp:88 src/gui/outfitwindow.cpp:549
+#: src/gui/windowmenu.cpp:302
#, c-format
msgid "Key: %s"
msgstr "按键:%s"
@@ -1681,64 +1711,58 @@ msgstr "密ç ä¸èƒ½å°‘于%d个字符。"
msgid "Passwords do not match."
msgstr "密ç ä¸ä¸€è‡´."
-#: src/gui/serverdialog.cpp:237
+#: src/gui/serverdialog.cpp:228
msgid "Choose Your Server"
msgstr "选择您的æœåŠ¡å™¨"
-#: src/gui/serverdialog.cpp:248
+#: src/gui/serverdialog.cpp:239
msgid "Choose Your Server *** SAFE MODE ***"
msgstr "选择你的æœåŠ¡å™¨***安全模å¼***"
-#: src/gui/serverdialog.cpp:253
-msgid "Port:"
-msgstr "端å£ï¼š"
-
-#: src/gui/serverdialog.cpp:257
+#: src/gui/serverdialog.cpp:243
msgid "Use same ip for game sub servers"
msgstr "游æˆåˆ†æœåŠ¡å™¨ä½¿ç”¨ç›¸åŒçš„IP"
-#: src/gui/serverdialog.cpp:271
-msgid "Server type:"
-msgstr "æœåŠ¡å™¨ç±»åž‹ï¼š"
-
-#: src/gui/serverdialog.cpp:295
+#: src/gui/serverdialog.cpp:262
msgid "Load"
msgstr "è´Ÿè½½"
-#: src/gui/serverdialog.cpp:296
+#: src/gui/serverdialog.cpp:263
msgid "Connect"
msgstr "连接"
-#: src/gui/serverdialog.cpp:297
-msgid "Custom Server"
-msgstr "自定义æœåŠ¡å™¨"
+#: src/gui/serverdialog.cpp:264 src/gui/shopwindow.cpp:122
+#: src/gui/shopwindow.cpp:125 src/gui/tradewindow.cpp:89
+msgid "Add"
+msgstr "添加"
-#: src/gui/serverdialog.cpp:402
-msgid "Please type both the address and the port of a server."
-msgstr "请输入æœåŠ¡å™¨çš„IP地å€å’Œç«¯å£"
+#: src/gui/serverdialog.cpp:265 src/gui/widgets/setupitem.cpp:271
+#: src/gui/widgets/setupitem.cpp:394
+msgid "Edit"
+msgstr "编辑"
-#: src/gui/serverdialog.cpp:560
+#: src/gui/serverdialog.cpp:448
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "下载æœåŠ¡å™¨åˆ—表...%2.2f%%"
-#: src/gui/serverdialog.cpp:565
+#: src/gui/serverdialog.cpp:453
msgid "Waiting for server..."
msgstr "等待æœåŠ¡å™¨..."
-#: src/gui/serverdialog.cpp:569
+#: src/gui/serverdialog.cpp:457
msgid "Preparing download"
msgstr "准备下载"
-#: src/gui/serverdialog.cpp:573
+#: src/gui/serverdialog.cpp:461
msgid "Error retreiving server list!"
msgstr "æ¢å¤æœåŠ¡å™¨åˆ—表错误ï¼"
-#: src/gui/serverdialog.cpp:681
+#: src/gui/serverdialog.cpp:548
msgid "requires a newer version"
msgstr "需è¦è¾ƒæ–°ç‰ˆæœ¬"
-#: src/gui/serverdialog.cpp:683
+#: src/gui/serverdialog.cpp:550
#, c-format
msgid "requires v%s"
msgstr "éœ€è¦ v%s"
@@ -2302,23 +2326,23 @@ msgstr ""
msgid "Enemy"
msgstr ""
-#: src/gui/setup_relations.cpp:240
+#: src/gui/setup_relations.cpp:242
msgid "Allow trading"
msgstr "å…许交易"
-#: src/gui/setup_relations.cpp:242
+#: src/gui/setup_relations.cpp:244
msgid "Allow whispers"
msgstr "å…许密语"
-#: src/gui/setup_relations.cpp:245
+#: src/gui/setup_relations.cpp:247
msgid "Old"
msgstr "æ—§"
-#: src/gui/setup_relations.cpp:247
+#: src/gui/setup_relations.cpp:249
msgid "Relations"
msgstr "关系"
-#: src/gui/setup_relations.cpp:272
+#: src/gui/setup_relations.cpp:271
msgid "When ignoring:"
msgstr "当忽略时:"
@@ -2446,8 +2470,8 @@ msgstr "字体大å°"
msgid "Theme Changed"
msgstr "主题更改"
-#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:619
-#: src/gui/setup_video.cpp:624
+#: src/gui/setup_theme.cpp:379 src/gui/setup_video.cpp:636
+#: src/gui/setup_video.cpp:641
msgid "Restart your client for the change to take effect."
msgstr "é‡å¯æ‚¨çš„游æˆå®¢æˆ·ç«¯ä»¥ä½¿å˜æ›´ç”Ÿæ•ˆã€‚"
@@ -2499,148 +2523,151 @@ msgstr "中"
msgid "max"
msgstr "最大"
-#: src/gui/setup_video.cpp:288
+#: src/gui/setup_video.cpp:290
msgid "Full screen"
msgstr "å…¨å±"
-#: src/gui/setup_video.cpp:289
+#: src/gui/setup_video.cpp:291
msgid "Custom cursor"
msgstr "自定义鼠标"
-#: src/gui/setup_video.cpp:291
+#: src/gui/setup_video.cpp:293
msgid "Particle effects"
msgstr "ç²’å­æ•ˆæžœ"
-#: src/gui/setup_video.cpp:293
+#: src/gui/setup_video.cpp:295
msgid "Show pickup notification"
msgstr "显示拾起通知"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:295
+#: src/gui/setup_video.cpp:297
msgid "in chat"
msgstr "èŠå¤©ä¸­"
#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:297
+#: src/gui/setup_video.cpp:299
msgid "as particle"
msgstr "作为å‘射武器"
+#: src/gui/setup_video.cpp:301
+msgid "Enable resize"
+msgstr ""
+
#: src/gui/setup_video.cpp:302
+msgid "No frame"
+msgstr ""
+
+#: src/gui/setup_video.cpp:306
msgid "FPS limit:"
msgstr "FPSé™åˆ¶ï¼š"
-#: src/gui/setup_video.cpp:306 src/gui/setup_video.cpp:341
-#: src/gui/setup_video.cpp:562 src/gui/setup_video.cpp:710
+#: src/gui/setup_video.cpp:310 src/gui/setup_video.cpp:345
+#: src/gui/setup_video.cpp:574 src/gui/setup_video.cpp:730
msgid "Alt FPS limit: "
msgstr ""
-#: src/gui/setup_video.cpp:321
+#: src/gui/setup_video.cpp:325
msgid "Overhead text"
msgstr "头顶文字"
-#: src/gui/setup_video.cpp:322
+#: src/gui/setup_video.cpp:326
msgid "Gui opacity"
msgstr "Gui é€æ˜Žåº¦"
-#: src/gui/setup_video.cpp:323
+#: src/gui/setup_video.cpp:327
msgid "Ambient FX"
msgstr "环境音效"
-#: src/gui/setup_video.cpp:324
+#: src/gui/setup_video.cpp:328
msgid "Particle detail"
msgstr "l"
-#: src/gui/setup_video.cpp:339 src/gui/setup_video.cpp:342
-#: src/gui/setup_video.cpp:561 src/gui/setup_video.cpp:696
-#: src/gui/setup_video.cpp:708
+#: src/gui/setup_video.cpp:343 src/gui/setup_video.cpp:346
+#: src/gui/setup_video.cpp:573 src/gui/setup_video.cpp:716
+#: src/gui/setup_video.cpp:728
msgid "None"
msgstr "w"
-#: src/gui/setup_video.cpp:484
+#: src/gui/setup_video.cpp:494
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "切æ¢åˆ°çª—å£æ¨¡å¼ï¼Œå¹¶æ¢å¤æ—§çš„模å¼ï¼Œä¹Ÿæ²¡æœ‰å¤±è´¥ï¼"
-#: src/gui/setup_video.cpp:490
+#: src/gui/setup_video.cpp:500
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:501
+#: src/gui/setup_video.cpp:511
msgid "Switching to Full Screen"
msgstr "切æ¢åˆ°å…¨å±"
-#: src/gui/setup_video.cpp:502
+#: src/gui/setup_video.cpp:512
msgid "Restart needed for changes to take effect."
msgstr "é‡å¯ç”Ÿæ•ˆ"
-#: src/gui/setup_video.cpp:514
+#: src/gui/setup_video.cpp:524
msgid "Changing to OpenGL"
msgstr "切æ¢åˆ°OpenGL"
-#: src/gui/setup_video.cpp:515
+#: src/gui/setup_video.cpp:525
msgid "Applying change to OpenGL requires restart."
msgstr "è¿ç”¨æ”¹å˜ä¸ºOpenGL需è¦é‡æ–°å¼€å§‹"
-#: src/gui/setup_video.cpp:602
+#: src/gui/setup_video.cpp:618
msgid "Custom resolution (example: 1024x768)"
msgstr "自定义分辨率 (例如: 1024x768)"
-#: src/gui/setup_video.cpp:603
+#: src/gui/setup_video.cpp:619
msgid "Enter new resolution: "
msgstr "输入新的分辨率:"
-#: src/gui/setup_video.cpp:618 src/gui/setup_video.cpp:623
+#: src/gui/setup_video.cpp:635 src/gui/setup_video.cpp:640
msgid "Screen Resolution Changed"
msgstr "å±å¹•åˆ†è¾¨çŽ‡å·²æ›´æ”¹"
-#: src/gui/setup_video.cpp:621
+#: src/gui/setup_video.cpp:638
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:654
+#: src/gui/setup_video.cpp:674
msgid "Particle Effect Settings Changed."
msgstr "ç²’å­æ•ˆæžœæ›´æ”¹çš„设置。"
-#: src/gui/setup_video.cpp:655
+#: src/gui/setup_video.cpp:675
msgid "Changes will take effect on map change."
msgstr "å˜æ›´ä¼šåœ¨åœ°å›¾æ›´æ¢æ—¶ç”Ÿæ•ˆã€‚"
-#: src/gui/shopwindow.cpp:75
+#: src/gui/shopwindow.cpp:76
msgid "Personal Shop"
msgstr "个人商店"
-#: src/gui/shopwindow.cpp:118
+#: src/gui/shopwindow.cpp:119
msgid "Buy items"
msgstr "购买物å“"
-#: src/gui/shopwindow.cpp:119
+#: src/gui/shopwindow.cpp:120
msgid "Sell items"
msgstr "出售物å“"
-#: src/gui/shopwindow.cpp:121 src/gui/shopwindow.cpp:124
-#: src/gui/tradewindow.cpp:89
-msgid "Add"
-msgstr "添加"
-
-#: src/gui/shopwindow.cpp:123 src/gui/shopwindow.cpp:126
+#: src/gui/shopwindow.cpp:124 src/gui/shopwindow.cpp:127
msgid "Announce"
msgstr "公布"
-#: src/gui/shopwindow.cpp:127
+#: src/gui/shopwindow.cpp:128
msgid "Show links in announce"
msgstr "显示在公布的è”ç³»"
-#: src/gui/shopwindow.cpp:148 src/gui/shopwindow.cpp:149
+#: src/gui/shopwindow.cpp:149 src/gui/shopwindow.cpp:150
msgid "Auction"
msgstr "æ‹å–"
-#: src/gui/shopwindow.cpp:748 src/net/ea/tradehandler.cpp:104
+#: src/gui/shopwindow.cpp:761 src/net/ea/tradehandler.cpp:104
#: src/net/manaserv/tradehandler.cpp:127
msgid "Request for Trade"
msgstr "请求交易"
-#: src/gui/shopwindow.cpp:749
+#: src/gui/shopwindow.cpp:762
#, c-format
msgid "%s wants to %s %s do you accept?"
msgstr "%s想è¦%s %s 你接å—å—?"
@@ -2767,7 +2794,7 @@ msgstr ""
msgid "Create Guild"
msgstr "创建帮会"
-#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1629
+#: src/gui/socialwindow.cpp:1196 src/gui/socialwindow.cpp:1631
msgid "Create Party"
msgstr "建立"
@@ -2779,93 +2806,103 @@ msgstr ""
msgid "Invite"
msgstr "邀请"
-#: src/gui/socialwindow.cpp:1412
+#. TRANSLATORS: here P is title for visible players tab in social window
+#: src/gui/socialwindow.cpp:1277
+msgid "P"
+msgstr ""
+
+#. TRANSLATORS: here F is title for friends tab in social window
+#: src/gui/socialwindow.cpp:1281
+msgid "F"
+msgstr ""
+
+#: src/gui/socialwindow.cpp:1414
#, c-format
msgid "Accepted party invite from %s."
msgstr "接å—%s团队的邀请."
-#: src/gui/socialwindow.cpp:1422
+#: src/gui/socialwindow.cpp:1424
#, c-format
msgid "Rejected party invite from %s."
msgstr "æ‹’ç»%s的团队邀请."
-#: src/gui/socialwindow.cpp:1439
+#: src/gui/socialwindow.cpp:1441
#, c-format
msgid "Accepted guild invite from %s."
msgstr "已接å—公会邀请æ¥è‡ª%s."
-#: src/gui/socialwindow.cpp:1452
+#: src/gui/socialwindow.cpp:1454
#, c-format
msgid "Rejected guild invite from %s."
msgstr "æ‹’ç»%s的公会邀请."
-#: src/gui/socialwindow.cpp:1499
+#: src/gui/socialwindow.cpp:1501
#, c-format
msgid "Creating guild called %s."
msgstr "创建公会的å为%s"
-#: src/gui/socialwindow.cpp:1522
+#: src/gui/socialwindow.cpp:1524
#, c-format
msgid "Creating party called %s."
msgstr "创建团队å字为%sçš„"
-#: src/gui/socialwindow.cpp:1536
+#: src/gui/socialwindow.cpp:1538
msgid "Guild Name"
msgstr "公会å称"
-#: src/gui/socialwindow.cpp:1537
+#: src/gui/socialwindow.cpp:1539
msgid "Choose your guild's name."
msgstr "选择你的公会的åå­—."
-#: src/gui/socialwindow.cpp:1551
+#: src/gui/socialwindow.cpp:1553
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:1557
+#: src/gui/socialwindow.cpp:1559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s邀请你加入公会%s"
-#: src/gui/socialwindow.cpp:1563
+#: src/gui/socialwindow.cpp:1565
msgid "Accept Guild Invite"
msgstr "接å—邀请"
-#: src/gui/socialwindow.cpp:1578
+#: src/gui/socialwindow.cpp:1580
msgid "Received party request, but one already exists."
msgstr "接å—到一个已ç»å­˜åœ¨çš„帮会邀请。"
-#: src/gui/socialwindow.cpp:1589
+#: src/gui/socialwindow.cpp:1591
msgid "You have been invited you to join a party."
msgstr "您已被邀请您加入党。"
-#: src/gui/socialwindow.cpp:1593
+#: src/gui/socialwindow.cpp:1595
#, c-format
msgid "You have been invited to join the %s party."
msgstr "您已被邀请加入%s的团队。"
-#: src/gui/socialwindow.cpp:1601
+#: src/gui/socialwindow.cpp:1603
#, c-format
msgid "%s has invited you to join their party."
msgstr "%så·²ç»é‚€è¯·ä½ åŠ å…¥ä»–们的帮会。"
-#: src/gui/socialwindow.cpp:1606
+#: src/gui/socialwindow.cpp:1608
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%så·²ç»é‚€è¯·ä½ åŠ å…¥å¸®ä¼š%s。"
-#: src/gui/socialwindow.cpp:1615
+#: src/gui/socialwindow.cpp:1617
msgid "Accept Party Invite"
msgstr "接å—帮会邀请"
-#: src/gui/socialwindow.cpp:1630
+#: src/gui/socialwindow.cpp:1632
msgid "Cannot create party. You are already in a party"
msgstr "无法建立团队.您已ç»åœ¨ä¸€ä¸ªé˜Ÿä¼ä¸­äº†"
-#: src/gui/socialwindow.cpp:1635
+#: src/gui/socialwindow.cpp:1637
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:1636
+#: src/gui/socialwindow.cpp:1638
msgid "Choose your party's name."
msgstr "选择nçš„å称。"
@@ -3059,29 +3096,29 @@ msgstr "姓å:%s"
msgid "Updating..."
msgstr "æ›´æ–°..."
-#: src/gui/updaterwindow.cpp:160
+#: src/gui/updaterwindow.cpp:166
msgid "Connecting..."
msgstr "连接中..."
-#: src/gui/updaterwindow.cpp:163
+#: src/gui/updaterwindow.cpp:169
msgid "Play"
msgstr "开始"
-#: src/gui/updaterwindow.cpp:566
+#: src/gui/updaterwindow.cpp:570
msgid "##1 The update process is incomplete."
msgstr "##1 更新过程ä¸å®Œæ•´ã€‚"
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updaterwindow.cpp:568
+#: src/gui/updaterwindow.cpp:572
msgid "##1 It is strongly recommended that"
msgstr "##1 强烈建议"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updaterwindow.cpp:570
+#: src/gui/updaterwindow.cpp:574
msgid "##1 you try again later."
msgstr ""
-#: src/gui/updaterwindow.cpp:746
+#: src/gui/updaterwindow.cpp:750
msgid "Completed"
msgstr "已完æˆ"
@@ -3233,23 +3270,23 @@ msgstr "家居广场边界"
msgid "Road Point"
msgstr "路点"
-#: src/gui/whoisonline.cpp:90 src/gui/whoisonline.cpp:572
+#: src/gui/whoisonline.cpp:80 src/gui/whoisonline.cpp:608
msgid "Who Is Online - Updating"
msgstr "è°åœ¨çº¿ - æ›´æ–°"
-#: src/gui/whoisonline.cpp:113
+#: src/gui/whoisonline.cpp:103
msgid "Update"
msgstr "æ›´æ–°"
-#: src/gui/whoisonline.cpp:196
+#: src/gui/whoisonline.cpp:194
msgid "Who Is Online - "
msgstr "è°åœ¨çº¿ -"
-#: src/gui/whoisonline.cpp:586
+#: src/gui/whoisonline.cpp:622
msgid "Who Is Online - error"
msgstr "è°åœ¨çº¿ - 错误"
-#: src/gui/whoisonline.cpp:625
+#: src/gui/whoisonline.cpp:661
msgid "Who Is Online - Update"
msgstr "è°åœ¨çº¿ - æ›´æ–°"
@@ -3388,10 +3425,6 @@ msgstr "/leave > "
msgid "/kick > Kick some one from the guild you are in"
msgstr "/kick >"
-#: src/gui/widgets/setupitem.cpp:271 src/gui/widgets/setupitem.cpp:394
-msgid "Edit"
-msgstr "编辑"
-
#: src/gui/widgets/whispertab.cpp:107
msgid "/ignore > Ignore the other player"
msgstr "/ignore > "
@@ -3642,7 +3675,7 @@ msgstr "项目的快æ·é”®"
#: src/keyboardconfig.cpp:116 src/keyboardconfig.cpp:119
#: src/keyboardconfig.cpp:121 src/keyboardconfig.cpp:123
#: src/keyboardconfig.cpp:125 src/keyboardconfig.cpp:127
-#: src/keyboardconfig.cpp:371
+#: src/keyboardconfig.cpp:379
#, c-format
msgid "Item Shortcut %d"
msgstr "物å“å¿«æ· %d"
@@ -3769,517 +3802,519 @@ msgstr "笑脸"
#: src/keyboardconfig.cpp:258 src/keyboardconfig.cpp:260
#: src/keyboardconfig.cpp:262 src/keyboardconfig.cpp:264
#: src/keyboardconfig.cpp:266 src/keyboardconfig.cpp:268
-#: src/keyboardconfig.cpp:366
+#: src/keyboardconfig.cpp:270 src/keyboardconfig.cpp:272
+#: src/keyboardconfig.cpp:274 src/keyboardconfig.cpp:276
+#: src/keyboardconfig.cpp:374
#, c-format
msgid "Emote Shortcut %d"
msgstr "表情快æ·é”®ä¸º %d"
-#: src/keyboardconfig.cpp:270
+#: src/keyboardconfig.cpp:278
msgid "Outfits Keys"
msgstr "套装按键"
-#: src/keyboardconfig.cpp:271
+#: src/keyboardconfig.cpp:279
msgid "Wear Outfit"
msgstr "装备套装"
-#: src/keyboardconfig.cpp:273
+#: src/keyboardconfig.cpp:281
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:275
+#: src/keyboardconfig.cpp:283
msgid "Copy equipped to Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:277
+#: src/keyboardconfig.cpp:285
msgid "Chat Keys"
msgstr "èŠå¤©æŒ‰é”®"
-#: src/keyboardconfig.cpp:278
+#: src/keyboardconfig.cpp:286
msgid "Toggle Chat"
msgstr "切æ¢èŠå¤©"
-#: src/keyboardconfig.cpp:280
+#: src/keyboardconfig.cpp:288
msgid "Scroll Chat Up"
msgstr "å‘上滚动èŠå¤©è®°å½•"
-#: src/keyboardconfig.cpp:282
+#: src/keyboardconfig.cpp:290
msgid "Scroll Chat Down"
msgstr "å‘下滚动èŠå¤©è®°å½•"
-#: src/keyboardconfig.cpp:284
+#: src/keyboardconfig.cpp:292
msgid "Previous Chat Tab"
msgstr "上一个èŠå¤©çª—å£æ ‡ç­¾é¡µ"
-#: src/keyboardconfig.cpp:286
+#: src/keyboardconfig.cpp:294
msgid "Next Chat Tab"
msgstr "下一个èŠå¤©çª—å£æ ‡ç­¾é¡µ"
-#: src/keyboardconfig.cpp:289
+#: src/keyboardconfig.cpp:297
msgid "Close current Chat Tab"
msgstr "关闭当å‰èŠå¤©æ ‡ç­¾"
-#: src/keyboardconfig.cpp:291
+#: src/keyboardconfig.cpp:299
msgid "Previous chat line"
msgstr ""
-#: src/keyboardconfig.cpp:293
+#: src/keyboardconfig.cpp:301
msgid "Next chat line"
msgstr ""
-#: src/keyboardconfig.cpp:295
+#: src/keyboardconfig.cpp:303
msgid "Chat Auto Complete"
msgstr "自动完æˆäº¤è°ˆ"
-#: src/keyboardconfig.cpp:297
+#: src/keyboardconfig.cpp:305
msgid "Deactivate Chat Input"
msgstr "åœç”¨èŠå¤©è¾“å…¥"
-#: src/keyboardconfig.cpp:299
+#: src/keyboardconfig.cpp:307
msgid "Other Keys"
msgstr "其他按键"
-#: src/keyboardconfig.cpp:300
+#: src/keyboardconfig.cpp:308
msgid "Ignore input 1"
msgstr "忽略输入1"
-#: src/keyboardconfig.cpp:302
+#: src/keyboardconfig.cpp:310
msgid "Ignore input 2"
msgstr "忽略输入2"
-#: src/keyboardconfig.cpp:304
+#: src/keyboardconfig.cpp:312
msgid "Direct Up"
msgstr "直接å‘上"
-#: src/keyboardconfig.cpp:305
+#: src/keyboardconfig.cpp:313
msgid "Direct Down"
msgstr "直接下"
-#: src/keyboardconfig.cpp:307
+#: src/keyboardconfig.cpp:315
msgid "Direct Left"
msgstr "直接离开"
-#: src/keyboardconfig.cpp:308
+#: src/keyboardconfig.cpp:316
msgid "Direct Right"
msgstr "直接对"
-#: src/keyboardconfig.cpp:310
+#: src/keyboardconfig.cpp:318
msgid "Crazy moves"
msgstr "疯狂移动"
-#: src/keyboardconfig.cpp:312
+#: src/keyboardconfig.cpp:320
msgid "Change Crazy Move mode"
msgstr "更改疯狂移动模å¼"
-#: src/keyboardconfig.cpp:314
+#: src/keyboardconfig.cpp:322
msgid "Quick Drop N Items from 0 slot"
msgstr ""
-#: src/keyboardconfig.cpp:316
+#: src/keyboardconfig.cpp:324
msgid "Quick Drop N Items"
msgstr "快速下é™åºå·é¡¹ç›®"
-#: src/keyboardconfig.cpp:318
+#: src/keyboardconfig.cpp:326
msgid "Switch Quick Drop Counter"
msgstr ""
-#: src/keyboardconfig.cpp:320
+#: src/keyboardconfig.cpp:328
msgid "Quick heal target or self"
msgstr "快速愈åˆçš„目标或自我"
-#: src/keyboardconfig.cpp:322
+#: src/keyboardconfig.cpp:330
msgid "Use #itenplz spell"
msgstr ""
-#: src/keyboardconfig.cpp:324
+#: src/keyboardconfig.cpp:332
msgid "Use magic attack"
msgstr "使用魔法攻击"
-#: src/keyboardconfig.cpp:326
+#: src/keyboardconfig.cpp:334
msgid "Switch magic attack"
msgstr "切æ¢é­”法攻击"
-#: src/keyboardconfig.cpp:329
+#: src/keyboardconfig.cpp:337
msgid "Switch pvp attack"
msgstr ""
-#: src/keyboardconfig.cpp:330
+#: src/keyboardconfig.cpp:338
msgid "Change move type"
msgstr "更改移动类型"
-#: src/keyboardconfig.cpp:332
+#: src/keyboardconfig.cpp:340
msgid "Change Attack Weapon Type"
msgstr "更改攻击型武器"
-#: src/keyboardconfig.cpp:334
+#: src/keyboardconfig.cpp:342
msgid "Change Attack Type"
msgstr "更改攻击类型"
-#: src/keyboardconfig.cpp:336
+#: src/keyboardconfig.cpp:344
msgid "Change Follow mode"
msgstr "更改跟éšæ¨¡å¼"
-#: src/keyboardconfig.cpp:338
+#: src/keyboardconfig.cpp:346
msgid "Change Imitation mode"
msgstr "更改仿模å¼"
-#: src/keyboardconfig.cpp:341
+#: src/keyboardconfig.cpp:349
msgid "Disable / Enable Game modifier keys"
msgstr ""
-#: src/keyboardconfig.cpp:342
+#: src/keyboardconfig.cpp:350
msgid "On / Off audio"
msgstr "开/关 音频"
-#: src/keyboardconfig.cpp:344
+#: src/keyboardconfig.cpp:352
msgid "Enable / Disable away mode"
msgstr "å¯ç”¨/ç¦ç”¨ç¦»å¼€æ¨¡å¼"
-#: src/keyboardconfig.cpp:346
+#: src/keyboardconfig.cpp:354
msgid "Emulate right click from keyboard"
msgstr "从键盘模拟å³é”®å•å‡»"
-#: src/keyboardconfig.cpp:348
+#: src/keyboardconfig.cpp:356
msgid "Toggle camera mode"
msgstr "切æ¢æ¨¡å¼"
-#: src/keyboardconfig.cpp:350
+#: src/keyboardconfig.cpp:358
msgid "Modifier key"
msgstr "修改按键"
-#: src/keyboardconfig.cpp:429
+#: src/keyboardconfig.cpp:437
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:384
-#, fuzzy, c-format
+#: src/localplayer.cpp:385
+#, c-format
msgid "You were killed by %s"
-msgstr "你被打死"
+msgstr ""
-#: src/localplayer.cpp:1439
+#: src/localplayer.cpp:1440
msgid "Tried to pick up nonexistent item."
msgstr ""
-#: src/localplayer.cpp:1442
+#: src/localplayer.cpp:1443
msgid "Item is too heavy."
msgstr "项目是太é‡äº†ã€‚"
-#: src/localplayer.cpp:1445
+#: src/localplayer.cpp:1446
msgid "Item is too far away."
msgstr "物å“太远了。"
-#: src/localplayer.cpp:1448
+#: src/localplayer.cpp:1449
msgid "Inventory is full."
msgstr ""
-#: src/localplayer.cpp:1451
+#: src/localplayer.cpp:1452
msgid "Stack is too big."
msgstr ""
-#: src/localplayer.cpp:1454
+#: src/localplayer.cpp:1455
msgid "Item belongs to someone else."
msgstr ""
-#: src/localplayer.cpp:1457
+#: src/localplayer.cpp:1458
msgid "Unknown problem picking up item."
msgstr ""
#. TRANSLATORS: %d is number,
#. [@@%d|%s@@] - here player can see link to item
-#: src/localplayer.cpp:1481
+#: src/localplayer.cpp:1482
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "你拾起%d[@@%d|%s @@]。"
-#: src/localplayer.cpp:1898
+#: src/localplayer.cpp:1902
msgid "(D) default moves"
msgstr ""
-#: src/localplayer.cpp:1899
+#: src/localplayer.cpp:1903
msgid "(I) invert moves"
msgstr ""
-#: src/localplayer.cpp:1900
+#: src/localplayer.cpp:1904
msgid "(c) moves with some crazy moves"
msgstr ""
-#: src/localplayer.cpp:1901
+#: src/localplayer.cpp:1905
msgid "(C) moves with crazy moves"
msgstr ""
-#: src/localplayer.cpp:1902
+#: src/localplayer.cpp:1906
msgid "(d) double normal + crazy"
msgstr ""
-#: src/localplayer.cpp:1903
+#: src/localplayer.cpp:1907
msgid "(?) unknown move"
msgstr ""
-#: src/localplayer.cpp:1925
+#: src/localplayer.cpp:1929
#, c-format
msgid "(%d) crazy move number %d"
msgstr ""
-#: src/localplayer.cpp:1930
+#: src/localplayer.cpp:1934
msgid "(a) custom crazy move"
msgstr ""
-#: src/localplayer.cpp:1934
+#: src/localplayer.cpp:1938
msgid "(?) crazy move"
msgstr ""
-#: src/localplayer.cpp:1948
+#: src/localplayer.cpp:1952
msgid "(0) default moves to target"
msgstr ""
-#: src/localplayer.cpp:1949
+#: src/localplayer.cpp:1953
msgid "(1) moves to target in distance 1"
msgstr ""
-#: src/localplayer.cpp:1950
+#: src/localplayer.cpp:1954
msgid "(2) moves to target in distance 2"
msgstr ""
-#: src/localplayer.cpp:1951
+#: src/localplayer.cpp:1955
msgid "(3) moves to target in distance 3"
msgstr ""
-#: src/localplayer.cpp:1952
+#: src/localplayer.cpp:1956
msgid "(5) moves to target in distance 5"
msgstr ""
-#: src/localplayer.cpp:1953
+#: src/localplayer.cpp:1957
msgid "(7) moves to target in distance 7"
msgstr ""
-#: src/localplayer.cpp:1954
+#: src/localplayer.cpp:1958
msgid "(A) moves to target in attack range"
msgstr ""
-#: src/localplayer.cpp:1955
+#: src/localplayer.cpp:1959
msgid "(a) archer attack range"
msgstr ""
-#: src/localplayer.cpp:1956
+#: src/localplayer.cpp:1960
msgid "(?) move to target"
msgstr "(?)移动到目标"
-#: src/localplayer.cpp:1975
+#: src/localplayer.cpp:1979
msgid "(D) default follow"
msgstr ""
-#: src/localplayer.cpp:1976
+#: src/localplayer.cpp:1980
msgid "(R) relative follow"
msgstr ""
-#: src/localplayer.cpp:1977
+#: src/localplayer.cpp:1981
msgid "(M) mirror follow"
msgstr ""
-#: src/localplayer.cpp:1978
+#: src/localplayer.cpp:1982
msgid "(P) pet follow"
msgstr ""
-#: src/localplayer.cpp:1979
+#: src/localplayer.cpp:1983
msgid "(?) unknown follow"
msgstr ""
-#: src/localplayer.cpp:1998 src/localplayer.cpp:2002 src/localplayer.cpp:2025
+#: src/localplayer.cpp:2002 src/localplayer.cpp:2006 src/localplayer.cpp:2029
msgid "(?) attack"
msgstr "(?) 攻击"
-#: src/localplayer.cpp:1999 src/localplayer.cpp:2021
+#: src/localplayer.cpp:2003 src/localplayer.cpp:2025
msgid "(D) default attack"
msgstr ""
-#: src/localplayer.cpp:2000
+#: src/localplayer.cpp:2004
msgid "(s) switch attack without shield"
msgstr ""
-#: src/localplayer.cpp:2001
+#: src/localplayer.cpp:2005
msgid "(S) switch attack with shield"
msgstr ""
-#: src/localplayer.cpp:2022
+#: src/localplayer.cpp:2026
msgid "(G) go and attack"
msgstr "(G) 去攻击"
-#: src/localplayer.cpp:2023
+#: src/localplayer.cpp:2027
msgid "(A) go, attack, pickup"
msgstr ""
-#: src/localplayer.cpp:2024
+#: src/localplayer.cpp:2028
msgid "(d) without auto attack"
msgstr ""
-#: src/localplayer.cpp:2058
+#: src/localplayer.cpp:2062
msgid "(S) small pick up 1x1 cells"
msgstr ""
-#: src/localplayer.cpp:2059
+#: src/localplayer.cpp:2063
msgid "(D) default pick up 2x1 cells"
msgstr ""
-#: src/localplayer.cpp:2060
+#: src/localplayer.cpp:2064
msgid "(F) forward pick up 2x3 cells"
msgstr ""
-#: src/localplayer.cpp:2061
+#: src/localplayer.cpp:2065
msgid "(3) pick up 3x3 cells"
msgstr ""
-#: src/localplayer.cpp:2062
+#: src/localplayer.cpp:2066
msgid "(g) go and pick up in distance 4"
msgstr ""
-#: src/localplayer.cpp:2063
+#: src/localplayer.cpp:2067
msgid "(G) go and pick up in distance 8"
msgstr ""
-#: src/localplayer.cpp:2064
+#: src/localplayer.cpp:2068
msgid "(A) go and pick up in max distance"
msgstr ""
-#: src/localplayer.cpp:2065
+#: src/localplayer.cpp:2069
msgid "(?) pick up"
msgstr "(?)æ‹¿èµ·"
-#: src/localplayer.cpp:2078
+#: src/localplayer.cpp:2082
msgid "(N) normal map view"
msgstr ""
-#: src/localplayer.cpp:2079
+#: src/localplayer.cpp:2083
msgid "(D) debug map view"
msgstr ""
-#: src/localplayer.cpp:2080
+#: src/localplayer.cpp:2084
msgid "(u) ultra map view"
msgstr ""
-#: src/localplayer.cpp:2081
+#: src/localplayer.cpp:2085
msgid "(U) ultra map view 2"
msgstr ""
-#: src/localplayer.cpp:2082
+#: src/localplayer.cpp:2086
msgid "(e) empty map view"
msgstr ""
-#: src/localplayer.cpp:2083
+#: src/localplayer.cpp:2087
msgid "(b) black & white map view"
msgstr ""
-#: src/localplayer.cpp:2102
+#: src/localplayer.cpp:2106
msgid "(f) use #flar for magic attack"
msgstr ""
-#: src/localplayer.cpp:2103
+#: src/localplayer.cpp:2107
msgid "(c) use #chiza for magic attack"
msgstr ""
-#: src/localplayer.cpp:2104
+#: src/localplayer.cpp:2108
msgid "(I) use #ingrav for magic attack"
msgstr ""
-#: src/localplayer.cpp:2105
+#: src/localplayer.cpp:2109
msgid "(F) use #frillyar for magic attack"
msgstr ""
-#: src/localplayer.cpp:2106
+#: src/localplayer.cpp:2110
msgid "(U) use #upmarmu for magic attack"
msgstr ""
-#: src/localplayer.cpp:2107
+#: src/localplayer.cpp:2111
msgid "(?) magic attack"
msgstr ""
-#: src/localplayer.cpp:2126
+#: src/localplayer.cpp:2130
msgid "(a) attack all players"
msgstr ""
-#: src/localplayer.cpp:2127
+#: src/localplayer.cpp:2131
msgid "(f) attack not friends"
msgstr ""
-#: src/localplayer.cpp:2128
+#: src/localplayer.cpp:2132
msgid "(b) attack bad relations"
msgstr ""
-#: src/localplayer.cpp:2129
+#: src/localplayer.cpp:2133
msgid "(d) dont attack players"
msgstr ""
-#: src/localplayer.cpp:2130
+#: src/localplayer.cpp:2134
msgid "(?) pvp attack"
msgstr ""
-#: src/localplayer.cpp:2149
+#: src/localplayer.cpp:2153
msgid "(D) default imitation"
msgstr ""
-#: src/localplayer.cpp:2150
+#: src/localplayer.cpp:2154
msgid "(O) outfits imitation"
msgstr ""
-#: src/localplayer.cpp:2151
+#: src/localplayer.cpp:2155
msgid "(?) imitation"
msgstr ""
-#: src/localplayer.cpp:2179
+#: src/localplayer.cpp:2183
msgid "Away"
msgstr "è·ç¦»"
-#: src/localplayer.cpp:2198
+#: src/localplayer.cpp:2202
msgid "(O) on keyboard"
msgstr ""
-#: src/localplayer.cpp:2199
+#: src/localplayer.cpp:2203
msgid "(A) away"
msgstr ""
-#: src/localplayer.cpp:2200 src/localplayer.cpp:2215
+#: src/localplayer.cpp:2204 src/localplayer.cpp:2219
msgid "(?) away"
msgstr ""
-#: src/localplayer.cpp:2213
+#: src/localplayer.cpp:2217
msgid "(G) game camera mode"
msgstr ""
-#: src/localplayer.cpp:2214
+#: src/localplayer.cpp:2218
msgid "(F) free camera mode"
msgstr ""
-#: src/localplayer.cpp:2239
+#: src/localplayer.cpp:2243
msgid "Game modifiers are enabled"
msgstr ""
-#: src/localplayer.cpp:2240
+#: src/localplayer.cpp:2244
msgid "Game modifiers are disabled"
msgstr ""
-#: src/localplayer.cpp:2241
+#: src/localplayer.cpp:2245
msgid "Game modifiers are unknown"
msgstr ""
-#: src/localplayer.cpp:3757
+#: src/localplayer.cpp:3763
msgid "Follow: "
msgstr "è·Ÿéš:"
-#: src/localplayer.cpp:3759 src/localplayer.cpp:3774
+#: src/localplayer.cpp:3765 src/localplayer.cpp:3780
msgid "Follow canceled"
msgstr ""
-#: src/localplayer.cpp:3766
+#: src/localplayer.cpp:3772
msgid "Imitation: "
msgstr ""
-#: src/localplayer.cpp:3768 src/localplayer.cpp:3776
+#: src/localplayer.cpp:3774 src/localplayer.cpp:3782
msgid "Imitation canceled"
msgstr ""
-#: src/localplayer.cpp:4124
+#: src/localplayer.cpp:4130
msgid "You see "
msgstr "你看"
@@ -4448,9 +4483,8 @@ msgid "Incorrect slot."
msgstr ""
#: src/net/ea/charserverhandler.cpp:167
-#, fuzzy
msgid "Incorrect race."
-msgstr "ä¸æ­£ç¡®çš„头å‘。"
+msgstr ""
#: src/net/ea/charserverhandler.cpp:182 src/net/manaserv/charhandler.cpp:210
msgid "Info"
@@ -4605,9 +4639,8 @@ msgid "%s has left your guild."
msgstr "%så·²ç»ç¦»å¼€å·¥ä¼š."
#: src/net/ea/guildhandler.cpp:499
-#, fuzzy
msgid "You were kicked from guild."
-msgstr "ä½ å·²ç»è¢«å·¥ä¼šå¼€é™¤ï¼."
+msgstr ""
#: src/net/ea/guildhandler.cpp:512
#, c-format
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6c612629c..f389c4364 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -247,6 +247,8 @@ SET(SRCS
gui/debugwindow.h
gui/didyouknowwindow.cpp
gui/didyouknowwindow.h
+ gui/editserverdialog.cpp
+ gui/editserverdialog.h
gui/emotepopup.cpp
gui/emotepopup.h
gui/equipmentwindow.cpp
@@ -445,6 +447,8 @@ SET(SRCS
resources/wallpaper.h
utils/base64.cpp
utils/base64.h
+ utils/checkutils.cpp
+ utils/checkutils.h
utils/copynpaste.cpp
utils/copynpaste.h
utils/dtor.h
@@ -452,6 +456,8 @@ SET(SRCS
utils/mathutils.h
utils/paths.cpp
utils/paths.h
+ utils/physfsrwops.cpp
+ utils/physfsrwops.h
utils/process.cpp
utils/process.h
utils/stringutils.cpp
diff --git a/src/Makefile.am b/src/Makefile.am
index 1893adb80..a241b60b0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -153,6 +153,8 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \
gui/debugwindow.h \
gui/didyouknowwindow.cpp \
gui/didyouknowwindow.h \
+ gui/editserverdialog.cpp \
+ gui/editserverdialog.h \
gui/emotepopup.cpp \
gui/emotepopup.h \
gui/equipmentwindow.cpp \
@@ -353,6 +355,8 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \
resources/wallpaper.h \
utils/base64.cpp \
utils/base64.h \
+ utils/checkutils.cpp \
+ utils/checkutils.h \
utils/copynpaste.cpp \
utils/copynpaste.h \
utils/dtor.h \
@@ -362,6 +366,8 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \
utils/mkdir.h \
utils/paths.cpp \
utils/paths.h \
+ utils/physfsrwops.cpp \
+ utils/physfsrwops.h \
utils/process.cpp \
utils/process.h \
utils/specialfolder.cpp \
diff --git a/src/actorsprite.cpp b/src/actorsprite.cpp
index c1c139bb9..916b599f9 100644
--- a/src/actorsprite.cpp
+++ b/src/actorsprite.cpp
@@ -39,6 +39,8 @@
#include "resources/imageset.h"
#include "resources/resourcemanager.h"
+#include "utils/checkutils.h"
+
#include "debug.h"
#define EFFECTS_FILE "effects.xml"
@@ -70,7 +72,7 @@ ActorSprite::~ActorSprite()
for (ActorSpriteListenerIterator iter = mActorSpriteListeners.begin(),
e = mActorSpriteListeners.end(); iter != e; ++iter)
{
- if (*iter)
+ if (reportFalse(*iter))
(*iter)->actorSpriteDestroyed(*this);
}
}
@@ -166,6 +168,9 @@ static bool effects_initialized = false;
static EffectDescription *getEffectDescription(XmlNodePtr node, int *id)
{
+ if (!id)
+ return nullptr;
+
EffectDescription *ed = new EffectDescription;
*id = atoi(XML::getProperty(node, "id", "-1").c_str());
@@ -245,7 +250,7 @@ void ActorSprite::setStatusEffectBlock(int offset, Uint16 newEffects)
void ActorSprite::internalTriggerEffect(int effectId, bool sfx, bool gfx)
{
- if (!particleEngine)
+ if (reportTrue(!particleEngine))
return;
if (player_node)
@@ -256,13 +261,13 @@ void ActorSprite::internalTriggerEffect(int effectId, bool sfx, bool gfx)
EffectDescription *ed = getEffectDescription(effectId);
- if (!ed)
+ if (reportTrue(!ed))
{
logger->log1("Unknown special effect and no default recorded");
return;
}
- if (gfx && !ed->mGFXEffect.empty() && particleEngine)
+ if (gfx && !ed->mGFXEffect.empty())
{
Particle *selfFX;
@@ -287,7 +292,7 @@ void ActorSprite::updateStatusEffect(int index, bool newStatus)
void ActorSprite::handleStatusEffect(StatusEffect *effect, int effectId)
{
- if (!effect)
+ if (reportTrue(!effect))
return;
// TODO: Find out how this is meant to be used
@@ -392,7 +397,7 @@ void ActorSprite::load()
void ActorSprite::unload()
{
- if (!loaded)
+ if (reportTrue(!loaded))
return;
cleanupTargetCursors();
@@ -476,7 +481,7 @@ void ActorSprite::cleanupTargetCursors()
void ActorSprite::loadTargetCursor(const std::string &filename,
int width, int height, int type, int size)
{
- if (size < TC_SMALL || size >= NUM_TC)
+ if (reportTrue(size < TC_SMALL || size >= NUM_TC))
return;
ImageSet *currentImageSet = Theme::getImageSetFromTheme(
diff --git a/src/actorspritemanager.h b/src/actorspritemanager.h
index 7960c6301..a78e3ad49 100644
--- a/src/actorspritemanager.h
+++ b/src/actorspritemanager.h
@@ -231,10 +231,10 @@ class ActorSpriteManager: public ConfigListener
void addIgnoreAttackMob(std::string name);
- std::list<std::string> getPriorityAttackMobs()
+ std::list<std::string> getPriorityAttackMobs() const
{ return mPriorityAttackMobs; }
- std::list<std::string> getAttackMobs()
+ std::list<std::string> getAttackMobs() const
{ return mAttackMobs; }
void setPriorityAttackMobs(std::list<std::string> mobs)
@@ -243,29 +243,29 @@ class ActorSpriteManager: public ConfigListener
void setAttackMobs(std::list<std::string> mobs)
{ mAttackMobs = mobs; }
- int getPriorityAttackMobsSize()
+ int getPriorityAttackMobsSize() const
{ return mPriorityAttackMobs.size(); }
- int getAttackMobsSize()
+ int getAttackMobsSize() const
{ return mAttackMobs.size(); }
- std::list<std::string> getIgnoreAttackMobs()
+ std::list<std::string> getIgnoreAttackMobs() const
{ return mIgnoreAttackMobs; }
- std::set<std::string> getAttackMobsSet()
+ std::set<std::string> getAttackMobsSet() const
{ return mAttackMobsSet; }
- std::set<std::string> getPriorityAttackMobsSet()
+ std::set<std::string> getPriorityAttackMobsSet() const
{ return mPriorityAttackMobsSet; }
- std::set<std::string> getIgnoreAttackMobsSet()
+ std::set<std::string> getIgnoreAttackMobsSet() const
{ return mIgnoreAttackMobsSet; }
void rebuildPriorityAttackMobs();
void rebuildAttackMobs();
- bool isInAttackList(const std::string &name)
+ bool isInAttackList(const std::string &name) const
{ return mAttackMobsSet.find(name) != mAttackMobsSet.end(); }
bool isInPriorityAttackList(const std::string &name)
@@ -280,10 +280,10 @@ class ActorSpriteManager: public ConfigListener
!= mIgnoreAttackMobsSet.end();
}
- std::map<std::string, int> getAttackMobsMap()
+ std::map<std::string, int> getAttackMobsMap() const
{ return mAttackMobsMap; }
- std::map<std::string, int> getPriorityAttackMobsMap()
+ std::map<std::string, int> getPriorityAttackMobsMap() const
{ return mPriorityAttackMobsMap; }
int getAttackMobIndex(std::string name);
diff --git a/src/animatedsprite.cpp b/src/animatedsprite.cpp
index f4f3451cb..11329b321 100644
--- a/src/animatedsprite.cpp
+++ b/src/animatedsprite.cpp
@@ -285,7 +285,7 @@ int AnimatedSprite::getHeight() const
return 0;
}
-std::string AnimatedSprite::getIdPath()
+std::string AnimatedSprite::getIdPath() const
{
if (!mSprite)
return "";
diff --git a/src/animatedsprite.h b/src/animatedsprite.h
index 4a41eac52..d28badfc1 100644
--- a/src/animatedsprite.h
+++ b/src/animatedsprite.h
@@ -71,10 +71,10 @@ class AnimatedSprite : public Sprite
bool setSpriteDirection(SpriteDirection direction);
- int getNumberOfLayers()
+ int getNumberOfLayers() const
{ return 1; }
- std::string getIdPath();
+ std::string getIdPath() const;
unsigned int getCurrentFrame() const;
diff --git a/src/being.cpp b/src/being.cpp
index 39d0bd450..9edfaad7b 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -2517,26 +2517,31 @@ void Being::saveComment(const std::string &name,
resman->saveTextFile(dir, "comment.txt", name + "\n" + comment);
}
+void Being::setState(Uint8 state)
+{
+ mAdvanced = true;
+ bool shop = (state & FLAG_SHOP);
+ bool away = (state & FLAG_AWAY);
+ bool inactive = (state & FLAG_INACTIVE);
+ bool needUpdate = (shop != mShop || away != mAway
+ || inactive != mInactive);
+
+ mShop = shop;
+ mAway = away;
+ mInactive = inactive;
+
+ if (needUpdate)
+ {
+ updateName();
+ addToCache();
+ }
+}
+
void Being::setEmote(Uint8 emotion, int emote_time)
{
if ((emotion & FLAG_SPECIAL) == FLAG_SPECIAL)
{
- mAdvanced = true;
- bool shop = (emotion & FLAG_SHOP);
- bool away = (emotion & FLAG_AWAY);
- bool inactive = (emotion & FLAG_INACTIVE);
- bool needUpdate = (shop != mShop || away != mAway
- || inactive != mInactive);
-
- mShop = shop;
- mAway = away;
- mInactive = inactive;
-
- if (needUpdate)
- {
- updateName();
- addToCache();
- }
+ setState(emotion);
}
else
{
diff --git a/src/being.h b/src/being.h
index 6052644c9..8b3db1919 100644
--- a/src/being.h
+++ b/src/being.h
@@ -102,6 +102,7 @@ class Being : public ActorSprite, public ConfigListener
FLAG_SHOP = 1,
FLAG_AWAY = 2,
FLAG_INACTIVE = 4,
+ FLAG_GENDER = 128,
FLAG_SPECIAL = 128 + 64
};
@@ -488,7 +489,7 @@ class Being : public ActorSprite, public ConfigListener
virtual void setDirectionDelayed(Uint8 direction)
{ mDirectionDelayed = direction; }
- Uint8 getDirectionDelayed()
+ Uint8 getDirectionDelayed() const
{ return mDirectionDelayed; }
/**
@@ -546,6 +547,8 @@ class Being : public ActorSprite, public ConfigListener
*/
void setEmote(Uint8 emotion, int emote_time);
+ void setState(Uint8 state);
+
/**
* Get the current Emoticon type displayed above
* the being.
@@ -585,7 +588,7 @@ class Being : public ActorSprite, public ConfigListener
void setIsReachable(int n)
{ mIsReachable = n; }
- int isReachable()
+ int isReachable() const
{ return mIsReachable; }
static void reReadConfig();
@@ -678,7 +681,7 @@ class Being : public ActorSprite, public ConfigListener
void setMaxHP(int hp);
- int getHP()
+ int getHP() const
{ return mHP; }
Uint8 calcDirection(int dstX, int dstY) const;
@@ -688,22 +691,22 @@ class Being : public ActorSprite, public ConfigListener
void setAttackDelay(int n)
{ mAttackDelay = n; }
- int getAttackDelay()
+ int getAttackDelay() const
{ return mAttackDelay; }
- int getMinHit()
+ int getMinHit() const
{ return mMinHit; }
void setMinHit(int n)
{ mMinHit = n; }
- int getMaxHit()
+ int getMaxHit() const
{ return mMaxHit; }
void setMaxHit(int n)
{ mMaxHit = n; }
- int getCriticalHit()
+ int getCriticalHit() const
{ return mCriticalHit; }
void setCriticalHit(int n)
@@ -715,7 +718,7 @@ class Being : public ActorSprite, public ConfigListener
void undressItemById(int id);
- int getGoodStatus()
+ int getGoodStatus() const
{ return mGoodStatus; }
void setGoodStatus(int n)
@@ -727,7 +730,7 @@ class Being : public ActorSprite, public ConfigListener
void updateComment();
- std::string getComment()
+ const std::string getComment() const
{ return mComment; }
void setComment(std::string n)
@@ -740,15 +743,18 @@ class Being : public ActorSprite, public ConfigListener
static void saveComment(const std::string &name,
const std::string &comment, int type);
- bool isAdvanced()
+ bool isAdvanced() const
{ return mAdvanced; }
void setAdvanced(bool n)
{ mAdvanced = n; addToCache(); }
- bool isShopEnabled()
+ bool isShopEnabled() const
{ return mShop; }
+ void enableShop(bool b)
+ { mShop = b; }
+
/**
* Sets the attack range.
*/
diff --git a/src/channel.h b/src/channel.h
index 559002296..cf52743f0 100644
--- a/src/channel.h
+++ b/src/channel.h
@@ -46,7 +46,8 @@ class Channel
/**
* Get the id associated witht his channel.
*/
- int getId() const { return mId; }
+ int getId() const
+ { return mId; }
/**
* Get this channel's name.
@@ -72,7 +73,7 @@ class Channel
void setAnnouncement(const std::string &channelAnnouncement)
{ mAnnouncement = channelAnnouncement; }
- ChannelTab *getTab()
+ ChannelTab *getTab() const
{ return mTab; }
protected:
diff --git a/src/chatlogger.cpp b/src/chatlogger.cpp
index ad86de8e9..33763e561 100644
--- a/src/chatlogger.cpp
+++ b/src/chatlogger.cpp
@@ -39,7 +39,6 @@
#include "logger.h"
#include "configuration.h"
-
#include "utils/mkdir.h"
#include "utils/stringutils.h"
@@ -204,3 +203,10 @@ void ChatLogger::loadLast(std::string name, std::list<std::string> &list,
if (logFile.is_open())
logFile.close();
}
+
+void ChatLogger::clear()
+{
+ mLogDir = "";
+ mServerName = "";
+ mLogFileName = "";
+}
diff --git a/src/chatlogger.h b/src/chatlogger.h
index 91805a8bc..bb02d8127 100644
--- a/src/chatlogger.h
+++ b/src/chatlogger.h
@@ -59,6 +59,8 @@ class ChatLogger
void setBaseLogDir(const std::string &logDir)
{ mBaseLogDir = logDir; }
+ void clear();
+
private:
/**
* Sets the file to log to and opens it
diff --git a/src/client.cpp b/src/client.cpp
index 1c4629178..c21194834 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -167,7 +167,7 @@ volatile int frame_count = 0; /**< Counts the frames during one second */
volatile int cur_time;
volatile bool runCounters;
bool isSafeMode = false;
-int serverVersion;
+int serverVersion = 0;
int start_time;
int textures_count = 0;
@@ -251,7 +251,7 @@ Client::Client(const Options &options):
mServerConfigDir(""),
mUsersDir(""),
mNpcsDir(""),
- mRootDir(""),
+ mGame(nullptr),
mCurrentDialog(nullptr),
mQuitDialog(nullptr),
mDesktop(nullptr),
@@ -524,9 +524,12 @@ void Client::gameInit()
const int bpp = 0;
const bool fullscreen = config.getBoolValue("screen");
const bool hwaccel = config.getBoolValue("hwaccel");
+ const bool enableResize = config.getBoolValue("enableresize");
+ const bool noFrame = config.getBoolValue("noframe");
// Try to set the desired video mode
- if (!mainGraphics->setVideoMode(width, height, bpp, fullscreen, hwaccel))
+ if (!mainGraphics->setVideoMode(width, height, bpp,
+ fullscreen, hwaccel, enableResize, noFrame))
{
logger->log(strprintf("Couldn't set %dx%dx%d video mode: %s",
width, height, bpp, SDL_GetError()));
@@ -544,7 +547,7 @@ void Client::gameInit()
config.setValueInt("screenheight", oldHeight);
config.setValue("screen", oldFullscreen);
if (!mainGraphics->setVideoMode(oldWidth, oldHeight, bpp,
- oldFullscreen, hwaccel))
+ oldFullscreen, hwaccel, enableResize, noFrame))
{
logger->error(strprintf("Couldn't restore %dx%dx%d "
"video mode: %s", oldWidth, oldHeight, bpp,
@@ -612,6 +615,7 @@ void Client::gameInit()
{
mCurrentServer.hostname =
branding.getValue("defaultServer", "").c_str();
+ mOptions.serverName = mCurrentServer.hostname;
}
if (mCurrentServer.port == 0)
@@ -815,15 +819,14 @@ int Client::gameExec()
if (!mumbleManager)
mumbleManager = new MumbleManager();
- Game *game = nullptr;
SDL_Event event;
while (mState != STATE_EXIT)
{
- if (game)
+ if (mGame)
{
// Let the game handle the events while it is active
- game->handleInput();
+ mGame->handleInput();
}
else
{
@@ -839,6 +842,10 @@ int Client::gameExec()
case SDL_KEYDOWN:
default:
break;
+
+ case SDL_VIDEORESIZE:
+ resizeVideo(event.resize.w, event.resize.h, false);
+ break;
}
guiInput->pushInput(event);
@@ -857,8 +864,8 @@ int Client::gameExec()
{
if (gui)
gui->logic();
- if (game)
- game->logic();
+ if (mGame)
+ mGame->logic();
sound.logic();
@@ -966,10 +973,8 @@ int Client::gameExec()
top->add(mThemesButton);
#endif
- int screenWidth = config.getIntValue("screenwidth");
- int screenHeight = config.getIntValue("screenheight");
-
- mDesktop->setSize(screenWidth, screenHeight);
+ mDesktop->setSize(mainGraphics->getWidth(),
+ mainGraphics->getHeight());
}
if (mState == STATE_SWITCH_LOGIN && mOldState == STATE_GAME)
@@ -984,8 +989,8 @@ int Client::gameExec()
if (mOldState == STATE_GAME)
{
- delete game;
- game = nullptr;
+ delete mGame;
+ mGame = nullptr;
Game::clearInstance();
ResourceManager *resman = ResourceManager::getInstance();
if (resman)
@@ -995,6 +1000,8 @@ int Client::gameExec()
Net::getNpcHandler()->clearDialogs();
Net::getGuildHandler()->clear();
Net::getPartyHandler()->clear();
+ if (chatLogger)
+ chatLogger->clear();
}
mOldState = mState;
@@ -1231,6 +1238,10 @@ int Client::gameExec()
CharSelectDialog::Focus);
}
+ // Choosing character on the command line should work only
+ // once, clear it so that 'switch character' works.
+ mOptions.character.clear();
+
break;
case STATE_CONNECT_GAME:
@@ -1286,7 +1297,7 @@ int Client::gameExec()
logger->log1("State: GAME");
if (Net::getGeneralHandler())
Net::getGeneralHandler()->reloadPartially();
- game = new Game;
+ mGame = new Game;
break;
case STATE_LOGIN_ERROR:
@@ -1563,7 +1574,7 @@ void Client::initLocalDataDir()
// Use Application Directory instead of .mana
mLocalDataDir = std::string(PHYSFS_getUserDir()) +
"/Library/Application Support/" +
- branding.getValue("appName", "Mana");
+ branding.getValue("appName", "ManaPlus");
#elif defined __HAIKU__
mLocalDataDir = std::string(PHYSFS_getUserDir()) +
"/config/data/Mana";
@@ -1597,13 +1608,13 @@ void Client::initConfigDir()
#elif defined __HAIKU__
mConfigDir = std::string(PHYSFS_getUserDir()) +
"/config/settings/Mana" +
- branding.getValue("appName", "Mana");
+ branding.getValue("appName", "ManaPlus");
#elif defined WIN32
mConfigDir = getSpecialFolderLocation(CSIDL_APPDATA);
if (mConfigDir.empty())
mConfigDir = mLocalDataDir;
else
- mConfigDir += "/mana/" + branding.getValue("appShort", "Mana");
+ mConfigDir += "/mana/" + branding.getValue("appShort", "mana");
#else
mConfigDir = std::string(PHYSFS_getUserDir()) +
"/.config/mana/" + branding.getValue("appShort", "mana");
@@ -1855,7 +1866,7 @@ void Client::initScreenshotDir()
if (config.getBoolValue("useScreenshotDirectorySuffix"))
{
std::string configScreenshotSuffix =
- branding.getValue("appShort", "Mana");
+ branding.getValue("appShort", "mana");
if (!configScreenshotSuffix.empty())
{
@@ -1917,7 +1928,7 @@ bool Client::createConfig(std::string &configPath)
// Use Application Directory instead of .mana
oldHomeDir = std::string(PHYSFS_getUserDir()) +
"/Library/Application Support/" +
- branding.getValue("appName", "Mana");
+ branding.getValue("appName", "ManaPlus");
#else
oldHomeDir = std::string(PHYSFS_getUserDir()) +
"/." + branding.getValue("appShort", "mana");
@@ -2349,3 +2360,58 @@ bool Client::isTmw()
}
return false;
}
+
+void Client::resizeVideo(int width, int height, bool always)
+{
+ // Keep a minimum size. This isn't adhered to by the actual window, but
+ // it keeps some window positions from getting messed up.
+ width = std::max(640, width);
+ height = std::max(480, height);
+
+ if (!mainGraphics)
+ return;
+ if (!always && mainGraphics->mWidth == width
+ && mainGraphics->mHeight == height)
+ {
+ return;
+ }
+
+ if (mainGraphics->resizeScreen(width, height))
+ {
+ if (gui)
+ gui->videoResized();
+
+ if (mDesktop)
+ mDesktop->setSize(width, height);
+
+ if (mSetupButton)
+ {
+// mSetupButton->setPosition(width - mSetupButton->getWidth() - 3, 3);
+
+ int x = width - mSetupButton->getWidth() - 3;
+ mSetupButton->setPosition(x, 3);
+
+#ifndef WIN32
+ x -= mPerfomanceButton->getWidth() + 6;
+ mPerfomanceButton->setPosition(x, 3);
+
+ x -= mVideoButton->getWidth() + 6;
+ mVideoButton->setPosition(x, 3);
+
+ x -= mThemesButton->getWidth() + 6;
+ mThemesButton->setPosition(x, 3);
+#endif
+ }
+
+ if (mGame)
+ mGame->videoResized(width, height);
+
+ if (gui)
+ gui->draw();
+
+ // Since everything appears to have worked out, remember to store the
+ // new size in the configuration.
+ config.setValue("screenwidth", width);
+ config.setValue("screenheight", height);
+ }
+}
diff --git a/src/client.h b/src/client.h
index 27e6249bd..6c93adbdf 100644
--- a/src/client.h
+++ b/src/client.h
@@ -38,6 +38,7 @@
class Button;
class Desktop;
+class Game;
class LoginData;
class Window;
class QuitDialog;
@@ -257,6 +258,9 @@ public:
static std::string getServerName()
{ return instance()->mServerName; }
+ static void resize(int width, int height, bool always = false)
+ { instance()->resizeVideo(width, height, always); }
+
static void setGuiAlpha(float n);
static float getGuiAlpha();
@@ -281,6 +285,8 @@ public:
void writePacketLimits(std::string packetLimitsName);
+ void resizeVideo(int width, int height, bool always);
+
static bool limitPackets(int type);
static bool checkPackets(int type);
@@ -334,6 +340,7 @@ private:
ServerInfo mCurrentServer;
+ Game *mGame;
Window *mCurrentDialog;
QuitDialog *mQuitDialog;
Desktop *mDesktop;
diff --git a/src/commandhandler.cpp b/src/commandhandler.cpp
index 0f1e60a25..4022d8d58 100644
--- a/src/commandhandler.cpp
+++ b/src/commandhandler.cpp
@@ -54,6 +54,7 @@
#include "net/guildhandler.h"
#include "net/net.h"
#include "net/partyhandler.h"
+#include "net/playerhandler.h"
#include "net/tradehandler.h"
#ifdef DEBUG_DUMP_LEAKS
@@ -664,6 +665,9 @@ void CommandHandler::handleNavigate(const std::string &args,
bool CommandHandler::parse2Int(const std::string &args, int *x, int *y)
{
+ if (!x || !y)
+ return false;
+
bool isValid = false;
const std::string::size_type pos = args.find(" ");
if (pos != std::string::npos)
@@ -748,7 +752,10 @@ void CommandHandler::handlePseudoAway(const std::string &args,
ChatTab *tab A_UNUSED)
{
if (player_node)
+ {
player_node->setPseudoAway(args);
+ player_node->updateStatus();
+ }
}
void CommandHandler::handleFollow(const std::string &args, ChatTab *tab)
@@ -1185,6 +1192,9 @@ void showRes(std::string str, ResourceManager::Resources *res);
void showRes(std::string str, ResourceManager::Resources *res)
{
+ if (!res)
+ return;
+
if (debugChatTab)
debugChatTab->chatLog(str + toString(res->size()));
logger->log(str + toString(res->size()));
diff --git a/src/compoundsprite.cpp b/src/compoundsprite.cpp
index e76a55dcf..61fb3d4e0 100644
--- a/src/compoundsprite.cpp
+++ b/src/compoundsprite.cpp
@@ -61,10 +61,6 @@ CompoundSprite::CompoundSprite() :
CompoundSprite::~CompoundSprite()
{
- SpriteIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
- delete (*it);
-
clear();
// delete mImage;
@@ -78,7 +74,7 @@ bool CompoundSprite::reset()
bool ret = false;
SpriteIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if (*it)
ret |= (*it)->reset();
@@ -93,7 +89,7 @@ bool CompoundSprite::play(std::string action)
bool ret = false;
SpriteIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if (*it)
ret |= (*it)->play(action);
@@ -108,7 +104,7 @@ bool CompoundSprite::update(int time)
bool ret = false;
SpriteIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if (*it)
ret |= (*it)->update(time);
@@ -118,11 +114,14 @@ bool CompoundSprite::update(int time)
return ret;
}
-bool CompoundSprite::draw(Graphics* graphics, int posX, int posY) const
+bool CompoundSprite::draw(Graphics *graphics, int posX, int posY) const
{
if (mNeedsRedraw)
updateImages();
+ if (mSprites.empty()) // Nothing to draw
+ return false;
+
if (mAlpha == 1.0f && mImage)
{
return graphics->drawImage(mImage, posX + mOffsetX, posY + mOffsetY);
@@ -144,7 +143,7 @@ bool CompoundSprite::draw(Graphics* graphics, int posX, int posY) const
void CompoundSprite::drawSprites(Graphics* graphics, int posX, int posY) const
{
SpriteConstIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if (*it)
{
@@ -158,7 +157,7 @@ void CompoundSprite::drawSpritesSDL(Graphics* graphics,
int posX, int posY) const
{
SpriteConstIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if (*it)
(*it)->draw(graphics, posX, posY);
@@ -170,7 +169,7 @@ int CompoundSprite::getWidth() const
Sprite *base = nullptr;
SpriteConstIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if ((base = (*it)))
break;
@@ -187,7 +186,7 @@ int CompoundSprite::getHeight() const
Sprite *base = nullptr;
SpriteConstIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if ((base = (*it)))
break;
@@ -199,7 +198,7 @@ int CompoundSprite::getHeight() const
return 0;
}
-const Image* CompoundSprite::getImage() const
+const Image *CompoundSprite::getImage() const
{
return mImage;
}
@@ -209,7 +208,7 @@ bool CompoundSprite::setSpriteDirection(SpriteDirection direction)
bool ret = false;
SpriteIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if (*it)
ret |= (*it)->setSpriteDirection(direction);
@@ -230,7 +229,7 @@ int CompoundSprite::getNumberOfLayers() const
unsigned int CompoundSprite::getCurrentFrame() const
{
SpriteConstIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if (*it)
return (*it)->getCurrentFrame();
@@ -242,7 +241,7 @@ unsigned int CompoundSprite::getCurrentFrame() const
unsigned int CompoundSprite::getFrameCount() const
{
SpriteConstIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if (*it)
return (*it)->getFrameCount();
@@ -251,42 +250,43 @@ unsigned int CompoundSprite::getFrameCount() const
return 0;
}
-void CompoundSprite::addSprite(Sprite* sprite)
+void CompoundSprite::addSprite(Sprite *sprite)
{
- push_back(sprite);
+ mSprites.push_back(sprite);
mNeedsRedraw = true;
}
void CompoundSprite::setSprite(int layer, Sprite* sprite)
{
// Skip if it won't change anything
- if (at(layer) == sprite)
+ if (mSprites.at(layer) == sprite)
return;
- if (at(layer))
- delete at(layer);
- at(layer) = sprite;
+ if (mSprites.at(layer))
+ delete mSprites.at(layer);
+ mSprites[layer] = sprite;
mNeedsRedraw = true;
}
void CompoundSprite::removeSprite(int layer)
{
// Skip if it won't change anything
- if (at(layer) == nullptr)
+ if (!mSprites.at(layer))
return;
- delete at(layer);
- at(layer) = nullptr;
+ delete mSprites.at(layer);
+ mSprites.at(layer) = nullptr;
mNeedsRedraw = true;
}
void CompoundSprite::clear()
{
// Skip if it won't change anything
- if (empty())
- return;
-
- std::vector<Sprite*>::clear();
+ if (!mSprites.empty())
+ {
+ delete_all(mSprites);
+ mSprites.clear();
+ }
mNeedsRedraw = true;
delete_all(imagesCache);
imagesCache.clear();
@@ -297,10 +297,11 @@ void CompoundSprite::clear()
void CompoundSprite::ensureSize(size_t layerCount)
{
// Skip if it won't change anything
- if (size() >= layerCount)
+ if (mSprites.size() >= layerCount)
return;
- resize(layerCount, nullptr);
+// resize(layerCount, nullptr);
+ mSprites.resize(layerCount);
}
/**
@@ -308,7 +309,7 @@ void CompoundSprite::ensureSize(size_t layerCount)
*/
unsigned int CompoundSprite::getCurrentFrame(unsigned int layer)
{
- if (layer >= size())
+ if (layer >= mSprites.size())
return 0;
Sprite *s = getSprite(layer);
@@ -323,7 +324,7 @@ unsigned int CompoundSprite::getCurrentFrame(unsigned int layer)
*/
unsigned int CompoundSprite::getFrameCount(unsigned int layer)
{
- if (layer >= size())
+ if (layer >= mSprites.size())
return 0;
Sprite *s = getSprite(layer);
@@ -418,7 +419,8 @@ void CompoundSprite::setAlpha(float alpha)
#endif
{
SpriteConstIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++ it)
+ for (it = mSprites.begin(), it_end = mSprites.end();
+ it != it_end; ++ it)
{
if (*it)
(*it)->setAlpha(alpha);
@@ -490,8 +492,8 @@ bool CompoundSprite::updateFromCache() const
if (ic && ic->data.size() == size())
{
bool fail(false);
- SpriteConstIterator it1 = begin();
- SpriteConstIterator it1_end = end();
+ SpriteConstIterator it1 = mSprites.begin();
+ SpriteConstIterator it1_end = mSprites.end();
VectorPointers::const_iterator it2 = ic->data.begin();
VectorPointers::const_iterator it2_end = ic->data.end();
@@ -535,7 +537,7 @@ void CompoundSprite::initCurrentCacheItem() const
// mCacheItem->alpha = mAlpha;
SpriteConstIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++ it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if (*it)
mCacheItem->data.push_back((*it)->getHash());
@@ -548,7 +550,7 @@ bool CompoundSprite::updateNumber(unsigned num)
{
SpriteConstIterator it, it_end;
bool res(false);
- for (it = begin(), it_end = end(); it != it_end; ++ it)
+ for (it = mSprites.begin(), it_end = mSprites.end(); it != it_end; ++ it)
{
if (*it)
{
diff --git a/src/compoundsprite.h b/src/compoundsprite.h
index 1c04e44d2..1b9eeca34 100644
--- a/src/compoundsprite.h
+++ b/src/compoundsprite.h
@@ -44,11 +44,11 @@ class CompoundItem
Image *alphaImage;
};
-class CompoundSprite : public Sprite, private std::vector<Sprite*>
+class CompoundSprite : public Sprite
{
public:
- typedef CompoundSprite::iterator SpriteIterator;
- typedef CompoundSprite::const_iterator SpriteConstIterator;
+ typedef std::vector<Sprite*>::iterator SpriteIterator;
+ typedef std::vector<Sprite*>::const_iterator SpriteConstIterator;
CompoundSprite();
@@ -60,7 +60,7 @@ public:
virtual bool update(int time);
- virtual bool draw(Graphics* graphics, int posX, int posY) const;
+ virtual bool draw(Graphics *graphics, int posX, int posY) const;
/**
* Gets the width in pixels of the first sprite in the list.
@@ -72,7 +72,7 @@ public:
*/
virtual int getHeight() const;
- virtual const Image* getImage() const;
+ virtual const Image *getImage() const;
virtual bool setSpriteDirection(SpriteDirection direction);
@@ -83,17 +83,17 @@ public:
unsigned int getFrameCount() const;
size_t size() const
- { return std::vector<Sprite*>::size(); }
+ { return mSprites.size(); }
bool empty() const
- { return std::vector<Sprite*>::empty(); }
+ { return mSprites.empty(); }
- void addSprite(Sprite* sprite);
+ void addSprite(Sprite *sprite);
- void setSprite(int layer, Sprite* sprite);
+ void setSprite(int layer, Sprite *sprite);
Sprite *getSprite(int layer) const
- { return at(layer); }
+ { return mSprites.at(layer); }
void removeSprite(int layer);
@@ -144,6 +144,7 @@ private:
bool mEnableAlphaFix;
bool mDisableAdvBeingCaching;
bool mDisableBeingCaching;
+ std::vector<Sprite*> mSprites;
};
#endif // COMPOUNDSPRITE_H
diff --git a/src/configuration.h b/src/configuration.h
index 00479933e..122badfd5 100644
--- a/src/configuration.h
+++ b/src/configuration.h
@@ -253,10 +253,10 @@ class Configuration : public ConfigurationObject
void setSilent(const std::string &key, const std::string &value);
inline void setValue(const std::string &key, const char *value)
- { setValue(key, std::string(value)); }
+ { if (value) setValue(key, std::string(value)); }
inline void setSilent(const std::string &key, const char *value)
- { setSilent(key, std::string(value)); }
+ { if (value) setSilent(key, std::string(value)); }
inline void setValue(const std::string &key, float value)
{ setValue(key, toString(value)); }
diff --git a/src/debug.h b/src/debug.h
index 4b3934922..64a83e51c 100644
--- a/src/debug.h
+++ b/src/debug.h
@@ -23,6 +23,19 @@
//#define DEBUG_JOYSTICK 1
#ifdef ENABLE_MEM_DEBUG
+
//define _DEBUG_NEW_EMULATE_MALLOC 1
#include "debug/debug_new.h"
+
+#define reportFalse(val) reportFalse1(val, __FILE__, __LINE__)
+#define reportFalse1(val, file, line) reportFalseReal(val, file, line)
+
+#define reportTrue(val) reportTrue1(val, __FILE__, __LINE__)
+#define reportTrue1(val, file, line) reportTrueReal(val, file, line)
+
+#else
+
+#define reportFalse(val) (val)
+#define reportTrue(val) (val)
+
#endif
diff --git a/src/defaults.cpp b/src/defaults.cpp
index 8c0b84ae2..1bce806ff 100644
--- a/src/defaults.cpp
+++ b/src/defaults.cpp
@@ -225,6 +225,8 @@ DefaultsData* getConfigDefaults()
AddDEF(configData, "selectedJoystick", 0);
AddDEF(configData, "useInactiveJoystick", false);
AddDEF(configData, "testInfo", "");
+ AddDEF(configData, "enableresize", true);
+ AddDEF(configData, "noframe", false);
return configData;
}
@@ -234,8 +236,8 @@ DefaultsData* getBrandingDefaults()
// Init config defaults
AddDEF(brandingData, "wallpapersPath", "");
AddDEF(brandingData, "wallpapersFile", "");
- AddDEF(brandingData, "appName", "Mana");
- AddDEF(brandingData, "appIcon", "icons/mana.png");
+ AddDEF(brandingData, "appName", "ManaPlus");
+ AddDEF(brandingData, "appIcon", "icons/manaplus");
AddDEF(brandingData, "loginMusic", "Magick - Real.ogg");
AddDEF(brandingData, "defaultServer", "");
AddDEF(brandingData, "defaultPort", DEFAULT_PORT);
diff --git a/src/dropshortcut.cpp b/src/dropshortcut.cpp
index 79f895490..5b01f7f4f 100644
--- a/src/dropshortcut.cpp
+++ b/src/dropshortcut.cpp
@@ -133,6 +133,13 @@ void DropShortcut::dropItems(int cnt)
if (!player_node)
return;
+
+ if (player_node->isServerBuggy())
+ {
+ dropItem(player_node->getQuickDropCounter());
+ return;
+ }
+
int n = 0;
for (int f = 0; f < 9; f++)
{
diff --git a/src/emoteshortcut.h b/src/emoteshortcut.h
index cc33f4177..d7f1e7b79 100644
--- a/src/emoteshortcut.h
+++ b/src/emoteshortcut.h
@@ -21,7 +21,7 @@
#ifndef EMOTESHORTCUT_H
#define EMOTESHORTCUT_H
-#define SHORTCUT_EMOTES 44
+#define SHORTCUT_EMOTES 48
/**
* The class which keeps track of the emote shortcuts.
diff --git a/src/equipment.h b/src/equipment.h
index 6e4d04c21..50acd60d3 100644
--- a/src/equipment.h
+++ b/src/equipment.h
@@ -90,7 +90,7 @@ class Equipment
void setBackend(Backend *backend)
{ mBackend = backend; }
- Backend *getBackend()
+ Backend *getBackend() const
{ return mBackend; }
private:
diff --git a/src/flooritem.h b/src/flooritem.h
index 7e7da33a0..95427c252 100644
--- a/src/flooritem.h
+++ b/src/flooritem.h
@@ -83,7 +83,7 @@ class FloorItem : public ActorSprite
unsigned char getColor() const
{ return mColor; }
- bool getShowMsg()
+ bool getShowMsg() const
{ return mShowMsg; }
void setShowMsg(bool n)
diff --git a/src/game.cpp b/src/game.cpp
index 14a988700..0d5c1113e 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -287,6 +287,9 @@ static void createGuiWindows()
if (setupWindow)
setupWindow->externalUpdate();
+ if (player_node)
+ player_node->updateStatus();
+
Mana::Event::trigger(CHANNEL_GAME, Mana::Event(EVENT_GUIWINDOWSLOADED));
}
@@ -373,8 +376,7 @@ Game::Game():
// Create the viewport
viewport = new Viewport;
- viewport->setDimension(gcn::Rectangle(0, 0, mainGraphics->mWidth,
- mainGraphics->mHeight));
+ viewport->setSize(mainGraphics->mWidth, mainGraphics->mHeight);
gcn::Container *top = static_cast<gcn::Container*>(gui->getTop());
top->add(viewport);
@@ -490,7 +492,7 @@ static bool saveScreenshot()
filenameSuffix.str("");
filename.str("");
filename << screenshotDirectory << "/";
- filenameSuffix << branding.getValue("appShort", "ManaPlus")
+ filenameSuffix << branding.getValue("appName", "ManaPlus")
<< "_Screenshot_" << screenshotCount << ".png";
filename << filenameSuffix.str();
testExists.open(filename.str().c_str(), std::ios::in);
@@ -724,10 +726,10 @@ bool Game::handleOutfitsKeys(SDL_Event &event, bool &used)
{
bool wearOutfit = false;
bool copyOutfit = false;
- if (keyboard.isKeyActive(keyboard.KEY_WEAR_OUTFIT))
+ if (keyboard.isActionActive(keyboard.KEY_WEAR_OUTFIT))
wearOutfit = true;
- if (keyboard.isKeyActive(keyboard.KEY_COPY_OUTFIT))
+ if (keyboard.isActionActive(keyboard.KEY_COPY_OUTFIT))
copyOutfit = true;
if (wearOutfit || copyOutfit)
@@ -744,15 +746,15 @@ bool Game::handleOutfitsKeys(SDL_Event &event, bool &used)
}
else
{
- if (keyboard.isKeyActive(keyboard.KEY_MOVE_RIGHT))
+ if (keyboard.isActionActive(keyboard.KEY_MOVE_RIGHT))
outfitWindow->wearNextOutfit();
- else if (keyboard.isKeyActive(keyboard.KEY_MOVE_LEFT))
+ else if (keyboard.isActionActive(keyboard.KEY_MOVE_LEFT))
outfitWindow->wearPreviousOutfit();
}
setValidSpeed();
return true;
}
- else if (keyboard.isKeyActive(keyboard.KEY_MOVE_TO_POINT))
+ else if (keyboard.isActionActive(keyboard.KEY_MOVE_TO_POINT))
{
int num = outfitWindow->keyToNumber(
event.key.keysym.sym);
@@ -773,7 +775,7 @@ bool Game::handleSwitchKeys(SDL_Event &event, bool &used)
&& !player_node->getAway())
{
NpcDialog *dialog = NpcDialog::getActive();
- if (keyboard.isKeyActive(keyboard.KEY_OK)
+ if (keyboard.isActionActive(keyboard.KEY_OK)
&& (!dialog || !dialog->isTextInputFocused()))
{
// Close the Browser if opened
@@ -790,7 +792,7 @@ bool Game::handleSwitchKeys(SDL_Event &event, bool &used)
dialog->action(gcn::ActionEvent(nullptr, "ok"));
}
}
- if (chatWindow && keyboard.isKeyActive(
+ if (chatWindow && keyboard.isActionActive(
keyboard.KEY_TOGGLE_CHAT))
{
if (!InventoryWindow::isAnyInputFocused())
@@ -801,9 +803,9 @@ bool Game::handleSwitchKeys(SDL_Event &event, bool &used)
}
if (dialog)
{
- if (keyboard.isKeyActive(keyboard.KEY_MOVE_UP))
+ if (keyboard.isActionActive(keyboard.KEY_MOVE_UP))
dialog->move(1);
- else if (keyboard.isKeyActive(keyboard.KEY_MOVE_DOWN))
+ else if (keyboard.isActionActive(keyboard.KEY_MOVE_DOWN))
dialog->move(-1);
}
}
@@ -813,27 +815,27 @@ bool Game::handleSwitchKeys(SDL_Event &event, bool &used)
!InventoryWindow::isAnyInputFocused())
|| (event.key.keysym.mod & KMOD_ALT)))
{
- if (keyboard.isKeyActive(keyboard.KEY_PREV_CHAT_TAB))
+ if (keyboard.isActionActive(keyboard.KEY_PREV_CHAT_TAB))
{
chatWindow->prevTab();
return true;
}
- else if (keyboard.isKeyActive(keyboard.KEY_NEXT_CHAT_TAB))
+ else if (keyboard.isActionActive(keyboard.KEY_NEXT_CHAT_TAB))
{
chatWindow->nextTab();
return true;
}
- else if (keyboard.isKeyActive(keyboard.KEY_PREV_SOCIAL_TAB))
+ else if (keyboard.isActionActive(keyboard.KEY_PREV_SOCIAL_TAB))
{
socialWindow->prevTab();
return true;
}
- else if (keyboard.isKeyActive(keyboard.KEY_NEXT_SOCIAL_TAB))
+ else if (keyboard.isActionActive(keyboard.KEY_NEXT_SOCIAL_TAB))
{
socialWindow->nextTab();
return true;
}
- else if (keyboard.isKeyActive(keyboard.KEY_CLOSE_CHAT_TAB))
+ else if (keyboard.isActionActive(keyboard.KEY_CLOSE_CHAT_TAB))
{
chatWindow->closeTab();
return true;
@@ -963,9 +965,9 @@ bool Game::handleSwitchKeys(SDL_Event &event, bool &used)
case KeyboardConfig::KEY_MOVE_TO_TARGET:
if (player_node)
{
- if (!keyboard.isKeyActive(
+ if (!keyboard.isActionActive(
keyboard.KEY_TARGET_ATTACK)
- && !keyboard.isKeyActive(keyboard.KEY_ATTACK))
+ && !keyboard.isActionActive(keyboard.KEY_ATTACK))
{
player_node->moveToTarget();
}
@@ -975,9 +977,9 @@ bool Game::handleSwitchKeys(SDL_Event &event, bool &used)
case KeyboardConfig::KEY_MOVE_TO_HOME:
if (player_node)
{
- if (!keyboard.isKeyActive(
+ if (!keyboard.isActionActive(
keyboard.KEY_TARGET_ATTACK)
- && !keyboard.isKeyActive(keyboard.KEY_ATTACK))
+ && !keyboard.isActionActive(keyboard.KEY_ATTACK))
{
player_node->moveToHome();
}
@@ -1077,6 +1079,7 @@ bool Game::handleSwitchKeys(SDL_Event &event, bool &used)
if (player_node)
{
player_node->changeAwayMode();
+ player_node->updateStatus();
setValidSpeed();
}
break;
@@ -1099,8 +1102,8 @@ bool Game::handleSwitchKeys(SDL_Event &event, bool &used)
if (!NpcDialog::isAnyInputFocused()
&& !InventoryWindow::isAnyInputFocused()
- && !keyboard.isKeyActive(keyboard.KEY_TARGET)
- && !keyboard.isKeyActive(keyboard.KEY_UNTARGET))
+ && !keyboard.isActionActive(keyboard.KEY_TARGET)
+ && !keyboard.isActionActive(keyboard.KEY_UNTARGET))
{
if (setupWindow && setupWindow->isVisible())
{
@@ -1146,7 +1149,7 @@ bool Game::handleSwitchKeys(SDL_Event &event, bool &used)
// Player sit action
if (player_node)
{
- if (keyboard.isKeyActive(keyboard.KEY_EMOTE))
+ if (keyboard.isActionActive(keyboard.KEY_EMOTE))
player_node->updateSit();
else
player_node->toggleSit();
@@ -1319,8 +1322,8 @@ void Game::handleMoveAndAttack(SDL_Event &event, bool wasDown)
// Ignore input if either "ignore" key is pressed
// Stops the character moving about if the user's window manager
// uses "ignore+arrow key" to switch virtual desktops.
- if (keyboard.isKeyActive(keyboard.KEY_IGNORE_INPUT_1) ||
- keyboard.isKeyActive(keyboard.KEY_IGNORE_INPUT_2))
+ if (keyboard.isActionActive(keyboard.KEY_IGNORE_INPUT_1) ||
+ keyboard.isActionActive(keyboard.KEY_IGNORE_INPUT_2))
{
return;
}
@@ -1328,14 +1331,14 @@ void Game::handleMoveAndAttack(SDL_Event &event, bool wasDown)
unsigned char direction = 0;
// Translate pressed keys to movement and direction
- if (keyboard.isKeyActive(keyboard.KEY_MOVE_UP) ||
+ if (keyboard.isActionActive(keyboard.KEY_MOVE_UP) ||
(joystick && joystick->isUp()))
{
direction |= Being::UP;
setValidSpeed();
player_node->cancelFollow();
}
- else if (keyboard.isKeyActive(keyboard.KEY_MOVE_DOWN) ||
+ else if (keyboard.isActionActive(keyboard.KEY_MOVE_DOWN) ||
(joystick && joystick->isDown()))
{
direction |= Being::DOWN;
@@ -1343,23 +1346,23 @@ void Game::handleMoveAndAttack(SDL_Event &event, bool wasDown)
player_node->cancelFollow();
}
- if (keyboard.isKeyActive(keyboard.KEY_MOVE_LEFT) ||
+ if (keyboard.isActionActive(keyboard.KEY_MOVE_LEFT) ||
(joystick && joystick->isLeft()))
{
direction |= Being::LEFT;
setValidSpeed();
player_node->cancelFollow();
}
- else if (keyboard.isKeyActive(keyboard.KEY_MOVE_RIGHT) ||
+ else if (keyboard.isActionActive(keyboard.KEY_MOVE_RIGHT) ||
(joystick && joystick->isRight()))
{
direction |= Being::RIGHT;
setValidSpeed();
player_node->cancelFollow();
}
- else if (!keyboard.isKeyActive(keyboard.KEY_EMOTE))
+ else if (!keyboard.isActionActive(keyboard.KEY_EMOTE))
{
- if (keyboard.isKeyActive(keyboard.KEY_DIRECT_UP))
+ if (keyboard.isActionActive(keyboard.KEY_DIRECT_UP))
{
if (player_node->getDirection() != Being::UP)
{
@@ -1370,7 +1373,7 @@ void Game::handleMoveAndAttack(SDL_Event &event, bool wasDown)
}
}
}
- else if (keyboard.isKeyActive(keyboard.KEY_DIRECT_DOWN))
+ else if (keyboard.isActionActive(keyboard.KEY_DIRECT_DOWN))
{
if (player_node->getDirection() != Being::DOWN)
{
@@ -1381,7 +1384,7 @@ void Game::handleMoveAndAttack(SDL_Event &event, bool wasDown)
}
}
}
- else if (keyboard.isKeyActive(keyboard.KEY_DIRECT_LEFT))
+ else if (keyboard.isActionActive(keyboard.KEY_DIRECT_LEFT))
{
if (player_node->getDirection() != Being::LEFT)
{
@@ -1392,7 +1395,7 @@ void Game::handleMoveAndAttack(SDL_Event &event, bool wasDown)
}
}
}
- else if (keyboard.isKeyActive(keyboard.KEY_DIRECT_RIGHT))
+ else if (keyboard.isActionActive(keyboard.KEY_DIRECT_RIGHT))
{
if (player_node->getDirection() != Being::RIGHT)
{
@@ -1405,7 +1408,7 @@ void Game::handleMoveAndAttack(SDL_Event &event, bool wasDown)
}
}
- if (keyboard.isKeyActive(keyboard.KEY_EMOTE) && direction != 0)
+ if (keyboard.isActionActive(keyboard.KEY_EMOTE) && direction != 0)
{
if (player_node->getDirection() != direction)
{
@@ -1449,18 +1452,19 @@ void Game::handleMoveAndAttack(SDL_Event &event, bool wasDown)
|| joyAttack) && mValidSpeed)
{
// Attacking monsters
- if (keyboard.isKeyActive(keyboard.KEY_ATTACK))
+ if (keyboard.isActionActive(keyboard.KEY_ATTACK))
{
if (player_node->getTarget())
player_node->attack(player_node->getTarget(), true);
}
- if ((keyboard.isKeyActive(keyboard.KEY_TARGET_ATTACK) || joyAttack)
- && !keyboard.isKeyActive(keyboard.KEY_MOVE_TO_TARGET))
+ if ((keyboard.isActionActive(keyboard.KEY_TARGET_ATTACK)
+ || joyAttack)
+ && !keyboard.isActionActive(keyboard.KEY_MOVE_TO_TARGET))
{
Being *target = nullptr;
- bool newTarget = !keyboard.isKeyActive(keyboard.KEY_TARGET);
+ bool newTarget = !keyboard.isActionActive(keyboard.KEY_TARGET);
// A set target has highest priority
if (!player_node->getTarget())
{
@@ -1477,27 +1481,27 @@ void Game::handleMoveAndAttack(SDL_Event &event, bool wasDown)
}
}
- if (!keyboard.isKeyActive(keyboard.KEY_EMOTE))
+ if (!keyboard.isActionActive(keyboard.KEY_EMOTE))
{
// Target the nearest player/monster/npc
- if ((keyboard.isKeyActive(keyboard.KEY_TARGET_PLAYER) ||
- keyboard.isKeyActive(keyboard.KEY_TARGET_CLOSEST) ||
- keyboard.isKeyActive(keyboard.KEY_TARGET_NPC) ||
+ if ((keyboard.isActionActive(keyboard.KEY_TARGET_PLAYER) ||
+ keyboard.isActionActive(keyboard.KEY_TARGET_CLOSEST) ||
+ keyboard.isActionActive(keyboard.KEY_TARGET_NPC) ||
(joystick && joystick->buttonPressed(3))) &&
- !keyboard.isKeyActive(keyboard.KEY_TARGET) &&
- !keyboard.isKeyActive(keyboard.KEY_UNTARGET))
+ !keyboard.isActionActive(keyboard.KEY_TARGET) &&
+ !keyboard.isActionActive(keyboard.KEY_UNTARGET))
{
ActorSprite::Type currentTarget = ActorSprite::UNKNOWN;
- if (keyboard.isKeyActive(keyboard.KEY_TARGET_CLOSEST) ||
+ if (keyboard.isActionActive(keyboard.KEY_TARGET_CLOSEST) ||
(joystick && joystick->buttonPressed(3)))
{
currentTarget = ActorSprite::MONSTER;
}
- else if (keyboard.isKeyActive(keyboard.KEY_TARGET_PLAYER))
+ else if (keyboard.isActionActive(keyboard.KEY_TARGET_PLAYER))
{
currentTarget = ActorSprite::PLAYER;
}
- else if (keyboard.isKeyActive(keyboard.KEY_TARGET_NPC))
+ else if (keyboard.isActionActive(keyboard.KEY_TARGET_NPC))
{
currentTarget = ActorSprite::NPC;
}
@@ -1521,7 +1525,7 @@ void Game::handleMoveAndAttack(SDL_Event &event, bool wasDown)
// Talk to the nearest NPC if 't' pressed
if (wasDown && keyboard.getKeyIndex(event.key.keysym.sym)
== KeyboardConfig::KEY_TALK &&
- !keyboard.isKeyActive(keyboard.KEY_EMOTE))
+ !keyboard.isActionActive(keyboard.KEY_EMOTE))
{
Being *target = player_node->getTarget();
@@ -1535,15 +1539,15 @@ void Game::handleMoveAndAttack(SDL_Event &event, bool wasDown)
}
// Stop attacking if the right key is pressed
- if (!keyboard.isKeyActive(keyboard.KEY_ATTACK)
- && !keyboard.isKeyActive(keyboard.KEY_EMOTE))
+ if (!keyboard.isActionActive(keyboard.KEY_ATTACK)
+ && !keyboard.isActionActive(keyboard.KEY_EMOTE))
{
- if (keyboard.isKeyActive(keyboard.KEY_TARGET)
+ if (keyboard.isActionActive(keyboard.KEY_TARGET)
|| (joystick && joystick->buttonPressed(4)))
{
player_node->stopAttack();
}
- else if (keyboard.isKeyActive(keyboard.KEY_UNTARGET))
+ else if (keyboard.isActionActive(keyboard.KEY_UNTARGET))
{
player_node->untarget();
}
@@ -1585,6 +1589,8 @@ void Game::handleActive(SDL_Event &event)
player_node->setHalfAway(true);
}
}
+ if (player_node)
+ player_node->updateStatus();
}
if (player_node)
player_node->updateName();
@@ -1630,8 +1636,13 @@ void Game::handleInput()
updateHistory(event);
checkKeys();
+ if (event.type == SDL_VIDEORESIZE)
+ {
+ // Let the client deal with this one (it'll pass down from there)
+ Client::resize(event.resize.w, event.resize.h);
+ }
// Keyboard events (for discontinuous keys)
- if (event.type == SDL_KEYDOWN)
+ else if (event.type == SDL_KEYDOWN)
{
wasDown = true;
@@ -1661,7 +1672,7 @@ void Game::handleInput()
}
if (chatWindow && !chatWindow->isInputFocused()
- && keyboard.isKeyActive(keyboard.KEY_RIGHT_CLICK))
+ && keyboard.isActionActive(keyboard.KEY_RIGHT_CLICK))
{
int mouseX, mouseY;
SDL_GetMouseState(&mouseX, &mouseY);
@@ -1674,7 +1685,7 @@ void Game::handleInput()
}
// Mode switch to emotes
- if (keyboard.isKeyActive(keyboard.KEY_EMOTE))
+ if (keyboard.isActionActive(keyboard.KEY_EMOTE))
{
// Emotions
int emotion = keyboard.getKeyEmoteOffset(event.key.keysym.sym);
@@ -1728,8 +1739,8 @@ void Game::handleInput()
return;
// If pressed outfits keys, stop processing keys.
- if (keyboard.isKeyActive(keyboard.KEY_WEAR_OUTFIT)
- || keyboard.isKeyActive(keyboard.KEY_COPY_OUTFIT)
+ if (keyboard.isActionActive(keyboard.KEY_WEAR_OUTFIT)
+ || keyboard.isActionActive(keyboard.KEY_COPY_OUTFIT)
|| (setupWindow && setupWindow->isVisible()))
{
return;
@@ -1934,3 +1945,11 @@ void Game::closeDialogs()
deathNotice = nullptr;
}
}
+
+void Game::videoResized(int width, int height)
+{
+ if (viewport)
+ viewport->setSize(width, height);
+ if (windowMenu)
+ windowMenu->setPosition(width - 3 - windowMenu->getWidth(), 3);
+}
diff --git a/src/game.h b/src/game.h
index c6d942fe1..4469d3774 100644
--- a/src/game.h
+++ b/src/game.h
@@ -91,7 +91,7 @@ class Game
/**
* Returns the currently active map.
*/
- Map *getCurrentMap()
+ Map *getCurrentMap() const
{ return mCurrentMap; }
const std::string &getCurrentMapName() const
@@ -108,6 +108,8 @@ class Game
static void closeDialogs();
+ void videoResized(int width, int height);
+
private:
void updateHistory(SDL_Event &event);
diff --git a/src/graphics.cpp b/src/graphics.cpp
index bbd398aa5..5848d8c14 100644
--- a/src/graphics.cpp
+++ b/src/graphics.cpp
@@ -47,13 +47,15 @@ Graphics::Graphics():
mBlitMode(BLIT_NORMAL),
mRedraw(false),
mDoubleBuffer(false),
- mSecure(false)
+ mSecure(false),
+ mOpenGL(0),
+ mEnableResize(false),
+ mNoFrame(false)
{
mRect.x = 0;
mRect.y = 0;
mRect.w = 0;
mRect.h = 0;
- mOpenGL = 0;
}
Graphics::~Graphics()
@@ -61,7 +63,8 @@ Graphics::~Graphics()
_endDraw();
}
-bool Graphics::setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel)
+bool Graphics::setVideoMode(int w, int h, int bpp, bool fs,
+ bool hwaccel, bool resize, bool noFrame)
{
logger->log("Setting video mode %dx%d %s",
w, h, fs ? "fullscreen" : "windowed");
@@ -73,15 +76,22 @@ bool Graphics::setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel)
mBpp = bpp;
mFullscreen = fs;
mHWAccel = hwaccel;
+ mEnableResize = resize;
+ mNoFrame = noFrame;
if (fs)
displayFlags |= SDL_FULLSCREEN;
+ else if (resize)
+ displayFlags |= SDL_RESIZABLE;
if (hwaccel)
displayFlags |= SDL_HWSURFACE | SDL_DOUBLEBUF;
else
displayFlags |= SDL_SWSURFACE;
+ if (noFrame)
+ displayFlags |= SDL_NOFRAME;
+
setTarget(SDL_SetVideoMode(w, h, bpp, displayFlags));
if (!mTarget)
@@ -138,7 +148,37 @@ bool Graphics::setFullscreen(bool fs)
if (mFullscreen == fs)
return true;
- return setVideoMode(mWidth, mHeight, mBpp, fs, mHWAccel);
+ return setVideoMode(mWidth, mHeight, mBpp, fs, mHWAccel,
+ mEnableResize, mNoFrame);
+}
+
+bool Graphics::resizeScreen(int width, int height)
+{
+ if (mWidth == width && mHeight == height)
+ return true;
+
+ const int prevWidth = mWidth;
+ const int prevHeight = mHeight;
+
+ _endDraw();
+
+ bool success = setVideoMode(width, height, mBpp,
+ mFullscreen, mHWAccel, mEnableResize, mNoFrame);
+
+ // If it didn't work, try to restore the previous size. If that didn't
+ // work either, bail out (but then we're in deep trouble).
+ if (!success)
+ {
+ if (!setVideoMode(prevWidth, prevHeight, mBpp,
+ mFullscreen, mHWAccel, mEnableResize, mNoFrame))
+ {
+ return false;
+ }
+ }
+
+ _beginDraw();
+
+ return success;
}
int Graphics::getWidth() const
diff --git a/src/graphics.h b/src/graphics.h
index 4c47e690d..5d496d654 100644
--- a/src/graphics.h
+++ b/src/graphics.h
@@ -96,8 +96,8 @@ class Graphics : public gcn::SDLGraphics
/**
* Try to create a window with the given settings.
*/
- virtual bool setVideoMode(int w, int h, int bpp,
- bool fs, bool hwaccel);
+ virtual bool setVideoMode(int w, int h, int bpp, bool fs,
+ bool hwaccel, bool resize, bool noFrame);
/**
* Set fullscreen mode.
@@ -105,6 +105,11 @@ class Graphics : public gcn::SDLGraphics
bool setFullscreen(bool fs);
/**
+ * Resize the window to the specified size.
+ */
+ bool resizeScreen(int width, int height);
+
+ /**
* Blits an image onto the screen.
*
* @return <code>true</code> if the image was blitted properly
@@ -220,7 +225,7 @@ class Graphics : public gcn::SDLGraphics
void setBlitMode(BlitMode mode)
{ mBlitMode = mode; }
- BlitMode getBlitMode()
+ BlitMode getBlitMode() const
{ return mBlitMode; }
void fillRectangle(const gcn::Rectangle& rectangle);
@@ -258,30 +263,33 @@ class Graphics : public gcn::SDLGraphics
void setRedraw(bool n)
{ mRedraw = n; }
- bool getRedraw()
+ bool getRedraw() const
{ return mRedraw; }
void setSecure(bool n)
{ mSecure = n; }
- bool getSecure()
+ bool getSecure() const
{ return mSecure; }
- int getBpp()
+ int getBpp() const
{ return mBpp; }
- bool getFullScreen()
+ bool getFullScreen() const
{ return mFullscreen; }
- bool getHWAccel()
+ bool getHWAccel() const
{ return mHWAccel; }
- bool getDoubleBuffer()
+ bool getDoubleBuffer() const
{ return mDoubleBuffer; }
int getOpenGL()
{ return mOpenGL; }
+ void setNoFrame(bool n)
+ { mNoFrame = n; }
+
int mWidth;
int mHeight;
@@ -298,6 +306,8 @@ class Graphics : public gcn::SDLGraphics
SDL_Rect mRect;
bool mSecure;
int mOpenGL;
+ bool mEnableResize;
+ bool mNoFrame;
};
extern Graphics *mainGraphics;
diff --git a/src/graphicsvertexes.h b/src/graphicsvertexes.h
index 046bf90ce..4245e8bf5 100644
--- a/src/graphicsvertexes.h
+++ b/src/graphicsvertexes.h
@@ -153,7 +153,7 @@ class GraphicsVertexes
SDLGraphicsVertexes sdl[5];
#ifdef USE_OPENGL
- OpenGL1GraphicsVertexes ogl1[5];
+// OpenGL1GraphicsVertexes ogl1[5];
OpenGLGraphicsVertexes ogl[5];
#endif
diff --git a/src/gui/charcreatedialog.cpp b/src/gui/charcreatedialog.cpp
index a1233fdcc..8d4767a15 100644
--- a/src/gui/charcreatedialog.cpp
+++ b/src/gui/charcreatedialog.cpp
@@ -47,6 +47,7 @@
#include "resources/chardb.h"
#include "resources/colordb.h"
#include "resources/itemdb.h"
+#include "resources/iteminfo.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -55,14 +56,27 @@
#include "debug.h"
+const static Being::Action actions[] =
+{
+ Being::STAND, Being::SIT, Being::MOVE, Being::ATTACK, Being::DEAD
+};
+
+const static int directions[] =
+{
+ Being::DOWN, Being::RIGHT, Being::UP, Being::LEFT
+};
+
CharCreateDialog::CharCreateDialog(CharSelectDialog *parent, int slot):
- Window(_("Create Character"), true, parent, "charcreate.xml"),
+ Window(_("New Character"), true, parent, "charcreate.xml"),
mCharSelectDialog(parent),
mRace(0),
- mSlot(slot)
+ mSlot(slot),
+ mAction(0),
+ mDirection(0)
{
setStickyButtonLock(true);
setSticky(true);
+ setWindowName("NewCharacter");
mPlayer = new Being(0, ActorSprite::PLAYER, mRace, nullptr);
mPlayer->setGender(GENDER_MALE);
@@ -79,9 +93,9 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *parent, int slot):
mHairStyle = (rand() % maxHairStyle) + minHairStyle;
mHairColor = (rand() % maxHairColor) + minHairColor;
- updateHair();
mNameField = new TextField("");
+ mNameField->setMaximum(24);
mNameLabel = new Label(_("Name:"));
// TRANSLATORS: This is a narrow symbol used to denote 'next'.
// You may change this symbol if your language uses another.
@@ -90,15 +104,20 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *parent, int slot):
// You may change this symbol if your language uses another.
mPrevHairColorButton = new Button(_("<"), "prevcolor", this);
mHairColorLabel = new Label(_("Hair color:"));
+ mHairColorNameLabel = new Label("");
mNextHairStyleButton = new Button(_(">"), "nextstyle", this);
mPrevHairStyleButton = new Button(_("<"), "prevstyle", this);
mHairStyleLabel = new Label(_("Hair style:"));
+ mHairStyleNameLabel = new Label("");
+ mActionButton = new Button(_("^"), "action", this);
+ mRotateButton = new Button(_(">"), "rotate", this);
if (serverVersion >= 2)
{
mNextRaceButton = new Button(_(">"), "nextrace", this);
mPrevRaceButton = new Button(_("<"), "prevrace", this);
mRaceLabel = new Label(_("Race:"));
+ mRaceNameLabel = new Label("");
}
mCreateButton = new Button(_("Create"), "create", this);
@@ -124,31 +143,42 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *parent, int slot):
mAttributesLeft = new Label(
strprintf(_("Please distribute %d points"), 99));
- int w = 280;
- int h = 330;
+ int w = 480;
+ int h = 350;
setContentSize(w, h);
- mPlayerBox->setDimension(gcn::Rectangle(145, 35, 110, 87));
- mNameLabel->setPosition(5, 5);
+ mPlayerBox->setDimension(gcn::Rectangle(350, 40, 110, 90));
+ mActionButton->setPosition(375, 140);
+ mRotateButton->setPosition(405, 140);
+
+ mNameLabel->setPosition(5, 10);
mNameField->setDimension(
- gcn::Rectangle(60, 5, w - 60 - 7, mNameField->getHeight()));
- mPrevHairColorButton->setPosition(155, 35);
- mNextHairColorButton->setPosition(230, 35);
- mHairColorLabel->setPosition(5, 40);
- mPrevHairStyleButton->setPosition(155, 64);
- mNextHairStyleButton->setPosition(230, 64);
- mHairStyleLabel->setPosition(5, 70);
+ gcn::Rectangle(60, 10, 300, mNameField->getHeight()));
+
+ int leftX = 120;
+ int rightX = 300;
+ int labelX = 5;
+ int nameX = 145;
+ mPrevHairColorButton->setPosition(leftX, 40);
+ mNextHairColorButton->setPosition(rightX, 40);
+ mHairColorLabel->setPosition(labelX, 45);
+ mHairColorNameLabel->setPosition(nameX, 45);
+ mPrevHairStyleButton->setPosition(leftX, 69);
+ mNextHairStyleButton->setPosition(rightX, 69);
+ mHairStyleLabel->setPosition(labelX, 74);
+ mHairStyleNameLabel->setPosition(nameX, 74);
if (serverVersion >= 2)
{
- mPrevRaceButton->setPosition(155, 93);
- mNextRaceButton->setPosition(230, 93);
- mRaceLabel->setPosition(5, 100);
+ mPrevRaceButton->setPosition(leftX, 103);
+ mNextRaceButton->setPosition(rightX, 103);
+ mRaceLabel->setPosition(labelX, 108);
+ mRaceNameLabel->setPosition(nameX, 108);
}
mAttributesLeft->setPosition(15, 280);
updateSliders();
mCancelButton->setPosition(
- w - 5 - mCancelButton->getWidth(),
+ w / 2,
h - 5 - mCancelButton->getHeight());
mCreateButton->setPosition(
mCancelButton->getX() - 5 - mCreateButton->getWidth(),
@@ -163,15 +193,20 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *parent, int slot):
add(mNextHairColorButton);
add(mPrevHairColorButton);
add(mHairColorLabel);
+ add(mHairColorNameLabel);
add(mNextHairStyleButton);
add(mPrevHairStyleButton);
add(mHairStyleLabel);
+ add(mHairStyleNameLabel);
+ add(mActionButton);
+ add(mRotateButton);
if (serverVersion >= 2)
{
add(mNextRaceButton);
add(mPrevRaceButton);
add(mRaceLabel);
+ add(mRaceNameLabel);
}
add(mAttributesLeft);
@@ -184,6 +219,12 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *parent, int slot):
center();
setVisible(true);
mNameField->requestFocus();
+
+ updateHair();
+ if (serverVersion >= 2)
+ updateRace();
+
+ updatePlayer();
}
CharCreateDialog::~CharCreateDialog()
@@ -197,7 +238,8 @@ CharCreateDialog::~CharCreateDialog()
void CharCreateDialog::action(const gcn::ActionEvent &event)
{
- if (event.getId() == "create")
+ const std::string id = event.getId();
+ if (id == "create")
{
if (
#ifdef MANASERV_SUPPORT
@@ -232,51 +274,65 @@ void CharCreateDialog::action(const gcn::ActionEvent &event)
true, this);
}
}
- else if (event.getId() == "cancel")
+ else if (id == "cancel")
{
scheduleDelete();
}
- else if (event.getId() == "nextcolor")
+ else if (id == "nextcolor")
{
- mHairColor++;
+ mHairColor ++;
updateHair();
}
- else if (event.getId() == "prevcolor")
+ else if (id == "prevcolor")
{
- mHairColor--;
+ mHairColor --;
updateHair();
}
- else if (event.getId() == "nextstyle")
+ else if (id == "nextstyle")
{
- mHairStyle++;
+ mHairStyle ++;
updateHair();
}
- else if (event.getId() == "prevstyle")
+ else if (id == "prevstyle")
{
- mHairStyle--;
+ mHairStyle --;
updateHair();
}
- else if (event.getId() == "nextrace")
+ else if (id == "nextrace")
{
- mRace++;
+ mRace ++;
updateRace();
}
- else if (event.getId() == "prevrace")
+ else if (id == "prevrace")
{
- mRace--;
+ mRace --;
updateRace();
}
- else if (event.getId() == "statslider")
+ else if (id == "statslider")
{
updateSliders();
}
- else if (event.getId() == "gender")
+ else if (id == "gender")
{
if (mMale->isSelected())
mPlayer->setGender(GENDER_MALE);
else
mPlayer->setGender(GENDER_FEMALE);
}
+ else if (id == "action")
+ {
+ mAction ++;
+ if (mAction >= 5)
+ mAction = 0;
+ updatePlayer();
+ }
+ else if (id == "rotate")
+ {
+ mDirection ++;
+ if (mDirection >= 4)
+ mDirection = 0;
+ updatePlayer();
+ }
}
std::string CharCreateDialog::getName() const
@@ -357,34 +413,34 @@ void CharCreateDialog::setAttributes(const std::vector<std::string> &labels,
mAttributeSlider.resize(labels.size());
mAttributeValue.resize(labels.size());
- int w = 200;
- int h = 330;
+ int w = 480;
+ int h = 350;
for (unsigned i = 0; i < labels.size(); i++)
{
mAttributeLabel[i] = new Label(labels[i]);
mAttributeLabel[i]->setWidth(70);
- mAttributeLabel[i]->setPosition(5, 140 + i*20);
+ mAttributeLabel[i]->setPosition(5, 145 + i * 24);
mAttributeLabel[i]->adjustSize();
add(mAttributeLabel[i]);
mAttributeSlider[i] = new Slider(min, max);
- mAttributeSlider[i]->setDimension(gcn::Rectangle(140, 140 + i * 20,
- 100, 10));
+ mAttributeSlider[i]->setDimension(gcn::Rectangle(140, 145 + i * 24,
+ 150, 12));
mAttributeSlider[i]->setActionEventId("statslider");
mAttributeSlider[i]->addActionListener(this);
add(mAttributeSlider[i]);
mAttributeValue[i] = new Label(toString(min));
- mAttributeValue[i]->setPosition(245, 140 + i*20);
+ mAttributeValue[i]->setPosition(295, 145 + i * 24);
add(mAttributeValue[i]);
}
- mAttributesLeft->setPosition(15, 280);
+ mAttributesLeft->setPosition(15, 300);
updateSliders();
mCancelButton->setPosition(
- w - 5 - mCancelButton->getWidth(),
+ w / 2,
h - 5 - mCancelButton->getHeight());
mCreateButton->setPosition(
mCancelButton->getX() - 5 - mCreateButton->getWidth(),
@@ -420,12 +476,17 @@ void CharCreateDialog::updateHair()
mHairStyle += Being::getNumOfHairstyles();
if (mHairStyle < (signed)minHairStyle || mHairStyle > (signed)maxHairStyle)
mHairStyle = minHairStyle;
+ const ItemInfo &item = ItemDB::get(-mHairStyle);
+ mHairStyleNameLabel->setCaption(item.getName());
+ mHairStyleNameLabel->adjustSize();
mHairColor %= ColorDB::getHairSize();
if (mHairColor < 0)
mHairColor += ColorDB::getHairSize();
if (mHairColor < (signed)minHairColor || mHairColor > (signed)maxHairColor)
mHairColor = minHairColor;
+ mHairColorNameLabel->setCaption(ColorDB::getHairColorName(mHairColor));
+ mHairColorNameLabel->adjustSize();
mPlayer->setSprite(Net::getCharHandler()->hairSprite(),
mHairStyle * -1, ColorDB::getHairColor(mHairColor));
@@ -448,4 +509,22 @@ void CharCreateDialog::updateRace()
}
mPlayer->setSubtype(mRace);
+ const ItemInfo &item = ItemDB::get(id);
+ mRaceNameLabel->setCaption(item.getName());
+ mRaceNameLabel->adjustSize();
+}
+
+void CharCreateDialog::logic()
+{
+ if (mPlayer)
+ mPlayer->logic();
+}
+
+void CharCreateDialog::updatePlayer()
+{
+ if (mPlayer)
+ {
+ mPlayer->setDirection(directions[mDirection]);
+ mPlayer->setAction(actions[mAction]);
+ }
}
diff --git a/src/gui/charcreatedialog.h b/src/gui/charcreatedialog.h
index e369f1777..ceafcc08e 100644
--- a/src/gui/charcreatedialog.h
+++ b/src/gui/charcreatedialog.h
@@ -37,6 +37,7 @@
class LocalPlayer;
class PlayerBox;
+class TextField;
/**
* Character creation dialog.
@@ -69,6 +70,10 @@ class CharCreateDialog : public Window, public gcn::ActionListener
void setFixedGender(bool fixed, Gender gender = GENDER_FEMALE);
+ void logic();
+
+ void updatePlayer();
+
private:
int getDistributedPoints() const;
@@ -90,17 +95,23 @@ class CharCreateDialog : public Window, public gcn::ActionListener
CharSelectDialog *mCharSelectDialog;
- gcn::TextField *mNameField;
+ TextField *mNameField;
gcn::Label *mNameLabel;
gcn::Button *mNextHairColorButton;
gcn::Button *mPrevHairColorButton;
gcn::Label *mHairColorLabel;
+ gcn::Label *mHairColorNameLabel;
gcn::Button *mNextHairStyleButton;
gcn::Button *mPrevHairStyleButton;
gcn::Label *mHairStyleLabel;
+ gcn::Label *mHairStyleNameLabel;
gcn::Button *mNextRaceButton;
gcn::Button *mPrevRaceButton;
gcn::Label *mRaceLabel;
+ gcn::Label *mRaceNameLabel;
+
+ gcn::Button *mActionButton;
+ gcn::Button *mRotateButton;
gcn::RadioButton *mMale;
gcn::RadioButton *mFemale;
@@ -129,6 +140,9 @@ class CharCreateDialog : public Window, public gcn::ActionListener
unsigned minHairColor;
unsigned maxHairStyle;
unsigned minHairStyle;
+
+ unsigned mAction;
+ unsigned mDirection;
};
#endif // CHAR_CREATE_DIALOG_H
diff --git a/src/gui/charselectdialog.cpp b/src/gui/charselectdialog.cpp
index 638691bab..d2b74a632 100644
--- a/src/gui/charselectdialog.cpp
+++ b/src/gui/charselectdialog.cpp
@@ -386,7 +386,7 @@ bool CharSelectDialog::selectByName(const std::string &name,
Net::Character *character = mCharacterEntries[i]->getCharacter();
if (mCharacterEntries[i] && character)
{
- if (character->dummy->getName() == name)
+ if ( character->dummy && character->dummy->getName() == name)
{
if (mCharacterEntries[i])
mCharacterEntries[i]->requestFocus();
diff --git a/src/gui/chatwindow.cpp b/src/gui/chatwindow.cpp
index 899bbdc36..6831ad5b6 100644
--- a/src/gui/chatwindow.cpp
+++ b/src/gui/chatwindow.cpp
@@ -548,6 +548,9 @@ void ChatWindow::removeTab(ChatTab *tab)
void ChatWindow::addTab(ChatTab *tab)
{
+ if (!tab)
+ return;
+
mChatTabs->addTab(tab, tab->mScrollArea);
// Update UI
@@ -764,18 +767,18 @@ void ChatWindow::keyPressed(gcn::KeyEvent &event)
mCurHist = mHistory.end();
mChatInput->setText("");
}
- else if (keyboard.isKeyActive(keyboard.KEY_AUTOCOMPLETE_CHAT) &&
+ else if (keyboard.isActionActive(keyboard.KEY_AUTOCOMPLETE_CHAT) &&
mChatInput->getText() != "")
{
autoComplete();
return;
}
- else if (keyboard.isKeyActive(keyboard.KEY_DEACTIVATE_CHAT) &&
+ else if (keyboard.isActionActive(keyboard.KEY_DEACTIVATE_CHAT) &&
mChatInput->isVisible())
{
mChatInput->processVisible(false);
}
- else if (keyboard.isKeyActive(keyboard.KEY_CHAT_PREV_HISTORY) &&
+ else if (keyboard.isActionActive(keyboard.KEY_CHAT_PREV_HISTORY) &&
mChatInput->isVisible())
{
ChatTab *tab = getFocused();
@@ -807,7 +810,7 @@ void ChatWindow::keyPressed(gcn::KeyEvent &event)
mChatInput->getText().length()));
}
}
- else if (keyboard.isKeyActive(keyboard.KEY_CHAT_NEXT_HISTORY) &&
+ else if (keyboard.isActionActive(keyboard.KEY_CHAT_NEXT_HISTORY) &&
mChatInput->isVisible())
{
ChatTab *tab = getFocused();
diff --git a/src/gui/editdialog.h b/src/gui/editdialog.h
index 69f86edca..ef260acfb 100644
--- a/src/gui/editdialog.h
+++ b/src/gui/editdialog.h
@@ -57,7 +57,7 @@ class EditDialog : public Window, public gcn::ActionListener
*/
void action(const gcn::ActionEvent &event);
- std::string getMsg()
+ std::string getMsg() const
{ return mTextField->getText(); }
private:
diff --git a/src/gui/editserverdialog.cpp b/src/gui/editserverdialog.cpp
new file mode 100644
index 000000000..8a4a9579d
--- /dev/null
+++ b/src/gui/editserverdialog.cpp
@@ -0,0 +1,239 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2011-2012 The Mana Developers
+ * Copyright (C) 2012 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "gui/editserverdialog.h"
+
+#include "configuration.h"
+
+#include "gui/okdialog.h"
+#include "gui/sdlinput.h"
+#include "gui/serverdialog.h"
+
+#include "gui/widgets/button.h"
+#include "gui/widgets/dropdown.h"
+#include "gui/widgets/label.h"
+#include "gui/widgets/layout.h"
+#include "gui/widgets/textfield.h"
+
+#include "utils/gettext.h"
+
+std::string TypeListModel::getElementAt(int elementIndex)
+{
+ if (elementIndex == 0)
+ return "TmwAthena";
+ else if (elementIndex == 1)
+ return "Evol";
+#ifdef MANASERV_SUPPORT
+ else if (elementIndex == 2)
+ return "ManaServ";
+#endif
+ else
+ return "Unknown";
+}
+
+EditServerDialog::EditServerDialog(ServerDialog *parent, ServerInfo server,
+ int index) :
+ Window(_("Edit Server"), true, parent),
+ mServerDialog(parent),
+ mServer(server),
+ mIndex(index)
+{
+ setWindowName("EditServerDialog");
+
+ Label *nameLabel = new Label(_("Name:"));
+ Label *serverAdressLabel = new Label(_("Address:"));
+ Label *portLabel = new Label(_("Port:"));
+ Label *typeLabel = new Label(_("Server type:"));
+ Label *descriptionLabel = new Label(_("Description:"));
+ mServerAddressField = new TextField(std::string());
+ mPortField = new TextField(std::string());
+ mPortField->setNumeric(true);
+ mPortField->setRange(1, 65535);
+
+ mTypeListModel = new TypeListModel();
+ mTypeField = new DropDown(mTypeListModel);
+ mTypeField->setSelected(0); // TmwAthena by default for now.
+
+ mNameField = new TextField(std::string());
+ mDescriptionField = new TextField(std::string());
+
+ mOkButton = new Button(_("OK"), "addServer", this);
+ mCancelButton = new Button(_("Cancel"), "cancel", this);
+
+ mServerAddressField->addActionListener(this);
+ mPortField->addActionListener(this);
+
+ place(0, 0, nameLabel);
+ place(1, 0, mNameField, 4).setPadding(3);
+ place(0, 1, serverAdressLabel);
+ place(1, 1, mServerAddressField, 4).setPadding(3);
+ place(0, 2, portLabel);
+ place(1, 2, mPortField, 4).setPadding(3);
+ place(0, 3, typeLabel);
+ place(1, 3, mTypeField).setPadding(3);
+ place(0, 4, descriptionLabel);
+ place(1, 4, mDescriptionField, 4).setPadding(3);
+ place(4, 5, mOkButton);
+ place(3, 5, mCancelButton);
+
+ // Do this manually instead of calling reflowLayout so we can enforce a
+ // minimum width.
+ int width = 0, height = 0;
+ getLayout().reflow(width, height);
+ if (width < 300)
+ {
+ width = 300;
+ getLayout().reflow(width, height);
+ }
+ if (height < 120)
+ {
+ height = 120;
+ getLayout().reflow(width, height);
+ }
+
+ setContentSize(width, height);
+
+ setMinWidth(getWidth());
+ setMinHeight(getHeight());
+ setDefaultSize(getWidth(), getHeight(), ImageRect::CENTER);
+
+ setResizable(false);
+ addKeyListener(this);
+
+ loadWindowState();
+
+ mNameField->setText(mServer.name);
+ mDescriptionField->setText(mServer.description);
+ mServerAddressField->setText(mServer.hostname);
+ mPortField->setText(toString(mServer.port));
+
+ switch (mServer.type)
+ {
+ case ServerInfo::MANASERV:
+#ifdef MANASERV_SUPPORT
+ mTypeField->setSelected(2);
+ break;
+#endif
+ default:
+ case ServerInfo::UNKNOWN:
+ case ServerInfo::TMWATHENA:
+ mTypeField->setSelected(0);
+ break;
+ case ServerInfo::EVOL:
+ mTypeField->setSelected(1);
+ break;
+ }
+
+ setLocationRelativeTo(getParentWindow());
+ setVisible(true);
+
+ mNameField->requestFocus();
+}
+
+EditServerDialog::~EditServerDialog()
+{
+ delete mTypeListModel;
+}
+
+void EditServerDialog::logic()
+{
+ Window::logic();
+}
+
+void EditServerDialog::action(const gcn::ActionEvent &event)
+{
+ if (event.getId() == "ok")
+ {
+ // Give focus back to the server dialog.
+ mServerAddressField->requestFocus();
+ }
+ if (event.getId() == "addServer")
+ {
+ // Check the given information
+ if (mServerAddressField->getText().empty()
+ || mPortField->getText().empty())
+ {
+ OkDialog *dlg = new OkDialog(_("Error"),
+ _("Please at least type both the address and the port "
+ "of the server."));
+ dlg->addActionListener(this);
+ }
+ else
+ {
+ mCancelButton->setEnabled(false);
+ mOkButton->setEnabled(false);
+
+ mServer.name = mNameField->getText();
+ mServer.description = mDescriptionField->getText();
+ mServer.hostname = mServerAddressField->getText();
+ mServer.port = (short) atoi(mPortField->getText().c_str());
+
+ if (mTypeField)
+ {
+ switch (mTypeField->getSelected())
+ {
+ case 0:
+ mServer.type = ServerInfo::TMWATHENA;
+ break;
+ case 1:
+ mServer.type = ServerInfo::EVOL;
+ break;
+#ifdef MANASERV_SUPPORT
+ case 2:
+ mServer.type = ServerInfo::MANASERV;
+ break;
+#endif
+ default:
+ mServer.type = ServerInfo::UNKNOWN;
+ }
+ }
+ else
+ {
+ mServer.type = ServerInfo::TMWATHENA;
+ }
+
+ // Tell the server has to be saved
+ mServer.save = true;
+
+ //Add server
+ mServerDialog->updateServer(mServer, mIndex);
+ scheduleDelete();
+ }
+ }
+ else if (event.getId() == "cancel")
+ {
+ scheduleDelete();
+ }
+}
+
+void EditServerDialog::keyPressed(gcn::KeyEvent &keyEvent)
+{
+ gcn::Key key = keyEvent.getKey();
+
+ if (key.getValue() == Key::ESCAPE)
+ {
+ scheduleDelete();
+ }
+ else if (key.getValue() == Key::ENTER)
+ {
+ action(gcn::ActionEvent(nullptr, mOkButton->getActionEventId()));
+ }
+}
diff --git a/src/gui/editserverdialog.h b/src/gui/editserverdialog.h
new file mode 100644
index 000000000..6035b0e50
--- /dev/null
+++ b/src/gui/editserverdialog.h
@@ -0,0 +1,104 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2011-2012 The Mana Developers
+ * Copyright (C) 2012 The ManaPlus Developers
+ *
+ * This file is part of The Mana Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef EDITSERVERDIALOG_H
+#define EDITSERVERDIALOG_H
+
+class Button;
+class Label;
+class TextField;
+class DropDown;
+class ServerDialog;
+class TypeListModel;
+
+#include "gui/widgets/window.h"
+
+#include "net/serverinfo.h"
+
+#include <guichan/actionlistener.hpp>
+#include <guichan/keylistener.hpp>
+#include <guichan/listmodel.hpp>
+
+
+/**
+ * Server Type List Model
+ */
+class TypeListModel : public gcn::ListModel
+{
+ public:
+ TypeListModel() {}
+
+ /**
+ * Used to get number of line in the list
+ */
+ int getNumberOfElements()
+#ifdef MANASERV_SUPPORT
+ { return 3; }
+#else
+ { return 2; }
+#endif
+
+ /**
+ * Used to get an element from the list
+ */
+ std::string getElementAt(int elementIndex);
+};
+
+/**
+ * The custom server addition dialog.
+ *
+ * \ingroup Interface
+ */
+class EditServerDialog : public Window,
+ public gcn::ActionListener,
+ public gcn::KeyListener
+{
+ public:
+ EditServerDialog(ServerDialog *parent, ServerInfo server, int index);
+
+ ~EditServerDialog();
+
+ /**
+ * Called when receiving actions from the widgets.
+ */
+ void action(const gcn::ActionEvent &event);
+
+ void keyPressed(gcn::KeyEvent &keyEvent);
+
+ void logic();
+
+ private:
+ TextField *mServerAddressField;
+ TextField *mPortField;
+ TextField *mNameField;
+ TextField *mDescriptionField;
+ Button *mOkButton;
+ Button *mCancelButton;
+
+ DropDown *mTypeField;
+ TypeListModel *mTypeListModel;
+
+ ServerDialog *mServerDialog;
+ ServerInfo mServer;
+ int mIndex;
+};
+
+#endif // EDITSERVERDIALOG_H
diff --git a/src/gui/equipmentwindow.h b/src/gui/equipmentwindow.h
index daeaeb3d7..1e7b84533 100644
--- a/src/gui/equipmentwindow.h
+++ b/src/gui/equipmentwindow.h
@@ -84,7 +84,7 @@ class EquipmentWindow : public Window, public gcn::ActionListener
void mousePressed(gcn::MouseEvent& mouseEvent);
- Item* getEquipment(int i)
+ Item* getEquipment(int i) const
{ return mEquipment ? mEquipment->getEquipment(i) : nullptr; }
void setBeing(Being *being);
diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp
index bd855a598..1d8b45872 100644
--- a/src/gui/gui.cpp
+++ b/src/gui/gui.cpp
@@ -99,20 +99,19 @@ Gui::Gui(Graphics *graphics):
// Initialize top GUI widget
WindowContainer *guiTop = new WindowContainer;
guiTop->setFocusable(true);
- guiTop->setDimension(gcn::Rectangle(0, 0,
- graphics->mWidth, graphics->mHeight));
+ guiTop->setSize(graphics->mWidth, graphics->mHeight);
guiTop->setOpaque(false);
Window::setWindowContainer(guiTop);
setTop(guiTop);
+ const std::vector<std::string> langs = getLang();
+ const bool isJapan = (!langs.empty() && langs[0].size() > 3
+ && langs[0].substr(0, 3) == "ja_");
+
// Set global font
const int fontSize = config.getIntValue("fontSize");
-
std::string fontFile = config.getValue("font", "");
-
- std::vector<std::string> langs = getLang();
- if (!langs.empty() && langs[0].size() > 3
- && langs[0].substr(0, 3) == "ja_")
+ if (isJapan)
{
fontFile = config.getValue("japanFont", "");
if (fontFile.empty())
@@ -134,6 +133,15 @@ Gui::Gui(Graphics *graphics):
// Set particle font
fontFile = config.getValue("particleFont", "");
+
+ if (isJapan)
+ {
+ fontFile = config.getValue("japanFont", "");
+ if (fontFile.empty())
+ fontFile = branding.getStringValue("japanFont");
+ }
+
+
if (fontFile.empty())
fontFile = branding.getStringValue("particleFont");
@@ -278,6 +286,20 @@ void Gui::draw()
mGraphics->popClipArea();
}
+void Gui::videoResized()
+{
+ WindowContainer *top = static_cast<WindowContainer*>(getTop());
+
+ if (top)
+ {
+ int oldWidth = top->getWidth();
+ int oldHeight = top->getHeight();
+
+ top->setSize(mainGraphics->mWidth, mainGraphics->mHeight);
+ top->adjustAfterResize(oldWidth, oldHeight);
+ }
+}
+
void Gui::setUseCustomCursor(bool customCursor)
{
if (customCursor != mCustomCursor)
diff --git a/src/gui/gui.h b/src/gui/gui.h
index cadcc89ac..5ace42323 100644
--- a/src/gui/gui.h
+++ b/src/gui/gui.h
@@ -70,6 +70,11 @@ class Gui : public gcn::Gui
*/
void draw();
+ /**
+ * Called when the application window has been resized.
+ */
+ void videoResized();
+
gcn::FocusHandler *getFocusHandler() const
{ return mFocusHandler; }
diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp
index 01e2bdd17..23f1e6fcf 100644
--- a/src/gui/inventorywindow.cpp
+++ b/src/gui/inventorywindow.cpp
@@ -340,13 +340,13 @@ void InventoryWindow::action(const gcn::ActionEvent &event)
{
if (isStorageActive())
{
- Net::getInventoryHandler()->moveItem(Inventory::INVENTORY,
+ Net::getInventoryHandler()->moveItem2(Inventory::INVENTORY,
item->getInvIndex(), item->getQuantity(),
Inventory::STORAGE);
}
else
{
- if (keyboard.isKeyActive(keyboard.KEY_MOD))
+ if (keyboard.isActionActive(keyboard.KEY_MOD))
{
Net::getInventoryHandler()->dropItem(
item, item->getQuantity());
@@ -386,11 +386,11 @@ void InventoryWindow::mouseClicked(gcn::MouseEvent &event)
{
Window::mouseClicked(event);
- const bool mod = (isStorageActive() && keyboard.isKeyActive(
+ const bool mod = (isStorageActive() && keyboard.isActionActive(
keyboard.KEY_MOD));
const bool mod2 = (tradeWindow && tradeWindow->isVisible()
- && keyboard.isKeyActive(keyboard.KEY_MOD));
+ && keyboard.isActionActive(keyboard.KEY_MOD));
if (!mod && !mod2 && event.getButton() == gcn::MouseEvent::RIGHT)
{
@@ -431,7 +431,7 @@ void InventoryWindow::mouseClicked(gcn::MouseEvent &event)
}
else
{
- Net::getInventoryHandler()->moveItem(Inventory::INVENTORY,
+ Net::getInventoryHandler()->moveItem2(Inventory::INVENTORY,
item->getInvIndex(), item->getQuantity(),
Inventory::STORAGE);
}
@@ -445,7 +445,7 @@ void InventoryWindow::mouseClicked(gcn::MouseEvent &event)
}
else
{
- Net::getInventoryHandler()->moveItem(Inventory::STORAGE,
+ Net::getInventoryHandler()->moveItem2(Inventory::STORAGE,
item->getInvIndex(), item->getQuantity(),
Inventory::INVENTORY);
}
diff --git a/src/gui/inventorywindow.h b/src/gui/inventorywindow.h
index 2b35ec9c4..9d4be5afc 100644
--- a/src/gui/inventorywindow.h
+++ b/src/gui/inventorywindow.h
@@ -115,7 +115,7 @@ class InventoryWindow : public Window,
void slotsChanged(Inventory* inventory);
- bool isMainInventory()
+ bool isMainInventory() const
{ return mInventory->isMainInventory(); }
/**
diff --git a/src/gui/itemamountwindow.cpp b/src/gui/itemamountwindow.cpp
index 9e2a97681..3b01b559f 100644
--- a/src/gui/itemamountwindow.cpp
+++ b/src/gui/itemamountwindow.cpp
@@ -113,14 +113,12 @@ void ItemAmountWindow::finish(Item *item, int amount, int price, Usage usage)
Net::getInventoryHandler()->splitItem(item, amount);
break;
case StoreAdd:
- Net::getInventoryHandler()->moveItem(Inventory::INVENTORY,
- item->getInvIndex(), amount,
- Inventory::STORAGE);
+ Net::getInventoryHandler()->moveItem2(Inventory::INVENTORY,
+ item->getInvIndex(), amount, Inventory::STORAGE);
break;
case StoreRemove:
- Net::getInventoryHandler()->moveItem(Inventory::STORAGE,
- item->getInvIndex(), amount,
- Inventory::INVENTORY);
+ Net::getInventoryHandler()->moveItem2(Inventory::STORAGE,
+ item->getInvIndex(), amount, Inventory::INVENTORY);
break;
case ShopBuyAdd:
if (shopWindow)
diff --git a/src/gui/logindialog.cpp b/src/gui/logindialog.cpp
index b1c80b102..ef8fd6bf0 100644
--- a/src/gui/logindialog.cpp
+++ b/src/gui/logindialog.cpp
@@ -88,6 +88,7 @@ LoginDialog::LoginDialog(LoginData *data, std::string serverName,
mUpdateHost(updateHost),
mServerName(serverName)
{
+
gcn::Label *serverLabel1 = new Label(_("Server:"));
gcn::Label *serverLabel2 = new Label(serverName);
serverLabel2->adjustSize();
@@ -131,12 +132,11 @@ LoginDialog::LoginDialog(LoginData *data, std::string serverName,
mPassField->addActionListener(this);
place(0, 0, serverLabel1);
- place(1, 0, serverLabel2, 8).setPadding(1);
-
+ place(1, 0, serverLabel2, 8);
place(0, 1, userLabel);
place(0, 2, passLabel);
- place(1, 1, mUserField, 8).setPadding(1);
- place(1, 2, mPassField, 8).setPadding(1);
+ place(1, 1, mUserField, 8);
+ place(1, 2, mPassField, 8);
place(0, 6, mUpdateTypeLabel, 1);
place(1, 6, mUpdateTypeDropDown, 8);
place(0, 7, mCustomUpdateHost, 9);
@@ -146,9 +146,8 @@ LoginDialog::LoginDialog(LoginData *data, std::string serverName,
place(2, 10, mServerButton);
place(3, 10, mLoginButton);
- reflowLayout();
-
addKeyListener(this);
+ setContentSize(300, 200);
center();
setVisible(true);
@@ -178,7 +177,8 @@ void LoginDialog::action(const gcn::ActionEvent &event)
mLoginData->remember = mKeepCheck->isSelected();
int updateType = mUpdateTypeDropDown->getSelected();
- if (mCustomUpdateHost->isSelected())
+ if (mCustomUpdateHost->isSelected()
+ && mUpdateHostText->getText().empty())
{
updateType |= LoginData::Upd_Custom;
serverConfig.setValue("customUpdateHost",
diff --git a/src/gui/npcdialog.cpp b/src/gui/npcdialog.cpp
index 265748b6f..3e5b30a9c 100644
--- a/src/gui/npcdialog.cpp
+++ b/src/gui/npcdialog.cpp
@@ -26,6 +26,7 @@
#include "client.h"
#include "gui/setup.h"
+#include "gui/viewport.h"
#include "gui/widgets/browserbox.h"
#include "gui/widgets/button.h"
@@ -62,7 +63,10 @@ NpcDialog::NpcDialog(int npcId) :
mDefaultInt(0),
mInputState(NPC_INPUT_NONE),
mActionState(NPC_ACTION_WAIT),
- mLastNextTime(0)
+ mLastNextTime(0),
+ mCameraMode(-1),
+ mCameraX(0),
+ mCameraY(0)
{
// Basic Window Setup
setWindowName("NpcText");
@@ -220,6 +224,7 @@ void NpcDialog::action(const gcn::ActionEvent &event)
return;
nextDialog();
+ addText(std::string(), false);
}
else if (mActionState == NPC_ACTION_CLOSE
|| mActionState == NPC_ACTION_WAIT)
@@ -301,6 +306,7 @@ void NpcDialog::nextDialog()
void NpcDialog::closeDialog()
{
+ restoreCamera();
Net::getNpcHandler()->closeDialog(mNpcId);
}
@@ -504,4 +510,34 @@ void NpcDialog::buildLayout()
redraw();
mScrollArea->setVerticalScrollAmount(mScrollArea->getVerticalMaxScroll());
-} \ No newline at end of file
+}
+
+void NpcDialog::saveCamera()
+{
+ if (!viewport || mCameraMode >= 0)
+ return;
+
+ mCameraMode = viewport->getCameraMode();
+ mCameraX = viewport->getCameraRelativeX();
+ mCameraY = viewport->getCameraRelativeY();
+}
+
+void NpcDialog::restoreCamera()
+{
+ if (!viewport || mCameraMode == -1)
+ return;
+
+ if (!mCameraMode)
+ {
+ if (viewport->getCameraMode() != mCameraMode)
+ viewport->toggleCameraMode();
+ }
+ else
+ {
+ if (viewport->getCameraMode() != mCameraMode)
+ viewport->toggleCameraMode();
+ viewport->setCameraRelativeX(mCameraX);
+ viewport->setCameraRelativeY(mCameraY);
+ }
+ mCameraMode = -1;
+}
diff --git a/src/gui/npcdialog.h b/src/gui/npcdialog.h
index e76897499..d4288d5c9 100644
--- a/src/gui/npcdialog.h
+++ b/src/gui/npcdialog.h
@@ -154,7 +154,8 @@ class NpcDialog : public Window, public gcn::ActionListener,
/**
* Returns true if any instances exist.
*/
- static bool isActive() { return !instances.empty(); }
+ static bool isActive()
+ { return !instances.empty(); }
/**
* Returns the first active instance. Useful for pushing user
@@ -172,6 +173,10 @@ class NpcDialog : public Window, public gcn::ActionListener,
*/
static void destroyAll();
+ void saveCamera();
+
+ void restoreCamera();
+
private:
typedef std::list<NpcDialog*> DialogList;
static DialogList instances;
@@ -230,6 +235,9 @@ class NpcDialog : public Window, public gcn::ActionListener,
NpcInputState mInputState;
NpcActionState mActionState;
int mLastNextTime;
+ int mCameraMode;
+ int mCameraX;
+ int mCameraY;
};
#endif // NPCDIALOG_H
diff --git a/src/gui/outfitwindow.cpp b/src/gui/outfitwindow.cpp
index 74e8dbe46..73484f1d5 100644
--- a/src/gui/outfitwindow.cpp
+++ b/src/gui/outfitwindow.cpp
@@ -491,375 +491,32 @@ void OutfitWindow::unequipNotInOutfit(int outfit)
}
}
+static const SDLKey numsTbl[] =
+{
+ SDLK_1, SDLK_2, SDLK_3, SDLK_4, SDLK_5, SDLK_6, SDLK_7, SDLK_8, SDLK_9,
+ SDLK_0, SDLK_MINUS, SDLK_EQUALS, SDLK_BACKSPACE, SDLK_INSERT, SDLK_HOME,
+ SDLK_q, SDLK_w, SDLK_e, SDLK_r, SDLK_t, SDLK_y, SDLK_u, SDLK_i, SDLK_o,
+ SDLK_p, SDLK_LEFTBRACKET, SDLK_RIGHTBRACKET, SDLK_BACKSLASH, SDLK_a,
+ SDLK_s, SDLK_d, SDLK_f, SDLK_g, SDLK_h, SDLK_j, SDLK_k, SDLK_l,
+ SDLK_SEMICOLON, SDLK_QUOTE, SDLK_z, SDLK_x, SDLK_c, SDLK_v, SDLK_b, SDLK_n,
+ SDLK_m, SDLK_COMMA, SDLK_PERIOD, SDLK_SLASH
+};
+
int OutfitWindow::keyToNumber(SDLKey key) const
{
- int outfitNum = -1;
- switch (key)
+ for (unsigned f = 0; f < sizeof(numsTbl) / sizeof(SDLKey); f ++)
{
- case SDLK_1:
- case SDLK_2:
- case SDLK_3:
- case SDLK_4:
- case SDLK_5:
- case SDLK_6:
- case SDLK_7:
- case SDLK_8:
- case SDLK_9:
- outfitNum = key - SDLK_1;
- break;
-
- case SDLK_0:
- outfitNum = 9;
- break;
-
- case SDLK_MINUS:
- outfitNum = 10;
- break;
-
- case SDLK_EQUALS:
- outfitNum = 11;
- break;
-
- case SDLK_BACKSPACE:
- outfitNum = 12;
- break;
-
- case SDLK_INSERT:
- outfitNum = 13;
- break;
-
- case SDLK_HOME:
- outfitNum = 14;
- break;
-
- case SDLK_q:
- outfitNum = 15;
- break;
-
- case SDLK_w:
- outfitNum = 16;
- break;
-
- case SDLK_e:
- outfitNum = 17;
- break;
-
- case SDLK_r:
- outfitNum = 18;
- break;
-
- case SDLK_t:
- outfitNum = 19;
- break;
-
- case SDLK_y:
- outfitNum = 20;
- break;
-
- case SDLK_u:
- outfitNum = 21;
- break;
-
- case SDLK_i:
- outfitNum = 22;
- break;
-
- case SDLK_o:
- outfitNum = 23;
- break;
-
- case SDLK_p:
- outfitNum = 24;
- break;
-
- case SDLK_LEFTBRACKET:
- outfitNum = 25;
- break;
-
- case SDLK_RIGHTBRACKET:
- outfitNum = 26;
- break;
-
- case SDLK_BACKSLASH:
- outfitNum = 27;
- break;
-
- case SDLK_a:
- outfitNum = 28;
- break;
-
- case SDLK_s:
- outfitNum = 29;
- break;
-
- case SDLK_d:
- outfitNum = 30;
- break;
-
- case SDLK_f:
- outfitNum = 31;
- break;
-
- case SDLK_g:
- outfitNum = 32;
- break;
-
- case SDLK_h:
- outfitNum = 33;
- break;
-
- case SDLK_j:
- outfitNum = 34;
- break;
-
- case SDLK_k:
- outfitNum = 35;
- break;
-
- case SDLK_l:
- outfitNum = 36;
- break;
-
- case SDLK_SEMICOLON:
- outfitNum = 37;
- break;
-
- case SDLK_QUOTE:
- outfitNum = 38;
- break;
-
- case SDLK_z:
- outfitNum = 39;
- break;
-
-
- case SDLK_x:
- outfitNum = 40;
- break;
-
- case SDLK_c:
- outfitNum = 41;
- break;
-
- case SDLK_v:
- outfitNum = 42;
- break;
-
- case SDLK_b:
- outfitNum = 43;
- break;
-
- case SDLK_n:
- outfitNum = 44;
- break;
-
- case SDLK_m:
- outfitNum = 45;
- break;
-
- case SDLK_COMMA:
- outfitNum = 46;
- break;
-
- case SDLK_PERIOD:
- outfitNum = 47;
- break;
-
- case SDLK_SLASH:
- outfitNum = 48;
- break;
-
- default:
- break;
+ if (numsTbl[f] == key)
+ return f;
}
-
- return outfitNum;
+ return -1;
}
-SDLKey OutfitWindow::numberToKey(int number) const
+SDLKey OutfitWindow::numberToKey(unsigned number) const
{
- SDLKey key = SDLK_UNKNOWN;
- switch (number)
- {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- key = static_cast<SDLKey>(
- static_cast<unsigned int>(SDLK_1) + number);
- break;
-
- case 9:
- key = SDLK_0;
- break;
-
- case 10:
- key = SDLK_MINUS;
- break;
-
- case 11:
- key = SDLK_EQUALS;
- break;
-
- case 12:
- key = SDLK_BACKSPACE;
- break;
-
- case 13:
- key = SDLK_INSERT;
- break;
-
- case 14:
- key = SDLK_HOME;
- break;
-
- case 15:
- key = SDLK_q;
- break;
-
- case 16:
- key = SDLK_w;
- break;
-
- case 17:
- key = SDLK_e;
- break;
-
- case 18:
- key = SDLK_r;
- break;
-
- case 19:
- key = SDLK_t;
- break;
-
- case 20:
- key = SDLK_y;
- break;
-
- case 21:
- key = SDLK_u;
- break;
-
- case 22:
- key = SDLK_i;
- break;
-
- case 23:
- key = SDLK_o;
- break;
-
- case 24:
- key = SDLK_p;
- break;
-
- case 25:
- key = SDLK_LEFTBRACKET;
- break;
-
- case 26:
- key = SDLK_RIGHTBRACKET;
- break;
-
- case 27:
- key = SDLK_BACKSLASH;
- break;
-
- case 28:
- key = SDLK_a;
- break;
-
- case 29:
- key = SDLK_s;
- break;
-
- case 30:
- key = SDLK_d;
- break;
-
- case 31:
- key = SDLK_f;
- break;
-
- case 32:
- key = SDLK_g;
- break;
-
- case 33:
- key = SDLK_h;
- break;
-
- case 34:
- key = SDLK_j;
- break;
-
- case 35:
- key = SDLK_k;
- break;
-
- case 36:
- key = SDLK_l;
- break;
-
- case 37:
- key = SDLK_SEMICOLON;
- break;
-
- case 38:
- key = SDLK_QUOTE;
- break;
-
- case 39:
- key = SDLK_z;
- break;
-
-
- case 40:
- key = SDLK_x;
- break;
-
- case 41:
- key = SDLK_c;
- break;
-
- case 42:
- key = SDLK_v;
- break;
-
- case 43:
- key = SDLK_b;
- break;
-
- case 44:
- key = SDLK_n;
- break;
-
- case 45:
- key = SDLK_m;
- break;
-
- case 46:
- key = SDLK_COMMA;
- break;
-
- case 47:
- key = SDLK_PERIOD;
- break;
-
- case 48:
- key = SDLK_SLASH;
- break;
-
- default:
- break;
- }
-
- return key;
+ if (number >= sizeof(numsTbl) / sizeof(SDLKey))
+ return SDLK_UNKNOWN;
+ return numsTbl[number];
}
std::string OutfitWindow::keyName(int number)
diff --git a/src/gui/outfitwindow.h b/src/gui/outfitwindow.h
index b2b46c7e7..6f67c472d 100644
--- a/src/gui/outfitwindow.h
+++ b/src/gui/outfitwindow.h
@@ -72,7 +72,7 @@ class OutfitWindow : public Window, gcn::ActionListener
void setItemSelected(Item *item);
- bool isItemSelected()
+ bool isItemSelected() const
{ return mItemSelected > 0; }
void wearOutfit(int outfit, bool unwearEmpty = true,
@@ -90,7 +90,7 @@ class OutfitWindow : public Window, gcn::ActionListener
int keyToNumber(SDLKey key) const A_PURE;
- SDLKey numberToKey(int number) const A_PURE;
+ SDLKey numberToKey(unsigned number) const A_PURE;
void next();
diff --git a/src/gui/palette.h b/src/gui/palette.h
index 36d87e305..7d5d93830 100644
--- a/src/gui/palette.h
+++ b/src/gui/palette.h
@@ -98,9 +98,7 @@ class Palette
* @return the gradient type of the color with the given index
*/
inline GradientType getGradientType(int type) const
- {
- return mColors[type].grad;
- }
+ { return mColors[type].grad; }
/**
* Get the character used by the specified color.
@@ -110,9 +108,7 @@ class Palette
* @return the color char of the color with the given index
*/
inline char getColorChar(int type) const
- {
- return mColors[type].ch;
- }
+ { return mColors[type].ch; }
/**
* Gets the gradient delay for the specified type.
@@ -122,7 +118,7 @@ class Palette
* @return the gradient delay of the color with the given index
*/
inline int getGradientDelay(int type) const
- { return mColors[type].delay; }
+ { return mColors[type].delay; }
/**
* Updates all colors, that are non-static.
diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp
index cd3a4c5ad..142acc69c 100644
--- a/src/gui/popupmenu.cpp
+++ b/src/gui/popupmenu.cpp
@@ -1184,19 +1184,19 @@ void PopupMenu::handleLink(const std::string &link,
int cnt = 10;
if (cnt > mItem->getQuantity())
cnt = mItem->getQuantity();
- Net::getInventoryHandler()->moveItem(Inventory::INVENTORY,
+ Net::getInventoryHandler()->moveItem2(Inventory::INVENTORY,
mItem->getInvIndex(), cnt,
Inventory::STORAGE);
}
else if (link == "store half" && mItem)
{
- Net::getInventoryHandler()->moveItem(Inventory::INVENTORY,
+ Net::getInventoryHandler()->moveItem2(Inventory::INVENTORY,
mItem->getInvIndex(), mItem->getQuantity() / 2,
Inventory::STORAGE);
}
else if (link == "store all" && mItem)
{
- Net::getInventoryHandler()->moveItem(Inventory::INVENTORY,
+ Net::getInventoryHandler()->moveItem2(Inventory::INVENTORY,
mItem->getInvIndex(), mItem->getQuantity(),
Inventory::STORAGE);
}
@@ -1235,19 +1235,19 @@ void PopupMenu::handleLink(const std::string &link,
int cnt = 10;
if (cnt > mItem->getQuantity())
cnt = mItem->getQuantity();
- Net::getInventoryHandler()->moveItem(Inventory::STORAGE,
+ Net::getInventoryHandler()->moveItem2(Inventory::STORAGE,
mItem->getInvIndex(), cnt,
Inventory::INVENTORY);
}
else if (link == "retrieve half" && mItem)
{
- Net::getInventoryHandler()->moveItem(Inventory::STORAGE,
+ Net::getInventoryHandler()->moveItem2(Inventory::STORAGE,
mItem->getInvIndex(), mItem->getQuantity() / 2,
Inventory::INVENTORY);
}
else if (link == "retrieve all" && mItem)
{
- Net::getInventoryHandler()->moveItem(Inventory::STORAGE,
+ Net::getInventoryHandler()->moveItem2(Inventory::STORAGE,
mItem->getInvIndex(), mItem->getQuantity(),
Inventory::INVENTORY);
}
diff --git a/src/gui/serverdialog.cpp b/src/gui/serverdialog.cpp
index 39ff19a89..59bdf9660 100644
--- a/src/gui/serverdialog.cpp
+++ b/src/gui/serverdialog.cpp
@@ -28,6 +28,7 @@
#include "logger.h"
#include "main.h"
+#include "gui/editserverdialog.h"
#include "gui/gui.h"
#include "gui/logindialog.h"
#include "gui/okdialog.h"
@@ -117,8 +118,8 @@ std::string ServersListModel::getElementAt(int elementIndex)
const ServerInfo &server = mServers->at(elementIndex);
std::string myServer;
myServer += server.hostname;
- myServer += ":";
- myServer += toString(server.port);
+// myServer += ":";
+// myServer += toString(server.port);
return myServer;
}
@@ -138,20 +139,6 @@ void ServersListModel::setVersionString(int index, const std::string &version)
}
}
-std::string TypeListModel::getElementAt(int elementIndex)
-{
- if (elementIndex == 0)
- return "TmwAthena";
- else if (elementIndex == 1)
- return "Evol";
-#ifdef MANASERV_SUPPORT
- else if (elementIndex == 2)
- return "ManaServ";
-#endif
- else
- return "Unknown";
-}
-
class ServersListBox : public ListBox
{
public:
@@ -196,20 +183,24 @@ public:
graphics->setColor(mTextColor);
int top;
+ int x = 2;
if (!info.name.empty())
{
graphics->setFont(boldFont);
+ x += boldFont->getWidth(info.name) + 15;
graphics->drawText(info.name, 2, y);
- top = y + height / 2;
+ top = y + boldFont->getHeight() + 2;
}
else
{
- top = y + height / 4;
+ top = y + height / 4 + 2;
}
graphics->setFont(getFont());
+ if (!info.description.empty())
+ graphics->drawText(info.description, x, y);
graphics->drawText(model->getElementAt(i), 2, top);
if (info.version.first > 0)
@@ -224,7 +215,7 @@ public:
unsigned int getRowHeight() const
{
- return 2 * getFont()->getHeight();
+ return 2 * getFont()->getHeight() + 5;
}
private:
gcn::Color mHighlightColor;
@@ -249,11 +240,6 @@ ServerDialog::ServerDialog(ServerInfo *serverInfo, const std::string &dir):
setWindowName("ServerDialog");
- Label *serverLabel = new Label(_("Server:"));
- Label *portLabel = new Label(_("Port:"));
-
- mServerNameField = new TextField(mServerInfo->hostname);
- mPortField = new TextField(toString(mServerInfo->port));
mPersistentIPCheckBox = new CheckBox(_("Use same ip for game sub servers"),
config.getBoolValue("usePersistentIP"),
this, "persitent ip");
@@ -268,66 +254,33 @@ ServerDialog::ServerDialog(ServerInfo *serverInfo, const std::string &dir):
ScrollArea *usedScroll = new ScrollArea(mServersList);
usedScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
- Label *typeLabel = new Label(_("Server type:"));
- mTypeListModel = new TypeListModel();
- mTypeField = new DropDown(mTypeListModel);
- switch (serverInfo->type)
- {
- case ServerInfo::MANASERV:
-#ifdef MANASERV_SUPPORT
- mTypeField->setSelected(2);
- break;
-#endif
- default:
- case ServerInfo::UNKNOWN:
- case ServerInfo::TMWATHENA:
- mTypeField->setSelected(0);
- break;
- case ServerInfo::EVOL:
- mTypeField->setSelected(1);
- break;
- }
- int n = 1;
+ int n = 0;
mDescription = new Label(std::string());
mQuitButton = new Button(_("Quit"), "quit", this);
mLoadButton = new Button(_("Load"), "load", this);
mConnectButton = new Button(_("Connect"), "connect", this);
- mManualEntryButton = new Button(_("Custom Server"), "addEntry", this);
+ mAddEntryButton = new Button(_("Add"), "addEntry", this);
+ mEditEntryButton = new Button(_("Edit"), "editEntry", this);
mDeleteButton = new Button(_("Delete"), "remove", this);
- mServerNameField->setActionEventId("connect");
- mPortField->setActionEventId("connect");
-
- mServerNameField->addActionListener(this);
- mPortField->addActionListener(this);
- mManualEntryButton->addActionListener(this);
mServersList->addSelectionListener(this);
usedScroll->setVerticalScrollAmount(0);
- place(0, 0, serverLabel);
- place(1, 0, mServerNameField, 5).setPadding(3);
- place(0, 1, portLabel);
- place(1, 1, mPortField, 5).setPadding(3);
- place(0, 2, typeLabel);
- place(1, 2, mTypeField, 5).setPadding(3);
- place(0, 2 + n, usedScroll, 6, 5).setPadding(3);
- place(0, 7 + n, mDescription, 6);
- place(0, 8 + n, mPersistentIPCheckBox, 6);
- place(0, 9 + n, mManualEntryButton);
- place(1, 9 + n, mDeleteButton);
- place(2, 9 + n, mLoadButton);
- place(4, 9 + n, mQuitButton);
- place(5, 9 + n, mConnectButton);
+ place(0, 0 + n, usedScroll, 7, 5).setPadding(3);
+ place(0, 5 + n, mDescription, 7);
+ place(0, 6 + n, mPersistentIPCheckBox, 7);
+ place(0, 7 + n, mAddEntryButton);
+ place(1, 7 + n, mEditEntryButton);
+ place(2, 7 + n, mLoadButton);
+ place(3, 7 + n, mDeleteButton);
+ place(5, 7 + n, mQuitButton);
+ place(6, 7 + n, mConnectButton);
// Make sure the list has enough height
- getLayout().setRowHeight(3, 80);
+ getLayout().setRowHeight(0, 80);
-/*
- reflowLayout(400, 300);
- setDefaultSize(400, 300, ImageRect::CENTER);
-*/
// Do this manually instead of calling reflowLayout so we can enforce a
// minimum width.
int width = 0, height = 0;
@@ -349,21 +302,10 @@ ServerDialog::ServerDialog(ServerInfo *serverInfo, const std::string &dir):
loadWindowState();
- setFieldsReadOnly(true);
mServersList->setSelected(0); // Do this after for the Delete button
setVisible(true);
- if (mServerNameField->getText().empty())
- {
- mServerNameField->requestFocus();
- }
- else
- {
- if (mPortField->getText().empty())
- mPortField->requestFocus();
- else
- mConnectButton->requestFocus();
- }
+ mConnectButton->requestFocus();
loadServers(true);
@@ -381,82 +323,48 @@ ServerDialog::~ServerDialog()
}
delete mServersListModel;
mServersListModel = nullptr;
- delete mTypeListModel;
- mTypeListModel = nullptr;
}
void ServerDialog::action(const gcn::ActionEvent &event)
{
- if (event.getId() == "ok")
- {
- // Give focus back to the server dialog.
- mServerNameField->requestFocus();
- }
- else if (event.getId() == "connect")
+ if (event.getId() == "connect")
{
- // Check login
- if (mServerNameField->getText().empty()
- || mPortField->getText().empty())
- {
- OkDialog *dlg = new OkDialog(_("Error"),
- _("Please type both the address and the port of a server."));
- dlg->addActionListener(this);
- }
- else
- {
- if (mDownload)
- mDownload->cancel();
-
- mQuitButton->setEnabled(false);
- mConnectButton->setEnabled(false);
- mLoadButton->setEnabled(false);
+ if (Client::getState() == STATE_CONNECT_SERVER)
+ return;
- mServerInfo->hostname = mServerNameField->getText();
- mServerInfo->port = static_cast<short>(
- atoi(mPortField->getText().c_str()));
+ if (mDownload)
+ mDownload->cancel();
- if (mTypeField)
- {
- switch (mTypeField->getSelected())
- {
- case 0:
- mServerInfo->type = ServerInfo::TMWATHENA;
- break;
- case 1:
- mServerInfo->type = ServerInfo::EVOL;
- break;
-#ifdef MANASERV_SUPPORT
- case 2:
- mServerInfo->type = ServerInfo::MANASERV;
- break;
-#endif
- default:
- mServerInfo->type = ServerInfo::UNKNOWN;
- }
- }
- else
- {
- mServerInfo->type = ServerInfo::TMWATHENA;
- }
+ mQuitButton->setEnabled(false);
+ mConnectButton->setEnabled(false);
+ mLoadButton->setEnabled(false);
- // Save the selected server
- mServerInfo->save = true;
+ int index = mServersList->getSelected();
+ if (index < 0)
+ return;
- if (chatLogger)
- chatLogger->setServerName(mServerInfo->hostname);
+ ServerInfo server = mServers.at(index);
+ mServerInfo->hostname = server.hostname;
+ mServerInfo->port = server.port;
+ mServerInfo->type = server.type;
+ mServerInfo->name = server.name;
+ mServerInfo->description = server.description;
+ mServerInfo->save = true;
- saveCustomServers(*mServerInfo);
+ if (chatLogger)
+ chatLogger->setServerName(mServerInfo->hostname);
- if (!LoginDialog::savedPasswordKey.empty())
- {
- if (mServerInfo->hostname != LoginDialog::savedPasswordKey)
- LoginDialog::savedPassword = "";
- }
+ saveCustomServers(*mServerInfo);
- config.setValue("usePersistentIP",
- mPersistentIPCheckBox->isSelected());
- Client::setState(STATE_CONNECT_SERVER);
+ if (!LoginDialog::savedPasswordKey.empty())
+ {
+ if (mServerInfo->hostname != LoginDialog::savedPasswordKey)
+ LoginDialog::savedPassword = "";
}
+
+ config.setValue("usePersistentIP",
+ mPersistentIPCheckBox->isSelected());
+ Client::setState(STATE_CONNECT_SERVER);
}
else if (event.getId() == "quit")
{
@@ -470,15 +378,23 @@ void ServerDialog::action(const gcn::ActionEvent &event)
}
else if (event.getId() == "addEntry")
{
- setFieldsReadOnly(false);
+ new EditServerDialog(this, ServerInfo(), -1);
+ }
+ else if (event.getId() == "editEntry")
+ {
+ int index = mServersList->getSelected();
+ if (index >= 0)
+ new EditServerDialog(this, mServers.at(index), index);
}
else if (event.getId() == "remove")
{
int index = mServersList->getSelected();
- mServersList->setSelected(0);
- mServers.erase(mServers.begin() + index);
-
- saveCustomServers();
+ if (index >= 0)
+ {
+ mServersList->setSelected(0);
+ mServers.erase(mServers.begin() + index);
+ saveCustomServers();
+ }
}
}
@@ -503,34 +419,6 @@ void ServerDialog::valueChanged(const gcn::SelectionEvent &)
// Update the server and post fields according to the new selection
const ServerInfo &myServer = mServersListModel->getServer(index);
- mDescription->setCaption(myServer.description);
- mServerNameField->setText(myServer.hostname);
- mPortField->setText(toString(myServer.port));
- if (mTypeField)
- {
- switch (myServer.type)
- {
- case ServerInfo::TMWATHENA:
- case ServerInfo::UNKNOWN:
-#ifdef MANASERV_SUPPORT
- default:
- mTypeField->setSelected(0);
- break;
- case ServerInfo::MANASERV:
- mTypeField->setSelected(2);
- break;
-#else
- case ServerInfo::MANASERV:
- default:
- mTypeField->setSelected(0);
- break;
-#endif
- case ServerInfo::EVOL:
- mTypeField->setSelected(1);
- break;
- }
- }
- setFieldsReadOnly(true);
mDeleteButton->setEnabled(myServer.save);
}
@@ -577,30 +465,6 @@ void ServerDialog::logic()
Window::logic();
}
-void ServerDialog::setFieldsReadOnly(bool readOnly)
-{
- if (!readOnly)
- {
- mDescription->setCaption(std::string());
- mServersList->setSelected(-1);
-
- mServerNameField->setText(std::string());
- mPortField->setText(std::string("6901"));
-
- mServerNameField->requestFocus();
- }
-
- mManualEntryButton->setEnabled(readOnly);
- mDeleteButton->setEnabled(false);
- mLoadButton->setEnabled(readOnly);
- mDescription->setVisible(readOnly);
-
- mServerNameField->setEnabled(!readOnly);
- mPortField->setEnabled(!readOnly);
- if (mTypeField)
- mTypeField->setEnabled(!readOnly);
-}
-
void ServerDialog::downloadServerList()
{
// Try to load the configuration value for the onlineServerList
@@ -647,6 +511,9 @@ void ServerDialog::loadServers(bool addNew)
return;
}
+ const std::string lang = getLangShort();
+ const std::string description2 = "description_" + lang;
+
for_each_xml_child_node(serverNode, rootNode)
{
if (!xmlNameEqual(serverNode, "server"))
@@ -696,7 +563,9 @@ void ServerDialog::loadServers(bool addNew)
server.port = defaultPortForServerType(server.type);
}
}
- else if (xmlNameEqual(subNode, "description"))
+ else if ((xmlNameEqual(subNode, "description")
+ && server.description.empty()) || (!lang.empty()
+ && xmlNameEqual(subNode, description2.c_str())))
{
server.description = reinterpret_cast<const char*>(
subNode->xmlChildrenNode->content);
@@ -716,6 +585,7 @@ void ServerDialog::loadServers(bool addNew)
// Use the name listed in the server list
mServers[i].name = server.name;
mServers[i].version = server.version;
+ mServers[i].description = server.description;
mServersListModel->setVersionString(i, version);
found = true;
break;
@@ -731,12 +601,16 @@ void ServerDialog::loadCustomServers()
for (int i = 0; i < MAX_SERVERLIST; ++i)
{
const std::string index = toString(i);
- const std::string nameKey = "MostUsedServerName" + index;
+ const std::string nameKey = "MostUsedServerDescName" + index;
+ const std::string descKey = "MostUsedServerDescription" + index;
+ const std::string hostKey = "MostUsedServerName" + index;
const std::string typeKey = "MostUsedServerType" + index;
const std::string portKey = "MostUsedServerPort" + index;
ServerInfo server;
- server.hostname = config.getValue(nameKey, "");
+ server.name = config.getValue(nameKey, "");
+ server.description = config.getValue(descKey, "");
+ server.hostname = config.getValue(hostKey, "");
server.type = ServerInfo::parseType(config.getValue(typeKey, ""));
const int defaultPort = defaultPortForServerType(server.type);
@@ -752,21 +626,29 @@ void ServerDialog::loadCustomServers()
}
}
-void ServerDialog::saveCustomServers(const ServerInfo &currentServer)
+void ServerDialog::saveCustomServers(const ServerInfo &currentServer,
+ int index)
{
// Make sure the current server is mentioned first
if (currentServer.isValid())
{
- ServerInfos::iterator i, i_end = mServers.end();
- for (i = mServers.begin(); i != i_end; ++i)
+ if (index >= 0 && (unsigned)index < mServers.size())
{
- if (*i == currentServer)
+ mServers[index] = currentServer;
+ }
+ else
+ {
+ ServerInfos::iterator i, i_end = mServers.end();
+ for (i = mServers.begin(); i != i_end; ++i)
{
- mServers.erase(i);
- break;
+ if (*i == currentServer)
+ {
+ mServers.erase(i);
+ break;
+ }
}
+ mServers.insert(mServers.begin(), currentServer);
}
- mServers.insert(mServers.begin(), currentServer);
}
int savedServerCount = 0;
@@ -780,15 +662,19 @@ void ServerDialog::saveCustomServers(const ServerInfo &currentServer)
if (!(server.save && server.isValid()))
continue;
- const std::string index = toString(savedServerCount);
- const std::string nameKey = "MostUsedServerName" + index;
- const std::string typeKey = "MostUsedServerType" + index;
- const std::string portKey = "MostUsedServerPort" + index;
+ const std::string num = toString(savedServerCount);
+ const std::string nameKey = "MostUsedServerDescName" + num;
+ const std::string descKey = "MostUsedServerDescription" + num;
+ const std::string hostKey = "MostUsedServerName" + num;
+ const std::string typeKey = "MostUsedServerType" + num;
+ const std::string portKey = "MostUsedServerPort" + num;
- config.setValue(nameKey, toString(server.hostname));
+ config.setValue(nameKey, toString(server.name));
+ config.setValue(descKey, toString(server.description));
+ config.setValue(hostKey, toString(server.hostname));
config.setValue(typeKey, serverTypeToString(server.type));
config.setValue(portKey, toString(server.port));
- ++savedServerCount;
+ ++ savedServerCount;
}
// Insert an invalid entry at the end to make the loading stop there
@@ -799,7 +685,7 @@ void ServerDialog::saveCustomServers(const ServerInfo &currentServer)
int ServerDialog::downloadUpdate(void *ptr, DownloadStatus status,
size_t total, size_t remaining)
{
- if (status == DOWNLOAD_STATUS_CANCELLED)
+ if (!ptr || status == DOWNLOAD_STATUS_CANCELLED)
return -1;
ServerDialog *sd = reinterpret_cast<ServerDialog*>(ptr);
@@ -853,3 +739,8 @@ int ServerDialog::downloadUpdate(void *ptr, DownloadStatus status,
return 0;
}
+
+void ServerDialog::updateServer(ServerInfo server, int index)
+{
+ saveCustomServers(server, index);
+}
diff --git a/src/gui/serverdialog.h b/src/gui/serverdialog.h
index d2fe0d25b..c23fb8776 100644
--- a/src/gui/serverdialog.h
+++ b/src/gui/serverdialog.h
@@ -83,30 +83,6 @@ class ServersListModel : public gcn::ListModel
ServerDialog *mParent;
};
-/**
- * Server Type List Model
- */
-class TypeListModel : public gcn::ListModel
-{
- public:
- TypeListModel() {}
-
- /**
- * Used to get number of line in the list
- */
- int getNumberOfElements()
-#ifdef MANASERV_SUPPORT
- { return 3; }
-#else
- { return 2; }
-#endif
-
- /**
- * Used to get an element from the list
- */
- std::string getElementAt(int elementIndex);
-};
-
/**
* The server choice dialog.
@@ -147,12 +123,17 @@ class ServerDialog : public Window,
void logic();
+ void updateServer(ServerInfo server, int index);
+
protected:
friend class ServersListModel;
+
MutexLocker lock()
{ return MutexLocker(&mMutex); }
private:
+ friend class EditServerDialog;
+
/**
* Called to load a list of available server from an online xml file.
*/
@@ -160,28 +141,23 @@ class ServerDialog : public Window,
void loadServers(bool addNew = true);
void loadCustomServers();
- void saveCustomServers(const ServerInfo &currentServer = ServerInfo());
+ void saveCustomServers(const ServerInfo &currentServer = ServerInfo(),
+ int index = -1);
static int downloadUpdate(void *ptr, DownloadStatus status,
size_t total, size_t remaining);
- void setFieldsReadOnly(bool readOnly);
-
- TextField *mServerNameField;
- TextField *mPortField;
Label *mDescription;
Button *mQuitButton;
Button *mConnectButton;
- Button *mManualEntryButton;
+ Button *mAddEntryButton;
+ Button *mEditEntryButton;
Button *mDeleteButton;
Button *mLoadButton;
ListBox *mServersList;
ServersListModel *mServersListModel;
- DropDown *mTypeField;
- TypeListModel *mTypeListModel;
-
const std::string &mDir;
enum ServerDialogDownloadStatus
diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp
index bac474950..3408fba33 100644
--- a/src/gui/setup.cpp
+++ b/src/gui/setup.cpp
@@ -75,7 +75,7 @@ Setup::Setup():
nullptr
};
int x = width;
- for (const char **curBtn = buttonNames; *curBtn; ++curBtn)
+ for (const char **curBtn = buttonNames; *curBtn; ++ curBtn)
{
Button *btn = new Button(gettext(*curBtn), *curBtn, this);
x -= btn->getWidth() + 5;
diff --git a/src/gui/setup_relations.cpp b/src/gui/setup_relations.cpp
index 9ddef9e1a..571856a14 100644
--- a/src/gui/setup_relations.cpp
+++ b/src/gui/setup_relations.cpp
@@ -193,6 +193,8 @@ public:
std::string getPlayerAt(int index) const
{
+ if (index < 0 || index >= (signed)mPlayers->size())
+ return "";
return (*mPlayers)[index];
}
@@ -257,10 +259,7 @@ Setup_Relations::Setup_Relations():
mIgnoreActionChoicesBox = new DropDown(mIgnoreActionChoicesModel);
for (int i = 0; i < COLUMNS_NR; i++)
- {
- mPlayerTableTitleModel->set(0, i,
- new Label(gettext(table_titles[i])));
- }
+ mPlayerTableTitleModel->set(0, i, new Label(gettext(table_titles[i])));
mPlayerTitleTable->setLinewiseSelection(true);
diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp
index 259388fd0..9a5b30ea7 100644
--- a/src/gui/setup_video.cpp
+++ b/src/gui/setup_video.cpp
@@ -143,11 +143,11 @@ ModeListModel::ModeListModel()
}
else
{
- for (int i = 0; modes[i]; ++i)
+ for (int i = 0; modes[i]; ++ i)
{
const std::string modeString =
toString(static_cast<int>(modes[i]->w)) + "x"
- + toString(static_cast<int>(modes[i]->h));
+ + toString(static_cast<int>(modes[i]->h));
mVideoModes.push_back(modeString);
}
}
@@ -281,6 +281,8 @@ Setup_Video::Setup_Video():
mOpacity(config.getFloatValue("guialpha")),
mFps(config.getIntValue("fpslimit")),
mAltFps(config.getIntValue("altfpslimit")),
+ mEnableResize(config.getBoolValue("enableresize")),
+ mNoFrame(config.getBoolValue("noframe")),
mSpeechMode(static_cast<Being::Speech>(
config.getIntValue("speech"))),
mModeListModel(new ModeListModel),
@@ -296,6 +298,8 @@ Setup_Video::Setup_Video():
// TRANSLATORS: Refers to "Show own name"
mPickupParticleCheckBox(new CheckBox(_("as particle"),
mPickupParticleEnabled)),
+ mEnableResizeCheckBox(new CheckBox(_("Enable resize"), mEnableResize)),
+ mNoFrameCheckBox(new CheckBox(_("No frame"), mNoFrame)),
mSpeechSlider(new Slider(0, 3)),
mSpeechLabel(new Label("")),
mAlphaSlider(new Slider(0.1, 1.0)),
@@ -367,6 +371,8 @@ Setup_Video::Setup_Video():
mParticleDetailSlider->setActionEventId("particledetailslider");
mParticleDetailField->setActionEventId("particledetailfield");
mOpenGLDropDown->setActionEventId("opengl");
+ mEnableResizeCheckBox->setActionEventId("enableresize");
+ mNoFrameCheckBox->setActionEventId("noframe");
mModeList->addActionListener(this);
mCustomCursorCheckBox->addActionListener(this);
@@ -383,6 +389,8 @@ Setup_Video::Setup_Video():
mParticleDetailSlider->addActionListener(this);
mParticleDetailField->addKeyListener(this);
mOpenGLDropDown->addActionListener(this);
+ mEnableResizeCheckBox->addActionListener(this);
+ mNoFrameCheckBox->addActionListener(this);
mSpeechLabel->setCaption(speechModeToString(mSpeechMode));
mSpeechSlider->setValue(mSpeechMode);
@@ -397,8 +405,8 @@ Setup_Video::Setup_Video():
LayoutHelper h(this);
ContainerPlacer place = h.getPlacer(0, 0);
- place(0, 0, scrollArea, 1, 5).setPadding(2);
- place(0, 5, mOpenGLDropDown, 1);
+ place(0, 0, scrollArea, 1, 6).setPadding(2);
+ place(0, 6, mOpenGLDropDown, 1);
// place(0, 6, mHwAccelCheckBox, 6);
@@ -406,34 +414,36 @@ Setup_Video::Setup_Video():
place(1, 1, mCustomCursorCheckBox, 3);
- place(1, 2, mParticleEffectsCheckBox, 2);
+ place(1, 2, mEnableResizeCheckBox, 2);
+ place(1, 3, mNoFrameCheckBox, 2);
- place(1, 3, mPickupNotifyLabel, 4);
+ place(1, 4, mParticleEffectsCheckBox, 2);
- place(1, 4, mPickupChatCheckBox, 1);
- place(2, 4, mPickupParticleCheckBox, 2);
+ place(1, 5, mPickupNotifyLabel, 4);
+ place(1, 6, mPickupChatCheckBox, 1);
+ place(2, 6, mPickupParticleCheckBox, 2);
- place(0, 6, mAlphaSlider);
- place(1, 6, alphaLabel, 3);
+ place(0, 7, mAlphaSlider);
+ place(1, 7, alphaLabel, 3);
- place(0, 7, mFpsSlider);
- place(1, 7, mFpsCheckBox).setPadding(3);
- place(2, 7, mFpsLabel).setPadding(1);
+ place(0, 9, mFpsSlider);
+ place(1, 9, mFpsCheckBox).setPadding(3);
+ place(2, 9, mFpsLabel).setPadding(1);
- place(0, 8, mAltFpsSlider);
- place(1, 8, mAltFpsLabel).setPadding(3);
+ place(0, 10, mAltFpsSlider);
+ place(1, 10, mAltFpsLabel).setPadding(3);
- place(0, 9, mSpeechSlider);
- place(1, 9, speechLabel);
- place(2, 9, mSpeechLabel, 3).setPadding(2);
+ place(0, 11, mSpeechSlider);
+ place(1, 11, speechLabel);
+ place(2, 11, mSpeechLabel, 3).setPadding(2);
- place(0, 10, mOverlayDetailSlider);
- place(1, 10, overlayDetailLabel);
- place(2, 10, mOverlayDetailField, 3).setPadding(2);
+ place(0, 12, mOverlayDetailSlider);
+ place(1, 12, overlayDetailLabel);
+ place(2, 12, mOverlayDetailField, 3).setPadding(2);
- place(0, 11, mParticleDetailSlider);
- place(1, 11, particleDetailLabel);
- place(2, 11, mParticleDetailField, 3).setPadding(2);
+ place(0, 13, mParticleDetailSlider);
+ place(1, 13, particleDetailLabel);
+ place(2, 13, mParticleDetailField, 3).setPadding(2);
int width = 600;
@@ -540,6 +550,8 @@ void Setup_Video::apply()
mOpenGLEnabled = config.getIntValue("opengl");
mPickupChatEnabled = config.getBoolValue("showpickupchat");
mPickupParticleEnabled = config.getBoolValue("showpickupparticle");
+ mEnableResize = config.getBoolValue("enableresize");
+ mNoFrame = config.getBoolValue("noframe");
}
void Setup_Video::cancel()
@@ -560,6 +572,8 @@ void Setup_Video::cancel()
mFpsLabel->setCaption(mFpsCheckBox->isSelected()
? toString(mFps) : _("None"));
mAltFpsLabel->setCaption(_("Alt FPS limit: ") + toString(mAltFps));
+ mEnableResizeCheckBox->setSelected(mEnableResize);
+ mNoFrameCheckBox->setSelected(mNoFrame);
config.setValue("screen", mFullScreenEnabled);
@@ -578,6 +592,8 @@ void Setup_Video::cancel()
config.setValue("opengl", mOpenGLEnabled);
config.setValue("showpickupchat", mPickupChatEnabled);
config.setValue("showpickupparticle", mPickupParticleEnabled);
+ config.setValue("enableresize", mEnableResize);
+ config.setValue("noframe", mNoFrame);
}
void Setup_Video::action(const gcn::ActionEvent &event)
@@ -614,6 +630,7 @@ void Setup_Video::action(const gcn::ActionEvent &event)
// TODO: Find out why the drawing area doesn't resize without a restart.
if (width != mainGraphics->mWidth || height != mainGraphics->mHeight)
{
+#if defined(_WIN32)
if (width < mainGraphics->mWidth || height < mainGraphics->mHeight)
new OkDialog(_("Screen Resolution Changed"),
_("Restart your client for the change to take effect.")
@@ -622,6 +639,9 @@ void Setup_Video::action(const gcn::ActionEvent &event)
else
new OkDialog(_("Screen Resolution Changed"),
_("Restart your client for the change to take effect."));
+#else
+ Client::resize(width, height);
+#endif
}
config.setValue("oldscreen", config.getBoolValue("screen"));
@@ -711,6 +731,14 @@ void Setup_Video::action(const gcn::ActionEvent &event)
mAltFpsSlider->setValue(mAltFps);
mAltFpsSlider->setEnabled(mAltFps > 0);
}
+ else if (id == "enableresize")
+ {
+ config.setValue("enableresize", mEnableResizeCheckBox->isSelected());
+ }
+ else if (id == "noframe")
+ {
+ config.setValue("noframe", mNoFrameCheckBox->isSelected());
+ }
}
void Setup_Video::externalUpdated()
diff --git a/src/gui/setup_video.h b/src/gui/setup_video.h
index 0c82ab272..31d45d93d 100644
--- a/src/gui/setup_video.h
+++ b/src/gui/setup_video.h
@@ -62,6 +62,8 @@ class Setup_Video : public SetupTab, public gcn::KeyListener
float mOpacity;
int mFps;
int mAltFps;
+ bool mEnableResize;
+ bool mNoFrame;
Being::Speech mSpeechMode;
ModeListModel *mModeListModel;
@@ -85,6 +87,9 @@ class Setup_Video : public SetupTab, public gcn::KeyListener
gcn::CheckBox *mPickupChatCheckBox;
gcn::CheckBox *mPickupParticleCheckBox;
+ gcn::CheckBox *mEnableResizeCheckBox;
+ gcn::CheckBox *mNoFrameCheckBox;
+
gcn::Slider *mSpeechSlider;
gcn::Label *mSpeechLabel;
gcn::Slider *mAlphaSlider;
diff --git a/src/gui/shopwindow.cpp b/src/gui/shopwindow.cpp
index b6b87edb7..1a27b8b0c 100644
--- a/src/gui/shopwindow.cpp
+++ b/src/gui/shopwindow.cpp
@@ -55,6 +55,7 @@
#include "net/net.h"
#include "net/chathandler.h"
#include "net/npchandler.h"
+#include "net/playerhandler.h"
#include "net/tradehandler.h"
#include "resources/iteminfo.h"
@@ -206,11 +207,15 @@ void ShopWindow::action(const gcn::ActionEvent &event)
&& mBuyShopItemList->getSelected() >= 0)
{
mBuyShopItems->del(mBuyShopItemList->getSelected());
+ if (isShopEmpty() && player_node)
+ player_node->updateStatus();
}
else if (event.getId() == "delete sell" && mSellShopItemList
&& mSellShopItemList->getSelected() >= 0)
{
mSellShopItems->del(mSellShopItemList->getSelected());
+ if (isShopEmpty() && player_node)
+ player_node->updateStatus();
}
else if (event.getId() == "announce buy" && mBuyShopItems
&& mBuyShopItems->getNumberOfElements() > 0)
@@ -306,8 +311,12 @@ void ShopWindow::addBuyItem(Item *item, int amount, int price)
{
if (!mBuyShopItems || !item)
return;
+ bool emp = isShopEmpty();
mBuyShopItems->addItemNoDup(item->getId(),
item->getColor(), amount, price);
+ if (emp && player_node)
+ player_node->updateStatus();
+
updateButtonsAndLabels();
}
@@ -315,8 +324,12 @@ void ShopWindow::addSellItem(Item *item, int amount, int price)
{
if (!mBuyShopItems || !item)
return;
+ bool emp = isShopEmpty();
mSellShopItems->addItemNoDup(item->getId(),
item->getColor(), amount, price);
+ if (emp && player_node)
+ player_node->updateStatus();
+
updateButtonsAndLabels();
}
diff --git a/src/gui/shopwindow.h b/src/gui/shopwindow.h
index 53ed7690c..a8d131acb 100644
--- a/src/gui/shopwindow.h
+++ b/src/gui/shopwindow.h
@@ -109,7 +109,7 @@ class ShopWindow : public Window, public gcn::ActionListener,
void setAcceptPlayer(std::string name)
{ mAcceptPlayer = name; }
- const std::string &getAcceptPlayer()
+ const std::string &getAcceptPlayer() const
{ return mAcceptPlayer; }
void sendMessage(const std::string &nick, std::string data,
diff --git a/src/gui/skilldialog.h b/src/gui/skilldialog.h
index dcb40927a..9032f82ef 100644
--- a/src/gui/skilldialog.h
+++ b/src/gui/skilldialog.h
@@ -77,7 +77,7 @@ class SkillDialog : public Window, public gcn::ActionListener
SkillInfo* getSkill(int id);
- bool hasSkills()
+ bool hasSkills() const
{ return !mSkills.empty(); }
void widgetResized(const gcn::Event &event);
diff --git a/src/gui/socialwindow.cpp b/src/gui/socialwindow.cpp
index 3988c819c..59ace1685 100644
--- a/src/gui/socialwindow.cpp
+++ b/src/gui/socialwindow.cpp
@@ -1143,7 +1143,7 @@ public:
std::vector<std::string> *players
= player_relations.getPlayersByRelation(PlayerRelation::FRIEND);
- std::set<std::string> players2 = whoIsOnline->getOnlinePlayers();
+ const std::set<std::string> &players2 = whoIsOnline->getOnlineNicks();
if (!players)
return;
@@ -1273,10 +1273,12 @@ SocialWindow::SocialWindow() :
loadWindowState();
- mPlayers = new SocialPlayersTab("P");
+ // TRANSLATORS: here P is title for visible players tab in social window
+ mPlayers = new SocialPlayersTab(_("P"));
mTabs->addTab(mPlayers, mPlayers->mScroll);
- mFriends = new SocialFriendsTab("F");
+ // TRANSLATORS: here F is title for friends tab in social window
+ mFriends = new SocialFriendsTab(_("F"));
mTabs->addTab(mFriends, mFriends->mScroll);
mNavigation = new SocialNavigationTab();
diff --git a/src/gui/socialwindow.h b/src/gui/socialwindow.h
index 1429866ee..9da78562b 100644
--- a/src/gui/socialwindow.h
+++ b/src/gui/socialwindow.h
@@ -101,13 +101,13 @@ public:
void prevTab();
- Map* getMap()
+ Map* getMap() const
{ return mMap; }
void setMap(Map *map)
{ mMap = map; mProcessedPortals = false; }
- bool getProcessedPortals()
+ bool getProcessedPortals() const
{ return mProcessedPortals; }
void setProcessedPortals(int n)
diff --git a/src/gui/statuswindow.cpp b/src/gui/statuswindow.cpp
index 410ee08e2..86964383a 100644
--- a/src/gui/statuswindow.cpp
+++ b/src/gui/statuswindow.cpp
@@ -69,7 +69,7 @@ class AttrDisplay : public Container
virtual std::string update();
- virtual Type getType()
+ virtual Type getType() const
{ return UNKNOWN; }
std::string getValue()
@@ -96,7 +96,7 @@ class DerDisplay : public AttrDisplay
public:
DerDisplay(int id, const std::string &name);
- virtual Type getType()
+ virtual Type getType() const
{ return DERIVED; }
};
@@ -107,7 +107,7 @@ class ChangeDisplay : public AttrDisplay, gcn::ActionListener
std::string update();
- virtual Type getType()
+ virtual Type getType() const
{ return CHANGEABLE; }
void setPointsNeeded(int needed);
@@ -424,12 +424,12 @@ void StatusWindow::addAttribute(int id, const std::string &name,
if (modifiable)
{
disp = new ChangeDisplay(id, name);
- mAttrCont->add(disp);
+ mAttrCont->add1(disp);
}
else
{
disp = new DerDisplay(id, name);
- mDAttrCont->add(disp);
+ mDAttrCont->add1(disp);
}
mAttrs[id] = disp;
}
@@ -522,9 +522,14 @@ void StatusWindow::updateProgressBar(ProgressBar *bar, int value, int max,
/ static_cast<float>(max);
if (percent)
- bar->setText(strprintf("%2.5f%%", static_cast<double>(100 * progress)));
+ {
+ bar->setText(strprintf("%2.5f%%",
+ static_cast<double>(100 * progress)));
+ }
else
+ {
bar->setText(toString(value) + "/" + toString(max));
+ }
bar->setProgress(progress);
}
diff --git a/src/gui/theme.h b/src/gui/theme.h
index 3be6882a3..9cb8f6180 100644
--- a/src/gui/theme.h
+++ b/src/gui/theme.h
@@ -95,7 +95,7 @@ class Skin
*/
void updateAlpha(float minimumOpacityAllowed = 0.0f);
- int getPadding()
+ int getPadding() const
{ return mPadding; }
int instances;
diff --git a/src/gui/tradewindow.h b/src/gui/tradewindow.h
index b055c90ce..268d2f108 100644
--- a/src/gui/tradewindow.h
+++ b/src/gui/tradewindow.h
@@ -128,7 +128,7 @@ class TradeWindow : public Window, gcn::ActionListener, gcn::SelectionListener
void initTrade(std::string nick);
- std::string getAutoTradeNick()
+ std::string getAutoTradeNick() const
{ return mAutoAddToNick; }
bool checkItem(Item *item);
diff --git a/src/gui/updaterwindow.cpp b/src/gui/updaterwindow.cpp
index 39dde65c3..28bd8467c 100644
--- a/src/gui/updaterwindow.cpp
+++ b/src/gui/updaterwindow.cpp
@@ -155,6 +155,12 @@ UpdaterWindow::UpdaterWindow(const std::string &updateHost,
mLoadUpdates(applyUpdates),
mUpdateType(updateType)
{
+ setWindowName("UpdaterWindow");
+ setResizable(true);
+ setDefaultSize(450, 400, ImageRect::CENTER);
+ setMinWidth(320);
+ setMinHeight(240);
+
mBrowserBox = new BrowserBox;
mScrollArea = new ScrollArea(mBrowserBox);
mLabel = new Label(_("Connecting..."));
@@ -175,14 +181,12 @@ UpdaterWindow::UpdaterWindow(const std::string &updateHost,
placer(3, 5, mCancelButton);
placer(4, 5, mPlayButton);
- reflowLayout(450, 400);
-
Layout &layout = getLayout();
layout.setRowHeight(0, Layout::AUTO_SET);
addKeyListener(this);
- center();
+ loadWindowState();
setVisible(true);
mCancelButton->requestFocus();
diff --git a/src/gui/userpalette.h b/src/gui/userpalette.h
index cb0593fa7..6fba30abc 100644
--- a/src/gui/userpalette.h
+++ b/src/gui/userpalette.h
@@ -107,7 +107,7 @@ class UserPalette : public Palette, public gcn::ListModel
*
* @return the requested test color
*/
- inline const gcn::Color &getTestColor(int type)
+ inline const gcn::Color &getTestColor(int type) const
{ return mColors[type].testColor; }
/**
diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp
index 1407415fd..7ff2c8850 100644
--- a/src/gui/viewport.cpp
+++ b/src/gui/viewport.cpp
@@ -497,16 +497,16 @@ void Viewport::mousePressed(gcn::MouseEvent &event)
}
}
else if (player_node->withinAttackRange(mHoverBeing) ||
- keyboard.isKeyActive(keyboard.KEY_ATTACK))
+ keyboard.isActionActive(keyboard.KEY_ATTACK))
{
if (player_node != mHoverBeing)
{
player_node->attack(mHoverBeing,
- !keyboard.isKeyActive(keyboard.KEY_TARGET));
+ !keyboard.isActionActive(keyboard.KEY_TARGET));
return;
}
}
- else if (!keyboard.isKeyActive(keyboard.KEY_ATTACK))
+ else if (!keyboard.isActionActive(keyboard.KEY_ATTACK))
{
if (player_node != mHoverBeing)
{
@@ -522,7 +522,7 @@ void Viewport::mousePressed(gcn::MouseEvent &event)
player_node->pickUp(mHoverItem);
}
// Just walk around
- else if (!keyboard.isKeyActive(keyboard.KEY_ATTACK))
+ else if (!keyboard.isActionActive(keyboard.KEY_ATTACK))
{
player_node->stopAttack();
player_node->cancelFollow();
@@ -875,3 +875,44 @@ bool Viewport::isPopupMenuVisible()
{
return mPopupMenu ? mPopupMenu->isVisible() : false;
}
+
+void Viewport::moveCameraToActor(int actorId, int x, int y)
+{
+ if (!player_node)
+ return;
+
+ Actor *actor = actorSpriteManager->findBeing(actorId);
+ if (!actor)
+ return;
+ Vector actorPos = actor->getPosition();
+ Vector playerPos = player_node->getPosition();
+ mCameraMode = 1;
+ mCameraRelativeX = actorPos.x - playerPos.x + x;
+ mCameraRelativeY = actorPos.y - playerPos.y + y;
+}
+
+void Viewport::moveCameraToPosition(int x, int y)
+{
+ if (!player_node)
+ return;
+
+ Vector playerPos = player_node->getPosition();
+ mCameraMode = 1;
+
+ mCameraRelativeX = x - playerPos.x;
+ mCameraRelativeY = y - playerPos.y;
+}
+
+void Viewport::moveCameraRelative(int x, int y)
+{
+ mCameraMode = 1;
+ mCameraRelativeX += x;
+ mCameraRelativeY += y;
+}
+
+void Viewport::returnCamera()
+{
+ mCameraMode = 0;
+ mCameraRelativeX = 0;
+ mCameraRelativeY = 0;
+}
diff --git a/src/gui/viewport.h b/src/gui/viewport.h
index b25f51242..f3035b5df 100644
--- a/src/gui/viewport.h
+++ b/src/gui/viewport.h
@@ -218,13 +218,13 @@ class Viewport : public WindowContainer, public gcn::MouseListener,
Map *getCurrentMap() const
{ return mMap; }
- int getDebugPath()
+ int getDebugPath() const
{ return mShowDebugPath; }
void setDebugPath(int n)
{ mShowDebugPath = n; }
- int getCameraMode()
+ int getCameraMode() const
{ return mCameraMode; }
/**
@@ -237,19 +237,33 @@ class Viewport : public WindowContainer, public gcn::MouseListener,
*/
void cleanHoverItems();
- Map *getMap()
+ Map *getMap() const
{ return mMap; }
void moveCamera(int dx, int dy);
- int getCameraRelativeX()
+ int getCameraRelativeX() const
{ return mCameraRelativeX; }
- int getCameraRelativeY()
+ int getCameraRelativeY() const
{ return mCameraRelativeY; }
+ void setCameraRelativeX(int n)
+ { mCameraRelativeX = n; }
+
+ void setCameraRelativeY(int n)
+ { mCameraRelativeY = n; }
+
bool isPopupMenuVisible();
+ void moveCameraToActor(int actorId, int x = 0, int y = 0);
+
+ void moveCameraToPosition(int x, int y);
+
+ void moveCameraRelative(int x, int y);
+
+ void returnCamera();
+
protected:
friend class ActorSpriteManager;
diff --git a/src/gui/whoisonline.cpp b/src/gui/whoisonline.cpp
index a80fb4c89..205a1aae1 100644
--- a/src/gui/whoisonline.cpp
+++ b/src/gui/whoisonline.cpp
@@ -48,6 +48,7 @@
#include "gui/chatwindow.h"
+#include "utils/dtor.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -68,21 +69,10 @@
class NameFunctuator
{
public:
- bool operator()(const std::string &left,
- const std::string &right) const
+ bool operator()(const OnlinePlayer *left,
+ const OnlinePlayer *right) const
{
- for (std::string::const_iterator lit = left.begin(),
- rit = right.begin();
- lit != left.end() && rit != right.end(); ++lit, ++rit)
- {
- if (tolower(*lit) < tolower(*rit))
- return true;
- else if (tolower(*lit) > tolower(*rit))
- return false;
- }
- if (left.size() < right.size())
- return true;
- return false;
+ return (compareStrI(left->getNick(), right->getNick()) < 0);
}
} nameCompare;
@@ -149,6 +139,14 @@ WhoIsOnline::~WhoIsOnline()
// Remove possibly leftover temporary download
delete[] mCurlError;
+
+ std::set<OnlinePlayer*>::iterator itd = mOnlinePlayers.begin();
+ std::set<OnlinePlayer*>::iterator itd_end = mOnlinePlayers.end();
+
+ for (; itd != itd_end; ++ itd)
+ delete *itd;
+ mOnlinePlayers.clear();
+ mOnlineNicks.clear();
}
void WhoIsOnline::handleLink(const std::string& link, gcn::MouseEvent *event)
@@ -186,10 +184,10 @@ void WhoIsOnline::handleLink(const std::string& link, gcn::MouseEvent *event)
}
}
-void WhoIsOnline::updateWindow(std::vector<std::string> &friends,
- std::vector<std::string> &neutral,
- std::vector<std::string> &disregard,
- std::vector<std::string> enemy,
+void WhoIsOnline::updateWindow(std::vector<OnlinePlayer*> &friends,
+ std::vector<OnlinePlayer*> &neutral,
+ std::vector<OnlinePlayer*> &disregard,
+ std::vector<OnlinePlayer*> enemy,
int numOnline)
{
//Set window caption
@@ -202,7 +200,7 @@ void WhoIsOnline::updateWindow(std::vector<std::string> &friends,
bool addedFromSection(false);
for (int i = 0; i < static_cast<int>(friends.size()); i++)
{
- mBrowserBox->addRow(friends.at(i));
+ mBrowserBox->addRow(friends.at(i)->getText());
addedFromSection = true;
}
if (addedFromSection == true)
@@ -212,7 +210,7 @@ void WhoIsOnline::updateWindow(std::vector<std::string> &friends,
}
for (int i = 0; i < static_cast<int>(enemy.size()); i++)
{
- mBrowserBox->addRow(enemy.at(i));
+ mBrowserBox->addRow(enemy.at(i)->getText());
addedFromSection = true;
}
if (addedFromSection == true)
@@ -222,7 +220,7 @@ void WhoIsOnline::updateWindow(std::vector<std::string> &friends,
}
for (int i = 0; i < static_cast<int>(neutral.size()); i++)
{
- mBrowserBox->addRow(neutral.at(i));
+ mBrowserBox->addRow(neutral.at(i)->getText());
addedFromSection = true;
}
if (addedFromSection == true && !disregard.empty())
@@ -232,7 +230,7 @@ void WhoIsOnline::updateWindow(std::vector<std::string> &friends,
}
for (int i = 0; i < static_cast<int>(disregard.size()); i++)
{
- mBrowserBox->addRow(disregard.at(i));
+ mBrowserBox->addRow(disregard.at(i)->getText());
}
if (mScrollArea->getVerticalMaxScroll() <
@@ -243,43 +241,59 @@ void WhoIsOnline::updateWindow(std::vector<std::string> &friends,
}
}
-void WhoIsOnline::loadList(std::vector<std::string> &list)
+void WhoIsOnline::loadList(std::vector<OnlinePlayer*> &list)
{
mBrowserBox->clearRows();
int numOnline = list.size();
- std::vector<std::string> friends;
- std::vector<std::string> neutral;
- std::vector<std::string> disregard;
- std::vector<std::string> enemy;
+ std::vector<OnlinePlayer*> friends;
+ std::vector<OnlinePlayer*> neutral;
+ std::vector<OnlinePlayer*> disregard;
+ std::vector<OnlinePlayer*> enemy;
+
+ std::set<OnlinePlayer*>::iterator itd = mOnlinePlayers.begin();
+ std::set<OnlinePlayer*>::iterator itd_end = mOnlinePlayers.end();
+ for (; itd != itd_end; ++ itd)
+ delete *itd;
mOnlinePlayers.clear();
+ mOnlineNicks.clear();
+
mShowLevel = config.getBoolValue("showlevel");
- std::vector<std::string>::const_iterator it = list.begin();
- std::vector<std::string>::const_iterator it_end = list.end();
+ std::vector<OnlinePlayer*>::iterator it = list.begin();
+ std::vector<OnlinePlayer*>::iterator it_end = list.end();
for (; it != it_end; ++ it)
{
- std::string nick = *it;
- mOnlinePlayers.insert(nick);
+ OnlinePlayer *player = *it;
+ std::string nick = player->getNick();
+ mOnlinePlayers.insert(player);
+ mOnlineNicks.insert(nick);
+
+ if (!mShowLevel)
+ player->setLevel(0);
switch (player_relations.getRelation(nick))
{
case PlayerRelation::NEUTRAL:
default:
- neutral.push_back(prepareNick(nick, 0, "0"));
+ player->setText("0");
+ neutral.push_back(player);
break;
case PlayerRelation::FRIEND:
- friends.push_back(prepareNick(nick, 0, "2"));
+ player->setText("2");
+ friends.push_back(player);
break;
case PlayerRelation::DISREGARDED:
case PlayerRelation::BLACKLISTED:
- disregard.push_back(prepareNick(nick, 0, "8"));
+ player->setText("8");
+ disregard.push_back(player);
break;
case PlayerRelation::ENEMY2:
- enemy.push_back(prepareNick(nick, 0, "1"));
+ player->setText("1");
+ enemy.push_back(player);
break;
case PlayerRelation::IGNORED:
@@ -290,10 +304,10 @@ void WhoIsOnline::loadList(std::vector<std::string> &list)
}
updateWindow(friends, neutral, disregard, enemy, numOnline);
- if (!mOnlinePlayers.empty())
+ if (!mOnlineNicks.empty())
{
if (chatWindow)
- chatWindow->updateOnline(mOnlinePlayers);
+ chatWindow->updateOnline(mOnlineNicks);
if (socialWindow)
socialWindow->updateActiveList();
}
@@ -313,15 +327,23 @@ void WhoIsOnline::loadWebList()
bool listStarted(false);
std::string lineStr;
int numOnline(0);
- std::vector<std::string> friends;
- std::vector<std::string> neutral;
- std::vector<std::string> disregard;
- std::vector<std::string> enemy;
+ std::vector<OnlinePlayer*> friends;
+ std::vector<OnlinePlayer*> neutral;
+ std::vector<OnlinePlayer*> disregard;
+ std::vector<OnlinePlayer*> enemy;
// Tokenize and add each line separately
char *line = strtok(mMemoryBuffer, "\n");
const std::string gmText = "(GM)";
+
+ std::set<OnlinePlayer*>::iterator itd = mOnlinePlayers.begin();
+ std::set<OnlinePlayer*>::iterator itd_end = mOnlinePlayers.end();
+
+ for (; itd != itd_end; ++ itd)
+ delete *itd;
+
mOnlinePlayers.clear();
+ mOnlineNicks.clear();
mShowLevel = config.getBoolValue("showlevel");
@@ -383,27 +405,38 @@ void WhoIsOnline::loadWebList()
}
}
- mOnlinePlayers.insert(nick);
+
+ if (!mShowLevel)
+ level = 0;
+
+ OnlinePlayer *player = new OnlinePlayer(nick, 255, level,
+ GENDER_UNSPECIFIED, -1);
+ mOnlinePlayers.insert(player);
+ mOnlineNicks.insert(nick);
numOnline++;
switch (player_relations.getRelation(nick))
{
case PlayerRelation::NEUTRAL:
default:
- neutral.push_back(prepareNick(nick, level, "0"));
+ player->setText("0");
+ neutral.push_back(player);
break;
case PlayerRelation::FRIEND:
- friends.push_back(prepareNick(nick, level, "2"));
+ player->setText("2");
+ friends.push_back(player);
break;
case PlayerRelation::DISREGARDED:
case PlayerRelation::BLACKLISTED:
- disregard.push_back(prepareNick(nick, level, "8"));
+ player->setText("8");
+ disregard.push_back(player);
break;
case PlayerRelation::ENEMY2:
- enemy.push_back(prepareNick(nick, level, "1"));
+ player->setText("1");
+ enemy.push_back(player);
break;
case PlayerRelation::IGNORED:
@@ -431,6 +464,9 @@ void WhoIsOnline::loadWebList()
size_t WhoIsOnline::memoryWrite(void *ptr, size_t size,
size_t nmemb, FILE *stream)
{
+ if (!stream)
+ return 0;
+
WhoIsOnline *wio = reinterpret_cast<WhoIsOnline *>(stream);
size_t totalMem = size * nmemb;
wio->mMemoryBuffer = static_cast<char*>(realloc(wio->mMemoryBuffer,
@@ -472,8 +508,8 @@ int WhoIsOnline::downloadThread(void *ptr)
curl_easy_setopt(curl, CURLOPT_WRITEDATA, ptr);
curl_easy_setopt(curl, CURLOPT_USERAGENT,
- strprintf(PACKAGE_EXTENDED_VERSION, branding
- .getValue("appShort", "mana").c_str()).c_str());
+ strprintf(PACKAGE_EXTENDED_VERSION,
+ branding.getStringValue("appName").c_str()).c_str());
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, wio->mCurlError);
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
@@ -596,10 +632,10 @@ void WhoIsOnline::logic()
mUpdateButton->setEnabled(true);
mUpdateTimer = 0;
updateSize();
- if (!mOnlinePlayers.empty())
+ if (!mOnlineNicks.empty())
{
if (chatWindow)
- chatWindow->updateOnline(mOnlinePlayers);
+ chatWindow->updateOnline(mOnlineNicks);
if (socialWindow)
socialWindow->updateActiveList();
}
@@ -681,3 +717,46 @@ void WhoIsOnline::optionChanged(const std::string &name)
if (name == "updateOnlineList")
mUpdateOnlineList = config.getBoolValue("updateOnlineList");
}
+
+void OnlinePlayer::setText(std::string color)
+{
+ mText = strprintf("@@%s|##%s%s ", mNick.c_str(),
+ color.c_str(), mNick.c_str());
+
+ if (mStatus != 255 && actorSpriteManager)
+ {
+ Being *being = actorSpriteManager->findBeingByName(
+ mNick, Being::PLAYER);
+ if (being)
+ being->setState(mStatus);
+ }
+
+ if (mLevel > 0)
+ mText += strprintf("%d", mLevel);
+
+ if (mGender == GENDER_FEMALE)
+ mText += "\u2640";
+ else if (mGender == GENDER_MALE)
+ mText += "\u2642";
+
+ if (mStatus > 0 && mStatus != 255)
+ {
+ if (mStatus & Being::FLAG_SHOP)
+ mText += "$";
+ if (mStatus & Being::FLAG_AWAY)
+ {
+ // TRANSLATORS: this away status writed in player nick
+ mText += _("A");
+ }
+ if (mStatus & Being::FLAG_INACTIVE)
+ {
+ // TRANSLATORS: this inactive status writed in player nick
+ mText += _("I");
+ }
+ }
+
+ if (mVersion > 0)
+ mText += strprintf(" - %d", mVersion);
+
+ mText += strprintf("@@");
+}
diff --git a/src/gui/whoisonline.h b/src/gui/whoisonline.h
index ade391d5a..dad51e857 100644
--- a/src/gui/whoisonline.h
+++ b/src/gui/whoisonline.h
@@ -42,6 +42,54 @@ class ScrollArea;
struct SDL_Thread;
+class OnlinePlayer
+{
+ public:
+ OnlinePlayer(std::string nick, unsigned char status,
+ char level, unsigned char gender, char version) :
+ mNick(nick),
+ mText(""),
+ mStatus(status),
+ mLevel(level),
+ mVersion(version),
+ mGender(gender)
+ {
+ }
+
+ const std::string getNick() const
+ { return mNick; }
+
+ unsigned char getStaus() const
+ { return mStatus; }
+
+ char getVersion() const
+ { return mVersion; }
+
+ char getLevel() const
+ { return mLevel; }
+
+ const std::string getText() const
+ { return mText; }
+
+ void setText(std::string str);
+
+ void setLevel(char level)
+ { mLevel = level; }
+
+ private:
+ std::string mNick;
+
+ std::string mText;
+
+ unsigned char mStatus;
+
+ char mLevel;
+
+ char mVersion;
+
+ unsigned char mGender;
+};
+
/**
* Update progress window GUI
*
@@ -52,7 +100,7 @@ class WhoIsOnline : public Window,
public gcn::ActionListener,
public ConfigListener
{
- public:
+public:
/**
* Constructor.
*/
@@ -68,7 +116,7 @@ class WhoIsOnline : public Window,
*/
void loadWebList();
- void loadList(std::vector<std::string> &list);
+ void loadList(std::vector<OnlinePlayer*> &list);
void handleLink(const std::string& link, gcn::MouseEvent *event);
@@ -78,9 +126,12 @@ class WhoIsOnline : public Window,
void widgetResized(const gcn::Event &event);
- std::set<std::string> &getOnlinePlayers()
+ const std::set<OnlinePlayer*> &getOnlinePlayers()
{ return mOnlinePlayers; }
+ const std::set<std::string> &getOnlineNicks()
+ { return mOnlineNicks; }
+
void setAllowUpdate(bool n)
{ mAllowUpdate = n; }
@@ -109,10 +160,10 @@ private:
const std::string prepareNick(std::string nick, int level,
std::string color) const;
- void updateWindow(std::vector<std::string> &friends,
- std::vector<std::string> &neutral,
- std::vector<std::string> &disregard,
- std::vector<std::string> enemy,
+ void updateWindow(std::vector<OnlinePlayer*> &friends,
+ std::vector<OnlinePlayer*> &neutral,
+ std::vector<OnlinePlayer*> &disregard,
+ std::vector<OnlinePlayer*> enemy,
int numOnline);
enum DownloadStatus
@@ -143,7 +194,8 @@ private:
BrowserBox *mBrowserBox;
ScrollArea *mScrollArea;
time_t mUpdateTimer;
- std::set<std::string> mOnlinePlayers;
+ std::set<OnlinePlayer*> mOnlinePlayers;
+ std::set<std::string> mOnlineNicks;
gcn::Button *mUpdateButton;
bool mAllowUpdate;
diff --git a/src/gui/widgets/browserbox.h b/src/gui/widgets/browserbox.h
index ab3049c0b..d82ebd758 100644
--- a/src/gui/widgets/browserbox.h
+++ b/src/gui/widgets/browserbox.h
@@ -187,7 +187,7 @@ class BrowserBox : public gcn::Widget,
TextRows &getRows()
{ return mTextRows; }
- bool hasRows()
+ bool hasRows() const
{ return !mTextRows.empty(); }
void setAlwaysUpdate(bool n)
diff --git a/src/gui/widgets/button.h b/src/gui/widgets/button.h
index aed46bb55..560e46377 100644
--- a/src/gui/widgets/button.h
+++ b/src/gui/widgets/button.h
@@ -70,16 +70,16 @@ class Button : public gcn::Button, public gcn::WidgetListener
void setDescription(std::string text)
{ mDescription = text; }
- std::string getDescription()
+ std::string getDescription() const
{ return mDescription; }
- unsigned getClickCount()
+ unsigned getClickCount() const
{ return mClickCount; }
void setTag(int tag)
{ mTag = tag; }
- int getTag()
+ int getTag() const
{ return mTag; }
void widgetResized(const gcn::Event &event);
diff --git a/src/gui/widgets/channeltab.h b/src/gui/widgets/channeltab.h
index 4b56d2e05..39702a696 100644
--- a/src/gui/widgets/channeltab.h
+++ b/src/gui/widgets/channeltab.h
@@ -34,7 +34,8 @@ class ChannelTab : public ChatTab
{
public:
- Channel *getChannel() const { return mChannel; }
+ Channel *getChannel() const
+ { return mChannel; }
void showHelp();
diff --git a/src/gui/widgets/chattab.cpp b/src/gui/widgets/chattab.cpp
index aea367482..6d5dfc9dd 100644
--- a/src/gui/widgets/chattab.cpp
+++ b/src/gui/widgets/chattab.cpp
@@ -224,9 +224,17 @@ void ChatTab::chatLog(std::string line, Own own,
{
struct tm *timeInfo;
timeInfo = localtime(&t);
- line = strprintf("%s[%02d:%02d] %s%s", lineColor.c_str(),
- timeInfo->tm_hour, timeInfo->tm_min, tmp.nick.c_str(),
- tmp.text.c_str());
+ if (timeInfo)
+ {
+ line = strprintf("%s[%02d:%02d] %s%s", lineColor.c_str(),
+ timeInfo->tm_hour, timeInfo->tm_min, tmp.nick.c_str(),
+ tmp.text.c_str());
+ }
+ else
+ {
+ line = strprintf("%s %s%s", lineColor.c_str(),
+ tmp.nick.c_str(), tmp.text.c_str());
+ }
}
else
{
diff --git a/src/gui/widgets/chattab.h b/src/gui/widgets/chattab.h
index ddf10bf5e..912305a63 100644
--- a/src/gui/widgets/chattab.h
+++ b/src/gui/widgets/chattab.h
@@ -137,24 +137,24 @@ class ChatTab : public Tab
std::list<std::string> &getRows()
{ return mTextOutput->getRows(); }
- bool hasRows()
+ bool hasRows() const
{ return mTextOutput->hasRows(); }
void loadFromLogFile(std::string name);
- bool getAllowHighlight()
+ bool getAllowHighlight() const
{ return mAllowHightlight; }
void setAllowHighlight(bool n)
{ mAllowHightlight = n; }
- bool getRemoveNames()
+ bool getRemoveNames() const
{ return mRemoveNames; }
void setRemoveNames(bool n)
{ mRemoveNames = n; }
- bool getNoAway()
+ bool getNoAway() const
{ return mNoAway; }
void setNoAway(bool n)
diff --git a/src/gui/widgets/desktop.cpp b/src/gui/widgets/desktop.cpp
index beb232fb2..b40558c78 100644
--- a/src/gui/widgets/desktop.cpp
+++ b/src/gui/widgets/desktop.cpp
@@ -48,10 +48,14 @@ Desktop::Desktop() :
std::string appName = branding.getValue("appName", std::string(""));
if (appName.empty())
+ {
mVersionLabel = new Label(FULL_VERSION);
+ }
else
- mVersionLabel = new Label(strprintf("%s (Mana %s)", appName.c_str(),
- FULL_VERSION));
+ {
+ mVersionLabel = new Label(strprintf("%s (%s)", FULL_VERSION,
+ appName.c_str()));
+ }
mVersionLabel->setBackgroundColor(
Theme::getThemeColor(Theme::BACKGROUND, 128));
diff --git a/src/gui/widgets/emoteshortcutcontainer.cpp b/src/gui/widgets/emoteshortcutcontainer.cpp
index e8d7bb7e3..794357275 100644
--- a/src/gui/widgets/emoteshortcutcontainer.cpp
+++ b/src/gui/widgets/emoteshortcutcontainer.cpp
@@ -43,7 +43,7 @@
#include "debug.h"
-static const int MAX_ITEMS = 44;
+static const int MAX_ITEMS = 48;
EmoteShortcutContainer::EmoteShortcutContainer():
ShortcutContainer(),
diff --git a/src/gui/widgets/guildchattab.h b/src/gui/widgets/guildchattab.h
index bebdaa1f3..be6f4d034 100644
--- a/src/gui/widgets/guildchattab.h
+++ b/src/gui/widgets/guildchattab.h
@@ -41,7 +41,8 @@ class GuildChatTab : public ChatTab
void saveToLogFile(std::string &msg);
- int getType() const { return ChatTab::TAB_GUILD; }
+ int getType() const
+ { return ChatTab::TAB_GUILD; }
protected:
void handleInput(const std::string &msg);
diff --git a/src/gui/widgets/icon.h b/src/gui/widgets/icon.h
index 6f05da3f7..98fee314a 100644
--- a/src/gui/widgets/icon.h
+++ b/src/gui/widgets/icon.h
@@ -48,7 +48,8 @@ class Icon : public gcn::Widget
/**
* Gets the current Image.
*/
- Image *getImage() const { return mImage; }
+ Image *getImage() const
+ { return mImage; }
/**
* Sets the image to display.
diff --git a/src/gui/widgets/layout.h b/src/gui/widgets/layout.h
index 02fed43b5..046d09b59 100644
--- a/src/gui/widgets/layout.h
+++ b/src/gui/widgets/layout.h
@@ -266,10 +266,10 @@ class LayoutCell
void setType(int t)
{ mType = t; }
- int getWidth()
+ int getWidth() const
{ return mExtent[0]; }
- int getHeight()
+ int getHeight() const
{ return mExtent[1]; }
void setWidth(int w)
diff --git a/src/gui/widgets/popup.h b/src/gui/widgets/popup.h
index 8ff21149a..5572abd03 100644
--- a/src/gui/widgets/popup.h
+++ b/src/gui/widgets/popup.h
@@ -94,28 +94,32 @@ class Popup : public Container, public gcn::MouseListener,
*/
void setMinWidth(int width);
- int getMinWidth() const { return mMinWidth; }
+ int getMinWidth() const
+ { return mMinWidth; }
/**
* Sets the minimum height of the popup.
*/
void setMinHeight(int height);
- int getMinHeight() const { return mMinHeight; }
+ int getMinHeight() const
+ { return mMinHeight; }
/**
* Sets the maximum width of the popup.
*/
void setMaxWidth(int width);
- int getMaxWidth() const { return mMaxWidth; }
+ int getMaxWidth() const
+ { return mMaxWidth; }
/**
* Sets the minimum height of the popup.
*/
void setMaxHeight(int height);
- int getMaxHeight() const { return mMaxHeight; }
+ int getMaxHeight() const
+ { return mMaxHeight; }
/**
* Gets the padding of the popup. The padding is the distance between
@@ -124,9 +128,11 @@ class Popup : public Container, public gcn::MouseListener,
* @return The padding of the popup.
* @see setPadding
*/
- int getPadding() const { return mPadding; }
+ int getPadding() const
+ { return mPadding; }
- void setPadding(int padding) { mPadding = padding; }
+ void setPadding(int padding)
+ { mPadding = padding; }
/**
* Sets the name of the popup. This is only useful for debug purposes.
diff --git a/src/gui/widgets/progressbar.h b/src/gui/widgets/progressbar.h
index 163310245..603df6157 100644
--- a/src/gui/widgets/progressbar.h
+++ b/src/gui/widgets/progressbar.h
@@ -73,7 +73,8 @@ class ProgressBar : public gcn::Widget, public gcn::WidgetListener
/**
* Returns the current progress.
*/
- float getProgress() const { return mProgress; }
+ float getProgress() const
+ { return mProgress; }
/**
* Change the ProgressPalette for this ProgressBar to follow or -1 to
@@ -89,7 +90,8 @@ class ProgressBar : public gcn::Widget, public gcn::WidgetListener
/**
* Returns the color of the progress bar.
*/
- const gcn::Color &getColor() const { return mColor; }
+ const gcn::Color &getColor() const
+ { return mColor; }
/**
* Sets the text shown on the progress bar.
diff --git a/src/gui/widgets/scrollarea.h b/src/gui/widgets/scrollarea.h
index 86902b5c9..582033071 100644
--- a/src/gui/widgets/scrollarea.h
+++ b/src/gui/widgets/scrollarea.h
@@ -89,7 +89,8 @@ class ScrollArea : public gcn::ScrollArea, public gcn::WidgetListener
/**
* Returns whether the widget draws its background or not.
*/
- bool isOpaque() const { return mOpaque; }
+ bool isOpaque() const
+ { return mOpaque; }
/**
* Called when the mouse moves in the widget area.
diff --git a/src/gui/widgets/setupitem.cpp b/src/gui/widgets/setupitem.cpp
index 92ff625c2..059b05ba2 100644
--- a/src/gui/widgets/setupitem.cpp
+++ b/src/gui/widgets/setupitem.cpp
@@ -192,7 +192,7 @@ void SetupItemCheckBox::createControls()
load();
mCheckBox = new CheckBox(mText, mValue != "0", mParent, mEventName);
mWidget = mCheckBox;
- mParent->getContainer()->add(mWidget);
+ mParent->getContainer()->add1(mWidget);
mParent->addControl(this);
mParent->addActionListener(this);
mWidget->addActionListener(this);
@@ -275,7 +275,7 @@ void SetupItemTextField::createControls()
mHorizont->add(mTextField);
mHorizont->add(mButton);
- mParent->getContainer()->add(mHorizont, true, 4);
+ mParent->getContainer()->add2(mHorizont, true, 4);
mParent->addControl(this);
mParent->addControl(this, mEventName + "_EDIT");
mParent->addControl(this, mEventName + "_EDIT_OK");
@@ -398,7 +398,7 @@ void SetupItemIntTextField::createControls()
mHorizont->add(mTextField);
mHorizont->add(mButton);
- mParent->getContainer()->add(mHorizont, true, 4);
+ mParent->getContainer()->add2(mHorizont, true, 4);
mParent->addControl(this);
mParent->addControl(this, mEventName + "_EDIT");
mParent->addControl(this, mEventName + "_EDIT_OK");
@@ -486,7 +486,7 @@ void SetupItemLabel::createControls()
}
mWidget = mLabel;
- mParent->getContainer()->add(mWidget);
+ mParent->getContainer()->add1(mWidget);
mParent->addControl(this);
mParent->addActionListener(this);
mWidget->addActionListener(this);
@@ -568,7 +568,7 @@ void SetupItemDropDown::createControls()
mHorizont->add(mLabel);
mHorizont->add(mDropDown);
- mParent->getContainer()->add(mHorizont, true, 4);
+ mParent->getContainer()->add2(mHorizont, true, 4);
mParent->addControl(this);
mParent->addActionListener(this);
mWidget->addActionListener(this);
diff --git a/src/gui/widgets/setupitem.h b/src/gui/widgets/setupitem.h
index eb2680ede..71856d6e2 100644
--- a/src/gui/widgets/setupitem.h
+++ b/src/gui/widgets/setupitem.h
@@ -75,7 +75,7 @@ class SetupItem : public gcn::ActionListener
void setWidget(gcn::Widget *widget)
{ mWidget = widget; }
- gcn::Widget *getWidget()
+ gcn::Widget *getWidget() const
{ return mWidget; }
Configuration *getConfig();
@@ -93,7 +93,7 @@ class SetupItem : public gcn::ActionListener
virtual void externalUpdated(std::string eventName);
// virtual int add(ContainerPlacer &place, int x, int y, int width);
- bool isMainConfig()
+ bool isMainConfig() const
{ return mMainConfig; }
protected:
diff --git a/src/gui/widgets/setuptabscroll.h b/src/gui/widgets/setuptabscroll.h
index 4ad1f464b..d471ecfbc 100644
--- a/src/gui/widgets/setuptabscroll.h
+++ b/src/gui/widgets/setuptabscroll.h
@@ -43,7 +43,7 @@ class SetupTabScroll : public SetupTab
void addControl(SetupItem *widget, std::string event);
- VertContainer *getContainer()
+ VertContainer *getContainer() const
{ return mContainer; }
virtual void apply();
diff --git a/src/gui/widgets/shoplistbox.h b/src/gui/widgets/shoplistbox.h
index 9b416d3a3..694fdb92e 100644
--- a/src/gui/widgets/shoplistbox.h
+++ b/src/gui/widgets/shoplistbox.h
@@ -56,7 +56,8 @@ class ShopListBox : public ListBox
/**
* Returns the height of a row.
*/
- unsigned int getRowHeight() const { return mRowHeight; }
+ unsigned int getRowHeight() const
+ { return mRowHeight; }
/**
* gives information about the current player's money
diff --git a/src/gui/widgets/tab.h b/src/gui/widgets/tab.h
index 40b46ede5..829689543 100644
--- a/src/gui/widgets/tab.h
+++ b/src/gui/widgets/tab.h
@@ -61,7 +61,7 @@ class Tab : public gcn::Tab, public gcn::WidgetListener
*/
void setFlash(int flash);
- int getFlash()
+ int getFlash() const
{ return mFlash; }
void widgetResized(const gcn::Event &event);
@@ -70,7 +70,7 @@ class Tab : public gcn::Tab, public gcn::WidgetListener
void setLabelFont(gcn::Font *font);
- gcn::Label *getLabel()
+ gcn::Label *getLabel() const
{ return mLabel; }
protected:
diff --git a/src/gui/widgets/tabbedarea.h b/src/gui/widgets/tabbedarea.h
index b202dfc9d..cceaf56b7 100644
--- a/src/gui/widgets/tabbedarea.h
+++ b/src/gui/widgets/tabbedarea.h
@@ -136,13 +136,13 @@ class TabbedArea : public gcn::TabbedArea, public gcn::WidgetListener
void setRightMargin(int n)
{ mRightMargin = n; }
- int getRightMargin()
+ int getRightMargin() const
{ return mRightMargin; }
void setFollowDownScroll(bool n)
{ mFollowDownScroll = n; }
- bool getFollowDownScroll()
+ bool getFollowDownScroll() const
{ return mFollowDownScroll; }
void fixSize()
diff --git a/src/gui/widgets/textbox.h b/src/gui/widgets/textbox.h
index 6d2467b38..a052247c4 100644
--- a/src/gui/widgets/textbox.h
+++ b/src/gui/widgets/textbox.h
@@ -59,7 +59,8 @@ class TextBox : public gcn::TextBox
*/
inline void draw(gcn::Graphics *graphics)
{
- setForegroundColor(*mTextColor);
+ if (mTextColor)
+ setForegroundColor(*mTextColor);
gcn::TextBox::draw(graphics);
}
diff --git a/src/gui/widgets/textfield.cpp b/src/gui/widgets/textfield.cpp
index 03fdb5378..4dba2eb57 100644
--- a/src/gui/widgets/textfield.cpp
+++ b/src/gui/widgets/textfield.cpp
@@ -183,7 +183,7 @@ int TextField::getValue() const
if (value < mMinimum)
return mMinimum;
- if (value > mMaximum)
+ if (value > (signed)mMaximum)
return mMaximum;
return value;
@@ -195,29 +195,43 @@ void TextField::keyPressed(gcn::KeyEvent &keyEvent)
if (val >= 32)
{
- int l;
- if (val < 128)
- l = 1; // 0xxxxxxx
- else if (val < 0x800)
- l = 2; // 110xxxxx 10xxxxxx
- else if (val < 0x10000)
- l = 3; // 1110xxxx 10xxxxxx 10xxxxxx
- else
- l = 4; // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
-
- char buf[4];
- for (int i = 0; i < l; ++i)
+ if (mNumeric)
{
- buf[i] = static_cast<char>(val >> (6 * (l - i - 1)));
- if (i > 0)
- buf[i] = static_cast<char>((buf[i] & 63) | 128);
+ if ((val >= '0' && val <= '9') || (val == '-' && !mCaretPosition))
+ {
+ char buf[2];
+ buf[0] = val;
+ buf[1] = 0;
+ mText.insert(mCaretPosition, std::string(buf));
+ mCaretPosition += 1;
+ }
}
+ else if (!mMaximum || mText.size() < mMaximum)
+ {
+ int l;
+ if (val < 128)
+ l = 1; // 0xxxxxxx
+ else if (val < 0x800)
+ l = 2; // 110xxxxx 10xxxxxx
+ else if (val < 0x10000)
+ l = 3; // 1110xxxx 10xxxxxx 10xxxxxx
+ else
+ l = 4; // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+
+ char buf[4];
+ for (int i = 0; i < l; ++i)
+ {
+ buf[i] = static_cast<char>(val >> (6 * (l - i - 1)));
+ if (i > 0)
+ buf[i] = static_cast<char>((buf[i] & 63) | 128);
+ }
- if (l > 1)
- buf[0] |= static_cast<char>(255 << (8 - l));
+ if (l > 1)
+ buf[0] |= static_cast<char>(255 << (8 - l));
- mText.insert(mCaretPosition, std::string(buf, buf + l));
- mCaretPosition += l;
+ mText.insert(mCaretPosition, std::string(buf, buf + l));
+ mCaretPosition += l;
+ }
}
/* In UTF-8, 10xxxxxx is only used for inner parts of characters. So skip
diff --git a/src/gui/widgets/textfield.h b/src/gui/widgets/textfield.h
index bc1123f19..fef606526 100644
--- a/src/gui/widgets/textfield.h
+++ b/src/gui/widgets/textfield.h
@@ -114,7 +114,7 @@ class TextField : public gcn::TextField
static ImageRect skin;
bool mNumeric;
int mMinimum;
- int mMaximum;
+ unsigned mMaximum;
bool mLoseFocusOnTab;
int mLastEventPaste;
};
diff --git a/src/gui/widgets/vertcontainer.cpp b/src/gui/widgets/vertcontainer.cpp
index 305343d1a..0eb59c8f9 100644
--- a/src/gui/widgets/vertcontainer.cpp
+++ b/src/gui/widgets/vertcontainer.cpp
@@ -35,12 +35,12 @@ VertContainer::VertContainer(int verticalItemSize, bool resizable,
addWidgetListener(this);
}
-void VertContainer::add(gcn::Widget *widget, int spacing)
+void VertContainer::add1(gcn::Widget *widget, int spacing)
{
- add(widget, mResizable, spacing);
+ add2(widget, mResizable, spacing);
}
-void VertContainer::add(gcn::Widget *widget, bool resizable, int spacing)
+void VertContainer::add2(gcn::Widget *widget, bool resizable, int spacing)
{
if (!widget)
return;
@@ -70,6 +70,7 @@ void VertContainer::clear()
mCount = 0;
mNextY = 0;
+ mResizableWidgets.clear();
}
void VertContainer::widgetResized(const gcn::Event &event A_UNUSED)
diff --git a/src/gui/widgets/vertcontainer.h b/src/gui/widgets/vertcontainer.h
index 6e1305a06..b4e43d31d 100644
--- a/src/gui/widgets/vertcontainer.h
+++ b/src/gui/widgets/vertcontainer.h
@@ -39,10 +39,10 @@ class VertContainer : public Container, public gcn::WidgetListener
VertContainer(int verticalItemSize, bool resizable = true,
int leftSpacing = 0);
- virtual void add(gcn::Widget *widget, bool resizable,
- int spacing = -1);
+ virtual void add2(gcn::Widget *widget, bool resizable,
+ int spacing = -1);
- virtual void add(gcn::Widget *widget, int spacing = -1);
+ virtual void add1(gcn::Widget *widget, int spacing = -1);
virtual void clear();
diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp
index 3858b0d81..6e6918694 100644
--- a/src/gui/widgets/window.cpp
+++ b/src/gui/widgets/window.cpp
@@ -433,7 +433,7 @@ void Window::setVisible(bool visible, bool forceSticky)
// Check if the window is off screen...
if (visible)
- checkIfIsOffScreen();
+ ensureOnScreen();
if (isStickyButtonLock())
gcn::Window::setVisible(visible);
@@ -713,7 +713,7 @@ void Window::loadWindowState()
}
// Check if the window is off screen...
- checkIfIsOffScreen();
+ ensureOnScreen();
if (viewport)
{
@@ -848,6 +848,22 @@ void Window::resetToDefaultSize()
saveWindowState();
}
+void Window::adjustPositionAfterResize(int oldScreenWidth, int oldScreenHeight)
+{
+ gcn::Rectangle dimension = getDimension();
+
+ // If window was aligned to the right or bottom, keep it there
+ const int rightMargin = oldScreenWidth - (getX() + getWidth());
+ const int bottomMargin = oldScreenHeight - (getY() + getHeight());
+ if (getX() > 0 && getX() > rightMargin)
+ dimension.x = mainGraphics->mWidth - rightMargin - getWidth();
+ if (getY() > 0 && getY() > bottomMargin)
+ dimension.y = mainGraphics->mHeight - bottomMargin - getHeight();
+
+ setDimension(dimension);
+ ensureOnScreen();
+}
+
int Window::getResizeHandles(gcn::MouseEvent &event)
{
if ((mStickyButtonLock && mSticky) || event.getX() < 0 || event.getY() < 0)
@@ -972,57 +988,27 @@ void Window::centerHorisontally()
setLocationHorisontallyRelativeTo(getParent());
}
-void Window::checkIfIsOffScreen(bool partially, bool entirely)
+void Window::ensureOnScreen()
{
- // Move the window onto screen if it has become off screen
- // For instance, because of resolution change...
-
- // First of all, don't deal when a window hasn't got
- // any size initialized yet...
+ // Skip when a window hasn't got any size initialized yet
if (getWidth() == 0 && getHeight() == 0)
return;
- // Made partially the default behaviour
- if (!partially && !entirely)
- partially = true;
-
- // Keep guichan window inside screen (supports resizing any side)
-
- gcn::Rectangle winDimension = getDimension();
-
- if (winDimension.x < 0)
- {
- winDimension.width += winDimension.x;
- winDimension.x = 0;
- }
- if (winDimension.y < 0)
- {
- winDimension.height += winDimension.y;
- winDimension.y = 0;
- }
-
- // Look if the window is partially off-screen limits...
- if (partially)
- {
- if (winDimension.x + winDimension.width > mainGraphics->mWidth)
- winDimension.x = mainGraphics->mWidth - winDimension.width;
-
- if (winDimension.y + winDimension.height > mainGraphics->mHeight)
- winDimension.y = mainGraphics->mHeight - winDimension.height;
+ gcn::Rectangle dimension = getDimension();
- setDimension(winDimension);
- return;
- }
+ // Check the left and bottom screen boundaries
+ if (dimension.x + dimension.width > mainGraphics->mWidth)
+ dimension.x = mainGraphics->mWidth - dimension.width;
+ if (dimension.y + dimension.height > mainGraphics->mHeight)
+ dimension.y = mainGraphics->mHeight - dimension.height;
- if (entirely)
- {
- if (winDimension.x > mainGraphics->mWidth)
- winDimension.x = mainGraphics->mWidth - winDimension.width;
+ // But never allow the windows to disappear in to the right and top
+ if (dimension.x < 0)
+ dimension.x = 0;
+ if (dimension.y < 0)
+ dimension.y = 0;
- if (winDimension.y > mainGraphics->mHeight)
- winDimension.y = mainGraphics->mHeight - winDimension.height;
- }
- setDimension(winDimension);
+ setDimension(dimension);
}
gcn::Rectangle Window::getWindowArea()
diff --git a/src/gui/widgets/window.h b/src/gui/widgets/window.h
index 65dbf196b..6fa47dedc 100644
--- a/src/gui/widgets/window.h
+++ b/src/gui/widgets/window.h
@@ -329,6 +329,13 @@ class Window : public gcn::Window, gcn::WidgetListener
virtual void resetToDefaultSize();
/**
+ * Adjusts the window position after the application window has been
+ * resized.
+ */
+ void adjustPositionAfterResize(int oldScreenWidth,
+ int oldScreenHeight);
+
+ /**
* Gets the layout handler for this window.
*/
Layout &getLayout();
@@ -406,11 +413,11 @@ class Window : public gcn::Window, gcn::WidgetListener
};
/**
- * Check if the window is off-screen and then move it to be visible
- * again. This is internally used by loadWindowState
- * and setVisible(true) members.
+ * Ensures the window is on the screen, moving it if necessary. This is
+ * used by loadWindowState and setVisible(true), and when the screen
+ * is resized.
*/
- void checkIfIsOffScreen(bool partially = true, bool entirely = true);
+ void ensureOnScreen();
/**
* Determines if the mouse is in a resize area and returns appropriate
diff --git a/src/gui/widgets/windowcontainer.cpp b/src/gui/widgets/windowcontainer.cpp
index 43aaea8a4..9e698ffa6 100644
--- a/src/gui/widgets/windowcontainer.cpp
+++ b/src/gui/widgets/windowcontainer.cpp
@@ -22,6 +22,8 @@
#include "gui/widgets/windowcontainer.h"
+#include "gui/widgets/window.h"
+
#include "utils/dtor.h"
#include "debug.h"
@@ -41,3 +43,13 @@ void WindowContainer::scheduleDelete(gcn::Widget *widget)
if (widget)
mDeathList.push_back(widget);
}
+
+void WindowContainer::adjustAfterResize(int oldScreenWidth,
+ int oldScreenHeight)
+{
+ for (WidgetListIterator i = mWidgets.begin(); i != mWidgets.end(); ++i)
+ {
+ if (Window *window = dynamic_cast<Window*>(*i))
+ window->adjustPositionAfterResize(oldScreenWidth, oldScreenHeight);
+ }
+}
diff --git a/src/gui/widgets/windowcontainer.h b/src/gui/widgets/windowcontainer.h
index 00ef04c19..1cec11861 100644
--- a/src/gui/widgets/windowcontainer.h
+++ b/src/gui/widgets/windowcontainer.h
@@ -48,6 +48,12 @@ class WindowContainer : public Container
*/
void scheduleDelete(gcn::Widget *widget);
+ /**
+ * Ensures that all visible windows are on the screen after the screen
+ * has been resized.
+ */
+ void adjustAfterResize(int oldScreenWidth, int oldScreenHeight);
+
private:
/**
* List of widgets that are scheduled to be deleted.
diff --git a/src/gui/windowmenu.cpp b/src/gui/windowmenu.cpp
index e954340f8..138090075 100644
--- a/src/gui/windowmenu.cpp
+++ b/src/gui/windowmenu.cpp
@@ -299,7 +299,7 @@ void WindowMenu::mouseMoved(gcn::MouseEvent &event)
if (key != KeyboardConfig::KEY_NO_VALUE)
{
mTextPopup->show(x + getX(), y + getY(), btn->getDescription(),
- "Key: " + keyboard.getKeyValueString(key));
+ strprintf(_("Key: %s"), keyboard.getKeyValueString(key).c_str()));
}
else
{
diff --git a/src/guild.cpp b/src/guild.cpp
index e569bed65..238155d32 100644
--- a/src/guild.cpp
+++ b/src/guild.cpp
@@ -166,6 +166,8 @@ void Guild::removeMember(GuildMember *member)
itr_end = mMembers.end();
while (itr != itr_end)
{
+ if (!*itr)
+ continue;
if ((*itr)->mId == member->mId &&
(*itr)->mCharId == member->mCharId &&
(*itr)->getName() == member->getName())
@@ -175,7 +177,7 @@ void Guild::removeMember(GuildMember *member)
delete m;
return;
}
- ++itr;
+ ++ itr;
}
}
@@ -255,6 +257,9 @@ void Guild::setRights(short rights)
bool Guild::isMember(GuildMember *member) const
{
+ if (!member)
+ return false;
+
if (member->mGuild && member->mGuild != this)
return false;
diff --git a/src/guild.h b/src/guild.h
index e95677ec6..8715c2907 100644
--- a/src/guild.h
+++ b/src/guild.h
@@ -43,7 +43,7 @@ public:
Guild *getGuild() const
{ return mGuild; }
- int getPos()
+ int getPos() const
{ return mPos; }
void setPos(int pos)
diff --git a/src/guildmanager.h b/src/guildmanager.h
index 368b2456c..b415d85e8 100644
--- a/src/guildmanager.h
+++ b/src/guildmanager.h
@@ -74,7 +74,7 @@ class GuildManager
bool afterRemove();
- bool havePower()
+ bool havePower() const
{ return mHavePower; }
private:
diff --git a/src/keyboardconfig.cpp b/src/keyboardconfig.cpp
index 0079ee2ee..ea04a0e89 100644
--- a/src/keyboardconfig.cpp
+++ b/src/keyboardconfig.cpp
@@ -267,6 +267,14 @@ static KeyData const keyData[KeyboardConfig::KEY_TOTAL] = {
KeyboardConfig::GRP_EMOTION},
{"keyEmoteShortcut44", SDLK_b, strprintf(N_("Emote Shortcut %d"), 44),
KeyboardConfig::GRP_EMOTION},
+ {"keyEmoteShortcut45", SDLK_n, strprintf(N_("Emote Shortcut %d"), 45),
+ KeyboardConfig::GRP_EMOTION},
+ {"keyEmoteShortcut46", SDLK_m, strprintf(N_("Emote Shortcut %d"), 46),
+ KeyboardConfig::GRP_EMOTION},
+ {"keyEmoteShortcut47", SDLK_COMMA, strprintf(N_("Emote Shortcut %d"), 47),
+ KeyboardConfig::GRP_EMOTION},
+ {"keyEmoteShortcut48", SDLK_PERIOD, strprintf(N_("Emote Shortcut %d"), 48),
+ KeyboardConfig::GRP_EMOTION},
{"", 0, N_("Outfits Keys"), 0},
{"keyWearOutfit", SDLK_RCTRL, N_("Wear Outfit"),
KeyboardConfig::GRP_DEFAULT},
@@ -360,7 +368,7 @@ void KeyboardConfig::init()
mKey[i].value = KEY_NO_VALUE;
mKey[i].grp = keyData[i].grp;
}
- for (int i = KEY_EMOTE_1; i <= KEY_EMOTE_44; i ++)
+ for (int i = KEY_EMOTE_1; i <= KEY_EMOTE_48; i ++)
{
mKey[i].caption = strprintf(
_("Emote Shortcut %d"), i - KEY_EMOTE_1 + 1);
@@ -460,7 +468,7 @@ int KeyboardConfig::getKeyIndex(int keyValue, int grp) const
int KeyboardConfig::getKeyEmoteOffset(int keyValue) const
{
- for (int i = KEY_EMOTE_1; i <= KEY_EMOTE_44; i++)
+ for (int i = KEY_EMOTE_1; i <= KEY_EMOTE_48; i++)
{
if (keyValue == mKey[i].value)
return 1 + i - KEY_EMOTE_1;
@@ -468,7 +476,7 @@ int KeyboardConfig::getKeyEmoteOffset(int keyValue) const
return 0;
}
-bool KeyboardConfig::isKeyActive(int index) const
+bool KeyboardConfig::isActionActive(int index) const
{
if (!mActiveKeys)
return false;
diff --git a/src/keyboardconfig.h b/src/keyboardconfig.h
index 45c5ba65f..1610c1ecd 100644
--- a/src/keyboardconfig.h
+++ b/src/keyboardconfig.h
@@ -136,7 +136,7 @@ class KeyboardConfig
/**
* Checks if the key is active, by providing the key function index.
*/
- bool isKeyActive(int index) const;
+ bool isActionActive(int index) const;
/**
* Takes a snapshot of all the active keys.
@@ -278,6 +278,10 @@ class KeyboardConfig
KEY_EMOTE_42,
KEY_EMOTE_43,
KEY_EMOTE_44,
+ KEY_EMOTE_45,
+ KEY_EMOTE_46,
+ KEY_EMOTE_47,
+ KEY_EMOTE_48,
KEY_SEPARATOR5,
KEY_WEAR_OUTFIT,
KEY_COPY_OUTFIT,
diff --git a/src/localplayer.cpp b/src/localplayer.cpp
index 0da291711..27897a486 100644
--- a/src/localplayer.cpp
+++ b/src/localplayer.cpp
@@ -354,7 +354,8 @@ void LocalPlayer::logic()
}
}
- if (mEnableAdvert && !mBlockAdvert && mAdvertTime < cur_time)
+ if (serverVersion < 4 && mEnableAdvert && !mBlockAdvert
+ && mAdvertTime < cur_time)
{
Uint8 smile = FLAG_SPECIAL;
if (mTradebot && shopWindow && !shopWindow->isShopEmpty())
@@ -1782,7 +1783,7 @@ void LocalPlayer::moveToTarget(unsigned int dist)
case 6:
case 7:
dist = mAttackRange;
- if (dist == 1)
+ if (dist == 1 && serverVersion < 1)
dist = 2;
default:
break;
@@ -1874,6 +1875,9 @@ void LocalPlayer::changeMode(unsigned *var, unsigned limit, const char *conf,
std::string (LocalPlayer::*func)(), unsigned def,
bool save)
{
+ if (!var)
+ return;
+
(*var) ++;
if (*var >= limit)
*var = def;
@@ -3442,6 +3446,7 @@ void LocalPlayer::setAway(const std::string &message)
if (!message.empty())
config.setValue("afkMessage", message);
changeAwayMode();
+ updateStatus();
}
void LocalPlayer::setPseudoAway(const std::string &message)
@@ -3716,7 +3721,8 @@ void LocalPlayer::attack2(Being *target, bool keep, bool dontChangeEquipment)
changeEquipmentBeforeAttack(target);
if ((!target || getAttackType() == 0 || getAttackType() == 3)
- || (withinAttackRange(target, true, 1)
+ || (withinAttackRange(target, serverVersion < 1,
+ serverVersion < 1 ? 1 : 0)
&& getPathLength(target) <= getAttackRange2()))
{
attack(target, keep);
@@ -4206,11 +4212,30 @@ const char *LocalPlayer::getVarItem(const char **arr, unsigned index,
return arr[sz];
}
+void LocalPlayer::updateStatus()
+{
+ if (serverVersion >= 4 && mEnableAdvert)
+ {
+ Uint8 status = 0;
+ if (mTradebot && shopWindow && !shopWindow->isShopEmpty())
+ status += FLAG_SHOP;
+
+ if (mAwayMode || mPseudoAwayMode)
+ status += FLAG_AWAY;
+
+ if (mInactive)
+ status += FLAG_INACTIVE;
+
+ Net::getPlayerHandler()->updateStatus(status);
+ }
+}
+
void AwayListener::action(const gcn::ActionEvent &event)
{
if (event.getId() == "ok" && player_node && player_node->getAway())
{
player_node->changeAwayMode();
+ player_node->updateStatus();
if (outfitWindow)
outfitWindow->unwearAwayOutfit();
if (miniStatusWindow)
diff --git a/src/localplayer.h b/src/localplayer.h
index ed181e3d0..a7ce3dd7f 100644
--- a/src/localplayer.h
+++ b/src/localplayer.h
@@ -139,7 +139,7 @@ class LocalPlayer : public Being, public ActorSpriteListener,
void setGMLevel(int level);
- int getGMLevel()
+ int getGMLevel() const
{ return mGMLevel; }
void stopAttack();
@@ -217,7 +217,7 @@ class LocalPlayer : public Being, public ActorSpriteListener,
bool isPathSetByMouse() const
{ return mPathSetByMouse; }
- int getInvertDirection()
+ int getInvertDirection() const
{ return mInvertDirection; }
void setInvertDirection(int n)
@@ -225,16 +225,16 @@ class LocalPlayer : public Being, public ActorSpriteListener,
void invertDirection();
- int getAttackWeaponType()
+ int getAttackWeaponType() const
{ return mAttackWeaponType; }
- int getAttackType()
+ int getAttackType() const
{ return mAttackType; }
- int getFollowMode()
+ int getFollowMode() const
{ return mFollowMode; }
- int getImitationMode()
+ int getImitationMode() const
{ return mImitationMode; }
void changeAttackWeaponType();
@@ -247,41 +247,41 @@ class LocalPlayer : public Being, public ActorSpriteListener,
void changePickUpType();
- int getCrazyMoveType()
- { return mCrazyMoveType ; }
+ int getCrazyMoveType() const
+ { return mCrazyMoveType; }
- int getPickUpType()
- { return mPickUpType ; }
+ int getPickUpType() const
+ { return mPickUpType; }
- int getQuickDropCounter()
- { return mQuickDropCounter ; }
+ int getQuickDropCounter() const
+ { return mQuickDropCounter; }
void changeQuickDropCounter();
- int getMoveState()
- { return mMoveState ; }
+ int getMoveState() const
+ { return mMoveState; }
void setMoveState(int n)
- { mMoveState = n ; }
+ { mMoveState = n; }
void switchMagicAttack();
void switchPvpAttack();
- int getMagicAttackType()
- { return mMagicAttackType ; }
+ int getMagicAttackType() const
+ { return mMagicAttackType; }
- int getPvpAttackType()
- { return mPvpAttackType ; }
+ int getPvpAttackType() const
+ { return mPvpAttackType; }
- int getMoveToTargetType()
- { return mMoveToTargetType ; }
+ int getMoveToTargetType() const
+ { return mMoveToTargetType; }
- int getDisableGameModifiers()
- { return mDisableGameModifiers ; }
+ int getDisableGameModifiers() const
+ { return mDisableGameModifiers; }
- int getPingTime()
- { return mPingTime ; }
+ int getPingTime() const
+ { return mPingTime; }
void tryPingRequest();
@@ -329,16 +329,16 @@ class LocalPlayer : public Being, public ActorSpriteListener,
void setPseudoAway(const std::string &message);
- bool getAway()
+ bool getAway() const
{ return mAwayMode; }
- bool getPseudoAway()
+ bool getPseudoAway() const
{ return mPseudoAwayMode; }
void setHalfAway(bool n)
{ mInactive = n; }
- bool getHalfAway()
+ bool getHalfAway() const
{ return mInactive; }
void afkRespond(ChatTab *tab, const std::string &nick);
@@ -369,7 +369,7 @@ class LocalPlayer : public Being, public ActorSpriteListener,
void setRealPos(int x, int y);
- bool isServerBuggy()
+ bool isServerBuggy() const
{ return mIsServerBuggy; }
void fixPos(int maxDist = 1);
@@ -413,7 +413,7 @@ class LocalPlayer : public Being, public ActorSpriteListener,
void respawn();
- FloorItem *getPickUpTarget()
+ FloorItem *getPickUpTarget() const
{ return mPickUpTarget; }
void unSetPickUpTarget()
@@ -477,6 +477,8 @@ class LocalPlayer : public Being, public ActorSpriteListener,
bool checAttackPermissions(Being *target);
+ void updateStatus();
+
std::string getInvertDirectionString();
std::string getCrazyMoveTypeString();
diff --git a/src/main.h b/src/main.h
index 541296d22..fbc672939 100644
--- a/src/main.h
+++ b/src/main.h
@@ -45,8 +45,8 @@
* different interfaces, which have different implementations for each server.
*/
-#define SMALL_VERSION "1.2.1.22"
-#define CHECK_VERSION "01.02.01.22"
+#define SMALL_VERSION "1.2.2.5"
+#define CHECK_VERSION "01.02.02.05"
#ifdef HAVE_CONFIG_H
#include "../config.h"
diff --git a/src/manaplus.rc b/src/manaplus.rc
index b7720e2cc..b16ca40a7 100644
--- a/src/manaplus.rc
+++ b/src/manaplus.rc
@@ -3,6 +3,7 @@
#include "winver.h"
A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "../data/icons/manaplus.ico"
+evol ICON MOVEABLE PURE LOADONCALL DISCARDABLE "../data/evol/icons/evol-client.ico"
1 VERSIONINFO
FILEVERSION VER_MAJOR,VER_MINOR,VER_RELEASE,VER_BUILD
@@ -11,10 +12,10 @@ PRODUCTVERSION VER_MAJOR,VER_MINOR,VER_RELEASE,VER_BUILD
{
BLOCK "StringFileInfo" {
BLOCK "040904E4" {
- VALUE "CompanyName", "The Mana Development Team"
+ VALUE "CompanyName", "The ManaPlus Development Team"
VALUE "FileVersion", PACKAGE_VERSION "4144"
VALUE "FileDescription", "ManaPlus"
- VALUE "LegalCopyright", "2004-2010 (C)"
+ VALUE "LegalCopyright", "2004-2012 (C)"
VALUE "OriginalFilename", "manaplus.exe"
VALUE "ProductName", "ManaPlus MMORPG Client"
VALUE "ProductVersion", PACKAGE_VERSION "4144"
diff --git a/src/map.cpp b/src/map.cpp
index 211504504..488fb16e9 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -156,7 +156,7 @@ void MapLayer::optionChanged(const std::string &value)
void MapLayer::setTile(int x, int y, Image *img)
{
- setTile(x + y * mWidth, img);
+ mTiles[x + y * mWidth] = img;
}
void MapLayer::draw(Graphics *graphics, int startX, int startY,
@@ -1383,9 +1383,6 @@ Path Map::findPath(int startX, int startY, int destX, int destY,
if (startX >= mWidth || startY >= mHeight)
return path;
- // Declare open list, a list with open tiles sorted on F cost
- std::priority_queue<Location> openList;
-
// Return when destination not walkable
if (!getWalk(destX, destY, walkmask))
return path;
@@ -1397,6 +1394,9 @@ Path Map::findPath(int startX, int startY, int destX, int destY,
startTile->Gcost = 0;
+ // Declare open list, a list with open tiles sorted on F cost
+ std::priority_queue<Location> openList;
+
// Add the start point to the open list
openList.push(Location(startX, startY, startTile));
@@ -1796,6 +1796,9 @@ MapItem *Map::findPortalXY(int x, int y)
for (it = mMapPortals.begin(), it_end = mMapPortals.end();
it != it_end; ++it)
{
+ if (!*it)
+ continue;
+
MapItem *item = *it;
if (item->mX == x && item->mY == y)
return item;
diff --git a/src/map.h b/src/map.h
index db8b092de..e157628cc 100644
--- a/src/map.h
+++ b/src/map.h
@@ -152,7 +152,8 @@ class MapLayer: public ConfigListener
/**
* Set tile image with x + y * width already known.
*/
- void setTile(int index, Image *img) { mTiles[index] = img; }
+ void setTile(int index, Image *img)
+ { mTiles[index] = img; }
/**
* Draws this layer to the given graphics context. The coordinates are
@@ -191,7 +192,7 @@ class MapLayer: public ConfigListener
const Actors *actors,
int mDebugFlags, int yFix) const;
- bool isFringeLayer()
+ bool isFringeLayer() const
{ return mIsFringeLayer; }
void setSpecialLayer(SpecialLayer *val)
@@ -200,10 +201,10 @@ class MapLayer: public ConfigListener
void setTempLayer(SpecialLayer *val)
{ mTempLayer = val; }
- int getWidth()
+ int getWidth() const
{ return mWidth; }
- int getHeight()
+ int getHeight() const
{ return mHeight; }
// void setTileInfo(int x, int y, int width, int cnt);
@@ -355,12 +356,14 @@ class Map : public Properties, public ConfigListener
/**
* Returns the width of this map in tiles.
*/
- int getWidth() const { return mWidth; }
+ int getWidth() const
+ { return mWidth; }
/**
* Returns the height of this map in tiles.
*/
- int getHeight() const { return mHeight; }
+ int getHeight() const
+ { return mHeight; }
/**
* Returns the tile width of this map.
@@ -375,6 +378,7 @@ class Map : public Properties, public ConfigListener
{ return mTileHeight; }
const std::string getMusicFile() const;
+
const std::string getName() const;
/**
@@ -434,16 +438,16 @@ class Map : public Properties, public ConfigListener
void saveExtraLayer();
- SpecialLayer *getTempLayer()
+ SpecialLayer *getTempLayer() const
{ return mTempLayer; }
- SpecialLayer *getSpecialLayer()
+ SpecialLayer *getSpecialLayer() const
{ return mSpecialLayer; }
void setHasWarps(bool n)
{ mHasWarps = n; }
- bool getHasWarps()
+ bool getHasWarps() const
{ return mHasWarps; }
std::string getUserMapDirectory() const;
@@ -476,7 +480,7 @@ class Map : public Properties, public ConfigListener
void setPvpMode(int mode);
- ObjectsLayer* getObjectsLayer()
+ ObjectsLayer* getObjectsLayer() const
{ return mObjects; }
std::string getObjectData(unsigned x, unsigned y, int type);
@@ -488,7 +492,7 @@ class Map : public Properties, public ConfigListener
void setActorsFix(int x, int y)
{ mActorFixX = x; mActorFixY = y; }
- int getVersion()
+ int getVersion() const
{ return mVersion; }
void setVersion(int n)
@@ -498,7 +502,7 @@ class Map : public Properties, public ConfigListener
void redrawMap();
- bool empty()
+ bool empty() const
{ return mLayers.empty(); }
protected:
diff --git a/src/mumblemanager.cpp b/src/mumblemanager.cpp
index 766f4085e..100b600b4 100644
--- a/src/mumblemanager.cpp
+++ b/src/mumblemanager.cpp
@@ -1,5 +1,10 @@
/*
- *Code taken from: http://mumble.sourceforge.net/Link
+ * Code taken from: http://mumble.sourceforge.net/Link
+ *
+ * All code listed below is in the public domain and can be used, shared or
+ * modified freely
+ *
+ * Copyright (C) 2011-2012 The ManaPlus Developers
*/
#include "mumblemanager.h"
@@ -78,7 +83,6 @@ void MumbleManager::init()
#if defined BSD4_4
return;
#endif
-
if (mLinkedMem || !config.getBoolValue("enableMumble"))
return;
diff --git a/src/mumblemanager.h b/src/mumblemanager.h
index f7617233f..480bacfab 100644
--- a/src/mumblemanager.h
+++ b/src/mumblemanager.h
@@ -1,5 +1,10 @@
/*
- * Code taken from: http://mumble.sourceforge.net/Link
+ * Code taken from: http://mumble.sourceforge.net/Link
+ *
+ * All code listed below is in the public domain and can be used, shared or
+ * modified freely
+ *
+ * Copyright (C) 2011-2012 The ManaPlus Developers
*/
#ifndef MUMBLEMANAGER_H
diff --git a/src/net/adminhandler.h b/src/net/adminhandler.h
index f6d8606ce..2ac462834 100644
--- a/src/net/adminhandler.h
+++ b/src/net/adminhandler.h
@@ -42,15 +42,15 @@ class AdminHandler
virtual void kick(int playerId) = 0;
- virtual void kick(const std::string &name) = 0;
+ virtual void kickName(const std::string &name) = 0;
virtual void ban(int playerId) = 0;
- virtual void ban(const std::string &name) = 0;
+ virtual void banName(const std::string &name) = 0;
virtual void unban(int playerId) = 0;
- virtual void unban(const std::string &name) = 0;
+ virtual void unbanName(const std::string &name) = 0;
virtual void mute(int playerId, int type, int limit) = 0;
diff --git a/src/net/download.cpp b/src/net/download.cpp
index 22af389f3..d20713dfa 100644
--- a/src/net/download.cpp
+++ b/src/net/download.cpp
@@ -239,7 +239,7 @@ int Download::downloadThread(void *ptr)
curl_easy_setopt(d->mCurl, CURLOPT_USERAGENT,
strprintf(PACKAGE_EXTENDED_VERSION,
- branding.getStringValue("appShort").c_str()).c_str());
+ branding.getStringValue("appName").c_str()).c_str());
curl_easy_setopt(d->mCurl, CURLOPT_ERRORBUFFER, d->mError);
curl_easy_setopt(d->mCurl, CURLOPT_URL, d->mUrl.c_str());
curl_easy_setopt(d->mCurl, CURLOPT_NOPROGRESS, 0);
diff --git a/src/net/ea/adminhandler.cpp b/src/net/ea/adminhandler.cpp
index 556629458..f70be3cc8 100644
--- a/src/net/ea/adminhandler.cpp
+++ b/src/net/ea/adminhandler.cpp
@@ -32,7 +32,7 @@
namespace Ea
{
-void AdminHandler::kick(const std::string &name)
+void AdminHandler::kickName(const std::string &name)
{
Net::getChatHandler()->talk("@kick " + name);
}
@@ -42,7 +42,7 @@ void AdminHandler::ban(int playerId A_UNUSED)
// Not supported
}
-void AdminHandler::ban(const std::string &name)
+void AdminHandler::banName(const std::string &name)
{
Net::getChatHandler()->talk("@ban " + name);
}
@@ -52,7 +52,7 @@ void AdminHandler::unban(int playerId A_UNUSED)
// Not supported
}
-void AdminHandler::unban(const std::string &name)
+void AdminHandler::unbanName(const std::string &name)
{
Net::getChatHandler()->talk("@unban " + name);
}
diff --git a/src/net/ea/adminhandler.h b/src/net/ea/adminhandler.h
index 70c458514..5b5224174 100644
--- a/src/net/ea/adminhandler.h
+++ b/src/net/ea/adminhandler.h
@@ -35,15 +35,15 @@ class AdminHandler : public Net::AdminHandler
virtual ~AdminHandler()
{ }
- virtual void kick(const std::string &name);
+ virtual void kickName(const std::string &name);
virtual void ban(int playerId);
- virtual void ban(const std::string &name);
+ virtual void banName(const std::string &name);
virtual void unban(int playerId);
- virtual void unban(const std::string &name);
+ virtual void unbanName(const std::string &name);
virtual void mute(int playerId, int type, int limit);
diff --git a/src/net/ea/playerhandler.cpp b/src/net/ea/playerhandler.cpp
index 6a841415f..76a7b0dbc 100644
--- a/src/net/ea/playerhandler.cpp
+++ b/src/net/ea/playerhandler.cpp
@@ -645,4 +645,5 @@ int PlayerHandler::getAttackLocation() const
{
return EA_ATK;
}
+
} // namespace Ea
diff --git a/src/net/inventoryhandler.h b/src/net/inventoryhandler.h
index ec2f3db47..642d6f1c1 100644
--- a/src/net/inventoryhandler.h
+++ b/src/net/inventoryhandler.h
@@ -57,8 +57,8 @@ class InventoryHandler
//void changeCart() = 0;
- virtual void moveItem(int source, int slot, int amount,
- int destination) = 0;
+ virtual void moveItem2(int source, int slot, int amount,
+ int destination) = 0;
// TODO: fix/remove me
virtual size_t getSize(int type) const = 0;
diff --git a/src/net/manaserv/adminhandler.cpp b/src/net/manaserv/adminhandler.cpp
index 609c9e4f1..f44da97ff 100644
--- a/src/net/manaserv/adminhandler.cpp
+++ b/src/net/manaserv/adminhandler.cpp
@@ -62,7 +62,7 @@ void AdminHandler::kick(int playerId A_UNUSED)
// TODO
}
-void AdminHandler::kick(const std::string &name A_UNUSED)
+void AdminHandler::kickName(const std::string &name A_UNUSED)
{
// TODO
}
@@ -72,7 +72,7 @@ void AdminHandler::ban(int playerId A_UNUSED)
// TODO
}
-void AdminHandler::ban(const std::string &name A_UNUSED)
+void AdminHandler::banName(const std::string &name A_UNUSED)
{
// TODO
}
@@ -82,7 +82,7 @@ void AdminHandler::unban(int playerId A_UNUSED)
// TODO
}
-void AdminHandler::unban(const std::string &name A_UNUSED)
+void AdminHandler::unbanName(const std::string &name A_UNUSED)
{
// TODO
}
diff --git a/src/net/manaserv/adminhandler.h b/src/net/manaserv/adminhandler.h
index a4157b3b0..87c536c31 100644
--- a/src/net/manaserv/adminhandler.h
+++ b/src/net/manaserv/adminhandler.h
@@ -42,15 +42,15 @@ class AdminHandler : public Net::AdminHandler
void kick(int playerId);
- void kick(const std::string &name);
+ void kickName(const std::string &name);
void ban(int playerId);
- void ban(const std::string &name);
+ void banName(const std::string &name);
void unban(int playerId);
- void unban(const std::string &name);
+ void unbanName(const std::string &name);
void mute(int playerId, int type, int limit);
diff --git a/src/net/manaserv/attributes.cpp b/src/net/manaserv/attributes.cpp
index 662032e29..c032b6bb8 100644
--- a/src/net/manaserv/attributes.cpp
+++ b/src/net/manaserv/attributes.cpp
@@ -73,16 +73,16 @@ namespace Attributes
static unsigned int attributeMinimum = 0;
static unsigned int attributeMaximum = 0;
- unsigned int getCreationPoints()
+ unsigned int getCreationPoints() const
{ return creationPoints; }
- unsigned int getAttributeMinimum()
+ unsigned int getAttributeMinimum() const
{ return attributeMinimum; }
- unsigned int getAttributeMaximum()
+ unsigned int getAttributeMaximum() const
{ return attributeMaximum; }
- std::vector<std::string>& getLabels()
+ std::vector<std::string>& getLabels() const
{ return attributeLabels; }
/**
diff --git a/src/net/manaserv/connection.h b/src/net/manaserv/connection.h
index 4263ae21f..1d3454c75 100644
--- a/src/net/manaserv/connection.h
+++ b/src/net/manaserv/connection.h
@@ -63,7 +63,7 @@ namespace ManaServ
*/
void disconnect();
- State getState()
+ State getState() const
{ return mState; }
/**
diff --git a/src/net/manaserv/gamehandler.h b/src/net/manaserv/gamehandler.h
index 443533bba..83e636e0e 100644
--- a/src/net/manaserv/gamehandler.h
+++ b/src/net/manaserv/gamehandler.h
@@ -52,14 +52,16 @@ class GameHandler : public MessageHandler, public Net::GameHandler
void ping(int tick);
- bool removeDeadBeings() const { return false; }
+ bool removeDeadBeings() const
+ { return false; }
void clear();
void gameLoading();
/** The ManaServ protocol doesn't use the MP status bar. */
- bool canUseMagicBar() const { return false; }
+ bool canUseMagicBar() const
+ { return false; }
void disconnect2();
};
diff --git a/src/net/manaserv/guildhandler.h b/src/net/manaserv/guildhandler.h
index 893a7157b..47d595bfa 100644
--- a/src/net/manaserv/guildhandler.h
+++ b/src/net/manaserv/guildhandler.h
@@ -35,7 +35,7 @@ class GuildHandler : public Net::GuildHandler, public MessageHandler
public:
GuildHandler();
- bool isSupported()
+ bool isSupported() const
{ return true; }
void handleMessage(Net::MessageIn &msg);
diff --git a/src/net/manaserv/loginhandler.cpp b/src/net/manaserv/loginhandler.cpp
index 8b8ac831f..f1c597c00 100644
--- a/src/net/manaserv/loginhandler.cpp
+++ b/src/net/manaserv/loginhandler.cpp
@@ -339,7 +339,7 @@ void LoginHandler::readServerInfo(Net::MessageIn &msg)
return;
// Set the update host when included in the message
- const std::string updateHost = msg.readString();
+ std::string updateHost = msg.readString();
if (!updateHost.empty())
{
if (!checkPath(updateHost))
diff --git a/src/net/manaserv/playerhandler.cpp b/src/net/manaserv/playerhandler.cpp
index 5ebf840bc..aa79d4d41 100644
--- a/src/net/manaserv/playerhandler.cpp
+++ b/src/net/manaserv/playerhandler.cpp
@@ -448,4 +448,9 @@ void PlayerHandler::requestOnlineList()
}
+void PlayerHandler::updateStatus(Uint8 status)
+{
+
+}
+
} // namespace ManaServ
diff --git a/src/net/manaserv/playerhandler.h b/src/net/manaserv/playerhandler.h
index 0255406a8..23d2f5e32 100644
--- a/src/net/manaserv/playerhandler.h
+++ b/src/net/manaserv/playerhandler.h
@@ -74,6 +74,8 @@ class PlayerHandler : public MessageHandler, public Net::PlayerHandler
Vector getDefaultWalkSpeed() const;
+ void updateStatus(Uint8 status);
+
private:
void handleMapChangeMessage(Net::MessageIn &msg);
};
diff --git a/src/net/manaserv/specialhandler.cpp b/src/net/manaserv/specialhandler.cpp
index 13c6f7613..c168afd7c 100644
--- a/src/net/manaserv/specialhandler.cpp
+++ b/src/net/manaserv/specialhandler.cpp
@@ -53,19 +53,19 @@ void SpecialHandler::use(int id)
gameServerConnection->send(msg);
}
-void SpecialHandler::use(int id A_UNUSED, int level A_UNUSED,
- int beingId A_UNUSED)
+void SpecialHandler::useBeing(int id A_UNUSED, int level A_UNUSED,
+ int beingId A_UNUSED)
{
// TODO
}
-void SpecialHandler::use(int id A_UNUSED, int level A_UNUSED, int x A_UNUSED,
- int y A_UNUSED)
+void SpecialHandler::usePos(int id A_UNUSED, int level A_UNUSED,
+ int x A_UNUSED, int y A_UNUSED)
{
// TODO
}
-void SpecialHandler::use(int id A_UNUSED, const std::string &map A_UNUSED)
+void SpecialHandler::useMap(int id A_UNUSED, const std::string &map A_UNUSED)
{
// TODO
}
diff --git a/src/net/manaserv/specialhandler.h b/src/net/manaserv/specialhandler.h
index f6a20e4ac..2f1ce4d07 100644
--- a/src/net/manaserv/specialhandler.h
+++ b/src/net/manaserv/specialhandler.h
@@ -39,11 +39,11 @@ class SpecialHandler : public MessageHandler, public Net::SpecialHandler
void use(int id);
- void use(int id, int level, int beingId);
+ void useBeing(int id, int level, int beingId);
- void use(int id, int level, int x, int y);
+ void usePos(int id, int level, int x, int y);
- void use(int id, const std::string &map);
+ void useMap(int id, const std::string &map);
};
} // namespace ManaServ
diff --git a/src/net/messagein.cpp b/src/net/messagein.cpp
index 4fb61dc6a..0547ed337 100644
--- a/src/net/messagein.cpp
+++ b/src/net/messagein.cpp
@@ -241,7 +241,7 @@ std::string MessageIn::readRawString(int length)
return str;
}
-char *MessageIn::readBytes(int length)
+unsigned char *MessageIn::readBytes(int length)
{
// Get string length
if (length < 0)
@@ -255,13 +255,28 @@ char *MessageIn::readBytes(int length)
return nullptr;
}
- char *buf = new char[length + 2];
+ unsigned char *buf = new unsigned char[length + 2];
memcpy (buf, mData + mPos, length);
buf[length] = 0;
buf[length + 1] = 0;
mPos += length;
+#ifdef ENABLEDEBUGLOG
+ std::string str;
+ for (int f = 0; f < length; f ++)
+ str += strprintf ("%02x", (unsigned)buf[f]);
+ str += " ";
+ for (int f = 0; f < length; f ++)
+ {
+ if (buf[f])
+ str += strprintf ("%c", buf[f]);
+ else
+ str += "_";
+ }
+ logger->log("ReadBytes: " + str);
+#endif
+
PacketCounters::incInBytes(length);
return buf;
}
diff --git a/src/net/messagein.h b/src/net/messagein.h
index 8dd43a1a0..1eb5bf232 100644
--- a/src/net/messagein.h
+++ b/src/net/messagein.h
@@ -95,7 +95,7 @@ class MessageIn
virtual std::string readRawString(int length);
- char *readBytes(int length);
+ unsigned char *readBytes(int length);
virtual ~MessageIn()
{ }
diff --git a/src/net/playerhandler.h b/src/net/playerhandler.h
index f62acc0c9..6ae912102 100644
--- a/src/net/playerhandler.h
+++ b/src/net/playerhandler.h
@@ -73,6 +73,8 @@ class PlayerHandler
virtual Vector getDefaultWalkSpeed() const = 0;
virtual void requestOnlineList() = 0;
+
+ virtual void updateStatus(Uint8 status) = 0;
};
} // namespace Net
diff --git a/src/net/serverinfo.h b/src/net/serverinfo.h
index fb6a99a33..b4bb1a2d8 100644
--- a/src/net/serverinfo.h
+++ b/src/net/serverinfo.h
@@ -54,7 +54,7 @@ public:
ServerInfo()
{
type = TMWATHENA;
- port = 0;
+ port = 6901;
save = false;
version.first = 0;
}
diff --git a/src/net/specialhandler.h b/src/net/specialhandler.h
index 7ed3673cf..f385f47f9 100644
--- a/src/net/specialhandler.h
+++ b/src/net/specialhandler.h
@@ -35,11 +35,11 @@ class SpecialHandler
virtual void use(int id) = 0;
- virtual void use(int id, int level, int beingId) = 0;
+ virtual void useBeing(int id, int level, int beingId) = 0;
- virtual void use(int id, int level, int x, int y) = 0;
+ virtual void usePos(int id, int level, int x, int y) = 0;
- virtual void use(int id, const std::string &map) = 0;
+ virtual void useMap(int id, const std::string &map) = 0;
};
}
diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp
index 627db1402..8d279fc32 100644
--- a/src/net/tmwa/beinghandler.cpp
+++ b/src/net/tmwa/beinghandler.cpp
@@ -590,7 +590,7 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, int msgType)
if (gmstatus & 0x80)
dstBeing->setGM(true);
- if (msgType == 1)
+ if (msgType == 1 || msgType == 2)
{
int type = msg.readInt8();
switch (type)
diff --git a/src/net/tmwa/charserverhandler.cpp b/src/net/tmwa/charserverhandler.cpp
index 717df1284..1bee91144 100644
--- a/src/net/tmwa/charserverhandler.cpp
+++ b/src/net/tmwa/charserverhandler.cpp
@@ -364,8 +364,11 @@ void CharServerHandler::processCharLogin(Net::MessageIn &msg)
Net::Character *character = new Net::Character;
readPlayerData(msg, character, version);
mCharacters.push_back(character);
- logger->log("CharServer: Player: %s (%d)",
- character->dummy->getName().c_str(), character->slot);
+ if (character && character->dummy)
+ {
+ logger->log("CharServer: Player: %s (%d)",
+ character->dummy->getName().c_str(), character->slot);
+ }
}
Client::setState(STATE_CHAR_SELECT);
diff --git a/src/net/tmwa/inventoryhandler.cpp b/src/net/tmwa/inventoryhandler.cpp
index 7fa26f5ed..db670a17b 100644
--- a/src/net/tmwa/inventoryhandler.cpp
+++ b/src/net/tmwa/inventoryhandler.cpp
@@ -186,8 +186,8 @@ void InventoryHandler::closeStorage(int type A_UNUSED)
MessageOut outMsg(CMSG_CLOSE_STORAGE);
}
-void InventoryHandler::moveItem(int source, int slot, int amount,
- int destination)
+void InventoryHandler::moveItem2(int source, int slot, int amount,
+ int destination)
{
if (source == Inventory::INVENTORY && destination == Inventory::STORAGE)
{
diff --git a/src/net/tmwa/inventoryhandler.h b/src/net/tmwa/inventoryhandler.h
index d2ecc4b6d..c6e000b3a 100644
--- a/src/net/tmwa/inventoryhandler.h
+++ b/src/net/tmwa/inventoryhandler.h
@@ -53,7 +53,7 @@ class InventoryHandler : public MessageHandler, public Ea::InventoryHandler
void closeStorage(int type);
- void moveItem(int source, int slot, int amount, int destination);
+ void moveItem2(int source, int slot, int amount, int destination);
};
} // namespace TmwAthena
diff --git a/src/net/tmwa/network.cpp b/src/net/tmwa/network.cpp
index addc737ee..31329eafb 100644
--- a/src/net/tmwa/network.cpp
+++ b/src/net/tmwa/network.cpp
@@ -83,7 +83,7 @@ short packet_lengths[] =
-1, -1, 20, 10, 32, 9, 34, 14, 2, 6, 48, 56, -1, 4, 5, 10,
// #0x0200
26, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 19, 10, 0, 0, 0,
- 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2, -1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-1, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
diff --git a/src/net/tmwa/network.h b/src/net/tmwa/network.h
index 17a4f7370..c0ec6ef3c 100644
--- a/src/net/tmwa/network.h
+++ b/src/net/tmwa/network.h
@@ -39,7 +39,7 @@
* Protocol version, reported to the eAthena char and mapserver who can adjust
* the protocol accordingly.
*/
-#define CLIENT_PROTOCOL_VERSION 4
+#define CLIENT_PROTOCOL_VERSION 5
#define CLIENT_TMW_PROTOCOL_VERSION 1
namespace TmwAthena
diff --git a/src/net/tmwa/npchandler.cpp b/src/net/tmwa/npchandler.cpp
index 574f34d55..d86c64a96 100644
--- a/src/net/tmwa/npchandler.cpp
+++ b/src/net/tmwa/npchandler.cpp
@@ -25,6 +25,7 @@
#include "localplayer.h"
#include "gui/npcdialog.h"
+#include "gui/viewport.h"
#include "net/messagein.h"
#include "net/net.h"
@@ -41,7 +42,8 @@ extern Net::NpcHandler *npcHandler;
namespace TmwAthena
{
-NpcHandler::NpcHandler()
+NpcHandler::NpcHandler() :
+ mRequestLang(false)
{
static const Uint16 _messages[] =
{
@@ -51,6 +53,7 @@ NpcHandler::NpcHandler()
SMSG_NPC_CLOSE,
SMSG_NPC_INT_INPUT,
SMSG_NPC_STR_INPUT,
+ SMSG_NPC_COMMAND,
0
};
handledMessages = _messages;
@@ -59,9 +62,12 @@ NpcHandler::NpcHandler()
void NpcHandler::handleMessage(Net::MessageIn &msg)
{
- getNpc(msg, msg.getId() == SMSG_NPC_CHOICE
+ int npcId = getNpc(msg, msg.getId() == SMSG_NPC_CHOICE
|| msg.getId() == SMSG_NPC_MESSAGE);
+ if (msg.getId() != SMSG_NPC_STR_INPUT)
+ mRequestLang = false;
+
switch (msg.getId())
{
case SMSG_NPC_CHOICE:
@@ -85,7 +91,14 @@ void NpcHandler::handleMessage(Net::MessageIn &msg)
break;
case SMSG_NPC_STR_INPUT:
- processNpcStrInput(msg);
+ if (mRequestLang)
+ processLangReuqest(msg, npcId);
+ else
+ processNpcStrInput(msg);
+ break;
+
+ case SMSG_NPC_COMMAND:
+ processNpcCommand(msg, npcId);
break;
default:
@@ -118,6 +131,8 @@ void NpcHandler::closeDialog(int npcId)
{
if ((*it).second.dialog)
(*it).second.dialog->close();
+ if ((*it).second.dialog == mDialog)
+ mDialog = nullptr;
mNpcDialogs.erase(it);
}
}
@@ -213,6 +228,7 @@ int NpcHandler::getNpc(Net::MessageIn &msg, bool haveLength)
else
{
mDialog = new NpcDialog(npcId);
+ mDialog->saveCamera();
if (player_node)
player_node->stopWalking(false);
Wrapper wrap;
@@ -222,9 +238,70 @@ int NpcHandler::getNpc(Net::MessageIn &msg, bool haveLength)
}
else
{
+ if (mDialog && mDialog != diag->second.dialog)
+ mDialog->restoreCamera();
mDialog = diag->second.dialog;
+ if (mDialog)
+ mDialog->saveCamera();
}
return npcId;
}
+void NpcHandler::processNpcCommand(Net::MessageIn &msg, int npcId)
+{
+ const int cmd = msg.readInt16();
+ switch (cmd)
+ {
+ case 0:
+ mRequestLang = true;
+ break;
+
+ case 1:
+ if (viewport)
+ viewport->moveCameraToActor(npcId);
+ break;
+
+ case 2:
+ if (viewport)
+ {
+ const int id = msg.readInt32();
+ const int x = msg.readInt16();
+ const int y = msg.readInt16();
+ if (!id)
+ viewport->moveCameraToPosition(x, y);
+ else
+ viewport->moveCameraToActor(id, x, y);
+ }
+ break;
+
+ case 3:
+ if (viewport)
+ viewport->returnCamera();
+ break;
+
+ case 4:
+ if (viewport)
+ {
+ msg.readInt32(); // id
+ const int x = msg.readInt16();
+ const int y = msg.readInt16();
+ viewport->moveCameraRelative(x, y);
+ }
+ break;
+ case 5:
+ closeDialog(npcId);
+ break;
+
+ default:
+ logger->log("unknown npc command: %d", cmd);
+ break;
+ }
+}
+
+void NpcHandler::processLangReuqest(Net::MessageIn &msg A_UNUSED, int npcId)
+{
+ mRequestLang = false;
+ stringInput(npcId, getLangSimple());
+}
+
} // namespace TmwAthena
diff --git a/src/net/tmwa/npchandler.h b/src/net/tmwa/npchandler.h
index 967829ddc..1cfcacb20 100644
--- a/src/net/tmwa/npchandler.h
+++ b/src/net/tmwa/npchandler.h
@@ -65,6 +65,13 @@ class NpcHandler : public MessageHandler, public Ea::NpcHandler
void sellItem(int beingId, int itemId, int amount);
int getNpc(Net::MessageIn &msg, bool haveLength);
+
+ void processNpcCommand(Net::MessageIn &msg, int npcId);
+
+ void processLangReuqest(Net::MessageIn &msg, int npcId);
+
+ private:
+ bool mRequestLang;
};
} // namespace TmwAthena
diff --git a/src/net/tmwa/playerhandler.cpp b/src/net/tmwa/playerhandler.cpp
index d5f0641eb..16e833ec9 100644
--- a/src/net/tmwa/playerhandler.cpp
+++ b/src/net/tmwa/playerhandler.cpp
@@ -22,6 +22,7 @@
#include "net/tmwa/playerhandler.h"
+#include "configuration.h"
#include "logger.h"
#include "net/messagein.h"
@@ -218,7 +219,7 @@ void PlayerHandler::processOnlineList(Net::MessageIn &msg)
return;
int size = msg.readInt16() - 4;
- std::vector<std::string> arr;
+ std::vector<OnlinePlayer*> arr;
if (!size)
{
@@ -227,14 +228,44 @@ void PlayerHandler::processOnlineList(Net::MessageIn &msg)
return;
}
- const char *start = msg.readBytes(size);
- const char *buf = start;
+ char *start = (char*)msg.readBytes(size);
+ if (!start)
+ return;
+
+ char *buf = start;
- while (buf - start + 1 < size && *(buf + 1))
+ int addVal = 1;
+ if (serverVersion >= 4)
+ addVal = 3;
+
+ while (buf - start + 1 < size && *(buf + addVal))
{
-// char status = *buf; // now unused
+ unsigned char status = 255;
+ unsigned char ver = 0;
+ unsigned char level = 0;
+ if (serverVersion >= 4)
+ {
+ status = *buf;
+ buf ++;
+ level = *buf;
+ buf ++;
+ ver = *buf;
+ }
buf ++;
- arr.push_back(buf);
+
+ int gender = GENDER_UNSPECIFIED;
+ if (serverVersion >= 4)
+ {
+ if (config.getBoolValue("showgender"))
+ {
+ if (status & Being::FLAG_GENDER)
+ gender = GENDER_MALE;
+ else
+ gender = GENDER_FEMALE;
+ }
+ }
+ arr.push_back(new OnlinePlayer((char*)buf,
+ status, level, gender, ver));
buf += strlen(buf) + 1;
}
@@ -243,4 +274,11 @@ void PlayerHandler::processOnlineList(Net::MessageIn &msg)
delete [] start;
}
+void PlayerHandler::updateStatus(Uint8 status)
+{
+ MessageOut outMsg(CMSG_SET_STATUS);
+ outMsg.writeInt8(status);
+ outMsg.writeInt8(0);
+}
+
} // namespace TmwAthena
diff --git a/src/net/tmwa/playerhandler.h b/src/net/tmwa/playerhandler.h
index 0fa524d51..14aa191f6 100644
--- a/src/net/tmwa/playerhandler.h
+++ b/src/net/tmwa/playerhandler.h
@@ -53,6 +53,7 @@ class PlayerHandler : public MessageHandler, public Ea::PlayerHandler
void changeAction(Being::Action action);
void processOnlineList(Net::MessageIn &msg);
void requestOnlineList();
+ void updateStatus(Uint8 status);
void respawn();
};
diff --git a/src/net/tmwa/protocol.h b/src/net/tmwa/protocol.h
index 0f124cc20..256f1dce4 100644
--- a/src/net/tmwa/protocol.h
+++ b/src/net/tmwa/protocol.h
@@ -335,5 +335,7 @@ enum
#define SMSG_IGNORE_ALL_RESPONSE 0x00d2
#define CMSG_ONLINE_LIST 0x0210
#define SMSG_ONLINE_LIST 0x0211
+#define SMSG_NPC_COMMAND 0x0212
+#define CMSG_SET_STATUS 0x0213
#endif
diff --git a/src/net/tmwa/specialhandler.cpp b/src/net/tmwa/specialhandler.cpp
index 9fa7b6dfa..129f0b47e 100644
--- a/src/net/tmwa/specialhandler.cpp
+++ b/src/net/tmwa/specialhandler.cpp
@@ -69,7 +69,7 @@ void SpecialHandler::handleMessage(Net::MessageIn &msg)
}
}
-void SpecialHandler::use(int id, int level, int beingId)
+void SpecialHandler::useBeing(int id, int level, int beingId)
{
MessageOut outMsg(CMSG_SKILL_USE_BEING);
outMsg.writeInt16(static_cast<Sint16>(level));
@@ -77,7 +77,7 @@ void SpecialHandler::use(int id, int level, int beingId)
outMsg.writeInt16(static_cast<Sint16>(beingId));
}
-void SpecialHandler::use(int id, int level, int x, int y)
+void SpecialHandler::usePos(int id, int level, int x, int y)
{
MessageOut outMsg(CMSG_SKILL_USE_POSITION);
outMsg.writeInt16(static_cast<Sint16>(level));
@@ -86,7 +86,7 @@ void SpecialHandler::use(int id, int level, int x, int y)
outMsg.writeInt16(static_cast<Sint16>(y));
}
-void SpecialHandler::use(int id, const std::string &map)
+void SpecialHandler::useMap(int id, const std::string &map)
{
MessageOut outMsg(CMSG_SKILL_USE_MAP);
outMsg.writeInt16(static_cast<Sint16>(id));
diff --git a/src/net/tmwa/specialhandler.h b/src/net/tmwa/specialhandler.h
index f17ef4c44..216adddc6 100644
--- a/src/net/tmwa/specialhandler.h
+++ b/src/net/tmwa/specialhandler.h
@@ -40,11 +40,11 @@ class SpecialHandler : public MessageHandler, public Ea::SpecialHandler
void handleMessage(Net::MessageIn &msg);
- void use(int id, int level, int beingId);
+ void useBeing(int id, int level, int beingId);
- void use(int id, int level, int x, int y);
+ void usePos(int id, int level, int x, int y);
- void use(int id, const std::string &map);
+ void useMap(int id, const std::string &map);
};
} // namespace TmwAthena
diff --git a/src/opengl1graphics.cpp b/src/opengl1graphics.cpp
index 6f712f698..34e9fcda3 100644
--- a/src/opengl1graphics.cpp
+++ b/src/opengl1graphics.cpp
@@ -61,8 +61,8 @@ void OpenGL1Graphics::setSync(bool sync)
mSync = sync;
}
-bool OpenGL1Graphics::setVideoMode(int w, int h, int bpp,
- bool fs, bool hwaccel)
+bool OpenGL1Graphics::setVideoMode(int w, int h, int bpp, bool fs,
+ bool hwaccel, bool resize, bool noFrame)
{
logger->log("Setting video mode %dx%d %s",
w, h, fs ? "fullscreen" : "windowed");
@@ -74,9 +74,25 @@ bool OpenGL1Graphics::setVideoMode(int w, int h, int bpp,
mBpp = bpp;
mFullscreen = fs;
mHWAccel = hwaccel;
+ mEnableResize = resize;
+ mNoFrame = noFrame;
if (fs)
+ {
displayFlags |= SDL_FULLSCREEN;
+ }
+ else
+ {
+ // Resizing currently not supported on Windows, where it would require
+ // reuploading all textures.
+#if !defined(_WIN32)
+ if (resize)
+ displayFlags |= SDL_RESIZABLE;
+#endif
+ }
+
+ if (noFrame)
+ displayFlags |= SDL_NOFRAME;
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
@@ -472,6 +488,7 @@ void OpenGL1Graphics::_beginDraw()
void OpenGL1Graphics::_endDraw()
{
+ popClipArea();
}
SDL_Surface* OpenGL1Graphics::getScreenshot()
diff --git a/src/opengl1graphics.h b/src/opengl1graphics.h
index 87458d8b9..76dc3ef00 100644
--- a/src/opengl1graphics.h
+++ b/src/opengl1graphics.h
@@ -45,10 +45,12 @@ class OpenGL1Graphics : public Graphics
* the next call to setVideoMode(). Only implemented on MacOS for now.
*/
void setSync(bool sync);
+
bool getSync() const
{ return mSync; }
- bool setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel);
+ bool setVideoMode(int w, int h, int bpp, bool fs,
+ bool hwaccel, bool resize, bool noFrame);
bool drawImage(Image *image,
int srcX, int srcY,
diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp
index b744a3caf..2c3d914b0 100644
--- a/src/openglgraphics.cpp
+++ b/src/openglgraphics.cpp
@@ -71,7 +71,8 @@ void OpenGLGraphics::setSync(bool sync)
mSync = sync;
}
-bool OpenGLGraphics::setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel)
+bool OpenGLGraphics::setVideoMode(int w, int h, int bpp, bool fs,
+ bool hwaccel, bool resize, bool noFrame)
{
logger->log("Setting video mode %dx%d %s",
w, h, fs ? "fullscreen" : "windowed");
@@ -83,9 +84,25 @@ bool OpenGLGraphics::setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel)
mBpp = bpp;
mFullscreen = fs;
mHWAccel = hwaccel;
+ mEnableResize = resize;
+ mNoFrame = noFrame;
if (fs)
+ {
displayFlags |= SDL_FULLSCREEN;
+ }
+ else
+ {
+ // Resizing currently not supported on Windows, where it would require
+ // reuploading all textures.
+#if !defined(_WIN32)
+ if (resize)
+ displayFlags |= SDL_RESIZABLE;
+#endif
+ }
+
+ if (noFrame)
+ displayFlags |= SDL_NOFRAME;
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
@@ -1017,6 +1034,7 @@ void OpenGLGraphics::_beginDraw()
void OpenGLGraphics::_endDraw()
{
+ popClipArea();
}
SDL_Surface* OpenGLGraphics::getScreenshot()
diff --git a/src/openglgraphics.h b/src/openglgraphics.h
index 1047223ad..f3bdc4470 100644
--- a/src/openglgraphics.h
+++ b/src/openglgraphics.h
@@ -45,10 +45,12 @@ class OpenGLGraphics : public Graphics
* the next call to setVideoMode(). Only implemented on MacOS for now.
*/
void setSync(bool sync);
+
bool getSync() const
{ return mSync; }
- bool setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel);
+ bool setVideoMode(int w, int h, int bpp, bool fs,
+ bool hwaccel, bool resize, bool noFrame);
bool drawImage(Image *image,
int srcX, int srcY,
diff --git a/src/particle.h b/src/particle.h
index a79181498..7485b118f 100644
--- a/src/particle.h
+++ b/src/particle.h
@@ -219,7 +219,7 @@ class Particle : public Actor
/**
* Gets the flag if the particle is supposed to be moved by its parent
*/
- bool doesFollow()
+ bool doesFollow() const
{ return mFollow; }
/**
diff --git a/src/resources/action.h b/src/resources/action.h
index 1e3965363..3951cc02c 100644
--- a/src/resources/action.h
+++ b/src/resources/action.h
@@ -43,7 +43,7 @@ class Action
Animation *getAnimation(int direction) const;
- unsigned getNumber()
+ unsigned getNumber() const
{ return mNumber; }
void setNumber(unsigned n)
diff --git a/src/resources/colordb.cpp b/src/resources/colordb.cpp
index 1ffe507b2..2ddf27ac3 100644
--- a/src/resources/colordb.cpp
+++ b/src/resources/colordb.cpp
@@ -30,7 +30,7 @@
namespace
{
- ColorDB::Colors mHairColors;
+ int mHairColorsSize = 0;
bool mLoaded = false;
std::string mFail = "#ffffff";
ColorDB::ColorLists mColorLists;
@@ -44,10 +44,22 @@ void ColorDB::load()
loadHair();
if (serverVersion >= 1)
loadColorLists();
+
+ ColorListsIterator it = mColorLists.find("hair");
+ if (it != mColorLists.end())
+ mHairColorsSize = (*it).second.size();
+ else
+ mHairColorsSize = 0;
}
void ColorDB::loadHair()
{
+ std::map <int, ItemColor> colors;
+ ColorListsIterator it = mColorLists.find("hair");
+
+ if (it != mColorLists.end())
+ colors = it->second;
+
XML::Document *doc = new XML::Document("hair.xml");
XmlNodePtr root = doc->rootNode();
bool hairXml = true;
@@ -65,7 +77,7 @@ void ColorDB::loadHair()
if (!root || !xmlNameEqual(root, "colors"))
{
logger->log1("ColorDB: Failed to find any color files.");
- mHairColors[0] = mFail;
+ colors[0] = ItemColor(0, "", "");
mLoaded = true;
delete doc;
@@ -80,17 +92,17 @@ void ColorDB::loadHair()
{
int id = XML::getProperty(node, "id", 0);
- if (mHairColors.find(id) != mHairColors.end())
+ if (colors.find(id) != colors.end())
logger->log("ColorDB: Redefinition of dye ID %d", id);
- mHairColors[id] = hairXml ?
- XML::getProperty(node, "value", "#FFFFFF") :
- XML::getProperty(node, "dye", "#FFFFFF");
+ colors[id] = ItemColor(id, XML::getProperty(node, "name", ""),
+ XML::getProperty(node, hairXml ? "value" : "dye", "#FFFFFF"));
}
}
delete doc;
+ mColorLists["hair"] = colors;
mLoaded = true;
}
@@ -139,7 +151,6 @@ void ColorDB::unload()
{
logger->log1("Unloading color database...");
- mHairColors.clear();
mColorLists.clear();
mLoaded = false;
}
@@ -149,22 +160,54 @@ std::string &ColorDB::getHairColor(int id)
if (!mLoaded)
load();
- ColorIterator i = mHairColors.find(id);
+ ColorListsIterator it = mColorLists.find("hair");
+ if (it == mColorLists.end())
+ {
+ logger->log1("ColorDB: Error, hair colors list empty");
+ return mFail;
+ }
+
+ ColorIterator i = (*it).second.find(id);
+
+ if (i == (*it).second.end())
+ {
+ logger->log("ColorDB: Error, unknown dye ID# %d", id);
+ return mFail;
+ }
+ else
+ {
+ return i->second.color;
+ }
+}
+
+std::string &ColorDB::getHairColorName(int id)
+{
+ if (!mLoaded)
+ load();
+
+ ColorListsIterator it = mColorLists.find("hair");
+ if (it == mColorLists.end())
+ {
+ logger->log1("ColorDB: Error, hair colors list empty");
+ return mFail;
+ }
+
+ ColorIterator i = (*it).second.find(id);
- if (i == mHairColors.end())
+ if (i == (*it).second.end())
{
logger->log("ColorDB: Error, unknown dye ID# %d", id);
return mFail;
}
else
{
- return i->second;
+ return i->second.name;
}
}
int ColorDB::getHairSize()
{
- return static_cast<int>(mHairColors.size());
+ return mHairColorsSize;
}
std::map <int, ColorDB::ItemColor> *ColorDB::getColorsList(std::string name)
diff --git a/src/resources/colordb.h b/src/resources/colordb.h
index 36907095e..ade4227f8 100644
--- a/src/resources/colordb.h
+++ b/src/resources/colordb.h
@@ -70,12 +70,14 @@ namespace ColorDB
std::string &getHairColor(int id);
+ std::string &getHairColorName(int id);
+
int getHairSize();
std::map <int, ItemColor> *getColorsList(std::string name);
// Color DB
- typedef std::map<int, std::string> Colors;
+ typedef std::map<int, ItemColor> Colors;
typedef Colors::iterator ColorIterator;
typedef std::map <std::string, std::map <int, ItemColor> > ColorLists;
typedef ColorLists::iterator ColorListsIterator;
diff --git a/src/resources/emotedb.cpp b/src/resources/emotedb.cpp
index c6126a57b..07e192cd4 100644
--- a/src/resources/emotedb.cpp
+++ b/src/resources/emotedb.cpp
@@ -67,6 +67,10 @@ void EmoteDB::load()
continue;
int id = XML::getProperty(emoteNode, "id", -1);
+ // skip hight images
+ if (id > 19)
+ continue;
+
if (id == -1)
{
logger->log1("Emote Database: Emote with missing ID in "
@@ -104,7 +108,6 @@ void EmoteDB::load()
mLastEmote = id;
}
-
XML::Document doc2("graphics/sprites/manaplus_emotes.xml");
rootNode = doc2.rootNode();
diff --git a/src/resources/image.cpp b/src/resources/image.cpp
index d94967631..6f9042029 100644
--- a/src/resources/image.cpp
+++ b/src/resources/image.cpp
@@ -79,6 +79,8 @@ Image::Image(SDL_Surface *image, bool hasAlphaChannel0, Uint8 *alphaChannel):
{
logger->log(
"Image::Image(SDL_Surface*): Couldn't load invalid Surface!");
+ mBounds.w = 0;
+ mBounds.h = 0;
}
}
@@ -119,10 +121,8 @@ Image::~Image()
unload();
}
-Resource *Image::load(void *buffer, unsigned bufferSize)
+Resource *Image::load(SDL_RWops *rw)
{
- // Load the raw file data from the buffer in an RWops structure
- SDL_RWops *rw = SDL_RWFromMem(buffer, bufferSize);
SDL_Surface *tmpImage = IMG_Load_RW(rw, 1);
if (!tmpImage)
@@ -137,9 +137,8 @@ Resource *Image::load(void *buffer, unsigned bufferSize)
return image;
}
-Resource *Image::load(void *buffer, unsigned bufferSize, Dye const &dye)
+Resource *Image::load(SDL_RWops *rw, Dye const &dye)
{
- SDL_RWops *rw = SDL_RWFromMem(buffer, bufferSize);
SDL_Surface *tmpImage = IMG_Load_RW(rw, 1);
if (!tmpImage)
@@ -162,7 +161,7 @@ Resource *Image::load(void *buffer, unsigned bufferSize, Dye const &dye)
SDL_Surface *surf = SDL_ConvertSurface(tmpImage, &rgba, SDL_SWSURFACE);
SDL_FreeSurface(tmpImage);
- Uint32 *pixels = static_cast< Uint32 * >(surf->pixels);
+ Uint32 *pixels = static_cast<Uint32 *>(surf->pixels);
for (Uint32 *p_end = pixels + surf->w * surf->h; pixels != p_end; ++pixels)
{
const Uint32 p = *pixels;
@@ -210,10 +209,11 @@ Image *Image::createTextSurface(SDL_Surface *tmpImage, float alpha)
bool hasAlpha = false;
bool converted = false;
+ const int sz = tmpImage->w * tmpImage->h;
+
// The alpha channel to be filled with alpha values
- Uint8 *alphaChannel = new Uint8[tmpImage->w * tmpImage->h];
+ Uint8 *alphaChannel = new Uint8[sz];
- const int sz = tmpImage->w * tmpImage->h;
const SDL_PixelFormat * const fmt = tmpImage->format;
if (fmt->Amask)
{
@@ -466,7 +466,7 @@ Image* Image::SDLmerge(Image *image, int x, int y)
SDL_LockSurface(surface);
SDL_LockSurface(mSDLSurface);
- const int x0 = (y * getWidth()) + x;
+ const int x0 = (y * mBounds.w) + x;
const int maxX = std::min(image->mBounds.w,
static_cast<Uint16>(mBounds.w - x));
const int maxY = std::min(image->mBounds.w,
@@ -479,7 +479,7 @@ Image* Image::SDLmerge(Image *image, int x, int y)
for (offset_y = ((y > 0) ? 0 : -y); offset_y < maxY; offset_y++)
{
// Computing offset on both images
- current_offset = (offset_y * getWidth()) + x1;
+ current_offset = (offset_y * mBounds.w) + x1;
surface_offset = offset_y * surface->w + offset_x;
// Retrieving a pixel to merge
@@ -546,7 +546,7 @@ Image* Image::SDLgetScaledImage(int width, int height)
return nullptr;
// No scaling when there is ... no different given size ...
- if (width == getWidth() && height == getHeight())
+ if (width == mBounds.w && height == mBounds.h)
return nullptr;
Image* scaledImage = nullptr;
@@ -555,8 +555,8 @@ Image* Image::SDLgetScaledImage(int width, int height)
if (mSDLSurface)
{
scaledSurface = zoomSurface(mSDLSurface,
- static_cast<double>(width) / getWidth(),
- static_cast<double>(height) / getHeight(),
+ static_cast<double>(width) / mBounds.w,
+ static_cast<double>(height) / mBounds.h,
1);
// The load function takes care of the SDL<->OpenGL implementation
@@ -626,22 +626,20 @@ Image *Image::_SDLload(SDL_Surface *tmpImage)
bool hasAlpha = false;
bool converted = false;
- // The alpha channel to be filled with alpha values
- Uint8 *alphaChannel = new Uint8[tmpImage->w * tmpImage->h];
-
if (tmpImage->format->BitsPerPixel != 32)
{
tmpImage = convertTo32Bit(tmpImage);
if (!tmpImage)
- {
- delete[] alphaChannel;
return nullptr;
- }
converted = true;
}
const int sz = tmpImage->w * tmpImage->h;
+
+ // The alpha channel to be filled with alpha values
+ Uint8 *alphaChannel = new Uint8[sz];
+
// Figure out whether the image uses its alpha layer
if (!tmpImage->format->palette)
{
@@ -663,19 +661,19 @@ Image *Image::_SDLload(SDL_Surface *tmpImage)
else
{
if (SDL_ALPHA_OPAQUE != 255)
+ {
hasAlpha = true;
- memset(alphaChannel, SDL_ALPHA_OPAQUE, sz);
-// for (int i = 0; i < sz; ++ i)
-// alphaChannel[i] = SDL_ALPHA_OPAQUE;
+ memset(alphaChannel, SDL_ALPHA_OPAQUE, sz);
+ }
}
}
else
{
if (SDL_ALPHA_OPAQUE != 255)
+ {
hasAlpha = true;
- memset(alphaChannel, SDL_ALPHA_OPAQUE, sz);
-// for (int i = 0; i < sz; ++ i)
-// alphaChannel[i] = SDL_ALPHA_OPAQUE;
+ memset(alphaChannel, SDL_ALPHA_OPAQUE, sz);
+ }
}
SDL_Surface *image;
@@ -705,7 +703,6 @@ Image *Image::_SDLload(SDL_Surface *tmpImage)
if (converted)
SDL_FreeSurface(tmpImage);
-// SDL_SetColorKey(image, SDL_SRCCOLORKEY | SDL_RLEACCEL, 0);
return new Image(image, hasAlpha, alphaChannel);
}
diff --git a/src/resources/image.h b/src/resources/image.h
index a9f5722cd..68ab09e58 100644
--- a/src/resources/image.h
+++ b/src/resources/image.h
@@ -66,28 +66,25 @@ class Image : public Resource
virtual ~Image();
/**
- * Loads an image from a buffer in memory.
+ * Loads an image from an SDL_RWops structure.
*
- * @param buffer The memory buffer containing the image data.
- * @param bufferSize The size of the memory buffer in bytes.
+ * @param rw The SDL_RWops to load the image from.
*
* @return <code>NULL</code> if an error occurred, a valid pointer
* otherwise.
*/
- static Resource *load(void *buffer, unsigned bufferSize);
+ static Resource *load(SDL_RWops *rw);
/**
- * Loads an image from a buffer in memory and recolors it.
+ * Loads an image from an SDL_RWops structure and recolors it.
*
- * @param buffer The memory buffer containing the image data.
- * @param bufferSize The size of the memory buffer in bytes.
+ * @param rw The SDL_RWops to load the image from.
* @param dye The dye used to recolor the image.
*
* @return <code>NULL</code> if an error occurred, a valid pointer
* otherwise.
*/
- static Resource *load(void *buffer, unsigned bufferSize,
- Dye const &dye);
+ static Resource *load(SDL_RWops *rw, Dye const &dye);
/**
* Loads an image from an SDL surface.
@@ -106,7 +103,7 @@ class Image : public Resource
/**
* Tells is the image is loaded
*/
- bool isLoaded()
+ bool isLoaded() const
{ return mLoaded; }
/**
@@ -220,16 +217,16 @@ class Image : public Resource
static int mTextureType;
#endif
- bool isHasAlphaChannel()
+ bool isHasAlphaChannel() const
{ return mHasAlphaChannel; }
- bool isAlphaVisible()
+ bool isAlphaVisible() const
{ return mIsAlphaVisible; }
void setAlphaVisible(bool b)
{ mIsAlphaVisible = b; }
- bool isAlphaCalculated()
+ bool isAlphaCalculated() const
{ return mIsAlphaCalculated; }
void setAlphaCalculated(bool b)
diff --git a/src/resources/imageset.h b/src/resources/imageset.h
index 69ebebdc0..edfc4b123 100644
--- a/src/resources/imageset.h
+++ b/src/resources/imageset.h
@@ -63,13 +63,13 @@ class ImageSet : public Resource
size_type size() const
{ return mImages.size(); }
- int getOffsetX()
+ int getOffsetX() const
{ return mOffsetX; }
void setOffsetX(int n)
{ mOffsetX = n; }
- int getOffsetY()
+ int getOffsetY() const
{ return mOffsetY; }
void setOffsetY(int n)
diff --git a/src/resources/iteminfo.h b/src/resources/iteminfo.h
index 8c5e2dd8f..5f789663f 100644
--- a/src/resources/iteminfo.h
+++ b/src/resources/iteminfo.h
@@ -148,7 +148,8 @@ class ItemInfo
void setEffect(const std::string &effect)
{ mEffect = effect; }
- const std::string &getEffect() const { return mEffect; }
+ const std::string &getEffect() const
+ { return mEffect; }
void setType(ItemType type)
{ mType = type; }
@@ -250,7 +251,7 @@ class ItemInfo
void setColorsList(std::string name);
- bool isHaveColors()
+ bool isHaveColors() const
{ return !mColorList.empty(); }
const std::string replaceColors(std::string str,
diff --git a/src/resources/music.cpp b/src/resources/music.cpp
index 6e752ab60..b13812f18 100644
--- a/src/resources/music.cpp
+++ b/src/resources/music.cpp
@@ -26,30 +26,21 @@
#include "debug.h"
-Music::Music(Mix_Chunk *music):
- mChunk(music),
- mChannel(-1)
+Music::Music(Mix_Music *music) :
+ mMusic(music)
{
}
Music::~Music()
{
- //Mix_FreeMusic(music);
- Mix_FreeChunk(mChunk);
+ Mix_FreeMusic(mMusic);
}
-Resource *Music::load(void *buffer, unsigned bufferSize)
+Resource *Music::load(SDL_RWops *rw)
{
- // Load the raw file data from the buffer in an RWops structure
- SDL_RWops *rw = SDL_RWFromMem(buffer, bufferSize);
-
- // Use Mix_LoadMUS to load the raw music data
- //Mix_Music* music = Mix_LoadMUS_RW(rw); Need to be implemeted
- Mix_Chunk *tmpMusic = Mix_LoadWAV_RW(rw, 1);
-
- if (tmpMusic)
+ if (Mix_Music *music = Mix_LoadMUS_RW(rw))
{
- return new Music(tmpMusic);
+ return new Music(music);
}
else
{
@@ -58,30 +49,10 @@ Resource *Music::load(void *buffer, unsigned bufferSize)
}
}
-bool Music::play(int loops)
-{
- /*
- * Warning: loops should be always set to -1 (infinite) with current
- * implementation to avoid halting the playback of other samples
- */
-
- /*if (Mix_PlayMusic(music, loops))
- return true;*/
- Mix_VolumeChunk(mChunk, 120);
- mChannel = Mix_PlayChannel(-1, mChunk, loops);
-
- return mChannel != -1;
-}
-
-void Music::stop()
+bool Music::play(int loops, int fadeIn)
{
- /*
- * Warning: very dungerous trick, it could try to stop channels occupied
- * by samples rather than the current music file
- */
-
- //Mix_HaltMusic();
-
- if (mChannel != -1)
- Mix_HaltChannel(mChannel);
+ if (fadeIn > 0)
+ return Mix_FadeInMusic(mMusic, loops, fadeIn);
+ else
+ return Mix_PlayMusic(mMusic, loops);
}
diff --git a/src/resources/music.h b/src/resources/music.h
index 428c02572..88cc752bc 100644
--- a/src/resources/music.h
+++ b/src/resources/music.h
@@ -41,38 +41,32 @@ class Music : public Resource
/**
* Loads a music from a buffer in memory.
*
- * @param buffer The memory buffer containing the music data.
- * @param bufferSize The size of the memory buffer in bytes.
+ * @param rw The SDL_RWops to load the music data from.
*
* @return <code>NULL</code> if the an error occurred, a valid pointer
* otherwise.
*/
- static Resource *load(void *buffer, unsigned bufferSize);
+ static Resource *load(SDL_RWops *rw);
/**
* Plays the music.
*
- * @param loops Number of times to repeat the playback.
+ * @param loops Number of times to repeat the playback (-1 means
+ * forever).
+ * @param fadeIn Duration in milliseconds to fade in the music.
*
* @return <code>true</code> if the playback started properly
* <code>false</code> otherwise.
*/
- virtual bool play(int loops);
-
- /**
- * Stops the music.
- */
- virtual void stop();
+ bool play(int loops = -1, int fadeIn = 0);
protected:
/**
* Constructor.
*/
- Music(Mix_Chunk *music);
+ Music(Mix_Music *music);
- //Mix_Music *music;
- Mix_Chunk *mChunk;
- int mChannel;
+ Mix_Music *mMusic;
};
#endif
diff --git a/src/resources/resource.h b/src/resources/resource.h
index b8e06aaa7..c0ea7ca23 100644
--- a/src/resources/resource.h
+++ b/src/resources/resource.h
@@ -73,7 +73,7 @@ class Resource
{ return mRefCount; }
#ifdef DEBUG_DUMP_LEAKS
- bool getDumped()
+ bool getDumped() const
{ return mDumped; }
void setDumped(bool n)
diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp
index 3376394bc..c26526b97 100644
--- a/src/resources/resourcemanager.cpp
+++ b/src/resources/resourcemanager.cpp
@@ -35,6 +35,7 @@
#include "resources/spritedef.h"
#include "utils/mkdir.h"
+#include "utils/physfsrwops.h"
#include <physfs.h>
#include <SDL_image.h>
@@ -42,6 +43,7 @@
#include <fstream>
#include <iostream>
#include <sstream>
+#include <zlib.h>
#include <sys/stat.h>
#include <sys/time.h>
@@ -397,19 +399,16 @@ struct ResourceLoader
ResourceManager *manager;
std::string path;
ResourceManager::loader fun;
+
static Resource *load(void *v)
{
if (!v)
return nullptr;
ResourceLoader *l = static_cast< ResourceLoader * >(v);
- int fileSize;
- if (!l->manager)
+ SDL_RWops *rw = PHYSFSRWOPS_openRead(l->path.c_str());
+ if (!rw)
return nullptr;
- void *buffer = l->manager->loadFile(l->path, fileSize);
- if (!buffer)
- return nullptr;
- Resource *res = l->fun(buffer, fileSize);
- free(buffer);
+ Resource *res = l->fun(rw);
return res;
}
};
@@ -451,16 +450,14 @@ struct DyedImageLoader
d = new Dye(path.substr(p + 1));
path = path.substr(0, p);
}
- int fileSize;
- void *buffer = l->manager->loadFile(path, fileSize);
- if (!buffer)
+ SDL_RWops *rw = PHYSFSRWOPS_openRead(path.c_str());
+ if (!rw)
{
delete d;
return nullptr;
}
- Resource *res = d ? Image::load(buffer, fileSize, *d)
- : Image::load(buffer, fileSize);
- free(buffer);
+ Resource *res = d ? Image::load(rw, *d)
+ : Image::load(rw);
delete d;
return res;
}
@@ -695,18 +692,10 @@ void ResourceManager::saveTextFile(std::string path, std::string name,
SDL_Surface *ResourceManager::loadSDLSurface(const std::string &filename)
{
- int fileSize;
- void *buffer = loadFile(filename, fileSize);
- SDL_Surface *tmp = nullptr;
-
- if (buffer)
- {
- SDL_RWops *rw = SDL_RWFromMem(buffer, fileSize);
- tmp = IMG_Load_RW(rw, 1);
- ::free(buffer);
- }
-
- return tmp;
+ SDL_Surface *surface = nullptr;
+ if (SDL_RWops *rw = PHYSFSRWOPS_openRead(filename.c_str()))
+ surface = IMG_Load_RW(rw, 1);
+ return surface;
}
void ResourceManager::scheduleDelete(SDL_Surface* surface)
diff --git a/src/resources/resourcemanager.h b/src/resources/resourcemanager.h
index f0146b8b4..9df96d354 100644
--- a/src/resources/resourcemanager.h
+++ b/src/resources/resourcemanager.h
@@ -37,7 +37,9 @@ class Music;
class Resource;
class SoundEffect;
class SpriteDef;
+
struct SDL_Surface;
+struct SDL_RWops;
/**
* A class for loading and managing resources.
@@ -48,7 +50,7 @@ class ResourceManager
public:
- typedef Resource *(*loader)(void *, unsigned);
+ typedef Resource *(*loader)(SDL_RWops *);
typedef Resource *(*generator)(void *);
ResourceManager();
@@ -252,17 +254,17 @@ class ResourceManager
*/
static void deleteInstance();
- int size()
+ int size() const
{ return mResources.size(); }
typedef std::map<std::string, Resource*> Resources;
typedef Resources::iterator ResourceIterator;
#ifdef DEBUG_DUMP_LEAKS
- Resources* getResources()
+ Resources* getResources() const
{ return &mResources; }
- Resources* getOrphanedResources()
+ Resources* getOrphanedResources() const
{ return &mOrphanedResources; }
#endif
diff --git a/src/resources/soundeffect.cpp b/src/resources/soundeffect.cpp
index eaa323bd6..6a3a980a7 100644
--- a/src/resources/soundeffect.cpp
+++ b/src/resources/soundeffect.cpp
@@ -31,14 +31,10 @@ SoundEffect::~SoundEffect()
Mix_FreeChunk(mChunk);
}
-Resource *SoundEffect::load(void *buffer, unsigned bufferSize)
+Resource *SoundEffect::load(SDL_RWops *rw)
{
- if (!buffer)
+ if (!rw)
return nullptr;
-
- // Load the raw file data from the buffer in an RWops structure
- SDL_RWops *rw = SDL_RWFromMem(buffer, bufferSize);
-
// Load the music data and free the RWops structure
Mix_Chunk *tmpSoundEffect = Mix_LoadWAV_RW(rw, 1);
diff --git a/src/resources/soundeffect.h b/src/resources/soundeffect.h
index 91ca3bb59..b8c9e8735 100644
--- a/src/resources/soundeffect.h
+++ b/src/resources/soundeffect.h
@@ -41,13 +41,12 @@ class SoundEffect : public Resource
/**
* Loads a sample from a buffer in memory.
*
- * @param buffer The memory buffer containing the sample data.
- * @param bufferSize The size of the memory buffer in bytes.
+ * @param rw The SDL_RWops to load the sample data from.
*
* @return <code>NULL</code> if the an error occurred, a valid pointer
* otherwise.
*/
- static Resource *load(void *buffer, unsigned bufferSize);
+ static Resource *load(SDL_RWops *rw);
/**
* Plays the sample.
@@ -65,7 +64,8 @@ class SoundEffect : public Resource
/**
* Constructor.
*/
- SoundEffect(Mix_Chunk *soundEffect): mChunk(soundEffect)
+ SoundEffect(Mix_Chunk *soundEffect) :
+ mChunk(soundEffect)
{ }
Mix_Chunk *mChunk;
diff --git a/src/sound.cpp b/src/sound.cpp
index 123a66567..913b55656 100644
--- a/src/sound.cpp
+++ b/src/sound.cpp
@@ -27,6 +27,7 @@
#include "logger.h"
#include "sound.h"
+#include "resources/music.h"
#include "resources/resourcemanager.h"
#include "resources/soundeffect.h"
@@ -158,10 +159,17 @@ void Sound::info()
compiledVersion.major,
compiledVersion.minor,
compiledVersion.patch);
- logger->log("Sound::info() SDL_mixer: %i.%i.%i (linked)",
+ if (linkedVersion)
+ {
+ logger->log("Sound::info() SDL_mixer: %i.%i.%i (linked)",
linkedVersion->major,
linkedVersion->minor,
linkedVersion->patch);
+ }
+ else
+ {
+ logger->log1("Sound::info() SDL_mixer: unknown");
+ }
logger->log("Sound::info() Driver: %s", driver);
logger->log("Sound::info() Format: %s", format);
logger->log("Sound::info() Rate: %i", rate);
@@ -184,84 +192,49 @@ void Sound::setSfxVolume(int volume)
Mix_Volume(-1, mSfxVolume);
}
-static Mix_Music *loadMusic(const std::string &filename)
+static Music *loadMusic(const std::string &fileName)
{
ResourceManager *resman = ResourceManager::getInstance();
- std::string path = resman->getPath(
- paths.getStringValue("music") + filename);
-
- if (path.find(".zip/") != std::string::npos ||
- path.find(".zip\\") != std::string::npos)
- {
- // Music file is a virtual file inside a zip archive - we have to copy
- // it to a temporary physical file so that SDL_mixer can stream it.
- logger->log("Loading music \"%s\" from temporary file tempMusic.ogg",
- path.c_str());
- bool success = resman->copyFile(paths.getStringValue("music")
- + filename, "tempMusic.ogg");
- if (success)
- path = resman->getPath("tempMusic.ogg");
- else
- return nullptr;
- }
- else
- {
- logger->log("Loading music \"%s\"", path.c_str());
- }
-
- if (path.empty())
- return nullptr;
-
- Mix_Music *music = Mix_LoadMUS(path.c_str());
-
- if (!music)
- {
- logger->log("Mix_LoadMUS() Error loading '%s': %s", path.c_str(),
- Mix_GetError());
- }
-
- return music;
+ return resman->getMusic(paths.getStringValue("music") + fileName);
}
-void Sound::playMusic(const std::string &filename)
+void Sound::playMusic(const std::string &fileName)
{
- mCurrentMusicFile = filename;
+ mCurrentMusicFile = fileName;
if (!mInstalled || !mPlayMusic)
return;
haltMusic();
- if (!filename.empty() && (mMusic = loadMusic(filename)))
- Mix_PlayMusic(mMusic, -1); // Loop forever
+ if (!fileName.empty())
+ {
+ mMusic = loadMusic(fileName);
+ if (mMusic)
+ mMusic->play();
+ }
}
void Sound::stopMusic()
{
- if (!mInstalled)
- return;
-
- logger->log1("Sound::stopMusic()");
-
- if (mMusic)
- {
- Mix_HaltMusic();
- Mix_FreeMusic(mMusic);
- mMusic = nullptr;
- }
+ haltMusic();
}
-void Sound::fadeInMusic(const std::string &path, int ms)
+void Sound::fadeInMusic(const std::string &fileName, int ms)
{
- mCurrentMusicFile = path;
+ mCurrentMusicFile = fileName;
if (!mInstalled || !mPlayMusic)
return;
haltMusic();
- if ((mMusic = loadMusic(path.c_str())))
- Mix_FadeInMusic(mMusic, -1, ms); // Loop forever
+ if (!fileName.empty())
+ {
+ mMusic = loadMusic(fileName);
+ if (mMusic)
+ mMusic->play(-1, ms);
+ }
}
void Sound::fadeOutMusic(int ms)
@@ -285,9 +258,9 @@ void Sound::fadeOutMusic(int ms)
}
}
-void Sound::fadeOutAndPlayMusic(const std::string &path, int ms)
+void Sound::fadeOutAndPlayMusic(const std::string &fileName, int ms)
{
- mNextMusicPath = path;
+ mNextMusicFile = fileName;
fadeOutMusic(ms);
}
@@ -297,15 +270,15 @@ void Sound::logic()
{
if (mMusic)
{
- Mix_FreeMusic(mMusic);
+ mMusic->decRef();
mMusic = nullptr;
}
sFadingOutEnded = false;
- if (!mNextMusicPath.empty())
+ if (!mNextMusicFile.empty())
{
- playMusic(mNextMusicPath);
- mNextMusicPath.clear();
+ playMusic(mNextMusicFile);
+ mNextMusicFile.clear();
}
}
}
@@ -383,8 +356,11 @@ void Sound::haltMusic()
return;
Mix_HaltMusic();
- Mix_FreeMusic(mMusic);
- mMusic = nullptr;
+ if (mMusic)
+ {
+ mMusic->decRef();
+ mMusic = nullptr;
+ }
}
void Sound::changeAudio()
diff --git a/src/sound.h b/src/sound.h
index 6ac361cac..7f9fb64a4 100644
--- a/src/sound.h
+++ b/src/sound.h
@@ -29,6 +29,8 @@
#include <string>
+class Music;
+
/** Sound engine
*
* \ingroup CORE
@@ -54,9 +56,9 @@ class Sound : public ConfigListener
/**
* Starts background music.
*
- * @param path The full path to the music file.
+ * @param fileName The name of the music file.
*/
- void playMusic(const std::string &path);
+ void playMusic(const std::string &fileName);
/**
* Stops currently running background music track.
@@ -66,10 +68,10 @@ class Sound : public ConfigListener
/**
* Fades in background music.
*
- * @param path The full path to the music file.
- * @param ms Duration of fade-in effect (ms)
+ * @param fileName The name of the music file.
+ * @param ms Duration of fade-in effect (ms)
*/
- void fadeInMusic(const std::string &path, int ms = 1000);
+ void fadeInMusic(const std::string &fileName, int ms = 1000);
/**
* Fades out currently running background music track.
@@ -81,15 +83,16 @@ class Sound : public ConfigListener
/**
* Fades out a background music and play a new one.
*
- * @param path The full path to the fade in music file.
- * @param ms Duration of fade-out effect (ms)
+ * @param fileName The name of the music file.
+ * @param ms Duration of fade-out effect (ms)
*/
- void fadeOutAndPlayMusic(const std::string &path, int ms = 1000);
+ void fadeOutAndPlayMusic(const std::string &fileName, int ms = 1000);
int getMaxVolume() const
{ return MIX_MAX_VOLUME; }
void setMusicVolume(int volume);
+
void setSfxVolume(int volume);
/**
@@ -112,7 +115,7 @@ class Sound : public ConfigListener
void volumeRestore();
- std::string getCurrentMusicFile()
+ std::string getCurrentMusicFile() const
{ return mCurrentMusicFile; }
/**
@@ -133,7 +136,7 @@ class Sound : public ConfigListener
* When calling fadeOutAndPlayMusic(),
* the music file below will then be played
*/
- std::string mNextMusicPath;
+ std::string mNextMusicFile;
bool mInstalled;
@@ -141,7 +144,7 @@ class Sound : public ConfigListener
int mMusicVolume;
std::string mCurrentMusicFile;
- Mix_Music *mMusic;
+ Music *mMusic;
bool mPlayBattle;
bool mPlayGui;
bool mPlayMusic;
diff --git a/src/textcommand.h b/src/textcommand.h
index b1af7667d..27b44cc7a 100644
--- a/src/textcommand.h
+++ b/src/textcommand.h
@@ -155,7 +155,7 @@ class TextCommand
bool isEmpty() const
{ return mCommand == "" && mSymbol == "" ; }
- Image *getImage()
+ Image *getImage() const
{ return mImage; }
private:
diff --git a/src/utils/checkutils.cpp b/src/utils/checkutils.cpp
new file mode 100644
index 000000000..64bb42d0c
--- /dev/null
+++ b/src/utils/checkutils.cpp
@@ -0,0 +1,39 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2012 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "utils/checkutils.h"
+
+#include <string.h>
+
+#include "logger.h"
+
+bool reportFalseReal(bool val, const char* file, unsigned line)
+{
+ if (!val)
+ logger->log("Debug: false value at %s:%u", file, line);
+ return val;
+}
+
+bool reportTrueReal(bool val, const char* file, unsigned line)
+{
+ if (val)
+ logger->log("Debug: true value at %s:%u", file, line);
+ return val;
+}
diff --git a/src/utils/checkutils.h b/src/utils/checkutils.h
new file mode 100644
index 000000000..6791ff7e0
--- /dev/null
+++ b/src/utils/checkutils.h
@@ -0,0 +1,30 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2012 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef UTILS_CHECKUTILS_H
+#define UTILS_CHECKUTILS_H
+
+#include <string>
+
+bool reportFalseReal(bool val, const char* file, unsigned line);
+
+bool reportTrueReal(bool val, const char* file, unsigned line);
+
+#endif // UTILS_CHECKUTILS_H
diff --git a/src/utils/copynpaste.cpp b/src/utils/copynpaste.cpp
index 3e9e09a5c..d918c8108 100644
--- a/src/utils/copynpaste.cpp
+++ b/src/utils/copynpaste.cpp
@@ -331,7 +331,7 @@ static char* getSelection2(Display *dpy, Window us, Atom selection,
if (left < 1)
{
if (ret == Success)
- XFree(data);
+ XFree(data);
return nullptr;
}
diff --git a/src/utils/physfsrwops.cpp b/src/utils/physfsrwops.cpp
new file mode 100644
index 000000000..1960f0dee
--- /dev/null
+++ b/src/utils/physfsrwops.cpp
@@ -0,0 +1,186 @@
+/*
+ * This code provides a glue layer between PhysicsFS and Simple Directmedia
+ * Layer's (SDL) RWops i/o abstraction.
+ *
+ * License: this code is public domain. I make no warranty that it is useful,
+ * correct, harmless, or environmentally safe.
+ *
+ * This particular file may be used however you like, including copying it
+ * verbatim into a closed-source project, exploiting it commercially, and
+ * removing any trace of my name from the source (although I hope you won't
+ * do that). I welcome enhancements and corrections to this file, but I do
+ * not require you to send me patches if you make changes. This code has
+ * NO WARRANTY.
+ *
+ * Unless otherwise stated, the rest of PhysicsFS falls under the zlib license.
+ * Please see LICENSE.txt in the root of the source tree.
+ *
+ * SDL falls under the LGPL license. You can get SDL at http://www.libsdl.org/
+ *
+ * This file was written by Ryan C. Gordon. (icculus@icculus.org).
+ *
+ * Copyright (C) 2012 The ManaPlus Developers
+ */
+
+#include <stdio.h> /* used for SEEK_SET, SEEK_CUR, SEEK_END ... */
+#include "utils/physfsrwops.h"
+
+#include "localconsts.h"
+
+static int physfsrwops_seek(SDL_RWops *rw, int offset, int whence)
+{
+ PHYSFS_file *handle = (PHYSFS_file *) rw->hidden.unknown.data1;
+ int pos = 0;
+
+ if (whence == SEEK_SET)
+ {
+ pos = offset;
+ } /* if */
+ else if (whence == SEEK_CUR)
+ {
+ PHYSFS_sint64 current = PHYSFS_tell(handle);
+ if (current == -1)
+ {
+ SDL_SetError("Can't find position in file: %s",
+ PHYSFS_getLastError());
+ return -1;
+ } /* if */
+
+ pos = (int)current;
+ if (((PHYSFS_sint64)pos) != current)
+ {
+ SDL_SetError("Can't fit current file position in an int!");
+ return -1;
+ } /* if */
+
+ if (offset == 0) /* this is a "tell" call. We're done. */
+ return pos;
+
+ pos += offset;
+ } /* else if */
+ else if (whence == SEEK_END)
+ {
+ PHYSFS_sint64 len = PHYSFS_fileLength(handle);
+ if (len == -1)
+ {
+ SDL_SetError("Can't find end of file: %s", PHYSFS_getLastError());
+ return -1;
+ } /* if */
+
+ pos = (int)len;
+ if (((PHYSFS_sint64)pos) != len)
+ {
+ SDL_SetError("Can't fit end-of-file position in an int!");
+ return -1;
+ } /* if */
+
+ pos += offset;
+ } /* else if */
+ else
+ {
+ SDL_SetError("Invalid 'whence' parameter.");
+ return -1;
+ } /* else */
+
+ if ( pos < 0 )
+ {
+ SDL_SetError("Attempt to seek past start of file.");
+ return -1;
+ } /* if */
+
+ if (!PHYSFS_seek(handle, (PHYSFS_uint64) pos))
+ {
+ SDL_SetError("PhysicsFS error: %s", PHYSFS_getLastError());
+ return -1;
+ } /* if */
+
+ return pos;
+} /* physfsrwops_seek */
+
+static int physfsrwops_read(SDL_RWops *rw, void *ptr, int size, int maxnum)
+{
+ PHYSFS_file *handle = (PHYSFS_file*)rw->hidden.unknown.data1;
+ PHYSFS_sint64 rc = PHYSFS_read(handle, ptr, size, maxnum);
+ if (rc != maxnum)
+ {
+ if (!PHYSFS_eof(handle)) /* not EOF? Must be an error. */
+ SDL_SetError("PhysicsFS error: %s", PHYSFS_getLastError());
+ } /* if */
+
+ return (int)rc;
+} /* physfsrwops_read */
+
+static int physfsrwops_write(SDL_RWops *rw, const void *ptr, int size, int num)
+{
+ PHYSFS_file *handle = (PHYSFS_file*)rw->hidden.unknown.data1;
+ PHYSFS_sint64 rc = PHYSFS_write(handle, ptr, size, num);
+ if (rc != num)
+ SDL_SetError("PhysicsFS error: %s", PHYSFS_getLastError());
+
+ return (int) rc;
+} /* physfsrwops_write */
+
+static int physfsrwops_close(SDL_RWops *rw)
+{
+ PHYSFS_file *handle = (PHYSFS_file*)rw->hidden.unknown.data1;
+ if (!PHYSFS_close(handle))
+ {
+ SDL_SetError("PhysicsFS error: %s", PHYSFS_getLastError());
+ return -1;
+ } /* if */
+
+ SDL_FreeRW(rw);
+ return 0;
+} /* physfsrwops_close */
+
+static SDL_RWops *create_rwops(PHYSFS_file *handle)
+{
+ SDL_RWops *retval = nullptr;
+
+ if (!handle)
+ {
+ SDL_SetError("PhysicsFS error: %s", PHYSFS_getLastError());
+ }
+ else
+ {
+ retval = SDL_AllocRW();
+ if (retval)
+ {
+ retval->seek = physfsrwops_seek;
+ retval->read = physfsrwops_read;
+ retval->write = physfsrwops_write;
+ retval->close = physfsrwops_close;
+ retval->hidden.unknown.data1 = handle;
+ } /* if */
+ } /* else */
+
+ return retval;
+} /* create_rwops */
+
+SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_file *handle)
+{
+ SDL_RWops *retval = nullptr;
+ if (!handle)
+ SDL_SetError("NULL pointer passed to PHYSFSRWOPS_makeRWops().");
+ else
+ retval = create_rwops(handle);
+
+ return retval;
+} /* PHYSFSRWOPS_makeRWops */
+
+SDL_RWops *PHYSFSRWOPS_openRead(const char *fname)
+{
+ return create_rwops(PHYSFS_openRead(fname));
+} /* PHYSFSRWOPS_openRead */
+
+SDL_RWops *PHYSFSRWOPS_openWrite(const char *fname)
+{
+ return create_rwops(PHYSFS_openWrite(fname));
+} /* PHYSFSRWOPS_openWrite */
+
+SDL_RWops *PHYSFSRWOPS_openAppend(const char *fname)
+{
+ return create_rwops(PHYSFS_openAppend(fname));
+} /* PHYSFSRWOPS_openAppend */
+
+/* end of physfsrwops.c ... */
diff --git a/src/utils/physfsrwops.h b/src/utils/physfsrwops.h
new file mode 100644
index 000000000..efa004ac6
--- /dev/null
+++ b/src/utils/physfsrwops.h
@@ -0,0 +1,82 @@
+/*
+ * This code provides a glue layer between PhysicsFS and Simple Directmedia
+ * Layer's (SDL) RWops i/o abstraction.
+ *
+ * License: this code is public domain. I make no warranty that it is useful,
+ * correct, harmless, or environmentally safe.
+ *
+ * This particular file may be used however you like, including copying it
+ * verbatim into a closed-source project, exploiting it commercially, and
+ * removing any trace of my name from the source (although I hope you won't
+ * do that). I welcome enhancements and corrections to this file, but I do
+ * not require you to send me patches if you make changes. This code has
+ * NO WARRANTY.
+ *
+ * Unless otherwise stated, the rest of PhysicsFS falls under the zlib license.
+ * Please see LICENSE.txt in the root of the source tree.
+ *
+ * SDL falls under the LGPL license. You can get SDL at http://www.libsdl.org/
+ *
+ * This file was written by Ryan C. Gordon. (icculus@icculus.org).
+ *
+ * Copyright (C) 2012 The ManaPlus Developers
+ */
+
+#ifndef UTILS_PHYSFSRWOPS_H
+#define UTILS_PHYSFSRWOPS_H
+
+#include <physfs.h>
+#include <SDL.h>
+
+/**
+ * Open a platform-independent filename for reading, and make it accessible
+ * via an SDL_RWops structure. The file will be closed in PhysicsFS when the
+ * RWops is closed. PhysicsFS should be configured to your liking before
+ * opening files through this method.
+ *
+ * @param filename File to open in platform-independent notation.
+ * @return A valid SDL_RWops structure on success, NULL on error. Specifics
+ * of the error can be gleaned from PHYSFS_getLastError().
+ */
+SDL_RWops *PHYSFSRWOPS_openRead(const char *fname);
+
+/**
+ * Open a platform-independent filename for writing, and make it accessible
+ * via an SDL_RWops structure. The file will be closed in PhysicsFS when the
+ * RWops is closed. PhysicsFS should be configured to your liking before
+ * opening files through this method.
+ *
+ * @param filename File to open in platform-independent notation.
+ * @return A valid SDL_RWops structure on success, NULL on error. Specifics
+ * of the error can be gleaned from PHYSFS_getLastError().
+ */
+SDL_RWops *PHYSFSRWOPS_openWrite(const char *fname);
+
+/**
+ * Open a platform-independent filename for appending, and make it accessible
+ * via an SDL_RWops structure. The file will be closed in PhysicsFS when the
+ * RWops is closed. PhysicsFS should be configured to your liking before
+ * opening files through this method.
+ *
+ * @param filename File to open in platform-independent notation.
+ * @return A valid SDL_RWops structure on success, NULL on error. Specifics
+ * of the error can be gleaned from PHYSFS_getLastError().
+ */
+SDL_RWops *PHYSFSRWOPS_openAppend(const char *fname);
+
+/**
+ * Make a SDL_RWops from an existing PhysicsFS file handle. You should
+ * dispose of any references to the handle after successful creation of
+ * the RWops. The actual PhysicsFS handle will be destroyed when the
+ * RWops is closed.
+ *
+ * @param handle a valid PhysicsFS file handle.
+ * @return A valid SDL_RWops structure on success, NULL on error. Specifics
+ * of the error can be gleaned from PHYSFS_getLastError().
+ */
+SDL_RWops *PHYSFSRWOPS_makeRWops(PHYSFS_file *handle);
+
+#endif /* include-once blocker */
+
+/* end of physfsrwops.h ... */
+
diff --git a/src/utils/stringutils.cpp b/src/utils/stringutils.cpp
index b855e3b04..08bcac9e6 100644
--- a/src/utils/stringutils.cpp
+++ b/src/utils/stringutils.cpp
@@ -509,6 +509,39 @@ std::vector<std::string> getLang()
return langs;
}
+std::string getLangSimple()
+{
+ std::string lang = config.getValue("lang", "").c_str();
+ if (lang.empty())
+ {
+ char *lng = getenv("LANG");
+ if (!lng)
+ return "";
+ return lng;
+ }
+ return lang;
+}
+
+std::string getLangShort()
+{
+ std::string lang = config.getValue("lang", "").c_str();
+ if (lang.empty())
+ {
+ char *lng = getenv("LANG");
+ if (!lng)
+ return "";
+ lang = lng;
+ }
+
+ int dot = lang.find(".");
+ if (dot != (signed)std::string::npos)
+ lang = lang.substr(0, dot);
+ dot = lang.find("_");
+ if (dot != (signed)std::string::npos)
+ return lang.substr(0, dot);
+ return lang;
+}
+
std::string packList(std::list<std::string> &list)
{
std::list<std::string>::const_iterator i = list.begin();
@@ -541,6 +574,9 @@ std::string stringToHexPath(const std::string &str)
void deleteCharLeft(std::string &str, unsigned *pos)
{
+ if (!pos)
+ return;
+
while (*pos > 0)
{
(*pos)--;
diff --git a/src/utils/stringutils.h b/src/utils/stringutils.h
index c6eb08a6c..0b22ef847 100644
--- a/src/utils/stringutils.h
+++ b/src/utils/stringutils.h
@@ -188,6 +188,10 @@ std::string combineDye2(std::string file, std::string dye);
std::vector<std::string> getLang();
+std::string getLangSimple();
+
+std::string getLangShort();
+
std::string packList(std::list<std::string> &list);
std::list<std::string> unpackList(const std::string &str);