Merge branch 'description' into 'master'
Description Closes #59 See merge request ynerant/squirrel-battle!57
This commit is contained in:
commit
073e3d3740
|
@ -172,6 +172,7 @@ class PlayerInventoryDisplay(MenuDisplay):
|
|||
and self.selected else f" {rep} "
|
||||
self.addstr(self.pad, i + 1, 0, selection
|
||||
+ " " + item.translated_name.capitalize()
|
||||
+ (f" ({item.description})" if item.description else "")
|
||||
+ (": " + str(item.price) + " Hazels"
|
||||
if self.store_mode else ""))
|
||||
|
||||
|
@ -217,6 +218,7 @@ class StoreInventoryDisplay(MenuDisplay):
|
|||
and self.selected else f" {rep} "
|
||||
self.addstr(self.pad, i + 1, 0, selection
|
||||
+ " " + item.translated_name.capitalize()
|
||||
+ (f" ({item.description})" if item.description else "")
|
||||
+ ": " + str(item.price) + " Hazels")
|
||||
|
||||
price = f"{self.pack.HAZELNUT} {self.menu.merchant.hazel} Hazels"
|
||||
|
|
|
@ -118,7 +118,7 @@ TexturePack.SQUIRREL_PACK = TexturePack(
|
|||
HAZELNUT='🌰',
|
||||
HEART='💜',
|
||||
HEDGEHOG='🦔',
|
||||
HELMET='⛑️',
|
||||
HELMET='⛑️ ',
|
||||
PLAYER='🐿️ ️',
|
||||
MERCHANT='🦜',
|
||||
RABBIT='🐇',
|
||||
|
|
|
@ -24,6 +24,13 @@ class Item(Entity):
|
|||
self.held_by = held_by
|
||||
self.price = price
|
||||
|
||||
@property
|
||||
def description(self) -> str:
|
||||
"""
|
||||
In the inventory, indicate the usefulness of the item.
|
||||
"""
|
||||
return ""
|
||||
|
||||
def drop(self) -> None:
|
||||
"""
|
||||
The item is dropped from the inventory onto the floor.
|
||||
|
@ -79,7 +86,7 @@ class Item(Entity):
|
|||
"""
|
||||
Returns the list of all item classes.
|
||||
"""
|
||||
return [BodySnatchPotion, Bomb, Heart, Shield, Sword,\
|
||||
return [BodySnatchPotion, Bomb, Heart, Shield, Sword,
|
||||
Chestplate, Helmet, RingCritical, RingXP]
|
||||
|
||||
def be_sold(self, buyer: InventoryHolder, seller: InventoryHolder) -> bool:
|
||||
|
@ -109,6 +116,10 @@ class Heart(Item):
|
|||
super().__init__(name=name, price=price, *args, **kwargs)
|
||||
self.healing = healing
|
||||
|
||||
@property
|
||||
def description(self) -> str:
|
||||
return f"HP+{self.healing}"
|
||||
|
||||
def hold(self, entity: InventoryHolder) -> None:
|
||||
"""
|
||||
When holding a heart, the player is healed and
|
||||
|
@ -217,6 +228,10 @@ class Weapon(Item):
|
|||
super().__init__(*args, **kwargs)
|
||||
self.damage = damage
|
||||
|
||||
@property
|
||||
def description(self) -> str:
|
||||
return f"STR+{self.damage}" if self.damage else super().description
|
||||
|
||||
def save_state(self) -> dict:
|
||||
"""
|
||||
Saves the state of the weapon into a dictionary
|
||||
|
@ -261,6 +276,11 @@ class Armor(Item):
|
|||
super().__init__(*args, **kwargs)
|
||||
self.constitution = constitution
|
||||
|
||||
@property
|
||||
def description(self) -> str:
|
||||
return f"CON+{self.constitution}" if self.constitution \
|
||||
else super().description
|
||||
|
||||
def equip(self) -> None:
|
||||
super().equip()
|
||||
self.held_by.constitution += self.constitution
|
||||
|
@ -284,6 +304,7 @@ class Shield(Armor):
|
|||
super().__init__(name=name, constitution=constitution, price=price,
|
||||
*args, **kwargs)
|
||||
|
||||
|
||||
class Helmet(Armor):
|
||||
"""
|
||||
Class of helmet items, they can be equipped on the head.
|
||||
|
@ -299,6 +320,7 @@ class Helmet(Armor):
|
|||
self.held_by.remove_from_inventory(self)
|
||||
self.held_by.equipped_helmet = self
|
||||
|
||||
|
||||
class Chestplate(Armor):
|
||||
"""
|
||||
Class of chestplate items, they can be equipped on the body.
|
||||
|
@ -314,6 +336,7 @@ class Chestplate(Armor):
|
|||
self.held_by.remove_from_inventory(self)
|
||||
self.held_by.equipped_armor = self
|
||||
|
||||
|
||||
class BodySnatchPotion(Item):
|
||||
"""
|
||||
The body-snatch potion allows to exchange all characteristics with a random
|
||||
|
@ -375,6 +398,14 @@ class Ring(Item):
|
|||
self.critical = critical
|
||||
self.experience = experience
|
||||
|
||||
@property
|
||||
def description(self) -> str:
|
||||
fields = [("MAX HP", self.maxhealth), ("STR", self.strength),
|
||||
("INT", self.intelligence), ("CHR", self.charisma),
|
||||
("DEX", self.dexterity), ("CON", self.constitution),
|
||||
("CRI", self.critical), ("XP", self.experience)]
|
||||
return ", ".join(f"{key}+{value}" for key, value in fields if value)
|
||||
|
||||
def equip(self) -> None:
|
||||
super().equip()
|
||||
self.held_by.maxhealth += self.maxhealth
|
||||
|
|
|
@ -605,7 +605,7 @@ class Entity:
|
|||
from squirrelbattle.entities.monsters import Tiger, Hedgehog, \
|
||||
Rabbit, TeddyBear, GiantSeaEagle
|
||||
from squirrelbattle.entities.friendly import Merchant, Sunflower, \
|
||||
Trumpet
|
||||
Trumpet
|
||||
return [BodySnatchPotion, Bomb, Heart, Hedgehog, Rabbit, TeddyBear,
|
||||
Sunflower, Tiger, Merchant, GiantSeaEagle, Trumpet]
|
||||
|
||||
|
|
|
@ -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 01:57+0100\n"
|
||||
"POT-Creation-Date: 2021-01-08 12:03+0100\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"
|
||||
|
@ -21,40 +21,49 @@ msgstr ""
|
|||
msgid "{name} takes {amount} damage."
|
||||
msgstr "{name} nimmt {amount} Schadenspunkte."
|
||||
|
||||
#: squirrelbattle/display/menudisplay.py:160
|
||||
#: 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:202
|
||||
#: squirrelbattle/display/menudisplay.py:214
|
||||
msgid "STALL"
|
||||
msgstr "STAND"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:23
|
||||
#: squirrelbattle/tests/translations_test.py:60
|
||||
msgid "player"
|
||||
msgstr "Spieler"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:35
|
||||
#: squirrelbattle/display/statsdisplay.py:40
|
||||
msgid "Inventory:"
|
||||
msgstr "Bestand:"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:52
|
||||
#: squirrelbattle/display/statsdisplay.py:57
|
||||
msgid "Equipped main:"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:56
|
||||
#: squirrelbattle/display/statsdisplay.py:61
|
||||
msgid "Equipped secondary:"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:61
|
||||
#: squirrelbattle/display/statsdisplay.py:66
|
||||
msgid "Equipped chestplate:"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:65
|
||||
#: squirrelbattle/display/statsdisplay.py:70
|
||||
msgid "Equipped helmet:"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:72
|
||||
#: squirrelbattle/display/statsdisplay.py:77
|
||||
msgid "YOU ARE DEAD"
|
||||
msgstr "SIE WURDEN GESTORBEN"
|
||||
|
||||
|
@ -63,41 +72,41 @@ msgstr "SIE WURDEN GESTORBEN"
|
|||
msgid "I don't sell any squirrel"
|
||||
msgstr "Ich verkaufe keinen Eichhörnchen."
|
||||
|
||||
#: squirrelbattle/entities/friendly.py:52
|
||||
#: squirrelbattle/entities/friendly.py:55
|
||||
msgid "Flower power!!"
|
||||
msgstr "Blumenmacht!!"
|
||||
|
||||
#: squirrelbattle/entities/friendly.py:52
|
||||
#: squirrelbattle/entities/friendly.py:55
|
||||
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:163
|
||||
#: squirrelbattle/entities/items.py:178
|
||||
msgid "Bomb is exploding."
|
||||
msgstr "Die Bombe explodiert."
|
||||
|
||||
#: squirrelbattle/entities/items.py:344
|
||||
#: squirrelbattle/entities/items.py:365
|
||||
#, python-brace-format
|
||||
msgid "{player} exchanged its body with {entity}."
|
||||
msgstr "{player} täuscht seinem Körper mit {entity} aus."
|
||||
|
||||
#: squirrelbattle/game.py:182
|
||||
#: squirrelbattle/game.py:200
|
||||
#, python-brace-format
|
||||
msgid "The player climbs down to the floor {floor}."
|
||||
msgstr "Der Spieler klettert auf dem Stock {floor} hinunter."
|
||||
|
||||
#: squirrelbattle/game.py:195
|
||||
#: squirrelbattle/game.py:213
|
||||
#, python-brace-format
|
||||
msgid "The player climbs up the floor {floor}."
|
||||
msgstr "Der Spieler klettert auf dem Stock {floor} hinoben."
|
||||
|
||||
#: squirrelbattle/game.py:285 squirrelbattle/tests/game_test.py:592
|
||||
#: squirrelbattle/game.py:304 squirrelbattle/tests/game_test.py:603
|
||||
msgid "The buyer does not have enough money"
|
||||
msgstr "Der Kaufer hat nicht genug Geld"
|
||||
|
||||
#: squirrelbattle/game.py:328
|
||||
#: squirrelbattle/game.py:347
|
||||
msgid ""
|
||||
"Some keys are missing in your save file.\n"
|
||||
"Your save seems to be corrupt. It got deleted."
|
||||
|
@ -105,7 +114,7 @@ msgstr ""
|
|||
"In Ihrer Speicherdatei fehlen einige Schlüssel.\n"
|
||||
"Ihre Speicherung scheint korrupt zu sein. Es wird gelöscht."
|
||||
|
||||
#: squirrelbattle/game.py:336
|
||||
#: squirrelbattle/game.py:355
|
||||
msgid ""
|
||||
"No player was found on this map!\n"
|
||||
"Maybe you died?"
|
||||
|
@ -113,7 +122,7 @@ msgstr ""
|
|||
"Auf dieser Karte wurde kein Spieler gefunden!\n"
|
||||
"Vielleicht sind Sie gestorben?"
|
||||
|
||||
#: squirrelbattle/game.py:356
|
||||
#: squirrelbattle/game.py:375
|
||||
msgid ""
|
||||
"The JSON file is not correct.\n"
|
||||
"Your save seems corrupted. It got deleted."
|
||||
|
@ -121,26 +130,26 @@ msgstr ""
|
|||
"Die JSON-Datei ist nicht korrekt.\n"
|
||||
"Ihre Speicherung scheint korrumpiert. Sie wurde gelöscht."
|
||||
|
||||
#: squirrelbattle/interfaces.py:452
|
||||
#: squirrelbattle/interfaces.py:712
|
||||
msgid "It's a critical hit!"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/interfaces.py:453
|
||||
#: squirrelbattle/interfaces.py:713
|
||||
#, python-brace-format
|
||||
msgid "{name} hits {opponent}."
|
||||
msgstr "{name} schlägt {opponent}."
|
||||
|
||||
#: squirrelbattle/interfaces.py:465
|
||||
#: squirrelbattle/interfaces.py:727
|
||||
#, python-brace-format
|
||||
msgid "{name} takes {damage} damage."
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/interfaces.py:467
|
||||
#: squirrelbattle/interfaces.py:729
|
||||
#, python-brace-format
|
||||
msgid "{name} dies."
|
||||
msgstr "{name} stirbt."
|
||||
|
||||
#: squirrelbattle/interfaces.py:501
|
||||
#: squirrelbattle/interfaces.py:763
|
||||
#, python-brace-format
|
||||
msgid "{entity} said: {message}"
|
||||
msgstr "{entity} hat gesagt: {message}"
|
||||
|
@ -149,8 +158,8 @@ msgstr "{entity} hat gesagt: {message}"
|
|||
msgid "Back"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: squirrelbattle/tests/game_test.py:358 squirrelbattle/tests/game_test.py:361
|
||||
#: squirrelbattle/tests/game_test.py:364 squirrelbattle/tests/game_test.py:367
|
||||
#: 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/translations_test.py:16
|
||||
msgid "New game"
|
||||
msgstr "Neu Spiel"
|
||||
|
@ -247,6 +256,10 @@ msgstr "Textur-Packung"
|
|||
msgid "Language"
|
||||
msgstr "Sprache"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:62
|
||||
msgid "player"
|
||||
msgstr "Spieler"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:64
|
||||
msgid "hedgehog"
|
||||
msgstr "Igel"
|
||||
|
@ -290,3 +303,23 @@ msgstr "Herz"
|
|||
#: squirrelbattle/tests/translations_test.py:75
|
||||
msgid "sword"
|
||||
msgstr "schwert"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:76
|
||||
msgid "helmet"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:77
|
||||
msgid "chestplate"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:78
|
||||
msgid "shield"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:79
|
||||
msgid "ring_of_critical_damage"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:81
|
||||
msgid "ring_of_more_experience"
|
||||
msgstr ""
|
||||
|
|
|
@ -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-06 15:19+0100\n"
|
||||
"POT-Creation-Date: 2021-01-08 12:03+0100\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"
|
||||
|
@ -21,40 +21,49 @@ msgstr ""
|
|||
msgid "{name} takes {amount} damage."
|
||||
msgstr "{name} recibe {amount} daño."
|
||||
|
||||
#: squirrelbattle/display/menudisplay.py:160
|
||||
#: 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:202
|
||||
#: squirrelbattle/display/menudisplay.py:214
|
||||
msgid "STALL"
|
||||
msgstr "PUESTO"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:23
|
||||
#: squirrelbattle/tests/translations_test.py:60
|
||||
msgid "player"
|
||||
msgstr "jugador"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:35
|
||||
#: squirrelbattle/display/statsdisplay.py:40
|
||||
msgid "Inventory:"
|
||||
msgstr "Inventorio :"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:52
|
||||
#: squirrelbattle/display/statsdisplay.py:57
|
||||
msgid "Equipped main:"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:56
|
||||
#: squirrelbattle/display/statsdisplay.py:61
|
||||
msgid "Equipped secondary:"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:61
|
||||
#: squirrelbattle/display/statsdisplay.py:66
|
||||
msgid "Equipped chestplate:"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:65
|
||||
#: squirrelbattle/display/statsdisplay.py:70
|
||||
msgid "Equipped helmet:"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:72
|
||||
#: squirrelbattle/display/statsdisplay.py:77
|
||||
msgid "YOU ARE DEAD"
|
||||
msgstr "ERES MUERTO"
|
||||
|
||||
|
@ -62,41 +71,41 @@ msgstr "ERES MUERTO"
|
|||
msgid "I don't sell any squirrel"
|
||||
msgstr "No vendo ninguna ardilla"
|
||||
|
||||
#: squirrelbattle/entities/friendly.py:52
|
||||
#: squirrelbattle/entities/friendly.py:55
|
||||
msgid "Flower power!!"
|
||||
msgstr "Poder de las flores!!"
|
||||
|
||||
#: squirrelbattle/entities/friendly.py:52
|
||||
#: squirrelbattle/entities/friendly.py:55
|
||||
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:163
|
||||
#: squirrelbattle/entities/items.py:178
|
||||
msgid "Bomb is exploding."
|
||||
msgstr "La bomba está explotando."
|
||||
|
||||
#: squirrelbattle/entities/items.py:344
|
||||
#: squirrelbattle/entities/items.py:365
|
||||
#, python-brace-format
|
||||
msgid "{player} exchanged its body with {entity}."
|
||||
msgstr "{player} intercambió su cuerpo con {entity}."
|
||||
|
||||
#: squirrelbattle/game.py:182
|
||||
#: squirrelbattle/game.py:200
|
||||
#, python-brace-format
|
||||
msgid "The player climbs down to the floor {floor}."
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/game.py:195
|
||||
#: squirrelbattle/game.py:213
|
||||
#, python-brace-format
|
||||
msgid "The player climbs up the floor {floor}."
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/game.py:285 squirrelbattle/tests/game_test.py:592
|
||||
#: squirrelbattle/game.py:304 squirrelbattle/tests/game_test.py:603
|
||||
msgid "The buyer does not have enough money"
|
||||
msgstr "El comprador no tiene suficiente dinero"
|
||||
|
||||
#: squirrelbattle/game.py:328
|
||||
#: squirrelbattle/game.py:347
|
||||
msgid ""
|
||||
"Some keys are missing in your save file.\n"
|
||||
"Your save seems to be corrupt. It got deleted."
|
||||
|
@ -104,7 +113,7 @@ msgstr ""
|
|||
"Algunas claves faltan en su archivo de guarda.\n"
|
||||
"Su guarda parece a ser corruptido. Fue eliminado."
|
||||
|
||||
#: squirrelbattle/game.py:336
|
||||
#: squirrelbattle/game.py:355
|
||||
msgid ""
|
||||
"No player was found on this map!\n"
|
||||
"Maybe you died?"
|
||||
|
@ -112,7 +121,7 @@ msgstr ""
|
|||
"No jugador encontrado sobre la carta !\n"
|
||||
"¿ Quizas murió ?"
|
||||
|
||||
#: squirrelbattle/game.py:356
|
||||
#: squirrelbattle/game.py:375
|
||||
msgid ""
|
||||
"The JSON file is not correct.\n"
|
||||
"Your save seems corrupted. It got deleted."
|
||||
|
@ -120,26 +129,26 @@ msgstr ""
|
|||
"El JSON archivo no es correcto.\n"
|
||||
"Su guarda parece corrupta. Fue eliminada."
|
||||
|
||||
#: squirrelbattle/interfaces.py:452
|
||||
#: squirrelbattle/interfaces.py:712
|
||||
msgid "It's a critical hit!"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/interfaces.py:453
|
||||
#: squirrelbattle/interfaces.py:713
|
||||
#, python-brace-format
|
||||
msgid "{name} hits {opponent}."
|
||||
msgstr "{name} golpea a {opponent}."
|
||||
|
||||
#: squirrelbattle/interfaces.py:465
|
||||
#: squirrelbattle/interfaces.py:727
|
||||
#, python-brace-format
|
||||
msgid "{name} takes {damage} damage."
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/interfaces.py:467
|
||||
#: squirrelbattle/interfaces.py:729
|
||||
#, python-brace-format
|
||||
msgid "{name} dies."
|
||||
msgstr "{name} se muere."
|
||||
|
||||
#: squirrelbattle/interfaces.py:501
|
||||
#: squirrelbattle/interfaces.py:763
|
||||
#, python-brace-format
|
||||
msgid "{entity} said: {message}"
|
||||
msgstr "{entity} dijo : {message}"
|
||||
|
@ -148,8 +157,8 @@ msgstr "{entity} dijo : {message}"
|
|||
msgid "Back"
|
||||
msgstr "Volver"
|
||||
|
||||
#: squirrelbattle/tests/game_test.py:358 squirrelbattle/tests/game_test.py:361
|
||||
#: squirrelbattle/tests/game_test.py:364 squirrelbattle/tests/game_test.py:367
|
||||
#: 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/translations_test.py:16
|
||||
msgid "New game"
|
||||
msgstr "Nuevo partido"
|
||||
|
@ -246,6 +255,10 @@ msgstr "Paquete de texturas"
|
|||
msgid "Language"
|
||||
msgstr "Languaje"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:62
|
||||
msgid "player"
|
||||
msgstr "jugador"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:64
|
||||
msgid "hedgehog"
|
||||
msgstr "erizo"
|
||||
|
@ -289,3 +302,23 @@ msgstr "corazón"
|
|||
#: squirrelbattle/tests/translations_test.py:75
|
||||
msgid "sword"
|
||||
msgstr "espada"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:76
|
||||
msgid "helmet"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:77
|
||||
msgid "chestplate"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:78
|
||||
msgid "shield"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:79
|
||||
msgid "ring_of_critical_damage"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:81
|
||||
msgid "ring_of_more_experience"
|
||||
msgstr ""
|
||||
|
|
|
@ -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-06 15:19+0100\n"
|
||||
"POT-Creation-Date: 2021-01-08 12:03+0100\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"
|
||||
|
@ -21,40 +21,49 @@ msgstr ""
|
|||
msgid "{name} takes {amount} damage."
|
||||
msgstr "{name} prend {amount} points de dégât."
|
||||
|
||||
#: squirrelbattle/display/menudisplay.py:160
|
||||
#: 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:202
|
||||
#: squirrelbattle/display/menudisplay.py:214
|
||||
msgid "STALL"
|
||||
msgstr "STAND"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:23
|
||||
#: squirrelbattle/tests/translations_test.py:60
|
||||
msgid "player"
|
||||
msgstr "joueur"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:35
|
||||
#: squirrelbattle/display/statsdisplay.py:40
|
||||
msgid "Inventory:"
|
||||
msgstr "Inventaire :"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:52
|
||||
#: squirrelbattle/display/statsdisplay.py:57
|
||||
msgid "Equipped main:"
|
||||
msgstr "Équipement principal :"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:56
|
||||
#: squirrelbattle/display/statsdisplay.py:61
|
||||
msgid "Equipped secondary:"
|
||||
msgstr "Équipement secondaire :"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:61
|
||||
#: squirrelbattle/display/statsdisplay.py:66
|
||||
msgid "Equipped chestplate:"
|
||||
msgstr "Plastron équipé :"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:65
|
||||
#: squirrelbattle/display/statsdisplay.py:70
|
||||
msgid "Equipped helmet:"
|
||||
msgstr "Casque équipé :"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:72
|
||||
#: squirrelbattle/display/statsdisplay.py:77
|
||||
msgid "YOU ARE DEAD"
|
||||
msgstr "VOUS ÊTES MORT"
|
||||
|
||||
|
@ -63,41 +72,41 @@ msgstr "VOUS ÊTES MORT"
|
|||
msgid "I don't sell any squirrel"
|
||||
msgstr "Je ne vends pas d'écureuil"
|
||||
|
||||
#: squirrelbattle/entities/friendly.py:52
|
||||
#: squirrelbattle/entities/friendly.py:55
|
||||
msgid "Flower power!!"
|
||||
msgstr "Pouvoir des fleurs !!"
|
||||
|
||||
#: squirrelbattle/entities/friendly.py:52
|
||||
#: squirrelbattle/entities/friendly.py:55
|
||||
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:163
|
||||
#: squirrelbattle/entities/items.py:178
|
||||
msgid "Bomb is exploding."
|
||||
msgstr "La bombe explose."
|
||||
|
||||
#: squirrelbattle/entities/items.py:344
|
||||
#: squirrelbattle/entities/items.py:365
|
||||
#, python-brace-format
|
||||
msgid "{player} exchanged its body with {entity}."
|
||||
msgstr "{player} a échangé son corps avec {entity}."
|
||||
|
||||
#: squirrelbattle/game.py:182
|
||||
#: squirrelbattle/game.py:200
|
||||
#, python-brace-format
|
||||
msgid "The player climbs down to the floor {floor}."
|
||||
msgstr "Le joueur descend à l'étage {floor}."
|
||||
|
||||
#: squirrelbattle/game.py:195
|
||||
#: squirrelbattle/game.py:213
|
||||
#, python-brace-format
|
||||
msgid "The player climbs up the floor {floor}."
|
||||
msgstr "Le joueur monte à l'étage {floor}."
|
||||
|
||||
#: squirrelbattle/game.py:285 squirrelbattle/tests/game_test.py:592
|
||||
#: squirrelbattle/game.py:304 squirrelbattle/tests/game_test.py:603
|
||||
msgid "The buyer does not have enough money"
|
||||
msgstr "L'acheteur n'a pas assez d'argent"
|
||||
|
||||
#: squirrelbattle/game.py:328
|
||||
#: squirrelbattle/game.py:347
|
||||
msgid ""
|
||||
"Some keys are missing in your save file.\n"
|
||||
"Your save seems to be corrupt. It got deleted."
|
||||
|
@ -105,7 +114,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:336
|
||||
#: squirrelbattle/game.py:355
|
||||
msgid ""
|
||||
"No player was found on this map!\n"
|
||||
"Maybe you died?"
|
||||
|
@ -113,7 +122,7 @@ msgstr ""
|
|||
"Aucun joueur n'a été trouvé sur la carte !\n"
|
||||
"Peut-être êtes-vous mort ?"
|
||||
|
||||
#: squirrelbattle/game.py:356
|
||||
#: squirrelbattle/game.py:375
|
||||
msgid ""
|
||||
"The JSON file is not correct.\n"
|
||||
"Your save seems corrupted. It got deleted."
|
||||
|
@ -121,26 +130,26 @@ msgstr ""
|
|||
"Le fichier JSON de sauvegarde est incorrect.\n"
|
||||
"Votre sauvegarde semble corrompue. Elle a été supprimée."
|
||||
|
||||
#: squirrelbattle/interfaces.py:452
|
||||
#: squirrelbattle/interfaces.py:712
|
||||
msgid "It's a critical hit!"
|
||||
msgstr "C'est un coup critique !"
|
||||
|
||||
#: squirrelbattle/interfaces.py:453
|
||||
#: squirrelbattle/interfaces.py:713
|
||||
#, python-brace-format
|
||||
msgid "{name} hits {opponent}."
|
||||
msgstr "{name} frappe {opponent}."
|
||||
|
||||
#: squirrelbattle/interfaces.py:465
|
||||
#: squirrelbattle/interfaces.py:727
|
||||
#, python-brace-format
|
||||
msgid "{name} takes {damage} damage."
|
||||
msgstr "{name} prend {damage} dégâts."
|
||||
|
||||
#: squirrelbattle/interfaces.py:467
|
||||
#: squirrelbattle/interfaces.py:729
|
||||
#, python-brace-format
|
||||
msgid "{name} dies."
|
||||
msgstr "{name} meurt."
|
||||
|
||||
#: squirrelbattle/interfaces.py:501
|
||||
#: squirrelbattle/interfaces.py:763
|
||||
#, python-brace-format
|
||||
msgid "{entity} said: {message}"
|
||||
msgstr "{entity} a dit : {message}"
|
||||
|
@ -149,8 +158,8 @@ msgstr "{entity} a dit : {message}"
|
|||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
||||
#: squirrelbattle/tests/game_test.py:358 squirrelbattle/tests/game_test.py:361
|
||||
#: squirrelbattle/tests/game_test.py:364 squirrelbattle/tests/game_test.py:367
|
||||
#: 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/translations_test.py:16
|
||||
msgid "New game"
|
||||
msgstr "Nouvelle partie"
|
||||
|
@ -247,6 +256,10 @@ msgstr "Pack de textures"
|
|||
msgid "Language"
|
||||
msgstr "Langue"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:62
|
||||
msgid "player"
|
||||
msgstr "joueur"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:64
|
||||
msgid "hedgehog"
|
||||
msgstr "hérisson"
|
||||
|
@ -290,3 +303,23 @@ msgstr "cœur"
|
|||
#: squirrelbattle/tests/translations_test.py:75
|
||||
msgid "sword"
|
||||
msgstr "épée"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:76
|
||||
msgid "helmet"
|
||||
msgstr "casque"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:77
|
||||
msgid "chestplate"
|
||||
msgstr "plastron"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:78
|
||||
msgid "shield"
|
||||
msgstr "bouclier"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:79
|
||||
msgid "ring of critical damage"
|
||||
msgstr "anneau de coup critique"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:81
|
||||
msgid "ring of more experience"
|
||||
msgstr "anneau de plus d'expérience"
|
||||
|
|
|
@ -73,3 +73,10 @@ class TestTranslations(unittest.TestCase):
|
|||
self.assertEqual(_("explosion"), "explosion")
|
||||
self.assertEqual(_("heart"), "cœur")
|
||||
self.assertEqual(_("sword"), "épée")
|
||||
self.assertEqual(_("helmet"), "casque")
|
||||
self.assertEqual(_("chestplate"), "plastron")
|
||||
self.assertEqual(_("shield"), "bouclier")
|
||||
self.assertEqual(_("ring of critical damage"),
|
||||
"anneau de coup critique")
|
||||
self.assertEqual(_("ring of more experience"),
|
||||
"anneau de plus d'expérience")
|
||||
|
|
Loading…
Reference in New Issue