From f87088f4f4dd0fc62ad11f00935c08ba6d24db6b Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 21 Jul 2022 07:21:22 +0000 Subject: [PATCH] Update languages [skip actions] --- src/main/resources/languages/es-ES.json | 31 +- src/main/resources/languages/fr-FR.json | 804 ++++++++++++------------ src/main/resources/languages/pl-PL.json | 35 +- src/main/resources/languages/ro-RO.json | 33 +- src/main/resources/languages/ru-RU.json | 130 ++-- src/main/resources/languages/zh-CN.json | 11 +- src/main/resources/languages/zh-TW.json | 104 ++- 7 files changed, 541 insertions(+), 607 deletions(-) diff --git a/src/main/resources/languages/es-ES.json b/src/main/resources/languages/es-ES.json index 4e807991c..b4c46e714 100644 --- a/src/main/resources/languages/es-ES.json +++ b/src/main/resources/languages/es-ES.json @@ -28,6 +28,8 @@ "login_token_attempt": "[Dispatch] El cliente %s está intentando iniciar sesión a través de un token.", "login_token_error": "[Dispatch] El cliente %s falló al iniciar sesión a través de un token.", "login_token_success": "[Dispatch] El cliente %s inició sesión a través de un token como %s.", + "login_password_error": "🇺🇸[Dispatch] Client %s failed to log in via password.", + "login_password_storage_error": "🇺🇸[Dispatch] Client %s failed to log in via password because there is no password in the database.", "combo_token_success": "[Dispatch] El cliente %s intercambió el combo token exitosamente.", "combo_token_error": "[Dispatch] El cliente %s falló al intercambiar el combo token.", "account_login_create_success": "[Dispatch] El cliente %s falló al iniciar sesión: Cuenta %s creada.", @@ -37,6 +39,9 @@ "session_key_error": "Clave de sesión incorrecta.", "username_error": "Nombre de usuario no encontrado.", "username_create_error": "Nombre de usuario no encontrado, la creación falló.", + "password_error": "🇺🇸Invalid Password", + "password_length_error": "🇺🇸Password length must be greater then or equal to 8", + "password_storage_error": "🇺🇸You don't have a password for your account. Please contact an administrator.", "server_max_player_limit": "Se ha alcanzado el límite de jugadores activos" }, "router_error": "[Dispatch] No se ha podido vincular el router." @@ -117,6 +122,14 @@ "no_account": "Cuenta no encontrada.", "description": "Modifica las cuentas de usuario" }, + "announce": { + "command_usage": "🇺🇸Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>", + "send_success": "🇺🇸Send an announcement successfully, you can revoke it by /a revoke %s.", + "refresh_success": "🇺🇸Refresh announcement config file successfully. [Total %s]", + "revoke_done": "🇺🇸Try to revoke announcement %s.", + "not_found": "🇺🇸Could not found announcement %s.", + "description": "🇺🇸Send announcement to all online players, or manage server's announcement" + }, "clear": { "command_usage": "Uso: clear [lv] [r] [*]", "weapons": "Eliminadas las armas para %s.", @@ -157,8 +170,12 @@ }, "help": { "usage": "Uso: ", - "aliases": "Aliases: ", + "aliases": "🇺🇸Aliases: ", "available_commands": "Comandos disponibles: ", + "tip_need_permission": "🇺🇸Permission: ", + "tip_need_no_permission": "🇺🇸 None", + "tip_permission_targeted": "🇺🇸 (Permission %s is also required to use on other players)", + "warn_player_has_no_permission": "🇺🇸Notice: You do not have permission to run this command.", "description": "Envía el mensaje de ayuda o muestra información sobre un comando específico" }, "kick": { @@ -201,7 +218,7 @@ "description": "Da las coordenadas en el escenario actual" }, "quest": { - "usage": "quest [questID]", + "usage": "🇺🇸quest [questID]", "added": "Misión %s añadida.", "finished": "Misión %s finalizada.", "not_found": "Misión no encontrada.", @@ -360,24 +377,24 @@ }, "documentation": { "handbook": { - "title": "GM Handbook", + "title": "🇺🇸GM Handbook", "title_commands": "Comandos", "title_avatars": "Avatares", "title_items": "Objetos", "title_scenes": "Escenario", "title_monsters": "Monstruos", - "header_id": "Id", + "header_id": "🇺🇸Id", "header_command": "Comando", "header_description": "Descripción", - "header_avatar": "Avatar", + "header_avatar": "🇺🇸Avatar", "header_item": "Objeto", "header_scene": "Escenario", "header_monster": "Monstruo" }, "index": { "title": "Documentación", - "handbook": "GM Handbook", + "handbook": "🇺🇸GM Handbook", "gacha_mapping": "JSON de mapeo del Gacha" } } -} +} \ No newline at end of file diff --git a/src/main/resources/languages/fr-FR.json b/src/main/resources/languages/fr-FR.json index 75cf5133a..36eaf6c9b 100644 --- a/src/main/resources/languages/fr-FR.json +++ b/src/main/resources/languages/fr-FR.json @@ -1,424 +1,400 @@ { - "messages": { - "game": { - "port_bind": "Serveur de jeu démarré sur le port %s", - "connect": "Client connecté depuis %s", - "disconnect": "Client déconnecté depuis %s", - "game_update_error": "Une erreur est survenue lors de la mise à jour du jeu.", - "command_error": "Erreur de commande:" - }, - "dispatch": { - "port_bind": "[Dispatch] Serveur de répartition démarré sur le port %s", - "request": "[Dispatch] Le client %s %s demande : %s", - "keystore": { - "general_error": "[Dispatch] Erreur lors du chargement de keystore!", - "password_error": "[Dispatch] Impossible de charger keystore. Essai avec le mot de passe de keystore par défaut...", - "no_keystore_error": "[Dispatch] Pas de certificat SSL trouvé ! Passage en serveur HTTP", - "default_password": "[Dispatch] Le mot de passe par défaut de keystore a été chargé avec succès. Veuillez envisager de définir le mot de passe à 123456 dans config.json." - }, - "authentication": { - "default_unable_to_verify": "[Authentication] Quelque chose à appeler la méthode verifyUser qui n'est pas supportée par le gestionnaire d'authentification par défaut." - }, - "no_commands_error": "Les commandes ne sont pas prises en charge par le mode répartition seulement.", - "unhandled_request_error": "[Dispatch] Requête potentiellement non-gérée %s : %s.", - "account": { - "login_attempt": "[Dispatch] Le client %s essaye de de connecter.", - "login_success": "[Dispatch] Le client %s est connecté en tant que %s.", - "login_max_player_limit": "[Dispatch] Le client %s n'a pas réussi à se connecter : Le nombre de joueurs maximum est atteint.", - "login_token_attempt": "[Dispatch] Le client %s essaye de se connecter via un jeton.", - "login_token_error": "[Dispatch] Le client %s n'a pas réussi à se connecter via un jeton.", - "login_token_success": "[Dispatch] Le client %s est connecté via un jeton en tant que %s.", - "combo_token_success": "[Dispatch] Le client %s a réussi à échanger le jeton combiné.", - "combo_token_error": "[Dispatch] Le client %s n'a pas réussi à échanger le jeton combiné.", - "account_login_create_success": "[Dispatch] Le client %s n'a pas réussi à se connecter : Le compte %s a été créé.", - "account_login_create_error": "[Dispatch] Le client %s n'a pas réussi à se connecter : La création du compte a échoué.", - "account_login_exist_error": "[Dispatch] Le client %s n'a pas réussi à de connecter : Compte non trouvé.", - "account_cache_error": "Erreur d'information sur le cache de compte du jeu.", - "session_key_error": "Mauvaise clé de session.", - "username_error": "Nom d'utilisateur introuvable.", - "username_create_error": "Nom d'utilisateur introuvable, création échouée.", - "server_max_player_limit": "Le nombre de joueurs maximum est atteint." - }, - "router_error": "[Dispatch] Impossible d'attacher le routeur." - }, - "status": { - "free_software": "Grasscutter est un logiciel GRATUIT. Si vous avez payé pour ce logiciel, vous avez peut-être été arnaqué. Page d'accueil : https://github.com/Grasscutters/Grasscutter", - "starting": "Démarrage de Grasscutter...", - "shutdown": "Arrêt en cours...", - "done": "Terminé ! Pour obtenir de l'aide, écrire \"help\"", - "error": "Une erreur est survenue.", - "welcome": "Bienvenue sur Grasscutter !", - "run_mode_error": "Mode d'exécution du serveur invalide: %s.", - "run_mode_help": "Le mode d'exécution du serveur doit être : 'HYBRID', 'DISPATCH_ONLY', or 'GAME_ONLY'. Impossible de démarrer Grasscutter...", - "create_resources": "Création du dossier ressources...", - "resources_error": "Placez une copie de 'BinOutput' and 'ExcelBinOutput' dans le dossier ressources.", - "version": "Version de Grasscutter: %s-%s", - "game_version": "Version du jeu: %s", - "resources": { - "loading": "Loading resources...", - "finish": "Finished loading resources." - } - } + "messages": { + "game": { + "port_bind": "Serveur de jeu démarré sur le port %s", + "connect": "Client connecté depuis %s", + "disconnect": "Client déconnecté depuis %s", + "game_update_error": "Une erreur est survenue lors de la mise à jour du jeu.", + "command_error": "Erreur de commande:" }, - "commands": { - "generic": { - "not_specified": "Aucune commande spécifiée.", - "unknown_command": "Commande inconnue: %s", - "permission_error": "Vous n'avez pas la permission d'exécuter cette commande.", - "console_execute_error": "Cette commande ne peut être exécutée uniquement dans la console.", - "player_execute_error": "Exécutez cette commande dans le jeu.", - "command_exist_error": "Aucune commande trouvée.", - "no_usage_specified": "Pas de description de l'utilisation spécifiée.", - "no_description_specified": "Pas de description spécifiée", - "set_to": "%s a été défini a %s.", - "set_for_to": "%s de %s a été défini a %s.", - "invalid": { - "amount": "Montant invalide.", - "artifactId": "ID de l'artéfact invalide.", - "avatarId": "ID de l'avatar invalide.", - "avatarLevel": "avatarLevel invalide.", - "entityId": "ID de l'entité invalide.", - "itemId": "ID de l'objet invalide.", - "itemLevel": "Niveau de l'objet invalide.", - "itemRefinement": "Raffinement de l'objet invalide.", - "statValue": "Valeur de invalide.", - "value_between": "Invalid value: %s must be between %s and %s.", - "playerId": "ID du joueur invalide.", - "uid": "UID invalide.", - "id": "ID invalide." - } + "dispatch": { + "port_bind": "[Dispatch] Serveur de répartition démarré sur le port %s", + "request": "[Dispatch] Le client %s %s demande : %s", + "keystore": { + "general_error": "[Dispatch] Erreur lors du chargement de keystore!", + "password_error": "[Dispatch] Impossible de charger keystore. Essai avec le mot de passe de keystore par défaut...", + "no_keystore_error": "[Dispatch] Pas de certificat SSL trouvé ! Passage en serveur HTTP", + "default_password": "[Dispatch] Le mot de passe par défaut de keystore a été chargé avec succès. Veuillez envisager de définir le mot de passe à 123456 dans config.json." }, - "execution": { - "player_exist_error": "Joueur introuvable.", - "player_offline_error": "Le joueur n'est pas connecté.", - "item_player_exist_error": "UID ou objet invalide.", - "player_exist_offline_error": "Le joueur est introuvable ou n'est pas connecté.", - "argument_error": "Arguments invalides.", - "clear_target": "Cible réinitialisée.", - "set_target": "Les prochaines commandes cibleront @%s par défaut.", - "set_target_online": "@%s est connecté. Certaines commandes peuvent nécessiter une cible hors ligne.", - "set_target_offline": "@%s est hors ligne. Certaines commandes peuvent nécessiter une cible conectée.", - "need_target": "Cette commande nécessite un UID cible. Ajoutez un argument <@UID> ou définisez une cible persistante avec /target @UID.", - "need_target_online": "Cette commande nécessite un UID cible en ligne, mais la cible actuelle est hors ligne. Ajoutez un argument <@UID> différent ou définissez une cible persistante avec /target @UID.", - "need_target_offline": "Cette commande nécessite un UID cible hors ligne, mais la cible actuelle est en ligne. Ajoutez un argument <@UID> différent ou définissez une cible persistante avec /target @UID." - }, - "status": { - "enabled": "Activé", - "disabled": "Desactivé", - "help": "Aide", - "success": "Succès" + "authentication": { + "default_unable_to_verify": "[Authentication] Quelque chose à appeler la méthode verifyUser qui n'est pas supportée par le gestionnaire d'authentification par défaut." }, + "no_commands_error": "Les commandes ne sont pas prises en charge par le mode répartition seulement.", + "unhandled_request_error": "[Dispatch] Requête potentiellement non-gérée %s : %s.", "account": { - "modify": "Modifie les comptes utilisateurs", - "invalid": "UID invalide.", - "exists": "Un compte avec ce nom d'utilisateur et/ou UID existe déjà.", - "create": "Compte créé avec l'UID %s.", - "delete": "Compte supprimé.", - "no_account": "Compte introuvable.", - "command_usage": "Utilisation: account [UID]", - "description": "Modifie les comptes utilisateurs" + "login_attempt": "[Dispatch] Le client %s essaye de de connecter.", + "login_success": "[Dispatch] Le client %s est connecté en tant que %s.", + "login_max_player_limit": "[Dispatch] Le client %s n'a pas réussi à se connecter : Le nombre de joueurs maximum est atteint.", + "login_token_attempt": "[Dispatch] Le client %s essaye de se connecter via un jeton.", + "login_token_error": "[Dispatch] Le client %s n'a pas réussi à se connecter via un jeton.", + "login_token_success": "[Dispatch] Le client %s est connecté via un jeton en tant que %s.", + "login_password_error": "🇺🇸[Dispatch] Client %s failed to log in via password.", + "login_password_storage_error": "🇺🇸[Dispatch] Client %s failed to log in via password because there is no password in the database.", + "combo_token_success": "[Dispatch] Le client %s a réussi à échanger le jeton combiné.", + "combo_token_error": "[Dispatch] Le client %s n'a pas réussi à échanger le jeton combiné.", + "account_login_create_success": "[Dispatch] Le client %s n'a pas réussi à se connecter : Le compte %s a été créé.", + "account_login_create_error": "[Dispatch] Le client %s n'a pas réussi à se connecter : La création du compte a échoué.", + "account_login_exist_error": "[Dispatch] Le client %s n'a pas réussi à de connecter : Compte non trouvé.", + "account_cache_error": "Erreur d'information sur le cache de compte du jeu.", + "session_key_error": "Mauvaise clé de session.", + "username_error": "Nom d'utilisateur introuvable.", + "username_create_error": "Nom d'utilisateur introuvable, création échouée.", + "password_error": "🇺🇸Invalid Password", + "password_length_error": "🇺🇸Password length must be greater then or equal to 8", + "password_storage_error": "🇺🇸You don't have a password for your account. Please contact an administrator.", + "server_max_player_limit": "Le nombre de joueurs maximum est atteint." }, - "clear": { - "command_usage": "Usage: clear [lv] [r] [*]", - "weapons": "Les armes de %s ont été supprimés.", - "artifacts": "Les artéfacts de %s ont été supprimés.", - "materials": "Les matériaux de %s ont été supprimés.", - "furniture": "Les décoration de %s ont été supprimés.", - "displays": "Les display de %s ont été supprimés.", - "virtuals": "Les virtuals de %s ont été supprimés.", - "everything": "Tous les objets de %s ont été supprimés.", - "description": "Supprime les objets débloqués et non équipés, y compris ceux de rareté 5* de votre inventaire" - }, - "coop": { - "usage": "Usage: coop [UID de l'hôte]", - "success": "%s est apparu dans de monde de %s.", - "description": "Force quelqu'un a rejoindre le monde d'un autre. Si personne n'est ciblé, vous envoie quand même en mode multijoueur." - }, - "enter_dungeon": { - "usage": "Usage: enterdungeon ", - "changed": "Entré dans le donjon %s.", - "not_found_error": "Le donjon n'existe pas.", - "in_dungeon_error": "Vous êtes déjà dans ce donjon.", - "description": "Entrer dans un donjon" - }, - "giveAll": { - "usage": "Usage: giveall [joueur] [quantité]", - "started": "Obtention de tous les objets en cours...", - "success": "Tous les objets ont été donnés à %s.", - "invalid_amount_or_playerId": "Quantité ou joueur cible invalide.", - "description": "Donne tous les objets." - }, - "giveArtifact": { - "usage": "Usage: giveart|gart [joueur] [[,]]... [niveau]", - "id_error": "ID de l'artéfact invalide.", - "success": "%s a été donné à %s.", - "description": "Donne au joueur l'artéfact spécifié." - }, - "give": { - "usage": "Usage: give [quantité] [niveau] [raffinement]", - "refinement_only_applicable_weapons": "Le raffinement est uniquement applicable aux armes.", - "refinement_must_between_1_and_5": "Le raffinement doit être compris entre 1 et 5.", - "given": "Given %s of %s to %s.", - "given_with_level_and_refinement": "%s avec le niveau %s, raffinement %s %s fois à %s.", - "given_level": "%s avec le niveau %s %s fois à %s.", - "given_avatar": "%s avec le niveau %s a été donné à %s.", - "description": "Donne un objet au joueur spécifié" - }, - "godmode": { - "success": "Le godmode est maintenant %s pour %s.", - "description": "Vous empêche de prendre des dégâts. Désactivé par défaut." - }, - "heal": { - "success": "Tous les personnages ont été soignés.", - "description": "Soigne tous les personnages de votre équipe" - }, - "help": { - "usage": "Utilisation: ", - "aliases": "Alias: ", - "available_commands": "Commandes disponibles: ", - "description": "Envoie le message d'aide ou montre les informations à propos d'une commande spécifiée", - "tip_need_permission": "Permission: ", - "tip_need_no_permission": " Aucune", - "tip_permission_targeted": " (La permission %s est également requise pour utiliser sur d'autres joueurs)", - "warn_player_has_no_permission": "Information: Vous n'avez pas la permission d'utiliser cette commande." - }, - "kick": { - "player_kick_player": "Le joueur [%s:%s] a éjecté le joueur [%s:%s]", - "server_kick_player": "Ejection du joueur [%s:%s]...", - "description": "Ejecte le joueur spécifié du serveur (WIP)" - }, - "killall": { - "usage": "Usage: killall [playerUID] [sceneID]", - "scene_not_found_in_player_world": "Scène introuvable dans le monde du joueur.", - "kill_monsters_in_scene": "Exécution de %s monstres dans la scène %s...", - "description": "Tue toutes les entités" - }, - "killCharacter": { - "usage": "Usage: killcharacter [playerID]", - "success": " Le personnage actuel de %s a été tué.", - "description": "Tue le personnage actuel du joueur spécifié" - }, - "language": { - "current_language": "La langue actuelle est %s.", - "language_changed": "La langue a été changé à %s.", - "language_not_found": "Actuellement, cette langue n'est pas supportée par le serveur.", - "description": "Affiche ou change la langue du serveur" - }, - "list": { - "success": "Il y a %s joueur(s) connectés:", - "description": "Liste tous les joueurs connectés" - }, - "nostamina": { - "success": "NoStamina est maintement %s pour %s.", - "description": "Garde votre endurance au maximum." - }, - "permission": { - "usage": "Usage: permission ", - "add": "Permission ajoutée.", - "has_error": "Cet utilisateur possède déjà cette permission!", - "remove": "Permission retirée.", - "not_have_error": "Cet utilisateur n'a pas cette permission!", - "account_error": "Le compte est introuvable.", - "description": "Accorde ou retire une permission a un utilisateur" - }, - "position": { - "success": "Coordonées: %s, %s, %s\nID de la scène: %s", - "description": "Obtenir vos coordonnées" - }, - "quest": { - "usage": "quest [questID]", - "added": "Quête %s ajoutée.", - "finished": "Quête terminée : %s.", - "not_found": "Quête introuvable.", - "invalid_id": "ID de la quête invalide.", - "description": "Ajoute ou termine une quête" - }, - "reload": { - "reload_start": "Rechargement de la configuration.", - "reload_done": "Rechargement terminé.", - "description": "Recharge la configuration du serveur" - }, - "resetConst": { - "reset_all": "Les constellations de tous les avatars ont été réinitialisés.", - "success": "Les constellations de %s ont été réinitialisés. Veuillez-vous reconnecter pour voir les modifications.", - "description": "Réinitialise les constellations d'un avatar. Vous devez vous reconnecter pour voir les modifications." - }, - "resetShopLimit": { - "usage": "Usage: resetshop ", - "success": "Réinitialisation terminée.", - "description": "Réinitialise le temps d'actualisation de la boutique du joueur spécifié" - }, - "sendMail": { - "usage": "Usage: sendmail [templateID]", - "user_not_exist": "L'utilisateur avec l'identifiant '%s' n'existe pas.", - "start_composition": "Démarrage de la composition du message.\nVeuillez utiliser'/sendmail ' pour continuer.\nVous pouvez utiliser '/sendmail stop' à tout moment.", - "templates": "Les modèles de lettres ne sont pas encore disponibles.", - "invalid_arguments": "Arguments invalides.", - "send_cancel": "L'envoi du message a été annulé.", - "send_done": "Le message a été envoyé à %s!", - "send_all_done": "Message envoyé à tous les utilisateurs!", - "not_composition_end": "La composition du message n'est pas au stade final.\nVeuillez utiliser '/sendmail %s' or '/sendmail stop' pour annuler", - "please_use": "Veuillez utiliser '/sendmail %s'", - "set_title": "Le titre du message a été défini à '%s'.\nUtilisez '/sendmail ' pour continuer.", - "set_contents": "Le contenu du message a été défini à '%s'.\nUtilisez '/sendmail ' pour continuer.", - "set_message_sender": "L'expéditeur a été défini à '%s'.\nUtilisez '/sendmail [quantité] [niveau]' pour continuer.", - "send": "%s %s (niveau %s) ont été ajouté au message.\nContinuez d'ajouter plus d'objets ou utilisez '/sendmail finish' pour envoyer le message.", - "invalid_arguments_please_use": "Arguments invalides.\n Veuillez utiliser '/sendmail %s'", - "title": "", - "message": "", - "sender": "", - "arguments": " [quantité] [niveau]", - "error": "ERREUR: Stade de construction invalide : %s. Vérifiez la console pour la pile d'appels.", - "description": "Envoie un courrier à l'utilisateur spécifié. L'utilisation de la commande change en fonction du stade de la composition du message." - }, - "sendMessage": { - "usage": "Usage: sendmessage ", - "success": "Message envoyé.", - "description": "Envoie un message au joueur spécifié en tant que Serveur" - }, - "setFetterLevel": { - "usage": "Usage: setfetterlevel ", - "range_error": "Le niveau d'affinité doit être compris entre 0 et 10.", - "success": "Niveau d'affinité défini à %s.", - "level_error": "Niveau d'affinité invalide.", - "description": "Défini le niveau d'affinité de votre personnage actif" - }, - "setProp": { - "usage": "Usage: setprop|prop \n\tValues for : godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume", - "description": "Définit des propriétes pour votre compte. Des choses comme le godemode peuvent être activés avec cette commande, et le déblocage de l'abysse ainsi que l'avancement du PB." - }, - "setStats": { - "usage": "Usage: setstats|stats \n\tValeurs pour : hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(cont.) Bonus de dégât élémentaire: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(cont.) Résistance élémentaire: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys\n", - "description": "Définit les propriétés de combat de votre personnage actif" - }, - "setWorldLevel": { - "usage": "Usage: setworldlevel ", - "value_error": "Le niveau de monde doit être compris entre 0 et 8.", - "success": "Niveau de monde défini à %s.", - "invalid_world_level": "Niveau de monde invalide.", - "description": "Définit le niveau de monde (Reconnectez-vous pour voir les effets)" - }, - "spawn": { - "usage": "Usage: spawn [quantité] [niveau(monstre uniquement)] [ (monstre uniquement, optionnel)]", - "success": " %s %s sont apparu.", - "limit_reached": "La limite d'apparition de la scène est atteinte. Apparition de %s entités à la place.", - "description": "Fait apparaitre une entité à proximité" - }, - "stop": { - "success": "Arrêt du serveur...", - "description": "Arrête le serveur" - }, - "talent": { - "usage_1": "Pour définir le niveau du talent: /talent set ", - "usage_2": "Une autre façon de définir le niveau d'un talent: /talent ", - "usage_3": "Pour obtenir l'ID d'un talent: /talent getid", - "lower_16": "Niveau de talent invalide. Le niveau doit être inférieur a 16.", - "set_id": "Talent défini à %s.", - "set_atk": "Le talent ATK normale a été défini à %s.", - "set_e": "Le talent E a été défini a %s.", - "set_q": "Le talent A/Q a été défini à %s.", - "invalid_skill_id": "ID de talent invalide.", - "set_this": "Ce talent a été défini a %s.", - "invalid_level": "Niveau de talent invalide.", - "normal_attack_id": "ID de l'attaque normale ID %s.", - "e_skill_id": "ID du E %s.", - "q_skill_id": "ID du A/Q %s.", - "description": "Définit le niveau du talent du personnage actif" - }, - "team": { - "usage": "Usage: team [avatarID,...] [index|first|last|index-index,...]", - "invalid_usage": "Utilisation invalide.", - "add_usage": "Utilisation (add): team add [index]", - "invalid_index": "Index invalide.", - "add_too_much": "Ce serveur autorise à avoir au maximum %d avatar(s) dans votre équipe.", - "failed_to_add_avatar": "Echec de l'ajout de l'avatar a l'ID %s dans votre équipe.", - "remove_usage": "Utilisation (remove): team remove ", - "failed_to_parse_index": "Echec de l'analyse de l'index index: %s", - "remove_too_much": "Vous ne pouvez pas retirer tous les avatars.", - "ignore_index": "Index(s) ignorés : %s", - "set_usage": "Utilisation : (set): team set ", - "index_out_of_range": "L'index spécifié est en dehors du champ.", - "failed_parse_avatar_id": "Echec de l'analyse de l'ID de l'avatar: %s", - "avatar_already_in_team": "L'avatar est déjà dans votre équipe.", - "avatar_not_found": "L'avatar %d est introuvable.", - "description": "Modifie votre équipe manuellement." - }, - "teleportAll": { - "success": "Tous les joueurs ont été téléportés sur votre position.", - "error": "Vous ne pouvez utiliser cette commande qu'en mode multijoueur.", - "description": "Téléporte tous les joueurs de votre monde sur votre position" - }, - "teleport": { - "usage_server": "Utilisation: tp @ [sceneID]", - "usage": "Utilisation: tp [@] [sceneID]", - "specify_player_id": "Vous devez spécifier un ID d'utilisateur.", - "invalid_position": "Position invalide.", - "exists_error": "La scène spécifié n'existe pas.", - "success": "%s a été téléporté à %s, %s, %s dans la scène %s.", - "description": "Change la position du joueur" - }, - "unlimitenergy": { - "success": "UnlimitEnergy est maintenant %s pour %s.", - "config_error": "La commande est désactivée, car energyUsage est false dans config.json.", - "description": "Utiliser le déchainement élémentaire ne consomme pas d'énergie" - }, - "unlocktower": { - "success": "Tous les couloirs de l'abysse sont maintenant débloqués.", - "description": "Débloque tous les couloirs de l'abysse" - }, - "weather": { - "description": "Change la météo. Les ID de la météo peuvent être trouvés dans WeatherExcelConfigData.json.\nTypes de climatss: sunny, cloudy, rain, thunderstorm, snow, mist.", - "usage": "Utilisation: weather [weatherId] [climateType]\nLes ID de la météo peuvent être trouvés dans WeatherExcelConfigData.json.\nClimate types: sunny, cloudy, rain, thunderstorm, snow, mist.", - "success": "L'ID de la météo à été défini a %s avec le type de climat %s.", - "status": "L'ID de la météo accutel est %s avec le type de climat %s." - }, - "ban": { - "description": "Bannis un joueur", - "success": "Succès.", - "failure": "Échec, joueur introuvable.", - "invalid_time": "Impossible d'analyser le timestamp.", - "command_usage": "Usage: ban <@playerId> [timestamp] [raison]" - }, - "unban": { - "description": "Retire le bannissement d'un joueur", - "success": "Succès.", - "failure": "Échec, joueur introuvable.", - "command_usage": "Usage: unban <@playerId>" - } + "router_error": "[Dispatch] Impossible d'attacher le routeur." }, - "gacha": { - "details": { - "title": "Détails de la bannière", - "available_five_stars": "Objets 5 étoiles disponibles", - "available_four_stars": "Objets 4 étoiles disponibles", - "available_three_stars": "Objets 3 étoiles disponibles" - }, - "records": { - "title": "Gacha Records", - "date": "Date", - "item": "Objet" - } - }, - "documentation": { - "handbook": { - "title": "Manuel GM", - "title_commands": "Commandes", - "title_avatars": "Avatars", - "title_items": "Objets", - "title_scenes": "Scènes", - "title_monsters": "Monstres", - "header_id": "Id", - "header_command": "Commande", - "header_description": "Description", - "header_avatar": "Avatar", - "header_item": "Objet", - "header_scene": "Scène", - "header_monster": "Monstre" - }, - "index": { - "title": "Documentation", - "handbook": "Manuel GM", - "gacha_mapping": "Gacha mapping JSON" + "status": { + "free_software": "Grasscutter est un logiciel GRATUIT. Si vous avez payé pour ce logiciel, vous avez peut-être été arnaqué. Page d'accueil : https://github.com/Grasscutters/Grasscutter", + "starting": "Démarrage de Grasscutter...", + "shutdown": "Arrêt en cours...", + "done": "Terminé ! Pour obtenir de l'aide, écrire \"help\"", + "error": "Une erreur est survenue.", + "welcome": "Bienvenue sur Grasscutter !", + "run_mode_error": "Mode d'exécution du serveur invalide: %s.", + "run_mode_help": "Le mode d'exécution du serveur doit être : 'HYBRID', 'DISPATCH_ONLY', or 'GAME_ONLY'. Impossible de démarrer Grasscutter...", + "create_resources": "Création du dossier ressources...", + "resources_error": "Placez une copie de 'BinOutput' and 'ExcelBinOutput' dans le dossier ressources.", + "version": "Version de Grasscutter: %s-%s", + "game_version": "Version du jeu: %s", + "resources": { + "loading": "🇺🇸Loading resources...", + "finish": "🇺🇸Finished loading resources." } } + }, + "commands": { + "generic": { + "not_specified": "Aucune commande spécifiée.", + "unknown_command": "Commande inconnue: %s", + "permission_error": "Vous n'avez pas la permission d'exécuter cette commande.", + "console_execute_error": "Cette commande ne peut être exécutée uniquement dans la console.", + "player_execute_error": "Exécutez cette commande dans le jeu.", + "command_exist_error": "Aucune commande trouvée.", + "no_usage_specified": "Pas de description de l'utilisation spécifiée.", + "no_description_specified": "Pas de description spécifiée", + "set_to": "%s a été défini a %s.", + "set_for_to": "%s de %s a été défini a %s.", + "invalid": { + "amount": "Montant invalide.", + "artifactId": "ID de l'artéfact invalide.", + "avatarId": "ID de l'avatar invalide.", + "avatarLevel": "avatarLevel invalide.", + "entityId": "ID de l'entité invalide.", + "itemId": "ID de l'objet invalide.", + "itemLevel": "Niveau de l'objet invalide.", + "itemRefinement": "Raffinement de l'objet invalide.", + "statValue": "Valeur de invalide.", + "value_between": "🇺🇸Invalid value: %s must be between %s and %s.", + "playerId": "ID du joueur invalide.", + "uid": "UID invalide.", + "id": "ID invalide." + } + }, + "execution": { + "player_exist_error": "Joueur introuvable.", + "player_offline_error": "Le joueur n'est pas connecté.", + "item_player_exist_error": "UID ou objet invalide.", + "player_exist_offline_error": "Le joueur est introuvable ou n'est pas connecté.", + "argument_error": "Arguments invalides.", + "clear_target": "Cible réinitialisée.", + "set_target": "Les prochaines commandes cibleront @%s par défaut.", + "set_target_online": "@%s est connecté. Certaines commandes peuvent nécessiter une cible hors ligne.", + "set_target_offline": "@%s est hors ligne. Certaines commandes peuvent nécessiter une cible conectée.", + "need_target": "Cette commande nécessite un UID cible. Ajoutez un argument <@UID> ou définisez une cible persistante avec /target @UID.", + "need_target_online": "Cette commande nécessite un UID cible en ligne, mais la cible actuelle est hors ligne. Ajoutez un argument <@UID> différent ou définissez une cible persistante avec /target @UID.", + "need_target_offline": "Cette commande nécessite un UID cible hors ligne, mais la cible actuelle est en ligne. Ajoutez un argument <@UID> différent ou définissez une cible persistante avec /target @UID." + }, + "status": { + "enabled": "Activé", + "disabled": "Desactivé", + "help": "Aide", + "success": "Succès" + }, + "account": { + "command_usage": "Utilisation: account [UID]", + "invalid": "UID invalide.", + "exists": "Un compte avec ce nom d'utilisateur et/ou UID existe déjà.", + "create": "Compte créé avec l'UID %s.", + "delete": "Compte supprimé.", + "no_account": "Compte introuvable.", + "description": "Modifie les comptes utilisateurs" + }, + "announce": { + "command_usage": "🇺🇸Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>", + "send_success": "🇺🇸Send an announcement successfully, you can revoke it by /a revoke %s.", + "refresh_success": "🇺🇸Refresh announcement config file successfully. [Total %s]", + "revoke_done": "🇺🇸Try to revoke announcement %s.", + "not_found": "🇺🇸Could not found announcement %s.", + "description": "🇺🇸Send announcement to all online players, or manage server's announcement" + }, + "clear": { + "command_usage": "🇺🇸Usage: clear [lv] [r] [*]", + "weapons": "Les armes de %s ont été supprimés.", + "artifacts": "Les artéfacts de %s ont été supprimés.", + "materials": "Les matériaux de %s ont été supprimés.", + "furniture": "Les décoration de %s ont été supprimés.", + "displays": "Les display de %s ont été supprimés.", + "virtuals": "Les virtuals de %s ont été supprimés.", + "everything": "Tous les objets de %s ont été supprimés.", + "description": "Supprime les objets débloqués et non équipés, y compris ceux de rareté 5* de votre inventaire" + }, + "coop": { + "usage": "Usage: coop [UID de l'hôte]", + "success": "%s est apparu dans de monde de %s.", + "description": "Force quelqu'un a rejoindre le monde d'un autre. Si personne n'est ciblé, vous envoie quand même en mode multijoueur." + }, + "enter_dungeon": { + "usage": "🇺🇸Usage: enterdungeon ", + "changed": "Entré dans le donjon %s.", + "not_found_error": "Le donjon n'existe pas.", + "in_dungeon_error": "Vous êtes déjà dans ce donjon.", + "description": "Entrer dans un donjon" + }, + "give": { + "usage": "Usage: give [quantité] [niveau] [raffinement]", + "usage_relic": "🇺🇸Usage: give [mainPropID] [[,]]... [lv]", + "illegal_relic": "🇺🇸This artifactID belongs to a blacklisted range, it may not be the one you wanted.", + "given": "🇺🇸Given %s of %s to %s.", + "given_with_level_and_refinement": "%s avec le niveau %s, raffinement %s %s fois à %s.", + "given_level": "%s avec le niveau %s %s fois à %s.", + "given_avatar": "%s avec le niveau %s a été donné à %s.", + "giveall_success": "🇺🇸Successfully gave all items.", + "description": "Donne un objet au joueur spécifié" + }, + "heal": { + "success": "Tous les personnages ont été soignés.", + "description": "Soigne tous les personnages de votre équipe" + }, + "help": { + "usage": "Utilisation: ", + "aliases": "Alias: ", + "available_commands": "Commandes disponibles: ", + "tip_need_permission": "🇺🇸Permission: ", + "tip_need_no_permission": " Aucune", + "tip_permission_targeted": " (La permission %s est également requise pour utiliser sur d'autres joueurs)", + "warn_player_has_no_permission": "Information: Vous n'avez pas la permission d'utiliser cette commande.", + "description": "Envoie le message d'aide ou montre les informations à propos d'une commande spécifiée" + }, + "kick": { + "player_kick_player": "Le joueur [%s:%s] a éjecté le joueur [%s:%s]", + "server_kick_player": "Ejection du joueur [%s:%s]...", + "description": "Ejecte le joueur spécifié du serveur (WIP)" + }, + "killall": { + "usage": "🇺🇸Usage: killall [playerUID] [sceneID]", + "scene_not_found_in_player_world": "Scène introuvable dans le monde du joueur.", + "kill_monsters_in_scene": "Exécution de %s monstres dans la scène %s...", + "description": "Tue toutes les entités" + }, + "killCharacter": { + "usage": "🇺🇸Usage: killcharacter [playerID]", + "success": " Le personnage actuel de %s a été tué.", + "description": "Tue le personnage actuel du joueur spécifié" + }, + "language": { + "current_language": "La langue actuelle est %s.", + "language_changed": "La langue a été changé à %s.", + "language_not_found": "Actuellement, cette langue n'est pas supportée par le serveur.", + "description": "Affiche ou change la langue du serveur" + }, + "list": { + "success": "Il y a %s joueur(s) connectés:", + "description": "Liste tous les joueurs connectés" + }, + "permission": { + "usage": "🇺🇸Usage: permission ", + "add": "Permission ajoutée.", + "has_error": "Cet utilisateur possède déjà cette permission!", + "remove": "Permission retirée.", + "not_have_error": "Cet utilisateur n'a pas cette permission!", + "account_error": "Le compte est introuvable.", + "description": "Accorde ou retire une permission a un utilisateur" + }, + "position": { + "success": "Coordonées: %s, %s, %s\nID de la scène: %s", + "description": "Obtenir vos coordonnées" + }, + "quest": { + "usage": "🇺🇸quest [questID]", + "added": "Quête %s ajoutée.", + "finished": "Quête terminée : %s.", + "not_found": "Quête introuvable.", + "invalid_id": "ID de la quête invalide.", + "description": "Ajoute ou termine une quête" + }, + "reload": { + "reload_start": "Rechargement de la configuration.", + "reload_done": "Rechargement terminé.", + "description": "Recharge la configuration du serveur" + }, + "resetConst": { + "reset_all": "Les constellations de tous les avatars ont été réinitialisés.", + "success": "Les constellations de %s ont été réinitialisés. Veuillez-vous reconnecter pour voir les modifications.", + "description": "Réinitialise les constellations d'un avatar. Vous devez vous reconnecter pour voir les modifications." + }, + "resetShopLimit": { + "usage": "🇺🇸Usage: resetshop ", + "success": "Réinitialisation terminée.", + "description": "Réinitialise le temps d'actualisation de la boutique du joueur spécifié" + }, + "sendMail": { + "usage": "🇺🇸Usage: sendmail [templateID]", + "user_not_exist": "L'utilisateur avec l'identifiant '%s' n'existe pas.", + "start_composition": "Démarrage de la composition du message.\nVeuillez utiliser'/sendmail ' pour continuer.\nVous pouvez utiliser '/sendmail stop' à tout moment.", + "templates": "Les modèles de lettres ne sont pas encore disponibles.", + "invalid_arguments": "Arguments invalides.", + "send_cancel": "L'envoi du message a été annulé.", + "send_done": "Le message a été envoyé à %s!", + "send_all_done": "Message envoyé à tous les utilisateurs!", + "not_composition_end": "La composition du message n'est pas au stade final.\nVeuillez utiliser '/sendmail %s' or '/sendmail stop' pour annuler", + "please_use": "Veuillez utiliser '/sendmail %s'", + "set_title": "Le titre du message a été défini à '%s'.\nUtilisez '/sendmail ' pour continuer.", + "set_contents": "Le contenu du message a été défini à '%s'.\nUtilisez '/sendmail ' pour continuer.", + "set_message_sender": "L'expéditeur a été défini à '%s'.\nUtilisez '/sendmail [quantité] [niveau]' pour continuer.", + "send": "%s %s (niveau %s) ont été ajouté au message.\nContinuez d'ajouter plus d'objets ou utilisez '/sendmail finish' pour envoyer le message.", + "invalid_arguments_please_use": "Arguments invalides.\n Veuillez utiliser '/sendmail %s'", + "title": "", + "message": "🇺🇸", + "sender": "", + "arguments": " [quantité] [niveau]", + "error": "ERREUR: Stade de construction invalide : %s. Vérifiez la console pour la pile d'appels.", + "description": "Envoie un courrier à l'utilisateur spécifié. L'utilisation de la commande change en fonction du stade de la composition du message." + }, + "sendMessage": { + "usage": "Usage: sendmessage ", + "success": "Message envoyé.", + "description": "Envoie un message au joueur spécifié en tant que Serveur" + }, + "setFetterLevel": { + "usage": "🇺🇸Usage: setfetterlevel ", + "range_error": "Le niveau d'affinité doit être compris entre 0 et 10.", + "success": "Niveau d'affinité défini à %s.", + "level_error": "Niveau d'affinité invalide.", + "description": "Défini le niveau d'affinité de votre personnage actif" + }, + "setProp": { + "usage": "🇺🇸Usage: setprop|prop \n\tValues for : godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume", + "description": "Définit des propriétes pour votre compte. Des choses comme le godemode peuvent être activés avec cette commande, et le déblocage de l'abysse ainsi que l'avancement du PB." + }, + "setStats": { + "usage": "Usage: setstats|stats \n\tValeurs pour : hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(cont.) Bonus de dégât élémentaire: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(cont.) Résistance élémentaire: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys\n", + "description": "Définit les propriétés de combat de votre personnage actif" + }, + "spawn": { + "usage": "Usage: spawn [quantité] [niveau(monstre uniquement)] [ (monstre uniquement, optionnel)]", + "success": " %s %s sont apparu.", + "limit_reached": "La limite d'apparition de la scène est atteinte. Apparition de %s entités à la place.", + "description": "Fait apparaitre une entité à proximité" + }, + "stop": { + "success": "Arrêt du serveur...", + "description": "Arrête le serveur" + }, + "talent": { + "usage_1": "Pour définir le niveau du talent: /talent set ", + "usage_2": "Une autre façon de définir le niveau d'un talent: /talent ", + "usage_3": "Pour obtenir l'ID d'un talent: /talent getid", + "lower_16": "Niveau de talent invalide. Le niveau doit être inférieur a 16.", + "set_id": "Talent défini à %s.", + "set_atk": "Le talent ATK normale a été défini à %s.", + "set_e": "Le talent E a été défini a %s.", + "set_q": "Le talent A/Q a été défini à %s.", + "invalid_skill_id": "ID de talent invalide.", + "set_this": "Ce talent a été défini a %s.", + "invalid_level": "Niveau de talent invalide.", + "normal_attack_id": "ID de l'attaque normale ID %s.", + "e_skill_id": "ID du E %s.", + "q_skill_id": "ID du A/Q %s.", + "description": "Définit le niveau du talent du personnage actif" + }, + "team": { + "usage": "🇺🇸Usage: team [avatarID,...] [index|first|last|index-index,...]", + "invalid_usage": "Utilisation invalide.", + "add_usage": "Utilisation (add): team add [index]", + "invalid_index": "Index invalide.", + "add_too_much": "Ce serveur autorise à avoir au maximum %d avatar(s) dans votre équipe.", + "failed_to_add_avatar": "Echec de l'ajout de l'avatar a l'ID %s dans votre équipe.", + "remove_usage": "Utilisation (remove): team remove ", + "failed_to_parse_index": "Echec de l'analyse de l'index index: %s", + "remove_too_much": "Vous ne pouvez pas retirer tous les avatars.", + "ignore_index": "Index(s) ignorés : %s", + "set_usage": "Utilisation : (set): team set ", + "index_out_of_range": "L'index spécifié est en dehors du champ.", + "failed_parse_avatar_id": "Echec de l'analyse de l'ID de l'avatar: %s", + "avatar_already_in_team": "L'avatar est déjà dans votre équipe.", + "avatar_not_found": "L'avatar %d est introuvable.", + "description": "Modifie votre équipe manuellement." + }, + "teleportAll": { + "success": "Tous les joueurs ont été téléportés sur votre position.", + "error": "Vous ne pouvez utiliser cette commande qu'en mode multijoueur.", + "description": "Téléporte tous les joueurs de votre monde sur votre position" + }, + "teleport": { + "usage_server": "Utilisation: tp @ [sceneID]", + "usage": "Utilisation: tp [@] [sceneID]", + "specify_player_id": "Vous devez spécifier un ID d'utilisateur.", + "invalid_position": "Position invalide.", + "exists_error": "La scène spécifié n'existe pas.", + "success": "%s a été téléporté à %s, %s, %s dans la scène %s.", + "description": "Change la position du joueur" + }, + "weather": { + "usage": "Utilisation: weather [weatherId] [climateType]\nLes ID de la météo peuvent être trouvés dans WeatherExcelConfigData.json.\nClimate types: sunny, cloudy, rain, thunderstorm, snow, mist.", + "success": "L'ID de la météo à été défini a %s avec le type de climat %s.", + "status": "L'ID de la météo accutel est %s avec le type de climat %s.", + "description": "Change la météo. Les ID de la météo peuvent être trouvés dans WeatherExcelConfigData.json.\nTypes de climatss: sunny, cloudy, rain, thunderstorm, snow, mist." + }, + "ban": { + "command_usage": "Usage: ban <@playerId> [timestamp] [raison]", + "success": "Succès.", + "failure": "Échec, joueur introuvable.", + "invalid_time": "Impossible d'analyser le timestamp.", + "description": "Bannis un joueur" + }, + "unban": { + "command_usage": "🇺🇸Usage: unban <@playerId>", + "success": "Succès.", + "failure": "Échec, joueur introuvable.", + "description": "Retire le bannissement d'un joueur" + } + }, + "gacha": { + "details": { + "title": "Détails de la bannière", + "available_five_stars": "Objets 5 étoiles disponibles", + "available_four_stars": "Objets 4 étoiles disponibles", + "available_three_stars": "Objets 3 étoiles disponibles" + }, + "records": { + "title": "🇺🇸Gacha Records", + "date": "🇺🇸Date", + "item": "Objet" + } + }, + "documentation": { + "handbook": { + "title": "Manuel GM", + "title_commands": "Commandes", + "title_avatars": "🇺🇸Avatars", + "title_items": "Objets", + "title_scenes": "Scènes", + "title_monsters": "Monstres", + "header_id": "🇺🇸Id", + "header_command": "Commande", + "header_description": "🇺🇸Description", + "header_avatar": "🇺🇸Avatar", + "header_item": "Objet", + "header_scene": "Scène", + "header_monster": "Monstre" + }, + "index": { + "title": "🇺🇸Documentation", + "handbook": "Manuel GM", + "gacha_mapping": "🇺🇸Gacha mapping JSON" + } } +} \ No newline at end of file diff --git a/src/main/resources/languages/pl-PL.json b/src/main/resources/languages/pl-PL.json index 41d63f708..0aed901f7 100644 --- a/src/main/resources/languages/pl-PL.json +++ b/src/main/resources/languages/pl-PL.json @@ -28,6 +28,8 @@ "login_token_attempt": "[Account] Klient %s próbuje się zalogować poprzez token.", "login_token_error": "[Account] Logowanie klienta %s poprzez token nie powiodło się.", "login_token_success": "[Account] Klient %s zalogował się poprzez token jako %s.", + "login_password_error": "🇺🇸[Dispatch] Client %s failed to log in via password.", + "login_password_storage_error": "🇺🇸[Dispatch] Client %s failed to log in via password because there is no password in the database.", "combo_token_success": "[Account] Klient %s pomyślnie wymienił token combo.", "combo_token_error": "[Account] Wymienienie tokena combo klienta %s nie powiodło się.", "account_login_create_success": "[Account] Logowanie klienta %s powiodło się: konto %s zostało stworzone.", @@ -37,6 +39,9 @@ "session_key_error": "Błędny klucz sesji.", "username_error": "Podana nazwa użytkownika nie istnieje.", "username_create_error": "Podana nazwa użytkownika nie istnieje. Automatyczne tworzenie nowego konta nie powiodło się.", + "password_error": "🇺🇸Invalid Password", + "password_length_error": "🇺🇸Password length must be greater then or equal to 8", + "password_storage_error": "🇺🇸You don't have a password for your account. Please contact an administrator.", "server_max_player_limit": "Liczba graczy online osiągnęła swój limit." }, "router_error": "[Dispatch] Wystąpił błąd podczas tworzenia routera." @@ -109,7 +114,7 @@ "success": "Sukces" }, "account": { - "usage": "account [UID]", + "command_usage": "🇺🇸Usage: account [UID]", "invalid": "Błędne UID gracza.", "exists": "Konto o tej nazwie użytkownika i/lub UID już istnieje.", "create": "Stworzono konto z UID %s.", @@ -118,7 +123,7 @@ "description": "Twórz lub usuń konta." }, "announce": { - "usage": "announce LUB announce LUB announce LUB announce ", + "command_usage": "🇺🇸Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>", "send_success": "Ogłoszenie zostało pomyślnie wysłane. Możesz je odwołać używając \"announce revoke %s\".", "refresh_success": "Odświeżono konfigurację ogłoszeń (w sumie jest ich %s).", "revoke_done": "Pomyślnie odwołano ogłoszenie %s.", @@ -126,7 +131,7 @@ "description": "Wysyłaj i zarządzaj ogłoszeniami." }, "clear": { - "usage": "Użycie: clear [lv] [r] [*]", + "command_usage": "🇺🇸Usage: clear [lv] [r] [*]", "weapons": "Usunięto bronie gracza %s.", "artifacts": "Usunięto artefakty gracza %s.", "materials": "Usunięto materiały gracza %s.", @@ -160,23 +165,20 @@ "description": "Dodaj wybrane przedmioty do ekwipunku wybranego gracza." }, "heal": { - "usage": "heal", "success": "Wszystkie postacie zostały uleczone.", "description": "Ulecz wszystkie postacie w swoim zespole." }, "help": { "usage": "help [nazwa komendy]", - "usage_prefix": "Użycie: ", "aliases": "Aliasy: ", "available_commands": "Dostępne komendy: ", - "description": "Wyświetl wszystkie komendy lub informacje na temat danej komendy.", "tip_need_permission": "Wymagane uprawnienie: ", "tip_need_no_permission": "brak", "tip_permission_targeted": "(użycie tego polecenia na innych graczach również wymaga uprawnienia %s)", - "warn_player_has_no_permission": "Nie masz wystarczających uprawnień do używania tej komendy." + "warn_player_has_no_permission": "Nie masz wystarczających uprawnień do używania tej komendy.", + "description": "Wyświetl wszystkie komendy lub informacje na temat danej komendy." }, "kick": { - "usage": "kick", "player_kick_player": "Gracz [%s:%s] wyrzucił gracza [%s:%s].", "server_kick_player": "Wyrzucono gracza [%s:%s].", "description": "Wyrzuć wskazanego gracza z gry." @@ -193,14 +195,12 @@ "description": "Zabij postać wskazanego gracza." }, "language": { - "usage": "language [kod języka]", "current_language": "Bieżący kod języka to %s.", "language_changed": "Zmieniono język na ten o kodzie %s.", "language_not_found": "Nie znaleziono języka o kodzie \"%s\".", "description": "Pokaż lub zmień bieżący kod języka." }, "list": { - "usage": "list @[ID gracza]", "success": "%s graczy online:", "description": "Pokaż ile jest graczy na serwerze." }, @@ -214,7 +214,6 @@ "description": "Dodaj lub usuń uprawnienia podanego gracza." }, "position": { - "usage": "position", "success": "Koordynaty: (%s, %s, %s).\nID sceny: %s.", "description": "Pokaż gdzie znajduje się dany gracz." }, @@ -227,13 +226,11 @@ "description": "Dodaj lub wykonaj wskazane zadanie." }, "reload": { - "usage": "reload", "reload_start": "Ponowne ładowanie konfiguracji...", "reload_done": "Ponowne ładowanie konfiguracji zakończone.", "description": "Ponownie załaduj język, konfigurację oraz inne dane gry." }, "resetConst": { - "usage": "resetconst [all]", "reset_all": "Zresetowano konstelacje dla wszystkich postaci. Aby zobaczyć zmiany, zaloguj się ponownie.", "success": "Konstelacje awatara %s zostały zresetowane. Aby zobaczyć zmiany, zaloguj się ponownie.", "description": "Resetuj konstelacje wszystkich lub wybranej postaci." @@ -293,7 +290,6 @@ "description": "Dodaj wskazane obiekty do sceny wybranego gracza." }, "stop": { - "usage": "stop", "success": "Serwer zatrzymuje się...", "description": "Zatrzymaj serwer." }, @@ -333,7 +329,6 @@ "description": "Modyfikuj zespół wybranego gracza." }, "teleportAll": { - "usage": "tpall", "success": "Przyzwano wszystkich graczy do wybranego gracza.", "error": "Możesz użyć tej komendy wyłącznie w trybie MP.", "description": "Przyzwij wszystkich graczy do wybranego gracza." @@ -354,14 +349,14 @@ "description": "Zmień ID pogody i typ klimatu." }, "ban": { - "usage": "ban @ [na ile czasu] [powód]", + "command_usage": "🇺🇸Usage: ban <@playerId> [timestamp] [reason]", "success": "Pomyślnie zbanowano podanego gracza.", "failure": "Gracz o podanym ID nie istnieje.", "invalid_time": "Nieprawidłowy czas bana.", "description": "Zbanuj podanego gracza." }, "unban": { - "usage": "unban @", + "command_usage": "🇺🇸Usage: unban <@playerId>", "success": "Pomyślnie odbanowano podanego gracza.", "failure": "Gracz o podanym ID nie istnieje.", "description": "Odbanuj podanego gracza." @@ -382,7 +377,7 @@ }, "documentation": { "handbook": { - "title": "GM Handbook", + "title": "🇺🇸GM Handbook", "title_commands": "Komendy", "title_avatars": "Awatary", "title_items": "Przedmioty", @@ -398,8 +393,8 @@ }, "index": { "title": "Dokumentacja", - "handbook": "GM Handbook", + "handbook": "🇺🇸GM Handbook", "gacha_mapping": "Losowanie w formacie JSON" } } -} +} \ No newline at end of file diff --git a/src/main/resources/languages/ro-RO.json b/src/main/resources/languages/ro-RO.json index 09a34f571..11dff3379 100644 --- a/src/main/resources/languages/ro-RO.json +++ b/src/main/resources/languages/ro-RO.json @@ -28,6 +28,8 @@ "login_token_attempt": "[Dispatch] Clientul %s încearcă să se conecteze prin token.", "login_token_error": "[Dispatch] Clientul %s nu a reușit să se conecteze prin token.", "login_token_success": "[Dispatch] Clientul %s sa conectat prin token ca %s.", + "login_password_error": "🇺🇸[Dispatch] Client %s failed to log in via password.", + "login_password_storage_error": "🇺🇸[Dispatch] Client %s failed to log in via password because there is no password in the database.", "combo_token_success": "[Dispatch] Clientul %s a reușit să schimbe token-ul combo.", "combo_token_error": "[Dispatch] Clientul %s nu a reușit să schimbe token-ul combo.", "account_login_create_success": "[Dispatch] Clientul %s nu a reușit să se conecteze: Cont %s creat.", @@ -37,6 +39,9 @@ "session_key_error": "Cheie de sesiune greșită.", "username_error": "Numele de utilizator nu a fost găsit.", "username_create_error": "Numele de utilizator nu a fost găsit, crearea a eșuat.", + "password_error": "🇺🇸Invalid Password", + "password_length_error": "🇺🇸Password length must be greater then or equal to 8", + "password_storage_error": "🇺🇸You don't have a password for your account. Please contact an administrator.", "server_max_player_limit": "Numărul de jucători online a ajuns la limită." }, "router_error": "[Dispatch] Nu se poate atașa routerul." @@ -117,6 +122,14 @@ "no_account": "Contul nu a fost găsit.", "description": "Modificați conturile de utilizator" }, + "announce": { + "command_usage": "🇺🇸Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>", + "send_success": "🇺🇸Send an announcement successfully, you can revoke it by /a revoke %s.", + "refresh_success": "🇺🇸Refresh announcement config file successfully. [Total %s]", + "revoke_done": "🇺🇸Try to revoke announcement %s.", + "not_found": "🇺🇸Could not found announcement %s.", + "description": "🇺🇸Send announcement to all online players, or manage server's announcement" + }, "clear": { "command_usage": "Utilizare: clear [lv] [r] [*]", "weapons": "Arme șterse pentru %s.", @@ -159,11 +172,11 @@ "usage": "Utilizare: ", "aliases": "Aliasuri: ", "available_commands": "Comenzi disponibile: ", - "description": "Trimite mesajul de ajutor sau afișează informații despre o comandă specificată", "tip_need_permission": "Permisiune: ", "tip_need_no_permission": " Niciuna", "tip_permission_targeted": " (Permisiunea %s este de asemenea necesară pentru a fi folosit pe alți jucători)", - "warn_player_has_no_permission": "Notă> Nu aveți permisiunea de a rula această comandă." + "warn_player_has_no_permission": "Notă> Nu aveți permisiunea de a rula această comandă.", + "description": "Trimite mesajul de ajutor sau afișează informații despre o comandă specificată" }, "kick": { "player_kick_player": "Jucătorul [%s:%s] l-a dat afară pe [%s:%s]", @@ -205,7 +218,7 @@ "description": "Obțineți coordonatele" }, "quest": { - "usage": "quest [questID]", + "usage": "🇺🇸quest [questID]", "added": "Misiunea %s adăugată.", "finished": "Ați terminat misiunea %s.", "not_found": "Misiunea nu a fost găsită.", @@ -292,9 +305,9 @@ "invalid_skill_id": "Skill ID nevalabil.", "set_this": "Setat acest talent ca %s.", "invalid_level": "Nivel de talent nevalabil.", - "normal_attack_id": "Normal Attack ID %s.", - "e_skill_id": "E skill ID %s.", - "q_skill_id": "Q skill ID %s.", + "normal_attack_id": "🇺🇸Normal Attack ID %s.", + "e_skill_id": "🇺🇸E skill ID %s.", + "q_skill_id": "🇺🇸Q skill ID %s.", "description": "Stabilește nivelul de talent pentru personajul tău activ actual" }, "team": { @@ -370,10 +383,10 @@ "title_items": "Elemente", "title_scenes": "Scene", "title_monsters": "Monștri", - "header_id": "Id", + "header_id": "🇺🇸Id", "header_command": "Comandă", "header_description": "Descriere", - "header_avatar": "Avatar", + "header_avatar": "🇺🇸Avatar", "header_item": "Element", "header_scene": "Scenă", "header_monster": "Monstru" @@ -381,7 +394,7 @@ "index": { "title": "Documentație", "handbook": "Manual GM", - "gacha_mapping": "Gacha mapping JSON" + "gacha_mapping": "🇺🇸Gacha mapping JSON" } } -} +} \ No newline at end of file diff --git a/src/main/resources/languages/ru-RU.json b/src/main/resources/languages/ru-RU.json index b1117acc7..91cf5cf26 100644 --- a/src/main/resources/languages/ru-RU.json +++ b/src/main/resources/languages/ru-RU.json @@ -9,7 +9,7 @@ }, "dispatch": { "port_bind": "[Dispatch] Распределительный сервер запущен на порте %s", - "request": "[Dispatch] Client %s %s request: %s", + "request": "🇺🇸[Dispatch] Client %s %s request: %s", "keystore": { "general_error": "[Dispatch] Возникла ошибка при загрузке keystore!", "password_error": "[Dispatch] Не удалось загрузить keystore. Пытаемся использовать пароль для keystore по умолчанию...", @@ -28,18 +28,23 @@ "login_token_attempt": "[Dispatch] Клиент %s пытается войти с помощью токена.", "login_token_error": "[Dispatch] Клиент %s не смог войти с помощью токена.", "login_token_success": "[Dispatch] Клиент %s вошел с помощью токена как %s.", - "combo_token_success": "[Dispatch] Client %s succeed to exchange combo token.", - "combo_token_error": "[Dispatch] Client %s failed to exchange combo token.", + "login_password_error": "🇺🇸[Dispatch] Client %s failed to log in via password.", + "login_password_storage_error": "🇺🇸[Dispatch] Client %s failed to log in via password because there is no password in the database.", + "combo_token_success": "🇺🇸[Dispatch] Client %s succeed to exchange combo token.", + "combo_token_error": "🇺🇸[Dispatch] Client %s failed to exchange combo token.", "account_login_create_success": "[Dispatch] Клиенту %s не удалось войти по причине: Аккаунт %s был создан.", "account_login_create_error": "[Dispatch] Клиенту %s не удалось войти по причне : Не удалось создать аккаунт.", "account_login_exist_error": "[Dispatch] Клиенту %s не удалось войти по причине: Аккаунт не найден.", - "account_cache_error": "Game account cache information error.", + "account_cache_error": "🇺🇸Game account cache information error.", "session_key_error": "Некорректный ключ сессии.", "username_error": "Имя пользователя не обнаружено.", "username_create_error": "Имя пользователя не найденоUsername not found, создание не удалось.", + "password_error": "🇺🇸Invalid Password", + "password_length_error": "🇺🇸Password length must be greater then or equal to 8", + "password_storage_error": "🇺🇸You don't have a password for your account. Please contact an administrator.", "server_max_player_limit": "Число игроков в сети достигло предела" }, - "router_error": "[Dispatch] Unable to attach router." + "router_error": "🇺🇸[Dispatch] Unable to attach router." }, "status": { "free_software": "Grasscutter является БЕСПЛАТНЫМ программным обеспечением. Если вы заплатили за него деньги, то вас обманули. Домашняя страница проекта: https://github.com/Grasscutters/Grasscutter", @@ -55,8 +60,8 @@ "version": "Версия Grasscutter: %s-%s", "game_version": "Версия игры: %s", "resources": { - "loading": "Loading resources...", - "finish": "Finished loading resources." + "loading": "🇺🇸Loading resources...", + "finish": "🇺🇸Finished loading resources." } } }, @@ -82,7 +87,7 @@ "itemLevel": "Некорректный уровень предмета (itemLevel).", "itemRefinement": "Некорректный уровень пробуждения предмета (itemRefinement).", "statValue": "Некорректное значение характеристики.", - "value_between": "Invalid value: %s must be between %s and %s.", + "value_between": "🇺🇸Invalid value: %s must be between %s and %s.", "playerId": "Некорректный ID игрока.", "uid": "Некорректный UID.", "id": "Некорректный ID." @@ -109,26 +114,21 @@ "success": "Успех" }, "account": { - "modify": "Изменить аккаунты пользователя", + "command_usage": "Применение: account <имя_пользователя> [UID]", "invalid": "Некорректный UID.", "exists": "Аккаунт с таким именем пользователя и/или UID уже существует.", "create": "Создан аккаунт с UID %s.", "delete": "Аккаунт удалён.", "no_account": "Аккаунт не найден.", - "command_usage": "Применение: account <имя_пользователя> [UID]", "description": "Изменяет аккаунт пользователя" }, - "broadcast": { - "command_usage": "Применение: broadcast <сообщение>", - "message_sent": "Сообщение отправлено.", - "description": "Отправляет сообщение всем игрокам" - }, - "changescene": { - "usage": "Применение: changescene ", - "already_in_scene": "Вы уже находитесь в этой сцене.", - "success": "Переход в сцену %s.", - "exists_error": "Указанной сцены не существует.", - "description": "Изменяет текущую сцену" + "announce": { + "command_usage": "🇺🇸Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>", + "send_success": "🇺🇸Send an announcement successfully, you can revoke it by /a revoke %s.", + "refresh_success": "🇺🇸Refresh announcement config file successfully. [Total %s]", + "revoke_done": "🇺🇸Try to revoke announcement %s.", + "not_found": "🇺🇸Could not found announcement %s.", + "description": "🇺🇸Send announcement to all online players, or manage server's announcement" }, "clear": { "command_usage": "Применение: clear [lv] [r] [*]", @@ -136,8 +136,8 @@ "artifacts": "Удалены артефакты у %s.", "materials": "Удалены материалы у %s.", "furniture": "Удалена мебель у %s.", - "displays": "Cleared displays for %s.", - "virtuals": "Cleared virtuals for %s.", + "displays": "🇺🇸Cleared displays for %s.", + "virtuals": "🇺🇸Cleared virtuals for %s.", "everything": "Удалено всё у %s.", "description": "Удаляет все неэкипированные на данный момент предметы из инвентаря, включая предметы золотой редкости" }, @@ -146,11 +146,6 @@ "success": "Игрок %s был призван в мир %s.", "description": "Принудительно присоединяет кого-то к миру другого человека. Если не выбрана цель, то вы всё равно войдете в совместный режим." }, - "drop": { - "command_usage": "Применение: drop [кол-во]", - "success": "Были уронены %s игрока %s.", - "description": "Роняет предмет возле вас" - }, "enter_dungeon": { "usage": "Применение: enterdungeon ", "changed": "Произошёл переход в подземелье %s.", @@ -158,40 +153,17 @@ "in_dungeon_error": "Вы уже в этом подземелье.", "description": "Позволяет войти в подземелье" }, - "giveAll": { - "usage": "Применение: giveall [игрок] [кол-во]", - "started": "Получаем все предметы...", - "success": "Все предметы были успешно выданы %s.", - "invalid_amount_or_playerId": "Некорректное число или ID игрока.", - "description": "Выдаёт все предметы" - }, - "giveArtifact": { - "usage": "Применение: giveart|gart [игрок] [[,<раз>]]... [уровень]", - "id_error": "Некорректный ID артефакта.", - "success": "Выдан %s игроку %s.", - "description": "Выдает игроку заданный артефакт" - }, - "giveChar": { - "usage": "Применение: givechar [level]", - "given": "Выдан(а) %s с уровнем %s игроку %s.", - "invalid_avatar_id": "Некорректный ID аватара.", - "invalid_avatar_level": "Некорректный уровень аватара.", - "invalid_avatar_or_player_id": "Некорректный ID игрока или аватара.", - "description": "Выдает игроку заданного персонажа" - }, "give": { "usage": "Применение: give <игрок> [кол-во] [уровень] [пробуждение]", - "refinement_only_applicable_weapons": "Пробуждение применимо только к оружию.", - "refinement_must_between_1_and_5": "Значение пробуждения должно быть от 1 до 5.", + "usage_relic": "🇺🇸Usage: give [mainPropID] [[,]]... [lv]", + "illegal_relic": "🇺🇸This artifactID belongs to a blacklisted range, it may not be the one you wanted.", "given": "Выдано %s %s игроку %s.", "given_with_level_and_refinement": "Выдано %s с уровнем %s, уровнем пробуждения %s %s раз игроку %s.", "given_level": "Выдано %s с уровнем %s %s раз игроку %s.", + "given_avatar": "🇺🇸Given %s with level %s to %s.", + "giveall_success": "🇺🇸Successfully gave all items.", "description": "Выдаёт предмет лично вам или заданному игроку" }, - "godmode": { - "success": "Godmode теперь %s для %s.", - "description": "Не позволяет получать урон. По умолчанию переключается." - }, "heal": { "success": "Все персонажи были вылечены.", "description": "Лечит всех персонажей в вашей команде." @@ -200,6 +172,10 @@ "usage": "Применение: ", "aliases": "Альтернативные названия: ", "available_commands": "Доступные команды: ", + "tip_need_permission": "🇺🇸Permission: ", + "tip_need_no_permission": "🇺🇸 None", + "tip_permission_targeted": "🇺🇸 (Permission %s is also required to use on other players)", + "warn_player_has_no_permission": "🇺🇸Notice: You do not have permission to run this command.", "description": "Отправляет сообщение с помощью или показывает информацию о заданной команде" }, "kick": { @@ -228,10 +204,6 @@ "success": "Сейчас в сети %s игрок(ов):", "description": "Список игроков в сети" }, - "nostamina": { - "success": "NoStamina теперь %s для %s.", - "description": "Поддерживает уровень выносливости на максимуме." - }, "permission": { "usage": "Применение: permission <имя_пользователя> <разрешение>", "add": "Разрешение добавлено.", @@ -268,9 +240,6 @@ "success": "Сброс выполнен успешно.", "description": "Сбрасывает таймер обновления магазина у выбранного игрока" }, - "restart": { - "description": "Перезапускает текущую сессию" - }, "sendMail": { "usage": "Применение: sendmail [ID_шаблона]", "user_not_exist": "Пользователь с ID '%s' не найден.", @@ -307,20 +276,13 @@ "description": "Устанавливает уровень дружбы для активного персонажа" }, "setProp": { - "usage": "Usage: setprop|prop \n\tValues for : godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume", - "description": "Sets accountwide properties. Things like godmode can be enabled this way, as well as changing things like unlocked abyss floor and battle pass progress." + "usage": "🇺🇸Usage: setprop|prop \n\tValues for : godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume", + "description": "🇺🇸Sets accountwide properties. Things like godmode can be enabled this way, as well as changing things like unlocked abyss floor and battle pass progress." }, "setStats": { "usage": "Применение: setstats|stats <хар-ка> <значение>\n\tВозможные значения для <хар-ка>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(прод.) Бонус элементального урона: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(cont.) Элементальное сопротивление: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys\n", "description": "Задаёт боевые характеристики для активного персонажа" }, - "setWorldLevel": { - "usage": "Применение: setworldlevel ", - "value_error": "Уровень мира должен находиться в пределах 0-8.", - "success": "Уровень мира стал равен %s.", - "invalid_world_level": "Некорректный уровень мира.", - "description": "Задает уровень мира (Перезайдите в игру для того, чтобы увидеть результат)" - }, "spawn": { "usage": "Применение: spawn [кол-во] [уровень(только для монстров)] [ (только для монстров, опционально)]", "success": "Заспавнено %s %s.", @@ -376,36 +338,28 @@ "usage": "Применение: tp [@] [ID_сцены]", "specify_player_id": "Нужно указать ID игрока.", "invalid_position": "Некорректная позиция.", + "exists_error": "🇺🇸The specified scene does not exist.", "success": "Игрок %s был телепортирован по координатам %s, %s, %s в сцене %s.", "description": "Изменяет позицию игрока" }, - "unlimitenergy": { - "success": "UnlimitEnergy теперь %s для игрока %s.", - "config_error": "Команда недоступна, поскольку energyUsage равно false в config.json.", - "description": "Используйте данный элемент для того, чтобы не тратить энергию" - }, - "unlocktower": { - "success": "Теперь открыты все этажи Коридора Бездны.", - "description": "Открывает все уровни башни" - }, "weather": { - "description": "Изменяет погоду.Weather IDs can be found in WeatherExcelConfigData.json.\nClimate types: sunny, cloudy, rain, thunderstorm, snow, mist.", "usage": "Usage: weather [weatherId] [climateType]\nWeather IDs can be found in WeatherExcelConfigData.json.\nClimate types: sunny, cloudy, rain, thunderstorm, snow, mist.", - "success": "Set weather ID to %s with climate type %s.", - "status": "Current weather ID is %s with climate type %s." + "success": "🇺🇸Set weather ID to %s with climate type %s.", + "status": "🇺🇸Current weather ID is %s with climate type %s.", + "description": "Изменяет погоду.Weather IDs can be found in WeatherExcelConfigData.json.\nClimate types: sunny, cloudy, rain, thunderstorm, snow, mist." }, "ban": { - "description": "Банит игрока", + "command_usage": "Применение: ban <@Id игрока> [промежуток_времени] [причина]", "success": "Успех.", "failure": "Неудача, игрок не найден.", "invalid_time": "Не удалось определить промежуток времени.", - "command_usage": "Применение: ban <@Id игрока> [промежуток_времени] [причина]" + "description": "Банит игрока" }, "unban": { - "description": "Разбанивает игрока", + "command_usage": "Применение: unban <@Id_игрока>", "success": "Успех.", "failure": "Неудача, игрок не найден.", - "command_usage": "Применение: unban <@Id_игрока>" + "description": "Разбанивает игрока" } }, "gacha": { @@ -443,4 +397,4 @@ "gacha_mapping": "Мапирование системы гача в JSON" } } -} +} \ No newline at end of file diff --git a/src/main/resources/languages/zh-CN.json b/src/main/resources/languages/zh-CN.json index 9eaf00a9d..da7866ffb 100644 --- a/src/main/resources/languages/zh-CN.json +++ b/src/main/resources/languages/zh-CN.json @@ -28,6 +28,8 @@ "login_token_attempt": "[Dispatch] 客户端 %s 正在尝试通过 token 登录", "login_token_error": "[Dispatch] 客户端 %s 通过 token 登录失败", "login_token_success": "[Dispatch] 客户端 %s 已通过 token 登录,UID 为 %s", + "login_password_error": "🇺🇸[Dispatch] Client %s failed to log in via password.", + "login_password_storage_error": "🇺🇸[Dispatch] Client %s failed to log in via password because there is no password in the database.", "combo_token_success": "[Dispatch] 客户端 %s 成功交换 token", "combo_token_error": "[Dispatch] 客户端 %s 交换 token 失败", "account_login_create_success": "[Dispatch] 客户端 %s 登录失败:已注册 UID 为 %s 的账号", @@ -37,6 +39,9 @@ "session_key_error": "会话密钥错误", "username_error": "未找到用户名", "username_create_error": "未找到用户名,建立连接失败", + "password_error": "🇺🇸Invalid Password", + "password_length_error": "🇺🇸Password length must be greater then or equal to 8", + "password_storage_error": "🇺🇸You don't have a password for your account. Please contact an administrator.", "server_max_player_limit": "服务器在线人数已满" }, "router_error": "[Dispatch] 无法连接路由" @@ -372,7 +377,7 @@ }, "documentation": { "handbook": { - "title": "GM Handbook", + "title": "🇺🇸GM Handbook", "title_commands": "命令", "title_avatars": "角色", "title_items": "物品", @@ -388,8 +393,8 @@ }, "index": { "title": "文档", - "handbook": "GM Handbook", + "handbook": "🇺🇸GM Handbook", "gacha_mapping": "祈愿物品映射JSON" } } -} +} \ No newline at end of file diff --git a/src/main/resources/languages/zh-TW.json b/src/main/resources/languages/zh-TW.json index 1d2dbb570..dc4b4f224 100644 --- a/src/main/resources/languages/zh-TW.json +++ b/src/main/resources/languages/zh-TW.json @@ -28,6 +28,8 @@ "login_token_attempt": "[Dispatch] 客戶端 %s 正在嘗試用憑證登入", "login_token_error": "[Dispatch] 客戶端 %s 使用憑證登入失敗", "login_token_success": "[Dispatch] 客戶端 %s 已透過憑證登入,UID為 %s", + "login_password_error": "🇺🇸[Dispatch] Client %s failed to log in via password.", + "login_password_storage_error": "🇺🇸[Dispatch] Client %s failed to log in via password because there is no password in the database.", "combo_token_success": "[Dispatch] 客戶端 %s 交換憑證成功", "combo_token_error": "[Dispatch] 客戶端 %s 交換憑證失敗", "account_login_create_success": "[Dispatch] 客戶端 %s 登入失敗: 已註冊UID為 %s 的帳號", @@ -37,6 +39,9 @@ "session_key_error": "對話密鑰不符。", "username_error": "未找到此用戶名。", "username_create_error": "未找到用戶名,建立失敗。", + "password_error": "🇺🇸Invalid Password", + "password_length_error": "🇺🇸Password length must be greater then or equal to 8", + "password_storage_error": "🇺🇸You don't have a password for your account. Please contact an administrator.", "server_max_player_limit": "伺服器在線人數已滿" }, "router_error": "[Dispatch] 無法附加到路由上。" @@ -55,8 +60,8 @@ "version": "Grasscutter版本: %s-%s", "game_version": "遊戲版本:%s", "resources": { - "loading": "Loading resources...", - "finish": "Finished loading resources." + "loading": "🇺🇸Loading resources...", + "finish": "🇺🇸Finished loading resources." } } }, @@ -68,6 +73,7 @@ "console_execute_error": "此指令只能在伺服器的命令提示字元執行。", "player_execute_error": "請在遊戲裡使用這條指令。", "command_exist_error": "找不到指令。", + "no_usage_specified": "🇺🇸No usage specified", "no_description_specified": "没有指定說明。", "set_to": "%s 已經設為 %s。", "set_for_to": "%s 的使用者 %s 更改為 %s。", @@ -81,7 +87,7 @@ "itemLevel": "無效的物品等級。", "itemRefinement": "無效的物品精煉度。", "statValue": "無效的數據值。", - "value_between": "Invalid value: %s must be between %s and %s.", + "value_between": "🇺🇸Invalid value: %s must be between %s and %s.", "playerId": "無效的玩家ID。", "uid": "無效的UID。", "id": "無效的ID。" @@ -108,14 +114,22 @@ "success": "成功" }, "account": { + "command_usage": "用法:account [uid]", "invalid": "無效的UID。", "exists": "帳號已存在。", "create": "已建立帳號,UID 為 %s 。", "delete": "帳號已刪除。", "no_account": "帳號不存在。", - "command_usage": "用法:account [uid]", "description": "建立或刪除帳號。" }, + "announce": { + "command_usage": "🇺🇸Usage: announce|a <\"tpl\" templateId|\"refresh\"|\"revoke\" templateId|content>", + "send_success": "🇺🇸Send an announcement successfully, you can revoke it by /a revoke %s.", + "refresh_success": "🇺🇸Refresh announcement config file successfully. [Total %s]", + "revoke_done": "🇺🇸Try to revoke announcement %s.", + "not_found": "🇺🇸Could not found announcement %s.", + "description": "🇺🇸Send announcement to all online players, or manage server's announcement" + }, "clear": { "command_usage": "用法: clear [lv] [r] [*]", "weapons": "已將 %s 的武器清空。", @@ -139,37 +153,17 @@ "in_dungeon_error": "你已經在祕境中了。", "description": "進入指定祕境。" }, - "giveAll": { - "usage": "用法:giveall [player] [amount]", - "started": "正在賦予全部物品...", - "success": "已賦予全部物品。", - "invalid_amount_or_playerId": "無效的數量/玩家ID。", - "description": "賦予所有物品。" - }, - "giveArtifact": { - "usage": "用法:giveart|gart [player] [[,]]... [level]", - "id_error": "無效的聖遺物ID。", - "success": "已把 %s 給予 %s。", - "description": "給予指定聖遺物。" - }, "give": { - "usage": "用法:give [amount] [level] [refinement]", - "refinement_only_applicable_weapons": "精煉度只能施加在武器上面。", - "refinement_must_between_1_and_5": "精煉度必需在 1 到 5 之間。", + "usage": "用法:give [amount] [level] [refinement]", + "usage_relic": "🇺🇸Usage: give [mainPropID] [[,]]... [lv]", + "illegal_relic": "🇺🇸This artifactID belongs to a blacklisted range, it may not be the one you wanted.", "given": "已經將 %s 個 %s 給予 %s。", "given_with_level_and_refinement": "已將 %s [等級%s, 精煉%s] %s個給予 %s", "given_level": "已將 %s 等級 %s %s 個給予 %s", - "given_avatar": "已將 %s 等級 %s 給予 %s。", + "given_avatar": "已將 %s 等級 %s 給予 %s。", + "giveall_success": "🇺🇸Successfully gave all items.", "description": "給予指定物品。" }, - "godmode": { - "success": "上帝模式設定為 %s 。 [用戶:%s]", - "description": "防止你受到傷害。" - }, - "nostamina": { - "success": "無限體力狀態: %s。[使用者:%s]", - "description": "開啟後所有動作都不再消耗體力。" - }, "heal": { "success": "所有角色已被治療。", "description": "治療當前隊伍的角色。" @@ -177,12 +171,12 @@ "help": { "usage": "用法:", "aliases": "別名:", - "description": "發送幫助信息或顯示特定命令的信息", "available_commands": "可用指令:", "tip_need_permission": "需要的權限: ", "tip_need_no_permission": "無", "tip_permission_targeted": "(對其他的玩家使用這個指令還需要權限%s)", - "warn_player_has_no_permission": "注意:你沒有執行這條指令的權限" + "warn_player_has_no_permission": "注意:你沒有執行這條指令的權限", + "description": "發送幫助信息或顯示特定命令的信息" }, "kick": { "player_kick_player": "玩家 [%s:%s] 已把 [%s:%s] 踢出", @@ -207,7 +201,7 @@ "description": "顯示或切換當前語言。" }, "list": { - "success": "目前總線上人數:%s" , + "success": "目前總線上人數:%s", "description": "查看所有在線玩家" }, "permission": { @@ -224,23 +218,18 @@ "description": "獲取目前所在位置的座標。" }, "quest": { - "description": "添加或完成任務", "usage": "quest [任務ID]", "added": "已添加任務 %s", "finished": "已完成任務 %s", "not_found": "未找到任務", - "invalid_id": "無效的任務ID" + "invalid_id": "無效的任務ID", + "description": "添加或完成任務" }, "reload": { "reload_start": "正在重新加載設定檔。", "reload_done": "重新加載已完成。", "description": "重新加載設定檔和數據。" }, - "remove": { - "usage": "用法: remove [多個角色在隊伍中的序號] 序號从1开始", - "invalid_index": "序號不合法,從1開始,最大值為隊内角色數量", - "description": "强制移除對内角色,例如`remove 1 2`表示將1號和2號角色從隊伍中移除" - }, "resetConst": { "reset_all": "重設所有角色的命座。", "success": "已重設 %s 的命座,重新登入後將會生效。", @@ -287,23 +276,17 @@ "description": "設定當前角色的好感度等級。" }, "setProp": { - "usage": "Usage: setprop|prop \n\tValues for : godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume", - "description": "Sets accountwide properties. Things like godmode can be enabled this way, as well as changing things like unlocked abyss floor and battle pass progress." + "usage": "🇺🇸Usage: setprop|prop \n\tValues for : godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(cont.) see PlayerProperty enum for other possible values, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume", + "description": "🇺🇸Sets accountwide properties. Things like godmode can be enabled this way, as well as changing things like unlocked abyss floor and battle pass progress." }, "setStats": { "usage": "用法:setstats|stats \n\t可使用的數據類型:hp (生命值)| maxhp (最大生命值) | def(防禦力) | atk (攻擊力)| em (元素精通) | er (元素充能效率) | crate(暴擊率) | cdmg (暴擊傷害)| cdr (冷卻縮減) | heal(治療加成)| heali (受治療加成)| shield (護盾強效)| defi (無視防禦)\n\t(cont.) 元素增傷類:epyro (火傷) | ecryo (冰傷) | ehydro (水傷) | egeo (岩傷) | edendro (草傷) | eelectro (雷傷) | ephys (物傷)(cont.) 元素減傷類:respyro (火抗) | rescryo (冰抗) | reshydro (水抗) | resgeo (岩抗) | resdendro (草抗) | reselectro (雷抗) | resphys (物抗)\n", "description": "設定當前角色的數據類型。" }, - "setWorldLevel": { - "usage": "用法:setworldlevel ", - "value_error": "世界等級必須設定在0-8之間。", - "success": "已將世界等級設為%s。", - "invalid_world_level": "無效的世界等級。", - "description": "設定世界等級,執行指令後需重新登入後才會生效。" - }, "spawn": { "usage": "用法:spawn [amount] [level(僅限怪物)]", "success": "已生成 %s 個 %s。", + "limit_reached": "🇺🇸Scene spawn limit reached. Spawning %s entities instead.", "description": "在你附近生成一個實體動物。" }, "stop": { @@ -355,19 +338,10 @@ "usage": "用法:tp [@] [sceneId]", "specify_player_id": "你必須指定一個玩家ID。", "invalid_position": "無效的座標。", - "exists_error": "此場景不存在。", + "exists_error": "此場景不存在。", "success": "傳送 %s 到座標 %s,%s,%s ,場景為 %s 。", "description": "將玩家的位置傳送到你所指定的座標。" }, - "unlimitenergy": { - "success": "無限元素能量設定為 %s 。 [用戶:%s]", - "config_error": "指令不可用。因為 config.json 中 energyUsage 為 false。", - "description": "使用元素爆發而不消耗能量。" - }, - "unlocktower": { - "success": "解鎖完成。", - "description": "解鎖所有級別的深境螺旋。" - }, "weather": { "usage": "用法:weather [weatherId] [climateType]\n天氣ID可以在 WeatherExcelConfigData.json 中找到。\n氣候型別:sunny(晴天), cloudy(多雲), rain(雨), thunderstorm(雷雨), snow(雪), mist(霧)", "success": "已設定天氣ID 為 %s,氣候型別為 %s。", @@ -375,17 +349,17 @@ "description": "更改天氣ID和氣候型別。天氣ID可以在 WeatherExcelConfigData.json 中找到。\n氣候型別:sunny(晴天), cloudy(多雲), rain(雨), thunderstorm(雷雨), snow(雪), mist(霧)" }, "ban": { - "description": "停權指定玩家。", + "command_usage": "用法:ban <@playerId> [timestamp] [reason]", "success": "停權成功。", "failure": "停權失敗,玩家帳號不存在。", "invalid_time": "無效的時間戳。", - "command_usage": "用法:ban <@playerId> [timestamp] [reason]" + "description": "停權指定玩家。" }, "unban": { - "description": "撤銷停權指定玩家。", + "command_usage": "用法:unban <@playerId>", "success": "撤銷停權成功。", "failure": "撤銷停權失敗,玩家帳號不存在。", - "command_usage": "用法:unban <@playerId>" + "description": "撤銷停權指定玩家。" } }, "gacha": { @@ -403,7 +377,7 @@ }, "documentation": { "handbook": { - "title": "GM Handbook", + "title": "🇺🇸GM Handbook", "title_commands": "指令", "title_avatars": "角色", "title_items": "道具", @@ -419,8 +393,8 @@ }, "index": { "title": "文件", - "handbook": "GM Handbook", + "handbook": "🇺🇸GM Handbook", "gacha_mapping": "祈願物品映射到JSON上" } } -} +} \ No newline at end of file