Localise tips again. Including new german contribution from bug #738. We should look into the old .ts files and see if there are translations that can be recovered.
authornemo
Tue, 24 Dec 2013 09:53:08 -0500
changeset 9832 b1038b4373cc
parent 9831 afa4e3e04cc5
child 9833 1957c7f92460
Localise tips again. Including new german contribution from bug #738. We should look into the old .ts files and see if there are translations that can be recovered.
QTfrontend/hedgewars.qrc
QTfrontend/ui/page/pagemain.cpp
share/hedgewars/Data/Locale/CMakeLists.txt
share/hedgewars/Data/Locale/tips_de.xml
share/hedgewars/Data/Locale/tips_en.xml
--- a/QTfrontend/hedgewars.qrc	Tue Dec 24 01:10:38 2013 +0200
+++ b/QTfrontend/hedgewars.qrc	Tue Dec 24 09:53:08 2013 -0500
@@ -179,7 +179,6 @@
         <file>res/chat/ingame.png</file>
         <file>res/splash.png</file>
         <file>res/html/about.html</file>
-        <file>res/xml/tips.xml</file>
         <file>res/chat/hedgehogcontributor.png</file>
         <file>res/chat/hedgehogcontributor_gray.png</file>
         <file>res/chat/roomadmincontributor.png</file>
--- a/QTfrontend/ui/page/pagemain.cpp	Tue Dec 24 01:10:38 2013 +0200
+++ b/QTfrontend/ui/page/pagemain.cpp	Tue Dec 24 09:53:08 2013 -0500
@@ -21,10 +21,12 @@
 #include <QPushButton>
 #include <QLabel>
 #include <QTime>
+#include <QSettings>
 
 #include "pagemain.h"
 #include "hwconsts.h"
 #include "hwform.h"
