summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Sehmisch <crush@themanaworld.org>2009-01-06 17:00:25 +0100
committerPhilipp Sehmisch <crush@themanaworld.org>2009-01-06 17:00:25 +0100
commit791ec19aa351df7d5d1ecc3bc6007ba512c05488 (patch)
treeab17df5c3d67389d0dc08733570edeeb7a9c9999
parent6b60673b0805fbab747924d1a0b6d9c66fc96f64 (diff)
parented39006cfe36e01f68d13a59d1109db905997efc (diff)
downloadmana-791ec19aa351df7d5d1ecc3bc6007ba512c05488.tar.gz
mana-791ec19aa351df7d5d1ecc3bc6007ba512c05488.tar.bz2
mana-791ec19aa351df7d5d1ecc3bc6007ba512c05488.tar.xz
mana-791ec19aa351df7d5d1ecc3bc6007ba512c05488.zip
Merge branch 'master' of git@gitorious.org:tmw/eathena
-rw-r--r--.gitignore20
-rw-r--r--INSTALL5
-rw-r--r--Makefile.am5
-rwxr-xr-xconfigure.ac77
-rw-r--r--po/LINGUAS25
-rw-r--r--po/Makevars41
-rw-r--r--po/POTFILES.in25
-rw-r--r--po/ar.po582
-rw-r--r--po/ca.po490
-rw-r--r--po/cs.po549
-rw-r--r--po/da.po606
-rw-r--r--po/de.po608
-rw-r--r--po/en_GB.po582
-rw-r--r--po/eo.po487
-rw-r--r--po/es.po582
-rw-r--r--po/fi.po592
-rw-r--r--po/fr.po609
-rw-r--r--po/he.po592
-rw-r--r--po/hr.po543
-rw-r--r--po/id.po579
-rw-r--r--po/it.po584
-rw-r--r--po/ja.po528
-rw-r--r--po/nl.po552
-rw-r--r--po/pl.po588
-rw-r--r--po/pt.po586
-rw-r--r--po/pt_BR.po606
-rw-r--r--po/ru.po582
-rw-r--r--po/sk.po509
-rw-r--r--po/sv.po582
-rw-r--r--po/th.po515
-rw-r--r--po/tmw.pot486
-rw-r--r--po/zh_CN.po582
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/Makefile.am12
-rw-r--r--src/graphics.cpp2
-rw-r--r--src/gui/buy.cpp34
-rw-r--r--src/gui/char_select.cpp63
-rw-r--r--src/gui/char_server.cpp8
-rw-r--r--src/gui/confirm_dialog.cpp5
-rw-r--r--src/gui/connection.cpp6
-rw-r--r--src/gui/equipmentwindow.cpp4
-rw-r--r--src/gui/inventorywindow.cpp51
-rw-r--r--src/gui/item_amount.cpp34
-rw-r--r--src/gui/login.cpp20
-rw-r--r--src/gui/menuwindow.cpp18
-rw-r--r--src/gui/minimap.cpp4
-rw-r--r--src/gui/npc_text.cpp6
-rw-r--r--src/gui/npclistdialog.cpp8
-rw-r--r--src/gui/ok_dialog.cpp4
-rw-r--r--src/gui/popupmenu.cpp29
-rw-r--r--src/gui/register.cpp51
-rw-r--r--src/gui/sell.cpp41
-rw-r--r--src/gui/setup.cpp18
-rw-r--r--src/gui/setup_audio.cpp8
-rw-r--r--src/gui/setup_joystick.cpp18
-rw-r--r--src/gui/setup_video.cpp55
-rw-r--r--src/gui/trade.cpp43
-rw-r--r--src/main.cpp14
-rw-r--r--src/resources/itemdb.cpp5
59 files changed, 14565 insertions, 296 deletions
diff --git a/.gitignore b/.gitignore
index d429c00a..2eeb0c11 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,23 +1,41 @@
# files created by autoreconf
+ABOUT-NLS
Makefile.in
aclocal.m4
autom4te.cache
+config.guess
config.h.in
+config.rpath
+config.sub
configure
depcomp
install-sh
+m4/
missing
+po/Makefile.in.in
+po/Makevars.template
+po/Rules-quot
+po/boldquot.sed
+po/en@boldquot.header
+po/en@quot.header
+po/insert-header.sin
+po/quot.sed
+po/remove-potcdate.*
# files created by configure
Makefile
config.h
config.log
config.status
-src/.deps
+po/POTFILES
+.deps
stamp-h1
# files created during build
*.o
+*.gmo
+.dirstamp
+po/stamp-po
src/tmw
# files created during Windows build
diff --git a/INSTALL b/INSTALL
index cd530cae..d604895c 100644
--- a/INSTALL
+++ b/INSTALL
@@ -12,7 +12,7 @@ IRC: irc.freenode.net / #themanaworld
1. Requirements
===============
-You are expected to have either checked out TMW from CVS or you have downloaded
+You are expected to have either checked out TMW from Git or you have downloaded
a source release. To get The Mana World to compile, you need a compiler (GCC)
and some libraries. The required libraries are:
@@ -20,6 +20,7 @@ and some libraries. The required libraries are:
* SDL_mixer http://www.libsdl.org/projects/SDL_mixer/
* SDL_image http://www.libsdl.org/projects/SDL_image/
* SDL_net http://www.libsdl.org/projects/SDL_net/
+* SDL_ttf http://www.libsdl.org/projects/SDL_ttf/
* Guichan 0.8.x http://guichan.sourceforge.net/
* libxml2 http://www.xmlsoft.org/
* physfs 1.0.x http://icculus.org/physfs/
@@ -30,6 +31,8 @@ If you've cloned the Git repository, you will also need these tools to compile:
* GNU automake 1.9 http://www.gnu.org/software/automake/
* GNU autoconf http://www.gnu.org/software/autoconf/
+* GNU gettext http://www.gnu.org/software/gettext/
+* CVS http://www.nongnu.org/cvs/ (needed to run autopoint)
Installing these dependencies is distributions-specific, and we'll leave it to
you to figure this out.
diff --git a/Makefile.am b/Makefile.am
index 7306c71f..2d7250cc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
# Subdirectories to build
-SUBDIRS = data docs src
+SUBDIRS = data docs po src
desktopdir = $(datadir)/applications
@@ -7,3 +7,6 @@ desktop_DATA = tmw.desktop
# Extra files to include
EXTRA_DIST = $(desktop_DATA)
+
+# Autopoint m4 stuff
+ACLOCAL_AMFLAGS = -I m4
diff --git a/configure.ac b/configure.ac
index 791a84c5..8c1ce8a4 100755
--- a/configure.ac
+++ b/configure.ac
@@ -1,18 +1,15 @@
AC_PREREQ(2.59)
AC_INIT([The Mana World], [0.0.27], [themanaworld-devel@lists.sourceforge.net], [tmw])
+AM_INIT_AUTOMAKE
AC_CONFIG_HEADERS([config.h:config.h.in])
AC_LANG_CPLUSPLUS
# Checks for programs.
AC_PROG_CXX
AC_PROG_INSTALL
-AC_PROG_MAKE_SET
# Checks for typedefs, structures, and compiler characteristics.
-AC_HEADER_STDBOOL
-AC_C_CONST
AC_HEADER_TIME
-AC_C_VOLATILE
# Checks for library functions.
AC_FUNC_ERROR_AT_LINE
@@ -22,31 +19,58 @@ AC_FUNC_SELECT_ARGTYPES
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([atexit floor getcwd gethostbyname memset mkdir select socket])
+# Checks for internationalization support
+AM_GNU_GETTEXT([external])
+AM_GNU_GETTEXT_VERSION([0.16.1])
+
+# Search for *-config
+AC_PATH_PROG(SDL_CONFIG, sdl-config)
+AC_PATH_PROG(PKG_CONFIG, pkg-config)
+AC_PATH_PROG(CURL_CONFIG, curl-config)
+
# Checks for libraries
AC_CHECK_LIB([pthread], [pthread_create], ,
AC_MSG_ERROR([ *** Unable to find pthread library]))
AC_CHECK_LIB([guichan], [gcnGuichanVersion], ,
-AC_MSG_ERROR([ *** Unable to find Guichan library (guichan.sf.net)]))
+AC_MSG_ERROR([ *** Unable to find Guichan library (http://guichan.sf.net/)]))
+AC_CHECK_HEADERS([guichan.hpp], ,
+AC_MSG_ERROR([ *** Guichan library found but cannot find headers (http://guichan.sf.net/)]))
-#AC_CHECK_LIB([guichan_sdl], [gcnSDL], ,
-#AC_MSG_ERROR([ *** Unable to find Guichan SDL library (guichan.sf.net)]))
+if test -n "$SDL_CONFIG"; then
+ LIBS="$LIBS `$SDL_CONFIG --libs`"
+ CPPFLAGS="$CPPFLAGS `$SDL_CONFIG --cflags`"
+fi
+AC_CHECK_LIB([SDL], [SDL_Init], ,
+AC_MSG_ERROR([ *** Unable to find SDL library (http://www.libsdl.org/)]))
+AC_CHECK_HEADERS([SDL.h], ,
+AC_MSG_ERROR([ *** SDL library found but cannot find headers (http://www.libsdl.org/)]))
AC_CHECK_LIB([z], [inflate], ,
AC_MSG_ERROR([ *** Unable to find zlib (http://www.gzip.org/zlib/)]))
AC_CHECK_LIB([physfs], [PHYSFS_init], ,
-AC_MSG_ERROR([ *** Unable to find PhysFS library (icculus.org/physfs/)]))
+AC_MSG_ERROR([ *** Unable to find PhysFS library (http://icculus.org/physfs/)]))
+AC_CHECK_HEADERS([physfs.h], ,
+AC_MSG_ERROR([ *** PhysFS library found but cannot find headers (http://icculus.org/physfs/)]))
+if test -n "$CURL_CONFIG"; then
+ LIBS="$LIBS `$CURL_CONFIG --libs`"
+ CPPFLAGS="$CPPFLAGS `$CURL_CONFIG --cflags`"
+fi
AC_CHECK_LIB([curl], [curl_global_init], ,
AC_MSG_ERROR([ *** Unable to find CURL library (http://curl.haxx.se/)]))
-CURL_LIBS=" `curl-config --libs`"
-CURL_CFLAGS=" `curl-config --cflags` "
-AC_SUBST(CURL_LIBS)
-AC_SUBST(CURL_CFLAGS)
+AC_CHECK_HEADERS([curl/curl.h], ,
+AC_MSG_ERROR([ *** CURL library found but cannot find headers (http://curl.haxx.se/)]))
+if test -n "$PKG_CONFIG"; then
+ LIBS="$LIBS `$PKG_CONFIG --libs libxml-2.0`"
+ CPPFLAGS="$CPPFLAGS `$PKG_CONFIG --cflags libxml-2.0`"
+fi
AC_CHECK_LIB([xml2], [xmlInitParser], ,
-AC_MSG_ERROR([ *** Unable to find libxml2 library (xmlsoft.org)]))
+AC_MSG_ERROR([ *** Unable to find libxml2 library (http://xmlsoft.org/)]))
+AC_CHECK_HEADERS([libxml/xmlreader.h], ,
+AC_MSG_ERROR([ *** libxml2 library found but cannot find headers (http://xmlsoft.org/)]))
AC_CHECK_LIB(png, png_write_info, ,
AC_MSG_ERROR([ *** Unable to find png library]))
@@ -61,6 +85,9 @@ AC_MSG_ERROR([ *** Unable to find SDL_ttf library (http://www.libsdl.org/project
AC_CHECK_LIB([SDL_mixer], [Mix_OpenAudio], ,
AC_MSG_ERROR([ *** Unable to find SDL_mixer library (http://www.libsdl.org/projects/SDL_mixer/)]))
+AC_CHECK_LIB([guichan_sdl], [gcnSDL], ,
+AC_MSG_ERROR([ *** Unable to find Guichan SDL library (http://guichan.sf.net/)]))
+
AC_CHECK_LIB(SDL_net, SDLNet_Init, ,
AC_MSG_ERROR([ *** Unable to find SDL_net library]))
@@ -68,12 +95,6 @@ AC_MSG_ERROR([ *** Unable to find SDL_net library]))
AC_HEADER_STDC
AC_CHECK_HEADERS([arpa/inet.h fcntl.h malloc.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h unistd.h])
-# Check for guichan headers
-AC_CHECK_HEADERS([guichan.hpp], ,
-AC_MSG_ERROR([*** Library found but cannot find headers (guichan.sf.net) *** ]))
-
-AM_INIT_AUTOMAKE
-
# Option to enable OpenGL
AC_ARG_WITH(opengl,[ --without-opengl don't use OpenGL ] )
if test "x$with_opengl" == "xno"; then
@@ -85,23 +106,6 @@ else
AC_DEFINE(USE_OPENGL, 1, [Defines if tmw should use an OpenGL display])
fi
-# Search for sdl-config
-AC_PATH_PROG(LIBSDL_CONFIG, sdl-config)
-
-if test -n "$LIBSDL_CONFIG"; then
- LIBSDL_LIBS="`$LIBSDL_CONFIG --libs` -lSDL_image -lSDL_mixer"
- LIBSDL_CFLAGS="`$LIBSDL_CONFIG --cflags`"
- AC_SUBST(LIBSDL_LIBS)
- AC_SUBST(LIBSDL_CFLAGS)
-
- AC_DEFINE_UNQUOTED(HAVE_LIBSDL, 1,
- [Defines if your system has the LIBSDL library])
-else
- AC_DEFINE_UNQUOTED(HAVE_LIBSDL, 0,
- [Defines if your system has the LIBSDL library])
- AC_MSG_ERROR([Could not find sdl-config, check http://www.libsdl.org])
-fi
-
AC_CONFIG_FILES([
Makefile
src/Makefile
@@ -113,6 +117,7 @@ data/graphics/images/Makefile
data/help/Makefile
data/icons/Makefile
docs/Makefile
+po/Makefile.in
])
AC_OUTPUT
diff --git a/po/LINGUAS b/po/LINGUAS
new file mode 100644
index 00000000..4959c0de
--- /dev/null
+++ b/po/LINGUAS
@@ -0,0 +1,25 @@
+# Set of available languages.
+ar
+ca
+cs
+da
+de
+en_GB
+eo
+es
+fi
+fr
+he
+hr
+id
+it
+ja
+nl
+pl
+pt
+pt_BR
+ru
+sk
+sv
+th
+zh_CN
diff --git a/po/Makevars b/po/Makevars
new file mode 100644
index 00000000..76e72f50
--- /dev/null
+++ b/po/Makevars
@@ -0,0 +1,41 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = tmw
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
+# package. (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.) Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright. The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = The Mana World Development Team
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+# in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+# understood.
+# - Strings which make invalid assumptions about notation of date, time or
+# money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS =
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used. It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 00000000..f750976e
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,25 @@
+# List of source files which contain translatable strings.
+
+src/gui/buy.cpp
+src/gui/char_select.cpp
+src/gui/char_server.cpp
+src/gui/confirm_dialog.cpp
+src/gui/connection.cpp
+src/gui/equipmentwindow.cpp
+src/gui/inventorywindow.cpp
+src/gui/item_amount.cpp
+src/gui/login.cpp
+src/gui/menuwindow.cpp
+src/gui/minimap.cpp
+src/gui/npclistdialog.cpp
+src/gui/npc_text.cpp
+src/gui/ok_dialog.cpp
+src/gui/popupmenu.cpp
+src/gui/register.cpp
+src/gui/sell.cpp
+src/gui/setup_audio.cpp
+src/gui/setup.cpp
+src/gui/setup_joystick.cpp
+src/gui/setup_video.cpp
+src/gui/trade.cpp
+src/resources/itemdb.cpp
diff --git a/po/ar.po b/po/ar.po
new file mode 100644
index 00000000..f8cead32
--- /dev/null
+++ b/po/ar.po
@@ -0,0 +1,582 @@
+# Arabic translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-07-16 18:28+0000\n"
+"Last-Translator: صقر بن عبدالله <Unknown>\n"
+"Language-Team: Arabic <ar@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "شراء"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "السعر: %d GP / الإجمالي: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "مغادرة"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "الوصف: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "التأثير: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "هل أنت متأكّد من حذف هذه الشخصيّة؟"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "إنتقاء الشخصيّة"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "موافق"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "إلغاء"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "جديد"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "حذف"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "السّابق"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "التّالي"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "الاسم: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "المستوى: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "المستوى: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "النقود: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "إنشاء شخصيّة"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "الاسم:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "لون الشعر:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "قصّة الشعر:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "إنشاء"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "إنتقاء الشخصيّة"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "نعم"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "لا"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "جارِ الاتّصال..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "العتاد"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "الجردة"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "استخدام"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "إسقاط"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "تجريد من العتاد"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "استعمال العتاد"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "انتقاء كمّيّة من المواد للمتاجرة بها."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "انتقاء كمّيّة من المواد لإسقاطها."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "ولوج"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "كلمة السرّ:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "الخادوم:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "تسجيل"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "الحالة"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "مهارات"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "اختصار"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "تثبيت"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "خارطة صغيرة"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@تجارة|متاجرة مع %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@مهاجمة|هاجم %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@محادثة|تحدّث مع NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@إلغاء|إلغاء@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@اقتطاف|اقتطاف %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@استخدام|استخدام العتاد@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@استخدام|استخدام العتاد@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@استخدم|استخدم@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@إسقاط|إسقاط@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@الوصف|الوصف@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "تأكيد:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "يجب أن يكون طول اسم المستخدم على الأقل %d محارف."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "يجب أن يكون طول اسم المستخدم أقل من %d محارف."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "يجب أن تكون طول كلمة السرّ على الأقل %d محارف."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "يجب أن يكون طول كلمة السرّ أقل من %d محارف."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "كلمات السرّ غير متطابقة."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "خطأ"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "بيع"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "صوت"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "حجم صوت المؤثرّات"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "حجم صوت الموسيقا"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "تطبيق"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "تصفير النوافذ"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "مرئية"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "سمعيّ"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "عصا الألعاب"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "إضغط على الزرّ لبدأ المعايرة"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "معايرة"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "تفعيل عصا الألعاب"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "إيقاف"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "تدوير العصا"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "ملء الشاشة"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "مؤشّر مخصّص"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "حدّ FPS:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "عتمة واجهة المستخدم"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "نصف قطر اللفّ"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "كسل اللفّ"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "مؤثّرات محيطة"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "واقف"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "منخفض"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "مرتفع"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "جارِ ملء الشاشة"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "يجب إعادة التشغيل لتفعّل التغييرات."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "تغيير OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "تطبيق التغيير على OpenGL يحتاج لإعادة تشغيل."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "إضافة"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "أنت تحصل على %d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "أنت تقدّم:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "إلغاء التسجيل"
+
+#~ msgid "Strength:"
+#~ msgstr "القوّة:"
+
+#~ msgid "Agility:"
+#~ msgstr "خفّة الحركة:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "المهارة:"
+
+#~ msgid "Vitality:"
+#~ msgstr "نشاط:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "ذكاء:"
+
+#~ msgid "Willpower:"
+#~ msgstr "قوّة الذات:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "رجاء أن توزّع %d نقطة"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "يجب أن يكون طول اسمك على الأقل 4 محارف."
+
+#~ msgid "Character stats OK"
+#~ msgstr "إحصائيات الشخصيّة جيّدة"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "رجاء حذف %d نقطة"
+
+#~ msgid "Split"
+#~ msgstr "قسم"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "انتقاء كمّيّة من المواد لقسمها."
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@قسم|قسم@@"
+
+#~ msgid "Switch server"
+#~ msgstr "تبديل الخادوم"
+
+#~ msgid "Switch character"
+#~ msgstr "تبديل الشخصيّة"
+
+#~ msgid "Email:"
+#~ msgstr "البريد الإلكترونيّ:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "اختار خادومك لـMana World"
+
+#~ msgid "Port:"
+#~ msgstr "المنفذ:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "رجاء طباعة عنوان ومنفذ الخادوم."
+
+#~ msgid "Propose trade"
+#~ msgstr "اقتراح متاجرة"
+
+#~ msgid "Confirm trade"
+#~ msgstr "تأكيد متاجرة"
+
+#~ msgid "Change"
+#~ msgstr "تغيير"
+
+#~ msgid "Attack %+d"
+#~ msgstr "مهاجمة %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "دفاع %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "HP %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "MP %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "تأكيد"
+
+#~ msgid "Charisma:"
+#~ msgstr "جاذبيّة:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "الوزن الإجماليّ: %d - وزن الحدّ الأقصى: %d"
+
+#~ msgid "Keep"
+#~ msgstr "ترك"
diff --git a/po/ca.po b/po/ca.po
new file mode 100644
index 00000000..97527d96
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,490 @@
+# Catalan translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-07-03 17:21+0000\n"
+"Last-Translator: Habari <thomas.becerril@gmail.com>\n"
+"Language-Team: Catalan <ca@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr ""
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "preu %d GP / total %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "sortir"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr ""
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr ""
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr ""
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr ""
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr ""
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr ""
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr ""
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr ""
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr ""
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, c-format
+msgid "Job Level: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr ""
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "nom"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr ""
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr ""
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr ""
+
+#: src/gui/char_server.cpp:52
+msgid "Select Server"
+msgstr ""
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "si"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "no"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr ""
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr ""
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr ""
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr ""
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr ""
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr ""
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr ""
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr ""
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr ""
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:283
+msgid "@@use|Unequip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr ""
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr ""
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr ""
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr ""
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr ""
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr ""
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr ""
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr ""
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr ""
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr ""
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr ""
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr ""
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr ""
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr ""
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr ""
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr ""
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr ""
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr ""
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr ""
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr ""
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr ""
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr ""
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr ""
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Change"
+#~ msgstr "canvi"
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 00000000..67a31efc
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,549 @@
+# Czech translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-12-17 16:31+0000\n"
+"Last-Translator: Lubos <alvinx12@centrum.cz>\n"
+"Language-Team: Czech <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Nákup"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr ""
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr ""
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Popis: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr ""
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr "Potvrďte vymazání postavy"
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Jste si jistí, že chcete vymazat tuto postavu?"
+
+#: src/gui/char_select.cpp:79
+#, fuzzy
+msgid "Select Character"
+msgstr "Vytvořit postavu"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Zrušit"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Nová"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Odstranit"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Předchozí"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Další"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Jméno: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Úroveň: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Úroveň: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Peníze: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Vytvořit postavu"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Jméno:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Barva vlasů:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Styl vlasů:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Vytvořit"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Server:"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Ano"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Ne"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Připojuji se..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Vybavení"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventář"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Upustit"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Vybavit"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Vyberte množství zboží, se kterým budete obchodovat."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Vyberte množství zboží, které chcete upustit."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr ""
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Heslo:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Server:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr "Zapamatovat uživatelské jméno"
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Registrace"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Stav"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Dovednosti"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Zkratka"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Nastavení"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "MiniMapa"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:283
+msgid "@@use|Unequip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr ""
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr ""
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr "Muž"
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr "Žena"
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "Uživatelské jméno musí být nejméně %d znaků dlouhé."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "Uživatelské jméno musí být kratší než %d znaků."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "Heslo musí být kratší než %d znaků."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Hesla se neshodují."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Chyba"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Prodej"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Zvuk"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr ""
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr ""
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Audio"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr ""
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr "Klávesnice"
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Kalibrovat"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr ""
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr ""
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr ""
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr ""
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr ""
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr ""
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr ""
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr ""
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr ""
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr ""
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr ""
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr ""
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr ""
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr ""
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr ""
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Account and Character Management"
+#~ msgstr "Správa účtu a postavy"
+
+#~ msgid "Unregister"
+#~ msgstr "Zrušit registraci"
+
+#~ msgid "Change Password"
+#~ msgstr "Změnit heslo"
+
+#~ msgid "Change Email Address"
+#~ msgstr "Změnit e-mail"
+
+#~ msgid "Account: %s"
+#~ msgstr "Účet: %s"
+
+#~ msgid "Strength:"
+#~ msgstr "Síla:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Vitalita:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Inteligence:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Rozdělte prosím %d bodů"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Odstraňte prosím %d bodů."
+
+#~ msgid "Split"
+#~ msgstr "Rozdělit"
+
+#~ msgid "Guilds"
+#~ msgstr "Gildy"
+
+#~ msgid "Switch character"
+#~ msgstr "Přepněte postavu"
+
+#~ msgid "Email:"
+#~ msgstr "E-mail:"
+
+#~ msgid "Port:"
+#~ msgstr "Port:"
+
+#~ msgid "Propose trade"
+#~ msgstr "Nabídnout obchod"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Potvrdit obchod"
+
+#~ msgid "Change"
+#~ msgstr "Změnit"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Útok %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Obrana %+d"
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 00000000..ff2506c1
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,606 @@
+# Danish translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-12-28 14:45+0000\n"
+"Last-Translator: Niels L Ellegaard <niels.ellegaard@gmail.com>\n"
+"Language-Team: Danish <da@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Køb"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Pris: %d GP / Total: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Afslut"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Beskrivelse: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Effekt: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr "Er du sikker på at du vil slette denne figur?"
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Er du sikker på at du vil slette denne figur?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Vælg Bruger"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "O.k."
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Fortryd"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Opret"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Slet"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Forrige"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Næste"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Navn; %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Niveau: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Niveau: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Penge: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Lav figur."
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Navn:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Hårfarve:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Frisure:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Opret"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Vælg Bruger"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Ja"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Nej"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Opretter forbindelse..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Udstyr"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventarliste"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Brug"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Smid"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Tag af"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Tag på"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Vælge hvor mange du vil bytte."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Vælg hvor mange du vil smide,"
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Log Ind"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Adgangskode:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Server:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr "Husk dette brugernavn."
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Registrer"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Status"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Færdigheder"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Genvej"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Opsætning"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "MiniKort"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Byt Med %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|Angrib %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Snak med NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Annuller@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|Saml Op %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Tag på@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Tag på@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Brug@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Smid@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Beskrivelse@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Bekræft:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr "Mand"
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr "Kvinde"
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "Brugernavnet skal mindst være %d bogstaver langt."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "Brugernavnet skal være mindre end %d bogstaver langt."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "Adgangskoden skal mindst være %d bogstaver langt."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "Adgangskoden skal være mindre end %d bogstaver langt."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Adgangskoder stemmer ikke overens."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Fejl"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Sælg"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Lyd"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Lydstyrke på effekter"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Lydstyrke på musik"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Anvend"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Nulstil vinduer"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Video"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Lyd"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr "Tastatur"
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Tryk på knappen for at starte justeringen."
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Justering"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Aktiver joystick"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Stop"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Roter joystick"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Fuld Skærm"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Brugerdefineret Musepil"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "FPS grænse:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Gennemsigtighed"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Følsomhed på mus"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "Acceleration på mus"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Omgivende FX"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "fra"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "lav"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "høj"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Skifter til fuld skærm"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "Ændringerne kræver at du genstarter klienten."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Skrifter til OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "Ændringerne til OpenGL kræver at du genstarter klienten."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Tilføj"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Du får %d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Du giver:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Account and Character Management"
+#~ msgstr "Ret konto og figurer"
+
+#~ msgid "Unregister"
+#~ msgstr "Frameld"
+
+#~ msgid "Change Password"
+#~ msgstr "Skift adgangskode"
+
+#~ msgid "Change Email Address"
+#~ msgstr "Skift e-mail adresse"
+
+#~ msgid "Account: %s"
+#~ msgstr "Bruger: %s"
+
+#~ msgid "Strength:"
+#~ msgstr "Styrke"
+
+#~ msgid "Agility:"
+#~ msgstr "Adræthed"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Behændighed:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Helbred:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Intelligens:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Viljestyrke:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Du mangler at fordele %d points"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Dit navn skal være mindst 4 bogstaver langt."
+
+#~ msgid "Character stats OK"
+#~ msgstr "Du har brugt alle dine points"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Du skal fjerne %d points"
+
+#~ msgid "Split"
+#~ msgstr "Opdel"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Vælg hvor mange du vil opdele."
+
+#~ msgid "Guilds"
+#~ msgstr "Gilder"
+
+#~ msgid "@@guild|Invite %s@@"
+#~ msgstr "@@guild|Inviter %s@@"
+
+#~ msgid "@@party|Invite %s to join your party@@"
+#~ msgstr "@@party|Inviter %s med i dit party@@"
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Opdel@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Skift server"
+
+#~ msgid "Switch character"
+#~ msgstr "Skift figur"
+
+#~ msgid "Email:"
+#~ msgstr "E-mail:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Vælg din Mana World Server"
+
+#~ msgid "Port:"
+#~ msgstr "Port:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Skriv både adressen og porten på serveren."
+
+#~ msgid "Visible names"
+#~ msgstr "Vis navne"
+
+#~ msgid "Propose trade"
+#~ msgstr "Foreslå handel"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Bekræft handel"
+
+#~ msgid "Change"
+#~ msgstr "Ændre"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Angrib %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Forsvar %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "HP %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "MP %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Bekræft"
+
+#~ msgid "Charisma:"
+#~ msgstr "Udstråling"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Total Vægt: %d - Maximum Vægt: %d"
+
+#~ msgid "Keep"
+#~ msgstr "Behold"
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 00000000..578ae8b8
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,608 @@
+# German translation of The Mana World.
+# Copyright (C) 2007 The Mana World Development Team
+# This file is distributed under the same license as the The Mana World package.
+# Matthias Hartmann <hartmann.matthias@gmail.com>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: The Mana World 0.1.0\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-10-13 00:25+0000\n"
+"Last-Translator: Aeneas Jaißle <Unknown>\n"
+"Language-Team: German\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Kaufen"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Preis: %d GP / Summe: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Beenden"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Beschreibung: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Effekt: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr "Bestätige Charakter-Löschung"
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Bist du sicher, dass du diesen Charakter löschen möchtest?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Spielfigur auswählen"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Neu"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Löschen"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Zurück"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Weiter"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Name : %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Stufe: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Stufe: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Geld: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Charakter erstellen"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Name :"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Haarfarbe"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Frisur"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Erstellen"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Spielfigur auswählen"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Ja"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Nein"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Verbinde..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Ausrüstung"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventar"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Benutzen"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Wegwerfen"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Ablegen"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Ausrüsten"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Wähle aus, wieviele Gegenstände Du tauschen möchtest."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Wähle aus, wieviele Gegenstände Du wegwerfen möchtest."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Anmelden"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Passwort:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Server:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr "Benutzernamen merken"
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Registrieren"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Status"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Fertigkeiten"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Tastenkürzel"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Einstellungen"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "Übersichtskarte"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Mit %s handeln@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|%s angreifen@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Mit NSC reden@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Abbrechen@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|%s aufheben@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Ausrüsten@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Ausrüsten@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Nutzen@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Fallen lassen@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Beschreibung@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Bestätigen:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr "Männlich"
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr "Weiblich"
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "Der Nutzername muss aus mindestens %d Zeichen bestehen."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "Der Nutzername muss kürzer als %d Zeichen sein."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "Das Passwort muss aus mindestens %d bestehen."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "Das Passwort muss kürzer als %d Zeichen sein."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Passwörter stimmen nicht überein."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Fehler"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Verkaufen"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Ton"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Lautstärke der Klangeffekte"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Latustärke der Musik"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Anwenden"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Fenster zurücksetzen"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Video"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Audio"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr "Tastatur"
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Knopf drücken um die Kalibrierung zu starten"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Kalibrieren"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Joystick aktivieren"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Stopp"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Kreise den Steuerknüppel"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Vollbild"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Benutzerdefinierten Zeiger"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "FPS-Limit:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "GUI Transparenz"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Scroll-Radius"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "Scroll-Trägheit"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Hintergrundeffekte"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "Aus"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "Niedrig"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "Hoch"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Wechsle zum Vollbildmodus"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "Änderungen treten erst nach einem Neustart des Programmes in Kraft."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Ändere OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr ""
+"Änderungen an OpenGL werden erst nach einem Neustart der Anwendung "
+"übernommen."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Du erhälst %d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Du gibst:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Account and Character Management"
+#~ msgstr "Account- und Charakterverwaltung"
+
+#~ msgid "Unregister"
+#~ msgstr "Abmelden"
+
+#~ msgid "Change Password"
+#~ msgstr "Kennwort ändern"
+
+#~ msgid "Change Email Address"
+#~ msgstr "Email-Adresse ändern"
+
+#~ msgid "Account: %s"
+#~ msgstr "Account: %s"
+
+#~ msgid "Strength:"
+#~ msgstr "Stärke:"
+
+#~ msgid "Agility:"
+#~ msgstr "Agilität:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Geschicklichkeit:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Vitalität:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Intelligenz:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Willenskraft:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Bitte verteile %d Punkte"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Dein Name muss aus mindestens 4 Zeichen bestehen."
+
+#~ msgid "Character stats OK"
+#~ msgstr "Spielfigurattribute OK"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Bitte entferne %d Punkte"
+
+#~ msgid "Split"
+#~ msgstr "Aufteilen"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Wähle aus, wieviel Gegenstände Du aufteilen möchtest."
+
+#~ msgid "Guilds"
+#~ msgstr "Gilden"
+
+#~ msgid "@@guild|Invite %s@@"
+#~ msgstr "@@guild|%s einladen@@"
+
+#~ msgid "@@party|Invite %s to join your party@@"
+#~ msgstr "@@party|%s in deine Gruppe einladen@@"
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Aufteilen@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Server wechseln"
+
+#~ msgid "Switch character"
+#~ msgstr "Spielfigur wechseln"
+
+#~ msgid "Email:"
+#~ msgstr "E-Mail:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Wähle Deinen Mana World Spielserver"
+
+#~ msgid "Port:"
+#~ msgstr "Port:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Bitte die Adresse und den Port eines Servers eingeben"
+
+#~ msgid "Visible names"
+#~ msgstr "Sichtbare Namen"
+
+#~ msgid "Propose trade"
+#~ msgstr "Handel vorschlagen"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Handel bestätigen"
+
+#~ msgid "Change"
+#~ msgstr "Ändern"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Angriff %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Verteidigung %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "HP %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "MP %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Bestätigen"
+
+#~ msgid "Charisma:"
+#~ msgstr "Charisma:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Gesamtgewicht : %d - Maximales Gewicht : %d"
+
+#~ msgid "Keep"
+#~ msgstr "Erinnern"
diff --git a/po/en_GB.po b/po/en_GB.po
new file mode 100644
index 00000000..c17c3ad7
--- /dev/null
+++ b/po/en_GB.po
@@ -0,0 +1,582 @@
+# English (United Kingdom) translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-05-10 16:51+0000\n"
+"Last-Translator: Me <Glich.Glich@googlemail.com>\n"
+"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Buy"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Price: %d GP / Total: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Exit"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Description: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Effect: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Are you sure you want to delete this character?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Select Character"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Cancel"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "New"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Delete"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Previous"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Next"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Name: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Level: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Level: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Money: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Create Character"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Name:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Hair Colour:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Hair Style:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Create"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Select Character"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Yes"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "No"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Connecting..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Equipment"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventory"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Use"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Drop"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Unequip"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Equip"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Select amount of items to trade."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Select amount of items to drop."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Login"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Password:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Server:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Register"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Status"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Skills"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Shortcut"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Setup"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "MiniMap"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Trade With %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|Attack %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Talk To NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Cancel@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|Pick Up %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Equip@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Equip@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Use@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Drop@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Description@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Confirm:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "The username needs to be at least %d characters long."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "The username needs to be less than %d characters long."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "The password needs to be at least %d characters long."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "The password needs to be less than %d characters long."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Passwords do not match."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Error"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Sell"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Sound"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Sfx volume"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Music volume"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Apply"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Reset Windows"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Video"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Audio"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Press the button to start calibration"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Calibrate"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Enable joystick"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Stop"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Rotate the stick"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Full screen"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Custom cursor"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "FPS Limit:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Gui opacity"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Scroll radius"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "Scroll laziness"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Ambient FX"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "off"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "low"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "high"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Switching to full screen"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "Restart needed for changes to take effect."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Changing OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "Applying change to OpenGL requires restart."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Add"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "You get %d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "You give:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "Unregister"
+
+#~ msgid "Strength:"
+#~ msgstr "Strength:"
+
+#~ msgid "Agility:"
+#~ msgstr "Agility:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Dexterity:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Vitality:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Intelligence:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Willpower:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Please distribute %d points"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Your name needs to be at least 4 characters."
+
+#~ msgid "Character stats OK"
+#~ msgstr "Character stats OK"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Please remove %d points"
+
+#~ msgid "Split"
+#~ msgstr "Split"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Select amount of items to split."
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Split@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Switch server"
+
+#~ msgid "Switch character"
+#~ msgstr "Switch character"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Choose your Mana World Server"
+
+#~ msgid "Port:"
+#~ msgstr "Port:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Please type both the address and the port of a server."
+
+#~ msgid "Propose trade"
+#~ msgstr "Propose trade"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Confirm trade"
+
+#~ msgid "Change"
+#~ msgstr "Change"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Attack %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Defense %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "HP %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "MP %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Confirm"
+
+#~ msgid "Charisma:"
+#~ msgstr "Charisma:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Total Weight: %d - Maximum Weight: %d"
+
+#~ msgid "Keep"
+#~ msgstr "Keep"
diff --git a/po/eo.po b/po/eo.po
new file mode 100644
index 00000000..ad4bcdca
--- /dev/null
+++ b/po/eo.po
@@ -0,0 +1,487 @@
+# Esperanto translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-11-10 22:03+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Esperanto <eo@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr ""
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr ""
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr ""
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr ""
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr ""
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr ""
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr ""
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr ""
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr ""
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr ""
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr ""
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr ""
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr ""
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, c-format
+msgid "Job Level: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr ""
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr ""
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr ""
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr ""
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr ""
+
+#: src/gui/char_server.cpp:52
+msgid "Select Server"
+msgstr ""
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr ""
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr ""
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr ""
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr ""
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr ""
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr ""
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr ""
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr ""
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr ""
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr ""
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:283
+msgid "@@use|Unequip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr ""
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr ""
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr ""
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr ""
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr ""
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr ""
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr ""
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr ""
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr ""
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr ""
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr ""
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr ""
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr ""
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr ""
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr ""
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr ""
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr ""
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr ""
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr ""
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr ""
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr ""
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr ""
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr ""
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 00000000..e544ff86
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,582 @@
+# Spanish translation for tmw
+# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-10-15 01:37+0000\n"
+"Last-Translator: catalania <Unknown>\n"
+"Language-Team: Spanish <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Comprar"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Precio: %d GP / Total: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Salir"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Descripción: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Efecto: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "¿Seguro que quieres borrar este personaje?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Seleccionar personaje"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Aceptar"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Nuevo"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Eliminar"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Anterior"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Siguiente"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Nombre: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Nivel: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Nivel: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Dinero: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Crear Personaje"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Nombre:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Color de pelo:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "corte de pelo"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Crear"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Seleccionar personaje"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Sí"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "No"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Conectando…"
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Equipo"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventario"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Usar"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "tirar"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "quitarselo"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Equipar"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Seleccione objetos para comerciar."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Seleccione objetos para soltar."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "conectarse"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Contraseña:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Servidor:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Registrar"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Estado"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Habilidades"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Atajos"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Configuración"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "Minimapa"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Comerciar con %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|Atacar a %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Hablar al NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Cancelar@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|Recoger %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Equipar@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Equipar@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Usar@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Tirar@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Descripción@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Confirmar:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "El nombre de usuario debe tener al menos %d caracteres."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "El nombre de usuario puede tener como máximo %d caracteres."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "La contraseña debe tener al menos %d caracteres."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "La contraseña puede tener como máximo %d caracteres."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Las contraseñas no coinciden."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Error"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Vender"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Sonido"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Volumen efectos"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Volumen musica"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Aplicar"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Reiniciar ventanas"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Vídeo"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Audio"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr "Teclado"
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Presione el botón para comenzar la calibración"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Calibrar"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Activar joystick"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Detener"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Gire el stick"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Pantalla completa"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Cursor propio"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "Límite de FPS:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Transparencia menus"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Ratio de scroll"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "Velocidad de scroll"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Efectos ambientales"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "desactivado"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "bajo"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "alto"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Cambiar a pantalla completa"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "Se necesita reiniciar para aplicar los cambios."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Cambiar a OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "Se necesita reiniciar para aplicar los cambios hechos a OpenGL."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Añadir"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Tu consigues %d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Tu das:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "Cancelar Cuenta"
+
+#~ msgid "Strength:"
+#~ msgstr "Fuerza:"
+
+#~ msgid "Agility:"
+#~ msgstr "Agilidad:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Destreza:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Vitalidad:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Inteligencia:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Fuerza de voluntad:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Distribuya %d puntos"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "El nombre debe tener al menos 4 caracteres."
+
+#~ msgid "Character stats OK"
+#~ msgstr "Estatus personaje OK"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "por favor quita %d puntos"
+
+#~ msgid "Split"
+#~ msgstr "Dividir"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Seleccione objetos para dividir."
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Dividir@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Cambiar servidor"
+
+#~ msgid "Switch character"
+#~ msgstr "Cambiar personaje"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Elija su servidor de Mana World"
+
+#~ msgid "Port:"
+#~ msgstr "Puerto:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Escriba la dirección y el puerto de un servidor."
+
+#~ msgid "Propose trade"
+#~ msgstr "Proponer"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Confirmar"
+
+#~ msgid "Change"
+#~ msgstr "Modificar"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Ataque %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Defensa %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "HP %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "MP %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Confirmar"
+
+#~ msgid "Charisma:"
+#~ msgstr "Carisma:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Peso Total: %d - Peso Máximo: %d"
+
+#~ msgid "Keep"
+#~ msgstr "Mantener"
diff --git a/po/fi.po b/po/fi.po
new file mode 100644
index 00000000..e4b01584
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,592 @@
+# Finnish translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-12-30 10:23+0000\n"
+"Last-Translator: ville-v <villev90@gmail.com>\n"
+"Language-Team: Finnish <fi@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Osta"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Kappalehinta: %d GP / Yhteensä: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Sulje"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Kuvaus: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Vaikutus: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr "Vahvista hahmon poistopyyntö"
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Oletko varma, että haluat poistaa tämän hahmon?"
+
+#: src/gui/char_select.cpp:79
+#, fuzzy
+msgid "Select Character"
+msgstr "Luo hahmo"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Peru"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Uusi"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Poista"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Edellinen"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Seuraava"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Nimi: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Taso: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Taso: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Rahatilanne: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Luo hahmo"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Nimi:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Hiusten väri:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Hiustyyli:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Luo"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Vaihda palvelinta"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Kyllä"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Ei"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Yhdistetään..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Varusteet"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Tavaraluettelo"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Käytä"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Pudota"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Poista varuste käytöstä"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Ota käyttöön"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Anna vaihdettavien tavaroiden määrä."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Anna pudotettavien tavaroiden määrä."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Kirjaudu sisään"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Salasana:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Palvelin:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr "Muista käyttäjätunnus"
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Rekisteröidy"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Hahmon tiedot"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Taidot"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Pikavalinnat"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Asetukset"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "Apukartta"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "Epäpelattava hahmo"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Vaihda tavaroita %s kanssa@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|Hyökkää %s kimppuun@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Puhu epäpelattavalle hahmolle@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Peruuta@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|Poimi %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Ota varuste käyttöön@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Ota varuste käyttöön@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Käytä@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Pudota maahan@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Kuvaus@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Vahvista:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr "Miespuolinen"
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr "Naispuolinen"
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "Käyttäjänimen tulee olla vähintään %d merkkiä pitkä"
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "Käyttäjänimen tulee olla alle %d merkkiä pitkä."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "Salasanan tulee olla vähintään %d merkkiä pitkä"
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "Salasanan tulee olla alle %d merkkiä pitkä."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Salasanat eivät täsmää."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Virhe"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Myy"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Ääni"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Äänitehosteiden voimakkuus"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Musiikin voimakkuus"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Käytä"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Palauta ikkunoiden oletusasetukset"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Kuva"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Ääni"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Peliohjain"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr "Näppäimistö"
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Paina tätä nappia aloittaaksesi peliohjaimen kalibroinnin"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Kalibroi"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Peliohjaintuki päälle"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Lopeta"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Käytä ohjain ääriasennoissaan pyörittämällä"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Kokoruututila"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Tyylitelty hiiren osoitin"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "Piirtonopeusrajoitin (kuvaa / sekunti)"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Käyttöliittymän läpinäkyvyys"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Kameran perässälaahaus"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "Kameran perässälaahauksen tiukkuus"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Taustaäänet"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "pois päältä"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "matala"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "korkea"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Kokoruututilaan siirtyminen"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "Ohjelma pitää käynnistää uudelleen, jotta muutokset astuvat voimaan."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Vaihdetaan OpenGL -toimintatilaan"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "OpenGL -asetusten muutokset vaativat ohjelman uudelleenkäynnistyksen"
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Lisää"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Sait %d GP"
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Annat:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Account and Character Management"
+#~ msgstr "Tilin ja hahmojen hallinta"
+
+#~ msgid "Unregister"
+#~ msgstr "Poista palvelimelta"
+
+#~ msgid "Change Password"
+#~ msgstr "Vaihda salasana"
+
+#~ msgid "Change Email Address"
+#~ msgstr "Vaihda sähköpostiosoite"
+
+#~ msgid "Account: %s"
+#~ msgstr "Tili: %s"
+
+#~ msgid "Strength:"
+#~ msgstr "Voima:"
+
+#~ msgid "Agility:"
+#~ msgstr "Ketteryys:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Näppäryys:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Elinvoima:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Älykkyys:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Tahdonvoima:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Jaa %d pistettä"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Nimessäsi täytyy olla ainakin 4 merkkiä."
+
+#~ msgid "Character stats OK"
+#~ msgstr "Hahmon pistejako OK"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "%d pistettä liikaa"
+
+#~ msgid "Split"
+#~ msgstr "Jaa"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Anna eri pinoon jaettavien tavaroiden määrä."
+
+#~ msgid "Guilds"
+#~ msgstr "Kiltatoiminta"
+
+#~ msgid "@@guild|Invite %s@@"
+#~ msgstr "@@guild|Kutsu %s mukaan kiltaan@@"
+
+#~ msgid "@@party|Invite %s to join your party@@"
+#~ msgstr "@@party|Kutsu %s mukaan ryhmääsi@@"
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Pinon jako@@"
+
+#~ msgid "Switch character"
+#~ msgstr "Vaihda hahmoa"
+
+#~ msgid "Email:"
+#~ msgstr "Sähköpostiosoite:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Valitse Mana World -palvelimesi"
+
+#~ msgid "Port:"
+#~ msgstr "Portti:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Kirjoita kenttiin sekä palvelimen osoite että portti"
+
+#~ msgid "Visible names"
+#~ msgstr "Näytä nimet"
+
+#~ msgid "Propose trade"
+#~ msgstr "Ehdota vaihtokauppaa"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Suostu vaihtokauppaan"
+
+#~ msgid "Change"
+#~ msgstr "Muuta"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Hyökkäys %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Puolustus %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "Iskupisteet %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "Taikapisteet %+d"
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 00000000..ed1340d3
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,609 @@
+# French translation of The Mana World.
+# Copyright (C) 2007 The Mana World Development Team
+# This file is distributed under the same license as the The Mana World package.
+# Guillaume Melquiond <guillaume.melquiond@gmail.com>, 2007.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: The Mana World 0.1.0\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-12-26 10:43+0000\n"
+"Last-Translator: Johan Serre <Unknown>\n"
+"Language-Team: French\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Acheter"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Prix : %d PO / Total : %d PO"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Quitter"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Description : %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Effet : %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr "Confirmer la suppression du personnage"
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Êtes-vous certain de vouloir supprimer ce personnage ?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Choix du personnage"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Annuler"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Nouveau"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Supprimer"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Précédent"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Suivant"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Nom : %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Niveau : %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Niveau : %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Argent : %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Création du personnage"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Nom :"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Couleur des cheveux"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Coiffure :"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Créer"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Choix du personnage"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Oui"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Non"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Connexion..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Équipement"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventaire"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Utiliser"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Lâcher"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Retirer"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Équiper"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Choisissez le nombre d'objets à troquer."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Choisissez le nombre d'objets à lâcher."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Connexion"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Mot de passe :"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Serveur :"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr "Se souvenir du nom d'utilisateur"
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "S'inscrire"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Statut"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Compétences"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Raccourci"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Configuration"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "Plan"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "PNJ"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Troquer avec %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|Attaquer %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Parler au PNJ@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Annuler@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|Ramasser %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Équiper@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Équiper@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Utiliser@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Lâcher@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Description@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Vérification :"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr "Masculin"
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr "Féminin"
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "Le nom d'utilisateur doit faire au moins %d caractères."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "Le nom d'utilisateur doit faire moins de %d caractères."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "Le mot de passe doit faire au moins %d caractères."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "Le mot de passe doit faire moins de %d caractères."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Les deux mots de passe ne correspondent pas."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Erreur"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Vendre"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Son"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Volume des effets sonores"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Volume de la musique"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Appliquer"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Rétablir les fenêtres"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Vidéo"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Audio"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr "Clavier"
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Presser le bouton pour démarrer la calibration"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Calibrer"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Activer le joystick"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Stop"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Tourner le joystick"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Plein écran"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Curseur personnalisé"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "Limite FPS :"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Opacité de l'interface"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Rayon du scrolling"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "Paresse du scrolling"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Effets ambiants"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "aucun"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "léger"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "complet"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Passage en plein écran"
+
+#: src/gui/setup_video.cpp:310
+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:322
+msgid "Changing OpenGL"
+msgstr "Changement OpenGL"
+
+#: src/gui/setup_video.cpp:323
+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/trade.cpp:61
+msgid "Add"
+msgstr "Ajouter"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Vous obtenez %d PO."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Vous donnez :"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Account and Character Management"
+#~ msgstr "Gestion du compte et du personnage"
+
+#~ msgid "Unregister"
+#~ msgstr "Se désinscrire"
+
+#~ msgid "Change Password"
+#~ msgstr "Changer le mot de passe"
+
+#~ msgid "Change Email Address"
+#~ msgstr "Changer l'adresse email"
+
+#~ msgid "Account: %s"
+#~ msgstr "Compte: %s"
+
+#~ msgid "Strength:"
+#~ msgstr "Force :"
+
+#~ msgid "Agility:"
+#~ msgstr "Agilité :"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Dextérité :"
+
+#~ msgid "Vitality:"
+#~ msgstr "Vitalité :"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Intelligence :"
+
+#~ msgid "Willpower:"
+#~ msgstr "Volonté :"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Veuillez distribuer %d points"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Votre nom doit comporter un minimum de 4 caractères"
+
+#~ msgid "Character stats OK"
+#~ msgstr "Caractéristiques Ok"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Veuillez retirer %d points"
+
+#~ msgid "Split"
+#~ msgstr "Partager"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Choisissez le nombre d'objets à déplacer."
+
+#~ msgid "Guilds"
+#~ msgstr "Guildes"
+
+#~ msgid "@@guild|Invite %s@@"
+#~ msgstr "@@guilde|Invite %s@@"
+
+#~ msgid "@@party|Invite %s to join your party@@"
+#~ msgstr "@@partie| Invitation de %s à joindre votre partie @@"
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Partager@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Changer de serveur"
+
+#~ msgid "Switch character"
+#~ msgstr "Changer de personnage"
+
+#~ msgid "Email:"
+#~ msgstr "Email :"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Choisissez votre serveur The Mana World"
+
+#~ msgid "Port:"
+#~ msgstr "Port :"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Veuillez entrer l'adresse et le port du serveur."
+
+#~ msgid "Visible names"
+#~ msgstr "Afficher les noms"
+
+#~ msgid "Propose trade"
+#~ msgstr "Proposer ce troc"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Confirmer ce troc"
+
+#~ msgid "Change"
+#~ msgstr "Changer"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Attaque %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Défense %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "PV %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "PM %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Confirmer"
+
+#~ msgid "Charisma:"
+#~ msgstr "Charisme :"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Poids total : %d - Poids maximal : %d"
+
+#~ msgid "Keep"
+#~ msgstr "Conserver"
diff --git a/po/he.po b/po/he.po
new file mode 100644
index 00000000..0b78dda9
--- /dev/null
+++ b/po/he.po
@@ -0,0 +1,592 @@
+# Hebrew translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-10-20 00:23+0000\n"
+"Last-Translator: Ddorda <d.dorda@gmail.com>\n"
+"Language-Team: Hebrew <he@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "קנה"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "מחיר: %d זהב / סה\"כ %d זהב"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "יציאה"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "תיאור: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "השפעה: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr "אשר מחיקת שחקן"
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "האם אתה בטוח כי ברצונך למחוק את השחקן?"
+
+#: src/gui/char_select.cpp:79
+#, fuzzy
+msgid "Select Character"
+msgstr "צור שחקן"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "אישור"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "ביטול"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "חדש"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "מחק"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "הקודם"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "הבא"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "שם: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "רמה: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "רמה: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "זהב: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "צור שחקן"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "שם:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "צבע שיער:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "תיספורת:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "צור"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "החלף שרת"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "כן"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "לא"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "מתחבר..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "ציוד"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "ציוד"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "השתמש"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "השלך"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "הורד"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "החזק"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "בחר כמות חפצים לסחור."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "בחר כמות חפצים להשליך."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "התחברות"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "סיסמה:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "שרת:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr "זכור שם משתמש"
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "הרשם"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "מצב"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "כישורים"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "קיצור-דרך"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "הגדרות"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "מיני-מפה"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|סחור עם %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|תקוף את %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|דבר אל NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|ביטול@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|הרם %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|החזק@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|החזק@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Use@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|השלך@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|תיאור@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "אשר:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr "זכר"
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr "נקבה"
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "שם המשתמש חייב להכיל לפחות %d תוים."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "שם המשתמש חייב להכיל פחות מ-%d תוים."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "הסיסמה חייבת להכיל לפחות %d תוים."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "הסיסמה חייבת להכיל פחות מ-%d תוים."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "הסיסמאות אינן תואמות."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "שגיאה"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "מכר"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "צליל"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "עוצמת SFX"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "עוצמת מוזיקה"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "אשר"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "אתחל חלונות"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "וידאו"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "שמע"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "ג'ויסטיק"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr "מקלדת"
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "לחץ על הכפתור בכדי להתחיל בכיול"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "כייל"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "אפשר ג'ויסטיק"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "עצור"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "סובב את המקל"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "מסך מלא"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "‏OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "סמן-עכבר מותאם"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "הגבלת FPS:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "אטימות Gui"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "תווך גלילה"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "עצלנות גלילה"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "אופף FX"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "כבוי"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "נמוך"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "גבוה"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "מחליף למסך מלא"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "נדרש איתחול כדי שהשינויים יהיו ברי-תוקף."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "משנה OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "אישור שינויים עבור OpenGL דורש איתחול."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "הוסף"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "אתה מקבל %d זהב."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "אתה נותן:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Account and Character Management"
+#~ msgstr "ניהול משתמש ושחקן"
+
+#~ msgid "Unregister"
+#~ msgstr "בטל רישום"
+
+#~ msgid "Change Password"
+#~ msgstr "שנה סיסמה"
+
+#~ msgid "Change Email Address"
+#~ msgstr "שנה כתובת דואר אלקטרוני"
+
+#~ msgid "Account: %s"
+#~ msgstr "משתמש: %s"
+
+#~ msgid "Strength:"
+#~ msgstr "עוצמה:"
+
+#~ msgid "Agility:"
+#~ msgstr "זריזות:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "מיומנות:"
+
+#~ msgid "Vitality:"
+#~ msgstr "חיוניות:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "תבונה:"
+
+#~ msgid "Willpower:"
+#~ msgstr "כח רצון:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "אנא חלק %d נקודות"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "יש להכניס לפחות 4 תוים בשם."
+
+#~ msgid "Character stats OK"
+#~ msgstr "נתוני שחקן - אישור"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "אנא הסר %d נקודות"
+
+#~ msgid "Split"
+#~ msgstr "פצל"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "בחר כמות חפצים לפצל."
+
+#~ msgid "Guilds"
+#~ msgstr "גילדות"
+
+#~ msgid "@@guild|Invite %s@@"
+#~ msgstr "@@guild|הזמן את %s@@"
+
+#~ msgid "@@party|Invite %s to join your party@@"
+#~ msgstr "@@party|הזמן את %s להצטרף למסיבה@@"
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|פצל@@"
+
+#~ msgid "Switch character"
+#~ msgstr "החלף שחקן"
+
+#~ msgid "Email:"
+#~ msgstr "דוא\"ל:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "בחר את שרת ה-Mana World"
+
+#~ msgid "Port:"
+#~ msgstr "פורט:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "אנא הכנס גם את כתובת וגם את פורט השרת."
+
+#~ msgid "Visible names"
+#~ msgstr "שמות גלויים"
+
+#~ msgid "Propose trade"
+#~ msgstr "מציע לחור"
+
+#~ msgid "Confirm trade"
+#~ msgstr "אשר מסחר"
+
+#~ msgid "Change"
+#~ msgstr "שנה"
+
+#~ msgid "Attack %+d"
+#~ msgstr "התקפה %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "הגנה %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "HP %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "MP %+d"
diff --git a/po/hr.po b/po/hr.po
new file mode 100644
index 00000000..70fabbce
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,543 @@
+# Croatian translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-12-28 23:36+0000\n"
+"Last-Translator: Dino Paskvan <dpaskvan@gmail.com>\n"
+"Language-Team: Croatian <hr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Kupi"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Cijena: %d zlatnika / Ukupno: %d zlatnika"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Izlaz"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Opis: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Učinak: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr "Potvrdi Brisanje Lika"
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Da li ste sigurni da želite obrisati ovog lika?"
+
+#: src/gui/char_select.cpp:79
+#, fuzzy
+msgid "Select Character"
+msgstr "Stvori Lika"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "U redu"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Poništi"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Novi"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Obriši"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Prethodni"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Slijedeći"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Ime: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Nivo: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Nivo: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Novac: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Stvori Lika"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Ime:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Boja kose:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Frizura:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Stvori"
+
+#: src/gui/char_server.cpp:52
+msgid "Select Server"
+msgstr ""
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Da"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Ne"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Spajanje..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Oprema"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Zalihe"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Upotrijebi"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Ispusti"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Skini opremu"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Opremi"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Odaberi količinu predmeta za razmjenu."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Odaberi količinu predmeta za ispuštanje."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Korisničko ime"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Lozinka"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr ""
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr "Zapamti korisničko ime"
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Registriraj se"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Stanje"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Vještine"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Kratica"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Podešavanje"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "Karta"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "Skini opremu"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr ""
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr ""
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr "Muško"
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr "Žensko"
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr ""
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Greška"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr ""
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr ""
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr ""
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr ""
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr ""
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr ""
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr ""
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr ""
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr ""
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr ""
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr ""
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr ""
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr ""
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr ""
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr ""
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr ""
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr ""
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr ""
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr ""
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Account and Character Management"
+#~ msgstr "Upravljanje Računom i Likovima"
+
+#~ msgid "Unregister"
+#~ msgstr "Odjavi"
+
+#~ msgid "Change Password"
+#~ msgstr "Promijeni Lozinku"
+
+#~ msgid "Change Email Address"
+#~ msgstr "Promijeni Email Adresu"
+
+#~ msgid "Account: %s"
+#~ msgstr "Korisnički račun: %s"
+
+#~ msgid "Strength:"
+#~ msgstr "Snaga:"
+
+#~ msgid "Agility:"
+#~ msgstr "Okretnost:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Spretnost:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Vitalnost:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Inteligencija:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Snaga volje:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Molimo, rasporedi %d bodova"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Ime mora imati barem 4 znaka."
+
+#~ msgid "Character stats OK"
+#~ msgstr "Podaci lika su u redu"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Molimo, oduzmi %d bodova"
+
+#~ msgid "Split"
+#~ msgstr "Razdvoji"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Odaberi količinu predmeta za razdvajanje."
+
+#~ msgid "Guilds"
+#~ msgstr "Cehovi"
diff --git a/po/id.po b/po/id.po
new file mode 100644
index 00000000..c470df15
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,579 @@
+# Indonesian translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-03-26 09:11+0000\n"
+"Last-Translator: ActiveFile <activefile@gmail.com>\n"
+"Language-Team: Indonesian <id@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Beli"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Harga: %d GP / Jumlah: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Keluar"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Deskripsi: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Efek: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Apakah anda bersungguh-sungguh ingin menghapus karakter ini?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Pilih Karakter"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Batal"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Buat baru"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Hapus"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Sebelumnya"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Berikutnya"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Nama: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Tingkatan: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Tingkatan: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Uang: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Buat Karakter"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Nama:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Warna Rambut:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Gaya Rambut:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Buat"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Pilih Karakter"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Ya"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Tidak"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Menyambung..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Perlengkapan"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventaris"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Gunakan"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Jatuh"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr ""
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Pilih jumlah item yang mau di perdagangkan"
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Pilih jumlah item yang mau di buang"
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Login"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Kata Sandi:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Server:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Mendaftar"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Status"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Keahlian"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Tombol Singkat"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Atur"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "MiniMap"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Dagang Dengan %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|Serang%s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Bicara dengan NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Batal@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|Ambil %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Melengkapi@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Melengkapi@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Gunakan@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Buang@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Deskripsi@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Konfirmasi:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "Panjang username setidak-tidaknya %d karakter"
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "Panjang kata-sandi setidak-tidaknya %d karakter"
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Kata sandi tidak sama."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Kesalahan"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Jual"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Suara"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Volume sfx"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Volume Musik"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Terapkan"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr ""
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Video"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Suara"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr ""
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Tekan tombol untuk memulai kalibrasi"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Kalibrasi"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Membolehkan joistik"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Berhenti"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Memutar tongkat"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Layar penuh"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr ""
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "Batas FPS"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr ""
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Radius gulungan"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr ""
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr ""
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "mati"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "rendah"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "tinggi"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Mengganti ke layar penuh"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "Memulai dari awal di butuhkan untuk melihat efek"
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Mengubah OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "Mendaftar perubahan ke OpenGL membutuhkan memulai dari awal"
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Tambah"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Anda mendapatkan %d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Anda memberikan:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "Tidak terdaftar"
+
+#~ msgid "Strength:"
+#~ msgstr "Kekuatan"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Ketangkasan"
+
+#~ msgid "Vitality:"
+#~ msgstr "Daya/Tenaga Hidup"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Kecerdasan"
+
+#~ msgid "Willpower:"
+#~ msgstr "Ketekunan"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Tolong distribusikan %d point"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Nama anda sekurang-kurangnya harus 4 karakter"
+
+#~ msgid "Character stats OK"
+#~ msgstr "Stats Karakter OK"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Tolong hilangkan %d point"
+
+#~ msgid "Split"
+#~ msgstr "Pecah"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Pilih jumlah item yang mau di pisahkan"
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Pisah@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Ganti Server"
+
+#~ msgid "Switch character"
+#~ msgstr "Ganti Karakter"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Pilih Server Mana World"
+
+#~ msgid "Port:"
+#~ msgstr "Port:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Tolong tulis address dan port dari server"
+
+#~ msgid "Propose trade"
+#~ msgstr "Menawarkan tukar menukar"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Konfirmasi tukar menukar"
+
+#~ msgid "Change"
+#~ msgstr "Ubah"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Serangan %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Pertahanan %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "HP %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "MP %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Konfirmasi"
+
+#~ msgid "Charisma:"
+#~ msgstr "Karisma"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Jumlah Berat: %d - Berat Maksimum: %d"
+
+#~ msgid "Keep"
+#~ msgstr "Pertahankan"
diff --git a/po/it.po b/po/it.po
new file mode 100644
index 00000000..3f3cd860
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,584 @@
+# Italian translation of The Mana World.
+# Copyright (C) 2007 The Mana World Development Team
+# This file is distributed under the same license as the The Mana World package.
+# Eugenio Favalli <eugeniofavalli@gmail.com>, 2007.
+# , fuzzy
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: The Mana World 0.1.0\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2007-12-03 01:45+0000\n"
+"Last-Translator: Bjørn Lindeijer <bjorn@lindeijer.nl>\n"
+"Language-Team: Italian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Compra"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Prezzo: %d GP / Totale: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Esci"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Descrizione : %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Effetto : %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Sei sicuro di voler cancellare questo personaggio?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Scelta Personaggio"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Cancella"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Nuovo"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Elimina"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Precedente"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Prossimo"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Nome : %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Livello: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Livello: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Monete: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Crea Personaggio"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Nome :"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Colore Capelli"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Stile Capelli:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Create"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Scelta Personaggio"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Si"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "No"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Connessione..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Equipaggiamento"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventario"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Usa"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Lascia"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Rimuovi"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Equipaggia"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Seleziona la quantità di oggetti da scambiare."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Seleziona la quantità di oggetti da lasciare."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Autenticazione"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Password:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Server:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Registra"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Stato"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Abilità"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Scorciatoia"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Impostazioni"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "Mini mappa"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Scambia Con %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|Attacca %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Parla con NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Cancella@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|Raccogli %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Equipaggia@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Equipaggia@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@usa|Usa@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Lascia@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Descrizione@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Conferma:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "Il nome utente deve contenere almeno %d caratteri."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "Il nome utente deve avere meno di %d caratteri."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "La password deve essere lunga almeno %d caratteri."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "La password deve contenere meno di %d caratteri."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Le password non corrispondono."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Errore"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Vendi"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Suono"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Volume effetti sonori"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Volume musica"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Applica"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Resetta finestre"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Video"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Audio"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Premi il pulsante per cominciare la calibrazione"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Calibra"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Abilita joystick"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Ferma"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Ruota la manopola"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Schermo intero"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Cursore personalizzato"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "Limita FPS:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Opacità IU"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Raggio dello scroll"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "Lentezza dello scroll"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Suoni ambientali"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "Spento"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "Basso"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "Alto"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Modalità a schermo intero"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "Riavvio necessario affinchè i cambiamenti abbiano effetto."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Modifica OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "Applicare le modifiche ad OpenGL richiede il riavvio."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Aggiungi"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Ottieni %d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Dai:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "Cancella registrazione"
+
+#~ msgid "Strength:"
+#~ msgstr "Forza:"
+
+#~ msgid "Agility:"
+#~ msgstr "Agilità:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Destrezza:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Vitalità:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Intelligenza:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Volontà:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Prego distribuisci %d points"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Il tuo nome deve contenere almeno 4 caratteri."
+
+#~ msgid "Character stats OK"
+#~ msgstr "Statistiche personaggio OK"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Prego rimuovi %d punti"
+
+#~ msgid "Split"
+#~ msgstr "Lascia"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Seleziona la quantità di oggetti da lasciare."
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Lascia@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Cambia server"
+
+#~ msgid "Switch character"
+#~ msgstr "Cambia personaggio"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Scegli il tuo server Mana World"
+
+#~ msgid "Port:"
+#~ msgstr "Porta:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Per favore inserisci l'indirizzo e la porta del server."
+
+#~ msgid "Propose trade"
+#~ msgstr "Inizia uno scambio"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Conferma scambio"
+
+#~ msgid "Change"
+#~ msgstr "Cambia"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Attacco %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Difesa %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "PF %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "PM %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Conferma"
+
+#~ msgid "Charisma:"
+#~ msgstr "Carisma:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Peso totale : %d - Peso massimo : %d"
+
+#~ msgid "Keep"
+#~ msgstr "Mantieni"
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 00000000..9f3ee5a3
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,528 @@
+# Japanese translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-06-28 16:27+0000\n"
+"Last-Translator: fate <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "買う"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "価格: %d GP / 合計: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "終了"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "名状: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "効用: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "このキャラは消してもいいですか?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "キャラを選択"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "了解"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "取消"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "新規"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "削除"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "前へ"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "次へ"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "名前: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "レベル: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "レベル: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "GP: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "キャラを作成"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "名前:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "髪の色:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "髪型:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "作成"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "キャラを選択"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "はい"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "いいえ"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "接続しています..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "使う"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr ""
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr ""
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr ""
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "ログイン"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "パスワード:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "サーバ:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "状態"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "セットアップ"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr ""
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|%sを攻撃する@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|NPCを喋る@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|使う@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|使う@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr ""
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr ""
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "パスワードが一致していません。"
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "エラー"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr ""
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr ""
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "音声"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr ""
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr ""
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr ""
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr ""
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr ""
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr ""
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr ""
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr ""
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr ""
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr ""
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr ""
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr ""
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr ""
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr ""
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr ""
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr ""
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "登録削除"
+
+#~ msgid "Strength:"
+#~ msgstr "筋力:"
+
+#~ msgid "Agility:"
+#~ msgstr "素早さ:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "敏捷:"
+
+#~ msgid "Vitality:"
+#~ msgstr "体力:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "知性:"
+
+#~ msgid "Willpower:"
+#~ msgstr "精神:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "%d ポイントを取り分けください"
+
+#~ msgid "Split"
+#~ msgstr "分割"
+
+#~ msgid "Email:"
+#~ msgstr "Eメール:"
+
+#~ msgid "Port:"
+#~ msgstr "ポート:"
+
+#~ msgid "Confirm"
+#~ msgstr "確認"
+
+#~ msgid "Charisma:"
+#~ msgstr "魅力:"
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 00000000..3d8aaf75
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,552 @@
+# Dutch translation of The Mana World.
+# Copyright (c) 2007 The Mana World Development Team
+# This file is distributed under the same license as the The Mana World package.
+# Bjørn Lindeijer <bjorn@lindeijer.nl>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: The Mana World 0.1.0\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-10-10 00:04+0000\n"
+"Last-Translator: Bjørn Lindeijer <bjorn@lindeijer.nl>\n"
+"Language-Team: Dutch\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Kopen"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr ""
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Afsluiten"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Beschrijving: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Effect: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Weet je zeker dat je deze personage wilt verwijderen?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Kies Personage"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Oké"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Annuleren"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Nieuw"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Verwijderen"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Vorige"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Volgende"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Naam: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Level: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Level: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Geld: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Personage Aanmaken"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Naam:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Haarkleur:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Haarstijl:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Aanmaken"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Kies Personage"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Ja"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Nee"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Verbinden..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Uitrusting"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventaris"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Gebruiken"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Neerleggen"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Afdoen"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Uitrusten"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Selecteer het aantal exemplaren om te verhandelen"
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Selecteer het aantal exemplaren om neer te leggen"
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Inloggen"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Wachtword:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Server:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Aanmelden"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Status"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Vaardigheden"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Configureren"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "Kaartje"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Handelen met %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|%s aanvallen@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Praat met NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Annuleren@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|%s oppakken@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Uitrusten@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Uitrusten@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Gebruiken@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Neerleggen@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Beschrijving@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Bevestigen:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "De gebruikersnaam moet uit ten minste %d tekens bestaan."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "De gebruikersnaam moet uit minder dan %d tekens bestaan."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "Het wachtwoord moet uit ten minste %d tekens bestaan."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "Het wachtwoord moet uit minder dan %d tekens bestaan."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Wachtwoorden komen niet overeen."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Fout"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Geluid"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Volume van geluiden"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Muziek volume"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Toepassen"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Vensters in beginstand"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Video"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Audio"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Druk op de knop om het kalibreren te starten"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Kalibreren"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Joystick activeren"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Stoppen"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Maak rondjes met de stick"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Volledig scherm"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Aangepaste cursor"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "FPS limiet:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Dekking van de GUI"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Scroll radius"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "Scroll vertraging"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Omgevingseffecten"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "uit"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "laag"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "hoog"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Overgaan naar volledig scherm"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "De veranderingen worden pas actief na opnieuw opstarten"
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Veranderen van OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "Het wisselen van of naar OpenGL wordt pas actief na opnieuw opstarten"
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr ""
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr ""
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Je geeft:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "Registreren"
+
+#~ msgid "Strength:"
+#~ msgstr "Sterkte:"
+
+#~ msgid "Agility:"
+#~ msgstr "Agiliteit:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Dexteriteit:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Vitaliteit:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Intelligentie:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Wilskracht:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Nog %d punten te verdelen"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Je naam moet uit tenminste 4 tekens bestaan"
+
+#~ msgid "Character stats OK"
+#~ msgstr "Attributen van personage OK"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Verwijder alstublieft %d punten"
+
+#~ msgid "Split"
+#~ msgstr "Splitsen"
+
+#~ msgid "Switch server"
+#~ msgstr "Van server wisselen"
+
+#~ msgid "Switch character"
+#~ msgstr "Van personage wisselen"
+
+#~ msgid "Email:"
+#~ msgstr "E-mail:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Kies uw Mana World server"
+
+#~ msgid "Port:"
+#~ msgstr "Poort:"
+
+#~ msgid "Confirm"
+#~ msgstr "Bevestigen"
+
+#~ msgid "Charisma:"
+#~ msgstr "Charisma:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Totaal gewicht: %d - Maximum gewicht: %d"
+
+#~ msgid "Keep"
+#~ msgstr "Behouden"
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 00000000..114ba4fa
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,588 @@
+# Polish translation of The Mana World.
+# Copyright (C) 2007 The Mana World Development Team
+# This file is distributed under the same license as the The Mana World package.
+# Mateusz Jedrasik <m.jedrasik@gmail.com>, 2007.
+# Zuzanna K. Filutowska <platyna@platinum.linux.pl>, 2007.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: The Mana World 0.1.0\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-10-10 05:26+0000\n"
+"Last-Translator: Michał Trzebiatowski <Unknown>\n"
+"Language-Team: <pl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Kup"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Cena: %d GP / Razem: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Wyjdź"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Opis: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Efekt: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Czy jesteś pewien, że chcesz usunąć tę postać?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Wybierz postać"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Anuluj"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Nowa"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Usuń"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Poprzedni"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Następny"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Imię: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Poziom: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Poziom: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Pieniądze: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Stwórz postać"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Imię:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Kolor włosów:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Fryzura:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Stwórz"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Wybierz postać"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Tak"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Nie"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Łączenie..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Ekwipunek"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inwentarz"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Użyj"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Upuść"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Zdejmij"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Załóż"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Wybierz ilość przedmiotów do wymiany."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Wybierz ilość przedmiotów do upuszczenia."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Użytkownik"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Hasło:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Serwer:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Rejestruj"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Stan"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Zdolności"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Skrót"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Konfiguracja"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "MiniMapa"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Targ z %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|Atakuj %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Rozmawiaj z NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Anuluj@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|Podnieś %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Załóż@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Załóż@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Użyj@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Upuść@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Opis@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Potwierdź:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr "Mężczyzna"
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr "Kobieta"
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "Nazwa użytkownika musi być długa na conajmniej %d znaków."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "Nazwa użytkownika musi mieć mniej niż %d znaków."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "Hasło musi mieć conajmniej %d znaków."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "Hasło nie może mieć więcej jak %d znaków."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Hasła nie zgadzają się."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Błąd"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Sprzedaj"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Dźwięk"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Głośność efektów dźwiękowych"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Głośność muzyki"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Zastosuj"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Zresetuj okna"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Obraz"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Dźwięk"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Wciśnij przycisk aby rozpocząć kalibrację"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Kalibruj"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Włącz joystick"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Zatrzymaj"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Obróć drążek"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Pełen ekran"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Własny kursor"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "Limit FPS:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Przezroczystość GUI"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Skok przy przewijaniu ekranu"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "Opóźnienie przy przewijaniu ekranu"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Dźwięki otoczenia"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "wyłączone"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "niskie"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "wysokie"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Przełączanie na pełen ekran"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "Wymagane ponowne uruchomienia aby zastosować zmiany."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Zmień ustawienia OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr ""
+"Zastosowywanie zmian w konfiguracji OpenGL wymaga ponownego uruchomienia."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Dodaj"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Otrzymujesz %d GP"
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Dajesz:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "Wyrejestruj"
+
+#~ msgid "Change Password"
+#~ msgstr "Zmień hasło"
+
+#~ msgid "Strength:"
+#~ msgstr "Siła:"
+
+#~ msgid "Agility:"
+#~ msgstr "Zwinność:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Zręczność:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Witalność:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Inteligencja:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Siła woli:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Proszę wykorzystać %d punktów"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Twoje imię musi mieć conajmniej 4 znaki."
+
+#~ msgid "Character stats OK"
+#~ msgstr "Statystyki postaci w porządku."
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Proszę usunąć %d punktów"
+
+#~ msgid "Split"
+#~ msgstr "Podziel"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Wybierz ilość przedmiotów do podziału."
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Rozdziel@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Zmień serwer"
+
+#~ msgid "Switch character"
+#~ msgstr "Zmień postać"
+
+#~ msgid "Email:"
+#~ msgstr "Adres e-mail:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Wybierz serwer Mana World"
+
+#~ msgid "Port:"
+#~ msgstr "Port:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Proszę wpisać adres i port serwera"
+
+#~ msgid "Propose trade"
+#~ msgstr "Oferuj handel"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Potwierdź handel"
+
+#~ msgid "Change"
+#~ msgstr "Zmień"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Atak %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Obrona %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "PŻ %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "PM %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Potwierdź"
+
+#~ msgid "Charisma:"
+#~ msgstr "Charyzma:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Całkowita waga: %d - Maksymalna waga: %d"
+
+#~ msgid "Keep"
+#~ msgstr "Zachowaj"
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 00000000..a49fcaec
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,586 @@
+# Portuguese translation for tmw
+# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-02-03 10:14+0000\n"
+"Last-Translator: Tiago Silva <Unknown>\n"
+"Language-Team: Portuguese <pt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Comprar"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Preço: %d GP / Total: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Sair"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Descrição: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Efeito: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Tem a certeza que quer apagar este personagem"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Seleccione um Personagem"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Novo"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Eliminar"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Anterior"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Seguinte"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Nome: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Nível: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Nível: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Dinheiro: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Criar Personagem"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Nome:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Cor de Cabelo:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Estilo do Cabelo:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Criar"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Seleccione um Personagem"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Sim"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Não"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Conectando..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Equipamento"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventário"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Usar"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Largar"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Desequipar"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Equipar"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Seleccionar a quantidade de itens a negociar."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Seleccionar a quantidade de itens a largar."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Autenticar"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Senha:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Servidor:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Registo"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Estado"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Competências"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Atalho"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Configuração"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "MiniMapa"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Negociar com %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|Atacar %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Falar com o NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Cancelar@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|Apanhar %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Equipar@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Equipar@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Usar@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Largar@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@descrição|Descrição@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Confirmar:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "O nome de utilizador necessita de pelo menos %d caracteres."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "O nome de utilizador só pode ter %d caracteres."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "A password necessita de pelo menos %d caracteres."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "A password só pode ter até %d caracteres."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "As senhas não coincidem."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Erro"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Vender"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Som"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Volume dos Efeitos"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Volume da Música"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Aplicar"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Reiniciar Janelas"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Vídeo"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Áudio"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Pressione o botão para começar a calibragem"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Calibrar"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Habilitar Joystick"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Parar"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Rode o manipulo"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Ecrã completo"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Cursor personalizado"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "Limite de FPS:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Opacidade do Interface"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr ""
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr ""
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Efeitos Ambientais"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "desligado"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "baixo"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "elevado"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Mudar para ecrã completo"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "É necessário reiniciar para as alterações terem efeito."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Mudando OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "É necessário reiniciar para as alterações ao OpenGl terem efeito."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Adicionar"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Recebe %d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Dá:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "Remover o Registo"
+
+#~ msgid "Strength:"
+#~ msgstr "Força:"
+
+#~ msgid "Agility:"
+#~ msgstr "Agilidade:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Destreza:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Vitalidade:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Inteligência:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Força de Vontade:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Por favor distribua %d potos"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "O seu nome necessita de pelo menos 4 caracteres"
+
+#~ msgid "Character stats OK"
+#~ msgstr "Estatisticas da personagem OK"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Por favor remova %d pontos"
+
+#~ msgid "Split"
+#~ msgstr "Dividir"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Seleccionar a quantidade de itens a dividir."
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Dividir@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Mudar de servidor"
+
+#~ msgid "Switch character"
+#~ msgstr "Mudar de personagem"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Escolha o seu Servidor de Mana World"
+
+#~ msgid "Port:"
+#~ msgstr "Porta:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Por favor escreva o endereço e a porta do servidor."
+
+#~ msgid "Propose trade"
+#~ msgstr "Propor Negócio"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Confirmar negócio"
+
+#~ msgid "Change"
+#~ msgstr "Modificar"
+
+#~ msgid "Attack %+d"
+#~ msgstr ""
+#~ "Copy text \t\r\n"
+#~ "Ataque %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr ""
+#~ "Copy text \t\r\n"
+#~ "Defesa %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "HP %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "MP %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Confirmar"
+
+#~ msgid "Charisma:"
+#~ msgstr "Carisma:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Peso Total: %d - Peso Máximo: %d"
+
+#~ msgid "Keep"
+#~ msgstr "Manter"
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644
index 00000000..b9bc6820
--- /dev/null
+++ b/po/pt_BR.po
@@ -0,0 +1,606 @@
+# Brazilian Portuguese translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-12-14 21:37+0000\n"
+"Last-Translator: Enrico Nicoletto <liverig@gmail.com>\n"
+"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Comprar"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Preço: %d GP / Total: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Sair"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Descrição: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Efeito: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr "Confimar exclusão do personagem"
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Tem certeza de que deseja excluir este personagem?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Selecionar personagem"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Novo"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Excluir"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Anterior"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Próximo"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Nome: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Nível: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Nível: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Dinheiro: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Criar Personagem"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Nome:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Cor do Cabelo:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Estilo do Cabelo:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Criar"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Selecionar personagem"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Sim"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Não"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Conectando..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Equipamento"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventório"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Usar"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Descartar"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Desequipar"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Equipar"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Selecionar montante de itens para negociar."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Selecionar montante de itens para descartar."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Login"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Senha:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Servidor:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr "Lembrar nome de usuário"
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Registrar"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Status"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Habilidades"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Atalho"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Configurar"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "MiniMapa"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@Negociar|Negociar com %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@atacar|Atacar %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@falar|Falar com NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancelar|Cancelar@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pegar|Pegar %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@usar|Equipar@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@usar|Equipar@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@usar|Usar@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@descartar|Descartar@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@descrição|Descrição@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Confirmar:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr "Homem"
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr "Mulher"
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "O nome do usuário precisa ter pelo menos %d caracteres."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "O nome do usuário tem que ser inferior a %d caracteres."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "A senha deve ter pelo menos %d caracteres."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "A senha deve ser menor que %d caracteres."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Senhas não conferem."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Erro"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Vender"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Som"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Volume Sfx"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Volume da Música"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Aplicar"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Restaurar janelas"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Vídeo"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Áudio"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr "Teclado"
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Aperto o botão para começar a calibração"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Calibrar"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Habilitar joystick"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Parar"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr ""
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Tela cheia"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Cursor customizado"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "Limite FPS:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Opacidade da GUI"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr ""
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr ""
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Ambiente FX"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "desligado"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "baixo"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "alto"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Mudando para Tela cheia"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "É preciso reiniciar para as mudanças terem efeito."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Trocando OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "Aplicando mudança a OpenGL requer reiniciar o jogo."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Adicionar"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Voc pegou %d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Você dá:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Account and Character Management"
+#~ msgstr "Gerenciamento de Conta e Personagem"
+
+#~ msgid "Unregister"
+#~ msgstr "Cancelar Registro"
+
+#~ msgid "Change Password"
+#~ msgstr "Alterar senha"
+
+#~ msgid "Change Email Address"
+#~ msgstr "Alterar e-mail"
+
+#~ msgid "Account: %s"
+#~ msgstr "Conta: %s"
+
+#~ msgid "Strength:"
+#~ msgstr "Força:"
+
+#~ msgid "Agility:"
+#~ msgstr "Agilidade:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Destreza:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Vitalidade:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Inteligência:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Força de Vontade:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Por favor distribua %d pontos"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Seu nome precisa ter no mínimo 4 caracteres."
+
+#~ msgid "Character stats OK"
+#~ msgstr "Status do personagem OK"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Por favor remova %d pontos"
+
+#~ msgid "Split"
+#~ msgstr "Dividir"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Selecionar montante de itens para dividir."
+
+#~ msgid "Guilds"
+#~ msgstr "Guildas"
+
+#~ msgid "@@guild|Invite %s@@"
+#~ msgstr "@@guilda|convidar %s@@"
+
+#~ msgid "@@party|Invite %s to join your party@@"
+#~ msgstr "@@grupo|Convidar %s para entrar para o seu grupo"
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@dividir|Dividir@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Trocar servidor"
+
+#~ msgid "Switch character"
+#~ msgstr "Trocar de Personagem"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Escolha seu Servidor de Mana World"
+
+#~ msgid "Port:"
+#~ msgstr "Porta:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Por favor especifique ambos os Endereços e a Porta do servidor"
+
+#~ msgid "Visible names"
+#~ msgstr "Nomes visíveis"
+
+#~ msgid "Propose trade"
+#~ msgstr "Propor negócio"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Confirmar negócio"
+
+#~ msgid "Change"
+#~ msgstr "Mudar"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Ataque %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Defesa %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "HP %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "MP %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Confirmar"
+
+#~ msgid "Charisma:"
+#~ msgstr "Carisma:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Peso Total: %d - Peso Máximo: %d"
+
+#~ msgid "Keep"
+#~ msgstr "Manter"
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 00000000..2eaa1a05
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,582 @@
+# Russian translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-01-08 11:50+0000\n"
+"Last-Translator: idle sign <Unknown>\n"
+"Language-Team: Russian <ru@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Купить"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Стоимость: %d GP / Всегоl: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Выход"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Описание: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Эффект: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Вы уверены, что хотите удалить этого персонажа?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Выбор персонажа"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Отмена"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Новый"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Удалить"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Предыдущий"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Следующий"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Имя: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Уровень: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Уровень: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Деньги: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Создать персонажа"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Имя:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Цвет волос:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Стрижка:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Создать"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Выбор персонажа"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Да"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Нет"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Соединение..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Снаряжение"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Инвентарь"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Использовать"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Сбросить"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Снять"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Надеть"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Сколько предметов продать."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Сколько предметов сбросить."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Вход"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Пароль:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Сервер:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Зарегистрироваться"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Состояние"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Умения"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Клавиша"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Настройка"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "МиниКарта"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Торговать с %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|Атаковать %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Говорить с NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancelОтмена@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|Подобрать %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Надеть@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Надеть@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Использовать@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Сбросить@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Описание@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Подтвердите:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "Имя пользователя должно содержать не менее %d символов."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "Имя пользователя не должно содержать более %d символов."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "Пароль должен содержать не менее %d символов."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "Пароль не должен содержать более %d символов."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Пароли не совпадают."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Ошибка"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Продать"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Звук"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Громкость эффектов"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Громкость музыки"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Применить"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Восстановить расположение окон"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Видео"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Аудио"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Джойстик"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Нажмите кнопку, чтобы начать калибровку"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Калибровать"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Использовать джойстик"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Стоп"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Вращайте рукоять"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "На полный экран"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Выборочный курсор"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "Ограничение кадр/с:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Прозрачность интерфейса"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Радиус прокрутки"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "Заторможенность прокрутки"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Эффекты окружающей среды"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "выкл"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "низ."
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "выс."
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Переключение в полноэкранный режим"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "Для вступления в силу выбранных настроек требуется перезагрузка игры."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Переключение на OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "Переход к OpenGL требует перезагрузки игры."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Добавить"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Вы получили %d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Вы отдаете:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "Удалить регистрацию"
+
+#~ msgid "Strength:"
+#~ msgstr "Сила:"
+
+#~ msgid "Agility:"
+#~ msgstr "Выносливость:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Ловкость:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Живучесть:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Интеллект:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Сила волиr:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Распределите очки (%d)"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Имя должно содержать не менее четырех символов."
+
+#~ msgid "Character stats OK"
+#~ msgstr "Данные персонажа в порядке"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Снимите очки (%d)"
+
+#~ msgid "Split"
+#~ msgstr "Разделить"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Сколько предметов разделить."
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Разделить@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Сменить сервер"
+
+#~ msgid "Switch character"
+#~ msgstr "Сменить персонажа"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Выберите сервер Mana World"
+
+#~ msgid "Port:"
+#~ msgstr "Порт:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Следует указать адрес и порт сервера."
+
+#~ msgid "Propose trade"
+#~ msgstr "Предложить торговлю"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Принять предложение торговли"
+
+#~ msgid "Change"
+#~ msgstr "Сменить"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Атака %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Защита %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "HP %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "Мана %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Подтвердить"
+
+#~ msgid "Charisma:"
+#~ msgstr "Харизма:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Суммарный вес: %d - Макс. вес: %d"
+
+#~ msgid "Keep"
+#~ msgstr "Оставить"
diff --git a/po/sk.po b/po/sk.po
new file mode 100644
index 00000000..682fa81a
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,509 @@
+# Slovak translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-12-30 14:07+0000\n"
+"Last-Translator: TomasKovacik <nail@nodomain.sk>\n"
+"Language-Team: Slovak <sk@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Kúpiť"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Cena: %d GP / Spolu: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Ukončiť"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Popis: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Effekt: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr "Potvrdte zmazanie postavy"
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Naozaj chcete odstrániť túto postavu?"
+
+#: src/gui/char_select.cpp:79
+#, fuzzy
+msgid "Select Character"
+msgstr "Vytvoriť postavu"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ano"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Zrušiť"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Nový"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Vymazať"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Predchádzajúci"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Nasledujúci"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr ""
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Level: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Level: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Peniaze: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Vytvoriť postavu"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Meno"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Farba vlasov:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Štýl vlasov:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Vytvoriť"
+
+#: src/gui/char_server.cpp:52
+msgid "Select Server"
+msgstr ""
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr ""
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr ""
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr ""
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr ""
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr ""
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr ""
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr ""
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr ""
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr ""
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr ""
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:283
+msgid "@@use|Unequip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr ""
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr ""
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr "Muž"
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr "Žena"
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr ""
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr ""
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr ""
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr ""
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr ""
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr ""
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr ""
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr ""
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr ""
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr ""
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr ""
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr ""
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr ""
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr ""
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr ""
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr ""
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr ""
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr ""
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr ""
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr ""
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr ""
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Account and Character Management"
+#~ msgstr "Účet a správa postáv"
+
+#~ msgid "Unregister"
+#~ msgstr "Zrušiť registráciu"
+
+#~ msgid "Change Password"
+#~ msgstr "Zmeniť heslo"
+
+#~ msgid "Change Email Address"
+#~ msgstr "Zmeniť Emailovú adresu"
+
+#~ msgid "Account: %s"
+#~ msgstr "Účet: %s"
+
+#~ msgid "Strength:"
+#~ msgstr "Sila:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Inteligencia:"
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 00000000..0d029cf5
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,582 @@
+# Swedish translation for tmw
+# Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-05-07 19:04+0000\n"
+"Last-Translator: Kess Vargavind <Unknown>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "Köp"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "Pris: %d GP / Totalt: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "Avsluta"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "Beskrivning: %s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "Effekt: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "Är du säker på att du vill ta bort den här karaktären?"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "Välj karaktär"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "Ok"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "Ny"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "Ta bort"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "Föregående"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "Nästa"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "Namn: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "Nivå: %d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "Nivå: %d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "Pengar: %d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "Skapa karaktär"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "Namn:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "Hårfärg:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "Frisyr:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "Skapa"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "Välj karaktär"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "Ja"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "Nej"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "Ansluter..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "Utrustning"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "Inventarium"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "Använd"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "Släpp"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "Avrusta"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "Utrusta"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "Välj antal föremål att handla med."
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "Välj antal föremål att släppa."
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "Användarnamn"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "Lösenord:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "Server:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "Registrera"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "Status"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "Färdigheter"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "Genväg"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "Inställningar"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "Minikarta"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@trade|Handla med %s@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@attack|Attackera %s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@talk|Prata med NPC@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@cancel|Avbryt@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@pickup|Plocka upp %s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@use|Utrusta@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@use|Utrusta@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@use|Använd@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@drop|Släpp@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@description|Beskrivning@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "Bekräfta:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "Användarnamnet måste vara minst %d tecken långt."
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "Användarnamnet måste vara kortare än %d tecken."
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "Lösenordet måste vara minst %d tecken långt."
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "Lösenordet måste vara kortare än %d tecken."
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "Lösenorden stämmer inte överens."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "Fel"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "Sälj"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "Ljud"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "Volym för ljudeffekter"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "Musikvolym"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "Verkställ"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "Återställ fönster"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "Video"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "Ljud"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "Joystick"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "Klicka på knappen för att starta kalibreringen"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "Kalibrera"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "Aktivera joystick"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "Stopp"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "Rotera spaken"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "Helskärm"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "Särskild muspekare"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "FPS-gräns:"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Genomskinlighet"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "Rullningsradie"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "Tröghet för rullning"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "Omgivande FX"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "av"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "låg"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "hög"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "Byte till helskärm"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "Omstart krävs för att ändringarna ska synas."
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "Ändrar OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "Ändringar i OpenGL kräver omstart."
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "Lägg till"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "Du får %d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "Du ger:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "Avregistrera"
+
+#~ msgid "Strength:"
+#~ msgstr "Styrka:"
+
+#~ msgid "Agility:"
+#~ msgstr "Smidighet:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Skicklighet:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Hälsa:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Intelligens:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Viljestyrka:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "Var vänlig fördela %d poäng"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "Ditt namn måste vara minst 4 tecken långt."
+
+#~ msgid "Character stats OK"
+#~ msgstr "Karaktärens värden OK"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "Var vänlig ta bort %d poäng"
+
+#~ msgid "Split"
+#~ msgstr "Dela"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "Välj antal föremål att dela."
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@split|Dela@@"
+
+#~ msgid "Switch server"
+#~ msgstr "Byt server"
+
+#~ msgid "Switch character"
+#~ msgstr "Byt karaktär"
+
+#~ msgid "Email:"
+#~ msgstr "E-post:"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "Välj din Mana World-server"
+
+#~ msgid "Port:"
+#~ msgstr "Port:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "Var vänlig skriv både adressen och porten till en server."
+
+#~ msgid "Propose trade"
+#~ msgstr "Föreslå handel"
+
+#~ msgid "Confirm trade"
+#~ msgstr "Bekräfta handel"
+
+#~ msgid "Change"
+#~ msgstr "Ändra"
+
+#~ msgid "Attack %+d"
+#~ msgstr "Attack %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "Försvar %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "Hälsa %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "Mana %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "Bekräfta"
+
+#~ msgid "Charisma:"
+#~ msgstr "Karisma:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "Nuvarande vikt: %d - Maxvikt: %d"
+
+#~ msgid "Keep"
+#~ msgstr "Behåll"
diff --git a/po/th.po b/po/th.po
new file mode 100644
index 00000000..beaa5a31
--- /dev/null
+++ b/po/th.po
@@ -0,0 +1,515 @@
+# Thai translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-11-25 06:16+0000\n"
+"Last-Translator: Tharawut Paripaiboon <Unknown>\n"
+"Language-Team: Thai <th@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "ซื้อ"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "ราคา: %d GP / ทั้งหมด: %d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "ออก"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr ""
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr ""
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr "ยืนยันการลบตัวละคร"
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "คุณแน่ใจแล้วหรือที่จะลบตัวละครนี้?"
+
+#: src/gui/char_select.cpp:79
+#, fuzzy
+msgid "Select Character"
+msgstr "สร้างตัวละคร"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "ตกลง"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "ยกเลิก"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "สร้างใหม่"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "ลบทิ้ง"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "ก่อนหน้า"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "ถัดไป"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "ชื่อ: %s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, c-format
+msgid "Job Level: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "สร้างตัวละคร"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "ชื่อ:"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "สีผม:"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "ทรงผม:"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "สร้าง"
+
+#: src/gui/char_server.cpp:52
+msgid "Select Server"
+msgstr ""
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "ใช่"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "ไม่"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "กำลังเชื่อมต่อ..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "ใช้"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "ทิ้ง"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr ""
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr ""
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr ""
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "เข้าระบบ"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "รหัสผ่าน:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr ""
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "สมัครสมาชิก"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "สถานะ"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "ตั้งค่า"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr ""
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:283
+msgid "@@use|Unequip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr ""
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "ยืนยัน:"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr "ชาย"
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr "หญิง"
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr ""
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "ผิดพลาด"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr ""
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr ""
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr ""
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr ""
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr ""
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr ""
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr ""
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr ""
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr ""
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr ""
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr ""
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr ""
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr ""
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr ""
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr ""
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr ""
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr ""
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr ""
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr ""
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Change Password"
+#~ msgstr "เปลี่ยนรหัสผ่าน"
+
+#~ msgid "Change Email Address"
+#~ msgstr "เปลี่ยนที่อยู่ Email"
+
+#~ msgid "Strength:"
+#~ msgstr "Strength:"
+
+#~ msgid "Agility:"
+#~ msgstr "Agility:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "Dexterity:"
+
+#~ msgid "Vitality:"
+#~ msgstr "Vitality:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "Intelligence:"
+
+#~ msgid "Willpower:"
+#~ msgstr "Willpower:"
+
+#~ msgid "Email:"
+#~ msgstr "Email:"
diff --git a/po/tmw.pot b/po/tmw.pot
new file mode 100644
index 00000000..ae49bb32
--- /dev/null
+++ b/po/tmw.pot
@@ -0,0 +1,486 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR The Mana World Development Team
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr ""
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr ""
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr ""
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr ""
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr ""
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr ""
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr ""
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr ""
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr ""
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr ""
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr ""
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr ""
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr ""
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, c-format
+msgid "Job Level: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr ""
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr ""
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr ""
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr ""
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr ""
+
+#: src/gui/char_server.cpp:52
+msgid "Select Server"
+msgstr ""
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr ""
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr ""
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr ""
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr ""
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr ""
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr ""
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr ""
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr ""
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr ""
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr ""
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr ""
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:283
+msgid "@@use|Unequip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr ""
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr ""
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr ""
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr ""
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr ""
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr ""
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr ""
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr ""
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr ""
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr ""
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr ""
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr ""
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr ""
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr ""
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr ""
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr ""
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr ""
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr ""
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr ""
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr ""
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr ""
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr ""
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr ""
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr ""
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr ""
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr ""
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr ""
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr ""
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr ""
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 00000000..1dc7a3f0
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,582 @@
+# Simplified Chinese translation for tmw
+# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
+# This file is distributed under the same license as the tmw package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: tmw\n"
+"Report-Msgid-Bugs-To: themanaworld-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2009-01-06 14:37+0100\n"
+"PO-Revision-Date: 2008-09-17 14:41+0000\n"
+"Last-Translator: luojie-dune <Unknown>\n"
+"Language-Team: Simplified Chinese <zh_CN@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2009-01-06 12:40+0000\n"
+"X-Generator: Launchpad (build Unknown)\n"
+
+#: src/gui/buy.cpp:41 src/gui/buy.cpp:59
+msgid "Buy"
+msgstr "买"
+
+#: src/gui/buy.cpp:56 src/gui/buy.cpp:284 src/gui/sell.cpp:63
+#: src/gui/sell.cpp:304
+#, c-format
+msgid "Price: %d GP / Total: %d GP"
+msgstr "价格:%d GP/总数:%d GP"
+
+#: src/gui/buy.cpp:60 src/gui/sell.cpp:67
+msgid "Quit"
+msgstr "退出"
+
+#: src/gui/buy.cpp:61 src/gui/buy.cpp:251 src/gui/buy.cpp:269
+#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160
+#: src/gui/sell.cpp:68 src/gui/sell.cpp:275 src/gui/sell.cpp:289
+#: src/gui/trade.cpp:94 src/gui/trade.cpp:266
+#, c-format
+msgid "Description: %s"
+msgstr "描述:%s"
+
+#: src/gui/buy.cpp:62 src/gui/buy.cpp:253 src/gui/buy.cpp:270
+#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158
+#: src/gui/sell.cpp:69 src/gui/sell.cpp:277 src/gui/sell.cpp:290
+#, c-format
+msgid "Effect: %s"
+msgstr "影响: %s"
+
+#: src/gui/char_select.cpp:61
+msgid "Confirm Character Delete"
+msgstr ""
+
+#: src/gui/char_select.cpp:62
+msgid "Are you sure you want to delete this character?"
+msgstr "你确定想删除这个较色"
+
+#: src/gui/char_select.cpp:79
+msgid "Select Character"
+msgstr "选择较色"
+
+#: src/gui/char_select.cpp:82 src/gui/item_amount.cpp:50 src/gui/login.cpp:49
+#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62
+msgid "Ok"
+msgstr "OK"
+
+#: src/gui/char_select.cpp:83 src/gui/char_select.cpp:271
+#: src/gui/char_server.cpp:60 src/gui/connection.cpp:47
+#: src/gui/item_amount.cpp:51 src/gui/login.cpp:50
+#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58
+#: src/gui/trade.cpp:63
+msgid "Cancel"
+msgstr "取消"
+
+#: src/gui/char_select.cpp:84
+msgid "New"
+msgstr "新建"
+
+#: src/gui/char_select.cpp:85
+msgid "Delete"
+msgstr "删除"
+
+#: src/gui/char_select.cpp:86
+msgid "Previous"
+msgstr "上一页"
+
+#: src/gui/char_select.cpp:87
+msgid "Next"
+msgstr "下一页"
+
+#: src/gui/char_select.cpp:89 src/gui/char_select.cpp:184
+#: src/gui/char_select.cpp:196 src/gui/inventorywindow.cpp:148
+#: src/gui/inventorywindow.cpp:156 src/gui/trade.cpp:92 src/gui/trade.cpp:264
+#, c-format
+msgid "Name: %s"
+msgstr "名字:%s"
+
+#: src/gui/char_select.cpp:90 src/gui/char_select.cpp:185
+#: src/gui/char_select.cpp:197
+#, c-format
+msgid "Level: %d"
+msgstr "等级:%d"
+
+#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:186
+#: src/gui/char_select.cpp:198
+#, fuzzy, c-format
+msgid "Job Level: %d"
+msgstr "等级:%d"
+
+#: src/gui/char_select.cpp:92 src/gui/char_select.cpp:199
+#, c-format
+msgid "Money: %d"
+msgstr "金钱:%d"
+
+#: src/gui/char_select.cpp:187
+#, c-format
+msgid "Gold: %d"
+msgstr ""
+
+#: src/gui/char_select.cpp:256
+msgid "Create Character"
+msgstr "创建角色"
+
+#: src/gui/char_select.cpp:263 src/gui/login.cpp:42 src/gui/register.cpp:65
+msgid "Name:"
+msgstr "名称"
+
+#: src/gui/char_select.cpp:266
+msgid "Hair Color:"
+msgstr "头发颜色"
+
+#: src/gui/char_select.cpp:269
+msgid "Hair Style:"
+msgstr "发型"
+
+#: src/gui/char_select.cpp:270
+msgid "Create"
+msgstr "建立"
+
+#: src/gui/char_server.cpp:52
+#, fuzzy
+msgid "Select Server"
+msgstr "选择较色"
+
+#: src/gui/char_server.cpp:59 src/gui/npclistdialog.cpp:44
+#: src/gui/npc_text.cpp:46
+msgid "OK"
+msgstr ""
+
+#: src/gui/confirm_dialog.cpp:35
+msgid "Yes"
+msgstr "是"
+
+#: src/gui/confirm_dialog.cpp:36
+msgid "No"
+msgstr "否"
+
+#: src/gui/connection.cpp:49
+msgid "Connecting..."
+msgstr "连接中..."
+
+#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62
+msgid "Equipment"
+msgstr "装备"
+
+#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63
+msgid "Inventory"
+msgstr "清单"
+
+#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232
+msgid "Use"
+msgstr "使用"
+
+#: src/gui/inventorywindow.cpp:57
+msgid "Drop"
+msgstr "丢弃"
+
+#: src/gui/inventorywindow.cpp:99
+#, c-format
+msgid "Weight: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:104
+#, c-format
+msgid "Slots used: %d / %d"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:225
+msgid "Unequip"
+msgstr "卸下装备"
+
+#: src/gui/inventorywindow.cpp:228
+msgid "Equip"
+msgstr "装备"
+
+#: src/gui/item_amount.cpp:75
+msgid "Select amount of items to trade."
+msgstr "请选择交易的物品数量"
+
+#: src/gui/item_amount.cpp:79
+msgid "Select amount of items to drop."
+msgstr "请选择丢弃的物品数量"
+
+#: src/gui/login.cpp:40
+msgid "Login"
+msgstr "登陆"
+
+#: src/gui/login.cpp:43 src/gui/register.cpp:66
+msgid "Password:"
+msgstr "密码:"
+
+#: src/gui/login.cpp:44 src/gui/register.cpp:68
+msgid "Server:"
+msgstr "服务器:"
+
+#: src/gui/login.cpp:48
+msgid "Remember Username"
+msgstr ""
+
+#: src/gui/login.cpp:51 src/gui/register.cpp:75
+msgid "Register"
+msgstr "注册"
+
+#: src/gui/menuwindow.cpp:61
+msgid "Status"
+msgstr "状态"
+
+#: src/gui/menuwindow.cpp:64
+msgid "Skills"
+msgstr "技能"
+
+#: src/gui/menuwindow.cpp:65
+msgid "Shortcut"
+msgstr "快捷键"
+
+#: src/gui/menuwindow.cpp:66
+msgid "Setup"
+msgstr "安装"
+
+#: src/gui/minimap.cpp:34
+msgid "MiniMap"
+msgstr "小地图"
+
+#: src/gui/npclistdialog.cpp:35 src/gui/npc_text.cpp:35
+msgid "NPC"
+msgstr "NPC"
+
+#: src/gui/popupmenu.cpp:81
+#, c-format
+msgid "@@trade|Trade With %s@@"
+msgstr "@@交易|与%s交易@@"
+
+#: src/gui/popupmenu.cpp:83
+#, c-format
+msgid "@@attack|Attack %s@@"
+msgstr "@@攻击|攻击%s@@"
+
+#: src/gui/popupmenu.cpp:114
+msgid "@@talk|Talk To NPC@@"
+msgstr "@@谈话|和NPC谈话@@"
+
+#: src/gui/popupmenu.cpp:124 src/gui/popupmenu.cpp:140
+#: src/gui/popupmenu.cpp:293
+msgid "@@cancel|Cancel@@"
+msgstr "@@取消|取消@@"
+
+#: src/gui/popupmenu.cpp:136
+#, c-format
+msgid "@@pickup|Pick Up %s@@"
+msgstr "@@捡起|捡起%s@@"
+
+#: src/gui/popupmenu.cpp:283
+#, fuzzy
+msgid "@@use|Unequip@@"
+msgstr "@@使用|装备@@"
+
+#: src/gui/popupmenu.cpp:285
+msgid "@@use|Equip@@"
+msgstr "@@使用|装备@@"
+
+#: src/gui/popupmenu.cpp:288
+msgid "@@use|Use@@"
+msgstr "@@使用|使用@@"
+
+#: src/gui/popupmenu.cpp:290
+msgid "@@drop|Drop@@"
+msgstr "@@丢弃|丢弃@@"
+
+#: src/gui/popupmenu.cpp:291
+msgid "@@description|Description@@"
+msgstr "@@描述|描述@@"
+
+#: src/gui/register.cpp:67
+msgid "Confirm:"
+msgstr "确定"
+
+#: src/gui/register.cpp:73
+msgid "Male"
+msgstr ""
+
+#: src/gui/register.cpp:74
+msgid "Female"
+msgstr ""
+
+#: src/gui/register.cpp:176
+#, c-format
+msgid "The username needs to be at least %d characters long."
+msgstr "用户名至少需要%d个字符"
+
+#: src/gui/register.cpp:184
+#, c-format
+msgid "The username needs to be less than %d characters long."
+msgstr "用户名不能少于%d个字符"
+
+#: src/gui/register.cpp:192
+#, c-format
+msgid "The password needs to be at least %d characters long."
+msgstr "密码需要至少%d个字符"
+
+#: src/gui/register.cpp:200
+#, c-format
+msgid "The password needs to be less than %d characters long."
+msgstr "密码不能少于%d个字符"
+
+#: src/gui/register.cpp:207
+msgid "Passwords do not match."
+msgstr "密码不一致."
+
+#: src/gui/register.cpp:227
+msgid "Error"
+msgstr "错误"
+
+#: src/gui/sell.cpp:46 src/gui/sell.cpp:66
+msgid "Sell"
+msgstr "出售"
+
+#: src/gui/setup_audio.cpp:40
+msgid "Sound"
+msgstr "声音"
+
+#: src/gui/setup_audio.cpp:46
+msgid "Sfx volume"
+msgstr "音效声量"
+
+#: src/gui/setup_audio.cpp:47
+msgid "Music volume"
+msgstr "音乐声量"
+
+#: src/gui/setup.cpp:58
+msgid "Apply"
+msgstr "应用"
+
+#: src/gui/setup.cpp:58
+msgid "Reset Windows"
+msgstr "重置窗口"
+
+#: src/gui/setup.cpp:79
+msgid "Video"
+msgstr "视频"
+
+#: src/gui/setup.cpp:83
+msgid "Audio"
+msgstr "音频"
+
+#: src/gui/setup.cpp:87
+msgid "Joystick"
+msgstr "游戏杆"
+
+#: src/gui/setup.cpp:91
+msgid "Keyboard"
+msgstr ""
+
+#: src/gui/setup.cpp:95
+msgid "Players"
+msgstr ""
+
+#: src/gui/setup_joystick.cpp:36 src/gui/setup_joystick.cpp:70
+msgid "Press the button to start calibration"
+msgstr "按下开始校准按钮"
+
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:68
+msgid "Calibrate"
+msgstr "校准"
+
+#: src/gui/setup_joystick.cpp:38
+msgid "Enable joystick"
+msgstr "启用游戏杆"
+
+#: src/gui/setup_joystick.cpp:73
+msgid "Stop"
+msgstr "停止"
+
+#: src/gui/setup_joystick.cpp:74
+msgid "Rotate the stick"
+msgstr "旋转手柄"
+
+#: src/gui/setup_video.cpp:112
+msgid "Full screen"
+msgstr "全屏"
+
+#: src/gui/setup_video.cpp:113
+msgid "OpenGL"
+msgstr "OpenGL"
+
+#: src/gui/setup_video.cpp:114
+msgid "Custom cursor"
+msgstr "通常的光标"
+
+#: src/gui/setup_video.cpp:116
+msgid "FPS Limit:"
+msgstr "FPS限制"
+
+#: src/gui/setup_video.cpp:135
+msgid "Gui opacity"
+msgstr "Gui 透明度"
+
+#: src/gui/setup_video.cpp:192
+msgid "Scroll radius"
+msgstr "滚动半径"
+
+#: src/gui/setup_video.cpp:200
+msgid "Scroll laziness"
+msgstr "拉动极限"
+
+#: src/gui/setup_video.cpp:208
+msgid "Ambient FX"
+msgstr "环境音效"
+
+#: src/gui/setup_video.cpp:215 src/gui/setup_video.cpp:412
+msgid "off"
+msgstr "离线"
+
+#: src/gui/setup_video.cpp:218 src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:415 src/gui/setup_video.cpp:429
+msgid "low"
+msgstr "低"
+
+#: src/gui/setup_video.cpp:221 src/gui/setup_video.cpp:240
+#: src/gui/setup_video.cpp:418 src/gui/setup_video.cpp:435
+msgid "high"
+msgstr "高"
+
+#: src/gui/setup_video.cpp:227
+msgid "Particle Detail"
+msgstr ""
+
+#: src/gui/setup_video.cpp:237 src/gui/setup_video.cpp:432
+msgid "medium"
+msgstr ""
+
+#: src/gui/setup_video.cpp:243 src/gui/setup_video.cpp:438
+msgid "max"
+msgstr ""
+
+#: src/gui/setup_video.cpp:309
+msgid "Switching to full screen"
+msgstr "切换到全屏"
+
+#: src/gui/setup_video.cpp:310
+msgid "Restart needed for changes to take effect."
+msgstr "只有改变生效后才能重启"
+
+#: src/gui/setup_video.cpp:322
+msgid "Changing OpenGL"
+msgstr "改变成OpenGL"
+
+#: src/gui/setup_video.cpp:323
+msgid "Applying change to OpenGL requires restart."
+msgstr "运用改变为OpenGL需要重新开始"
+
+#: src/gui/trade.cpp:61
+msgid "Add"
+msgstr "添加"
+
+#: src/gui/trade.cpp:64
+msgid "Trade"
+msgstr ""
+
+#: src/gui/trade.cpp:80 src/gui/trade.cpp:156 src/gui/trade.cpp:204
+#, c-format
+msgid "You get %d GP."
+msgstr "你得到%d GP."
+
+#: src/gui/trade.cpp:81
+msgid "You give:"
+msgstr "你得到:"
+
+#: src/resources/itemdb.cpp:99
+msgid "Unnamed"
+msgstr ""
+
+#~ msgid "Unregister"
+#~ msgstr "注销"
+
+#~ msgid "Strength:"
+#~ msgstr "力量"
+
+#~ msgid "Agility:"
+#~ msgstr "敏捷:"
+
+#~ msgid "Dexterity:"
+#~ msgstr "智慧:"
+
+#~ msgid "Vitality:"
+#~ msgstr "体力:"
+
+#~ msgid "Intelligence:"
+#~ msgstr "智力:"
+
+#~ msgid "Willpower:"
+#~ msgstr "意志力:"
+
+#~ msgid "Please distribute %d points"
+#~ msgstr "请分发%d点数"
+
+#~ msgid "Your name needs to be at least 4 characters."
+#~ msgstr "你的名字需要至少4个字符"
+
+#~ msgid "Character stats OK"
+#~ msgstr "角色状态可以"
+
+#~ msgid "Please remove %d points"
+#~ msgstr "请删除%d点数"
+
+#~ msgid "Split"
+#~ msgstr "分离"
+
+#~ msgid "Select amount of items to split."
+#~ msgstr "请选择你分离的物品的数量"
+
+#~ msgid "@@split|Split@@"
+#~ msgstr "@@分离|分离@@"
+
+#~ msgid "Switch server"
+#~ msgstr "交换服务器"
+
+#~ msgid "Switch character"
+#~ msgstr "交换角色"
+
+#~ msgid "Email:"
+#~ msgstr "电子邮件"
+
+#~ msgid "Choose your Mana World Server"
+#~ msgstr "请选择你的魔法世界服务器"
+
+#~ msgid "Port:"
+#~ msgstr "端口:"
+
+#~ msgid "Please type both the address and the port of a server."
+#~ msgstr "请输入服务器的IP地址和端口"
+
+#~ msgid "Propose trade"
+#~ msgstr "打算交易"
+
+#~ msgid "Confirm trade"
+#~ msgstr "决定交易"
+
+#~ msgid "Change"
+#~ msgstr "改变"
+
+#~ msgid "Attack %+d"
+#~ msgstr "攻击 %+d"
+
+#~ msgid "Defense %+d"
+#~ msgstr "防护 %+d"
+
+#~ msgid "HP %+d"
+#~ msgstr "HP %+d"
+
+#~ msgid "MP %+d"
+#~ msgstr "MP %+d"
+
+#~ msgid "Confirm"
+#~ msgstr "确定"
+
+#~ msgid "Charisma:"
+#~ msgstr "魅力:"
+
+#~ msgid "Total Weight: %d - Maximum Weight: %d"
+#~ msgstr "总的力量:%d - 最大力量:%d"
+
+#~ msgid "Keep"
+#~ msgstr "保持"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 61fc77e8..666a675d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -261,6 +261,7 @@ SET(SRCS
utils/base64.h
utils/dtor.h
utils/fastsqrt.h
+ utils/gettext.h
utils/strprintf.cpp
utils/strprintf.h
utils/tostring.h
diff --git a/src/Makefile.am b/src/Makefile.am
index 4ef07773..c924760f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,3 +1,5 @@
+AUTOMAKE_OPTIONS = subdir-objects
+
bin_PROGRAMS = tmw
tmw_SOURCES = gui/widgets/resizegrip.cpp \
gui/widgets/resizegrip.h \
@@ -213,6 +215,7 @@ tmw_SOURCES = gui/widgets/resizegrip.cpp \
utils/base64.h \
utils/dtor.h \
utils/fastsqrt.h \
+ utils/gettext.h \
utils/strprintf.cpp \
utils/strprintf.h \
utils/tostring.h \
@@ -309,10 +312,5 @@ tmw_SOURCES = gui/widgets/resizegrip.cpp \
# set the include path found by configure
INCLUDES = \
$(all_includes) \
- -DTMW_DATADIR=\""$(pkgdatadir)/"\"
-
-# the library search path.
-tmw_LDFLAGS = $(all_libraries) $(LIBSDL_RPATH) `pkg-config --libs libxml-2.0`
-tmw_CXXFLAGS = -Wall $(LIBSDL_CFLAGS) `pkg-config --cflags libxml-2.0` $(CURL_CFLAGS)
-tmw_LDADD = $(LIBSDL_LIBS) -lguichan_sdl $(CURL_LIBS)
-tmw_TARGET = tmw
+ -DTMW_DATADIR=\""$(pkgdatadir)/"\" \
+ -DLOCALEDIR=\""$(localedir)"\"
diff --git a/src/graphics.cpp b/src/graphics.cpp
index c8cb0091..6920bcb0 100644
--- a/src/graphics.cpp
+++ b/src/graphics.cpp
@@ -123,7 +123,7 @@ bool Graphics::drawImage(Image *image, int x, int y)
{
return drawImage(image, 0, 0, x, y, image->mBounds.w, image->mBounds.h);
}
-#include <cstdio>
+
bool Graphics::drawImage(Image *image, int srcX, int srcY, int dstX, int dstY,
int width, int height, bool)
{
diff --git a/src/gui/buy.cpp b/src/gui/buy.cpp
index 714f52db..c1e5a272 100644
--- a/src/gui/buy.cpp
+++ b/src/gui/buy.cpp
@@ -34,10 +34,11 @@
#include "../net/messageout.h"
#include "../net/protocol.h"
-#include "../utils/tostring.h"
+#include "../utils/gettext.h"
+#include "../utils/strprintf.h"
BuyDialog::BuyDialog(Network *network):
- Window("Buy"), mNetwork(network),
+ Window(_("Buy")), mNetwork(network),
mMoney(0), mAmountItems(0), mMaxItems(0)
{
setWindowName("Buy");
@@ -52,13 +53,13 @@ BuyDialog::BuyDialog(Network *network):
mScrollArea = new ScrollArea(mShopItemList);
mSlider = new Slider(1.0);
mQuantityLabel = new gcn::Label("0");
- mMoneyLabel = new gcn::Label("Price : 0 GP / 0 GP");
+ mMoneyLabel = new gcn::Label(strprintf(_("Price: %d GP / Total: %d GP"), 0, 0));
mIncreaseButton = new Button("+", "+", this);
mDecreaseButton = new Button("-", "-", this);
- mBuyButton = new Button("Buy", "buy", this);
- mQuitButton = new Button("Quit", "quit", this);
- mItemDescLabel = new gcn::Label("Description:");
- mItemEffectLabel = new gcn::Label("Effect:");
+ mBuyButton = new Button(_("Buy"), "buy", this);
+ mQuitButton = new Button(_("Quit"), "quit", this);
+ mItemDescLabel = new gcn::Label(strprintf(_("Description: %s"), ""));
+ mItemEffectLabel = new gcn::Label(strprintf(_("Effect: %s"), ""));
mIncreaseButton->setSize(20, 20);
mDecreaseButton->setSize(20, 20);
@@ -159,7 +160,7 @@ void BuyDialog::action(const gcn::ActionEvent &event)
}
// TODO: Actually we'd have a bug elsewhere if this check for the number
// of items to be bought ever fails, Bertram removed the assertions, is
- // there a better way to ensure this fails in an _obivous_ way in C++?
+ // there a better way to ensure this fails in an _obvious_ way in C++?
else if (event.getId() == "buy" && mAmountItems > 0 &&
mAmountItems <= mMaxItems)
{
@@ -246,8 +247,10 @@ BuyDialog::updateButtonsAndLabels()
{
const ItemInfo &info = mShopItems->at(selectedItem)->getInfo();
- mItemDescLabel->setCaption("Description: " + info.getDescription());
- mItemEffectLabel->setCaption("Effect: " + info.getEffect());
+ mItemDescLabel->setCaption
+ (strprintf(_("Description: %s"), info.getDescription().c_str()));
+ mItemEffectLabel->setCaption
+ (strprintf(_("Effect: %s"), info.getEffect().c_str()));
int itemPrice = mShopItems->at(selectedItem)->getPrice();
@@ -263,8 +266,8 @@ BuyDialog::updateButtonsAndLabels()
}
else
{
- mItemDescLabel->setCaption("Description:");
- mItemEffectLabel->setCaption("Effect:");
+ mItemDescLabel->setCaption(strprintf(_("Description: %s"), ""));
+ mItemEffectLabel->setCaption(strprintf(_("Effect: %s"), ""));
mMaxItems = 0;
mAmountItems = 0;
}
@@ -276,8 +279,7 @@ BuyDialog::updateButtonsAndLabels()
mSlider->setEnabled(mMaxItems > 1);
// Update quantity and money labels
- mQuantityLabel->setCaption(
- toString(mAmountItems) + " / " + toString(mMaxItems));
- mMoneyLabel->setCaption("Price: " + toString(price) + " GP / "
- + toString(mMoney - price) + " GP" );
+ mQuantityLabel->setCaption(strprintf("%d / %d", mAmountItems, mMaxItems));
+ mMoneyLabel->setCaption
+ (strprintf(_("Price: %d GP / Total: %d GP"), price, mMoney - price));
}
diff --git a/src/gui/char_select.cpp b/src/gui/char_select.cpp
index 7c067eef..65dafeea 100644
--- a/src/gui/char_select.cpp
+++ b/src/gui/char_select.cpp
@@ -38,7 +38,8 @@
#include "../net/charserverhandler.h"
#include "../net/messageout.h"
-#include "../utils/tostring.h"
+#include "../utils/gettext.h"
+#include "../utils/strprintf.h"
#include "../utils/trim.h"
// Defined in main.cpp, used here for setting the char create dialog
@@ -57,8 +58,8 @@ class CharDeleteConfirm : public ConfirmDialog
};
CharDeleteConfirm::CharDeleteConfirm(CharSelectDialog *m):
- ConfirmDialog("Confirm", "Are you sure you want to delete this character?",
- m),
+ ConfirmDialog(_("Confirm Character Delete"),
+ _("Are you sure you want to delete this character?"), m),
master(m)
{
}
@@ -75,21 +76,23 @@ void CharDeleteConfirm::action(const gcn::ActionEvent &event)
CharSelectDialog::CharSelectDialog(Network *network,
LockedArray<LocalPlayer*> *charInfo,
Gender gender):
- Window("Select Character"), mNetwork(network),
+ Window(_("Select Character")), mNetwork(network),
mCharInfo(charInfo), mGender(gender), mCharSelected(false)
{
- mSelectButton = new Button("Ok", "ok", this);
- mCancelButton = new Button("Cancel", "cancel", this);
- mNewCharButton = new Button("New", "new", this);
- mDelCharButton = new Button("Delete", "delete", this);
- mPreviousButton = new Button("Previous", "previous", this);
- mNextButton = new Button("Next", "next", this);
-
- mNameLabel = new gcn::Label("Name");
- mLevelLabel = new gcn::Label("Level");
- mJobLevelLabel = new gcn::Label("Job Level");
- mMoneyLabel = new gcn::Label("Money");
- mPlayerBox = new PlayerBox();
+ mSelectButton = new Button(_("Ok"), "ok", this);
+ mCancelButton = new Button(_("Cancel"), "cancel", this);
+ mNewCharButton = new Button(_("New"), "new", this);
+ mDelCharButton = new Button(_("Delete"), "delete", this);
+ mPreviousButton = new Button(_("Previous"), "previous", this);
+ mNextButton = new Button(_("Next"), "next", this);
+
+ mNameLabel = new gcn::Label(strprintf(_("Name: %s"), ""));
+ mLevelLabel = new gcn::Label(strprintf(_("Level: %d"), 0));
+ mJobLevelLabel = new gcn::Label(strprintf(_("Job Level: %d"), 0));
+ mMoneyLabel = new gcn::Label(strprintf(_("Money: %d"), 0));
+
+ // Control that shows the Player
+ mPlayerBox = new PlayerBox;
int w = 195;
int h = 220;
@@ -178,10 +181,10 @@ void CharSelectDialog::updatePlayerInfo()
if (pi)
{
- mNameLabel->setCaption(pi->getName());
- mLevelLabel->setCaption("Lvl: " + toString(pi->mLevel));
- mJobLevelLabel->setCaption("Job Lvl: " + toString(pi->mJobLevel));
- mMoneyLabel->setCaption("Gold: " + toString(pi->mGp));
+ mNameLabel->setCaption(strprintf(_("Name: %s"), pi->getName().c_str()));
+ mLevelLabel->setCaption(strprintf(_("Level: %d"), pi->mLevel));
+ mJobLevelLabel->setCaption(strprintf(_("Job Level: %d"), pi->mJobLevel));
+ mMoneyLabel->setCaption(strprintf(_("Gold: %d"), pi->mGp));
if (!mCharSelected)
{
mNewCharButton->setEnabled(false);
@@ -190,10 +193,10 @@ void CharSelectDialog::updatePlayerInfo()
}
}
else {
- mNameLabel->setCaption("Name");
- mLevelLabel->setCaption("Level");
- mJobLevelLabel->setCaption("Job Level");
- mMoneyLabel->setCaption("Money");
+ mNameLabel->setCaption(strprintf(_("Name: %s"), ""));
+ mLevelLabel->setCaption(strprintf(_("Level: %d"), 0));
+ mJobLevelLabel->setCaption(strprintf(_("Job Level: %d"), 0));
+ mMoneyLabel->setCaption(strprintf(_("Money: %d"), 0));
mNewCharButton->setEnabled(true);
mDelCharButton->setEnabled(false);
mSelectButton->setEnabled(false);
@@ -250,22 +253,22 @@ bool CharSelectDialog::selectByName(const std::string &name)
CharCreateDialog::CharCreateDialog(Window *parent, int slot, Network *network,
Gender gender):
- Window("Create Character", true, parent), mNetwork(network), mSlot(slot)
+ Window(_("Create Character"), true, parent), mNetwork(network), mSlot(slot)
{
mPlayer = new Player(0, 0, NULL);
mPlayer->setGender(gender);
mPlayer->setHairStyle(rand() % Being::getHairStylesNr(), rand() % Being::getHairColorsNr());
mNameField = new TextField("");
- mNameLabel = new gcn::Label("Name:");
+ mNameLabel = new gcn::Label(_("Name:"));
mNextHairColorButton = new Button(">", "nextcolor", this);
mPrevHairColorButton = new Button("<", "prevcolor", this);
- mHairColorLabel = new gcn::Label("Hair Color:");
+ mHairColorLabel = new gcn::Label(_("Hair Color:"));
mNextHairStyleButton = new Button(">", "nextstyle", this);
mPrevHairStyleButton = new Button("<", "prevstyle", this);
- mHairStyleLabel = new gcn::Label("Hair Style:");
- mCreateButton = new Button("Create", "create", this);
- mCancelButton = new Button("Cancel", "cancel", this);
+ mHairStyleLabel = new gcn::Label(_("Hair Style:"));
+ mCreateButton = new Button(_("Create"), "create", this);
+ mCancelButton = new Button(_("Cancel"), "cancel", this);
mPlayerBox = new PlayerBox(mPlayer);
mNameField->setActionEventId("create");
diff --git a/src/gui/char_server.cpp b/src/gui/char_server.cpp
index ce068ad1..3d3309fb 100644
--- a/src/gui/char_server.cpp
+++ b/src/gui/char_server.cpp
@@ -31,6 +31,8 @@
#include "../net/network.h" // TODO this is just for iptostring, move that?
+#include "../utils/gettext.h"
+#include "../utils/strprintf.h"
#include "../utils/tostring.h"
extern SERVER_INFO **server_info;
@@ -47,15 +49,15 @@ class ServerListModel : public gcn::ListModel {
};
ServerSelectDialog::ServerSelectDialog(LoginData *loginData, int nextState):
- Window("Select Server"),
+ Window(_("Select Server")),
mLoginData(loginData),
mNextState(nextState)
{
mServerListModel = new ServerListModel();
mServerList = new ListBox(mServerListModel);
ScrollArea *mScrollArea = new ScrollArea(mServerList);
- mOkButton = new Button("OK", "ok", this);
- Button *mCancelButton = new Button("Cancel", "cancel", this);
+ mOkButton = new Button(_("OK"), "ok", this);
+ Button *mCancelButton = new Button(_("Cancel"), "cancel", this);
setContentSize(200, 100);
diff --git a/src/gui/confirm_dialog.cpp b/src/gui/confirm_dialog.cpp
index 9ef94f62..5f2b9cb2 100644
--- a/src/gui/confirm_dialog.cpp
+++ b/src/gui/confirm_dialog.cpp
@@ -25,14 +25,15 @@
#include "button.h"
+#include "../utils/gettext.h"
ConfirmDialog::ConfirmDialog(const std::string &title, const std::string &msg,
Window *parent):
Window(title, true, parent)
{
gcn::Label *textLabel = new gcn::Label(msg);
- gcn::Button *yesButton = new Button("Yes", "yes", this);
- gcn::Button *noButton = new Button("No", "no", this);
+ gcn::Button *yesButton = new Button(_("Yes"), "yes", this);
+ gcn::Button *noButton = new Button(_("No"), "no", this);
int w = textLabel->getWidth() + 20;
int inWidth = yesButton->getWidth() + noButton->getWidth() + 5;
diff --git a/src/gui/connection.cpp b/src/gui/connection.cpp
index 8ad3b436..0f43ff14 100644
--- a/src/gui/connection.cpp
+++ b/src/gui/connection.cpp
@@ -30,6 +30,8 @@
#include "../main.h"
+#include "../utils/gettext.h"
+
namespace {
struct ConnectionActionListener : public gcn::ActionListener
{
@@ -42,9 +44,9 @@ ConnectionDialog::ConnectionDialog():
{
setContentSize(200, 100);
- Button *cancelButton = new Button("Cancel", "cancelButton", &listener);
+ Button *cancelButton = new Button(_("Cancel"), "cancelButton", &listener);
mProgressBar = new ProgressBar(0.0, 200 - 10, 20, 128, 128, 128);
- gcn::Label *label = new gcn::Label("Connecting...");
+ gcn::Label *label = new gcn::Label(_("Connecting..."));
cancelButton->setPosition(5, 100 - 5 - cancelButton->getHeight());
mProgressBar->setPosition(5, cancelButton->getY() - 25);
diff --git a/src/gui/equipmentwindow.cpp b/src/gui/equipmentwindow.cpp
index 762ca8e8..f3a143be 100644
--- a/src/gui/equipmentwindow.cpp
+++ b/src/gui/equipmentwindow.cpp
@@ -31,10 +31,12 @@
#include "../resources/iteminfo.h"
#include "../resources/resourcemanager.h"
+#include "../utils/gettext.h"
#include "../utils/tostring.h"
EquipmentWindow::EquipmentWindow(Equipment *equipment):
- Window("Equipment"), mEquipment(equipment)
+ Window(_("Equipment")),
+ mEquipment(equipment)
{
setWindowName("Equipment");
setCloseButton(true);
diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp
index 0e1c5291..ac368aa7 100644
--- a/src/gui/inventorywindow.cpp
+++ b/src/gui/inventorywindow.cpp
@@ -39,10 +39,11 @@
#include "../resources/iteminfo.h"
-#include "../utils/tostring.h"
+#include "../utils/gettext.h"
+#include "../utils/strprintf.h"
InventoryWindow::InventoryWindow():
- Window("Inventory")
+ Window(_("Inventory"))
{
setWindowName("Inventory");
setResizable(true);
@@ -52,8 +53,8 @@ InventoryWindow::InventoryWindow():
// If you adjust these defaults, don't forget to adjust the trade window's.
setDefaultSize(115, 25, 322, 200);
- mUseButton = new Button("Use", "use", this);
- mDropButton = new Button("Drop", "drop", this);
+ mUseButton = new Button(_("Use"), "use", this);
+ mDropButton = new Button(_("Drop"), "drop", this);
mItems = new ItemContainer(player_node->getInventory());
mItems->addSelectionListener(this);
@@ -95,15 +96,14 @@ void InventoryWindow::logic()
updateButtons();
// Update weight information
- mWeightLabel->setCaption(
- "Weight: " + toString(player_node->mTotalWeight) +
- "/" + toString(player_node->mMaxWeight));
+ mWeightLabel->setCaption(strprintf(_("Weight: %d / %d"),
+ player_node->mTotalWeight,
+ player_node->mMaxWeight));
// Update number of items in inventory
- mInvenSlotLabel->setCaption(
- "Slots used: "
- + toString(player_node->getInventory()->getNumberOfSlotsUsed())
- + "/" + toString(player_node->getInventory()->getInventorySize()));
+ mInvenSlotLabel->setCaption(strprintf(_("Slots used: %d / %d"),
+ player_node->getInventory()->getNumberOfSlotsUsed(),
+ player_node->getInventory()->getInventorySize()));
}
void InventoryWindow::action(const gcn::ActionEvent &event)
@@ -145,20 +145,20 @@ void InventoryWindow::valueChanged(const gcn::SelectionEvent &event)
// Update name, effect and description
if (!item)
{
- mItemNameLabel->setCaption("Name:");
- mItemEffectLabel->setCaption("Effect:");
- mItemDescriptionLabel->setCaption("Description:");
+ mItemNameLabel->setCaption(strprintf(_("Name: %s"), ""));
+ mItemEffectLabel->setCaption(strprintf(_("Effect: %s"), ""));
+ mItemDescriptionLabel->setCaption(strprintf(_("Description: %s"), ""));
}
else
{
const ItemInfo& itemInfo = item->getInfo();
- std::string SomeText;
- SomeText = "Name: " + itemInfo.getName();
- mItemNameLabel->setCaption(SomeText);
- SomeText = "Effect: " + itemInfo.getEffect();
- mItemEffectLabel->setCaption(SomeText);
- SomeText = "Description: " + itemInfo.getDescription();
- mItemDescriptionLabel->setCaption(SomeText);
+ mItemNameLabel->setCaption(
+ strprintf(_("Name: %s"), itemInfo.getName().c_str()));
+ mItemEffectLabel->setCaption(
+ strprintf(_("Effect: %s"), itemInfo.getEffect().c_str()));
+ mItemDescriptionLabel->setCaption(
+ strprintf(_("Description: %s"),
+ itemInfo.getDescription().c_str()));
}
}
@@ -170,7 +170,8 @@ void InventoryWindow::mouseClicked(gcn::MouseEvent &event)
{
Item *item = mItems->getSelectedItem();
- if (!item) return;
+ if (!item)
+ return;
/* Convert relative to the window coordinates to absolute screen
* coordinates.
@@ -221,14 +222,14 @@ void InventoryWindow::updateButtons()
if (selectedItem && selectedItem->isEquipment())
{
if (selectedItem->isEquipped()) {
- mUseButton->setCaption("Unequip");
+ mUseButton->setCaption(_("Unequip"));
}
else {
- mUseButton->setCaption("Equip");
+ mUseButton->setCaption(_("Equip"));
}
}
else {
- mUseButton->setCaption("Use");
+ mUseButton->setCaption(_("Use"));
}
mUseButton->setEnabled(selectedItem != 0);
diff --git a/src/gui/item_amount.cpp b/src/gui/item_amount.cpp
index 2e8941e8..064c8f93 100644
--- a/src/gui/item_amount.cpp
+++ b/src/gui/item_amount.cpp
@@ -29,31 +29,33 @@
#include "../item.h"
#include "../localplayer.h"
+#include "../utils/gettext.h"
+
ItemAmountWindow::ItemAmountWindow(int usage, Window *parent, Item *item):
- Window("Select amount of items to drop.", true, parent),
+ Window("", true, parent),
mItem(item)
{
- // New labels
+ // Integer field
mItemAmountTextBox = new IntTextBox(1);
-
- // New buttons
- Button *minusButton = new Button("-", "Minus", this);
- Button *plusButton = new Button("+", "Plus", this);
- Button *okButton = new Button("Okay", "Drop", this);
- Button *cancelButton = new Button("Cancel", "Cancel", this);
- mItemAmountSlide = new Slider(1.0, mItem->getQuantity());
-
mItemAmountTextBox->setRange(1, mItem->getQuantity());
- mItemAmountSlide->setDimension(gcn::Rectangle(5, 120, 180, 10));
- // Set button events Id
+ // Slider
+ mItemAmountSlide = new Slider(1.0, mItem->getQuantity());
mItemAmountSlide->setActionEventId("Slide");
+ mItemAmountSlide->addActionListener(this);
+
+ // Buttons
+ Button *minusButton = new Button("-", "Minus", this);
+ Button *plusButton = new Button("+", "Plus", this);
+ Button *okButton = new Button(_("Ok"), "Drop", this);
+ Button *cancelButton = new Button(_("Cancel"), "Cancel", this);
- // Set position
+ // Set positions
mItemAmountTextBox->setPosition(35, 10);
mItemAmountTextBox->setSize(24, 16);
plusButton->setPosition(60, 5);
minusButton->setPosition(10, 5);
+ mItemAmountSlide->setDimension(gcn::Rectangle(5, 120, 180, 10));
mItemAmountSlide->setPosition(10, 35);
okButton->setPosition(10, 50);
cancelButton->setPosition(60, 50);
@@ -66,17 +68,15 @@ ItemAmountWindow::ItemAmountWindow(int usage, Window *parent, Item *item):
add(okButton);
add(cancelButton);
- mItemAmountSlide->addActionListener(this);
-
resetAmount();
switch (usage) {
case AMOUNT_TRADE_ADD:
- setCaption("Select amount of items to trade.");
+ setCaption(_("Select amount of items to trade."));
okButton->setActionEventId("AddTrade");
break;
case AMOUNT_ITEM_DROP:
- setCaption("Select amount of items to drop.");
+ setCaption(_("Select amount of items to drop."));
okButton->setActionEventId("Drop");
break;
default:
diff --git a/src/gui/login.cpp b/src/gui/login.cpp
index 06a5f9f0..5a748b52 100644
--- a/src/gui/login.cpp
+++ b/src/gui/login.cpp
@@ -34,21 +34,23 @@
#include "passwordfield.h"
#include "textfield.h"
+#include "../utils/gettext.h"
+
LoginDialog::LoginDialog(LoginData *loginData):
- Window("Login"), mLoginData(loginData)
+ Window(_("Login")), mLoginData(loginData)
{
- gcn::Label *userLabel = new gcn::Label("Name:");
- gcn::Label *passLabel = new gcn::Label("Password:");
- gcn::Label *serverLabel = new gcn::Label("Server:");
+ gcn::Label *userLabel = new gcn::Label(_("Name:"));
+ gcn::Label *passLabel = new gcn::Label(_("Password:"));
+ gcn::Label *serverLabel = new gcn::Label(_("Server:"));
mUserField = new TextField(mLoginData->username);
mPassField = new PasswordField(mLoginData->password);
mServerField = new TextField(mLoginData->hostname);
- mKeepCheck = new CheckBox("Keep", mLoginData->remember);
- mOkButton = new Button("OK", "ok", this);
- mCancelButton = new Button("Cancel", "cancel", this);
- mRegisterButton = new Button("Register", "register", this);
+ mKeepCheck = new CheckBox(_("Remember Username"), mLoginData->remember);
+ mOkButton = new Button(_("Ok"), "ok", this);
+ mCancelButton = new Button(_("Cancel"), "cancel", this);
+ mRegisterButton = new Button(_("Register"), "register", this);
- const int width = 220;
+ const int width = 250;
const int height = 100;
setContentSize(width, height);
diff --git a/src/gui/menuwindow.cpp b/src/gui/menuwindow.cpp
index 3c3e4ab8..0893cb1c 100644
--- a/src/gui/menuwindow.cpp
+++ b/src/gui/menuwindow.cpp
@@ -28,6 +28,8 @@
#include "button.h"
#include "windowcontainer.h"
+#include "../utils/gettext.h"
+
extern Window *setupWindow;
extern Window *inventoryWindow;
extern Window *equipmentWindow;
@@ -54,21 +56,21 @@ MenuWindow::MenuWindow():
setTitleBarHeight(0);
// Buttons
- const char *buttonNames[] =
+ static const char *buttonNames[] =
{
- "Status",
- "Equipment",
- "Inventory",
- "Skills",
- "Shortcut",
- "Setup",
+ N_("Status"),
+ N_("Equipment"),
+ N_("Inventory"),
+ N_("Skills"),
+ N_("Shortcut"),
+ N_("Setup"),
0
};
int x = 0, h = 0;
for (const char **curBtn = buttonNames; *curBtn; curBtn++)
{
- gcn::Button *btn = new Button(*curBtn, *curBtn, &listener);
+ gcn::Button *btn = new Button(gettext(*curBtn), *curBtn, &listener);
btn->setPosition(x, 0);
add(btn);
x += btn->getWidth() + 3;
diff --git a/src/gui/minimap.cpp b/src/gui/minimap.cpp
index 231c749f..55132d6d 100644
--- a/src/gui/minimap.cpp
+++ b/src/gui/minimap.cpp
@@ -28,8 +28,10 @@
#include "../resources/image.h"
+#include "../utils/gettext.h"
+
Minimap::Minimap():
- Window("Map"),
+ Window(_("MiniMap")),
mMapImage(NULL)
{
setWindowName("MiniMap");
diff --git a/src/gui/npc_text.cpp b/src/gui/npc_text.cpp
index 34c9cce1..c9ace303 100644
--- a/src/gui/npc_text.cpp
+++ b/src/gui/npc_text.cpp
@@ -29,8 +29,10 @@
#include "../npc.h"
+#include "../utils/gettext.h"
+
NpcTextDialog::NpcTextDialog():
- Window("NPC")
+ Window(_("NPC"))
{
setResizable(true);
@@ -41,7 +43,7 @@ NpcTextDialog::NpcTextDialog():
mTextBox->setEditable(false);
scrollArea = new ScrollArea(mTextBox);
- okButton = new Button("OK", "ok", this);
+ okButton = new Button(_("OK"), "ok", this);
setContentSize(260, 175);
scrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
diff --git a/src/gui/npclistdialog.cpp b/src/gui/npclistdialog.cpp
index cdd38312..bff6994d 100644
--- a/src/gui/npclistdialog.cpp
+++ b/src/gui/npclistdialog.cpp
@@ -29,8 +29,10 @@
#include "../npc.h"
+#include "../utils/gettext.h"
+
NpcListDialog::NpcListDialog():
- Window("NPC")
+ Window(_("NPC"))
{
setResizable(true);
@@ -39,8 +41,8 @@ NpcListDialog::NpcListDialog():
mItemList = new ListBox(this);
scrollArea = new ScrollArea(mItemList);
- okButton = new Button("OK", "ok", this);
- cancelButton = new Button("Cancel", "cancel", this);
+ okButton = new Button(_("OK"), "ok", this);
+ cancelButton = new Button(_("Cancel"), "cancel", this);
setContentSize(260, 175);
scrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
diff --git a/src/gui/ok_dialog.cpp b/src/gui/ok_dialog.cpp
index d43c8e69..9db3cd7b 100644
--- a/src/gui/ok_dialog.cpp
+++ b/src/gui/ok_dialog.cpp
@@ -24,6 +24,8 @@
#include "button.h"
#include "scrollarea.h"
+#include "../utils/gettext.h"
+
OkDialog::OkDialog(const std::string &title, const std::string &msg,
Window *parent):
Window(title, true, parent)
@@ -32,7 +34,7 @@ OkDialog::OkDialog(const std::string &title, const std::string &msg,
textBox->setEditable(false);
gcn::ScrollArea *scrollArea = new ScrollArea(textBox);
- gcn::Button *okButton = new Button("Ok", "ok", this);
+ gcn::Button *okButton = new Button(_("Ok"), "ok", this);
setContentSize(260, 175);
scrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp
index 07719d2c..bfa75ef9 100644
--- a/src/gui/popupmenu.cpp
+++ b/src/gui/popupmenu.cpp
@@ -42,6 +42,9 @@
#include "../resources/iteminfo.h"
#include "../resources/itemdb.h"
+#include "../utils/gettext.h"
+#include "../utils/strprintf.h"
+
extern std::string tradePartnerName;
PopupMenu::PopupMenu():
@@ -74,8 +77,10 @@ void PopupMenu::showPopup(int x, int y, Being *being)
// Players can be traded with. Later also attack, follow and
// add as buddy will be options in this menu.
const std::string &name = being->getName();
- mBrowserBox->addRow("@@trade|Trade With " + name + "@@");
- mBrowserBox->addRow("@@attack|Attack " + name + "@@");
+ mBrowserBox->addRow(
+ strprintf(_("@@trade|Trade With %s@@"), name.c_str()));
+ mBrowserBox->addRow(
+ strprintf(_("@@attack|Attack %s@@"), name.c_str()));
mBrowserBox->addRow("##3---");
@@ -106,7 +111,7 @@ void PopupMenu::showPopup(int x, int y, Being *being)
case Being::NPC:
// NPCs can be talked to (single option, candidate for removal
// unless more options would be added)
- mBrowserBox->addRow("@@talk|Talk To NPC@@");
+ mBrowserBox->addRow(_("@@talk|Talk To NPC@@"));
break;
default:
@@ -116,7 +121,7 @@ void PopupMenu::showPopup(int x, int y, Being *being)
//browserBox->addRow("@@look|Look To@@");
mBrowserBox->addRow("##3---");
- mBrowserBox->addRow("@@cancel|Cancel@@");
+ mBrowserBox->addRow(_("@@cancel|Cancel@@"));
showPopup(x, y);
}
@@ -128,11 +133,11 @@ void PopupMenu::showPopup(int x, int y, FloorItem *floorItem)
// Floor item can be picked up (single option, candidate for removal)
std::string name = ItemDB::get(mFloorItem->getItemId()).getName();
- mBrowserBox->addRow("@@pickup|Pick Up " + name + "@@");
+ mBrowserBox->addRow(strprintf(_("@@pickup|Pick Up %s@@"), name.c_str()));
//browserBox->addRow("@@look|Look To@@");
mBrowserBox->addRow("##3---");
- mBrowserBox->addRow("@@cancel|Cancel@@");
+ mBrowserBox->addRow(_("@@cancel|Cancel@@"));
showPopup(x, y);
}
@@ -275,17 +280,17 @@ void PopupMenu::showPopup(int x, int y, Item *item)
if (item->isEquipment())
{
if (item->isEquipped())
- mBrowserBox->addRow("@@use|Unequip@@");
+ mBrowserBox->addRow(_("@@use|Unequip@@"));
else
- mBrowserBox->addRow("@@use|Equip@@");
+ mBrowserBox->addRow(_("@@use|Equip@@"));
}
else
- mBrowserBox->addRow("@@use|Use@@");
+ mBrowserBox->addRow(_("@@use|Use@@"));
- mBrowserBox->addRow("@@drop|Drop@@");
- mBrowserBox->addRow("@@description|Description@@");
+ mBrowserBox->addRow(_("@@drop|Drop@@"));
+ mBrowserBox->addRow(_("@@description|Description@@"));
mBrowserBox->addRow("##3---");
- mBrowserBox->addRow("@@cancel|Cancel@@");
+ mBrowserBox->addRow(_("@@cancel|Cancel@@"));
showPopup(x, y);
}
diff --git a/src/gui/register.cpp b/src/gui/register.cpp
index 2a97a3e5..ce36efa2 100644
--- a/src/gui/register.cpp
+++ b/src/gui/register.cpp
@@ -39,6 +39,9 @@
#include "textfield.h"
#include "ok_dialog.h"
+#include "../utils/gettext.h"
+#include "../utils/strprintf.h"
+
void
WrongDataNoticeListener::setTarget(gcn::TextField *textField)
{
@@ -59,18 +62,18 @@ RegisterDialog::RegisterDialog(LoginData *loginData):
mWrongDataNoticeListener(new WrongDataNoticeListener()),
mLoginData(loginData)
{
- gcn::Label *userLabel = new gcn::Label("Name:");
- gcn::Label *passwordLabel = new gcn::Label("Password:");
- gcn::Label *confirmLabel = new gcn::Label("Confirm:");
- gcn::Label *serverLabel = new gcn::Label("Server:");
+ gcn::Label *userLabel = new gcn::Label(_("Name:"));
+ gcn::Label *passwordLabel = new gcn::Label(_("Password:"));
+ gcn::Label *confirmLabel = new gcn::Label(_("Confirm:"));
+ gcn::Label *serverLabel = new gcn::Label(_("Server:"));
mUserField = new TextField(loginData->username);
mPasswordField = new PasswordField(loginData->password);
mConfirmField = new PasswordField();
mServerField = new TextField(loginData->hostname);
- mMaleButton = new RadioButton("Male", "sex", true);
- mFemaleButton = new RadioButton("Female", "sex", false);
- mRegisterButton = new Button("Register", "register", this);
- mCancelButton = new Button("Cancel", "cancel", this);
+ mMaleButton = new RadioButton(_("Male"), "sex", true);
+ mFemaleButton = new RadioButton(_("Female"), "sex", false);
+ mRegisterButton = new Button(_("Register"), "register", this);
+ mCancelButton = new Button(_("Cancel"), "cancel", this);
const int width = 220;
const int height = 150;
@@ -163,45 +166,45 @@ RegisterDialog::action(const gcn::ActionEvent &event)
const std::string user = mUserField->getText();
logger->log("RegisterDialog::register Username is %s", user.c_str());
- std::stringstream errorMsg;
+ std::string errorMsg;
int error = 0;
if (user.length() < LEN_MIN_USERNAME)
{
// Name too short
- errorMsg << "The username needs to be at least "
- << LEN_MIN_USERNAME
- << " characters long.";
+ errorMsg = strprintf
+ (_("The username needs to be at least %d characters long."),
+ LEN_MIN_USERNAME);
error = 1;
}
else if (user.length() > LEN_MAX_USERNAME - 1 )
{
// Name too long
- errorMsg << "The username needs to be less than "
- << LEN_MAX_USERNAME
- << " characters long.";
+ errorMsg = strprintf
+ (_("The username needs to be less than %d characters long."),
+ LEN_MAX_USERNAME);
error = 1;
}
else if (mPasswordField->getText().length() < LEN_MIN_PASSWORD)
{
// Pass too short
- errorMsg << "The password needs to be at least "
- << LEN_MIN_PASSWORD
- << " characters long.";
+ errorMsg = strprintf
+ (_("The password needs to be at least %d characters long."),
+ LEN_MIN_PASSWORD);
error = 2;
}
else if (mPasswordField->getText().length() > LEN_MAX_PASSWORD - 1 )
{
// Pass too long
- errorMsg << "The password needs to be less than "
- << LEN_MAX_PASSWORD
- << " characters long.";
+ errorMsg = strprintf
+ (_("The password needs to be less than %d characters long."),
+ LEN_MAX_PASSWORD);
error = 2;
}
else if (mPasswordField->getText() != mConfirmField->getText())
{
// Password does not match with the confirmation one
- errorMsg << "Passwords do not match.";
+ errorMsg = _("Passwords do not match.");
error = 2;
}
@@ -220,8 +223,8 @@ RegisterDialog::action(const gcn::ActionEvent &event)
mWrongDataNoticeListener->setTarget(this->mPasswordField);
}
- OkDialog *mWrongRegisterNotice = new OkDialog("Error",
- errorMsg.str());
+ OkDialog *mWrongRegisterNotice =
+ new OkDialog(_("Error"), errorMsg);
mWrongRegisterNotice->addActionListener(mWrongDataNoticeListener);
}
else
diff --git a/src/gui/sell.cpp b/src/gui/sell.cpp
index 6df1cbf6..7a2e94c6 100644
--- a/src/gui/sell.cpp
+++ b/src/gui/sell.cpp
@@ -39,10 +39,11 @@
#include "../net/messageout.h"
#include "../net/protocol.h"
-#include "../utils/tostring.h"
+#include "../utils/gettext.h"
+#include "../utils/strprintf.h"
SellDialog::SellDialog(Network *network):
- Window("Sell"),
+ Window(_("Sell")),
mNetwork(network),
mMaxItems(0), mAmountItems(0)
{
@@ -58,13 +59,14 @@ SellDialog::SellDialog(Network *network):
mScrollArea = new ScrollArea(mShopItemList);
mSlider = new Slider(1.0);
mQuantityLabel = new gcn::Label("0");
- mMoneyLabel = new gcn::Label("Money: 0 GP / Total: 0 GP");
+ mMoneyLabel = new gcn::Label(
+ strprintf(_("Price: %d GP / Total: %d GP"), 0, 0));
mIncreaseButton = new Button("+", "+", this);
mDecreaseButton = new Button("-", "-", this);
- mSellButton = new Button("Sell", "sell", this);
- mQuitButton = new Button("Quit", "quit", this);
- mItemDescLabel = new gcn::Label("Description:");
- mItemEffectLabel = new gcn::Label("Effect:");
+ mSellButton = new Button(_("Sell"), "sell", this);
+ mQuitButton = new Button(_("Quit"), "quit", this);
+ mItemDescLabel = new gcn::Label(strprintf(_("Description: %s"), ""));
+ mItemEffectLabel = new gcn::Label(strprintf(_("Effect: %s"), ""));
mIncreaseButton->setSize(20, 20);
mDecreaseButton->setSize(20, 20);
@@ -261,14 +263,19 @@ void SellDialog::setMoney(int amount)
mShopItemList->setPlayersMoney(amount);
}
-void
-SellDialog::updateButtonsAndLabels()
+void SellDialog::updateButtonsAndLabels()
{
int selectedItem = mShopItemList->getSelected();
int income = 0;
if (selectedItem > -1)
{
+ const ItemInfo &info = mShopItems->at(selectedItem)->getInfo();
+ mItemDescLabel->setCaption
+ (strprintf(_("Description: %s"), info.getDescription().c_str()));
+ mItemEffectLabel->setCaption
+ (strprintf(_("Effect: %s"), info.getEffect().c_str()));
+
mMaxItems = mShopItems->at(selectedItem)->getQuantity();
if (mAmountItems > mMaxItems)
{
@@ -276,17 +283,13 @@ SellDialog::updateButtonsAndLabels()
}
income = mAmountItems * mShopItems->at(selectedItem)->getPrice();
-
- const ItemInfo &info = mShopItems->at(selectedItem)->getInfo();
- mItemDescLabel->setCaption("Description: " + info.getDescription());
- mItemEffectLabel->setCaption("Effect: " + info.getEffect());
}
else
{
+ mItemDescLabel->setCaption(strprintf(_("Description: %s"), ""));
+ mItemEffectLabel->setCaption(strprintf(_("Effect: %s"), ""));
mMaxItems = 0;
mAmountItems = 0;
- mItemDescLabel->setCaption("Description:");
- mItemEffectLabel->setCaption("Effect:");
}
// Update Buttons and slider
@@ -296,8 +299,8 @@ SellDialog::updateButtonsAndLabels()
mSlider->setEnabled(mMaxItems > 1);
// Update the quantity and money labels
- mQuantityLabel->setCaption(
- toString(mAmountItems) + " / " + toString(mMaxItems));
- mMoneyLabel->setCaption("Money: " + toString(income) + " GP / Total: "
- + toString(mPlayerMoney + income) + " GP");
+ mQuantityLabel->setCaption(strprintf("%d / %d", mAmountItems, mMaxItems));
+ mMoneyLabel->setCaption
+ (strprintf(_("Price: %d GP / Total: %d GP"),
+ income, mPlayerMoney + income));
}
diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp
index 2da9d1b5..067d8d64 100644
--- a/src/gui/setup.cpp
+++ b/src/gui/setup.cpp
@@ -32,6 +32,8 @@
#include "tabbedcontainer.h"
#include "../utils/dtor.h"
+#include "../utils/gettext.h"
+
#include <iostream>
extern Window *statusWindow;
@@ -52,12 +54,12 @@ Setup::Setup():
int height = 265;
setContentSize(width, height);
- const char *buttonNames[] = {
- "Apply", "Cancel", "Reset Windows", 0
+ static const char *buttonNames[] = {
+ N_("Apply"), N_("Cancel"), N_("Reset Windows"), 0
};
int x = width;
for (const char **curBtn = buttonNames; *curBtn; ++curBtn) {
- Button *btn = new Button(*curBtn, *curBtn, this);
+ Button *btn = new Button(gettext(*curBtn), *curBtn, this);
x -= btn->getWidth() + 5;
btn->setPosition(x, height - btn->getHeight() - 5);
add(btn);
@@ -74,23 +76,23 @@ Setup::Setup():
SetupTab *tab;
tab = new Setup_Video();
- panel->addTab(tab, "Video");
+ panel->addTab(tab, _("Video"));
mTabs.push_back(tab);
tab = new Setup_Audio();
- panel->addTab(tab, "Audio");
+ panel->addTab(tab, _("Audio"));
mTabs.push_back(tab);
tab = new Setup_Joystick();
- panel->addTab(tab, "Joystick");
+ panel->addTab(tab, _("Joystick"));
mTabs.push_back(tab);
tab = new Setup_Keyboard();
- panel->addTab(tab, "Keyboard");
+ panel->addTab(tab, _("Keyboard"));
mTabs.push_back(tab);
tab = new Setup_Players();
- panel->addTab(tab, "Players");
+ panel->addTab(tab, _("Players"));
mTabs.push_back(tab);
add(panel);
diff --git a/src/gui/setup_audio.cpp b/src/gui/setup_audio.cpp
index a027e133..c595edc9 100644
--- a/src/gui/setup_audio.cpp
+++ b/src/gui/setup_audio.cpp
@@ -31,18 +31,20 @@
#include "../log.h"
#include "../sound.h"
+#include "../utils/gettext.h"
+
Setup_Audio::Setup_Audio():
mMusicVolume((int)config.getValue("musicVolume", 60)),
mSfxVolume((int)config.getValue("sfxVolume", 100)),
mSoundEnabled(config.getValue("sound", 0)),
- mSoundCheckBox(new CheckBox("Sound", mSoundEnabled)),
+ mSoundCheckBox(new CheckBox(_("Sound"), mSoundEnabled)),
mSfxSlider(new Slider(0, 128)),
mMusicSlider(new Slider(0, 128))
{
setOpaque(false);
- gcn::Label *sfxLabel = new gcn::Label("Sfx volume");
- gcn::Label *musicLabel = new gcn::Label("Music volume");
+ gcn::Label *sfxLabel = new gcn::Label(_("Sfx volume"));
+ gcn::Label *musicLabel = new gcn::Label(_("Music volume"));
mSfxSlider->setActionEventId("sfx");
mMusicSlider->setActionEventId("music");
diff --git a/src/gui/setup_joystick.cpp b/src/gui/setup_joystick.cpp
index c59068f7..a718f87e 100644
--- a/src/gui/setup_joystick.cpp
+++ b/src/gui/setup_joystick.cpp
@@ -28,12 +28,14 @@
#include "../configuration.h"
#include "../joystick.h"
+#include "../utils/gettext.h"
+
extern Joystick *joystick;
Setup_Joystick::Setup_Joystick():
- mCalibrateLabel(new gcn::Label("Press the button to start calibration")),
- mCalibrateButton(new Button("Calibrate", "calibrate", this)),
- mJoystickEnabled(new CheckBox("Enable joystick"))
+ mCalibrateLabel(new gcn::Label(_("Press the button to start calibration"))),
+ mCalibrateButton(new Button(_("Calibrate"), "calibrate", this)),
+ mJoystickEnabled(new CheckBox(_("Enable joystick")))
{
setOpaque(false);
mJoystickEnabled->setPosition(10, 10);
@@ -63,13 +65,13 @@ void Setup_Joystick::action(const gcn::ActionEvent &event)
else
{
if (joystick->isCalibrating()) {
- mCalibrateButton->setCaption("Calibrate");
- mCalibrateLabel->setCaption(
- "Press the button to start calibration");
+ mCalibrateButton->setCaption(_("Calibrate"));
+ mCalibrateLabel->setCaption
+ (_("Press the button to start calibration"));
joystick->finishCalibration();
} else {
- mCalibrateButton->setCaption("Stop");
- mCalibrateLabel->setCaption("Rotate the stick");
+ mCalibrateButton->setCaption(_("Stop"));
+ mCalibrateLabel->setCaption(_("Rotate the stick"));
joystick->startCalibration();
}
}
diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp
index 54169b63..0debe163 100644
--- a/src/gui/setup_video.cpp
+++ b/src/gui/setup_video.cpp
@@ -43,6 +43,7 @@
#include "../main.h"
#include "../particle.h"
+#include "../utils/gettext.h"
#include "../utils/tostring.h"
extern Graphics *graphics;
@@ -108,11 +109,11 @@ Setup_Video::Setup_Video():
mFps((int) config.getValue("fpslimit", 0)),
mModeListModel(new ModeListModel),
mModeList(new ListBox(mModeListModel)),
- mFsCheckBox(new CheckBox("Full screen", mFullScreenEnabled)),
- mOpenGLCheckBox(new CheckBox("OpenGL", mOpenGLEnabled)),
- mCustomCursorCheckBox(new CheckBox("Custom cursor", mCustomCursorEnabled)),
+ mFsCheckBox(new CheckBox(_("Full screen"), mFullScreenEnabled)),
+ mOpenGLCheckBox(new CheckBox(_("OpenGL"), mOpenGLEnabled)),
+ mCustomCursorCheckBox(new CheckBox(_("Custom cursor"), mCustomCursorEnabled)),
mAlphaSlider(new Slider(0.2, 1.0)),
- mFpsCheckBox(new CheckBox("FPS Limit: ")),
+ mFpsCheckBox(new CheckBox(_("FPS Limit:"))),
mFpsSlider(new Slider(10, 200)),
mFpsField(new TextField),
mOriginalScrollLaziness((int) config.getValue("ScrollLaziness", 16)),
@@ -131,7 +132,7 @@ Setup_Video::Setup_Video():
setOpaque(false);
ScrollArea *scrollArea = new ScrollArea(mModeList);
- gcn::Label *alphaLabel = new gcn::Label("Gui opacity");
+ gcn::Label *alphaLabel = new gcn::Label(_("Gui opacity"));
mModeList->setEnabled(false);
#ifndef USE_OPENGL
@@ -188,7 +189,7 @@ Setup_Video::Setup_Video():
mParticleDetailField->addKeyListener(this);
mScrollRadiusSlider->setDimension(gcn::Rectangle(10, 120, 75, 10));
- gcn::Label *scrollRadiusLabel = new gcn::Label("Scroll radius");
+ gcn::Label *scrollRadiusLabel = new gcn::Label(_("Scroll radius"));
scrollRadiusLabel->setPosition(90, 120);
mScrollRadiusField->setPosition(mFpsField->getX(), 120);
mScrollRadiusField->setWidth(30);
@@ -196,7 +197,7 @@ Setup_Video::Setup_Video():
mScrollRadiusSlider->setValue(mOriginalScrollRadius);
mScrollLazinessSlider->setDimension(gcn::Rectangle(10, 140, 75, 10));
- gcn::Label *scrollLazinessLabel = new gcn::Label("Scroll laziness");
+ gcn::Label *scrollLazinessLabel = new gcn::Label(_("Scroll laziness"));
scrollLazinessLabel->setPosition(90, 140);
mScrollLazinessField->setPosition(mFpsField->getX(), 140);
mScrollLazinessField->setWidth(30);
@@ -204,42 +205,42 @@ Setup_Video::Setup_Video():
mScrollLazinessSlider->setValue(mOriginalScrollLaziness);
mOverlayDetailSlider->setDimension(gcn::Rectangle(10, 160, 75, 10));
- gcn::Label *overlayDetailLabel = new gcn::Label("Ambient FX");
+ gcn::Label *overlayDetailLabel = new gcn::Label(_("Ambient FX"));
overlayDetailLabel->setPosition(90, 160);
mOverlayDetailField->setPosition(180, 160);
mOverlayDetailField->setWidth(30);
switch (mOverlayDetail)
{
case 0:
- mOverlayDetailField->setCaption("off");
+ mOverlayDetailField->setCaption(_("off"));
break;
case 1:
- mOverlayDetailField->setCaption("low");
+ mOverlayDetailField->setCaption(_("low"));
break;
case 2:
- mOverlayDetailField->setCaption("high");
+ mOverlayDetailField->setCaption(_("high"));
break;
}
mOverlayDetailSlider->setValue(mOverlayDetail);
mParticleDetailSlider->setDimension(gcn::Rectangle(10, 180, 75, 10));
- gcn::Label *particleDetailLabel = new gcn::Label("Particle Detail");
+ gcn::Label *particleDetailLabel = new gcn::Label(_("Particle Detail"));
particleDetailLabel->setPosition(90, 180);
mParticleDetailField->setPosition(180, 180);
mParticleDetailField->setWidth(60);
switch (mParticleDetail)
{
case 0:
- mParticleDetailField->setCaption("low");
+ mParticleDetailField->setCaption(_("low"));
break;
case 1:
- mParticleDetailField->setCaption("medium");
+ mParticleDetailField->setCaption(_("medium"));
break;
case 2:
- mParticleDetailField->setCaption("high");
+ mParticleDetailField->setCaption(_("high"));
break;
case 3:
- mParticleDetailField->setCaption("max");
+ mParticleDetailField->setCaption(_("max"));
break;
}
mParticleDetailSlider->setValue(mParticleDetail);
@@ -305,8 +306,8 @@ void Setup_Video::apply()
}
#ifdef WIN32
} else {
- new OkDialog("Switching to full screen",
- "Restart needed for changes to take effect.");
+ new OkDialog(_("Switching to full screen"),
+ _("Restart needed for changes to take effect."));
}
#endif
config.setValue("screen", fullscreen ? 1 : 0);
@@ -318,8 +319,8 @@ void Setup_Video::apply()
config.setValue("opengl", mOpenGLCheckBox->isSelected() ? 1 : 0);
// OpenGL can currently only be changed by restarting, notify user.
- new OkDialog("Changing OpenGL",
- "Applying change to OpenGL requires restart.");
+ new OkDialog(_("Changing OpenGL"),
+ _("Applying change to OpenGL requires restart."));
}
// FPS change
@@ -408,13 +409,13 @@ void Setup_Video::action(const gcn::ActionEvent &event)
switch (val)
{
case 0:
- mOverlayDetailField->setCaption("off");
+ mOverlayDetailField->setCaption(_("off"));
break;
case 1:
- mOverlayDetailField->setCaption("low");
+ mOverlayDetailField->setCaption(_("low"));
break;
case 2:
- mOverlayDetailField->setCaption("high");
+ mOverlayDetailField->setCaption(_("high"));
break;
}
config.setValue("OverlayDetail", val);
@@ -425,16 +426,16 @@ void Setup_Video::action(const gcn::ActionEvent &event)
switch (val)
{
case 0:
- mParticleDetailField->setCaption("low");
+ mParticleDetailField->setCaption(_("low"));
break;
case 1:
- mParticleDetailField->setCaption("medium");
+ mParticleDetailField->setCaption(_("medium"));
break;
case 2:
- mParticleDetailField->setCaption("high");
+ mParticleDetailField->setCaption(_("high"));
break;
case 3:
- mParticleDetailField->setCaption("max");
+ mParticleDetailField->setCaption(_("max"));
break;
}
config.setValue("particleEmitterSkip", 3 - val);
diff --git a/src/gui/trade.cpp b/src/gui/trade.cpp
index 9347cc02..9b88b6fb 100644
--- a/src/gui/trade.cpp
+++ b/src/gui/trade.cpp
@@ -41,6 +41,8 @@
#include "../resources/iteminfo.h"
+#include "../utils/gettext.h"
+#include "../utils/strprintf.h"
#include "../utils/tostring.h"
TradeWindow::TradeWindow(Network *network):
@@ -56,10 +58,10 @@ TradeWindow::TradeWindow(Network *network):
setMinWidth(342);
setMinHeight(209);
- mAddButton = new Button("Add", "add", this);
- mOkButton = new Button("Ok", "ok", this);
- mCancelButton = new Button("Cancel", "cancel", this);
- mTradeButton = new Button("Trade", "trade", this);
+ mAddButton = new Button(_("Add"), "add", this);
+ mOkButton = new Button(_("Ok"), "ok", this);
+ mCancelButton = new Button(_("Cancel"), "cancel", this);
+ mTradeButton = new Button(_("Trade"), "trade", this);
mMyItemContainer = new ItemContainer(mMyInventory.get());
mMyItemContainer->addSelectionListener(this);
@@ -75,8 +77,8 @@ TradeWindow::TradeWindow(Network *network):
mPartnerScroll = new ScrollArea(mPartnerItemContainer);
mPartnerScroll->setPosition(8, 64);
- mMoneyLabel = new gcn::Label("You get: 0 GP");
- mMoneyLabel2 = new gcn::Label("You give:");
+ mMoneyLabel = new gcn::Label(strprintf(_("You get %d GP."), 0));
+ mMoneyLabel2 = new gcn::Label(_("You give:"));
mMoneyField = new TextField;
mMoneyField->setWidth(50);
@@ -87,8 +89,9 @@ TradeWindow::TradeWindow(Network *network):
mTradeButton->setEnabled(false);
- mItemNameLabel = new gcn::Label("Name:");
- mItemDescriptionLabel = new gcn::Label("Description:");
+ mItemNameLabel = new gcn::Label(strprintf(_("Name: %s"), ""));
+ mItemDescriptionLabel = new gcn::Label(
+ strprintf(_("Description: %s"), ""));
add(mMyScroll);
add(mPartnerScroll);
@@ -150,7 +153,7 @@ void TradeWindow::widgetResized(const gcn::Event &event)
void TradeWindow::addMoney(int amount)
{
- mMoneyLabel->setCaption("You get: " + toString(amount) + " GP");
+ mMoneyLabel->setCaption(strprintf(_("You get %d GP."), amount));
mMoneyLabel->adjustSize();
}
@@ -198,7 +201,7 @@ void TradeWindow::reset()
mOkButton->setEnabled(true);
mOkOther = false;
mOkMe = false;
- mMoneyLabel->setCaption("You get: 0 GP");
+ mMoneyLabel->setCaption(strprintf(_("You get %d GP."), 0));
mMoneyField->setEnabled(true);
mMoneyField->setText("");
}
@@ -257,21 +260,11 @@ void TradeWindow::valueChanged(const gcn::SelectionEvent &event)
}
// Update name and description
- if (!item)
- {
- mItemNameLabel->setCaption("Name:");
- mItemDescriptionLabel->setCaption("Description:");
- }
- else
- {
- std::string SomeText;
- SomeText = "Name: " + item->getInfo().getName();
- mItemNameLabel->setCaption(SomeText);
- mItemNameLabel->adjustSize();
- SomeText = "Description: " + item->getInfo().getDescription();
- mItemDescriptionLabel->setCaption(SomeText);
- mItemDescriptionLabel->adjustSize();
- }
+ ItemInfo const *info = item ? &item->getInfo() : NULL;
+ mItemNameLabel->setCaption(strprintf(_("Name: %s"),
+ info ? info->getName().c_str() : ""));
+ mItemDescriptionLabel->setCaption(strprintf(_("Description: %s"),
+ info ? info->getDescription().c_str() : ""));
}
void TradeWindow::action(const gcn::ActionEvent &event)
diff --git a/src/main.cpp b/src/main.cpp
index 83686749..09a1a41d 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -84,6 +84,7 @@
#include "resources/resourcemanager.h"
#include "utils/dtor.h"
+#include "utils/gettext.h"
#include "utils/tostring.h"
namespace {
@@ -267,7 +268,7 @@ void init_engine(const Options &options)
// Add the user's homedir to PhysicsFS search path
resman->addToSearchPath(homeDir, false);
- // Add the main data directory to our PhysicsFS search path
+ // Add the main data directories to our PhysicsFS search path
if (!options.dataPath.empty()) {
resman->addToSearchPath(options.dataPath, true);
}
@@ -646,6 +647,7 @@ void mapLogin(Network *network, LoginData *loginData)
} // namespace
+extern "C" char const *_nl_locale_name_default(void);
/** Main */
int main(int argc, char *argv[])
@@ -666,6 +668,16 @@ int main(int argc, char *argv[])
printVersion();
return 0;
}
+
+#if ENABLE_NLS
+#ifdef WIN32
+ putenv(("LANG=" + std::string(_nl_locale_name_default())).c_str());
+#endif
+ setlocale(LC_MESSAGES, "");
+ bindtextdomain("tmw", LOCALEDIR);
+ textdomain("tmw");
+#endif
+
// Initialize libxml2 and check for potential ABI mismatches between
// compiled version and the shared library actually used.
xmlInitParser();
diff --git a/src/resources/itemdb.cpp b/src/resources/itemdb.cpp
index 8fd60110..4b3024a7 100644
--- a/src/resources/itemdb.cpp
+++ b/src/resources/itemdb.cpp
@@ -30,6 +30,7 @@
#include "../log.h"
#include "../utils/dtor.h"
+#include "../utils/gettext.h"
#include "../utils/xml.h"
namespace
@@ -93,9 +94,9 @@ void ItemDB::load()
if (id)
{
- ItemInfo *itemInfo = new ItemInfo();
+ ItemInfo *itemInfo = new ItemInfo;
itemInfo->setImageName(image);
- itemInfo->setName((name == "") ? "Unnamed" : name);
+ itemInfo->setName(name.empty() ? _("Unnamed") : name);
itemInfo->setDescription(description);
itemInfo->setEffect(effect);
itemInfo->setType(type);