diff --git a/.gitignore b/.gitignore index f9a81d4..5486839 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -TF2CDownloader.spec +tf2c_downloader.spec build dist __pycache__ diff --git a/gui.py b/gui.py index 842cc03..1058ee7 100644 --- a/gui.py +++ b/gui.py @@ -3,12 +3,10 @@ asking questions, generally handling any sort of communication or interactivity with the user. """ -from os import environ, makedirs, path, rmdir +import os from sys import exit from time import sleep from rich import print -from lang import lang - def message(msg, delay = 0): """ @@ -18,30 +16,32 @@ def message(msg, delay = 0): print("[bold yellow]" + msg) sleep(delay) -def message_yes_no(msg, default = None): +def message_yes_no(msg): """ Show a message to user and get yes/no answer. """ - valid = lang["prompt_valid"] - prompt = lang["prompt_prompt"][default] - msg += prompt + # dont know for now how to make it properly, leaving all of pain to future-me + valid_yes = _("yes y").split() + valid_no = _("no n").split() + prompt = _("{y/n}") + msg += ' ' + prompt while True: print(msg) choice = input().lower() - if default is not None and choice == "": - return valid[default] - elif choice in valid: - return valid[choice] + if choice in valid_yes: + return True + elif choice in valid_no: + return False else: - print(lang["prompt_invalid"]) + print("[bold blue]" + _("Please respond with 'yes' or 'no' (or 'y' or 'n').") + "[/bold blue]") def message_input(msg): """ Show a message and get input from user. """ - return input(msg + ' >') + return input(msg + ' > ') def message_dir(msg): """ @@ -50,25 +50,20 @@ def message_dir(msg): while True: dir = input(msg + ": ") if dir.count("~") > 0: - dir = path.expanduser(dir) + dir = os.path.expanduser(dir) if dir.count("$") > 0: - dir = path.expandvars(dir) - if path.isdir(dir): - return dir - try: - makedirs(dir) - rmdir(dir) + dir = os.path.expandvars(dir) + if os.path.isdir(dir): return dir - except Exception: - pass + message(_("The specified extraction location does not exist.")) def message_end(msg, code): """ Show a message and exit. """ print("[bold green]" + msg) - if environ.get("WT_SESSION"): - print(lang["exit_safe"]) + if os.environ.get("WT_SESSION"): + print("[bold]" + _("You are safe to close this window.")) else: - input(lang["exit"]) + input(_("Press Enter to exit.")) exit(code) diff --git a/install.py b/install.py index 945356d..e8af8c5 100644 --- a/install.py +++ b/install.py @@ -5,9 +5,8 @@ """ from os import path from platform import system -from shutil import disk_usage, rmtree +from shutil import disk_usage from subprocess import run -from lang import lang import gui import vars @@ -22,17 +21,15 @@ def free_space_check(): minimum_free_download_bytes = 4831838208 minimum_free_install_bytes = 12884901888 if disk_usage(vars.TEMP_PATH)[2] < minimum_free_download_bytes: - gui.message_end(lang["free_space_download"], 1) - if not path.isdir(vars.INSTALL_PATH): - gui.message_end(lang["location_doesnt_exist"], 1) + gui.message_end(_("You don't have enough free space to download TF2 Classic. A minimum of 4.5GB on your primary drive is required."), 1) elif disk_usage(vars.INSTALL_PATH)[2] < minimum_free_install_bytes: - gui.message_end(lang["free_space_extract"], 1) + gui.message_end(_("You don't have enough free space to extract TF2 Classic. A minimum of 12GB at your chosen extraction site is required."), 1) def tf2c_download(): """ Download TF2C archive. """ - gui.message(lang["starting_download"], 3) + gui.message(_("Starting the download for TF2 Classic... You may see some errors that are safe to ignore."), 3) run([vars.ARIA2C_BINARY, '--max-connection-per-server=16', '-UTF2CDownloaderGit', '--max-concurrent-downloads=16', '--optimize-concurrent-downloads=true', '--check-certificate=false', '--check-integrity=true', '--auto-file-renaming=false', '--continue=true', '--console-log-level=error', '--summary-interval=0', '--bt-hash-check-seed=false', '--seed-time=0', '-d' + vars.TEMP_PATH, 'https://wiki.tf2classic.com/misc/tf2classic-latest-zst.meta4'], check=True) @@ -41,7 +38,7 @@ def tf2c_extract(): """ Extract archive and delete it. """ - gui.message(lang["starting_extract"], 1) + gui.message(_("Extracting the downloaded archive, please wait patiently."), 1) if system() == 'Windows': run([vars.ARC_BINARY, '-overwrite', 'unarchive', path.join(vars.TEMP_PATH, 'tf2classic.tar.zst'), vars.INSTALL_PATH], check=True) else: diff --git a/lang.py b/lang.py deleted file mode 100644 index 53f95aa..0000000 --- a/lang.py +++ /dev/null @@ -1,26 +0,0 @@ -from langs.en import en -from langs.fr import fr -from langs.es import es -from langs.it import it -from langs.el import el -from langs.hu import hu -from langs.pl import pl -import locale - -langs = { - "en": en, - "fr": fr, - "es": es, - "it": it, - "el": el, - "hu": hu, - "pl": pl -} - -lang = langs["en"] - -locale = locale.getdefaultlocale()[0] -if locale in langs: - lang.update(langs[locale]) -elif locale.split("_")[0] in langs: - lang.update(langs[locale.split("_")[0]]) \ No newline at end of file diff --git a/langs/el.py b/langs/el.py deleted file mode 100644 index 15537a2..0000000 --- a/langs/el.py +++ /dev/null @@ -1,35 +0,0 @@ -el = { - "running_background": "Απο ότι φαίνεται λειτουργούμε στο παρασκήνιο. Δέν το θέλουμε αυτό, οπότε σταματάμε.", - - "exception_line": "[italic magenta]----- Λεπτομέρειες της εξαίρεσης πάνω απο αυτήν την γραμμή -----", - "exception": "[bold red]:warning: Το πρόγραμμα απέτυχε. Στείλτε ένα στιγμιότυπο οθόνης στο #technical-issues στο Discord (μόνο σε Αγγλικά). :warning:[/bold red]", - "exit_safe": "[bold]Μπορείτε να κλείσετε το παράθυρο.", - "exit": "Πατήστε Enter για έξοδο.", - - "prompt_valid": {"yes": True, "y": True, "no": False, "n": False, "ναι": True, "ν": True, "οχι": False, "ο": False}, # all possible choices (yes or no) - "prompt_prompt": {None: " {ν/ο}", "y": " {Ν/ο}", "n": " {ν/Ο}"}, # only replace the "{y/n}" parts. uppercase means "by default" - "prompt_invalid": "[bold blue]Παρακαλώ απαντήστε με 'ναι' ή 'οχι' (ή 'ν' ή 'ο').[/bold blue]", - - "setup_found": "Ο Sourcemods φάκελος βρέθηκε αυτόματα στην θέση: %s", - "setup_found_question": "Είναι η συνιστώμενη θέση εγκατάστασης. Θέλετε να εγκαταστήσετε το TF2 Classic εκεί;", - "setup_not_found": "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Ο Sourcemods φάκελος του Steam δέν βρέθηκε, ή επιλέξατε να μην το χρησιμοποιήσετε.", - "setup_not_found_question": "Θέλετε να αποσυμπιέσετε στο %s; Θα πρέπει να το μετακινήσετε στον φάκελο sourcemods χειροκίνητα.", - "setup_input": "Παρακαλώ, εισαγάγετε τη θέση στην οποία θα εγκατασταθεί το TF2 Classic.\n", - "setup_accept": "Το TF2 Classic θα εγκατασταθεί στην θέση %s\nΔέχεστε;", - "setup_reset": "Επαναφορά...\n", - - "setup_missing_aria2": "Θα χρειαστεί να εγκαταστήσετε το Aria2 για να χρησιμοποιήσετε αυτό το πρόγραμμα.", - "setup_missing_zstd": "Θα χρειαστεί να εγκαταστήσετε το Zstd για να χρησιμοποιήσετε αυτό το πρόγραμμα.", - - "free_space_download": "Δέν έχετε αρκετό ελεύθερο χώρο για να κατεβάσετε το TF2 Classic. Απαιτείται τουλάχιστον 4,5 GB στον κύριο δίσκο σας.", - "free_space_extract": "Δέν έχετε αρκετό ελεύθερο χώρο για να αποσυμπιέσετε το TF2 Classic. Απαιτείται τουλάχιστον 12 GB στην επιλεγμένη τοποθεσία αποσυμπίεσης.", - "location_doesnt_exist": "Η καθορισμένη θέση αποσυμπίεσης δεν υπάρχει", - - "starting_download": "Έναρξη της λήψης για το TF2 Classic... Ενδέχεται να δείτε ορισμένα σφάλματα τα οποία μπορείτε να αγνοήσετε.", - "starting_extract": "Αποσυμπίεση του ληφθέντος αρχείου, παρακαλώ περιμένετε.", - - "troubleshoot_blacklist": "Εφαρμογή μαύρης λίστας ασφαλείας...", - "troubleshoot_blacklist_fail": "WARNING: αδυναμία εφαρμογής μαύρης λίστας ασφαλείας.", - - "success": "Η εγκατάσταση ολοκληρώθηκε με επιτυχία. Μήν ξεχάσετε να επανεκκινήσετε το Steam!", -} \ No newline at end of file diff --git a/langs/en.py b/langs/en.py deleted file mode 100644 index c6faa81..0000000 --- a/langs/en.py +++ /dev/null @@ -1,35 +0,0 @@ -en = { - "running_background": "Looks like we're running in the background. We don't want that, so we're exiting.", - - "exception_line": "[italic magenta]----- Exception details above this line -----", - "exception": "[bold red]:warning: The program has failed. Post a screenshot in #technical-issues on the Discord. :warning:[/bold red]", - "exit_safe": "[bold]You are safe to close this window.", - "exit": "Press Enter to exit.", - - "prompt_valid": {"yes": True, "y": True, "no": False, "n": False}, # all possible choices (yes or no) - "prompt_prompt": {None: " {y/n}", "y": " {Y/n}", "n": " {y/N}"}, # only replace the "{y/n}" parts. uppercase means "by default" - "prompt_invalid": "[bold blue]Please respond with 'yes' or 'no' (or 'y' or 'n').[/bold blue]", - - "setup_found": "Sourcemods folder was automatically found at: %s", - "setup_found_question": "It's the recommended installation location. Would you like to install TF2 Classic there?", - "setup_not_found": "WARNING: Steam's sourcemods folder has not been found, or you chose not to use it.", - "setup_not_found_question": "Would you like to extract in %s? You must move it to your sourcemods manually.", - "setup_input": "Please, enter the location in which TF2 Classic will be installed to.\n", - "setup_accept": "TF2 Classic will be installed in %s\nDo you accept?", - "setup_reset": "Reinitialising...\n", - - "setup_missing_aria2": "You need to install Aria2 to use this script.", - "setup_missing_zstd": "You need to install Zstd to use this script.", - - "free_space_download": "You don't have enough free space to download TF2 Classic. A minimum of 4.5GB on your primary drive is required.", - "free_space_extract": "You don't have enough free space to extract TF2 Classic. A minimum of 12GB at your chosen extraction site is required.", - "location_doesnt_exist": "The specified extraction location does not exist.", - - "starting_download": "Starting the download for TF2 Classic... You may see some errors that are safe to ignore.", - "starting_extract": "Extracting the downloaded archive, please wait patiently.", - - "troubleshoot_blacklist": "Applying safety blacklist...", - "troubleshoot_blacklist_fail": "WARNING: could not apply safety blacklist.", - - "success": "The installation has successfully completed. Remember to restart Steam!", -} \ No newline at end of file diff --git a/langs/es.py b/langs/es.py deleted file mode 100644 index dc8adc6..0000000 --- a/langs/es.py +++ /dev/null @@ -1,35 +0,0 @@ -es = { - "running_background": "Parece que estamos corriendo en segundo plano. No queremos eso, así que vamos a salir", - - "exception_line": "[italic magenta]----- Detalles de la excepción arriba de esta línea -----", - "exception": "[bold red]:warning: El programa ha fallado. Publique una captura de pantalla en #technical-issues en Discord (solo en inglés). :warning:[/bold red]", - "exit_safe": "[bold]Puede cerrar esta ventana.", - "exit": "Presiona Enter para salir.", - - "prompt_valid": {"yes": True, "y": True, "si": True, "sí": True, "s": True, "no": False, "n": False}, # all possible choices (yes or no) - "prompt_prompt": {None: " {s/n}", "y": " {S/n}", "n": " {s/N}"}, # only replace the "{y/n}" parts. uppercase means "by default" - "prompt_invalid": "[bold blue]Por favor, responda con 'sí' o 'no' (o 's' o 'n').[/bold blue]", - - "setup_found": "La carpeta Sourcemods se encontró automáticamente en: %s", - "setup_found_question": "Es la ubicación de instalación recomendada. ¿Le gustaría instalar TF2 Classic allí?", - "setup_not_found": "ADVERTENCIA: No se ha encontrado la carpeta sourcemods de Steam o usted decidió no usarla.", - "setup_not_found_question": "¿Te gustaría extraer en %s? Debes moverlo a tus sourcemods manualmente.", - "setup_input": "Por favor, ingrese la ubicación en la que se instalará TF2 Classic.\n", - "setup_accept": "TF2 Classic se instalará en %s\n¿Aceptas?", - "setup_reset": "Restableciendo...\n", - - "setup_missing_aria2": "Necesitas instalar Aria2 para usar este script.", - "setup_missing_zstd": "Necesitas instalar Zstd para usar este script.", - - "free_space_download": "No tienes suficiente espacio libre para descargar TF2 Classic. Se requiere un mínimo de 4.5GB en tu disco principal.", - "free_space_extract": "No tienes suficiente espacio libre para extraer TF2 Classic. Se requiere un mínimo de 12GB en el sitio de extracción elegido.", - "location_doesnt_exist": "La ubicación de extracción especificada no existe.", - - "starting_download": "Iniciando la descarga de TF2 Classic... Es posible que veas algunos errores que puedes ignorar.", - "starting_extract": "Extrayendo el archivo descargado, espere pacientemente.", - - "troubleshoot_blacklist": "Aplicando lista negra de seguridad…", - "troubleshoot_blacklist_fail": "ADVERTENCIA: no se pudo aplicar la lista negra de seguridad.", - - "success": "La instalación se completó con éxito. ¡Recuerda reiniciar Steam!", -} \ No newline at end of file diff --git a/langs/fr.py b/langs/fr.py deleted file mode 100644 index 35bd369..0000000 --- a/langs/fr.py +++ /dev/null @@ -1,35 +0,0 @@ -fr = { - "running_background": "On dirait qu'on est en train de tourner en arrière plan. On ne veut pas ça, donc on sort.", - - "exception_line": "[italic magenta]----- Détails des exceptions au dessus de cette ligne -----", - "exception": "[bold red]:warning: Le programme a échoué. Postez un screenshot dans #technical-issues sur le Discord (en anglais seulement). :warning:[/bold red]", - "exit_safe": "[bold]Vous pouvez fermer cette fenêtre.", - "exit": "Appuyez sur Entrée pour sortir.", - - "prompt_valid": {"yes": True, "y": True, "no": False, "oui": True, "o": True, "non": False, "n": False}, # all possible choices (yes or no) - "prompt_prompt": {None: " {o/n}", "y": " {O/n}", "n": " {o/N}"}, # only replace the "{y/n}" parts. uppercase means "by default" - "prompt_invalid": "[bold blue]Répondez avec 'oui' ou 'non' ('o' ou 'n').[/bold blue]", - - "setup_found": "Le dossier sourcemods a été automatiquement trouvé ici : %s", - "setup_found_question": "C'est l'endroit d'installation recommendé. Voulez-vous installer TF2 Classic ici ?", - "setup_not_found": "ATTENTION : Le dossier sourcemods de Steam n'a pas été trouvé, ou alors vous avez choisi de ne pas l'utiliser.", - "setup_not_found_question": "Voulez-vous l'extraire dans %s ? Vous devez ensuite le déplacer dans votre dossier sourcemods manuellement.", - "setup_input": "Veuillez entrez l'emplacement du dossier où va être installer TF2 Classic.\n", - "setup_accept": "TF2 Classic va être installer ici : %s\nEs-ce que vous acceptez ?", - "setup_reset": "Réinitialisation...\n", - - "setup_missing_aria2": "Vous devez installer Aria2 pour utiliser ce script.", - "setup_missing_zstd": "Vous devez installer Zstd pour utiliser ce script.", - - "free_space_download": "Vous n'avez pas assez d'espace libre pour télécharger TF2 Classic. Vous devez avoir 4,5 Go de libre au minimum sur votre disque dur principale.", - "free_space_extract": "Vous n'avez pas assez d'espace libre pour extraire TF2 Classic. Vous devez avoir 12 Go de libre au minimum sur l'emplacement d'installation.", - "location_doesnt_exist": "L'emplacement d'extraction spécifié n'existe pas.", - - "starting_download": "Téléchargement de TF2 Classic... Vous pouvez voir certaines erreurs qui peuvent être parfaitement ignorées.", - "starting_extract": "Extraction de l'archive téléchargée, veuillez patentier.", - - "troubleshoot_blacklist": "Application de la liste noir de sécurité...", - "troubleshoot_blacklist_fail": "ATTENTION : impossible d'appliquer la liste noir de sécurité.", - - "success": "L'installation est terminée. N'oubliez pas de redémarrer Steam !", -} \ No newline at end of file diff --git a/langs/hu.py b/langs/hu.py deleted file mode 100644 index 3cb6d78..0000000 --- a/langs/hu.py +++ /dev/null @@ -1,35 +0,0 @@ -hu = { - "running_background": "Úgy néz ki, hogy a háttérben futtatod a programot. Ezt mi nem akarjuk, szóval kilépünk.", - - "exception_line": "[italic magenta]----- Kifogás részletei e sor fölött -----", - "exception": "[bold red]:warning: A program sikertelen. Készíts egy képernyőképet és küld el a #technical-issues csatornába a hivatalos Discord szerveren (de csak angolul). :warning:[/bold red]", - "exit_safe": "[bold]Mostmár biztonságban bezárhatod ezt az ablakot.", - "exit": "Kilépéshez nyomd meg az Enter billentyűt.", - - "prompt_valid": {"yes": True, "y": True, "no": False, "igen": True, "i": True, "nem": False, "n": False}, # all possible choices (yes or no) - "prompt_prompt": {None: " {i/n}", "y": " {I/n}", "n": " {i/N}"}, # only replace the "{y/n}" parts. uppercase means "by default" - "prompt_invalid": "[bold blue]Válaszolj kérlek egy 'igen' vagy 'nem'-mel (vagy 'i' vagy 'n').[/bold blue]", - - "setup_found": "A sourcemods mappa automatikusan meglelve itt: %s", - "setup_found_question": "Ez a javasolt telepítési hely. Szeretnéd oda telepíteni a TF2 Classic-ot?", - "setup_not_found": "FIGYELEM: Nem lett megtalálva a Steam sourcemods mappája, vagy te döntöttél úgy, hogy nem használod azt.", - "setup_not_found_question": "Szeretnéd ide kicsomagolni: %s? Sajátkezüleg kell majd betenned a sourcemods mappádba.", - "setup_input": "Add meg a helyet ahova szeretnéd a TF2 Classic-ot telepíteni.\n", - "setup_accept": "A TF2 Classic ide lesz telepítve: %s\nElfogadod?", - "setup_reset": "Újrainicializálás...\n", - - "setup_missing_aria2": "Ehhez a script-hez a következőt kell telepítened: Aria2.", - "setup_missing_zstd": "Ehhez a script-hez a következőt kell telepítened: Zstd.", - - "free_space_download": "Nincs elég tárhelyed, hogy letöltsd a TF2 Classic-ot. 4.5GB minimum tárhely szükséges az elsődleges merevlemezeden.", - "free_space_extract": "Nincs elég tárhelyed, hogy kicsomagold a TF2 Classic-ot. 12GB minimum tárhely szükséges az általad választott kicsomagolási helyen.", - "location_doesnt_exist": "A meghatározott kicsomagolási hely nem létezik.", - - "starting_download": "TF2 Classic letöltésének megkezdése... Lehet, hogy látsz néhány hibát amit nyugodtan mellőzhetsz.", - "starting_extract": "A letöltött archívum kicsomagolása, kérlek várj türelemmel.", - - "troubleshoot_blacklist": "Biztonsági feketelistára helyezés...", - "troubleshoot_blacklist_fail": "FIGYELEM: sikertelen biztonsági feketelistára helyezés.", - - "success": "A telepítés sikeres. Ne felejtsd újraindítani a Steam-et!", -} \ No newline at end of file diff --git a/langs/it.py b/langs/it.py deleted file mode 100644 index 2132f87..0000000 --- a/langs/it.py +++ /dev/null @@ -1,35 +0,0 @@ -it = { - "running_background": "Sembra che stiamo lavorando in background. Non lo vogliamo, quindi stiamo uscendo.", - - "exception_line": "[italic magenta]----- Dettagli dell'eccezione sopra questa riga -----", - "exception": "[bold red]:warning: Il programma ha fallito. Posta uno screenshot su #technical-issues nel Discord (in inglese soltanto). :warning:[/bold red]", - "exit_safe": "[bold]È possibile chiudere questa finestra.", - "exit": "Premi Enter per uscire.", - - "prompt_valid": {"yes": True, "y": True, "sì": True, "si": True, "s": True, "no": False, "n": False}, # all possible choices (yes or no) - "prompt_prompt": {None: " {s/n}", "y": " {S/n}", "n": " {s/N}"}, # only replace the "{y/n}" parts. uppercase means "by default" - "prompt_invalid": "[bold blue]Per favore, rispondi con 'sì' o 'no' (o 's' o 'n').[/bold blue]", - - "setup_found": "La cartella sourcemods fu trovata automaticamente in: %s", - "setup_found_question": "È la posizione di installazione consigliata. Desideri installare TF2 Classic lì?", - "setup_not_found": "ATTENZIONE: La cartella sourcemods di Steam non è stata trovata, oppure hai scelto di non usarla.", - "setup_not_found_question": "Desideri estrarre in %s? Devi spostarlo manualmente sui tuoi sourcemods.", - "setup_input": "Per favore, inserire la posizione in cui verrà installato TF2 Classic.\n", - "setup_accept": "TF2 Classic sarà installato in %s\nAccetti?", - "setup_reset": "Reinstallazione...\n", - - "setup_missing_aria2": "Hai bisogno di installare Aria2 per usare questo script.", - "setup_missing_zstd": "Hai bisogno di installare Zstd per usare questo script.", - - "free_space_download": "Non hai abbastanza spazio libero per scaricare TF2 Classic. È richiesto un minimo di 4,5 GB sull'unità principale.", - "free_space_extract": "Non hai abbastanza spazio libero per estrarre TF2 Classic. È richiesto un minimo di 12 GB nel sito di estrazione scelto.", - "location_doesnt_exist": "Il percorso di estrazione specificato non esiste.", - - "starting_download": "Avvio del download per TF2 Classic... È possibile che vengano visualizzati alcuni errori che è possibile ignorare.", - "starting_extract": "Estrazione dell'archivio scaricato, attendi pazientemente.", - - "troubleshoot_blacklist": "Applicando la lista nera di sicurezza...", - "troubleshoot_blacklist_fail": "ATTENZIONE: impossibile applicare la lista nera di sicurezza.", - - "success": "L'installazione è stata completata con successo. Ricorda di riavviare Steam!", -} \ No newline at end of file diff --git a/langs/pl.py b/langs/pl.py deleted file mode 100644 index 868b22f..0000000 --- a/langs/pl.py +++ /dev/null @@ -1,35 +0,0 @@ -pl = { - "running_background": "Wygląda na to, że ten proces działa w tle. Instalacja może przejść niepoprawnie, zatem proces ten zostanie przerwany.", - - "exception_line": "[italic magenta]----- Szczegóły wyjątków znajdują się powyżej tej linii -----", - "exception": "[bold red]:warning: Program został niespodziewanie zatrzymany. Prosimy zamieścić zrzut ekranu na Discordzie w sekcji #technical-issues (tylko po angielsku). :warning:[/bold red]", - "exit_safe": "[bold]Można bezpiecznie zamknąć to okno.", - "exit": "Wciśnij Enter by zakończyć.", - - "prompt_valid": {"yes": True, "y": True, "no": False, "tak": True, "t": True, "nie": False, "n": False}, # all possible choices (yes or no) - "prompt_prompt": {None: " {t/n}", "y": " {T/n}", "n": " {t/N}"}, # only replace the "{y/n}" parts. uppercase means "by default" - "prompt_invalid": "[bold blue]Prosimy odpowiedzieć poleceniem 'tak' lub 'nie' (albo 't' lub 'n').[/bold blue]", - - "setup_found": "Automatycznie znaleziono folder sourcemods w: %s", - "setup_found_question": "Jest to zalecane miejsce instalacji. Czy w tym miejscu ma zostać zainstalowany TF2 Classic?", - "setup_not_found": "UWAGA: Folder Steama \"sourcemods\" nie został znaleziony, lub zrezygnowano z jego użycia.", - "setup_not_found_question": "Czy rozpakować pliki w %s? Po wypakowaniu należy własnoręcznie przenieść całą zawartość do pliku sourcemods.", - "setup_input": "Proszę wprowadzić lokalizację, w której zostanie zainstalowane TF2 Classic.\n", - "setup_accept": "TF2 Classic zostanie zainstalowane w %s\nAkceptować?", - "setup_reset": "Ponowna incjalizacja...\n", - - "setup_missing_aria2": "Do uruchomienia tego skryptu wymagane jest zainstalowanie: Aria2.", - "setup_missing_zstd": "Do uruchomienia tego skryptu wymagane jest zainstalowanie: Zstd.", - - "free_space_download": "Brak wolnego miejsca do pobrania TF2 Classic. Wymagane jest minimum 4.5 GB na dysku głównym.", - "free_space_extract": "Brak wolnego miejsca do rozpakowania TF2 Classic. Wymagane jest minimum 12 GB w wybranym miejscu wydobycia.", - "location_doesnt_exist": "Określona lokalizacja rozpakowania nie istnieje.", - - "starting_download": "Rozpoczęcie pobierania gry TF2 Classic... W trakcie procesu pojawią się błędy, które możn zignorować.", - "starting_extract": "Rozpakowywanie pobranego archiwum, prosimy cierpliwie poczekać.", - - "troubleshoot_blacklist": "Stosowanie czarnej listy bezpieczeństwa...", - "troubleshoot_blacklist_fail": "UWAGA: Nie można zastosować czarnej listy bezpieczeństwa.", - - "success": "Instalacja przebiegła pomyślnie. Prosimy pamiętać o zrestartowaniu Steama!", -} \ No newline at end of file diff --git a/locale/el/LC_MESSAGES/tf2c_downloader.mo b/locale/el/LC_MESSAGES/tf2c_downloader.mo new file mode 100644 index 0000000..b16af4f Binary files /dev/null and b/locale/el/LC_MESSAGES/tf2c_downloader.mo differ diff --git a/locale/el/LC_MESSAGES/tf2c_downloader.po b/locale/el/LC_MESSAGES/tf2c_downloader.po new file mode 100644 index 0000000..0f96670 --- /dev/null +++ b/locale/el/LC_MESSAGES/tf2c_downloader.po @@ -0,0 +1,166 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2022-08-02 18:36+0300\n" +"PO-Revision-Date: 2022-08-02 19:56+0300\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.3\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: el\n" + +# Possible agreeing answers for yes/no questions. Split by spaces. +#: gui.py:26 +msgid "yes y" +msgstr "y ναι ν" + +# Possible denying answers for yes/no questions. Split by spaces. +#: gui.py:27 +msgid "no n" +msgstr "n οχι ο" + +# Addition to yes/no questions. +#: gui.py:28 +msgid "{y/n}" +msgstr "{ν/ο}" + +#: gui.py:39 +msgid "Please respond with 'yes' or 'no' (or 'y' or 'n')." +msgstr "Παρακαλώ απαντήστε με 'ναι' ή 'οχι' (ή 'ν' ή 'ο')." + +#: gui.py:60 +msgid "The specified extraction location does not exist." +msgstr "Η καθορισμένη θέση αποσυμπίεσης δεν υπάρχει." + +#: gui.py:68 tf2c_downloader.py:59 +msgid "You are safe to close this window." +msgstr "Μπορείτε να κλείσετε το παράθυρο." + +#: gui.py:70 tf2c_downloader.py:61 +msgid "Press Enter to exit." +msgstr "Πατήστε Enter για έξοδο." + +#: install.py:25 +msgid "" +"You don't have enough free space to download TF2 Classic. A minimum of 4.5GB " +"on your primary drive is required." +msgstr "" +"Δέν έχετε αρκετό ελεύθερο χώρο για να κατεβάσετε το TF2 Classic. Απαιτείται " +"τουλάχιστον 4,5 GB στον κύριο δίσκο σας." + +#: install.py:27 +msgid "" +"You don't have enough free space to extract TF2 Classic. A minimum of 12GB " +"at your chosen extraction site is required." +msgstr "" +"Δέν έχετε αρκετό ελεύθερο χώρο για να αποσυμπιέσετε το TF2 Classic. " +"Απαιτείται τουλάχιστον 12 GB στην επιλεγμένη τοποθεσία αποσυμπίεσης." + +#: install.py:33 +msgid "" +"Starting the download for TF2 Classic... You may see some errors that are " +"safe to ignore." +msgstr "" +"Έναρξη της λήψης για το TF2 Classic... Ενδέχεται να δείτε ορισμένα σφάλματα " +"τα οποία μπορείτε να αγνοήσετε." + +#: install.py:42 +msgid "Extracting the downloaded archive, please wait patiently." +msgstr "Αποσυμπίεση του ληφθέντος αρχείου, παρακαλώ περιμένετε." + +# %s is directory. +#: setup.py:58 +msgid "Sourcemods folder was automatically found at: %s" +msgstr "Ο Sourcemods φάκελος βρέθηκε αυτόματα στην θέση: %s" + +#: setup.py:59 +msgid "" +"It's the recommended installation location. Would you like to install TF2 " +"Classic there?" +msgstr "" +"Είναι η συνιστώμενη θέση εγκατάστασης. Θέλετε να εγκαταστήσετε το TF2 " +"Classic εκεί;" + +#: setup.py:62 +#, fuzzy +msgid "WARNING: Steam's sourcemods folder has not been found." +msgstr "" +"ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Ο Sourcemods φάκελος του Steam δέν βρέθηκε, ή επιλέξατε να " +"μην το χρησιμοποιήσετε." + +# %s is directory. +#: setup.py:65 +msgid "" +"Would you like to extract in %s? You must move it to your sourcemods " +"manually." +msgstr "" +"Θέλετε να αποσυμπιέσετε στο %s; Θα πρέπει να το μετακινήσετε στον φάκελο " +"sourcemods χειροκίνητα." + +#: setup.py:68 +msgid "Please, enter the location in which TF2 Classic will be installed to.\n" +msgstr "" +"Παρακαλώ, εισαγάγετε τη θέση στην οποία θα εγκατασταθεί το TF2 Classic.\n" + +# %s is directory. +#: setup.py:69 +msgid "" +"TF2 Classic will be installed in %s\n" +"Do you accept?" +msgstr "" +"Το TF2 Classic θα εγκατασταθεί στην θέση %s\n" +"Δέχεστε;" + +#: setup.py:89 +msgid "You need to install Aria2 to use this script." +msgstr "" +"Θα χρειαστεί να εγκαταστήσετε το Aria2 για να χρησιμοποιήσετε αυτό το " +"πρόγραμμα." + +#: setup.py:93 +msgid "You need to install Zstd to use this script." +msgstr "" +"Θα χρειαστεί να εγκαταστήσετε το Zstd για να χρησιμοποιήσετε αυτό το " +"πρόγραμμα." + +#: tf2c_downloader.py:42 +msgid "" +"Looks like we're running in the background. We don't want that, so we're " +"exiting." +msgstr "" +"Απο ότι φαίνεται λειτουργούμε στο παρασκήνιο. Δέν το θέλουμε αυτό, οπότε " +"σταματάμε." + +#: tf2c_downloader.py:56 +msgid "Exception details above this line" +msgstr "Λεπτομέρειες της εξαίρεσης πάνω απο αυτήν την γραμμή" + +#: tf2c_downloader.py:57 +msgid "" +"The program has failed. Post a screenshot in #technical-issues on the " +"Discord." +msgstr "" +"Το πρόγραμμα απέτυχε. Στείλτε ένα στιγμιότυπο οθόνης στο #technical-issues " +"στο Discord (μόνο σε Αγγλικά)." + +#: tf2c_downloader.py:64 +msgid "The installation has successfully completed. Remember to restart Steam!" +msgstr "" +"Η εγκατάσταση ολοκληρώθηκε με επιτυχία. Μήν ξεχάσετε να επανεκκινήσετε το " +"Steam!" + +#: troubleshoot.py:7 +msgid "Applying safety blacklist..." +msgstr "Εφαρμογή μαύρης λίστας ασφαλείας..." + +#: troubleshoot.py:11 +msgid "WARNING: could not apply safety blacklist." +msgstr "WARNING: αδυναμία εφαρμογής μαύρης λίστας ασφαλείας." diff --git a/locale/en/LC_MESSAGES/tf2c_downloader.mo b/locale/en/LC_MESSAGES/tf2c_downloader.mo new file mode 100644 index 0000000..dbf1502 Binary files /dev/null and b/locale/en/LC_MESSAGES/tf2c_downloader.mo differ diff --git a/locale/en/LC_MESSAGES/tf2c_downloader.po b/locale/en/LC_MESSAGES/tf2c_downloader.po new file mode 100644 index 0000000..42621f0 --- /dev/null +++ b/locale/en/LC_MESSAGES/tf2c_downloader.po @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2022-08-02 18:36+0300\n" +"PO-Revision-Date: 2022-08-02 18:39+0300\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.3\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: en\n" + +#: gui.py:26 +msgid "yes y" +msgstr "yes y" + +#: gui.py:27 +msgid "no n" +msgstr "no n" + +#: gui.py:28 +msgid "{y/n}" +msgstr "{y/n}" + +#: gui.py:39 +msgid "Please respond with 'yes' or 'no' (or 'y' or 'n')." +msgstr "Please respond with 'yes' or 'no' (or 'y' or 'n')." + +#: gui.py:60 +msgid "The specified extraction location does not exist." +msgstr "The specified extraction location does not exist." + +#: gui.py:68 tf2c_downloader.py:59 +msgid "You are safe to close this window." +msgstr "You are safe to close this window." + +#: gui.py:70 tf2c_downloader.py:61 +msgid "Press Enter to exit." +msgstr "Press Enter to exit." + +#: install.py:25 +msgid "" +"You don't have enough free space to download TF2 Classic. A minimum of 4.5GB " +"on your primary drive is required." +msgstr "" +"You don't have enough free space to download TF2 Classic. A minimum of 4.5GB " +"on your primary drive is required." + +#: install.py:27 +msgid "" +"You don't have enough free space to extract TF2 Classic. A minimum of 12GB " +"at your chosen extraction site is required." +msgstr "" +"You don't have enough free space to extract TF2 Classic. A minimum of 12GB " +"at your chosen extraction site is required." + +#: install.py:33 +msgid "" +"Starting the download for TF2 Classic... You may see some errors that are " +"safe to ignore." +msgstr "" +"Starting the download for TF2 Classic... You may see some errors that are " +"safe to ignore." + +#: install.py:42 +msgid "Extracting the downloaded archive, please wait patiently." +msgstr "Extracting the downloaded archive, please wait patiently." + +#: setup.py:58 +msgid "Sourcemods folder was automatically found at: %s" +msgstr "Sourcemods folder was automatically found at: %s" + +#: setup.py:59 +msgid "" +"It's the recommended installation location. Would you like to install TF2 " +"Classic there?" +msgstr "" +"It's the recommended installation location. Would you like to install TF2 " +"Classic there?" + +#: setup.py:62 +msgid "WARNING: Steam's sourcemods folder has not been found." +msgstr "WARNING: Steam's sourcemods folder has not been found." + +#: setup.py:65 +msgid "" +"Would you like to extract in %s? You must move it to your sourcemods " +"manually." +msgstr "" +"Would you like to extract in %s? You must move it to your sourcemods " +"manually." + +#: setup.py:68 +msgid "Please, enter the location in which TF2 Classic will be installed to.\n" +msgstr "" +"Please, enter the location in which TF2 Classic will be installed to.\n" + +#: setup.py:69 +msgid "" +"TF2 Classic will be installed in %s\n" +"Do you accept?" +msgstr "" +"TF2 Classic will be installed in %s\n" +"Do you accept?" + +#: setup.py:89 +msgid "You need to install Aria2 to use this script." +msgstr "You need to install Aria2 to use this script." + +#: setup.py:93 +msgid "You need to install Zstd to use this script." +msgstr "You need to install Zstd to use this script." + +#: tf2c_downloader.py:42 +msgid "" +"Looks like we're running in the background. We don't want that, so we're " +"exiting." +msgstr "" +"Looks like we're running in the background. We don't want that, so we're " +"exiting." + +#: tf2c_downloader.py:56 +msgid "Exception details above this line" +msgstr "Exception details above this line" + +#: tf2c_downloader.py:57 +msgid "" +"The program has failed. Post a screenshot in #technical-issues on the " +"Discord." +msgstr "" +"The program has failed. Post a screenshot in #technical-issues on the " +"Discord." + +#: tf2c_downloader.py:64 +msgid "The installation has successfully completed. Remember to restart Steam!" +msgstr "" +"The installation has successfully completed. Remember to restart Steam!" + +#: troubleshoot.py:7 +msgid "Applying safety blacklist..." +msgstr "Applying safety blacklist..." + +#: troubleshoot.py:11 +msgid "WARNING: could not apply safety blacklist." +msgstr "WARNING: could not apply safety blacklist." diff --git a/locale/es/LC_MESSAGES/tf2c_downloader.mo b/locale/es/LC_MESSAGES/tf2c_downloader.mo new file mode 100644 index 0000000..d28ada3 Binary files /dev/null and b/locale/es/LC_MESSAGES/tf2c_downloader.mo differ diff --git a/locale/es/LC_MESSAGES/tf2c_downloader.po b/locale/es/LC_MESSAGES/tf2c_downloader.po new file mode 100644 index 0000000..7c1ea8b --- /dev/null +++ b/locale/es/LC_MESSAGES/tf2c_downloader.po @@ -0,0 +1,157 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2022-08-02 18:36+0300\n" +"PO-Revision-Date: 2022-08-02 20:07+0300\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.3\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" + +# Possible agreeing answers for yes/no questions. Split by spaces. +#: gui.py:26 +msgid "yes y" +msgstr "y si sí s" + +# Possible denying answers for yes/no questions. Split by spaces. +#: gui.py:27 +msgid "no n" +msgstr "no n" + +# Addition to yes/no questions. +#: gui.py:28 +msgid "{y/n}" +msgstr "{s/n}" + +#: gui.py:39 +msgid "Please respond with 'yes' or 'no' (or 'y' or 'n')." +msgstr "Por favor, responda con 'sí' o 'no' (o 's' o 'n')." + +#: gui.py:60 +msgid "The specified extraction location does not exist." +msgstr "La ubicación de extracción especificada no existe." + +#: gui.py:68 tf2c_downloader.py:59 +msgid "You are safe to close this window." +msgstr "Puede cerrar esta ventana." + +#: gui.py:70 tf2c_downloader.py:61 +msgid "Press Enter to exit." +msgstr "Presiona Enter para salir." + +#: install.py:25 +msgid "" +"You don't have enough free space to download TF2 Classic. A minimum of 4.5GB " +"on your primary drive is required." +msgstr "" +"No tienes suficiente espacio libre para descargar TF2 Classic. Se requiere " +"un mínimo de 4.5GB en tu disco principal." + +#: install.py:27 +msgid "" +"You don't have enough free space to extract TF2 Classic. A minimum of 12GB " +"at your chosen extraction site is required." +msgstr "" +"No tienes suficiente espacio libre para extraer TF2 Classic. Se requiere un " +"mínimo de 12GB en el sitio de extracción elegido." + +#: install.py:33 +msgid "" +"Starting the download for TF2 Classic... You may see some errors that are " +"safe to ignore." +msgstr "" +"Iniciando la descarga de TF2 Classic... Es posible que veas algunos errores " +"que puedes ignorar." + +#: install.py:42 +msgid "Extracting the downloaded archive, please wait patiently." +msgstr "Extrayendo el archivo descargado, espere pacientemente." + +# %s is directory. +#: setup.py:58 +msgid "Sourcemods folder was automatically found at: %s" +msgstr "La carpeta Sourcemods se encontró automáticamente en: %s" + +#: setup.py:59 +msgid "" +"It's the recommended installation location. Would you like to install TF2 " +"Classic there?" +msgstr "" +"Es la ubicación de instalación recomendada. ¿Le gustaría instalar TF2 " +"Classic allí?" + +#: setup.py:62 +msgid "WARNING: Steam's sourcemods folder has not been found." +msgstr "" +"ADVERTENCIA: No se ha encontrado la carpeta sourcemods de Steam o usted " +"decidió no usarla." + +# %s is directory. +#: setup.py:65 +msgid "" +"Would you like to extract in %s? You must move it to your sourcemods " +"manually." +msgstr "" +"¿Te gustaría extraer en %s? Debes moverlo a tus sourcemods manualmente." + +#: setup.py:68 +msgid "Please, enter the location in which TF2 Classic will be installed to.\n" +msgstr "Por favor, ingrese la ubicación en la que se instalará TF2 Classic.\n" + +# %s is directory. +#: setup.py:69 +msgid "" +"TF2 Classic will be installed in %s\n" +"Do you accept?" +msgstr "" +"TF2 Classic se instalará en %s\n" +"¿Aceptas?" + +#: setup.py:89 +msgid "You need to install Aria2 to use this script." +msgstr "Necesitas instalar Aria2 para usar este script." + +#: setup.py:93 +msgid "You need to install Zstd to use this script." +msgstr "Necesitas instalar Zstd para usar este script." + +#: tf2c_downloader.py:42 +msgid "" +"Looks like we're running in the background. We don't want that, so we're " +"exiting." +msgstr "" +"Parece que estamos corriendo en segundo plano. No queremos eso, así que " +"vamos a salir." + +#: tf2c_downloader.py:56 +msgid "Exception details above this line" +msgstr "Detalles de la excepción arriba de esta línea" + +#: tf2c_downloader.py:57 +msgid "" +"The program has failed. Post a screenshot in #technical-issues on the " +"Discord." +msgstr "" +"El programa ha fallado. Publique una captura de pantalla en #technical-" +"issues en Discord (solo en inglés)." + +#: tf2c_downloader.py:64 +msgid "The installation has successfully completed. Remember to restart Steam!" +msgstr "La instalación se completó con éxito. ¡Recuerda reiniciar Steam!" + +#: troubleshoot.py:7 +msgid "Applying safety blacklist..." +msgstr "Aplicando lista negra de seguridad..." + +#: troubleshoot.py:11 +msgid "WARNING: could not apply safety blacklist." +msgstr "ADVERTENCIA: no se pudo aplicar la lista negra de seguridad." diff --git a/locale/fr/LC_MESSAGES/tf2c_downloader.mo b/locale/fr/LC_MESSAGES/tf2c_downloader.mo new file mode 100644 index 0000000..a90a16c Binary files /dev/null and b/locale/fr/LC_MESSAGES/tf2c_downloader.mo differ diff --git a/locale/fr/LC_MESSAGES/tf2c_downloader.po b/locale/fr/LC_MESSAGES/tf2c_downloader.po new file mode 100644 index 0000000..346f7d1 --- /dev/null +++ b/locale/fr/LC_MESSAGES/tf2c_downloader.po @@ -0,0 +1,159 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2022-08-02 18:36+0300\n" +"PO-Revision-Date: 2022-08-02 20:11+0300\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.3\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: fr\n" + +# Possible agreeing answers for yes/no questions. Split by spaces. +#: gui.py:26 +msgid "yes y" +msgstr "y oui o" + +# Possible denying answers for yes/no questions. Split by spaces. +#: gui.py:27 +msgid "no n" +msgstr "non n" + +# Addition to yes/no questions. +#: gui.py:28 +msgid "{y/n}" +msgstr "{o/n}" + +#: gui.py:39 +msgid "Please respond with 'yes' or 'no' (or 'y' or 'n')." +msgstr "Répondez avec 'oui' ou 'non' ('o' ou 'n')." + +#: gui.py:60 +msgid "The specified extraction location does not exist." +msgstr "L'emplacement d'extraction spécifié n'existe pas." + +#: gui.py:68 tf2c_downloader.py:59 +msgid "You are safe to close this window." +msgstr "Vous pouvez fermer cette fenêtre." + +#: gui.py:70 tf2c_downloader.py:61 +msgid "Press Enter to exit." +msgstr "Appuyez sur Entrée pour sortir." + +#: install.py:25 +msgid "" +"You don't have enough free space to download TF2 Classic. A minimum of 4.5GB " +"on your primary drive is required." +msgstr "" +"Vous n'avez pas assez d'espace libre pour télécharger TF2 Classic. Vous " +"devez avoir 4,5 Go de libre au minimum sur votre disque dur principale." + +#: install.py:27 +msgid "" +"You don't have enough free space to extract TF2 Classic. A minimum of 12GB " +"at your chosen extraction site is required." +msgstr "" +"Vous n'avez pas assez d'espace libre pour extraire TF2 Classic. Vous devez " +"avoir 12 Go de libre au minimum sur l'emplacement d'installation." + +#: install.py:33 +msgid "" +"Starting the download for TF2 Classic... You may see some errors that are " +"safe to ignore." +msgstr "" +"Téléchargement de TF2 Classic... Vous pouvez voir certaines erreurs qui " +"peuvent être parfaitement ignorées." + +#: install.py:42 +msgid "Extracting the downloaded archive, please wait patiently." +msgstr "Extraction de l'archive téléchargée, veuillez patentier." + +# %s is directory. +#: setup.py:58 +msgid "Sourcemods folder was automatically found at: %s" +msgstr "Le dossier sourcemods a été automatiquement trouvé ici : %s" + +#: setup.py:59 +msgid "" +"It's the recommended installation location. Would you like to install TF2 " +"Classic there?" +msgstr "" +"C'est l'endroit d'installation recommendé. Voulez-vous installer TF2 Classic " +"ici ?" + +#: setup.py:62 +msgid "WARNING: Steam's sourcemods folder has not been found." +msgstr "" +"ATTENTION : Le dossier sourcemods de Steam n'a pas été trouvé, ou alors vous " +"avez choisi de ne pas l'utiliser." + +# %s is directory. +#: setup.py:65 +msgid "" +"Would you like to extract in %s? You must move it to your sourcemods " +"manually." +msgstr "" +"Voulez-vous l'extraire dans %s ? Vous devez ensuite le déplacer dans votre " +"dossier sourcemods manuellement." + +#: setup.py:68 +msgid "Please, enter the location in which TF2 Classic will be installed to.\n" +msgstr "" +"Veuillez entrez l'emplacement du dossier où va être installer TF2 Classic.\n" + +# %s is directory. +#: setup.py:69 +msgid "" +"TF2 Classic will be installed in %s\n" +"Do you accept?" +msgstr "" +"TF2 Classic va être installer ici : %s\n" +"Es-ce que vous acceptez ?" + +#: setup.py:89 +msgid "You need to install Aria2 to use this script." +msgstr "Vous devez installer Aria2 pour utiliser ce script." + +#: setup.py:93 +msgid "You need to install Zstd to use this script." +msgstr "Vous devez installer Zstd pour utiliser ce script." + +#: tf2c_downloader.py:42 +msgid "" +"Looks like we're running in the background. We don't want that, so we're " +"exiting." +msgstr "" +"On dirait qu'on est en train de tourner en arrière plan. On ne veut pas ça, " +"donc on sort." + +#: tf2c_downloader.py:56 +msgid "Exception details above this line" +msgstr "Détails des exceptions au dessus de cette ligne" + +#: tf2c_downloader.py:57 +msgid "" +"The program has failed. Post a screenshot in #technical-issues on the " +"Discord." +msgstr "" +"Le programme a échoué. Postez un screenshot dans #technical-issues sur le " +"Discord (en anglais seulement)." + +#: tf2c_downloader.py:64 +msgid "The installation has successfully completed. Remember to restart Steam!" +msgstr "L'installation est terminée. N'oubliez pas de redémarrer Steam !" + +#: troubleshoot.py:7 +msgid "Applying safety blacklist..." +msgstr "Application de la liste noir de sécurité..." + +#: troubleshoot.py:11 +msgid "WARNING: could not apply safety blacklist." +msgstr "ATTENTION : impossible d'appliquer la liste noir de sécurité." diff --git a/locale/hu/LC_MESSAGES/tf2c_downloader.mo b/locale/hu/LC_MESSAGES/tf2c_downloader.mo new file mode 100644 index 0000000..241f3c0 Binary files /dev/null and b/locale/hu/LC_MESSAGES/tf2c_downloader.mo differ diff --git a/locale/hu/LC_MESSAGES/tf2c_downloader.po b/locale/hu/LC_MESSAGES/tf2c_downloader.po new file mode 100644 index 0000000..01f2969 --- /dev/null +++ b/locale/hu/LC_MESSAGES/tf2c_downloader.po @@ -0,0 +1,157 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2022-08-02 18:36+0300\n" +"PO-Revision-Date: 2022-08-02 20:31+0300\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.3\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: hu\n" + +# Possible agreeing answers for yes/no questions. Split by spaces. +#: gui.py:26 +msgid "yes y" +msgstr "y igen i" + +# Possible denying answers for yes/no questions. Split by spaces. +#: gui.py:27 +msgid "no n" +msgstr "nem n" + +# Addition to yes/no questions. +#: gui.py:28 +msgid "{y/n}" +msgstr "{i/n}" + +#: gui.py:39 +msgid "Please respond with 'yes' or 'no' (or 'y' or 'n')." +msgstr "Válaszolj kérlek egy 'igen' vagy 'nem'-mel (vagy 'i' vagy 'n')." + +#: gui.py:60 +msgid "The specified extraction location does not exist." +msgstr "A meghatározott kicsomagolási hely nem létezik." + +#: gui.py:68 tf2c_downloader.py:59 +msgid "You are safe to close this window." +msgstr "Mostmár biztonságban bezárhatod ezt az ablakot." + +#: gui.py:70 tf2c_downloader.py:61 +msgid "Press Enter to exit." +msgstr "Kilépéshez nyomd meg az Enter billentyűt." + +#: install.py:25 +msgid "" +"You don't have enough free space to download TF2 Classic. A minimum of 4.5GB " +"on your primary drive is required." +msgstr "" +"Nincs elég tárhelyed, hogy letöltsd a TF2 Classic-ot. 4.5GB minimum tárhely " +"szükséges az elsődleges merevlemezeden." + +#: install.py:27 +msgid "" +"You don't have enough free space to extract TF2 Classic. A minimum of 12GB " +"at your chosen extraction site is required." +msgstr "" +"Nincs elég tárhelyed, hogy kicsomagold a TF2 Classic-ot. 12GB minimum " +"tárhely szükséges az általad választott kicsomagolási helyen." + +#: install.py:33 +msgid "" +"Starting the download for TF2 Classic... You may see some errors that are " +"safe to ignore." +msgstr "" +"TF2 Classic letöltésének megkezdése... Lehet, hogy látsz néhány hibát amit " +"nyugodtan mellőzhetsz." + +#: install.py:42 +msgid "Extracting the downloaded archive, please wait patiently." +msgstr "A letöltött archívum kicsomagolása, kérlek várj türelemmel." + +# %s is directory. +#: setup.py:58 +msgid "Sourcemods folder was automatically found at: %s" +msgstr "A sourcemods mappa automatikusan meglelve itt: %s" + +#: setup.py:59 +msgid "" +"It's the recommended installation location. Would you like to install TF2 " +"Classic there?" +msgstr "" +"Ez a javasolt telepítési hely. Szeretnéd oda telepíteni a TF2 Classic-ot?" + +#: setup.py:62 +msgid "WARNING: Steam's sourcemods folder has not been found." +msgstr "" +"FIGYELEM: Nem lett megtalálva a Steam sourcemods mappája, vagy te döntöttél " +"úgy, hogy nem használod azt." + +# %s is directory. +#: setup.py:65 +msgid "" +"Would you like to extract in %s? You must move it to your sourcemods " +"manually." +msgstr "" +"Szeretnéd ide kicsomagolni: %s? Sajátkezüleg kell majd betenned a sourcemods " +"mappádba." + +#: setup.py:68 +msgid "Please, enter the location in which TF2 Classic will be installed to.\n" +msgstr "Add meg a helyet ahova szeretnéd a TF2 Classic-ot telepíteni.\n" + +# %s is directory. +#: setup.py:69 +msgid "" +"TF2 Classic will be installed in %s\n" +"Do you accept?" +msgstr "" +"A TF2 Classic ide lesz telepítve: %s\n" +"Elfogadod?" + +#: setup.py:89 +msgid "You need to install Aria2 to use this script." +msgstr "Ehhez a script-hez a következőt kell telepítened: Aria2." + +#: setup.py:93 +msgid "You need to install Zstd to use this script." +msgstr "Ehhez a script-hez a következőt kell telepítened: Zstd." + +#: tf2c_downloader.py:42 +msgid "" +"Looks like we're running in the background. We don't want that, so we're " +"exiting." +msgstr "" +"Úgy néz ki, hogy a háttérben futtatod a programot. Ezt mi nem akarjuk, " +"szóval kilépünk." + +#: tf2c_downloader.py:56 +msgid "Exception details above this line" +msgstr "Kifogás részletei e sor fölött" + +#: tf2c_downloader.py:57 +msgid "" +"The program has failed. Post a screenshot in #technical-issues on the " +"Discord." +msgstr "" +"A program sikertelen. Készíts egy képernyőképet és küld el a #technical-" +"issues csatornába a hivatalos Discord szerveren (de csak angolul)." + +#: tf2c_downloader.py:64 +msgid "The installation has successfully completed. Remember to restart Steam!" +msgstr "A telepítés sikeres. Ne felejtsd újraindítani a Steam-et!" + +#: troubleshoot.py:7 +msgid "Applying safety blacklist..." +msgstr "Biztonsági feketelistára helyezés..." + +#: troubleshoot.py:11 +msgid "WARNING: could not apply safety blacklist." +msgstr "FIGYELEM: sikertelen biztonsági feketelistára helyezés." diff --git a/locale/it/LC_MESSAGES/tf2c_downloader.mo b/locale/it/LC_MESSAGES/tf2c_downloader.mo new file mode 100644 index 0000000..0253163 Binary files /dev/null and b/locale/it/LC_MESSAGES/tf2c_downloader.mo differ diff --git a/locale/it/LC_MESSAGES/tf2c_downloader.po b/locale/it/LC_MESSAGES/tf2c_downloader.po new file mode 100644 index 0000000..da621ca --- /dev/null +++ b/locale/it/LC_MESSAGES/tf2c_downloader.po @@ -0,0 +1,159 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2022-08-02 18:36+0300\n" +"PO-Revision-Date: 2022-08-02 20:35+0300\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.3\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: it\n" + +# Possible agreeing answers for yes/no questions. Split by spaces. +#: gui.py:26 +msgid "yes y" +msgstr "y si s" + +# Possible denying answers for yes/no questions. Split by spaces. +#: gui.py:27 +msgid "no n" +msgstr "no n" + +# Addition to yes/no questions. +#: gui.py:28 +msgid "{y/n}" +msgstr "{s/n}" + +#: gui.py:39 +msgid "Please respond with 'yes' or 'no' (or 'y' or 'n')." +msgstr "Per favore, rispondi con 'sì' o 'no' (o 's' o 'n')." + +#: gui.py:60 +msgid "The specified extraction location does not exist." +msgstr "Il percorso di estrazione specificato non esiste." + +#: gui.py:68 tf2c_downloader.py:59 +msgid "You are safe to close this window." +msgstr "È possibile chiudere questa finestra." + +#: gui.py:70 tf2c_downloader.py:61 +msgid "Press Enter to exit." +msgstr "Premi Enter per uscire." + +#: install.py:25 +msgid "" +"You don't have enough free space to download TF2 Classic. A minimum of 4.5GB " +"on your primary drive is required." +msgstr "" +"Non hai abbastanza spazio libero per scaricare TF2 Classic. È richiesto un " +"minimo di 4,5 GB sull'unità principale." + +#: install.py:27 +msgid "" +"You don't have enough free space to extract TF2 Classic. A minimum of 12GB " +"at your chosen extraction site is required." +msgstr "" +"Non hai abbastanza spazio libero per estrarre TF2 Classic. È richiesto un " +"minimo di 12 GB nel sito di estrazione scelto." + +#: install.py:33 +msgid "" +"Starting the download for TF2 Classic... You may see some errors that are " +"safe to ignore." +msgstr "" +"Avvio del download per TF2 Classic... È possibile che vengano visualizzati " +"alcuni errori che è possibile ignorare." + +#: install.py:42 +msgid "Extracting the downloaded archive, please wait patiently." +msgstr "Estrazione dell'archivio scaricato, attendi pazientemente." + +# %s is directory. +#: setup.py:58 +msgid "Sourcemods folder was automatically found at: %s" +msgstr "La cartella sourcemods fu trovata automaticamente in: %s" + +#: setup.py:59 +msgid "" +"It's the recommended installation location. Would you like to install TF2 " +"Classic there?" +msgstr "" +"È la posizione di installazione consigliata. Desideri installare TF2 Classic " +"lì?" + +#: setup.py:62 +msgid "WARNING: Steam's sourcemods folder has not been found." +msgstr "" +"ATTENZIONE: La cartella sourcemods di Steam non è stata trovata, oppure hai " +"scelto di non usarla." + +# %s is directory. +#: setup.py:65 +msgid "" +"Would you like to extract in %s? You must move it to your sourcemods " +"manually." +msgstr "" +"Desideri estrarre in %s? Devi spostarlo manualmente sui tuoi sourcemods." + +#: setup.py:68 +msgid "Please, enter the location in which TF2 Classic will be installed to.\n" +msgstr "" +"Per favore, inserire la posizione in cui verrà installato TF2 Classic.\n" + +# %s is directory. +#: setup.py:69 +msgid "" +"TF2 Classic will be installed in %s\n" +"Do you accept?" +msgstr "" +"TF2 Classic sarà installato in %s\n" +"Accetti?" + +#: setup.py:89 +msgid "You need to install Aria2 to use this script." +msgstr "Hai bisogno di installare Aria2 per usare questo script." + +#: setup.py:93 +msgid "You need to install Zstd to use this script." +msgstr "Hai bisogno di installare Zstd per usare questo script." + +#: tf2c_downloader.py:42 +msgid "" +"Looks like we're running in the background. We don't want that, so we're " +"exiting." +msgstr "" +"Sembra che stiamo lavorando in background. Non lo vogliamo, quindi stiamo " +"uscendo." + +#: tf2c_downloader.py:56 +msgid "Exception details above this line" +msgstr "Dettagli dell'eccezione sopra questa riga" + +#: tf2c_downloader.py:57 +msgid "" +"The program has failed. Post a screenshot in #technical-issues on the " +"Discord." +msgstr "" +"Il programma ha fallito. Posta uno screenshot su #technical-issues nel " +"Discord (in inglese soltanto)." + +#: tf2c_downloader.py:64 +msgid "The installation has successfully completed. Remember to restart Steam!" +msgstr "" +"L'installazione è stata completata con successo. Ricorda di riavviare Steam!" + +#: troubleshoot.py:7 +msgid "Applying safety blacklist..." +msgstr "Applicando la lista nera di sicurezza..." + +#: troubleshoot.py:11 +msgid "WARNING: could not apply safety blacklist." +msgstr "ATTENZIONE: impossibile applicare la lista nera di sicurezza." diff --git a/locale/pl/LC_MESSAGES/tf2c_downloader.mo b/locale/pl/LC_MESSAGES/tf2c_downloader.mo new file mode 100644 index 0000000..bcea86f Binary files /dev/null and b/locale/pl/LC_MESSAGES/tf2c_downloader.mo differ diff --git a/locale/pl/LC_MESSAGES/tf2c_downloader.po b/locale/pl/LC_MESSAGES/tf2c_downloader.po new file mode 100644 index 0000000..f777325 --- /dev/null +++ b/locale/pl/LC_MESSAGES/tf2c_downloader.po @@ -0,0 +1,161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2022-08-02 18:36+0300\n" +"PO-Revision-Date: 2022-08-02 20:41+0300\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"X-Generator: Poedit 2.3\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 " +"|| n%100>14) ? 1 : 2);\n" +"Language: pl\n" + +# Possible agreeing answers for yes/no questions. Split by spaces. +#: gui.py:26 +msgid "yes y" +msgstr "y tak t" + +# Possible denying answers for yes/no questions. Split by spaces. +#: gui.py:27 +msgid "no n" +msgstr "nie n" + +# Addition to yes/no questions. +#: gui.py:28 +msgid "{y/n}" +msgstr "{t/n}" + +#: gui.py:39 +msgid "Please respond with 'yes' or 'no' (or 'y' or 'n')." +msgstr "Prosimy odpowiedzieć poleceniem 'tak' lub 'nie' (albo 't' lub 'n')." + +#: gui.py:60 +msgid "The specified extraction location does not exist." +msgstr "Określona lokalizacja rozpakowania nie istnieje." + +#: gui.py:68 tf2c_downloader.py:59 +msgid "You are safe to close this window." +msgstr "Można bezpiecznie zamknąć to okno." + +#: gui.py:70 tf2c_downloader.py:61 +msgid "Press Enter to exit." +msgstr "Wciśnij Enter by zakończyć." + +#: install.py:25 +msgid "" +"You don't have enough free space to download TF2 Classic. A minimum of 4.5GB " +"on your primary drive is required." +msgstr "" +"Brak wolnego miejsca do pobrania TF2 Classic. Wymagane jest minimum 4.5 GB " +"na dysku głównym." + +#: install.py:27 +msgid "" +"You don't have enough free space to extract TF2 Classic. A minimum of 12GB " +"at your chosen extraction site is required." +msgstr "" +"Brak wolnego miejsca do rozpakowania TF2 Classic. Wymagane jest minimum 12 " +"GB w wybranym miejscu wydobycia." + +#: install.py:33 +msgid "" +"Starting the download for TF2 Classic... You may see some errors that are " +"safe to ignore." +msgstr "" +"Rozpoczęcie pobierania gry TF2 Classic... W trakcie procesu pojawią się " +"błędy, które możn zignorować." + +#: install.py:42 +msgid "Extracting the downloaded archive, please wait patiently." +msgstr "Rozpakowywanie pobranego archiwum, prosimy cierpliwie poczekać." + +# %s is directory. +#: setup.py:58 +msgid "Sourcemods folder was automatically found at: %s" +msgstr "Automatycznie znaleziono folder sourcemods w: %s" + +#: setup.py:59 +msgid "" +"It's the recommended installation location. Would you like to install TF2 " +"Classic there?" +msgstr "" +"Jest to zalecane miejsce instalacji. Czy w tym miejscu ma zostać " +"zainstalowany TF2 Classic?" + +#: setup.py:62 +msgid "WARNING: Steam's sourcemods folder has not been found." +msgstr "" +"UWAGA: Folder Steama \\\"sourcemods\\\" nie został znaleziony, lub " +"zrezygnowano z jego użycia." + +# %s is directory. +#: setup.py:65 +msgid "" +"Would you like to extract in %s? You must move it to your sourcemods " +"manually." +msgstr "" +"Czy rozpakować pliki w %s? Po wypakowaniu należy własnoręcznie przenieść " +"całą zawartość do pliku sourcemods." + +#: setup.py:68 +msgid "Please, enter the location in which TF2 Classic will be installed to.\n" +msgstr "" +"Proszę wprowadzić lokalizację, w której zostanie zainstalowane TF2 Classic.\n" + +# %s is directory. +#: setup.py:69 +msgid "" +"TF2 Classic will be installed in %s\n" +"Do you accept?" +msgstr "" +"TF2 Classic zostanie zainstalowane w %s\n" +"Akceptować?" + +#: setup.py:89 +msgid "You need to install Aria2 to use this script." +msgstr "Do uruchomienia tego skryptu wymagane jest zainstalowanie: Aria2." + +#: setup.py:93 +msgid "You need to install Zstd to use this script." +msgstr "Do uruchomienia tego skryptu wymagane jest zainstalowanie: Zstd." + +#: tf2c_downloader.py:42 +msgid "" +"Looks like we're running in the background. We don't want that, so we're " +"exiting." +msgstr "" +"Wygląda na to, że ten proces działa w tle. Instalacja może przejść " +"niepoprawnie, zatem proces ten zostanie przerwany." + +#: tf2c_downloader.py:56 +msgid "Exception details above this line" +msgstr "Szczegóły wyjątków znajdują się powyżej tej linii" + +#: tf2c_downloader.py:57 +msgid "" +"The program has failed. Post a screenshot in #technical-issues on the " +"Discord." +msgstr "" +"Program został niespodziewanie zatrzymany. Prosimy zamieścić zrzut ekranu na " +"Discordzie w sekcji #technical-issues (tylko po angielsku)." + +#: tf2c_downloader.py:64 +msgid "The installation has successfully completed. Remember to restart Steam!" +msgstr "" +"Instalacja przebiegła pomyślnie. Prosimy pamiętać o zrestartowaniu Steama!" + +#: troubleshoot.py:7 +msgid "Applying safety blacklist..." +msgstr "Stosowanie czarnej listy bezpieczeństwa..." + +#: troubleshoot.py:11 +msgid "WARNING: could not apply safety blacklist." +msgstr "UWAGA: Nie można zastosować czarnej listy bezpieczeństwa." diff --git a/locale/ru/LC_MESSAGES/tf2c_downloader.mo b/locale/ru/LC_MESSAGES/tf2c_downloader.mo new file mode 100644 index 0000000..e726123 Binary files /dev/null and b/locale/ru/LC_MESSAGES/tf2c_downloader.mo differ diff --git a/locale/ru/LC_MESSAGES/tf2c_downloader.po b/locale/ru/LC_MESSAGES/tf2c_downloader.po new file mode 100644 index 0000000..16e9c30 --- /dev/null +++ b/locale/ru/LC_MESSAGES/tf2c_downloader.po @@ -0,0 +1,160 @@ +# 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 , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-08-02 14:40+0300\n" +"PO-Revision-Date: 2022-08-02 19:57+0300\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 2.3\n" + +# Possible agreeing answers for yes/no questions. +# Split by spaces. +#: gui.py:26 +msgid "yes y" +msgstr "y да д" + +# Possible denying answers for yes/no questions. +# Split by spaces. +#: gui.py:27 +msgid "no n" +msgstr "n нет н" + +# Addition to yes/no questions. +#: gui.py:28 +msgid "{y/n}" +msgstr "{д/н}" + +#: gui.py:39 +msgid "Please respond with 'yes' or 'no' (or 'y' or 'n')." +msgstr "Пожалуйста, ответьте 'да' или 'нет' (или 'д'/'н')." + +#: gui.py:60 +msgid "The specified extraction location does not exist." +msgstr "Указаный путь не существует." + +#: gui.py:68 tf2c_downloader.py:59 +msgid "You are safe to close this window." +msgstr "Вы можете закрыть окно." + +#: gui.py:70 tf2c_downloader.py:61 +msgid "Press Enter to exit." +msgstr "Нажмите Enter для выхода." + +#: install.py:25 +msgid "" +"You don't have enough free space to download TF2 Classic. A minimum of 4.5GB " +"on your primary drive is required." +msgstr "" +"У вас не хватает места для скачивания TF2 Classic. Необходимо минимум 4.5GB " +"на вашем системном диске." + +#: install.py:27 +msgid "" +"You don't have enough free space to extract TF2 Classic. A minimum of 12GB " +"at your chosen extraction site is required." +msgstr "" +"У вас не хватает места для распаковки TF2 Classic. Необходимо минимум 12GB " +"на выбраном диске." + +#: install.py:33 +msgid "" +"Starting the download for TF2 Classic... You may see some errors that are " +"safe to ignore." +msgstr "" +"Начинаем загрузку TF2 Classic... Вы можете увидеть ошибки, которые можно " +"игнорировать." + +#: install.py:42 +msgid "Extracting the downloaded archive, please wait patiently." +msgstr "Начинаем распаковку архива, пожалуйста подождите." + +# %s is directory. +#: setup.py:58 +#, python-format +msgid "Sourcemods folder was automatically found at: %s" +msgstr "Папка sourcemods была найдена в: %s" + +#: setup.py:59 +msgid "" +"It's the recommended installation location. Would you like to install TF2 " +"Classic there?" +msgstr "" +"Это рекомендуемое место установки. Вы хотите установить TF2 Classic туда?" + +#: setup.py:62 +msgid "WARNING: Steam's sourcemods folder has not been found." +msgstr "Предупреждение: папка sourcemods не была найдена." + +# %s is directory. +#: setup.py:65 +#, python-format +msgid "" +"Would you like to extract in %s? You must move it to your sourcemods " +"manually." +msgstr "" +"Вы хотите распаковать игру в %s? Вам придётся переместить её в папку " +"sourcemods вручную." + +#: setup.py:68 +msgid "Please, enter the location in which TF2 Classic will be installed to.\n" +msgstr "Пожалуйста, укажите место установки игры.\n" + +# %s is directory. +#: setup.py:69 +#, python-format +msgid "" +"TF2 Classic will be installed in %s\n" +"Do you accept?" +msgstr "" +"TF2 Classic будет установлен в %s\n" +"Установить?" + +#: setup.py:89 +msgid "You need to install Aria2 to use this script." +msgstr "Вам нужно установить Aria2 для использования этой программы." + +#: setup.py:93 +msgid "You need to install Zstd to use this script." +msgstr "Вам нужно установить Zstd для использования этой программы." + +#: tf2c_downloader.py:42 +msgid "" +"Looks like we're running in the background. We don't want that, so we're " +"exiting." +msgstr "Похоже, что программа запущена в фоновом режиме. Выходим..." + +#: tf2c_downloader.py:56 +msgid "Exception details above this line" +msgstr "Детали об ошибке над этой линией" + +#: tf2c_downloader.py:57 +msgid "" +"The program has failed. Post a screenshot in #technical-issues on the " +"Discord." +msgstr "" +"Программа выдала ошибку. Отправьте снимок экрана в #technical-issues в " +"Discord-сервере TF2C." + +#: tf2c_downloader.py:64 +msgid "The installation has successfully completed. Remember to restart Steam!" +msgstr "Установка успешно завершена. Не забудьте перезапустить Steam!" + +#: troubleshoot.py:7 +msgid "Applying safety blacklist..." +msgstr "Применяем безопасный чёрный список..." + +#: troubleshoot.py:11 +msgid "WARNING: could not apply safety blacklist." +msgstr "Предупреждение: чёрный список не был применён." diff --git a/messages.pot b/messages.pot new file mode 100644 index 0000000..bc0707e --- /dev/null +++ b/messages.pot @@ -0,0 +1,125 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR ORGANIZATION +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2022-08-02 18:36+0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" + +# Possible agreeing answers for yes/no questions. Split by spaces. +#: gui.py:26 +msgid "yes y" +msgstr "" + +# Possible denying answers for yes/no questions. Split by spaces. +#: gui.py:27 +msgid "no n" +msgstr "" + +# Addition to yes/no questions. +#: gui.py:28 +msgid "{y/n}" +msgstr "" + +#: gui.py:39 +msgid "Please respond with 'yes' or 'no' (or 'y' or 'n')." +msgstr "" + +#: gui.py:60 +msgid "The specified extraction location does not exist." +msgstr "" + +#: gui.py:68 tf2c_downloader.py:59 +msgid "You are safe to close this window." +msgstr "" + +#: gui.py:70 tf2c_downloader.py:61 +msgid "Press Enter to exit." +msgstr "" + +#: install.py:25 +msgid "You don't have enough free space to download TF2 Classic. A minimum of 4.5GB on your primary drive is required." +msgstr "" + +#: install.py:27 +msgid "You don't have enough free space to extract TF2 Classic. A minimum of 12GB at your chosen extraction site is required." +msgstr "" + +#: install.py:33 +msgid "Starting the download for TF2 Classic... You may see some errors that are safe to ignore." +msgstr "" + +#: install.py:42 +msgid "Extracting the downloaded archive, please wait patiently." +msgstr "" + +# %s is directory. +#: setup.py:58 +msgid "Sourcemods folder was automatically found at: %s" +msgstr "" + +#: setup.py:59 +msgid "It's the recommended installation location. Would you like to install TF2 Classic there?" +msgstr "" + +#: setup.py:62 +msgid "WARNING: Steam's sourcemods folder has not been found." +msgstr "" + +# %s is directory. +#: setup.py:65 +msgid "Would you like to extract in %s? You must move it to your sourcemods manually." +msgstr "" + +#: setup.py:68 +msgid "" +"Please, enter the location in which TF2 Classic will be installed to.\n" +msgstr "" + +# %s is directory. +#: setup.py:69 +msgid "" +"TF2 Classic will be installed in %s\n" +"Do you accept?" +msgstr "" + +#: setup.py:89 +msgid "You need to install Aria2 to use this script." +msgstr "" + +#: setup.py:93 +msgid "You need to install Zstd to use this script." +msgstr "" + +#: tf2c_downloader.py:42 +msgid "Looks like we're running in the background. We don't want that, so we're exiting." +msgstr "" + +#: tf2c_downloader.py:56 +msgid "Exception details above this line" +msgstr "" + +#: tf2c_downloader.py:57 +msgid "The program has failed. Post a screenshot in #technical-issues on the Discord." +msgstr "" + +#: tf2c_downloader.py:64 +msgid "The installation has successfully completed. Remember to restart Steam!" +msgstr "" + +#: troubleshoot.py:7 +msgid "Applying safety blacklist..." +msgstr "" + +#: troubleshoot.py:11 +msgid "WARNING: could not apply safety blacklist." +msgstr "" + diff --git a/setup.py b/setup.py index 9455402..4d0b01d 100644 --- a/setup.py +++ b/setup.py @@ -1,23 +1,21 @@ """ This module is primarily related to helping the rest of the application find what it needs. - This includes the path to the user's sourcemods folder, the binary locations for things like Aria2 depending on their platform, etc. """ import sys +import gettext from os import environ, getcwd, path from platform import system from shutil import which from rich import print -from lang import lang import gui import vars if system() == 'Windows': import winreg - REGISTRY = 0 REGISTRY_KEY = 0 @@ -50,34 +48,26 @@ def sourcemods_path(): except Exception: return None -def setup_path(manual_path): +def setup_path(): """ Choose setup path. """ - confirm = False - if sourcemods_path() is not None: - vars.INSTALL_PATH = sourcemods_path().rstrip('\"') - - smodsfound = isinstance(vars.INSTALL_PATH, str) - if smodsfound is True and manual_path is not True: - gui.message(lang["setup_found"] % vars.INSTALL_PATH) - if gui.message_yes_no(lang["setup_found_question"]): - confirm = True - else: - setup_path(True) + vars.INSTALL_PATH = sourcemods_path().rstrip('\"') + if isinstance(vars.INSTALL_PATH, str): + gui.message(_("Sourcemods folder was automatically found at: %s") % vars.INSTALL_PATH) + if gui.message_yes_no(_("It's the recommended installation location. Would you like to install TF2 Classic there?")): return else: - gui.message(lang["setup_not_found"]) - if gui.message_yes_no(lang["setup_not_found_question"] % getcwd()): - vars.INSTALL_PATH = getcwd() - confirm = True - else: - vars.INSTALL_PATH = gui.message_dir(lang["setup_input"]) + gui.message(_("WARNING: Steam's sourcemods folder has not been found.")) + + current = getcwd() + if gui.message_yes_no(_("Would you like to extract in %s? You must move it to your sourcemods manually.") % current): + vars.INSTALL_PATH = current + else: + vars.INSTALL_PATH = gui.message_dir(_("Please, enter the location in which TF2 Classic will be installed to.\n")) + while not gui.message_yes_no(_("TF2 Classic will be installed in %s\nDo you accept?") % vars.INSTALL_PATH): + vars.INSTALL_PATH = gui.message_dir(_("Please, enter the location in which TF2 Classic will be installed to.\n")) - if not confirm: - if not gui.message_yes_no(lang["setup_accept"] % vars.INSTALL_PATH): - print(lang["setup_reset"]) - setup_path(False) def setup_binaries(): """ @@ -96,11 +86,11 @@ def setup_binaries(): vars.ARC_BINARY = 'Binaries/arc.exe' else: if which('aria2c') is None: - gui.message_end(lang["setup_missing_aria2"], 1) + gui.message_end(_("You need to install Aria2 to use this script."), 1) else: vars.ARIA2C_BINARY = 'aria2c' if which('zstd') is None and which('pzstd') is None: - gui.message_end(lang["setup_missing_zstd"], 1) + gui.message_end(_("You need to install Zstd to use this script."), 1) elif which('zstd') is not None: vars.ZSTD_BINARY = 'zstd' else: diff --git a/tf2c_downloader.py b/tf2c_downloader.py index e468e6d..b11208e 100644 --- a/tf2c_downloader.py +++ b/tf2c_downloader.py @@ -2,15 +2,15 @@ Master module. Runs basic checks and then offloads all of the real work to functions defined in other files. """ +import ctypes import os import traceback -import ctypes +import gettext from platform import system from shutil import which from subprocess import run from sys import argv, exit, stdin from rich import print -from lang import lang import gui import install import setup @@ -30,6 +30,10 @@ kernel32 = ctypes.windll.kernel32 kernel32.SetConsoleMode(kernel32.GetStdHandle(-10), (0x4|0x80|0x20|0x2|0x10|0x1|0x00|0x100)) +# Setting up gettext localization system +lang = gettext.translation('tf2c_downloader', './locale') +lang.install() + def sanity_check(): """ This is mainly for Linux, because it's easy to launch it by double-clicking it, which would @@ -38,11 +42,12 @@ def sanity_check(): but it's not a priority right now since Linux users can figure out how to use the terminal. """ if not stdin or not stdin.isatty(): - print(lang["running_background"]) + print(_("Looks like we're running in the background. We don't want that, so we're exiting.")) exit(1) + try: sanity_check() - setup.setup_path(False) + setup.setup_path() setup.setup_binaries() install.free_space_check() install.tf2c_download() @@ -51,13 +56,12 @@ def sanity_check(): except Exception as ex: if ex is not SystemExit: traceback.print_exc() - print(lang["exception_line"]) - print(lang["exception"]) + print("[italic magenta]----- " + _("Exception details above this line") + "-----") + print("[bold red]:warning: " + _("The program has failed. Post a screenshot in #technical-issues on the Discord.") + ":warning:[/bold red]") if os.environ.get("WT_SESSION"): - print(lang["exit_safe"]) + print("[bold]" + _("You are safe to close this window.")) else: - input(lang["exit"]) + input(_("Press Enter to exit.")) exit(1) - -gui.message_end(lang["success"], 0) +gui.message_end(_("The installation has successfully completed. Remember to restart Steam!"), 0) diff --git a/troubleshoot.py b/troubleshoot.py index f9aa656..0c7a455 100644 --- a/troubleshoot.py +++ b/troubleshoot.py @@ -1,11 +1,10 @@ -from lang import lang import vars import gui import urllib.request def apply_blacklist(): - gui.message(lang["troubleshoot_blacklist"]) + gui.message(_("Applying safety blacklist...")) try: urllib.request.urlretrieve("https://wiki.tf2classic.com/serverlist/blacklist.php", vars.INSTALL_PATH + "/tf2classic/cfg/server_blacklist.txt") except: - gui.message(lang["troubleshoot_blacklist_fail"]) \ No newline at end of file + gui.message(_("WARNING: could not apply safety blacklist."))