diff options
author | David Athay <ko2fan@gmail.com> | 2009-01-13 00:28:58 +0000 |
---|---|---|
committer | David Athay <ko2fan@gmail.com> | 2009-01-13 00:28:58 +0000 |
commit | 224da21ea258450fcc78dd7635de84aba1d1df5e (patch) | |
tree | dc4df492779986aff60ed785f4821daae968d023 | |
parent | d7a5438d3c7b140c0966243bae98ff447385d246 (diff) | |
parent | ed60c53eb2fe5ef377fc726df796d0aaf2005c6c (diff) | |
download | mana-client-224da21ea258450fcc78dd7635de84aba1d1df5e.tar.gz mana-client-224da21ea258450fcc78dd7635de84aba1d1df5e.tar.bz2 mana-client-224da21ea258450fcc78dd7635de84aba1d1df5e.tar.xz mana-client-224da21ea258450fcc78dd7635de84aba1d1df5e.zip |
Merge branch 'master' of git://gitorious.org/tmw/eathena
147 files changed, 27160 insertions, 1393 deletions
@@ -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 @@ -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 @@ -1,3 +1,11 @@ +0.0.28 (...) +- Added support for animated map tiles +- Added support for internationalization, plus many translations +- Added support for TrueType fonts +- Trade window is now resizable +- Obscure precise home directory name when making screenshots +- Fixed follow-parent of nested and being-following particle emitters + 0.0.27 (9 December 2008) - Added support for showing map name above minimap - Added showing how long the ban is when banned @@ -368,7 +376,7 @@ - Added 'enter' key support in login screen - Added RLE sprites for tiles - Added collision detection with beings -- Fix for mapserver segfault-bug in chatsystem (broken pipe for all users on +- Fix for mapserver segfault-bug in chatsystem (broken pipe for all users on screen) - Partially added TMW GUI to inventory - Added soundpool that can preload, play and remove items to/from ram @@ -8,7 +8,7 @@ THE MANA WORLD Powered by: - - SDL, SDL_image, SDL_mixer (Media framework) + - SDL, SDL_image, SDL_mixer, SDL_ttf, SDL_net (Media framework) - Guichan (GUI framework) - libxml2 (XML parsing and writing) - PhysFS (Data files) diff --git a/configure.ac b/configure.ac index 556f6beb..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,33 +106,18 @@ 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 data/Makefile +data/fonts/Makefile data/graphics/Makefile data/graphics/gui/Makefile data/graphics/images/Makefile data/help/Makefile data/icons/Makefile docs/Makefile +po/Makefile.in ]) AC_OUTPUT diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 3c482b49..d5e9e88e 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -3,3 +3,4 @@ SET(DATA_DIR ${PKG_DATADIR}/data) ADD_SUBDIRECTORY(graphics) ADD_SUBDIRECTORY(help) ADD_SUBDIRECTORY(icons) +ADD_SUBDIRECTORY(fonts) diff --git a/data/Makefile.am b/data/Makefile.am index 5a28f7c1..62672207 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = graphics help icons +SUBDIRS = fonts graphics help icons tmwdatadir = $(pkgdatadir)/data diff --git a/data/fonts/CMakeLists.txt b/data/fonts/CMakeLists.txt new file mode 100644 index 00000000..dc22e031 --- /dev/null +++ b/data/fonts/CMakeLists.txt @@ -0,0 +1,6 @@ +SET (FILES + dejavusans.ttf + ) + +INSTALL(FILES ${FILES} DESTINATION ${DATA_DIR}/fonts) + diff --git a/data/fonts/Makefile.am b/data/fonts/Makefile.am new file mode 100644 index 00000000..331f6c8b --- /dev/null +++ b/data/fonts/Makefile.am @@ -0,0 +1,5 @@ +fontsdir = $(pkgdatadir)/data/fonts + +fonts_DATA = dejavusans.ttf + +EXTRA_DIST = $(fonts_DATA) diff --git a/data/graphics/CMakeLists.txt b/data/graphics/CMakeLists.txt index 9a916db3..58d75523 100644 --- a/data/graphics/CMakeLists.txt +++ b/data/graphics/CMakeLists.txt @@ -1,3 +1,2 @@ ADD_SUBDIRECTORY(gui) ADD_SUBDIRECTORY(images) -ADD_SUBDIRECTORY(tiles) diff --git a/data/graphics/gui/CMakeLists.txt b/data/graphics/gui/CMakeLists.txt index 5cb47b8c..1ca4ee72 100644 --- a/data/graphics/gui/CMakeLists.txt +++ b/data/graphics/gui/CMakeLists.txt @@ -1,6 +1,5 @@ SET (FILES bg_quad_dis.png - browserfont.png button.png button_disabled.png buttonhi.png @@ -29,7 +28,6 @@ SET (FILES resize.png rpgfont_wider.png selection.png - sansserif8.png slider.png target-cursor-blue-l.png target-cursor-blue-m.png diff --git a/data/graphics/gui/Makefile.am b/data/graphics/gui/Makefile.am index cfa14192..0b7824c9 100644 --- a/data/graphics/gui/Makefile.am +++ b/data/graphics/gui/Makefile.am @@ -3,7 +3,6 @@ guidir = $(pkgdatadir)/data/graphics/gui gui_DATA = \ bg_quad_dis.png \ - browserfont.png \ button.png \ button_disabled.png \ buttonhi.png \ @@ -33,7 +32,6 @@ gui_DATA = \ resize.png \ rpgfont_wider.png \ selection.png \ - sansserif8.png \ slider.png \ target-cursor-blue-l.png \ target-cursor-blue-m.png \ diff --git a/data/graphics/gui/browserfont.png b/data/graphics/gui/browserfont.png Binary files differdeleted file mode 100644 index 431777c5..00000000 --- a/data/graphics/gui/browserfont.png +++ /dev/null diff --git a/data/graphics/gui/sansserif8.png b/data/graphics/gui/sansserif8.png Binary files differdeleted file mode 100644 index a4738548..00000000 --- a/data/graphics/gui/sansserif8.png +++ /dev/null diff --git a/data/graphics/images/CMakeLists.txt b/data/graphics/images/CMakeLists.txt index 1e1cf19f..5181b4e1 100644 --- a/data/graphics/images/CMakeLists.txt +++ b/data/graphics/images/CMakeLists.txt @@ -1,6 +1,4 @@ -ADD_SUBDIRECTORY(ambient) - -SET (FILES +SET(FILES error.png login_wallpaper.png ) diff --git a/docs/SOURCE/tmw.doxcfg b/docs/SOURCE/Doxyfile index fe5039fb..c9522aaf 100644 --- a/docs/SOURCE/tmw.doxcfg +++ b/docs/SOURCE/Doxyfile @@ -30,7 +30,7 @@ PROJECT_NUMBER = # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = ../docs/SOURCE/ +OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -406,7 +406,7 @@ WARN_FORMAT = "$file:$line: $text" # and error messages should be written. If left blank the output is written # to stderr. -WARN_LOGFILE = +WARN_LOGFILE = "warnings.log" #--------------------------------------------------------------------------- # configuration options related to the input files @@ -417,7 +417,7 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = +INPUT = "../../src" # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp diff --git a/docs/SOURCE/tmwdox.sh b/docs/SOURCE/tmwdox.sh deleted file mode 100644 index 541f8bee..00000000 --- a/docs/SOURCE/tmwdox.sh +++ /dev/null @@ -1 +0,0 @@ -cd ../../src/ && doxygen ../docs/SOURCE/tmw.doxcfg 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..4207012b --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,34 @@ +# List of source files which contain translatable strings. + +src/gui/buy.cpp +src/gui/buysell.cpp +src/gui/char_select.cpp +src/gui/char_server.cpp +src/gui/chat.cpp +src/gui/confirm_dialog.cpp +src/gui/connection.cpp +src/gui/equipmentwindow.cpp +src/gui/help.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_keyboard.cpp +src/gui/setup_players.cpp +src/gui/setup_video.cpp +src/gui/skill.cpp +src/gui/status.cpp +src/gui/trade.cpp +src/gui/updatewindow.cpp +src/resources/itemdb.cpp +src/main.cpp diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 00000000..0a19529e --- /dev/null +++ b/po/ar.po @@ -0,0 +1,985 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "شراء" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "السعر: %d GP / الإجمالي: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "مغادرة" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "الوصÙ: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "التأثير: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "إيقاÙ" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "بيع" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "إلغاء" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "هل أنت متأكّد من Øذ٠هذه الشخصيّة؟" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "إنتقاء الشخصيّة" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "مواÙÙ‚" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "جديد" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "ØØ°Ù" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "السّابق" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "التّالي" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "المستوى: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "المستوى: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "النقود: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "إنشاء شخصيّة" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "الاسم:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "لون الشعر:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "قصّة الشعر:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "الخادوم:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +msgstr "" + +#: src/gui/confirm_dialog.cpp:35 +msgid "Yes" +msgstr "نعم" + +#: src/gui/confirm_dialog.cpp:36 +msgid "No" +msgstr "لا" + +#: src/gui/connection.cpp:49 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "جار٠الاتّصال..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "العتاد" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "الجردة" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "انتقاء كمّيّة من المواد للمتاجرة بها." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "انتقاء كمّيّة من المواد لإسقاطها." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "ولوج" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "كلمة السرّ:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "تسجيل" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "الØالة" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "مهارات" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "اختصار" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "ØØ°Ù" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "الاسم:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "المستوى: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "النقود: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "الØالة" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "مهاجمة %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "دÙاع %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "مهاجمة %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "دÙاع %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "القوّة:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Ø®Ùّة الØركة:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "نشاط:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "ذكاء:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "المهارة:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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 "أنت تØصل على %d GP." + +#: src/gui/trade.cpp:81 +msgid "You give:" +msgstr "أنت تقدّم:" + +#: src/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "جار٠الاتّصال..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ 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 "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..7325a252 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,901 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "preu %d GP / total %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "sortir" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "" + +#: src/gui/buysell.cpp:31 +msgid "Shop" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, c-format +msgid "Job Level: %d" +msgstr "" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "nom" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "" + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "" + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "" + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +msgid "Default" +msgstr "" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "nom" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, c-format +msgid "Job: %d" +msgstr "" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, c-format +msgid "Money: %d GP" +msgstr "" + +#: src/gui/status.cpp:127 +msgid "Stats" +msgstr "" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +msgid "Attack:" +msgstr "" + +#: src/gui/status.cpp:133 +msgid "Defense:" +msgstr "" + +#: src/gui/status.cpp:134 +msgid "M.Attack:" +msgstr "" + +#: src/gui/status.cpp:135 +msgid "M.Defense:" +msgstr "" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +msgid "Strength" +msgstr "" + +#: src/gui/status.cpp:283 +msgid "Agility" +msgstr "" + +#: src/gui/status.cpp:284 +msgid "Vitality" +msgstr "" + +#: src/gui/status.cpp:285 +msgid "Intelligence" +msgstr "" + +#: src/gui/status.cpp:286 +msgid "Dexterity" +msgstr "" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +msgid "Connecting to map server..." +msgstr "" + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Change" +#~ msgstr "canvi" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 00000000..efb03f63 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,956 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Nákup" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Popis: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "" + +#: src/gui/buysell.cpp:31 +msgid "Shop" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Prodej" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "ZruÅ¡it" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "PotvrÄte vymazánà postavy" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "Jste si jistÃ, že chcete vymazat tuto postavu?" + +#: src/gui/char_select.cpp:81 +#, fuzzy +msgid "Select Character" +msgstr "VytvoÅ™it postavu" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Nová" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Odstranit" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "PÅ™edchozÃ" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "DalÅ¡Ã" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Úroveň: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Úroveň: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "PenÃze: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "VytvoÅ™it postavu" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Jméno:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Barva vlasů:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Styl vlasů:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Server:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "PÅ™ipojuji se..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "VybavenÃ" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Inventář" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Vyberte množstvà zbožÃ, se kterým budete obchodovat." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Vyberte množstvà zbožÃ, které chcete upustit." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Heslo:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "Zapamatovat uživatelské jméno" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Registrace" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Stav" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Dovednosti" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Zkratka" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Chyba" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Odstranit" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Jméno:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Úroveň: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "PenÃze: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Stav" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Útok %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Obrana %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Útok %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Obrana %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "SÃla:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Vitalita:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Vitalita:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Inteligence:" + +#: src/gui/status.cpp:286 +msgid "Dexterity" +msgstr "" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "PÅ™ipojuji se..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +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 "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" diff --git a/po/da.po b/po/da.po new file mode 100644 index 00000000..dae66aca --- /dev/null +++ b/po/da.po @@ -0,0 +1,1009 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Køb" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Pris: %d GP / Total: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Afslut" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Beskrivelse: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Effekt: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Stop" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Sælg" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Fortryd" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "Er du sikker pÃ¥ at du vil slette denne figur?" + +#: src/gui/char_select.cpp:64 +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:81 +msgid "Select Character" +msgstr "Vælg Bruger" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "O.k." + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Opret" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Slet" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Forrige" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Næste" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Niveau: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Niveau: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Penge: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Lav figur." + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Navn:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "HÃ¥rfarve:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Frisure:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Server:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Opretter forbindelse..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Udstyr" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Inventarliste" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Vælge hvor mange du vil bytte." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Vælg hvor mange du vil smide," + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Log Ind" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Adgangskode:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "Husk dette brugernavn." + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Registrer" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Status" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Færdigheder" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Genvej" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Fejl" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Slet" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Navn:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Niveau: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Penge: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Status" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Angrib %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Forsvar %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Angrib %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Forsvar %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Styrke" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Adræthed" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Helbred:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Intelligens:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Behændighed:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Opretter forbindelse..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +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 "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 "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..6e71b451 --- /dev/null +++ b/po/de.po @@ -0,0 +1,1011 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Kaufen" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Preis: %d GP / Summe: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Beenden" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Beschreibung: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Effekt: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Stopp" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Verkaufen" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Abbrechen" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "Bestätige Charakter-Löschung" + +#: src/gui/char_select.cpp:64 +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:81 +msgid "Select Character" +msgstr "Spielfigur auswählen" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Neu" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Löschen" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Zurück" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Weiter" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Stufe: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Stufe: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Geld: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Charakter erstellen" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Name :" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Haarfarbe" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Frisur" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Server:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Verbinde..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Ausrüstung" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Inventar" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Wähle aus, wieviele Gegenstände Du tauschen möchtest." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Wähle aus, wieviele Gegenstände Du wegwerfen möchtest." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Anmelden" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Passwort:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "Benutzernamen merken" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Registrieren" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Status" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Fertigkeiten" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Tastenkürzel" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Fehler" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Löschen" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Name :" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Stufe: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Geld: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Status" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Angriff %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Verteidigung %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Angriff %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Verteidigung %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Stärke:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Agilität:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Vitalität:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Intelligenz:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Geschicklichkeit:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Verbinde..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +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 "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 "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..80a6ef41 --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,985 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Buy" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Price: %d GP / Total: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Exit" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Description: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Effect: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Stop" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Sell" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Cancel" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +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:81 +msgid "Select Character" +msgstr "Select Character" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "New" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Delete" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Previous" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Next" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Level: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Level: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Money: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Create Character" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Name:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Hair Colour:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Hair Style:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Server:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Connecting..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Equipment" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Inventory" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Select amount of items to trade." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Select amount of items to drop." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Login" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Password:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Register" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Status" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Skills" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Shortcut" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Error" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Delete" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Name:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Level: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Money: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Status" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Attack %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Defense %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Attack %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Defense %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Strength:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Agility:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Vitality:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Intelligence:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Dexterity:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Connecting..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ msgstr "Unregister" + +#~ 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 "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..928b0fbf --- /dev/null +++ b/po/eo.po @@ -0,0 +1,897 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "" + +#: src/gui/buysell.cpp:31 +msgid "Shop" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, c-format +msgid "Job Level: %d" +msgstr "" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +msgstr "" + +#: src/gui/confirm_dialog.cpp:35 +msgid "Yes" +msgstr "" + +#: src/gui/confirm_dialog.cpp:36 +msgid "No" +msgstr "" + +#: src/gui/connection.cpp:49 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "" + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "" + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "" + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +msgid "Default" +msgstr "" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +msgid "Name" +msgstr "" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, c-format +msgid "Job: %d" +msgstr "" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, c-format +msgid "Money: %d GP" +msgstr "" + +#: src/gui/status.cpp:127 +msgid "Stats" +msgstr "" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +msgid "Attack:" +msgstr "" + +#: src/gui/status.cpp:133 +msgid "Defense:" +msgstr "" + +#: src/gui/status.cpp:134 +msgid "M.Attack:" +msgstr "" + +#: src/gui/status.cpp:135 +msgid "M.Defense:" +msgstr "" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +msgid "Strength" +msgstr "" + +#: src/gui/status.cpp:283 +msgid "Agility" +msgstr "" + +#: src/gui/status.cpp:284 +msgid "Vitality" +msgstr "" + +#: src/gui/status.cpp:285 +msgid "Intelligence" +msgstr "" + +#: src/gui/status.cpp:286 +msgid "Dexterity" +msgstr "" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +msgid "Connecting to map server..." +msgstr "" + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" diff --git a/po/es.po b/po/es.po new file mode 100644 index 00000000..f4f67a3f --- /dev/null +++ b/po/es.po @@ -0,0 +1,985 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Comprar" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Precio: %d GP / Total: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Salir" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Descripción: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Efecto: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Detener" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Vender" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Cancelar" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "¿Seguro que quieres borrar este personaje?" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "Seleccionar personaje" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Aceptar" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Nuevo" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Eliminar" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Anterior" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Siguiente" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Nivel: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Nivel: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Dinero: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Crear Personaje" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Nombre:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Color de pelo:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "corte de pelo" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Servidor:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Conectando…" + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Equipo" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Inventario" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Seleccione objetos para comerciar." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Seleccione objetos para soltar." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "conectarse" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Contraseña:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Registrar" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Estado" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Habilidades" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Atajos" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Error" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Eliminar" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Nombre:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Nivel: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Dinero: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Estado" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Ataque %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Defensa %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Ataque %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Defensa %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Fuerza:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Agilidad:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Vitalidad:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Inteligencia:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Destreza:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Conectando…" + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ msgstr "Cancelar Cuenta" + +#~ 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 "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..80b21093 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,995 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Osta" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Kappalehinta: %d GP / Yhteensä: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Sulje" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Kuvaus: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Vaikutus: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Lopeta" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Myy" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Peru" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "Vahvista hahmon poistopyyntö" + +#: src/gui/char_select.cpp:64 +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:81 +#, fuzzy +msgid "Select Character" +msgstr "Luo hahmo" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Uusi" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Poista" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Edellinen" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Seuraava" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Taso: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Taso: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Rahatilanne: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Luo hahmo" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Nimi:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Hiusten väri:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Hiustyyli:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Palvelin:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Yhdistetään..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Varusteet" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Tavaraluettelo" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Anna vaihdettavien tavaroiden määrä." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Anna pudotettavien tavaroiden määrä." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Kirjaudu sisään" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Salasana:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "Muista käyttäjätunnus" + +#: src/gui/login.cpp:53 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 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Taidot" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Pikavalinnat" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Virhe" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Poista" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Nimi:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Taso: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Rahatilanne: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Hahmon tiedot" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Hyökkäys %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Puolustus %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Hyökkäys %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Puolustus %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Voima:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Ketteryys:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Elinvoima:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Älykkyys:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Näppäryys:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Yhdistetään..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +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 "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 "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..3d8a121c --- /dev/null +++ b/po/fr.po @@ -0,0 +1,1012 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Acheter" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Prix : %d PO / Total : %d PO" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Quitter" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Description : %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Effet : %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Stop" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Vendre" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Annuler" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "Confirmer la suppression du personnage" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "Êtes-vous certain de vouloir supprimer ce personnage ?" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "Choix du personnage" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Nouveau" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Supprimer" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Précédent" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Suivant" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Niveau : %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Niveau : %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Argent : %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Création du personnage" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Nom :" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Couleur des cheveux" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Coiffure :" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Serveur :" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Connexion..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Équipement" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Inventaire" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Choisissez le nombre d'objets à troquer." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Choisissez le nombre d'objets à lâcher." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Connexion" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Mot de passe :" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "Se souvenir du nom d'utilisateur" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "S'inscrire" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Statut" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Compétences" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Raccourci" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Erreur" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Supprimer" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Nom :" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Niveau : %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Argent : %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Statut" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Attaque %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Défense %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Attaque %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Défense %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Force :" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Agilité :" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Vitalité :" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Intelligence :" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Dextérité :" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Connexion..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +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 "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 "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..87766812 --- /dev/null +++ b/po/he.po @@ -0,0 +1,995 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "×§× ×”" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "מחיר: %d זהב / סה\"×› %d זהב" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "יצי××”" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "תי×ור: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "השפעה: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "עצור" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "מכר" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "ביטול" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "×שר מחיקת שחקן" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "×”×× ×תה בטוח ×›×™ ×‘×¨×¦×•× ×š למחוק ×ת השחקן?" + +#: src/gui/char_select.cpp:81 +#, fuzzy +msgid "Select Character" +msgstr "צור שחקן" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "×ישור" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "חדש" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "מחק" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "הקוד×" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "הב×" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "רמה: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "רמה: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "זהב: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "צור שחקן" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "ש×:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "צבע שיער:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "תיספורת:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "שרת:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +msgstr "" + +#: src/gui/confirm_dialog.cpp:35 +msgid "Yes" +msgstr "כן" + +#: src/gui/confirm_dialog.cpp:36 +msgid "No" +msgstr "ל×" + +#: src/gui/connection.cpp:49 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "מתחבר..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "ציוד" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "ציוד" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "בחר כמות ×—×¤×¦×™× ×œ×¡×—×•×¨." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "בחר כמות ×—×¤×¦×™× ×œ×”×©×œ×™×š." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "התחברות" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "סיסמה:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "זכור ×©× ×ž×©×ª×ž×©" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "הרש×" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "מצב" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "כישורי×" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "קיצור-דרך" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "מחק" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "ש×:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "רמה: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "זהב: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "מצב" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "התקפה %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "×”×’× ×” %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "התקפה %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "×”×’× ×” %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "עוצמה:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "זריזות:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "×—×™×•× ×™×•×ª:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "×ª×‘×•× ×”:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "×ž×™×•×ž× ×•×ª:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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 "×תה מקבל %d זהב." + +#: src/gui/trade.cpp:81 +msgid "You give:" +msgstr "×תה × ×•×ª×Ÿ:" + +#: src/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "מתחבר..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +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 "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 "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..cef7cc6f --- /dev/null +++ b/po/hr.po @@ -0,0 +1,947 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Kupi" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Cijena: %d zlatnika / Ukupno: %d zlatnika" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Izlaz" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Opis: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "UÄinak: %s" + +#: src/gui/buysell.cpp:31 +msgid "Shop" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "PoniÅ¡ti" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "Potvrdi Brisanje Lika" + +#: src/gui/char_select.cpp:64 +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:81 +#, fuzzy +msgid "Select Character" +msgstr "Stvori Lika" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "U redu" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Novi" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "ObriÅ¡i" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Prethodni" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Slijedeći" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Nivo: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Nivo: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Novac: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Stvori Lika" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Ime:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Boja kose:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Frizura:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Spajanje..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Oprema" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Zalihe" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Odaberi koliÄinu predmeta za razmjenu." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Odaberi koliÄinu predmeta za ispuÅ¡tanje." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "KorisniÄko ime" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Lozinka" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "Zapamti korisniÄko ime" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Registriraj se" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Stanje" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "VjeÅ¡tine" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Kratica" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "GreÅ¡ka" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "ObriÅ¡i" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Ime:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Nivo: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Novac: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Stanje" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +msgid "Attack:" +msgstr "" + +#: src/gui/status.cpp:133 +msgid "Defense:" +msgstr "" + +#: src/gui/status.cpp:134 +msgid "M.Attack:" +msgstr "" + +#: src/gui/status.cpp:135 +msgid "M.Defense:" +msgstr "" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Snaga:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Okretnost:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Vitalnost:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Inteligencija:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Spretnost:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Spajanje..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +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 "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..6f2dda71 --- /dev/null +++ b/po/id.po @@ -0,0 +1,985 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Beli" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Harga: %d GP / Jumlah: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Keluar" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Deskripsi: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Efek: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Berhenti" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Jual" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Batal" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "Apakah anda bersungguh-sungguh ingin menghapus karakter ini?" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "Pilih Karakter" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Buat baru" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Hapus" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Sebelumnya" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Berikutnya" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Tingkatan: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Tingkatan: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Uang: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Buat Karakter" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Nama:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Warna Rambut:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Gaya Rambut:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Server:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Menyambung..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Perlengkapan" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Inventaris" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Pilih jumlah item yang mau di perdagangkan" + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Pilih jumlah item yang mau di buang" + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Login" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Kata Sandi:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Mendaftar" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Status" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Keahlian" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Tombol Singkat" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Kesalahan" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Hapus" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Nama:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Tingkatan: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Uang: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Status" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Serangan %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Pertahanan %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Serangan %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Pertahanan %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Kekuatan" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Daya/Tenaga Hidup" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Daya/Tenaga Hidup" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Kecerdasan" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Ketangkasan" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Menyambung..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ msgstr "Tidak terdaftar" + +#~ 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 "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..a86caec2 --- /dev/null +++ b/po/it.po @@ -0,0 +1,987 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Compra" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Prezzo: %d GP / Totale: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Esci" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Descrizione : %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Effetto : %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Ferma" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Vendi" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Cancella" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "Sei sicuro di voler cancellare questo personaggio?" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "Scelta Personaggio" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Nuovo" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Elimina" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Precedente" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Prossimo" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Livello: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Livello: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Monete: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Crea Personaggio" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Nome :" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Colore Capelli" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Stile Capelli:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Server:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Connessione..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Equipaggiamento" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Inventario" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Seleziona la quantità di oggetti da scambiare." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Seleziona la quantità di oggetti da lasciare." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Autenticazione" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Password:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Registra" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Stato" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Abilità " + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Scorciatoia" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Errore" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Elimina" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Nome :" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Livello: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Monete: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Stato" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Attacco %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Difesa %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Attacco %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Difesa %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Forza:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Agilità :" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Vitalità :" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Intelligenza:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Destrezza:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Connessione..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ msgstr "Cancella registrazione" + +#~ 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 "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..bd629cd2 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,932 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "è²·ã†" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "ä¾¡æ ¼: %d GP / åˆè¨ˆ: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "終了" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "å状: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "効用: %s" + +#: src/gui/buysell.cpp:31 +msgid "Shop" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "å–消" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "ã“ã®ã‚ャラã¯æ¶ˆã—ã¦ã‚‚ã„ã„ã§ã™ã‹?" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "ã‚ャラをé¸æŠž" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "了解" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "æ–°è¦" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "削除" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "å‰ã¸" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "次ã¸" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "レベル: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "レベル: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "GP: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "ã‚ャラを作æˆ" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "åå‰:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "髪ã®è‰²ï¼š" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "髪型:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "サーãƒ:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +msgstr "" + +#: src/gui/confirm_dialog.cpp:35 +msgid "Yes" +msgstr "ã¯ã„" + +#: src/gui/confirm_dialog.cpp:36 +msgid "No" +msgstr "ã„ã„ãˆ" + +#: src/gui/connection.cpp:49 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "接続ã—ã¦ã„ã¾ã™..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "" + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "" + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "ãƒã‚°ã‚¤ãƒ³" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "パスワード:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "状態" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "削除" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "åå‰:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "レベル: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "GP: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "状態" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +msgid "Attack:" +msgstr "" + +#: src/gui/status.cpp:133 +msgid "Defense:" +msgstr "" + +#: src/gui/status.cpp:134 +msgid "M.Attack:" +msgstr "" + +#: src/gui/status.cpp:135 +msgid "M.Defense:" +msgstr "" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "ç‹åŠ›:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "ç´ æ—©ã•:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "体力:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "知性:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "æ•æ·:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "接続ã—ã¦ã„ã¾ã™..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ 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..c2700ada --- /dev/null +++ b/po/nl.po @@ -0,0 +1,957 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Kopen" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Afsluiten" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Beschrijving: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Effect: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Stoppen" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Annuleren" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +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:81 +msgid "Select Character" +msgstr "Kies Personage" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Oké" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Nieuw" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Verwijderen" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Vorige" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Volgende" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Level: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Level: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Geld: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Personage Aanmaken" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Naam:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Haarkleur:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Haarstijl:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Server:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Verbinden..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Uitrusting" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Inventaris" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Selecteer het aantal exemplaren om te verhandelen" + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Selecteer het aantal exemplaren om neer te leggen" + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Inloggen" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Wachtword:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Aanmelden" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Status" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Vaardigheden" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Fout" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Verwijderen" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Naam:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Level: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Geld: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Status" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +msgid "Attack:" +msgstr "" + +#: src/gui/status.cpp:133 +msgid "Defense:" +msgstr "" + +#: src/gui/status.cpp:134 +msgid "M.Attack:" +msgstr "" + +#: src/gui/status.cpp:135 +msgid "M.Defense:" +msgstr "" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Sterkte:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Agiliteit:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Vitaliteit:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Intelligentie:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Dexteriteit:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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 "Je geeft:" + +#: src/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Verbinden..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ msgstr "Registreren" + +#~ 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..46cee40e --- /dev/null +++ b/po/pl.po @@ -0,0 +1,991 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Kup" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Cena: %d GP / Razem: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Wyjdź" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Opis: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Efekt: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Zatrzymaj" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Sprzedaj" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Anuluj" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "Czy jesteÅ› pewien, że chcesz usunąć tÄ™ postać?" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "Wybierz postać" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Nowa" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "UsuÅ„" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Poprzedni" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "NastÄ™pny" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Poziom: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Poziom: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "PieniÄ…dze: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Stwórz postać" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "ImiÄ™:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Kolor wÅ‚osów:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Fryzura:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Serwer:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "ÅÄ…czenie..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Ekwipunek" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Inwentarz" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Wybierz ilość przedmiotów do wymiany." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Wybierz ilość przedmiotów do upuszczenia." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Użytkownik" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "HasÅ‚o:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Rejestruj" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Stan" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "ZdolnoÅ›ci" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Skrót" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "BÅ‚Ä…d" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "UsuÅ„" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "ImiÄ™:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Poziom: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "PieniÄ…dze: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Stan" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Atak %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Obrona %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Atak %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Obrona %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "SiÅ‚a:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Zwinność:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Witalność:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Inteligencja:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "ZrÄ™czność:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "ÅÄ…czenie..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ msgstr "Wyrejestruj" + +#~ msgid "Change Password" +#~ msgstr "ZmieÅ„ hasÅ‚o" + +#~ 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 "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..bd9630d1 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,993 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Comprar" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Preço: %d GP / Total: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Sair" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Descrição: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Efeito: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Parar" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Vender" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Cancelar" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "Tem a certeza que quer apagar este personagem" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "Seleccione um Personagem" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Novo" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Eliminar" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Anterior" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Seguinte" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "NÃvel: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "NÃvel: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Dinheiro: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Criar Personagem" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Nome:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Cor de Cabelo:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Estilo do Cabelo:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Servidor:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Conectando..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Equipamento" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: 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 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Seleccionar a quantidade de itens a negociar." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Seleccionar a quantidade de itens a largar." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Autenticar" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Senha:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Registo" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Estado" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Competências" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Atalho" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Erro" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Eliminar" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Nome:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "NÃvel: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Dinheiro: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Estado" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "" +"Copy text \t\r\n" +"Ataque %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "" +"Copy text \t\r\n" +"Defesa %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "" +"Copy text \t\r\n" +"Ataque %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "" +"Copy text \t\r\n" +"Defesa %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Força:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Agilidade:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Vitalidade:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Inteligência:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Destreza:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Conectando..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ msgstr "Remover o Registo" + +#~ 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 "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..586cfc2d --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,1009 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Comprar" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Preço: %d GP / Total: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Sair" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Descrição: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Efeito: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Parar" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Vender" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Cancelar" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "Confimar exclusão do personagem" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "Tem certeza de que deseja excluir este personagem?" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "Selecionar personagem" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Novo" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Excluir" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Anterior" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Próximo" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "NÃvel: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "NÃvel: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Dinheiro: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Criar Personagem" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Nome:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Cor do Cabelo:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Estilo do Cabelo:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Servidor:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Conectando..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Equipamento" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: 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 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Selecionar montante de itens para negociar." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Selecionar montante de itens para descartar." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Login" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Senha:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "Lembrar nome de usuário" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Registrar" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Status" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Habilidades" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Atalho" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Erro" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Excluir" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Nome:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "NÃvel: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Dinheiro: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Status" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Ataque %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Defesa %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Ataque %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Defesa %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Força:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Agilidade:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Vitalidade:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Inteligência:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Destreza:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Conectando..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +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 "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 "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..94be1f08 --- /dev/null +++ b/po/ru.po @@ -0,0 +1,985 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Купить" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "СтоимоÑÑ‚ÑŒ: %d GP / Ð’Ñегоl: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Выход" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "ОпиÑание: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Ðффект: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Стоп" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Продать" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Отмена" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "Ð’Ñ‹ уверены, что хотите удалить Ñтого перÑонажа?" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "Выбор перÑонажа" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Ðовый" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Удалить" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Предыдущий" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Следующий" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Уровень: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Уровень: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Деньги: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Создать перÑонажа" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "ИмÑ:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Цвет волоÑ:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Стрижка:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Сервер:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +msgstr "" + +#: src/gui/confirm_dialog.cpp:35 +msgid "Yes" +msgstr "Да" + +#: src/gui/confirm_dialog.cpp:36 +msgid "No" +msgstr "Ðет" + +#: src/gui/connection.cpp:49 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Соединение..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "СнарÑжение" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Инвентарь" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Сколько предметов продать." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Сколько предметов ÑброÑить." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Вход" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Пароль:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "ЗарегиÑтрироватьÑÑ" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "СоÑтоÑние" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "УмениÑ" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Клавиша" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Удалить" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "ИмÑ:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Уровень: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Деньги: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "СоÑтоÑние" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Ðтака %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Защита %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Ðтака %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Защита %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Сила:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "ВыноÑливоÑÑ‚ÑŒ:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "ЖивучеÑÑ‚ÑŒ:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Интеллект:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "ЛовкоÑÑ‚ÑŒ:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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 "Ð’Ñ‹ получили %d GP." + +#: src/gui/trade.cpp:81 +msgid "You give:" +msgstr "Ð’Ñ‹ отдаете:" + +#: src/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Соединение..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ 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 "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..453c67dc --- /dev/null +++ b/po/sk.po @@ -0,0 +1,917 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "KúpiÅ¥" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Cena: %d GP / Spolu: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "UkonÄiÅ¥" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Popis: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Effekt: %s" + +#: src/gui/buysell.cpp:31 +msgid "Shop" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "ZruÅ¡iÅ¥" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "Potvrdte zmazanie postavy" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "Naozaj chcete odstrániÅ¥ túto postavu?" + +#: src/gui/char_select.cpp:81 +#, fuzzy +msgid "Select Character" +msgstr "VytvoriÅ¥ postavu" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ano" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Nový" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "VymazaÅ¥" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "Predchádzajúci" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Nasledujúci" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "Level: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "Level: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Peniaze: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "VytvoriÅ¥ postavu" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Meno" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "Farba vlasov:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Å týl vlasov:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +msgstr "" + +#: src/gui/confirm_dialog.cpp:35 +msgid "Yes" +msgstr "" + +#: src/gui/confirm_dialog.cpp:36 +msgid "No" +msgstr "" + +#: src/gui/connection.cpp:49 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "" + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "" + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "" + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "VymazaÅ¥" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Meno" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "Level: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Peniaze: %d" + +#: src/gui/status.cpp:127 +msgid "Stats" +msgstr "" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +msgid "Attack:" +msgstr "" + +#: src/gui/status.cpp:133 +msgid "Defense:" +msgstr "" + +#: src/gui/status.cpp:134 +msgid "M.Attack:" +msgstr "" + +#: src/gui/status.cpp:135 +msgid "M.Defense:" +msgstr "" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Sila:" + +#: src/gui/status.cpp:283 +msgid "Agility" +msgstr "" + +#: src/gui/status.cpp:284 +msgid "Vitality" +msgstr "" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Inteligencia:" + +#: src/gui/status.cpp:286 +msgid "Dexterity" +msgstr "" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +msgid "Connecting to map server..." +msgstr "" + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +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" diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 00000000..85e37a50 --- /dev/null +++ b/po/sv.po @@ -0,0 +1,985 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "Köp" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "Pris: %d GP / Totalt: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "Avsluta" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "Beskrivning: %s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "Effekt: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "Stopp" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "Sälj" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "Avbryt" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +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:81 +msgid "Select Character" +msgstr "Välj karaktär" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "Ok" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "Ny" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "Ta bort" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "FöregÃ¥ende" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "Nästa" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "NivÃ¥: %d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "NivÃ¥: %d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "Pengar: %d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "Skapa karaktär" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "Namn:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "HÃ¥rfärg:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "Frisyr:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "Server:" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +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 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "Ansluter..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "Utrustning" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "Inventarium" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "Välj antal föremÃ¥l att handla med." + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "Välj antal föremÃ¥l att släppa." + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "Användarnamn" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "Lösenord:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "Registrera" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "Status" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "Färdigheter" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "Genväg" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +msgstr "Fel" + +#: 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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "Ta bort" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "Namn:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +msgstr "" + +#: 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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "NivÃ¥: %d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "Pengar: %d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "Status" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "Attack %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "Försvar %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "Attack %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "Försvar %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Styrka:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Smidighet:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Hälsa:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Intelligens:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Skicklighet:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +msgstr "" + +#: 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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "Ansluter..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ msgstr "Avregistrera" + +#~ 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 "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..e2ee2ab5 --- /dev/null +++ b/po/th.po @@ -0,0 +1,919 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "ซื้à¸" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "ราคา: %d GP / ทั้งหมด: %d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "à¸à¸à¸" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "" + +#: src/gui/buysell.cpp:31 +msgid "Shop" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "ยà¸à¹€à¸¥à¸´à¸" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "ยืนยันà¸à¸²à¸£à¸¥à¸šà¸•à¸±à¸§à¸¥à¸°à¸„ร" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¹à¸¥à¹‰à¸§à¸«à¸£à¸·à¸à¸—ี่จะลบตัวละครนี้?" + +#: src/gui/char_select.cpp:81 +#, fuzzy +msgid "Select Character" +msgstr "สร้างตัวละคร" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "ตà¸à¸¥à¸‡" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "สร้างใหม่" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "ลบทิ้ง" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "à¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸²" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "ถัดไป" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, c-format +msgid "Job Level: %d" +msgstr "" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "สร้างตัวละคร" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "ชื่à¸:" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "สีผม:" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "ทรงผม:" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +msgstr "" + +#: src/gui/confirm_dialog.cpp:35 +msgid "Yes" +msgstr "ใช่" + +#: src/gui/confirm_dialog.cpp:36 +msgid "No" +msgstr "ไม่" + +#: src/gui/connection.cpp:49 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•à¹ˆà¸..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "" + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "" + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "เข้าระบบ" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "รหัสผ่าน:" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "สมัครสมาชิà¸" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "สถานะ" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "ลบทิ้ง" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "ชื่à¸:" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, c-format +msgid "Job: %d" +msgstr "" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, c-format +msgid "Money: %d GP" +msgstr "" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "สถานะ" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +msgid "Attack:" +msgstr "" + +#: src/gui/status.cpp:133 +msgid "Defense:" +msgstr "" + +#: src/gui/status.cpp:134 +msgid "M.Attack:" +msgstr "" + +#: src/gui/status.cpp:135 +msgid "M.Defense:" +msgstr "" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "Strength:" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "Agility:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "Vitality:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "Intelligence:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "Dexterity:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•à¹ˆà¸..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Change Password" +#~ msgstr "เปลี่ยนรหัสผ่าน" + +#~ msgid "Change Email Address" +#~ msgstr "เปลี่ยนที่à¸à¸¢à¸¹à¹ˆ Email" + +#~ msgid "Willpower:" +#~ msgstr "Willpower:" + +#~ msgid "Email:" +#~ msgstr "Email:" diff --git a/po/tmw.pot b/po/tmw.pot new file mode 100644 index 00000000..9e8e8579 --- /dev/null +++ b/po/tmw.pot @@ -0,0 +1,896 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "" + +#: src/gui/buysell.cpp:31 +msgid "Shop" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, c-format +msgid "Job Level: %d" +msgstr "" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +msgstr "" + +#: src/gui/confirm_dialog.cpp:35 +msgid "Yes" +msgstr "" + +#: src/gui/confirm_dialog.cpp:36 +msgid "No" +msgstr "" + +#: src/gui/connection.cpp:49 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "" + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "" + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "" + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +msgid "Default" +msgstr "" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +msgid "Name" +msgstr "" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, c-format +msgid "Job: %d" +msgstr "" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, c-format +msgid "Money: %d GP" +msgstr "" + +#: src/gui/status.cpp:127 +msgid "Stats" +msgstr "" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +msgid "Attack:" +msgstr "" + +#: src/gui/status.cpp:133 +msgid "Defense:" +msgstr "" + +#: src/gui/status.cpp:134 +msgid "M.Attack:" +msgstr "" + +#: src/gui/status.cpp:135 +msgid "M.Defense:" +msgstr "" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +msgid "Strength" +msgstr "" + +#: src/gui/status.cpp:283 +msgid "Agility" +msgstr "" + +#: src/gui/status.cpp:284 +msgid "Vitality" +msgstr "" + +#: src/gui/status.cpp:285 +msgid "Intelligence" +msgstr "" + +#: src/gui/status.cpp:286 +msgid "Dexterity" +msgstr "" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +msgid "Connecting to map server..." +msgstr "" + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 00000000..031fde9c --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,985 @@ +# 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-08 22:10+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:43 src/gui/buy.cpp:61 src/gui/buysell.cpp:35 +msgid "Buy" +msgstr "ä¹°" + +#: src/gui/buy.cpp:58 src/gui/buy.cpp:239 src/gui/sell.cpp:65 +#: src/gui/sell.cpp:259 +#, c-format +msgid "Price: %d GP / Total: %d GP" +msgstr "ä»·æ ¼ï¼š%d GP/总数:%d GP" + +#: src/gui/buy.cpp:62 src/gui/sell.cpp:69 +msgid "Quit" +msgstr "退出" + +#: src/gui/buy.cpp:63 src/gui/buy.cpp:206 src/gui/buy.cpp:224 +#: src/gui/inventorywindow.cpp:150 src/gui/inventorywindow.cpp:160 +#: src/gui/sell.cpp:70 src/gui/sell.cpp:230 src/gui/sell.cpp:244 +#: src/gui/trade.cpp:94 src/gui/trade.cpp:266 +#, c-format +msgid "Description: %s" +msgstr "æ述:%s" + +#: src/gui/buy.cpp:64 src/gui/buy.cpp:208 src/gui/buy.cpp:225 +#: src/gui/inventorywindow.cpp:149 src/gui/inventorywindow.cpp:158 +#: src/gui/sell.cpp:71 src/gui/sell.cpp:232 src/gui/sell.cpp:245 +#, c-format +msgid "Effect: %s" +msgstr "å½±å“: %s" + +#: src/gui/buysell.cpp:31 +#, fuzzy +msgid "Shop" +msgstr "åœæ¢" + +#: src/gui/buysell.cpp:35 src/gui/sell.cpp:48 src/gui/sell.cpp:68 +msgid "Sell" +msgstr "出售" + +#: src/gui/buysell.cpp:35 src/gui/char_select.cpp:85 +#: src/gui/char_select.cpp:258 src/gui/char_server.cpp:60 +#: src/gui/connection.cpp:47 src/gui/item_amount.cpp:61 src/gui/login.cpp:52 +#: src/gui/npclistdialog.cpp:45 src/gui/register.cpp:76 src/gui/setup.cpp:58 +#: src/gui/trade.cpp:63 src/gui/updatewindow.cpp:118 +msgid "Cancel" +msgstr "å–消" + +#: src/gui/char_select.cpp:63 +msgid "Confirm Character Delete" +msgstr "" + +#: src/gui/char_select.cpp:64 +msgid "Are you sure you want to delete this character?" +msgstr "ä½ ç¡®å®šæƒ³åˆ é™¤è¿™ä¸ªè¾ƒè‰²" + +#: src/gui/char_select.cpp:81 +msgid "Select Character" +msgstr "选择较色" + +#: src/gui/char_select.cpp:84 src/gui/item_amount.cpp:60 src/gui/login.cpp:51 +#: src/gui/ok_dialog.cpp:37 src/gui/trade.cpp:62 +msgid "Ok" +msgstr "OK" + +#: src/gui/char_select.cpp:86 +msgid "New" +msgstr "新建" + +#: src/gui/char_select.cpp:87 src/gui/setup_players.cpp:220 +msgid "Delete" +msgstr "åˆ é™¤" + +#: src/gui/char_select.cpp:88 +msgid "Previous" +msgstr "上一页" + +#: src/gui/char_select.cpp:89 +msgid "Next" +msgstr "下一页" + +#: src/gui/char_select.cpp:91 src/gui/char_select.cpp:171 +#: src/gui/char_select.cpp:183 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:92 src/gui/char_select.cpp:172 +#: src/gui/char_select.cpp:184 src/gui/status.cpp:51 src/gui/status.cpp:232 +#, c-format +msgid "Level: %d" +msgstr "ç‰çº§ï¼š%d" + +#: src/gui/char_select.cpp:93 src/gui/char_select.cpp:173 +#: src/gui/char_select.cpp:185 +#, fuzzy, c-format +msgid "Job Level: %d" +msgstr "ç‰çº§ï¼š%d" + +#: src/gui/char_select.cpp:94 src/gui/char_select.cpp:186 +#, c-format +msgid "Money: %d" +msgstr "金钱:%d" + +#: src/gui/char_select.cpp:174 +#, c-format +msgid "Gold: %d" +msgstr "" + +#: src/gui/char_select.cpp:243 +msgid "Create Character" +msgstr "创建角色" + +#: src/gui/char_select.cpp:250 src/gui/login.cpp:44 src/gui/register.cpp:65 +msgid "Name:" +msgstr "å称" + +#: src/gui/char_select.cpp:253 +msgid "Hair Color:" +msgstr "头å‘颜色" + +#: src/gui/char_select.cpp:256 +msgid "Hair Style:" +msgstr "å‘åž‹" + +#: src/gui/char_select.cpp:257 +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/chat.cpp:122 +msgid "Global announcement:" +msgstr "" + +#: src/gui/chat.cpp:125 +#, c-format +msgid "Global announcement from %s:" +msgstr "" + +#: src/gui/chat.cpp:140 src/gui/login.cpp:46 src/gui/register.cpp:68 +msgid "Server:" +msgstr "æœåŠ¡å™¨ï¼š" + +#: src/gui/chat.cpp:146 +#, c-format +msgid "%s whispers:" +msgstr "" + +#: src/gui/chat.cpp:283 +#, c-format +msgid "Whispering to %s: %s" +msgstr "" + +#: src/gui/chat.cpp:356 +msgid "Unknown command" +msgstr "" + +#: src/gui/chat.cpp:366 +msgid "Trade failed!" +msgstr "" + +#: src/gui/chat.cpp:369 +msgid "Emote failed!" +msgstr "" + +#: src/gui/chat.cpp:372 +msgid "Sit failed!" +msgstr "" + +#: src/gui/chat.cpp:375 +msgid "Chat creating failed!" +msgstr "" + +#: src/gui/chat.cpp:378 +msgid "Could not join party!" +msgstr "" + +#: src/gui/chat.cpp:381 +msgid "Cannot shout!" +msgstr "" + +#: src/gui/chat.cpp:389 +msgid "You have not yet reached a high enough lvl!" +msgstr "" + +#: src/gui/chat.cpp:392 +msgid "Insufficient HP!" +msgstr "" + +#: src/gui/chat.cpp:395 +msgid "Insufficient SP!" +msgstr "" + +#: src/gui/chat.cpp:398 +msgid "You have no memos!" +msgstr "" + +#: src/gui/chat.cpp:401 +msgid "You cannot do that right now!" +msgstr "" + +#: src/gui/chat.cpp:404 +msgid "Seems you need more Zeny... ;-)" +msgstr "" + +#: src/gui/chat.cpp:407 +msgid "You cannot use this skill with that kind of weapon!" +msgstr "" + +#: src/gui/chat.cpp:410 +msgid "You need another red gem!" +msgstr "" + +#: src/gui/chat.cpp:413 +msgid "You need another blue gem!" +msgstr "" + +#: src/gui/chat.cpp:416 +msgid "You're carrying to much to do this!" +msgstr "" + +#: src/gui/chat.cpp:419 +msgid "Huh? What's that?" +msgstr "" + +#: src/gui/chat.cpp:425 +msgid "Warp failed..." +msgstr "" + +#: src/gui/chat.cpp:428 +msgid "Could not steal anything..." +msgstr "" + +#: src/gui/chat.cpp:431 +msgid "Poison had no effect..." +msgstr "" + +#: src/gui/chat.cpp:496 +msgid "-- Help --" +msgstr "" + +#: src/gui/chat.cpp:499 +msgid "/announce: Global announcement (GM only)" +msgstr "" + +#: src/gui/chat.cpp:500 +msgid "/clear: Clears this window" +msgstr "" + +#: src/gui/chat.cpp:501 +msgid "/help: Display this help" +msgstr "" + +#: src/gui/chat.cpp:502 +msgid "/where: Display map name" +msgstr "" + +#: src/gui/chat.cpp:503 +msgid "/whisper <nick> <message>: Sends a private <message> to <nick>" +msgstr "" + +#: src/gui/chat.cpp:505 +msgid "/w <nick> <message>: Short form for /whisper" +msgstr "" + +#: src/gui/chat.cpp:506 +msgid "/who: Display number of online users" +msgstr "" + +#: src/gui/chat.cpp:507 +msgid "For more information, type /help <command>" +msgstr "" + +#: src/gui/chat.cpp:512 +msgid "Command: /announce <msg>" +msgstr "" + +#: src/gui/chat.cpp:513 +msgid "*** only available to a GM ***" +msgstr "" + +#: src/gui/chat.cpp:514 +msgid "This command sends the message <msg> to all players currently online." +msgstr "" + +#: src/gui/chat.cpp:520 +msgid "Command: /clear" +msgstr "" + +#: src/gui/chat.cpp:521 +msgid "This command clears the chat log of previous chat." +msgstr "" + +#: src/gui/chat.cpp:527 +msgid "Command: /help" +msgstr "" + +#: src/gui/chat.cpp:528 +msgid "This command displays a list of all commands available." +msgstr "" + +#: src/gui/chat.cpp:530 +msgid "Command: /help <command>" +msgstr "" + +#: src/gui/chat.cpp:531 +msgid "This command displays help on <command>." +msgstr "" + +#: src/gui/chat.cpp:536 +msgid "Command: /where" +msgstr "" + +#: src/gui/chat.cpp:537 +msgid "This command displays the name of the current map." +msgstr "" + +#: src/gui/chat.cpp:543 +msgid "Command: /whisper <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:544 +msgid "Command: /w <nick> <msg>" +msgstr "" + +#: src/gui/chat.cpp:545 +msgid "This command sends the message <msg> to <nick>." +msgstr "" + +#: src/gui/chat.cpp:547 +msgid "If the <nick> has spaces in it, enclose it in double quotes (\")." +msgstr "" + +#: src/gui/chat.cpp:553 +msgid "Command: /who" +msgstr "" + +#: src/gui/chat.cpp:554 +msgid "This command displays the number of players currently online." +msgstr "" + +#: src/gui/chat.cpp:558 +msgid "Unknown command." +msgstr "" + +#: src/gui/chat.cpp:559 +msgid "Type /help for a list of commands." +msgstr "" + +#: src/gui/confirm_dialog.cpp:35 +msgid "Yes" +msgstr "是" + +#: src/gui/confirm_dialog.cpp:36 +msgid "No" +msgstr "å¦" + +#: src/gui/connection.cpp:49 src/gui/updatewindow.cpp:116 +msgid "Connecting..." +msgstr "连接ä¸..." + +#: src/gui/equipmentwindow.cpp:38 src/gui/menuwindow.cpp:62 +msgid "Equipment" +msgstr "装备" + +#: src/gui/help.cpp:33 +msgid "Help" +msgstr "" + +#: src/gui/help.cpp:41 +msgid "Close" +msgstr "" + +#: src/gui/inventorywindow.cpp:46 src/gui/menuwindow.cpp:63 +msgid "Inventory" +msgstr "清å•" + +#: src/gui/inventorywindow.cpp:56 src/gui/inventorywindow.cpp:232 +#: src/gui/skill.cpp:134 +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:76 +msgid "Select amount of items to trade." +msgstr "请选择交易的物å“æ•°é‡" + +#: src/gui/item_amount.cpp:80 +msgid "Select amount of items to drop." +msgstr "请选择丢弃的物å“æ•°é‡" + +#: src/gui/login.cpp:42 +msgid "Login" +msgstr "登陆" + +#: src/gui/login.cpp:45 src/gui/register.cpp:66 +msgid "Password:" +msgstr "密ç :" + +#: src/gui/login.cpp:50 +msgid "Remember Username" +msgstr "" + +#: src/gui/login.cpp:53 src/gui/register.cpp:75 +msgid "Register" +msgstr "注册" + +#: src/gui/menuwindow.cpp:61 +msgid "Status" +msgstr "状æ€" + +#: src/gui/menuwindow.cpp:64 src/gui/skill.cpp:119 +msgid "Skills" +msgstr "技能" + +#: src/gui/menuwindow.cpp:65 +msgid "Shortcut" +msgstr "å¿«æ·é”®" + +#: src/gui/menuwindow.cpp:66 src/main.cpp:716 +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 src/main.cpp:945 +msgid "Error" +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_keyboard.cpp:88 +msgid "Assign" +msgstr "" + +#: src/gui/setup_keyboard.cpp:94 +#, fuzzy +msgid "Default" +msgstr "åˆ é™¤" + +#: src/gui/setup_keyboard.cpp:115 +msgid "Key Conflict(s) Detected." +msgstr "" + +#: src/gui/setup_keyboard.cpp:116 +msgid "Resolve them, or gameplay may result in strange behaviour." +msgstr "" + +#: src/gui/setup_players.cpp:53 +#, fuzzy +msgid "Name" +msgstr "å称" + +#: src/gui/setup_players.cpp:54 +msgid "Relation" +msgstr "" + +#: src/gui/setup_players.cpp:58 +msgid "Neutral" +msgstr "" + +#: src/gui/setup_players.cpp:59 +msgid "Friend" +msgstr "" + +#: src/gui/setup_players.cpp:60 +msgid "Disregarded" +msgstr "" + +#: src/gui/setup_players.cpp:61 +msgid "Ignored" +msgstr "" + +#: src/gui/setup_players.cpp:214 +msgid "Save player list" +msgstr "" + +#: src/gui/setup_players.cpp:216 +msgid "Allow trading" +msgstr "" + +#: src/gui/setup_players.cpp:218 +msgid "Allow whispers" +msgstr "" + +#: src/gui/setup_players.cpp:245 +msgid "When ignoring:" +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/skill.cpp:79 +msgid "Mystery Skill" +msgstr "" + +#: src/gui/skill.cpp:132 src/gui/skill.cpp:188 +#, c-format +msgid "Skill points: %d" +msgstr "" + +#: src/gui/skill.cpp:133 +msgid "Up" +msgstr "" + +#: src/gui/status.cpp:52 src/gui/status.cpp:235 +#, fuzzy, c-format +msgid "Job: %d" +msgstr "ç‰çº§ï¼š%d" + +#: src/gui/status.cpp:53 src/gui/status.cpp:238 +#, fuzzy, c-format +msgid "Money: %d GP" +msgstr "金钱:%d" + +#: src/gui/status.cpp:127 +#, fuzzy +msgid "Stats" +msgstr "状æ€" + +#: src/gui/status.cpp:128 +msgid "Total" +msgstr "" + +#: src/gui/status.cpp:129 +msgid "Cost" +msgstr "" + +#: src/gui/status.cpp:132 +#, fuzzy +msgid "Attack:" +msgstr "攻击 %+d" + +#: src/gui/status.cpp:133 +#, fuzzy +msgid "Defense:" +msgstr "防护 %+d" + +#: src/gui/status.cpp:134 +#, fuzzy +msgid "M.Attack:" +msgstr "攻击 %+d" + +#: src/gui/status.cpp:135 +#, fuzzy +msgid "M.Defense:" +msgstr "防护 %+d" + +#: src/gui/status.cpp:136 +#, c-format +msgid "% Accuracy:" +msgstr "" + +#: src/gui/status.cpp:137 +#, c-format +msgid "% Evade:" +msgstr "" + +#: src/gui/status.cpp:138 +msgid "% Reflex:" +msgstr "" + +#: src/gui/status.cpp:282 +#, fuzzy +msgid "Strength" +msgstr "力é‡" + +#: src/gui/status.cpp:283 +#, fuzzy +msgid "Agility" +msgstr "æ•æ·:" + +#: src/gui/status.cpp:284 +#, fuzzy +msgid "Vitality" +msgstr "体力:" + +#: src/gui/status.cpp:285 +#, fuzzy +msgid "Intelligence" +msgstr "智力:" + +#: src/gui/status.cpp:286 +#, fuzzy +msgid "Dexterity" +msgstr "智慧:" + +#: src/gui/status.cpp:287 +msgid "Luck" +msgstr "" + +#: src/gui/status.cpp:305 +#, c-format +msgid "Remaining Status Points: %d" +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 "ä½ å¾—åˆ°%d GP." + +#: src/gui/trade.cpp:81 +msgid "You give:" +msgstr "ä½ å¾—åˆ°ï¼š" + +#: src/gui/trade.cpp:283 +msgid "Failed adding item. You can not overlap one kind of item on the window." +msgstr "" + +#: src/gui/updatewindow.cpp:93 +msgid "Updating..." +msgstr "" + +#: src/gui/updatewindow.cpp:119 +msgid "Play" +msgstr "" + +#: src/gui/updatewindow.cpp:525 +msgid "Completed" +msgstr "" + +#: src/resources/itemdb.cpp:99 +msgid "Unnamed" +msgstr "" + +#: src/main.cpp:769 +msgid "Got disconnected from server!" +msgstr "" + +#: src/main.cpp:956 +#, fuzzy +msgid "Connecting to map server..." +msgstr "连接ä¸..." + +#: src/main.cpp:964 +msgid "Connecting to character server..." +msgstr "" + +#: src/main.cpp:972 +msgid "Connecting to account server..." +msgstr "" + +#~ msgid "Unregister" +#~ 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 "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 130452c6..27d1e1d8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -51,8 +51,8 @@ MARK_AS_ADVANCED(SDL_LIBRARY) SET(SRCS gui/widgets/resizegrip.cpp gui/widgets/resizegrip.h - gui/box.cpp - gui/box.h + gui/widgets/layout.cpp + gui/widgets/layout.h gui/browserbox.cpp gui/browserbox.h gui/buddywindow.cpp @@ -87,8 +87,6 @@ SET(SRCS gui/gccontainer.h gui/gui.cpp gui/gui.h - gui/hbox.cpp - gui/hbox.h gui/help.cpp gui/help.h gui/inttextbox.cpp @@ -134,6 +132,8 @@ SET(SRCS gui/register.h gui/scrollarea.cpp gui/scrollarea.h + gui/sdlinput.cpp + gui/sdlinput.h gui/sell.cpp gui/sell.h gui/setup_audio.cpp @@ -173,8 +173,6 @@ SET(SRCS gui/trade.h gui/updatewindow.h gui/updatewindow.cpp - gui/vbox.h - gui/vbox.cpp gui/viewport.cpp gui/viewport.h gui/window.cpp @@ -261,6 +259,7 @@ SET(SRCS utils/base64.h utils/dtor.h utils/fastsqrt.h + utils/gettext.h utils/strprintf.cpp utils/strprintf.h utils/tostring.h @@ -328,6 +327,8 @@ SET(SRCS player.h player_relations.cpp player_relations.h + position.cpp + position.h properties.h serverinfo.h shopitem.cpp @@ -340,6 +341,7 @@ SET(SRCS textparticle.cpp textparticle.h tileset.h + vector.cpp vector.h ) diff --git a/src/Makefile.am b/src/Makefile.am index 1f23e328..d882f426 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,8 +1,10 @@ +AUTOMAKE_OPTIONS = subdir-objects + bin_PROGRAMS = tmw -tmw_SOURCES = gui/widgets/resizegrip.cpp \ +tmw_SOURCES = gui/widgets/layout.cpp \ + gui/widgets/layout.h \ + gui/widgets/resizegrip.cpp \ gui/widgets/resizegrip.h \ - gui/box.h \ - gui/box.cpp \ gui/browserbox.cpp \ gui/browserbox.h \ gui/buddywindow.cpp \ @@ -37,8 +39,6 @@ tmw_SOURCES = gui/widgets/resizegrip.cpp \ gui/gccontainer.h \ gui/gui.cpp \ gui/gui.h \ - gui/hbox.h \ - gui/hbox.cpp \ gui/help.cpp \ gui/help.h \ gui/inttextbox.h \ @@ -86,6 +86,8 @@ tmw_SOURCES = gui/widgets/resizegrip.cpp \ gui/register.h \ gui/scrollarea.cpp \ gui/scrollarea.h \ + gui/sdlinput.cpp \ + gui/sdlinput.h \ gui/sell.cpp \ gui/sell.h \ gui/setup_audio.cpp \ @@ -125,8 +127,6 @@ tmw_SOURCES = gui/widgets/resizegrip.cpp \ gui/trade.h \ gui/updatewindow.h \ gui/updatewindow.cpp \ - gui/vbox.h \ - gui/vbox.cpp \ gui/viewport.cpp \ gui/viewport.h \ gui/window.cpp \ @@ -213,6 +213,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 \ @@ -283,6 +284,8 @@ tmw_SOURCES = gui/widgets/resizegrip.cpp \ player.h \ player_relations.cpp \ player_relations.h \ + position.cpp \ + position.h \ properties.h \ serverinfo.h \ shopitem.cpp \ @@ -301,15 +304,11 @@ tmw_SOURCES = gui/widgets/resizegrip.cpp \ textparticle.cpp \ textparticle.h \ tileset.h \ + vector.cpp \ vector.h # 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/SDLMain.h b/src/SDLMain.h index 4683df57..4683df57 100755..100644 --- a/src/SDLMain.h +++ b/src/SDLMain.h diff --git a/src/SDLMain.m b/src/SDLMain.m index 3d02719c..3d02719c 100755..100644 --- a/src/SDLMain.m +++ b/src/SDLMain.m diff --git a/src/animatedsprite.h b/src/animatedsprite.h index 405bf42e..41857d8f 100644 --- a/src/animatedsprite.h +++ b/src/animatedsprite.h @@ -50,7 +50,8 @@ class AnimatedSprite * @param filename the file of the sprite to animate * @param variant the sprite variant */ - static AnimatedSprite *load(std::string const &filename, int variant = 0); + static AnimatedSprite *load(const std::string &filename, + int variant = 0); /** * Destructor. @@ -60,50 +61,42 @@ class AnimatedSprite /** * Resets the animated sprite. */ - void - reset(); + void reset(); /** * Plays an action using the current direction */ - void - play(SpriteAction action); + void play(SpriteAction action); /** * Inform the animation of the passed time so that it can output the * correct animation frame. */ - void - update(int time); + void update(int time); /** * Draw the current animation frame at the coordinates given in screen * pixels. */ - bool - draw(Graphics* graphics, int posX, int posY) const; + bool draw(Graphics* graphics, int posX, int posY) const; /** * gets the width in pixels of the image of the current frame */ - int - getWidth() const; + int getWidth() const; /** * gets the height in pixels of the image of the current frame */ - int - getHeight() const; + int getHeight() const; /** * Sets the direction. */ - void - setDirection(SpriteDirection direction); + void setDirection(SpriteDirection direction); private: - bool - updateCurrentAnimation(unsigned int dt); + bool updateCurrentAnimation(unsigned int dt); SpriteDirection mDirection; /**< The sprite direction. */ int mLastTime; /**< The last time update was called. */ diff --git a/src/being.cpp b/src/being.cpp index 88063ac1..c04aeaa9 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -70,7 +70,7 @@ Being::Being(int id, int job, Map *map): mMap(NULL), mEquippedWeapon(NULL), mHairStyle(1), mHairColor(0), - mGender(2), + mGender(GENDER_UNSPECIFIED), mSpeechTime(0), mPx(0), mPy(0), mStunMode(0), @@ -322,29 +322,29 @@ void Being::nextStep() return; } - PATH_NODE node = mPath.front(); + Position pos = mPath.front(); mPath.pop_front(); int dir = 0; - if (node.x > mX) + if (pos.x > mX) dir |= RIGHT; - else if (node.x < mX) + else if (pos.x < mX) dir |= LEFT; - if (node.y > mY) + if (pos.y > mY) dir |= DOWN; - else if (node.y < mY) + else if (pos.y < mY) dir |= UP; setDirection(dir); - if (mMap->tileCollides(node.x, node.y)) + if (mMap->tileCollides(pos.x, pos.y)) { setAction(STAND); return; } - mX = node.x; - mY = node.y; + mX = pos.x; + mY = pos.y; setAction(WALK); mWalkTime += mWalkSpeed / 10; } @@ -669,9 +669,10 @@ static void initializeHair() if (hairInitialized) return; - // Hairstyles are encoded as negative numbers. Count how far negative we can go. + // Hairstyles are encoded as negative numbers. Count how far negative we + // can go. int hairstylesCtr = -1; - while (ItemDB::get(hairstylesCtr).getSprite(0) != "error.xml") + while (ItemDB::get(hairstylesCtr).getSprite(GENDER_MALE) != "error.xml") --hairstylesCtr; hairStylesNr = -hairstylesCtr; // done. diff --git a/src/being.h b/src/being.h index f48ebae2..e70cdd09 100644 --- a/src/being.h +++ b/src/being.h @@ -28,6 +28,7 @@ #include <SDL_types.h> #include <set> +#include "position.h" #include "sprite.h" #include "map.h" #include "animatedsprite.h" @@ -46,26 +47,13 @@ class ImageSet; class Particle; class Text; - class StatusEffect; -/** - * A position along a being's path. - */ -struct PATH_NODE -{ - /** - * Constructor. - */ - PATH_NODE(unsigned short x, unsigned short y): - x(x), y(y) - { } - - unsigned short x; - unsigned short y; +enum Gender { + GENDER_MALE = 0, + GENDER_FEMALE = 1, + GENDER_UNSPECIFIED = 2 }; -typedef std::list<PATH_NODE> Path; -typedef Path::iterator PathIterator; class Being : public Sprite { @@ -115,10 +103,7 @@ class Being : public Sprite /** * Directions, to be used as bitmask values */ - static const char DOWN = 1; - static const char LEFT = 2; - static const char UP = 4; - static const char RIGHT = 8; + enum { DOWN = 1, LEFT = 2, UP = 4, RIGHT = 8 }; Uint16 mJob; /**< Job (player job, npc, monster, ) */ Uint16 mX, mY; /**< Tile coordinates */ @@ -213,12 +198,12 @@ class Being : public Sprite /** * Sets the gender of this being. */ - virtual void setGender(int gender) { mGender = gender; } + virtual void setGender(Gender gender) { mGender = gender; } /** * Gets the gender of this being. */ - int getGender() const { return mGender; } + Gender getGender() const { return mGender; } /** * Makes this being take the next step of his path. @@ -438,7 +423,7 @@ class Being : public Sprite Path mPath; Text *mSpeech; Uint16 mHairStyle, mHairColor; - Uint8 mGender; + Gender mGender; Uint32 mSpeechTime; Sint32 mPx, mPy; /**< Pixel coordinates */ Uint16 mStunMode; /**< Stun mode; zero if not stunned */ diff --git a/src/game.cpp b/src/game.cpp index a4d15548..a788c51a 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -26,7 +26,6 @@ #include <sstream> #include <string> -#include <guichan/sdl/sdlinput.hpp> #include <guichan/exception.hpp> #include "beingmanager.h" @@ -59,6 +58,7 @@ #include "gui/npclistdialog.h" #include "gui/npc_text.h" #include "gui/ok_dialog.h" +#include "gui/sdlinput.h" #include "gui/sell.h" #include "gui/setup.h" #include "gui/skill.h" @@ -83,7 +83,6 @@ #include "resources/imagewriter.h" extern Graphics *graphics; -extern gcn::SDLInput *guiInput; class Map; @@ -229,6 +228,7 @@ void createGuiWindows(Network *network) */ void destroyGuiWindows() { + logger->setChatWindow(NULL); delete chatWindow; delete statusWindow; delete miniStatusWindow; 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/browserbox.cpp b/src/gui/browserbox.cpp index 3e446928..03540d31 100644 --- a/src/gui/browserbox.cpp +++ b/src/gui/browserbox.cpp @@ -21,11 +21,8 @@ #include <algorithm> -#include <guichan/graphics.hpp> -#include <guichan/imagefont.hpp> -#include <guichan/mouseinput.hpp> - #include "browserbox.h" + #include "linkhandler.h" #include "truetypefont.h" @@ -143,7 +140,7 @@ void BrowserBox::addRow(const std::string &row) if (mMode == AUTO_WRAP) { - unsigned int j, y = 0; + unsigned int y = 0; unsigned int nextChar; const char *hyphen = "~"; int hyphenWidth = font->getWidth(hyphen); @@ -152,7 +149,7 @@ void BrowserBox::addRow(const std::string &row) for (TextRowIterator i = mTextRows.begin(); i != mTextRows.end(); i++) { std::string row = *i; - for (j = 0; j < row.size(); j++) + for (unsigned int j = 0; j < row.size(); j++) { std::string character = row.substr(j, 1); x += font->getWidth(character); @@ -266,7 +263,6 @@ BrowserBox::draw(gcn::Graphics *graphics) } } - unsigned int j; int x = 0, y = 0; int wrappedLines = 0; TrueTypeFont *font = static_cast<TrueTypeFont*>(getFont()); @@ -277,17 +273,45 @@ BrowserBox::draw(gcn::Graphics *graphics) int selColor = BLACK; int prevColor = selColor; std::string row = *(i); + bool wrapped = false; x = 0; - for (j = 0; j < row.size(); j++) + // Check for separator lines + if (row.find("---", 0) == 0) + { + for (x = 0; x < getWidth(); x++) + { + font->drawString(graphics, "-", x, y); + x += font->getWidth("-") - 2; + } + y += font->getHeight(); + continue; + } + + // TODO: Check if we must take texture size limits into account here + // TODO: Check if some of the O(n) calls can be removed + for (std::string::size_type start = 0, end = std::string::npos; + start != std::string::npos; + start = end, end = std::string::npos) { - if ( (mUseLinksAndUserColors && (j + 3) <= row.size()) || - (!mUseLinksAndUserColors && (j == 0)) ) + // Wrapped line continuation shall be indented + if (wrapped) + { + y += font->getHeight(); + x = 15; + } + + // "Tokenize" the string at control sequences + if (mUseLinksAndUserColors) + end = row.find("##", start + 1); + + if (mUseLinksAndUserColors || + (!mUseLinksAndUserColors && (start == 0))) { // Check for color change in format "##x", x = [L,P,0..9] - if ((row.at(j) == '#') && (row.at(j + 1) == '#')) + if (row.find("##", start) == start && row.size() > start + 2) { - switch (row.at(j + 2)) + switch (row.at(start + 2)) { case 'L': // Link color prevColor = selColor; @@ -337,72 +361,64 @@ BrowserBox::draw(gcn::Graphics *graphics) prevColor = selColor; selColor = BLACK; } - j += 3; - - if (j == row.size()) - { - break; - } + start += 3; } graphics->setColor(gcn::Color(selColor)); } - // Check for line separators in format "---" - if (row == "---") - { - for (x = 0; x < getWidth(); x++) - { - font->drawString(graphics, "-", x, y); - x += font->getWidth("-") - 2; - } - break; - } - // Draw each char - else - { - std::string character = row.substr(j, 1); - font->drawString(graphics, character, x, y); - x += font->getWidth(character.c_str()); + std::string::size_type len = + end == std::string::npos ? end : end - start; + std::string part = row.substr(start, len); - // Auto wrap mode - if (mMode == AUTO_WRAP) + // Auto wrap mode + if (mMode == AUTO_WRAP && + (x + font->getWidth(part.c_str()) + 10) > getWidth()) + { + bool forced = false; + char const *hyphen = "~"; + int hyphenWidth = font->getWidth(hyphen); + + /* FIXME: This code layout makes it easy to crash remote + clients by talking garbage. Forged long utf-8 characters + will cause either a buffer underflow in substr or an + infinite loop in the main loop. */ + do { - unsigned int nextChar = j + 1; - const char *hyphen = "~"; - int hyphenWidth = font->getWidth(hyphen); + if (!forced) + end = row.rfind(" ", end); - // Wraping between words (at blank spaces) - if ((nextChar < row.size()) && (row.at(nextChar) == ' ')) + // Check if we have to (stupidly) force-wrap + if (end == std::string::npos || end <= start) { - int nextSpacePos = row.find(" ", (nextChar + 1)); - if (nextSpacePos <= 0) - { - nextSpacePos = row.size() - 1; - } - int nextWordWidth = font->getWidth( - row.substr(nextChar, - (nextSpacePos - nextChar))); - - if ((x + nextWordWidth + 10) > getWidth()) - { - x = 15; // Ident in new line - y += font->getHeight(); - wrappedLines++; - j++; - } + forced = true; + end = row.size(); + x += hyphenWidth * 2; // Account for the wrap-notifier + continue; } - // Wrapping looong lines (brutal force) - else if ((x + 2 * hyphenWidth) > getWidth()) - { - font->drawString(graphics, hyphen, - getWidth() - hyphenWidth, y); - x = 15; // Ident in new line - y += font->getHeight(); - wrappedLines++; - } + // Skip to the start of the current character + while ((row[end] & 192) == 128) + end--; + end--; // And then to the last byte of the previous one + + part = row.substr(start, end - start + 1); + } while ((x + font->getWidth(part.c_str()) + 10) > getWidth()); + + if (forced) + { + x -= hyphenWidth; // Remove the wrap-notifier accounting + font->drawString(graphics, hyphen, + getWidth() - hyphenWidth, y); + end++; // Skip to the next character } + else + end += 2; // Skip to after the space + + wrapped = true; + wrappedLines++; } + font->drawString(graphics, part, x, y); + x += font->getWidth(part.c_str()); } y += font->getHeight(); setHeight((mTextRows.size() + wrappedLines) * font->getHeight()); diff --git a/src/gui/browserbox.h b/src/gui/browserbox.h index 465ff497..cb4c23ed 100644 --- a/src/gui/browserbox.h +++ b/src/gui/browserbox.h @@ -25,8 +25,8 @@ #include <iosfwd> #include <vector> -#include <guichan/widget.hpp> #include <guichan/mouselistener.hpp> +#include <guichan/widget.hpp> #include "../guichanfwd.h" #include "../main.h" diff --git a/src/gui/buy.cpp b/src/gui/buy.cpp index 714f52db..4d028ab3 100644 --- a/src/gui/buy.cpp +++ b/src/gui/buy.cpp @@ -29,15 +29,18 @@ #include "shoplistbox.h" #include "slider.h" +#include "widgets/layout.h" + #include "../npc.h" #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,17 +55,16 @@ 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); - mQuantityLabel->setWidth(60); mScrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER); mIncreaseButton->setEnabled(false); @@ -70,22 +72,22 @@ BuyDialog::BuyDialog(Network *network): mBuyButton->setEnabled(false); mSlider->setEnabled(false); - mShopItemList->setActionEventId("item"); mSlider->setActionEventId("slider"); - - mShopItemList->addSelectionListener(this); mSlider->addActionListener(this); + mShopItemList->addSelectionListener(this); - add(mScrollArea); - add(mSlider); - add(mQuantityLabel); - add(mBuyButton); - add(mQuitButton); - add(mIncreaseButton); - add(mDecreaseButton); - add(mMoneyLabel); - add(mItemDescLabel); - add(mItemEffectLabel); + place(0, 0, mScrollArea, 5).setPadding(3); + place(0, 1, mQuantityLabel, 2); + place(2, 1, mSlider, 3); + place(0, 2, mMoneyLabel, 5); + place(0, 3, mItemEffectLabel, 5); + place(0, 4, mItemDescLabel, 5); + place(0, 5, mDecreaseButton); + place(1, 5, mIncreaseButton); + place(3, 5, mBuyButton); + place(4, 5, mQuitButton); + Layout &layout = getLayout(); + layout.setRowHeight(0, Layout::AUTO_SET); loadWindowState(); setLocationRelativeTo(getParent()); @@ -159,7 +161,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) { @@ -191,53 +193,7 @@ void BuyDialog::valueChanged(const gcn::SelectionEvent &event) mSlider->gcn::Slider::setScale(1, mMaxItems); } -void BuyDialog::widgetResized(const gcn::Event &event) -{ - Window::widgetResized(event); - - const gcn::Rectangle &area = getChildrenArea(); - const int width = area.width; - const int height = area.height; - - mDecreaseButton->setPosition(8, height - 8 - mDecreaseButton->getHeight()); - mIncreaseButton->setPosition( - mDecreaseButton->getX() + mDecreaseButton->getWidth() + 5, - mDecreaseButton->getY()); - - mQuitButton->setPosition( - width - 8 - mQuitButton->getWidth(), - height - 8 - mQuitButton->getHeight()); - mBuyButton->setPosition( - mQuitButton->getX() - 5 - mBuyButton->getWidth(), - mQuitButton->getY()); - - mItemDescLabel->setDimension(gcn::Rectangle(8, - mBuyButton->getY() - 5 - mItemDescLabel->getHeight(), - width - 16, - mItemDescLabel->getHeight())); - mItemEffectLabel->setDimension(gcn::Rectangle(8, - mItemDescLabel->getY() - 5 - mItemEffectLabel->getHeight(), - width - 16, - mItemEffectLabel->getHeight())); - mMoneyLabel->setDimension(gcn::Rectangle(8, - mItemEffectLabel->getY() - 5 - mMoneyLabel->getHeight(), - width - 16, - mMoneyLabel->getHeight())); - - mQuantityLabel->setPosition( - width - mQuantityLabel->getWidth() - 8, - mMoneyLabel->getY() - 5 - mQuantityLabel->getHeight()); - mSlider->setDimension(gcn::Rectangle(8, - mQuantityLabel->getY(), - mQuantityLabel->getX() - 8 - 8, - 10)); - - mScrollArea->setDimension(gcn::Rectangle(8, 8, width - 16, - mSlider->getY() - 5 - 8)); -} - -void -BuyDialog::updateButtonsAndLabels() +void BuyDialog::updateButtonsAndLabels() { const int selectedItem = mShopItemList->getSelected(); int price = 0; @@ -246,8 +202,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 +221,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 +234,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/buy.h b/src/gui/buy.h index 0915385a..329d35ec 100644 --- a/src/gui/buy.h +++ b/src/gui/buy.h @@ -93,13 +93,7 @@ class BuyDialog : public Window, public gcn::ActionListener, /** * Updates the state of buttons and labels. */ - void - updateButtonsAndLabels(); - - /** - * Called whenever the widget changes size. - */ - void widgetResized(const gcn::Event &event); + void updateButtonsAndLabels(); private: Network *mNetwork; diff --git a/src/gui/buysell.cpp b/src/gui/buysell.cpp index 42380882..a8223ca4 100644 --- a/src/gui/buysell.cpp +++ b/src/gui/buysell.cpp @@ -25,18 +25,20 @@ #include "../npc.h" +#include "../utils/gettext.h" + BuySellDialog::BuySellDialog(): - Window("Shop") + Window(_("Shop")) { Button *buyButton = 0; - const char *buttonNames[] = { - "Buy", "Sell", "Cancel", 0 + static const char *buttonNames[] = { + N_("Buy"), N_("Sell"), N_("Cancel"), 0 }; int x = 10, y = 10; for (const char **curBtn = buttonNames; *curBtn; curBtn++) { - Button *btn = new Button(*curBtn, *curBtn, this); + Button *btn = new Button(gettext(*curBtn), *curBtn, this); if (!buyButton) buyButton = btn; // For focus request btn->setPosition(x, y); add(btn); diff --git a/src/gui/char_select.cpp b/src/gui/char_select.cpp index d951f12e..643a598f 100644 --- a/src/gui/char_select.cpp +++ b/src/gui/char_select.cpp @@ -31,6 +31,8 @@ #include "playerbox.h" #include "textfield.h" +#include "widgets/layout.h" + #include "../game.h" #include "../localplayer.h" #include "../main.h" @@ -38,7 +40,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 +60,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) { } @@ -74,55 +77,42 @@ void CharDeleteConfirm::action(const gcn::ActionEvent &event) CharSelectDialog::CharSelectDialog(Network *network, LockedArray<LocalPlayer*> *charInfo, - unsigned char gender): - Window("Select Character"), mNetwork(network), + Gender gender): + 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(); - - int w = 195; - int h = 220; - setContentSize(w, h); - mPlayerBox->setDimension(gcn::Rectangle(5, 5, w - 10, 90)); - mNameLabel->setDimension(gcn::Rectangle(10, 100, 128, 16)); - mLevelLabel->setDimension(gcn::Rectangle(10, 116, 128, 16)); - mJobLevelLabel->setDimension(gcn::Rectangle(10, 132, 128, 16)); - mMoneyLabel->setDimension(gcn::Rectangle(10, 148, 128, 16)); - mPreviousButton->setPosition(5, 170); - mNextButton->setPosition(mPreviousButton->getWidth() + 10, 170); - mNewCharButton->setPosition(5, h - 5 - mNewCharButton->getHeight()); - mDelCharButton->setPosition( - 5 + mNewCharButton->getWidth() + 5, - mNewCharButton->getY()); - mCancelButton->setPosition( - w - 5 - mCancelButton->getWidth(), - mNewCharButton->getY()); - mSelectButton->setPosition( - mCancelButton->getX() - 5 - mSelectButton->getWidth(), - mNewCharButton->getY()); - - add(mPlayerBox); - add(mSelectButton); - add(mCancelButton); - add(mNewCharButton); - add(mDelCharButton); - add(mPreviousButton); - add(mNextButton); - add(mNameLabel); - add(mLevelLabel); - add(mJobLevelLabel); - add(mMoneyLabel); + 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; + mPlayerBox->setWidth(74); + + ContainerPlacer place; + place = getPlacer(0, 0); + place(0, 0, mPlayerBox, 1, 6).setPadding(3); + place(1, 0, mNameLabel, 3); + place(1, 1, mLevelLabel, 3); + place(1, 2, mJobLevelLabel, 3); + place(1, 3, mMoneyLabel, 3); + place(1, 4, mPreviousButton); + place(2, 4, mNextButton); + place(1, 5, mNewCharButton); + place(2, 5, mDelCharButton); + place.getCell().matchColWidth(1, 2); + place = getPlacer(0, 2); + place(0, 0, mSelectButton); + place(1, 0, mCancelButton); + reflowLayout(265, 0); setLocationRelativeTo(getParent()); setVisible(true); @@ -178,10 +168,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 +180,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); @@ -249,23 +239,23 @@ bool CharSelectDialog::selectByName(const std::string &name) } CharCreateDialog::CharCreateDialog(Window *parent, int slot, Network *network, - unsigned char gender): - Window("Create Character", true, parent), mNetwork(network), mSlot(slot) + Gender gender): + 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_select.h b/src/gui/char_select.h index 0890bea9..22c247b6 100644 --- a/src/gui/char_select.h +++ b/src/gui/char_select.h @@ -26,6 +26,7 @@ #include "../guichanfwd.h" #include "../lockedarray.h" +#include "../being.h" #include <guichan/actionlistener.hpp> @@ -48,7 +49,7 @@ class CharSelectDialog : public Window, public gcn::ActionListener */ CharSelectDialog(Network *network, LockedArray<LocalPlayer*> *charInfo, - unsigned char gender); + Gender gender); void action(const gcn::ActionEvent &event); @@ -76,7 +77,7 @@ class CharSelectDialog : public Window, public gcn::ActionListener PlayerBox *mPlayerBox; - unsigned char mGender; + Gender mGender; bool mCharSelected; /** @@ -102,7 +103,7 @@ class CharCreateDialog : public Window, public gcn::ActionListener * Constructor. */ CharCreateDialog(Window *parent, int slot, Network *network, - unsigned char gender); + Gender gender); /** * Destructor. 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/chat.cpp b/src/gui/chat.cpp index edde42d0..d61ec021 100644 --- a/src/gui/chat.cpp +++ b/src/gui/chat.cpp @@ -23,13 +23,13 @@ #include <sstream> #include <guichan/focushandler.hpp> -#include <guichan/key.hpp> #include "chat.h" #include "browserbox.h" #include "chatinput.h" #include "scrollarea.h" +#include "sdlinput.h" #include "windowcontainer.h" #include "../configuration.h" @@ -39,6 +39,8 @@ #include "../net/messageout.h" #include "../net/protocol.h" +#include "../utils/gettext.h" +#include "../utils/strprintf.h" #include "../utils/trim.h" ChatWindow::ChatWindow(Network *network): @@ -91,8 +93,7 @@ void ChatWindow::widgetResized(const gcn::Event &event) mChatInput->getHeight() - 5); } -void -ChatWindow::chatLog(std::string line, int own) +void ChatWindow::chatLog(std::string line, int own) { // Trim whitespace trim(line); @@ -117,11 +118,14 @@ ChatWindow::chatLog(std::string line, int own) std::string lineColor = "##0"; // Equiv. to BrowserBox::BLACK switch (own) { case BY_GM: - if (tmp.nick.empty()) - tmp.nick = std::string("Global announcement: "); - else - tmp.nick = std::string("Global announcement from " + tmp.nick - + std::string(": ")); + if (tmp.nick.empty()) { + tmp.nick = _("Global announcement:"); + tmp.nick += " "; + } else { + tmp.nick = strprintf(_("Global announcement from %s:"), + tmp.nick.c_str()); + tmp.nick += " "; + } lineColor = "##1"; // Equiv. to BrowserBox::RED break; case BY_PLAYER: @@ -133,12 +137,14 @@ ChatWindow::chatLog(std::string line, int own) lineColor = "##0"; // Equiv. to BrowserBox::BLACK break; case BY_SERVER: - tmp.nick = "Server: "; + tmp.nick = _("Server:"); + tmp.nick += " "; tmp.text = line; lineColor = "##7"; // Equiv. to BrowserBox::PINK break; case ACT_WHISPER: - tmp.nick += CAT_WHISPER; + tmp.nick = strprintf(_("%s whispers:"), tmp.nick.c_str()); + tmp.nick += " "; lineColor = "##3"; // Equiv. to BrowserBox::BLUE break; case ACT_IS: @@ -182,14 +188,12 @@ ChatWindow::chatLog(std::string line, int own) } } -void -ChatWindow::chatLog(CHATSKILL act) +void ChatWindow::chatLog(CHATSKILL act) { chatLog(const_msg(act), BY_SERVER); } -void -ChatWindow::action(const gcn::ActionEvent &event) +void ChatWindow::action(const gcn::ActionEvent &event) { if (event.getId() == "chatinput") { @@ -222,8 +226,7 @@ ChatWindow::action(const gcn::ActionEvent &event) } } -void -ChatWindow::requestChatFocus() +void ChatWindow::requestChatFocus() { // Make sure chatWindow is visible if (!isVisible()) @@ -243,19 +246,18 @@ ChatWindow::requestChatFocus() mChatInput->requestFocus(); } -bool -ChatWindow::isInputFocused() +bool ChatWindow::isInputFocused() { return mChatInput->isFocused(); } -void -ChatWindow::whisper(const std::string &nick, std::string msg, int prefixlen) +void ChatWindow::whisper(const std::string &nick, std::string msg, + int prefixlen) { std::string recvnick = ""; msg.erase(0, prefixlen + 1); - if (msg.substr(0,1) == "\"") + if (msg.substr(0, 1) == "\"") { const std::string::size_type pos = msg.find('"', 1); if (pos != std::string::npos) { @@ -278,11 +280,12 @@ ChatWindow::whisper(const std::string &nick, std::string msg, int prefixlen) outMsg.writeString(recvnick, 24); outMsg.writeString(msg, msg.length()); - chatLog("Whispering to " + recvnick + " : " + msg, BY_PLAYER); + chatLog(strprintf(_("Whispering to %s: %s"), + recvnick.c_str(), msg.c_str()), + BY_PLAYER); } -void -ChatWindow::chatSend(const std::string &nick, std::string msg) +void ChatWindow::chatSend(const std::string &nick, std::string msg) { /* Some messages are managed client side, while others * require server handling by proper packet. Probably @@ -350,81 +353,82 @@ ChatWindow::chatSend(const std::string &nick, std::string msg) whisper(nick, msg, IS_SHORT_WHISPER_LENGTH); else { - chatLog("Unknown command", BY_SERVER); + chatLog(_("Unknown command"), BY_SERVER); } } -std::string -ChatWindow::const_msg(CHATSKILL act) +std::string ChatWindow::const_msg(CHATSKILL act) { std::string msg; if (act.success == SKILL_FAILED && act.skill == SKILL_BASIC) { switch (act.bskill) { - case BSKILL_TRADE : - msg = "Trade failed!"; + case BSKILL_TRADE: + msg = _("Trade failed!"); break; - case BSKILL_EMOTE : - msg = "Emote failed!"; + case BSKILL_EMOTE: + msg = _("Emote failed!"); break; - case BSKILL_SIT : - msg = "Sit failed!"; + case BSKILL_SIT: + msg = _("Sit failed!"); break; - case BSKILL_CREATECHAT : - msg = "Chat creating failed!"; + case BSKILL_CREATECHAT: + msg = _("Chat creating failed!"); break; - case BSKILL_JOINPARTY : - msg = "Could not join party!"; + case BSKILL_JOINPARTY: + msg = _("Could not join party!"); break; - case BSKILL_SHOUT : - msg = "Cannot shout!"; + case BSKILL_SHOUT: + msg = _("Cannot shout!"); break; } + msg += " "; + switch (act.reason) { - case RFAIL_SKILLDEP : - msg += " You have not yet reached a high enough lvl!"; + case RFAIL_SKILLDEP: + msg += _("You have not yet reached a high enough lvl!"); break; - case RFAIL_INSUFHP : - msg += " Insufficient HP!"; + case RFAIL_INSUFHP: + msg += _("Insufficient HP!"); break; - case RFAIL_INSUFSP : - msg += " Insufficient SP!"; + case RFAIL_INSUFSP: + msg += _("Insufficient SP!"); break; - case RFAIL_NOMEMO : - msg += " You have no memos!"; + case RFAIL_NOMEMO: + msg += _("You have no memos!"); break; - case RFAIL_SKILLDELAY : - msg += " You cannot do that right now!"; + case RFAIL_SKILLDELAY: + msg += _("You cannot do that right now!"); break; - case RFAIL_ZENY : - msg += " Seems you need more Zeny... ;-)"; + case RFAIL_ZENY: + msg += _("Seems you need more Zeny... ;-)"); break; - case RFAIL_WEAPON : - msg += " You cannot use this skill with that kind of weapon!"; + case RFAIL_WEAPON: + msg += _("You cannot use this skill with that kind of weapon!"); break; - case RFAIL_REDGEM : - msg += " You need another red gem!"; + case RFAIL_REDGEM: + msg += _("You need another red gem!"); break; - case RFAIL_BLUEGEM : - msg += " You need another blue gem!"; + case RFAIL_BLUEGEM: + msg += _("You need another blue gem!"); break; - case RFAIL_OVERWEIGHT : - msg += " You're carrying to much to do this!"; + case RFAIL_OVERWEIGHT: + msg += _("You're carrying to much to do this!"); break; - default : - msg += " Huh? What's that?"; + default: + msg += _("Huh? What's that?"); break; } } else { - switch(act.skill) { + switch (act.skill) { case SKILL_WARP : - msg = "Warp failed..."; + msg = _("Warp failed..."); break; case SKILL_STEAL : - msg = "Could not steal anything..."; + msg = _("Could not steal anything..."); break; case SKILL_ENVENOM : - msg = "Poison had no effect..."; + msg = _("Poison had no effect..."); break; } } @@ -432,8 +436,7 @@ ChatWindow::const_msg(CHATSKILL act) return msg; } -void -ChatWindow::scroll(int amount) +void ChatWindow::scroll(int amount) { if (!isVisible()) return; @@ -445,10 +448,9 @@ ChatWindow::scroll(int amount) mTextOutput->showPart(scr); } -void -ChatWindow::keyPressed(gcn::KeyEvent &event) +void ChatWindow::keyPressed(gcn::KeyEvent &event) { - if (event.getKey().getValue() == gcn::Key::DOWN && + if (event.getKey().getValue() == Key::DOWN && mCurHist != mHistory.end()) { // Move forward through the history @@ -461,7 +463,7 @@ ChatWindow::keyPressed(gcn::KeyEvent &event) mCurHist = prevHist; } } - else if (event.getKey().getValue() == gcn::Key::UP && + else if (event.getKey().getValue() == Key::UP && mCurHist != mHistory.begin() && mHistory.size() > 0) { // Move backward through the history @@ -471,15 +473,13 @@ ChatWindow::keyPressed(gcn::KeyEvent &event) } } -void -ChatWindow::setInputText(std::string input_str) +void ChatWindow::setInputText(std::string input_str) { mChatInput->setText(input_str + " "); requestChatFocus(); } -void -ChatWindow::setVisible(bool isVisible) +void ChatWindow::setVisible(bool isVisible) { Window::setVisible(isVisible); @@ -493,67 +493,68 @@ ChatWindow::setVisible(bool isVisible) void ChatWindow::help(const std::string &msg1, const std::string &msg2) { - chatLog("-- Help --", BY_SERVER); + chatLog(_("-- Help --"), BY_SERVER); if (msg1 == "") { - chatLog("/announce: Global announcement (GM only)", BY_SERVER); - chatLog("/clear: Clears this window", BY_SERVER); - chatLog("/help: Display this help.", BY_SERVER); - chatLog("/where: Display map name", BY_SERVER); - chatLog("/whisper <nick> <message>: Sends a private <message>" - " to <nick>", BY_SERVER); - chatLog("/w <nick> <message>: Short form for /whisper", BY_SERVER); - chatLog("/who: Display number of online users", BY_SERVER); - chatLog("For more information, type /help <command>", BY_SERVER); + chatLog(_("/announce: Global announcement (GM only)"), BY_SERVER); + chatLog(_("/clear: Clears this window"), BY_SERVER); + chatLog(_("/help: Display this help"), BY_SERVER); + chatLog(_("/where: Display map name"), BY_SERVER); + chatLog(_("/whisper <nick> <message>: Sends a private <message>" + " to <nick>"), BY_SERVER); + chatLog(_("/w <nick> <message>: Short form for /whisper"), BY_SERVER); + chatLog(_("/who: Display number of online users"), BY_SERVER); + chatLog(_("For more information, type /help <command>"), BY_SERVER); return; } if (msg1 == "announce") { - chatLog("Command: /announce <msg>", BY_SERVER); - chatLog("*** only available to a GM ***", BY_SERVER); - chatLog("This command sends the message <msg> to " - "all players currently online.", BY_SERVER); + chatLog(_("Command: /announce <msg>"), BY_SERVER); + chatLog(_("*** only available to a GM ***"), BY_SERVER); + chatLog(_("This command sends the message <msg> to " + "all players currently online."), BY_SERVER); return; } if (msg1 == "clear") { - chatLog("Command: /clear", BY_SERVER); - chatLog("This command clears the chat log of previous chat.", + chatLog(_("Command: /clear"), BY_SERVER); + chatLog(_("This command clears the chat log of previous chat."), BY_SERVER); return; } if (msg1 == "help") { - chatLog("Command: /help", BY_SERVER); - chatLog("This command displays a list of all commands available.", + chatLog(_("Command: /help"), BY_SERVER); + chatLog(_("This command displays a list of all commands available."), BY_SERVER); - chatLog("Command: /help <command>", BY_SERVER); - chatLog("This command displays help on <command>.", BY_SERVER); + chatLog(_("Command: /help <command>"), BY_SERVER); + chatLog(_("This command displays help on <command>."), BY_SERVER); return; } if (msg1 == "where") { - chatLog("Command: /where", BY_SERVER); - chatLog("This command displays the name of the current map.", + chatLog(_("Command: /where"), BY_SERVER); + chatLog(_("This command displays the name of the current map."), BY_SERVER); return; } if (msg1 == "whisper" || msg1 == "w") { - chatLog("Command: /whisper <nick> <msg>", BY_SERVER); - chatLog("Command: /w <nick> <msg>", BY_SERVER); - chatLog("This command sends the message <msg> to <nick>.", BY_SERVER); - chatLog("If the <nick> has spaces in it, enclose it in " - "double quotes (\").", BY_SERVER); + chatLog(_("Command: /whisper <nick> <msg>"), BY_SERVER); + chatLog(_("Command: /w <nick> <msg>"), BY_SERVER); + chatLog(_("This command sends the message <msg> to <nick>."), + BY_SERVER); + chatLog(_("If the <nick> has spaces in it, enclose it in " + "double quotes (\")."), BY_SERVER); return; } if (msg1 == "who") { - chatLog("Command: /who", BY_SERVER); - chatLog("This command displays the number of players currently " - "online.", BY_SERVER); + chatLog(_("Command: /who"), BY_SERVER); + chatLog(_("This command displays the number of players currently " + "online."), BY_SERVER); return; } - chatLog("Unknown command.", BY_SERVER); - chatLog("Type /help for a list of commands.", BY_SERVER); + chatLog(_("Unknown command."), BY_SERVER); + chatLog(_("Type /help for a list of commands."), BY_SERVER); } diff --git a/src/gui/chat.h b/src/gui/chat.h index 09c3712b..dc0d002d 100644 --- a/src/gui/chat.h +++ b/src/gui/chat.h @@ -183,20 +183,16 @@ class ChatWindow : public Window, public gcn::ActionListener, * // for simple message by a user /- message * chatlog.chat_send("Zaeiru", "Hello to all users on the screen!"); */ - void - chatSend(const std::string &nick, std::string msg); + void chatSend(const std::string &nick, std::string msg); /** Called when key is pressed */ - void - keyPressed(gcn::KeyEvent &event); + void keyPressed(gcn::KeyEvent &event); /** Called to set current text */ - void - setInputText(std::string input_str); + void setInputText(std::string input_str); /** Override to reset mTmpVisible */ - void - setVisible(bool visible); + void setVisible(bool visible); /** * Scrolls the chat window @@ -205,8 +201,7 @@ class ChatWindow : public Window, public gcn::ActionListener, * up, positive numbers scroll down. The absolute amount indicates the * amount of 1/8ths of chat window real estate that should be scrolled. */ - void - scroll(int amount); + void scroll(int amount); /** * help implements the /help command @@ -214,15 +209,13 @@ class ChatWindow : public Window, public gcn::ActionListener, * @param msg1 is the command that the player needs help on * @param msg2 is the sub-command relating to the command */ - void - help(const std::string &msg1, const std::string &msg2); + void help(const std::string &msg1, const std::string &msg2); private: Network *mNetwork; bool mTmpVisible; - void - whisper(const std::string &nick, std::string msg, int prefixlen); + void whisper(const std::string &nick, std::string msg, int prefixlen); /** One item in the chat log */ struct CHATLOG 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/gui.cpp b/src/gui/gui.cpp index a65cb0fb..87bab0ea 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -24,12 +24,9 @@ #include <guichan/exception.hpp> #include <guichan/image.hpp> #include <guichan/imagefont.hpp> -#include <SDL/SDL_ttf.h> - -// Should stay here because of Guichan being sensitive to headers order -#include <guichan/sdl/sdlinput.hpp> #include "focushandler.h" +#include "sdlinput.h" #include "truetypefont.h" #include "viewport.h" #include "window.h" @@ -48,7 +45,7 @@ // Guichan stuff Gui *gui; Viewport *viewport; /**< Viewport on the map. */ -gcn::SDLInput *guiInput; /**< GUI input. */ +SDLInput *guiInput; // Fonts used in showing hits gcn::Font *hitRedFont; @@ -91,7 +88,7 @@ Gui::Gui(Graphics *graphics): gcn::Image::setImageLoader(&imageLoader); // Set input - guiInput = new gcn::SDLInput(); + guiInput = new SDLInput; setInput(guiInput); // Set focus handler @@ -106,9 +103,12 @@ Gui::Gui(Graphics *graphics): Window::setWindowContainer(guiTop); setTop(guiTop); - // Set global font (based on ISO-8859-15) + ResourceManager *resman = ResourceManager::getInstance(); + + // Set global font + std::string path = resman->getPath("fonts/dejavusans.ttf"); try { - mGuiFont = new TrueTypeFont("data/fonts/dejavusans.ttf", 12); + mGuiFont = new TrueTypeFont(path, 11); } catch (gcn::Exception e) { diff --git a/src/gui/gui.h b/src/gui/gui.h index 15d5d99c..7d390df9 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -29,6 +29,7 @@ class GuiConfigListener; class Graphics; class ImageSet; +class SDLInput; class Viewport; /** @@ -115,7 +116,7 @@ class Gui : public gcn::Gui extern Gui *gui; /**< The GUI system */ extern Viewport *viewport; /**< The viewport */ -extern gcn::SDLInput *guiInput; /**< GUI input */ +extern SDLInput *guiInput; /**< GUI input */ /** * Fonts used in showing hits diff --git a/src/gui/hbox.cpp b/src/gui/hbox.cpp deleted file mode 100644 index 020e85c6..00000000 --- a/src/gui/hbox.cpp +++ /dev/null @@ -1,39 +0,0 @@ -/* - * The Mana World - * Copyright 2004 The Mana World Development Team - * - * This file is part of The Mana World. - * - * The Mana World is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * The Mana World is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with The Mana World; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "hbox.h" - -void HBox::draw(gcn::Graphics *graphics) -{ - int widgetCount = mWidgets.size(); - int childHeight = getHeight(); - if (widgetCount == 0) - return; - int childWidth = getWidth() / widgetCount; - - int i = 0; - for (WidgetIterator w = mWidgets.begin(); w != mWidgets.end(); w++) { - (*w)->setPosition(childWidth * i - padding, 0); - (*w)->setSize(childWidth, childHeight); - i++; - } - gcn::Container::draw(graphics); -} diff --git a/src/gui/help.cpp b/src/gui/help.cpp index 290679b9..a52119b8 100644 --- a/src/gui/help.cpp +++ b/src/gui/help.cpp @@ -27,8 +27,10 @@ #include "../resources/resourcemanager.h" +#include "../utils/gettext.h" + HelpWindow::HelpWindow(): - Window("Help") + Window(_("Help")) { setContentSize(455, 350); setWindowName("Help"); @@ -36,7 +38,7 @@ HelpWindow::HelpWindow(): mBrowserBox = new BrowserBox(); mBrowserBox->setOpaque(false); mScrollArea = new ScrollArea(mBrowserBox); - Button *okButton = new Button("Close", "close", this); + Button *okButton = new Button(_("Close"), "close", this); mScrollArea->setDimension(gcn::Rectangle( 5, 5, 445, 335 - okButton->getHeight())); diff --git a/src/gui/inttextbox.cpp b/src/gui/inttextbox.cpp index 4825fbf5..a995f084 100644 --- a/src/gui/inttextbox.cpp +++ b/src/gui/inttextbox.cpp @@ -21,7 +21,7 @@ #include "inttextbox.h" -#include <guichan/key.hpp> +#include "sdlinput.h" #include "../utils/tostring.h" @@ -35,17 +35,20 @@ IntTextBox::keyPressed(gcn::KeyEvent &event) { const gcn::Key &key = event.getKey(); - if (key.isNumber() || key.getValue() == gcn::Key::BACKSPACE - || key.getValue() == gcn::Key::DELETE) + if (key.getValue() == Key::BACKSPACE || + key.getValue() == Key::DELETE) { - gcn::TextBox::keyPressed(event); + setText(std::string()); + event.consume(); } - std::stringstream s(gcn::TextBox::getText()); + if (!key.isNumber()) return; + TextField::keyPressed(event); + + std::istringstream s(getText()); int i; s >> i; - if (gcn::TextBox::getText() != "") - setInt(i); + setInt(i); } void IntTextBox::setRange(int min, int max) @@ -56,9 +59,7 @@ void IntTextBox::setRange(int min, int max) int IntTextBox::getInt() { - if (gcn::TextBox::getText() == "") - return 0; - return mValue; + return getText().empty() ? mMin : mValue; } void IntTextBox::setInt(int i) diff --git a/src/gui/inttextbox.h b/src/gui/inttextbox.h index 8fc8e404..8dad0c39 100644 --- a/src/gui/inttextbox.h +++ b/src/gui/inttextbox.h @@ -22,12 +22,12 @@ #ifndef INTTEXTBOX_H #define INTTEXTBOX_H -#include "textbox.h" +#include "textfield.h" /** * TextBox which only accepts numbers as input. */ -class IntTextBox : public TextBox +class IntTextBox : public TextField { public: /** 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..17c3243a 100644 --- a/src/gui/item_amount.cpp +++ b/src/gui/item_amount.cpp @@ -26,64 +26,64 @@ #include "slider.h" #include "trade.h" +#include "widgets/layout.h" + #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 + const int maxRange = mItem->getQuantity(); + + // Integer field mItemAmountTextBox = new IntTextBox(1); + mItemAmountTextBox->setRange(1, maxRange); + mItemAmountTextBox->setWidth(30); + mItemAmountTextBox->setActionEventId("Dummy"); + mItemAmountTextBox->addActionListener(this); + + // Slider + mItemAmountSlide = new Slider(1.0, maxRange); + mItemAmountSlide->setHeight(10); + mItemAmountSlide->setActionEventId("Slide"); + mItemAmountSlide->addActionListener(this); - // New buttons + // Buttons Button *minusButton = new Button("-", "Minus", this); + minusButton->setSize(20, 20); 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 - mItemAmountSlide->setActionEventId("Slide"); - - // Set position - mItemAmountTextBox->setPosition(35, 10); - mItemAmountTextBox->setSize(24, 16); - plusButton->setPosition(60, 5); - minusButton->setPosition(10, 5); - mItemAmountSlide->setPosition(10, 35); - okButton->setPosition(10, 50); - cancelButton->setPosition(60, 50); - - // Assemble - add(mItemAmountTextBox); - add(plusButton); - add(minusButton); - add(mItemAmountSlide); - add(okButton); - add(cancelButton); - - mItemAmountSlide->addActionListener(this); + plusButton->setSize(20, 20); + Button *okButton = new Button(_("Ok"), "Drop", this); + Button *cancelButton = new Button(_("Cancel"), "Cancel", this); + + // Set positions + place(0, 0, minusButton); + place(1, 0, mItemAmountTextBox).setPadding(2); + place(2, 0, plusButton); + place(0, 1, mItemAmountSlide, 6); + place(4, 2, okButton); + place(5, 2, cancelButton); + reflowLayout(250, 0); 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: break; } - setContentSize(200, 80); setLocationRelativeTo(getParentWindow()); setVisible(true); } @@ -101,16 +101,6 @@ void ItemAmountWindow::action(const gcn::ActionEvent &event) { scheduleDelete(); } - else if (event.getId() == "Drop") - { - player_node->dropItem(mItem, mItemAmountTextBox->getInt()); - scheduleDelete(); - } - else if (event.getId() == "AddTrade") - { - tradeWindow->tradeItem(mItem, mItemAmountTextBox->getInt()); - scheduleDelete(); - } else if (event.getId() == "Plus") { amount++; @@ -123,7 +113,16 @@ void ItemAmountWindow::action(const gcn::ActionEvent &event) { amount = static_cast<int>(mItemAmountSlide->getValue()); } + else if (event.getId() == "Drop") + { + player_node->dropItem(mItem, mItemAmountTextBox->getInt()); + scheduleDelete(); + } + else if (event.getId() == "AddTrade") + { + tradeWindow->tradeItem(mItem, mItemAmountTextBox->getInt()); + scheduleDelete(); + } mItemAmountTextBox->setInt(amount); mItemAmountSlide->setValue(amount); } - diff --git a/src/gui/itemcontainer.cpp b/src/gui/itemcontainer.cpp index 9115b1fb..65f8132a 100644 --- a/src/gui/itemcontainer.cpp +++ b/src/gui/itemcontainer.cpp @@ -115,6 +115,7 @@ void ItemContainer::draw(gcn::Graphics *graphics) } // Draw item caption + graphics->setColor(gcn::Color(0, 0, 0)); graphics->drawText( (item->isEquipped() ? "Eq." : toString(item->getQuantity())), itemX + gridWidth / 2, diff --git a/src/gui/itemshortcutcontainer.cpp b/src/gui/itemshortcutcontainer.cpp index 2ea5d584..ac62dbd6 100644 --- a/src/gui/itemshortcutcontainer.cpp +++ b/src/gui/itemshortcutcontainer.cpp @@ -75,6 +75,7 @@ ItemShortcutContainer::draw(gcn::Graphics *graphics) { Graphics *g = static_cast<Graphics*>(graphics); + graphics->setColor(gcn::Color(0, 0, 0)); graphics->setFont(getFont()); for (int i = 0; i < mMaxItems; i++) diff --git a/src/gui/login.cpp b/src/gui/login.cpp index 06a5f9f0..db81c683 100644 --- a/src/gui/login.cpp +++ b/src/gui/login.cpp @@ -34,46 +34,23 @@ #include "passwordfield.h" #include "textfield.h" +#include "widgets/layout.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); - - const int width = 220; - const int height = 100; - - setContentSize(width, height); - - userLabel->setPosition(5, 5); - passLabel->setPosition(5, 14 + userLabel->getHeight()); - serverLabel->setPosition( - 5, 23 + userLabel->getHeight() + passLabel->getHeight()); - mUserField->setPosition(65, 5); - mPassField->setPosition(65, 14 + userLabel->getHeight()); - mServerField->setPosition( - 65, 23 + userLabel->getHeight() + passLabel->getHeight()); - mUserField->setWidth(width - 70); - mPassField->setWidth(width - 70); - mServerField->setWidth(width - 70); - mKeepCheck->setPosition(4, 77); - mCancelButton->setPosition( - width - mCancelButton->getWidth() - 5, - height - mCancelButton->getHeight() - 5); - mOkButton->setPosition( - mCancelButton->getX() - mOkButton->getWidth() - 5, - height - mOkButton->getHeight() - 5); - mRegisterButton->setPosition( - mKeepCheck->getX() + mKeepCheck->getWidth() + 10, - height - mRegisterButton->getHeight() - 5); + 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); mUserField->setActionEventId("ok"); mPassField->setActionEventId("ok"); @@ -87,16 +64,17 @@ LoginDialog::LoginDialog(LoginData *loginData): mServerField->addActionListener(this); mKeepCheck->addActionListener(this); - add(userLabel); - add(passLabel); - add(serverLabel); - add(mUserField); - add(mPassField); - add(mServerField); - add(mKeepCheck); - add(mOkButton); - add(mCancelButton); - add(mRegisterButton); + place(0, 0, userLabel); + place(0, 1, passLabel); + place(0, 2, serverLabel); + place(1, 0, mUserField, 3).setPadding(2); + place(1, 1, mPassField, 3).setPadding(2); + place(1, 2, mServerField, 3).setPadding(2); + place(0, 3, mKeepCheck, 4); + place(0, 4, mRegisterButton).setHAlign(LayoutCell::LEFT); + place(2, 4, mOkButton); + place(3, 4, mCancelButton); + reflowLayout(250, 0); setLocationRelativeTo(getParent()); setVisible(true); @@ -114,8 +92,7 @@ LoginDialog::~LoginDialog() { } -void -LoginDialog::action(const gcn::ActionEvent &event) +void LoginDialog::action(const gcn::ActionEvent &event) { if (event.getId() == "ok" && canSubmit()) { @@ -145,14 +122,12 @@ LoginDialog::action(const gcn::ActionEvent &event) } } -void -LoginDialog::keyPressed(gcn::KeyEvent &keyEvent) +void LoginDialog::keyPressed(gcn::KeyEvent &keyEvent) { mOkButton->setEnabled(canSubmit()); } -bool -LoginDialog::canSubmit() +bool LoginDialog::canSubmit() { return !mUserField->getText().empty() && !mPassField->getText().empty() && 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..1f5b3556 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(): @@ -52,7 +55,7 @@ PopupMenu::PopupMenu(): { setResizable(false); setTitleBarHeight(0); - mShowTitle = false; + setShowTitle(false); mBrowserBox = new BrowserBox(); mBrowserBox->setPosition(4, 4); @@ -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/radiobutton.cpp b/src/gui/radiobutton.cpp index 5f929e62..619ec84f 100644 --- a/src/gui/radiobutton.cpp +++ b/src/gui/radiobutton.cpp @@ -81,3 +81,22 @@ void RadioButton::drawBox(gcn::Graphics* graphics) static_cast<Graphics*>(graphics)->drawImage(box, 2, 2); } } + +void RadioButton::draw(gcn::Graphics* graphics) +{ + + graphics->pushClipArea(gcn::Rectangle(1, + 1, + getWidth() - 1, + getHeight() - 1)); + + drawBox(graphics); + + graphics->popClipArea(); + + graphics->setFont(getFont()); + graphics->setColor(getForegroundColor()); + + int h = getHeight() + getHeight() / 2; + graphics->drawText(getCaption(), h - 2, 0); +} diff --git a/src/gui/radiobutton.h b/src/gui/radiobutton.h index 6506444f..09f703dc 100644 --- a/src/gui/radiobutton.h +++ b/src/gui/radiobutton.h @@ -48,6 +48,12 @@ class RadioButton : public gcn::RadioButton { */ void drawBox(gcn::Graphics* graphics); + /** + * Implementation of the draw methods. + * Thus, avoiding the rhomb around the radio button. + */ + void draw(gcn::Graphics* graphics); + private: static int instances; static Image *radioNormal; 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/sdlinput.cpp b/src/gui/sdlinput.cpp new file mode 100644 index 00000000..ee94b2c6 --- /dev/null +++ b/src/gui/sdlinput.cpp @@ -0,0 +1,429 @@ +/* _______ __ __ __ ______ __ __ _______ __ __ + * / _____/\ / /\ / /\ / /\ / ____/\ / /\ / /\ / ___ /\ / |\/ /\ + * / /\____\// / // / // / // /\___\// /_// / // /\_/ / // , |/ / / + * / / /__ / / // / // / // / / / ___ / // ___ / // /| ' / / + * / /_// /\ / /_// / // / // /_/_ / / // / // /\_/ / // / | / / + * /______/ //______/ //_/ //_____/\ /_/ //_/ //_/ //_/ //_/ /|_/ / + * \______\/ \______\/ \_\/ \_____\/ \_\/ \_\/ \_\/ \_\/ \_\/ \_\/ + * + * Copyright (c) 2004, 2005, 2006, 2007 Olof Naessén and Per Larsson + * Copyright 2007 The Mana World Development Team + * + * Js_./ + * Per Larsson a.k.a finalman _RqZ{a<^_aa + * Olof Naessén a.k.a jansem/yakslem _asww7!uY`> )\a// + * _Qhm`] _f "'c 1!5m + * Visit: http://guichan.darkbits.org )Qk<P ` _: :+' .' "{[ + * .)j(] .d_/ '-( P . S + * License: (BSD) <Td/Z <fP"5(\"??"\a. .L + * Redistribution and use in source and _dV>ws?a-?' ._/L #' + * binary forms, with or without )4d[#7r, . ' )d`)[ + * modification, are permitted provided _Q-5'5W..j/?' -?!\)cam' + * that the following conditions are met: j<<WP+k/);. _W=j f + * 1. Redistributions of source code must .$%w\/]Q . ."' . mj$ + * retain the above copyright notice, ]E.pYY(Q]>. a J@\ + * this list of conditions and the j(]1u<sE"L,. . ./^ ]{a + * following disclaimer. 4'_uomm\. )L);-4 (3= + * 2. Redistributions in binary form must )_]X{Z('a_"a7'<a"a, ]"[ + * reproduce the above copyright notice, #}<]m7`Za??4,P-"'7. ).m + * this list of conditions and the ]d2e)Q(<Q( ?94 b- LQ/ + * following disclaimer in the <B!</]C)d_, '(<' .f. =C+m + * documentation and/or other materials .Z!=J ]e []('-4f _ ) -.)m]' + * provided with the distribution. .w[5]' _[ /.)_-"+? _/ <W" + * 3. Neither the name of Guichan nor the :$we` _! + _/ . j? + * names of its contributors may be used =3)= _f (_yQmWW$#( " + * to endorse or promote products derived - W, sQQQQmZQ#Wwa].. + * from this software without specific (js, \[QQW$QWW#?!V"". + * prior written permission. ]y:.<\.. . + * -]n w/ ' [. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT )/ )/ ! + * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY < (; sac , ' + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, ]^ .- % + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF c < r + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR aga< <La + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 5% )P'-3L + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR _bQf` y`..)a + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ,J?4P'.P"_(\?d'., + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES _Pa,)!f/<[]/ ?" + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT _2-..:. .r+_,.. . + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ?a.<%"' " -'.a_ _, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ^ + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "sdlinput.h" + +#include <guichan/exception.hpp> + +SDLInput::SDLInput() +{ + mMouseInWindow = true; + mMouseDown = false; +} + +bool SDLInput::isKeyQueueEmpty() +{ + return mKeyInputQueue.empty(); +} + +gcn::KeyInput SDLInput::dequeueKeyInput() +{ + gcn::KeyInput keyInput; + + if (mKeyInputQueue.empty()) + { + throw GCN_EXCEPTION("The queue is empty."); + } + + keyInput = mKeyInputQueue.front(); + mKeyInputQueue.pop(); + + return keyInput; +} + +bool SDLInput::isMouseQueueEmpty() +{ + return mMouseInputQueue.empty(); +} + +gcn::MouseInput SDLInput::dequeueMouseInput() +{ + gcn::MouseInput mouseInput; + + if (mMouseInputQueue.empty()) + { + throw GCN_EXCEPTION("The queue is empty."); + } + + mouseInput = mMouseInputQueue.front(); + mMouseInputQueue.pop(); + + return mouseInput; +} + +void SDLInput::pushInput(SDL_Event event) +{ + gcn::KeyInput keyInput; + gcn::MouseInput mouseInput; + + switch (event.type) + { + case SDL_KEYDOWN: + keyInput.setKey(gcn::Key(convertKeyCharacter(event))); + keyInput.setType(gcn::KeyInput::PRESSED); + keyInput.setShiftPressed(event.key.keysym.mod & KMOD_SHIFT); + keyInput.setControlPressed(event.key.keysym.mod & KMOD_CTRL); + keyInput.setAltPressed(event.key.keysym.mod & KMOD_ALT); + keyInput.setMetaPressed(event.key.keysym.mod & KMOD_META); + keyInput.setNumericPad(event.key.keysym.sym >= SDLK_KP0 + && event.key.keysym.sym <= SDLK_KP_EQUALS); + + mKeyInputQueue.push(keyInput); + break; + + case SDL_KEYUP: + keyInput.setKey(gcn::Key(convertKeyCharacter(event))); + keyInput.setType(gcn::KeyInput::RELEASED); + keyInput.setShiftPressed(event.key.keysym.mod & KMOD_SHIFT); + keyInput.setControlPressed(event.key.keysym.mod & KMOD_CTRL); + keyInput.setAltPressed(event.key.keysym.mod & KMOD_ALT); + keyInput.setMetaPressed(event.key.keysym.mod & KMOD_META); + keyInput.setNumericPad(event.key.keysym.sym >= SDLK_KP0 + && event.key.keysym.sym <= SDLK_KP_EQUALS); + + mKeyInputQueue.push(keyInput); + break; + + case SDL_MOUSEBUTTONDOWN: + mMouseDown = true; + mouseInput.setX(event.button.x); + mouseInput.setY(event.button.y); + mouseInput.setButton(convertMouseButton(event.button.button)); + + if (event.button.button == SDL_BUTTON_WHEELDOWN) + { + mouseInput.setType(gcn::MouseInput::WHEEL_MOVED_DOWN); + } + else if (event.button.button == SDL_BUTTON_WHEELUP) + { + mouseInput.setType(gcn::MouseInput::WHEEL_MOVED_UP); + } + else + { + mouseInput.setType(gcn::MouseInput::PRESSED); + } + mouseInput.setTimeStamp(SDL_GetTicks()); + mMouseInputQueue.push(mouseInput); + break; + + case SDL_MOUSEBUTTONUP: + mMouseDown = false; + mouseInput.setX(event.button.x); + mouseInput.setY(event.button.y); + mouseInput.setButton(convertMouseButton(event.button.button)); + mouseInput.setType(gcn::MouseInput::RELEASED); + mouseInput.setTimeStamp(SDL_GetTicks()); + mMouseInputQueue.push(mouseInput); + break; + + case SDL_MOUSEMOTION: + mouseInput.setX(event.button.x); + mouseInput.setY(event.button.y); + mouseInput.setButton(gcn::MouseInput::EMPTY); + mouseInput.setType(gcn::MouseInput::MOVED); + mouseInput.setTimeStamp(SDL_GetTicks()); + mMouseInputQueue.push(mouseInput); + break; + + case SDL_ACTIVEEVENT: + /* + * This occurs when the mouse leaves the window and the Gui-chan + * application loses its mousefocus. + */ + if ((event.active.state & SDL_APPMOUSEFOCUS) + && !event.active.gain) + { + mMouseInWindow = false; + + if (!mMouseDown) + { + mouseInput.setX(-1); + mouseInput.setY(-1); + mouseInput.setButton(gcn::MouseInput::EMPTY); + mouseInput.setType(gcn::MouseInput::MOVED); + mMouseInputQueue.push(mouseInput); + } + } + + if ((event.active.state & SDL_APPMOUSEFOCUS) + && event.active.gain) + { + mMouseInWindow = true; + } + break; + + } // end switch +} + +int SDLInput::convertMouseButton(int button) +{ + switch (button) + { + case SDL_BUTTON_LEFT: + return gcn::MouseInput::LEFT; + case SDL_BUTTON_RIGHT: + return gcn::MouseInput::RIGHT; + case SDL_BUTTON_MIDDLE: + return gcn::MouseInput::MIDDLE; + default: + // We have an unknown mouse type which is ignored. + return button; + } +} + +int SDLInput::convertKeyCharacter(SDL_Event event) +{ + SDL_keysym keysym = event.key.keysym; + + int value = keysym.unicode; + + switch (keysym.sym) + { + case SDLK_TAB: + value = Key::TAB; + break; + case SDLK_LALT: + value = Key::LEFT_ALT; + break; + case SDLK_RALT: + value = Key::RIGHT_ALT; + break; + case SDLK_LSHIFT: + value = Key::LEFT_SHIFT; + break; + case SDLK_RSHIFT: + value = Key::RIGHT_SHIFT; + break; + case SDLK_LCTRL: + value = Key::LEFT_CONTROL; + break; + case SDLK_RCTRL: + value = Key::RIGHT_CONTROL; + break; + case SDLK_BACKSPACE: + value = Key::BACKSPACE; + break; + case SDLK_PAUSE: + value = Key::PAUSE; + break; + case SDLK_SPACE: + // Special characters like ~ (tilde) ends up + // with the keysym.sym SDLK_SPACE which + // without this check would be lost. The check + // is only valid on key down events in SDL. + if (event.type == SDL_KEYUP || keysym.unicode == ' ') + { + value = Key::SPACE; + } + break; + case SDLK_ESCAPE: + value = Key::ESCAPE; + break; + case SDLK_DELETE: + value = Key::DELETE; + break; + case SDLK_INSERT: + value = Key::INSERT; + break; + case SDLK_HOME: + value = Key::HOME; + break; + case SDLK_END: + value = Key::END; + break; + case SDLK_PAGEUP: + value = Key::PAGE_UP; + break; + case SDLK_PRINT: + value = Key::PRINT_SCREEN; + break; + case SDLK_PAGEDOWN: + value = Key::PAGE_DOWN; + break; + case SDLK_F1: + value = Key::F1; + break; + case SDLK_F2: + value = Key::F2; + break; + case SDLK_F3: + value = Key::F3; + break; + case SDLK_F4: + value = Key::F4; + break; + case SDLK_F5: + value = Key::F5; + break; + case SDLK_F6: + value = Key::F6; + break; + case SDLK_F7: + value = Key::F7; + break; + case SDLK_F8: + value = Key::F8; + break; + case SDLK_F9: + value = Key::F9; + break; + case SDLK_F10: + value = Key::F10; + break; + case SDLK_F11: + value = Key::F11; + break; + case SDLK_F12: + value = Key::F12; + break; + case SDLK_F13: + value = Key::F13; + break; + case SDLK_F14: + value = Key::F14; + break; + case SDLK_F15: + value = Key::F15; + break; + case SDLK_NUMLOCK: + value = Key::NUM_LOCK; + break; + case SDLK_CAPSLOCK: + value = Key::CAPS_LOCK; + break; + case SDLK_SCROLLOCK: + value = Key::SCROLL_LOCK; + break; + case SDLK_RMETA: + value = Key::RIGHT_META; + break; + case SDLK_LMETA: + value = Key::LEFT_META; + break; + case SDLK_LSUPER: + value = Key::LEFT_SUPER; + break; + case SDLK_RSUPER: + value = Key::RIGHT_SUPER; + break; + case SDLK_MODE: + value = Key::ALT_GR; + break; + case SDLK_UP: + value = Key::UP; + break; + case SDLK_DOWN: + value = Key::DOWN; + break; + case SDLK_LEFT: + value = Key::LEFT; + break; + case SDLK_RIGHT: + value = Key::RIGHT; + break; + case SDLK_RETURN: + value = Key::ENTER; + break; + case SDLK_KP_ENTER: + value = Key::ENTER; + break; + + default: + break; + } + + if (!(keysym.mod & KMOD_NUM)) + { + switch (keysym.sym) + { + case SDLK_KP0: + value = Key::INSERT; + break; + case SDLK_KP1: + value = Key::END; + break; + case SDLK_KP2: + value = Key::DOWN; + break; + case SDLK_KP3: + value = Key::PAGE_DOWN; + break; + case SDLK_KP4: + value = Key::LEFT; + break; + case SDLK_KP5: + value = 0; + break; + case SDLK_KP6: + value = Key::RIGHT; + break; + case SDLK_KP7: + value = Key::HOME; + break; + case SDLK_KP8: + value = Key::UP; + break; + case SDLK_KP9: + value = Key::PAGE_UP; + break; + default: + break; + } + } + + return value; +} diff --git a/src/gui/sdlinput.h b/src/gui/sdlinput.h new file mode 100644 index 00000000..72d949e1 --- /dev/null +++ b/src/gui/sdlinput.h @@ -0,0 +1,188 @@ +/* _______ __ __ __ ______ __ __ _______ __ __ + * / _____/\ / /\ / /\ / /\ / ____/\ / /\ / /\ / ___ /\ / |\/ /\ + * / /\____\// / // / // / // /\___\// /_// / // /\_/ / // , |/ / / + * / / /__ / / // / // / // / / / ___ / // ___ / // /| ' / / + * / /_// /\ / /_// / // / // /_/_ / / // / // /\_/ / // / | / / + * /______/ //______/ //_/ //_____/\ /_/ //_/ //_/ //_/ //_/ /|_/ / + * \______\/ \______\/ \_\/ \_____\/ \_\/ \_\/ \_\/ \_\/ \_\/ \_\/ + * + * Copyright (c) 2004, 2005, 2006, 2007 Olof Naessén and Per Larsson + * Copyright 2007 The Mana World Development Team + * + * Js_./ + * Per Larsson a.k.a finalman _RqZ{a<^_aa + * Olof Naessén a.k.a jansem/yakslem _asww7!uY`> )\a// + * _Qhm`] _f "'c 1!5m + * Visit: http://guichan.darkbits.org )Qk<P ` _: :+' .' "{[ + * .)j(] .d_/ '-( P . S + * License: (BSD) <Td/Z <fP"5(\"??"\a. .L + * Redistribution and use in source and _dV>ws?a-?' ._/L #' + * binary forms, with or without )4d[#7r, . ' )d`)[ + * modification, are permitted provided _Q-5'5W..j/?' -?!\)cam' + * that the following conditions are met: j<<WP+k/);. _W=j f + * 1. Redistributions of source code must .$%w\/]Q . ."' . mj$ + * retain the above copyright notice, ]E.pYY(Q]>. a J@\ + * this list of conditions and the j(]1u<sE"L,. . ./^ ]{a + * following disclaimer. 4'_uomm\. )L);-4 (3= + * 2. Redistributions in binary form must )_]X{Z('a_"a7'<a"a, ]"[ + * reproduce the above copyright notice, #}<]m7`Za??4,P-"'7. ).m + * this list of conditions and the ]d2e)Q(<Q( ?94 b- LQ/ + * following disclaimer in the <B!</]C)d_, '(<' .f. =C+m + * documentation and/or other materials .Z!=J ]e []('-4f _ ) -.)m]' + * provided with the distribution. .w[5]' _[ /.)_-"+? _/ <W" + * 3. Neither the name of Guichan nor the :$we` _! + _/ . j? + * names of its contributors may be used =3)= _f (_yQmWW$#( " + * to endorse or promote products derived - W, sQQQQmZQ#Wwa].. + * from this software without specific (js, \[QQW$QWW#?!V"". + * prior written permission. ]y:.<\.. . + * -]n w/ ' [. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT )/ )/ ! + * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY < (; sac , ' + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, ]^ .- % + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF c < r + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR aga< <La + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 5% )P'-3L + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR _bQf` y`..)a + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ,J?4P'.P"_(\?d'., + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES _Pa,)!f/<[]/ ?" + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT _2-..:. .r+_,.. . + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ?a.<%"' " -'.a_ _, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ^ + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _TMW_SDLINPUT_ +#define _TMW_SDLINPUT_ + +#include <queue> + +#include <SDL/SDL.h> + +#include <guichan/input.hpp> +#include <guichan/keyinput.hpp> +#include <guichan/mouseinput.hpp> +#include <guichan/platform.hpp> + +namespace Key +{ + enum + { + SPACE = ' ', + TAB = '\t', + ENTER = '\n', + // Negative values, to avoid conflicts with higher character codes. + LEFT_ALT = -1000, + RIGHT_ALT, + LEFT_SHIFT, + RIGHT_SHIFT, + LEFT_CONTROL, + RIGHT_CONTROL, + LEFT_META, + RIGHT_META, + LEFT_SUPER, + RIGHT_SUPER, + INSERT, + HOME, + PAGE_UP, + DELETE, + END, + PAGE_DOWN, + ESCAPE, + CAPS_LOCK, + BACKSPACE, + F1, + F2, + F3, + F4, + F5, + F6, + F7, + F8, + F9, + F10, + F11, + F12, + F13, + F14, + F15, + PRINT_SCREEN, + SCROLL_LOCK, + PAUSE, + NUM_LOCK, + ALT_GR, + LEFT, + RIGHT, + UP, + DOWN + }; +} + +/** + * SDL implementation of Input. + */ +class SDLInput : public gcn::Input +{ +public: + + /** + * Constructor. + */ + SDLInput(); + + /** + * Pushes an SDL event. It should be called at least once per frame to + * update input with user input. + * + * @param event an event from SDL. + */ + virtual void pushInput(SDL_Event event); + + /** + * Polls all input. It exists for input driver compatibility. If you + * only use SDL and plan sticking with SDL you can safely ignore this + * function as it in the SDL case does nothing. + */ + virtual void _pollInput() { } + + + // Inherited from Input + + virtual bool isKeyQueueEmpty(); + + virtual gcn::KeyInput dequeueKeyInput(); + + virtual bool isMouseQueueEmpty(); + + virtual gcn::MouseInput dequeueMouseInput(); + +protected: + /** + * Converts a mouse button from SDL to a Guichan mouse button + * representation. + * + * @param button an SDL mouse button. + * @return a Guichan mouse button. + */ + int convertMouseButton(int button); + + /** + * Converts an SDL event key to a key value. + * + * @param event an SDL event with a key to convert. + * @return a key value. + * @see Key + */ + int convertKeyCharacter(SDL_Event event); + + std::queue<gcn::KeyInput> mKeyInputQueue; + std::queue<gcn::MouseInput> mMouseInputQueue; + + bool mMouseDown; + bool mMouseInWindow; +}; + +#endif diff --git a/src/gui/sell.cpp b/src/gui/sell.cpp index 6df1cbf6..f7f66345 100644 --- a/src/gui/sell.cpp +++ b/src/gui/sell.cpp @@ -31,6 +31,8 @@ #include "shop.h" #include "slider.h" +#include "widgets/layout.h" + #include "../item.h" #include "../npc.h" @@ -39,10 +41,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,17 +61,17 @@ 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); - mQuantityLabel->setWidth(60); mScrollArea->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER); mIncreaseButton->setEnabled(false); @@ -77,23 +80,22 @@ SellDialog::SellDialog(Network *network): mSlider->setEnabled(false); mShopItemList->setPriceCheck(false); - mShopItemList->setActionEventId("item"); - mSlider->setActionEventId("slider"); - - mShopItemList->addActionListener(this); mShopItemList->addSelectionListener(this); + mSlider->setActionEventId("slider"); mSlider->addActionListener(this); - add(mScrollArea); - add(mSlider); - add(mQuantityLabel); - add(mMoneyLabel); - add(mItemEffectLabel); - add(mItemDescLabel); - add(mIncreaseButton); - add(mDecreaseButton); - add(mSellButton); - add(mQuitButton); + place(0, 0, mScrollArea, 5).setPadding(3); + place(0, 1, mQuantityLabel, 2); + place(2, 1, mSlider, 3); + place(0, 2, mMoneyLabel, 5); + place(0, 3, mItemEffectLabel, 5); + place(0, 4, mItemDescLabel, 5); + place(0, 5, mDecreaseButton); + place(1, 5, mIncreaseButton); + place(3, 5, mSellButton); + place(4, 5, mQuitButton); + Layout &layout = getLayout(); + layout.setRowHeight(0, Layout::AUTO_SET); loadWindowState(); setLocationRelativeTo(getParent()); @@ -210,65 +212,25 @@ void SellDialog::valueChanged(const gcn::SelectionEvent &event) mSlider->gcn::Slider::setScale(1, mMaxItems); } -void SellDialog::widgetResized(const gcn::Event &event) -{ - Window::widgetResized(event); - - gcn::Rectangle area = getChildrenArea(); - int width = area.width; - int height = area.height; - - mDecreaseButton->setPosition(8, height - 8 - mDecreaseButton->getHeight()); - mIncreaseButton->setPosition( - mDecreaseButton->getX() + mDecreaseButton->getWidth() + 5, - mDecreaseButton->getY()); - - mQuitButton->setPosition( - width - 8 - mQuitButton->getWidth(), - height - 8 - mQuitButton->getHeight()); - mSellButton->setPosition( - mQuitButton->getX() - 5 - mSellButton->getWidth(), - mQuitButton->getY()); - - mItemDescLabel->setDimension(gcn::Rectangle(8, - mSellButton->getY() - 5 - mItemDescLabel->getHeight(), - width - 16, - mItemDescLabel->getHeight())); - mItemEffectLabel->setDimension(gcn::Rectangle(8, - mItemDescLabel->getY() - 5 - mItemEffectLabel->getHeight(), - width - 16, - mItemEffectLabel->getHeight())); - mMoneyLabel->setDimension(gcn::Rectangle(8, - mItemEffectLabel->getY() - 5 - mMoneyLabel->getHeight(), - width - 16, - mMoneyLabel->getHeight())); - - mQuantityLabel->setPosition( - width - mQuantityLabel->getWidth() - 8, - mMoneyLabel->getY() - 5 - mQuantityLabel->getHeight()); - mSlider->setDimension(gcn::Rectangle(8, - mQuantityLabel->getY(), - mQuantityLabel->getX() - 8 - 8, - 10)); - - mScrollArea->setDimension(gcn::Rectangle(8, 8, width - 16, - mSlider->getY() - 5 - 8)); -} - void SellDialog::setMoney(int amount) { mPlayerMoney = 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 +238,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 +254,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/sell.h b/src/gui/sell.h index 48961efc..0bf8b5a6 100644 --- a/src/gui/sell.h +++ b/src/gui/sell.h @@ -77,11 +77,6 @@ class SellDialog : public Window, gcn::ActionListener, gcn::SelectionListener void valueChanged(const gcn::SelectionEvent &event); /** - * Called whenever the widget changes size. - */ - void widgetResized(const gcn::Event &event); - - /** * Gives Player's Money amount */ void setMoney(int amount); 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_keyboard.cpp b/src/gui/setup_keyboard.cpp index c6247487..de3c0ce1 100644 --- a/src/gui/setup_keyboard.cpp +++ b/src/gui/setup_keyboard.cpp @@ -32,6 +32,7 @@ #include "../configuration.h" #include "../keyboardconfig.h" +#include "../utils/gettext.h" #include "../utils/tostring.h" #include <SDL_keyboard.h> @@ -84,13 +85,13 @@ Setup_Keyboard::Setup_Keyboard(): scrollArea->setDimension(gcn::Rectangle(10, 10, 200, 140)); add(scrollArea); - mAssignKeyButton = new Button("Assign", "assign", this); + mAssignKeyButton = new Button(_("Assign"), "assign", this); mAssignKeyButton->setPosition(165, 155); mAssignKeyButton->addActionListener(this); mAssignKeyButton->setEnabled(false); add(mAssignKeyButton); - mMakeDefaultButton = new Button("Default", "makeDefault", this); + mMakeDefaultButton = new Button(_("Default"), "makeDefault", this); mMakeDefaultButton->setPosition(10, 155); mMakeDefaultButton->addActionListener(this); add(mMakeDefaultButton); @@ -111,8 +112,9 @@ void Setup_Keyboard::apply() if (keyboard.hasConflicts()) { - new OkDialog("Key Conflict(s) Detected.", - "Resolve them, or gameplay may result in strange behaviour."); + new OkDialog(_("Key Conflict(s) Detected."), + _("Resolve them, or gameplay may result in strange " + "behaviour.")); } keyboard.setEnabled(true); keyboard.store(); @@ -170,7 +172,7 @@ void Setup_Keyboard::newKeyCallback(int index) void Setup_Keyboard::refreshKeys() { - for(int i = 0; i < keyboard.KEY_TOTAL; i++) + for (int i = 0; i < keyboard.KEY_TOTAL; i++) { refreshAssignedKey(i); } diff --git a/src/gui/setup_players.cpp b/src/gui/setup_players.cpp index c556a82d..122f54e1 100644 --- a/src/gui/setup_players.cpp +++ b/src/gui/setup_players.cpp @@ -30,6 +30,8 @@ #include "../log.h" #include "../sound.h" +#include "../utils/gettext.h" + #include <guichan/widgets/dropdown.hpp> #include <guichan/widgets/label.hpp> @@ -47,10 +49,16 @@ #define WIDGET_AT(row, column) (((row) * COLUMNS_NR) + column) -static std::string table_titles[COLUMNS_NR] = {"name", "relation"}; +static const char *table_titles[COLUMNS_NR] = { + N_("Name"), + N_("Relation") +}; -static const std::string RELATION_NAMES[PlayerRelation::RELATIONS_NR] = { - "neutral", "friend", "disregarded", "ignored" +static const char *RELATION_NAMES[PlayerRelation::RELATIONS_NR] = { + N_("Neutral"), + N_("Friend"), + N_("Disregarded"), + N_("Ignored") }; class PlayerRelationListModel : public gcn::ListModel @@ -67,7 +75,7 @@ public: { if (i >= getNumberOfElements() || i < 0) return ""; - return RELATION_NAMES[i]; + return gettext(RELATION_NAMES[i]); } }; @@ -136,7 +144,8 @@ public: virtual void updateModelInRow(int row) { - gcn::DropDown *choicebox = dynamic_cast<gcn::DropDown *>(getElementAt(row, RELATION_CHOICE_COLUMN)); + gcn::DropDown *choicebox = dynamic_cast<gcn::DropDown *>( + getElementAt(row, RELATION_CHOICE_COLUMN)); player_relations.setRelation(getPlayerAt(row), static_cast<PlayerRelation::relation>(choicebox->getSelected())); } @@ -202,21 +211,27 @@ Setup_Players::Setup_Players(): mPlayerTable(new GuiTable(mPlayerTableModel)), mPlayerTitleTable(new GuiTable(mPlayerTableTitleModel)), mPlayerScrollArea(new ScrollArea(mPlayerTable)), - mPersistIgnores(new CheckBox("save player list", player_relations.getPersistIgnores())), - mDefaultTrading(new CheckBox("allow trading", player_relations.getDefault() & PlayerRelation::TRADE)), - mDefaultWhisper(new CheckBox("allow whispers", player_relations.getDefault() & PlayerRelation::WHISPER)), - mDeleteButton(new Button("Delete", ACTION_DELETE, this)), + mPersistIgnores(new CheckBox(_("Save player list"), + player_relations.getPersistIgnores())), + mDefaultTrading(new CheckBox(_("Allow trading"), + player_relations.getDefault() & PlayerRelation::TRADE)), + mDefaultWhisper(new CheckBox(_("Allow whispers"), + player_relations.getDefault() & PlayerRelation::WHISPER)), + mDeleteButton(new Button(_("Delete"), ACTION_DELETE, this)), mIgnoreActionChoicesBox(new gcn::DropDown(new IgnoreChoicesListModel())) { setOpaque(false); int table_width = NAME_COLUMN_WIDTH + RELATION_CHOICE_COLUMN_WIDTH; mPlayerTableTitleModel->fixColumnWidth(NAME_COLUMN, NAME_COLUMN_WIDTH); - mPlayerTableTitleModel->fixColumnWidth(RELATION_CHOICE_COLUMN, RELATION_CHOICE_COLUMN_WIDTH); + mPlayerTableTitleModel->fixColumnWidth(RELATION_CHOICE_COLUMN, + RELATION_CHOICE_COLUMN_WIDTH); mPlayerTitleTable->setDimension(gcn::Rectangle(10, 10, table_width, 10)); mPlayerTitleTable->setBackgroundColor(gcn::Color(0xbf, 0xbf, 0xbf)); - for (int i = 0; i < COLUMNS_NR; i++) - mPlayerTableTitleModel->set(0, i, new gcn::Label(table_titles[i])); + for (int i = 0; i < COLUMNS_NR; i++) { + mPlayerTableTitleModel->set(0, i, + new gcn::Label(gettext(table_titles[i]))); + } mPlayerTitleTable->setLinewiseSelection(true); mPlayerScrollArea->setDimension(gcn::Rectangle(10, 25, table_width + COLUMNS_NR, 90)); @@ -227,7 +242,7 @@ Setup_Players::Setup_Players(): mDeleteButton->setPosition(10, 118); - gcn::Label *ignore_action_label = new gcn::Label("When ignoring:"); + gcn::Label *ignore_action_label = new gcn::Label(_("When ignoring:")); ignore_action_label->setPosition(80, 118); mIgnoreActionChoicesBox->setDimension(gcn::Rectangle(80, 132, 120, 12)); @@ -269,9 +284,9 @@ Setup_Players::~Setup_Players() void Setup_Players::reset() { - // We now have to search through the list of ignore choices to find the current - // selection. We could use an index into the table of config options in - // player_relations instead of strategies to sidestep this. + // We now have to search through the list of ignore choices to find the + // current selection. We could use an index into the table of config + // options in player_relations instead of strategies to sidestep this. int selection = 0; for (unsigned int i = 0; i < player_relations.getPlayerIgnoreStrategies()->size(); ++i) if ((*player_relations.getPlayerIgnoreStrategies())[i] == @@ -303,9 +318,10 @@ void Setup_Players::cancel() void Setup_Players::action(const gcn::ActionEvent &event) { if (event.getId() == ACTION_TABLE) { - // temporarily eliminate ourselves: we are fully aware of this change, so there is no - // need for asynchronous updates. (In fact, thouse might destroy the widet that - // triggered them, which would be rather embarrassing.) + // temporarily eliminate ourselves: we are fully aware of this change, + // so there is no need for asynchronous updates. (In fact, thouse + // might destroy the widet that triggered them, which would be rather + // embarrassing.) player_relations.removeListener(this); int row = mPlayerTable->getSelectedRow(); @@ -336,6 +352,8 @@ void Setup_Players::action(const gcn::ActionEvent &event) void Setup_Players::updatedPlayer(const std::string &name) { mPlayerTableModel->playerRelationsUpdated(); - mDefaultTrading->setSelected(player_relations.getDefault() & PlayerRelation::TRADE); - mDefaultWhisper->setSelected(player_relations.getDefault() & PlayerRelation::WHISPER); + mDefaultTrading->setSelected( + player_relations.getDefault() & PlayerRelation::TRADE); + mDefaultWhisper->setSelected( + player_relations.getDefault() & PlayerRelation::WHISPER); } diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp index 23d2d9c2..cc39caed 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() } #if defined(WIN32) || defined(__APPLE__) } 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/skill.cpp b/src/gui/skill.cpp index 82108f84..8b8c58cd 100644 --- a/src/gui/skill.cpp +++ b/src/gui/skill.cpp @@ -29,12 +29,14 @@ #include "windowcontainer.h" #include "../localplayer.h" +#include "../log.h" #include "../utils/dtor.h" +#include "../utils/gettext.h" +#include "../utils/strprintf.h" #include "../utils/xml.h" -#include "../log.h" -#define SKILLS_FILE "skills.xml" +static const char *SKILLS_FILE = "skills.xml"; struct SkillInfo { std::string name; @@ -73,7 +75,10 @@ public: virtual void update() { - static const SkillInfo fakeSkillInfo = { "Mystery Skill", false }; + static const SkillInfo fakeSkillInfo = { + _("Mystery Skill"), + false + }; mEntriesNr = mDialog->getSkills().size(); resize(); @@ -90,13 +95,13 @@ public: info = &fakeSkillInfo; sprintf(tmp, "%c%s", info->modifiable? ' ' : '*', info->name.c_str()); - gcn::Label *name_label = new gcn::Label(std::string(tmp)); + gcn::Label *name_label = new gcn::Label(tmp); sprintf(tmp, "Lv:%i", skill->lv); - gcn::Label *lv_label = new gcn::Label(std::string(tmp)); + gcn::Label *lv_label = new gcn::Label(tmp); sprintf(tmp, "Sp:%i", skill->sp); - gcn::Label *sp_label = new gcn::Label(std::string(tmp)); + gcn::Label *sp_label = new gcn::Label(tmp); set(i, 0, name_label); set(i, 1, lv_label); @@ -111,7 +116,7 @@ private: SkillDialog::SkillDialog(): - Window("Skills") + Window(_("Skills")) { initSkillinfo(); mTableModel = new SkillGuiTableModel(this); @@ -124,9 +129,9 @@ SkillDialog::SkillDialog(): // mSkillListBox = new ListBox(this); ScrollArea *skillScrollArea = new ScrollArea(&mTable); - mPointsLabel = new gcn::Label("Skill Points:"); - mIncButton = new Button("Up", "inc", this); - mUseButton = new Button("Use", "use", this); + mPointsLabel = new gcn::Label(strprintf(_("Skill points: %d"), 0)); + mIncButton = new Button(_("Up"), "inc", this); + mUseButton = new Button(_("Use"), "use", this); mUseButton->setEnabled(false); // mSkillListBox->setActionEventId("skill"); @@ -180,11 +185,8 @@ void SkillDialog::action(const gcn::ActionEvent &event) void SkillDialog::update() { - if (mPointsLabel != NULL) { - char tmp[128]; - sprintf(tmp, "Skill points: %i", player_node->mSkillPoint); - mPointsLabel->setCaption(tmp); - } + mPointsLabel->setCaption(strprintf(_("Skill points: %d"), + player_node->mSkillPoint)); int selectedSkill = mTable.getSelectedRow(); @@ -254,8 +256,7 @@ static void initSkillinfo() if (!root || !xmlStrEqual(root->name, BAD_CAST "skills")) { - logger->log("Error loading skills file: " - SKILLS_FILE); + logger->log("Error loading skills file: %s", SKILLS_FILE); skill_db.resize(2, emptySkillInfo); skill_db[1].name = "Basic"; skill_db[1].modifiable = true; diff --git a/src/gui/status.cpp b/src/gui/status.cpp index 1a257ae8..a5bb77c3 100644 --- a/src/gui/status.cpp +++ b/src/gui/status.cpp @@ -29,6 +29,8 @@ #include "../localplayer.h" +#include "../utils/gettext.h" +#include "../utils/strprintf.h" #include "../utils/tostring.h" StatusWindow::StatusWindow(LocalPlayer *player): @@ -46,25 +48,25 @@ StatusWindow::StatusWindow(LocalPlayer *player): // Status Part // ---------------------- - mLvlLabel = new gcn::Label("Level:"); - mGpLabel = new gcn::Label("Money:"); - mJobLvlLabel = new gcn::Label("Job:"); + mLvlLabel = new gcn::Label(strprintf(_("Level: %d"), 0)); + mGpLabel = new gcn::Label(strprintf(_("Job: %d"), 0)); + mJobLvlLabel = new gcn::Label(strprintf(_("Money: %d GP"), 0)); mHpLabel = new gcn::Label("HP:"); mHpBar = new ProgressBar(1.0f, 80, 15, 0, 171, 34); - mHpValueLabel = new gcn::Label(""); + mHpValueLabel = new gcn::Label; mXpLabel = new gcn::Label("Exp:"); mXpBar = new ProgressBar(1.0f, 80, 15, 143, 192, 211); - mXpValueLabel = new gcn::Label(""); + mXpValueLabel = new gcn::Label; mMpLabel = new gcn::Label("MP:"); mMpBar = new ProgressBar(1.0f, 80, 15, 26, 102, 230); - mMpValueLabel = new gcn::Label(""); + mMpValueLabel = new gcn::Label; mJobXpLabel = new gcn::Label("Job:"); mJobXpBar = new ProgressBar(1.0f, 80, 15, 220, 135, 203); - mJobValueLabel = new gcn::Label(""); + mJobValueLabel = new gcn::Label; int y = 3; int x = 5; @@ -122,34 +124,34 @@ StatusWindow::StatusWindow(LocalPlayer *player): // ---------------------- // Static Labels - gcn::Label *mStatsTitleLabel = new gcn::Label("Stats"); - gcn::Label *mStatsTotalLabel = new gcn::Label("Total"); - gcn::Label *mStatsCostLabel = new gcn::Label("Cost"); + gcn::Label *mStatsTitleLabel = new gcn::Label(_("Stats")); + gcn::Label *mStatsTotalLabel = new gcn::Label(_("Total")); + gcn::Label *mStatsCostLabel = new gcn::Label(_("Cost")); // Derived Stats - mStatsAttackLabel = new gcn::Label("Attack:"); - mStatsDefenseLabel= new gcn::Label("Defense:"); - mStatsMagicAttackLabel = new gcn::Label("M.Attack:"); - mStatsMagicDefenseLabel = new gcn::Label("M.Defense:"); - mStatsAccuracyLabel = new gcn::Label("% Accuracy:"); - mStatsEvadeLabel = new gcn::Label("% Evade:"); - mStatsReflexLabel = new gcn::Label("% Reflex:"); - - mStatsAttackPoints = new gcn::Label(""); - mStatsDefensePoints = new gcn::Label(""); - mStatsMagicAttackPoints = new gcn::Label(""); - mStatsMagicDefensePoints = new gcn::Label(""); - mStatsAccuracyPoints = new gcn::Label("% Accuracy:"); - mStatsEvadePoints = new gcn::Label("% Evade:"); - mStatsReflexPoints = new gcn::Label("% Reflex:"); + mStatsAttackLabel = new gcn::Label(_("Attack:")); + mStatsDefenseLabel= new gcn::Label(_("Defense:")); + mStatsMagicAttackLabel = new gcn::Label(_("M.Attack:")); + mStatsMagicDefenseLabel = new gcn::Label(_("M.Defense:")); + mStatsAccuracyLabel = new gcn::Label(_("% Accuracy:")); + mStatsEvadeLabel = new gcn::Label(_("% Evade:")); + mStatsReflexLabel = new gcn::Label(_("% Reflex:")); + + mStatsAttackPoints = new gcn::Label; + mStatsDefensePoints = new gcn::Label; + mStatsMagicAttackPoints = new gcn::Label; + mStatsMagicDefensePoints = new gcn::Label; + mStatsAccuracyPoints = new gcn::Label; + mStatsEvadePoints = new gcn::Label; + mStatsReflexPoints = new gcn::Label; // New labels for (int i = 0; i < 6; i++) { - mStatsLabel[i] = new gcn::Label(); - mStatsDisplayLabel[i] = new gcn::Label(); + mStatsLabel[i] = new gcn::Label; + mStatsDisplayLabel[i] = new gcn::Label; mPointsLabel[i] = new gcn::Label("0"); } - mRemainingStatsPointsLabel = new gcn::Label(); + mRemainingStatsPointsLabel = new gcn::Label; // Set button events Id mStatsButton[0] = new Button("+", "STR", this); @@ -227,13 +229,13 @@ void StatusWindow::update() { // Status Part // ----------- - mLvlLabel->setCaption("Level: " + toString(mPlayer->mLevel)); + mLvlLabel->setCaption(strprintf(_("Level: %d"), mPlayer->mLevel)); mLvlLabel->adjustSize(); - mJobLvlLabel->setCaption("Job: " + toString(mPlayer->mJobLevel)); + mJobLvlLabel->setCaption(strprintf(_("Job: %d"), mPlayer->mJobLevel)); mJobLvlLabel->adjustSize(); - mGpLabel->setCaption("Money: " + toString(mPlayer->mGp) + " GP"); + mGpLabel->setCaption(strprintf(_("Money: %d GP"), mPlayer->mGp)); mGpLabel->adjustSize(); mHpValueLabel->setCaption(toString(mPlayer->mHp) + @@ -276,20 +278,20 @@ void StatusWindow::update() // Stats Part // ---------- - static const std::string attrNames[6] = { - "Strength", - "Agility", - "Vitality", - "Intelligence", - "Dexterity", - "Luck" + static const char *attrNames[6] = { + N_("Strength"), + N_("Agility"), + N_("Vitality"), + N_("Intelligence"), + N_("Dexterity"), + N_("Luck") }; int statusPoints = mPlayer->mStatsPointsToAttribute; // Update labels for (int i = 0; i < 6; i++) { - mStatsLabel[i]->setCaption(attrNames[i]); + mStatsLabel[i]->setCaption(gettext(attrNames[i])); mStatsDisplayLabel[i]->setCaption(toString((int) mPlayer->mAttr[i])); mPointsLabel[i]->setCaption(toString((int) mPlayer->mAttrUp[i])); @@ -299,8 +301,8 @@ void StatusWindow::update() mStatsButton[i]->setEnabled(mPlayer->mAttrUp[i] <= statusPoints); } - mRemainingStatsPointsLabel->setCaption("Remaining Status Points: " + - toString(statusPoints)); + mRemainingStatsPointsLabel->setCaption( + strprintf(_("Remaining Status Points: %d"), statusPoints)); mRemainingStatsPointsLabel->adjustSize(); // Derived Stats Points @@ -353,12 +355,12 @@ void StatusWindow::update() mXpBar->getX() + mXpBar->getWidth() + 5, mXpLabel->getY()); - mJobXpLabel->setPosition(mXpBar->getX() - mJobXpLabel->getWidth() - 5, + mJobXpLabel->setPosition(mXpBar->getX() - mJobXpLabel->getWidth() - 5, mMpLabel->getY()); mJobXpBar->setPosition( mJobXpLabel->getX() + mJobXpLabel->getWidth() + 5, mJobXpLabel->getY()); - mJobValueLabel->setPosition(mJobXpBar->getX() + mJobXpBar->getWidth() + 5, + mJobValueLabel->setPosition(mJobXpBar->getX() + mJobXpBar->getWidth() + 5, mJobXpLabel->getY()); } diff --git a/src/gui/textfield.cpp b/src/gui/textfield.cpp index ea82ba77..bbedb29d 100644 --- a/src/gui/textfield.cpp +++ b/src/gui/textfield.cpp @@ -19,11 +19,13 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "textfield.h" + #include <algorithm> #include <guichan/font.hpp> -#include "textfield.h" +#include "sdlinput.h" #include "../graphics.h" @@ -32,6 +34,8 @@ #include "../utils/dtor.h" +#undef DELETE //Win32 compatibility hack + int TextField::instances = 0; ImageRect TextField::skin; @@ -100,3 +104,99 @@ void TextField::drawFrame(gcn::Graphics *graphics) static_cast<Graphics*>(graphics)->drawImageRect(0, 0, w, h, skin); } + +void TextField::keyPressed(gcn::KeyEvent &keyEvent) +{ + int val = keyEvent.getKey().getValue(); + + if (val >= 32) + { + int l; + if (val < 128) l = 1; // 0xxxxxxx + else if (val < 0x800) l = 2; // 110xxxxx 10xxxxxx + else if (val < 0x10000) l = 3; // 1110xxxx 10xxxxxx 10xxxxxx + else l = 4; // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + + char buf[4]; + for (int i = 0; i < l; ++i) + { + buf[i] = val >> (6 * (l - i - 1)); + if (i > 0) buf[i] = (buf[i] & 63) | 128; + } + + if (l > 1) buf[0] |= 255 << (8 - l); + + mText.insert(mCaretPosition, std::string(buf, buf + l)); + mCaretPosition += l; + } + + /* In UTF-8, 10xxxxxx is only used for inner parts of characters. So skip + them when processing key presses. */ + + switch (val) + { + case Key::LEFT: + { + while (mCaretPosition > 0) + { + --mCaretPosition; + if ((mText[mCaretPosition] & 192) != 128) + break; + } + } break; + + case Key::RIGHT: + { + unsigned sz = mText.size(); + while (mCaretPosition < sz) + { + ++mCaretPosition; + if (mCaretPosition == sz || + (mText[mCaretPosition] & 192) != 128) + break; + } + } break; + + case Key::DELETE: + { + unsigned sz = mText.size(); + while (mCaretPosition < sz) + { + --sz; + mText.erase(mCaretPosition, 1); + if (mCaretPosition == sz || + (mText[mCaretPosition] & 192) != 128) + break; + } + } break; + + case Key::BACKSPACE: + { + while (mCaretPosition > 0) + { + --mCaretPosition; + int v = mText[mCaretPosition]; + mText.erase(mCaretPosition, 1); + if ((v & 192) != 128) break; + } + } break; + + case Key::ENTER: + distributeActionEvent(); + break; + + case Key::HOME: + mCaretPosition = 0; + break; + + case Key::END: + mCaretPosition = mText.size(); + break; + + case Key::TAB: + return; + } + + keyEvent.consume(); + fixScroll(); +} diff --git a/src/gui/textfield.h b/src/gui/textfield.h index 60a50c69..b808fad2 100644 --- a/src/gui/textfield.h +++ b/src/gui/textfield.h @@ -53,6 +53,11 @@ class TextField : public gcn::TextField { */ void drawFrame(gcn::Graphics *graphics); + /** + * Processes one keypress. + */ + void keyPressed(gcn::KeyEvent &keyEvent); + private: static int instances; static ImageRect skin; diff --git a/src/gui/trade.cpp b/src/gui/trade.cpp index 9347cc02..405d871f 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) @@ -287,8 +280,8 @@ void TradeWindow::action(const gcn::ActionEvent &event) return; if (mMyInventory->contains(item)) { - chatWindow->chatLog("Failed adding item. You can not " - "overlap one kind of item on the window.", BY_SERVER); + chatWindow->chatLog(_("Failed adding item. You can not " + "overlap one kind of item on the window."), BY_SERVER); return; } diff --git a/src/gui/truetypefont.cpp b/src/gui/truetypefont.cpp index 7f9abd3a..0eed6f08 100644 --- a/src/gui/truetypefont.cpp +++ b/src/gui/truetypefont.cpp @@ -17,8 +17,6 @@ * You should have received a copy of the GNU General Public License * along with The Mana World; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * $Id$ */ #include "truetypefont.h" @@ -47,8 +45,7 @@ class TextChunk bool operator==(const TextChunk &chunk) const { - return ( - chunk.text == text && chunk.color == color); + return (chunk.text == text && chunk.color == color); } void generate(TTF_Font *font) @@ -84,7 +81,7 @@ typedef std::list<TextChunk>::iterator CacheIterator; static int fontCounter; -TrueTypeFont::TrueTypeFont(const std::string& filename, int size) +TrueTypeFont::TrueTypeFont(const std::string &filename, int size) { if (fontCounter == 0 && TTF_Init() == -1) { @@ -167,7 +164,7 @@ void TrueTypeFont::drawString(gcn::Graphics *graphics, g->drawImage(cache.front().img, x, y); } -int TrueTypeFont::getWidth(const std::string& text) const +int TrueTypeFont::getWidth(const std::string &text) const { int w, h; TTF_SizeUTF8(mFont, text.c_str(), &w, &h); diff --git a/src/gui/truetypefont.h b/src/gui/truetypefont.h index 48502f1f..e8617c7d 100644 --- a/src/gui/truetypefont.h +++ b/src/gui/truetypefont.h @@ -17,8 +17,6 @@ * You should have received a copy of the GNU General Public License * along with The Mana World; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * $Id$ */ #ifndef _TMW_TRUETYPEFONT_H @@ -44,74 +42,7 @@ class TrueTypeFont : public gcn::Font * @param filename Font filename. * @param size Font size. */ - TrueTypeFont(const std::string& filename, int size); - - /** - * Destructor. - */ - ~TrueTypeFont(); - - virtual int getWidth(const std::string& text) const; - - virtual int getHeight() const; - - /** - * @see Font::drawString - */ - void drawString(gcn::Graphics* graphics, const std::string& text, int x, int y); - - private: - TTF_Font *mFont; -}; - -#endif -/* - * The Mana World - * Copyright 2004 The Mana World Development Team - * - * This file is part of The Mana World. - * - * The Mana World is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * The Mana World is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with The Mana World; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * $Id$ - */ - -#ifndef _TMW_TRUETYPEFONT_H -#define _TMW_TRUETYPEFONT_H - -#include <string> - -#include <guichan/font.hpp> -#include <guichan/graphics.hpp> -#include <SDL/SDL_ttf.h> - -/** - * A wrapper around SDL_ttf for allowing the use of TrueType fonts. - * - * <b>NOTE:</b> This class needs SDL_ttf to be initialized. - */ -class TrueTypeFont : public gcn::Font -{ - public: - /** - * Constructor. - * - * @param filename Font filename. - * @param size Font size. - */ - TrueTypeFont(const std::string& filename, int size); + TrueTypeFont(const std::string &filename, int size); /** * Destructor. @@ -125,7 +56,9 @@ class TrueTypeFont : public gcn::Font /** * @see Font::drawString */ - void drawString(gcn::Graphics* graphics, const std::string& text, int x, int y); + void drawString(gcn::Graphics *graphics, + const std::string &text, + int x, int y); private: TTF_Font *mFont; diff --git a/src/gui/updatewindow.cpp b/src/gui/updatewindow.cpp index 7f7d45fc..a6857d21 100644 --- a/src/gui/updatewindow.cpp +++ b/src/gui/updatewindow.cpp @@ -40,6 +40,7 @@ #include "../log.h" #include "../main.h" +#include "../utils/gettext.h" #include "../utils/tostring.h" #include "../resources/resourcemanager.h" @@ -89,7 +90,7 @@ loadTextFile(const std::string &fileName) UpdaterWindow::UpdaterWindow(const std::string &updateHost, const std::string &updatesDir): - Window("Updating..."), + Window(_("Updating...")), mThread(NULL), mDownloadStatus(UPDATE_NEWS), mUpdateHost(updateHost), @@ -112,10 +113,10 @@ UpdaterWindow::UpdaterWindow(const std::string &updateHost, mBrowserBox = new BrowserBox(); mScrollArea = new ScrollArea(mBrowserBox); - mLabel = new gcn::Label("Connecting..."); + mLabel = new gcn::Label(_("Connecting...")); mProgressBar = new ProgressBar(0.0, w - 10, 20, 37, 70, 200); - mCancelButton = new Button("Cancel", "cancel", this); - mPlayButton = new Button("Play", "play", this); + mCancelButton = new Button(_("Cancel"), "cancel", this); + mPlayButton = new Button(_("Play"), "play", this); mBrowserBox->setOpaque(false); mPlayButton->setEnabled(false); @@ -228,8 +229,9 @@ int UpdaterWindow::updateProgress(void *ptr, float progress = dn / dt; UpdaterWindow *uw = reinterpret_cast<UpdaterWindow *>(ptr); - if (progress < 0) progress = 0.0f; - if (progress > 1) progress = 1.0f; + if (progress != progress) progress = 0.0f; // check for NaN + if (progress < 0.0f) progress = 0.0f; // no idea how this could ever happen, but why not check for it anyway. + if (progress > 1.0f) progress = 1.0f; uw->setLabel( uw->mCurrentFile + " (" + toString((int) (progress * 100)) + "%)"); @@ -521,7 +523,7 @@ void UpdaterWindow::logic() break; case UPDATE_COMPLETE: enable(); - setLabel("Completed"); + setLabel(_("Completed")); break; case UPDATE_IDLE: break; diff --git a/src/gui/vbox.cpp b/src/gui/vbox.cpp deleted file mode 100644 index 2ec1112d..00000000 --- a/src/gui/vbox.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* - * The Mana World - * Copyright 2004 The Mana World Development Team - * - * This file is part of The Mana World. - * - * The Mana World is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * The Mana World is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with The Mana World; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "vbox.h" - -void VBox::draw(gcn::Graphics *graphics) -{ - if (mWidgets.empty()) - { - return; - } - - int childWidth = getWidth(); - int childHeight = getHeight() / mWidgets.size(); - int i = 0; - - for (WidgetIterator w = mWidgets.begin(); w != mWidgets.end(); w++) - { - (*w)->setPosition(0, childHeight * i - padding); - (*w)->setSize(childWidth, childHeight); - i++; - } - - gcn::Container::draw(graphics); -} diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp index 37aa40ce..9eab7c95 100644 --- a/src/gui/viewport.cpp +++ b/src/gui/viewport.cpp @@ -21,8 +21,6 @@ #include "viewport.h" -#include <guichan/sdl/sdlinput.hpp> - #include "gui.h" #include "popupmenu.h" #include "ministatus.h" diff --git a/src/gui/widgets/layout.cpp b/src/gui/widgets/layout.cpp new file mode 100644 index 00000000..bcc54cf7 --- /dev/null +++ b/src/gui/widgets/layout.cpp @@ -0,0 +1,327 @@ +/* + * The Mana World + * Copyright 2007 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * The Mana World is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include <cassert> + +#include "layout.h" + +ContainerPlacer ContainerPlacer::at(int x, int y) +{ + return ContainerPlacer(mContainer, &mCell->at(x, y)); +} + +LayoutCell &ContainerPlacer::operator() + (int x, int y, gcn::Widget *wg, int w, int h) +{ + mContainer->add(wg); + return mCell->place(wg, x, y, w, h); +} + +LayoutCell::~LayoutCell() +{ + if (mType == ARRAY) delete mArray; +} + +LayoutArray &LayoutCell::getArray() +{ + assert(mType != WIDGET); + if (mType == ARRAY) return *mArray; + mArray = new LayoutArray; + mType = ARRAY; + mExtent[0] = 1; + mExtent[1] = 1; + mPadding = 0; + mAlign[0] = FILL; + mAlign[1] = FILL; + return *mArray; +} + +void LayoutCell::reflow(int nx, int ny, int nw, int nh) +{ + assert(mType != NONE); + nx += mPadding; + ny += mPadding; + nw -= 2 * mPadding; + nh -= 2 * mPadding; + if (mType == ARRAY) + mArray->reflow(nx, ny, nw, nh); + else + mWidget->setDimension(gcn::Rectangle(nx, ny, nw, nh)); +} + +void LayoutCell::computeSizes() +{ + assert(mType == ARRAY); + + for (std::vector< std::vector< LayoutCell * > >::iterator + i = mArray->mCells.begin(), i_end = mArray->mCells.end(); + i != i_end; ++i) + { + for (std::vector< LayoutCell * >::iterator + j = i->begin(), j_end = i->end(); j != j_end; ++j) + { + LayoutCell *cell = *j; + if (cell && cell->mType == ARRAY) cell->computeSizes(); + } + } + + mSize[0] = mArray->getSize(0); + mSize[1] = mArray->getSize(1); +} + +LayoutArray::LayoutArray(): mSpacing(4) +{ +} + +LayoutArray::~LayoutArray() +{ + for (std::vector< std::vector< LayoutCell * > >::iterator + i = mCells.begin(), i_end = mCells.end(); i != i_end; ++i) + { + for (std::vector< LayoutCell * >::iterator + j = i->begin(), j_end = i->end(); j != j_end; ++j) + { + delete *j; + } + } +} + +LayoutCell &LayoutArray::at(int x, int y, int w, int h) +{ + resizeGrid(x + w, y + h); + LayoutCell *&cell = mCells[y][x]; + if (!cell) + { + cell = new LayoutCell; + } + return *cell; +} + +void LayoutArray::resizeGrid(int w, int h) +{ + bool extW = w && w > (int)mSizes[0].size(), + extH = h && h > (int)mSizes[1].size(); + if (!extW && !extH) return; + + if (extH) + { + mSizes[1].resize(h, Layout::AUTO_DEF); + mCells.resize(h); + if (!extW) w = mSizes[0].size(); + } + + if (extW) + { + mSizes[0].resize(w, Layout::AUTO_DEF); + } + + for (std::vector< std::vector< LayoutCell * > >::iterator + i = mCells.begin(), i_end = mCells.end(); i != i_end; ++i) + { + i->resize(w, NULL); + } +} + +void LayoutArray::setColWidth(int n, int w) +{ + resizeGrid(n + 1, 0); + mSizes[0][n] = w; +} + +void LayoutArray::setRowHeight(int n, int h) +{ + resizeGrid(0, n + 1); + mSizes[1][n] = h; +} + +void LayoutArray::matchColWidth(int n1, int n2) +{ + resizeGrid(std::max(n1, n2) + 1, 0); + std::vector< short > widths = getSizes(0, Layout::AUTO_DEF); + int s = std::max(widths[n1], widths[n2]); + mSizes[0][n1] = s; + mSizes[0][n2] = s; +} + +void LayoutArray::extend(int x, int y, int w, int h) +{ + LayoutCell &cell = at(x, y, w, h); + cell.mExtent[0] = w; + cell.mExtent[1] = h; +} + +LayoutCell &LayoutArray::place(gcn::Widget *widget, int x, int y, int w, int h) +{ + LayoutCell &cell = at(x, y, w, h); + assert(cell.mType == LayoutCell::NONE); + cell.mType = LayoutCell::WIDGET; + cell.mWidget = widget; + cell.mSize[0] = w == 1 ? widget->getWidth() : 0; + cell.mSize[1] = h == 1 ? widget->getHeight() : 0; + cell.mExtent[0] = w; + cell.mExtent[1] = h; + cell.mPadding = 0; + cell.mAlign[0] = LayoutCell::FILL; + cell.mAlign[1] = LayoutCell::FILL; + short &cs = mSizes[0][x], &rs = mSizes[1][y]; + if (cs == Layout::AUTO_DEF && w == 1) cs = 0; + if (rs == Layout::AUTO_DEF && h == 1) rs = 0; + return cell; +} + +void LayoutArray::align(int &pos, int &size, int dim, + LayoutCell const &cell, short *sizes) const +{ + int size_max = sizes[0]; + for (int i = 1; i < cell.mExtent[dim]; ++i) + size_max += sizes[i] + mSpacing; + size = std::min<int>(cell.mSize[dim], size_max); + + switch (cell.mAlign[dim]) + { + case LayoutCell::LEFT: + return; + case LayoutCell::RIGHT: + pos += size_max - size; + return; + case LayoutCell::CENTER: + pos += (size_max - size) / 2; + return; + case LayoutCell::FILL: + size = size_max; + return; + } +} + +std::vector< short > LayoutArray::getSizes(int dim, int upp) const +{ + int gridW = mSizes[0].size(), gridH = mSizes[1].size(); + std::vector< short > sizes = mSizes[dim]; + + // Compute minimum sizes. + for (int gridY = 0; gridY < gridH; ++gridY) + { + for (int gridX = 0; gridX < gridW; ++gridX) + { + LayoutCell const *cell = mCells[gridY][gridX]; + if (!cell || cell->mType == LayoutCell::NONE) continue; + + if (cell->mExtent[dim] == 1) + { + int n = dim == 0 ? gridX : gridY; + int s = cell->mSize[dim] + cell->mPadding * 2; + if (s > sizes[n]) sizes[n] = s; + } + } + } + + if (upp == Layout::AUTO_DEF) return sizes; + + // Compute the FILL sizes. + int nb = sizes.size(); + int nbFill = 0; + for (int i = 0; i < nb; ++i) + { + if (mSizes[dim][i] <= Layout::AUTO_DEF) + { + ++nbFill; + if (mSizes[dim][i] == Layout::AUTO_SET || + sizes[i] <= Layout::AUTO_DEF) + { + sizes[i] = 0; + } + } + upp -= sizes[i] + mSpacing; + } + upp = upp + mSpacing; + + if (nbFill == 0) return sizes; + + for (int i = 0; i < nb; ++i) + { + if (mSizes[dim][i] > Layout::AUTO_DEF) continue; + int s = upp / nbFill; + sizes[i] += s; + upp -= s; + --nbFill; + } + + return sizes; +} + +int LayoutArray::getSize(int dim) const +{ + std::vector< short > sizes = getSizes(dim, Layout::AUTO_DEF); + int size = 0; + int nb = sizes.size(); + for (int i = 0; i < nb; ++i) + { + if (sizes[i] > Layout::AUTO_DEF) size += sizes[i]; + size += mSpacing; + } + return size - mSpacing; +} + +void LayoutArray::reflow(int nx, int ny, int nw, int nh) +{ + int gridW = mSizes[0].size(), gridH = mSizes[1].size(); + + std::vector< short > widths = getSizes(0, nw); + std::vector< short > heights = getSizes(1, nh); + + int y = ny; + for (int gridY = 0; gridY < gridH; ++gridY) + { + int x = nx; + for (int gridX = 0; gridX < gridW; ++gridX) + { + LayoutCell *cell = mCells[gridY][gridX]; + if (cell && cell->mType != LayoutCell::NONE) + { + int dx = x, dy = y, dw, dh; + align(dx, dw, 0, *cell, &widths[gridX]); + align(dy, dh, 1, *cell, &heights[gridY]); + cell->reflow(dx, dy, dw, dh); + } + x += widths[gridX] + mSpacing; + } + y += heights[gridY] + mSpacing; + } +} + +Layout::Layout(): mComputed(false) +{ + getArray(); + setPadding(6); +} + +void Layout::reflow(int &nw, int &nh) +{ + if (!mComputed) + { + computeSizes(); + mComputed = true; + } + + nw = nw == 0 ? mSize[0] + 2 * mPadding : nw; + nh = nh == 0 ? mSize[1] + 2 * mPadding : nh; + LayoutCell::reflow(0, 0, nw, nh); +} diff --git a/src/gui/widgets/layout.h b/src/gui/widgets/layout.h new file mode 100644 index 00000000..d631c154 --- /dev/null +++ b/src/gui/widgets/layout.h @@ -0,0 +1,320 @@ +/* + * The Mana World + * Copyright 2007 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * The Mana World is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _TMW_WIDGET_LAYOUT_H__ +#define _TMW_WIDGET_LAYOUT_H__ + +#include <vector> + +#include <guichan/widgets/container.hpp> + +class LayoutCell; + +/** + * This class is a helper for adding widgets to nested tables in a window. + */ +class ContainerPlacer +{ + public: + + ContainerPlacer(gcn::Container *c = NULL, LayoutCell *l = NULL): + mContainer(c), mCell(l) + {} + + /** + * Gets the pointed cell. + */ + LayoutCell &getCell() + { return *mCell; } + + /** + * Returns a placer for the same container but to an inner cell. + */ + ContainerPlacer at(int x, int y); + + /** + * Adds the given widget to the container and places it in the layout. + * @see LayoutArray::place + */ + LayoutCell &operator() + (int x, int y, gcn::Widget *, int w = 1, int h = 1); + + private: + + gcn::Container *mContainer; + LayoutCell *mCell; +}; + +/** + * This class contains a rectangular array of cells. + */ +class LayoutArray +{ + friend class LayoutCell; + + public: + + LayoutArray(); + + ~LayoutArray(); + + /** + * Returns a reference on the cell at given position. + */ + LayoutCell &at(int x, int y, int w = 1, int h = 1); + + /** + * Places a widget in a given cell. + * @param w number of columns the widget spawns. + * @param h number of rows the widget spawns. + * @note When @a w is 1, the width of column @a x is reset to zero if + * it was AUTO_DEF. Similarly for @a h. + */ + LayoutCell &place(gcn::Widget *, int x, int y, int w = 1, int h = 1); + + /** + * Sets the minimum width of a column. + */ + void setColWidth(int n, int w); + + /** + * Sets the minimum height of a row. + */ + void setRowHeight(int n, int h); + + /** + * Sets the widths of two columns to the maximum of their widths. + */ + void matchColWidth(int n1, int n2); + + /** + * Spawns a cell over several columns/rows. + */ + void extend(int x, int y, int w, int h); + + /** + * Computes and sets the positions of all the widgets. + * @param nW width of the array, used to resize the AUTO_ columns. + * @param nH height of the array, used to resize the AUTO_ rows. + */ + void reflow(int nX, int nY, int nW, int nH); + + private: + + // Copy not allowed, as the array owns all its cells. + LayoutArray(LayoutArray const &); + LayoutArray &operator=(LayoutArray const &); + + /** + * Gets the position and size of a widget along a given axis + */ + void align(int &pos, int &size, int dim, + LayoutCell const &cell, short *sizes) const; + + /** + * Ensures the private vectors are large enough. + */ + void resizeGrid(int w, int h); + + /** + * Gets the column/row sizes along a given axis. + * @param upp target size for the array. Ignored if AUTO_DEF. + */ + std::vector< short > getSizes(int dim, int upp) const; + + /** + * Gets the total size along a given axis. + */ + int getSize(int dim) const; + + std::vector< short > mSizes[2]; + std::vector< std::vector < LayoutCell * > > mCells; + + char mSpacing; +}; + +/** + * This class describes the formatting of a widget in the cell of a layout + * table. Horizontally, a widget can either fill the width of the cell (minus + * the cell padding), or it can retain its size and be flushed left, or flush + * right, or centered in the cell. The process is similar for the vertical + * alignment, except that top is represented by LEFT and bottom by RIGHT. + */ +class LayoutCell +{ + friend class Layout; + friend class LayoutArray; + + public: + + enum Alignment + { + LEFT, RIGHT, CENTER, FILL + }; + + LayoutCell(): mType(NONE) {} + + ~LayoutCell(); + + /** + * Sets the padding around the cell content. + */ + LayoutCell &setPadding(int p) + { mPadding = p; return *this; } + + /** + * Sets the horizontal alignment of the cell content. + */ + LayoutCell &setHAlign(Alignment a) + { mAlign[0] = a; return *this; } + + /** + * Sets the vertical alignment of the cell content. + */ + LayoutCell &setVAlign(Alignment a) + { mAlign[1] = a; return *this; } + + /** + * @see LayoutArray::at + */ + LayoutCell &at(int x, int y) + { return getArray().at(x, y); } + + /** + * @see LayoutArray::place + */ + LayoutCell &place(gcn::Widget *wg, int x, int y, int w = 1, int h = 1) + { return getArray().place(wg, x, y, w, h); } + + /** + * @see LayoutArray::matchColWidth + */ + void matchColWidth(int n1, int n2) + { getArray().matchColWidth(n1, n2); } + + /** + * @see LayoutArray::setColWidth + */ + void setColWidth(int n, int w) + { getArray().setColWidth(n, w); } + + /** + * @see LayoutArray::setRowHeight + */ + void setRowHeight(int n, int h) + { getArray().setRowHeight(n, h); } + + /** + * @see LayoutArray::extend. + */ + void extend(int x, int y, int w, int h) + { getArray().extend(x, y, w, h); } + + /** + * Sets the minimum widths and heights of this cell and of all the + * inner cells. + */ + void computeSizes(); + + private: + + // Copy not allowed, as the cell may own an array. + LayoutCell(LayoutCell const &); + LayoutCell &operator=(LayoutCell const &); + + union + { + gcn::Widget *mWidget; + LayoutArray *mArray; + }; + + enum + { + NONE, WIDGET, ARRAY + }; + + /** + * Returns the embedded array. Creates it if the cell does not contain + * anything yet. Aborts if it contains a widget. + */ + LayoutArray &getArray(); + + /** + * @see LayoutArray::reflow + */ + void reflow(int nx, int ny, int nw, int nh); + + short mSize[2]; + char mPadding; + char mExtent[2]; + char mAlign[2]; + char mNbFill[2]; + char mType; +}; + +/** + * This class is an helper for setting the position of widgets. They are + * positioned along the cells of some rectangular tables. The layout may either + * be a single table or a tree of nested tables. + * + * The size of a given table column can either be set manually or be chosen + * from the widest widget of the column. An empty column has a AUTO_DEF width, + * which means it will be extended so that the layout fits its minimum width. + * + * The process is similar for table rows. By default, there is a spacing of 4 + * pixels between rows and between columns, and a margin of 6 pixels around the + * whole layout. + */ +class Layout: public LayoutCell +{ + public: + + Layout(); + + /** + * Sets the margin around the layout. + */ + void setMargin(int m) + { setPadding(m); } + + /** + * Sets the positions of all the widgets. + * @see LayoutArray::reflow + */ + void reflow(int &nW, int &nH); + + /** + * When the minimum size of the layout is less than the available size, + * the remaining pixels are equally split amongst the FILL items. + */ + enum + { + AUTO_DEF = -42, /**< Default value, behaves like AUTO_ADD. */ + AUTO_SET = -43, /**< Uses the share as the new size. */ + AUTO_ADD = -44 /**< Adds the share to the current size. */ + }; + + private: + + bool mComputed; +}; + +#endif diff --git a/src/gui/window.cpp b/src/gui/window.cpp index 630b4ddd..dfe7ac64 100644 --- a/src/gui/window.cpp +++ b/src/gui/window.cpp @@ -20,8 +20,8 @@ */ #include <algorithm> -#include <climits> #include <cassert> +#include <climits> #include <guichan/exception.hpp> #include <guichan/widgets/icon.hpp> @@ -29,9 +29,9 @@ #include "window.h" #include "gui.h" -#include "gccontainer.h" #include "windowcontainer.h" +#include "widgets/layout.h" #include "widgets/resizegrip.h" #include "../configlistener.h" @@ -63,6 +63,7 @@ Window::Window(const std::string& caption, bool modal, Window *parent): gcn::Window(caption), mGrip(0), mParent(parent), + mLayout(NULL), mWindowName("window"), mShowTitle(true), mModal(modal), @@ -76,7 +77,7 @@ Window::Window(const std::string& caption, bool modal, Window *parent): logger->log("Window::Window(\"%s\")", caption.c_str()); if (!windowContainer) { - throw GCN_EXCEPTION("Window::Window. no windowContainer set"); + throw GCN_EXCEPTION("Window::Window(): no windowContainer set"); } if (instances == 0) @@ -108,11 +109,6 @@ Window::Window(const std::string& caption, bool modal, Window *parent): setPadding(3); setTitleBarHeight(20); - // Add chrome - mChrome = new GCContainer(); - mChrome->setOpaque(false); - gcn::Window::add(mChrome); - // Add this window to the window container windowContainer->add(this); @@ -145,6 +141,15 @@ Window::~Window() } } + delete mLayout; + + while (!mWidgets.empty()) + { + gcn::Widget *w = mWidgets.front(); + remove(w); + delete(w); + } + instances--; if (instances == 0) @@ -165,9 +170,6 @@ Window::~Window() delete border.grid[8]; closeImage->decRef(); } - - delete mChrome; - delete mGrip; } void Window::setWindowContainer(WindowContainer *wc) @@ -202,7 +204,6 @@ void Window::draw(gcn::Graphics *graphics) void Window::setContentSize(int width, int height) { - mChrome->setSize(width, height); setSize(width + 2 * getPadding(), height + getPadding() + getTitleBarHeight()); } @@ -248,10 +249,11 @@ void Window::setResizable(bool r) mGrip = new ResizeGrip(); mGrip->setX(getWidth() - mGrip->getWidth() - getChildrenArea().x); mGrip->setY(getHeight() - mGrip->getHeight() - getChildrenArea().y); - gcn::Window::add(mGrip); + add(mGrip); } else { + remove(mGrip); delete mGrip; mGrip = 0; } @@ -259,15 +261,19 @@ void Window::setResizable(bool r) void Window::widgetResized(const gcn::Event &event) { - const gcn::Rectangle area = getChildrenArea(); - - mChrome->setSize(area.width, area.height); - if (mGrip) { + const gcn::Rectangle area = getChildrenArea(); mGrip->setPosition(getWidth() - mGrip->getWidth() - area.x, getHeight() - mGrip->getHeight() - area.y); } + + if (mLayout) + { + int w = getWidth() - 2 * getPadding(); + int h = getHeight() - getPadding() - getTitleBarHeight(); + mLayout->reflow(w, h); + } } void Window::setCloseButton(bool flag) @@ -292,14 +298,7 @@ bool Window::isSticky() void Window::setVisible(bool visible) { - if (isSticky()) - { - gcn::Window::setVisible(true); - } - else - { - gcn::Window::setVisible(visible); - } + gcn::Window::setVisible(isSticky() || visible); } void Window::scheduleDelete() @@ -307,16 +306,6 @@ void Window::scheduleDelete() windowContainer->scheduleDelete(this); } -void Window::add(gcn::Widget *w) -{ - mChrome->add(w); -} - -void Window::add(gcn::Widget *w, int x, int y) -{ - mChrome->add(w, x, y); -} - void Window::mousePressed(gcn::MouseEvent &event) { // Let Guichan move window to top and figure out title bar drag @@ -535,3 +524,29 @@ int Window::getResizeHandles(gcn::MouseEvent &event) return resizeHandles; } + +Layout &Window::getLayout() +{ + if (!mLayout) mLayout = new Layout; + return *mLayout; +} + +LayoutCell &Window::place(int x, int y, gcn::Widget *wg, int w, int h) +{ + add(wg); + return getLayout().place(wg, x, y, w, h); +} + +ContainerPlacer Window::getPlacer(int x, int y) +{ + return ContainerPlacer(this, &getLayout().at(x, y)); +} + +void Window::reflowLayout(int w, int h) +{ + assert(mLayout); + mLayout->reflow(w, h); + delete mLayout; + mLayout = NULL; + setContentSize(w, h); +} diff --git a/src/gui/window.h b/src/gui/window.h index 984c6f06..a49788a5 100644 --- a/src/gui/window.h +++ b/src/gui/window.h @@ -28,11 +28,13 @@ #include "../guichanfwd.h" class ConfigListener; -class GCContainer; +class ContainerPlacer; +class Image; class ImageRect; +class Layout; +class LayoutCell; class ResizeGrip; class WindowContainer; -class Image; /** * A window. This window can be dragged around and has a title bar. Windows are @@ -59,7 +61,7 @@ class Window : public gcn::Window, gcn::WidgetListener Window *parent = NULL); /** - * Destructor. + * Destructor. Deletes all the added widgets. */ ~Window(); @@ -74,18 +76,6 @@ class Window : public gcn::Window, gcn::WidgetListener void draw(gcn::Graphics *graphics); /** - * Adds a widget to the window. The widget will be deleted by the - * window. - */ - void add(gcn::Widget *w); - - /** - * Adds a widget to the window and also specifices its position. The - * widget will be deleted by the window. - */ - void add(gcn::Widget *w, int x, int y); - - /** * Sets the size of this window. */ void setContentSize(int width, int height); @@ -163,8 +153,7 @@ class Window : public gcn::Window, gcn::WidgetListener * * @return The parent window or <code>NULL</code> if there is none. */ - Window* - getParentWindow() { return mParent; } + Window *getParentWindow() { return mParent; } /** * Schedule this window for deletion. It will be deleted at the start @@ -204,14 +193,12 @@ class Window : public gcn::Window, gcn::WidgetListener /** * Sets the name of the window. This is not the window title. */ - void - setWindowName(const std::string &name) { mWindowName = name; } + void setWindowName(const std::string &name) { mWindowName = name; } /** * Returns the name of the window. This is not the window title. */ - const std::string& - getWindowName() { return mWindowName; } + const std::string &getWindowName() { return mWindowName; } /** * Reads the position (and the size for resizable windows) in the @@ -220,21 +207,51 @@ class Window : public gcn::Window, gcn::WidgetListener * Don't forget to set these default values and resizable before * calling this function. */ - virtual void loadWindowState(); + void loadWindowState(); /** * Set the default win pos and size. * (which can be different of the actual ones.) */ - virtual void setDefaultSize(int defaultX, int defaultY, - int defaultWidth, int defaultHeight); + void setDefaultSize(int defaultX, int defaultY, + int defaultWidth, int defaultHeight); /** * Reset the win pos and size to default. Don't forget to set defaults * first. */ - virtual void resetToDefaultSize(); + void resetToDefaultSize(); + + /** + * Gets the layout handler for this window. + */ + Layout &getLayout(); + + /** + * Computes the position of the widgets according to the current + * layout. Resizes the window so that the layout fits. Deletes the + * layout. + * @param w if non-zero, force the window to this width. + * @param h if non-zero, force the window to this height. + * @note This function is meant to be called with fixed-size windows. + */ + void reflowLayout(int w = 0, int h = 0); + /** + * Adds a widget to the window and sets it at given cell. + */ + LayoutCell &place(int x, int y, gcn::Widget *, int w = 1, int h = 1); + + /** + * Returns a proxy for adding widgets in an inner table of the layout. + */ + ContainerPlacer getPlacer(int x, int y); + + protected: + /** The window container windows add themselves to. */ + static WindowContainer *windowContainer; + + private: enum ResizeHandles { TOP = 0x01, @@ -243,7 +260,6 @@ class Window : public gcn::Window, gcn::WidgetListener LEFT = 0x08 }; - protected: /** * Determines if the mouse is in a resize area and returns appropriate * resize handles. Also initializes drag offset in case the resize @@ -253,9 +269,9 @@ class Window : public gcn::Window, gcn::WidgetListener */ int getResizeHandles(gcn::MouseEvent &event); - GCContainer *mChrome; /**< Contained container */ ResizeGrip *mGrip; /**< Resize grip */ Window *mParent; /**< The parent window */ + Layout *mLayout; /**< Layout handler */ std::string mWindowName; /**< Name of the window */ bool mShowTitle; /**< Window has a title bar */ bool mModal; /**< Window is modal */ @@ -270,9 +286,6 @@ class Window : public gcn::Window, gcn::WidgetListener int mDefaultWidth; /**< Default window width */ int mDefaultHeight; /**< Default window height */ - /** The window container windows add themselves to. */ - static WindowContainer *windowContainer; - /** * The config listener that listens to changes relevant to all windows. */ diff --git a/src/keyboardconfig.cpp b/src/keyboardconfig.cpp index 60b0c02a..a471f70f 100644 --- a/src/keyboardconfig.cpp +++ b/src/keyboardconfig.cpp @@ -23,8 +23,6 @@ #include "configuration.h" #include "log.h" -#include <guichan/sdl/sdlinput.hpp> - #include "gui/setup_keyboard.h" struct KeyData diff --git a/src/keyboardconfig.h b/src/keyboardconfig.h index c6769821..414682bc 100644 --- a/src/keyboardconfig.h +++ b/src/keyboardconfig.h @@ -24,10 +24,9 @@ #include <string> +#include "gui/sdlinput.h" #include "gui/setup_keyboard.h" -#include <guichan/sdl/sdlinput.hpp> - /** * Each key represents a key function. Such as 'Move up', 'Attack' etc. */ diff --git a/src/localplayer.cpp b/src/localplayer.cpp index 044f62bf..aa27607c 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -276,10 +276,7 @@ void LocalPlayer::setDestination(Uint16 x, Uint16 y) void LocalPlayer::setWalkingDir(int dir) { - if (mWalkingDir != dir) - { - mWalkingDir = dir; - } + mWalkingDir = dir; // If we're not already walking, start walking. if (mAction != WALK && dir) diff --git a/src/main.cpp b/src/main.cpp index d99c1985..584ca5d5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -29,11 +29,13 @@ #include <SDL_image.h> #include <guichan/actionlistener.hpp> -#include <guichan/sdl/sdlinput.hpp> #include <guichan/widgets/label.hpp> #include <libxml/parser.h> +#ifdef WIN32 +#include <SDL_syswm.h> +#endif #ifndef WIN32 #include <cerrno> #include <sys/stat.h> @@ -64,9 +66,10 @@ #include "gui/ok_dialog.h" #include "gui/progressbar.h" #include "gui/register.h" +#include "gui/sdlinput.h" #include "gui/setup.h" -#include "gui/updatewindow.h" #include "gui/textfield.h" +#include "gui/updatewindow.h" #include "net/charserverhandler.h" #include "net/loginhandler.h" @@ -81,12 +84,9 @@ #include "resources/resourcemanager.h" #include "utils/dtor.h" +#include "utils/gettext.h" #include "utils/tostring.h" -#ifdef WIN32 -#include <SDL_syswm.h> -#endif - namespace { Window *setupWindow = 0; @@ -268,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); } @@ -647,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[]) @@ -667,6 +668,17 @@ 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); + bind_textdomain_codeset("tmw", "UTF-8"); + textdomain("tmw"); +#endif + // Initialize libxml2 and check for potential ABI mismatches between // compiled version and the shared library actually used. xmlInitParser(); @@ -701,7 +713,7 @@ int main(int argc, char *argv[]) top->add(progressLabel, 15 + progressBar->getWidth(), progressBar->getY() + 4); progressBar->setVisible(false); - gcn::Button *setup = new Button("Setup", "Setup", &listener); + gcn::Button *setup = new Button(_("Setup"), "Setup", &listener); setup->setPosition(top->getWidth() - setup->getWidth() - 3, 3); top->add(setup); @@ -754,7 +766,7 @@ int main(int argc, char *argv[]) if (!network->getError().empty()) { errorMessage = network->getError(); } else { - errorMessage = "Got disconnected from server!"; + errorMessage = _("Got disconnected from server!"); } } @@ -874,7 +886,8 @@ int main(int argc, char *argv[]) case CHAR_SELECT_STATE: logger->log("State: CHAR_SELECT"); currentDialog = new CharSelectDialog(network, &charInfo, - 1 - loginData.sex); + (loginData.sex == 0) ? + GENDER_FEMALE : GENDER_MALE); if (((CharSelectDialog*) currentDialog)-> selectByName(options.playername)) @@ -929,7 +942,7 @@ int main(int argc, char *argv[]) case ERROR_STATE: logger->log("State: ERROR"); - currentDialog = new OkDialog("Error", errorMessage); + currentDialog = new OkDialog(_("Error"), errorMessage); currentDialog->addActionListener(&errorListener); currentDialog = NULL; // OkDialog deletes itself network->disconnect(); @@ -939,7 +952,8 @@ int main(int argc, char *argv[]) case CONNECTING_STATE: logger->log("State: CONNECTING"); progressBar->setVisible(true); - progressLabel->setCaption("Connecting to map server..."); + progressLabel->setCaption( + _("Connecting to map server...")); progressLabel->adjustSize(); mapLogin(network, &loginData); break; @@ -947,7 +961,7 @@ int main(int argc, char *argv[]) case CHAR_CONNECT_STATE: progressBar->setVisible(true); progressLabel->setCaption( - "Connecting to character server..."); + _("Connecting to character server...")); progressLabel->adjustSize(); charLogin(network, &loginData); break; @@ -955,7 +969,7 @@ int main(int argc, char *argv[]) case ACCOUNT_STATE: progressBar->setVisible(true); progressLabel->setCaption( - "Connecting to account server..."); + _("Connecting to account server...")); progressLabel->adjustSize(); accountLogin(network, &loginData); break; diff --git a/src/map.cpp b/src/map.cpp index 6e33d255..abe87dfd 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -62,6 +62,34 @@ struct Location MetaTile *tile; }; +TileAnimation::TileAnimation(Animation *ani): + mAnimation(ani), + mLastUpdate(tick_time), + mLastImage(NULL) +{ +} + +void TileAnimation::update() +{ + //update animation + mAnimation.update(tick_time - mLastUpdate); + mLastUpdate = tick_time; + + // exchange images + Image *img = mAnimation.getCurrentImage(); + if (img != mLastImage) + { + for (std::list<std::pair<MapLayer*, int> >::iterator i = mAffected.begin(); + i != mAffected.end(); + i++) + { + i->first->setTile(i->second, img); + } + mLastImage = img; + } + +} + MapLayer::MapLayer(int x, int y, int width, int height, bool isFringeLayer): mX(x), mY(y), mWidth(width), mHeight(height), @@ -79,7 +107,7 @@ MapLayer::~MapLayer() void MapLayer::setTile(int x, int y, Image *img) { - mTiles[x + y * mWidth] = img; + setTile(x + y * mWidth, img); } Image* MapLayer::getTile(int x, int y) const @@ -155,6 +183,7 @@ Map::~Map() delete_all(mLayers); delete_all(mTilesets); delete_all(mOverlays); + delete_all(mTileAnimations); } void Map::initializeOverlays() @@ -216,6 +245,15 @@ void Map::draw(Graphics *graphics, int scrollX, int scrollY) // Make sure sprites are sorted mSprites.sort(spriteCompare); + //update animated tiles + for (std::map<int, TileAnimation*>::iterator iAni = mTileAnimations.begin(); + iAni != mTileAnimations.end(); + iAni++) + { + iAni->second->update(); + } + + // draw the game world Layers::const_iterator layeri = mLayers.begin(); for (; layeri != mLayers.end(); ++layeri) { (*layeri)->draw(graphics, @@ -485,7 +523,7 @@ Path Map::findPath(int startX, int startY, int destX, int destY) while (pathX != startX || pathY != startY) { // Add the new path node to the start of the path list - path.push_front(PATH_NODE(pathX, pathY)); + path.push_front(Position(pathX, pathY)); // Find out the next parent MetaTile *tile = getMetaTile(pathX, pathY); @@ -516,3 +554,14 @@ void Map::initializeParticleEffects(Particle* particleEngine) particleEngine->addEffect(i->file, i->x, i->y); } } + +TileAnimation* Map::getAnimationForGid(int gid) +{ + std::map<int, TileAnimation*>::iterator i = mTileAnimations.find(gid); + if (i == mTileAnimations.end()) + { + return NULL; + } else { + return i->second; + } +} @@ -25,8 +25,11 @@ #include <list> #include <vector> +#include "position.h" #include "properties.h" +#include "simpleanimation.h" + class AmbientOverlay; class Graphics; class Image; @@ -35,8 +38,6 @@ class Particle; class Sprite; class Tileset; -struct PATH_NODE; - typedef std::vector<Tileset*> Tilesets; typedef std::list<Sprite*> Sprites; typedef Sprites::iterator SpriteIterator; @@ -55,13 +56,30 @@ struct MetaTile MetaTile():whichList(0) {}; // Pathfinding members - int Fcost; /**< Estimation of total path cost */ - int Gcost; /**< Cost from start to this location */ - int Hcost; /**< Estimated cost to goal */ - int whichList; /**< No list, open list or closed list */ - int parentX; /**< X coordinate of parent tile */ - int parentY; /**< Y coordinate of parent tile */ - bool walkable; /**< Can beings walk on this tile */ + int Fcost; /**< Estimation of total path cost */ + int Gcost; /**< Cost from start to this location */ + int Hcost; /**< Estimated cost to goal */ + int whichList; /**< No list, open list or closed list */ + int parentX; /**< X coordinate of parent tile */ + int parentY; /**< Y coordinate of parent tile */ + bool walkable; /**< Can beings walk on this tile */ +}; + +/** + * Animation cycle of a tile image which changes the map accordingly. + */ +class TileAnimation +{ + public: + TileAnimation(Animation *ani); + void update(); + void addAffectedTile(MapLayer *layer, int index) + { mAffected.push_back(std::make_pair(layer, index)); } + private: + std::list<std::pair<MapLayer*, int> > mAffected; + SimpleAnimation mAnimation; + int mLastUpdate; + Image* mLastImage; }; /** @@ -89,6 +107,11 @@ class MapLayer void setTile(int x, int y, Image *img); /** + * Set tile image with x + y * width already known. + */ + void setTile(int index, Image *img) { mTiles[index] = img; } + + /** * Get tile image, with x and y in layer coordinates. */ Image *getTile(int x, int y) const; @@ -204,8 +227,7 @@ class Map : public Properties /** * Find a path from one location to the next. */ - std::list<PATH_NODE> - findPath(int startX, int startY, int destX, int destY); + Path findPath(int startX, int startY, int destX, int destY); /** * Adds a sprite to the map. @@ -227,8 +249,18 @@ class Map : public Properties /** * Initializes all added particle effects */ - void - initializeParticleEffects(Particle* particleEngine); + void initializeParticleEffects(Particle* particleEngine); + + /** + * Adds a tile animation to the map + */ + void addAnimation(int gid, TileAnimation *animation) + { mTileAnimations[gid] = animation; } + + /** + * Gets the tile animation for a specific gid + */ + TileAnimation *getAnimationForGid(int gid); private: /** @@ -272,6 +304,8 @@ class Map : public Properties int y; }; std::list<ParticleEffectData> particleEffects; + + std::map<int, TileAnimation*> mTileAnimations; }; #endif diff --git a/src/net/beinghandler.cpp b/src/net/beinghandler.cpp index 9d91d988..c8d12499 100644 --- a/src/net/beinghandler.cpp +++ b/src/net/beinghandler.cpp @@ -141,7 +141,8 @@ void BeingHandler::handleMessage(MessageIn *msg) msg->readInt16(); // manner dstBeing->setStatusEffectBlock(32, msg->readInt16()); // opt3 msg->readInt8(); // karma - dstBeing->setGender(1 - msg->readInt8()); // gender + dstBeing->setGender( + (msg->readInt8() == 0) ? GENDER_FEMALE : GENDER_MALE); // Set these after the gender, as the sprites may be gender-specific dstBeing->setSprite(Being::BOTTOMCLOTHES_SPRITE, headBottom); @@ -420,7 +421,8 @@ void BeingHandler::handleMessage(MessageIn *msg) msg->readInt16(); // manner dstBeing->setStatusEffectBlock(32, msg->readInt16()); // opt3 msg->readInt8(); // karma - dstBeing->setGender(1 - msg->readInt8()); // gender + dstBeing->setGender( + (msg->readInt8() == 0) ? GENDER_FEMALE : GENDER_MALE); // Set these after the gender, as the sprites may be gender-specific dstBeing->setSprite(Being::WEAPON_SPRITE, weapon); diff --git a/src/net/charserverhandler.cpp b/src/net/charserverhandler.cpp index 249995ee..df3f5ecf 100644 --- a/src/net/charserverhandler.cpp +++ b/src/net/charserverhandler.cpp @@ -176,10 +176,11 @@ void CharServerHandler::handleMessage(MessageIn *msg) } } -LocalPlayer* CharServerHandler::readPlayerData(MessageIn &msg, int &slot) +LocalPlayer *CharServerHandler::readPlayerData(MessageIn &msg, int &slot) { LocalPlayer *tempPlayer = new LocalPlayer(mLoginData->account_ID, 0, NULL); - tempPlayer->setGender(1 - mLoginData->sex); + tempPlayer->setGender( + (mLoginData->sex == 0) ? GENDER_FEMALE : GENDER_MALE); tempPlayer->mCharId = msg.readInt32(); tempPlayer->setXp(msg.readInt32()); diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp index d8d7a807..48b10a1f 100644 --- a/src/openglgraphics.cpp +++ b/src/openglgraphics.cpp @@ -45,7 +45,8 @@ #include "resources/image.h" OpenGLGraphics::OpenGLGraphics(): - mAlpha(false), mTexture(false), mColorAlpha(false) + mAlpha(false), mTexture(false), mColorAlpha(false), + mSync(false) { } @@ -53,6 +54,11 @@ OpenGLGraphics::~OpenGLGraphics() { } +void OpenGLGraphics::setSync(bool sync) +{ + mSync = sync; +} + bool OpenGLGraphics::setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel) { logger->log("Setting video mode %dx%d %s", @@ -74,8 +80,10 @@ bool OpenGLGraphics::setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel) } #ifdef __APPLE__ -// long VBL = 1; -// CGLSetParameter(CGLGetCurrentContext(), kCGLCPSwapInterval, &VBL); + if (mSync) { + const GLint VBL = 1; + CGLSetParameter(CGLGetCurrentContext(), kCGLCPSwapInterval, &VBL); + } #endif // Setup OpenGL @@ -352,7 +360,7 @@ void OpenGLGraphics::setTexturingAndBlending(bool enable) void OpenGLGraphics::drawRectangle(const gcn::Rectangle& rect, bool filled) { - float offset = filled ? 0 : 0.5f; + const float offset = filled ? 0 : 0.5f; setTexturingAndBlending(false); diff --git a/src/openglgraphics.h b/src/openglgraphics.h index 7d39e306..ea30e019 100644 --- a/src/openglgraphics.h +++ b/src/openglgraphics.h @@ -31,6 +31,13 @@ class OpenGLGraphics : public Graphics ~OpenGLGraphics(); + /** + * Sets whether vertical refresh syncing is enabled. Takes effect after + * the next call to setVideoMode(). Only implemented on MacOS for now. + */ + void setSync(bool sync); + bool getSync() const { return mSync; } + bool setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel); bool drawImage(Image *image, @@ -72,6 +79,7 @@ class OpenGLGraphics : public Graphics private: bool mAlpha, mTexture; bool mColorAlpha; + bool mSync; }; #endif diff --git a/src/player.cpp b/src/player.cpp index f43e54d5..f81c039c 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -105,25 +105,17 @@ Player::flash(int time) } } -void Player::setGender(int gender) +void Player::setGender(Gender gender) { - // Players can only be male or female - if (gender > 1) - { - logger->log("Warning: unsupported gender %i, assuming male.", gender); - gender = 0; - } - - if (gender != mGender) { Being::setGender(gender); - setSprite(Being::BASE_SPRITE, -100); /* Human base sprite. When implementing - * different races remove this line - * and set the base sprite when setting - * the race of the player character. - */ + /* Human base sprite. When implementing different races remove this + * line and set the base sprite when setting the race of the player + * character. + */ + setSprite(Being::BASE_SPRITE, -100); // Reload all subsprites for (int i = 1; i < VECTOREND_SPRITE; i++) diff --git a/src/player.h b/src/player.h index 4676124c..268c77bb 100644 --- a/src/player.h +++ b/src/player.h @@ -53,7 +53,7 @@ class Player : public Being getType() const; virtual void - setGender(int gender); + setGender(Gender gender); /** * Sets the hair style and color for this player. diff --git a/src/gui/box.cpp b/src/position.cpp index 59d8c135..cc39a1af 100644 --- a/src/gui/box.cpp +++ b/src/position.cpp @@ -1,6 +1,6 @@ /* * The Mana World - * Copyright 2004 The Mana World Development Team + * Copyright 2007 The Mana World Development Team * * This file is part of The Mana World. * @@ -19,24 +19,27 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "box.h" +#include "position.h" -Box::Box(): - padding(0) +std::ostream& operator <<(std::ostream &os, const Position &p) { - setOpaque(false); + os << "(" << p.x << ", " << p.y << ")"; + return os; } -Box::~Box() +std::ostream& operator <<(std::ostream &os, const Path &path) { -} + Path::const_iterator i = path.begin(); -unsigned int Box::getPadding() -{ - return padding; -} + os << "("; + while (i != path.end()) + { + os << *i; + ++i; + if (i != path.end()) + os << ", "; + } + os << ")"; -void Box::setPadding(unsigned int p) -{ - padding = p; + return os; } diff --git a/src/gui/box.h b/src/position.h index 46654b48..7beb3ef7 100644 --- a/src/gui/box.h +++ b/src/position.h @@ -1,6 +1,6 @@ /* * The Mana World - * Copyright 2004 The Mana World Development Team + * Copyright 2008 The Mana World Development Team * * This file is part of The Mana World. * @@ -19,40 +19,40 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#ifndef TMW_POSITION_H +#define TMW_POSITION_H -#ifndef BOX_H -#define BOX_H +#include <list> +#include <iostream> -#include <guichan/widgets/container.hpp> - -#include "../guichanfwd.h" - -class Box : public gcn::Container +/** + * A position along a being's path. + */ +struct Position { - public: - /** - * Returns padding. - */ - unsigned int getPadding(); - - /** - * Sets padding between widgets. - */ - void setPadding(unsigned int); - - protected: - Box(); - virtual ~Box(); - - /** - * Spacing between client widgets. - */ - unsigned int padding; - - virtual void draw(gcn::Graphics *) = 0; - - typedef std::list<gcn::Widget*> Widgets; - typedef Widgets::iterator WidgetIterator; + /** + * Constructor. + */ + Position(int x, int y): + x(x), y(y) + { } + + int x; + int y; }; -#endif +typedef std::list<Position> Path; +typedef Path::iterator PathIterator; + +/** + * Appends a string representation of a position to the output stream. + */ +std::ostream& operator <<(std::ostream &os, const Position &p); + +/** + * Appends a string representation of a path (sequence of positions) to the + * output stream. + */ +std::ostream& operator <<(std::ostream &os, const Path &path); + +#endif // TMW_POSITION_H diff --git a/src/properties.h b/src/properties.h index 2eafeeca..a593e8c2 100644 --- a/src/properties.h +++ b/src/properties.h @@ -35,8 +35,7 @@ class Properties /** * Destructor. */ - virtual - ~Properties() {} + virtual ~Properties() {} /** * Get a map property. @@ -46,8 +45,8 @@ class Properties * @return the value of the given property or the given default when it * doesn't exist. */ - const std::string& - getProperty(const std::string &name, const std::string &def = "") const + const std::string &getProperty(const std::string &name, + const std::string &def = "") const { PropertyMap::const_iterator i = mProperties.find(name); return (i != mProperties.end()) ? i->second : def; @@ -61,7 +60,7 @@ class Properties * @return the value of the given property, or 0.0f when it doesn't * exist. */ - float getFloatProperty(std::string const &name, float def = 0.0f) const + float getFloatProperty(const std::string &name, float def = 0.0f) const { PropertyMap::const_iterator i = mProperties.find(name); float ret = def; @@ -81,8 +80,7 @@ class Properties * @return <code>true</code> when a property is defined, * <code>false</code> otherwise. */ - bool - hasProperty(const std::string &name) const + bool hasProperty(const std::string &name) const { return (mProperties.find(name) != mProperties.end()); } @@ -93,8 +91,7 @@ class Properties * @param name The name of the property. * @param value The value of the property. */ - void - setProperty(const std::string &name, const std::string &value) + void setProperty(const std::string &name, const std::string &value) { mProperties[name] = value; } diff --git a/src/resources/dye.cpp b/src/resources/dye.cpp index 3be105d8..d180d725 100644 --- a/src/resources/dye.cpp +++ b/src/resources/dye.cpp @@ -26,7 +26,7 @@ #include "../log.h" -Palette::Palette(std::string const &description) +Palette::Palette(const std::string &description) { int size = description.length(); if (size == 0) return; @@ -109,7 +109,7 @@ void Palette::getColor(int intensity, int color[3]) const color[2] = ((255 - t) * b1 + t * b2) / 255; } -Dye::Dye(std::string const &description) +Dye::Dye(const std::string &description) { for (int i = 0; i < 7; ++i) mPalettes[i] = 0; @@ -175,7 +175,7 @@ void Dye::update(int color[3]) const mPalettes[i - 1]->getColor(cmax, color); } -void Dye::instantiate(std::string &target, std::string const &palettes) +void Dye::instantiate(std::string &target, const std::string &palettes) { std::string::size_type next_pos = target.find('|'); if (next_pos == std::string::npos || palettes.empty()) return; diff --git a/src/resources/dye.h b/src/resources/dye.h index 528a1d91..f0bd7aab 100644 --- a/src/resources/dye.h +++ b/src/resources/dye.h @@ -36,7 +36,7 @@ class Palette * The string is either a file name or a sequence of hexadecimal RGB * values separated by ',' and starting with '#'. */ - Palette(std::string const &); + Palette(const std::string &); /** * Gets a pixel color depending on its intensity. @@ -63,7 +63,7 @@ class Dye * The parts of string are separated by semi-colons. Each part starts * by an uppercase letter, followed by a colon and then a palette name. */ - Dye(std::string const &); + Dye(const std::string &); /** * Destroys the associated palettes. @@ -79,7 +79,7 @@ class Dye * Fills the blank in a dye placeholder with some palette names. */ static void instantiate(std::string &target, - std::string const &palettes); + const std::string &palettes); private: diff --git a/src/resources/imageloader.cpp b/src/resources/imageloader.cpp index 29458ba3..835ba100 100644 --- a/src/resources/imageloader.cpp +++ b/src/resources/imageloader.cpp @@ -88,7 +88,7 @@ void ProxyImage::convertToDisplayFormat() mSDLImage = NULL; } -gcn::Image *ImageLoader::load(std::string const &filename, bool convert) +gcn::Image *ImageLoader::load(const std::string &filename, bool convert) { ResourceManager *resman = ResourceManager::getInstance(); ProxyImage *i = new ProxyImage(resman->loadSDLSurface(filename)); diff --git a/src/resources/imageloader.h b/src/resources/imageloader.h index 7979fd2f..821a0254 100644 --- a/src/resources/imageloader.h +++ b/src/resources/imageloader.h @@ -61,7 +61,8 @@ class ProxyImage : public gcn::Image class ImageLoader : public gcn::ImageLoader { public: - gcn::Image *load(std::string const &filename, bool convertToDisplayFormat); + gcn::Image *load(const std::string &filename, + bool convertToDisplayFormat); }; #endif diff --git a/src/resources/itemdb.cpp b/src/resources/itemdb.cpp index c05d4604..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 @@ -53,8 +54,8 @@ void ItemDB::load() mUnknown = new ItemInfo(); mUnknown->setName("Unknown item"); mUnknown->setImageName(""); - mUnknown->setSprite("error.xml", 0); - mUnknown->setSprite("error.xml", 1); + mUnknown->setSprite("error.xml", GENDER_MALE); + mUnknown->setSprite("error.xml", GENDER_FEMALE); XML::Document doc("items.xml"); xmlNodePtr rootNode = doc.rootNode(); @@ -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); @@ -172,12 +173,12 @@ void loadSpriteRef(ItemInfo *itemInfo, xmlNodePtr node) if (gender == "male" || gender == "unisex") { - itemInfo->setSprite(filename, 0); + itemInfo->setSprite(filename, GENDER_MALE); } if (gender == "female" || gender == "unisex") { - itemInfo->setSprite(filename, 1); + itemInfo->setSprite(filename, GENDER_FEMALE); } } diff --git a/src/resources/iteminfo.cpp b/src/resources/iteminfo.cpp index fb2c8ffe..201b8ca9 100644 --- a/src/resources/iteminfo.cpp +++ b/src/resources/iteminfo.cpp @@ -24,7 +24,7 @@ #include "itemdb.h" const std::string& -ItemInfo::getSprite(int gender) const +ItemInfo::getSprite(Gender gender) const { if (mView) { diff --git a/src/resources/iteminfo.h b/src/resources/iteminfo.h index 4678bc08..b7729d2c 100644 --- a/src/resources/iteminfo.h +++ b/src/resources/iteminfo.h @@ -28,6 +28,8 @@ #include "spritedef.h" +#include "../being.h" + enum EquipmentSoundEvent { EQUIP_EVENT_STRIKE, @@ -91,10 +93,10 @@ class ItemInfo void setView(int view) { mView = view; } - void setSprite(const std::string &animationFile, int gender) + void setSprite(const std::string &animationFile, Gender gender) { mAnimationFiles[gender] = animationFile; } - const std::string& getSprite(int gender) const; + const std::string& getSprite(Gender gender) const; void setWeaponType(int); diff --git a/src/resources/mapreader.cpp b/src/resources/mapreader.cpp index 835e52b3..4e116889 100644 --- a/src/resources/mapreader.cpp +++ b/src/resources/mapreader.cpp @@ -304,7 +304,8 @@ void MapReader::readProperties(xmlNodePtr node, Properties *props) static void setTile(Map *map, MapLayer *layer, int x, int y, int gid) { const Tileset * const set = map->getTilesetWithGid(gid); - if (layer) { + if (layer) + { // Set regular tile on a layer Image * const img = set ? set->get(gid - set->getFirstGid()) : 0; layer->setTile(x, y, img); @@ -407,6 +408,12 @@ void MapReader::readLayer(xmlNodePtr node, Map *map) setTile(map, layer, x, y, gid); + TileAnimation* ani = map->getAnimationForGid(gid); + if (ani) + { + ani->addAffectedTile(layer, x + y * w); + } + x++; if (x == w) { x = 0; y++; @@ -452,10 +459,12 @@ Tileset *MapReader::readTileset(xmlNodePtr node, const std::string &path, Map *map) { + Tileset *set = NULL; + if (xmlHasProp(node, BAD_CAST "source")) { logger->log("Warning: External tilesets not supported yet."); - return NULL; + return set; } const int firstGid = XML::getProperty(node, "firstgid", 0); @@ -464,34 +473,69 @@ Tileset *MapReader::readTileset(xmlNodePtr node, for_each_xml_child_node(childNode, node) { - if (!xmlStrEqual(childNode->name, BAD_CAST "image")) - continue; + if (xmlStrEqual(childNode->name, BAD_CAST "image")) + { + const std::string source = XML::getProperty(childNode, "source", ""); - const std::string source = XML::getProperty(childNode, "source", ""); + if (!source.empty()) + { + std::string sourceStr = source; + sourceStr.erase(0, 3); // Remove "../" + + ResourceManager *resman = ResourceManager::getInstance(); + Image* tilebmp = resman->getImage(sourceStr); - if (!source.empty()) + if (tilebmp) + { + set = new Tileset(tilebmp, tw, th, firstGid); + tilebmp->decRef(); + } + else { + logger->log("Warning: Failed to load tileset (%s)", + source.c_str()); + } + } + } + else if (xmlStrEqual(childNode->name, BAD_CAST "tile")) { - std::string sourceStr = source; - sourceStr.erase(0, 3); // Remove "../" + for_each_xml_child_node(tileNode, childNode) + { + if (!xmlStrEqual(tileNode->name, BAD_CAST "properties")) continue; - ResourceManager *resman = ResourceManager::getInstance(); - Image* tilebmp = resman->getImage(sourceStr); + int tileGID = firstGid + XML::getProperty(childNode, "id", 0); - if (tilebmp) - { - Tileset *set = new Tileset(tilebmp, tw, th, firstGid); - tilebmp->decRef(); - return set; - } - else { - logger->log("Warning: Failed to load tileset (%s)", - source.c_str()); + // read tile properties to a map for simpler handling + std::map<std::string, int> tileProperties; + for_each_xml_child_node(propertyNode, tileNode) + { + if (!xmlStrEqual(propertyNode->name, BAD_CAST "property")) continue; + std::string name = XML::getProperty(propertyNode, "name", ""); + int value = XML::getProperty(propertyNode, "value", 0); + tileProperties[name] = value; + logger->log("Tile Prop of %d \"%s\" = \"%d\"", tileGID, name.c_str(), value); + } + + // create animation + if (!set) continue; + + Animation *ani = new Animation(); + for (int i = 0; ;i++) + { + std::map<std::string, int>::iterator iFrame, iDelay; + iFrame = tileProperties.find("animation-frame" + toString(i)); + iDelay = tileProperties.find("animation-delay" + toString(i)); + if (iFrame != tileProperties.end() && iDelay != tileProperties.end()) + { + ani->addFrame(set->get(iFrame->second), iDelay->second, 0, 0); + } else { + break; + } + } + map->addAnimation(tileGID, new TileAnimation(ani)); + logger->log("Animation length: %d", ani->getLength()); } } - - // Only one image element expected - break; } - return NULL; + return set; } diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp index a1965d57..3d42d92e 100644 --- a/src/resources/resourcemanager.cpp +++ b/src/resources/resourcemanager.cpp @@ -215,7 +215,7 @@ std::string ResourceManager::getPath(const std::string &file) return path; } -Resource *ResourceManager::get(std::string const &idPath, generator fun, +Resource *ResourceManager::get(const std::string &idPath, generator fun, void *data) { // Check if the id exists, and return the value if it does. @@ -267,7 +267,7 @@ struct ResourceLoader } }; -Resource *ResourceManager::load(std::string const &path, loader fun) +Resource *ResourceManager::load(const std::string &path, loader fun) { ResourceLoader l = { this, path, fun }; return get(path, ResourceLoader::load, &l); @@ -309,7 +309,7 @@ struct DyedImageLoader } }; -Image *ResourceManager::getImage(std::string const &idPath) +Image *ResourceManager::getImage(const std::string &idPath) { DyedImageLoader l = { this, idPath }; return static_cast<Image*>(get(idPath, DyedImageLoader::load, &l)); @@ -351,8 +351,7 @@ struct SpriteDefLoader } }; -SpriteDef *ResourceManager::getSprite - (std::string const &path, int variant) +SpriteDef *ResourceManager::getSprite(const std::string &path, int variant) { SpriteDefLoader l = { path, variant }; std::stringstream ss; @@ -381,7 +380,8 @@ void ResourceManager::release(Resource *res) ResourceManager *ResourceManager::getInstance() { // Create a new instance if necessary. - if (instance == NULL) instance = new ResourceManager(); + if (!instance) + instance = new ResourceManager(); return instance; } diff --git a/src/resources/resourcemanager.h b/src/resources/resourcemanager.h index c1007f4a..e70dfb9d 100644 --- a/src/resources/resourcemanager.h +++ b/src/resources/resourcemanager.h @@ -98,7 +98,8 @@ class ResourceManager bool isDirectory(const std::string &path); /** - * Returns the real path to a file + * Returns the real path to a file. Note that this method will always + * return a path, it does not check whether the file exists. * * @param file The file to get the real path to. * @return The real path. @@ -114,7 +115,7 @@ class ResourceManager * @return A valid resource or <code>NULL</code> if the resource could * not be generated. */ - Resource *get(std::string const &idPath, generator fun, void *data); + Resource *get(const std::string &idPath, generator fun, void *data); /** * Loads a resource from a file and adds it to the resource map. @@ -124,7 +125,7 @@ class ResourceManager * @return A valid resource or <code>NULL</code> if the resource could * not be loaded. */ - Resource *load(std::string const &path, loader fun); + Resource *load(const std::string &path, loader fun); /** * Convenience wrapper around ResourceManager::get for loading @@ -154,7 +155,7 @@ class ResourceManager * Creates a sprite definition based on a given path and the supplied * variant. */ - SpriteDef *getSprite(std::string const &path, int variant = 0); + SpriteDef *getSprite(const std::string &path, int variant = 0); /** * Releases a resource, placing it in the set of orphaned resources. diff --git a/src/resources/spritedef.cpp b/src/resources/spritedef.cpp index 3eb1d92b..28db0452 100644 --- a/src/resources/spritedef.cpp +++ b/src/resources/spritedef.cpp @@ -46,7 +46,7 @@ Action *SpriteDef::getAction(SpriteAction action) const return i->second; } -SpriteDef *SpriteDef::load(std::string const &animationFile, int variant) +SpriteDef *SpriteDef::load(const std::string &animationFile, int variant) { std::string::size_type pos = animationFile.find('|'); std::string palettes; @@ -121,7 +121,7 @@ void SpriteDef::loadSprite(xmlNodePtr spriteNode, int variant, } } -void SpriteDef::loadImageSet(xmlNodePtr node, std::string const &palettes) +void SpriteDef::loadImageSet(xmlNodePtr node, const std::string &palettes) { const std::string name = XML::getProperty(node, "name", ""); @@ -146,8 +146,7 @@ void SpriteDef::loadImageSet(xmlNodePtr node, std::string const &palettes) mImageSets[name] = imageSet; } -void -SpriteDef::loadAction(xmlNodePtr node, int variant_offset) +void SpriteDef::loadAction(xmlNodePtr node, int variant_offset) { const std::string actionName = XML::getProperty(node, "name", ""); const std::string imageSetName = XML::getProperty(node, "imageset", ""); @@ -187,10 +186,9 @@ SpriteDef::loadAction(xmlNodePtr node, int variant_offset) } } -void -SpriteDef::loadAnimation(xmlNodePtr animationNode, - Action *action, ImageSet *imageSet, - int variant_offset) +void SpriteDef::loadAnimation(xmlNodePtr animationNode, + Action *action, ImageSet *imageSet, + int variant_offset) { const std::string directionName = XML::getProperty(animationNode, "direction", ""); @@ -267,8 +265,7 @@ SpriteDef::loadAnimation(xmlNodePtr animationNode, } // for frameNode } -void -SpriteDef::includeSprite(xmlNodePtr includeNode) +void SpriteDef::includeSprite(xmlNodePtr includeNode) { // TODO: Perform circular dependency check, since it's easy to crash the // client this way. @@ -289,8 +286,7 @@ SpriteDef::includeSprite(xmlNodePtr includeNode) loadSprite(rootNode, 0); } -void -SpriteDef::substituteAction(SpriteAction complete, SpriteAction with) +void SpriteDef::substituteAction(SpriteAction complete, SpriteAction with) { if (mActions.find(complete) == mActions.end()) { @@ -324,8 +320,7 @@ SpriteDef::~SpriteDef() } } -SpriteAction -SpriteDef::makeSpriteAction(const std::string& action) +SpriteAction SpriteDef::makeSpriteAction(const std::string &action) { if (action == "" || action == "default") { return ACTION_DEFAULT; @@ -377,8 +372,7 @@ SpriteDef::makeSpriteAction(const std::string& action) } } -SpriteDirection -SpriteDef::makeSpriteDirection(const std::string& direction) +SpriteDirection SpriteDef::makeSpriteDirection(const std::string& direction) { if (direction == "" || direction == "default") { return DIRECTION_DEFAULT; @@ -397,5 +391,5 @@ SpriteDef::makeSpriteDirection(const std::string& direction) } else { return DIRECTION_INVALID; - }; + } } diff --git a/src/resources/spritedef.h b/src/resources/spritedef.h index 88f9b7b7..49a4ca51 100644 --- a/src/resources/spritedef.h +++ b/src/resources/spritedef.h @@ -71,7 +71,7 @@ class SpriteDef : public Resource /** * Loads a sprite definition file. */ - static SpriteDef *load(std::string const &file, int variant); + static SpriteDef *load(const std::string &file, int variant); /** * Returns the specified action. @@ -81,8 +81,7 @@ class SpriteDef : public Resource /** * Converts a string into a SpriteAction enum. */ - static SpriteAction - makeSpriteAction(const std::string &action); + static SpriteAction makeSpriteAction(const std::string &action); /** * Converts a string into a SpriteDirection enum. @@ -111,27 +110,24 @@ class SpriteDef : public Resource /** * Loads an imageset element. */ - void loadImageSet(xmlNodePtr node, std::string const &palettes); + void loadImageSet(xmlNodePtr node, const std::string &palettes); /** * Loads an action element. */ - void - loadAction(xmlNodePtr node, int variant_offset); + void loadAction(xmlNodePtr node, int variant_offset); /** * Loads an animation element. */ - void - loadAnimation(xmlNodePtr animationNode, - Action *action, ImageSet *imageSet, - int variant_offset); + void loadAnimation(xmlNodePtr animationNode, + Action *action, ImageSet *imageSet, + int variant_offset); /** * Include another sprite into this one. */ - void - includeSprite(xmlNodePtr includeNode); + void includeSprite(xmlNodePtr includeNode); /** * Complete missing actions by copying existing ones. @@ -142,8 +138,7 @@ class SpriteDef : public Resource * When there are no animations defined for the action "complete", its * animations become a copy of those of the action "with". */ - void - substituteAction(SpriteAction complete, SpriteAction with); + void substituteAction(SpriteAction complete, SpriteAction with); typedef std::map<std::string, ImageSet*> ImageSets; diff --git a/src/gui/hbox.h b/src/utils/gettext.h index 4b241383..0cd9114b 100644 --- a/src/gui/hbox.h +++ b/src/utils/gettext.h @@ -1,6 +1,6 @@ /* * The Mana World - * Copyright 2004 The Mana World Development Team + * Copyright 2007 The Mana World Development Team * * This file is part of The Mana World. * @@ -19,15 +19,26 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef HBOX_H -#define HBOX_H +#ifndef _TMW_UTILS_GETTEXT_H +#define _TMW_UTILS_GETTEXT_H -#include "box.h" +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#if ENABLE_NLS + +#include <libintl.h> + +#define _(s) ((char const *)gettext(s)) +#define N_(s) ((char const *)s) -class HBox : public Box -{ - public: - void draw(gcn::Graphics *); -}; +#else + +#define gettext(s) ((char const *)s) +#define _(s) ((char const *)s) +#define N_(s) ((char const *)s) + +#endif #endif diff --git a/src/gui/vbox.h b/src/vector.cpp index 2072ab24..7d5f055a 100644 --- a/src/gui/vbox.h +++ b/src/vector.cpp @@ -1,6 +1,6 @@ /* * The Mana World - * Copyright 2004 The Mana World Development Team + * Copyright 2007 The Mana World Development Team * * This file is part of The Mana World. * @@ -19,15 +19,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef VBOX_H -#define VBOX_H +#include "vector.h" -#include "box.h" - -class VBox : public Box +std::ostream& operator <<(std::ostream &os, const Vector &v) { - public: - void draw(gcn::Graphics *); -}; - -#endif + os << "Vector(" << v.x << ", " << v.y << ", " << v.z << ")"; + return os; +} diff --git a/src/vector.h b/src/vector.h index b19f6c64..f32b201a 100644 --- a/src/vector.h +++ b/src/vector.h @@ -22,6 +22,10 @@ #ifndef _TMW_VECTOR_H_ #define _TMW_VECTOR_H_ +#include <math.h> + +#include <iostream> + /** * Vector class. Represents either a 3D point in space, a velocity or a force. * Provides several convenient operator overloads. @@ -41,7 +45,7 @@ class Vector /** * Constructor. */ - Vector(float x, float y, float z): + Vector(float x, float y, float z = 0.0f): x(x), y(y), z(z) @@ -69,11 +73,12 @@ class Vector /** * In-place scale vector operator. */ - void operator*=(float c) + Vector &operator*=(float c) { x *= c; y *= c; z *= c; + return *this; } /** @@ -87,6 +92,17 @@ class Vector } /** + * In-place scale vector operator. + */ + Vector &operator/=(float c) + { + x /= c; + y /= c; + z /= c; + return *this; + } + + /** * Add vector operator. */ Vector operator+(const Vector &v) const @@ -99,11 +115,12 @@ class Vector /** * In-place add vector operator. */ - void operator+=(const Vector &v) + Vector &operator+=(const Vector &v) { x += v.x; y += v.y; z += v.z; + return *this; } /** @@ -119,14 +136,55 @@ class Vector /** * In-place substract vector operator. */ - void operator-=(const Vector &v) + Vector &operator-=(const Vector &v) { x -= v.x; y -= v.y; z -= v.z; + return *this; + } + + /** + * Returns the length of this vector. This method does a relatively + * slow square root. + */ + float length() const + { + return sqrtf(x * x + y * y + z * z); + } + + /** + * Returns the squared length of this vector. Avoids the square root. + */ + float squaredLength() const + { + return x * x + y * y + z * z; + } + + /** + * Returns the manhattan length of this vector. + */ + float manhattanLength() const + { + return fabsf(x) + fabsf(y) + fabsf(z); + } + + /** + * Returns a normalized version of this vector. This is a unit vector + * running parallel to it. + */ + Vector normalized() const + { + const float l = length(); + return Vector(x / l, y / l, z / l); } float x, y, z; }; -#endif +/** + * Appends a string representation of a vector to the output stream. + */ +std::ostream& operator <<(std::ostream &os, const Vector &v); + +#endif // _TMW_VECTOR_H_ @@ -10,6 +10,7 @@ <Option output="tmw.exe" prefix_auto="0" extension_auto="0" /> <Option type="0" /> <Option compiler="gcc" /> + <Option parameters='-u -d "D:/tmw/data"' /> <Option projectResourceIncludeDirsRelation="0" /> <Compiler> <Add option="-Wall" /> @@ -99,8 +100,6 @@ <Unit filename="src\game.h" /> <Unit filename="src\graphics.cpp" /> <Unit filename="src\graphics.h" /> - <Unit filename="src\gui\box.cpp" /> - <Unit filename="src\gui\box.h" /> <Unit filename="src\gui\browserbox.cpp" /> <Unit filename="src\gui\browserbox.h" /> <Unit filename="src\gui\buddywindow.cpp" /> @@ -135,8 +134,6 @@ <Unit filename="src\gui\gccontainer.h" /> <Unit filename="src\gui\gui.cpp" /> <Unit filename="src\gui\gui.h" /> - <Unit filename="src\gui\hbox.cpp" /> - <Unit filename="src\gui\hbox.h" /> <Unit filename="src\gui\help.cpp" /> <Unit filename="src\gui\help.h" /> <Unit filename="src\gui\inttextbox.cpp" /> @@ -182,6 +179,8 @@ <Unit filename="src\gui\register.h" /> <Unit filename="src\gui\scrollarea.cpp" /> <Unit filename="src\gui\scrollarea.h" /> + <Unit filename="src\gui\sdlinput.cpp" /> + <Unit filename="src\gui\sdlinput.h" /> <Unit filename="src\gui\selectionlistener.h" /> <Unit filename="src\gui\sell.cpp" /> <Unit filename="src\gui\sell.h" /> @@ -224,10 +223,10 @@ <Unit filename="src\gui\truetypefont.h" /> <Unit filename="src\gui\updatewindow.cpp" /> <Unit filename="src\gui\updatewindow.h" /> - <Unit filename="src\gui\vbox.cpp" /> - <Unit filename="src\gui\vbox.h" /> <Unit filename="src\gui\viewport.cpp" /> <Unit filename="src\gui\viewport.h" /> + <Unit filename="src\gui\widgets\layout.cpp" /> + <Unit filename="src\gui\widgets\layout.h" /> <Unit filename="src\gui\widgets\resizegrip.cpp" /> <Unit filename="src\gui\widgets\resizegrip.h" /> <Unit filename="src\gui\window.cpp" /> diff --git a/tools/adler32.c b/tools/adler32.c index 4e851713..5dd7e4c1 100644 --- a/tools/adler32.c +++ b/tools/adler32.c @@ -7,6 +7,7 @@ * Usage: adler32 [file]... */ +#include <stdlib.h> #include <stdio.h> #include <zlib.h> diff --git a/tools/tmxcopy/main.cpp b/tools/tmxcopy/main.cpp index 92a69c54..f50c0af4 100644 --- a/tools/tmxcopy/main.cpp +++ b/tools/tmxcopy/main.cpp @@ -28,7 +28,7 @@ int main(int argc, char * argv[] ) // parsing command line options if (argc < 9 || argc > 10) { - std::cerr<<"Usage: srcFile x y width height tgtFile x y [outfile]"; + std::cerr<<"Usage: srcFile x y width height tgtFile x y [outfile]\n"; return -1; } diff --git a/tools/tmxcopy/map.cpp b/tools/tmxcopy/map.cpp index b554aac2..82fe0f8f 100644 --- a/tools/tmxcopy/map.cpp +++ b/tools/tmxcopy/map.cpp @@ -23,6 +23,7 @@ #include <map> #include <list> +#include <string.h> #include <zlib.h> #include "xmlutils.h" diff --git a/tools/upalyzer/analyze.php b/tools/upalyzer/analyze.php index 106fcbb5..43057af1 100644 --- a/tools/upalyzer/analyze.php +++ b/tools/upalyzer/analyze.php @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ header("Content-type: text/html"); -header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); @@ -31,6 +31,8 @@ header("Pragma: no-cache"); List of current updates: <?php +$download_url_base = 'http://updates.themanaworld.org/tmwdata/'; +$checkout_path = '/home/eathena/public_html/updates/tmwdata/'; $update_file = array_filter(array_reverse(file('resources2.txt'))); $updates = array(); $update_file_maxlen = 0; @@ -62,16 +64,20 @@ foreach ($update_file as $update_line) $update['uncompressed_size'] += zip_entry_filesize($zip_entry); $entry_name = zip_entry_name($zip_entry); $entry_size = zip_entry_compressedsize($zip_entry); + $entry_exists = file_exists($checkout_path . $entry_name); $entry_used = !array_key_exists($entry_name, $update_entries); $entries[$entry_name] = array( 'name' => $entry_name, 'size' => $entry_size, - 'used' => $entry_used); + 'used' => $entry_used, + 'obsolete' => !$entry_exists); $update['size'] += $entry_size; if ($entry_used) { - $update['used_entry_count']++; - $update['used_size'] += $entry_size; + if ($entry_exists) { + $update['used_entry_count']++; + $update['used_size'] += $entry_size; + } $update_entries[$entry_name] = $update; } @@ -107,7 +113,7 @@ function print_update_name($update, $pad = true) foreach (array_reverse($updates) as $update) { print_update_name($update); - echo ' '. $update['adler32']; + printf(" %8s", $update['adler32']); printf(" %4d kb", $update['filesize'] / 1024); if (!$update['zip_error']) { printf(" %4d kb", $update['uncompressed_size'] / 1024); @@ -140,8 +146,14 @@ ksort($update_entries); foreach ($update_entries as $entry => $update) { - printf("%-{$update_entry_maxlen}s ", $entry); - print_update_name($update, false); + $exists = file_exists($checkout_path . $entry); + printf("<span style=\"color: %s;\">%-{$update_entry_maxlen}s</span> ", + $exists ? "black" : "rgb(100,100,100)", + $entry); + print_update_name($update, true); + + if ($exists && substr($entry, strlen($entry) - 1) != '/') + printf(' <a href="%s%s">download</a>', $download_url_base, $entry); echo "\n"; } @@ -153,10 +165,13 @@ foreach (array_reverse($updates) as $update) print "\n<a name=\"".$update['file']."\"/><b>".$update['file']."</b>\n"; foreach ($update['entries'] as $entry_name => $entry) { - printf("%-{$update_entry_maxlen}s", $entry_name); - if ($entry['used']) { + printf("%s%-{$update_entry_maxlen}s%s", + $entry['obsolete'] ? "<span style=\"color: rgb(100,100,100);\">" : "", + $entry_name, + $entry['obsolete'] ? "</span>" : ""); + if ($entry['used'] && !$entry['obsolete']) { echo ' *'; - } else { + } elseif (!$entry['obsolete']) { echo ' '; print_update_name($update_entries[$entry_name], false); } |