Move translation files in the module
This commit is contained in:
BIN
squirrelbattle/locale/en/LC_MESSAGES/squirrelbattle.mo
Normal file
BIN
squirrelbattle/locale/en/LC_MESSAGES/squirrelbattle.mo
Normal file
Binary file not shown.
171
squirrelbattle/locale/en/LC_MESSAGES/squirrelbattle.po
Normal file
171
squirrelbattle/locale/en/LC_MESSAGES/squirrelbattle.po
Normal file
@ -0,0 +1,171 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR ÿnérant, eichhornchen, nicomarg, charlse
|
||||
# This file is distributed under the same license as the squirrelbattle package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: squirrelbattle 3.14.1\n"
|
||||
"Report-Msgid-Bugs-To: squirrel-battle@crans.org\n"
|
||||
"POT-Creation-Date: 2020-11-28 03:01+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"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:34
|
||||
msgid "Inventory:"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:39
|
||||
msgid "YOU ARE DEAD"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/interfaces.py:394 squirrelbattle/interfaces.py:398
|
||||
#, python-brace-format
|
||||
msgid "{name} hits {opponent}."
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/interfaces.py:405 squirrelbattle/interfaces.py:410
|
||||
#, python-brace-format
|
||||
msgid "{name} takes {amount} damage."
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/menus.py:45 squirrelbattle/tests/translations_test.py:14
|
||||
#: squirrelbattle/tests/game_test.py:284 squirrelbattle/tests/game_test.py:287
|
||||
msgid "New game"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/menus.py:46 squirrelbattle/tests/translations_test.py:15
|
||||
msgid "Resume"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/menus.py:47 squirrelbattle/tests/translations_test.py:17
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/menus.py:48 squirrelbattle/tests/translations_test.py:16
|
||||
msgid "Load"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/menus.py:49 squirrelbattle/tests/translations_test.py:18
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/menus.py:50 squirrelbattle/tests/translations_test.py:19
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/menus.py:71
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/game.py:147 squirrelbattle/game.py:148
|
||||
msgid ""
|
||||
"Some keys are missing in your save file.\n"
|
||||
"Your save seems to be corrupt. It got deleted."
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/game.py:155 squirrelbattle/game.py:156
|
||||
msgid ""
|
||||
"No player was found on this map!\n"
|
||||
"Maybe you died?"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/game.py:175 squirrelbattle/game.py:176
|
||||
msgid ""
|
||||
"The JSON file is not correct.\n"
|
||||
"Your save seems corrupted. It got deleted."
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/settings.py:21 squirrelbattle/tests/translations_test.py:21
|
||||
#: squirrelbattle/tests/translations_test.py:25
|
||||
msgid "Main key to move up"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/settings.py:22 squirrelbattle/tests/translations_test.py:23
|
||||
#: squirrelbattle/tests/translations_test.py:27
|
||||
msgid "Secondary key to move up"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/settings.py:23 squirrelbattle/tests/translations_test.py:25
|
||||
#: squirrelbattle/tests/translations_test.py:29
|
||||
msgid "Main key to move down"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/settings.py:24 squirrelbattle/tests/translations_test.py:27
|
||||
#: squirrelbattle/tests/translations_test.py:31
|
||||
msgid "Secondary key to move down"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/settings.py:25 squirrelbattle/tests/translations_test.py:29
|
||||
#: squirrelbattle/tests/translations_test.py:33
|
||||
msgid "Main key to move left"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/settings.py:26 squirrelbattle/tests/translations_test.py:31
|
||||
#: squirrelbattle/tests/translations_test.py:35
|
||||
msgid "Secondary key to move left"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/settings.py:27 squirrelbattle/tests/translations_test.py:33
|
||||
#: squirrelbattle/tests/translations_test.py:37
|
||||
msgid "Main key to move right"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/settings.py:29 squirrelbattle/tests/translations_test.py:35
|
||||
#: squirrelbattle/tests/translations_test.py:39
|
||||
msgid "Secondary key to move right"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/settings.py:30 squirrelbattle/tests/translations_test.py:37
|
||||
#: squirrelbattle/tests/translations_test.py:41
|
||||
msgid "Key to validate a menu"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/settings.py:31 squirrelbattle/tests/translations_test.py:39
|
||||
#: squirrelbattle/tests/translations_test.py:43
|
||||
msgid "Texture pack"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/settings.py:32 squirrelbattle/tests/translations_test.py:40
|
||||
#: squirrelbattle/tests/translations_test.py:44
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/interfaces.py:407 squirrelbattle/interfaces.py:412
|
||||
#, python-brace-format
|
||||
msgid "{name} dies."
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:47
|
||||
msgid "player"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:49
|
||||
msgid "tiger"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:50
|
||||
msgid "hedgehog"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:51
|
||||
msgid "rabbit"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:52
|
||||
msgid "teddy bear"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:54
|
||||
msgid "bomb"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:55
|
||||
msgid "heart"
|
||||
msgstr ""
|
BIN
squirrelbattle/locale/fr/LC_MESSAGES/squirrelbattle.mo
Normal file
BIN
squirrelbattle/locale/fr/LC_MESSAGES/squirrelbattle.mo
Normal file
Binary file not shown.
177
squirrelbattle/locale/fr/LC_MESSAGES/squirrelbattle.po
Normal file
177
squirrelbattle/locale/fr/LC_MESSAGES/squirrelbattle.po
Normal file
@ -0,0 +1,177 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR ÿnérant, eichhornchen, nicomarg, charlse
|
||||
# This file is distributed under the same license as the squirrelbattle package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: squirrelbattle 3.14.1\n"
|
||||
"Report-Msgid-Bugs-To: squirrel-battle@crans.org\n"
|
||||
"POT-Creation-Date: 2020-11-28 02:50+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"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:34
|
||||
msgid "Inventory:"
|
||||
msgstr "Inventaire :"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:39
|
||||
msgid "YOU ARE DEAD"
|
||||
msgstr "VOUS ÊTES MORT"
|
||||
|
||||
#: squirrelbattle/interfaces.py:394 squirrelbattle/interfaces.py:398
|
||||
#, python-brace-format
|
||||
msgid "{name} hits {opponent}."
|
||||
msgstr "{name} frappe {opponent}."
|
||||
|
||||
#: squirrelbattle/interfaces.py:405 squirrelbattle/interfaces.py:410
|
||||
#, python-brace-format
|
||||
msgid "{name} takes {amount} damage."
|
||||
msgstr "{name} prend {amount} points de dégât."
|
||||
|
||||
#: squirrelbattle/menus.py:45 squirrelbattle/tests/translations_test.py:14
|
||||
#: squirrelbattle/tests/game_test.py:284 squirrelbattle/tests/game_test.py:287
|
||||
msgid "New game"
|
||||
msgstr "Nouvelle partie"
|
||||
|
||||
#: squirrelbattle/menus.py:46 squirrelbattle/tests/translations_test.py:15
|
||||
msgid "Resume"
|
||||
msgstr "Continuer"
|
||||
|
||||
#: squirrelbattle/menus.py:47 squirrelbattle/tests/translations_test.py:17
|
||||
msgid "Save"
|
||||
msgstr "Sauvegarder"
|
||||
|
||||
#: squirrelbattle/menus.py:48 squirrelbattle/tests/translations_test.py:16
|
||||
msgid "Load"
|
||||
msgstr "Charger"
|
||||
|
||||
#: squirrelbattle/menus.py:49 squirrelbattle/tests/translations_test.py:18
|
||||
msgid "Settings"
|
||||
msgstr "Paramètres"
|
||||
|
||||
#: squirrelbattle/menus.py:50 squirrelbattle/tests/translations_test.py:19
|
||||
msgid "Exit"
|
||||
msgstr "Quitter"
|
||||
|
||||
#: squirrelbattle/menus.py:71
|
||||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
||||
#: squirrelbattle/game.py:147 squirrelbattle/game.py:148
|
||||
msgid ""
|
||||
"Some keys are missing in your save file.\n"
|
||||
"Your save seems to be corrupt. It got deleted."
|
||||
msgstr ""
|
||||
"Certaines clés de votre ficher de sauvegarde sont manquantes.\n"
|
||||
"Votre sauvegarde semble corrompue. Elle a été supprimée."
|
||||
|
||||
#: squirrelbattle/game.py:155 squirrelbattle/game.py:156
|
||||
msgid ""
|
||||
"No player was found on this map!\n"
|
||||
"Maybe you died?"
|
||||
msgstr ""
|
||||
"Aucun joueur n'a été trouvé sur la carte !\n"
|
||||
"Peut-être êtes-vous mort ?"
|
||||
|
||||
#: squirrelbattle/game.py:175 squirrelbattle/game.py:176
|
||||
msgid ""
|
||||
"The JSON file is not correct.\n"
|
||||
"Your save seems corrupted. It got deleted."
|
||||
msgstr ""
|
||||
"Le fichier JSON de sauvegarde est incorrect.\n"
|
||||
"Votre sauvegarde semble corrompue. Elle a été supprimée."
|
||||
|
||||
#: squirrelbattle/settings.py:21 squirrelbattle/tests/translations_test.py:21
|
||||
#: squirrelbattle/tests/translations_test.py:25
|
||||
msgid "Main key to move up"
|
||||
msgstr "Touche principale pour aller vers le haut"
|
||||
|
||||
#: squirrelbattle/settings.py:22 squirrelbattle/tests/translations_test.py:23
|
||||
#: squirrelbattle/tests/translations_test.py:27
|
||||
msgid "Secondary key to move up"
|
||||
msgstr "Touche secondaire pour aller vers le haut"
|
||||
|
||||
#: squirrelbattle/settings.py:23 squirrelbattle/tests/translations_test.py:25
|
||||
#: squirrelbattle/tests/translations_test.py:29
|
||||
msgid "Main key to move down"
|
||||
msgstr "Touche principale pour aller vers le bas"
|
||||
|
||||
#: squirrelbattle/settings.py:24 squirrelbattle/tests/translations_test.py:27
|
||||
#: squirrelbattle/tests/translations_test.py:31
|
||||
msgid "Secondary key to move down"
|
||||
msgstr "Touche secondaire pour aller vers le bas"
|
||||
|
||||
#: squirrelbattle/settings.py:25 squirrelbattle/tests/translations_test.py:29
|
||||
#: squirrelbattle/tests/translations_test.py:33
|
||||
msgid "Main key to move left"
|
||||
msgstr "Touche principale pour aller vers la gauche"
|
||||
|
||||
#: squirrelbattle/settings.py:26 squirrelbattle/tests/translations_test.py:31
|
||||
#: squirrelbattle/tests/translations_test.py:35
|
||||
msgid "Secondary key to move left"
|
||||
msgstr "Touche secondaire pour aller vers la gauche"
|
||||
|
||||
#: squirrelbattle/settings.py:27 squirrelbattle/tests/translations_test.py:33
|
||||
#: squirrelbattle/tests/translations_test.py:37
|
||||
msgid "Main key to move right"
|
||||
msgstr "Touche principale pour aller vers la droite"
|
||||
|
||||
#: squirrelbattle/settings.py:29 squirrelbattle/tests/translations_test.py:35
|
||||
#: squirrelbattle/tests/translations_test.py:39
|
||||
msgid "Secondary key to move right"
|
||||
msgstr "Touche secondaire pour aller vers la droite"
|
||||
|
||||
#: squirrelbattle/settings.py:30 squirrelbattle/tests/translations_test.py:37
|
||||
#: squirrelbattle/tests/translations_test.py:41
|
||||
msgid "Key to validate a menu"
|
||||
msgstr "Touche pour valider un menu"
|
||||
|
||||
#: squirrelbattle/settings.py:31 squirrelbattle/tests/translations_test.py:39
|
||||
#: squirrelbattle/tests/translations_test.py:43
|
||||
msgid "Texture pack"
|
||||
msgstr "Pack de textures"
|
||||
|
||||
#: squirrelbattle/settings.py:32 squirrelbattle/tests/translations_test.py:40
|
||||
#: squirrelbattle/tests/translations_test.py:44
|
||||
msgid "Language"
|
||||
msgstr "Langue"
|
||||
|
||||
#: squirrelbattle/interfaces.py:407 squirrelbattle/interfaces.py:412
|
||||
#, python-brace-format
|
||||
msgid "{name} dies."
|
||||
msgstr "{name} meurt."
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:47
|
||||
msgid "player"
|
||||
msgstr "joueur"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:49
|
||||
msgid "tiger"
|
||||
msgstr "tigre"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:50
|
||||
msgid "hedgehog"
|
||||
msgstr "hérisson"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:51
|
||||
msgid "rabbit"
|
||||
msgstr "lapin"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:52
|
||||
msgid "teddy bear"
|
||||
msgstr "nounours"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:54
|
||||
msgid "bomb"
|
||||
msgstr "bombe"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:55
|
||||
msgid "heart"
|
||||
msgstr "cœur"
|
@ -3,6 +3,7 @@
|
||||
|
||||
import gettext as gt
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
from typing import Any, List
|
||||
|
||||
|
||||
@ -19,7 +20,7 @@ class Translator:
|
||||
for language in SUPPORTED_LOCALES:
|
||||
translators[language] = gt.translation(
|
||||
"squirrelbattle",
|
||||
localedir="locale",
|
||||
localedir=Path(__file__).parent / "locale",
|
||||
languages=[language],
|
||||
)
|
||||
|
||||
@ -38,10 +39,11 @@ class Translator:
|
||||
return cls.translators.get(cls.locale)
|
||||
|
||||
@classmethod
|
||||
def makemessages(cls) -> None:
|
||||
def makemessages(cls) -> None: # pragma: no cover
|
||||
for language in cls.SUPPORTED_LOCALES:
|
||||
args = ["find", "squirrelbattle/", "-iname", "*.py"]
|
||||
find = subprocess.Popen(args, stdout=subprocess.PIPE)
|
||||
args = ["find", "squirrelbattle", "-iname", "*.py"]
|
||||
find = subprocess.Popen(args, cwd=Path(__file__).parent.parent,
|
||||
stdout=subprocess.PIPE)
|
||||
args = ["xargs", "xgettext", "--from-code", "utf-8",
|
||||
"--join-existing",
|
||||
"--add-comments",
|
||||
@ -50,16 +52,19 @@ class Translator:
|
||||
"--copyright-holder=ÿnérant, eichhornchen, "
|
||||
"nicomarg, charlse",
|
||||
"--msgid-bugs-address=squirrel-battle@crans.org",
|
||||
"-o", f"locale/{language}/LC_MESSAGES/squirrelbattle.po"]
|
||||
"-o", Path(__file__).parent / "locale" / language
|
||||
/ "LC_MESSAGES" / "squirrelbattle.po"]
|
||||
print(f"Make {language} messages...")
|
||||
subprocess.Popen(args, stdin=find.stdout)
|
||||
|
||||
@classmethod
|
||||
def compilemessages(cls) -> None:
|
||||
def compilemessages(cls) -> None: # pragma: no cover
|
||||
for language in cls.SUPPORTED_LOCALES:
|
||||
args = ["msgfmt", "--check-format",
|
||||
"-o", f"locale/{language}/LC_MESSAGES/squirrelbattle.mo",
|
||||
f"locale/{language}/LC_MESSAGES/squirrelbattle.po"]
|
||||
"-o", Path(__file__).parent / "locale" / language
|
||||
/ "LC_MESSAGES" / "squirrelbattle.mo",
|
||||
Path(__file__).parent / "locale" / language
|
||||
/ "LC_MESSAGES" / "squirrelbattle.po"]
|
||||
print(f"Compiling {language} messages...")
|
||||
subprocess.Popen(args)
|
||||
|
||||
|
Reference in New Issue
Block a user