From cd055ee218c73af4bb5eab8b0c30979370bfa432 Mon Sep 17 00:00:00 2001 From: driAn Date: Sun, 16 Aug 2009 13:20:50 +0000 Subject: [PATCH] added bash scripts for localization git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@4636 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/locale/AC.pot | 429 ++++++++++++++++++++++++- source/locale/README.txt | 41 ++- source/locale/de/LC_MESSAGES/AC.mo | Bin 693 -> 694 bytes source/locale/de/LC_MESSAGES/AC.po | 463 +++++++++++++++++++++++++-- source/locale/de_compile_mo.sh | 3 + source/locale/de_init_po.sh | 2 + source/locale/de_update_po.sh | 2 + source/locale/update_pot_template.sh | 7 + 8 files changed, 906 insertions(+), 41 deletions(-) create mode 100755 source/locale/de_compile_mo.sh create mode 100755 source/locale/de_init_po.sh create mode 100755 source/locale/de_update_po.sh create mode 100755 source/locale/update_pot_template.sh diff --git a/source/locale/AC.pot b/source/locale/AC.pot index 20677540..81a33309 100644 --- a/source/locale/AC.pot +++ b/source/locale/AC.pot @@ -6,24 +6,406 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: AC\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-12 23:55+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2009-08-16 13:25+0200\n" +"PO-Revision-Date: 2009-08-16 13:25+0200\n" +"Last-Translator: test \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: i18n.cpp:14 -msgid "hello world\n" +#: client.cpp:20 +msgid "operation not available in multiplayer" msgstr "" -#: main.cpp:650 +#: client.cpp:27 +msgid "editing in multiplayer requires coopedit mode (1)" +msgstr "" + +#: client.cpp:70 client.cpp:205 +msgid "aborting connection attempt" +msgstr "" + +#: client.cpp:85 +#, c-format +msgid "attempting to connect to %s%c%s" +msgstr "" + +#: client.cpp:88 +#, c-format +msgid "\f3could not resolve server %s" +msgstr "" + +#: client.cpp:96 +msgid "attempting to connect over LAN" +msgstr "" + +#: client.cpp:112 client.cpp:514 client.cpp:550 +msgid "\f3could not connect to server" +msgstr "" + +#: client.cpp:175 +msgid "disconnected" +msgstr "" + +#: client.cpp:211 +msgid "not connected" +msgstr "" + +#: client.cpp:214 client.cpp:537 +msgid "attempting to disconnect..." +msgstr "" + +#: client.cpp:509 +msgid "attempting to connect..." +msgstr "" + +#: client.cpp:527 +msgid "connected to server" +msgstr "" + +#: client.cpp:555 +#, c-format +msgid "\f3server network error, disconnecting (%s) ..." +msgstr "" + +#: client.cpp:577 +#, c-format +msgid "\f3map %s is secured, you can not send, receive or overwrite it" +msgstr "" + +#: client.cpp:606 +#, c-format +msgid "map %s is too large to send" +msgstr "" + +#: client.cpp:622 +#, c-format +msgid "sending map %s to server..." +msgstr "" + +#: client.cpp:627 +msgid "requesting map from server..." +msgstr "" + +#: client.cpp:644 +msgid "getting demo..." +msgstr "" + +#: client.cpp:645 +#, c-format +msgid "getting demo %d..." +msgstr "" + +#: client.cpp:651 +msgid "listing demos..." +msgstr "" + +#: clientgame.cpp:122 +#, c-format +msgid "ignored players: %s" +msgstr "" + +#: clientgame.cpp:123 +msgid "no players ignored." +msgstr "" + +#: clientgame.cpp:143 +#, c-format +msgid "muted players: %s" +msgstr "" + +#: clientgame.cpp:144 +msgid "no players muted." +msgstr "" + +#: clientgame.cpp:169 +#, c-format +msgid "your name is: %s" +msgstr "" + +#: clientgame.cpp:170 +msgid "curname" +msgstr "" + +#: clientgame.cpp:187 +#, c-format +msgid "\f3\"%s\" is not a valid team name (try CLA, RVSF or SPECTATOR)" +msgstr "" + +#: clientgame.cpp:188 +msgid "you need to be dead to become spectator" +msgstr "" + +#: clientgame.cpp:191 +#, c-format +msgid "your team is: %s" +msgstr "" + +#: clientgame.cpp:692 +msgid "intermission:" +msgstr "" + +#: clientgame.cpp:693 +msgid "game has ended!" +msgstr "" + +#: clientgame.cpp:700 +#, c-format +msgid "time remaining: %d minutes" +msgstr "" + +#: clientgame.cpp:771 +#, c-format +msgid "\f3invalid ctf-flag entity (%i)" +msgstr "" + +#: clientgame.cpp:842 +#, c-format +msgid "game mode is \"%s\"%s" +msgstr "" + +#: clientgame.cpp:847 +#, c-format +msgid "\f1%s" +msgstr "" + +#: clientgame.cpp:1049 +msgid "\f3invalid vote" +msgstr "" + +#: clientgame.cpp:1070 +msgid "\f3you voted already" +msgstr "" + +#: clientgame.cpp:1089 +#, c-format +msgid "%s called a vote: %s" +msgstr "" + +#: clientgame.cpp:1105 +#, c-format +msgid "\f3could not vote: %s" +msgstr "" + +#: clientgame.cpp:1116 +msgid "failed" +msgstr "" + +#: clientgame.cpp:1116 +msgid "passed" +msgstr "" + +#: clientgame.cpp:1116 +#, c-format +msgid "vote %s" +msgstr "" + +#: clients2c.cpp:41 +#, c-format +msgid "\f3demo was recorded on map revision %d, you have map revision %d" +msgstr "" + +#: clients2c.cpp:61 +msgid "\"getmap\" to download the current map from the server" +msgstr "" + +#: clients2c.cpp:62 +#, c-format +msgid "\"getmap\" to download a %s version of the current map from the server" +msgstr "" + +#: clients2c.cpp:63 +msgid "different" +msgstr "" + +#: clients2c.cpp:63 +msgid "newer" +msgstr "" + +#: clients2c.cpp:63 +msgid "older" +msgstr "" + +#: clients2c.cpp:244 +#, c-format +msgid "\f3you are using a different game protocol (you: %d, server: %d)" +msgstr "" + +#: clients2c.cpp:250 +msgid "INFO: this server is password protected" +msgstr "" + +#: clients2c.cpp:358 +#, c-format +msgid "%s is now known as %s" +msgstr "" + +#: clients2c.cpp:363 +#, c-format +msgid "connected: %s" +msgstr "" + +#: clients2c.cpp:382 +#, c-format +msgid "player %s disconnected" +msgstr "" + +#: clients2c.cpp:433 +msgid "new round starting... fight!" +msgstr "" + +#: clients2c.cpp:497 +#, c-format +msgid "bad scope-message for %s" +msgstr "" + +#: clients2c.cpp:634 +#, c-format +msgid "%s enlarged the map to size %d" +msgstr "" + +#: clients2c.cpp:634 +#, c-format +msgid "%s started a new map of size %d" +msgstr "" + +#: clients2c.cpp:741 +msgid "the round is over! next round in 5 seconds..." +msgstr "" + +#: clients2c.cpp:742 +msgid "the bots have won the round!" +msgstr "" + +#: clients2c.cpp:743 +msgid "everyone died!" +msgstr "" + +#: clients2c.cpp:744 +#, c-format +msgid "team %s has won the round!" +msgstr "" + +#: clients2c.cpp:745 +msgid "you are the survivor!" +msgstr "" + +#: clients2c.cpp:746 +#, c-format +msgid "%s is the survivor!" +msgstr "" + +#: clients2c.cpp:802 +#, c-format +msgid "%s claimed %s status" +msgstr "" + +#: clients2c.cpp:802 clients2c.cpp:869 +msgid "you" +msgstr "" + +#: clients2c.cpp:813 +#, c-format +msgid "you can't change to team %s" +msgstr "" + +#: clients2c.cpp:817 +msgid "active" +msgstr "" + +#: clients2c.cpp:817 +msgid "spectate" +msgstr "" + +#: clients2c.cpp:817 +#, c-format +msgid "you can't change to %s mode" +msgstr "" + +#: clients2c.cpp:844 +#, c-format +msgid "you're now in team %s" +msgstr "" + +#: clients2c.cpp:847 +#, c-format +msgid "the server forced you to team %s" +msgstr "" + +#: clients2c.cpp:858 +#, c-format +msgid "player %s switched to team %s" +msgstr "" + +#: clients2c.cpp:861 +#, c-format +msgid "the server forced %s to team %s" +msgstr "" + +#: clients2c.cpp:862 +msgid "the enemy" +msgstr "" + +#: clients2c.cpp:862 +#, c-format +msgid "the server forced %s to %s team" +msgstr "" + +#: clients2c.cpp:862 +msgid "your" +msgstr "" + +#: clients2c.cpp:869 +#, c-format +msgid "%s changed to active play" +msgstr "" + +#: clients2c.cpp:938 +#, c-format msgid "" -"could not find core textures (hint: run AssaultCube from the parent of the " -"bin directory)" +"WHOIS client %d:\n" +"\f5name\t%s\n" +"\f5IP\t%d.%d.%d.%d" +msgstr "" + +#: clients2c.cpp:939 +#, c-format +msgid "" +"WHOIS client %d:\n" +"\f5name\t%s\n" +"\f5IP\t%d.%d.x.x" +msgstr "" + +#: clients2c.cpp:946 +msgid "no demos available" +msgstr "" + +#: clients2c.cpp:950 +#, c-format +msgid "%d. %s" +msgstr "" + +#: clients2c.cpp:1010 +#, c-format +msgid "failed writing to \"%s\"" +msgstr "" + +#: clients2c.cpp:1013 +#, c-format +msgid "received demo \"%s\"" +msgstr "" + +#: clients2c.cpp:1022 +#, c-format +msgid "received map \"%s\" from server, reloading.." +msgstr "" + +#: md2.h:258 +#, c-format +msgid "could not load model skin for %s" msgstr "" #: menus.cfg:9 @@ -57,3 +439,30 @@ msgstr "" #: menus.cfg:16 msgid "Quit" msgstr "" + +#: menus.cpp:1125 +msgid "..restart AssaultCube for this setting to take effect" +msgstr "" + +#: physics.cpp:781 +#, c-format +msgid "can't find entity spawn spot! (%d, %d)" +msgstr "" + +#: serverbrowser.cpp:1155 +#, c-format +msgid "" +"server \"\fs%s\fr\" is in category '\fs%s\fr' because of key '%s', please " +"remove manually" +msgstr "" + +#: serverbrowser.cpp:1159 +#, c-format +msgid "" +"removing server \"\fs%s\fr\" from favourites category '\fs%s\fr' (rest '%s')" +msgstr "" + +#: serverbrowser.cpp:1174 +#, c-format +msgid "adding server \"\fs%s\fr\" to favourites category '\fs%s\fr' (new '%s')" +msgstr "" diff --git a/source/locale/README.txt b/source/locale/README.txt index 7edb0d25..477eb544 100644 --- a/source/locale/README.txt +++ b/source/locale/README.txt @@ -1,6 +1,37 @@ -Info: +==AC Localization== -1. Run update_pot_template to extract all localizable strings from the C++ source and from cubescript. The AC.pot template will be updated. -2. Run de_update_po to migrate those changes into the existing german translation file de/lc_messages/AC.po , edit it to translate new strings -3. Finally run de_compile_mo to compile the po file into a binary format, it will be copied to the packages/locale folder -4. Run AC to see if the strings look okay in the UI +Install gnu gettext to get the required tools for building translation files. There are UI tools to help you on this task, as example on Linux you could try gtranslator or kbabel. These tools allow you to manage the translation files without ever touching the command line. +However the following text describes the usage of the underlying tools so you get an understanding of the process. +More information can be found in the gnu gettext documentation/tutorials. + + +Steps: + +1. Initial String Export + +Run update_pot_template to extract all localizable strings from the C++ source and from cubescript. The AC.pot template will be updated. Edit AC.pot and fill out the header details, such as charset=UTF-8. + +NOTE: This step will be done by a developer, so you can probably just skip this step. + +2. Build language specific translation file from the template +2.a) Initial build + +To create an initial translation file for your language, you need to run a command to initialize it based on the template. + +Run: +msginit -l $lang -o $lang/LC_MESSAGES/AC.po -i AC.pot + +Where $lang is the language token, such as "de" or "de_DE". + +2.b) Subsequential update builds + +Once the AC.pot template file gets updated, you can merge the new strings into your existing translation file: + +Run: +msgmerge -s -U $lang/LC_MESSAGES/AC.po AC.pot + +Where $lang is the language token, such as "de" or "de_DE". + +3. Translation file compilation + +Compile your translation file into a binary format which can then be read by AC. diff --git a/source/locale/de/LC_MESSAGES/AC.mo b/source/locale/de/LC_MESSAGES/AC.mo index 725f790c54a5ede913576dac0478a653d2fb9d0c..998922b3655e1c32d0e03373995371ad56ea4603 100644 GIT binary patch delta 321 zcmdnWx{bB|o)F7a1|Z-BVi_P#0b*VtUIWA+@BoNef%qX1vjFjPAZ7>RH&Ff;Ak7WL zKcRe9Mg|5BAe#$F^8jgKAngUj3P21pCz}akP9cy6+Ns4*24sLF8h|v&pf(^4vS1RB z203IFlwL7$r#d6U#E1TqZ5h4T%@hoct&B`3_c1D3L)ezu21W)3Tt11#CAuL+iFw62 zi6!|(Rti~(Ma2p>C8>$I4vEFZiKRIudda0psYS(ld8s9nA25nfW@d^u49F=hO3cx9 q%P-0;wo=F|0CS6NjjRRKTtjkBLf3B zkj)9CLGq$Nngd8n0cjo}tqi3NfV3hI+X692T|5(*wqi&DGB|+(nLrw3Q8ADP8CVIV zK^Cy_0ad32T333e%o_v;3oJYaN p$HyTjQ!l?L-EQ&|#%NXs&%Ct!$puVqJRXidKK=^fu0A1L3;;bXH8lVL diff --git a/source/locale/de/LC_MESSAGES/AC.po b/source/locale/de/LC_MESSAGES/AC.po index 5277a3bb..3f4f4ee5 100644 --- a/source/locale/de/LC_MESSAGES/AC.po +++ b/source/locale/de/LC_MESSAGES/AC.po @@ -1,22 +1,424 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) rabid viper productions -# FIRST AUTHOR blah, 2009 +# German translations for PACKAGE package. +# Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# jars , 2009. # msgid "" msgstr "" "Project-Id-Version: AC\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-12 23:55+0200\n" -"PO-Revision-Date: 2009-08-12 20:23+0200\n" -"Last-Translator: dude \n" -"Language-Team: German \n" +"POT-Creation-Date: 2009-08-16 13:25+0200\n" +"PO-Revision-Date: 2009-08-16 13:29+0200\n" +"Last-Translator: jars \n" +"Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: menus.cfg:15 -msgid "About" -msgstr "Info" +#: client.cpp:20 +msgid "operation not available in multiplayer" +msgstr "" + +#: client.cpp:27 +msgid "editing in multiplayer requires coopedit mode (1)" +msgstr "" + +#: client.cpp:70 client.cpp:205 +msgid "aborting connection attempt" +msgstr "" + +#: client.cpp:85 +#, c-format +msgid "attempting to connect to %s%c%s" +msgstr "" + +#: client.cpp:88 +#, c-format +msgid "\f3could not resolve server %s" +msgstr "" + +#: client.cpp:96 +msgid "attempting to connect over LAN" +msgstr "" + +#: client.cpp:112 client.cpp:514 client.cpp:550 +msgid "\f3could not connect to server" +msgstr "" + +#: client.cpp:175 +msgid "disconnected" +msgstr "" + +#: client.cpp:211 +msgid "not connected" +msgstr "" + +#: client.cpp:214 client.cpp:537 +msgid "attempting to disconnect..." +msgstr "" + +#: client.cpp:509 +msgid "attempting to connect..." +msgstr "" + +#: client.cpp:527 +msgid "connected to server" +msgstr "" + +#: client.cpp:555 +#, c-format +msgid "\f3server network error, disconnecting (%s) ..." +msgstr "" + +#: client.cpp:577 +#, c-format +msgid "\f3map %s is secured, you can not send, receive or overwrite it" +msgstr "" + +#: client.cpp:606 +#, c-format +msgid "map %s is too large to send" +msgstr "" + +#: client.cpp:622 +#, c-format +msgid "sending map %s to server..." +msgstr "" + +#: client.cpp:627 +msgid "requesting map from server..." +msgstr "" + +#: client.cpp:644 +msgid "getting demo..." +msgstr "" + +#: client.cpp:645 +#, c-format +msgid "getting demo %d..." +msgstr "" + +#: client.cpp:651 +msgid "listing demos..." +msgstr "" + +#: clientgame.cpp:122 +#, c-format +msgid "ignored players: %s" +msgstr "" + +#: clientgame.cpp:123 +msgid "no players ignored." +msgstr "" + +#: clientgame.cpp:143 +#, c-format +msgid "muted players: %s" +msgstr "" + +#: clientgame.cpp:144 +msgid "no players muted." +msgstr "" + +#: clientgame.cpp:169 +#, c-format +msgid "your name is: %s" +msgstr "" + +#: clientgame.cpp:170 +msgid "curname" +msgstr "" + +#: clientgame.cpp:187 +#, c-format +msgid "\f3\"%s\" is not a valid team name (try CLA, RVSF or SPECTATOR)" +msgstr "" + +#: clientgame.cpp:188 +msgid "you need to be dead to become spectator" +msgstr "" + +#: clientgame.cpp:191 +#, c-format +msgid "your team is: %s" +msgstr "" + +#: clientgame.cpp:692 +msgid "intermission:" +msgstr "" + +#: clientgame.cpp:693 +msgid "game has ended!" +msgstr "" + +#: clientgame.cpp:700 +#, c-format +msgid "time remaining: %d minutes" +msgstr "" + +#: clientgame.cpp:771 +#, c-format +msgid "\f3invalid ctf-flag entity (%i)" +msgstr "" + +#: clientgame.cpp:842 +#, c-format +msgid "game mode is \"%s\"%s" +msgstr "" + +#: clientgame.cpp:847 +#, c-format +msgid "\f1%s" +msgstr "" + +#: clientgame.cpp:1049 +msgid "\f3invalid vote" +msgstr "" + +#: clientgame.cpp:1070 +msgid "\f3you voted already" +msgstr "" + +#: clientgame.cpp:1089 +#, c-format +msgid "%s called a vote: %s" +msgstr "" + +#: clientgame.cpp:1105 +#, c-format +msgid "\f3could not vote: %s" +msgstr "" + +#: clientgame.cpp:1116 +msgid "failed" +msgstr "" + +#: clientgame.cpp:1116 +msgid "passed" +msgstr "" + +#: clientgame.cpp:1116 +#, c-format +msgid "vote %s" +msgstr "" + +#: clients2c.cpp:41 +#, c-format +msgid "\f3demo was recorded on map revision %d, you have map revision %d" +msgstr "" + +#: clients2c.cpp:61 +msgid "\"getmap\" to download the current map from the server" +msgstr "" + +#: clients2c.cpp:62 +#, c-format +msgid "\"getmap\" to download a %s version of the current map from the server" +msgstr "" + +#: clients2c.cpp:63 +msgid "different" +msgstr "" + +#: clients2c.cpp:63 +msgid "newer" +msgstr "" + +#: clients2c.cpp:63 +msgid "older" +msgstr "" + +#: clients2c.cpp:244 +#, c-format +msgid "\f3you are using a different game protocol (you: %d, server: %d)" +msgstr "" + +#: clients2c.cpp:250 +msgid "INFO: this server is password protected" +msgstr "" + +#: clients2c.cpp:358 +#, c-format +msgid "%s is now known as %s" +msgstr "" + +#: clients2c.cpp:363 +#, c-format +msgid "connected: %s" +msgstr "" + +#: clients2c.cpp:382 +#, c-format +msgid "player %s disconnected" +msgstr "" + +#: clients2c.cpp:433 +msgid "new round starting... fight!" +msgstr "" + +#: clients2c.cpp:497 +#, c-format +msgid "bad scope-message for %s" +msgstr "" + +#: clients2c.cpp:634 +#, c-format +msgid "%s enlarged the map to size %d" +msgstr "" + +#: clients2c.cpp:634 +#, c-format +msgid "%s started a new map of size %d" +msgstr "" + +#: clients2c.cpp:741 +msgid "the round is over! next round in 5 seconds..." +msgstr "" + +#: clients2c.cpp:742 +msgid "the bots have won the round!" +msgstr "" + +#: clients2c.cpp:743 +msgid "everyone died!" +msgstr "" + +#: clients2c.cpp:744 +#, c-format +msgid "team %s has won the round!" +msgstr "" + +#: clients2c.cpp:745 +msgid "you are the survivor!" +msgstr "" + +#: clients2c.cpp:746 +#, c-format +msgid "%s is the survivor!" +msgstr "" + +#: clients2c.cpp:802 +#, c-format +msgid "%s claimed %s status" +msgstr "" + +#: clients2c.cpp:802 clients2c.cpp:869 +msgid "you" +msgstr "" + +#: clients2c.cpp:813 +#, c-format +msgid "you can't change to team %s" +msgstr "" + +#: clients2c.cpp:817 +msgid "active" +msgstr "" + +#: clients2c.cpp:817 +msgid "spectate" +msgstr "" + +#: clients2c.cpp:817 +#, c-format +msgid "you can't change to %s mode" +msgstr "" + +#: clients2c.cpp:844 +#, c-format +msgid "you're now in team %s" +msgstr "" + +#: clients2c.cpp:847 +#, c-format +msgid "the server forced you to team %s" +msgstr "" + +#: clients2c.cpp:858 +#, c-format +msgid "player %s switched to team %s" +msgstr "" + +#: clients2c.cpp:861 +#, c-format +msgid "the server forced %s to team %s" +msgstr "" + +#: clients2c.cpp:862 +msgid "the enemy" +msgstr "" + +#: clients2c.cpp:862 +#, c-format +msgid "the server forced %s to %s team" +msgstr "" + +#: clients2c.cpp:862 +msgid "your" +msgstr "" + +#: clients2c.cpp:869 +#, c-format +msgid "%s changed to active play" +msgstr "" + +#: clients2c.cpp:938 +#, c-format +msgid "" +"WHOIS client %d:\n" +"\f5name\t%s\n" +"\f5IP\t%d.%d.%d.%d" +msgstr "" + +#: clients2c.cpp:939 +#, c-format +msgid "" +"WHOIS client %d:\n" +"\f5name\t%s\n" +"\f5IP\t%d.%d.x.x" +msgstr "" + +#: clients2c.cpp:946 +msgid "no demos available" +msgstr "" + +#: clients2c.cpp:950 +#, c-format +msgid "%d. %s" +msgstr "" + +#: clients2c.cpp:1010 +#, c-format +msgid "failed writing to \"%s\"" +msgstr "" + +#: clients2c.cpp:1013 +#, c-format +msgid "received demo \"%s\"" +msgstr "" + +#: clients2c.cpp:1022 +#, c-format +msgid "received map \"%s\" from server, reloading.." +msgstr "" + +#: md2.h:258 +#, c-format +msgid "could not load model skin for %s" +msgstr "" + +#: menus.cfg:9 +msgid "Multiplayer" +msgstr "Mehrspieler" + +#: menus.cfg:10 +msgid "Singleplayer" +msgstr "Einzelspieler" + +#: menus.cfg:11 +msgid "Settings" +msgstr "Einstellungen" #: menus.cfg:12 msgid "Demo" @@ -30,28 +432,37 @@ msgstr "Editieren" msgid "Help" msgstr "Hilfe" -#: menus.cfg:9 -msgid "Multiplayer" -msgstr "Mehrspieler" +#: menus.cfg:15 +msgid "About" +msgstr "Über" #: menus.cfg:16 msgid "Quit" msgstr "Beenden" -#: menus.cfg:11 -msgid "Settings" -msgstr "Einstellungen" +#: menus.cpp:1125 +msgid "..restart AssaultCube for this setting to take effect" +msgstr "" -#: menus.cfg:10 -msgid "Singleplayer" -msgstr "Einzelspieler" +#: physics.cpp:781 +#, c-format +msgid "can't find entity spawn spot! (%d, %d)" +msgstr "" -#: main.cpp:650 +#: serverbrowser.cpp:1155 +#, c-format msgid "" -"could not find core textures (hint: run AssaultCube from the parent of the " -"bin directory)" -msgstr "konnte die Texturen nicht finden (Tipp: Führe AssaultCube vom übergeordneten Verzeichnis von 'bin' aus)" +"server \"\fs%s\fr\" is in category '\fs%s\fr' because of key '%s', please " +"remove manually" +msgstr "" -#: i18n.cpp:14 -msgid "hello world\n" -msgstr "hallo welt" +#: serverbrowser.cpp:1159 +#, c-format +msgid "" +"removing server \"\fs%s\fr\" from favourites category '\fs%s\fr' (rest '%s')" +msgstr "" + +#: serverbrowser.cpp:1174 +#, c-format +msgid "adding server \"\fs%s\fr\" to favourites category '\fs%s\fr' (new '%s')" +msgstr "" diff --git a/source/locale/de_compile_mo.sh b/source/locale/de_compile_mo.sh new file mode 100755 index 00000000..8478d18c --- /dev/null +++ b/source/locale/de_compile_mo.sh @@ -0,0 +1,3 @@ +msgfmt -c -v -o de/LC_MESSAGES/AC.mo de/LC_MESSAGES/AC.po +cp -f de/LC_MESSAGES/AC.mo ../../packages/locale/de/LC_MESSAGES/AC.mo + diff --git a/source/locale/de_init_po.sh b/source/locale/de_init_po.sh new file mode 100755 index 00000000..bf4eb44f --- /dev/null +++ b/source/locale/de_init_po.sh @@ -0,0 +1,2 @@ +msginit -l de_DE -o de/LC_MESSAGES/AC.po -i AC.pot + diff --git a/source/locale/de_update_po.sh b/source/locale/de_update_po.sh new file mode 100755 index 00000000..9adbfac6 --- /dev/null +++ b/source/locale/de_update_po.sh @@ -0,0 +1,2 @@ +msgmerge -s -U de/LC_MESSAGES/AC.po AC.pot + diff --git a/source/locale/update_pot_template.sh b/source/locale/update_pot_template.sh new file mode 100755 index 00000000..9516567c --- /dev/null +++ b/source/locale/update_pot_template.sh @@ -0,0 +1,7 @@ +# search C++ source files +xgettext -d AC -o AC.pot --sort-by-file -k_ -C -D ../src -f translate_cpp_files.txt + +# add script translations to it +xgettext -d AC -o AC.pot --sort-by-file -k_ -j -L Lisp -D ../../config -f translate_cubescript_files.txt + +