X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=music_sampler%2Fhelpers.py;h=2199058cf58555b9ce2a3aec67d2da94340d1fb7;hb=6a3271735186a2b4d3c500f4f60c0c03a12bdd2f;hp=2249746a5a928cf2c416915a0b587c6b10b704d8;hpb=7d6df771f603e9642047264f967525422ef09e99;p=perso%2FImmae%2FProjets%2FPython%2FMusicSampler.git diff --git a/music_sampler/helpers.py b/music_sampler/helpers.py index 2249746..2199058 100644 --- a/music_sampler/helpers.py +++ b/music_sampler/helpers.py @@ -5,6 +5,8 @@ import os import math import sounddevice as sd import logging +import gettext +gettext.install('music_sampler') Logger = logging.getLogger("kivy") from . import sysfont @@ -66,71 +68,76 @@ def parse_args(): sys.argv.extend(["-c", "kivy:log_name:/tmp/music_sampler_%_.txt"]) parser = argparse.ArgumentParser( - description="A Music Sampler application.", + description=_("A Music Sampler application."), formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument("-c", "--config", default="config.yml", required=False, - help="Config file to load") + help=_("Config file to load")) parser.add_argument("-p", "--music-path", default=".", required=False, - help="Folder in which to find the music files") + help=_("Folder in which to find the music files")) parser.add_argument("-d", "--debug", nargs=0, action=DebugModeAction, - help="Print messages in console") + help=_("Print messages in console")) parser.add_argument("-m", "--builtin-mixing", action="store_true", - help="Make the mixing of sounds manually\ - (do it if the system cannot handle it correctly)") + help=_("Make the mixing of sounds manually\ + (do it if the system cannot handle it correctly)")) parser.add_argument("-l", "--latency", default="high", required=False, - help="Latency: low, high or number of seconds") + help=_("Latency: low, high or number of seconds")) parser.add_argument("-b", "--blocksize", default=0, type=int, required=False, - help="Blocksize: If not 0, the number of frames to take\ - at each step for the mixer") + help=_("Blocksize: If not 0, the number of frames to take\ + at each step for the mixer")) parser.add_argument("-f", "--frame-rate", default=44100, type=int, required=False, - help="Frame rate to play the musics") + help=_("Frame rate to play the musics")) parser.add_argument("-x", "--channels", default=2, type=int, required=False, - help="Number of channels to use") + help=_("Number of channels to use")) parser.add_argument("-s", "--sample-width", default=2, type=int, required=False, - help="Sample width (number of bytes for each frame)") + help=_("Sample width (number of bytes for each frame)")) parser.add_argument("-V", "--version", action="version", - help="Displays the current version and exits. Only use\ - in bundled package", + help=_("Displays the current version and exits. Only use\ + in bundled package"), version=show_version()) parser.add_argument("--device", action=SelectDeviceAction, - help="Select this sound device" + help=_("Select this sound device") ) parser.add_argument("--list-devices", nargs=0, action=ListDevicesAction, - help="List available sound devices" + help=_("List available sound devices") ) parser.add_argument("--no-focus-warning", action='store_true', - help="Don't show warning when focus is lost" + help=_("Don't show warning when focus is lost") + ) + parser.add_argument("-L", "--language", + required=False, + default="fr", + help=_("Select another language") ) parser.add_argument('--', dest="args", - help="Kivy arguments. All arguments after this are interpreted\ - by Kivy. Pass \"-- --help\" to get Kivy's usage.") + help=_("Kivy arguments. All arguments after this are interpreted\ + by Kivy. Pass \"-- --help\" to get Kivy's usage.")) args = parser.parse_args(argv) @@ -143,6 +150,10 @@ def parse_args(): Config.sample_width = args.sample_width Config.builtin_mixing = args.builtin_mixing Config.no_focus_warning = args.no_focus_warning + if args.language != 'en': + gettext.translation("music_sampler", + localedir=path() + '/locales', + languages=[args.language]).install() if args.music_path.endswith("/"): Config.music_path = args.music_path else: @@ -167,7 +178,7 @@ def show_version(): with open(path() + ".pyinstaller_commit", "r") as f: return f.read() else: - return "option '-v' can only be used in bundled package" + return _("option '-V' can only be used in bundled package") def duration_to_min_sec(duration): minutes = int(duration / 60)