+#include "DataManager.h"
 
 QLayout * PageMain::bodyLayoutDefinition()
 {
@@ -150,8 +152,28 @@
 #else
     int platform = 3;
 #endif
+    DataManager & dataMgr = DataManager::instance();
+
+    // get locale
+    QSettings settings(dataMgr.settingsFileName(),
+                       QSettings::IniFormat);
+
+    QString loc = settings.value("misc/locale", "").toString();
+    if (loc.isEmpty())
+        loc = QLocale::system().name();
+
+    QString tipFile = QString("physfs://Locale/tips_" + loc + ".xml");
+
+    // if file is non-existant try with language only
+    if (!QFile::exists(tipFile))
+        tipFile = QString("physfs://Locale/tips_" + loc.remove(QRegExp("_.*$")) + ".xml");
+
+    // fallback if file for current locale is non-existant
+    if (!QFile::exists(tipFile))
+        tipFile = QString("physfs://Locale/tips_en.xml");
+
     QStringList Tips;
-    QFile file(":/res/xml/tips.xml");
+    QFile file(tipFile);
     file.open(QIODevice::ReadOnly);
     QTextStream in(&file);
     QString line = in.readLine();
--- a/share/hedgewars/Data/Locale/CMakeLists.txt	Tue Dec 24 01:10:38 2013 +0200
+++ b/share/hedgewars/Data/Locale/CMakeLists.txt	Tue Dec 24 09:53:08 2013 -0500
@@ -4,6 +4,7 @@
 file(GLOB luafiles *.lua)
 file(GLOB missionfiles missions_*.txt)
 file(GLOB campaignfiles campaigns_*.txt)
+file(GLOB tipfiles tips_*.xml)
 
 QT4_ADD_TRANSLATION(QM ${tsfiles})
 
@@ -19,6 +20,7 @@
     ${luafiles}
     ${missionfiles}
     ${campaignfiles}
+    ${tipfiles}
     DESTINATION ${SHAREPATH}Data/Locale
 )
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Locale/tips_de.xml	Tue Dec 24 09:53:08 2013 -0500
@@ -0,0 +1,61 @@
+# This is not xml actually, but it looks and behaves like it.
+# Including an xml library would need too much resources.
+# Tips between the platform specific tags are shown only on those platforms.
+# Do not escape characters or use the CDATA tag.
+<tips>
+    <tip>Wähl einfach die selbe Farbe wie die eines Freundes aus, um gemeinsam als ein Klan zu spielen. Jeder von euch wird immer noch Kontrolle über seine eigenen Igel haben, aber sie werden gemeinsam siegen oder verlieren.</tip>
+    <tip>Einige Waffen mögen zwar nur geringfügigen Schaden anrichten, aber sie können in der passenden Sitation verheerend sein. Versuche, die Desert Eagle zu benutzen, um mehrere Igel ins Wasser zu schubsen.</tip>
+    <tip>Falls du dir unsicher darüber bist, was du tun sollst und du keine Munition verschwenden willst, überspring die Runde. Aber lass nicht zu viel Zeit verstreichen, weil irgendwann der Sudden Death kommt.</tip>
+    <tip>Willst du Seile sparen? Lass das Seil im Flug los und schieß erneut. Solange du den Boden nicht berührst oder ein Schuss daneben geht, wirst du dein Seil wiederverwenden, ohne Vorräte zu vergeuden.</tip>
+    <tip>Wenn du Andere davon abhalten willst, deinen Lieblingsspitznamen auf dem offiziellen Server zu benutzen, registiere ein Benutzerkonto auf http://www.hedgewars.org/.</tip>
+    <tip>Bist du vom Standardspiel gelangweilt? Dann probier eine der Missionen aus – sie spielen sich anders, je nach dem, welche Mission du ausgewählt hast.</tip>
+    <tip>Standardmäßig wird das Programm immer vom letzten Spiel eine Wiederholung abspeichern. Wähle »Auf einen einzelnen Computer spielen« und dann den »Aufgezeichnete Wiederholungen ansehen«-Knopf auf der rechten unteren Ecke, um sie abzuspielen oder zu verwalten.</tip>
+    <tip>Hedgewars ist freie Open-Source-Software, die wir in unserer Freizeit erstellen. Falls du Probleme hast, frag uns in unseren Foren oder besuch unseren IRC-Channel!</tip>
+    <tip>Hedgewars ist freie Open-Source-Software, die wir in unserer Freizeit erstellen. Wenn es dir gefällt, hilf uns mit einer kleinen Spende oder steuere deine eigenen Werke bei!</tip>
+    <tip>Hedgewars ist freie Open-Source-Software, die wir in unserer Freizeit erstellen. Teile es mit deiner Famlie und deinen Freunden, wie es dir gefällt!</tip>
+    <tip>Hedgewars ist freie Open-Source-Software, die wir in unserer Freizeit nur so zum Spaß erstellen. Triff die Entwickler auf <a href="irc://irc.freenode.net/hedgewars">#hedgewars</a>!</tip>
+    <tip>Von Zeit zu Zeit wird es offizielle Turniere geben. Bevorstehende Ereignisse werden auf http://www.hedgewars.org/ ein paar Tage im voraus angekündigt.</tip>
+    <tip>Hedgewars ist in vielen Sprachen verfügbar. Wenn die Übersetzung deiner Sprache zu fehlen oder veraltet zu sein scheint, nimm ruhig mit uns Kontakt auf!</tip>
+    <tip>Hedgewars läuft auf vielen verschiedenen Betriebssystemem, unter anderen Microsoft Windows, Mac OS X und GNU/Linux.</tip>
+    <tip>Denk immer daran, dass du in der Lage bist, deine eigenen Spiele in lokalen Spielen und Netzwerkspielen aufzusetzen. Du musst nicht zwangsläufig nur einfache Spiele spielen.</tip>
+    <tip>Verbinde einen oder mehr Gamepads, bevor du das Spiel startest, damit du ihre Belegung deinen Teams zuweisen kannst.</tip>
+    <tip>Erstelle ein Benutzerkonto auf <a href="http://www.hedgewars.org/">http://www.hedgewars.org/</a>, um andere davon abzuhalten, deinen Lieblingsspitznamen beim Spielen auf dem offiziellen Server zu benutzen.</tip>
+    <tip>Wenn du spielst, solltest du dir wenigstens ein mal pro Stunde eine kurze Pause gönnen.</tip>
+    <tip>Wenn deine Grafikkarte nicht in der Lage ist, hardwarebeschleunigtes OpenGL zur Verfügung zu stellen, versuche es mit einer niedrigen Qualitätsstufe (in den Grafikeinstellungen), um die Geschwindigkeit zu erhöhen.</tip>
+    <tip>Wenn deine Grafikkarte nicht in der Lage ist, hardwarebeschleunigtes OpenGL zur Verfügung zu stellen, versuche, die benötigten Treiber zu updaten.</tip>
+    <tip>Wir sind offen gegenüber Vorschlägen und konstruktiver Kritik. Wenn du etwas nicht magst oder du eine großartige Idee hast, lass es uns wissen!</tip>
+    <tip>Inbesondere, wenn du online spielst, sei höflich und denk immer daran, dass ein paar Minderjährige mit bzw. gegen dich spielen könnten.</tip>
+    <tip>Mit besonderen Spielmodi wie »Vampirismus« oder »Karma« kannst du völlig andere Strategien entwickeln. Probier sie in einem benutzerdefinierten Spiel aus!</tip>
+    <tip>Du solltest Hedgewars niemals auf Computern, die dir nicht gehören (Schule, Universität, Arbeit, usw.), installieren. Bitte frag die verantwortliche Person stattdessen!</tip>
+    <tip>Hedgewars kann perfekt für kurze Spiele in Pausen sein. Stell nur sicher, dass du nicht zu viele Igel hinzufügst oder eine gigantische Karte benutzt. Das Verringern der Zeit und Anfangsgesundheit kann ebenfalls helfen.</tip>
+    <tip>Bei der Erstellung dieses Spiels wurden keine Igel verletzt.</tip>
+    <tip>Drei verschiedene Sprünge sind verfügbar. Drücke [Hochsprung] doppelt, um einen sehr hohen Rückwärtssprung zu machen.</tip>
+    <tip>Hast du Angst, von einer Klippe zu stürzen? Halte [Genau zielen], um dich nach [links] oder [rechts], ohne dich tatsächlich zu bewegen, umzudrehen.</tip>
+    <tip>Ein paar Waffen erfordern besondere Strategien oder einfach nur sehr viel Training, also gib ein bestimmtes Werkzeug nicht auf, wenn du einen Gegner mal verfehlt haben solltest.</tip>
+    <tip>Die meisten Waffen würden nicht funktionieren, sobald sie das Wasser berührt haben. Die zielsuchende Biene sowie der Kuchen sind Ausnahmen davon.</tip>
+    <tip>Der alte Limburger verursacht nur eine kleine Explosion. Allerdings kann die vom Wind beeinflusste Stinkewolke viele Igel auf einmal vergiften.</tip>
+    <tip>Der Pianoangriff ist der zerstörerischste Luftangriff. Du verlierst den Igel, der ihn vornimmt, also gibt es hier eben auch einen riesigen Nachteil.</tip>
+    <tip>Die zielsuchende Biene kann knifflig zu verwenden sein. Ihr Drehradius hängt von ihrer Geschwindigkeit hab, also versuche, nicht mit voller Kraft zu schießen.</tip>
+    <tip>Haftminen sind ein perfektes Werkzeug, um kleine Kettenreaktionen, die feindliche Igel in fatale Situationen – oder Wasser - befördern.</tip>
+    <tip>Der Hammer ist am effektivsten, wenn er auf Brücken oder Bauträgern verwendet wird. Getroffene Igel werden einfach durch den Boden fallen.</tip>
+    <tip>Wenn du hinter einem feindlichen Igel feststeckst, benutze den Hammer, um dich selbst, ohne selbst durch eine Explosion verletzt zu werden, zu befreien.</tip>
+    <tip>Des Kuchens maximale Laufentfernung hängt von dem Boden, den er überqueren muss, ab. Benutze [Angriff], um ihn vorzeitig zu detonieren.</tip>
+    <tip>Der Flammenwerfer ist eine Waffe, aber sie kann auch zum Tunnelgraben verwendet werden.</tip>
+    <tip>Benutze den Molotowcocktail oder Flammenwerfer, um kurzzeitig Igel daran zu hindern, Gelände wie Tunnel oder Bauträger zu überqueren.</tip>
+    <tip>Willst du wissen, wer hinter dem Spiel steckt? Klick auf das Hedgewars-Logo im Hauptmenü, um die Liste der Mitwirkenden (derzeit nur auf Englisch, Anm. eines Übersetzers) zu sehen.</tip>
+    <tip>Magst du Hedgewars? Werd zum Fan auf <a href="http://www.facebook.com/Hedgewars">Facebook</a> oder folg uns auf <a href="http://twitter.com/hedgewars">Twitter</a>!</tip>
+    <tip>Tu dir keinen Zwang an, dir deine eigenen Grabsteine, Hüte, Flaggen oder sogar Karten und Szenerien zu malen! Aber beachte, dass du sie irgendwo online teilen musst, um sie online benutzen zu können.</tip>
+    <tip>Halte deine Grafikkartentreiber auf dem neuesten Stand, um Probleme beim Spielen des Spiels zu vermeiden.</tip>
+    <tip>Kopf oder Zahl? Gib »/rnd« in der Lobby ein und finde es heraus. »/rnd Schere Stein Papier« funktioniert auch!</tip>
+    <tip>Du kannst Hedgewars-bezogene Dateien (Spielstände und Wiederholungen) mit dem Spiel assoziieren, um sie direkt von deinem Lieblingsdateiverwaltungsprogramm oder Webbrowser starten zu können.</tip>
+    <windows-only>
+        <tip>Diese Hedgewars-Version unterstützt <a href="http://www.xfire.com/">Xfire</a>. Stell sicher, Hedgewars dessen Spielliste hinzuzufügen, damit deine Freunde dich beim Spielen sehen können.</tip>
+        <tip>Du kannst deine Hedgewars-Einstellungsdateien unter »Eigene Dokumente\Hedgewars« finden. Erstelle Backups oder nimm die Dateien mit, aber bitte bearbeite sie nicht von Hand.</tip>
+    </windows-only>
+    <mac-only>
+        <tip>Du kannst deine Hedgewars-Einstellungsdateien unter »Library/Application Support/Hedgewars« in deinem »home«-Verzeichnis finden. Erstelle Backups oder nimm die Dateien mit, aber bitte bearbeite sie nicht von Hand.</tip>
+    </mac-only>
+    <linux-only>
+        <tip>Du kannst deine Hedgewars-Einstellungsdateien unter ».hedgewars« in deinem »home«-Verzeichnis finden. Erstelle Backups oder nimm die Dateien mit, aber bitte bearbeite sie nicht von Hand.</tip>
+    </linux-only>
+</tips>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Locale/tips_en.xml	Tue Dec 24 09:53:08 2013 -0500
@@ -0,0 +1,62 @@
+<!-- This is not xml actually, but it looks and behaves like it.
+     Including an xml library would need too much resources.
+     Tips between the platform specific tags are shown only on those platforms.
+     Do not escape characters or use the CDATA tag. -->
+<tips>
+    <tip>Simply pick the same color as a friend to play together as a team. Each of you will still control his or her own hedgehogs but they'll win or lose together.</tip>
+    <tip>Some weapons might do only low damage but they can be a lot more devastating in the right situation. Try to use the Desert Eagle to knock multiple hedgehogs into the water.</tip>
+    <tip>If you're unsure what to do and don't want to waste ammo, skip one round. But don't let too much time pass as there will be Sudden Death!</tip>
+    <tip>Want to save ropes? Release the rope in mid air and then shoot again. As long as you don't touch the ground or miss a shot you'll reuse your rope without wasting ammo!</tip>
+    <tip>If you'd like to keep others from using your preferred nickname on the official server, register an account at http://www.hedgewars.org/.</tip>
+    <tip>You're bored of default gameplay? Try one of the missions - they'll offer different gameplay depending on the one you picked.</tip>
+    <tip>By default the game will always record the last game played as a demo. Select 'Local Game' and pick the 'Demos' button on the lower right corner to play or manage them.</tip>
+    <tip>Hedgewars is free software (Open Source) we create in our spare time. If you've got problems, ask on our forums or visit our IRC room!</tip>
+    <tip>Hedgewars is free software (Open Source) we create in our spare time. If you like it, help us with a small donation or contribute your own work!</tip>
+    <tip>Hedgewars is free software (Open Source) we create in our spare time. Share it with your family and friends as you like!</tip>
+    <tip>Hedgewars is free software (Open Source) we create in our spare time, just for fun! Meet the devs in <a href="irc://irc.freenode.net/hedgewars">#hedgewars</a>!</tip>
+    <tip>From time to time there will be official tournaments. Upcoming events will be announced at http://www.hedgewars.org/ some days in advance.</tip>
+    <tip>Hedgewars is available in many languages. If the translation in your language seems to be missing or outdated, feel free to contact us!</tip>
+    <tip>Hedgewars can be run on lots of different operating systems including Microsoft Windows, Mac OS X and GNU/Linux.</tip>
+    <tip>Always remember you're able to set up your own games in local and network/online play. You're not restricted to the 'Simple Game' option.</tip>
+    <tip>Connect one or more gamepads before starting the game to be able to assign their controls to your teams.</tip>
+    <tip>Create an account on <a href="http://www.hedgewars.org/">http://www.hedgewars.org/</a> to keep others from using your most favourite nickname while playing on the official server.</tip>
+    <tip>While playing you should give yourself a short break at least once an hour.</tip>
+    <tip>If your graphics card isn't able to provide hardware accelerated OpenGL, try to enable the low quality mode to improve performance.</tip>
+    <tip>If your graphics card isn't able to provide hardware accelerated OpenGL, try to update the associated drivers.</tip>
+    <tip>We're open to suggestions and constructive feedback. If you don't like something or got a great idea, let us know!</tip>
+    <tip>Especially while playing online be polite and always remember there might be some minors playing with or against you as well!</tip>
+    <tip>Special game modes such as 'Vampirism' or 'Karma' allow you to develop completely new tactics. Try them in a custom game!</tip>
+    <tip>You should never install Hedgewars on computers you don't own (school, university, work, etc.). Please ask the responsible person instead!</tip>
+    <tip>Hedgewars can be perfect for short games during breaks. Just ensure you don't add too many hedgehogs or use an huge map. Reducing time and health might help as well.</tip>
+    <tip>No hedgehogs were harmed in making this game.</tip>
+    <tip>There are three different jumps available. Tap [high jump] twice to do a very high/backwards jump.</tip>
+    <tip>Afraid of falling off a cliff? Hold down [precise] to turn [left] or [right] without actually moving.</tip>
+    <tip>Some weapons require special strategies or just lots of training, so don't give up on a particular tool if you miss an enemy once.</tip>
+    <tip>Most weapons won't work once they touch the water. The Homing Bee as well as the Cake are exceptions to this.</tip>
+    <tip>The Old Limbuger only causes a small explosion. However the wind affected smelly cloud can poison lots of hogs at once.</tip>
+    <tip>The Piano Strike is the most damaging air strike. You'll lose the hedgehog performing it, so there's a huge downside as well.</tip>
+    <tip>The Homing Bee can be tricky to use. Its turn radius depends on its velocity, so try to not use full power.</tip>
+    <tip>Sticky Mines are a perfect tool to create small chain reactions knocking enemy hedgehogs into dire situations ... or water.</tip>
+    <tip>The Hammer is most effective when used on bridges or girders. Hit hogs will just break through the ground.</tip>
+    <tip>If you're stuck behind an enemy hedgehog, use the Hammer to free yourself without getting damaged by an explosion.</tip>
+    <tip>The Cake's maximum walking distance depends on the ground it has to pass. Use [attack] to detonate it early.</tip>
+    <tip>The Flame Thrower is a weapon but it can be used for tunnel digging as well.</tip>
+    <tip>Use the Molotov or Flame Thrower to temporary keep hedgehogs from passing terrain such as tunnels or platforms.</tip>
+    <tip>Want to know who's behind the game? Click on the Hedgewars logo in the main menu to see the credits.</tip>
+    <tip>Like Hedgewars? Become a fan on <a href="http://www.facebook.com/Hedgewars">Facebook</a> or follow us on <a href="http://twitter.com/hedgewars">Twitter</a></tip>
+    <tip>Feel free to draw your own graves, hats, flags or even maps and themes! But note that you'll have to share them somewhere to use them online.</tip>
+    <tip>Keep your video card drivers up to date to avoid issues playing the game.</tip>
+    <tip>Heads or tails? Type '/rnd' in lobby and you'll find out. Also '/rnd rock paper scissors' works!</tip>
+    <tip>You're able to associate Hedgewars related files (savegames and demo recordings) with the game to launch them right from your favorite file or internet browser.</tip>
+    <windows-only>
+	    <tip>The version of Hedgewars supports <a href="http://www.xfire.com">Xfire</a>. Make sure to add Hedgewars to its game list so your friends can see you playing.</tip>
+        <tip>You can find your Hedgewars configuration files under "My Documents\Hedgewars". Create backups or take the files with you, but don't edit them by hand.</tip>
+    </windows-only>
+    <mac-only>
+        <tip>You can find your Hedgewars configuration files under "Library/Application Support/Hedgewars" in your home directory. Create backups or take the files with you, but don't edit them by hand.</tip>
+    </mac-only>
+    <linux-only>
+        <tip>lintip</tip>
+        <tip>You can find your Hedgewars configuration files under ".hedgewars" in your home directory. Create backups or take the files with you, but don't edit them by hand.</tip>
+    </linux-only>
+</tips>