Page MenuHomePhabricator (Chris)

No OneTemporary

Authored By
Unknown
Size
59 KB
Referenced Files
None
Subscribers
None
diff --git a/data/locale/fi.po b/data/locale/fi.po
index 0bf2a0d..50248c5 100644
--- a/data/locale/fi.po
+++ b/data/locale/fi.po
@@ -1,922 +1,1081 @@
# Finnish translations for meandmyshadow package
# Suomenkielinen käännös meandmyshadow-paketille.
# Copyright (C) 2012 THE meandmyshadow'S COPYRIGHT HOLDER
# This file is distributed under the same license as the meandmyshadow package.
# odamite <odamite@gmail.com>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: meandmyshadow 0.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-05-19 17:30+0300\n"
-"PO-Revision-Date: 2012-05-19 17:30+0200\n"
+"POT-Creation-Date: 2012-05-21 10:48+0300\n"
+"PO-Revision-Date: 2012-05-21 11:04+0200\n"
"Last-Translator: odamite <odamite@gmail.com>\n"
"Language-Team: Finnish\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../src/Addons.cpp:40
#: ../src/TitleMenu.cpp:50
msgid "Addons"
msgstr "Lisäosat"
#: ../src/Addons.cpp:58
msgid "Unable to initialize addon menu:"
msgstr "Lisäosavalikkoa ei voi luoda:"
#: ../src/Addons.cpp:66
#: ../src/Addons.cpp:115
#: ../src/LevelEditSelect.cpp:69
#: ../src/LevelSelect.cpp:186
msgid "Back"
msgstr "Takaisin"
#: ../src/Addons.cpp:97
msgid "Levels"
msgstr "Kentät"
#: ../src/Addons.cpp:98
msgid "Level Packs"
msgstr "Kenttäpaketit"
#: ../src/Addons.cpp:99
msgid "Themes"
msgstr "Teemat"
#: ../src/Addons.cpp:119
#: ../src/Addons.cpp:595
msgid "Install"
msgstr "Asenna"
#: ../src/Addons.cpp:123
msgid "Update"
msgstr "Päivitä"
#: ../src/Addons.cpp:400
#: ../src/Addons.cpp:417
#: ../src/Addons.cpp:434
#: ../src/Addons.cpp:461
#: ../src/Addons.cpp:478
#: ../src/Addons.cpp:492
msgid "ERROR: Unable to download addon!"
msgstr "VIRHE: lisäosaa ei voi ladata!"
#: ../src/Addons.cpp:400
#: ../src/Addons.cpp:417
#: ../src/Addons.cpp:434
#: ../src/Addons.cpp:461
#: ../src/Addons.cpp:478
#: ../src/Addons.cpp:492
msgid "ERROR:"
msgstr "VIRHE:"
#: ../src/Addons.cpp:590
msgid "Uninstall"
msgstr "Poista"
# TRANSLATORS: Font used in GUI:
# - Use "knewave" for languages using Latin and Latin-derived alphabets
# - "freesans" can be used for non-Latin writing systems
-#: ../src/Functions.cpp:457
-#: ../src/Functions.cpp:458
-#: ../src/Functions.cpp:459
+#: ../src/Functions.cpp:460
+#: ../src/Functions.cpp:461
+#: ../src/Functions.cpp:462
msgid "knewave"
msgstr "knewave"
-#: ../src/Functions.cpp:463
+#: ../src/Functions.cpp:466
msgid "Blokletters-Viltstift"
msgstr "Blokletters-Viltstift"
-#: ../src/Functions.cpp:983
-#: ../src/Functions.cpp:1010
-#: ../src/Functions.cpp:1374
+#: ../src/Functions.cpp:986
+#: ../src/Functions.cpp:1013
+#: ../src/Functions.cpp:1377
#: ../src/InputManager.cpp:196
#: ../src/LevelEditor.cpp:1017
#: ../src/LevelEditor.cpp:1630
#: ../src/LevelEditor.cpp:1687
#: ../src/LevelEditor.cpp:1750
#: ../src/LevelEditor.cpp:1830
#: ../src/LevelEditor.cpp:1936
#: ../src/LevelEditor.cpp:1996
#: ../src/LevelEditSelect.cpp:175
#: ../src/LevelEditSelect.cpp:215
#: ../src/LevelEditSelect.cpp:263
msgid "OK"
msgstr "OK"
-#: ../src/Functions.cpp:984
-#: ../src/Functions.cpp:996
-#: ../src/Functions.cpp:1006
-#: ../src/Functions.cpp:1378
+#: ../src/Functions.cpp:987
+#: ../src/Functions.cpp:999
+#: ../src/Functions.cpp:1009
+#: ../src/Functions.cpp:1381
#: ../src/LevelEditor.cpp:1021
#: ../src/LevelEditor.cpp:1634
#: ../src/LevelEditor.cpp:1691
#: ../src/LevelEditor.cpp:1754
#: ../src/LevelEditor.cpp:1834
#: ../src/LevelEditor.cpp:1940
#: ../src/LevelEditor.cpp:2000
#: ../src/LevelEditSelect.cpp:179
#: ../src/LevelEditSelect.cpp:219
#: ../src/LevelEditSelect.cpp:267
#: ../src/TitleMenu.cpp:442
msgid "Cancel"
msgstr "Peruuta"
-#: ../src/Functions.cpp:988
+#: ../src/Functions.cpp:991
msgid "Abort"
msgstr "Pysäytä"
-#: ../src/Functions.cpp:989
-#: ../src/Functions.cpp:1005
+#: ../src/Functions.cpp:992
+#: ../src/Functions.cpp:1008
msgid "Retry"
msgstr "Uudestaan"
-#: ../src/Functions.cpp:990
+#: ../src/Functions.cpp:993
msgid "Ignore"
msgstr "Hylkää"
-#: ../src/Functions.cpp:994
-#: ../src/Functions.cpp:1000
+#: ../src/Functions.cpp:997
+#: ../src/Functions.cpp:1003
msgid "Yes"
msgstr "Kyllä"
-#: ../src/Functions.cpp:995
-#: ../src/Functions.cpp:1001
+#: ../src/Functions.cpp:998
+#: ../src/Functions.cpp:1004
msgid "No"
msgstr "Ei"
-#: ../src/Functions.cpp:1142
+#: ../src/Functions.cpp:1145
#, c-format
msgid ""
"%s already exists.\n"
"Do you want to overwrite it?"
msgstr ""
"Tiedosto %s on jo olemassa.\n"
"Haluatko korvata sen?"
-#: ../src/Functions.cpp:1142
+#: ../src/Functions.cpp:1145
msgid "Overwrite Prompt"
msgstr "Ylikirjoitus"
-#: ../src/Functions.cpp:1163
-#: ../src/Functions.cpp:1181
+#: ../src/Functions.cpp:1166
+#: ../src/Functions.cpp:1184
#, c-format
msgid "Can't open file %s."
msgstr "Tiedostoa %s ei voi avata."
-#: ../src/Functions.cpp:1163
-#: ../src/Functions.cpp:1181
+#: ../src/Functions.cpp:1166
+#: ../src/Functions.cpp:1184
msgid "Error"
msgstr "Virhe"
-#: ../src/Functions.cpp:1315
+#: ../src/Functions.cpp:1318
msgid "Save File"
msgstr "Tallenna tiedosto"
-#: ../src/Functions.cpp:1315
+#: ../src/Functions.cpp:1318
msgid "Load File"
msgstr "Avaa tiedosto"
-#: ../src/Functions.cpp:1319
+#: ../src/Functions.cpp:1322
msgid "Search In"
msgstr "Etsi"
-#: ../src/Functions.cpp:1329
+#: ../src/Functions.cpp:1332
msgid "File Name"
msgstr "Tiedostonimi"
#: ../src/Game.cpp:226
-#: ../src/Game.cpp:822
+#: ../src/Game.cpp:820
#, c-format
msgid "Level %d %s"
msgstr "Kenttä %d %s"
-#: ../src/Game.cpp:649
+#: ../src/Game.cpp:647
#, c-format
msgid "Press %s key to save the game."
msgstr "Paina %s tallentaaksesi peli."
-#: ../src/Game.cpp:654
+#: ../src/Game.cpp:652
#, c-format
msgid "Press %s key to swap the position of player and shadow."
msgstr "Paina %s vaihtaaksesi pelaajan ja varjon paikkoja"
-#: ../src/Game.cpp:659
+#: ../src/Game.cpp:657
#, c-format
msgid "Press %s key to activate the switch."
msgstr "Paina %s käyttääksesi vipua."
-#: ../src/Game.cpp:664
+#: ../src/Game.cpp:662
#, c-format
msgid "Press %s key to teleport."
msgstr "Paina %s käyttääksesi teleporttia."
-#: ../src/Game.cpp:705
+#: ../src/Game.cpp:703
#, c-format
msgid "Press %s to restart current level or press %s to load the game."
msgstr "Paina %s aloittaaksesi kenttä uudestaan tai paina %s ladataksesi peli."
-#: ../src/Game.cpp:717
+#: ../src/Game.cpp:715
#, c-format
msgid "Press %s to restart current level."
msgstr "Paina %s aloittaaksesi kenttä uudestaan."
-#: ../src/Game.cpp:731
+#: ../src/Game.cpp:729
msgid "Your shadow has died."
msgstr "Varjosi on kuollut."
-#: ../src/Game.cpp:774
+#: ../src/Game.cpp:772
#, c-format
msgid "%d recordings"
msgstr "%d nauhoitusta"
-#: ../src/Game.cpp:814
+#: ../src/Game.cpp:812
msgid "You've finished:"
msgstr "Pääsit läpi:"
-#: ../src/Game.cpp:972
+#: ../src/Game.cpp:981
#, c-format
msgid "Time: %-.2fs"
msgstr "Aikasi: %-.2fs"
-#: ../src/Game.cpp:978
+#: ../src/Game.cpp:990
#, c-format
msgid "Best time: %-.2fs"
msgstr "Paras aikasi: %-.2fs"
-#: ../src/Game.cpp:985
+#: ../src/Game.cpp:1001
#, c-format
msgid "Target time: %-.2fs"
msgstr "Tavoiteaika: %-.2fs"
-#: ../src/Game.cpp:992
+#: ../src/Game.cpp:1022
#, c-format
msgid "Recordings: %d"
msgstr "Nauhoituksesi: %d"
-#: ../src/Game.cpp:997
+#: ../src/Game.cpp:1030
#, c-format
msgid "Best recordings: %d"
msgstr "Parhaat nauhoituksesi: %d"
-#: ../src/Game.cpp:1003
+#: ../src/Game.cpp:1040
#, c-format
msgid "Target recordings: %d"
msgstr "Tavoitenauhoitukset: %d"
-#: ../src/Game.cpp:1010
+#: ../src/Game.cpp:1053
#, c-format
msgid "You earned the %s medal"
msgstr "Ansaitsit %smitalin"
-#: ../src/Game.cpp:1010
+#: ../src/Game.cpp:1053
msgid "GOLD"
msgstr "kulta"
-#: ../src/Game.cpp:1010
+#: ../src/Game.cpp:1053
msgid "SILVER"
msgstr "hopea"
-#: ../src/Game.cpp:1010
+#: ../src/Game.cpp:1053
msgid "BRONZE"
msgstr "pronssi"
-#: ../src/Game.cpp:1021
+#: ../src/Game.cpp:1068
msgid "Menu"
msgstr "Valikko"
-#: ../src/Game.cpp:1027
+#: ../src/Game.cpp:1075
#: ../src/InputManager.cpp:41
msgid "Restart"
msgstr "Uudestaan"
-#: ../src/Game.cpp:1033
+#: ../src/Game.cpp:1082
msgid "Next"
msgstr "Seuraava"
-#: ../src/Game.cpp:1060
+#: ../src/Game.cpp:1122
msgid "Game replay is done."
msgstr "Uusinta loppui."
-#: ../src/Game.cpp:1060
+#: ../src/Game.cpp:1122
msgid "Game Replay"
msgstr "Uusinta"
-#: ../src/Game.cpp:1213
-#: ../src/Game.cpp:1215
+#: ../src/Game.cpp:1275
+#: ../src/Game.cpp:1277
msgid "Congratulations"
msgstr "Onnittelut"
-#: ../src/Game.cpp:1215
+#: ../src/Game.cpp:1277
msgid "You have finished the levelpack!"
msgstr "Pääsit kenttäpaketin läpi!"
#: ../src/InputManager.cpp:40
msgid "Up (in menu)"
msgstr "Ylös (valikossa)"
#: ../src/InputManager.cpp:40
msgid "Down (in menu)"
msgstr "Alas (valikossa)"
#: ../src/InputManager.cpp:40
msgid "Left"
msgstr "Liiku vasemmalle"
#: ../src/InputManager.cpp:40
msgid "Right"
msgstr "Liiku oikealle"
#: ../src/InputManager.cpp:40
msgid "Jump"
msgstr "Hyppää"
#: ../src/InputManager.cpp:40
msgid "Action"
msgstr "Käytä"
#: ../src/InputManager.cpp:40
msgid "Space (Record)"
msgstr "Nauhoita"
#: ../src/InputManager.cpp:41
msgid "Escape"
msgstr "Takaisin"
#: ../src/InputManager.cpp:41
msgid "Tab (View shadow/Level prop.)"
-msgstr "Tabulaattori (Varjon näkymä/kentän asetukset)"
+msgstr "Varjon näkymä/kentän asetukset"
#: ../src/InputManager.cpp:41
msgid "Save game (in editor)"
msgstr "Tallenna peli (kenttäeditorissa)"
#: ../src/InputManager.cpp:41
msgid "Load game"
msgstr "Lataa peli"
#: ../src/InputManager.cpp:41
msgid "Swap (in editor)"
msgstr "Vaihda paikkoja (kenttäeditorissa)"
#: ../src/InputManager.cpp:42
msgid "Teleport (in editor)"
msgstr "Teleporttaa (kenttäeditorissa)"
#: ../src/InputManager.cpp:42
msgid "Suicide (in editor)"
msgstr "Kuole (kenttäeditorissa)"
#: ../src/InputManager.cpp:42
msgid "Shift (in editor)"
msgstr "Vaihda paikkaa (kenttäeditorissa)"
#: ../src/InputManager.cpp:42
msgid "Next block type (in Editor)"
msgstr "Seuraava palikkatyyppi (kenttäeditorissa)"
#: ../src/InputManager.cpp:43
msgid "Previous block type (in editor)"
msgstr "Edellinen palikkatyyppi (kenttäeditorissa)"
#: ../src/InputManager.cpp:43
msgid "Select (in menu)"
msgstr "Valitse (valikossa)"
#: ../src/InputManager.cpp:163
#: ../src/TitleMenu.cpp:430
msgid "Config Keys"
msgstr "Aseta näppäimet"
#: ../src/InputManager.cpp:166
msgid "Select an item and press a key to config it."
msgstr "Valitse kohde listasta ja paina näppäintä vaihtaaksesi se."
#: ../src/InputManager.cpp:179
msgid "Primary key"
msgstr "Ensisijaiset"
#: ../src/InputManager.cpp:180
msgid "Alternative key"
msgstr "Toissijaiset"
#: ../src/InputManager.cpp:186
msgid "Unset the key"
msgstr "Tyhjennä valinta"
#: ../src/InputManager.cpp:300
msgid "(Not set)"
msgstr "(Ei määritetty)"
#: ../src/LevelEditor.cpp:121
msgid "Toolbox"
msgstr "Työkalulaatikko"
#: ../src/LevelEditor.cpp:180
msgid "Block"
msgstr "Palikka"
#: ../src/LevelEditor.cpp:180
msgid "Player Start"
msgstr "Pelaajan aloituspaikka"
#: ../src/LevelEditor.cpp:180
msgid "Shadow Start"
msgstr "Varjon aloituspaikka"
#: ../src/LevelEditor.cpp:181
msgid "Exit"
msgstr "Uloskäynti"
#: ../src/LevelEditor.cpp:181
msgid "Shadow Block"
msgstr "Varjopalikka"
#: ../src/LevelEditor.cpp:181
msgid "Spikes"
msgstr "Piikit"
#: ../src/LevelEditor.cpp:182
msgid "Checkpoint"
msgstr "Tallennuspiste"
#: ../src/LevelEditor.cpp:182
#: ../src/LevelEditSelect.cpp:258
msgid "Swap"
msgstr "Vaihda paikkoja"
#: ../src/LevelEditor.cpp:182
#: ../src/LevelEditor.cpp:1976
msgid "Fragile"
msgstr "Hauras palikka"
#: ../src/LevelEditor.cpp:183
msgid "Moving Block"
msgstr "Liikkuva palikka"
#: ../src/LevelEditor.cpp:183
msgid "Moving Shadow Block"
msgstr "Liikkuva varjopalikka"
#: ../src/LevelEditor.cpp:183
msgid "Moving Spikes"
msgstr "Liikkuvat piikit"
#: ../src/LevelEditor.cpp:184
msgid "Teleporter"
msgstr "Teleportti"
#: ../src/LevelEditor.cpp:184
#: ../src/LevelEditor.cpp:1884
msgid "Button"
msgstr "Painike"
#: ../src/LevelEditor.cpp:184
#: ../src/LevelEditor.cpp:1886
msgid "Switch"
msgstr "Vipu"
#: ../src/LevelEditor.cpp:185
msgid "Conveyor Belt"
msgstr "Liukuhihna"
#: ../src/LevelEditor.cpp:185
msgid "Shadow Conveyor Belt"
msgstr "Varjoliukuhihna"
#: ../src/LevelEditor.cpp:185
msgid "Notification Block"
msgstr "Kyltti"
#: ../src/LevelEditor.cpp:185
msgid "Collectable"
msgstr "Avain"
#: ../src/LevelEditor.cpp:529
msgid "Are you sure you want to quit?"
msgstr "Haluatko varmasti poistua?"
#: ../src/LevelEditor.cpp:529
msgid "Quit prompt"
msgstr "Poistuminen"
#: ../src/LevelEditor.cpp:957
#: ../src/LevelEditor.cpp:959
#: ../src/LevelEditor.cpp:2609
#: ../src/LevelEditor.cpp:2611
#, c-format
msgid "Level \"%s\" saved"
msgstr "Kenttä \"%s\" tallennettu"
#: ../src/LevelEditor.cpp:957
#: ../src/LevelEditor.cpp:959
#: ../src/LevelEditor.cpp:2609
#: ../src/LevelEditor.cpp:2611
msgid "Saved"
msgstr "Tallennus"
#: ../src/LevelEditor.cpp:972
#: ../src/LevelEditor.cpp:2732
msgid "Level settings"
msgstr "Kentän asetukset"
#: ../src/LevelEditor.cpp:976
#: ../src/LevelEditSelect.cpp:154
msgid "Name:"
msgstr "Nimi:"
#: ../src/LevelEditor.cpp:982
msgid "Theme:"
msgstr "Teema:"
#: ../src/LevelEditor.cpp:997
msgid "Target time (s):"
msgstr "Tavoiteaika:"
#: ../src/LevelEditor.cpp:1008
msgid "Target recordings:"
msgstr "Tavoite nauhoitusten määräksi:"
#: ../src/LevelEditor.cpp:1576
#: ../src/LevelEditor.cpp:1793
msgid "Defined"
msgstr "Määritetty"
#: ../src/LevelEditor.cpp:1579
#: ../src/LevelEditor.cpp:1796
#: ../src/LevelEditor.cpp:1878
msgid "None"
msgstr "Määrittämätön"
#: ../src/LevelEditor.cpp:1586
msgid "Moving block"
msgstr "Liikkuva palikka"
#: ../src/LevelEditor.cpp:1589
msgid "Moving shadow block"
msgstr "Liikkuva varjopalikka"
#: ../src/LevelEditor.cpp:1592
msgid "Moving spikes"
msgstr "Liikkuvat piikit"
#: ../src/LevelEditor.cpp:1599
#: ../src/LevelEditor.cpp:1736
msgid "Enabled"
msgstr "Aktivoitu"
#: ../src/LevelEditor.cpp:1605
msgid "Loop"
msgstr "Silmukka"
#: ../src/LevelEditor.cpp:1611
msgid "Path"
msgstr "Reitti"
#: ../src/LevelEditor.cpp:1671
msgid "Notification block"
msgstr "Kyltti"
#: ../src/LevelEditor.cpp:1674
msgid "Enter message here:"
msgstr "Kirjoita viesti tähän:"
#: ../src/LevelEditor.cpp:1728
msgid "Shadow Conveyor belt"
msgstr "Varjoliukuhihna"
#: ../src/LevelEditor.cpp:1730
msgid "Conveyor belt"
msgstr "Liukuhihna"
#: ../src/LevelEditor.cpp:1742
msgid "Enter speed here:"
msgstr "Aseta nopeus:"
#: ../src/LevelEditor.cpp:1800
msgid "Portal"
msgstr "Portaali"
#: ../src/LevelEditor.cpp:1803
msgid "Activate on touch"
msgstr "Aktivoi koskettaessa"
#: ../src/LevelEditor.cpp:1809
#: ../src/LevelEditor.cpp:1914
msgid "Targets:"
msgstr "Kohteet:"
#: ../src/LevelEditor.cpp:1875
#, c-format
msgid "%d Defined"
msgstr "%d määritelty"
#: ../src/LevelEditor.cpp:1891
msgid "Behaviour:"
msgstr "Käytös:"
#: ../src/LevelEditor.cpp:1897
msgid "On"
msgstr "Päällä"
#: ../src/LevelEditor.cpp:1898
msgid "Off"
msgstr "Pois"
#: ../src/LevelEditor.cpp:1899
msgid "Toggle"
msgstr "Kytkin"
#: ../src/LevelEditor.cpp:1979
msgid "State:"
msgstr "Kunto:"
#: ../src/LevelEditor.cpp:1985
msgid "Complete"
msgstr "Kokonainen"
#: ../src/LevelEditor.cpp:1986
msgid "One step"
msgstr "Hauras"
#: ../src/LevelEditor.cpp:1987
msgid "Two steps"
msgstr "Hauraampi"
#: ../src/LevelEditor.cpp:1988
msgid "Gone"
msgstr "Hajonnut"
#: ../src/LevelEditor.cpp:2717
msgid "Select"
msgstr "Valitse"
#: ../src/LevelEditor.cpp:2720
msgid "Add"
msgstr "Lisää"
#: ../src/LevelEditor.cpp:2723
msgid "Delete"
msgstr "Poista"
#: ../src/LevelEditor.cpp:2726
msgid "Configure"
msgstr "Muokkaa"
#: ../src/LevelEditor.cpp:2729
#: ../src/LevelPlaySelect.cpp:65
#: ../src/TitleMenu.cpp:47
msgid "Play"
msgstr "Pelaa"
#: ../src/LevelEditor.cpp:2735
msgid "Save level"
msgstr "Tallenna kenttä"
#: ../src/LevelEditor.cpp:2738
msgid "Back to menu"
msgstr "Takaisin valikkoon"
#: ../src/LevelEditor.cpp:2784
#, c-format
msgid "Movespeed: %s"
msgstr "Nopeus: %s"
#: ../src/LevelEditSelect.cpp:41
#: ../src/TitleMenu.cpp:49
msgid "Map Editor"
msgstr "Kenttäeditori"
#: ../src/LevelEditSelect.cpp:78
msgid "New Levelpack"
msgstr "Uusi kenttäpaketti"
#: ../src/LevelEditSelect.cpp:83
msgid "Pack Properties"
msgstr "Paketin asetukset"
#: ../src/LevelEditSelect.cpp:88
msgid "Remove Pack"
msgstr "Poista paketti"
#: ../src/LevelEditSelect.cpp:93
msgid "Move Map"
msgstr "Siirrä kenttä"
#: ../src/LevelEditSelect.cpp:99
msgid "Remove Map"
msgstr "Poista kenttä"
#: ../src/LevelEditSelect.cpp:104
msgid "Edit Map"
msgstr "Muokkaa kenttää"
#: ../src/LevelEditSelect.cpp:151
msgid "Properties"
msgstr "Asetukset"
#: ../src/LevelEditSelect.cpp:161
msgid "Description:"
msgstr "Kuvaus:"
#: ../src/LevelEditSelect.cpp:168
msgid "Congratulation text:"
msgstr "Onnittelu:"
#: ../src/LevelEditSelect.cpp:203
#: ../src/LevelEditSelect.cpp:371
msgid "Add level"
msgstr "Lisää kenttä"
#: ../src/LevelEditSelect.cpp:206
msgid "File name:"
msgstr "Tiedostonimi:"
#: ../src/LevelEditSelect.cpp:243
msgid "Move level"
msgstr "Siirrä kenttä"
#: ../src/LevelEditSelect.cpp:246
msgid "Level: "
msgstr "Kenttä:"
-#: ../src/LevelEditSelect.cpp:250
-msgid "MoveLevel"
-msgstr "Siirrä kenttä"
-
#: ../src/LevelEditSelect.cpp:256
msgid "Before"
msgstr "Ennen"
#: ../src/LevelEditSelect.cpp:257
msgid "After"
msgstr "Jälkeen"
#: ../src/LevelEditSelect.cpp:439
msgid "Are you sure?"
msgstr "Oletko varma?"
#: ../src/LevelEditSelect.cpp:439
msgid "Remove prompt"
msgstr "Poista"
#: ../src/LevelEditSelect.cpp:579
msgid "No file name given for the new level."
msgstr "Uudelle kentälle ei annettu nimeä."
#: ../src/LevelEditSelect.cpp:579
msgid "Missing file name"
msgstr "Puuttuva tiedostonimi"
#: ../src/LevelEditSelect.cpp:656
msgid "The entered level number isn't valid!"
msgstr "Kentälle annettu järjestysnumero ei kelpaa!"
#: ../src/LevelEditSelect.cpp:656
msgid "Illegal number"
msgstr "Järjestysnumero"
#: ../src/LevelPlaySelect.cpp:43
msgid "Select Level"
msgstr "Valitse kenttä"
#: ../src/LevelPlaySelect.cpp:92
msgid "Choose a level"
msgstr "Valitse kenttä"
#: ../src/LevelPlaySelect.cpp:93
#: ../src/LevelPlaySelect.cpp:231
#: ../src/LevelPlaySelect.cpp:242
msgid "Time:"
msgstr "Aika:"
#: ../src/LevelPlaySelect.cpp:94
#: ../src/LevelPlaySelect.cpp:240
#: ../src/LevelPlaySelect.cpp:243
msgid "Recordings:"
msgstr "Nauhoitukset:"
#: ../src/Main.cpp:56
#, c-format
msgid "Usage: %s [OPTIONS] ...\n"
msgstr "Käyttö: %s [ASETUKSET] ...\n"
#: ../src/Main.cpp:57
msgid "Available options:\n"
msgstr "Saatavilla olevat asetukset:\n"
#: ../src/Main.cpp:58
msgid "Specifies the data directory."
msgstr "Aseta kansio, josta pelin tiedostot haetaan."
#: ../src/Main.cpp:59
msgid "Specifies the user preferences directory."
msgstr "Aseta kansio, josta käyttäjän asetukset haetaan"
#: ../src/Main.cpp:60
msgid "Run the game fullscreen."
msgstr "Aja peli kokoruudulla."
#: ../src/Main.cpp:61
msgid "Run the game windowed."
msgstr "Aja peli ikkunassa."
#: ../src/Main.cpp:62
msgid "Set the music volume."
msgstr "Aseta musiikin äänenvoimakkuus."
#: ../src/Main.cpp:63
msgid "Set the sound volume."
msgstr "Aseta äänien voimakkuus."
#: ../src/Main.cpp:64
msgid "Change a setting to a given value."
msgstr "Vaihda tietty asutus toiseksi."
#: ../src/Main.cpp:65
msgid "Display the version and quit."
msgstr "Näytä versio ja lopeta."
#: ../src/Main.cpp:66
msgid "Display this help message."
msgstr "Näytä tämä ohje."
#: ../src/TitleMenu.cpp:48
msgid "Options"
msgstr "Asetukset"
#: ../src/TitleMenu.cpp:51
msgid "Quit"
msgstr "Poistu"
#: ../src/TitleMenu.cpp:109
msgid "Enable internet in order to install addons."
msgstr "Aktivoi internet asentaaksesi lisäosia."
#: ../src/TitleMenu.cpp:109
msgid "Internet disabled"
msgstr "Internet pois käytöstä"
#: ../src/TitleMenu.cpp:188
msgid "Settings"
msgstr "Asetukset"
#: ../src/TitleMenu.cpp:236
msgid "Music"
msgstr "Musiikki"
#: ../src/TitleMenu.cpp:244
msgid "Sound"
msgstr "Äänet"
#: ../src/TitleMenu.cpp:252
msgid "Fullscreen"
msgstr "Kokoruutu"
#: ../src/TitleMenu.cpp:257
msgid "Resolution"
msgstr "Resoluutio"
#: ../src/TitleMenu.cpp:339
msgid "Language"
msgstr "Kieli"
#: ../src/TitleMenu.cpp:348
msgid "Auto-Detect"
msgstr "Valitse automaattisesti"
#: ../src/TitleMenu.cpp:376
msgid "Theme"
msgstr "Teema"
#: ../src/TitleMenu.cpp:409
msgid "Level themes"
msgstr "Kentän teema"
#: ../src/TitleMenu.cpp:414
msgid "Internet"
msgstr "Internet"
#: ../src/TitleMenu.cpp:420
msgid "Internet proxy"
msgstr "Internet proxy"
#: ../src/TitleMenu.cpp:437
msgid "Clear Progress"
msgstr "Nollaa edistyminen"
#: ../src/TitleMenu.cpp:447
msgid "Save Changes"
msgstr "Tallenna"
#: ../src/TitleMenu.cpp:546
msgid "Do you really want to reset level progress?"
msgstr "Haluatko varmasti nollata edistymisesi?"
#: ../src/TitleMenu.cpp:546
msgid "Warning"
msgstr "Varoitus"
+# TRANSLATORS: name of a key
+msgid "backspace"
+msgstr "askelpalautin"
+
+# TRANSLATORS: name of a key
+msgid "tab"
+msgstr "sarkain"
+
+# TRANSLATORS: name of a key
+msgid "clear"
+msgstr "tyhjennä"
+
+# TRANSLATORS: name of a key
+msgid "return"
+msgstr "palautus"
+
+# TRANSLATORS: name of a key
+msgid "pause"
+msgstr "pause"
+
+msgid "escape"
+msgstr "esc"
+
+# TRANSLATORS: name of a key
+msgid "space"
+msgstr "välilyönti"
+
+msgid "delete"
+msgstr "delete"
+
+msgid "enter"
+msgstr "enter"
+
+# TRANSLATORS: name of a key
+msgid "equals"
+msgstr "yhtäsuuri"
+
+msgid "up"
+msgstr "ylös"
+
+# TRANSLATORS: name of a key
+msgid "down"
+msgstr "alas"
+
+msgid "right"
+msgstr "oikea"
+
+# TRANSLATORS: name of a key
+msgid "left"
+msgstr "vasen"
+
+# TRANSLATORS: name of a key
+msgid "insert"
+msgstr "insert"
+
+# TRANSLATORS: name of a key
+msgid "home"
+msgstr "home"
+
+msgid "end"
+msgstr "end"
+
+# TRANSLATORS: name of a key
+msgid "page up"
+msgstr "page up"
+
+# TRANSLATORS: name of a key
+msgid "page down"
+msgstr "page down"
+
+msgid "numlock"
+msgstr "numlock"
+
+# TRANSLATORS: name of a key
+msgid "caps lock"
+msgstr "caps lock"
+
+# TRANSLATORS: name of a key
+msgid "scroll lock"
+msgstr "scroll lock"
+
+# TRANSLATORS: name of a key
+msgid "right shift"
+msgstr "oikea vaihto"
+
+# TRANSLATORS: name of a key
+msgid "left shift"
+msgstr "vasen vaihto"
+
+# TRANSLATORS: name of a key
+msgid "right ctrl"
+msgstr "oikea ctrl"
+
+# TRANSLATORS: name of a key
+msgid "left ctrl"
+msgstr "vasen ctrl"
+
+# TRANSLATORS: name of a key
+msgid "right alt"
+msgstr "oikea alt"
+
+# TRANSLATORS: name of a key
+msgid "left alt"
+msgstr "vasen alt"
+
+# TRANSLATORS: name of a key
+msgid "right meta"
+msgstr "oikea meta"
+
+# TRANSLATORS: name of a key
+msgid "left meta"
+msgstr "vasen meta"
+
+# TRANSLATORS: name of a key
+msgid "left super"
+msgstr "vasen super"
+
+# TRANSLATORS: name of a key
+msgid "right super"
+msgstr "oikea super"
+
+# TRANSLATORS: name of a key
+msgid "alt gr"
+msgstr "alt gr"
+
+# TRANSLATORS: name of a key
+msgid "compose"
+msgstr "compose"
+
+# TRANSLATORS: name of a key
+msgid "help"
+msgstr "apu"
+
+# TRANSLATORS: name of a key
+msgid "print screen"
+msgstr "print screen"
+
+# TRANSLATORS: name of a key
+msgid "sys req"
+msgstr "sys req"
+
+# TRANSLATORS: name of a key
+msgid "break"
+msgstr "break"
+
+# TRANSLATORS: name of a key
+msgid "menu"
+msgstr "valikko"
+
+# TRANSLATORS: name of a key
+msgid "power"
+msgstr "virta"
+
+# TRANSLATORS: name of a key
+msgid "euro"
+msgstr "euro"
+
+# TRANSLATORS: name of a key
+msgid "undo"
+msgstr "kumoa"
+
+#~ msgid "MoveLevel"
+#~ msgstr "Siirrä kenttä"
diff --git a/data/locale/messages.pot b/data/locale/messages.pot
index 6f9f015..f270a6d 100644
--- a/data/locale/messages.pot
+++ b/data/locale/messages.pot
@@ -1,895 +1,1064 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: meandmyshadow 0.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-05-19 19:44+0300\n"
+"POT-Creation-Date: 2012-05-21 10:48+0300\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"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../src/Addons.cpp:40 ../src/TitleMenu.cpp:50
msgid "Addons"
msgstr ""
#: ../src/Addons.cpp:58
msgid "Unable to initialize addon menu:"
msgstr ""
#: ../src/Addons.cpp:66 ../src/Addons.cpp:115 ../src/LevelEditSelect.cpp:69
#: ../src/LevelSelect.cpp:186
msgid "Back"
msgstr ""
#: ../src/Addons.cpp:97
msgid "Levels"
msgstr ""
#: ../src/Addons.cpp:98
msgid "Level Packs"
msgstr ""
#: ../src/Addons.cpp:99
msgid "Themes"
msgstr ""
#: ../src/Addons.cpp:119 ../src/Addons.cpp:595
msgid "Install"
msgstr ""
#: ../src/Addons.cpp:123
msgid "Update"
msgstr ""
#: ../src/Addons.cpp:400 ../src/Addons.cpp:417 ../src/Addons.cpp:434
#: ../src/Addons.cpp:461 ../src/Addons.cpp:478 ../src/Addons.cpp:492
msgid "ERROR: Unable to download addon!"
msgstr ""
#: ../src/Addons.cpp:400 ../src/Addons.cpp:417 ../src/Addons.cpp:434
#: ../src/Addons.cpp:461 ../src/Addons.cpp:478 ../src/Addons.cpp:492
msgid "ERROR:"
msgstr ""
#: ../src/Addons.cpp:590
msgid "Uninstall"
msgstr ""
# TRANSLATORS: Font used in GUI:
# - Use "knewave" for languages using Latin and Latin-derived alphabets
# - "DroidSansFallback" can be used for non-Latin writing systems
-#: ../src/Functions.cpp:457 ../src/Functions.cpp:458 ../src/Functions.cpp:459
+#: ../src/Functions.cpp:460 ../src/Functions.cpp:461 ../src/Functions.cpp:462
msgid "knewave"
msgstr ""
# TRANSLATORS: Font used for normal text:
# - Use "Blokletters-Viltstift" for languages using Latin and Latin-derived alphabets
# - "DroidSansFallback" can be used for non-Latin writing systems
-#: ../src/Functions.cpp:463
+#: ../src/Functions.cpp:466
msgid "Blokletters-Viltstift"
msgstr ""
-#: ../src/Functions.cpp:983 ../src/Functions.cpp:1010
-#: ../src/Functions.cpp:1374 ../src/InputManager.cpp:196
+#: ../src/Functions.cpp:986 ../src/Functions.cpp:1013
+#: ../src/Functions.cpp:1377 ../src/InputManager.cpp:196
#: ../src/LevelEditor.cpp:1017 ../src/LevelEditor.cpp:1630
#: ../src/LevelEditor.cpp:1687 ../src/LevelEditor.cpp:1750
#: ../src/LevelEditor.cpp:1830 ../src/LevelEditor.cpp:1936
#: ../src/LevelEditor.cpp:1996 ../src/LevelEditSelect.cpp:175
#: ../src/LevelEditSelect.cpp:215 ../src/LevelEditSelect.cpp:263
msgid "OK"
msgstr ""
-#: ../src/Functions.cpp:984 ../src/Functions.cpp:996 ../src/Functions.cpp:1006
-#: ../src/Functions.cpp:1378 ../src/LevelEditor.cpp:1021
+#: ../src/Functions.cpp:987 ../src/Functions.cpp:999 ../src/Functions.cpp:1009
+#: ../src/Functions.cpp:1381 ../src/LevelEditor.cpp:1021
#: ../src/LevelEditor.cpp:1634 ../src/LevelEditor.cpp:1691
#: ../src/LevelEditor.cpp:1754 ../src/LevelEditor.cpp:1834
#: ../src/LevelEditor.cpp:1940 ../src/LevelEditor.cpp:2000
#: ../src/LevelEditSelect.cpp:179 ../src/LevelEditSelect.cpp:219
#: ../src/LevelEditSelect.cpp:267 ../src/TitleMenu.cpp:442
msgid "Cancel"
msgstr ""
-#: ../src/Functions.cpp:988
+#: ../src/Functions.cpp:991
msgid "Abort"
msgstr ""
-#: ../src/Functions.cpp:989 ../src/Functions.cpp:1005
+#: ../src/Functions.cpp:992 ../src/Functions.cpp:1008
msgid "Retry"
msgstr ""
-#: ../src/Functions.cpp:990
+#: ../src/Functions.cpp:993
msgid "Ignore"
msgstr ""
-#: ../src/Functions.cpp:994 ../src/Functions.cpp:1000
+#: ../src/Functions.cpp:997 ../src/Functions.cpp:1003
msgid "Yes"
msgstr ""
-#: ../src/Functions.cpp:995 ../src/Functions.cpp:1001
+#: ../src/Functions.cpp:998 ../src/Functions.cpp:1004
msgid "No"
msgstr ""
# TRANSLATORS: Filename is coming before this text
-#: ../src/Functions.cpp:1142
+#: ../src/Functions.cpp:1145
#, c-format
msgid ""
"%s already exists.\n"
"Do you want to overwrite it?"
msgstr ""
-#: ../src/Functions.cpp:1142
+#: ../src/Functions.cpp:1145
msgid "Overwrite Prompt"
msgstr ""
-#: ../src/Functions.cpp:1163 ../src/Functions.cpp:1181
+#: ../src/Functions.cpp:1166 ../src/Functions.cpp:1184
#, c-format
msgid "Can't open file %s."
msgstr ""
-#: ../src/Functions.cpp:1163 ../src/Functions.cpp:1181
+#: ../src/Functions.cpp:1166 ../src/Functions.cpp:1184
msgid "Error"
msgstr ""
-#: ../src/Functions.cpp:1315
+#: ../src/Functions.cpp:1318
msgid "Save File"
msgstr ""
-#: ../src/Functions.cpp:1315
+#: ../src/Functions.cpp:1318
msgid "Load File"
msgstr ""
-#: ../src/Functions.cpp:1319
+#: ../src/Functions.cpp:1322
msgid "Search In"
msgstr ""
-#: ../src/Functions.cpp:1329
+#: ../src/Functions.cpp:1332
msgid "File Name"
msgstr ""
# TRANSLATORS: Please do not remove %s or %d from your translation:
# - %d means the level number in a levelpack
# - %s means the name of current level
#: ../src/Game.cpp:226 ../src/Game.cpp:820
#, c-format
msgid "Level %d %s"
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:647
#, c-format
msgid "Press %s key to save the game."
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:652
#, c-format
msgid "Press %s key to swap the position of player and shadow."
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:657
#, c-format
msgid "Press %s key to activate the switch."
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with current action key
#: ../src/Game.cpp:662
#, c-format
msgid "Press %s key to teleport."
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - first %s means currently configured key to restart game
# - Second %s means configured key to load from last save
#: ../src/Game.cpp:703
#, c-format
msgid "Press %s to restart current level or press %s to load the game."
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with currently configured key to restart game
#: ../src/Game.cpp:715
#, c-format
msgid "Press %s to restart current level."
msgstr ""
#: ../src/Game.cpp:729
msgid "Your shadow has died."
msgstr ""
#: ../src/Game.cpp:772
#, c-format
msgid "%d recordings"
msgstr ""
# TRANSLATORS: This is caption for finished level
#: ../src/Game.cpp:812
msgid "You've finished:"
msgstr ""
# TRANSLATORS: Please do not remove %-.2f from your translation:
# - %-.2f means time in seconds
# - s is shortened form of a second. Try to keep it so.
#: ../src/Game.cpp:981
#, c-format
msgid "Time: %-.2fs"
msgstr ""
# TRANSLATORS: Please do not remove %-.2f from your translation:
# - %-.2f means time in seconds
# - s is shortened form of a second. Try to keep it so.
#: ../src/Game.cpp:990
#, c-format
msgid "Best time: %-.2fs"
msgstr ""
#: ../src/Game.cpp:1001
#, c-format
msgid "Target time: %-.2fs"
msgstr ""
# TRANSLATORS: Please do not remove %d from your translation:
# - %d means the number of recordings user has made
#: ../src/Game.cpp:1022
#, c-format
msgid "Recordings: %d"
msgstr ""
# TRANSLATORS: Please do not remove %d from your translation:
# - %d means the number of recordings user has made
#: ../src/Game.cpp:1030
#, c-format
msgid "Best recordings: %d"
msgstr ""
#: ../src/Game.cpp:1040
#, c-format
msgid "Target recordings: %d"
msgstr ""
# TRANSLATORS: Please do not remove %s from your translation:
# - %s will be replaced with name of a prize medal (gold, silver or bronze)
#: ../src/Game.cpp:1053
#, c-format
msgid "You earned the %s medal"
msgstr ""
#: ../src/Game.cpp:1053
msgid "GOLD"
msgstr ""
#: ../src/Game.cpp:1053
msgid "SILVER"
msgstr ""
#: ../src/Game.cpp:1053
msgid "BRONZE"
msgstr ""
# TRANSLATORS: used as return to the level selector menu
#: ../src/Game.cpp:1068
msgid "Menu"
msgstr ""
# TRANSLATORS: used as restart level
#: ../src/Game.cpp:1075 ../src/InputManager.cpp:41
msgid "Restart"
msgstr ""
# TRANSLATORS: used as next level
#: ../src/Game.cpp:1082
msgid "Next"
msgstr ""
#: ../src/Game.cpp:1122
msgid "Game replay is done."
msgstr ""
#: ../src/Game.cpp:1122
msgid "Game Replay"
msgstr ""
#: ../src/Game.cpp:1275 ../src/Game.cpp:1277
msgid "Congratulations"
msgstr ""
#: ../src/Game.cpp:1277
msgid "You have finished the levelpack!"
msgstr ""
#: ../src/InputManager.cpp:40
msgid "Up (in menu)"
msgstr ""
#: ../src/InputManager.cpp:40
msgid "Down (in menu)"
msgstr ""
#: ../src/InputManager.cpp:40
msgid "Left"
msgstr ""
#: ../src/InputManager.cpp:40
msgid "Right"
msgstr ""
#: ../src/InputManager.cpp:40
msgid "Jump"
msgstr ""
#: ../src/InputManager.cpp:40
msgid "Action"
msgstr ""
#: ../src/InputManager.cpp:40
msgid "Space (Record)"
msgstr ""
#: ../src/InputManager.cpp:41
msgid "Escape"
msgstr ""
#: ../src/InputManager.cpp:41
msgid "Tab (View shadow/Level prop.)"
msgstr ""
#: ../src/InputManager.cpp:41
msgid "Save game (in editor)"
msgstr ""
#: ../src/InputManager.cpp:41
msgid "Load game"
msgstr ""
#: ../src/InputManager.cpp:41
msgid "Swap (in editor)"
msgstr ""
#: ../src/InputManager.cpp:42
msgid "Teleport (in editor)"
msgstr ""
#: ../src/InputManager.cpp:42
msgid "Suicide (in editor)"
msgstr ""
#: ../src/InputManager.cpp:42
msgid "Shift (in editor)"
msgstr ""
#: ../src/InputManager.cpp:42
msgid "Next block type (in Editor)"
msgstr ""
#: ../src/InputManager.cpp:43
msgid "Previous block type (in editor)"
msgstr ""
#: ../src/InputManager.cpp:43
msgid "Select (in menu)"
msgstr ""
#: ../src/InputManager.cpp:163 ../src/TitleMenu.cpp:430
msgid "Config Keys"
msgstr ""
#: ../src/InputManager.cpp:166
msgid "Select an item and press a key to config it."
msgstr ""
#: ../src/InputManager.cpp:179
msgid "Primary key"
msgstr ""
#: ../src/InputManager.cpp:180
msgid "Alternative key"
msgstr ""
#: ../src/InputManager.cpp:186
msgid "Unset the key"
msgstr ""
#: ../src/InputManager.cpp:300
msgid "(Not set)"
msgstr ""
#: ../src/LevelEditor.cpp:121
msgid "Toolbox"
msgstr ""
#: ../src/LevelEditor.cpp:180
msgid "Block"
msgstr ""
#: ../src/LevelEditor.cpp:180
msgid "Player Start"
msgstr ""
#: ../src/LevelEditor.cpp:180
msgid "Shadow Start"
msgstr ""
#: ../src/LevelEditor.cpp:181
msgid "Exit"
msgstr ""
#: ../src/LevelEditor.cpp:181
msgid "Shadow Block"
msgstr ""
#: ../src/LevelEditor.cpp:181
msgid "Spikes"
msgstr ""
#: ../src/LevelEditor.cpp:182
msgid "Checkpoint"
msgstr ""
#: ../src/LevelEditor.cpp:182 ../src/LevelEditSelect.cpp:258
msgid "Swap"
msgstr ""
#: ../src/LevelEditor.cpp:182 ../src/LevelEditor.cpp:1976
msgid "Fragile"
msgstr ""
#: ../src/LevelEditor.cpp:183
msgid "Moving Block"
msgstr ""
#: ../src/LevelEditor.cpp:183
msgid "Moving Shadow Block"
msgstr ""
#: ../src/LevelEditor.cpp:183
msgid "Moving Spikes"
msgstr ""
#: ../src/LevelEditor.cpp:184
msgid "Teleporter"
msgstr ""
#: ../src/LevelEditor.cpp:184 ../src/LevelEditor.cpp:1884
msgid "Button"
msgstr ""
#: ../src/LevelEditor.cpp:184 ../src/LevelEditor.cpp:1886
msgid "Switch"
msgstr ""
#: ../src/LevelEditor.cpp:185
msgid "Conveyor Belt"
msgstr ""
#: ../src/LevelEditor.cpp:185
msgid "Shadow Conveyor Belt"
msgstr ""
#: ../src/LevelEditor.cpp:185
msgid "Notification Block"
msgstr ""
#: ../src/LevelEditor.cpp:185
msgid "Collectable"
msgstr ""
#: ../src/LevelEditor.cpp:529
msgid "Are you sure you want to quit?"
msgstr ""
#: ../src/LevelEditor.cpp:529
msgid "Quit prompt"
msgstr ""
#: ../src/LevelEditor.cpp:957 ../src/LevelEditor.cpp:959
#: ../src/LevelEditor.cpp:2609 ../src/LevelEditor.cpp:2611
#, c-format
msgid "Level \"%s\" saved"
msgstr ""
#: ../src/LevelEditor.cpp:957 ../src/LevelEditor.cpp:959
#: ../src/LevelEditor.cpp:2609 ../src/LevelEditor.cpp:2611
msgid "Saved"
msgstr ""
#: ../src/LevelEditor.cpp:972 ../src/LevelEditor.cpp:2732
msgid "Level settings"
msgstr ""
#: ../src/LevelEditor.cpp:976 ../src/LevelEditSelect.cpp:154
msgid "Name:"
msgstr ""
#: ../src/LevelEditor.cpp:982
msgid "Theme:"
msgstr ""
#: ../src/LevelEditor.cpp:997
msgid "Target time (s):"
msgstr ""
#: ../src/LevelEditor.cpp:1008
msgid "Target recordings:"
msgstr ""
#: ../src/LevelEditor.cpp:1576 ../src/LevelEditor.cpp:1793
msgid "Defined"
msgstr ""
#: ../src/LevelEditor.cpp:1579 ../src/LevelEditor.cpp:1796
#: ../src/LevelEditor.cpp:1878
msgid "None"
msgstr ""
#: ../src/LevelEditor.cpp:1586
msgid "Moving block"
msgstr ""
#: ../src/LevelEditor.cpp:1589
msgid "Moving shadow block"
msgstr ""
#: ../src/LevelEditor.cpp:1592
msgid "Moving spikes"
msgstr ""
#: ../src/LevelEditor.cpp:1599 ../src/LevelEditor.cpp:1736
msgid "Enabled"
msgstr ""
#: ../src/LevelEditor.cpp:1605
msgid "Loop"
msgstr ""
#: ../src/LevelEditor.cpp:1611
msgid "Path"
msgstr ""
#: ../src/LevelEditor.cpp:1671
msgid "Notification block"
msgstr ""
#: ../src/LevelEditor.cpp:1674
msgid "Enter message here:"
msgstr ""
#: ../src/LevelEditor.cpp:1728
msgid "Shadow Conveyor belt"
msgstr ""
#: ../src/LevelEditor.cpp:1730
msgid "Conveyor belt"
msgstr ""
#: ../src/LevelEditor.cpp:1742
msgid "Enter speed here:"
msgstr ""
#: ../src/LevelEditor.cpp:1800
msgid "Portal"
msgstr ""
#: ../src/LevelEditor.cpp:1803
msgid "Activate on touch"
msgstr ""
#: ../src/LevelEditor.cpp:1809 ../src/LevelEditor.cpp:1914
msgid "Targets:"
msgstr ""
#: ../src/LevelEditor.cpp:1875
#, c-format
msgid "%d Defined"
msgstr ""
#: ../src/LevelEditor.cpp:1891
msgid "Behaviour:"
msgstr ""
#: ../src/LevelEditor.cpp:1897
msgid "On"
msgstr ""
#: ../src/LevelEditor.cpp:1898
msgid "Off"
msgstr ""
#: ../src/LevelEditor.cpp:1899
msgid "Toggle"
msgstr ""
#: ../src/LevelEditor.cpp:1979
msgid "State:"
msgstr ""
#: ../src/LevelEditor.cpp:1985
msgid "Complete"
msgstr ""
#: ../src/LevelEditor.cpp:1986
msgid "One step"
msgstr ""
#: ../src/LevelEditor.cpp:1987
msgid "Two steps"
msgstr ""
#: ../src/LevelEditor.cpp:1988
msgid "Gone"
msgstr ""
#: ../src/LevelEditor.cpp:2717
msgid "Select"
msgstr ""
#: ../src/LevelEditor.cpp:2720
msgid "Add"
msgstr ""
#: ../src/LevelEditor.cpp:2723
msgid "Delete"
msgstr ""
#: ../src/LevelEditor.cpp:2726
msgid "Configure"
msgstr ""
#: ../src/LevelEditor.cpp:2729 ../src/LevelPlaySelect.cpp:65
#: ../src/TitleMenu.cpp:47
msgid "Play"
msgstr ""
#: ../src/LevelEditor.cpp:2735
msgid "Save level"
msgstr ""
#: ../src/LevelEditor.cpp:2738
msgid "Back to menu"
msgstr ""
#: ../src/LevelEditor.cpp:2784
#, c-format
msgid "Movespeed: %s"
msgstr ""
#: ../src/LevelEditSelect.cpp:41 ../src/TitleMenu.cpp:49
msgid "Map Editor"
msgstr ""
#: ../src/LevelEditSelect.cpp:78
msgid "New Levelpack"
msgstr ""
#: ../src/LevelEditSelect.cpp:83
msgid "Pack Properties"
msgstr ""
#: ../src/LevelEditSelect.cpp:88
msgid "Remove Pack"
msgstr ""
#: ../src/LevelEditSelect.cpp:93
msgid "Move Map"
msgstr ""
#: ../src/LevelEditSelect.cpp:99
msgid "Remove Map"
msgstr ""
#: ../src/LevelEditSelect.cpp:104
msgid "Edit Map"
msgstr ""
#: ../src/LevelEditSelect.cpp:151
msgid "Properties"
msgstr ""
#: ../src/LevelEditSelect.cpp:161
msgid "Description:"
msgstr ""
#: ../src/LevelEditSelect.cpp:168
msgid "Congratulation text:"
msgstr ""
#: ../src/LevelEditSelect.cpp:203 ../src/LevelEditSelect.cpp:371
msgid "Add level"
msgstr ""
#: ../src/LevelEditSelect.cpp:206
msgid "File name:"
msgstr ""
#: ../src/LevelEditSelect.cpp:243
msgid "Move level"
msgstr ""
#: ../src/LevelEditSelect.cpp:246
msgid "Level: "
msgstr ""
#: ../src/LevelEditSelect.cpp:256
msgid "Before"
msgstr ""
#: ../src/LevelEditSelect.cpp:257
msgid "After"
msgstr ""
#: ../src/LevelEditSelect.cpp:439
msgid "Are you sure?"
msgstr ""
#: ../src/LevelEditSelect.cpp:439
msgid "Remove prompt"
msgstr ""
#: ../src/LevelEditSelect.cpp:579
msgid "No file name given for the new level."
msgstr ""
#: ../src/LevelEditSelect.cpp:579
msgid "Missing file name"
msgstr ""
#: ../src/LevelEditSelect.cpp:656
msgid "The entered level number isn't valid!"
msgstr ""
#: ../src/LevelEditSelect.cpp:656
msgid "Illegal number"
msgstr ""
#: ../src/LevelPlaySelect.cpp:43
msgid "Select Level"
msgstr ""
#: ../src/LevelPlaySelect.cpp:92
msgid "Choose a level"
msgstr ""
#: ../src/LevelPlaySelect.cpp:93 ../src/LevelPlaySelect.cpp:231
#: ../src/LevelPlaySelect.cpp:242
msgid "Time:"
msgstr ""
#: ../src/LevelPlaySelect.cpp:94 ../src/LevelPlaySelect.cpp:240
#: ../src/LevelPlaySelect.cpp:243
msgid "Recordings:"
msgstr ""
#: ../src/Main.cpp:56
#, c-format
msgid "Usage: %s [OPTIONS] ...\n"
msgstr ""
#: ../src/Main.cpp:57
msgid "Available options:\n"
msgstr ""
#: ../src/Main.cpp:58
msgid "Specifies the data directory."
msgstr ""
#: ../src/Main.cpp:59
msgid "Specifies the user preferences directory."
msgstr ""
#: ../src/Main.cpp:60
msgid "Run the game fullscreen."
msgstr ""
#: ../src/Main.cpp:61
msgid "Run the game windowed."
msgstr ""
#: ../src/Main.cpp:62
msgid "Set the music volume."
msgstr ""
#: ../src/Main.cpp:63
msgid "Set the sound volume."
msgstr ""
#: ../src/Main.cpp:64
msgid "Change a setting to a given value."
msgstr ""
#: ../src/Main.cpp:65
msgid "Display the version and quit."
msgstr ""
#: ../src/Main.cpp:66
msgid "Display this help message."
msgstr ""
#: ../src/TitleMenu.cpp:48
msgid "Options"
msgstr ""
#: ../src/TitleMenu.cpp:51
msgid "Quit"
msgstr ""
#: ../src/TitleMenu.cpp:109
msgid "Enable internet in order to install addons."
msgstr ""
#: ../src/TitleMenu.cpp:109
msgid "Internet disabled"
msgstr ""
#: ../src/TitleMenu.cpp:188
msgid "Settings"
msgstr ""
#: ../src/TitleMenu.cpp:236
msgid "Music"
msgstr ""
#: ../src/TitleMenu.cpp:244
msgid "Sound"
msgstr ""
#: ../src/TitleMenu.cpp:252
msgid "Fullscreen"
msgstr ""
#: ../src/TitleMenu.cpp:257
msgid "Resolution"
msgstr ""
#: ../src/TitleMenu.cpp:339
msgid "Language"
msgstr ""
# TRANSLATORS: as detect user's language automatically
#: ../src/TitleMenu.cpp:348
msgid "Auto-Detect"
msgstr ""
#: ../src/TitleMenu.cpp:376
msgid "Theme"
msgstr ""
#: ../src/TitleMenu.cpp:409
msgid "Level themes"
msgstr ""
#: ../src/TitleMenu.cpp:414
msgid "Internet"
msgstr ""
#: ../src/TitleMenu.cpp:420
msgid "Internet proxy"
msgstr ""
# TRANSLATORS: Used for button which clear any level progress like unlocked levels and highscores.
#: ../src/TitleMenu.cpp:437
msgid "Clear Progress"
msgstr ""
#: ../src/TitleMenu.cpp:447
msgid "Save Changes"
msgstr ""
#: ../src/TitleMenu.cpp:546
msgid "Do you really want to reset level progress?"
msgstr ""
#: ../src/TitleMenu.cpp:546
msgid "Warning"
msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "backspace"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "tab"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "clear"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "return"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "pause"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "escape"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "space"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "delete"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "enter"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "equals"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "up"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "down"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "right"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "left"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "insert"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "home"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "end"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "page up"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "page down"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "numlock"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "caps lock"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "scroll lock"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "right shift"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "left shift"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "right ctrl"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "left ctrl"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "right alt"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "left alt"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "right meta"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "left meta"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "left super"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "right super"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "alt gr"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "compose"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "help"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "print screen"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "sys req"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "break"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "menu"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "power"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "euro"
+msgstr ""
+
+# TRANSLATORS: name of a key
+msgid "undo"
+msgstr ""
+
diff --git a/src/InputManager.cpp b/src/InputManager.cpp
index 8d2b8be..cbe59a9 100644
--- a/src/InputManager.cpp
+++ b/src/InputManager.cpp
@@ -1,443 +1,443 @@
/****************************************************************************
** Copyright (C) 2012 me and my shadow developers
**
**
** This file may be used under the terms of the GNU General Public
** License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of
** this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** You should have received a copy of the GNU General Public License
** along with this program. If not, see <http://www.gnu.org/licenses/>.
**
****************************************************************************/
#include "InputManager.h"
#include "Globals.h"
#include "Settings.h"
#include "Functions.h"
#include "GUIObject.h"
#include "GUIListBox.h"
#include <stdlib.h>
#include <stdio.h>
#include <string>
using namespace std;
InputManager inputMgr;
//the order must be the same as InputManagerKeys
static const char* keySettingNames[INPUTMGR_MAX]={
"key_up","key_down","key_left","key_right","key_jump","key_action","key_space",
"key_escape","key_restart","key_tab","key_save","key_load","key_swap",
"key_teleport","key_suicide","key_shift","key_next","key_previous","key_select"
};
//the order must be the same as InputManagerKeys
static const char* keySettingDescription[INPUTMGR_MAX]={
__("Up (in menu)"),__("Down (in menu)"),__("Left"),__("Right"),__("Jump"),__("Action"),__("Space (Record)"),
__("Escape"),__("Restart"),__("Tab (View shadow/Level prop.)"),__("Save game (in editor)"),__("Load game"),__("Swap (in editor)"),
__("Teleport (in editor)"),__("Suicide (in editor)"),__("Shift (in editor)"),__("Next block type (in Editor)"),
__("Previous block type (in editor)"), __("Select (in menu)")
};
class InputDialogHandler:public GUIEventCallback{
private:
//the list box which contains keys.
GUIListBox* listBox;
//the parent object.
InputManager* parent;
//check if it's alternative key
bool isAlternativeKey;
//update specified key config item
void updateConfigItem(int index){
//get the description
std::string s=_(keySettingDescription[index]);
s+=": ";
//get key code name
int keyCode=parent->getKeyCode((InputManagerKeys)index,isAlternativeKey);
- s+=InputManager::getKeyCodeName(keyCode);
+ s+=_(InputManager::getKeyCodeName(keyCode));
//show it
listBox->item[index]=s;
}
public:
//Constructor.
InputDialogHandler(GUIListBox* listBox,InputManager* parent):listBox(listBox),parent(parent),isAlternativeKey(false){
//load the avaliable keys to the list box.
for(int i=0;i<INPUTMGR_MAX;i++){
//get the description
std::string s=_(keySettingDescription[i]);
s+=": ";
//get key code name
int keyCode=parent->getKeyCode((InputManagerKeys)i,false);
- s+=InputManager::getKeyCodeName(keyCode);
+ s+=_(InputManager::getKeyCodeName(keyCode));
//add item
listBox->item.push_back(s);
}
}
//when a key is pressed call this to set the key to currently-selected item
void onKeyDown(int keyCode){
//check if an item is selected.
int index=listBox->value;
if(index<0 || index>=INPUTMGR_MAX) return;
//set it.
parent->setKeyCode((InputManagerKeys)index,keyCode,isAlternativeKey);
updateConfigItem(index);
}
void GUIEventCallback_OnEvent(std::string name,GUIObject* obj,int eventType){
//Make sure it's a click event.
if(eventType==GUIEventClick){
if(name=="cmdOK"){
//config is done, exiting
delete GUIObjectRoot;
GUIObjectRoot=NULL;
}else if(name=="cmdUnset"){
onKeyDown(0);
}else if(name=="lstType"){
isAlternativeKey=(obj->value==1);
for(int i=0;i<INPUTMGR_MAX;i++){
updateConfigItem(i);
}
}
/*else if(name=="cmdEscape"){
//set a key to Escape
//simply call onKeyDown().
onKeyDown(SDLK_ESCAPE);
}*/
}
}
};
int InputManager::getKeyCode(InputManagerKeys key,bool isAlternativeKey){
if(isAlternativeKey) return alternativeKeys[key];
else return keys[key];
}
void InputManager::setKeyCode(InputManagerKeys key,int keyCode,bool isAlternativeKey){
if(isAlternativeKey) alternativeKeys[key]=keyCode;
else keys[key]=keyCode;
}
void InputManager::loadConfig(){
int i;
for(i=0;i<INPUTMGR_MAX;i++){
string s=keySettingNames[i];
keys[i]=atoi(getSettings()->getValue(s).c_str());
s+="2";
alternativeKeys[i]=atoi(getSettings()->getValue(s).c_str());
}
}
void InputManager::saveConfig(){
int i;
char c[32];
for(i=0;i<INPUTMGR_MAX;i++){
string s=keySettingNames[i];
sprintf(c,"%d",keys[i]);
getSettings()->setValue(s,c);
s+="2";
sprintf(c,"%d",alternativeKeys[i]);
getSettings()->setValue(s,c);
}
}
void InputManager::showConfig(){
//Save the old GUI.
GUIObject* tmp=GUIObjectRoot;
//Create the new GUI.
GUIObjectRoot=new GUIObject((SCREEN_WIDTH-600)/2,(SCREEN_HEIGHT-420)/2,600,400,GUIObjectFrame,_("Config Keys"));
GUIObject* obj;
obj=new GUIObject(0,44,600,36,GUIObjectLabel,_("Select an item and press a key to config it."),0,true,true,GUIGravityCenter);
GUIObjectRoot->childControls.push_back(obj);
//The list box.
GUIListBox *listBox=new GUIListBox(20,126,560,220);
//Event handler.
InputDialogHandler handler(listBox,this);
GUIObjectRoot->childControls.push_back(listBox);
//another box to select key type
GUISingleLineListBox *listBox0=new GUISingleLineListBox(120,80,360,36);
listBox0->name="lstType";
listBox0->item.push_back(_("Primary key"));
listBox0->item.push_back(_("Alternative key"));
listBox0->value=0;
listBox0->eventCallback=&handler;
GUIObjectRoot->childControls.push_back(listBox0);
//two buttons
obj=new GUIObject(32,360,-1,36,GUIObjectButton,_("Unset the key"),0,true,true,GUIGravityLeft);
obj->name="cmdUnset";
obj->eventCallback=&handler;
GUIObjectRoot->childControls.push_back(obj);
/*
obj=new GUIObject(20,360,360,36,GUIObjectButton,"Set to ESCAPE key");
obj->name="cmdEscape";
obj->eventCallback=&handler;
GUIObjectRoot->childControls.push_back(obj);
*/
obj=new GUIObject(GUIObjectRoot->width-32,360,-1,36,GUIObjectButton,_("OK"),0,true,true,GUIGravityRight);
obj->name="cmdOK";
obj->eventCallback=&handler;
GUIObjectRoot->childControls.push_back(obj);
//Now we keep rendering and updating the GUI.
SDL_FillRect(tempSurface,NULL,0);
SDL_SetAlpha(tempSurface,SDL_SRCALPHA,155);
SDL_BlitSurface(tempSurface,NULL,screen,NULL);
while(GUIObjectRoot){
while(SDL_PollEvent(&event)){
//check if some key is down.
if(event.type==SDL_KEYDOWN){
handler.onKeyDown(event.key.keysym.sym);
}
//Joystick
else if(event.type==SDL_JOYAXISMOTION){
if(event.jaxis.value>3200){
handler.onKeyDown(0x00010001 | (int(event.jaxis.axis)<<8));
}else if(event.jaxis.value<-3200){
handler.onKeyDown(0x000100FF | (int(event.jaxis.axis)<<8));
}
}
else if(event.type==SDL_JOYBUTTONDOWN){
handler.onKeyDown(0x00020000 | (int(event.jbutton.button)<<8));
}
else if(event.type==SDL_JOYHATMOTION){
if(event.jhat.value & SDL_HAT_LEFT){
handler.onKeyDown(0x00030000 | (int(event.jhat.hat)<<8) | SDL_HAT_LEFT);
}else if(event.jhat.value & SDL_HAT_RIGHT){
handler.onKeyDown(0x00030000 | (int(event.jhat.hat)<<8) | SDL_HAT_RIGHT);
}else if(event.jhat.value & SDL_HAT_UP){
handler.onKeyDown(0x00030000 | (int(event.jhat.hat)<<8) | SDL_HAT_UP);
}else if(event.jhat.value & SDL_HAT_DOWN){
handler.onKeyDown(0x00030000 | (int(event.jhat.hat)<<8) | SDL_HAT_DOWN);
}
}
//now process GUI events.
GUIObjectHandleEvents(true);
}
if(GUIObjectRoot)
GUIObjectRoot->render();
flipScreen();
SDL_Delay(30);
}
//Restore the old GUI.
GUIObjectRoot=tmp;
}
//get key name from key code
std::string InputManager::getKeyCodeName(int keyCode){
char c[64];
if(keyCode>0 && keyCode <0x1000){
//keyboard
char* s=SDL_GetKeyName((SDLKey)keyCode);
if(s!=NULL){
return s;
}else{
sprintf(c,"(Key %d)",keyCode);
return c;
}
}else if(keyCode>0x1000){
//Joystick. first set it to invalid value
sprintf(c,"(Joystick 0x%08X)",keyCode);
//check type
switch((keyCode & 0x00FF0000)>>16){
case 1:
//axis
switch(keyCode & 0xFF){
case 1:
sprintf(c,"Joystick axis %d +",(keyCode & 0x0000FF00)>>8);
break;
case 0xFF:
sprintf(c,"Joystick axis %d -",(keyCode & 0x0000FF00)>>8);
break;
}
break;
case 2:
//button
sprintf(c,"Joystick button %d",(keyCode & 0x0000FF00)>>8);
break;
case 3:
//hat
switch(keyCode & 0xFF){
case SDL_HAT_LEFT:
sprintf(c,"Joystick hat %d left",(keyCode & 0x0000FF00)>>8);
break;
case SDL_HAT_RIGHT:
sprintf(c,"Joystick hat %d right",(keyCode & 0x0000FF00)>>8);
break;
case SDL_HAT_UP:
sprintf(c,"Joystick hat %d up",(keyCode & 0x0000FF00)>>8);
break;
case SDL_HAT_DOWN:
sprintf(c,"Joystick hat %d down",(keyCode & 0x0000FF00)>>8);
break;
}
break;
}
return c;
}else{
//unknown??
return _("(Not set)");
}
}
InputManager::InputManager(){
//clear the array.
for(int i=0;i<INPUTMGR_MAX;i++){
keys[i]=alternativeKeys[i]=keyFlags[i]=0;
}
}
InputManager::~InputManager(){
closeAllJoysticks();
}
int InputManager::getKeyState(int keyCode,int oldState,bool hasEvent){
int state=0;
if(keyCode>0 && keyCode<0x1000){
//keyboard
if(hasEvent){
if(event.type==SDL_KEYDOWN && event.key.keysym.sym==keyCode){
state|=0x2;
}
if(event.type==SDL_KEYUP && event.key.keysym.sym==keyCode){
state|=0x4;
}
}
if(keyCode<SDLK_LAST && SDL_GetKeyState(NULL)[keyCode]){
state|=0x1;
}
}else if(keyCode>0x1000){
//Joystick
int index=(keyCode & 0x0000FF00)>>8;
int value=keyCode & 0xFF;
int i,v;
switch((keyCode & 0x00FF0000)>>16){
case 1:
//axis
if(hasEvent){
if(event.type==SDL_JOYAXISMOTION && event.jaxis.axis==index){
if((value==1 && event.jaxis.value>3200) || (value==0xFF && event.jaxis.value<-3200)){
if((oldState & 0x1)==0) state|=0x2;
}else{
if(oldState & 0x1) state|=0x4;
}
}
}
for(i=0;i<(int)joysticks.size();i++){
v=SDL_JoystickGetAxis(joysticks[i],index);
if((value==1 && v>3200) || (value==0xFF && v<-3200)){
state|=0x1;
break;
}
}
break;
case 2:
//button
if(hasEvent){
if(event.type==SDL_JOYBUTTONDOWN && event.jbutton.button==index){
state|=0x2;
}
if(event.type==SDL_JOYBUTTONUP && event.jbutton.button==index){
state|=0x4;
}
}
for(i=0;i<(int)joysticks.size();i++){
v=SDL_JoystickGetButton(joysticks[i],index);
if(v){
state|=0x1;
break;
}
}
break;
case 3:
//hat
if(hasEvent){
if(event.type==SDL_JOYHATMOTION && event.jhat.hat==index){
if(event.jhat.value & value){
if((oldState & 0x1)==0) state|=0x2;
}else{
if(oldState & 0x1) state|=0x4;
}
}
}
for(i=0;i<(int)joysticks.size();i++){
v=SDL_JoystickGetHat(joysticks[i],index);
if(v & value){
state|=0x1;
break;
}
}
break;
}
}
return state;
}
//update the key state, according to current SDL event, etc.
void InputManager::updateState(bool hasEvent){
for(int i=0;i<INPUTMGR_MAX;i++){
keyFlags[i]=getKeyState(keys[i],keyFlags[i],hasEvent)|getKeyState(alternativeKeys[i],keyFlags[i],hasEvent);
}
}
//check if there is KeyDown event.
bool InputManager::isKeyDownEvent(InputManagerKeys key){
return keyFlags[key]&0x2;
}
//check if there is KeyUp event.
bool InputManager::isKeyUpEvent(InputManagerKeys key){
return keyFlags[key]&0x4;
}
//check if specified key is down.
bool InputManager::isKeyDown(InputManagerKeys key){
return keyFlags[key]&0x1;
}
//open all joysticks.
void InputManager::openAllJoysitcks(){
int i,m;
//First close previous joysticks.
closeAllJoysticks();
//open all joysticks.
m=SDL_NumJoysticks();
for(i=0;i<m;i++){
SDL_Joystick *j=SDL_JoystickOpen(i);
if(j==NULL){
printf("ERROR: Couldn't open Joystick %d\n",i);
}else{
joysticks.push_back(j);
}
}
}
//close all joysticks.
void InputManager::closeAllJoysticks(){
for(int i=0;i<(int)joysticks.size();i++){
SDL_JoystickClose(joysticks[i]);
}
joysticks.clear();
}
diff --git a/tools/messages.pot.sh b/tools/messages.pot.sh
index f87947a..5972f62 100644
--- a/tools/messages.pot.sh
+++ b/tools/messages.pot.sh
@@ -1,7 +1,25 @@
-#!/bin/sh
+#!/bin/bash
+
+#variables
+output="../data/locale/messages.pot"
+version="0.4"
#automatically get all string from source code
-xgettext -o ../data/locale/messages.pot -c" /" -k_ -k__ --package-name=meandmyshadow --package-version=0.4 ../src/*.cpp
+xgettext -o ${output} -c" /" -k_ -k__ --package-name=meandmyshadow --package-version=${version} ../src/*.cpp
#little hack to get tranlator comments work
-sed -i 's/#. \/ /# /g' ../data/locale/messages.pot
+sed -i 's/#. \/ /# /g' ${output}
+echo >> ${output}
+
+#make SDL key names translatable
+keys=("backspace" "tab" "clear" "return" "pause" "escape" "space" "delete" "enter" "equals"
+"up" "down" "right" "left" "insert" "home" "end" "page up" "page down" "numlock" "caps lock"
+"scroll lock" "right shift" "left shift" "right ctrl" "left ctrl" "right alt" "left alt"
+"right meta" "left meta" "left super" "right super" "alt gr" "compose" "help" "print screen"
+"sys req" "break" "menu" "power" "euro" "undo")
+for i in ${!keys[*]}; do
+ echo "# TRANSLATORS: name of a key" >> ${output}
+ echo "msgid \"${keys[$i]}\"" >> ${output}
+ echo "msgstr \"\"" >> ${output}
+ echo >> ${output}
+done

File Metadata

Mime Type
text/x-diff
Expires
Tue, Jun 16, 12:17 AM (2 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
70373
Default Alt Text
(59 KB)

Event Timeline