diff --git a/squirrelbattle/entities/items.py b/squirrelbattle/entities/items.py index ac5f74d..f4587f3 100644 --- a/squirrelbattle/entities/items.py +++ b/squirrelbattle/entities/items.py @@ -597,7 +597,7 @@ class Bow(LongRangeWeapon): @property def string(self) -> str: - return " is shot by an arrow." + return _(" is shot by an arrow.") class FireBallStaff(LongRangeWeapon): @@ -619,7 +619,7 @@ class FireBallStaff(LongRangeWeapon): @property def string(self) -> str: - return " is shot by a fire ball." + return _(" is shot by a fire ball.") def throw(self, direction: int) -> Any: """ diff --git a/squirrelbattle/interfaces.py b/squirrelbattle/interfaces.py index 14fcc6d..54a2d17 100644 --- a/squirrelbattle/interfaces.py +++ b/squirrelbattle/interfaces.py @@ -774,7 +774,9 @@ class FightingEntity(Entity): The entity takes damage from the attacker based on their respective stats. """ - damage = max(1, amount - self.constitution) + damage = 0 + if amount != 0: + damage = max(1, amount - self.constitution) self.health -= damage if self.health <= 0: self.die() diff --git a/squirrelbattle/locale/de/LC_MESSAGES/squirrelbattle.po b/squirrelbattle/locale/de/LC_MESSAGES/squirrelbattle.po index 2cea0a3..74eb1a9 100644 --- a/squirrelbattle/locale/de/LC_MESSAGES/squirrelbattle.po +++ b/squirrelbattle/locale/de/LC_MESSAGES/squirrelbattle.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: squirrelbattle 3.14.1\n" "Report-Msgid-Bugs-To: squirrel-battle@crans.org\n" -"POT-Creation-Date: 2021-01-08 15:15+0100\n" +"POT-Creation-Date: 2021-01-10 21:30+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,116 +17,158 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -msgid "ring_of_critical_damage" -msgstr "" - -msgid "ring_of_more_experience" -msgstr "" - -#, python-brace-format -msgid "{name} takes {amount} damage." -msgstr "{name} nimmt {amount} Schadenspunkte." - -#: squirrelbattle/display/creditsdisplay.py:28 -#: squirrelbattle/display/menudisplay.py:123 -#: squirrelbattle/display/menudisplay.py:148 -msgid "Credits" -msgstr "" - -#: squirrelbattle/display/creditsdisplay.py:32 -msgid "Developers:" -msgstr "" - -#: squirrelbattle/display/creditsdisplay.py:38 -msgid "Translators:" -msgstr "" - -#: squirrelbattle/display/menudisplay.py:168 -msgid "INVENTORY" -msgstr "BESTAND" - -#: squirrelbattle/display/menudisplay.py:214 -msgid "STALL" -msgstr "STAND" - -#: squirrelbattle/display/statsdisplay.py:44 +#: squirrelbattle/display/gamedisplay.py:150 msgid "Inventory:" msgstr "Bestand:" -#: squirrelbattle/display/statsdisplay.py:61 +#: squirrelbattle/display/gamedisplay.py:167 msgid "Equipped main:" -msgstr "" +msgstr "Hauptausgestattete Ding" -#: squirrelbattle/display/statsdisplay.py:65 +#: squirrelbattle/display/gamedisplay.py:171 msgid "Equipped secondary:" -msgstr "" +msgstr "zusätzlich Ausgestattete Ding" -#: squirrelbattle/display/statsdisplay.py:70 +#: squirrelbattle/display/gamedisplay.py:176 msgid "Equipped chestplate:" -msgstr "" +msgstr "Ausgestattet Harnisch" -#: squirrelbattle/display/statsdisplay.py:74 +#: squirrelbattle/display/gamedisplay.py:180 msgid "Equipped helmet:" -msgstr "" +msgstr "Ausgestattet Helm" -#: squirrelbattle/display/statsdisplay.py:81 +#: squirrelbattle/display/gamedisplay.py:187 msgid "YOU ARE DEAD" msgstr "SIE WURDEN GESTORBEN" -#: squirrelbattle/display/statsdisplay.py:85 +#: squirrelbattle/display/gamedisplay.py:191 #, python-brace-format msgid "Use {key} to use the ladder" -msgstr "" +msgstr "Nutzen {key} um die Leiter zu nutzen" -#: squirrelbattle/display/statsdisplay.py:94 +#: squirrelbattle/display/gamedisplay.py:210 msgid "Move to the friendly entity to talk to it" -msgstr "" +msgstr "Ziehen Sie zu der freundlichen Einheit hin, um mit ihr zu sprechen" -#: squirrelbattle/display/statsdisplay.py:96 +#: squirrelbattle/display/gamedisplay.py:212 #, python-brace-format msgid "Use {key} then move to talk to the entity" msgstr "" +"Verwenden Sie {key} dann bewegen Sie sich, um mit der Einheit zu sprechen" + +#: squirrelbattle/display/menudisplay.py:124 +#: squirrelbattle/display/menudisplay.py:149 +#: squirrelbattle/display/menudisplay.py:304 +msgid "Credits" +msgstr "Abspann" + +#: squirrelbattle/display/menudisplay.py:173 +msgid "INVENTORY" +msgstr "BESTAND" + +#: squirrelbattle/display/menudisplay.py:219 +msgid "STALL" +msgstr "STAND" + +#: squirrelbattle/display/menudisplay.py:263 +msgid "CHEST" +msgstr "KASTE" + +#: squirrelbattle/display/menudisplay.py:308 +msgid "Developers:" +msgstr "Entwickler:" + +#: squirrelbattle/display/menudisplay.py:314 +msgid "Translators:" +msgstr "Ubersetzer:" #. TODO -#: squirrelbattle/entities/friendly.py:33 +#: squirrelbattle/entities/friendly.py:38 msgid "I don't sell any squirrel" msgstr "Ich verkaufe keinen Eichhörnchen." -#: squirrelbattle/entities/friendly.py:55 +#: squirrelbattle/entities/friendly.py:68 +msgid "You have opened the chest" +msgstr "Sie haben der Kaste geöffnet" + +#: squirrelbattle/entities/friendly.py:77 +msgid "The chest exploded" +msgstr "Der Kaste explodierte" + +#: squirrelbattle/entities/friendly.py:78 +msgid "It's not really effective" +msgstr "Es ist nicht wirklich effektiv" + +#: squirrelbattle/entities/friendly.py:101 msgid "Flower power!!" msgstr "Blumenmacht!!" -#: squirrelbattle/entities/friendly.py:55 +#: squirrelbattle/entities/friendly.py:101 msgid "The sun is warm today" msgstr "Die Sonne ist warm heute" #. The bomb is exploding. #. Each entity that is close to the bomb takes damages. #. The player earn XP if the entity was killed. -#: squirrelbattle/entities/items.py:178 +#: squirrelbattle/entities/items.py:189 msgid "Bomb is exploding." msgstr "Die Bombe explodiert." -#: squirrelbattle/entities/items.py:365 +#: squirrelbattle/entities/items.py:385 #, python-brace-format msgid "{player} exchanged its body with {entity}." msgstr "{player} täuscht seinem Körper mit {entity} aus." -#: squirrelbattle/game.py:200 +#: squirrelbattle/entities/items.py:519 +msgid "" +"The ennemies have -{max(1, self.held_by.intelligence // 2)}strength for 3 " +"turns" +msgstr "" +"Die Feinde haben 3 Runden lang - {max(1, self.held_by.intelligence // 2)} " +"Stärke" + +#: squirrelbattle/entities/items.py:552 +#, python-brace-format +msgid "{name}" +msgstr "{name}" + +#: squirrelbattle/entities/items.py:600 +msgid " is shot by an arrow." +msgstr " wird von einem Pfeil erschossen." + +#: squirrelbattle/entities/items.py:622 +msgid " is shot by a fire ball." +msgstr " wird von eine Feuerball erschossen." + +#: squirrelbattle/entities/player.py:83 +msgid "It worked! Nearby ennemies will be confused for 3 turns." +msgstr "" +"Es funktionierte! In der Nähe befindliche Feinde werden 3 Runden lang " +"verwirrt." + +#: squirrelbattle/entities/player.py:86 +msgid "It worked, but there is no one nearby..." +msgstr "Es hat funktioniert, aber es ist niemand in der Nähe ..." + +#: squirrelbattle/entities/player.py:89 +msgid "The dance was not effective..." +msgstr "Der Tanz war nicht effektiv ..." + +#: squirrelbattle/game.py:214 #, python-brace-format msgid "The player climbs down to the floor {floor}." msgstr "Der Spieler klettert auf dem Stock {floor} hinunter." -#: squirrelbattle/game.py:213 +#: squirrelbattle/game.py:227 #, python-brace-format msgid "The player climbs up the floor {floor}." msgstr "Der Spieler klettert auf dem Stock {floor} hinoben." -#: squirrelbattle/game.py:304 squirrelbattle/tests/game_test.py:603 +#: squirrelbattle/game.py:348 squirrelbattle/tests/game_test.py:631 msgid "The buyer does not have enough money" msgstr "Der Kaufer hat nicht genug Geld" -#: squirrelbattle/game.py:349 +#: squirrelbattle/game.py:423 msgid "" "Some keys are missing in your save file.\n" "Your save seems to be corrupt. It got deleted." @@ -134,7 +176,7 @@ msgstr "" "In Ihrer Speicherdatei fehlen einige Schlüssel.\n" "Ihre Speicherung scheint korrupt zu sein. Es wird gelöscht." -#: squirrelbattle/game.py:357 +#: squirrelbattle/game.py:431 msgid "" "No player was found on this map!\n" "Maybe you died?" @@ -142,7 +184,7 @@ msgstr "" "Auf dieser Karte wurde kein Spieler gefunden!\n" "Vielleicht sind Sie gestorben?" -#: squirrelbattle/game.py:379 +#: squirrelbattle/game.py:454 msgid "" "The JSON file is not correct.\n" "Your save seems corrupted. It got deleted." @@ -150,26 +192,31 @@ msgstr "" "Die JSON-Datei ist nicht korrekt.\n" "Ihre Speicherung scheint korrumpiert. Sie wurde gelöscht." -#: squirrelbattle/interfaces.py:718 -msgid "It's a critical hit!" -msgstr "" +#: squirrelbattle/interfaces.py:758 squirrelbattle/tests/game_test.py:264 +#, python-brace-format +msgid "{name} is confused, it can not hit {opponent}." +msgstr "{name} ist verwirrt, es kann {opponent} nicht schlagen." -#: squirrelbattle/interfaces.py:719 +#: squirrelbattle/interfaces.py:766 +msgid "It's a critical hit!" +msgstr "Es ist ein kritischer Treffer!" + +#: squirrelbattle/interfaces.py:767 #, python-brace-format msgid "{name} hits {opponent}." msgstr "{name} schlägt {opponent}." -#: squirrelbattle/interfaces.py:733 +#: squirrelbattle/interfaces.py:782 #, python-brace-format msgid "{name} takes {damage} damage." -msgstr "" +msgstr "{name} erleidet {damage} Schaden." -#: squirrelbattle/interfaces.py:735 +#: squirrelbattle/interfaces.py:784 #, python-brace-format msgid "{name} dies." msgstr "{name} stirbt." -#: squirrelbattle/interfaces.py:769 +#: squirrelbattle/interfaces.py:818 #, python-brace-format msgid "{entity} said: {message}" msgstr "{entity} hat gesagt: {message}" @@ -178,8 +225,8 @@ msgstr "{entity} hat gesagt: {message}" msgid "Back" msgstr "Zurück" -#: squirrelbattle/tests/game_test.py:368 squirrelbattle/tests/game_test.py:371 -#: squirrelbattle/tests/game_test.py:374 squirrelbattle/tests/game_test.py:377 +#: squirrelbattle/tests/game_test.py:395 squirrelbattle/tests/game_test.py:398 +#: squirrelbattle/tests/game_test.py:401 squirrelbattle/tests/game_test.py:404 #: squirrelbattle/tests/translations_test.py:16 msgid "New game" msgstr "Neu Spiel" @@ -269,85 +316,113 @@ msgid "Key used to use ladders" msgstr "Leitertaste" #: squirrelbattle/tests/translations_test.py:58 +msgid "Key used to use a bow" +msgstr "Bogentaste" + +#: squirrelbattle/tests/translations_test.py:60 +msgid "Key used to dance" +msgstr "Tanztaste" + +#: squirrelbattle/tests/translations_test.py:62 msgid "Texture pack" msgstr "Textur-Packung" -#: squirrelbattle/tests/translations_test.py:59 +#: squirrelbattle/tests/translations_test.py:63 msgid "Language" msgstr "Sprache" -#: squirrelbattle/tests/translations_test.py:62 +#: squirrelbattle/tests/translations_test.py:66 msgid "player" msgstr "Spieler" -#: squirrelbattle/tests/translations_test.py:64 +#: squirrelbattle/tests/translations_test.py:68 msgid "hedgehog" msgstr "Igel" -#: squirrelbattle/tests/translations_test.py:65 +#: squirrelbattle/tests/translations_test.py:69 msgid "merchant" msgstr "Kaufmann" -#: squirrelbattle/tests/translations_test.py:66 +#: squirrelbattle/tests/translations_test.py:70 msgid "rabbit" msgstr "Kanninchen" -#: squirrelbattle/tests/translations_test.py:67 +#: squirrelbattle/tests/translations_test.py:71 msgid "sunflower" msgstr "Sonnenblume" -#: squirrelbattle/tests/translations_test.py:68 +#: squirrelbattle/tests/translations_test.py:72 msgid "teddy bear" msgstr "Teddybär" -#: squirrelbattle/tests/translations_test.py:69 +#: squirrelbattle/tests/translations_test.py:73 msgid "tiger" msgstr "Tiger" -#: squirrelbattle/tests/translations_test.py:70 +#: squirrelbattle/tests/translations_test.py:74 msgid "eagle" -msgstr "" +msgstr "Adler" -#: squirrelbattle/tests/translations_test.py:72 +#: squirrelbattle/tests/translations_test.py:76 msgid "body snatch potion" msgstr "Leichenfleddererzaubertrank" -#: squirrelbattle/tests/translations_test.py:73 +#: squirrelbattle/tests/translations_test.py:77 msgid "bomb" msgstr "Bombe" -#: squirrelbattle/tests/translations_test.py:74 +#: squirrelbattle/tests/translations_test.py:78 msgid "explosion" msgstr "Explosion" -#: squirrelbattle/tests/translations_test.py:75 +#: squirrelbattle/tests/translations_test.py:79 msgid "heart" msgstr "Herz" -#: squirrelbattle/tests/translations_test.py:76 +#: squirrelbattle/tests/translations_test.py:80 msgid "sword" msgstr "schwert" -#: squirrelbattle/tests/translations_test.py:77 +#: squirrelbattle/tests/translations_test.py:81 msgid "helmet" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:78 -msgid "chestplate" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:79 -msgid "shield" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:80 -msgid "ring of critical damage" -msgstr "" +msgstr "Helm" #: squirrelbattle/tests/translations_test.py:82 -msgid "ring of more experience" -msgstr "" +msgid "chestplate" +msgstr "Brustpanzer" + +#: squirrelbattle/tests/translations_test.py:83 +msgid "shield" +msgstr "Schild" #: squirrelbattle/tests/translations_test.py:84 +msgid "ruler" +msgstr "Lineal" + +#: squirrelbattle/tests/translations_test.py:85 +msgid "scroll of damage" +msgstr "Schriftrolle des Schadens" + +#: squirrelbattle/tests/translations_test.py:86 +msgid "scroll of weakness" +msgstr "Schriftrolle der Schwäche" + +#: squirrelbattle/tests/translations_test.py:87 +msgid "bow" +msgstr "Bogen" + +#: squirrelbattle/tests/translations_test.py:88 +msgid "fire ball staff" +msgstr "Feuerball Stab" + +#: squirrelbattle/tests/translations_test.py:89 +msgid "ring of critical damage" +msgstr "Ring des kritischen Schadens" + +#: squirrelbattle/tests/translations_test.py:91 +msgid "ring of more experience" +msgstr "Ring der mehr Erfahrung" + +#: squirrelbattle/tests/translations_test.py:93 msgid "monocle" -msgstr "" +msgstr "Monokel" diff --git a/squirrelbattle/locale/es/LC_MESSAGES/squirrelbattle.po b/squirrelbattle/locale/es/LC_MESSAGES/squirrelbattle.po index 18868c3..909ff48 100644 --- a/squirrelbattle/locale/es/LC_MESSAGES/squirrelbattle.po +++ b/squirrelbattle/locale/es/LC_MESSAGES/squirrelbattle.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: squirrelbattle 3.14.1\n" "Report-Msgid-Bugs-To: squirrel-battle@crans.org\n" -"POT-Creation-Date: 2021-01-08 15:15+0100\n" +"POT-Creation-Date: 2021-01-10 21:30+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,115 +17,154 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -msgid "ring_of_critical_damage" -msgstr "" - -msgid "ring_of_more_experience" -msgstr "" - -#, python-brace-format -msgid "{name} takes {amount} damage." -msgstr "{name} recibe {amount} daño." - -#: squirrelbattle/display/creditsdisplay.py:28 -#: squirrelbattle/display/menudisplay.py:123 -#: squirrelbattle/display/menudisplay.py:148 -msgid "Credits" -msgstr "" - -#: squirrelbattle/display/creditsdisplay.py:32 -msgid "Developers:" -msgstr "" - -#: squirrelbattle/display/creditsdisplay.py:38 -msgid "Translators:" -msgstr "" - -#: squirrelbattle/display/menudisplay.py:168 -msgid "INVENTORY" -msgstr "INVENTORIO" - -#: squirrelbattle/display/menudisplay.py:214 -msgid "STALL" -msgstr "PUESTO" - -#: squirrelbattle/display/statsdisplay.py:44 +#: squirrelbattle/display/gamedisplay.py:150 msgid "Inventory:" msgstr "Inventorio :" -#: squirrelbattle/display/statsdisplay.py:61 +#: squirrelbattle/display/gamedisplay.py:167 msgid "Equipped main:" -msgstr "" +msgstr "Principal equipado:" -#: squirrelbattle/display/statsdisplay.py:65 +#: squirrelbattle/display/gamedisplay.py:171 msgid "Equipped secondary:" -msgstr "" +msgstr "Equipado secundario:" -#: squirrelbattle/display/statsdisplay.py:70 +#: squirrelbattle/display/gamedisplay.py:176 msgid "Equipped chestplate:" -msgstr "" +msgstr "Pechera equipada:" -#: squirrelbattle/display/statsdisplay.py:74 +#: squirrelbattle/display/gamedisplay.py:180 msgid "Equipped helmet:" -msgstr "" +msgstr "Casco equipado:" -#: squirrelbattle/display/statsdisplay.py:81 +#: squirrelbattle/display/gamedisplay.py:187 msgid "YOU ARE DEAD" msgstr "ERES MUERTO" -#: squirrelbattle/display/statsdisplay.py:85 +#: squirrelbattle/display/gamedisplay.py:191 #, python-brace-format msgid "Use {key} to use the ladder" -msgstr "" +msgstr "Usa {key} para usar la escalera" -#: squirrelbattle/display/statsdisplay.py:94 +#: squirrelbattle/display/gamedisplay.py:210 msgid "Move to the friendly entity to talk to it" -msgstr "" +msgstr "Muévete hacia la entidad amiga para hablar con ella." -#: squirrelbattle/display/statsdisplay.py:96 +#: squirrelbattle/display/gamedisplay.py:212 #, python-brace-format msgid "Use {key} then move to talk to the entity" -msgstr "" +msgstr "Usa {key} y luego muévete para hablar con la entidad" -#: squirrelbattle/entities/friendly.py:33 +#: squirrelbattle/display/menudisplay.py:124 +#: squirrelbattle/display/menudisplay.py:149 +#: squirrelbattle/display/menudisplay.py:304 +msgid "Credits" +msgstr "Creditos" + +#: squirrelbattle/display/menudisplay.py:173 +msgid "INVENTORY" +msgstr "INVENTORIO" + +#: squirrelbattle/display/menudisplay.py:219 +msgid "STALL" +msgstr "PUESTO" + +#: squirrelbattle/display/menudisplay.py:263 +msgid "CHEST" +msgstr "COFRE" + +#: squirrelbattle/display/menudisplay.py:308 +msgid "Developers:" +msgstr "Desarrollador:" + +#: squirrelbattle/display/menudisplay.py:314 +msgid "Translators:" +msgstr "Traductores:" + +#: squirrelbattle/entities/friendly.py:38 msgid "I don't sell any squirrel" msgstr "No vendo ninguna ardilla" -#: squirrelbattle/entities/friendly.py:55 +#: squirrelbattle/entities/friendly.py:68 +msgid "You have opened the chest" +msgstr "Abriste el cofre" + +#: squirrelbattle/entities/friendly.py:77 +msgid "The chest exploded" +msgstr "El cofre explotó" + +#: squirrelbattle/entities/friendly.py:78 +msgid "It's not really effective" +msgstr "No es realmente efectivo" + +#: squirrelbattle/entities/friendly.py:101 msgid "Flower power!!" msgstr "Poder de las flores!!" -#: squirrelbattle/entities/friendly.py:55 +#: squirrelbattle/entities/friendly.py:101 msgid "The sun is warm today" msgstr "El sol está caliente hoy" #. The bomb is exploding. #. Each entity that is close to the bomb takes damages. #. The player earn XP if the entity was killed. -#: squirrelbattle/entities/items.py:178 +#: squirrelbattle/entities/items.py:189 msgid "Bomb is exploding." msgstr "La bomba está explotando." -#: squirrelbattle/entities/items.py:365 +#: squirrelbattle/entities/items.py:385 #, python-brace-format msgid "{player} exchanged its body with {entity}." msgstr "{player} intercambió su cuerpo con {entity}." -#: squirrelbattle/game.py:200 +#: squirrelbattle/entities/items.py:519 +msgid "" +"The ennemies have -{max(1, self.held_by.intelligence // 2)}strength for 3 " +"turns" +msgstr "" +"Los enemigos tienen - {max(1, self.held_by.intelligence // 2)} fuerza " +"durante 3turnos" + +#: squirrelbattle/entities/items.py:552 +#, python-brace-format +msgid "{name}" +msgstr "{name}" + +#: squirrelbattle/entities/items.py:600 +msgid " is shot by an arrow." +msgstr " es disparado por una flecha." + +#: squirrelbattle/entities/items.py:622 +msgid " is shot by a fire ball." +msgstr " es disparado por una bola de fuego." + +#: squirrelbattle/entities/player.py:83 +msgid "It worked! Nearby ennemies will be confused for 3 turns." +msgstr "¡Funcionó! Los enemigos cercanos se confundirán durante 3 turnos." + +#: squirrelbattle/entities/player.py:86 +msgid "It worked, but there is no one nearby..." +msgstr "Funcionó, pero no hay nadie cerca ..." + +#: squirrelbattle/entities/player.py:89 +msgid "The dance was not effective..." +msgstr "El baile no fue efectivo ..." + +#: squirrelbattle/game.py:214 #, python-brace-format msgid "The player climbs down to the floor {floor}." -msgstr "" +msgstr "El jugador desciende alla planta {floor}." -#: squirrelbattle/game.py:213 +#: squirrelbattle/game.py:227 #, python-brace-format msgid "The player climbs up the floor {floor}." -msgstr "" +msgstr "El jugador sube por la planta {floor}." -#: squirrelbattle/game.py:304 squirrelbattle/tests/game_test.py:603 +#: squirrelbattle/game.py:348 squirrelbattle/tests/game_test.py:631 msgid "The buyer does not have enough money" msgstr "El comprador no tiene suficiente dinero" -#: squirrelbattle/game.py:349 +#: squirrelbattle/game.py:423 msgid "" "Some keys are missing in your save file.\n" "Your save seems to be corrupt. It got deleted." @@ -133,7 +172,7 @@ msgstr "" "Algunas claves faltan en su archivo de guarda.\n" "Su guarda parece a ser corruptido. Fue eliminado." -#: squirrelbattle/game.py:357 +#: squirrelbattle/game.py:431 msgid "" "No player was found on this map!\n" "Maybe you died?" @@ -141,7 +180,7 @@ msgstr "" "No jugador encontrado sobre la carta !\n" "¿ Quizas murió ?" -#: squirrelbattle/game.py:379 +#: squirrelbattle/game.py:454 msgid "" "The JSON file is not correct.\n" "Your save seems corrupted. It got deleted." @@ -149,26 +188,31 @@ msgstr "" "El JSON archivo no es correcto.\n" "Su guarda parece corrupta. Fue eliminada." -#: squirrelbattle/interfaces.py:718 -msgid "It's a critical hit!" -msgstr "" +#: squirrelbattle/interfaces.py:758 squirrelbattle/tests/game_test.py:264 +#, python-brace-format +msgid "{name} is confused, it can not hit {opponent}." +msgstr "{name} está confundido, no puede golpear a {opponent}." -#: squirrelbattle/interfaces.py:719 +#: squirrelbattle/interfaces.py:766 +msgid "It's a critical hit!" +msgstr "¡Es un golpe crítico!" + +#: squirrelbattle/interfaces.py:767 #, python-brace-format msgid "{name} hits {opponent}." msgstr "{name} golpea a {opponent}." -#: squirrelbattle/interfaces.py:733 +#: squirrelbattle/interfaces.py:782 #, python-brace-format msgid "{name} takes {damage} damage." -msgstr "" +msgstr "{name} recibe {damage} daño." -#: squirrelbattle/interfaces.py:735 +#: squirrelbattle/interfaces.py:784 #, python-brace-format msgid "{name} dies." msgstr "{name} se muere." -#: squirrelbattle/interfaces.py:769 +#: squirrelbattle/interfaces.py:818 #, python-brace-format msgid "{entity} said: {message}" msgstr "{entity} dijo : {message}" @@ -177,8 +221,8 @@ msgstr "{entity} dijo : {message}" msgid "Back" msgstr "Volver" -#: squirrelbattle/tests/game_test.py:368 squirrelbattle/tests/game_test.py:371 -#: squirrelbattle/tests/game_test.py:374 squirrelbattle/tests/game_test.py:377 +#: squirrelbattle/tests/game_test.py:395 squirrelbattle/tests/game_test.py:398 +#: squirrelbattle/tests/game_test.py:401 squirrelbattle/tests/game_test.py:404 #: squirrelbattle/tests/translations_test.py:16 msgid "New game" msgstr "Nuevo partido" @@ -268,85 +312,113 @@ msgid "Key used to use ladders" msgstr "Tecla para el uso de las escaleras" #: squirrelbattle/tests/translations_test.py:58 +msgid "Key used to use a bow" +msgstr "Tecla para usar un arco" + +#: squirrelbattle/tests/translations_test.py:60 +msgid "Key used to dance" +msgstr "Tecla para bailar" + +#: squirrelbattle/tests/translations_test.py:62 msgid "Texture pack" msgstr "Paquete de texturas" -#: squirrelbattle/tests/translations_test.py:59 +#: squirrelbattle/tests/translations_test.py:63 msgid "Language" msgstr "Languaje" -#: squirrelbattle/tests/translations_test.py:62 +#: squirrelbattle/tests/translations_test.py:66 msgid "player" msgstr "jugador" -#: squirrelbattle/tests/translations_test.py:64 +#: squirrelbattle/tests/translations_test.py:68 msgid "hedgehog" msgstr "erizo" -#: squirrelbattle/tests/translations_test.py:65 +#: squirrelbattle/tests/translations_test.py:69 msgid "merchant" msgstr "comerciante" -#: squirrelbattle/tests/translations_test.py:66 +#: squirrelbattle/tests/translations_test.py:70 msgid "rabbit" msgstr "conejo" -#: squirrelbattle/tests/translations_test.py:67 +#: squirrelbattle/tests/translations_test.py:71 msgid "sunflower" msgstr "girasol" -#: squirrelbattle/tests/translations_test.py:68 +#: squirrelbattle/tests/translations_test.py:72 msgid "teddy bear" msgstr "osito de peluche" -#: squirrelbattle/tests/translations_test.py:69 +#: squirrelbattle/tests/translations_test.py:73 msgid "tiger" msgstr "tigre" -#: squirrelbattle/tests/translations_test.py:70 +#: squirrelbattle/tests/translations_test.py:74 msgid "eagle" -msgstr "" +msgstr "águila" -#: squirrelbattle/tests/translations_test.py:72 +#: squirrelbattle/tests/translations_test.py:76 msgid "body snatch potion" msgstr "poción de intercambio" -#: squirrelbattle/tests/translations_test.py:73 +#: squirrelbattle/tests/translations_test.py:77 msgid "bomb" msgstr "bomba" -#: squirrelbattle/tests/translations_test.py:74 +#: squirrelbattle/tests/translations_test.py:78 msgid "explosion" msgstr "explosión" -#: squirrelbattle/tests/translations_test.py:75 +#: squirrelbattle/tests/translations_test.py:79 msgid "heart" msgstr "corazón" -#: squirrelbattle/tests/translations_test.py:76 +#: squirrelbattle/tests/translations_test.py:80 msgid "sword" msgstr "espada" -#: squirrelbattle/tests/translations_test.py:77 +#: squirrelbattle/tests/translations_test.py:81 msgid "helmet" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:78 -msgid "chestplate" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:79 -msgid "shield" -msgstr "" - -#: squirrelbattle/tests/translations_test.py:80 -msgid "ring of critical damage" -msgstr "" +msgstr "casco" #: squirrelbattle/tests/translations_test.py:82 -msgid "ring of more experience" -msgstr "" +msgid "chestplate" +msgstr "pechera" + +#: squirrelbattle/tests/translations_test.py:83 +msgid "shield" +msgstr "escudo" #: squirrelbattle/tests/translations_test.py:84 +msgid "ruler" +msgstr "Regla" + +#: squirrelbattle/tests/translations_test.py:85 +msgid "scroll of damage" +msgstr "rollo de daño" + +#: squirrelbattle/tests/translations_test.py:86 +msgid "scroll of weakness" +msgstr "rollo de debilidad" + +#: squirrelbattle/tests/translations_test.py:87 +msgid "bow" +msgstr "arco" + +#: squirrelbattle/tests/translations_test.py:88 +msgid "fire ball staff" +msgstr "bastón de bola de fuego" + +#: squirrelbattle/tests/translations_test.py:89 +msgid "ring of critical damage" +msgstr "anillo de daño crítico" + +#: squirrelbattle/tests/translations_test.py:91 +msgid "ring of more experience" +msgstr "anillo de más experiencia" + +#: squirrelbattle/tests/translations_test.py:93 msgid "monocle" -msgstr "" +msgstr "monóculo" diff --git a/squirrelbattle/locale/fr/LC_MESSAGES/squirrelbattle.po b/squirrelbattle/locale/fr/LC_MESSAGES/squirrelbattle.po index 4657fe8..93b524d 100644 --- a/squirrelbattle/locale/fr/LC_MESSAGES/squirrelbattle.po +++ b/squirrelbattle/locale/fr/LC_MESSAGES/squirrelbattle.po @@ -1,3 +1,7 @@ +#, python-brace-format +msgid "{name} takes {amount} damage." +msgstr "{name} prend {amount} points de dégât." + # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ÿnérant, eichhornchen, nicomarg, charlse, ifugao # This file is distributed under the same license as the squirrelbattle package. @@ -8,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: squirrelbattle 3.14.1\n" "Report-Msgid-Bugs-To: squirrel-battle@crans.org\n" -"POT-Creation-Date: 2021-01-08 15:15+0100\n" +"POT-Creation-Date: 2021-01-10 21:30+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,110 +21,155 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#, python-brace-format -msgid "{name} takes {amount} damage." -msgstr "{name} prend {amount} points de dégât." - -#: squirrelbattle/display/creditsdisplay.py:28 -#: squirrelbattle/display/menudisplay.py:123 -#: squirrelbattle/display/menudisplay.py:148 -msgid "Credits" -msgstr "" - -#: squirrelbattle/display/creditsdisplay.py:32 -msgid "Developers:" -msgstr "" - -#: squirrelbattle/display/creditsdisplay.py:38 -msgid "Translators:" -msgstr "" - -#: squirrelbattle/display/menudisplay.py:168 -msgid "INVENTORY" -msgstr "INVENTAIRE" - -#: squirrelbattle/display/menudisplay.py:214 -msgid "STALL" -msgstr "STAND" - -#: squirrelbattle/display/statsdisplay.py:44 +#: squirrelbattle/display/gamedisplay.py:150 msgid "Inventory:" msgstr "Inventaire :" -#: squirrelbattle/display/statsdisplay.py:61 +#: squirrelbattle/display/gamedisplay.py:167 msgid "Equipped main:" msgstr "Équipement principal :" -#: squirrelbattle/display/statsdisplay.py:65 +#: squirrelbattle/display/gamedisplay.py:171 msgid "Equipped secondary:" msgstr "Équipement secondaire :" -#: squirrelbattle/display/statsdisplay.py:70 +#: squirrelbattle/display/gamedisplay.py:176 msgid "Equipped chestplate:" msgstr "Plastron équipé :" -#: squirrelbattle/display/statsdisplay.py:74 +#: squirrelbattle/display/gamedisplay.py:180 msgid "Equipped helmet:" msgstr "Casque équipé :" -#: squirrelbattle/display/statsdisplay.py:81 +#: squirrelbattle/display/gamedisplay.py:187 msgid "YOU ARE DEAD" msgstr "VOUS ÊTES MORT" -#: squirrelbattle/display/statsdisplay.py:85 +#: squirrelbattle/display/gamedisplay.py:191 #, python-brace-format msgid "Use {key} to use the ladder" msgstr "Appuyez sur {key} pour utiliser l'échelle" -#: squirrelbattle/display/statsdisplay.py:94 +#: squirrelbattle/display/gamedisplay.py:210 msgid "Move to the friendly entity to talk to it" msgstr "Avancez vers l'entité pour lui parler" -#: squirrelbattle/display/statsdisplay.py:96 +#: squirrelbattle/display/gamedisplay.py:212 #, python-brace-format msgid "Use {key} then move to talk to the entity" msgstr "Appuyez sur {key} puis déplacez-vous pour parler" +#: squirrelbattle/display/menudisplay.py:124 +#: squirrelbattle/display/menudisplay.py:149 +#: squirrelbattle/display/menudisplay.py:304 +msgid "Credits" +msgstr "Crédits" + +#: squirrelbattle/display/menudisplay.py:173 +msgid "INVENTORY" +msgstr "INVENTAIRE" + +#: squirrelbattle/display/menudisplay.py:219 +msgid "STALL" +msgstr "STAND" + +#: squirrelbattle/display/menudisplay.py:263 +msgid "CHEST" +msgstr "COFFRE" + +#: squirrelbattle/display/menudisplay.py:308 +msgid "Developers:" +msgstr "Développeurs:" + +#: squirrelbattle/display/menudisplay.py:314 +msgid "Translators:" +msgstr "Traducteurs:" + #. TODO -#: squirrelbattle/entities/friendly.py:33 +#: squirrelbattle/entities/friendly.py:38 msgid "I don't sell any squirrel" msgstr "Je ne vends pas d'écureuil" -#: squirrelbattle/entities/friendly.py:55 +#: squirrelbattle/entities/friendly.py:68 +msgid "You have opened the chest" +msgstr "Vous avez ouvert le coffre" + +#: squirrelbattle/entities/friendly.py:77 +msgid "The chest exploded" +msgstr "Le coffre a explosé" + +#: squirrelbattle/entities/friendly.py:78 +msgid "It's not really effective" +msgstr "Ce n'est pas très efficace" + +#: squirrelbattle/entities/friendly.py:101 msgid "Flower power!!" msgstr "Pouvoir des fleurs !!" -#: squirrelbattle/entities/friendly.py:55 +#: squirrelbattle/entities/friendly.py:101 msgid "The sun is warm today" msgstr "Le soleil est chaud aujourd'hui" #. The bomb is exploding. #. Each entity that is close to the bomb takes damages. #. The player earn XP if the entity was killed. -#: squirrelbattle/entities/items.py:178 +#: squirrelbattle/entities/items.py:189 msgid "Bomb is exploding." msgstr "La bombe explose." -#: squirrelbattle/entities/items.py:365 +#: squirrelbattle/entities/items.py:385 #, python-brace-format msgid "{player} exchanged its body with {entity}." msgstr "{player} a échangé son corps avec {entity}." -#: squirrelbattle/game.py:200 +#: squirrelbattle/entities/items.py:519 +msgid "" +"The ennemies have -{max(1, self.held_by.intelligence // 2)}strength for 3 " +"turns" +msgstr "" +"Les ennemis ont -{max(1, self.held_by.intelligence // 2)} de force pour 3 " +"tours" + +#: squirrelbattle/entities/items.py:552 +#, python-brace-format +msgid "{name}" +msgstr "{name}" + +#: squirrelbattle/entities/items.py:600 +msgid " is shot by an arrow." +msgstr " est frappé par une flèche." + +#: squirrelbattle/entities/items.py:622 +msgid " is shot by a fire ball." +msgstr " est frappé par une boule de feu." + +#: squirrelbattle/entities/player.py:83 +msgid "It worked! Nearby ennemies will be confused for 3 turns." +msgstr "Ça a marché ! Les ennemis proches seront confus pendant 3 tours" + +#: squirrelbattle/entities/player.py:86 +msgid "It worked, but there is no one nearby..." +msgstr "Ça a marché, mais il n'y a personne à proximité..." + +#: squirrelbattle/entities/player.py:89 +msgid "The dance was not effective..." +msgstr "La dance n'a pas fonctionné..." + +#: squirrelbattle/game.py:214 #, python-brace-format msgid "The player climbs down to the floor {floor}." msgstr "Le joueur descend à l'étage {floor}." -#: squirrelbattle/game.py:213 +#: squirrelbattle/game.py:227 #, python-brace-format msgid "The player climbs up the floor {floor}." msgstr "Le joueur monte à l'étage {floor}." -#: squirrelbattle/game.py:304 squirrelbattle/tests/game_test.py:603 +#: squirrelbattle/game.py:348 squirrelbattle/tests/game_test.py:631 msgid "The buyer does not have enough money" msgstr "L'acheteur n'a pas assez d'argent" -#: squirrelbattle/game.py:349 +#: squirrelbattle/game.py:423 msgid "" "Some keys are missing in your save file.\n" "Your save seems to be corrupt. It got deleted." @@ -128,7 +177,7 @@ msgstr "" "Certaines clés de votre ficher de sauvegarde sont manquantes.\n" "Votre sauvegarde semble corrompue. Elle a été supprimée." -#: squirrelbattle/game.py:357 +#: squirrelbattle/game.py:431 msgid "" "No player was found on this map!\n" "Maybe you died?" @@ -136,7 +185,7 @@ msgstr "" "Aucun joueur n'a été trouvé sur la carte !\n" "Peut-être êtes-vous mort ?" -#: squirrelbattle/game.py:379 +#: squirrelbattle/game.py:454 msgid "" "The JSON file is not correct.\n" "Your save seems corrupted. It got deleted." @@ -144,26 +193,31 @@ msgstr "" "Le fichier JSON de sauvegarde est incorrect.\n" "Votre sauvegarde semble corrompue. Elle a été supprimée." -#: squirrelbattle/interfaces.py:718 +#: squirrelbattle/interfaces.py:758 squirrelbattle/tests/game_test.py:264 +#, python-brace-format +msgid "{name} is confused, it can not hit {opponent}." +msgstr "{name} est confus et ne peut pas frapper {opponent}." + +#: squirrelbattle/interfaces.py:766 msgid "It's a critical hit!" msgstr "C'est un coup critique !" -#: squirrelbattle/interfaces.py:719 +#: squirrelbattle/interfaces.py:767 #, python-brace-format msgid "{name} hits {opponent}." msgstr "{name} frappe {opponent}." -#: squirrelbattle/interfaces.py:733 +#: squirrelbattle/interfaces.py:782 #, python-brace-format msgid "{name} takes {damage} damage." msgstr "{name} prend {damage} dégâts." -#: squirrelbattle/interfaces.py:735 +#: squirrelbattle/interfaces.py:784 #, python-brace-format msgid "{name} dies." msgstr "{name} meurt." -#: squirrelbattle/interfaces.py:769 +#: squirrelbattle/interfaces.py:818 #, python-brace-format msgid "{entity} said: {message}" msgstr "{entity} a dit : {message}" @@ -172,8 +226,8 @@ msgstr "{entity} a dit : {message}" msgid "Back" msgstr "Retour" -#: squirrelbattle/tests/game_test.py:368 squirrelbattle/tests/game_test.py:371 -#: squirrelbattle/tests/game_test.py:374 squirrelbattle/tests/game_test.py:377 +#: squirrelbattle/tests/game_test.py:395 squirrelbattle/tests/game_test.py:398 +#: squirrelbattle/tests/game_test.py:401 squirrelbattle/tests/game_test.py:404 #: squirrelbattle/tests/translations_test.py:16 msgid "New game" msgstr "Nouvelle partie" @@ -263,85 +317,113 @@ msgid "Key used to use ladders" msgstr "Touche pour utiliser les échelles" #: squirrelbattle/tests/translations_test.py:58 +msgid "Key used to use a bow" +msgstr "Touche pour utiliser un arc" + +#: squirrelbattle/tests/translations_test.py:60 +msgid "Key used to dance" +msgstr "Touche pour danser" + +#: squirrelbattle/tests/translations_test.py:62 msgid "Texture pack" msgstr "Pack de textures" -#: squirrelbattle/tests/translations_test.py:59 +#: squirrelbattle/tests/translations_test.py:63 msgid "Language" msgstr "Langue" -#: squirrelbattle/tests/translations_test.py:62 +#: squirrelbattle/tests/translations_test.py:66 msgid "player" msgstr "joueur" -#: squirrelbattle/tests/translations_test.py:64 +#: squirrelbattle/tests/translations_test.py:68 msgid "hedgehog" msgstr "hérisson" -#: squirrelbattle/tests/translations_test.py:65 +#: squirrelbattle/tests/translations_test.py:69 msgid "merchant" msgstr "marchand" -#: squirrelbattle/tests/translations_test.py:66 +#: squirrelbattle/tests/translations_test.py:70 msgid "rabbit" msgstr "lapin" -#: squirrelbattle/tests/translations_test.py:67 +#: squirrelbattle/tests/translations_test.py:71 msgid "sunflower" msgstr "tournesol" -#: squirrelbattle/tests/translations_test.py:68 +#: squirrelbattle/tests/translations_test.py:72 msgid "teddy bear" msgstr "nounours" -#: squirrelbattle/tests/translations_test.py:69 +#: squirrelbattle/tests/translations_test.py:73 msgid "tiger" msgstr "tigre" -#: squirrelbattle/tests/translations_test.py:70 +#: squirrelbattle/tests/translations_test.py:74 msgid "eagle" msgstr "pygargue" -#: squirrelbattle/tests/translations_test.py:72 +#: squirrelbattle/tests/translations_test.py:76 msgid "body snatch potion" msgstr "potion d'arrachage de corps" -#: squirrelbattle/tests/translations_test.py:73 +#: squirrelbattle/tests/translations_test.py:77 msgid "bomb" msgstr "bombe" -#: squirrelbattle/tests/translations_test.py:74 +#: squirrelbattle/tests/translations_test.py:78 msgid "explosion" msgstr "explosion" -#: squirrelbattle/tests/translations_test.py:75 +#: squirrelbattle/tests/translations_test.py:79 msgid "heart" msgstr "cœur" -#: squirrelbattle/tests/translations_test.py:76 +#: squirrelbattle/tests/translations_test.py:80 msgid "sword" msgstr "épée" -#: squirrelbattle/tests/translations_test.py:77 +#: squirrelbattle/tests/translations_test.py:81 msgid "helmet" msgstr "casque" -#: squirrelbattle/tests/translations_test.py:78 +#: squirrelbattle/tests/translations_test.py:82 msgid "chestplate" msgstr "plastron" -#: squirrelbattle/tests/translations_test.py:79 +#: squirrelbattle/tests/translations_test.py:83 msgid "shield" msgstr "bouclier" -#: squirrelbattle/tests/translations_test.py:80 +#: squirrelbattle/tests/translations_test.py:84 +msgid "ruler" +msgstr "règle" + +#: squirrelbattle/tests/translations_test.py:85 +msgid "scroll of damage" +msgstr "parchemin de dégâts" + +#: squirrelbattle/tests/translations_test.py:86 +msgid "scroll of weakness" +msgstr "parchemin de faiblesse" + +#: squirrelbattle/tests/translations_test.py:87 +msgid "bow" +msgstr "arc" + +#: squirrelbattle/tests/translations_test.py:88 +msgid "fire ball staff" +msgstr "baton de boule de feu" + +#: squirrelbattle/tests/translations_test.py:89 msgid "ring of critical damage" msgstr "anneau de coup critique" -#: squirrelbattle/tests/translations_test.py:82 +#: squirrelbattle/tests/translations_test.py:91 msgid "ring of more experience" msgstr "anneau de plus d'expérience" -#: squirrelbattle/tests/translations_test.py:84 +#: squirrelbattle/tests/translations_test.py:93 msgid "monocle" msgstr "monocle" diff --git a/squirrelbattle/tests/translations_test.py b/squirrelbattle/tests/translations_test.py index bdf0238..2db869a 100644 --- a/squirrelbattle/tests/translations_test.py +++ b/squirrelbattle/tests/translations_test.py @@ -55,6 +55,10 @@ class TestTranslations(unittest.TestCase): self.assertEqual(_("Key used to wait"), "Touche pour attendre") self.assertEqual(_("Key used to use ladders"), "Touche pour utiliser les échelles") + self.assertEqual(_("Key used to use a bow"), + "Touche pour utiliser un arc") + self.assertEqual(_("Key used to dance"), + "Touche pour danser") self.assertEqual(_("Texture pack"), "Pack de textures") self.assertEqual(_("Language"), "Langue") @@ -77,6 +81,11 @@ class TestTranslations(unittest.TestCase): self.assertEqual(_("helmet"), "casque") self.assertEqual(_("chestplate"), "plastron") self.assertEqual(_("shield"), "bouclier") + self.assertEqual(_("ruler"), "règle") + self.assertEqual(_("scroll of damage"), "parchemin de dégâts") + self.assertEqual(_("scroll of weakness"), "parchemin de faiblesse") + self.assertEqual(_("bow"), "arc") + self.assertEqual(_("fire ball staff"), "baton de boule de feu") self.assertEqual(_("ring of critical damage"), "anneau de coup critique") self.assertEqual(_("ring of more experience"),