Page Menu
Home
Phabricator (Chris)
Search
Configure Global Search
Log In
Files
F131626
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
59 KB
Referenced Files
None
Subscribers
None
View Options
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
Details
Attached
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)
Attached To
Mode
R79 meandmyshadow
Attached
Detach File
Event Timeline