Converted GPs to XML
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@4737 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
9f0e6a3d83
commit
e15c217c5f
@ -1,10 +1,23 @@
|
||||
;; -*- mode: lisp -*-
|
||||
|
||||
(supertuxkart-grand-prix
|
||||
(name _("All tracks"))
|
||||
(description _("All tracks included in SuperTuxKart"))
|
||||
(tracks "beach" "startrack" "lighthouse" "jungle" "mines" "islandtrack" "sandtrack" "fortmagma" "snowtuxpeak" "crescentcrossing" "olivermath" "racetrack" "city" "xr591" "canyon" "snowmountain" "tuxtollway" "skyline")
|
||||
(laps 2 3 4 3 3 2 3 3 3 2 4 3 2 3 2 3 2 3)
|
||||
)
|
||||
<supertuxkart_grand_prix name="All tracks" description="All tracks included in SuperTuxKart">
|
||||
|
||||
;; EOF ;;
|
||||
<track id="beach" laps="2" />
|
||||
<track id="startrack" laps="3" />
|
||||
<track id="lighthouse" laps="4" />
|
||||
<track id="jungle" laps="3" />
|
||||
<track id="mines" laps="3" />
|
||||
<track id="islandtrack" laps="2" />
|
||||
<track id="sandtrack" laps="3" />
|
||||
<track id="fortmagma" laps="3" />
|
||||
<track id="snowtuxpeak" laps="3" />
|
||||
<track id="crescentcrossing" laps="2" />
|
||||
<track id="olivermath" laps="4" />
|
||||
<track id="racetrack" laps="3" />
|
||||
<track id="city" laps="2" />
|
||||
<track id="xr591" laps="3" />
|
||||
<track id="canyon" laps="2" />
|
||||
<track id="snowmountain" laps="3" />
|
||||
<track id="tuxtollway" laps="2" />
|
||||
<track id="skyline" laps="3" />
|
||||
|
||||
</supertuxkart_grand_prix>
|
||||
|
@ -1,10 +1,11 @@
|
||||
;; -*- mode: lisp -*-
|
||||
|
||||
(supertuxkart-grand-prix
|
||||
(name _("At world's end"))
|
||||
(description _("Last grand prix, longer and harder"))
|
||||
(tracks "fortmagma" "canyon" "city" "snowtuxpeak" "racetrack")
|
||||
(laps 3 2 2 3 3)
|
||||
)
|
||||
<supertuxkart_grand_prix name="At World's End" description="Last grand prix, longer and harder">
|
||||
|
||||
<track id="fortmagma" laps="3" />
|
||||
<track id="canyon" laps="2" />
|
||||
<track id="city" laps="2" />
|
||||
<track id="snowtuxpeak" laps="3" />
|
||||
<track id="racetrack" laps="3" />
|
||||
|
||||
</supertuxkart_grand_prix>
|
||||
|
||||
;; EOF ;;
|
||||
|
@ -1,10 +1,9 @@
|
||||
;; -*- mode: lisp -*-
|
||||
|
||||
(supertuxkart-grand-prix
|
||||
(name _("Penguin Playground"))
|
||||
(description _("First grand prix, easy to get started"))
|
||||
(tracks "sandtrack" "snowmountain" "olivermath" "jungle")
|
||||
(laps 3 3 4 2 )
|
||||
)
|
||||
<supertuxkart_grand_prix name="Penguin Playground" description="First grand prix, easy to get started">
|
||||
|
||||
;; EOF ;;
|
||||
<track id="sandtrack" laps="3" />
|
||||
<track id="snowmountain" laps="3" />
|
||||
<track id="olivermath" laps="4" />
|
||||
<track id="jungle" laps="2" />
|
||||
|
||||
</supertuxkart_grand_prix>
|
||||
|
@ -1,10 +1,10 @@
|
||||
;; -*- mode: lisp -*-
|
||||
|
||||
(supertuxkart-grand-prix
|
||||
(name _("Snag Drive"))
|
||||
(description _("Third grand prix"))
|
||||
(tracks "islandtrack" "tuxtollway" "mines" "crescentcrossing")
|
||||
(laps 2 2 3 2)
|
||||
)
|
||||
<supertuxkart_grand_prix name="Snag Drive" description="Third grand prix">
|
||||
|
||||
<track id="islandtrack" laps="2" />
|
||||
<track id="tuxtollway" laps="2" />
|
||||
<track id="mines" laps="3" />
|
||||
<track id="crescentcrossing" laps="2" />
|
||||
|
||||
</supertuxkart_grand_prix>
|
||||
|
||||
;; EOF ;;
|
||||
|
@ -1,10 +1,10 @@
|
||||
;; -*- mode: lisp -*-
|
||||
|
||||
(supertuxkart-grand-prix
|
||||
(name _("To the Moon and Back"))
|
||||
(description _("Second grand prix"))
|
||||
(tracks "lighthouse" "skyline" "startrack" "xr591" "beach")
|
||||
(laps 4 3 3 3 2 )
|
||||
)
|
||||
<supertuxkart_grand_prix name="To the Moon and Back" description="Second grand prix">
|
||||
|
||||
;; EOF ;;
|
||||
<track id="lighthouse" laps="4" />
|
||||
<track id="skyline" laps="3" />
|
||||
<track id="startrack" laps="3" />
|
||||
<track id="xr591" laps="3" />
|
||||
<track id="beach" laps="2" />
|
||||
|
||||
</supertuxkart_grand_prix>
|
||||
|
@ -6,8 +6,7 @@
|
||||
align="center" text_align="center" />
|
||||
|
||||
<scrollable_toolbar id="gps" height="175" width="100%" align="center" label_location="each"
|
||||
square_items="true" align="center"
|
||||
child_width="160" child_height="120" />
|
||||
square_items="true" child_width="160" child_height="120" />
|
||||
|
||||
<header width="100%" I18N="Section in track selection screen" text="All Tracks"
|
||||
align="center" text_align="center" />
|
||||
|
@ -3,7 +3,7 @@ import sys
|
||||
|
||||
f = open('./data/po/gui_strings.h', 'w')
|
||||
|
||||
def traverse(file, node, isChallenge, level=0):
|
||||
def traverse(file, node, isChallenge, isGP, level=0):
|
||||
|
||||
for e in node.childNodes:
|
||||
if e.localName == None:
|
||||
@ -15,7 +15,7 @@ def traverse(file, node, isChallenge, level=0):
|
||||
if e.hasAttribute("I18N"):
|
||||
comment = e.getAttribute("I18N")
|
||||
|
||||
if isChallenge:
|
||||
if isChallenge or isGP:
|
||||
if e.hasAttribute("name"):
|
||||
# print "Label=", e.getAttribute("name"), " Comment=", comment
|
||||
line = ""
|
||||
@ -47,16 +47,26 @@ def traverse(file, node, isChallenge, level=0):
|
||||
f.write( line )
|
||||
|
||||
|
||||
traverse(file, e, isChallenge, level+1)
|
||||
traverse(file, e, isChallenge, isGP, level+1)
|
||||
|
||||
filenames = sys.argv[1:]
|
||||
for file in filenames:
|
||||
print "Parsing", file
|
||||
#print "Parsing", file
|
||||
|
||||
isChallenge = False
|
||||
isGP = False
|
||||
|
||||
if file.endswith(".challenge"):
|
||||
isChallenge = True
|
||||
if file.endswith(".grandprix"):
|
||||
isGP = True
|
||||
|
||||
doc = xml.dom.minidom.parse(file)
|
||||
traverse(file, doc, isChallenge)
|
||||
try:
|
||||
doc = xml.dom.minidom.parse(file)
|
||||
except:
|
||||
print "============================================"
|
||||
print "/!\\ Expat doesn't like ", file, "!"
|
||||
print "============================================"
|
||||
|
||||
traverse(file, doc, isChallenge, isGP)
|
||||
|
||||
|
261
data/po/fr.po
261
data/po/fr.po
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: supertuxkart\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-01 21:05-0500\n"
|
||||
"PO-Revision-Date: 2010-02-01 21:06-0500\n"
|
||||
"POT-Creation-Date: 2010-02-15 19:20-0500\n"
|
||||
"PO-Revision-Date: 2010-02-15 19:21-0500\n"
|
||||
"Last-Translator: Marianne Gagnon (Auria) <auria.mg@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -12,13 +12,13 @@ msgstr ""
|
||||
"X-Poedit-Language: French\n"
|
||||
|
||||
#. I18N: In the track setup screen (number of laps choice, where %i is the number)
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:114
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:116
|
||||
#, c-format
|
||||
msgid "%i laps"
|
||||
msgstr "%i tours"
|
||||
|
||||
#. I18N: as in "fastest lap: 60 seconds by Wilber"
|
||||
#: src/modes/linear_world.cpp:263
|
||||
#: src/modes/linear_world.cpp:270
|
||||
#, c-format
|
||||
msgid "%s by %s"
|
||||
msgstr "%s par %s"
|
||||
@ -28,7 +28,7 @@ msgstr "%s par %s"
|
||||
msgid "%s is ready"
|
||||
msgstr "%s est prêt"
|
||||
|
||||
#: src/modes/world.cpp:461
|
||||
#: src/modes/world.cpp:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"'%s' has\n"
|
||||
@ -38,7 +38,7 @@ msgstr ""
|
||||
"été éliminé."
|
||||
|
||||
#. I18N: for empty highscores entries
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:237
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:238
|
||||
msgid "(Empty)"
|
||||
msgstr "(Vide)"
|
||||
|
||||
@ -66,7 +66,7 @@ msgid "* Which config to use will be inferred from which 'fire' key is pressed t
|
||||
msgstr "* Le jeu va automatiquement détecter quelle configuration utiliser selon la touche 'feu' utilisée pour se joindre au jeu."
|
||||
|
||||
#. I18N: Game mode
|
||||
#: src/race/race_manager.hpp:121
|
||||
#: src/race/race_manager.hpp:120
|
||||
msgid "3 Strikes Battle"
|
||||
msgstr "Combat 3 Prises"
|
||||
|
||||
@ -76,10 +76,14 @@ msgstr "Combat 3 Prises"
|
||||
msgid "3 Strikes Battle : only in multiplayer games. Hit others with weapons until they lose all their lives."
|
||||
msgstr "Combat '3 prises' : seulement dans les jeux multijoueurs. Utilise des armes pour faire perdre leurs vies à tes rivaux !"
|
||||
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:161
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:163
|
||||
msgid "= Highscores ="
|
||||
msgstr "= Meilleurs scores ="
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:229
|
||||
msgid "Abort Grand Prix"
|
||||
msgstr "Abandonner le Grand Prix"
|
||||
|
||||
#. I18N: ./data/gui/main.stkgui
|
||||
#. I18N: Main menu button
|
||||
#: data/po/gui_strings.h:194
|
||||
@ -93,7 +97,7 @@ msgid "Accelerate"
|
||||
msgstr "Accélérer"
|
||||
|
||||
#. I18N: In the 'add new input device' dialog
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:56
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:58
|
||||
msgid "Add Keyboard Configuration"
|
||||
msgstr "Ajouter un clavier"
|
||||
|
||||
@ -119,21 +123,31 @@ msgstr ""
|
||||
#. I18N: ./data/gui/arenas.stkgui
|
||||
#. I18N: track group
|
||||
#: src/states_screens/kart_selection.cpp:723
|
||||
#: src/states_screens/tracks_screen.cpp:56
|
||||
#: src/states_screens/tracks_screen.cpp:61
|
||||
#: data/po/gui_strings.h:15
|
||||
msgid "All"
|
||||
msgstr "Tout"
|
||||
|
||||
#. I18N: ./data/gui/tracks.stkgui
|
||||
#. I18N: Section in track selection screen
|
||||
#: data/po/gui_strings.h:412
|
||||
#: data/po/gui_strings.h:400
|
||||
msgid "All Tracks"
|
||||
msgstr "Toutes les pistes"
|
||||
|
||||
#: src/states_screens/race_setup_screen.cpp:164
|
||||
#: src/states_screens/race_setup_screen.cpp:124
|
||||
msgid "All blows allowed, so catch weapons and make clever use of them!"
|
||||
msgstr "Tous les coups sont permis, alors collecte des armes et utilise-les astucieusement!"
|
||||
|
||||
#. I18N: ./data/grandprix/alltracks.grandprix
|
||||
#: data/po/gui_strings.h:475
|
||||
msgid "All tracks"
|
||||
msgstr "Toutes les pistes"
|
||||
|
||||
#. I18N: ./data/grandprix/alltracks.grandprix
|
||||
#: data/po/gui_strings.h:478
|
||||
msgid "All tracks included in SuperTuxKart"
|
||||
msgstr "Toutes les pistes de SuperTuxKart"
|
||||
|
||||
#. I18N: ./data/gui/help2.stkgui
|
||||
#: data/po/gui_strings.h:116
|
||||
msgid "Anchor - slows down greatly the kart in the first position"
|
||||
@ -151,8 +165,8 @@ msgstr "Appliquer le mode vidéo"
|
||||
msgid "Arenas"
|
||||
msgstr "Arènes"
|
||||
|
||||
#. I18N: ./data/gui/tracks.stkgui
|
||||
#: data/po/gui_strings.h:408
|
||||
#. I18N: ./data/grandprix/atworldsend.grandprix
|
||||
#: data/po/gui_strings.h:481
|
||||
msgid "At World's End"
|
||||
msgstr "Au bout du monde"
|
||||
|
||||
@ -202,7 +216,7 @@ msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
||||
#. I18N: In the 'paused' screen
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:67
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:70
|
||||
msgid "Back to Race"
|
||||
msgstr "Retour à la course"
|
||||
|
||||
@ -213,7 +227,7 @@ msgstr "Retour à la course"
|
||||
msgid "Back to main menu"
|
||||
msgstr "Retour au menu principal"
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:232
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:249
|
||||
msgid "Back to the main menu"
|
||||
msgstr "Retour au menu principal"
|
||||
|
||||
@ -240,14 +254,15 @@ msgstr ""
|
||||
msgid "Cake - thrown at the closest rival, best on short ranges and long straights"
|
||||
msgstr "Gâteau - lance-le sur ton plus proche rival, idéal sur courtes distances et sur les routes droites"
|
||||
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:71
|
||||
#: src/states_screens/dialogs/enter_player_name_dialog.cpp:69
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:85
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:73
|
||||
#: src/states_screens/dialogs/confirm_resolution_dialog.cpp:79
|
||||
#: src/states_screens/dialogs/enter_player_name_dialog.cpp:72
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:87
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#. I18N: In the player info dialog (when deleting)
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:165
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:169
|
||||
msgid "Cancel Remove"
|
||||
msgstr "Annuler la supression"
|
||||
|
||||
@ -270,7 +285,7 @@ msgid "Choose a Kart"
|
||||
msgstr "Choisis un Kart"
|
||||
|
||||
#. I18N: ./data/tracks/crescentcrossing/crescentcrossing.challenge
|
||||
#: data/po/gui_strings.h:463
|
||||
#: data/po/gui_strings.h:451
|
||||
msgid "Collect Nitro in Math Class"
|
||||
msgstr "Nitro dans la classe de maths !"
|
||||
|
||||
@ -281,7 +296,7 @@ msgid "Collect blue boxes : they will give you weapons or other powerups"
|
||||
msgstr "Ramasse les boîtes bleues : elles contiennent des armes et divers bonus"
|
||||
|
||||
#. I18N: ./data/grandprix/tothemoonandback.challenge
|
||||
#: data/po/gui_strings.h:439
|
||||
#: data/po/gui_strings.h:427
|
||||
msgid "Collect the Pharaohs Treasure"
|
||||
msgstr "Le trésor du Pharaon"
|
||||
|
||||
@ -292,16 +307,21 @@ msgid "Collecting nitro allows you to get speed boosts whenever you wish by pres
|
||||
msgstr "La nitro que tu collectes peut être ensuite utilisée pour te propulser vers l'avant en utilisant la touche correspondante. Ton niveau de nitro est visible dans la barre à la droite de l'écran."
|
||||
|
||||
#. I18N: ./data/grandprix/alltracks.challenge
|
||||
#: data/po/gui_strings.h:424
|
||||
#: data/po/gui_strings.h:412
|
||||
msgid "Come first in the At World's End Grand Prix with 3 'Racer' Level AI karts."
|
||||
msgstr "Arrive premier dans le grand prix 'Au bout du monde' contre 3 opposants virtuels de niveau élevé."
|
||||
|
||||
#. I18N: In the player info dialog (when deleting)
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:147
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:151
|
||||
msgid "Confirm Remove"
|
||||
msgstr "Confirme la suppression"
|
||||
|
||||
#: src/states_screens/race_setup_screen.cpp:170
|
||||
#: src/states_screens/dialogs/confirm_resolution_dialog.cpp:126
|
||||
#, c-format
|
||||
msgid "Confirm resolution within %i seconds"
|
||||
msgstr "Confirme la résolution dans les %i prochaines secondes."
|
||||
|
||||
#: src/states_screens/race_setup_screen.cpp:131
|
||||
msgid "Contains no powerups, so only your driving skills matter!"
|
||||
msgstr "Aucun bonus dans les pistes - seule ton habileté compte !"
|
||||
|
||||
@ -310,7 +330,7 @@ msgstr "Aucun bonus dans les pistes - seule ton habileté compte !"
|
||||
msgid "Continue"
|
||||
msgstr "Continuer"
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:227
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:244
|
||||
msgid "Continue Grand Prix"
|
||||
msgstr "Continuer le Grand Prix"
|
||||
|
||||
@ -333,7 +353,7 @@ msgid "Credits"
|
||||
msgstr "Crédits"
|
||||
|
||||
#. I18N: In the player info dialog (when deleting)
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:131
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:135
|
||||
#, c-format
|
||||
msgid "Do you really want to delete player '%s' ?"
|
||||
msgstr "Voulez-vous vraiment supprimer le joueur '%s' ?"
|
||||
@ -346,12 +366,12 @@ msgid "Enabled"
|
||||
msgstr "Activé"
|
||||
|
||||
#. I18N: In the 'add new player' dialog
|
||||
#: src/states_screens/dialogs/enter_player_name_dialog.cpp:35
|
||||
#: src/states_screens/dialogs/enter_player_name_dialog.cpp:38
|
||||
msgid "Enter the new player's name"
|
||||
msgstr "Entre le nom du nouveau joueur"
|
||||
|
||||
#. I18N: In the 'paused' screen
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:136
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:139
|
||||
msgid "Exit Race"
|
||||
msgstr "Quitter la course"
|
||||
|
||||
@ -361,56 +381,56 @@ msgstr "Quitter la course"
|
||||
msgid "Expert"
|
||||
msgstr "Expert"
|
||||
|
||||
#: src/states_screens/feature_unlocked.cpp:234
|
||||
#: src/states_screens/feature_unlocked.cpp:246
|
||||
msgid "Feature Unlocked"
|
||||
msgstr "Fonctionnalité Déverouillée"
|
||||
|
||||
#: src/modes/linear_world.cpp:229
|
||||
#: src/modes/linear_world.cpp:233
|
||||
msgid "Final lap!"
|
||||
msgstr "Dernier tour!"
|
||||
|
||||
#. I18N: ./data/tracks/jungle/jungle.challenge
|
||||
#: data/po/gui_strings.h:478
|
||||
#: data/po/gui_strings.h:466
|
||||
msgid "Finish 3 laps in Racetrack with 3 easy AI karts in under 2:40 minutes."
|
||||
msgstr "Finis 3 tours dans 'Piste de course' avec trois opposants virtuels novices en 2:40."
|
||||
|
||||
#. I18N: ./data/tracks/snowtuxpeak/snowtuxpeak.challenge
|
||||
#: data/po/gui_strings.h:484
|
||||
#: data/po/gui_strings.h:472
|
||||
msgid "Finish 3 laps on the City track with 3 AI karts in under 4:20 minutes."
|
||||
msgstr "Finis 3 tours dans la piste 'Ville' contre 3 opposants virtuels en 4:20."
|
||||
|
||||
#. I18N: ./data/tracks/canyon/canyon.challenge
|
||||
#: data/po/gui_strings.h:454
|
||||
#: data/po/gui_strings.h:442
|
||||
msgid "Finish 3 laps on the Tux Tollway track with 3 AI karts in under 3:35 minutes."
|
||||
msgstr "Finis 3 tours dans 'L'autoroute de Tux' contre 3 opposants virtuels en 3:35."
|
||||
|
||||
#. I18N: ./data/tracks/jungle/jungle.challenge
|
||||
#: data/po/gui_strings.h:475
|
||||
#: data/po/gui_strings.h:463
|
||||
msgid "Finish Race track in 2:40"
|
||||
msgstr "Piste de course en 2:40"
|
||||
|
||||
#. I18N: ./data/tracks/canyon/canyon.challenge
|
||||
#: data/po/gui_strings.h:451
|
||||
#: data/po/gui_strings.h:439
|
||||
msgid "Finish Tux Tollway track in 3:35"
|
||||
msgstr "L'autoroute de Tux en 3:35"
|
||||
|
||||
#. I18N: ./data/tracks/snowtuxpeak/snowtuxpeak.challenge
|
||||
#: data/po/gui_strings.h:481
|
||||
#: data/po/gui_strings.h:469
|
||||
msgid "Finish the City track in 4:20"
|
||||
msgstr "Course dans la ville en 4:20"
|
||||
|
||||
#. I18N: ./data/tracks/crescentcrossing/crescentcrossing.challenge
|
||||
#: data/po/gui_strings.h:466
|
||||
#: data/po/gui_strings.h:454
|
||||
msgid "Finish with at least 6 points of nitro on three laps of Oliver's Math Class in under 52 seconds."
|
||||
msgstr "Ramasse au moins 6 points de nitro en 3 tours de 'La classe de Maths d'Oliver' en 52 secondes."
|
||||
|
||||
#. I18N: ./data/grandprix/tothemoonandback.challenge
|
||||
#: data/po/gui_strings.h:442
|
||||
#: data/po/gui_strings.h:430
|
||||
msgid "Finish with at least 9 nitro points on 3 laps of Shifting Sands in under 2:20 minutes."
|
||||
msgstr "Ramasse au moins 9 points de nitro en 3 tours sur la piste 'Sables mouvants' en 2:20."
|
||||
|
||||
#. I18N: Shown at the end of a race
|
||||
#: src/states_screens/race_gui.cpp:76
|
||||
#: src/states_screens/race_gui.cpp:75
|
||||
msgid "Finished"
|
||||
msgstr "Fini"
|
||||
|
||||
@ -420,18 +440,23 @@ msgstr "Fini"
|
||||
msgid "Fire"
|
||||
msgstr "Tirer"
|
||||
|
||||
#. I18N: ./data/grandprix/penguinplayground.grandprix
|
||||
#: data/po/gui_strings.h:496
|
||||
msgid "First grand prix, easy to get started"
|
||||
msgstr "Premier grand prix, facile pour commencer"
|
||||
|
||||
#. I18N: Game mode
|
||||
#: src/race/race_manager.hpp:119
|
||||
#: src/race/race_manager.hpp:118
|
||||
msgid "Follow the Leader"
|
||||
msgstr "Suis le meneur"
|
||||
|
||||
#. I18N: ./data/tracks/city/city.challenge
|
||||
#: data/po/gui_strings.h:457
|
||||
#: data/po/gui_strings.h:445
|
||||
msgid "Follow the Leader in the Jungle"
|
||||
msgstr "Suis le meneur dans la jungle"
|
||||
|
||||
#. I18N: ./data/grandprix/atworldsend.challenge
|
||||
#: data/po/gui_strings.h:427
|
||||
#: data/po/gui_strings.h:415
|
||||
msgid "Follow the Leader on a Desert Island"
|
||||
msgstr "Suis le meneur sur une île déserte"
|
||||
|
||||
@ -483,7 +508,7 @@ msgstr ""
|
||||
msgid "General"
|
||||
msgstr "Général"
|
||||
|
||||
#: src/states_screens/race_gui.cpp:81
|
||||
#: src/states_screens/race_gui.cpp:80
|
||||
msgid "Go!"
|
||||
msgstr "Partez!"
|
||||
|
||||
@ -496,16 +521,16 @@ msgstr "Grand Prix"
|
||||
#. I18N: In the 'paused' screen
|
||||
#. I18N: ./data/gui/main.stkgui
|
||||
#. I18N: Main menu button
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:126
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:129
|
||||
#: data/po/gui_strings.h:190
|
||||
msgid "Help"
|
||||
msgstr "Aide"
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:153
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:158
|
||||
msgid "Highscores"
|
||||
msgstr "Meilleurs scores"
|
||||
|
||||
#: src/states_screens/race_setup_screen.cpp:190
|
||||
#: src/states_screens/race_setup_screen.cpp:153
|
||||
msgid "Hit others with weapons until they lose all their lives. (Only in multiplayer games)"
|
||||
msgstr ""
|
||||
"Combat '3 prises' \n"
|
||||
@ -523,16 +548,26 @@ msgstr "Certains boutons ont un cadenas comme celui-ci. Tu dois réussir un déf
|
||||
msgid "Intermediate"
|
||||
msgstr "Intermédiaire"
|
||||
|
||||
#. I18N: In the 'confirm resolution' dialog, that's shown when switching resoluton
|
||||
#: src/states_screens/dialogs/confirm_resolution_dialog.cpp:63
|
||||
msgid "Keep this resolution"
|
||||
msgstr "Conserver cette résolution."
|
||||
|
||||
#: src/states_screens/options_screen_input.cpp:234
|
||||
#, c-format
|
||||
msgid "Keyboard %i"
|
||||
msgstr "Clavier %i"
|
||||
|
||||
#: src/states_screens/race_gui.cpp:77
|
||||
#: src/states_screens/race_gui.cpp:76
|
||||
msgid "Lap"
|
||||
msgstr "Tour"
|
||||
|
||||
#: src/modes/follow_the_leader.cpp:152
|
||||
#. I18N: ./data/grandprix/atworldsend.grandprix
|
||||
#: data/po/gui_strings.h:484
|
||||
msgid "Last grand prix, longer and harder"
|
||||
msgstr "Dernier grand prix, plus long et difficile"
|
||||
|
||||
#: src/modes/follow_the_leader.cpp:128
|
||||
msgid "Leader"
|
||||
msgstr "Meneur"
|
||||
|
||||
@ -544,11 +579,15 @@ msgstr "Gauche"
|
||||
|
||||
#: src/states_screens/arenas_screen.cpp:83
|
||||
#: src/states_screens/challenges.cpp:83
|
||||
#: src/states_screens/race_setup_screen.cpp:175
|
||||
#: src/states_screens/tracks_screen.cpp:151
|
||||
#: src/states_screens/race_setup_screen.cpp:136
|
||||
#: src/states_screens/tracks_screen.cpp:199
|
||||
msgid "Locked : solve active challenges to gain access to more!"
|
||||
msgstr "Barré : relève des défis pour accéder à plus!"
|
||||
|
||||
#: src/states_screens/tracks_screen.cpp:175
|
||||
msgid "Locked!"
|
||||
msgstr "Verrouillé!"
|
||||
|
||||
#. I18N: ./data/gui/options_input.stkgui
|
||||
#. I18N: Key binding
|
||||
#: data/po/gui_strings.h:328
|
||||
@ -585,7 +624,7 @@ msgstr "Musique"
|
||||
msgid "Networking"
|
||||
msgstr "Jeu en ligne"
|
||||
|
||||
#: src/challenges/challenge.cpp:123
|
||||
#: src/challenges/challenge.cpp:121
|
||||
#, c-format
|
||||
msgid ""
|
||||
"New Grand Prix '%s'\n"
|
||||
@ -594,7 +633,7 @@ msgstr ""
|
||||
"Nouveau grand prix\n"
|
||||
"'%s' déverrouillé"
|
||||
|
||||
#: src/challenges/challenge.cpp:129
|
||||
#: src/challenges/challenge.cpp:127
|
||||
#, c-format
|
||||
msgid ""
|
||||
"New difficulty\n"
|
||||
@ -605,11 +644,11 @@ msgstr ""
|
||||
"'%s'\n"
|
||||
"déverrouillée"
|
||||
|
||||
#: src/modes/linear_world.cpp:257
|
||||
#: src/modes/linear_world.cpp:264
|
||||
msgid "New fastest lap"
|
||||
msgstr "Meilleur temps"
|
||||
|
||||
#: src/challenges/challenge.cpp:116
|
||||
#: src/challenges/challenge.cpp:114
|
||||
#, c-format
|
||||
msgid ""
|
||||
"New game mode\n"
|
||||
@ -620,7 +659,7 @@ msgstr ""
|
||||
"jeu déverrouillé :\n"
|
||||
"'%s'"
|
||||
|
||||
#: src/challenges/challenge.cpp:135
|
||||
#: src/challenges/challenge.cpp:133
|
||||
#, c-format
|
||||
msgid ""
|
||||
"New kart\n"
|
||||
@ -631,7 +670,7 @@ msgstr ""
|
||||
"'%s'\n"
|
||||
"déverrouillé"
|
||||
|
||||
#: src/challenges/challenge.cpp:110
|
||||
#: src/challenges/challenge.cpp:108
|
||||
#, c-format
|
||||
msgid ""
|
||||
"New track '%s'\n"
|
||||
@ -648,7 +687,7 @@ msgid "Nitro"
|
||||
msgstr "Nitro"
|
||||
|
||||
#. I18N: Game mode
|
||||
#: src/race/race_manager.hpp:115
|
||||
#: src/race/race_manager.hpp:114
|
||||
msgid "Normal Race"
|
||||
msgstr "Course Normale"
|
||||
|
||||
@ -667,7 +706,7 @@ msgstr "Nombre de karts IA"
|
||||
#. I18N: In the 'paused' screen
|
||||
#. I18N: ./data/gui/main.stkgui
|
||||
#. I18N: Main menu button
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:116
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:119
|
||||
#: data/po/gui_strings.h:186
|
||||
msgid "Options"
|
||||
msgstr "Options"
|
||||
@ -677,16 +716,16 @@ msgstr "Options"
|
||||
msgid "Parachute - slows down all karts in a better position!"
|
||||
msgstr "Parachute - ralentit tous les karts en meilleure position que toi !"
|
||||
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:54
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:57
|
||||
msgid "Paused"
|
||||
msgstr "Pause"
|
||||
|
||||
#: src/karts/player_kart.cpp:254
|
||||
#: src/karts/controller/player_controller.cpp:251
|
||||
msgid "Penalty time!!"
|
||||
msgstr "Temps de pénalité !"
|
||||
|
||||
#. I18N: ./data/gui/tracks.stkgui
|
||||
#: data/po/gui_strings.h:399
|
||||
#. I18N: ./data/grandprix/penguinplayground.grandprix
|
||||
#: data/po/gui_strings.h:493
|
||||
msgid "Penguin Playground"
|
||||
msgstr "Pour jeunes pingouins"
|
||||
|
||||
@ -714,11 +753,11 @@ msgstr "Joueurs"
|
||||
msgid "Plunger - throw straight to pull an opponent back, or throw while looking back to make one lose sight!"
|
||||
msgstr "Débouchoir à ventouse - lance-le droit devant pour tirer un opposant vers l'arrière, ou lance-le en regardant vers l'arrière pour lui obstruer la vue !"
|
||||
|
||||
#: src/states_screens/dialogs/press_a_key_dialog.cpp:49
|
||||
#: src/states_screens/dialogs/press_a_key_dialog.cpp:51
|
||||
msgid "Press ESC to cancel"
|
||||
msgstr "Appuie sur <ESC> pour annuler"
|
||||
|
||||
#: src/states_screens/dialogs/press_a_key_dialog.cpp:32
|
||||
#: src/states_screens/dialogs/press_a_key_dialog.cpp:34
|
||||
msgid "Press a key"
|
||||
msgstr "Appuie sur une touche"
|
||||
|
||||
@ -740,7 +779,7 @@ msgstr "Quitter"
|
||||
msgid "Race"
|
||||
msgstr "Course"
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:61
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:62
|
||||
msgid "Race Results"
|
||||
msgstr "Résultats de la course"
|
||||
|
||||
@ -749,7 +788,7 @@ msgstr "Résultats de la course"
|
||||
msgid "Race Setup"
|
||||
msgstr "Réglages de la course"
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:213
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:215
|
||||
msgid "Race in this track again"
|
||||
msgstr "Rejouer cette piste"
|
||||
|
||||
@ -763,12 +802,12 @@ msgstr "Arène aléatoire"
|
||||
msgid "Random Kart"
|
||||
msgstr "Kart aléatoire"
|
||||
|
||||
#: src/states_screens/tracks_screen.cpp:158
|
||||
#: src/states_screens/tracks_screen.cpp:209
|
||||
msgid "Random Track"
|
||||
msgstr "Piste aléatoire"
|
||||
|
||||
#. I18N: as in "ready, set, go", shown at the beginning of the race
|
||||
#: src/states_screens/race_gui.cpp:79
|
||||
#: src/states_screens/race_gui.cpp:78
|
||||
msgid "Ready!"
|
||||
msgstr "À vos marques..."
|
||||
|
||||
@ -779,12 +818,12 @@ msgid "Regular Race - all blows allowed, so catch weapons and make clever use of
|
||||
msgstr "Course normale - tous les coups sont permis, alors utilise les armes pour t'aider à gagner!"
|
||||
|
||||
#. I18N: In the player info dialog
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:103
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:105
|
||||
msgid "Remove"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#. I18N: In the player info dialog
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:70
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:72
|
||||
msgid "Rename"
|
||||
msgstr "Renommer"
|
||||
|
||||
@ -795,7 +834,7 @@ msgid "Rescue"
|
||||
msgstr "Sauvetage"
|
||||
|
||||
#. I18N: In the 'paused' screen
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:106
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:109
|
||||
msgid "Restart Race"
|
||||
msgstr "Recommencer la course"
|
||||
|
||||
@ -805,22 +844,27 @@ msgstr "Recommencer la course"
|
||||
msgid "Right"
|
||||
msgstr "Droite"
|
||||
|
||||
#: src/states_screens/race_setup_screen.cpp:182
|
||||
#: src/states_screens/race_setup_screen.cpp:144
|
||||
msgid "Run for second place, as the last kart will be disqualified every time the counter hits zero. Beware : going in front of the leader will get you eliminated too!"
|
||||
msgstr "vise la seconde place, car lorsque le compte à rebours atteint zéro, le dernier est éliminé. Attention: dépasser le meneur n'est pas non plus recommendé, car là aussi tu risques l'élimination!"
|
||||
|
||||
#. I18N: ./data/grandprix/tothemoonandback.grandprix
|
||||
#: data/po/gui_strings.h:508
|
||||
msgid "Second grand prix"
|
||||
msgstr "Second grand prix"
|
||||
|
||||
#. I18N: ./data/gui/racesetup.stkgui
|
||||
#: data/po/gui_strings.h:392
|
||||
msgid "Select a game mode"
|
||||
msgstr "Choisis un mode de jeu"
|
||||
|
||||
#: src/states_screens/race_gui.cpp:80
|
||||
#: src/states_screens/race_gui.cpp:79
|
||||
msgid "Set!"
|
||||
msgstr "Prêts"
|
||||
|
||||
#. I18N: In the 'paused' screen
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:201
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:96
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:204
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:99
|
||||
msgid "Setup New Race"
|
||||
msgstr "Nouvelle course"
|
||||
|
||||
@ -830,8 +874,8 @@ msgstr "Nouvelle course"
|
||||
msgid "Sharp Turn"
|
||||
msgstr "Virage brusque"
|
||||
|
||||
#. I18N: ./data/gui/tracks.stkgui
|
||||
#: data/po/gui_strings.h:402
|
||||
#. I18N: ./data/grandprix/snagdrive.grandprix
|
||||
#: data/po/gui_strings.h:499
|
||||
msgid "Snag Drive"
|
||||
msgstr "Chemin des Embûches"
|
||||
|
||||
@ -847,7 +891,11 @@ msgstr "Effets sonores"
|
||||
msgid "Standard"
|
||||
msgstr "Standard"
|
||||
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:125
|
||||
#: src/states_screens/dialogs/gp_info_dialog.cpp:137
|
||||
msgid "Start Grand Prix"
|
||||
msgstr "Commencer le Grand Prix"
|
||||
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:127
|
||||
msgid "Start Race"
|
||||
msgstr "Commencer la course"
|
||||
|
||||
@ -888,8 +936,13 @@ msgstr ""
|
||||
"Le fichier des meilleurs scores était\n"
|
||||
"trop vieux, il a donc été supprimé."
|
||||
|
||||
#. I18N: ./data/grandprix/snagdrive.grandprix
|
||||
#: data/po/gui_strings.h:502
|
||||
msgid "Third grand prix"
|
||||
msgstr "Troisième grand prix"
|
||||
|
||||
#. I18N: Game mode
|
||||
#: src/race/race_manager.hpp:117
|
||||
#: src/race/race_manager.hpp:116
|
||||
msgid "Time Trial"
|
||||
msgstr "Contre la Montre"
|
||||
|
||||
@ -899,7 +952,7 @@ msgstr "Contre la Montre"
|
||||
msgid "Time Trial: Contains no powerups, so only your driving skills matter!"
|
||||
msgstr "Contre la montre : aucun bonus dans les pistes - seule ton habileté compte !"
|
||||
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:45
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:47
|
||||
msgid ""
|
||||
"To add a new Gamepad/Joystick device, simply start SuperTuxKart with it connected and it will appear in the list.\n"
|
||||
"\n"
|
||||
@ -915,8 +968,8 @@ msgstr ""
|
||||
msgid "To help you win, there are some powerups you can collect :"
|
||||
msgstr "Pour t'aider à gagner, voici certains bonus que tu peux ramasser :"
|
||||
|
||||
#. I18N: ./data/gui/tracks.stkgui
|
||||
#: data/po/gui_strings.h:405
|
||||
#. I18N: ./data/grandprix/tothemoonandback.grandprix
|
||||
#: data/po/gui_strings.h:505
|
||||
msgid "To the Moon and Back"
|
||||
msgstr "Jusqu'à la lune"
|
||||
|
||||
@ -932,7 +985,7 @@ msgstr "Piste par %s"
|
||||
msgid "Video"
|
||||
msgstr "Vidéo"
|
||||
|
||||
#: src/modes/linear_world.cpp:612
|
||||
#: src/modes/linear_world.cpp:622
|
||||
msgid "WRONG WAY!"
|
||||
msgstr "MAUVAISE DIRECTION !"
|
||||
|
||||
@ -949,65 +1002,65 @@ msgid "Weapons"
|
||||
msgstr "Armes"
|
||||
|
||||
#. I18N: ./data/followtheleader.challenge
|
||||
#: data/po/gui_strings.h:415
|
||||
#: data/po/gui_strings.h:403
|
||||
msgid "Win Penguin Playground Grand Prix"
|
||||
msgstr "Gagne le Grand Prix 'Pour jeunes pingouins'"
|
||||
|
||||
#. I18N: ./data/followtheleader.challenge
|
||||
#: data/po/gui_strings.h:418
|
||||
#: data/po/gui_strings.h:406
|
||||
msgid "Win Penguin Playground Grand Prix with 3 'Racer' Level AI karts."
|
||||
msgstr "Remporte le grand prix 'Jusqu'à la lune' contre 3 opposants virtuels expérimentés."
|
||||
|
||||
#. I18N: ./data/grandprix/snagdrive.challenge
|
||||
#: data/po/gui_strings.h:433
|
||||
#: data/po/gui_strings.h:421
|
||||
msgid "Win To the Moon and Back Grand Prix"
|
||||
msgstr "Remporte le grand prix 'Jusqu'à la lune'."
|
||||
|
||||
#. I18N: ./data/tracks/fortmagma/fortmagma.challenge
|
||||
#: data/po/gui_strings.h:472
|
||||
#: data/po/gui_strings.h:460
|
||||
msgid "Win a 1 lap Head to Head on Tux Tollway against 1 'Racer' level AI kart."
|
||||
msgstr "Remporte un duel d'un tour sur l'Autoroute de Tux contre un opposant virtuel expérimenté."
|
||||
|
||||
#. I18N: ./data/karts/gnu/gnu.challenge
|
||||
#: data/po/gui_strings.h:448
|
||||
#: data/po/gui_strings.h:436
|
||||
msgid "Win a 4 lap race on Snow Mountain against 4 'Racer' level AI kart."
|
||||
msgstr "Remporte un duel d'un tour sur l'Autoroute de Tux contre un opposant virtuel expérimenté."
|
||||
|
||||
#. I18N: ./data/tracks/city/city.challenge
|
||||
#: data/po/gui_strings.h:460
|
||||
#: data/po/gui_strings.h:448
|
||||
msgid "Win a Follow the Leader race with 3 AI karts in the Amazonian Jungle."
|
||||
msgstr "Remporte une course de type 'Suis le meneur' contre 3 opposants dans la jungle."
|
||||
|
||||
#. I18N: ./data/grandprix/atworldsend.challenge
|
||||
#: data/po/gui_strings.h:430
|
||||
#: data/po/gui_strings.h:418
|
||||
msgid "Win a Follow the Leader race with 3 AI karts on a Desert Island."
|
||||
msgstr "Remporte une course de type 'Suis le meneur' contre 3 opposants sur un île déserte."
|
||||
|
||||
#. I18N: ./data/tracks/fortmagma/fortmagma.challenge
|
||||
#: data/po/gui_strings.h:469
|
||||
#: data/po/gui_strings.h:457
|
||||
msgid "Win a Head to Head on Tux Tollway"
|
||||
msgstr "Remporte un duel sur l'Autoroute de Tux."
|
||||
|
||||
#. I18N: ./data/karts/gnu/gnu.challenge
|
||||
#: data/po/gui_strings.h:445
|
||||
#: data/po/gui_strings.h:433
|
||||
msgid "Win a race on Snow Mountain"
|
||||
msgstr "Remporte une course sur \"Sommet enneigé\""
|
||||
|
||||
#. I18N: ./data/grandprix/alltracks.challenge
|
||||
#: data/po/gui_strings.h:421
|
||||
#: data/po/gui_strings.h:409
|
||||
msgid "Win the At World's End Grand Prix"
|
||||
msgstr "Remporte le grand prix 'Au bout du monde'."
|
||||
|
||||
#. I18N: ./data/grandprix/snagdrive.challenge
|
||||
#: data/po/gui_strings.h:436
|
||||
#: data/po/gui_strings.h:424
|
||||
msgid "Win the To the Moon and Back Grand Prix with 3 'Racer' Level AI karts."
|
||||
msgstr "Remporte le grand prix 'Jusqu'à la lune' contre 3 opposants virtuels expérimentés."
|
||||
|
||||
#: src/karts/player_kart.cpp:354
|
||||
#: src/karts/controller/player_controller.cpp:342
|
||||
msgid "You finished the race!"
|
||||
msgstr "Tu as fini la course !"
|
||||
|
||||
#: src/modes/world.cpp:457
|
||||
#: src/modes/world.cpp:516
|
||||
msgid ""
|
||||
"You have been\n"
|
||||
"eliminated!"
|
||||
@ -1015,7 +1068,7 @@ msgstr ""
|
||||
"Tu as été\n"
|
||||
"éliminé !"
|
||||
|
||||
#: src/karts/player_kart.cpp:353
|
||||
#: src/karts/controller/player_controller.cpp:341
|
||||
msgid "You won the race!"
|
||||
msgstr "Tu as gagné la course !"
|
||||
|
||||
@ -1037,10 +1090,6 @@ msgstr "[aucun]"
|
||||
|
||||
#~ msgid "Special"
|
||||
#~ msgstr "Spécial"
|
||||
#~ msgid "All tracks"
|
||||
#~ msgstr "Toutes les pistes"
|
||||
#~ msgid "All tracks included in SuperTuxKart"
|
||||
#~ msgstr "Toutes les pistes de SuperTuxKart"
|
||||
#~ msgid "Amazonian Journey"
|
||||
#~ msgstr "Voyage en Amazonie"
|
||||
#~ msgid "Around the Lighthouse"
|
||||
@ -1067,14 +1116,10 @@ msgstr "[aucun]"
|
||||
#~ "modifié par Marianne Gagnon"
|
||||
#~ msgid "Crescent Crossing"
|
||||
#~ msgstr "Sous la pleine lune"
|
||||
#~ msgid "First grand prix, easy to get started"
|
||||
#~ msgstr "Premier grand prix, facile pour commencer"
|
||||
#~ msgid "Fort Magma"
|
||||
#~ msgstr "Fort Magma"
|
||||
#~ msgid "King Weird's Castle"
|
||||
#~ msgstr "Château du Roi Tordu"
|
||||
#~ msgid "Last grand prix, longer and harder"
|
||||
#~ msgstr "Dernier grand prix, plus long et difficile"
|
||||
#~ msgid "Oliver's Math Class"
|
||||
#~ msgstr "Classe de maths d'Oliver"
|
||||
#~ msgid "On the Beach"
|
||||
@ -1083,8 +1128,6 @@ msgstr "[aucun]"
|
||||
#~ msgstr "Île préhistorique"
|
||||
#~ msgid "Racetrack"
|
||||
#~ msgstr "Piste de course"
|
||||
#~ msgid "Second grand prix"
|
||||
#~ msgstr "Second grand prix"
|
||||
#~ msgid "Secret Garden"
|
||||
#~ msgstr "Jardin Secret"
|
||||
#~ msgid "Shifting Sands"
|
||||
@ -1101,8 +1144,6 @@ msgstr "[aucun]"
|
||||
#~ msgstr "L'île"
|
||||
#~ msgid "The old mine"
|
||||
#~ msgstr "La vieille mine"
|
||||
#~ msgid "Third grand prix"
|
||||
#~ msgstr "Troisième grand prix"
|
||||
#~ msgid "Tux Tollway"
|
||||
#~ msgstr "Autoroute de Tux"
|
||||
#~ msgid "XR591"
|
||||
|
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-01 21:05-0500\n"
|
||||
"POT-Creation-Date: 2010-02-15 19:20-0500\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"
|
||||
@ -17,13 +17,13 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. I18N: In the track setup screen (number of laps choice, where %i is the number)
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:114
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:116
|
||||
#, c-format
|
||||
msgid "%i laps"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: as in "fastest lap: 60 seconds by Wilber"
|
||||
#: src/modes/linear_world.cpp:263
|
||||
#: src/modes/linear_world.cpp:270
|
||||
#, c-format
|
||||
msgid "%s by %s"
|
||||
msgstr ""
|
||||
@ -33,7 +33,7 @@ msgstr ""
|
||||
msgid "%s is ready"
|
||||
msgstr ""
|
||||
|
||||
#: src/modes/world.cpp:461
|
||||
#: src/modes/world.cpp:520
|
||||
#, c-format
|
||||
msgid ""
|
||||
"'%s' has\n"
|
||||
@ -41,7 +41,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. I18N: for empty highscores entries
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:237
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:238
|
||||
msgid "(Empty)"
|
||||
msgstr ""
|
||||
|
||||
@ -75,7 +75,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. I18N: Game mode
|
||||
#: src/race/race_manager.hpp:121
|
||||
#: src/race/race_manager.hpp:120
|
||||
msgid "3 Strikes Battle"
|
||||
msgstr ""
|
||||
|
||||
@ -87,10 +87,14 @@ msgid ""
|
||||
"they lose all their lives."
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:161
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:163
|
||||
msgid "= Highscores ="
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:229
|
||||
msgid "Abort Grand Prix"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/gui/main.stkgui
|
||||
#. I18N: Main menu button
|
||||
#: data/po/gui_strings.h:194
|
||||
@ -104,7 +108,7 @@ msgid "Accelerate"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the 'add new input device' dialog
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:56
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:58
|
||||
msgid "Add Keyboard Configuration"
|
||||
msgstr ""
|
||||
|
||||
@ -130,20 +134,30 @@ msgstr ""
|
||||
#. I18N: ./data/gui/arenas.stkgui
|
||||
#. I18N: track group
|
||||
#: src/states_screens/kart_selection.cpp:723
|
||||
#: src/states_screens/tracks_screen.cpp:56 data/po/gui_strings.h:15
|
||||
#: src/states_screens/tracks_screen.cpp:61 data/po/gui_strings.h:15
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/gui/tracks.stkgui
|
||||
#. I18N: Section in track selection screen
|
||||
#: data/po/gui_strings.h:412
|
||||
#: data/po/gui_strings.h:400
|
||||
msgid "All Tracks"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/race_setup_screen.cpp:164
|
||||
#: src/states_screens/race_setup_screen.cpp:124
|
||||
msgid "All blows allowed, so catch weapons and make clever use of them!"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/alltracks.grandprix
|
||||
#: data/po/gui_strings.h:475
|
||||
msgid "All tracks"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/alltracks.grandprix
|
||||
#: data/po/gui_strings.h:478
|
||||
msgid "All tracks included in SuperTuxKart"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/gui/help2.stkgui
|
||||
#: data/po/gui_strings.h:116
|
||||
msgid "Anchor - slows down greatly the kart in the first position"
|
||||
@ -161,8 +175,8 @@ msgstr ""
|
||||
msgid "Arenas"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/gui/tracks.stkgui
|
||||
#: data/po/gui_strings.h:408
|
||||
#. I18N: ./data/grandprix/atworldsend.grandprix
|
||||
#: data/po/gui_strings.h:481
|
||||
msgid "At World's End"
|
||||
msgstr ""
|
||||
|
||||
@ -208,7 +222,7 @@ msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the 'paused' screen
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:67
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:70
|
||||
msgid "Back to Race"
|
||||
msgstr ""
|
||||
|
||||
@ -218,7 +232,7 @@ msgstr ""
|
||||
msgid "Back to main menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:232
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:249
|
||||
msgid "Back to the main menu"
|
||||
msgstr ""
|
||||
|
||||
@ -246,14 +260,15 @@ msgid ""
|
||||
"Cake - thrown at the closest rival, best on short ranges and long straights"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:71
|
||||
#: src/states_screens/dialogs/enter_player_name_dialog.cpp:69
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:85
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:73
|
||||
#: src/states_screens/dialogs/confirm_resolution_dialog.cpp:79
|
||||
#: src/states_screens/dialogs/enter_player_name_dialog.cpp:72
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:87
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the player info dialog (when deleting)
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:165
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:169
|
||||
msgid "Cancel Remove"
|
||||
msgstr ""
|
||||
|
||||
@ -276,7 +291,7 @@ msgid "Choose a Kart"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/crescentcrossing/crescentcrossing.challenge
|
||||
#: data/po/gui_strings.h:463
|
||||
#: data/po/gui_strings.h:451
|
||||
msgid "Collect Nitro in Math Class"
|
||||
msgstr ""
|
||||
|
||||
@ -287,7 +302,7 @@ msgid "Collect blue boxes : they will give you weapons or other powerups"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/tothemoonandback.challenge
|
||||
#: data/po/gui_strings.h:439
|
||||
#: data/po/gui_strings.h:427
|
||||
msgid "Collect the Pharaohs Treasure"
|
||||
msgstr ""
|
||||
|
||||
@ -301,17 +316,22 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/alltracks.challenge
|
||||
#: data/po/gui_strings.h:424
|
||||
#: data/po/gui_strings.h:412
|
||||
msgid ""
|
||||
"Come first in the At World's End Grand Prix with 3 'Racer' Level AI karts."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the player info dialog (when deleting)
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:147
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:151
|
||||
msgid "Confirm Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/race_setup_screen.cpp:170
|
||||
#: src/states_screens/dialogs/confirm_resolution_dialog.cpp:126
|
||||
#, c-format
|
||||
msgid "Confirm resolution within %i seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/race_setup_screen.cpp:131
|
||||
msgid "Contains no powerups, so only your driving skills matter!"
|
||||
msgstr ""
|
||||
|
||||
@ -320,7 +340,7 @@ msgstr ""
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:227
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:244
|
||||
msgid "Continue Grand Prix"
|
||||
msgstr ""
|
||||
|
||||
@ -342,7 +362,7 @@ msgid "Credits"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the player info dialog (when deleting)
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:131
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:135
|
||||
#, c-format
|
||||
msgid "Do you really want to delete player '%s' ?"
|
||||
msgstr ""
|
||||
@ -354,12 +374,12 @@ msgid "Enabled"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the 'add new player' dialog
|
||||
#: src/states_screens/dialogs/enter_player_name_dialog.cpp:35
|
||||
#: src/states_screens/dialogs/enter_player_name_dialog.cpp:38
|
||||
msgid "Enter the new player's name"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the 'paused' screen
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:136
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:139
|
||||
msgid "Exit Race"
|
||||
msgstr ""
|
||||
|
||||
@ -369,61 +389,61 @@ msgstr ""
|
||||
msgid "Expert"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/feature_unlocked.cpp:234
|
||||
#: src/states_screens/feature_unlocked.cpp:246
|
||||
msgid "Feature Unlocked"
|
||||
msgstr ""
|
||||
|
||||
#: src/modes/linear_world.cpp:229
|
||||
#: src/modes/linear_world.cpp:233
|
||||
msgid "Final lap!"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/jungle/jungle.challenge
|
||||
#: data/po/gui_strings.h:478
|
||||
#: data/po/gui_strings.h:466
|
||||
msgid "Finish 3 laps in Racetrack with 3 easy AI karts in under 2:40 minutes."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/snowtuxpeak/snowtuxpeak.challenge
|
||||
#: data/po/gui_strings.h:484
|
||||
#: data/po/gui_strings.h:472
|
||||
msgid "Finish 3 laps on the City track with 3 AI karts in under 4:20 minutes."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/canyon/canyon.challenge
|
||||
#: data/po/gui_strings.h:454
|
||||
#: data/po/gui_strings.h:442
|
||||
msgid ""
|
||||
"Finish 3 laps on the Tux Tollway track with 3 AI karts in under 3:35 minutes."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/jungle/jungle.challenge
|
||||
#: data/po/gui_strings.h:475
|
||||
#: data/po/gui_strings.h:463
|
||||
msgid "Finish Race track in 2:40"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/canyon/canyon.challenge
|
||||
#: data/po/gui_strings.h:451
|
||||
#: data/po/gui_strings.h:439
|
||||
msgid "Finish Tux Tollway track in 3:35"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/snowtuxpeak/snowtuxpeak.challenge
|
||||
#: data/po/gui_strings.h:481
|
||||
#: data/po/gui_strings.h:469
|
||||
msgid "Finish the City track in 4:20"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/crescentcrossing/crescentcrossing.challenge
|
||||
#: data/po/gui_strings.h:466
|
||||
#: data/po/gui_strings.h:454
|
||||
msgid ""
|
||||
"Finish with at least 6 points of nitro on three laps of Oliver's Math Class "
|
||||
"in under 52 seconds."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/tothemoonandback.challenge
|
||||
#: data/po/gui_strings.h:442
|
||||
#: data/po/gui_strings.h:430
|
||||
msgid ""
|
||||
"Finish with at least 9 nitro points on 3 laps of Shifting Sands in under "
|
||||
"2:20 minutes."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: Shown at the end of a race
|
||||
#: src/states_screens/race_gui.cpp:76
|
||||
#: src/states_screens/race_gui.cpp:75
|
||||
msgid "Finished"
|
||||
msgstr ""
|
||||
|
||||
@ -433,18 +453,23 @@ msgstr ""
|
||||
msgid "Fire"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/penguinplayground.grandprix
|
||||
#: data/po/gui_strings.h:496
|
||||
msgid "First grand prix, easy to get started"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: Game mode
|
||||
#: src/race/race_manager.hpp:119
|
||||
#: src/race/race_manager.hpp:118
|
||||
msgid "Follow the Leader"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/city/city.challenge
|
||||
#: data/po/gui_strings.h:457
|
||||
#: data/po/gui_strings.h:445
|
||||
msgid "Follow the Leader in the Jungle"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/atworldsend.challenge
|
||||
#: data/po/gui_strings.h:427
|
||||
#: data/po/gui_strings.h:415
|
||||
msgid "Follow the Leader on a Desert Island"
|
||||
msgstr ""
|
||||
|
||||
@ -495,7 +520,7 @@ msgstr ""
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/race_gui.cpp:81
|
||||
#: src/states_screens/race_gui.cpp:80
|
||||
msgid "Go!"
|
||||
msgstr ""
|
||||
|
||||
@ -508,16 +533,16 @@ msgstr ""
|
||||
#. I18N: In the 'paused' screen
|
||||
#. I18N: ./data/gui/main.stkgui
|
||||
#. I18N: Main menu button
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:126
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:129
|
||||
#: data/po/gui_strings.h:190
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:153
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:158
|
||||
msgid "Highscores"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/race_setup_screen.cpp:190
|
||||
#: src/states_screens/race_setup_screen.cpp:153
|
||||
msgid ""
|
||||
"Hit others with weapons until they lose all their lives. (Only in "
|
||||
"multiplayer games)"
|
||||
@ -537,16 +562,26 @@ msgstr ""
|
||||
msgid "Intermediate"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the 'confirm resolution' dialog, that's shown when switching resoluton
|
||||
#: src/states_screens/dialogs/confirm_resolution_dialog.cpp:63
|
||||
msgid "Keep this resolution"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/options_screen_input.cpp:234
|
||||
#, c-format
|
||||
msgid "Keyboard %i"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/race_gui.cpp:77
|
||||
#: src/states_screens/race_gui.cpp:76
|
||||
msgid "Lap"
|
||||
msgstr ""
|
||||
|
||||
#: src/modes/follow_the_leader.cpp:152
|
||||
#. I18N: ./data/grandprix/atworldsend.grandprix
|
||||
#: data/po/gui_strings.h:484
|
||||
msgid "Last grand prix, longer and harder"
|
||||
msgstr ""
|
||||
|
||||
#: src/modes/follow_the_leader.cpp:128
|
||||
msgid "Leader"
|
||||
msgstr ""
|
||||
|
||||
@ -558,11 +593,15 @@ msgstr ""
|
||||
|
||||
#: src/states_screens/arenas_screen.cpp:83
|
||||
#: src/states_screens/challenges.cpp:83
|
||||
#: src/states_screens/race_setup_screen.cpp:175
|
||||
#: src/states_screens/tracks_screen.cpp:151
|
||||
#: src/states_screens/race_setup_screen.cpp:136
|
||||
#: src/states_screens/tracks_screen.cpp:199
|
||||
msgid "Locked : solve active challenges to gain access to more!"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/tracks_screen.cpp:175
|
||||
msgid "Locked!"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/gui/options_input.stkgui
|
||||
#. I18N: Key binding
|
||||
#: data/po/gui_strings.h:328
|
||||
@ -599,14 +638,14 @@ msgstr ""
|
||||
msgid "Networking"
|
||||
msgstr ""
|
||||
|
||||
#: src/challenges/challenge.cpp:123
|
||||
#: src/challenges/challenge.cpp:121
|
||||
#, c-format
|
||||
msgid ""
|
||||
"New Grand Prix '%s'\n"
|
||||
"now available"
|
||||
msgstr ""
|
||||
|
||||
#: src/challenges/challenge.cpp:129
|
||||
#: src/challenges/challenge.cpp:127
|
||||
#, c-format
|
||||
msgid ""
|
||||
"New difficulty\n"
|
||||
@ -614,11 +653,11 @@ msgid ""
|
||||
"now available"
|
||||
msgstr ""
|
||||
|
||||
#: src/modes/linear_world.cpp:257
|
||||
#: src/modes/linear_world.cpp:264
|
||||
msgid "New fastest lap"
|
||||
msgstr ""
|
||||
|
||||
#: src/challenges/challenge.cpp:116
|
||||
#: src/challenges/challenge.cpp:114
|
||||
#, c-format
|
||||
msgid ""
|
||||
"New game mode\n"
|
||||
@ -626,7 +665,7 @@ msgid ""
|
||||
"now available"
|
||||
msgstr ""
|
||||
|
||||
#: src/challenges/challenge.cpp:135
|
||||
#: src/challenges/challenge.cpp:133
|
||||
#, c-format
|
||||
msgid ""
|
||||
"New kart\n"
|
||||
@ -634,7 +673,7 @@ msgid ""
|
||||
"now available"
|
||||
msgstr ""
|
||||
|
||||
#: src/challenges/challenge.cpp:110
|
||||
#: src/challenges/challenge.cpp:108
|
||||
#, c-format
|
||||
msgid ""
|
||||
"New track '%s'\n"
|
||||
@ -648,7 +687,7 @@ msgid "Nitro"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: Game mode
|
||||
#: src/race/race_manager.hpp:115
|
||||
#: src/race/race_manager.hpp:114
|
||||
msgid "Normal Race"
|
||||
msgstr ""
|
||||
|
||||
@ -667,7 +706,7 @@ msgstr ""
|
||||
#. I18N: In the 'paused' screen
|
||||
#. I18N: ./data/gui/main.stkgui
|
||||
#. I18N: Main menu button
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:116
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:119
|
||||
#: data/po/gui_strings.h:186
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
@ -677,16 +716,16 @@ msgstr ""
|
||||
msgid "Parachute - slows down all karts in a better position!"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:54
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:57
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
#: src/karts/player_kart.cpp:254
|
||||
#: src/karts/controller/player_controller.cpp:251
|
||||
msgid "Penalty time!!"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/gui/tracks.stkgui
|
||||
#: data/po/gui_strings.h:399
|
||||
#. I18N: ./data/grandprix/penguinplayground.grandprix
|
||||
#: data/po/gui_strings.h:493
|
||||
msgid "Penguin Playground"
|
||||
msgstr ""
|
||||
|
||||
@ -715,11 +754,11 @@ msgid ""
|
||||
"back to make one lose sight!"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/press_a_key_dialog.cpp:49
|
||||
#: src/states_screens/dialogs/press_a_key_dialog.cpp:51
|
||||
msgid "Press ESC to cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/press_a_key_dialog.cpp:32
|
||||
#: src/states_screens/dialogs/press_a_key_dialog.cpp:34
|
||||
msgid "Press a key"
|
||||
msgstr ""
|
||||
|
||||
@ -741,7 +780,7 @@ msgstr ""
|
||||
msgid "Race"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:61
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:62
|
||||
msgid "Race Results"
|
||||
msgstr ""
|
||||
|
||||
@ -750,7 +789,7 @@ msgstr ""
|
||||
msgid "Race Setup"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:213
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:215
|
||||
msgid "Race in this track again"
|
||||
msgstr ""
|
||||
|
||||
@ -764,12 +803,12 @@ msgstr ""
|
||||
msgid "Random Kart"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/tracks_screen.cpp:158
|
||||
#: src/states_screens/tracks_screen.cpp:209
|
||||
msgid "Random Track"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: as in "ready, set, go", shown at the beginning of the race
|
||||
#: src/states_screens/race_gui.cpp:79
|
||||
#: src/states_screens/race_gui.cpp:78
|
||||
msgid "Ready!"
|
||||
msgstr ""
|
||||
|
||||
@ -782,12 +821,12 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the player info dialog
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:103
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:105
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the player info dialog
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:70
|
||||
#: src/states_screens/dialogs/player_info_dialog.cpp:72
|
||||
msgid "Rename"
|
||||
msgstr ""
|
||||
|
||||
@ -798,7 +837,7 @@ msgid "Rescue"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the 'paused' screen
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:106
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:109
|
||||
msgid "Restart Race"
|
||||
msgstr ""
|
||||
|
||||
@ -808,25 +847,30 @@ msgstr ""
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/race_setup_screen.cpp:182
|
||||
#: src/states_screens/race_setup_screen.cpp:144
|
||||
msgid ""
|
||||
"Run for second place, as the last kart will be disqualified every time the "
|
||||
"counter hits zero. Beware : going in front of the leader will get you "
|
||||
"eliminated too!"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/tothemoonandback.grandprix
|
||||
#: data/po/gui_strings.h:508
|
||||
msgid "Second grand prix"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/gui/racesetup.stkgui
|
||||
#: data/po/gui_strings.h:392
|
||||
msgid "Select a game mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/race_gui.cpp:80
|
||||
#: src/states_screens/race_gui.cpp:79
|
||||
msgid "Set!"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: In the 'paused' screen
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:201
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:96
|
||||
#: src/states_screens/dialogs/race_over_dialog.cpp:204
|
||||
#: src/states_screens/dialogs/race_paused_dialog.cpp:99
|
||||
msgid "Setup New Race"
|
||||
msgstr ""
|
||||
|
||||
@ -836,8 +880,8 @@ msgstr ""
|
||||
msgid "Sharp Turn"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/gui/tracks.stkgui
|
||||
#: data/po/gui_strings.h:402
|
||||
#. I18N: ./data/grandprix/snagdrive.grandprix
|
||||
#: data/po/gui_strings.h:499
|
||||
msgid "Snag Drive"
|
||||
msgstr ""
|
||||
|
||||
@ -853,7 +897,11 @@ msgstr ""
|
||||
msgid "Standard"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:125
|
||||
#: src/states_screens/dialogs/gp_info_dialog.cpp:137
|
||||
msgid "Start Grand Prix"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/track_info_dialog.cpp:127
|
||||
msgid "Start Race"
|
||||
msgstr ""
|
||||
|
||||
@ -891,8 +939,13 @@ msgid ""
|
||||
"all highscores have been erased."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/snagdrive.grandprix
|
||||
#: data/po/gui_strings.h:502
|
||||
msgid "Third grand prix"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: Game mode
|
||||
#: src/race/race_manager.hpp:117
|
||||
#: src/race/race_manager.hpp:116
|
||||
msgid "Time Trial"
|
||||
msgstr ""
|
||||
|
||||
@ -902,7 +955,7 @@ msgstr ""
|
||||
msgid "Time Trial: Contains no powerups, so only your driving skills matter!"
|
||||
msgstr ""
|
||||
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:45
|
||||
#: src/states_screens/dialogs/add_device_dialog.cpp:47
|
||||
msgid ""
|
||||
"To add a new Gamepad/Joystick device, simply start SuperTuxKart with it "
|
||||
"connected and it will appear in the list.\n"
|
||||
@ -920,8 +973,8 @@ msgstr ""
|
||||
msgid "To help you win, there are some powerups you can collect :"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/gui/tracks.stkgui
|
||||
#: data/po/gui_strings.h:405
|
||||
#. I18N: ./data/grandprix/tothemoonandback.grandprix
|
||||
#: data/po/gui_strings.h:505
|
||||
msgid "To the Moon and Back"
|
||||
msgstr ""
|
||||
|
||||
@ -937,7 +990,7 @@ msgstr ""
|
||||
msgid "Video"
|
||||
msgstr ""
|
||||
|
||||
#: src/modes/linear_world.cpp:612
|
||||
#: src/modes/linear_world.cpp:622
|
||||
msgid "WRONG WAY!"
|
||||
msgstr ""
|
||||
|
||||
@ -952,72 +1005,72 @@ msgid "Weapons"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/followtheleader.challenge
|
||||
#: data/po/gui_strings.h:415
|
||||
#: data/po/gui_strings.h:403
|
||||
msgid "Win Penguin Playground Grand Prix"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/followtheleader.challenge
|
||||
#: data/po/gui_strings.h:418
|
||||
#: data/po/gui_strings.h:406
|
||||
msgid "Win Penguin Playground Grand Prix with 3 'Racer' Level AI karts."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/snagdrive.challenge
|
||||
#: data/po/gui_strings.h:433
|
||||
#: data/po/gui_strings.h:421
|
||||
msgid "Win To the Moon and Back Grand Prix"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/fortmagma/fortmagma.challenge
|
||||
#: data/po/gui_strings.h:472
|
||||
#: data/po/gui_strings.h:460
|
||||
msgid ""
|
||||
"Win a 1 lap Head to Head on Tux Tollway against 1 'Racer' level AI kart."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/karts/gnu/gnu.challenge
|
||||
#: data/po/gui_strings.h:448
|
||||
#: data/po/gui_strings.h:436
|
||||
msgid "Win a 4 lap race on Snow Mountain against 4 'Racer' level AI kart."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/city/city.challenge
|
||||
#: data/po/gui_strings.h:460
|
||||
#: data/po/gui_strings.h:448
|
||||
msgid "Win a Follow the Leader race with 3 AI karts in the Amazonian Jungle."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/atworldsend.challenge
|
||||
#: data/po/gui_strings.h:430
|
||||
#: data/po/gui_strings.h:418
|
||||
msgid "Win a Follow the Leader race with 3 AI karts on a Desert Island."
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/tracks/fortmagma/fortmagma.challenge
|
||||
#: data/po/gui_strings.h:469
|
||||
#: data/po/gui_strings.h:457
|
||||
msgid "Win a Head to Head on Tux Tollway"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/karts/gnu/gnu.challenge
|
||||
#: data/po/gui_strings.h:445
|
||||
#: data/po/gui_strings.h:433
|
||||
msgid "Win a race on Snow Mountain"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/alltracks.challenge
|
||||
#: data/po/gui_strings.h:421
|
||||
#: data/po/gui_strings.h:409
|
||||
msgid "Win the At World's End Grand Prix"
|
||||
msgstr ""
|
||||
|
||||
#. I18N: ./data/grandprix/snagdrive.challenge
|
||||
#: data/po/gui_strings.h:436
|
||||
#: data/po/gui_strings.h:424
|
||||
msgid "Win the To the Moon and Back Grand Prix with 3 'Racer' Level AI karts."
|
||||
msgstr ""
|
||||
|
||||
#: src/karts/player_kart.cpp:354
|
||||
#: src/karts/controller/player_controller.cpp:342
|
||||
msgid "You finished the race!"
|
||||
msgstr ""
|
||||
|
||||
#: src/modes/world.cpp:457
|
||||
#: src/modes/world.cpp:516
|
||||
msgid ""
|
||||
"You have been\n"
|
||||
"eliminated!"
|
||||
msgstr ""
|
||||
|
||||
#: src/karts/player_kart.cpp:353
|
||||
#: src/karts/controller/player_controller.cpp:341
|
||||
msgid "You won the race!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
CPP_FILE_LIST="`find ./src -name '*.cpp' -print` `find ./src -name '*.hpp' -print`"
|
||||
LISP_FILE_LIST="`find ./data -name '*.track' -print` `find ./data -name '*.challenge' -print` `find ./data -name '*.grandprix' -print`"
|
||||
XML_FILE_LIST=`find ./data -name '*.xml' -print`
|
||||
STKGUI_FILE_LIST=`find ./data -name '*.stkgui' -print && find ./data -name '*.challenge' -print`
|
||||
#XML_FILE_LIST=`find ./data -name '*.xml' -print`
|
||||
OTHER_XML_FILES=`find ./data -name '*.stkgui' -print && find ./data -name '*.challenge' -print && find ./data -name '*.grandprix' -print`
|
||||
|
||||
echo "--------------------"
|
||||
echo " Source Files :"
|
||||
@ -20,13 +20,10 @@ echo $LISP_FILE_LIST
|
||||
echo "--------------------"
|
||||
echo " XMl Files :"
|
||||
echo "--------------------"
|
||||
echo $STKGUI_FILE_LIST # $XML_FILE_LIST
|
||||
echo $OTHER_XML_FILES # $XML_FILE_LIST
|
||||
|
||||
# XML Files
|
||||
# (Since xgettext cannot read XML directly, strings are extracted using 'grep' and 'sed' first
|
||||
#grep -ho 'text=\"[^\"]*' $XML_FILE_LIST $STKGUI_FILE_LIST | sed 's/text=\"\(.*\)/_(\"\1\")/' > ./data/po/gui_strings.txt
|
||||
# nothing in .xml files atm. If there ever is, add $XML_FILE_LIST below
|
||||
python ./data/po/extract_strings_from_XML.py $STKGUI_FILE_LIST
|
||||
python ./data/po/extract_strings_from_XML.py $OTHER_XML_FILES
|
||||
|
||||
|
||||
|
||||
|
@ -24,50 +24,102 @@
|
||||
#include <stdexcept>
|
||||
|
||||
#include "io/file_manager.hpp"
|
||||
#include "lisp/parser.hpp"
|
||||
#include "lisp/lisp.hpp"
|
||||
#include "tracks/track_manager.hpp"
|
||||
#include "utils/string_utils.hpp"
|
||||
#include "utils/translation.hpp"
|
||||
|
||||
GrandPrixData::GrandPrixData(const std::string filename)
|
||||
GrandPrixData::GrandPrixData(const std::string filename) throw(std::logic_error)
|
||||
{
|
||||
m_filename = filename;
|
||||
m_id = StringUtils::getBasename(StringUtils::removeExtension(filename));
|
||||
const lisp::Lisp* lisp = 0;
|
||||
try
|
||||
|
||||
XMLNode* root = file_manager->createXMLTree(file_manager->getDataDir()+filename);
|
||||
if (!root)
|
||||
{
|
||||
fprintf(stderr, "/!\\ Error while trying to read grandprix file '%s'\n", filename.c_str());
|
||||
throw std::logic_error("File not found");
|
||||
}
|
||||
|
||||
bool foundName = false;
|
||||
|
||||
if (root->getName() == "supertuxkart_grand_prix")
|
||||
{
|
||||
lisp::Parser parser;
|
||||
lisp = parser.parse(file_manager->getConfigFile(m_filename));
|
||||
|
||||
lisp = lisp->getLisp("supertuxkart-grand-prix");
|
||||
if(!lisp)
|
||||
{
|
||||
throw std::runtime_error("No supertuxkart-grand-prix node");
|
||||
}
|
||||
|
||||
std::string temp_name;
|
||||
lisp->get ("name", temp_name );
|
||||
// FIXME: for now all GP names are automatically translated by
|
||||
// the lisp code, so no need to translate them here (which actually
|
||||
// results in a crash, since the translated name is wchar_t and not
|
||||
// utf-8.
|
||||
//m_name = _(temp_name.c_str());
|
||||
m_name = temp_name.c_str();
|
||||
if (root->get("name", &temp_name) == 0)
|
||||
{
|
||||
fprintf(stderr, "/!\\ Error while trying to read grandprix file '%s' : "
|
||||
"missing 'name' attribute\n", filename.c_str());
|
||||
delete root;
|
||||
throw std::logic_error("File contents are incomplete or corrupt");
|
||||
}
|
||||
m_name = _(temp_name.c_str());
|
||||
foundName = true;
|
||||
|
||||
std::string temp_desc;
|
||||
const int readDesc = root->get( "description", &temp_desc );
|
||||
if (readDesc == 1 && temp_desc.size() > 0)
|
||||
{
|
||||
m_description = _(temp_desc.c_str());
|
||||
}
|
||||
|
||||
// This used to be there, but I'm leaving it out since it seems it was unused
|
||||
// lisp->get("item", m_item_style);
|
||||
|
||||
lisp->get ("description", m_description );
|
||||
lisp->get ("item", m_item_style);
|
||||
lisp->getVector("tracks", m_tracks );
|
||||
lisp->getVector("laps", m_laps );
|
||||
}
|
||||
catch(std::exception& err)
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "Error while reading grandprix file '%s'\n", filename.c_str());
|
||||
fprintf(stderr, "%s", err.what());
|
||||
fprintf(stderr, "\n");
|
||||
fprintf(stderr, "/!\\ Error while trying to read grandprix file '%s' : "
|
||||
"Root node has an unexpected name\n", filename.c_str());
|
||||
delete root;
|
||||
throw std::logic_error("File contents are incomplete or corrupt");
|
||||
}
|
||||
|
||||
|
||||
const int amount = root->getNumNodes();
|
||||
for (int i=0; i<amount; i++)
|
||||
{
|
||||
const XMLNode* node = root->getNode(i);
|
||||
|
||||
// read a track entry
|
||||
if (node->getName() == "track")
|
||||
{
|
||||
std::string trackID;
|
||||
int numLaps;
|
||||
|
||||
const int idFound = node->get("id", &trackID );
|
||||
const int lapFound = node->get("laps", &numLaps );
|
||||
|
||||
if (!idFound || !lapFound)
|
||||
{
|
||||
fprintf(stderr, "/!\\ Error while trying to read grandprix file '%s' : "
|
||||
"<track> tag does not have id and laps attributes. \n", filename.c_str());
|
||||
delete root;
|
||||
throw std::logic_error("File contents are incomplete or corrupt");
|
||||
}
|
||||
|
||||
m_tracks.push_back(trackID);
|
||||
m_laps.push_back(numLaps);
|
||||
|
||||
assert(m_tracks.size() == m_laps.size());
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "Unknown node in Grand Prix XML file : " << node->getName().c_str() << std::endl;
|
||||
delete root;
|
||||
throw std::runtime_error("Unknown node in sfx XML file");
|
||||
}
|
||||
}// nend for
|
||||
|
||||
delete root;
|
||||
|
||||
// sanity checks
|
||||
if (!foundName)
|
||||
{
|
||||
fprintf(stderr, "/!\\ Error while trying to read grandprix file '%s' : "
|
||||
"missing 'name' attribute\n", filename.c_str());
|
||||
throw std::logic_error("File contents are incomplete or corrupt");
|
||||
}
|
||||
|
||||
delete lisp;
|
||||
}
|
||||
// ----------------------------------------------------------------------------
|
||||
bool GrandPrixData::checkConsistency()
|
||||
|
@ -25,33 +25,43 @@
|
||||
#include <vector>
|
||||
#include <cassert>
|
||||
#include <irrString.h>
|
||||
#include <stdexcept>
|
||||
|
||||
/** Simple class that hold the data relevant to a 'grand_prix', aka. a number
|
||||
of races that has to be completed one after the other */
|
||||
class GrandPrixData
|
||||
{
|
||||
irr::core::stringw m_name; // The name of the grand prix - might be translated!
|
||||
std::string m_id; // Internal name of the grand prix, not translated
|
||||
std::string m_filename; // Original filename, only for error handling needed
|
||||
std::string m_description; // Description for this track
|
||||
std::string m_item_style; // item style which overwrites the track default
|
||||
/** The ident of the tracks in this grand prix in their right order, ident
|
||||
means the filename of the .track file without .track extension
|
||||
(ie. 'volcano') */
|
||||
irr::core::stringw m_name; //!< The name of the grand prix - might be translated!
|
||||
irr::core::stringw m_description; //!< Description for this GP
|
||||
std::string m_id; //!< Internal name of the grand prix, not translated
|
||||
std::string m_filename; //!< Original filename, only for error handling needed
|
||||
std::string m_item_style; //!< item style which overwrites the track default
|
||||
|
||||
/**
|
||||
* The ident of the tracks in this grand prix in their right order, ident
|
||||
* means the filename of the .track file without .track extension (ie. 'volcano')
|
||||
*/
|
||||
std::vector<std::string> m_tracks;
|
||||
/** The number of laps that each track should be raced, in the right
|
||||
* order*/
|
||||
|
||||
/** The number of laps that each track should be raced, in the right order */
|
||||
std::vector<int> m_laps;
|
||||
|
||||
public:
|
||||
|
||||
/** Load the GrandPrixData from the given filename */
|
||||
GrandPrixData (const std::string filename);
|
||||
GrandPrixData (const std::string filename) throw(std::logic_error);
|
||||
GrandPrixData () {}; // empty for initialising
|
||||
|
||||
/** @return the (potentially translated) user-visible name of the Grand Prix */
|
||||
const irr::core::stringw& getName () const { return m_name; }
|
||||
|
||||
/** @return the (potentially translated) user-visible description of the Grand Prix */
|
||||
const irr::core::stringw& getDescription () const { return m_description; }
|
||||
|
||||
/** @return the internale name identifier of the Grand Prix (not translated) */
|
||||
const std::string& getId () const { return m_id; }
|
||||
const std::string& getDescription () const { return m_description; }
|
||||
const std::string& getItemStyle () const { return m_item_style; }
|
||||
|
||||
const std::string& getItemStyle () const { return m_item_style; }
|
||||
const std::string& getFilename () const { return m_filename; }
|
||||
const std::string& getTrack(size_t track_index) const { assert(track_index >= 0); assert(track_index < m_tracks.size());
|
||||
return m_tracks[track_index]; }
|
||||
|
@ -57,7 +57,14 @@ const GrandPrixData* GrandPrixManager::getGrandPrix(const std::string& s) const
|
||||
// ----------------------------------------------------------------------------
|
||||
void GrandPrixManager::load(const std::string& filename)
|
||||
{
|
||||
m_gp_data.push_back(new GrandPrixData(filename));
|
||||
try
|
||||
{
|
||||
m_gp_data.push_back(new GrandPrixData(filename));
|
||||
}
|
||||
catch (std::logic_error& er)
|
||||
{
|
||||
fprintf(stderr, "GrandPrixManager : ignoring GP %s ( %s ) \n", filename.c_str(), er.what());
|
||||
}
|
||||
} // load
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user