From 066c932778c718a65ca49ae2a3eccf3a24363028 Mon Sep 17 00:00:00 2001 From: BruceChen Date: Fri, 7 Oct 2022 13:54:11 +0800 Subject: [PATCH] Full "zh-Hans" translation --- MinecraftClient/ChatBots/Alerts.cs | 4 +- .../DefaultConfigResource.Designer.cs | 56 +- MinecraftClient/Resources/lang/de.ini | 24 +- MinecraftClient/Resources/lang/en.ini | 49 +- MinecraftClient/Resources/lang/fr.ini | 24 +- MinecraftClient/Resources/lang/ru.ini | 24 +- MinecraftClient/Resources/lang/vi.ini | 24 +- MinecraftClient/Resources/lang/zh-Hans.ini | 582 +++++++++--------- MinecraftClient/Translations.cs | 17 +- README.md | 2 +- 10 files changed, 361 insertions(+), 445 deletions(-) diff --git a/MinecraftClient/ChatBots/Alerts.cs b/MinecraftClient/ChatBots/Alerts.cs index 42274ebb..ffe8f857 100644 --- a/MinecraftClient/ChatBots/Alerts.cs +++ b/MinecraftClient/ChatBots/Alerts.cs @@ -37,10 +37,10 @@ namespace MinecraftClient.ChatBots [TomlInlineComment("$config.ChatBot.Alerts.Log_File$")] public string Log_File = @"alerts-log.txt"; - [TomlPrecedingComment("$config.ChatBot.Alerts.Matches_File$")] + [TomlPrecedingComment("$config.ChatBot.Alerts.Matches$")] public string[] Matches = new string[] { "Yourname", " whispers ", "-> me", "admin", ".com" }; - [TomlPrecedingComment("$config.ChatBot.Alerts.Excludes_File$")] + [TomlPrecedingComment("$config.ChatBot.Alerts.Excludes$")] public string[] Excludes = new string[] { "myserver.com", "Yourname>:", "Player Yourname", "Yourname joined", "Yourname left", "[Lockette] (Admin)", " Yourname:", "Yourname is" }; public void OnSettingUpdate() diff --git a/MinecraftClient/DefaultConfigResource.Designer.cs b/MinecraftClient/DefaultConfigResource.Designer.cs index 4293b373..a449c6b6 100644 --- a/MinecraftClient/DefaultConfigResource.Designer.cs +++ b/MinecraftClient/DefaultConfigResource.Designer.cs @@ -252,17 +252,18 @@ namespace MinecraftClient { /// /// Looks up a localized string similar to [mcc] ///# Messages from MCC itself + ///mcc.help_us_translate= + ///mcc.run_with_default_settings= + ///mcc.settings_generated= + ///mcc.has_update= ///mcc.login=Login : ///mcc.login_basic_io=Bitte gib einen Nutzernamen oder eine E-Mail deiner Wahl ein. - ///mcc.password=Passwort : + ///mcc.password=Passwort : ///mcc.password_basic_io=Bitte gib das Passwort für {0} ein. ///mcc.password_hidden=Passwort : {0} ///mcc.offline=§8Das Programm läuft im Offline-Modus. ///mcc.session_invalid=§8Gespeicherte Session ungültig oder abgelaufen. - ///mcc.session_valid=§8Gespeicherte Session gültig für {0}. - ///mcc.connecting=Verbinde zu {0}... - ///mcc.ip=Server-IP : - ///mcc.use_version=§8B [rest of string was truncated]";. + ///mcc.session_valid=§8Gespeicherte Ses [rest of string was truncated]";. /// internal static string Translation_de { get { @@ -279,10 +280,10 @@ namespace MinecraftClient { ///mcc.has_update=§eNew version of MCC available: {0} ///mcc.login=Login : ///mcc.login_basic_io=Please type the username or email of your choice. - ///mcc.password=Password : + ///mcc.password=Password: ///mcc.password_basic_io=Please type the password for {0}. - ///mcc.password_hidden=Password : {0} - ///mcc.offline=§8Yo [rest of string was truncated]";. + ///mcc.password_hidden=Password(invisible): {0} + ///mcc.off [rest of string was truncated]";. /// internal static string Translation_en { get { @@ -293,16 +294,18 @@ namespace MinecraftClient { /// /// Looks up a localized string similar to [mcc] ///# Messages from MCC itself + ///mcc.help_us_translate= + ///mcc.run_with_default_settings= + ///mcc.settings_generated= + ///mcc.has_update= ///mcc.login=Connexion : ///mcc.login_basic_io=Veuillez saisir un nom d'utilisateur ou une adresse email. - ///mcc.password=Mot de passe : + ///mcc.password=Mot de passe : ///mcc.password_basic_io=Saisissez le mot de passe pour {0}. ///mcc.password_hidden=Mot de passe : {0} ///mcc.offline=§8Vous avez choisi d'utiliser le mode hors ligne. ///mcc.session_invalid=§8Le cache de la session est invalide ou a expiré. - ///mcc.session_valid=§8Le cache de la session est encore valable pendant {0}. - ///mcc.connecting=Connexion à {0}... - /// [rest of string was truncated]";. + ///mcc.session_va [rest of string was truncated]";. /// internal static string Translation_fr { get { @@ -313,17 +316,18 @@ namespace MinecraftClient { /// /// Looks up a localized string similar to [mcc] ///# Messages from MCC itself + ///mcc.help_us_translate= + ///mcc.run_with_default_settings= + ///mcc.settings_generated= + ///mcc.has_update= ///mcc.login=Логин : ///mcc.login_basic_io=Пожалуйста, введите имя пользователя или email по вашему выбору. - ///mcc.password=Пароль: + ///mcc.password=Пароль: ///mcc.password_basic_io=Пожалуйста, введите пароль для {0}. ///mcc.password_hidden=Пароль: {0} ///mcc.offline=§8Вы выбрали запуск в автономном режиме. ///mcc.session_invalid=§8Кэшированная сессия недействительна или истекла. - ///mcc.session_valid=§8Кэшированная сессия все еще действительна для {0}. - ///mcc.connecting=Подключение к {0}... - ///mcc.ip=IP сервера: - ///mc [rest of string was truncated]";. + ///mcc.session_valid=§8Кэшированная се [rest of string was truncated]";. /// internal static string Translation_ru { get { @@ -334,6 +338,10 @@ namespace MinecraftClient { /// /// Looks up a localized string similar to [mcc] ///# Messages from MCC itself + ///mcc.help_us_translate= + ///mcc.run_with_default_settings= + ///mcc.settings_generated= + ///mcc.has_update= ///mcc.login=Đăng nhập: ///mcc.login_basic_io=Hãy nhập địa chỉ email hoặc tên tài khoản của bạn: ///mcc.password=Mật khẩu: @@ -342,9 +350,7 @@ namespace MinecraftClient { ///mcc.offline=§8Bạn chọn sử dụng chế độ ngoại tuyến. ///mcc.session_invalid=§8Phiên không hợp lệ hoặc đã hết hạn. ///mcc.session_valid=§8Phiên vẫn còn hợp lệ cho {0}. - ///mcc.connecting=Đang kết nối tới {0}... - ///mcc.ip=Địa chỉ máy chủ: - ///mcc.use_version=§8Sử dụng Minecraft phiên bản [rest of string was truncated]";. + ///mcc.profile_ke [rest of string was truncated]";. /// internal static string Translation_vi { get { @@ -362,13 +368,13 @@ namespace MinecraftClient { ///mcc.login=账户名: ///mcc.login_basic_io=请输入用户名或邮箱。 ///mcc.password=密码: - ///mcc.password_basic_io=请输入{0}的密码。 - ///mcc.password_hidden=密码:{0} + ///mcc.password_basic_io=请输入用户 {0} 的密码。 + ///mcc.password_hidden=密码(不会显示):{0} ///mcc.offline=§8您正在使用离线模式。 - ///mcc.session_invalid=§8缓存无效或已过期。 - ///mcc.session_valid=§8{0}的缓存仍然有效。 + ///mcc.session_invalid=§8会话缓存无效或已过期。 + ///mcc.session_valid=§8{0}的会话缓存仍然有效。 ///mcc.profile_key_invalid=§8缓存的聊天签名密钥需要刷新。 - ///mcc.profile_key_valid=§8{0}的聊天签名密钥缓存仍然有效 [rest of string was truncated]";. + ///mcc.profile_key_valid=§8{0 [rest of string was truncated]";. /// internal static string Translation_zh_Hans { get { diff --git a/MinecraftClient/Resources/lang/de.ini b/MinecraftClient/Resources/lang/de.ini index 7b0c05c5..32792f5d 100644 --- a/MinecraftClient/Resources/lang/de.ini +++ b/MinecraftClient/Resources/lang/de.ini @@ -77,7 +77,6 @@ error.login.premium=Dies ist kein Premium-Benutzer. error.login.network=Netzwerkfehler. error.login.ssl=SSL-Fehler. error.login.unknown=Unbekannter Fehler. -error.login.ssl_help=§8Anscheinend hast du dieses Programm mit MONO gestartet.\nBeim ersten Mal musst du HTTPS-Zertifikate mit folgendem Befehl importieren:\nmozroots --import --ask-remove error.login.cancel=Benutzer gecancelled. error.login_failed=Nutzer konnte auf diesem Server nicht angemeldet werden. error.join=Konnte dem Server nicht beitreten. @@ -91,13 +90,7 @@ error.no_version_report=§8Server gibt keine Protokoll-Version an, Autodetection error.connection_timeout=§8Es gab einen Timeout während des Verbindungsaufbaus zu dieser IP. error.forge=§8Forge Login Handshake konnte nicht erfolgreich abgeschlossen werden. error.forge_encrypt=§8Forge StartEncryption Handshake konnte nicht erfolgreich abgeschlossen werden. -error.setting.str2int=Konnte '{0}' nicht in einen Int umwandeln. Bitte überprüfe die Einstellungen. -error.setting.str2double= -error.setting.str2locationList.convert_fail= -error.setting.str2locationList.format_err= error.setting.argument_syntax={0}: Invalid syntax, expecting --argname=value or --section.argname=value -error.setting.unknown_section={0}: Unknown setting section '{1}' -error.setting.unknown_or_invalid={0}: Unknown setting or invalid value error.http_code=§8Es gab einen Fehlercode vom Server: {0} error.auth=§8Es gab einen Fehlercode vom Server, während die Authentication erneuert wurde: {0} error.realms.ip_error=Konnte die Server-IP deiner Realms-Welt nicht abfragen @@ -456,15 +449,10 @@ bot.alerts.end_thunderstorm= # Anti AFK bot.antiafk.not_using_terrain_handling= -bot.antiafk.invalid_range_partial= -bot.antiafk.invalid_range= -bot.antiafk.invalid_value= bot.antiafk.swapping= bot.antiafk.invalid_walk_range= # AutoAttack -bot.autoAttack.mode=Unbekannter Angriffsmodus: {0}. Benutze Einfach als Standard. -bot.autoAttack.priority=Unbekannte Priorität: {0}. Benutze Entfernung als Standard. bot.autoAttack.invalidcooldown=Angriffscooldown kann nicht kleiner als 0 sein. Benutze Auto als Standard. # AutoCraft @@ -493,13 +481,7 @@ bot.autoCraft.aborted=Crafting abgebrochen! Überprüfe die vorhandenen Material bot.autoCraft.craft_fail=Crafting fehlgeschlagen! Warte auf weitere Materialien... bot.autoCraft.timeout=Aktion timeout! Grund: {0} bot.autoCraft.error.config=Fehler bei der Übergabe der Config: {0} -bot.autoCraft.exception.empty=Leere Konfigurationsdatei: {0} -bot.autoCraft.exception.invalid=Ungültige Konfigurationsdatei: {0} -bot.autoCraft.exception.item_miss=Fehlendes Item in Rezept: {0} -bot.autoCraft.exception.invalid_table=Ungültiges tablelocation Format: {0} -bot.autoCraft.exception.item_name=Ungültiger Itemname im Rezept {0} bei {1} bot.autoCraft.exception.name_miss=Fehlender Rezeptname während der Rezeptübergabe -bot.autoCraft.exception.slot=Ungültiges Slot-Feld im Rezept: {0} bot.autoCraft.exception.duplicate=Doppelter Rezeptname angegeben: {0} bot.autoCraft.debug.no_config=Keine Config-Datei gefunden. Schreibe eine neue... bot.autocraft.invaild_slots= @@ -636,8 +618,6 @@ bot.script.fail=Konnte Skript '{0}' nicht starten ({1}). bot.script.pm.loaded=Skript '{0}' geladen. # ScriptScheduler -bot.scriptScheduler.loading=Lade Aufgaben von '{0}' -bot.scriptScheduler.not_found=Datei nicht gefunden: '{0}' bot.scriptScheduler.loaded_task=Lade Aufgabe:\n{0} bot.scriptScheduler.no_trigger=Diese Aufgabe wird niemals ausgelöst:\n{0} bot.scriptScheduler.no_action=Keine Aktion für diese Aufgabe:\n{0} @@ -766,8 +746,8 @@ config.ChatBot.Alerts.Beep_Enabled= config.ChatBot.Alerts.Trigger_By_Words= config.ChatBot.Alerts.Trigger_By_Rain= config.ChatBot.Alerts.Trigger_By_Thunderstorm= -config.ChatBot.Alerts.Matches_File= -config.ChatBot.Alerts.Excludes_File= +config.ChatBot.Alerts.Matches= +config.ChatBot.Alerts.Excludes= config.ChatBot.Alerts.Log_To_File= config.ChatBot.Alerts.Log_File= diff --git a/MinecraftClient/Resources/lang/en.ini b/MinecraftClient/Resources/lang/en.ini index f9c2f0d9..16027d07 100644 --- a/MinecraftClient/Resources/lang/en.ini +++ b/MinecraftClient/Resources/lang/en.ini @@ -6,9 +6,9 @@ mcc.settings_generated=§cSettings file MinecraftClient.ini has been generated. mcc.has_update=§eNew version of MCC available: {0} mcc.login=Login : mcc.login_basic_io=Please type the username or email of your choice. -mcc.password=Password : +mcc.password=Password: mcc.password_basic_io=Please type the password for {0}. -mcc.password_hidden=Password : {0} +mcc.password_hidden=Password(invisible): {0} mcc.offline=§8You chose to run in offline mode. mcc.session_invalid=§8Cached session is invalid or expired. mcc.session_valid=§8Cached session is still valid for {0}. @@ -77,7 +77,6 @@ error.login.premium=User not premium. error.login.network=Network error. error.login.ssl=SSL Error. error.login.unknown=Unknown Error. -error.login.ssl_help=§8It appears that you are using Mono to run this program.\nThe first time, you have to import HTTPS certificates using:\nmozroots --import --ask-remove error.login.cancel=User cancelled. error.login_failed=Failed to login to this server. error.join=An error occured when attempting to join this server. @@ -237,7 +236,7 @@ cmd.changeSlot.changed=Changed to slot {0} cmd.changeSlot.fail=Could not change slot # Chunk -cmd.chunk.desc=Displays the chunk loading status.\nChange enableemoji=false in the settings if the display is confusing. +cmd.chunk.desc=Displays the chunk loading status.\nChange EnableEmoji=false in the settings if the display is confusing. # Connect cmd.connect.desc=connect to the specified server. @@ -432,7 +431,7 @@ cmd.tps.current=Current tps # Useblock cmd.useblock.desc=Place a block or open chest -cmd.useblock.use=Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3} +cmd.useblock.use=Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. # Useitem cmd.useitem.desc=Use (left click) an item on the hand @@ -657,7 +656,7 @@ config.Main.Advanced.message_cooldown=Controls the minimum interval (in seconds) config.Main.Advanced.bot_owners=Set the owner of the bot. /!\ Server admins can impersonate owners! config.Main.Advanced.mc_version=Use "auto" or "1.X.X" values. Allows to skip server info retrieval. config.Main.Advanced.mc_forge=Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. -config.Main.Advanced.brand_info=Use "mcc", "vanilla", or "none". This is how MCC identifies itself to the server. +config.Main.Advanced.brand_info=Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. config.Main.Advanced.chatbot_log_file=Leave empty for no logfile. config.Main.Advanced.private_msgs_cmd_name=For remote control of the bot. config.Main.Advanced.show_system_messages=System messages for server ops. @@ -665,8 +664,8 @@ config.Main.Advanced.show_xpbar_messages=Messages displayed above xp bar, set th config.Main.Advanced.show_chat_links=Decode links embedded in chat messages and show them in console. config.Main.Advanced.show_inventory_layout=Show inventory layout as ASCII art in inventory command. config.Main.Advanced.terrain_and_movements=Uses more ram, cpu, bandwidth but allows you to move around. -config.Main.Advanced.inventory_handling=Toggle inventory handling (beta). -config.Main.Advanced.entity_handling=Toggle entity handling (beta). +config.Main.Advanced.inventory_handling=Toggle inventory handling. +config.Main.Advanced.entity_handling=Toggle entity handling. config.Main.Advanced.session_cache=How to retain session tokens. Use "none", "memory" or "disk". config.Main.Advanced.profilekey_cache=How to retain profile key. Use "none", "memory" or "disk". config.Main.Advanced.resolve_srv_records=Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. @@ -682,7 +681,7 @@ config.Main.Advanced.move_head_while_walking=Enable head movement while walking config.Main.Advanced.timeout=Customize the TCP connection timeout with the server. (in seconds) config.Main.Advanced.enable_emoji=If turned off, the emoji will be replaced with a simpler character (for /chunk status). config.Main.Advanced.movement_speed=A movement speed higher than 2 may be considered cheating. -config.Main.Advanced.language.invaild=The language code is invalid. +config.Main.Advanced.language.invaild=The language code is invalid! # Signature config.Signature=Chat signature related settings (affects minecraft 1.19+) @@ -715,7 +714,7 @@ config.Logging.SaveColorCodes=Keep color codes in the saved text.(look like "§b config.AppVars.Variables=can be used in some other fields as %yourvar%\n# %username% and %serverip% are reserved variables. # Proxy -config.Proxy=Connect to a server via a proxy instead of connecting directly\n# If Mojang session services are blocked on your network, set enabled=login to login using proxy but connect directly to the server\n# If connecting to port 25565 (Minecraft) is blocked on your network, set enabled=true to login & connect using the proxy\n# /!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! +config.Proxy=Connect to a server via a proxy instead of connecting directly\n# If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy.\n# If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server.\n# /!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! config.Proxy.Enabled_Login=Whether to connect to the login server through a proxy. config.Proxy.Enabled_Ingame=Whether to connect to the game server through a proxy. config.Proxy.Server=Proxy server must allow HTTPS for login, and non-443 ports for playing. @@ -724,7 +723,7 @@ config.Proxy.Username=Only required for password-protected proxies. config.Proxy.Password=Only required for password-protected proxies. # ChatFormat -config.ChatFormat=MCC does it best to detect chat messages, but some server have unusual chat formats\n# When this happens, you'll need to configure chat format below, see README > 'Detecting chat messages'\n# Do not forget to uncomment (remove '#') these settings if modifying them +config.ChatFormat=MCC does it best to detect chat messages, but some server have unusual chat formats\n# When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format config.ChatFormat.Builtins=MCC support for common message formats. Set "false" to avoid conflicts with custom formats. config.ChatFormat.UserDefined=Whether to use the custom regular expressions below for detection. @@ -733,10 +732,10 @@ config.MCSettings=Settings below are sent to the server and only affect server-s config.MCSettings.Enabled=If disabled, settings below are not sent to the server. config.MCSettings.Locale=Use any language implemented in Minecraft. config.MCSettings.RenderDistance=Value range: [0 - 255]. -config.MCSettings.Difficulty=MC 1.7- difficulty. peaceful, easy, normal, difficult. -config.MCSettings.ChatMode=Use 'enabled', 'commands', or 'disabled'. Allows to mute yourself... +config.MCSettings.Difficulty=MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". +config.MCSettings.ChatMode=Use "enabled", "commands", or "disabled". Allows to mute yourself... config.MCSettings.ChatColors=Allows disabling chat colors server-side. -config.MCSettings.MainHand=MC 1.9+ main hand. left or right. +config.MCSettings.MainHand=MC 1.9+ main hand. "left" or "right". # ChatBot config.ChatBot================================ #\n# Minecraft Console Client Bots #\n# =============================== # @@ -747,8 +746,8 @@ config.ChatBot.Alerts.Beep_Enabled=Play a beep sound when a word is detected in config.ChatBot.Alerts.Trigger_By_Words=Triggers an alert after receiving a specified keyword. config.ChatBot.Alerts.Trigger_By_Rain=Trigger alerts when it rains and when it stops. config.ChatBot.Alerts.Trigger_By_Thunderstorm=Triggers alerts at the beginning and end of thunderstorms. -config.ChatBot.Alerts.Matches_File=List of words/strings to alert you on. -config.ChatBot.Alerts.Excludes_File=List of words/strings to NOT alert you on. +config.ChatBot.Alerts.Matches=List of words/strings to alert you on. +config.ChatBot.Alerts.Excludes=List of words/strings to NOT alert you on. config.ChatBot.Alerts.Log_To_File=Log alerts info a file. config.ChatBot.Alerts.Log_File=The name of a file where alers logs will be written. @@ -768,14 +767,14 @@ config.ChatBot.AutoAttack.Cooldown_Time=How long to wait between each attack. Se config.ChatBot.AutoAttack.Interaction=Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). config.ChatBot.AutoAttack.Attack_Hostile=Allow attacking hostile mobs. config.ChatBot.AutoAttack.Attack_Passive=Allow attacking passive mobs. -config.ChatBot.AutoAttack.List_Mode=Wether to treat the entities list as a whitelist or as a blacklist. +config.ChatBot.AutoAttack.List_Mode=Wether to treat the entities list as a "whitelist" or as a "blacklist". config.ChatBot.AutoAttack.Entites_List=All entity types can be found here: https://bit.ly/3Rg68lp # ChatBot.AutoCraft -config.ChatBot.AutoCraft=Automatically craft items in your inventory\n# See README > 'Using the AutoCraft bot' for how to use\n# You need to enable Inventory Handling to use this bot\n# You should also enable Terrain and Movements if you need to use a crafting table +config.ChatBot.AutoCraft=Automatically craft items in your inventory\n# See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use\n# You need to enable Inventory Handling to use this bot\n# You should also enable Terrain and Movements if you need to use a crafting table config.ChatBot.AutoCraft.CraftingTable=Location of the crafting table if you intended to use it. Terrain and movements must be enabled. config.ChatBot.AutoCraft.OnFailure=What to do on crafting failure, "abort" or "wait". -config.ChatBot.AutoCraft.Recipes=Recipes.Name: The name can be whatever you like and it is used to represent the recipe.\n# Recipes.Type: crafting table type: player or table\n# Recipes.Result: the resulting item\n# Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots.\n# For the naming of the items, please see:\n# https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs +config.ChatBot.AutoCraft.Recipes=Recipes.Name: The name can be whatever you like and it is used to represent the recipe.\n# Recipes.Type: crafting table type: "player" or "table"\n# Recipes.Result: the resulting item\n# Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots.\n# For the naming of the items, please see:\n# https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs # ChatBot.AutoDrop config.ChatBot.AutoDrop=Automatically drop items in inventory\n# You need to enable Inventory Handling to use this bot\n# See this file for an up-to-date list of item types you can use with this bot:\n# https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs @@ -794,14 +793,14 @@ config.ChatBot.AutoFishing.Fishing_Delay=How long after entering the game to sta config.ChatBot.AutoFishing.Fishing_Timeout=Fishing timeout (seconds). Timeout will trigger a re-cast. config.ChatBot.AutoFishing.Durability_Limit=Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. config.ChatBot.AutoFishing.Auto_Rod_Switch=Switch to a new rod from inventory after the current rod is unavailable. -config.ChatBot.AutoFishing.Stationary_Threshold=Hooks moving in the X and Z axes below this threshold will be considered stationary. -config.ChatBot.AutoFishing.Hook_Threshold=A stationary hook moving on the Y-axis above this threshold will be considered to have caught a fish. -config.ChatBot.AutoFishing.Log_Fish_Bobber=For debugging purposes, you can use this log to adjust the two thresholds mentioned above. +config.ChatBot.AutoFishing.Stationary_Threshold=Hook movement in the X and Z axis less than this value will be considered stationary. +config.ChatBot.AutoFishing.Hook_Threshold=A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. +config.ChatBot.AutoFishing.Log_Fish_Bobber=Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. config.ChatBot.AutoFishing.Enable_Move=This allows the player to change position/facing after each fish caught. config.ChatBot.AutoFishing.Movements=It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. # ChatBot.AutoRelog -config.ChatBot.AutoRelog=Automatically relog when disconnected by server, for example because the server is restating\n# Put keywords/strings such as "Server is restarting" in kick messages file to relog when the message is seen\n# /!\ Use ignorekickmessage=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks +config.ChatBot.AutoRelog=Automatically relog when disconnected by server, for example because the server is restating\n# /!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks config.ChatBot.AutoRelog.Delay=The delay time before joining the server. (in seconds) config.ChatBot.AutoRelog.Retries=Retries when failing to relog to the server. use -1 for unlimited retries. config.ChatBot.AutoRelog.Ignore_Kick_Message=When set to true, autorelog will reconnect regardless of kick messages. @@ -826,7 +825,7 @@ config.ChatBot.HangmanGame=A small game to demonstrate chat interactions. Player config.ChatBot.Mailer=Relay messages between players and servers, like a mail plugin\n# This bot can store messages when the recipients are offline, and send them when they join the server\n# /!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins # ChatBot.Map -config.ChatBot.Map=Allows you to render maps into .jpg images\n# This is useful for solving captchas which use maps\n# The maps are rendered into Rendered_Maps folder.\n# NOTE:\n# This feature is currently only useful for solving captchas which use maps.\n# If some servers have a very short time for solving captchas, enabe auto_render_on_update and prepare to open the file quickly.\n# On linux you can use FTP to access generated files.\n# In the future it might will be possible to display maps directly in the console with a separate command.\n# /!\ Make sure server rules allow bots to be used on the server, or you risk being punished. +config.ChatBot.Map=Allows you to render maps into .jpg images\n# This is useful for solving captchas which use maps\n# The maps are rendered into Rendered_Maps folder.\n# NOTE:\n# This feature is currently only useful for solving captchas which use maps.\n# If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update and prepare to open the file quickly.\n# On linux you can use FTP to access generated files.\n# In the future it might will be possible to display maps directly in the console with a separate command.\n# /!\ Make sure server rules allow bots to be used on the server, or you risk being punished. config.ChatBot.Map.Should_Resize=Should the map be resized? (Default one is small 128x128) config.ChatBot.Map.Resize_To=The size to resize the map to (Note: the bigger it is, the lower the quallity is) config.ChatBot.Map.Auto_Render_On_Update=Automatically render the map once it is received or updated from/by the server @@ -845,4 +844,4 @@ config.ChatBot.ReplayCapture=Enable recording of the game (/replay start) and re config.ChatBot.ReplayCapture.Backup_Interval=How long should replay file be auto-saved, in seconds. Use -1 to disable. # ChatBot.ScriptScheduler -config.ChatBot.ScriptScheduler=Schedule commands and scripts to launch on various events such as server join, date/time or time interval\n# See README > 'Using the Script Scheduler' for more info +config.ChatBot.ScriptScheduler=Schedule commands and scripts to launch on various events such as server join, date/time or time interval\n# See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info diff --git a/MinecraftClient/Resources/lang/fr.ini b/MinecraftClient/Resources/lang/fr.ini index b2af8a9b..8f29db97 100644 --- a/MinecraftClient/Resources/lang/fr.ini +++ b/MinecraftClient/Resources/lang/fr.ini @@ -77,7 +77,6 @@ error.login.premium=L'utilisateur n'est pas premium. error.login.network=Erreur réseau. error.login.ssl=Erreur SSL. error.login.unknown=Erreur inconnue. -error.login.ssl_help=§8Il semblerait que vous utilisez Mono pour lancer ce programme.\nLa première fois, vous devez importer les certificats HTTPS en utilisant :\nmozroots --import --ask-remove error.login.cancel=Annulé par l'utilisateur. error.login_failed=Échec de la connexion au serveur. error.join=Une erreur est survenue lors de la connexion au serveur. @@ -91,13 +90,7 @@ error.no_version_report=§8Le serveur n'indique pas la version de son protocole. error.connection_timeout=§8La connexion à cette adresse IP n'a pas abouti (timeout). error.forge=§8Le Handshake Forge (Login) n'a pas réussi error.forge_encrypt=§8Le Handshake Forge (StartEncryption) n'a pas réussi -error.setting.str2int=Échec de la conversion '{0}' en nombre entier. Veuillez vérifier la configuration. -error.setting.str2double= -error.setting.str2locationList.convert_fail= -error.setting.str2locationList.format_err= error.setting.argument_syntax={0} : Syntaxe invalide, --argname=value ou --section.argname=value attendu -error.setting.unknown_section={0} : Section de configuration '{1}' inconnue -error.setting.unknown_or_invalid={0} : Paramètre inconnu ou valeur invalide error.http_code=§8Code d'erreur indiqué par le serveur : {0} error.auth=§8Le serveur a retourné un code d'erreur lors du rafraichissement de l'authentification : {0} error.realms.ip_error=Impossible de déterminer l'IP du serveur de votre monde Realms @@ -456,15 +449,10 @@ bot.alerts.end_thunderstorm= # Anti AFK bot.antiafk.not_using_terrain_handling= -bot.antiafk.invalid_range_partial= -bot.antiafk.invalid_range= -bot.antiafk.invalid_value= bot.antiafk.swapping= bot.antiafk.invalid_walk_range= # AutoAttack -bot.autoAttack.mode=Mode d'attaque inconnu : {0}. Utilisation du mode par défaut (single). -bot.autoAttack.priority=Priorité inconnue : {0}. Utilisation du mode par défaut (privilégier la distance). bot.autoAttack.invalidcooldown=La valeur du Cooldown d'attaque ne peut pas être plus faible que 0. Utilisation du mode par défaut (distance automatique). # AutoCraft @@ -493,13 +481,7 @@ bot.autoCraft.aborted=Fabrication interrompue ! Vérifiez vos matériaux disponi bot.autoCraft.craft_fail=Échec de la fabrication ! Attente de plus de matériaux bot.autoCraft.timeout=Le délai d'attente de l'action expiré ! Raison : {0} bot.autoCraft.error.config=Erreur de traitement de la configuration : {0} -bot.autoCraft.exception.empty=Fichier de configuration vide : {0} -bot.autoCraft.exception.invalid=Fichier de configuration invalide : {0} -bot.autoCraft.exception.item_miss=Objet manquant dans la recette : {0} -bot.autoCraft.exception.invalid_table=Le format du lieu de l'établi est invalide : {0} -bot.autoCraft.exception.item_name=Nom d'objet invalide dans la recette {0} à {1} bot.autoCraft.exception.name_miss=Nom manquant lors du chargement d'une recette -bot.autoCraft.exception.slot=Slot invalide dans la recette : {0} bot.autoCraft.exception.duplicate=Nom de recette spécifié en double : {0} bot.autoCraft.debug.no_config=Fichier de configuration introuvable. Création d'un nouveau fichier. bot.autocraft.invaild_slots= @@ -636,8 +618,6 @@ bot.script.fail=Le script '{0}' n'a pas pu être lancé ({1}). bot.script.pm.loaded=Script '{0}' chargé. # ScriptScheduler -bot.scriptScheduler.loading=Chargement des tâches depuis '{0}' -bot.scriptScheduler.not_found=Fichier non trouvé : '{0}' bot.scriptScheduler.loaded_task=Tâche chargée :\n{0} bot.scriptScheduler.no_trigger=Cette tâche ne sera jamais déclenchée :\n{0} bot.scriptScheduler.no_action=Aucune action pour cette tâche :\n{0} @@ -766,8 +746,8 @@ config.ChatBot.Alerts.Beep_Enabled= config.ChatBot.Alerts.Trigger_By_Words= config.ChatBot.Alerts.Trigger_By_Rain= config.ChatBot.Alerts.Trigger_By_Thunderstorm= -config.ChatBot.Alerts.Matches_File= -config.ChatBot.Alerts.Excludes_File= +config.ChatBot.Alerts.Matches= +config.ChatBot.Alerts.Excludes= config.ChatBot.Alerts.Log_To_File= config.ChatBot.Alerts.Log_File= diff --git a/MinecraftClient/Resources/lang/ru.ini b/MinecraftClient/Resources/lang/ru.ini index 886b1923..3352c035 100644 --- a/MinecraftClient/Resources/lang/ru.ini +++ b/MinecraftClient/Resources/lang/ru.ini @@ -77,7 +77,6 @@ error.login.premium=Пользователь не премиум-класса. error.login.network=Ошибка сети. error.login.ssl=Ошибка SSL. error.login.unknown=Неизвестная ошибка. -error.login.ssl_help=§8Похоже, что вы используете Mono для запуска этой программы.\nВ первый раз, вы должны импортировать HTTPS сертификаты, используя:\nmozroots --import --ask-remove error.login.cancel=Пользователь отменен. error.login_failed=Не удалось войти на этот сервер. error.join=Не удалось подключиться к этому серверу. @@ -91,13 +90,7 @@ error.no_version_report=§8Сервер не сообщает версию св error.connection_timeout=§8При попытке подключения к этому IP произошел тайм-аут. error.forge=§8Forge Login Handshake не завершилось успешно error.forge_encrypt=§8Forge StartEncryption Handshake не завершилось успешно -error.setting.str2int=Не удалось преобразовать '{0}' в int. Проверьте свои настройки. -error.setting.str2double= -error.setting.str2locationList.convert_fail= -error.setting.str2locationList.format_err= error.setting.argument_syntax={0}: Неверный синтаксис, ожидается --argname=value или --section.argname=value -error.setting.unknown_section={0}: Неизвестный раздел настройки '{1}' -error.setting.unknown_or_invalid={0}: Неизвестная настройка или недопустимое значение error.http_code=§8Получен код ошибки от сервера: {0} error.auth=§8Получили код ошибки от сервера при обновлении аутентификации: {0} error.realms.ip_error=Невозможно получить IP-адрес сервера вашего мира Realms @@ -456,15 +449,10 @@ bot.alerts.end_thunderstorm= # Anti AFK bot.antiafk.not_using_terrain_handling= -bot.antiafk.invalid_range_partial= -bot.antiafk.invalid_range= -bot.antiafk.invalid_value= bot.antiafk.swapping= bot.antiafk.invalid_walk_range= # AutoAttack -bot.autoAttack.mode=Неизвестный режим атаки: {0}. По умолчанию используется одиночный режим. -bot.autoAttack.priority=Неизвестный приоритет: {0}. По умолчанию используется приоритет расстояния. bot.autoAttack.invalidcooldown=Значение кулдауна атаки не может быть меньше 0. По умолчанию используется auto. # AutoCraft @@ -493,13 +481,7 @@ bot.autoCraft.aborted=Разработка прервана! Проверьте bot.autoCraft.craft_fail=Разработка не удалась! Ожидание новых материалов bot.autoCraft.timeout=Время выполнения действия истекло! Причина: {0} bot.autoCraft.error.config=Ошибка при разборе конфига: {0} -bot.autoCraft.exception.empty=Пустой файл конфигурации: {0} -bot.autoCraft.exception.invalid=Неправильный файл конфигурации: {0} -bot.autoCraft.exception.item_miss=Пропущен элемент в рецепте: {0} -bot.autoCraft.exception.invalid_table=Неправильный формат расположения таблицы: {0} -bot.autoCraft.exception.item_name=Неправильное имя элемента в рецепте {0} в {1} bot.autoCraft.exception.name_miss=Пропущено имя рецепта при разборе рецепта -bot.autoCraft.exception.slot=Неправильное поле слота в рецепте: {0} bot.autoCraft.exception.duplicate=Дублируется указанное имя рецепта: {0} bot.autoCraft.debug.no_config=Конфигурация не найдена. Записываем новый. bot.autocraft.invaild_slots= @@ -636,8 +618,6 @@ bot.script.fail=Сценарий '{0}' не удалось запустить ({ bot.script.pm.loaded=Сценарий '{0}' загружен. # ScriptScheduler -bot.scriptScheduler.loading=Загрузка задач из '{0}' -bot.scriptScheduler.not_found=Файл не найден: '{0}' bot.scriptScheduler.loaded_task=Загруженная задача:\n{0} bot.scriptScheduler.no_trigger=Эта задача никогда не сработает:\n{0} bot.scriptScheduler.no_action=Нет действия для задачи:\n{0} @@ -766,8 +746,8 @@ config.ChatBot.Alerts.Beep_Enabled= config.ChatBot.Alerts.Trigger_By_Words= config.ChatBot.Alerts.Trigger_By_Rain= config.ChatBot.Alerts.Trigger_By_Thunderstorm= -config.ChatBot.Alerts.Matches_File= -config.ChatBot.Alerts.Excludes_File= +config.ChatBot.Alerts.Matches= +config.ChatBot.Alerts.Excludes= config.ChatBot.Alerts.Log_To_File= config.ChatBot.Alerts.Log_File= diff --git a/MinecraftClient/Resources/lang/vi.ini b/MinecraftClient/Resources/lang/vi.ini index f85d3355..c84b9047 100644 --- a/MinecraftClient/Resources/lang/vi.ini +++ b/MinecraftClient/Resources/lang/vi.ini @@ -77,7 +77,6 @@ error.login.premium=User not premium. error.login.network=Network error. error.login.ssl=SSL Error. error.login.unknown=Unknown Error. -error.login.ssl_help=§8It appears that you are using Mono to run this program.\nThe first time, you have to import HTTPS certificates using:\nmozroots --import --ask-remove error.login.cancel=User cancelled. error.login_failed=Failed to login to this server. error.join=Failed to join this server. @@ -91,13 +90,7 @@ error.no_version_report=§8Server does not report its protocol version, autodete error.connection_timeout=§8A timeout occured while attempting to connect to this IP. error.forge=§8Forge Login Handshake did not complete successfully error.forge_encrypt=§8Forge StartEncryption Handshake did not complete successfully -error.setting.str2int=Failed to convert '{0}' into an int. Please check your settings. -error.setting.str2double= -error.setting.str2locationList.convert_fail= -error.setting.str2locationList.format_err= error.setting.argument_syntax={0}: Invalid syntax, expecting --argname=value or --section.argname=value -error.setting.unknown_section={0}: Unknown setting section '{1}' -error.setting.unknown_or_invalid={0}: Unknown setting or invalid value error.http_code=§8Got error code from server: {0} error.auth=§8Got error code from server while refreshing authentication: {0} error.realms.ip_error=Cannot retrieve the server IP of your Realms world @@ -456,15 +449,10 @@ bot.alerts.end_thunderstorm= # Anti AFK bot.antiafk.not_using_terrain_handling= -bot.antiafk.invalid_range_partial= -bot.antiafk.invalid_range= -bot.antiafk.invalid_value= bot.antiafk.swapping= bot.antiafk.invalid_walk_range= # AutoAttack -bot.autoAttack.mode=Unknown attack mode: {0}. Using single mode as default. -bot.autoAttack.priority=Unknown priority: {0}. Using distance priority as default. bot.autoAttack.invalidcooldown=Attack cooldown value cannot be smaller than 0. Using auto as default # AutoCraft @@ -493,13 +481,7 @@ bot.autoCraft.aborted=Crafting aborted! Check your available materials. bot.autoCraft.craft_fail=Crafting failed! Waiting for more materials bot.autoCraft.timeout=Action timeout! Reason: {0} bot.autoCraft.error.config=Error while parsing config: {0} -bot.autoCraft.exception.empty=Empty configuration file: {0} -bot.autoCraft.exception.invalid=Invalid configuration file: {0} -bot.autoCraft.exception.item_miss=Missing item in recipe: {0} -bot.autoCraft.exception.invalid_table=Invalid tablelocation format: {0} -bot.autoCraft.exception.item_name=Invalid item name in recipe {0} at {1} bot.autoCraft.exception.name_miss=Missing recipe name while parsing a recipe -bot.autoCraft.exception.slot=Invalid slot field in recipe: {0} bot.autoCraft.exception.duplicate=Duplicate recipe name specified: {0} bot.autoCraft.debug.no_config=No config found. Writing a new one. bot.autocraft.invaild_slots= @@ -636,8 +618,6 @@ bot.script.fail=Script '{0}' failed to run ({1}). bot.script.pm.loaded=Script '{0}' loaded. # ScriptScheduler -bot.scriptScheduler.loading=Loading tasks from '{0}' -bot.scriptScheduler.not_found=File not found: '{0}' bot.scriptScheduler.loaded_task=Loaded task:\n{0} bot.scriptScheduler.no_trigger=This task will never trigger:\n{0} bot.scriptScheduler.no_action=No action for task:\n{0} @@ -766,8 +746,8 @@ config.ChatBot.Alerts.Beep_Enabled= config.ChatBot.Alerts.Trigger_By_Words= config.ChatBot.Alerts.Trigger_By_Rain= config.ChatBot.Alerts.Trigger_By_Thunderstorm= -config.ChatBot.Alerts.Matches_File= -config.ChatBot.Alerts.Excludes_File= +config.ChatBot.Alerts.Matches= +config.ChatBot.Alerts.Excludes= config.ChatBot.Alerts.Log_To_File= config.ChatBot.Alerts.Log_File= diff --git a/MinecraftClient/Resources/lang/zh-Hans.ini b/MinecraftClient/Resources/lang/zh-Hans.ini index 723be3d0..7c657036 100644 --- a/MinecraftClient/Resources/lang/zh-Hans.ini +++ b/MinecraftClient/Resources/lang/zh-Hans.ini @@ -7,15 +7,15 @@ mcc.has_update=§e新版本的MCC已经推出:{0} mcc.login=账户名: mcc.login_basic_io=请输入用户名或邮箱。 mcc.password=密码: -mcc.password_basic_io=请输入{0}的密码。 -mcc.password_hidden=密码:{0} +mcc.password_basic_io=请输入用户 {0} 的密码。 +mcc.password_hidden=密码(不会显示):{0} mcc.offline=§8您正在使用离线模式。 -mcc.session_invalid=§8缓存无效或已过期。 -mcc.session_valid=§8{0}的缓存仍然有效。 +mcc.session_invalid=§8会话缓存无效或已过期。 +mcc.session_valid=§8{0}的会话缓存仍然有效。 mcc.profile_key_invalid=§8缓存的聊天签名密钥需要刷新。 mcc.profile_key_valid=§8{0}的聊天签名密钥缓存仍然有效. mcc.connecting=正在连接至{0}... -mcc.fetching_key= +mcc.fetching_key=正在从微软获取聊天签名密钥。 mcc.ip=服务器IP: mcc.use_version=§8正在运行Minecraft版本{0} (v{1}协议) mcc.unknown_version=§8未知或不受支持的Minecraft版本{0}。\n正在切换至自动检测模式。 @@ -26,7 +26,7 @@ mcc.found=§8已找到服务器{0}:{1},域名:{2} mcc.not_found=§8无法执行{0}的SRV解析\n{1}:{2} mcc.retrieve=正在获取服务器信息... mcc.restart=正在重启Minecraft Console Client... -mcc.restart_delay=等待{0}秒后重启... +mcc.restart_delay=等待 {0} 秒后重启... mcc.server_version=服务器版本: mcc.disconnected=未连接至任何服务器。输入 '{0}help' 获得帮助。 mcc.press_exit=或者敲击回车退出Minecraft Console Client。 @@ -43,19 +43,19 @@ mcc.player_dead=你死了!输入 '{0}respawn' 重生。 mcc.server_offline=§8服务器正处于离线模式。 mcc.session=检查会话... mcc.session_fail=检查会话失败 -mcc.server_protocol=§8服务器版本:{0} (v{1}协议) +mcc.server_protocol=§8服务器的Minecraft版本:{0} (协议v{1}) mcc.with_forge=, 带有Forge mcc.handshake=§8握手成功。 (服务器ID:{0}) mcc.realms_available==您可以访问以下Realms世界 -mcc.realms_join=请使用realms:<序号>作为服务器IP加入Realms世界 -mcc.generator.generating= -mcc.generator.done= +mcc.realms_join=请使用"realms:<序号>"作为服务器IP加入Realms世界 +mcc.generator.generating=正在从 {1} 生成 {0} 信息。 +mcc.generator.done=已完成从 {0} 信息生成,使用 {1} [debug] # Messages from MCC Debug Mode -debug.color_test=颜色测试:终端应该显示的颜色是:{0} +debug.color_test=颜色测试:终端应该显示:{0} debug.session_cache_ok=§8已成功从磁盘中加载会话数据。 -debug.session_cache_fail=§8无法从磁盘加载会话 +debug.session_cache_fail=§8无法从磁盘加载缓存的会话数据。 debug.keys_cache_ok=§8已成功从磁盘中加载聊天签名密钥。 debug.keys_cache_fail=§8无法从磁盘中加载聊天签名密钥。 debug.session_id=成功!(会话ID:{0}) @@ -69,15 +69,14 @@ error.unsupported=无法连接到服务器:不支持此版本! error.determine=无法确定服务器版本。 error.forgeforce=无法为此Minecraft版本强制启动Forge支持! error.login=登录失败: -error.login.migrated=帐户已迁移,使用电子邮件作为用户名。 +error.login.migrated=帐户已迁移,请使用电子邮件作为用户名。 error.login.server=登录服务器不可用。请稍后再试。 error.login.blocked=用户名/密码错误、IP被禁用或登录次数过多。 -error.login.response=服务器响应无效。 +error.login.response=服务器返回了无效的响应。 error.login.premium=不是Premium用户。 error.login.network=网络错误。 error.login.ssl=SSL错误。 error.login.unknown=未知错误。 -error.login.ssl_help=§8您似乎正在使用Mono运行此程序.\n当第一次运行,您必须使用以下命令导入HTTPS证书:\nmozroots --import --ask-remove error.login.cancel=用户取消。 error.login_failed=无法登录到此服务器。 error.join=加入服务器时发生错误。 @@ -91,13 +90,7 @@ error.no_version_report=§8服务器未报告其协议版本,自动检测将 error.connection_timeout=§8尝试连接到此IP时超时。 error.forge=§8Forge登录握手未成功完成 error.forge_encrypt=§8Forge StartEncryption握手未成功完成 -error.setting.str2int=无法将'{0}'转换为一个整数。请检查设置。 -error.setting.str2double=无法将'{0}'转换为一个浮点数。请检查设置。 -error.setting.str2locationList.convert_fail= -error.setting.str2locationList.format_err= error.setting.argument_syntax={0}:无效语法,应为 --argname=value 或 --section.argname=value -error.setting.unknown_section={0}:未知设置部分'{1}' -error.setting.unknown_or_invalid={0}:未知设置或无效值 error.http_code=§8接收到服务器错误:{0} error.auth=§8在刷新身份验证时接收到服务器错误:{0} error.realms.ip_error=无法获取您Realms世界的服务器IP @@ -105,11 +98,11 @@ error.realms.access_denied=此Realms世界不存在或访问被拒绝 error.realms.server_unavailable=Realms服务器可能需要一些时间来启动。请稍后再试。 error.realms.server_id=Realms服务器ID无效或未知。 error.realms.disabled=正在尝试加入Realms世界,但配置中禁用了Realms支持 -error.missing.argument= -error.usage= -error.generator.invalid= -error.generator.path= -error.generator.json= +error.missing.argument=缺少参数 {0} +error.usage=使用方法: +error.generator.invalid=该生成器命令用法无效! +error.generator.path=提供的数据路径无效! (路径不存在或是输入错误) +error.generator.json=提供的路径必须指向一个.json格式的文件! [internal command] # MCC internal help command @@ -143,19 +136,19 @@ filemonitor.fail=§8[{0}] 无法初始化FileSystemWatcher,正在使用轮询 [extra] # Inventory, Terrain & Movements, Entity related messages # Terrain & Movements -extra.terrainandmovement_enabled=地形和移动现在已启用。 -extra.terrainandmovement_disabled=§c该MC版本目前未支持处理地形和移动。 -extra.terrainandmovement_required=请先在配置文件中启用地形和移动。 +extra.terrainandmovement_enabled=地形和移动处理现在已启用。 +extra.terrainandmovement_disabled=§c该游戏版本目前还不支持地形和移动处理。 +extra.terrainandmovement_required=请先在配置文件中启用地形和移动处理。 # Inventory -extra.inventory_enabled=物品栏处理现在已启用。 -extra.inventory_disabled=§c该MC版本目前未支持处理物品栏。 -extra.inventory_required=请先在配置文件中启用InventoryHandling。 +extra.inventory_enabled=库存(物品)处理现在已启用。 +extra.inventory_disabled=§c该MC版本目前未支持处理库存(物品)。 +extra.inventory_required=请先在配置文件中启用"Main.Advanced.inventory_handling"。 extra.inventory_interact=请使用 /inventory 来与其交互。 -extra.inventory_open=物品栏# {0}已开启:{1} -extra.inventory_close=物品栏# {0}已关闭。 +extra.inventory_open=容器# {0}已开启:{1} +extra.inventory_close=容器# {0}已关闭。 # Entity -extra.entity_disabled=§c该MC版本当前未支持处理实体。 -extra.entity_required=请先在配置文件中启用EntityHandling。 +extra.entity_disabled=§c该MC版本当前还不支持处理实体。 +extra.entity_required=请先在配置文件中启用"Main.Advanced.entity_handling"。 [forge] @@ -205,14 +198,14 @@ proxy.connected=§8已连接到代理{0}:{1} [chat] # Chat Parser -chat.download=§8从Mojang服务器下载 '{0}.lang'... +chat.download=§8正在从Mojang服务器下载语言文件 '{0}.lang'... chat.request=§8正在请求{0}... -chat.done=§8完成。文件另存为 '{0}' +chat.done=§8下载完成。文件另存为 '{0}' chat.fail=§8下载文件失败。 chat.from_dir=§8默认为你的Minecraft目录中的en_GB.lang chat.loaded=§8已加载翻译文件。 chat.not_found=§8找不到翻译文件:'{0}'\n如果没有此文件,某些信息将无法正确打印。 -chat.message_chain_broken= +chat.message_chain_broken=玩家 {0} 的消息签名链已经被破坏。(签名不在可信) [general] # General message/information (i.e. Done) @@ -229,12 +222,12 @@ general.available_cmd=可用命令:{0} cmd.animation.desc=挥动你的手臂。 # Bots -cmd.bots.desc= -cmd.bots.list= -cmd.bots.notfound= -cmd.bots.noloaded= -cmd.bots.unloaded= -cmd.bots.unloaded_all= +cmd.bots.desc=列出全部 ChatBot ,加载或卸载一个 ChatBot。 +cmd.bots.list=已加载的 ChatBot +cmd.bots.notfound=该 ChatBot 并未加载,请检查输入。 +cmd.bots.noloaded=没有 ChatBot 被加载。 +cmd.bots.unloaded=成功卸载 ChatBot:{0} +cmd.bots.unloaded_all=成功卸载所有 ChatBot。 # ChangeSlot cmd.changeSlot.desc=变更快捷栏栏位 @@ -243,7 +236,7 @@ cmd.changeSlot.changed=已变更为栏位{0} cmd.changeSlot.fail=无法变更栏位 # Chunk -cmd.chunk.desc= +cmd.chunk.desc=显示区块加载状态。\n如果显示错乱竟在设置中更改 EnableEmoji=false 。 # Connect cmd.connect.desc=连接到指定的服务器。 @@ -287,17 +280,17 @@ cmd.entityCmd.location=位置 cmd.entityCmd.type=类型 # Exec If -cmd.execif.desc= -cmd.execif.executed= -cmd.execif.executed_no_output= -cmd.execif.error_occured= -cmd.execif.error= +cmd.execif.desc=允许你在某个条件成立时执行一个命令。(你可以使用"MinecraftClient.ini"中的变量和使用"/set"命令定义的变量,以及CSharp表达式)。 +cmd.execif.executed=条件'{0}'满足,已执行命令'{1}',得到结果'{2}'。 +cmd.execif.executed_no_output=条件'{0}'满足,已执行命令'{1}',该命令没有返回任何结果。 +cmd.execif.error_occured=在执行命令 {0} 时出现错误。 +cmd.execif.error=错误:{0} # Exec Multi -cmd.execmulti.desc= -cmd.execmulti.executed= -cmd.execmulti.result= -cmd.execmulti.no_result= +cmd.execmulti.desc=依次执行多个命令。 +cmd.execmulti.executed=执行了命令 '{0}' , +cmd.execmulti.result=结果为 '{0}'! +cmd.execmulti.no_result=没有返回结果! # Exit cmd.exit.desc=断开与服务器的连接。 @@ -307,26 +300,26 @@ cmd.health.desc=显示生命值和饱食度。 cmd.health.response=生命值:{0},饱食度:{1},等级:{2},总经验值:{3} # Inventory -cmd.inventory.desc=物品栏相关命令 -cmd.inventory.creative_done=向栏位#{2}请求{0} x{1} +cmd.inventory.desc=容器相关命令 +cmd.inventory.creative_done=向容器#{2}请求{0} x{1} cmd.inventory.creative_delete=请求清除栏位 #{0} cmd.inventory.creative_fail=请求创造模式操作失败 cmd.inventory.need_creative=你必须在创造模式 cmd.inventory.container_not_found=找不到容器,请使用显式ID重试 -cmd.inventory.close=关闭物品栏 #{0} -cmd.inventory.close_fail=关闭物品栏失败 #{0} -cmd.inventory.not_exist=物品栏#{0}不存在 -cmd.inventory.inventory=物品栏 -cmd.inventory.inventories=物品栏集 -cmd.inventory.inventories_available= +cmd.inventory.close=关闭容器 #{0} +cmd.inventory.close_fail=关闭容器失败 #{0} +cmd.inventory.not_exist=容器#{0}不存在 +cmd.inventory.inventory=容器 +cmd.inventory.inventories=容器 +cmd.inventory.inventories_available=可用容器 cmd.inventory.hotbar=您选择的快捷栏是{0} cmd.inventory.damage=武器伤害值 cmd.inventory.left=左 cmd.inventory.right=右 cmd.inventory.middle=中间 -cmd.inventory.clicking={0}正在点击窗口#{2}中的栏位{1} -cmd.inventory.shiftclick= -cmd.inventory.shiftclick_fail= +cmd.inventory.clicking={0}正在点击容器#{2}中的栏位{1} +cmd.inventory.shiftclick=按住Shift键点击容器#{1}中的栏位{0} +cmd.inventory.shiftclick_fail=执行Shift点击失败,这可能是因为该容器类型目前不被支持。 cmd.inventory.no_item=栏位#{0}中没有物品 cmd.inventory.drop=从栏位#{0}中丢弃了1个物品 cmd.inventory.drop_stack=从栏位#{0}中丢弃了所有堆叠的物品 @@ -335,32 +328,32 @@ cmd.inventory.help.basic=基本用法 cmd.inventory.help.available=可用操作 cmd.inventory.help.help={0}\n使用 '/inventory help ' 获取帮助。\n'player' 和 'container' 可以简化为 'p' 和 'c'。\n请注意,'[]' 中的参数是可选的。 cmd.inventory.help.usage=用法 -cmd.inventory.help.list=列出你的物品栏。 +cmd.inventory.help.list=列出所有容器。 cmd.inventory.help.close=关闭打开的容器。 cmd.inventory.help.click=单击物品。 -cmd.inventory.help.shiftclick= -cmd.inventory.help.drop=从物品栏中丢弃物品。 +cmd.inventory.help.shiftclick=按住Shift键点击一个物品。 +cmd.inventory.help.drop=从容器中丢弃物品。 cmd.inventory.help.creativegive=在创造模式中给予物品。 cmd.inventory.help.creativedelete=在创造性模式中清除栏位。 -cmd.inventory.help.inventories= -cmd.inventory.help.search= +cmd.inventory.help.inventories=列出所有可用的窗口。 +cmd.inventory.help.search=在打开的所有窗口中搜索物品。 cmd.inventory.help.unknown=未知操作。 -cmd.inventory.found_items= -cmd.inventory.no_found_items= +cmd.inventory.found_items=找到物品 +cmd.inventory.no_found_items=在任何窗口中都没有找到该物品! # Leave bed -cmd.bed.desc= -cmd.bed.leaving= -cmd.bed.trying_to_use= -cmd.bed.in= -cmd.bed.not_in= -cmd.bed.not_a_bed= -cmd.bed.searching= -cmd.bed.bed_not_found= -cmd.bed.found_a_bed_at= -cmd.bed.cant_reach_safely= -cmd.bed.moving= -cmd.bed.failed_to_reach_in_time= +cmd.bed.desc=用于右键床开始睡觉或离开正在睡觉的床。 +cmd.bed.leaving=已向服务器发送离开床的数据包。 +cmd.bed.trying_to_use=试图在位于 (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) 上的床上睡觉,结果:{3} +cmd.bed.in=成功地躺在了床上! +cmd.bed.not_in=上床睡觉失败了。(PS: 你必须使用床头对应的坐标) +cmd.bed.not_a_bed=位于 (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) 的方块不是一个床! +cmd.bed.searching=在半径为{0}的范围内寻找床... +cmd.bed.bed_not_found=没有找到床! +cmd.bed.found_a_bed_at=在 (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) 找到了一个床。 +cmd.bed.cant_reach_safely=无法安全地到达床边! +cmd.bed.moving=正在移动到床所在的位置: (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) +cmd.bed.failed_to_reach_in_time=无法在30秒内到达(X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}),放弃本次寻路。 # List cmd.list.desc=获取玩家列表。 @@ -388,20 +381,20 @@ cmd.move.fail=无法计算到达{0}的路径。 cmd.move.suggestforce=无法计算安全到达{0}的路径. 请使用 -f 参数允许不安全移动。 cmd.move.gravity.enabled=重力已开启。 cmd.move.gravity.disabled=重力已关闭。 -cmd.move.chunk_loading_status= -cmd.move.chunk_not_loaded= +cmd.move.chunk_loading_status=区块加载进度:{0:P} - 共{2}个,加载完成了{1}个。 +cmd.move.chunk_not_loaded=目标位置所在的区块还没有被加载。你可以使用"/chunk status {0:0.0} {1:0.0} {2:0.0}"来查看区块的加载状态。 # Reco cmd.reco.desc=重新启动并重新连接到服务器。 # Reload -cmd.reload.started= -cmd.reload.warning1= -cmd.reload.warning2= -cmd.reload.warning3= -cmd.reload.warning4= -cmd.reload.finished= -cmd.reload.desc= +cmd.reload.started=重新加载设置中... +cmd.reload.warning1=这条命令不会影响在连接到服务器之前的某些设置。 +cmd.reload.warning2=一些通过命令行参数传递的设置可能会被覆盖! +cmd.reload.warning3=你有可能需要重新连接(/reco)才能使某些设置生效。 +cmd.reload.warning4=由于技术限制,ReplayCapturer 将不会被强制重载! +cmd.reload.finished=重新加载设置完成! +cmd.reload.desc=重新加载MCC的设置。 # Respawn cmd.respawn.desc=如果你死亡了,请用这个来重生。 @@ -428,8 +421,8 @@ cmd.sneak.on=现在你在潜行状态。 cmd.sneak.off=你不在潜行状态了。 # DropItem -cmd.dropItem.desc=丢弃玩家物品栏中的指定类型物品或打开的容器 -cmd.dropItem.dropped=已从物品栏#{1}中丢弃所有{0} +cmd.dropItem.desc=丢弃玩家容器中的指定类型物品或打开的容器 +cmd.dropItem.dropped=已从容器#{1}中丢弃所有{0} cmd.dropItem.unknown_item=未知物品:{0} # Tps @@ -438,7 +431,7 @@ cmd.tps.current=当前TPS # Useblock cmd.useblock.desc=放置一个方块或打开箱子 -cmd.useblock.use= +cmd.useblock.use=使用位于 ({0:0.0}, {1:0.0}, {2:0.0}) 的 {3}。 # Useitem cmd.useitem.desc=使用(左键单击)手上的物品 @@ -455,16 +448,11 @@ bot.alerts.start_thunderstorm=§c天气变化:现在是雷雨天。§r bot.alerts.end_thunderstorm=§c天气变化:现在不再是雷雨天了。§r # Anti AFK -bot.antiafk.not_using_terrain_handling= -bot.antiafk.invalid_range_partial= -bot.antiafk.invalid_range= -bot.antiafk.invalid_value= -bot.antiafk.swapping= -bot.antiafk.invalid_walk_range= +bot.antiafk.not_using_terrain_handling=当前未启用地形处理,如果你想使用相关的特性,请在设置中启用它。当前将继续使用替代方法运行(定时发送命令)。 +bot.antiafk.swapping=最短时间大于最长时间,已将它们交换。 +bot.antiafk.invalid_walk_range=当前提供的行走范围无效,它必须是一个大于0的正整数,将使用默认值5! # AutoAttack -bot.autoAttack.mode=未知的攻击模式:{0},使用单一模式作为默认值。 -bot.autoAttack.priority=未知优先模式:{0},使用距离优先作为默认值。 bot.autoAttack.invalidcooldown=攻击冷却时间值不能小于0,已使用自动作为默认值 # AutoCraft @@ -487,23 +475,17 @@ bot.autoCraft.loaded=已成功加载 bot.autoCraft.start=AutoCraft启动中:{0} bot.autoCraft.start_fail=无法启动AutoCraft。请检查用于制作{0}的可用材料 bot.autoCraft.table_not_found=找不到工作台 -bot.autoCraft.close_inventory=物品栏#{0}被AutoCraft关闭 +bot.autoCraft.close_inventory=容器#{0}被AutoCraft关闭 bot.autoCraft.missing_material=缺失材料:{0} bot.autoCraft.aborted=制作被终止!请检查可用材料。 bot.autoCraft.craft_fail=制作失败!等待更多材料 bot.autoCraft.timeout=动作超时!原因:{0} bot.autoCraft.error.config=分析配置时出错:{0} -bot.autoCraft.exception.empty=空配置文件:{0} -bot.autoCraft.exception.invalid=配置文件无效:{0} -bot.autoCraft.exception.item_miss=配方中缺少物品:{0} -bot.autoCraft.exception.invalid_table=tablelocation格式无效:{0} -bot.autoCraft.exception.item_name=配方{0}中在{1}的物品名称无效 bot.autoCraft.exception.name_miss=解析配方时缺少配方名称 -bot.autoCraft.exception.slot=配方中的栏位字段无效:{0} bot.autoCraft.exception.duplicate=指定了重复的配方名称:{0} bot.autoCraft.debug.no_config=找不到配置。请新建一个。 -bot.autocraft.invaild_slots= -bot.autocraft.invaild_invaild_result= +bot.autocraft.invaild_slots=配方的物品数量不匹配,已自动调整。 +bot.autocraft.invaild_invaild_result=无效的输出物品! # AutoDrop bot.autoDrop.cmd=AutoDrop ChatBot命令 @@ -519,20 +501,20 @@ bot.autoDrop.list=列表中总计{0}个物品:\n {1} bot.autoDrop.switched= 切换到{0}模式。 bot.autoDrop.unknown_mode=未知模式。可用的模式:Include, Exclude, Everything bot.autoDrop.no_mode=无法从配置中读取丢弃模式(drop mode)。使用Include模式。 -bot.autoDrop.no_inventory=找不到物品栏{0}! +bot.autoDrop.no_inventory=找不到容器{0}! # AutoFish -bot.autoFish.no_inv_handle= -bot.autoFish.start= -bot.autoFish.throw=抛竿 -bot.autoFish.caught=钓到鱼了! -bot.autoFish.caught_at= -bot.autoFish.no_rod=手上没有鱼竿,可能用坏了? -bot.autoFish.despawn= -bot.autoFish.fishing_timeout= -bot.autoFish.cast_timeout= -bot.autoFish.update_lookat= -bot.autoFish.switch= +bot.autoFish.no_inv_handle=未启用库存(物品)处理。将不支持检查鱼竿耐久度都和自动切换鱼竿。 +bot.autoFish.start=将在 {0:0.0} 秒后自动开始钓鱼。 +bot.autoFish.throw=抛竿成功。 +bot.autoFish.caught=钓到了一条鱼!(总计 {0} 条) +bot.autoFish.caught_at=在 ({0:0.0},{1:0.0},{2:0.0}) 掉到了一条鱼!(总计 {0} 条) +bot.autoFish.no_rod=没有可使用的钓鱼竿了。也许是用坏了或耐久度过低? +bot.autoFish.despawn=鱼钩消失,将会重新抛竿。 +bot.autoFish.fishing_timeout=钓鱼超时,将于几秒钟后重新抛竿。 +bot.autoFish.cast_timeout=抛竿超时,将在等待一段时间后重试。(超时时间延长至 {0:0.0} 秒) +bot.autoFish.update_lookat=更新当前朝向 偏航角(yaw) = {0:0.00}, 俯仰角(pitch) = {1:0.00}。 +bot.autoFish.switch=切换到位于背包 {0} 位置的鱼竿,剩余耐用 {1}/64。 # AutoRelog bot.autoRelog.launch=已启动,尝试了{0}次重新连接 @@ -593,15 +575,15 @@ bot.mailer.cmd.ignore.invalid=丢失或无效的名称。用法:{0}<用户名> bot.mailer.cmd.help=查看用法 # Maps -bot.map.cmd.desc= -bot.map.cmd.not_found= -bot.map.cmd.invalid_id= -bot.map.received= -bot.map.no_maps= -bot.map.received_map= -bot.map.rendered= -bot.map.failed_to_render= -bot.map.list_item= +bot.map.cmd.desc=渲染物品形式的地图 +bot.map.cmd.not_found=没有找到编号为 '{0}' 的地图! +bot.map.cmd.invalid_id=无效的地图编号,必须是一个数字。 +bot.map.received=从服务器接收到的地图有: +bot.map.no_maps=没有收到过地图! +bot.map.received_map=收到一个编号为 {0} 的新地图。 +bot.map.rendered=成功接收到地图 '{0}' ,保存为 '{1}' +bot.map.failed_to_render=无法渲染编号为 '{0}' 的地图。 +bot.map.list_item=- 地图编号:{0}(最近更新于:{1}) # ReplayCapture bot.replayCapture.cmd=replay 命令 @@ -610,24 +592,24 @@ bot.replayCapture.stopped=录制已停止。 bot.replayCapture.restart=录制已停止。请重新启动程序以进行另一段录制。 # Follow player -cmd.follow.desc= -cmd.follow.usage= -cmd.follow.already_stopped= -cmd.follow.stopping= -cmd.follow.invalid_name= -cmd.follow.invalid_player= -cmd.follow.cant_reach_player= -cmd.follow.already_following= -cmd.follow.switched= -cmd.follow.started= -cmd.follow.unsafe_enabled= -cmd.follow.note= -cmd.follow.player_came_to_the_range= -cmd.follow.resuming= -cmd.follow.player_left_the_range= -cmd.follow.pausing= -cmd.follow.player_left= -cmd.follow.stopping= +cmd.follow.desc=让机器人跟随指定的玩家 +cmd.follow.usage=follow [-f] (使用 -f 允许机器人途径不安全的地方) +cmd.follow.already_stopped=已经停止过了 +cmd.follow.stopping=已停止! +cmd.follow.invalid_name=提供的玩家名无效! +cmd.follow.invalid_player=指定的玩家没有上线或距离太远! +cmd.follow.cant_reach_player=无法寻路到该玩家,有可能他在没有加载的区块中,或是距离太远,也有可能是间隙或水体等障碍使机器人无法到达。 +cmd.follow.already_following=已经在跟随 {0} 了! +cmd.follow.switched=切换为跟随 {0}! +cmd.follow.started=开始跟随 {0}! +cmd.follow.unsafe_enabled=启用了允许途径不安全位置(注意:机器人可能会受伤或死亡!) +cmd.follow.note=注意:此机器人的速度很慢,你需要慢慢地走,而且要保持很近的距离,这样它才能跟上,有点像拿着食物让动物跟着你。这是由于寻路算法的限制,我们正在努力改进它。 +cmd.follow.player_came_to_the_range=玩家 {0} 回到了可寻路范围之内! +cmd.follow.resuming=继续跟随! +cmd.follow.player_left_the_range=玩家 {0} 离开了可寻路范围! +cmd.follow.pausing=已暂停! +cmd.follow.player_left=玩家 {0} 离开了服务器! +cmd.follow.stopping=已停止! # Script bot.script.not_found=§8[MCC] [{0}] 找不到脚本文件:{1} @@ -636,8 +618,6 @@ bot.script.fail=脚本'{0}'运行失败 ({1})。 bot.script.pm.loaded=脚本'{0}'加载。 # ScriptScheduler -bot.scriptScheduler.loading=正在从'{0}'加载任务 -bot.scriptScheduler.not_found=找不到文件:'{0}' bot.scriptScheduler.loaded_task=已加载任务:\n{0} bot.scriptScheduler.no_trigger=这个任务永远不会触发:\n{0} bot.scriptScheduler.no_action=任务没有对应操作:\n{0} @@ -669,200 +649,200 @@ config.Main.General.server_info=帐户类型:mojang 或是 microsoft。此项 config.Main.General.method=微软账户的登录方式:mcc 或是 browser(手动在网页上登录)。 # Main.Advanced -config.Main.Advanced= -config.Main.Advanced.language= -config.Main.Advanced.internal_cmd_char= -config.Main.Advanced.message_cooldown= -config.Main.Advanced.bot_owners= -config.Main.Advanced.mc_version= -config.Main.Advanced.mc_forge= -config.Main.Advanced.brand_info= -config.Main.Advanced.chatbot_log_file= -config.Main.Advanced.private_msgs_cmd_name= -config.Main.Advanced.show_system_messages= -config.Main.Advanced.show_xpbar_messages= -config.Main.Advanced.show_chat_links= -config.Main.Advanced.show_inventory_layout= -config.Main.Advanced.terrain_and_movements= -config.Main.Advanced.inventory_handling= -config.Main.Advanced.entity_handling= -config.Main.Advanced.session_cache= -config.Main.Advanced.profilekey_cache= -config.Main.Advanced.resolve_srv_records= -config.Main.Advanced.account_list= -config.Main.Advanced.server_list= -config.Main.Advanced.player_head_icon= -config.Main.Advanced.exit_on_failure= -config.Main.Advanced.script_cache= -config.Main.Advanced.timestamps= -config.Main.Advanced.auto_respawn= -config.Main.Advanced.minecraft_realms= -config.Main.Advanced.move_head_while_walking= -config.Main.Advanced.timeout= -config.Main.Advanced.enable_emoji= -config.Main.Advanced.movement_speed= -config.Main.Advanced.language.invaild= +config.Main.Advanced=在更改这里的某项设置之前,请确保你理解了该选项的影响。 +config.Main.Advanced.language=请使用Minecraft的语言代码填写,详见 https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 +config.Main.Advanced.internal_cmd_char=MCC内部命令的前缀,可使用 "none", "slash"(/) 或 "backslash"(\)。 +config.Main.Advanced.message_cooldown=控制向服务器发送消息的最小间隔时间(秒)。 +config.Main.Advanced.bot_owners=设置机器人的所有者。/!\服务器管理员可以伪装成任何玩家! +config.Main.Advanced.mc_version=游戏版本,可使用 "auto"(自动) 或类似 "1.X.X" 的值。设定具体版本将跳过从服务器解析的过程。 +config.Main.Advanced.mc_forge=可使用 "auto"(自动),"no"(禁用) 或是 "force"(强制启用,仅在 1.13 及更高的版本中可用)。 +config.Main.Advanced.brand_info=客户端标识,可用 "mcc","vanilla"(原版客户端) 或 "none"(空标识)。这用于改变MCC向服务器发送的客户端标识内容。 +config.Main.Advanced.chatbot_log_file=留空将禁用 ChatBot 写入日志文件。 +config.Main.Advanced.private_msgs_cmd_name=远程控制功能将会使用它。 +config.Main.Advanced.show_system_messages=显示游戏服务器的系统消息(来自管理员或命令方块等)。 +config.Main.Advanced.show_xpbar_messages=显示经验条上方的消息,如果被此类消息刷屏请禁用此选项。 +config.Main.Advanced.show_chat_links=解码聊天信息里的链接,并在控制台单独显示。 +config.Main.Advanced.show_inventory_layout=以字符画形式显示库存布局。 +config.Main.Advanced.terrain_and_movements=开启地形处理将消耗更多的内存、CPU和网络带宽,但这允许你进行移动以及和方块交互。 +config.Main.Advanced.inventory_handling=启用库存处理(可操作背包、箱子等容器)。 +config.Main.Advanced.entity_handling=启用实体处理。 +config.Main.Advanced.session_cache=如何缓存会话令牌。可使用 "none"(不缓存),"memory"(内存缓存) 或 "disk"(磁盘缓存)。 +config.Main.Advanced.profilekey_cache=如何缓存聊天签名密钥。可使用 "none"(不缓存),"memory"(内存缓存) 或 "disk"(磁盘缓存)。 +config.Main.Advanced.resolve_srv_records=可填写 "no","fast"(超时时间为五秒钟)或是 "yes"。加入某些服务器需要开启此项。 +config.Main.Advanced.account_list=AccountList:使你可以不用输入账号信息而快速在多个账号间切换\n# 可用命令示例:"/tell reco Player2","/connect Player1" +config.Main.Advanced.server_list=ServerList:可用使用服务器别名快速连接到该服务器\n# 别名不能包含空格和小数点",而且 "localhost" 不能作为别名使用。\n# 可用命令示例:"/tell connect Server1","/connect Server2" +config.Main.Advanced.player_head_icon=使用玩家皮肤头像作为窗口图标,这仅在部分旧版控制台中有效。 +config.Main.Advanced.exit_on_failure=发生错误时是否直接退出,用于在非交互式脚本中使用MCC。 +config.Main.Advanced.script_cache=缓存已编译的脚本,以便在低端设备上更快的加载。 +config.Main.Advanced.timestamps=在聊天信息头部添加时间戳。 +config.Main.Advanced.auto_respawn=死亡时自动重生(开启前请确保你的出生点是安全的) +config.Main.Advanced.minecraft_realms=启用对加入我的世界领域(Realms)服务器的支持。 +config.Main.Advanced.move_head_while_walking=在移动时转向头部。 +config.Main.Advanced.timeout=与服务器的TCP连接超时时间(秒)。 +config.Main.Advanced.enable_emoji=如果关闭,Emoji表情符号将被替换成更简单的字符(用于 "/chunk status" 命令) +config.Main.Advanced.movement_speed=高于 2 的移动速度可能会被检测为作弊。 +config.Main.Advanced.language.invaild=无效的语言代码! # Signature -config.Signature= -config.Signature.LoginWithSecureProfile= -config.Signature.SignChat= -config.Signature.SignMessageInCommand= -config.Signature.MarkLegallySignedMsg= -config.Signature.MarkModifiedMsg= -config.Signature.MarkIllegallySignedMsg= -config.Signature.MarkSystemMessage= -config.Signature.ShowModifiedChat= -config.Signature.ShowIllegalSignedChat= +config.Signature=聊天签名相关设置(影响1.19及以上版本) +config.Signature.LoginWithSecureProfile=仅微软账户可用。如禁用此项,将无法签名消息和进入某些的服务器。 +config.Signature.SignChat=是否签名发送的聊天消息。 +config.Signature.SignMessageInCommand=是否签名指令中的消息。例如"/msg"和"/me"中的消息。 +config.Signature.MarkLegallySignedMsg=是否使用绿色色块标识拥有合法签名的聊天。 +config.Signature.MarkModifiedMsg=是否使用黄色色块标识被服务器更改过的聊天。 +config.Signature.MarkIllegallySignedMsg=是否使用红色色块标识没有合法签名的聊天。 +config.Signature.MarkSystemMessage=是否使用灰色色块标识系统消息(它们总是不会被签名)。 +config.Signature.ShowModifiedChat=设置为 true,显示被服务器修改过的信息;设置为 false,显示经过签名的原始信息。 +config.Signature.ShowIllegalSignedChat=是否显示没有被正确签名的聊天消息。 # Logging -config.Logging= -config.Logging.DebugMessages= -config.Logging.ChatMessages= -config.Logging.InfoMessages= -config.Logging.WarningMessages= -config.Logging.ErrorMessages= -config.Logging.ChatFilter= -config.Logging.DebugFilter= -config.Logging.FilterMode= -config.Logging.LogToFile= -config.Logging.LogFile= -config.Logging.PrependTimestamp= -config.Logging.SaveColorCodes= +config.Logging=此项设置仅会影响到控制台中的信息(日志)。 +config.Logging.DebugMessages=请在提交错误报告之前先启用此项。谢谢! +config.Logging.ChatMessages=是否显示来自服务器的聊天消息。 +config.Logging.InfoMessages=信息性的消息。(大部分来自MCC内部) +config.Logging.WarningMessages=显示警告消息。 +config.Logging.ErrorMessages=显示错误消息。 +config.Logging.ChatFilter=过滤聊天消息所用的正则表达式。 +config.Logging.DebugFilter=过滤调试消息所用的正则表达式。 +config.Logging.FilterMode=过滤方式:"disable"(禁用),"blacklist"(隐藏匹配的消息) 或 "whitelist"(仅显示匹配的消息) +config.Logging.LogToFile=是否将日志信息写入到文件。 +config.Logging.LogFile=日志文件名称。 +config.Logging.PrependTimestamp=写入日志文件时是否添加时间戳。 +config.Logging.SaveColorCodes=是否保留消息中的颜色字符。(例如"§b") # AppVars -config.AppVars.Variables= +config.AppVars.Variables=可以在某些字段中以"%yourvar%"的形式使用。\n# %username% 和 %serverip% 时保留的变量名。 # Proxy -config.Proxy= -config.Proxy.Enabled_Login= -config.Proxy.Enabled_Ingame= -config.Proxy.Server= -config.Proxy.Proxy_Type= -config.Proxy.Username= -config.Proxy.Password= +config.Proxy=通过代理连接到服务器。\n# 如果Mojang/微软登录服务被防火墙阻断,设置Enabled_Login=true以使用代理进行登录。\n# 如果到Minecraft游戏服务器的连接被防火墙阻止,设置Enabled_Ingame=true以使用代理连接游戏服务器。\n# /!\ 在启用代理前,请确保你的服务器规则允许使用代理或VPN,否则你可能面临被封禁等风险! +config.Proxy.Enabled_Login=是否使用代理连接Mojang或微软的登录服务器。 +config.Proxy.Enabled_Ingame=是否通过代理连接Minecraft游戏服务器。 +config.Proxy.Server=代理服务器必须允许HTTPS登录。 +config.Proxy.Proxy_Type=支持的代理类型:"HTTP","SOCKS4","SOCKS4a","SOCKS5"。 +config.Proxy.Username=只有连接到受密码保护的代理才需要。 +config.Proxy.Password=只有连接到受密码保护的代理才需要。 # ChatFormat -config.ChatFormat= -config.ChatFormat.Builtins= -config.ChatFormat.UserDefined= +config.ChatFormat=MCC会尽力检测聊天信息,但有些服务器有不寻常的聊天格式\n# 当这种情况发生时,你需要在下面自定义匹配聊天所用的正则表达式,详见 https://mccteam.github.io/guide/configuration.html#chat-format +config.ChatFormat.Builtins=是否启用MCC内置的聊天检测规则。设置为 false 以避免与自定义格式冲突。 +config.ChatFormat.UserDefined=是否启用下方的自定义正则表达式进行聊天检测。 # MCSettings -config.MCSettings= -config.MCSettings.Enabled= -config.MCSettings.Locale= -config.MCSettings.RenderDistance= -config.MCSettings.Difficulty= -config.MCSettings.ChatMode= -config.MCSettings.ChatColors= -config.MCSettings.MainHand= +config.MCSettings=下面的设置将会被发送到游戏服务器,只影响一些服务器端的东西,比如你的皮肤。 +config.MCSettings.Enabled=如果禁用,下面的设置就不会被发送到服务器上。 +config.MCSettings.Locale=请使用Minecraft的语言代码填写,详见[Main.Advanced.Language] +config.MCSettings.RenderDistance=渲染距离,取值范围[0 - 255]。 +config.MCSettings.Difficulty=Minecraft 1.7及更早版本难度。"peaceful","easy","normal","difficult"。 +config.MCSettings.ChatMode=使用 "enabled"(完全启用聊天)、"commands"(仅限命令)或 "disabled"(完全禁用聊天)。这允许你禁言自己... +config.MCSettings.ChatColors=这允许你在服务器端禁用聊天颜色。 +config.MCSettings.MainHand=在1.9及更高版本中的主手设置。"left"(左手) 或 "right"(右手)。 # ChatBot -config.ChatBot= +config.ChatBot================================ #\n# Minecraft Console Client Bots #\n# =============================== # # ChatBot.Alerts -config.ChatBot.Alerts= -config.ChatBot.Alerts.Beep_Enabled= -config.ChatBot.Alerts.Trigger_By_Words= -config.ChatBot.Alerts.Trigger_By_Rain= -config.ChatBot.Alerts.Trigger_By_Thunderstorm= -config.ChatBot.Alerts.Matches_File= -config.ChatBot.Alerts.Excludes_File= -config.ChatBot.Alerts.Log_To_File= -config.ChatBot.Alerts.Log_File= +config.ChatBot.Alerts=当检测到特定聊天消息或特定事件发生时提醒你\n # 对检测特定玩家的聊天消息很有用。 +config.ChatBot.Alerts.Beep_Enabled=除了高亮显示外,当检测到一个词时还会播放类似蜂鸣器的哔哔声。 +config.ChatBot.Alerts.Trigger_By_Words=在收到指定的关键词后触发提醒。 +config.ChatBot.Alerts.Trigger_By_Rain=在开始下雨和停止下雨时触发提醒。 +config.ChatBot.Alerts.Trigger_By_Thunderstorm=在雷暴天气的开始与结束触发提醒。 +config.ChatBot.Alerts.Matches=触发提醒的聊天关键词列表。 +config.ChatBot.Alerts.Excludes=出现这些关键词后该条消息一定不触发提醒。 +config.ChatBot.Alerts.Log_To_File=是否将提醒消息写入到日志文件。 +config.ChatBot.Alerts.Log_File=日志文件的路径。 # ChatBot.AntiAFK -config.ChatBot.AntiAfk= -config.ChatBot.AntiAfk.Delay= -config.ChatBot.AntiAfk.Command= -config.ChatBot.AntiAfk.Use_Terrain_Handling= -config.ChatBot.AntiAfk.Walk_Range= -config.ChatBot.AntiAfk.Walk_Retries= +config.ChatBot.AntiAfk=定期发送命令,或让机器人随机走动,以避免检测到挂机后被踢出服务器\n # /!\启用前请确保你的服务器规则不禁止反AFK机制!\n# /!\如果启用随机移动,请将机器人围在围栏里,以防走失!(建议尺寸5x5x5) +config.ChatBot.AntiAfk.Delay=执行操作的间隔时间。(秒) +config.ChatBot.AntiAfk.Command=发送给服务器的指令。 +config.ChatBot.AntiAfk.Use_Terrain_Handling=启用地形处理,以使机器人能够四处移动。 +config.ChatBot.AntiAfk.Walk_Range=机器人可以随机移动的范围(注意:范围越大,速度越慢) +config.ChatBot.AntiAfk.Walk_Retries=尝试移动失败几次后在改为发送命令模式。 # ChatBot.AutoAttack -config.ChatBot.AutoAttack= -config.ChatBot.AutoAttack.Mode= -config.ChatBot.AutoAttack.Priority= -config.ChatBot.AutoAttack.Cooldown_Time= -config.ChatBot.AutoAttack.Interaction= -config.ChatBot.AutoAttack.Attack_Hostile= -config.ChatBot.AutoAttack.Attack_Passive= -config.ChatBot.AutoAttack.List_Mode= -config.ChatBot.AutoAttack.Entites_List= +config.ChatBot.AutoAttack=自动攻击周围的生物\n# 使用此功能之前,你需要开启实体处理。\n# /!\确保你的服务器允许使用自动攻击。\n# /!\服务器插件可能会认为此功能时作弊,并可能会封禁你的账号,所以请自己检查服务器规则是否允许。 +config.ChatBot.AutoAttack.Mode="single"(单目标) 或 "multi"(多目标)。一次攻击一个生物还是范围内的所有生物。 +config.ChatBot.AutoAttack.Priority="health"(生命值)或 "distance"(距离)。当使用"single"模式时,以哪一个属性确定优先级。 +config.ChatBot.AutoAttack.Cooldown_Time=每次攻击间的冷却时间,设置 "Custom = false" 以让MCC自动计算攻击速度。 +config.ChatBot.AutoAttack.Interaction=可选项:"Interact"(交互),"Attack"(攻击) 或 "InteractAt"(交互并攻击) +config.ChatBot.AutoAttack.Attack_Hostile=是否攻击敌对生物。 +config.ChatBot.AutoAttack.Attack_Passive=是否攻击被动生物。 +config.ChatBot.AutoAttack.List_Mode=将实体列表作为 "whitelist"(白名单)还是 "blacklist"(黑名单)。 +config.ChatBot.AutoAttack.Entites_List=所有可用的实体类型可以在这里找到:https://bit.ly/3Rg68lp # ChatBot.AutoCraft -config.ChatBot.AutoCraft= -config.ChatBot.AutoCraft.CraftingTable= -config.ChatBot.AutoCraft.OnFailure= -config.ChatBot.AutoCraft.Recipes= +config.ChatBot.AutoCraft=自动使用背包中的物品进行合成。\n# 请看 https://mccteam.github.io/guide/chat-bots.html#auto-craft\n# 你需要启用库存处理来使用这个功能\n# 如果需要使用工作台,你还需要启用地形处理。 +config.ChatBot.AutoCraft.CraftingTable=如果你打算使用工作台,请填写它所在的位置。(需要启用地形处理) +config.ChatBot.AutoCraft.OnFailure=合成失败时应该怎么处理,"abort"(中止)或 "wait"(等待)。 +config.ChatBot.AutoCraft.Recipes=Recipes.Name:给该配方起一个独一无二的名字。(不能包含空白字符)Recipes.Type:合成类型,"player"(背包2x2)或 "table"(工作台3x3)\n# Recipes.Result:合成的目标物品\n# Recipes.Slots:合成的物品摆放方式,以从左到右、从上到下的格式填写。需留空请填写"Null"。\n# 最新的物品命名请看:https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs # ChatBot.AutoDrop -config.ChatBot.AutoDrop= -config.ChatBot.AutoDrop.Mode= +config.ChatBot.AutoDrop=自动从背包/库存中丢弃指定的物品\n# 你需要启用库存处理来使用这个功能。\n# 可用物品请看 https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs +config.ChatBot.AutoDrop.Mode="include"(丢弃列表中的物品),"exclude"(丢弃列表外的所有物品) 或 "everything"(丢弃所有物品) # ChatBot.AutoEat -config.ChatBot.AutoEat= +config.ChatBot.AutoEat=在饱食度较低是自动在背包中寻找食物食用。\n# 你需要启用库存处理来使用这个功能。 # ChatBot.AutoFishing -config.ChatBot.AutoFishing= -config.ChatBot.AutoFishing.Antidespawn= -config.ChatBot.AutoFishing.Mainhand= -config.ChatBot.AutoFishing.Auto_Start= -config.ChatBot.AutoFishing.Cast_Delay= -config.ChatBot.AutoFishing.Fishing_Delay= -config.ChatBot.AutoFishing.Fishing_Timeout= -config.ChatBot.AutoFishing.Durability_Limit= -config.ChatBot.AutoFishing.Auto_Rod_Switch= -config.ChatBot.AutoFishing.Stationary_Threshold= -config.ChatBot.AutoFishing.Hook_Threshold= -config.ChatBot.AutoFishing.Log_Fish_Bobber= -config.ChatBot.AutoFishing.Enable_Move= -config.ChatBot.AutoFishing.Movements= +config.ChatBot.AutoFishing=使用鱼竿自动钓鱼。指南:https://mccteam.github.io/guide/chat-bots.html#auto-fishingn# /!\ 启用前请确保服务器允许自动钓鱼。 +config.ChatBot.AutoFishing.Antidespawn=如果你之前没有启用过这个选项,请保持它为 false 。 +config.ChatBot.AutoFishing.Mainhand=使用主手还是副手拿鱼竿。 +config.ChatBot.AutoFishing.Auto_Start=是否在进入服务器后自动开始钓鱼,禁用此功能后,你需要使用"/usehand"手动使用鱼竿一次。 +config.ChatBot.AutoFishing.Cast_Delay=钓到鱼后多久开始下一次钓鱼(抛竿)。 +config.ChatBot.AutoFishing.Fishing_Delay=进入服务器后多久后开始自动钓鱼。(秒) +config.ChatBot.AutoFishing.Fishing_Timeout=多少秒后没有钓到鱼视为超时。超时后会重新抛竿。 +config.ChatBot.AutoFishing.Durability_Limit=不会使用低于此耐久度的鱼竿(鱼竿耐久度最高为64)。(需要启用库存处理) +config.ChatBot.AutoFishing.Auto_Rod_Switch=在当前鱼竿不可用后自动切换到背包中的其他鱼竿。(需要启用库存处理) +config.ChatBot.AutoFishing.Stationary_Threshold=鱼钩在X轴和Z轴方向上的移动小于这个值将被认为是静止的,过高的阈值会在抛竿途中触发收竿。 +config.ChatBot.AutoFishing.Hook_Threshold=一个“静止”的鱼钩,在Y轴方向上的移动超过这个阈值将被认为钓到了鱼。 +config.ChatBot.AutoFishing.Log_Fish_Bobber=用于调整以上两个阈值,启用后会在收到鱼钩实体移动数据包后打印其坐标变化。 +config.ChatBot.AutoFishing.Enable_Move=这允许玩家在钓到鱼后改变其位置或朝向。(需要启用地形处理) +config.ChatBot.AutoFishing.Movements=会按照 "1->2->3->4->3->2->1->2->..." 的顺序执行。每次可用改变位置、朝向或是都改变。推荐只改变朝向。 # ChatBot.AutoRelog -config.ChatBot.AutoRelog= -config.ChatBot.AutoRelog.Delay= -config.ChatBot.AutoRelog.Retries= -config.ChatBot.AutoRelog.Ignore_Kick_Message= -config.ChatBot.AutoRelog.Kick_Messages= +config.ChatBot.AutoRelog=在被服务器断开连接时自动重连,例如服务器重启时。\n# /!\ 谨慎使用Ignore_Kick_Message=true,这会在服务器管理员将你踢出时依然连回! +config.ChatBot.AutoRelog.Delay=重新加入到服务器前的延迟时间。(单位:秒) +config.ChatBot.AutoRelog.Retries=重新登录服务器失败时的重试次数,使用-1表示无限重试。 +config.ChatBot.AutoRelog.Ignore_Kick_Message=当设置为 true 时,将不考虑踢出的信息直接重连。 +config.ChatBot.AutoRelog.Kick_Messages=如果踢出信息与这其中的任何一个字符串匹配,那么将触发自动重连。 # ChatBot.AutoRespond -config.ChatBot.AutoRespond= -config.ChatBot.AutoRespond.Match_Colors= +config.ChatBot.AutoRespond=当聊天消息与文件中的规则匹配时,自动执行指定命令。\n# /!\ 服务器管理员可以以任意玩家的身份发送任意消息,记住这一点!\n# 此机器人如果设置的不得当可能会造成刷屏,建议设置一个冷却时间。 +config.ChatBot.AutoRespond.Match_Colors=不要删除文本中的颜色代码(使用§字符的代码)。注意:启用后你的匹配模板也必须包括颜色代码。 # ChatBot.ChatLog -config.ChatBot.ChatLog= +config.ChatBot.ChatLog=将聊天信息写入到日志文件中。 # ChatBot.FollowPlayer -config.ChatBot.FollowPlayer= -config.ChatBot.FollowPlayer.Update_Limit= -config.ChatBot.FollowPlayer.Stop_At_Distance= +config.ChatBot.FollowPlayer=让机器人跟随指定玩家\n# 注意这是一个实验性的功能,目前的寻路速度可能很慢,你可能需要时常等一会机器人来让它跟上你。\n# 你可以调整"Update_Limit",找到最适合你的速度。(注意不要设置的太低,这样可能导致反效果或使MCC卡顿)。\n# /!\ 在使用此功能之前,请先确保服务器规则允许你这样做。 +config.ChatBot.FollowPlayer.Update_Limit=机器人寻路的间隔时间(以秒为单位) +config.ChatBot.FollowPlayer.Stop_At_Distance=如果玩家在该范围内,则视为已经接近玩家了。(防止机器人将玩家推开而产生无限循环) # ChatBot.HangmanGame -config.ChatBot.HangmanGame= +config.ChatBot.HangmanGame=一个用于演示聊天互动的小游戏。玩家可以一次一个字母地猜出神秘的单词。\n# 你需要正确地使用 ChatFormat,并在 botowners 中添加自己,用/tell start\n# /!\ 这个机器人可能会造成刷屏,如果许多玩家与它互动。 # ChatBot.Mailer -config.ChatBot.Mailer= +config.ChatBot.Mailer=在玩家和服务器之间中继消息,就像一个邮件插件一样。\n# 这个机器人可以在收件人离线时存储消息,并在他们加入服务器时发送消息。\n# /!\ 服务器管理员可以以任意玩家的身份发送任意消息,请记住这一点。 # ChatBot.Map -config.ChatBot.Map= -config.ChatBot.Map.Should_Resize= -config.ChatBot.Map.Resize_To= -config.ChatBot.Map.Auto_Render_On_Update= -config.ChatBot.Map.Delete_All_On_Unload= -config.ChatBot.Map.Notify_On_First_Update= +config.ChatBot.Map=允许你将地图渲染成.jpg图片,该图片会被渲染到Rendered_Maps文件夹中。\n# 注意:这个功能目前只对解决使用地图的验证码有用。\n# 如果一些服务器解决验证码的时间很短,请启用Auto_Render_On_Update并准备快速打开该文件。\n# 在linux上,你可以使用FTP来访问生成的文件。 +config.ChatBot.Map.Should_Resize=是否需要调整地图的大小?(默认大小是128x128) +config.ChatBot.Map.Resize_To=将地图调整到什么大小?(注意:大小越大,质量越低) +config.ChatBot.Map.Auto_Render_On_Update=一旦接收到新的地图或已有地图被更新,自动渲染该地图。 +config.ChatBot.Map.Delete_All_On_Unload=在卸载/重新加载地图时删除所有已渲染的地图(退出MCC时不会删除图像) +config.ChatBot.Map.Notify_On_First_Update=当第一次从服务器上收到一张地图时,发送一个通知。 # ChatBot.PlayerListLogger -config.ChatBot.PlayerListLogger= -config.ChatBot.PlayerListLogger.Delay= +config.ChatBot.PlayerListLogger=定期记录当前的玩家列表到文件中。 +config.ChatBot.PlayerListLogger.Delay=(单位:秒) # ChatBot.RemoteControl -config.ChatBot.RemoteControl= +config.ChatBot.RemoteControl=通过游戏中的私聊向机器人发送MCC控制台命令\n# 你需要先配置好[ChatFormat]章节的设置,并在[Main.Advanced.bot_owners]中添加自己的账号。\n# /!\ 服务器管理员可以以任意玩家的身份发送任意消息,仅在信任他们时启用本功能。 # ChatBot.ReplayCapture -config.ChatBot.ReplayCapture= -config.ChatBot.ReplayCapture.Backup_Interval= +config.ChatBot.ReplayCapture=使用"/replay start"开始记录游戏,并在之后使用 Replay Mod (https://www.replaymod.com/) 进行重放。\n# 请注意,由于技术限制,玩家自身不会显示在重放文件中。\n# /!\ 你应该使用"/replay stop"停止记录或者使用"/quit"退出程序,否则回放文件可能会损坏。 +config.ChatBot.ReplayCapture.Backup_Interval=每间隔多少秒自动保存一次回放文件,以秒为单位。使用-1禁用自动保存。 # ChatBot.ScriptScheduler -config.ChatBot.ScriptScheduler= +config.ChatBot.ScriptScheduler=在加入服务器时、到达特定时间时或以设定的时间间隔执行命令或脚本文件\n# 详细使用方法请查看 https://mccteam.github.io/guide/chat-bots.html#script-scheduler diff --git a/MinecraftClient/Translations.cs b/MinecraftClient/Translations.cs index 8e257882..47d1e1a0 100644 --- a/MinecraftClient/Translations.cs +++ b/MinecraftClient/Translations.cs @@ -639,7 +639,7 @@ namespace MinecraftClient continue; int index = line.IndexOf('='); - if (line.Length > (index + 1)) + if (index != -1 && line.Length > (index + 1)) translations[line[..index]] = line[(index + 1)..].Replace("\\n", "\n"); } return translations; @@ -668,8 +668,19 @@ namespace MinecraftClient DefaultConfigResource.ResourceManager.GetString("Translation_" + lang)! .Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None) ); - using FileStream file = File.OpenWrite(AppDomain.CurrentDomain.BaseDirectory + - Path.DirectorySeparatorChar + translationFilePath + Path.DirectorySeparatorChar + lang + ".ini"); + string fileName = AppDomain.CurrentDomain.BaseDirectory + Path.DirectorySeparatorChar + translationFilePath + Path.DirectorySeparatorChar + lang + ".ini"; + if (File.Exists(fileName)) + { + string backupFilePath = Path.ChangeExtension(fileName, ".backup.ini"); + try { File.Copy(fileName, backupFilePath, true); } + catch (Exception ex) + { + ConsoleIO.WriteLineFormatted(Translations.TryGet("config.backup.fail", backupFilePath)); + ConsoleIO.WriteLine(ex.Message); + return; + } + } + using FileStream file = File.OpenWrite(fileName); int total = 0, translated = 0; for (int i = 0; i < transEn.Length; ++i) { diff --git a/README.md b/README.md index dd59e00d..02ebae33 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ MCC now supports the following languages (Alphabetical order) : * `fr.ini` (57.69% translated) : Français (France) - French * `ru.ini` (56.77% translated) : Русский (Russkiy) - Russian * `vi.ini` (56.77% translated) : Tiếng Việt (Việt Nam) - Vietnamese - * `zh-Hans.ini` (62.56% translated) : 简体中文(中国大陆) - Chinese Simplified (China; Mandarin) + * `zh-Hans.ini` (100.00% translated) : 简体中文(中国大陆) - Chinese Simplified (China; Mandarin) ## Building from the source 🏗️