Update translations from Launchpad
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11830 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
cb0b59295a
commit
2c83fafdfc
1412
data/po/ar.po
1412
data/po/ar.po
File diff suppressed because it is too large
Load Diff
1320
data/po/bg.po
1320
data/po/bg.po
File diff suppressed because it is too large
Load Diff
2252
data/po/bn.po
Normal file
2252
data/po/bn.po
Normal file
File diff suppressed because it is too large
Load Diff
2184
data/po/bs.po
Normal file
2184
data/po/bs.po
Normal file
File diff suppressed because it is too large
Load Diff
1642
data/po/ca.po
1642
data/po/ca.po
File diff suppressed because it is too large
Load Diff
1428
data/po/cs.po
1428
data/po/cs.po
File diff suppressed because it is too large
Load Diff
1410
data/po/da.po
1410
data/po/da.po
File diff suppressed because it is too large
Load Diff
1428
data/po/de.po
1428
data/po/de.po
File diff suppressed because it is too large
Load Diff
1932
data/po/el.po
1932
data/po/el.po
File diff suppressed because it is too large
Load Diff
1340
data/po/eo.po
1340
data/po/eo.po
File diff suppressed because it is too large
Load Diff
1424
data/po/es.po
1424
data/po/es.po
File diff suppressed because it is too large
Load Diff
1904
data/po/eu.po
1904
data/po/eu.po
File diff suppressed because it is too large
Load Diff
92
data/po/extract_strings_from_XML.py~
Executable file
92
data/po/extract_strings_from_XML.py~
Executable file
@ -0,0 +1,92 @@
|
||||
import xml.dom.minidom
|
||||
import sys
|
||||
import codecs
|
||||
|
||||
f = open('./data/po/gui_strings.h', 'w')
|
||||
f.write( codecs.BOM_UTF8 )
|
||||
|
||||
def traverse(file, node, isChallenge, isGP, isKart, isTrack, level=0):
|
||||
|
||||
for e in node.childNodes:
|
||||
if e.localName == None:
|
||||
continue
|
||||
|
||||
#print ' '*level, e.localName
|
||||
|
||||
comment = None
|
||||
if e.hasAttribute("I18N"):
|
||||
comment = e.getAttribute("I18N")
|
||||
|
||||
if e.localName == "subtitle" and e.hasAttribute("text") and len(e.getAttribute("text")) > 0:
|
||||
#print "Label=", e.getAttribute("name"), " Comment=", comment
|
||||
line = ""
|
||||
if comment == None:
|
||||
line += "//I18N: " + file + "\n_(\"" + e.getAttribute("text") + "\")\n\n"
|
||||
else:
|
||||
line += "//I18N: File : " + file + "\n//I18N: " + comment + "\n_(\"" + e.getAttribute("text") + "\");\n\n"
|
||||
|
||||
f.write( line.encode( "utf-8" ) )
|
||||
|
||||
if isChallenge or isGP or isKart or isTrack:
|
||||
if e.hasAttribute("name") and len(e.getAttribute("name")) > 0:
|
||||
#print "Label=", e.getAttribute("name"), " Comment=", comment
|
||||
line = ""
|
||||
if comment == None:
|
||||
line += "//I18N: " + file + "\n_(\"" + e.getAttribute("name") + "\")\n\n"
|
||||
else:
|
||||
line += "//I18N: File : " + file + "\n//I18N: " + comment + "\n_(\"" + e.getAttribute("name") + "\");\n\n"
|
||||
|
||||
f.write( line.encode( "utf-8" ) )
|
||||
|
||||
# challenges and GPs can have a description file; karts don't
|
||||
if e.hasAttribute("description") and len(e.getAttribute("description")) > 0:
|
||||
# print "Label=", e.getAttribute("description"), " Comment=", comment
|
||||
line = ""
|
||||
if comment == None:
|
||||
line += "//I18N: " + file + "\n_(\"" + e.getAttribute("description") + "\")\n\n"
|
||||
else:
|
||||
line += "//I18N: File : " + file + "\n//I18N: " + comment + "\n_(\"" + e.getAttribute("description") + "\");\n\n"
|
||||
|
||||
f.write( line.encode( "utf-8" ) )
|
||||
else:
|
||||
if e.hasAttribute("text") and len(e.getAttribute("text")) > 0:
|
||||
# print "Label=", e.getAttribute("text"), " Comment=", comment
|
||||
line = ""
|
||||
if comment == None:
|
||||
line += "//I18N: " + file + "\n_(\"" + e.getAttribute("text") + "\")\n\n"
|
||||
else:
|
||||
line += "//I18N: " + file + "\n//I18N: " + comment + "\n_(\"" + e.getAttribute("text") + "\");\n\n"
|
||||
|
||||
f.write( line.encode( "utf-8" ) )
|
||||
|
||||
# don't recurse in children nodes for karts, they can contain sounds, etc. that should not be translated
|
||||
if not isKart:
|
||||
traverse(file, e, isChallenge, isGP, isKart, isTrack, level+1)
|
||||
|
||||
filenames = sys.argv[1:]
|
||||
for file in filenames:
|
||||
#print "Parsing", file
|
||||
|
||||
isChallenge = False
|
||||
isGP = False
|
||||
isKart = False
|
||||
isTrack = False
|
||||
|
||||
if file.endswith(".challenge"):
|
||||
isChallenge = True
|
||||
if file.endswith(".grandprix"):
|
||||
isGP = True
|
||||
if file.endswith("kart.xml"):
|
||||
isKart = True
|
||||
if file.endswith("track.xml"):
|
||||
isTrack = True
|
||||
|
||||
try:
|
||||
doc = xml.dom.minidom.parse(file)
|
||||
except Exception as ex:
|
||||
print "============================================"
|
||||
print "/!\\ Expat doesn't like ", file, "! Error=", type(ex), " (", ex.args, ")"
|
||||
print "============================================"
|
||||
|
||||
traverse(file, doc, isChallenge, isGP, isKart, isTrack)
|
||||
|
1340
data/po/fa.po
1340
data/po/fa.po
File diff suppressed because it is too large
Load Diff
1372
data/po/fi.po
1372
data/po/fi.po
File diff suppressed because it is too large
Load Diff
1362
data/po/fr.po
1362
data/po/fr.po
File diff suppressed because it is too large
Load Diff
1584
data/po/fr_CA.po
1584
data/po/fr_CA.po
File diff suppressed because it is too large
Load Diff
1369
data/po/ga.po
1369
data/po/ga.po
File diff suppressed because it is too large
Load Diff
2307
data/po/gd.po
Normal file
2307
data/po/gd.po
Normal file
File diff suppressed because it is too large
Load Diff
1351
data/po/gl.po
1351
data/po/gl.po
File diff suppressed because it is too large
Load Diff
820
data/po/gui_strings.h
Normal file
820
data/po/gui_strings.h
Normal file
@ -0,0 +1,820 @@
|
||||
//I18N: ./data/tracks/jungle/track.xml
|
||||
_("Amazonian Journey")
|
||||
|
||||
//I18N: ./data/tracks/minigolf/track.xml
|
||||
_("Minigolf Mischief")
|
||||
|
||||
//I18N: ./data/tracks/lighthouse/track.xml
|
||||
_("Around the Lighthouse")
|
||||
|
||||
//I18N: ./data/tracks/subsea/track.xml
|
||||
_("Subsea")
|
||||
|
||||
//I18N: ./data/tracks/city/track.xml
|
||||
_("Shiny Suburbs")
|
||||
|
||||
//I18N: ./data/tracks/snowmountain/track.xml
|
||||
_("Northern Resort")
|
||||
|
||||
//I18N: ./data/tracks/olivermath/track.xml
|
||||
_("Oliver's Math Class")
|
||||
|
||||
//I18N: ./data/tracks/cave/track.xml
|
||||
_("Cave X")
|
||||
|
||||
//I18N: ./data/tracks/battleisland/track.xml
|
||||
_("Battle Island")
|
||||
|
||||
//I18N: ./data/tracks/tuxtollway~/track.xml
|
||||
_("Tux Tollway")
|
||||
|
||||
//I18N: ./data/tracks/hacienda/track.xml
|
||||
_("Hacienda")
|
||||
|
||||
//I18N: ./data/tracks/mines/track.xml
|
||||
_("Old Mine")
|
||||
|
||||
//I18N: ./data/tracks/snowtuxpeak/track.xml
|
||||
_("Snow Peak")
|
||||
|
||||
//I18N: ./data/tracks/islandtrack/track.xml
|
||||
_("The Island")
|
||||
|
||||
//I18N: ./data/tracks/xr591/track.xml
|
||||
_("XR591")
|
||||
|
||||
//I18N: ./data/tracks/mansion/track.xml
|
||||
_("Blackhill Mansion")
|
||||
|
||||
//I18N: ./data/tracks/startrack/track.xml
|
||||
_("Star Track")
|
||||
|
||||
//I18N: ./data/tracks/sandtrack/track.xml
|
||||
_("Shifting Sands")
|
||||
|
||||
//I18N: ./data/tracks/stadium/track.xml
|
||||
_("The Stadium")
|
||||
|
||||
//I18N: ./data/tracks/farm/track.xml
|
||||
_("Bovine Barnyard")
|
||||
|
||||
//I18N: ./data/tracks/fortmagma/track.xml
|
||||
_("Fort Magma")
|
||||
|
||||
//I18N: ./data/tracks/scotland/track.xml
|
||||
_("Scotland")
|
||||
|
||||
//I18N: ./data/tracks/greenvalley/track.xml
|
||||
_("Green Valley")
|
||||
|
||||
//I18N: ./data/tracks/zengarden/track.xml
|
||||
_("Zen Garden")
|
||||
|
||||
//I18N: Cutscene subtitle from ./data/tracks/introcutscene2/scene.xml
|
||||
_("What's wrong, little hippies? Your great gnu leader is missing?")
|
||||
|
||||
//I18N: ./data/tracks/introcutscene2/scene.xml
|
||||
_("What's wrong, little hippies? Your great gnu leader is missing?")
|
||||
|
||||
//I18N: Cutscene subtitle from ./data/tracks/introcutscene2/scene.xml
|
||||
_("Oh yes, see, he's in my castle now and will be served for supper...")
|
||||
|
||||
//I18N: ./data/tracks/introcutscene2/scene.xml
|
||||
_("Oh yes, see, he's in my castle now and will be served for supper...")
|
||||
|
||||
//I18N: Cutscene subtitle from ./data/tracks/introcutscene2/scene.xml
|
||||
_("But I'm a fair creature, so I'll make you a deal.")
|
||||
|
||||
//I18N: ./data/tracks/introcutscene2/scene.xml
|
||||
_("But I'm a fair creature, so I'll make you a deal.")
|
||||
|
||||
//I18N: Cutscene subtitle from ./data/tracks/introcutscene2/scene.xml
|
||||
_("If you can beat me at racing, I will free the old codger.")
|
||||
|
||||
//I18N: ./data/tracks/introcutscene2/scene.xml
|
||||
_("If you can beat me at racing, I will free the old codger.")
|
||||
|
||||
//I18N: Cutscene subtitle from ./data/tracks/introcutscene2/scene.xml
|
||||
_(" But you pathetic little twerps will never be able to beat me - King of the Karts!")
|
||||
|
||||
//I18N: ./data/tracks/introcutscene2/scene.xml
|
||||
_(" But you pathetic little twerps will never be able to beat me - King of the Karts!")
|
||||
|
||||
//I18N: ./data/grandprix/4_atworldsend.grandprix
|
||||
_("At World's End")
|
||||
|
||||
//I18N: ./data/grandprix/2_offthebeatentrack.grandprix
|
||||
_("Off the beaten track")
|
||||
|
||||
//I18N: ./data/grandprix/1_penguinplayground.grandprix
|
||||
_("Penguin Playground")
|
||||
|
||||
//I18N: ./data/grandprix/3_tothemoonandback.grandprix
|
||||
_("To the moon and back")
|
||||
|
||||
//I18N: ./data/gui/track_info_dialog.stkgui
|
||||
_("= Highscores =")
|
||||
|
||||
//I18N: ./data/gui/track_info_dialog.stkgui
|
||||
_("(Empty)")
|
||||
|
||||
//I18N: ./data/gui/track_info_dialog.stkgui
|
||||
_("(Empty)")
|
||||
|
||||
//I18N: ./data/gui/track_info_dialog.stkgui
|
||||
_("(Empty)")
|
||||
|
||||
//I18N: ./data/gui/track_info_dialog.stkgui
|
||||
//I18N: Drive the track reverse
|
||||
_("Reverse");
|
||||
|
||||
//I18N: ./data/gui/track_info_dialog.stkgui
|
||||
//I18N: In the track setup screen (number of laps choice, where %i is the number)
|
||||
_("%i laps");
|
||||
|
||||
//I18N: ./data/gui/track_info_dialog.stkgui
|
||||
_("Start Race")
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
_("SuperTuxKart Help")
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("General");
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Weapons");
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Game Modes");
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Multiplayer");
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
//I18N: In the help menu
|
||||
_("To help you win, there are some powerups you can collect :");
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
_("BubbleGum - leave a sticky pink puddle behind you.")
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
_("Cake - thrown at the closest rival, best on short ranges and long straights.")
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
_("Plunger - throw straight to pull an opponent back, or throw while looking back to make one lose sight.")
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
_("Bowling Ball - bounces off walls. If you are looking back, it will be thrown backwards.")
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
_("Parachute - slows down all karts in a better position.")
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
_("Anchor - slows down greatly the kart in the first position.")
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
_("Swapper - gift boxes are transformed into bananas and vice versa for a short time.")
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
_("Rubber Ball - bounces after the leader, and might squash and slow down karts down on the way.")
|
||||
|
||||
//I18N: ./data/gui/help2.stkgui
|
||||
_("Swatter - will squash karts close by, slowing them down.")
|
||||
|
||||
//I18N: ./data/gui/select_challenge.stkgui
|
||||
_("Race Setup")
|
||||
|
||||
//I18N: ./data/gui/select_challenge.stkgui
|
||||
//I18N: Difficulty
|
||||
_("Novice");
|
||||
|
||||
//I18N: ./data/gui/select_challenge.stkgui
|
||||
//I18N: Difficulty
|
||||
_("Intermediate");
|
||||
|
||||
//I18N: ./data/gui/select_challenge.stkgui
|
||||
//I18N: Difficulty
|
||||
_("Expert");
|
||||
|
||||
//I18N: ./data/gui/confirm_dialog.stkgui
|
||||
//I18N: In a 'are you sure?' dialog
|
||||
_("Yes");
|
||||
|
||||
//I18N: ./data/gui/confirm_dialog.stkgui
|
||||
//I18N: In a 'are you sure?' dialog
|
||||
_("Cancel");
|
||||
|
||||
//I18N: ./data/gui/custom_video_settings.stkgui
|
||||
_("Graphics Settings")
|
||||
|
||||
//I18N: ./data/gui/custom_video_settings.stkgui
|
||||
//I18N: Video settings
|
||||
_("Animated Scenery");
|
||||
|
||||
//I18N: ./data/gui/custom_video_settings.stkgui
|
||||
//I18N: Video settings
|
||||
_("Weather Effects");
|
||||
|
||||
//I18N: ./data/gui/custom_video_settings.stkgui
|
||||
//I18N: Video settings
|
||||
_("Animated Characters");
|
||||
|
||||
//I18N: ./data/gui/custom_video_settings.stkgui
|
||||
//I18N: Video settings
|
||||
_("Texture filtering");
|
||||
|
||||
//I18N: ./data/gui/custom_video_settings.stkgui
|
||||
//I18N: Video settings
|
||||
_("Anti-aliasing (requires restart)");
|
||||
|
||||
//I18N: ./data/gui/custom_video_settings.stkgui
|
||||
//I18N: Video settings
|
||||
_("Post-processing (motion blur)");
|
||||
|
||||
//I18N: ./data/gui/custom_video_settings.stkgui
|
||||
//I18N: Video settings
|
||||
_("Pixel Shaders");
|
||||
|
||||
//I18N: ./data/gui/custom_video_settings.stkgui
|
||||
_("Close")
|
||||
|
||||
//I18N: ./data/gui/story_mode_lobby.stkgui
|
||||
_("Select a Player")
|
||||
|
||||
//I18N: ./data/gui/story_mode_lobby.stkgui
|
||||
_("Remember me")
|
||||
|
||||
//I18N: ./data/gui/story_mode_lobby.stkgui
|
||||
//I18N: In story mode 'select a game slot' menu
|
||||
_("Create a new player");
|
||||
|
||||
//I18N: ./data/gui/racesetup.stkgui
|
||||
_("Race Setup")
|
||||
|
||||
//I18N: ./data/gui/racesetup.stkgui
|
||||
//I18N: In race setup menu
|
||||
_("Number of AI karts");
|
||||
|
||||
//I18N: ./data/gui/racesetup.stkgui
|
||||
//I18N: Difficulty
|
||||
_("Novice");
|
||||
|
||||
//I18N: ./data/gui/racesetup.stkgui
|
||||
//I18N: Difficulty
|
||||
_("Intermediate");
|
||||
|
||||
//I18N: ./data/gui/racesetup.stkgui
|
||||
//I18N: Difficulty
|
||||
_("Expert");
|
||||
|
||||
//I18N: ./data/gui/racesetup.stkgui
|
||||
_("Select a game mode")
|
||||
|
||||
//I18N: ./data/gui/help4.stkgui
|
||||
_("SuperTuxKart Help")
|
||||
|
||||
//I18N: ./data/gui/help4.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("General");
|
||||
|
||||
//I18N: ./data/gui/help4.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Weapons");
|
||||
|
||||
//I18N: ./data/gui/help4.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Game Modes");
|
||||
|
||||
//I18N: ./data/gui/help4.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Multiplayer");
|
||||
|
||||
//I18N: ./data/gui/help4.stkgui
|
||||
_("SuperTuxKart can be played in multiplayer mode on the same computer")
|
||||
|
||||
//I18N: ./data/gui/help4.stkgui
|
||||
_("(network play is not yet available)")
|
||||
|
||||
//I18N: ./data/gui/help4.stkgui
|
||||
//I18N: In the help menu
|
||||
_("First, you will need several input devices (having multiple gamepads or joysticks is the best way to play with several people). Go in the input configuration screen and setup the gamepads. It is also possible to play on keyboard(s), however each player will need a different set of keys, and keep in mind that most keyboards are not appropriate for multiplayer gameplay because they do not support large number of keypresses.");
|
||||
|
||||
//I18N: ./data/gui/help4.stkgui
|
||||
//I18N: In the help menu
|
||||
_("When input devices are configured, you are ready to play. Select the 'multiplayer race' icon in the main menu. When it is time to choose a kart, each player can press on the 'fire' key of their gamepad or keyboard to join the game. Each player can use their input device to select their kart. The game continues when everyone selected their kart. Note that the mouse may not be used for this operation.");
|
||||
|
||||
//I18N: ./data/gui/challenges.stkgui
|
||||
//I18N: Title for challenges screen
|
||||
_("Challenges : Trophy Room");
|
||||
|
||||
//I18N: ./data/gui/tutorial.stkgui
|
||||
//I18N: Title for tutorials screen
|
||||
_("Tutorial : Selection Room");
|
||||
|
||||
//I18N: ./data/gui/tutorial.stkgui
|
||||
_("Play all")
|
||||
|
||||
//I18N: ./data/gui/options_audio.stkgui
|
||||
_("SuperTuxKart Options")
|
||||
|
||||
//I18N: ./data/gui/options_audio.stkgui
|
||||
//I18N: Section in the settings menu
|
||||
_("Audio");
|
||||
|
||||
//I18N: ./data/gui/options_audio.stkgui
|
||||
//I18N: Section in the audio/video settings submenu
|
||||
_("Music");
|
||||
|
||||
//I18N: ./data/gui/options_audio.stkgui
|
||||
//I18N: Next to checkbox in settings menu
|
||||
_("Enabled");
|
||||
|
||||
//I18N: ./data/gui/options_audio.stkgui
|
||||
//I18N: Music volume in options
|
||||
_("Volume");
|
||||
|
||||
//I18N: ./data/gui/options_audio.stkgui
|
||||
//I18N: Section in audio/video settings submenu
|
||||
_("Sound Effects");
|
||||
|
||||
//I18N: ./data/gui/options_audio.stkgui
|
||||
//I18N: Next to checkbox in settings menu
|
||||
_("Enabled");
|
||||
|
||||
//I18N: ./data/gui/options_audio.stkgui
|
||||
//I18N: Sound volume in options
|
||||
_("Volume");
|
||||
|
||||
//I18N: ./data/gui/options_video.stkgui
|
||||
_("SuperTuxKart Options")
|
||||
|
||||
//I18N: ./data/gui/options_video.stkgui
|
||||
//I18N: Section in the settings menu
|
||||
_("Graphics");
|
||||
|
||||
//I18N: ./data/gui/options_video.stkgui
|
||||
//I18N: In the graphics settings
|
||||
_("Graphical Effects Level");
|
||||
|
||||
//I18N: ./data/gui/options_video.stkgui
|
||||
//I18N: In the video settings
|
||||
_("Custom settings...");
|
||||
|
||||
//I18N: ./data/gui/options_video.stkgui
|
||||
//I18N: In the video settings
|
||||
_("Vertical Sync (requires restart)");
|
||||
|
||||
//I18N: ./data/gui/options_video.stkgui
|
||||
//I18N: In the video settings
|
||||
_("Use Frame Buffer Objects (requires restart)");
|
||||
|
||||
//I18N: ./data/gui/options_video.stkgui
|
||||
//I18N: In the graphics settings
|
||||
_("Resolution");
|
||||
|
||||
//I18N: ./data/gui/options_video.stkgui
|
||||
//I18N: In the video settings
|
||||
_("Fullscreen");
|
||||
|
||||
//I18N: ./data/gui/options_video.stkgui
|
||||
//I18N: In the video settings
|
||||
_("Remember window location");
|
||||
|
||||
//I18N: ./data/gui/options_video.stkgui
|
||||
//I18N: In the video settings menu
|
||||
_("Apply new resolution");
|
||||
|
||||
//I18N: ./data/gui/karts.stkgui
|
||||
//I18N: In the kart selection (player setup) screen
|
||||
_("Choose a Kart");
|
||||
|
||||
//I18N: ./data/gui/options_device.stkgui
|
||||
_("SuperTuxKart Options")
|
||||
|
||||
//I18N: ./data/gui/options_device.stkgui
|
||||
//I18N: Section in the settings menu
|
||||
_("Controls");
|
||||
|
||||
//I18N: ./data/gui/options_device.stkgui
|
||||
//I18N: To delete a keyboard configuration
|
||||
_("Delete Configuration");
|
||||
|
||||
//I18N: ./data/gui/options_device.stkgui
|
||||
//I18N: In the input configuration screen
|
||||
_("Back to device list");
|
||||
|
||||
//I18N: ./data/gui/help3.stkgui
|
||||
_("SuperTuxKart Help")
|
||||
|
||||
//I18N: ./data/gui/help3.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("General");
|
||||
|
||||
//I18N: ./data/gui/help3.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Weapons");
|
||||
|
||||
//I18N: ./data/gui/help3.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Game Modes");
|
||||
|
||||
//I18N: ./data/gui/help3.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Multiplayer");
|
||||
|
||||
//I18N: ./data/gui/help3.stkgui
|
||||
_("SuperTuxKart features several game modes")
|
||||
|
||||
//I18N: ./data/gui/help3.stkgui
|
||||
//I18N: In the help menu
|
||||
_("Regular Race: all blows allowed, so catch weapons and make clever use of them!");
|
||||
|
||||
//I18N: ./data/gui/help3.stkgui
|
||||
//I18N: In the help menu
|
||||
_("Time Trial: Contains no powerups, so only your driving skills matter!");
|
||||
|
||||
//I18N: ./data/gui/help3.stkgui
|
||||
//I18N: In the help menu
|
||||
_("Follow the leader: 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!");
|
||||
|
||||
//I18N: ./data/gui/help3.stkgui
|
||||
//I18N: In the help menu
|
||||
_("3 Strikes Battle: only in multiplayer games. Hit others with weapons until they lose all their lives.");
|
||||
|
||||
//I18N: ./data/gui/help3.stkgui
|
||||
//I18N: In the help menu
|
||||
_("* Most of these game modes can also be played in a Grand Prix fashion: instead of playing a single race, you play many in a row. The better you rank, the more points you get. In the end, the player with the most points wins the cup.");
|
||||
|
||||
//I18N: ./data/gui/confirm_resolution_dialog.stkgui
|
||||
//I18N: In the 'confirm resolution' dialog, that's shown when switching resoluton
|
||||
_("Keep this resolution");
|
||||
|
||||
//I18N: ./data/gui/confirm_resolution_dialog.stkgui
|
||||
//I18N: In the 'confirm resolution' dialog, that's shown when switching resoluton
|
||||
_("Cancel");
|
||||
|
||||
//I18N: ./data/gui/credits.stkgui
|
||||
//I18N: Title in credits screen
|
||||
_("Credits");
|
||||
|
||||
//I18N: ./data/gui/options_players.stkgui
|
||||
_("SuperTuxKart Options")
|
||||
|
||||
//I18N: ./data/gui/options_players.stkgui
|
||||
//I18N: Section in the settings menu
|
||||
_("Players");
|
||||
|
||||
//I18N: ./data/gui/options_players.stkgui
|
||||
_("You are playing as")
|
||||
|
||||
//I18N: ./data/gui/options_players.stkgui
|
||||
//I18N: In players configuration menu
|
||||
_("Press enter or double-click on a player to edit him/her");
|
||||
|
||||
//I18N: ./data/gui/options_players.stkgui
|
||||
//I18N: In players configuration menu
|
||||
_("Add Player");
|
||||
|
||||
//I18N: ./data/gui/overworld_dialog.stkgui
|
||||
_("Paused")
|
||||
|
||||
//I18N: ./data/gui/overworld_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Back to Game");
|
||||
|
||||
//I18N: ./data/gui/overworld_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Select kart");
|
||||
|
||||
//I18N: ./data/gui/overworld_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Options");
|
||||
|
||||
//I18N: ./data/gui/overworld_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Help");
|
||||
|
||||
//I18N: ./data/gui/overworld_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Back to menu");
|
||||
|
||||
//I18N: ./data/gui/story_mode_new.stkgui
|
||||
_("New Game")
|
||||
|
||||
//I18N: ./data/gui/story_mode_new.stkgui
|
||||
//I18N: In the new story mode game dialog
|
||||
_("Select your identity");
|
||||
|
||||
//I18N: ./data/gui/story_mode_new.stkgui
|
||||
//I18N: Difficulty
|
||||
_("Novice");
|
||||
|
||||
//I18N: ./data/gui/story_mode_new.stkgui
|
||||
//I18N: Difficulty
|
||||
_("Intermediate");
|
||||
|
||||
//I18N: ./data/gui/story_mode_new.stkgui
|
||||
//I18N: Difficulty
|
||||
_("Expert");
|
||||
|
||||
//I18N: ./data/gui/story_mode_new.stkgui
|
||||
_("Start Game")
|
||||
|
||||
//I18N: ./data/gui/story_mode_new.stkgui
|
||||
_("Cancel")
|
||||
|
||||
//I18N: ./data/gui/enter_player_name_dialog.stkgui
|
||||
//I18N: In the 'add new player' dialog
|
||||
_("Enter the new player's name");
|
||||
|
||||
//I18N: ./data/gui/enter_player_name_dialog.stkgui
|
||||
//I18N: When configuring input
|
||||
_("Press ESC to cancel");
|
||||
|
||||
//I18N: ./data/gui/options_input.stkgui
|
||||
_("SuperTuxKart Options")
|
||||
|
||||
//I18N: ./data/gui/options_input.stkgui
|
||||
//I18N: Section in the settings menu
|
||||
_("Controls");
|
||||
|
||||
//I18N: ./data/gui/options_input.stkgui
|
||||
//I18N: In key bindings configuration menu
|
||||
_("Press enter or double-click on a device to configure it");
|
||||
|
||||
//I18N: ./data/gui/options_input.stkgui
|
||||
//I18N: In the input configuration screen
|
||||
_("Add a device");
|
||||
|
||||
//I18N: ./data/gui/options_input.stkgui
|
||||
_("* Which config to use will be inferred from which 'fire' key is pressed to join the game.")
|
||||
|
||||
//I18N: ./data/gui/grand_prix_win.stkgui
|
||||
_("Continue")
|
||||
|
||||
//I18N: ./data/gui/addons_screen.stkgui
|
||||
_("SuperTuxKart Addons")
|
||||
|
||||
//I18N: ./data/gui/addons_screen.stkgui
|
||||
//I18N: Reload button to reload addon data
|
||||
_("Reload");
|
||||
|
||||
//I18N: ./data/gui/addons_screen.stkgui
|
||||
//I18N: Section in the addons menu
|
||||
_("Karts");
|
||||
|
||||
//I18N: ./data/gui/addons_screen.stkgui
|
||||
//I18N: Section in the addons menu
|
||||
_("Tracks");
|
||||
|
||||
//I18N: ./data/gui/addons_screen.stkgui
|
||||
//I18N: Section in the addons menu
|
||||
_("Arenas");
|
||||
|
||||
//I18N: ./data/gui/feature_unlocked.stkgui
|
||||
_("Continue")
|
||||
|
||||
//I18N: ./data/gui/race_paused_dialog.stkgui
|
||||
_("Paused")
|
||||
|
||||
//I18N: ./data/gui/race_paused_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Back to Race");
|
||||
|
||||
//I18N: ./data/gui/race_paused_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Setup New Race");
|
||||
|
||||
//I18N: ./data/gui/race_paused_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Restart Race");
|
||||
|
||||
//I18N: ./data/gui/race_paused_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Give Up Race");
|
||||
|
||||
//I18N: ./data/gui/race_paused_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Options");
|
||||
|
||||
//I18N: ./data/gui/race_paused_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Help");
|
||||
|
||||
//I18N: ./data/gui/race_paused_dialog.stkgui
|
||||
//I18N: Race paused button
|
||||
_("Exit Race");
|
||||
|
||||
//I18N: ./data/gui/grand_prix_lose.stkgui
|
||||
_("Continue")
|
||||
|
||||
//I18N: ./data/gui/options_ui.stkgui
|
||||
_("SuperTuxKart Options")
|
||||
|
||||
//I18N: ./data/gui/options_ui.stkgui
|
||||
//I18N: Section in the settings menu
|
||||
_("User Interface");
|
||||
|
||||
//I18N: ./data/gui/options_ui.stkgui
|
||||
//I18N: In the graphics settings
|
||||
_("Skin");
|
||||
|
||||
//I18N: ./data/gui/options_ui.stkgui
|
||||
//I18N: In the ui settings
|
||||
_("Display FPS");
|
||||
|
||||
//I18N: ./data/gui/options_ui.stkgui
|
||||
//I18N: In the ui settings
|
||||
_("Allow STK to connect to the Internet");
|
||||
|
||||
//I18N: ./data/gui/options_ui.stkgui
|
||||
//I18N: In the ui settings
|
||||
_("Minimal Race GUI");
|
||||
|
||||
//I18N: ./data/gui/main.stkgui
|
||||
//I18N: Main menu button
|
||||
_("Story Mode");
|
||||
|
||||
//I18N: ./data/gui/main.stkgui
|
||||
//I18N: Main menu button
|
||||
_("Single-player");
|
||||
|
||||
//I18N: ./data/gui/main.stkgui
|
||||
//I18N: Main menu button
|
||||
_("Multiplayer");
|
||||
|
||||
//I18N: ./data/gui/main.stkgui
|
||||
//I18N: Main menu button
|
||||
_("Addons");
|
||||
|
||||
//I18N: ./data/gui/main.stkgui
|
||||
//I18N: Main menu button
|
||||
_("Options");
|
||||
|
||||
//I18N: ./data/gui/main.stkgui
|
||||
//I18N: Main menu button
|
||||
_("Help");
|
||||
|
||||
//I18N: ./data/gui/main.stkgui
|
||||
//I18N: Main menu button
|
||||
_("About");
|
||||
|
||||
//I18N: ./data/gui/main.stkgui
|
||||
//I18N: Main menu button
|
||||
_("Quit");
|
||||
|
||||
//I18N: ./data/gui/press_a_key_dialog.stkgui
|
||||
_("Press a key")
|
||||
|
||||
//I18N: ./data/gui/press_a_key_dialog.stkgui
|
||||
//I18N: When configuring input
|
||||
_("Assign to ESC key");
|
||||
|
||||
//I18N: ./data/gui/press_a_key_dialog.stkgui
|
||||
//I18N: When configuring input
|
||||
_("Press ESC to cancel");
|
||||
|
||||
//I18N: ./data/gui/tracks.stkgui
|
||||
//I18N: Section in track selection screen
|
||||
_("Grand Prix");
|
||||
|
||||
//I18N: ./data/gui/tracks.stkgui
|
||||
//I18N: Section in track selection screen
|
||||
_("All Tracks");
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
_("SuperTuxKart Help")
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("General");
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Weapons");
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Game Modes");
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
//I18N: Tab in help menu
|
||||
_("Multiplayer");
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
//I18N: In the help menu
|
||||
_("Make your rivals bite dust!");
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
//I18N: In the help menu
|
||||
_("Collect blue boxes : they will give you weapons or other powerups");
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
//I18N: In the help menu
|
||||
_("Avoid bananas!");
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
//I18N: In the help menu
|
||||
_("Collecting nitro allows you to get speed boosts whenever you wish by pressing the appropriate key. You can see your current level of nitro in the bar at the right of the game screen.");
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
//I18N: In the help menu
|
||||
_("If you see a button with a lock like this one, you need to complete a challenge to unlock it.");
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
//I18N: in the help menu
|
||||
_("The 'sharp turn' key allows you to do sharp turns and have better control in tight curves");
|
||||
|
||||
//I18N: ./data/gui/help1.stkgui
|
||||
//I18N: in the help screen
|
||||
_("* Current key bindings can be seen/changed in menu Options");
|
||||
|
||||
//I18N: ./data/gui/addons_loading.stkgui
|
||||
//I18N: Add-on screen action
|
||||
_("Install");
|
||||
|
||||
//I18N: ./data/gui/addons_loading.stkgui
|
||||
//I18N: Add-on screen action
|
||||
_("Uninstall");
|
||||
|
||||
//I18N: ./data/gui/addons_loading.stkgui
|
||||
//I18N: Add-ons screen action
|
||||
_("Back");
|
||||
|
||||
//I18N: ./data/gui/arenas.stkgui
|
||||
//I18N: Section in arena tracks selection screen
|
||||
_("Arenas");
|
||||
|
||||
//I18N: ./data/gui/arenas.stkgui
|
||||
//I18N: track group
|
||||
_("Standard");
|
||||
|
||||
//I18N: ./data/gui/arenas.stkgui
|
||||
//I18N: track group
|
||||
_("Add-Ons");
|
||||
|
||||
//I18N: ./data/gui/arenas.stkgui
|
||||
//I18N: track group
|
||||
_("All");
|
||||
|
||||
//I18N: ./data/grandprix/4_atworldsend.grandprix
|
||||
_("At World's End")
|
||||
|
||||
//I18N: ./data/grandprix/2_offthebeatentrack.grandprix
|
||||
_("Off the beaten track")
|
||||
|
||||
//I18N: ./data/grandprix/1_penguinplayground.grandprix
|
||||
_("Penguin Playground")
|
||||
|
||||
//I18N: ./data/grandprix/3_tothemoonandback.grandprix
|
||||
_("To the moon and back")
|
||||
|
||||
//I18N: ./data/karts/beagle/kart.xml
|
||||
_("Beagle")
|
||||
|
||||
//I18N: ./data/karts/hexley/kart.xml
|
||||
_("Hexley")
|
||||
|
||||
//I18N: ./data/karts/nolok/kart.xml
|
||||
_("Nolok")
|
||||
|
||||
//I18N: ./data/karts/beastie/kart.xml
|
||||
_("Beastie")
|
||||
|
||||
//I18N: ./data/karts/puffy/kart.xml
|
||||
_("Puffy")
|
||||
|
||||
//I18N: ./data/karts/mozilla/kart.xml
|
||||
_("Mozilla")
|
||||
|
||||
//I18N: ./data/karts/gnu/kart.xml
|
||||
_("Gnu")
|
||||
|
||||
//I18N: ./data/karts/konqi/kart.xml
|
||||
_("Konqi")
|
||||
|
||||
//I18N: ./data/karts/adiumy/kart.xml
|
||||
_("Adiumy")
|
||||
|
||||
//I18N: ./data/karts/pidgin/kart.xml
|
||||
_("Pidgin")
|
||||
|
||||
//I18N: ./data/karts/emule/kart.xml
|
||||
_("Emule")
|
||||
|
||||
//I18N: ./data/karts/wilber/kart.xml
|
||||
_("Wilber")
|
||||
|
||||
//I18N: ./data/karts/tux/kart.xml
|
||||
_("Tux")
|
||||
|
||||
//I18N: ./data/karts/elephpant/kart.xml
|
||||
_("Elephpant")
|
||||
|
||||
//I18N: ./data/karts/suzanne/kart.xml
|
||||
_("Suzanne")
|
||||
|
1605
data/po/he.po
1605
data/po/he.po
File diff suppressed because it is too large
Load Diff
1324
data/po/hi.po
1324
data/po/hi.po
File diff suppressed because it is too large
Load Diff
1372
data/po/hr.po
1372
data/po/hr.po
File diff suppressed because it is too large
Load Diff
1409
data/po/hu.po
1409
data/po/hu.po
File diff suppressed because it is too large
Load Diff
1351
data/po/id.po
1351
data/po/id.po
File diff suppressed because it is too large
Load Diff
1318
data/po/is.po
1318
data/po/is.po
File diff suppressed because it is too large
Load Diff
1352
data/po/it.po
1352
data/po/it.po
File diff suppressed because it is too large
Load Diff
1325
data/po/ko.po
1325
data/po/ko.po
File diff suppressed because it is too large
Load Diff
1377
data/po/lt.po
1377
data/po/lt.po
File diff suppressed because it is too large
Load Diff
1351
data/po/nb.po
1351
data/po/nb.po
File diff suppressed because it is too large
Load Diff
1405
data/po/nl.po
1405
data/po/nl.po
File diff suppressed because it is too large
Load Diff
1351
data/po/nn.po
1351
data/po/nn.po
File diff suppressed because it is too large
Load Diff
2184
data/po/os.po
Normal file
2184
data/po/os.po
Normal file
File diff suppressed because it is too large
Load Diff
1392
data/po/pl.po
1392
data/po/pl.po
File diff suppressed because it is too large
Load Diff
1940
data/po/pt.po
1940
data/po/pt.po
File diff suppressed because it is too large
Load Diff
1541
data/po/pt_BR.po
1541
data/po/pt_BR.po
File diff suppressed because it is too large
Load Diff
1349
data/po/ro.po
1349
data/po/ro.po
File diff suppressed because it is too large
Load Diff
1359
data/po/ru.po
1359
data/po/ru.po
File diff suppressed because it is too large
Load Diff
1347
data/po/sk.po
1347
data/po/sk.po
File diff suppressed because it is too large
Load Diff
1365
data/po/sl.po
1365
data/po/sl.po
File diff suppressed because it is too large
Load Diff
1318
data/po/sq.po
1318
data/po/sq.po
File diff suppressed because it is too large
Load Diff
1719
data/po/sr.po
1719
data/po/sr.po
File diff suppressed because it is too large
Load Diff
1437
data/po/sv.po
1437
data/po/sv.po
File diff suppressed because it is too large
Load Diff
1343
data/po/tr.po
1343
data/po/tr.po
File diff suppressed because it is too large
Load Diff
2182
data/po/tt.po
Normal file
2182
data/po/tt.po
Normal file
File diff suppressed because it is too large
Load Diff
1880
data/po/uk.po
1880
data/po/uk.po
File diff suppressed because it is too large
Load Diff
35
data/po/update_pot.sh~
Executable file
35
data/po/update_pot.sh~
Executable file
@ -0,0 +1,35 @@
|
||||
# run this script from the root directory to re-generate the .pot file
|
||||
#
|
||||
# ./data/po/update_pot.sh
|
||||
|
||||
CPP_FILE_LIST="`find ./src -name '*.cpp' -print` `find ./src -name '*.hpp' -print`"
|
||||
XML_FILE_LIST="`find ./data -name 'track.xml' -print` `find ./data -name '*.challenge' -print` `find ./data -name '*.grandprix' -print`"
|
||||
OTHER_XML_FILES=`find ./data -name '*.stkgui' -print && find ./data -name '*.challenge' -print && find ./data -name '*.grandprix' -print && find ./data -name 'kart.xml' -print`
|
||||
|
||||
echo "--------------------"
|
||||
echo " Source Files :"
|
||||
echo "--------------------"
|
||||
echo $CPP_FILE_LIST
|
||||
|
||||
echo "--------------------"
|
||||
echo " XML Files :"
|
||||
echo "--------------------"
|
||||
echo $XML_FILE_LIST
|
||||
echo $OTHER_XML_FILES
|
||||
|
||||
# XML Files
|
||||
python ./data/po/extract_strings_from_XML.py $XML_FILE_LIST $OTHER_XML_FILES
|
||||
|
||||
|
||||
|
||||
echo "---------------------------"
|
||||
echo " Generating .pot file..."
|
||||
|
||||
# C++ Files
|
||||
xgettext -d supertuxkart -s --keyword=_ --keyword=N_ --keyword=_LTR --keyword=_C:1c,2 --add-comments="I18N:" -p ./data/po -o supertuxkart.pot $CPP_FILE_LIST --package-name=supertuxkart
|
||||
|
||||
# XML Files
|
||||
xgettext -j -d supertuxkart -s --keyword=_ --add-comments="I18N:" -p ./data/po -o supertuxkart.pot --from-code=UTF-8 ./data/po/gui_strings.h --package-name=supertuxkart
|
||||
|
||||
echo " Done"
|
||||
echo "---------------------------"
|
1351
data/po/vi.po
1351
data/po/vi.po
File diff suppressed because it is too large
Load Diff
1337
data/po/zh_CN.po
1337
data/po/zh_CN.po
File diff suppressed because it is too large
Load Diff
1330
data/po/zh_TW.po
1330
data/po/zh_TW.po
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user