From 2219dd55dd07de7f360bc6458e0b25365bc93508 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 29 May 2024 00:11:25 +0800 Subject: [PATCH 01/25] Intial i18n messages support Send different languages of messages based on player's client setting --- .../message/AbstractMessageFileHandler.java | 40 +++++++++++++++++++ .../fr/xephi/authme/message/Messages.java | 4 +- .../settings/properties/PluginSettings.java | 7 ++++ .../fr/xephi/authme/util/PlayerUtils.java | 29 ++++++++++++++ src/main/java/fr/xephi/authme/util/Utils.java | 9 +++++ 5 files changed, 88 insertions(+), 1 deletion(-) diff --git a/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java b/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java index 5e6fc221..d7cc73f0 100644 --- a/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java +++ b/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java @@ -14,6 +14,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import javax.annotation.PostConstruct; import javax.inject.Inject; import java.io.File; +import java.util.concurrent.ConcurrentHashMap; import static fr.xephi.authme.message.MessagePathHelper.DEFAULT_LANGUAGE; @@ -33,6 +34,7 @@ public abstract class AbstractMessageFileHandler implements Reloadable { private String filename; private FileConfiguration configuration; + private ConcurrentHashMap i18nConfiguration; private final String defaultFile; protected AbstractMessageFileHandler() { @@ -46,6 +48,7 @@ public abstract class AbstractMessageFileHandler implements Reloadable { filename = createFilePath(language); File messagesFile = initializeFile(filename); configuration = YamlConfiguration.loadConfiguration(messagesFile); + i18nConfiguration = null; } protected String getLanguage() { @@ -83,6 +86,24 @@ public abstract class AbstractMessageFileHandler implements Reloadable { : message; } + /** + * Returns the i18n message for the given key and given locale. + * + * @param key the key to retrieve the message for + * @param locale the locale that player client setting uses + * @return the message + */ + public String getMessageByLocale(String key, String locale) { + if (locale == null || !settings.getProperty(PluginSettings.I18N_MESSAGES)) { + return getMessage(key); + } + + String message = getI18nConfiguration(locale).getString(key); + return message == null + ? "Error retrieving message '" + key + "'" + : message; + } + /** * Returns the message for the given key only if it exists, * i.e. without falling back to the default file. @@ -94,6 +115,25 @@ public abstract class AbstractMessageFileHandler implements Reloadable { return configuration.getString(key); } + public FileConfiguration getI18nConfiguration(String locale) { + if (i18nConfiguration == null) { + i18nConfiguration = new ConcurrentHashMap<>(); + } + + if (i18nConfiguration.containsKey(locale)) { + return i18nConfiguration.get(locale); + } else { + // Sync with reload(); + String i18nFilename = createFilePath(locale); + File i18nMessagesFile = initializeFile(i18nFilename); + FileConfiguration config = YamlConfiguration.loadConfiguration(i18nMessagesFile); + + i18nConfiguration.put(locale, config); + + return config; + } + } + /** * Creates the path to the messages file for the given language code. * diff --git a/src/main/java/fr/xephi/authme/message/Messages.java b/src/main/java/fr/xephi/authme/message/Messages.java index 1989fddd..ad781bd8 100644 --- a/src/main/java/fr/xephi/authme/message/Messages.java +++ b/src/main/java/fr/xephi/authme/message/Messages.java @@ -4,6 +4,7 @@ import com.google.common.collect.ImmutableMap; import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.mail.EmailService; import fr.xephi.authme.output.ConsoleLoggerFactory; +import fr.xephi.authme.util.PlayerUtils; import fr.xephi.authme.util.expiring.Duration; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; @@ -120,7 +121,8 @@ public class Messages { * @return The message from the file */ private String retrieveMessage(MessageKey key, CommandSender sender) { - String message = messagesFileHandler.getMessage(key.getKey()); + String locale = PlayerUtils.getLocale(sender); + String message = messagesFileHandler.getMessageByLocale(key.getKey(), locale); String displayName = sender.getName(); if (sender instanceof Player) { displayName = ((Player) sender).getDisplayName(); diff --git a/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java b/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java index 1047cf01..2859a509 100644 --- a/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java +++ b/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java @@ -16,6 +16,13 @@ public final class PluginSettings implements SettingsHolder { public static final Property MENU_UNREGISTER_COMPATIBILITY = newProperty("3rdPartyFeature.compatibility.menuPlugins", false); + @Comment({ + "Send i18n messages to player based on their client settings, this option will override `settings.messagesLanguage`", + "This will not affect language of authme help command." + }) + public static final Property I18N_MESSAGES = + newProperty("3rdPartyFeature.features.i18nMessages.enabled", false); + @Comment({ "Do you want to enable the session feature?", "If enabled, when a player authenticates successfully,", diff --git a/src/main/java/fr/xephi/authme/util/PlayerUtils.java b/src/main/java/fr/xephi/authme/util/PlayerUtils.java index d9b867d7..d25d71bb 100644 --- a/src/main/java/fr/xephi/authme/util/PlayerUtils.java +++ b/src/main/java/fr/xephi/authme/util/PlayerUtils.java @@ -1,7 +1,10 @@ package fr.xephi.authme.util; +import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import java.lang.reflect.Method; + /** * Player utilities. */ @@ -36,4 +39,30 @@ public final class PlayerUtils { } } + /** + * Returns the locale that player uses. + * + * @param sender The player + */ + public static String getLocale(CommandSender sender) { + String locale = null; + + if (sender instanceof Player) { + Player player = (Player) sender; + if (Utils.majorVersion >= 12) { + locale = player.getLocale(); + } else { + try { + Method spigotMethod = player.getClass().getMethod("spigot"); + Object spigot = spigotMethod.invoke(player); + + Method spigotGetLocaleMethod = spigot.getClass().getMethod("getLocale"); + locale = (String) spigotGetLocaleMethod.invoke(spigot); + } catch (Exception ignored) { + } + } + } + + return locale; + } } diff --git a/src/main/java/fr/xephi/authme/util/Utils.java b/src/main/java/fr/xephi/authme/util/Utils.java index 4165b007..565780ea 100644 --- a/src/main/java/fr/xephi/authme/util/Utils.java +++ b/src/main/java/fr/xephi/authme/util/Utils.java @@ -2,6 +2,7 @@ package fr.xephi.authme.util; import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.output.ConsoleLoggerFactory; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; @@ -107,4 +108,12 @@ public final class Utils { public static boolean isEmailEmpty(String email) { return StringUtils.isBlank(email) || "your@email.com".equalsIgnoreCase(email); } + + private final static String[] serverVersion = Bukkit.getServer().getBukkitVersion() + .substring(0, Bukkit.getServer().getBukkitVersion().indexOf("-")) + .split("\\."); + + private final static int mcFirstVersion = Integer.parseInt(serverVersion[0]); + public final static int majorVersion = Integer.parseInt(serverVersion[1]); + public final static int minorVersion = Integer.parseInt(serverVersion[2]); } From d09e5455548add4b78f5eacefcd71679b2cdedfe Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 29 May 2024 17:07:30 +0800 Subject: [PATCH 02/25] Add hard mapping to convert to AuthMe language code from locale code --- .../message/AbstractMessageFileHandler.java | 6 +- .../fr/xephi/authme/util/PlayerUtils.java | 98 +++++++++++++++++++ 2 files changed, 103 insertions(+), 1 deletion(-) diff --git a/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java b/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java index d7cc73f0..a30a7c96 100644 --- a/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java +++ b/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java @@ -8,12 +8,14 @@ import fr.xephi.authme.output.ConsoleLoggerFactory; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.properties.PluginSettings; import fr.xephi.authme.util.FileUtils; +import fr.xephi.authme.util.PlayerUtils; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import javax.annotation.PostConstruct; import javax.inject.Inject; import java.io.File; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import static fr.xephi.authme.message.MessagePathHelper.DEFAULT_LANGUAGE; @@ -34,7 +36,7 @@ public abstract class AbstractMessageFileHandler implements Reloadable { private String filename; private FileConfiguration configuration; - private ConcurrentHashMap i18nConfiguration; + private Map i18nConfiguration; private final String defaultFile; protected AbstractMessageFileHandler() { @@ -120,6 +122,8 @@ public abstract class AbstractMessageFileHandler implements Reloadable { i18nConfiguration = new ConcurrentHashMap<>(); } + locale = PlayerUtils.LocaleToCode(locale, settings); + if (i18nConfiguration.containsKey(locale)) { return i18nConfiguration.get(locale); } else { diff --git a/src/main/java/fr/xephi/authme/util/PlayerUtils.java b/src/main/java/fr/xephi/authme/util/PlayerUtils.java index d25d71bb..9f1b100f 100644 --- a/src/main/java/fr/xephi/authme/util/PlayerUtils.java +++ b/src/main/java/fr/xephi/authme/util/PlayerUtils.java @@ -1,5 +1,7 @@ package fr.xephi.authme.util; +import fr.xephi.authme.settings.Settings; +import fr.xephi.authme.settings.properties.PluginSettings; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -65,4 +67,100 @@ public final class PlayerUtils { return locale; } + + /** + * Returns the AuthMe messages file language code, by given locale and settings. + * Dreeam - Hard mapping, based on mc1.20.6, 5/29/2024 + * + * @param locale The locale that player client setting uses. + * @param settings The AuthMe settings, for default/fallback language usage. + */ + public static String LocaleToCode(String locale, Settings settings) { + locale = locale.toLowerCase(); + + switch (locale) { + case "pt_br": + return "br"; + case "cs_cz": + return "cz"; + case "lzh": + case "zh_cn": + return "zhcn"; + case "zh_hk": + return "zhhk"; + case "zh_tw": + return "zhtw"; + } + + if (locale.contains("_")) { + locale = locale.substring(0, locale.indexOf("_")); + } + + switch (locale) { + case "en": + return "en"; + case "bg": + return "bg"; + case "de": + case "nds": + case "sxu": + case "swg": + return "de"; + case "eo": + return "eo"; + case "es": + return "es"; + case "et": + return "et"; + case "eu": + return "eu"; + case "fi": + return "fi"; + case "fr": + return "fr"; + case "gl": + return "gl"; + case "hu": + return "hu"; + case "id": + return "id"; + case "it": + return "it"; + case "ja": + return "ja"; + case "ko": + return "ko"; + case "lt": + return "lt"; + case "nl": + return "nl"; + case "pl": + return "pl"; + case "pt": + return "pt"; + case "ro": + return "ro"; + case "ru": + case "rpr": + return "ru"; + case "sl": + return "si"; + case "sk": + return "sk"; + case "sr": + return "sr"; + case "tr": + return "tr"; + case "uk": + return "uk"; + case "vi": + return "vn"; + case "lzh": + return "zhcn"; + //case "zhmc": + // return "zhmc"; + default: + return settings.getProperty(PluginSettings.MESSAGES_LANGUAGE); + } + } } From 6001ee69792448db2568db28e07ff43944cbf5cd Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 29 May 2024 18:46:57 +0800 Subject: [PATCH 03/25] Add configurable locale code to AuthMe language code redirect --- .../settings/properties/PluginSettings.java | 15 +++++++++++++++ .../java/fr/xephi/authme/util/PlayerUtils.java | 14 +++++++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java b/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java index 2859a509..7a98862a 100644 --- a/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java +++ b/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java @@ -5,6 +5,9 @@ import ch.jalu.configme.SettingsHolder; import ch.jalu.configme.properties.Property; import fr.xephi.authme.output.LogLevel; +import java.util.Set; + +import static ch.jalu.configme.properties.PropertyInitializer.newLowercaseStringSetProperty; import static ch.jalu.configme.properties.PropertyInitializer.newProperty; public final class PluginSettings implements SettingsHolder { @@ -23,6 +26,18 @@ public final class PluginSettings implements SettingsHolder { public static final Property I18N_MESSAGES = newProperty("3rdPartyFeature.features.i18nMessages.enabled", false); + @Comment({"Redirect locale code to certain AuthMe language code as you want", + "Minecraft locale list: https://minecraft.wiki/w/Language", + "AuthMe language code: https://github.com/HaHaWTH/AuthMeReReloaded/blob/master/docs/translations.md", + "For example, if you want to show Russian messages to player using language Tatar(tt_ru),", + "and show Chinese Simplified messages to player using language Classical Chinese(lzh), then:", + "locale-code-redirect:", + "- 'tt_ru:ru'", + "- 'lzh:zhcn'"}) + public static final Property> I18N_CODE_REDIRECT = + newLowercaseStringSetProperty("3rdPartyFeature.features.i18nMessages.locale-code-redirect", + "tt_ru:ru", "lzh:zhcn"); + @Comment({ "Do you want to enable the session feature?", "If enabled, when a player authenticates successfully,", diff --git a/src/main/java/fr/xephi/authme/util/PlayerUtils.java b/src/main/java/fr/xephi/authme/util/PlayerUtils.java index 9f1b100f..57114ab8 100644 --- a/src/main/java/fr/xephi/authme/util/PlayerUtils.java +++ b/src/main/java/fr/xephi/authme/util/PlayerUtils.java @@ -52,14 +52,14 @@ public final class PlayerUtils { if (sender instanceof Player) { Player player = (Player) sender; if (Utils.majorVersion >= 12) { - locale = player.getLocale(); + locale = player.getLocale().toLowerCase(); } else { try { Method spigotMethod = player.getClass().getMethod("spigot"); Object spigot = spigotMethod.invoke(player); Method spigotGetLocaleMethod = spigot.getClass().getMethod("getLocale"); - locale = (String) spigotGetLocaleMethod.invoke(spigot); + locale = ((String) spigotGetLocaleMethod.invoke(spigot)).toLowerCase(); } catch (Exception ignored) { } } @@ -76,7 +76,15 @@ public final class PlayerUtils { * @param settings The AuthMe settings, for default/fallback language usage. */ public static String LocaleToCode(String locale, Settings settings) { - locale = locale.toLowerCase(); + if (!settings.getProperty(PluginSettings.I18N_CODE_REDIRECT).isEmpty()) { + for (String raw : settings.getProperty(PluginSettings.I18N_CODE_REDIRECT)) { + String[] split = raw.split(":"); + + if (locale.equalsIgnoreCase(split[0])) { + return split[1]; + } + } + } switch (locale) { case "pt_br": From eb43dc39600b268d58f47b994de1392d390cd31b Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 29 May 2024 18:59:41 +0800 Subject: [PATCH 04/25] Clean up locale to language code matching --- .../fr/xephi/authme/util/PlayerUtils.java | 62 +++++-------------- 1 file changed, 14 insertions(+), 48 deletions(-) diff --git a/src/main/java/fr/xephi/authme/util/PlayerUtils.java b/src/main/java/fr/xephi/authme/util/PlayerUtils.java index 57114ab8..56a51d7c 100644 --- a/src/main/java/fr/xephi/authme/util/PlayerUtils.java +++ b/src/main/java/fr/xephi/authme/util/PlayerUtils.java @@ -6,6 +6,8 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.lang.reflect.Method; +import java.util.Arrays; +import java.util.List; /** * Player utilities. @@ -16,6 +18,10 @@ public final class PlayerUtils { private PlayerUtils() { } private static final boolean IS_LEAVES_SERVER = Utils.isClassLoaded("top.leavesmc.leaves.LeavesConfig"); + private static final List LOCALE_LIST = Arrays.asList( + "en", "bg", "de", "eo", "es", "et", "eu", "fi", "fr", "gl", "hu", "id", "it", "ja", "ko", "lt", "nl", "pl", + "pt", "ro", "ru", "sk", "sr", "tr", "uk" + ); /** * Returns the IP of the given player. @@ -76,6 +82,7 @@ public final class PlayerUtils { * @param settings The AuthMe settings, for default/fallback language usage. */ public static String LocaleToCode(String locale, Settings settings) { + // Certain locale code to AuthMe language code redirect if (!settings.getProperty(PluginSettings.I18N_CODE_REDIRECT).isEmpty()) { for (String raw : settings.getProperty(PluginSettings.I18N_CODE_REDIRECT)) { String[] split = raw.split(":"); @@ -86,6 +93,7 @@ public final class PlayerUtils { } } + // Match certain locale code switch (locale) { case "pt_br": return "br"; @@ -104,63 +112,21 @@ public final class PlayerUtils { locale = locale.substring(0, locale.indexOf("_")); } + // Match locale code with "_" + if (LOCALE_LIST.contains(locale)) { + return locale; + } + + // Match rest of special locale code that stripped "_" switch (locale) { - case "en": - return "en"; - case "bg": - return "bg"; - case "de": case "nds": case "sxu": case "swg": return "de"; - case "eo": - return "eo"; - case "es": - return "es"; - case "et": - return "et"; - case "eu": - return "eu"; - case "fi": - return "fi"; - case "fr": - return "fr"; - case "gl": - return "gl"; - case "hu": - return "hu"; - case "id": - return "id"; - case "it": - return "it"; - case "ja": - return "ja"; - case "ko": - return "ko"; - case "lt": - return "lt"; - case "nl": - return "nl"; - case "pl": - return "pl"; - case "pt": - return "pt"; - case "ro": - return "ro"; - case "ru": case "rpr": return "ru"; case "sl": return "si"; - case "sk": - return "sk"; - case "sr": - return "sr"; - case "tr": - return "tr"; - case "uk": - return "uk"; case "vi": return "vn"; case "lzh": From c53f622e94676f51d1b288fb3644f617ee932dfc Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 29 May 2024 20:19:33 +0800 Subject: [PATCH 05/25] Cleanup --- .../fr/xephi/authme/util/PlayerUtils.java | 35 ++++++++----------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/src/main/java/fr/xephi/authme/util/PlayerUtils.java b/src/main/java/fr/xephi/authme/util/PlayerUtils.java index 56a51d7c..07159b06 100644 --- a/src/main/java/fr/xephi/authme/util/PlayerUtils.java +++ b/src/main/java/fr/xephi/authme/util/PlayerUtils.java @@ -17,6 +17,7 @@ public final class PlayerUtils { // Utility class private PlayerUtils() { } + private static final boolean IS_LEAVES_SERVER = Utils.isClassLoaded("top.leavesmc.leaves.LeavesConfig"); private static final List LOCALE_LIST = Arrays.asList( "en", "bg", "de", "eo", "es", "et", "eu", "fi", "fr", "gl", "hu", "id", "it", "ja", "ko", "lt", "nl", "pl", @@ -78,7 +79,7 @@ public final class PlayerUtils { * Returns the AuthMe messages file language code, by given locale and settings. * Dreeam - Hard mapping, based on mc1.20.6, 5/29/2024 * - * @param locale The locale that player client setting uses. + * @param locale The locale that player client setting uses. * @param settings The AuthMe settings, for default/fallback language usage. */ public static String LocaleToCode(String locale, Settings settings) { @@ -99,6 +100,16 @@ public final class PlayerUtils { return "br"; case "cs_cz": return "cz"; + case "nds_de": + case "sxu": + case "swg": + return "de"; + case "rpr": + return "ru"; + case "sl_si": + return "si"; + case "vi_vn": + return "vn"; case "lzh": case "zh_cn": return "zhcn"; @@ -106,6 +117,8 @@ public final class PlayerUtils { return "zhhk"; case "zh_tw": return "zhtw"; + //case "zhmc": + // return "zhmc"; } if (locale.contains("_")) { @@ -117,24 +130,6 @@ public final class PlayerUtils { return locale; } - // Match rest of special locale code that stripped "_" - switch (locale) { - case "nds": - case "sxu": - case "swg": - return "de"; - case "rpr": - return "ru"; - case "sl": - return "si"; - case "vi": - return "vn"; - case "lzh": - return "zhcn"; - //case "zhmc": - // return "zhmc"; - default: - return settings.getProperty(PluginSettings.MESSAGES_LANGUAGE); - } + return settings.getProperty(PluginSettings.MESSAGES_LANGUAGE); } } From 89817d420c411199527e887f60f6da68f9082f85 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 29 May 2024 20:34:27 +0800 Subject: [PATCH 06/25] Move utils to I18NUtils --- .../message/AbstractMessageFileHandler.java | 4 +- .../fr/xephi/authme/message/Messages.java | 4 +- .../fr/xephi/authme/util/PlayerUtils.java | 96 --------------- .../xephi/authme/util/message/I18NUtils.java | 112 ++++++++++++++++++ 4 files changed, 116 insertions(+), 100 deletions(-) create mode 100644 src/main/java/fr/xephi/authme/util/message/I18NUtils.java diff --git a/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java b/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java index a30a7c96..bdc9f0f2 100644 --- a/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java +++ b/src/main/java/fr/xephi/authme/message/AbstractMessageFileHandler.java @@ -8,7 +8,7 @@ import fr.xephi.authme.output.ConsoleLoggerFactory; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.properties.PluginSettings; import fr.xephi.authme.util.FileUtils; -import fr.xephi.authme.util.PlayerUtils; +import fr.xephi.authme.util.message.I18NUtils; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; @@ -122,7 +122,7 @@ public abstract class AbstractMessageFileHandler implements Reloadable { i18nConfiguration = new ConcurrentHashMap<>(); } - locale = PlayerUtils.LocaleToCode(locale, settings); + locale = I18NUtils.localeToCode(locale, settings); if (i18nConfiguration.containsKey(locale)) { return i18nConfiguration.get(locale); diff --git a/src/main/java/fr/xephi/authme/message/Messages.java b/src/main/java/fr/xephi/authme/message/Messages.java index ad781bd8..833673f2 100644 --- a/src/main/java/fr/xephi/authme/message/Messages.java +++ b/src/main/java/fr/xephi/authme/message/Messages.java @@ -4,8 +4,8 @@ import com.google.common.collect.ImmutableMap; import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.mail.EmailService; import fr.xephi.authme.output.ConsoleLoggerFactory; -import fr.xephi.authme.util.PlayerUtils; import fr.xephi.authme.util.expiring.Duration; +import fr.xephi.authme.util.message.I18NUtils; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -121,7 +121,7 @@ public class Messages { * @return The message from the file */ private String retrieveMessage(MessageKey key, CommandSender sender) { - String locale = PlayerUtils.getLocale(sender); + String locale = I18NUtils.getLocale(sender); String message = messagesFileHandler.getMessageByLocale(key.getKey(), locale); String displayName = sender.getName(); if (sender instanceof Player) { diff --git a/src/main/java/fr/xephi/authme/util/PlayerUtils.java b/src/main/java/fr/xephi/authme/util/PlayerUtils.java index 07159b06..2e578905 100644 --- a/src/main/java/fr/xephi/authme/util/PlayerUtils.java +++ b/src/main/java/fr/xephi/authme/util/PlayerUtils.java @@ -1,14 +1,7 @@ package fr.xephi.authme.util; -import fr.xephi.authme.settings.Settings; -import fr.xephi.authme.settings.properties.PluginSettings; -import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import java.lang.reflect.Method; -import java.util.Arrays; -import java.util.List; - /** * Player utilities. */ @@ -19,10 +12,6 @@ public final class PlayerUtils { } private static final boolean IS_LEAVES_SERVER = Utils.isClassLoaded("top.leavesmc.leaves.LeavesConfig"); - private static final List LOCALE_LIST = Arrays.asList( - "en", "bg", "de", "eo", "es", "et", "eu", "fi", "fr", "gl", "hu", "id", "it", "ja", "ko", "lt", "nl", "pl", - "pt", "ro", "ru", "sk", "sr", "tr", "uk" - ); /** * Returns the IP of the given player. @@ -47,89 +36,4 @@ public final class PlayerUtils { return player.hasMetadata("NPC"); } } - - /** - * Returns the locale that player uses. - * - * @param sender The player - */ - public static String getLocale(CommandSender sender) { - String locale = null; - - if (sender instanceof Player) { - Player player = (Player) sender; - if (Utils.majorVersion >= 12) { - locale = player.getLocale().toLowerCase(); - } else { - try { - Method spigotMethod = player.getClass().getMethod("spigot"); - Object spigot = spigotMethod.invoke(player); - - Method spigotGetLocaleMethod = spigot.getClass().getMethod("getLocale"); - locale = ((String) spigotGetLocaleMethod.invoke(spigot)).toLowerCase(); - } catch (Exception ignored) { - } - } - } - - return locale; - } - - /** - * Returns the AuthMe messages file language code, by given locale and settings. - * Dreeam - Hard mapping, based on mc1.20.6, 5/29/2024 - * - * @param locale The locale that player client setting uses. - * @param settings The AuthMe settings, for default/fallback language usage. - */ - public static String LocaleToCode(String locale, Settings settings) { - // Certain locale code to AuthMe language code redirect - if (!settings.getProperty(PluginSettings.I18N_CODE_REDIRECT).isEmpty()) { - for (String raw : settings.getProperty(PluginSettings.I18N_CODE_REDIRECT)) { - String[] split = raw.split(":"); - - if (locale.equalsIgnoreCase(split[0])) { - return split[1]; - } - } - } - - // Match certain locale code - switch (locale) { - case "pt_br": - return "br"; - case "cs_cz": - return "cz"; - case "nds_de": - case "sxu": - case "swg": - return "de"; - case "rpr": - return "ru"; - case "sl_si": - return "si"; - case "vi_vn": - return "vn"; - case "lzh": - case "zh_cn": - return "zhcn"; - case "zh_hk": - return "zhhk"; - case "zh_tw": - return "zhtw"; - //case "zhmc": - // return "zhmc"; - } - - if (locale.contains("_")) { - locale = locale.substring(0, locale.indexOf("_")); - } - - // Match locale code with "_" - if (LOCALE_LIST.contains(locale)) { - return locale; - } - - return settings.getProperty(PluginSettings.MESSAGES_LANGUAGE); - } } diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java new file mode 100644 index 00000000..a9ab1794 --- /dev/null +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -0,0 +1,112 @@ +package fr.xephi.authme.util.message; + +import fr.xephi.authme.settings.Settings; +import fr.xephi.authme.settings.properties.PluginSettings; +import fr.xephi.authme.util.Utils; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import java.lang.reflect.Method; +import java.util.Arrays; +import java.util.List; + +public class I18NUtils { + + private static Method spigotMethod; + private static final List LOCALE_LIST = Arrays.asList( + "en", "bg", "de", "eo", "es", "et", "eu", "fi", "fr", "gl", "hu", "id", "it", "ja", "ko", "lt", "nl", "pl", + "pt", "ro", "ru", "sk", "sr", "tr", "uk" + ); + + static { + try { + spigotMethod = Player.class.getMethod("spigot"); + } catch (NoSuchMethodException e) { + spigotMethod = null; + } + } + + /** + * Returns the locale that player uses. + * + * @param sender The player + */ + public static String getLocale(CommandSender sender) { + String locale = null; + + if (sender instanceof Player) { + Player player = (Player) sender; + if (Utils.majorVersion >= 12) { + locale = player.getLocale().toLowerCase(); + } else { + try { + Object spigot = spigotMethod.invoke(player); + + Method spigotGetLocaleMethod = spigot.getClass().getMethod("getLocale"); + locale = ((String) spigotGetLocaleMethod.invoke(spigot)).toLowerCase(); + } catch (Exception ignored) { + } + } + } + + return locale; + } + + /** + * Returns the AuthMe messages file language code, by given locale and settings. + * Dreeam - Hard mapping, based on mc1.20.6, 5/29/2024 + * + * @param locale The locale that player client setting uses. + * @param settings The AuthMe settings, for default/fallback language usage. + */ + public static String localeToCode(String locale, Settings settings) { + // Certain locale code to AuthMe language code redirect + if (!settings.getProperty(PluginSettings.I18N_CODE_REDIRECT).isEmpty()) { + for (String raw : settings.getProperty(PluginSettings.I18N_CODE_REDIRECT)) { + String[] split = raw.split(":"); + + if (locale.equalsIgnoreCase(split[0])) { + return split[1]; + } + } + } + + // Match certain locale code + switch (locale) { + case "pt_br": + return "br"; + case "cs_cz": + return "cz"; + case "nds_de": + case "sxu": + case "swg": + return "de"; + case "rpr": + return "ru"; + case "sl_si": + return "si"; + case "vi_vn": + return "vn"; + case "lzh": + case "zh_cn": + return "zhcn"; + case "zh_hk": + return "zhhk"; + case "zh_tw": + return "zhtw"; + //case "zhmc": + // return "zhmc"; + } + + if (locale.contains("_")) { + locale = locale.substring(0, locale.indexOf("_")); + } + + // Match locale code with "_" + if (LOCALE_LIST.contains(locale)) { + return locale; + } + + return settings.getProperty(PluginSettings.MESSAGES_LANGUAGE); + } +} From 7301a22d442677d6c37c89966ed742119f66a7de Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 29 May 2024 21:05:11 +0800 Subject: [PATCH 07/25] [ci skip] Update docs/config.md --- docs/commands.md | 2 +- docs/config.md | 1222 +++++++++++++++++++++----------------- docs/hash_algorithms.md | 2 +- docs/permission_nodes.md | 2 +- docs/translations.md | 2 +- 5 files changed, 668 insertions(+), 562 deletions(-) diff --git a/docs/commands.md b/docs/commands.md index 2a225e1f..04145751 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -108,4 +108,4 @@ brackets; optional arguments are enclosed in square brackets (`[ ]`). --- -This page was automatically generated on the [AuthMe/AuthMeReloaded repository](https://github.com/AuthMe/AuthMeReloaded/tree/master/docs/) on Sun Apr 04 21:31:42 CEST 2021 +This page was automatically generated on the [HaHaWTH/AuthMeReReloaded repository](https://github.com/HaHaWTH/AuthMeReReloaded/tree/master/docs/) on Sun Apr 04 21:31:42 CEST 2021 diff --git a/docs/config.md b/docs/config.md index d5f46275..bda21cb3 100644 --- a/docs/config.md +++ b/docs/config.md @@ -1,5 +1,5 @@ - + ## AuthMe Configuration The first time you run AuthMe it will create a config.yml file in the plugins/AuthMe folder, @@ -8,573 +8,679 @@ the generated config.yml file. ```yml DataSource: - # What type of database do you want to use? - # Valid values: H2, SQLITE, MARIADB, MYSQL, POSTGRESQL - backend: SQLITE - # Enable the database caching system, should be disabled on bungeecord environments - # or when a website integration is being used. - caching: true - # Database host address - mySQLHost: 127.0.0.1 - # Database port - mySQLPort: '3306' - # Connect to MySQL database over SSL - mySQLUseSSL: true - # Verification of server's certificate. - # We would not recommend to set this option to false. - # Set this option to false at your own risk if and only if you know what you're doing - mySQLCheckServerCertificate: true - # Authorize client to retrieve RSA server public key. - # Advanced option, ignore if you don't know what it means. - mySQLAllowPublicKeyRetrieval: true - # Username to connect to the MySQL database - mySQLUsername: authme - # Password to connect to the MySQL database - mySQLPassword: '12345' - # Database Name, use with converters or as SQLITE database name - mySQLDatabase: authme - # Table of the database - mySQLTablename: authme - # Column of IDs to sort data - mySQLColumnId: id - # Column for storing or checking players nickname - mySQLColumnName: username - # Column for storing or checking players RealName - mySQLRealName: realname - # Column for storing players passwords - mySQLColumnPassword: password - # Column for storing players passwords salts - mySQLColumnSalt: '' - # Column for storing players emails - mySQLColumnEmail: email - # Column for storing if a player is logged in or not - mySQLColumnLogged: isLogged - # Column for storing if a player has a valid session or not - mySQLColumnHasSession: hasSession - # Column for storing a player's TOTP key (for two-factor authentication) - mySQLtotpKey: totp - # Column for storing the player's last IP - mySQLColumnIp: ip - # Column for storing players lastlogins - mySQLColumnLastLogin: lastlogin - # Column storing the registration date - mySQLColumnRegisterDate: regdate - # Column for storing the IP address at the time of registration - mySQLColumnRegisterIp: regip - # Column for storing player LastLocation - X - mySQLlastlocX: x - # Column for storing player LastLocation - Y - mySQLlastlocY: y - # Column for storing player LastLocation - Z - mySQLlastlocZ: z - # Column for storing player LastLocation - World Name - mySQLlastlocWorld: world - # Column for storing player LastLocation - Yaw - mySQLlastlocYaw: yaw - # Column for storing player LastLocation - Pitch - mySQLlastlocPitch: pitch - # Column for storing players uuids (optional) - mySQLPlayerUUID: '' - # Overrides the size of the DB Connection Pool, default = 10 - poolSize: 10 - # The maximum lifetime of a connection in the pool, default = 1800 seconds - # You should set this at least 30 seconds less than mysql server wait_timeout - maxLifetime: 1800 + # What type of database do you want to use? + # Valid values: H2, SQLITE, MARIADB, MYSQL, POSTGRESQL + backend: SQLITE + # Enable the database caching system, should be disabled on bungeecord environments + # or when a website integration is being used. + caching: true + # Should we try to use VirtualThreads(Java 21+) for database cache loader? + useVirtualThreadsCache: false + # Database host address + mySQLHost: 127.0.0.1 + # Database port + mySQLPort: '3306' + # Replacement of Mysql's useSsl (for MariaDB only). + # - disable: No SSL + # - trust: Trust blindly (no validation) + # - verify_ca: Encryption, certificates validation, BUT no hostname verification + # - verify_full: Encryption, certificate validation and hostname validation + # Read more: https://bit.ly/mariadb-sslmode + MariaDbSslMode: disabled + # Connect to MySQL database over SSL + # If you're using MariaDB, use sslMode instead + mySQLUseSSL: true + # Verification of server's certificate. + # We would not recommend to set this option to false. + # Set this option to false at your own risk if and only if you know what you're doing + mySQLCheckServerCertificate: true + # Authorize client to retrieve RSA server public key. + # Advanced option, ignore if you don't know what it means. + # If you are using MariaDB, use MariaDbSslMode instead. + mySQLAllowPublicKeyRetrieval: true + # Username to connect to the MySQL database + mySQLUsername: authme + # Password to connect to the MySQL database + mySQLPassword: '12345' + # Database Name, use with converters or as SQLITE database name + mySQLDatabase: authme + # Table of the database + mySQLTablename: authme + # Column of IDs to sort data + mySQLColumnId: id + # Column for storing or checking players nickname + mySQLColumnName: username + # Column for storing or checking players RealName + mySQLRealName: realname + # Column for storing players passwords + mySQLColumnPassword: password + # Column for storing players passwords salts + mySQLColumnSalt: '' + # Column for storing players emails + mySQLColumnEmail: email + # Column for storing if a player is logged in or not + mySQLColumnLogged: isLogged + # Column for storing if a player has a valid session or not + mySQLColumnHasSession: hasSession + # Column for storing a player's TOTP key (for two-factor authentication) + mySQLtotpKey: totp + # Column for storing the player's last IP + mySQLColumnIp: ip + # Column for storing players lastlogins + mySQLColumnLastLogin: lastlogin + # Column storing the registration date + mySQLColumnRegisterDate: regdate + # Column for storing the IP address at the time of registration + mySQLColumnRegisterIp: regip + # Column for storing player LastLocation - X + mySQLlastlocX: x + # Column for storing player LastLocation - Y + mySQLlastlocY: y + # Column for storing player LastLocation - Z + mySQLlastlocZ: z + # Column for storing player LastLocation - World Name + mySQLlastlocWorld: world + # Column for storing player LastLocation - Yaw + mySQLlastlocYaw: yaw + # Column for storing player LastLocation - Pitch + mySQLlastlocPitch: pitch + # Column for storing players uuids (optional) + mySQLPlayerUUID: '' + # Overrides the size of the DB Connection Pool, default = 10 + poolSize: 10 + # The maximum lifetime of a connection in the pool, default = 1800 seconds + # You should set this at least 30 seconds less than mysql server wait_timeout + maxLifetime: 1800 ExternalBoardOptions: - # Column for storing players groups - mySQLColumnGroup: '' - # -1 means disabled. If you want that only activated players - # can log into your server, you can set here the group number - # of unactivated users, needed for some forum/CMS support - nonActivedUserGroup: -1 - # Other MySQL columns where we need to put the username (case-sensitive) - mySQLOtherUsernameColumns: [] - # How much log2 rounds needed in BCrypt (do not change if you do not know what it does) - bCryptLog2Round: 12 - # phpBB table prefix defined during the phpBB installation process - phpbbTablePrefix: phpbb_ - # phpBB activated group ID; 2 is the default registered group defined by phpBB - phpbbActivatedGroupId: 2 - # IP Board table prefix defined during the IP Board installation process - IPBTablePrefix: ipb_ - # IP Board default group ID; 3 is the default registered group defined by IP Board - IPBActivatedGroupId: 3 - # Xenforo table prefix defined during the Xenforo installation process - XFTablePrefix: xf_ - # XenForo default group ID; 2 is the default registered group defined by Xenforo - XFActivatedGroupId: 2 - # Wordpress prefix defined during WordPress installation - wordpressTablePrefix: wp_ -settings: - sessions: - # Do you want to enable the session feature? - # If enabled, when a player authenticates successfully, - # his IP and his nickname is saved. - # The next time the player joins the server, if his IP - # is the same as last time and the timeout hasn't - # expired, he will not need to authenticate. - enabled: false - # After how many minutes should a session expire? - # A player's session ends after the timeout or if his IP has changed - timeout: 10 - # Message language, available languages: - # https://github.com/AuthMe/AuthMeReloaded/blob/master/docs/translations.md - messagesLanguage: en - # Forces authme to hook into Vault instead of a specific permission handler system. - forceVaultHook: false - # Log level: INFO, FINE, DEBUG. Use INFO for general messages, - # FINE for some additional detailed ones (like password failed), - # and DEBUG for debugging - logLevel: FINE - # By default we schedule async tasks when talking to the database. If you want - # typical communication with the database to happen synchronously, set this to false - useAsyncTasks: true - # The name of the server, used in some placeholders. - serverName: Your Minecraft Server - restrictions: - # Can not authenticated players chat? - # Keep in mind that this feature also blocks all commands not - # listed in the list below. - allowChat: false - # Hide the chat log from players who are not authenticated? - hideChat: false - # Allowed commands for unauthenticated players - allowCommands: - - /login - - /log - - /l - - /register - - /reg - - /email - - /captcha - - /2fa - - /totp - # Max number of allowed registrations per IP - # The value 0 means an unlimited number of registrations! - maxRegPerIp: 1 - # Minimum allowed username length - minNicknameLength: 3 - # Maximum allowed username length - maxNicknameLength: 16 - # When this setting is enabled, online players can't be kicked out - # due to "Logged in from another Location" - # This setting will prevent potential security exploits. - ForceSingleSession: true - ForceSpawnLocOnJoin: - # If enabled, every player that spawn in one of the world listed in - # "ForceSpawnLocOnJoin.worlds" will be teleported to the spawnpoint after successful - # authentication. The quit location of the player will be overwritten. - # This is different from "teleportUnAuthedToSpawn" that teleport player - # to the spawnpoint on join. - enabled: false - # WorldNames where we need to force the spawn location - # Case-sensitive! - worlds: - - world - - world_nether - - world_the_end - # This option will save the quit location of the players. - SaveQuitLocation: false - # To activate the restricted user feature you need - # to enable this option and configure the AllowedRestrictedUser field. - AllowRestrictedUser: false - # The restricted user feature will kick players listed below - # if they don't match the defined IP address. Names are case-insensitive. - # You can use * as wildcard (127.0.0.*), or regex with a "regex:" prefix regex:127\.0\.0\..* - # Example: - # AllowedRestrictedUser: - # - playername;127.0.0.1 - # - playername;regex:127\.0\.0\..* - AllowedRestrictedUser: [] - # Ban unknown IPs trying to log in with a restricted username? - banUnsafedIP: false - # Should unregistered players be kicked immediately? - kickNonRegistered: false - # Should players be kicked on wrong password? - kickOnWrongPassword: true - # Should not logged in players be teleported to the spawn? - # After the authentication they will be teleported back to - # their normal position. - teleportUnAuthedToSpawn: false - # Can unregistered players walk around? - allowMovement: false - # After how many seconds should players who fail to login or register - # be kicked? Set to 0 to disable. - timeout: 30 - # Regex pattern of allowed characters in the player name. - allowedNicknameCharacters: '[a-zA-Z0-9_]*' - # How far can unregistered players walk? - # Set to 0 for unlimited radius - allowedMovementRadius: 100 - # Should we protect the player inventory before logging in? Requires ProtocolLib. - ProtectInventoryBeforeLogIn: true - # Should we deny the tabcomplete feature before logging in? Requires ProtocolLib. - DenyTabCompleteBeforeLogin: false - # Should we display all other accounts from a player when he joins? - # permission: /authme.admin.accounts - displayOtherAccounts: true - # Spawn priority; values: authme, essentials, cmi, multiverse, default - spawnPriority: authme,essentials,cmi,multiverse,default - # Maximum Login authorized by IP - maxLoginPerIp: 0 - # Maximum Join authorized by IP - maxJoinPerIp: 0 - # AuthMe will NEVER teleport players if set to true! - noTeleport: false - # Regex syntax for allowed chars in passwords. The default [!-~] allows all visible ASCII - # characters, which is what we recommend. See also http://asciitable.com - # You can test your regex with https://regex101.com - allowedPasswordCharacters: '[!-~]*' - GameMode: - # Force survival gamemode when player joins? - ForceSurvivalMode: false - unrestrictions: - # Below you can list all account names that AuthMe will ignore - # for registration or login. Configure it at your own risk!! - # This option adds compatibility with BuildCraft and some other mods. - # It is case-insensitive! Example: - # UnrestrictedName: - # - 'npcPlayer' - # - 'npcPlayer2' - UnrestrictedName: [] - # Below you can list all inventories names that AuthMe will ignore - # for registration or login. Configure it at your own risk!! - # This option adds compatibility with some mods. - # It is case-insensitive! Example: - # UnrestrictedInventories: - # - 'myCustomInventory1' - # - 'myCustomInventory2' - UnrestrictedInventories: [] - security: - # Minimum length of password - minPasswordLength: 5 - # Maximum length of password - passwordMaxLength: 30 - # Possible values: SHA256, BCRYPT, BCRYPT2Y, PBKDF2, SALTEDSHA512, - # MYBB, IPB3, PHPBB, PHPFUSION, SMF, XENFORO, XAUTH, JOOMLA, WBB3, WBB4, MD5VB, - # PBKDF2DJANGO, WORDPRESS, ROYALAUTH, ARGON2, CUSTOM (for developers only). See full list at - # https://github.com/AuthMe/AuthMeReloaded/blob/master/docs/hash_algorithms.md - # If you use ARGON2, check that you have the argon2 c library on your system - passwordHash: SHA256 - # If a password check fails, AuthMe will also try to check with the following hash methods. - # Use this setting when you change from one hash method to another. - # AuthMe will update the password to the new hash. Example: - # legacyHashes: - # - 'SHA1' - legacyHashes: [] - # Salt length for the SALTED2MD5 MD5(MD5(password)+salt) - doubleMD5SaltLength: 8 - # Number of rounds to use if passwordHash is set to PBKDF2. Default is 10000 - pbkdf2Rounds: 10000 - # Prevent unsafe passwords from being used; put them in lowercase! - # You should always set 'help' as unsafePassword due to possible conflicts. - # unsafePasswords: - # - '123456' - # - 'password' - # - 'help' - unsafePasswords: - - '123456' - - password - - qwerty - - '12345' - - '54321' - - '123456789' - - help - registration: - # Enable registration on the server? - enabled: true - # Send every X seconds a message to a player to - # remind him that he has to login/register - messageInterval: 5 - # Only registered and logged in players can play. - # See restrictions for exceptions - force: true - # Type of registration: PASSWORD or EMAIL - # PASSWORD = account is registered with a password supplied by the user; - # EMAIL = password is generated and sent to the email provided by the user. - # More info at https://github.com/AuthMe/AuthMeReloaded/wiki/Registration - type: PASSWORD - # Second argument the /register command should take: NONE = no 2nd argument - # CONFIRMATION = must repeat first argument (pass or email) - # EMAIL_OPTIONAL = for password register: 2nd argument can be empty or have email address - # EMAIL_MANDATORY = for password register: 2nd argument MUST be an email address - secondArg: CONFIRMATION - # Do we force kick a player after a successful registration? - # Do not use with login feature below - forceKickAfterRegister: false - # Does AuthMe need to enforce a /login after a successful registration? - forceLoginAfterRegister: false - # Broadcast the welcome message to the server or only to the player? - # set true for server or false for player - broadcastWelcomeMessage: false - # Should we delay the join message and display it once the player has logged in? - delayJoinMessage: false - # The custom join message that will be sent after a successful login, - # keep empty to use the original one. - # Available variables: - # {PLAYERNAME}: the player name (no colors) - # {DISPLAYNAME}: the player display name (with colors) - # {DISPLAYNAMENOCOLOR}: the player display name (without colors) - customJoinMessage: '' - # Should we remove the leave messages of unlogged users? - removeUnloggedLeaveMessage: false - # Should we remove join messages altogether? - removeJoinMessage: false - # Should we remove leave messages altogether? - removeLeaveMessage: false - # Do we need to add potion effect Blinding before login/register? - applyBlindEffect: false - # Do we need to prevent people to login with another case? - # If Xephi is registered, then Xephi can login, but not XEPHI/xephi/XePhI - preventOtherCase: true -GroupOptions: - # Enables switching a player to defined permission groups before they log in. - # See below for a detailed explanation. - enablePermissionCheck: false - # This is a very important option: if a registered player joins the server - # AuthMe will switch him to unLoggedInGroup. This should prevent all major exploits. - # You can set up your permission plugin with this special group to have no permissions, - # or only permission to chat (or permission to send private messages etc.). - # The better way is to set up this group with few permissions, so if a player - # tries to exploit an account they can do only what you've defined for the group. - # After login, the player will be moved to his correct permissions group! - # Please note that the group name is case-sensitive, so 'admin' is different from 'Admin' - # Otherwise your group will be wiped and the player will join in the default group []! - # Example: registeredPlayerGroup: 'NotLogged' - registeredPlayerGroup: '' - # Similar to above, unregistered players can be set to the following - # permissions group - unregisteredPlayerGroup: '' -Email: - # Email SMTP server host - mailSMTP: smtp.gmail.com - # Email SMTP server port - mailPort: 465 - # Only affects port 25: enable TLS/STARTTLS? - useTls: true - # Email account which sends the mails - mailAccount: '' - # Email account password - mailPassword: '' - # Email address, fill when mailAccount is not the email address of the account - mailAddress: '' - # Custom sender name, replacing the mailAccount name in the email - mailSenderName: '' - # Recovery password length - RecoveryPasswordLength: 8 - # Mail Subject - mailSubject: Your new AuthMe password - # Like maxRegPerIP but with email - maxRegPerEmail: 1 - # Recall players to add an email? - recallPlayers: false - # Delay in minute for the recall scheduler - delayRecall: 5 - # Blacklist these domains for emails - emailBlacklisted: - - 10minutemail.com - # Whitelist ONLY these domains for emails - emailWhitelisted: [] - # Send the new password drawn in an image? - generateImage: false - # The OAuth2 token - emailOauth2Token: '' -Hooks: - # Do we need to hook with multiverse for spawn checking? - multiverse: true - # Do we need to hook with BungeeCord? - bungeecord: false - # Send player to this BungeeCord server after register/login - sendPlayerTo: '' - # Do we need to disable Essentials SocialSpy on join? - disableSocialSpy: false - # Do we need to force /motd Essentials command on join? - useEssentialsMotd: false -Protection: - # Enable some servers protection (country based login, antibot) - enableProtection: false - # Apply the protection also to registered usernames - enableProtectionRegistered: true - geoIpDatabase: - # Enable GeoIp database - enabled: true - # The MaxMind clientId used to download the GeoIp database, - # get one at https://www.maxmind.com/en/accounts/current/license-key - # The EssentialsX project has a very useful tutorial on how to generate - # the license key: https://github.com/EssentialsX/Wiki/blob/master/GeoIP.md - clientId: '' - # The MaxMind licenseKey used to download the GeoIp database. - licenseKey: '' - # Countries allowed to join the server and register. For country codes, see - # https://dev.maxmind.com/geoip/legacy/codes/iso3166/ - # Use "LOCALHOST" for local addresses. - # PLEASE USE QUOTES! - countries: - - US - - GB - - LOCALHOST - # Countries not allowed to join the server and register - # PLEASE USE QUOTES! - countriesBlacklist: - - A1 - # Do we need to enable automatic antibot system? - enableAntiBot: true - # The interval in seconds - antiBotInterval: 5 - # Max number of players allowed to login in the interval - # before the AntiBot system is enabled automatically - antiBotSensibility: 10 - # Duration in minutes of the antibot automatic system - antiBotDuration: 10 - # Delay in seconds before the antibot activation - antiBotDelay: 60 - quickCommands: - # Kicks the player that issued a command before the defined time after the join process - denyCommandsBeforeMilliseconds: 1000 -Purge: - # If enabled, AuthMe automatically purges old, unused accounts - useAutoPurge: false - # Number of days after which an account should be purged - daysBeforeRemovePlayer: 60 - # Do we need to remove the player.dat file during purge process? - removePlayerDat: false - # Do we need to remove the Essentials/userdata/player.yml file during purge process? - removeEssentialsFile: false - # World in which the players.dat are stored - defaultWorld: world - # Remove LimitedCreative/inventories/player.yml, player_creative.yml files during purge? - removeLimitedCreativesInventories: false - # Do we need to remove the AntiXRayData/PlayerData/player file during purge process? - removeAntiXRayFile: false - # Do we need to remove permissions? - removePermissions: false -Security: - SQLProblem: - # Stop the server if we can't contact the sql database - # Take care with this, if you set this to false, - # AuthMe will automatically disable and the server won't be protected! - stopServer: true - console: - # Copy AuthMe log output in a separate file as well? - logConsole: true + # Column for storing players groups + mySQLColumnGroup: '' + # -1 means disabled. If you want that only activated players + # can log into your server, you can set here the group number + # of unactivated users, needed for some forum/CMS support + nonActivedUserGroup: -1 + # Other MySQL columns where we need to put the username (case-sensitive) + mySQLOtherUsernameColumns: [] + # How much log2 rounds needed in BCrypt (do not change if you do not know what it does) + bCryptLog2Round: 12 + # phpBB table prefix defined during the phpBB installation process + phpbbTablePrefix: phpbb_ + # phpBB activated group ID; 2 is the default registered group defined by phpBB + phpbbActivatedGroupId: 2 + # IP Board table prefix defined during the IP Board installation process + IPBTablePrefix: ipb_ + # IP Board default group ID; 3 is the default registered group defined by IP Board + IPBActivatedGroupId: 3 + # Xenforo table prefix defined during the Xenforo installation process + XFTablePrefix: xf_ + # XenForo default group ID; 2 is the default registered group defined by Xenforo + XFActivatedGroupId: 2 + # Wordpress prefix defined during WordPress installation + wordpressTablePrefix: wp_ +3rdPartyFeature: + compatibility: + # Should we execute /help command when unregistered players press Shift+F? + # This keeps compatibility with some menu plugins + # If you are using TrMenu, don't enable this because TrMenu already implemented this. + menuPlugins: false + features: + i18nMessages: + # Send i18n messages to player based on their client settings, this option will override `settings.messagesLanguage` + # This will not affect language of authme help command. + enabled: false + # Redirect locale code to certain AuthMe language code as you want + # Minecraft locale list: https://minecraft.wiki/w/Language + # AuthMe language code: https://github.com/HaHaWTH/AuthMeReReloaded/blob/master/docs/translations.md + # For example, if you want to show Russian messages to player using language Tatar(tt_ru), + # and show Chinese Simplified messages to player using language Classical Chinese(lzh), then: + # locale-code-redirect: + # - 'tt_ru:ru' + # - 'lzh:zhcn' + locale-code-redirect: + - tt_ru:ru + - lzh:zhcn captcha: - # Enable captcha when a player uses wrong password too many times - useCaptcha: false - # Max allowed tries before a captcha is required - maxLoginTry: 5 - # Captcha length - captchaLength: 5 - # Minutes after which login attempts count is reset for a player - captchaCountReset: 60 - # Require captcha before a player may register? - requireForRegistration: false - tempban: - # Tempban a user's IP address if they enter the wrong password too many times - enableTempban: false - # How many times a user can attempt to login before their IP being tempbanned - maxLoginTries: 10 - # The length of time a IP address will be tempbanned in minutes - # Default: 480 minutes, or 8 hours - tempbanLength: 480 - # How many minutes before resetting the count for failed logins by IP and username - # Default: 480 minutes (8 hours) - minutesBeforeCounterReset: 480 - # The command to execute instead of using the internal ban system, empty if disabled. - # Available placeholders: %player%, %ip% - customCommand: '' - recoveryCode: - # Number of characters a recovery code should have (0 to disable) - length: 8 - # How many hours is a recovery code valid for? - validForHours: 4 - # Max number of tries to enter recovery code - maxTries: 3 - # How long a player has after password recovery to change their password - # without logging in. This is in minutes. - # Default: 2 minutes - passwordChangeTimeout: 2 - emailRecovery: - # Seconds a user has to wait for before a password recovery mail may be sent again - # This prevents an attacker from abusing AuthMe's email feature. - cooldown: 60 - privacy: - # The mail shown using /email show will be partially hidden - # E.g. (if enabled) - # original email: my.email@example.com - # hidden email: my.***@***mple.com - enableEmailMasking: false - # Minutes after which a verification code will expire - verificationCodeExpiration: 10 + # Should send GUI captcha by country code whitelist? + # If the country of the player is in this list, the captcha won't be sent. + whiteList: [] + # Send a GUI captcha to unregistered players?(Requires ProtocolLib) + guiCaptcha: false + # Should we kick the players when they don't finish the GUI captcha in seconds? + # (less than or equals 0 is disabled) + timeOut: 0 + # Should we ignore floodgate players when sending GUI captcha? + # (Requires floodgate and hookFloodgate: true) + ignoreBedrock: false + # Should we let Bedrock players login automatically? + # (Requires hookFloodgate to be true & floodgate loaded) + # (**THIS IS SAFE DO NOT WORRY**) + bedrockAutoLogin: false + purgeData: + # Should we purge data on non-registered players quit? + purgeOnQuit: false + # Which world's player data should be deleted?(Enter the world *FOLDER* name where your players first logged in) + purgeWorldFolderName: world + fixes: + # Enable the new feature to prevent ghost players? + antiGhostPlayer: false + # (MC1.13- only) + # Should we fix the shulker crash bug with advanced method? + advancedShulkerFix: false + loginLocationFix: + # Should we fix the location when players logged in the portal? + fixPortalStuck: false + # Should we fix the location when players logged underground? + fixGroundStuck: false + optimizes: + # Choose the best teleport method by server brand? + # (Enable this if you are using Paper/Folia) + smartAsyncTeleport: true +settings: + sessions: + # Do you want to enable the session feature? + # If enabled, when a player authenticates successfully, + # his IP and his nickname is saved. + # The next time the player joins the server, if his IP + # is the same as last time and the timeout hasn't + # expired, he will not need to authenticate. + enabled: true + # After how many minutes should a session expire? + # A player's session ends after the timeout or if his IP has changed + timeout: 43200 + # Message language, available languages: + # https://github.com/AuthMe/AuthMeReloaded/blob/master/docs/translations.md + # Example: zhcn, en + messagesLanguage: en + # Forces authme to hook into Vault instead of a specific permission handler system. + forceVaultHook: false + # Log level: INFO, FINE, DEBUG. Use INFO for general messages, + # FINE for some additional detailed ones (like password failed), + # and DEBUG for debugging + logLevel: FINE + # By default we schedule async tasks when talking to the database. If you want + # typical communication with the database to happen synchronously, set this to false + useAsyncTasks: true + # The name of the server, used in some placeholders. + serverName: Your Minecraft Server + restrictions: + # Can not authenticated players chat? + # Keep in mind that this feature also blocks all commands not + # listed in the list below. + allowChat: false + # Hide the chat log from players who are not authenticated? + hideChat: false + # Allowed commands for unauthenticated players + allowCommands: + - /login + - /log + - /l + - /register + - /reg + - /email + - /captcha + - /2fa + - /totp + # Max number of allowed registrations per IP + # The value 0 means an unlimited number of registrations! + maxRegPerIp: 3 + # Minimum allowed username length + minNicknameLength: 3 + # Maximum allowed username length + maxNicknameLength: 16 + # When this setting is enabled, online players can't be kicked out + # due to "Logged in from another Location" + # This setting will prevent potential security exploits. + ForceSingleSession: true + ForceSpawnLocOnJoin: + # If enabled, every player that spawn in one of the world listed in + # "ForceSpawnLocOnJoin.worlds" will be teleported to the spawnpoint after successful + # authentication. The quit location of the player will be overwritten. + # This is different from "teleportUnAuthedToSpawn" that teleport player + # to the spawnpoint on join. + enabled: false + # WorldNames where we need to force the spawn location + # Case-sensitive! + worlds: + - world + - world_nether + - world_the_end + # This option will save the quit location of the players. + SaveQuitLocation: false + # To activate the restricted user feature you need + # to enable this option and configure the AllowedRestrictedUser field. + AllowRestrictedUser: true + # The restricted user feature will kick players listed below + # if they don't match the defined IP address. Names are case-insensitive. + # You can use * as wildcard (127.0.0.*), or regex with a "regex:" prefix regex:127\.0\.0\..* + # Example: + # AllowedRestrictedUser: + # - playername;127.0.0.1 + # - playername;regex:127\.0\.0\..* + AllowedRestrictedUser: + - server_land;127.0.0.1 + - server;127.0.0.1 + - bukkit;127.0.0.1 + - purpur;127.0.0.1 + - system;127.0.0.1 + - admin;127.0.0.1 + - md_5;127.0.0.1 + - administrator;127.0.0.1 + - notch;127.0.0.1 + - spigot;127.0.0.1 + - bukkitcraft;127.0.0.1 + - paperclip;127.0.0.1 + - papermc;127.0.0.1 + - spigotmc;127.0.0.1 + - root;127.0.0.1 + - console;127.0.0.1 + - authme;127.0.0.1 + - owner;127.0.0.1 + # Ban unknown IPs trying to log in with a restricted username? + banUnsafedIP: false + # Should unregistered players be kicked immediately? + kickNonRegistered: false + # Should players be kicked on wrong password? + kickOnWrongPassword: false + # Should not logged in players be teleported to the spawn? + # After the authentication they will be teleported back to + # their normal position. + teleportUnAuthedToSpawn: false + # Can unregistered players walk around? + allowMovement: false + # After how many seconds should players who fail to login or register + # be kicked? Set to 0 to disable. + timeout: 120 + # Regex pattern of allowed characters in the player name. + allowedNicknameCharacters: '[a-zA-Z0-9_]*' + # How far can unregistered players walk? + # Set to 0 for unlimited radius + allowedMovementRadius: 0 + # Should we protect the player inventory before logging in? Requires ProtocolLib. + ProtectInventoryBeforeLogIn: false + # Should we deny the tabcomplete feature before logging in? Requires ProtocolLib. + DenyTabCompleteBeforeLogin: false + # Should we display all other accounts from a player when he joins? + # permission: /authme.admin.accounts + displayOtherAccounts: false + # Spawn priority; values: authme, essentials, cmi, multiverse, default + spawnPriority: authme,essentials,cmi,multiverse,default + # Maximum Login authorized by IP + maxLoginPerIp: 3 + # Maximum Join authorized by IP + maxJoinPerIp: 3 + # AuthMe will NEVER teleport players if set to true! + noTeleport: false + # Regex syntax for allowed chars in passwords. The default [!-~] allows all visible ASCII + # characters, which is what we recommend. See also http://asciitable.com + # You can test your regex with https://regex101.com + allowedPasswordCharacters: '[!-~]*' + # Regex syntax for allowed chars in email. + allowedEmailCharacters: ^[A-Za-z0-9_.]{3,20}@(qq|outlook|163|gmail|icloud)\.com$ + GameMode: + # Force survival gamemode when player joins? + ForceSurvivalMode: false + unrestrictions: + # Below you can list all account names that AuthMe will ignore + # for registration or login. Configure it at your own risk!! + # This option adds compatibility with BuildCraft and some other mods. + # It is case-insensitive! Example: + # UnrestrictedName: + # - 'npcPlayer' + # - 'npcPlayer2' + UnrestrictedName: [] + # Below you can list all inventories names that AuthMe will ignore + # for registration or login. Configure it at your own risk!! + # This option adds compatibility with some mods. + # It is case-insensitive! Example: + # UnrestrictedInventories: + # - 'myCustomInventory1' + # - 'myCustomInventory2' + UnrestrictedInventories: [] + security: + # Minimum length of password + minPasswordLength: 8 + # Maximum length of password + passwordMaxLength: 26 + # Possible values: SHA256, BCRYPT, BCRYPT2Y, PBKDF2, SALTEDSHA512, + # MYBB, IPB3, PHPBB, PHPFUSION, SMF, XENFORO, XAUTH, JOOMLA, WBB3, WBB4, MD5VB, + # PBKDF2DJANGO, WORDPRESS, ROYALAUTH, ARGON2, NOCRYPT, CUSTOM (for developers only). See full list at + # https://github.com/AuthMe/AuthMeReloaded/blob/master/docs/hash_algorithms.md + # If you use ARGON2, check that you have the argon2 c library on your system + passwordHash: SHA256 + # If a password check fails, AuthMe will also try to check with the following hash methods. + # Use this setting when you change from one hash method to another. + # AuthMe will update the password to the new hash. Example: + # legacyHashes: + # - 'SHA1' + legacyHashes: [] + # Salt length for the SALTED2MD5 MD5(MD5(password)+salt) + doubleMD5SaltLength: 8 + # Number of rounds to use if passwordHash is set to PBKDF2. Default is 10000 + pbkdf2Rounds: 10000 + # Prevent unsafe passwords from being used; put them in lowercase! + # You should always set 'help' as unsafePassword due to possible conflicts. + # unsafePasswords: + # - '123456' + # - 'password' + # - 'help' + unsafePasswords: + - '12345678' + - password + - qwertyui + - '123456789' + - '87654321' + - '1234567890' + - asdfghjkl + - zxcvbnm, + - asdfghjk + - '12312312' + - '123123123' + - '32132132' + - '321321321' + registration: + # Enable registration on the server? + enabled: true + # Send every X seconds a message to a player to + # remind him that he has to login/register + messageInterval: 5 + # Only registered and logged in players can play. + # See restrictions for exceptions + force: true + # Type of registration: PASSWORD or EMAIL + # PASSWORD = account is registered with a password supplied by the user; + # EMAIL = password is generated and sent to the email provided by the user. + # More info at https://github.com/AuthMe/AuthMeReloaded/wiki/Registration + type: PASSWORD + # Second argument the /register command should take: + # NONE = no 2nd argument + # CONFIRMATION = must repeat first argument (pass or email) + # EMAIL_OPTIONAL = for password register: 2nd argument can be empty or have email address + # EMAIL_MANDATORY = for password register: 2nd argument MUST be an email address + secondArg: CONFIRMATION + email: + # Should we unregister the player when he didn't verify the email? + # This only works if you enabled email registration. + unregisterOnEmailVerificationFailure: false + # How many minutes should we wait before unregister the player + # when he didn't verify the email? + unregisterAfterMinutes: 10 + # Do we force kick a player after a successful registration? + # Do not use with login feature below + forceKickAfterRegister: false + # Does AuthMe need to enforce a /login after a successful registration? + forceLoginAfterRegister: false + # Should we delay the join message and display it once the player has logged in? + delayJoinMessage: true + # The custom join message that will be sent after a successful login, + # keep empty to use the original one. + # Available variables: + # {PLAYERNAME}: the player name (no colors) + # {DISPLAYNAME}: the player display name (with colors) + # {DISPLAYNAMENOCOLOR}: the player display name (without colors) + customJoinMessage: '' + # Should we remove the leave messages of unlogged users? + removeUnloggedLeaveMessage: true + # Should we remove join messages altogether? + removeJoinMessage: true + # Should we remove leave messages altogether? + removeLeaveMessage: true + # Do we need to add potion effect Blinding before login/register? + applyBlindEffect: false + # Do we need to prevent people to login with another case? + # If Xephi is registered, then Xephi can login, but not XEPHI/xephi/XePhI + preventOtherCase: true +GroupOptions: + # Enables switching a player to defined permission groups before they log in. + # See below for a detailed explanation. + enablePermissionCheck: false + # This is a very important option: if a registered player joins the server + # AuthMe will switch him to unLoggedInGroup. This should prevent all major exploits. + # You can set up your permission plugin with this special group to have no permissions, + # or only permission to chat (or permission to send private messages etc.). + # The better way is to set up this group with few permissions, so if a player + # tries to exploit an account they can do only what you've defined for the group. + # After login, the player will be moved to his correct permissions group! + # Please note that the group name is case-sensitive, so 'admin' is different from 'Admin' + # Otherwise your group will be wiped and the player will join in the default group []! + # Example: registeredPlayerGroup: 'NotLogged' + registeredPlayerGroup: '' + # Similar to above, unregistered players can be set to the following + # permissions group + unregisteredPlayerGroup: '' +Email: + # Email SMTP server host + mailSMTP: smtp.163.com + # Email SMTP server port + mailPort: 465 + # Only affects port 25: enable TLS/STARTTLS? + useTls: true + # Email account which sends the mails + mailAccount: '' + # Email account password + mailPassword: '' + # Email address, fill when mailAccount is not the email address of the account + mailAddress: '' + # Custom sender name, replacing the mailAccount name in the email + mailSenderName: '' + # Recovery password length + RecoveryPasswordLength: 12 + # Mail Subject + mailSubject: Your new AuthMe password + # Like maxRegPerIP but with email + maxRegPerEmail: 1 + # Recall players to add an email? + recallPlayers: false + # Delay in minute for the recall scheduler + delayRecall: 5 + # Send the new password drawn in an image? + generateImage: false + # The OAuth2 token + emailOauth2Token: '' + # Email notifications when the server shuts down + shutDownEmail: false + # Email notification address when the server is shut down + shutDownEmailAddress: your@mail.com +Hooks: + # Do we need to hook with multiverse for spawn checking? + multiverse: true + # Do we need to hook with BungeeCord? + bungeecord: false + # Do we need to hook with Velocity? + velocity: false + # How many ticks should we wait before sending login info to proxy? + # Change this to higher if your player has high ping. + # See: https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/ + proxySendDelay: 10 + # Hook into floodgate. + # This must be true if you want to use other bedrock features. + floodgate: false + # Allow bedrock players join without check isValidName? + ignoreBedrockNameCheck: true + # Send player to this BungeeCord server after register/login + sendPlayerTo: '' + # Do we need to disable Essentials SocialSpy on join? + disableSocialSpy: false + # Do we need to force /motd Essentials command on join? + useEssentialsMotd: false +Protection: + # Enable some servers protection (country based login, antibot) + enableProtection: false + # Apply the protection also to registered usernames + enableProtectionRegistered: false + # Countries allowed to join the server and register. For country codes, see + # https://dev.maxmind.com/geoip/legacy/codes/iso3166/ + # Use "LOCALHOST" for local addresses. + # PLEASE USE QUOTES! + countries: + - LOCALHOST + # Countries not allowed to join the server and register + # PLEASE USE QUOTES! + countriesBlacklist: + - A1 + # Do we need to enable automatic antibot system? + enableAntiBot: true + # The interval in seconds + antiBotInterval: 5 + # Max number of players allowed to login in the interval + # before the AntiBot system is enabled automatically + antiBotSensibility: 10 + # Duration in minutes of the antibot automatic system + antiBotDuration: 10 + # Delay in seconds before the antibot activation + antiBotDelay: 60 + quickCommands: + # Kicks the player that issued a command before the defined time after the join process + denyCommandsBeforeMilliseconds: 3000 +Purge: + # If enabled, AuthMe automatically purges old, unused accounts + useAutoPurge: false + # Number of days after which an account should be purged + daysBeforeRemovePlayer: 60 + # Do we need to remove the player.dat file during purge process? + removePlayerDat: false + # Do we need to remove the Essentials/userdata/player.yml file during purge process? + removeEssentialsFile: false + # World in which the players.dat are stored + defaultWorld: world + # Remove LimitedCreative/inventories/player.yml, player_creative.yml files during purge? + removeLimitedCreativesInventories: false + # Do we need to remove the AntiXRayData/PlayerData/player file during purge process? + removeAntiXRayFile: false + # Do we need to remove permissions? + removePermissions: false +Security: + SQLProblem: + # Stop the server if we can't contact the sql database + # Take care with this, if you set this to false, + # AuthMe will automatically disable and the server won't be protected! + stopServer: false + console: + # Copy AuthMe log output in a separate file as well? + logConsole: true + account: + haveIBeenPwned: + # Query haveibeenpwned.com with a hashed version of the password. + # This is used to check whether it is safe. + check: false + # If the password is used more than this number of times, it is considered unsafe. + limit: 0 + captcha: + # Enable captcha when a player uses wrong password too many times + useCaptcha: false + # Max allowed tries before a captcha is required + maxLoginTry: 8 + # Captcha length + captchaLength: 6 + # Minutes after which login attempts count is reset for a player + captchaCountReset: 120 + # Require captcha before a player may register? + requireForRegistration: false + tempban: + # Tempban a user's IP address if they enter the wrong password too many times + enableTempban: false + # How many times a user can attempt to login before their IP being tempbanned + maxLoginTries: 8 + # The length of time a IP address will be tempbanned in minutes + # Default: 480 minutes, or 8 hours + tempbanLength: 480 + # How many minutes before resetting the count for failed logins by IP and username + # Default: 480 minutes (8 hours) + minutesBeforeCounterReset: 480 + # The command to execute instead of using the internal ban system, empty if disabled. + # Available placeholders: %player%, %ip% + customCommand: '' + recoveryCode: + # Number of characters a recovery code should have (0 to disable) + length: 8 + # How many hours is a recovery code valid for? + validForHours: 6 + # Max number of tries to enter recovery code + maxTries: 4 + # How long a player has after password recovery to change their password + # without logging in. This is in minutes. + # Default: 2 minutes + passwordChangeTimeout: 5 + emailRecovery: + # Seconds a user has to wait for before a password recovery mail may be sent again + # This prevents an attacker from abusing AuthMe's email feature. + cooldown: 60 + privacy: + # The mail shown using /email show will be partially hidden + # E.g. (if enabled) + # original email: my.email@example.com + # hidden email: my.***@***mple.com + enableEmailMasking: false + # Minutes after which a verification code will expire + verificationCodeExpiration: 10 +Plugin: + updates: + # Check for updates on enabled from GitHub? + checkForUpdates: true + banners: + # Should we show the AuthMe banner on startup? + showBanners: true # Before a user logs in, various properties are temporarily removed from the player, # such as OP status, ability to fly, and walk/fly speed. # Once the user is logged in, we add back the properties we previously saved. # In this section, you may define how these properties should be handled. # Read more at https://github.com/AuthMe/AuthMeReloaded/wiki/Limbo-players limbo: - persistence: - # Besides storing the data in memory, you can define if/how the data should be persisted - # on disk. This is useful in case of a server crash, so next time the server starts we can - # properly restore things like OP status, ability to fly, and walk/fly speed. - # DISABLED: no disk storage, - # INDIVIDUAL_FILES: each player data in its own file, - # DISTRIBUTED_FILES: distributes players into different files based on their UUID, see below - type: INDIVIDUAL_FILES - # This setting only affects DISTRIBUTED_FILES persistence. The distributed file - # persistence attempts to reduce the number of files by distributing players into various - # buckets based on their UUID. This setting defines into how many files the players should - # be distributed. Possible values: ONE, FOUR, EIGHT, SIXTEEN, THIRTY_TWO, SIXTY_FOUR, - # ONE_TWENTY for 128, TWO_FIFTY for 256. - # For example, if you expect 100 non-logged in players, setting to SIXTEEN will average - # 6.25 players per file (100 / 16). - # Note: if you change this setting all data will be migrated. If you have a lot of data, - # change this setting only on server restart, not with /authme reload. - distributionSize: SIXTEEN - # Whether the player is allowed to fly: RESTORE, ENABLE, DISABLE, NOTHING. - # RESTORE sets back the old property from the player. NOTHING will prevent AuthMe - # from modifying the 'allow flight' property on the player. - restoreAllowFlight: RESTORE - # Restore fly speed: RESTORE, DEFAULT, MAX_RESTORE, RESTORE_NO_ZERO. - # RESTORE: restore the speed the player had; - # DEFAULT: always set to default speed; - # MAX_RESTORE: take the maximum of the player's current speed and the previous one - # RESTORE_NO_ZERO: Like 'restore' but sets speed to default if the player's speed was 0 - restoreFlySpeed: RESTORE_NO_ZERO - # Restore walk speed: RESTORE, DEFAULT, MAX_RESTORE, RESTORE_NO_ZERO. - # See above for a description of the values. - restoreWalkSpeed: RESTORE_NO_ZERO + persistence: + # Besides storing the data in memory, you can define if/how the data should be persisted + # on disk. This is useful in case of a server crash, so next time the server starts we can + # properly restore things like OP status, ability to fly, and walk/fly speed. + # DISABLED: no disk storage, + # INDIVIDUAL_FILES: each player data in its own file, + # DISTRIBUTED_FILES: distributes players into different files based on their UUID, see below + type: INDIVIDUAL_FILES + # This setting only affects DISTRIBUTED_FILES persistence. The distributed file + # persistence attempts to reduce the number of files by distributing players into various + # buckets based on their UUID. This setting defines into how many files the players should + # be distributed. Possible values: ONE, FOUR, EIGHT, SIXTEEN, THIRTY_TWO, SIXTY_FOUR, + # ONE_TWENTY for 128, TWO_FIFTY for 256. + # For example, if you expect 100 non-logged in players, setting to SIXTEEN will average + # 6.25 players per file (100 / 16). + # Note: if you change this setting all data will be migrated. If you have a lot of data, + # change this setting only on server restart, not with /authme reload. + distributionSize: SIXTEEN + # Whether the player is allowed to fly: RESTORE, ENABLE, DISABLE, NOTHING. + # RESTORE sets back the old property from the player. NOTHING will prevent AuthMe + # from modifying the 'allow flight' property on the player. + restoreAllowFlight: RESTORE + # Restore fly speed: RESTORE, DEFAULT, MAX_RESTORE, RESTORE_NO_ZERO. + # RESTORE: restore the speed the player had; + # DEFAULT: always set to default speed; + # MAX_RESTORE: take the maximum of the player's current speed and the previous one + # RESTORE_NO_ZERO: Like 'restore' but sets speed to default if the player's speed was 0 + restoreFlySpeed: RESTORE_NO_ZERO + # Restore walk speed: RESTORE, DEFAULT, MAX_RESTORE, RESTORE_NO_ZERO. + # See above for a description of the values. + restoreWalkSpeed: RESTORE_NO_ZERO BackupSystem: - # General configuration for backups: if false, no backups are possible - ActivateBackup: false - # Create backup at every start of server - OnServerStart: false - # Create backup at every stop of server - OnServerStop: true - # Windows only: MySQL installation path - MysqlWindowsPath: C:\Program Files\MySQL\MySQL Server 5.1\ + # General configuration for backups: if false, no backups are possible + ActivateBackup: false + # Create backup at every start of server + OnServerStart: false + # Create backup at every stop of server + OnServerStop: true + # Windows only: MySQL installation path + MysqlWindowsPath: C:\Program Files\MySQL\MySQL Server 5.1\ # Converter settings: see https://github.com/AuthMe/AuthMeReloaded/wiki/Converters Converter: - Rakamak: - # Rakamak file name - fileName: users.rak - # Rakamak use IP? - useIP: false - # Rakamak IP file name - ipFileName: UsersIp.rak - CrazyLogin: - # CrazyLogin database file name - fileName: accounts.db - loginSecurity: - # LoginSecurity: convert from SQLite; if false we use MySQL - useSqlite: true - mySql: - # LoginSecurity MySQL: database host - host: '' - # LoginSecurity MySQL: database name - database: '' - # LoginSecurity MySQL: database user - user: '' - # LoginSecurity MySQL: password for database user - password: '' + CrazyLogin: + # CrazyLogin database file name + fileName: accounts.db + loginSecurity: + # LoginSecurity: convert from SQLite; if false we use MySQL + useSqlite: true + mySql: + # LoginSecurity MySQL: database host + host: '' + # LoginSecurity MySQL: database name + database: '' + # LoginSecurity MySQL: database user + user: '' + # LoginSecurity MySQL: password for database user + password: '' ``` @@ -583,4 +689,4 @@ To change settings on a running server, save your changes to config.yml and use --- -This page was automatically generated on the [AuthMe/AuthMeReloaded repository](https://github.com/AuthMe/AuthMeReloaded/tree/master/docs/) on Thu Jul 28 18:11:22 CEST 2022 +This page was automatically generated on the [HaHaWTH/AuthMeReReloaded repository](https://github.com/HaHaWTH/AuthMeReReloaded/tree/master/docs/) on Wed May 29 21:00:00 CST 2024 diff --git a/docs/hash_algorithms.md b/docs/hash_algorithms.md index dead800a..15a3204a 100644 --- a/docs/hash_algorithms.md +++ b/docs/hash_algorithms.md @@ -80,4 +80,4 @@ or bad. --- -This page was automatically generated on the [AuthMe/AuthMeReloaded repository](https://github.com/AuthMe/AuthMeReloaded/tree/master/docs/) on Sun Apr 04 21:31:44 CEST 2021 +This page was automatically generated on the [HaHaWTH/AuthMeReReloaded repository](https://github.com/HaHaWTH/AuthMeReReloaded/tree/master/docs/) on Sun Apr 04 21:31:44 CEST 2021 diff --git a/docs/permission_nodes.md b/docs/permission_nodes.md index bf76796d..53fa7171 100644 --- a/docs/permission_nodes.md +++ b/docs/permission_nodes.md @@ -73,4 +73,4 @@ The following are the permission nodes that are currently supported by the lates --- -This page was automatically generated on the [AuthMe/AuthMeReloaded repository](https://github.com/AuthMe/AuthMeReloaded/tree/master/docs/) on Sun Apr 04 21:31:44 CEST 2021 +This page was automatically generated on the [HaHaWTH/AuthMeReReloaded repository](https://github.com/HaHaWTH/AuthMeReReloaded/tree/master/docs/) on Sun Apr 04 21:31:44 CEST 2021 diff --git a/docs/translations.md b/docs/translations.md index fc8251e6..e8833888 100644 --- a/docs/translations.md +++ b/docs/translations.md @@ -44,4 +44,4 @@ Code | Language | Translated |   --- -This page was automatically generated on the [AuthMe/AuthMeReloaded repository](https://github.com/AuthMe/AuthMeReloaded/tree/master/docs/) on Wed Jun 21 12:14:29 CEST 2023 +This page was automatically generated on the [HaHaWTH/AuthMeReReloaded repository](https://github.com/HaHaWTH/AuthMeReReloaded/tree/master/docs/) on Wed Jun 21 12:14:29 CEST 2023 From 0c10cb0ead6d0d09b19d8090c6b5590d67c51469 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 29 May 2024 22:55:19 +0800 Subject: [PATCH 08/25] Fix code style --- .../fr/xephi/authme/message/Messages.java | 6 ++-- .../xephi/authme/util/message/I18NUtils.java | 29 +++++++------------ 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/src/main/java/fr/xephi/authme/message/Messages.java b/src/main/java/fr/xephi/authme/message/Messages.java index 833673f2..2877e484 100644 --- a/src/main/java/fr/xephi/authme/message/Messages.java +++ b/src/main/java/fr/xephi/authme/message/Messages.java @@ -121,13 +121,15 @@ public class Messages { * @return The message from the file */ private String retrieveMessage(MessageKey key, CommandSender sender) { - String locale = I18NUtils.getLocale(sender); + String locale = sender instanceof Player + ? I18NUtils.getLocale((Player) sender) + : null; String message = messagesFileHandler.getMessageByLocale(key.getKey(), locale); String displayName = sender.getName(); if (sender instanceof Player) { displayName = ((Player) sender).getDisplayName(); } - + return ChatColor.translateAlternateColorCodes('&', message) .replace(NEWLINE_TAG, "\n") .replace(USERNAME_TAG, sender.getName()) diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index a9ab1794..f7be5981 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -3,7 +3,6 @@ package fr.xephi.authme.util.message; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.properties.PluginSettings; import fr.xephi.authme.util.Utils; -import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.lang.reflect.Method; @@ -29,27 +28,21 @@ public class I18NUtils { /** * Returns the locale that player uses. * - * @param sender The player + * @param player The player */ - public static String getLocale(CommandSender sender) { - String locale = null; + public static String getLocale(Player player) { + if (Utils.majorVersion >= 12) { + return player.getLocale().toLowerCase(); + } else { + try { + Object spigot = spigotMethod.invoke(player); + Method spigotGetLocaleMethod = spigot.getClass().getMethod("getLocale"); - if (sender instanceof Player) { - Player player = (Player) sender; - if (Utils.majorVersion >= 12) { - locale = player.getLocale().toLowerCase(); - } else { - try { - Object spigot = spigotMethod.invoke(player); - - Method spigotGetLocaleMethod = spigot.getClass().getMethod("getLocale"); - locale = ((String) spigotGetLocaleMethod.invoke(spigot)).toLowerCase(); - } catch (Exception ignored) { - } + return ((String) spigotGetLocaleMethod.invoke(spigot)).toLowerCase(); + } catch (Exception ignored) { + return null; } } - - return locale; } /** From 39e94c6ea79d16c78fc23c04700c8595a241085d Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 29 May 2024 23:04:58 +0800 Subject: [PATCH 09/25] [ci skip] Try to decrease complexity --- src/main/java/fr/xephi/authme/util/message/I18NUtils.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index f7be5981..77ac4d7c 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -91,11 +91,15 @@ public class I18NUtils { // return "zhmc"; } + // Match locale code with "_" + return matchLocale(locale, settings); + } + + private static String matchLocale(String locale, Settings settings) { if (locale.contains("_")) { locale = locale.substring(0, locale.indexOf("_")); } - // Match locale code with "_" if (LOCALE_LIST.contains(locale)) { return locale; } From e79036d42fdcee38beba690d39e63ff046c228fb Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 29 May 2024 23:06:47 +0800 Subject: [PATCH 10/25] Revert "[ci skip] Try to decrease complexity" This reverts commit 39e94c6ea79d16c78fc23c04700c8595a241085d. --- src/main/java/fr/xephi/authme/util/message/I18NUtils.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index 77ac4d7c..f7be5981 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -91,15 +91,11 @@ public class I18NUtils { // return "zhmc"; } - // Match locale code with "_" - return matchLocale(locale, settings); - } - - private static String matchLocale(String locale, Settings settings) { if (locale.contains("_")) { locale = locale.substring(0, locale.indexOf("_")); } + // Match locale code with "_" if (LOCALE_LIST.contains(locale)) { return locale; } From 0d903d23b01c187f89a28363f865df532ea5e84c Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 29 May 2024 23:20:34 +0800 Subject: [PATCH 11/25] Add strict locale-code-redirect config format check --- src/main/java/fr/xephi/authme/util/message/I18NUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index f7be5981..c5cb74a9 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -58,7 +58,7 @@ public class I18NUtils { for (String raw : settings.getProperty(PluginSettings.I18N_CODE_REDIRECT)) { String[] split = raw.split(":"); - if (locale.equalsIgnoreCase(split[0])) { + if (split.length == 2 && locale.equalsIgnoreCase(split[0])) { return split[1]; } } From fdc0d3163277449b3c9e37b4fdbc4363eb95fbfe Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Thu, 30 May 2024 00:27:38 +0800 Subject: [PATCH 12/25] Fix reflect error --- src/main/java/fr/xephi/authme/util/message/I18NUtils.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index c5cb74a9..d78fe1b3 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -37,6 +37,7 @@ public class I18NUtils { try { Object spigot = spigotMethod.invoke(player); Method spigotGetLocaleMethod = spigot.getClass().getMethod("getLocale"); + spigotGetLocaleMethod.setAccessible(true); return ((String) spigotGetLocaleMethod.invoke(spigot)).toLowerCase(); } catch (Exception ignored) { From 4e54d867120ac683fce20d572e1fef2a3a34f644 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Thu, 30 May 2024 01:21:57 +0800 Subject: [PATCH 13/25] Fix getting locale in lower version client by delaying message sending --- .../fr/xephi/authme/service/CommonService.java | 15 +++++++++++++++ .../fr/xephi/authme/util/message/I18NUtils.java | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/fr/xephi/authme/service/CommonService.java b/src/main/java/fr/xephi/authme/service/CommonService.java index 92a49267..4c5a211c 100644 --- a/src/main/java/fr/xephi/authme/service/CommonService.java +++ b/src/main/java/fr/xephi/authme/service/CommonService.java @@ -6,6 +6,8 @@ import fr.xephi.authme.message.Messages; import fr.xephi.authme.permission.PermissionNode; import fr.xephi.authme.permission.PermissionsManager; import fr.xephi.authme.settings.Settings; +import fr.xephi.authme.settings.properties.PluginSettings; +import fr.xephi.authme.util.Utils; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -22,6 +24,9 @@ public class CommonService { @Inject private Messages messages; + @Inject + private BukkitService bukkitService; + @Inject private PermissionsManager permissionsManager; @@ -46,6 +51,11 @@ public class CommonService { * @param key the message key */ public void send(CommandSender sender, MessageKey key) { + if (Utils.majorVersion < 12 && settings.getProperty(PluginSettings.I18N_MESSAGES)) { + bukkitService.runTaskLater(() -> messages.send(sender, key), 35L); + return; + } + messages.send(sender, key); } @@ -57,6 +67,11 @@ public class CommonService { * @param replacements the replacements to apply to the message */ public void send(CommandSender sender, MessageKey key, String... replacements) { + if (Utils.majorVersion < 12 && settings.getProperty(PluginSettings.I18N_MESSAGES)) { + bukkitService.runTaskLater(() -> messages.send(sender, key, replacements), 35L); + return; + } + messages.send(sender, key, replacements); } diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index d78fe1b3..f5f580f9 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -40,7 +40,8 @@ public class I18NUtils { spigotGetLocaleMethod.setAccessible(true); return ((String) spigotGetLocaleMethod.invoke(spigot)).toLowerCase(); - } catch (Exception ignored) { + } catch (Exception e) { + e.printStackTrace(); return null; } } From e8010782fdaf8a5a453ff9622793a02d3b60426b Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Thu, 30 May 2024 01:39:40 +0800 Subject: [PATCH 14/25] Cleanup reflection --- .../fr/xephi/authme/util/message/I18NUtils.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index f5f580f9..07e10c1e 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -11,7 +11,7 @@ import java.util.List; public class I18NUtils { - private static Method spigotMethod; + private static Method spigotGetLocale; private static final List LOCALE_LIST = Arrays.asList( "en", "bg", "de", "eo", "es", "et", "eu", "fi", "fr", "gl", "hu", "id", "it", "ja", "ko", "lt", "nl", "pl", "pt", "ro", "ru", "sk", "sr", "tr", "uk" @@ -19,9 +19,10 @@ public class I18NUtils { static { try { - spigotMethod = Player.class.getMethod("spigot"); + spigotGetLocale = Player.Spigot.class.getMethod("getLocale"); + spigotGetLocale.setAccessible(true); } catch (NoSuchMethodException e) { - spigotMethod = null; + spigotGetLocale = null; } } @@ -35,11 +36,7 @@ public class I18NUtils { return player.getLocale().toLowerCase(); } else { try { - Object spigot = spigotMethod.invoke(player); - Method spigotGetLocaleMethod = spigot.getClass().getMethod("getLocale"); - spigotGetLocaleMethod.setAccessible(true); - - return ((String) spigotGetLocaleMethod.invoke(spigot)).toLowerCase(); + return ((String) spigotGetLocale.invoke(player.spigot())).toLowerCase(); } catch (Exception e) { e.printStackTrace(); return null; From f56ca830cf20d0b9469313cf27bb6ab8e77fbb5d Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Fri, 31 May 2024 17:26:57 +0800 Subject: [PATCH 15/25] [ci skip] Update messages_en.yml --- src/main/resources/messages/messages_en.yml | 70 +++++++++++---------- src/main/resources/plugin.yml | 2 +- 2 files changed, 37 insertions(+), 35 deletions(-) diff --git a/src/main/resources/messages/messages_en.yml b/src/main/resources/messages/messages_en.yml index 286a0fc5..61565e7d 100644 --- a/src/main/resources/messages/messages_en.yml +++ b/src/main/resources/messages/messages_en.yml @@ -5,13 +5,13 @@ # Registration registration: - register_request: '&3Please, register to the server with the command: /register ' - command_usage: '&cUsage: /register ' - reg_only: '&4Only registered users can join the server! Please visit http://example.com to register yourself!' - kicked_admin_registered: 'An admin just registered you; please log in again.' - success: '&2Successfully registered!' disabled: '&cIn-game registration is disabled!' name_taken: '&cYou already have registered this username!' + register_request: '&3Please, register to the server with the command: /register ' + command_usage: '&cUsage: /register ' + reg_only: '&4Only registered users can join the server! Please visit https://example.com to register yourself!' + success: '&2Successfully registered!' + kicked_admin_registered: 'An admin just registered you; please log in again.' # Password errors on registration password: @@ -32,17 +32,17 @@ login: # Errors error: - unregistered_user: '&cThis user isn''t registered!' denied_command: '&cIn order to use this command you must be authenticated!' denied_chat: '&cIn order to chat you must be authenticated!' + unregistered_user: '&cThis user isn''t registered!' not_logged_in: '&cYou''re not logged in!' - tempban_max_logins: '&cYou have been temporarily banned for failing to log in too many times.' - max_registration: '&cYou have exceeded the maximum number of registrations (%reg_count/%max_acc %reg_names) for your connection!' no_permission: '&4You don''t have the permission to perform this action!' unexpected_error: '&4An unexpected error occurred, please contact an administrator!' - kick_for_vip: '&3A VIP player has joined the server when it was full!' + max_registration: '&cYou have exceeded the maximum number of registrations (%reg_count/%max_acc %reg_names) for your connection!' logged_in: '&cYou''re already logged in!' + kick_for_vip: '&3A VIP player has joined the server when it was full!' kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + tempban_max_logins: '&cYou have been temporarily banned for failing to log in too many times.' # AntiBot antibot: @@ -50,19 +50,21 @@ antibot: auto_enabled: '&4[AntiBotService] AntiBot enabled due to the huge number of connections!' auto_disabled: '&2[AntiBotService] AntiBot disabled after %m minutes!' +# Unregister unregister: success: '&cSuccessfully unregistered!' command_usage: '&cUsage: /unregister ' # Other messages misc: - accounts_owned_self: 'You own %count accounts:' - accounts_owned_other: 'The player %name has %count accounts:' account_not_activated: '&cYour account isn''t activated yet, please check your emails!' + not_activated: '&cAccount not activated, please register and activate it before trying again.' password_changed: '&2Password changed successfully!' logout: '&2Logged out successfully!' reload: '&2Configuration and database have been reloaded correctly!' usage_change_password: '&cUsage: /changepassword ' + accounts_owned_self: 'You own %count accounts:' + accounts_owned_other: 'The player %name has %count accounts:' # Session messages session: @@ -71,36 +73,36 @@ session: # Error messages when joining on_join_validation: + same_ip_online: 'A player with the same IP is already in game!' + same_nick_online: '&4The same username is already playing on the server!' name_length: '&4Your username is either too short or too long!' characters_in_name: '&4Your username contains illegal characters. Allowed chars: %valid_chars' + kick_full_server: '&4The server is full, try again later!' country_banned: '&4Your country is banned from this server!' not_owner_error: 'You are not the owner of this account. Please choose another name!' - kick_full_server: '&4The server is full, try again later!' - same_nick_online: '&4The same username is already playing on the server!' invalid_name_case: 'You should join using username %valid, not %invalid.' - same_ip_online: 'A player with the same IP is already in game!' quick_command: 'You used a command too fast! Please, join the server again and wait more before using any command.' # Email email: + add_email_request: '&3Please add your email to your account with the command: /email add ' usage_email_add: '&cUsage: /email add ' usage_email_change: '&cUsage: /email change ' new_email_invalid: '&cInvalid new email, try again!' old_email_invalid: '&cInvalid old email, try again!' invalid: '&cInvalid email address, try again!' added: '&2Email address successfully added to your account!' + add_not_allowed: '&cAdding email was not allowed.' request_confirmation: '&cPlease confirm your email address!' changed: '&2Email address changed correctly!' + change_not_allowed: '&cChanging email was not allowed.' email_show: '&2Your current email address is: &f%email' - incomplete_settings: 'Error: not all required settings are set for sending emails. Please contact an admin.' - already_used: '&4The email address is already being used' - send_failure: 'The email could not be sent. Please contact an administrator.' no_email_for_account: '&2You currently don''t have email address associated with this account.' - add_email_request: '&3Please add your email to your account with the command: /email add ' + already_used: '&4The email address is already being used' + incomplete_settings: 'Error: not all required settings are set for sending emails. Please contact an admin.' + send_failure: 'The email could not be sent. Please contact an administrator.' change_password_expired: 'You cannot change your password using this command anymore.' email_cooldown_error: '&cAn email was already sent recently. You must wait %time before you can send a new one.' - add_not_allowed: '&cAdding email was not allowed.' - change_not_allowed: '&cChanging email was not allowed.' # Password recovery by email recovery: @@ -132,6 +134,17 @@ verification: code_expired: '&3Your code has expired! Execute another sensitive command to get a new code!' email_needed: '&3To verify your identity you need to link an email address with your account!!' +# Time units +time: + second: 'second' + seconds: 'seconds' + minute: 'minute' + minutes: 'minutes' + hour: 'hour' + hours: 'hours' + day: 'day' + days: 'days' + # Two-factor authentication two_factor: code_created: '&2Your secret code is %code. You can scan it from here %url' @@ -145,17 +158,6 @@ two_factor: removed_success: 'Successfully removed two-factor auth from your account' invalid_code: 'Invalid code!' -# Time units -time: - second: 'second' - seconds: 'seconds' - minute: 'minute' - minutes: 'minutes' - hour: 'hour' - hours: 'hours' - day: 'day' - days: 'days' - # 3rd party features: GUI Captcha gui_captcha: success: '&aVerification success!' @@ -173,9 +175,9 @@ bedrock_auto_login: # 3rd party features: Login Location Fix login_location_fix: - fix_portal: '&aYou are stuck in portal during Login.' - fix_underground: '&aYou are stuck underground during Login.' - cannot_fix_underground: '&aYou are stuck underground during Login, but we cant fix it.' + fix_portal: '&aYou are stuck in portal during login.' + fix_underground: '&aYou are stuck underground during login.' + cannot_fix_underground: '&aYou are stuck underground during login, but we cant fix it.' # 3rd party features: Double Login Fix double_login_fix: diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 6fe940f6..0b735f5f 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: ${pluginDescription.name} authors: [${pluginDescription.authors}] -website: http://github.com/HaHaWTH/AuthMeReReloaded/ +website: https://github.com/HaHaWTH/AuthMeReReloaded/ description: A fork of AuthMeReloaded that contains bug fixes main: ${pluginDescription.main} folia-supported: true From 3d6b1a059c6b43eebb8c2b5a9e142a57fb45c9f9 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Fri, 31 May 2024 18:20:42 +0800 Subject: [PATCH 16/25] [ci skip] Update messages translations --- docs/config.md | 5 +- src/main/resources/messages/messages_bg.yml | 31 +++++++- src/main/resources/messages/messages_br.yml | 81 ++++++++++++------- src/main/resources/messages/messages_cz.yml | 29 ++++++- src/main/resources/messages/messages_de.yml | 31 +++++++- src/main/resources/messages/messages_eo.yml | 73 +++++++++++------ src/main/resources/messages/messages_es.yml | 31 +++++++- src/main/resources/messages/messages_et.yml | 88 ++++++++++++++------- src/main/resources/messages/messages_eu.yml | 27 +++++++ 9 files changed, 308 insertions(+), 88 deletions(-) diff --git a/docs/config.md b/docs/config.md index bda21cb3..77297ec9 100644 --- a/docs/config.md +++ b/docs/config.md @@ -2,6 +2,7 @@ ## AuthMe Configuration + The first time you run AuthMe it will create a config.yml file in the plugins/AuthMe folder, with which you can configure various settings. The following is the initial contents of the generated config.yml file. @@ -689,4 +690,6 @@ To change settings on a running server, save your changes to config.yml and use --- -This page was automatically generated on the [HaHaWTH/AuthMeReReloaded repository](https://github.com/HaHaWTH/AuthMeReReloaded/tree/master/docs/) on Wed May 29 21:00:00 CST 2024 +This page was automatically generated on +the [HaHaWTH/AuthMeReReloaded repository](https://github.com/HaHaWTH/AuthMeReReloaded/tree/master/docs/) on Wed May 29 +21:00:00 CST 2024 diff --git a/src/main/resources/messages/messages_bg.yml b/src/main/resources/messages/messages_bg.yml index 30015296..2f780097 100644 --- a/src/main/resources/messages/messages_bg.yml +++ b/src/main/resources/messages/messages_bg.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cПотребителското име е заетo!' register_request: '&3Моля регистрирайте се с: /register парола парола.' command_usage: '&cКоманда: /register парола парола' - reg_only: '&4Само регистрирани потребители могат да влизат в сървъра! Моля посетете http://example.com, за да се регистрирате!' + reg_only: '&4Само регистрирани потребители могат да влизат в сървъра! Моля посетете https://example.com, за да се регистрирате!' success: '&2Успешна регистрация!' kicked_admin_registered: 'Вие бяхте регистриран от администратора, моля да влезете отново!' @@ -20,6 +20,7 @@ password: unsafe_password: '&cИзбраната парола не е безопасна, моля изберете друга парола.' forbidden_characters: '&4Паролата съдържа непозволени символи. Позволени символи: %valid_chars' wrong_length: '&cПаролата е твърде къса или прекалено дълга! Моля опитайте с друга парола.' + pwned_password: '&cИзбраната парола не е сигурна. Тя е използвана %pwned_count пъти вече! Моля, използвайте силна парола...' # Login login: @@ -40,7 +41,7 @@ error: max_registration: '&cВие сте достигнали максималният брой регистрации (%reg_count/%max_acc %reg_names)!' logged_in: '&cВече сте влезли!' kick_for_vip: '&3VIP потребител влезе докато сървъра беше пълен, вие бяхте изгонен!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_unresolved_hostname: '&cВъзникна грешка: неразрешено име на играч!' tempban_max_logins: '&cВие бяхте баннат временно, понеже сте си сгрешили паролата прекалено много пъти.' # AntiBot @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&cВашият акаунт все още не е актириван, моля провете своят email адрес!' + not_activated: '&cАкаунтът не е активиран, моля регистрирайте се и го активирайте преди да опитате отново.' password_changed: '&2Паротала е променена успешно!' logout: '&2Излязохте успешно!' reload: '&2Конфигурацията и база данните бяха презаредени правилно!' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Защитата със секретен код не е включена за Вашият акаунт. Моля изпълнете команда /2fa add' removed_success: 'Успешно изключихте защитата със секретен код от Вашият акаунт!' invalid_code: 'Невалиден код!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aУспешна проверка!' + bedrock_auto_verify_success: '&aУспешна проверка на Bedrock!' + captcha_window_name: '%random Проверка' + captcha_clickable_name: '%random Аз съм човек' + message_on_retry: '&cПроверката не бе успешна, имате %times оставащи опити' + denied_message_sending: '&cМоля, потвърдете се преди да чатите!' + kick_on_failed: '&cМоля, завършете проверката!' + kick_on_timeout: '&cПроверката изтече!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aУспешно автоматично влизане за Bedrock!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aЗаседнали сте в портал по време на влизане.' + fix_underground: '&aЗаседнали сте под земята по време на влизане.' + cannot_fix_underground: '&aЗаседнали сте под земята по време на влизане, но не можем да го поправим.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cБяхте изключени поради двойно влизане.' diff --git a/src/main/resources/messages/messages_br.yml b/src/main/resources/messages/messages_br.yml index fd59f538..cc5fa10a 100644 --- a/src/main/resources/messages/messages_br.yml +++ b/src/main/resources/messages/messages_br.yml @@ -8,13 +8,13 @@ # Registro registration: + disabled: '&cRegistrar-se está desativado neste servidor!' + name_taken: '&cVocê já registrou este nome de usuário!' register_request: '&3Por favor, registre-se com o comando "/register "' command_usage: '&cUse: /register ' reg_only: '&4Somente usuários registrados podem entrar no servidor! Por favor visite www.seusite.com para se registrar!' success: '&2Registrado com sucesso!' kicked_admin_registered: 'Um administrador registrou você. Por favor, faça login novamente' - disabled: '&cRegistrar-se está desativado neste servidor!' - name_taken: '&cVocê já registrou este nome de usuário!' # Erros de senha ao registrar-se password: @@ -23,6 +23,7 @@ password: unsafe_password: '&cA senha escolhida não é segura. Por favor, escolha outra senha...' forbidden_characters: '&Sua senha contém caracteres inválidos. Caracteres permitidos: %valid_chars' wrong_length: '&cSua senha é muito curta ou muito longa! Por favor, escolha outra senha...' + pwned_password: '&cSua senha escolhida não é segura. Ela foi usada %pwned_count vezes já! Por favor, use uma senha forte...' # Login login: @@ -34,17 +35,17 @@ login: # Erros error: - unregistered_user: '&cEste usuário não está registrado!' denied_command: '&cPara utilizar este comando é necessário estar logado!' denied_chat: '&cPara utilizar o chat é necessário estar logado!' + unregistered_user: '&cEste usuário não está registrado!' not_logged_in: '&cVocê não está logado!' - tempban_max_logins: '&cVocê foi temporariamente banido por tentar fazer login muitas vezes.' - max_registration: '&cVocê excedeu o número máximo de registros (%reg_count/%max_acc %reg_names) para o seu IP!' no_permission: '&4Você não tem permissão para executar esta ação!' unexpected_error: '&4Ocorreu um erro inesperado. Por favor contate um administrador!' - kick_for_vip: '&3Um jogador VIP juntou-se ao servidor enquanto ele estava cheio!' + max_registration: '&cVocê excedeu o número máximo de registros (%reg_count/%max_acc %reg_names) para o seu IP!' logged_in: '&cVocê já está logado!' + kick_for_vip: '&3Um jogador VIP juntou-se ao servidor enquanto ele estava cheio!' kick_unresolved_hostname: '&cErro: hostname do jogador não resolvido!' + tempban_max_logins: '&cVocê foi temporariamente banido por tentar fazer login muitas vezes.' # AntiBot antibot: @@ -59,13 +60,14 @@ unregister: # Outras mensagens misc: - accounts_owned_self: 'Você tem %count contas:' - accounts_owned_other: 'O jogador %name tem %count contas:' account_not_activated: '&cA sua conta ainda não está ativada. Por favor, verifique seus e-mails!' + not_activated: '&cConta não ativada, por favor registre e ative antes de tentar novamente.' password_changed: '&2Senha alterada com sucesso!' logout: '&2Desconectado com sucesso!' reload: '&2A configuração e o banco de dados foram recarregados corretamente!' usage_change_password: '&cUse: /changepassword ' + accounts_owned_self: 'Você tem %count contas:' + accounts_owned_other: 'O jogador %name tem %count contas:' # Mensagens de sessão session: @@ -74,36 +76,36 @@ session: # Mensagens de erro ao entrar on_join_validation: + same_ip_online: 'Um jogador com o mesmo IP já está no servidor!' + same_nick_online: '&4Alguém com o mesmo nome de usuário já está jogando no servidor!' name_length: '&4Seu nome de usuário ou é muito curto ou é muito longo!' characters_in_name: '&4Seu nome de usuário contém caracteres inválidos. Caracteres permitidos: %valid_chars' + kick_full_server: '&4O servidor está cheio, tente novamente mais tarde!' country_banned: '&4O seu país está banido deste servidor!' not_owner_error: 'Você não é o proprietário da conta. Por favor, escolha outro nome!' - kick_full_server: '&4O servidor está cheio, tente novamente mais tarde!' - same_nick_online: '&4Alguém com o mesmo nome de usuário já está jogando no servidor!' invalid_name_case: 'Você deve entrar usando o nome de usuário %valid, não %invalid.' - same_ip_online: 'Um jogador com o mesmo IP já está no servidor!' quick_command: 'Você usou o comando muito rápido! Por favor, entre no servidor e aguarde antes de usar um comando novamente.' # E-mail email: + add_email_request: '&3Por favor, adicione seu e-mail para a sua conta com o comando "/email add "' usage_email_add: '&cUse: /email add ' usage_email_change: '&cUse: /email change ' new_email_invalid: '&cE-mail novo inválido, tente novamente!' old_email_invalid: '&cE-mail antigo inválido, tente novamente!' invalid: '&E-mail inválido, tente novamente!' added: '&2E-mail adicionado com sucesso!' + add_not_allowed: '&cAdicionar um e-mail não é permitido.' request_confirmation: '&cPor favor, confirme o seu endereço de e-mail!' changed: '&2E-mail alterado com sucesso!' + change_not_allowed: '&cAlterar o e-mail não é permitido.' email_show: '&2O seu endereço de e-mail atual é: &f%email' - incomplete_settings: 'Erro: Nem todas as configurações necessárias estão definidas para o envio de e-mails. Entre em contato com um administrador.' - already_used: '&4O endereço de e-mail já está sendo usado' - send_failure: '&cO e-mail não pôde ser enviado, reporte isso a um administrador!' no_email_for_account: '&2Você atualmente não têm endereço de e-mail associado a esta conta.' - add_email_request: '&3Por favor, adicione seu e-mail para a sua conta com o comando "/email add "' + already_used: '&4O endereço de e-mail já está sendo usado' + incomplete_settings: 'Erro: Nem todas as configurações necessárias estão definidas para o envio de e-mails. Entre em contato com um administrador.' + send_failure: '&cO e-mail não pôde ser enviado, reporte isso a um administrador!' change_password_expired: 'Você não pode mais usar esse comando de recuperação de senha!' email_cooldown_error: '&cUm e-mail já foi enviado, espere %time antes de enviar novamente!' - add_not_allowed: '&cAdicionar um e-mail não é permitido.' - change_not_allowed: '&cAlterar o e-mail não é permitido.' # Recuperação de senha por e-mail recovery: @@ -135,6 +137,17 @@ verification: code_expired: '&3O seu código expirou! Execute outro comando sensível para gerar um outro código.' email_needed: '&3Para verificar sua identidade, você precisa vincular um e-mail à sua conta!' +# Unidades de tempo +time: + second: 'segundo' + seconds: 'segundos' + minute: 'minuto' + minutes: 'minutos' + hour: 'hora' + hours: 'horas' + day: 'dia' + days: 'dias' + # Verificação em duas etapas two_factor: code_created: '&2O seu código secreto é %code. Você pode verificá-lo aqui %url' @@ -148,13 +161,27 @@ two_factor: removed_success: 'Verificação em duas etapas desativada com sucesso!' invalid_code: 'Código inválido!' -# Unidades de tempo -time: - second: 'segundo' - seconds: 'segundos' - minute: 'minuto' - minutes: 'minutos' - hour: 'hora' - hours: 'horas' - day: 'dia' - days: 'dias' +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVerificação bem-sucedida!' + bedrock_auto_verify_success: '&aVerificação Bedrock bem-sucedida!' + captcha_window_name: '%random Verificação' + captcha_clickable_name: '%random Eu sou humano' + message_on_retry: '&cVerificação falhou, você tem %times tentativas restantes' + denied_message_sending: '&cPor favor, verifique antes de enviar mensagens!' + kick_on_failed: '&cPor favor, complete a verificação!' + kick_on_timeout: '&cTempo de verificação esgotado!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aLogin automático Bedrock bem-sucedido!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aVocê está preso no portal durante o login.' + fix_underground: '&aVocê está preso no subsolo durante o login.' + cannot_fix_underground: '&aVocê está preso no subsolo durante o login, mas não podemos corrigir.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cVocê foi desconectado devido a login duplo.' diff --git a/src/main/resources/messages/messages_cz.yml b/src/main/resources/messages/messages_cz.yml index b2f3c703..36edc596 100644 --- a/src/main/resources/messages/messages_cz.yml +++ b/src/main/resources/messages/messages_cz.yml @@ -19,7 +19,8 @@ password: name_in_password: '&cNemůžeš použít své jméno jako heslo, prosím, zvol si jiné heslo...' unsafe_password: '&cToto heslo není bezpečné, prosím, zvol si jiné heslo...' forbidden_characters: '&4Tvoje heslo obsahuje nepovolené znaky. Přípustné znaky jsou: %valid_chars' - wrong_length: '&cTvoje heslo nedosahuje minimální délky (4).' + wrong_length: '&cTvoje heslo nedosahuje minimální délky.' + pwned_password: '&cZvolené heslo není bezpečné. Bylo použito již %pwned_count krát! Prosím, použijte silné heslo...' # Login login: @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&cTvůj účet ještě není aktivovaný, zkontroluj svůj E-mail.' + not_activated: '&cÚčet není aktivován, prosím zaregistrujte se a aktivujte ho před dalším pokusem.' password_changed: '&cHeslo změněno!' logout: '&cÚspěšně jsi se odhlásil.' reload: '&cZnovu načtení nastavení AuthMe proběhlo úspěšně.' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Dvoufaktorové ověření není zapnuté na tvém účtu. Můžeš ho zapnout použitím příkazu /2fa add' removed_success: 'Dvoufaktorovka byla úspěšně odebrána z tvého účtu' invalid_code: 'Nesprávný kód!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aOvěření úspěšné!' + bedrock_auto_verify_success: '&aOvěření Bedrock úspěšné!' + captcha_window_name: '%random Ověření' + captcha_clickable_name: '%random Jsem člověk' + message_on_retry: '&cOvěření selhalo, zbývá vám %times pokusů' + denied_message_sending: '&cProsím, ověřte se před odesláním zprávy!' + kick_on_failed: '&cDokončete prosím ověření!' + kick_on_timeout: '&cPlatnost ověření vypršela!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aAutomatické přihlášení Bedrock úspěšné!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aPři přihlášení jste uvízli v portálu.' + fix_underground: '&aPři přihlášení jste uvízli pod zemí.' + cannot_fix_underground: '&aPři přihlášení jste uvízli pod zemí, ale nemůžeme to opravit.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cByli jste odpojeni kvůli dvojímu přihlášení.' diff --git a/src/main/resources/messages/messages_de.yml b/src/main/resources/messages/messages_de.yml index 63f9de61..56119f77 100644 --- a/src/main/resources/messages/messages_de.yml +++ b/src/main/resources/messages/messages_de.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cDieser Benutzername ist schon vergeben' register_request: '&3Bitte registriere dich mit "/register "' command_usage: '&cBenutze: /register ' - reg_only: '&4Nur für registrierte Spieler! Bitte besuche http://example.com um dich zu registrieren.' + reg_only: '&4Nur für registrierte Spieler! Bitte besuche https://example.com um dich zu registrieren.' success: '&2Erfolgreich registriert!' kicked_admin_registered: 'Ein Administrator hat dich bereits registriert; bitte logge dich erneut ein.' @@ -20,6 +20,7 @@ password: unsafe_password: '&cPasswort unsicher! Bitte wähle ein anderes.' forbidden_characters: '&4Dein Passwort enthält unerlaubte Zeichen. Zulässige Zeichen: %valid_chars' wrong_length: '&cDein Passwort ist zu kurz oder zu lang!' + pwned_password: '&cIhr gewähltes Passwort ist nicht sicher. Es wurde bereits %pwned_count Mal verwendet! Bitte verwenden Sie ein starkes Passwort...' # Login login: @@ -40,7 +41,7 @@ error: max_registration: '&cDu hast die maximale Anzahl an Accounts erreicht (%reg_count/%max_acc %reg_names).' logged_in: '&cBereits eingeloggt!' kick_for_vip: '&3Ein VIP-Spieler hat den vollen Server betreten!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_unresolved_hostname: '&cEin Fehler ist aufgetreten: nicht auflösbarer Spieler-Hostname!' tempban_max_logins: '&cDu bist wegen zu vielen fehlgeschlagenen Login-Versuchen temporär gebannt!' # AntiBot @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&cDein Account wurde noch nicht aktiviert. Bitte prüfe deine E-Mails!' + not_activated: '&cKonto nicht aktiviert, bitte registrieren und aktivieren Sie es, bevor Sie es erneut versuchen.' password_changed: '&2Passwort geändert!' logout: '&2Erfolgreich ausgeloggt' reload: '&2Konfiguration und Datenbank wurden erfolgreich neu geladen.' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Die Zwei-Faktor-Authentifizierung ist für dein Konto nicht aktiviert. Benutze /2fa add' removed_success: 'Die Zwei-Faktor-Authentifizierung wurde erfolgreich von deinem Konto entfernt' invalid_code: 'Ungültiger Code!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVerifizierung erfolgreich!' + bedrock_auto_verify_success: '&aBedrock-Verifizierung erfolgreich!' + captcha_window_name: '%random Verifizierung' + captcha_clickable_name: '%random Ich bin ein Mensch' + message_on_retry: '&cVerifizierung fehlgeschlagen, Sie haben noch %times Versuche' + denied_message_sending: '&cBitte verifizieren Sie sich, bevor Sie chatten!' + kick_on_failed: '&cBitte vervollständigen Sie die Verifizierung!' + kick_on_timeout: '&cVerifizierung abgelaufen!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aBedrock Auto-Login erfolgreich!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aSie stecken während des Logins im Portal fest.' + fix_underground: '&aSie stecken während des Logins unter der Erde fest.' + cannot_fix_underground: '&aSie stecken während des Logins unter der Erde fest, aber wir können es nicht beheben.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cSie wurden wegen doppeltem Login getrennt.' diff --git a/src/main/resources/messages/messages_eo.yml b/src/main/resources/messages/messages_eo.yml index c42b1426..3629ee46 100644 --- a/src/main/resources/messages/messages_eo.yml +++ b/src/main/resources/messages/messages_eo.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cVi jam registris tiun uzantnomon!' register_request: '&3Bonvolu registri al la servilo per la komando: /register ' command_usage: '&cUzado: /register ' - reg_only: '&4Nur registritaj uzantoj povas aliĝi la servilon! Bonvolu viziti http://example.com registri vin mem!' + reg_only: '&4Nur registritaj uzantoj povas aliĝi la servilon! Bonvolu viziti https://example.com registri vin mem!' success: '&2Sukcese registris!' kicked_admin_registered: 'Administranto ĵus registrita vin; bonvolu ensaluti denove' @@ -20,6 +20,7 @@ password: unsafe_password: '&cLa elektita pasvorto estas danĝere, bonvolu elekti alian...' forbidden_characters: '&4Via pasvorto enhavas kontraŭleĝan karakteroj. Permesita signoj: %valid_chars' wrong_length: '&cVia pasvorto estas tro mallonga aŭ tro longa! Bonvolu provi alian pasvorton!' + pwned_password: '&cVia elektita pasvorto ne estas sekura. Ĝi estis uzita %pwned_count fojojn jam! Bonvolu uzi fortan pasvorton...' # Login login: @@ -40,7 +41,7 @@ error: max_registration: 'Vi superis la maksimuman nombron de enregistroj (%reg_count/%max_acc %reg_names) pro via ligo!' logged_in: '&cVi jam estas ensalutinta!' kick_for_vip: '&3VIP ludanto aliĝis al la servilo kiam ĝi pleniĝis!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_unresolved_hostname: '&cEraro okazis: neatingebla ludanta gastiga nomo!' tempban_max_logins: '&cVi estis portempe malpermesita por ne ensaluti tro multajn fojojn.' # AntiBot @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&cVia konto ne aktivigis tamen, bonvolu kontroli viajn retpoŝtojn!' + not_activated: '&cKonto ne aktivigita, bonvolu registriĝi kaj aktivigi ĝin antaŭ ol provi denove.' password_changed: '&2Pasvorto sukcese ŝanĝita!' logout: '&2Elsalutita sukcese!' reload: '&2Agordo kaj datumbazo estis larditaj korekte!' @@ -79,7 +81,7 @@ on_join_validation: country_banned: '&4Via lando estas malpermesitaj de tiu servilo!' not_owner_error: 'Vi ne estas la posedanto de tiu konto. Bonvolu elekti alian nomon!' invalid_name_case: 'Vi devus aliĝi uzante uzantnomon %valid, ne %invalid.' - # TODO quick_command: 'You used a command too fast! Please, join the server again and wait more before using any command.' + quick_command: 'Vi uzis komandon tro rapide! Bonvolu, re-aliĝi al la servilo kaj atendi pli longe antaŭ ol uzi iun ajn komandon.' # Email email: @@ -90,10 +92,10 @@ email: old_email_invalid: '&cNevalida malnovaj retpoŝto, provu denove!' invalid: '&cNevalida retadreso, provu denove!' added: '&2Retpoŝtadreso sukcese aldonitaj al via konto!' - # TODO add_not_allowed: '&cAdding email was not allowed' + add_not_allowed: '&cAldoni retpoŝton ne estis permesita.' request_confirmation: '&cBonvolu konfirmi vian retadreson!' changed: '&2Retpoŝtadreso ŝanĝis ĝuste!' - # TODO change_not_allowed: '&cChanging email was not allowed' + change_not_allowed: '&cŜanĝi retpoŝton ne estis permesita.' email_show: '&2Via nuna retadreso estas: &f%email' no_email_for_account: '&2Vi aktuale ne havas retadreson asociita kun ĉi tiu konto.' already_used: '&4La retpoŝto jam estas uzata' @@ -119,18 +121,18 @@ captcha: usage_captcha: '&3Ensaluti vi devas solvi captcha kodo, bonvolu uzi la komando: /captcha %captcha_code' wrong_captcha: '&cMalĝusta captcha, bonvolu tajpi "/captcha %captcha_code" en la babilejo!' valid_captcha: '&2Captcha kodo solvita ĝuste!' - # TODO captcha_for_registration: 'To register you have to solve a captcha first, please use the command: /captcha %captcha_code' - # TODO register_captcha_valid: '&2Valid captcha! You may now register with /register' + captcha_for_registration: 'Por registri vi devas unue solvi kapĉon, bonvolu uzi la komandon: /captcha %captcha_code' + register_captcha_valid: '&2Valida kapĉo! Vi nun povas registri per /register' # Verification code verification: - # TODO code_required: '&3This command is sensitive and requires an email verification! Check your inbox and follow the email''s instructions.' - # TODO command_usage: '&cUsage: /verification ' - # TODO incorrect_code: '&cIncorrect code, please type "/verification " into the chat, using the code you received by email' - # TODO success: '&2Your identity has been verified! You can now execute all commands within the current session!' - # TODO already_verified: '&2You can already execute every sensitive command within the current session!' - # TODO code_expired: '&3Your code has expired! Execute another sensitive command to get a new code!' - # TODO email_needed: '&3To verify your identity you need to link an email address with your account!!' + code_required: '&3Tiu ĉi komando estas sentema kaj postulas retpoŝtan kontrolon! Kontrolu vian leterkeston kaj sekvu la instrukciojn en la retpoŝto.' + command_usage: '&cUzado: /verification ' + incorrect_code: '&cMalĝusta kodo, bonvolu tajpi "/verification " en la babilejo, uzante la kodon, kiun vi ricevis per retpoŝto' + success: '&2Via identeco estis kontrolita! Vi nun povas ekzekuti ĉiujn komandojn dum la aktuala sesio!' + already_verified: '&2Vi jam povas ekzekuti ĉiujn sentemajn komandojn dum la aktuala sesio!' + code_expired: '&3Via kodo eksvalidiĝis! Ekzekutu alian senteman komandon por ricevi novan kodon!' + email_needed: '&3Por kontroli vian identecon vi devas ligi retpoŝtan adreson kun via konto!' # Time units time: @@ -146,12 +148,37 @@ time: # Two-factor authentication two_factor: code_created: '&2Via sekreta kodo estas %code. Vi povas skani ĝin de tie %url' - # TODO confirmation_required: 'Please confirm your code with /2fa confirm ' - # TODO code_required: 'Please submit your two-factor authentication code with /2fa code ' - # TODO already_enabled: 'Two-factor authentication is already enabled for your account!' - # TODO enable_error_no_code: 'No 2fa key has been generated for you or it has expired. Please run /2fa add' - # TODO enable_success: 'Successfully enabled two-factor authentication for your account' - # TODO enable_error_wrong_code: 'Wrong code or code has expired. Please run /2fa add' - # TODO not_enabled_error: 'Two-factor authentication is not enabled for your account. Run /2fa add' - # TODO removed_success: 'Successfully removed two-factor auth from your account' - # TODO invalid_code: 'Invalid code!' + confirmation_required: 'Bonvolu konfirmi vian kodon per /2fa confirm ' + code_required: 'Bonvolu sendi vian du-faktoran aŭtentikigan kodon per /2fa code ' + already_enabled: 'Du-faktora aŭtentikigo jam estas ebligita por via konto!' + enable_error_no_code: 'Neniu 2fa ŝlosilo estis generita por vi aŭ ĝi eksvalidiĝis. Bonvolu kuri /2fa add' + enable_success: 'Sukcese ebligis du-faktoran aŭtentikigon por via konto' + enable_error_wrong_code: 'Malĝusta kodo aŭ kodo eksvalidiĝis. Bonvolu kuri /2fa add' + not_enabled_error: 'Du-faktora aŭtentikigo ne estas ebligita por via konto. Kuru /2fa add' + removed_success: 'Sukcese forigis du-faktoran aŭtentikigon de via konto' + invalid_code: 'Nevalida kodo!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aSukcesa kontrolo!' + bedrock_auto_verify_success: '&aSukcesa Bedrock-kontrolo!' + captcha_window_name: '%random Kontrolo' + captcha_clickable_name: '%random Mi estas homo' + message_on_retry: '&cKontrolo malsukcesis, vi havas %times provojn restanta' + denied_message_sending: '&cBonvolu kontroli vin antaŭ ol babili!' + kick_on_failed: '&cBonvolu kompletigi la kontrolon!' + kick_on_timeout: '&cLa tempo por la kontrolo eksvalidiĝis!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aSukcesa Bedrock-aŭtomata ensaluto!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aVi estas blokita en portalo dum ensaluto.' + fix_underground: '&aVi estas blokita subtere dum ensaluto.' + cannot_fix_underground: '&aVi estas blokita subtere dum ensaluto, sed ni ne povas ripari ĝin.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cVi estis malkonektita pro duobla ensaluto.' diff --git a/src/main/resources/messages/messages_es.yml b/src/main/resources/messages/messages_es.yml index d36c993d..cb00e212 100644 --- a/src/main/resources/messages/messages_es.yml +++ b/src/main/resources/messages/messages_es.yml @@ -10,7 +10,7 @@ registration: name_taken: '&cUsuario ya registrado' register_request: '&cPor favor, regístrate con "/register ' command_usage: '&cUso: /register Contraseña ConfirmarContraseña' - reg_only: '&f¡Sólo para jugadores registrados! Por favor visita http://www.example.com/ para registrarte' + reg_only: '&f¡Sólo para jugadores registrados! Por favor visita https://www.example.com/ para registrarte' success: '&c¡Registrado correctamente!' kicked_admin_registered: 'Un administrador te acaba de registrar; entra en la cuenta de nuevo' @@ -21,6 +21,7 @@ password: unsafe_password: '&cLa contraseña elegida no es segura, por favor elija otra...' forbidden_characters: '&cTu contraseña tiene carácteres no admitidos, los cuales son: %valid_chars' wrong_length: '&fTu contraseña es muy larga o muy corta' + pwned_password: '&cLa contraseña elegida no es segura. ¡Se ha usado %pwned_count veces ya! Por favor, use una contraseña fuerte...' # Login login: @@ -41,7 +42,7 @@ error: max_registration: '&fHas excedido la cantidad máxima de registros para tu cuenta' logged_in: '&c¡Ya has iniciado sesión!' kick_for_vip: '&c¡Un jugador VIP ha ingresado al servidor lleno!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_unresolved_hostname: '&cSe produjo un error: nombre de host del jugador no resuelto!' tempban_max_logins: '&cHas sido expulsado temporalmente por intentar iniciar sesión demasiadas veces.' # AntiBot @@ -58,6 +59,7 @@ unregister: # Other messages misc: account_not_activated: '&fTu cuenta no está activada aún, ¡revisa tu correo!' + not_activated: '&cCuenta no activada, por favor regístrese y actívela antes de intentarlo de nuevo.' password_changed: '&c¡Contraseña cambiada!' logout: '&cDesconectado correctamente.' reload: '&fLa configuración y la base de datos han sido recargados' @@ -156,3 +158,28 @@ two_factor: not_enabled_error: 'La autenticación de dos factores no está habilitada para tu cuenta. Por favor usa /2fa add' removed_success: 'Se ha eliminado correctamente la autenticación de dos factores de tu cuenta' invalid_code: '¡Código incorrecto!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&a¡Verificación exitosa!' + bedrock_auto_verify_success: '&a¡Verificación de Bedrock exitosa!' + captcha_window_name: '%random Verificación' + captcha_clickable_name: '%random Soy humano' + message_on_retry: '&cLa verificación falló, tienes %times intentos restantes' + denied_message_sending: '&c¡Por favor, verifíquese antes de chatear!' + kick_on_failed: '&c¡Por favor, complete la verificación!' + kick_on_timeout: '&c¡Tiempo de verificación agotado!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&a¡Inicio de sesión automático de Bedrock exitoso!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aEstás atascado en el portal durante el inicio de sesión.' + fix_underground: '&aEstás atascado bajo tierra durante el inicio de sesión.' + cannot_fix_underground: '&aEstás atascado bajo tierra durante el inicio de sesión, pero no podemos solucionarlo.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cHas sido desconectado debido a un inicio de sesión doble.' diff --git a/src/main/resources/messages/messages_et.yml b/src/main/resources/messages/messages_et.yml index 080f02bf..5588ed1e 100644 --- a/src/main/resources/messages/messages_et.yml +++ b/src/main/resources/messages/messages_et.yml @@ -5,13 +5,13 @@ # Registration registration: - register_request: '&3Palun registreeri käsklusega: /register ' - command_usage: '&cKasutus: /register ' - reg_only: '&4Vaid registreeritud mängijad saavad serveriga liituda! Enda kasutaja registreerimiseks külasta http://example.com!' - kicked_admin_registered: 'Administraator registreeris su kasutaja, palun logi uuesti sisse.' - success: '&2Edukalt registreeritud!' disabled: '&cMängusisene registreerimine on välja lülitatud!' name_taken: '&cSee kasutaja on juba registreeritud!' + register_request: '&3Palun registreeri käsklusega: /register ' + command_usage: '&cKasutus: /register ' + reg_only: '&4Vaid registreeritud mängijad saavad serveriga liituda! Enda kasutaja registreerimiseks külasta https://example.com!' + success: '&2Edukalt registreeritud!' + kicked_admin_registered: 'Administraator registreeris su kasutaja, palun logi uuesti sisse.' # Password errors on registration password: @@ -20,6 +20,7 @@ password: unsafe_password: '&cSee parool ei ole turvaline, palun vali mõni teine parool.' forbidden_characters: '&4Sinu parool sisaldab keelatud tähemärke. Lubatud tähemärgid: %valid_chars' wrong_length: '&cSinu parool on liiga pikk või lühike, palun vali mõni teine parool.' + pwned_password: '&cTeie valitud parool ei ole turvaline. Seda on kasutatud juba %pwned_count korda! Palun kasutage tugevat parooli...' # Login login: @@ -31,17 +32,17 @@ login: # Errors error: - unregistered_user: '&cSee kasutaja ei ole registreeritud!' denied_command: '&cSelle käskluse kasutamiseks pead olema sisselogitud!' denied_chat: '&cVestlemiseks pead olema sisselogitud!' + unregistered_user: '&cSee kasutaja ei ole registreeritud!' not_logged_in: '&cSa ei ole sisselogitud!' - tempban_max_logins: '&cSind on ajutiselt serverist blokeeritud, kuna sisestasid mitu korda vale parooli.' - max_registration: '&cSinu IP-aadressile on registreeritud liiga palju kasutajaid! (%reg_count/%max_acc %reg_names)' no_permission: '&4Sul puudub selle käskluse kasutamiseks luba.' unexpected_error: '&4Esines ootamatu tõrge, palun teavita administraatorit!' - kick_for_vip: '&3VIP-mängija liitus serveriga ajal, mil see oli täis!' + max_registration: '&cSinu IP-aadressile on registreeritud liiga palju kasutajaid! (%reg_count/%max_acc %reg_names)' logged_in: '&cSa oled juba sisselogitud!' + kick_for_vip: '&3VIP-mängija liitus serveriga ajal, mil see oli täis!' kick_unresolved_hostname: '&cEsines tõrge: mängija hostinimi on lahendamata!' + tempban_max_logins: '&cSind on ajutiselt serverist blokeeritud, kuna sisestasid mitu korda vale parooli.' # AntiBot antibot: @@ -49,57 +50,59 @@ antibot: auto_enabled: '&4[AntiBotTeenus] AntiBot sisselülitatud!' auto_disabled: '&2[AntiBotTeenus] AntiBot välja lülitatud peale %m minutit!' +# Unregister unregister: success: '&cKasutaja edukalt kustutatud!' command_usage: '&cKasutus: /unregister ' # Other messages misc: - accounts_owned_self: 'Sa omad %count kontot:' - accounts_owned_other: 'Mängijal %name on %count kontot:' account_not_activated: '&cSinu konto ei ole veel aktiveeritud, kontrolli oma meili!' + not_activated: '&cKonto ei ole aktiveeritud, palun registreerige ja aktiveerige see enne uuesti proovimist.' password_changed: '&2Parool edukalt vahetatud!' logout: '&2Edukalt välja logitud!' reload: '&2Seadistused ning andmebaas on edukalt taaslaaditud!' usage_change_password: '&cKasutus: /changepassword ' + accounts_owned_self: 'Sa omad %count kontot:' + accounts_owned_other: 'Mängijal %name on %count kontot:' # Session messages session: - invalid_session: '&cSinu IP-aadress muutus, seega sinu sessioon aegus!' valid_session: '&2Sisse logitud sessiooni jätkumise tõttu.' + invalid_session: '&cSinu IP-aadress muutus, seega sinu sessioon aegus!' # Error messages when joining on_join_validation: + same_ip_online: 'Sama IP-aadressiga mängija juba mängib!' + same_nick_online: '&4Sama kasutaja on juba serveriga ühendatud!' name_length: '&4Sinu kasutajanimi on liiga pikk või liiga lühike!' characters_in_name: '&4Sinu kasutajanimi sisaldab keelatud tähemärke. Lubatud tähemärgid: %valid_chars' country_banned: '&4Sinu riigist ei ole võimalik sellesse serverisse ühenduda!' not_owner_error: 'Sa ei ole selle konto omanik. Vali teine nimi!' kick_full_server: '&4Server on täis, proovi hiljem uuesti!' - same_nick_online: '&4Sama kasutaja on juba serveriga ühendatud!' invalid_name_case: 'Sa peaksid liituma nimega %valid, mitte nimega %invalid.' - same_ip_online: 'Sama IP-aadressiga mängija juba mängib!' quick_command: 'Sa kasutasid käsklust liiga kiiresti! Palun liitu serveriga uuesti ning oota enne mõne käskluse kasutamist kauem.' # Email email: + add_email_request: '&3Palun seo oma kasutajaga meiliaadress kasutades käsklust: /email add ' usage_email_add: '&cKasutus: /email add ' usage_email_change: '&cKasutus: /email change ' new_email_invalid: '&cUus meiliaadress on sobimatu, proovi uuesti!' old_email_invalid: '&cVana meiliaadress on sobimatu, proovi uuesti!' invalid: '&cSobimatu meiliaadress, proovi uuesti!' added: '&2Meiliaadress edukalt lisatud!' + add_not_allowed: '&cMeiliaadressi lisamine ei ole lubatud.' request_confirmation: '&cPalun kinnita oma meiliaadress!' changed: '&2Meiliaadress edukalt muudetud!' + change_not_allowed: '&cMeiliaadressi muutmine ei ole lubatud.' email_show: '&2Sinu praegune meiliaadress on: &f%email' - incomplete_settings: 'Viga: meili saatmiseks pole kõik vajalikud seaded seadistatud. Teata sellest administraatorit.' - already_used: '&4See meiliaadress on juba kasutuses!' - send_failure: 'Meili ei õnnestunud saata. Teata sellest administraatorit.' no_email_for_account: '&2Selle kasutajaga ei ole seotud ühtegi meiliaadressi.' - add_email_request: '&3Palun seo oma kasutajaga meiliaadress kasutades käsklust: /email add ' + already_used: '&4See meiliaadress on juba kasutuses!' + incomplete_settings: 'Viga: meili saatmiseks pole kõik vajalikud seaded seadistatud. Teata sellest administraatorit.' + send_failure: 'Meili ei õnnestunud saata. Teata sellest administraatorit.' change_password_expired: 'Selle käsklusega ei saa sa enam parooli muuta.' email_cooldown_error: '&cMeil on juba saadetud. Sa pead ootama %time enne kui saad küsida uue saatmist.' - add_not_allowed: '&cMeiliaadressi lisamine ei ole lubatud.' - change_not_allowed: '&cMeiliaadressi muutmine ei ole lubatud.' # Password recovery by email recovery: @@ -131,6 +134,17 @@ verification: code_expired: '&3Kood on aegunud! Kasuta mõnda ohtlikku käsklust, et saada uus kood!' email_needed: '&3Konto kinnitamiseks pead siduma oma kontoga enda meiliaadressi!' +# Time units +time: + second: 'sekund' + seconds: 'sekundit' + minute: 'minut' + minutes: 'minutit' + hour: 'tund' + hours: 'tundi' + day: 'päev' + days: 'päeva' + # Two-factor authentication two_factor: code_created: '&2Sinu privaatne kood on %code. Sa saad selle skännida aadressil %url' @@ -144,13 +158,27 @@ two_factor: removed_success: 'Sinu kontolt on edukalt eemaldatud kaheastmeline autentimine.' invalid_code: 'Vale kood!' -# Time units -time: - second: 'sekund' - seconds: 'sekundit' - minute: 'minut' - minutes: 'minutit' - hour: 'tund' - hours: 'tundi' - day: 'päev' - days: 'päeva' +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aKinnitamine õnnestus!' + bedrock_auto_verify_success: '&aBedrocki kinnitamine õnnestus!' + captcha_window_name: '%random Kinnitus' + captcha_clickable_name: '%random Ma olen inimene' + message_on_retry: '&cKinnitamine ebaõnnestus, teil on jäänud %times katset' + denied_message_sending: '&cPalun kinnitage end enne vestlemist!' + kick_on_failed: '&cPalun viige kinnitus lõpule!' + kick_on_timeout: '&cKinnitamise aeg on läbi!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aBedrocki automaatne sisselogimine õnnestus!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aOlete sisselogimise ajal portaalis kinni.' + fix_underground: '&aOlete sisselogimise ajal maa all kinni.' + cannot_fix_underground: '&aOlete sisselogimise ajal maa all kinni, kuid me ei saa seda parandada.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cTeid on ühendatud lahti kahekordse sisselogimise tõttu.' diff --git a/src/main/resources/messages/messages_eu.yml b/src/main/resources/messages/messages_eu.yml index b3b6b665..d4b082db 100644 --- a/src/main/resources/messages/messages_eu.yml +++ b/src/main/resources/messages/messages_eu.yml @@ -20,6 +20,7 @@ password: unsafe_password: '&cAukeratutako pasahitza ez da segurua.Mesedez, aukeratu beste bat...' forbidden_characters: '&4Pasahitzak ondorengo karaktereak bakarrik izan ditzake: %valid_chars' wrong_length: '&fZure pasahitza motzegia edo luzeegia da' + pwned_password: '&cAukeratutako pasahitza ez da segurua. %pwned_count aldiz erabili da dagoeneko! Mesedez, erabili pasahitz sendo bat...' # Login login: @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&fZure kontua aktibatu gabe dago. Mesedez, berretsi zure posta elektronikoa!' + not_activated: '&cKontua ez dago aktibatuta, mesedez erregistratu eta aktibatu berriro saiatu aurretik.' password_changed: '&cPasahitza ondo aldatu duzu!' logout: '&cSaioa itxi duzu' reload: '&fEzarpenak eta datu-basea berrabiarazi dira' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Ez duzu 2 faktore autentikazioa konfiguratu. Erabaili /2fa add' removed_success: '2 faktoreko autentikazioa desaktibatu duzu' invalid_code: 'Kode okerra!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aEgiaztatzea arrakastatsua!' + bedrock_auto_verify_success: '&aBedrock egiaztapena arrakastatsua!' + captcha_window_name: '%random Egiaztapena' + captcha_clickable_name: '%random Gizakia naiz' + message_on_retry: '&cEgiaztapena huts egin du, %times saiakera geratzen zaizkizu' + denied_message_sending: '&cMesedez, egiazta zaitez hitz egiten hasi aurretik!' + kick_on_failed: '&cMesedez, amaitu egiaztapena!' + kick_on_timeout: '&cEgiaztapena denbora agortu da!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aBedrock automatikoki saioa hasi da!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aPortal batean trabatuta zaude saioa hasten ari zarela.' + fix_underground: '&aLur azpian trabatuta zaude saioa hasten ari zarela.' + cannot_fix_underground: '&aLur azpian trabatuta zaude saioa hasten ari zarela, baina ezin dugu konpondu.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cSistematik kanporatu zaitugu saio bikoitza egiteagatik.' From 471e1c0d2c4ecfefd9a9a2e17d198081e0b3b931 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Fri, 31 May 2024 20:13:19 +0800 Subject: [PATCH 17/25] [ci skip] Update messages translations --- src/main/resources/messages/messages_fi.yml | 147 +++++++++++------- src/main/resources/messages/messages_fr.yml | 27 ++++ src/main/resources/messages/messages_gl.yml | 142 ++++++++++------- src/main/resources/messages/messages_hu.yml | 29 +++- src/main/resources/messages/messages_id.yml | 44 ++++-- src/main/resources/messages/messages_it.yml | 29 +++- src/main/resources/messages/messages_ja.yml | 90 +++++++---- src/main/resources/messages/messages_ko.yml | 29 +++- src/main/resources/messages/messages_lt.yml | 29 +++- src/main/resources/messages/messages_nl.yml | 29 +++- src/main/resources/messages/messages_pl.yml | 27 ++++ src/main/resources/messages/messages_zhcn.yml | 2 - 12 files changed, 459 insertions(+), 165 deletions(-) diff --git a/src/main/resources/messages/messages_fi.yml b/src/main/resources/messages/messages_fi.yml index c0f6431a..d972b23c 100644 --- a/src/main/resources/messages/messages_fi.yml +++ b/src/main/resources/messages/messages_fi.yml @@ -9,17 +9,18 @@ registration: name_taken: '&cPelaaja on jo rekisteröity' register_request: '&cRekisteröidy palvelimellemme komennolla "/register "' command_usage: '&cKäyttötapa: /register ' - reg_only: '&fMene sivustolle: http://example.com rekisteröityäksesi!' + reg_only: '&fMene sivustolle: https://example.com rekisteröityäksesi!' success: '&cRekisteröidyit onnistuneesti!' - # TODO kicked_admin_registered: 'An admin just registered you; please log in again' + kicked_admin_registered: 'Ylläpitäjä rekisteröi sinut juuri; kirjaudu sisään uudelleen.' # Password errors on registration password: match_error: '&fSalasanat ei täsmää' - # TODO name_in_password: '&cYou can''t use your name as password, please choose another one...' - # TODO unsafe_password: '&cThe chosen password isn''t safe, please choose another one...' - # TODO forbidden_characters: '&4Your password contains illegal characters. Allowed chars: %valid_chars' + name_in_password: '&cEt voi käyttää nimeäsi salasanana, valitse toinen...' + unsafe_password: '&cValitsemasi salasana ei ole turvallinen, valitse toinen...' + forbidden_characters: '&4Salasanassasi on kiellettyjä merkkejä. Sallitut merkit: %valid_chars' wrong_length: '&fSalasanasi on liian pitkä tai lyhyt.' + pwned_password: '&cValitsemasi salasana ei ole turvallinen. Sitä on käytetty %pwned_count kertaa jo! Käytä vahvaa salasanaa...' # Login login: @@ -31,8 +32,8 @@ login: # Errors error: - # TODO denied_command: '&cIn order to use this command you must be authenticated!' - # TODO denied_chat: '&cIn order to chat you must be authenticated!' + denied_command: '&cSinun on oltava todennettu käyttääksesi tätä komentoa!' + denied_chat: '&cSinun on oltava todennettu voidaksesi chattailla!' unregistered_user: '&cSalasanat eivät täsmää' not_logged_in: '&cEt ole kirjautunut sisään!' no_permission: '&cEi oikeuksia' @@ -40,14 +41,14 @@ error: max_registration: '&fSinulla ei ole oikeuksia tehdä enempää pelaajatilejä!' logged_in: '&cOlet jo kirjautunut!' kick_for_vip: '&cVIP pelaaja liittyi täyteen palvelimeen!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' - # TODO tempban_max_logins: '&cYou have been temporarily banned for failing to log in too many times.' + kick_unresolved_hostname: '&cTapahtui virhe: pelaajan verkkonimiä ei voitu ratkaista!' + tempban_max_logins: '&cSinut on tilapäisesti kielletty liian monen kirjautumisen epäonnistumisen vuoksi.' # AntiBot antibot: - # TODO kick_antibot: 'AntiBot protection mode is enabled! You have to wait some minutes before joining the server.' - # TODO auto_enabled: '&4[AntiBotService] AntiBot enabled due to the huge number of connections!' - # TODO auto_disabled: '&2[AntiBotService] AntiBot disabled after %m minutes!' + kick_antibot: 'Antibot-suojatila on käytössä! Sinun on odotettava muutama minuutti ennen kuin voit liittyä palvelimelle.' + auto_enabled: '&4[AntiBotService] Antibot otettu käyttöön suuren yhteyksien määrän vuoksi!' + auto_disabled: '&2[AntiBotService] Antibot poistettu käytöstä %m minuutin kuluttua!' # Unregister unregister: @@ -57,12 +58,13 @@ unregister: # Other messages misc: account_not_activated: '&fKäyttäjäsi ei ole vahvistettu!' + not_activated: '&cTiliä ei ole aktivoitu, rekisteröidy ja aktivoi se ennen kuin yrität uudelleen.' password_changed: '&cSalasana vaihdettu!!' logout: '&cKirjauduit ulos palvelimelta.' reload: '&fAsetukset uudelleenladattu' usage_change_password: '&fKäyttötapa: /changepassword vanhaSalasana uusiSalasana' - # TODO accounts_owned_self: 'You own %count accounts:' - # TODO accounts_owned_other: 'The player %name has %count accounts:' + accounts_owned_self: 'Omistat %count tiliä:' + accounts_owned_other: 'Pelaajalla %name on %count tiliä:' # Session messages session: @@ -71,15 +73,15 @@ session: # Error messages when joining on_join_validation: - # TODO same_ip_online: 'A player with the same IP is already in game!' + same_ip_online: 'Sama IP-osoitteella oleva pelaaja on jo pelissä!' same_nick_online: '&COlet jo palvelimella! &COdota käyttäjän aikakatkaisua tai ota yhteyttä palveluntarjoojaan.' name_length: '&cPelaajanimesi on liian lyhyt tai pitkä' characters_in_name: '&cPelaajanimesi sisältää luvattomia merkkejä. Hyväksytyt merkit: %valid_chars' kick_full_server: '&cPalvelin on täynnä, Yritä pian uudelleen!' - # TODO country_banned: '&4Your country is banned from this server!' - # TODO not_owner_error: 'You are not the owner of this account. Please choose another name!' - # TODO invalid_name_case: 'You should join using username %valid, not %invalid.' - # TODO quick_command: 'You used a command too fast! Please, join the server again and wait more before using any command.' + country_banned: '&4Maasi on estetty tästä palvelimesta!' + not_owner_error: 'Et ole tämän tilin omistaja. Valitse toinen nimi!' + invalid_name_case: 'Sinun pitäisi liittyä käyttäen käyttäjänimeä %valid, ei %invalid.' + quick_command: 'Käytit komentoa liian nopeasti! Kirjaudu sisään uudelleen ja odota enemmän ennen minkään komennon käyttöä.' # Email email: @@ -90,17 +92,17 @@ email: old_email_invalid: '[AuthMe] Vanha sähköposti on väärä!' invalid: '[AuthMe] Väärä sähköposti' added: '[AuthMe] Sähköposti lisätty!' - # TODO add_not_allowed: '&cAdding email was not allowed' + add_not_allowed: '&cSähköpostin lisääminen ei ollut sallittua.' request_confirmation: '[AuthMe] Vahvistuta sähköposti!' changed: '[AuthMe] Sähköposti vaihdettu!' - # TODO change_not_allowed: '&cChanging email was not allowed' - # TODO email_show: '&2Your current email address is: &f%email' - # TODO no_email_for_account: '&2You currently don''t have email address associated with this account.' - # TODO already_used: '&4The email address is already being used' - # TODO incomplete_settings: 'Error: not all required settings are set for sending emails. Please contact an admin.' - # TODO send_failure: 'The email could not be sent. Please contact an administrator.' - # TODO change_password_expired: 'You cannot change your password using this command anymore.' - # TODO email_cooldown_error: '&cAn email was already sent recently. You must wait %time before you can send a new one.' + change_not_allowed: '&cSähköpostin muuttaminen ei ollut sallittua.' + email_show: '&2Nykyinen sähköpostiosoitteesi on: &f%email' + no_email_for_account: '&2Sinulla ei tällä hetkellä ole liitettyä sähköpostiosoitetta tähän tiliin.' + already_used: '&4Sähköpostiosoite on jo käytössä' + incomplete_settings: 'Virhe: kaikki tarvittavat asetukset eivät ole asetettu sähköpostien lähettämistä varten. Ota yhteyttä ylläpitäjään.' + send_failure: 'Sähköpostia ei voitu lähettää. Ota yhteyttä järjestelmänvalvojaan.' + change_password_expired: 'Et voi enää vaihtaa salasanaa tällä komennolla.' + email_cooldown_error: '&cSähköpostia on jo lähetetty äskettäin. Sinun on odotettava %time ennen kuin voit lähettää uuden.' # Password recovery by email recovery: @@ -108,50 +110,75 @@ recovery: command_usage: '&fKäyttötapa: /email recovery ' email_sent: '[AuthMe] Palautus sähköposti lähetetty!' code: - # TODO code_sent: 'A recovery code to reset your password has been sent to your email.' - # TODO incorrect: 'The recovery code is not correct! You have %count tries remaining.' - # TODO tries_exceeded: 'You have exceeded the maximum number attempts to enter the recovery code. Use "/email recovery [email]" to generate a new one.' - # TODO correct: 'Recovery code entered correctly!' - # TODO change_password: 'Please use the command /email setpassword to change your password immediately.' + code_sent: 'Salasanasi palauttamiseksi lähetetty palautuskoodi on lähetetty sähköpostiisi.' + incorrect: 'Palautuskoodi ei ole oikea! Sinulla on %count yritystä jäljellä.' + tries_exceeded: 'Olet ylittänyt enimmäisyritysten määrän palautuskoodin syöttämisessä. Käytä "/email recovery [email]" luodaksesi uuden.' + correct: 'Palautuskoodi syötetty oikein!' + change_password: 'Käytä komentoa /email setpassword vaihtaaksesi salasanasi välittömästi.' # Captcha captcha: usage_captcha: '&cKäyttötapa: /captcha %captcha_code' wrong_captcha: '&cVäärä varmistus, käytä : /captcha %captcha_code' valid_captcha: '&cSinun varmistus onnistui.!' - # TODO captcha_for_registration: 'To register you have to solve a captcha first, please use the command: /captcha %captcha_code' - # TODO register_captcha_valid: '&2Valid captcha! You may now register with /register' + captcha_for_registration: 'Rekisteröityäksesi sinun on ensin ratkaistava captcha, käytä komentoa: /captcha %captcha_code' + register_captcha_valid: '&2Validi captcha! Voit nyt rekisteröityä käyttäen komentoa /register' # Verification code verification: - # TODO code_required: '&3This command is sensitive and requires an email verification! Check your inbox and follow the email''s instructions.' - # TODO command_usage: '&cUsage: /verification ' - # TODO incorrect_code: '&cIncorrect code, please type "/verification " into the chat, using the code you received by email' - # TODO success: '&2Your identity has been verified! You can now execute all commands within the current session!' - # TODO already_verified: '&2You can already execute every sensitive command within the current session!' - # TODO code_expired: '&3Your code has expired! Execute another sensitive command to get a new code!' - # TODO email_needed: '&3To verify your identity you need to link an email address with your account!!' + code_required: '&3Tämä komento on herkkä ja vaatii sähköpostivahvistuksen! Tarkista sähköpostisi ja seuraa sähköpostin ohjeita.' + command_usage: '&cKäyttö: /verification ' + incorrect_code: '&cVirheellinen koodi, kirjoita "/verification " chatiin, käyttäen koodia, jonka sait sähköpostitse' + success: '&2Henkilöllisyytesi on varmennettu! Voit nyt suorittaa kaikki komennot tämän istunnon aikana!' + already_verified: '&2Voit jo suorittaa jokaisen herkän komennon tämän istunnon aikana!' + code_expired: '&3Koodisi on vanhentunut! Suorita toinen herkkä komento saadaksesi uuden koodin!' + email_needed: '&3Vahvistaaksesi henkilöllisyytesi sinun on liitettävä sähköpostiosoite tilillesi!!' # Time units time: - # TODO second: 'second' - # TODO seconds: 'seconds' - # TODO minute: 'minute' - # TODO minutes: 'minutes' - # TODO hour: 'hour' - # TODO hours: 'hours' - # TODO day: 'day' - # TODO days: 'days' + second: 'sekunti' + seconds: 'sekuntia' + minute: 'minuutti' + minutes: 'minuuttia' + hour: 'tunti' + hours: 'tuntia' + day: 'päivä' + days: 'päivää' # Two-factor authentication two_factor: - # TODO code_created: '&2Your secret code is %code. You can scan it from here %url' - # TODO confirmation_required: 'Please confirm your code with /2fa confirm ' - # TODO code_required: 'Please submit your two-factor authentication code with /2fa code ' - # TODO already_enabled: 'Two-factor authentication is already enabled for your account!' - # TODO enable_error_no_code: 'No 2fa key has been generated for you or it has expired. Please run /2fa add' - # TODO enable_success: 'Successfully enabled two-factor authentication for your account' - # TODO enable_error_wrong_code: 'Wrong code or code has expired. Please run /2fa add' - # TODO not_enabled_error: 'Two-factor authentication is not enabled for your account. Run /2fa add' - # TODO removed_success: 'Successfully removed two-factor auth from your account' - # TODO invalid_code: 'Invalid code!' + code_created: '&2Salainen koodisi on %code. Voit skannata sen täältä %url' + confirmation_required: 'Vahvista koodisi komennolla /2fa confirm ' + code_required: 'Lähetä kaksivaiheisen todennuksen koodisi komennolla /2fa code ' + already_enabled: 'Kaksivaiheinen todennus on jo käytössä tililläsi!' + enable_error_no_code: 'Sinulle ei ole luotu kaksivaiheisen todennuksen avainta tai se on vanhentunut. Suorita komento /2fa add' + enable_success: 'Kaksivaiheinen todennus onnistuneesti käytössä tililläsi' + enable_error_wrong_code: 'Väärä koodi tai koodi on vanhentunut. Suorita komento /2fa add' + not_enabled_error: 'Kaksivaiheista todennusta ei ole käytössä tililläsi. Suorita komento /2fa add' + removed_success: 'Kaksivaiheinen todennus poistettu tililtäsi onnistuneesti' + invalid_code: 'Virheellinen koodi!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVarmennus onnistui!' + bedrock_auto_verify_success: '&aBedrock-varmennus onnistui!' + captcha_window_name: '%random Varmistus' + captcha_clickable_name: '%random Olen ihminen' + message_on_retry: '&cVarmennus epäonnistui, sinulla on %times yritystä jäljellä' + denied_message_sending: '&cOle hyvä ja varmista ennen kuin lähetät viestejä!' + kick_on_failed: '&cOle hyvä ja suorita varmennus loppuun!' + kick_on_timeout: '&cVarmennus aikaraja ylitetty!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aBedrock-automaattinen sisäänkirjautuminen onnistui!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aOlet jumissa portaalissa sisäänkirjautumisen aikana.' + fix_underground: '&aOlet jumissa maan alla sisäänkirjautumisen aikana.' + cannot_fix_underground: '&aOlet jumissa maan alla sisäänkirjautumisen aikana, mutta emme voi korjata sitä.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cSinut on katkaistu kaksoiskirjautumisen vuoksi.' diff --git a/src/main/resources/messages/messages_fr.yml b/src/main/resources/messages/messages_fr.yml index 4e2085db..912fd328 100644 --- a/src/main/resources/messages/messages_fr.yml +++ b/src/main/resources/messages/messages_fr.yml @@ -23,6 +23,7 @@ password: unsafe_password: '&cCe mot de passe n''est pas accepté, choisissez-en un autre.' forbidden_characters: '&cVotre mot de passe contient des caractères non autorisés. Caractères permis : %valid_chars' wrong_length: '&cVotre mot de passe est trop court ou trop long !' + pwned_password: '&cLe mot de passe choisi n''est pas sécurisé. Il a déjà été utilisé %pwned_count fois ! Veuillez utiliser un mot de passe fort...' # Identification login: @@ -60,6 +61,7 @@ unregister: # Autres messages misc: account_not_activated: '&fCe compte n''est pas actif, consultez vos mails !' + not_activated: '&cCompte non activé, veuillez vous inscrire et l''activer avant de réessayer.' password_changed: '&aMot de passe changé avec succès !' logout: '&cVous avez été déconnecté !' reload: '&aAuthMe a été relancé avec succès.' @@ -158,3 +160,28 @@ two_factor: not_enabled_error: '&cL''authentification à double facteur n''est pas active sur votre compte. Faites "/2fa add" pour l''activer.' removed_success: '&cL''authentification à double facteur a été désactivé pour votre compte !' invalid_code: '&cCode secret invalide !' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVérification réussie !' + bedrock_auto_verify_success: '&aVérification Bedrock réussie !' + captcha_window_name: '%random Vérification' + captcha_clickable_name: '%random Je suis humain' + message_on_retry: '&cÉchec de la vérification, il vous reste %times essais' + denied_message_sending: '&cVeuillez vous vérifier avant de discuter !' + kick_on_failed: '&cVeuillez compléter la vérification !' + kick_on_timeout: '&cLa vérification a expiré !' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aConnexion automatique Bedrock réussie !' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aVous êtes bloqué dans un portail lors de la connexion.' + fix_underground: '&aVous êtes bloqué sous terre lors de la connexion.' + cannot_fix_underground: '&aVous êtes bloqué sous terre lors de la connexion, mais nous ne pouvons pas le corriger.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cVous avez été déconnecté en raison d''une double connexion.' diff --git a/src/main/resources/messages/messages_gl.yml b/src/main/resources/messages/messages_gl.yml index 6b7d59e6..f61a03fe 100644 --- a/src/main/resources/messages/messages_gl.yml +++ b/src/main/resources/messages/messages_gl.yml @@ -9,17 +9,18 @@ registration: name_taken: '&cEse nome de usuario xa está rexistrado' register_request: '&cPor favor, rexístrate con "/register "' command_usage: '&cUso: /register contrasinal confirmarContrasinal' - reg_only: '&fSó xogadores rexistrados! Por favor, visita http://example.com para rexistrarte' + reg_only: '&fSó xogadores rexistrados! Por favor, visita https://example.com para rexistrarte' success: '&cRexistrado con éxito!' - # TODO kicked_admin_registered: 'An admin just registered you; please log in again' + kicked_admin_registered: 'Un administrador acaba de rexistrarte; por favor, volve a iniciar sesión.' # Password errors on registration password: match_error: '&fO contrasinal non coincide' - # TODO name_in_password: '&cYou can''t use your name as password, please choose another one...' - # TODO unsafe_password: '&cThe chosen password isn''t safe, please choose another one...' - # TODO forbidden_characters: '&4Your password contains illegal characters. Allowed chars: %valid_chars' + name_in_password: '&cNon podes usar o teu nome como contrasinal, por favor, escolle outro...' + unsafe_password: '&cO contrasinal escollido non é seguro, por favor, escolle outro...' + forbidden_characters: '&4O teu contrasinal contén caracteres non permitidos. Caracteres permitidos: %valid_chars' wrong_length: '&fO teu contrasinal non alcanza a lonxitude mínima ou excede a lonxitude máxima' + pwned_password: '&cO contrasinal elixido non é seguro. Foi usado %pwned_count veces xa! Por favor, use un contrasinal forte...' # Login login: @@ -31,8 +32,8 @@ login: # Errors error: - # TODO denied_command: '&cIn order to use this command you must be authenticated!' - # TODO denied_chat: '&cIn order to chat you must be authenticated!' + denied_command: '&cPara usar este comando debes estar autenticado!' + denied_chat: '&cPara chatear debes estar autenticado!' unregistered_user: '&cEse nome de usuario non está rexistrado' not_logged_in: '&cNon te identificaches!' no_permission: '&cNon tes o permiso' @@ -40,12 +41,12 @@ error: max_registration: '&fExcediches o máximo de rexistros para a túa Conta' logged_in: '&cXa estás identificado!' kick_for_vip: '&cUn xogador VIP uniuse ao servidor cheo!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' - # TODO tempban_max_logins: '&cYou have been temporarily banned for failing to log in too many times.' + kick_unresolved_hostname: '&cProduciuse un erro: nome do xogador non resolto!' + tempban_max_logins: '&cEstás temporalmente expulsado por fallar ao acceder en demasiadas ocasións.' # AntiBot antibot: - # TODO kick_antibot: 'AntiBot protection mode is enabled! You have to wait some minutes before joining the server.' + kick_antibot: 'O modo de protección AntiBot está activado! Tes que agardar uns minutos antes de unirte ao servidor.' auto_enabled: '[AuthMe] AntiBotMod conectouse automáticamente debido a conexións masivas!' auto_disabled: '[AuthMe] AntiBotMod desactivouse automáticamente despois de %m minutos, esperemos que a invasión se detivera' @@ -57,12 +58,13 @@ unregister: # Other messages misc: account_not_activated: '&fA túa conta aínda non está activada, comproba a túa bandexa de correo!!' + not_activated: '&cConta non activada, por favor rexístrese e actívea antes de tentalo de novo.' password_changed: '&cCambiouse o contrasinal!' logout: '&cSesión pechada con éxito' reload: '&fRecargáronse a configuración e a base de datos' usage_change_password: '&fUso: /changepassword ' - # TODO accounts_owned_self: 'You own %count accounts:' - # TODO accounts_owned_other: 'The player %name has %count accounts:' + accounts_owned_self: 'Tes %count contas:' + accounts_owned_other: 'O xogador %name ten %count contas:' # Session messages session: @@ -71,15 +73,15 @@ session: # Error messages when joining on_join_validation: - # TODO same_ip_online: 'A player with the same IP is already in game!' + same_ip_online: 'Un xogador coa mesma IP xa está en xogo!' same_nick_online: '&fXa está xogando alguén co mesmo nome' name_length: '&cO teu nome é demasiado curto ou demasiado longo' characters_in_name: '&cO teu nome contén caracteres ilegais. Caracteres permitidos: %valid_chars' kick_full_server: '&cO servidor está actualmente cheo, sentímolo!' - country_banned: 'O teu país está bloqueado neste servidor' - # TODO not_owner_error: 'You are not the owner of this account. Please choose another name!' - # TODO invalid_name_case: 'You should join using username %valid, not %invalid.' - # TODO quick_command: 'You used a command too fast! Please, join the server again and wait more before using any command.' + country_banned: '&4O teu país está prohibido neste servidor!' + not_owner_error: 'Non es o dono desta conta. Por favor, escolle outro nome!' + invalid_name_case: 'Deberías unirte usando o nome de usuario %valid, non %invalid.' + quick_command: 'Usaches un comando moi rápido! Por favor, úneste ao servidor de novo e agarda máis antes de usar calquera comando.' # Email email: @@ -90,17 +92,16 @@ email: old_email_invalid: '[AuthMe] O correo vello non é válido!' invalid: '[AuthMe] Correo non válido' added: '[AuthMe] Correo engadido!' - # TODO add_not_allowed: '&cAdding email was not allowed' + add_not_allowed: '&cEngadir o correo electrónico non estaba permitido.' request_confirmation: '[AuthMe] Confirma o teu correo!' changed: '[AuthMe] Cambiouse o correo!' - # TODO change_not_allowed: '&cChanging email was not allowed' - # TODO email_show: '&2Your current email address is: &f%email' - # TODO no_email_for_account: '&2You currently don''t have email address associated with this account.' - # TODO already_used: '&4The email address is already being used' - # TODO incomplete_settings: 'Error: not all required settings are set for sending emails. Please contact an admin.' - # TODO send_failure: 'The email could not be sent. Please contact an administrator.' - # TODO change_password_expired: 'You cannot change your password using this command anymore.' - # TODO email_cooldown_error: '&cAn email was already sent recently. You must wait %time before you can send a new one.' + email_show: '&2O teu enderezo de correo electrónico actual é: &f%email' + no_email_for_account: '&2Actualmente non tes ningún enderezo de correo electrónico asociado con esta conta.' + already_used: '&4O enderezo de correo electrónico xa está a ser usado' + incomplete_settings: 'Erro: non todos os axustes necesarios están configurados para enviar correos electrónicos. Por favor, contacta cun administrador.' + send_failure: 'O correo electrónico non puido ser enviado. Por favor, contacta cun administrador.' + change_password_expired: 'Non podes cambiar o teu contrasinal usando este comando máis.' + email_cooldown_error: '&cUn correo electrónico xa foi enviado recentemente. Debes agardar %time antes de poder enviar un novo.' # Password recovery by email recovery: @@ -108,50 +109,75 @@ recovery: command_usage: '&fUso: /email recovery ' email_sent: '[AuthMe] Enviouse o correo de confirmación!' code: - # TODO code_sent: 'A recovery code to reset your password has been sent to your email.' - # TODO incorrect: 'The recovery code is not correct! You have %count tries remaining.' - # TODO tries_exceeded: 'You have exceeded the maximum number attempts to enter the recovery code. Use "/email recovery [email]" to generate a new one.' - # TODO correct: 'Recovery code entered correctly!' - # TODO change_password: 'Please use the command /email setpassword to change your password immediately.' + code_sent: 'Enviouse un código de recuperación para restablecer o teu contrasinal ao teu correo electrónico.' + incorrect: 'O código de recuperación non é correcto! Tes %count intentos restantes.' + tries_exceeded: 'Excedeches o número máximo de intentos para ingresar o código de recuperación. Usa "/email recovery [email]" para xerar un novo.' + correct: 'O código de recuperación foi ingresado correctamente!' + change_password: 'Usa o comando /email setpassword para cambiar o teu contrasinal inmediatamente.' # Captcha captcha: usage_captcha: '&cNecesitas escribir un captcha, por favor escribe: /captcha %captcha_code' wrong_captcha: '&cCaptcha equivocado, por favor usa: /captcha %captcha_code' valid_captcha: '&cO teu captcha é válido !' - # TODO captcha_for_registration: 'To register you have to solve a captcha first, please use the command: /captcha %captcha_code' - # TODO register_captcha_valid: '&2Valid captcha! You may now register with /register' + captcha_for_registration: 'Para rexistrarte debes resolver un captcha primeiro, por favor, usa o comando: /captcha %captcha_code' + register_captcha_valid: '&2Captcha válido! Agora podes rexistrarte con /register' # Verification code verification: - # TODO code_required: '&3This command is sensitive and requires an email verification! Check your inbox and follow the email''s instructions.' - # TODO command_usage: '&cUsage: /verification ' - # TODO incorrect_code: '&cIncorrect code, please type "/verification " into the chat, using the code you received by email' - # TODO success: '&2Your identity has been verified! You can now execute all commands within the current session!' - # TODO already_verified: '&2You can already execute every sensitive command within the current session!' - # TODO code_expired: '&3Your code has expired! Execute another sensitive command to get a new code!' - # TODO email_needed: '&3To verify your identity you need to link an email address with your account!!' + code_required: '&3Este comando é sensible e require unha verificación por correo electrónico! Comproba a túa bandeixa de entrada e segue as instrucións do correo electrónico.' + command_usage: '&cUso: /verification ' + incorrect_code: '&cCódigo incorrecto, por favor, escribe "/verification " no chat, usando o código que recibiches por correo electrónico' + success: '&2A túa identidade foi verificada! Agora podes executar todos os comandos dentro da sesión actual!' + already_verified: '&2Xa podes executar todos os comandos sensibles dentro da sesión actual!' + code_expired: '&3O teu código caducou! Executa outro comando sensible para obter un novo código!' + email_needed: '&3Para verificar a túa identidade debes vincular un enderezo de correo electrónico á túa conta!!' # Time units time: - # TODO second: 'second' - # TODO seconds: 'seconds' - # TODO minute: 'minute' - # TODO minutes: 'minutes' - # TODO hour: 'hour' - # TODO hours: 'hours' - # TODO day: 'day' - # TODO days: 'days' + second: 'segundo' + seconds: 'segundos' + minute: 'minuto' + minutes: 'minutos' + hour: 'hora' + hours: 'horas' + day: 'día' + days: 'días' # Two-factor authentication two_factor: - # TODO code_created: '&2Your secret code is %code. You can scan it from here %url' - # TODO confirmation_required: 'Please confirm your code with /2fa confirm ' - # TODO code_required: 'Please submit your two-factor authentication code with /2fa code ' - # TODO already_enabled: 'Two-factor authentication is already enabled for your account!' - # TODO enable_error_no_code: 'No 2fa key has been generated for you or it has expired. Please run /2fa add' - # TODO enable_success: 'Successfully enabled two-factor authentication for your account' - # TODO enable_error_wrong_code: 'Wrong code or code has expired. Please run /2fa add' - # TODO not_enabled_error: 'Two-factor authentication is not enabled for your account. Run /2fa add' - # TODO removed_success: 'Successfully removed two-factor auth from your account' - # TODO invalid_code: 'Invalid code!' + code_created: '&2O teu código secreto é %code. Podes escanealo desde aquí %url' + confirmation_required: 'Por favor, confirma o teu código con /2fa confirm ' + code_required: 'Por favor, envía o teu código de autenticación en dous pasos con /2fa code ' + already_enabled: 'A autenticación en dous pasos xa está activada para a túa conta!' + enable_error_no_code: 'Non se xerou ningún clave 2fa para ti ou caducou. Por favor, executa /2fa add' + enable_success: 'Autenticación en dous pasos activada con éxito para a túa conta' + enable_error_wrong_code: 'Código incorrecto ou caducado. Por favor, executa /2fa add' + not_enabled_error: 'A autenticación en dous pasos non está activada para a túa conta. Executa /2fa add' + removed_success: 'Autenticación en dous pasos eliminada con éxito da túa conta' + invalid_code: 'Código incorrecto!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVerificación exitosa!' + bedrock_auto_verify_success: '&aVerificación de Bedrock exitosa!' + captcha_window_name: '%random Verificación' + captcha_clickable_name: '%random Son humano' + message_on_retry: '&cA verificación fallou, quédanche %times intentos' + denied_message_sending: '&cPor favor, verifíquese antes de falar!' + kick_on_failed: '&cPor favor, complete a verificación!' + kick_on_timeout: '&cO tempo de verificación esgotouse!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aInicio de sesión automático de Bedrock exitoso!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aEstá atrapado no portal durante o inicio de sesión.' + fix_underground: '&aEstá atrapado baixo terra durante o inicio de sesión.' + cannot_fix_underground: '&aEstá atrapado baixo terra durante o inicio de sesión, pero non podemos arranxalo.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cFoi desconectado debido a un inicio de sesión dobre.' diff --git a/src/main/resources/messages/messages_hu.yml b/src/main/resources/messages/messages_hu.yml index a72deba8..2e79dd3e 100644 --- a/src/main/resources/messages/messages_hu.yml +++ b/src/main/resources/messages/messages_hu.yml @@ -20,6 +20,7 @@ password: unsafe_password: '&cA választott jelszó nem biztonságos, kérlek, válassz másikat...' forbidden_characters: '&4A választott jelszó nem engedélyezett karaktereket tartalmaz. Engedélyezett karakterek: %valid_chars' wrong_length: 'A jelszavad nem éri el a minimális hosszúságot!' + pwned_password: '&cA választott jelszavad nem biztonságos. Már %pwned_count alkalommal használták! Kérlek használj erős jelszót...' # Login login: @@ -40,7 +41,7 @@ error: max_registration: '&cElérted a maximálisan beregisztrálható karakterek számát. (%reg_count/%max_acc %reg_names)' logged_in: '&cMár be vagy jelentkezve!' kick_for_vip: '&3VIP játékos csatlakozott a szerverhez!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_unresolved_hostname: '&cHiba történt: feloldatlan játékos hosztnév!' tempban_max_logins: '&cIdeiglenesen ki lettél tiltva, mert túl sok alkalommal rontottad el a jelszavad!' # AntiBot @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&cA felhasználód aktiválása még nem történt meg, ellenőrizd a megadott emailed!' + not_activated: '&cA fiók nincs aktiválva, kérlek regisztrálj és aktiváld azt mielőtt újra megpróbálkoznál.' password_changed: '&cA jelszó sikeresen megváltoztatva!' logout: '&cSikeresen kijelentkeztél!' reload: 'Beállítások és az adatbázis újratöltve!' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Kétszámjegyű hitelesítés nincs engedélyezve a fiókodban. Futtasd a /2fa add' removed_success: 'Sikeresen eltávolítottad a fiók két számjegyű hitelesítőjét' invalid_code: 'Érvénytelen kód!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aAz ellenőrzés sikeres!' + bedrock_auto_verify_success: '&aBedrock ellenőrzés sikeres!' + captcha_window_name: '%random Ellenőrzés' + captcha_clickable_name: '%random Ember vagyok' + message_on_retry: '&cAz ellenőrzés sikertelen, még %times próbálkozásod van hátra' + denied_message_sending: '&cKérlek, ellenőrizd magad a chat előtt!' + kick_on_failed: '&cKérlek, fejezd be az ellenőrzést!' + kick_on_timeout: '&cAz ellenőrzés időtúllépés miatt megszakadt!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aBedrock automatikus bejelentkezés sikeres!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aBeragadtál a portálban a bejelentkezés közben.' + fix_underground: '&aBeragadtál a föld alatt a bejelentkezés közben.' + cannot_fix_underground: '&aBeragadtál a föld alatt a bejelentkezés közben, de nem tudjuk megjavítani.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cKét bejelentkezés miatt lecsatlakoztattak.' diff --git a/src/main/resources/messages/messages_id.yml b/src/main/resources/messages/messages_id.yml index 68a77713..f6a5ae79 100644 --- a/src/main/resources/messages/messages_id.yml +++ b/src/main/resources/messages/messages_id.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cKamu telah mendaftarkan username ini!' register_request: '&3Silahkan mendaftar ke server menggunakan perintah "/register "' command_usage: '&cPenggunaan: /register ' - reg_only: '&4Hanya pengguna terdaftar yang bisa bergabung! Silahkan kunjungi http://example.com untuk mendaftar!' + reg_only: '&4Hanya pengguna terdaftar yang bisa bergabung! Silahkan kunjungi https://example.com untuk mendaftar!' success: '&2Register berhasil!' kicked_admin_registered: 'Administrator sudah meregistrasi kamu; dimohon untuk login kembali' @@ -40,7 +40,7 @@ error: max_registration: '&Kamu telah mencapai batas maksimum pendaftaran di server ini!' logged_in: '&cKamu telah login!' kick_for_vip: '&3Player VIP mencoba masuk pada saat server sedang penuh!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_unresolved_hostname: '&cTerjadi kesalahan: nama host pemain tidak dapat dipecahkan!' tempban_max_logins: '&cKamu untuk sementara diblokir karena terlalu sering salah saat login.' # AntiBot @@ -57,6 +57,7 @@ unregister: # Other messages misc: account_not_activated: '&cAkunmu belum diaktifkan, silahkan periksa email kamu!' + not_activated: '&cAkun belum diaktifkan, silakan daftar dan aktivasi sebelum mencoba lagi.' password_changed: '&2Berhasil mengubah password!' logout: '&2Berhasil logout!' reload: '&2Konfigurasi dan database telah dimuat ulang!' @@ -124,13 +125,13 @@ captcha: # Verification code verification: - # TODO code_required: '&3This command is sensitive and requires an email verification! Check your inbox and follow the email''s instructions.' - # TODO command_usage: '&cUsage: /verification ' - # TODO incorrect_code: '&cIncorrect code, please type "/verification " into the chat, using the code you received by email' - # TODO success: '&2Your identity has been verified! You can now execute all commands within the current session!' - # TODO already_verified: '&2You can already execute every sensitive command within the current session!' - # TODO code_expired: '&3Your code has expired! Execute another sensitive command to get a new code!' - # TODO email_needed: '&3To verify your identity you need to link an email address with your account!!' + code_required: '&3Perintah ini sensitif dan memerlukan verifikasi email! Periksa kotak masuk Anda dan ikuti petunjuk email.' + command_usage: '&cPenggunaan: /verification ' + incorrect_code: '&cKode salah, ketik "/verification " di chat, menggunakan kode yang Anda terima melalui email' + success: '&2Identitas Anda telah diverifikasi! Anda sekarang dapat menjalankan semua perintah dalam sesi saat ini!' + already_verified: '&2Anda sudah dapat menjalankan setiap perintah sensitif dalam sesi saat ini!' + code_expired: '&3Kode Anda telah kedaluwarsa! Jalankan perintah sensitif lain untuk mendapatkan kode baru!' + email_needed: '&3Untuk memverifikasi identitas Anda, Anda perlu menyambungkan alamat email dengan akun Anda!!' # Time units time: @@ -155,3 +156,28 @@ two_factor: not_enabled_error: 'Autentikasi dua langkah tidak diaktifkan untuk akunmu. Jalankan /2fa add' removed_success: 'Sukses menghapus autentikasi dua langkah dari akunmu' invalid_code: 'Kode tidak valid!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVerifikasi berhasil!' + bedrock_auto_verify_success: '&aVerifikasi Bedrock berhasil!' + captcha_window_name: '%random Verifikasi' + captcha_clickable_name: '%random Saya manusia' + message_on_retry: '&cVerifikasi gagal, Anda memiliki %times percobaan lagi' + denied_message_sending: '&cHarap diverifikasi sebelum chatting!' + kick_on_failed: '&cHarap lengkapi verifikasi!' + kick_on_timeout: '&cWaktu verifikasi habis!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aLogin otomatis Bedrock berhasil!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aAnda terjebak di portal selama proses login.' + fix_underground: '&aAnda terjebak di bawah tanah selama proses login.' + cannot_fix_underground: '&aAnda terjebak di bawah tanah selama proses login, tetapi kami tidak dapat memperbaikinya.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cAnda telah terputus karena login ganda.' diff --git a/src/main/resources/messages/messages_it.yml b/src/main/resources/messages/messages_it.yml index d2e6b8aa..011f7f37 100644 --- a/src/main/resources/messages/messages_it.yml +++ b/src/main/resources/messages/messages_it.yml @@ -10,7 +10,7 @@ registration: name_taken: '&cHai già eseguito la registrazione!' register_request: '&3Per favore, esegui la registrazione con il comando: /register ' command_usage: '&cUtilizzo: /register ' - reg_only: '&4Puoi giocare in questo server solo dopo aver eseguito la registrazione attraverso il sito web! Per favore, vai su http://esempio.it per procedere!' + reg_only: '&4Puoi giocare in questo server solo dopo aver eseguito la registrazione attraverso il sito web! Per favore, vai su https://esempio.it per procedere!' success: '&2Registrato correttamente!' kicked_admin_registered: 'Un amministratore ti ha appena registrato, per favore rientra nel server' @@ -21,6 +21,7 @@ password: unsafe_password: '&cLa password che hai inserito non è sicura, per favore scegline un''altra...' forbidden_characters: '&4La tua password contiene caratteri non consentiti. I caratteri consentiti sono: %valid_chars' wrong_length: '&cLa password che hai inserito è troppo corta o troppo lunga, per favore scegline un''altra...' + pwned_password: '&cLa password scelta non è sicura. È stata già utilizzata %pwned_count volte! Si prega di utilizzare una password sicura...' # Login login: @@ -58,6 +59,7 @@ unregister: # Other messages misc: account_not_activated: '&cIl tuo account non è stato ancora verificato, controlla fra le tue email per scoprire come attivarlo!' + not_activated: '&cAccount non attivato, si prega di registrarsi e attivarlo prima di riprovare.' password_changed: '&2Password cambiata correttamente!' logout: '&2Disconnessione avvenuta correttamente!' reload: '&2La configurazione e il database sono stati ricaricati correttamente!' @@ -156,3 +158,28 @@ two_factor: not_enabled_error: 'L''autenticazione a 2 fattori non è ancora abilitata per il tuo account. Scrivi: /2fa add' removed_success: 'Autenticazione a 2 fattori rimossa correttamente' invalid_code: 'Il codice inserito non è valido, riprova!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVerifica riuscita!' + bedrock_auto_verify_success: '&aVerifica Bedrock riuscita!' + captcha_window_name: '%random Verifica' + captcha_clickable_name: '%random Sono un essere umano' + message_on_retry: '&cVerifica fallita, hai %times tentativi rimasti' + denied_message_sending: '&cSi prega di verificarsi prima di chattare!' + kick_on_failed: '&cSi prega di completare la verifica!' + kick_on_timeout: '&cTempo scaduto per la verifica!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aAccesso automatico Bedrock riuscito!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aSei bloccato nel portale durante il login.' + fix_underground: '&aSei bloccato sottoterra durante il login.' + cannot_fix_underground: '&aSei bloccato sottoterra durante il login, ma non possiamo risolverlo.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cSei stato disconnesso a causa di un login doppio.' diff --git a/src/main/resources/messages/messages_ja.yml b/src/main/resources/messages/messages_ja.yml index 409f8c80..ead3c71d 100644 --- a/src/main/resources/messages/messages_ja.yml +++ b/src/main/resources/messages/messages_ja.yml @@ -5,13 +5,13 @@ # Registration registration: - register_request: '&3サーバーに登録するには、次のコマンドを使用してください: /register <パスワード> <パスワードの確認>' - command_usage: '&c使用方法: /register <パスワード> <パスワードの確認>' - reg_only: '&4登録済みのユーザーのみサーバーに参加できます! 自分自身を登録するには、http://example.com にアクセスしてください!' - kicked_admin_registered: '管理者があなたを登録しました。再度ログインしてください。' - success: '&2登録が完了しました!' disabled: '&cゲーム内での登録は無効になっています!' name_taken: '&cこのユーザー名はすでに登録されています!' + register_request: '&3サーバーに登録するには、次のコマンドを使用してください: /register <パスワード> <パスワードの確認>' + command_usage: '&c使用方法: /register <パスワード> <パスワードの確認>' + reg_only: '&4登録済みのユーザーのみサーバーに参加できます! 自分自身を登録するには、https://example.com にアクセスしてください!' + success: '&2登録が完了しました!' + kicked_admin_registered: '管理者があなたを登録しました。再度ログインしてください。' # Password errors on registration password: @@ -20,6 +20,7 @@ password: unsafe_password: '&c選択したパスワードは安全ではありません。別のパスワードを選択してください...' forbidden_characters: '&4パスワードに不正な文字が含まれています。許可されている文字: %valid_chars' wrong_length: '&cパスワードが短すぎるか長すぎます!別のパスワードを試してください!' + pwned_password: '&c選択されたパスワードは安全ではありません。すでに %pwned_count 回使用されています!強力なパスワードを使用してください...' # Login login: @@ -31,17 +32,17 @@ login: # Errors error: - unregistered_user: '&cこのユーザーは登録されていません!' denied_command: '&cこのコマンドを使用するには認証が必要です!' denied_chat: '&cチャットするには認証が必要です!' + unregistered_user: '&cこのユーザーは登録されていません!' not_logged_in: '&cログインしていません!' - tempban_max_logins: '&cログインに失敗した回数が多すぎるため、一時的にアクセスが制限されています。' - max_registration: '&c接続ごとの登録数が最大値を超えています(%reg_count/%max_acc %reg_names)!' no_permission: '&4この操作を実行する権限がありません!' unexpected_error: '&4予期しないエラーが発生しました。管理者に連絡してください!' - kick_for_vip: '&3VIPプレイヤーがサーバーが満員の状態で参加しました!' + max_registration: '&c接続ごとの登録数が最大値を超えています(%reg_count/%max_acc %reg_names)!' logged_in: '&cすでにログイン済みです!' + kick_for_vip: '&3VIPプレイヤーがサーバーが満員の状態で参加しました!' kick_unresolved_hostname: '&cエラーが発生しました:解決できないプレイヤーのホスト名!' + tempban_max_logins: '&cログインに失敗した回数が多すぎるため、一時的にアクセスが制限されています。' # AntiBot antibot: @@ -49,57 +50,59 @@ antibot: auto_enabled: '&4[AntiBotService] 接続数が非常に多いため、AntiBotが有効になりました!' auto_disabled: '&2[AntiBotService] %m 分後にAntiBotが無効になりました!' +# Unregister unregister: success: '&c登録が正常に解除されました!' command_usage: '&c使用方法: /unregister <パスワード>' # Other messages misc: - accounts_owned_self: '所持しているアカウント数:%count 個' - accounts_owned_other: 'プレイヤー %name のアカウント数:%count 個' account_not_activated: '&cアカウントはまだ有効化されていません。メールを確認してください!' + not_activated: '&cアカウントは有効化されていません。再試行する前に登録してアクティブ化してください。' password_changed: '&2パスワードが正常に変更されました!' logout: '&2正常にログアウトしました!' reload: '&2設定とデータベースが正常に再読み込みされました!' usage_change_password: '&c使用方法: /changepassword <旧パスワード> <新パスワード>' + accounts_owned_self: '所持しているアカウント数:%count 個' + accounts_owned_other: 'プレイヤー %name のアカウント数:%count 個' # Session messages session: - invalid_session: '&cIPアドレスが変更され、セッションのデータが期限切れです!' valid_session: '&2セッションの再接続によるログインです。' + invalid_session: '&cIPアドレスが変更され、セッションのデータが期限切れです!' # Error messages when joining on_join_validation: + same_ip_online: '同じIPアドレスを持つプレイヤーが既にゲーム内にいます!' + same_nick_online: '&4同じユーザー名のプレイヤーが既にサーバーでプレイしています!' name_length: '&4ユーザー名が短すぎるか長すぎます!' characters_in_name: '&4ユーザー名に無効な文字が含まれています。許可される文字:%valid_chars' + kick_full_server: '&4サーバーが満員です。後でもう一度お試しください!' country_banned: '&4このサーバーへのアクセスは、お使いの国から制限されています!' not_owner_error: 'このアカウントの所有者ではありません。別の名前を選択してください!' - kick_full_server: '&4サーバーが満員です。後でもう一度お試しください!' - same_nick_online: '&4同じユーザー名のプレイヤーが既にサーバーでプレイしています!' invalid_name_case: '正しいユーザー名は %valid です。%invalid ではなく、このユーザー名で参加してください。' - same_ip_online: '同じIPアドレスを持つプレイヤーが既にゲーム内にいます!' quick_command: 'コマンドを速すぎる速度で使用しました!もう一度サーバーに参加してから、コマンドを使用する前にしばらくお待ちください。' # Email email: + add_email_request: '&3コマンド「/email add <あなたのメールアドレス> <確認用メールアドレス>」を使用して、アカウントにメールアドレスを追加してください。' usage_email_add: '&c使用方法:/email add <メールアドレス> <メールアドレスの確認>' usage_email_change: '&c使用方法:/email change <古いメールアドレス> <新しいメールアドレス>' new_email_invalid: '&c無効な新しいメールアドレスです。もう一度やり直してください!' old_email_invalid: '&c無効な古いメールアドレスです。もう一度やり直してください!' invalid: '&c無効なメールアドレスです。もう一度やり直してください!' added: '&2メールアドレスがアカウントに正常に追加されました!' + add_not_allowed: '&cメールアドレスの追加は許可されていません。' request_confirmation: '&cメールアドレスを確認してください!' changed: '&2メールアドレスが正しく変更されました!' + change_not_allowed: '&cメールアドレスの変更は許可されていません。' email_show: '&2現在のメールアドレスは:%email' - incomplete_settings: 'エラー:メールの送信に必要なすべての設定が設定されていません。管理者に連絡してください。' - already_used: '&4そのメールアドレスは既に使用されています' - send_failure: 'メールを送信できませんでした。管理者に連絡してください。' no_email_for_account: '&2現在、このアカウントに関連付けられたメールアドレスはありません。' - add_email_request: '&3コマンド「/email add <あなたのメールアドレス> <確認用メールアドレス>」を使用して、アカウントにメールアドレスを追加してください。' + already_used: '&4そのメールアドレスは既に使用されています' + incomplete_settings: 'エラー:メールの送信に必要なすべての設定が設定されていません。管理者に連絡してください。' + send_failure: 'メールを送信できませんでした。管理者に連絡してください。' change_password_expired: 'このコマンドを使用してパスワードを変更することはできません。' email_cooldown_error: '&c最近すでにメールが送信されています。新しいメールを送信する前に、%time 待つ必要があります。' - add_not_allowed: '&cメールアドレスの追加は許可されていません。' - change_not_allowed: '&cメールアドレスの変更は許可されていません。' # Password recovery by email recovery: @@ -131,6 +134,17 @@ verification: code_expired: '&3コードの有効期限が切れています!新しいコードを取得するには、別のセンシティブなコマンドを実行してください!' email_needed: '&3アカウントにはメールアドレスのリンクが必要です。身元を確認するためにはメールアドレスを関連付けてください!' +# Time units +time: + second: '秒' + seconds: '秒' + minute: '分' + minutes: '分' + hour: '時間' + hours: '時間' + day: '日' + days: '日' + # Two-factor authentication two_factor: code_created: '&2秘密コードは %code です。こちらからスキャンできます:%url' @@ -144,13 +158,27 @@ two_factor: removed_success: 'アカウントから二要素認証が正常に削除されました' invalid_code: '無効なコードです!' -# Time units -time: - second: '秒' - seconds: '秒' - minute: '分' - minutes: '分' - hour: '時間' - hours: '時間' - day: '日' - days: '日' +# 3rd party features: GUI Captcha +gui_captcha: + success: '&a検証成功!' + bedrock_auto_verify_success: '&aBedrock 検証成功!' + captcha_window_name: '%random 検証' + captcha_clickable_name: '%random 私は人間です' + message_on_retry: '&c検証に失敗しました、あと %times 回のリトライが残っています' + denied_message_sending: '&cチャットをする前に検証してください!' + kick_on_failed: '&c検証を完了してください!' + kick_on_timeout: '&c検証のタイムアウト!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aBedrock 自動ログイン成功!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aログイン中にポータルに閉じ込められました。' + fix_underground: '&aログイン中に地下に閉じ込められました。' + cannot_fix_underground: '&aログイン中に地下に閉じ込められましたが、修正できません。' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&c二重ログインのため、切断されました。' diff --git a/src/main/resources/messages/messages_ko.yml b/src/main/resources/messages/messages_ko.yml index 81d836d8..8758f890 100644 --- a/src/main/resources/messages/messages_ko.yml +++ b/src/main/resources/messages/messages_ko.yml @@ -22,6 +22,7 @@ password: unsafe_password: '&c이 비밀번호는 안전하지 않습니다, 다른 비밀번호를 사용하세요...' forbidden_characters: '&4비밀번호에 잘못된 문자가 있습니다. 허용된 문자: %valid_chars' wrong_length: '&c비밀번호가 너무 짧거나 너무 깁니다!' + pwned_password: '&c선택한 비밀번호가 안전하지 않습니다. 이미 %pwned_count 번 사용되었습니다! 강력한 비밀번호를 사용하세요...' # Login login: @@ -42,7 +43,7 @@ error: max_registration: '&c당신은 가입할 수 있는 계정 한도를 초과했습니다 (%reg_count/%max_acc %reg_names)!' logged_in: '&c이미 로그인되어 있습니다!' kick_for_vip: '&3서버가 꽉 차있을 때는 VIP 플레이어만 접속이 가능합니다!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_unresolved_hostname: '&c오류 발생: 확인되지 않은 플레이어 호스트 이름!' tempban_max_logins: '&c너무 많이 로그인에 실패하여 잠시 서버에서 차단되었습니다.' # AntiBot @@ -59,6 +60,7 @@ unregister: # Other messages misc: account_not_activated: '&c계정이 아직 활성화되지 않았습니다. 이메일을 확인해보세요!' + not_activated: '&c계정이 활성화되지 않았습니다. 다시 시도하기 전에 등록하고 활성화하세요.' password_changed: '&2비밀번호가 변경되었습니다!' logout: '&2로그아웃 되었습니다!' reload: '&2설정과 데이터 베이스가 새로고침 되었습니다!' @@ -157,3 +159,28 @@ two_factor: not_enabled_error: '2단계 인증 기능을 활성화하시지 않았습니다. /2fa add 명령어를 통해 활성화해주세요.' removed_success: '2단계 인증 기능을 성공적으로 비활성화하였습니다.' invalid_code: '올바르지 않은 인증 코드입니다!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&a인증 성공!' + bedrock_auto_verify_success: '&aBedrock 인증 성공!' + captcha_window_name: '%random 확인' + captcha_clickable_name: '%random 사람임을 인증합니다' + message_on_retry: '&c인증 실패, 남은 재시도 횟수: %times' + denied_message_sending: '&c채팅하기 전에 인증하세요!' + kick_on_failed: '&c인증을 완료하세요!' + kick_on_timeout: '&c인증 시간이 초과되었습니다!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aBedrock 자동 로그인 성공!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&a로그인 중에 포탈에 갇혔습니다.' + fix_underground: '&a로그인 중에 지하에 갇혔습니다.' + cannot_fix_underground: '&a로그인 중에 지하에 갇혔지만, 수정할 수 없습니다.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&c중복 로그인으로 인해 연결이 종료되었습니다.' diff --git a/src/main/resources/messages/messages_lt.yml b/src/main/resources/messages/messages_lt.yml index b90ebc73..1e04f6ea 100644 --- a/src/main/resources/messages/messages_lt.yml +++ b/src/main/resources/messages/messages_lt.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cVartotojo vardas jau užregistruotas' register_request: '&ePrašome prisiregistruoti: /register slaptažodis pakartotiSlaptažodį' command_usage: '&eNaudojimas: /register slaptažodis pakartotiSlaptažodį' - reg_only: '&cTik prisiregistravusiems žaidėjams: apsilankykite: http://example.com tam, kad užsiregistruoti.' + reg_only: '&cTik prisiregistravusiems žaidėjams: apsilankykite: https://example.com tam, kad užsiregistruoti.' success: '&aSėkmingai prisiregistravote.' kicked_admin_registered: 'Administatorius Jus užregistravo. Prisijunkite iš naujo' @@ -20,6 +20,7 @@ password: unsafe_password: '&cŠį Slaptažodį lengva nulaužti, pasirinkite kitą slaptažodį' forbidden_characters: '&4Jūsų slaptažodis turi netinkamų simbolių. Leidžiami simboliai: %valid_chars' wrong_length: '&cJūsų pasirinktas slaptažodis per ilgas arba per trumpas.' + pwned_password: '&cJūsų pasirinktas slaptažodis nėra saugus. Jis buvo naudotas %pwned_count kartų! Prašome naudoti stiprų slaptažodį...' # Login login: @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&aJūsų vartotojas nėra patvirtintas, pasitikrinkite el.paštą.' + not_activated: '&cPaskyra neaktyvuota, prašome užsiregistruoti ir aktyvuoti prieš bandant dar kartą.' password_changed: '&aSlaptažodis pakeistas' logout: '&aSėkmingai atsijungėte' reload: '&aNustatymai ir duomenų bazė buvo perkrauta.' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Dviejų faktorių autentifikavimas nėra įjungtas ant jūsų paskyros. Rašykite /2fa add' removed_success: 'Dviejų faktorių autentifikavimas sėkmingai pašalintas iš jūsų paskyros.' invalid_code: 'Neteisingas kodas!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVerifikacija sėkminga!' + bedrock_auto_verify_success: '&aBedrock verifikacija sėkminga!' + captcha_window_name: '%random Verifikacija' + captcha_clickable_name: '%random Esu žmogus' + message_on_retry: '&cVerifikacija nepavyko, jums liko %times bandymų' + denied_message_sending: '&cPrašome patvirtinti prieš pradėdami pokalbį!' + kick_on_failed: '&cPrašome užbaigti verifikaciją!' + kick_on_timeout: '&cVerifikacija pasibaigė laiku!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aBedrock automatinis prisijungimas sėkmingas!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aJūs užstrigote portale prisijungimo metu.' + fix_underground: '&aJūs užstrigote po žeme prisijungimo metu.' + cannot_fix_underground: '&aJūs užstrigote po žeme prisijungimo metu, bet mes negalime to pataisyti.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cJūs buvote atjungtas dėl dvigubo prisijungimo.' diff --git a/src/main/resources/messages/messages_nl.yml b/src/main/resources/messages/messages_nl.yml index 67736bbd..ef13eb08 100644 --- a/src/main/resources/messages/messages_nl.yml +++ b/src/main/resources/messages/messages_nl.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cJe hebt deze gebruikersnaam al geregistreerd!' register_request: '&cRegistreer met het commando: /register ' command_usage: '&cGebruik: /register ' - reg_only: 'Alleen voor geregistreerde spelers! Bezoek http://example.com om te registreren!' + reg_only: 'Alleen voor geregistreerde spelers! Bezoek https://example.com om te registreren!' success: '&cSuccesvol geregistreerd!' kicked_admin_registered: 'Een administrator heeft je net geregistreerd; log alsjeblieft opnieuw in.' @@ -20,6 +20,7 @@ password: unsafe_password: '&fDit wachtwoord is onveilig, kies een ander wachtwoord...' forbidden_characters: '&cJouw wachtwoord bevat ongeldige tekens. Toegestane karakters zijn: %valid_chars' wrong_length: 'Jouw gekozen wachtwoord voldoet niet aan de minimum of maximum lengte, kies een ander wachtwoord...' + pwned_password: '&cHet gekozen wachtwoord is niet veilig. Het is al %pwned_count keer gebruikt! Gebruik alstublieft een sterk wachtwoord...' # Login login: @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: 'Je account is nog niet geactiveerd, controleer je mailbox!' + not_activated: '&cAccount niet geactiveerd, registreer en activeer het alstublieft voordat u het opnieuw probeert.' password_changed: '&cWachtwoord succesvol aangepast!' logout: '&2Je bent succesvol uitgelogd!' reload: '&2De configuratie en database zijn succesvol herladen!' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Twee-factor authenticatie is uitgeschakeld voor jou account. Voer "/2fa add" uit' removed_success: 'Twee-factor authenticatie is met succes van jouw account verwijderd.' invalid_code: 'Ongeldige code!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVerificatie gelukt!' + bedrock_auto_verify_success: '&aBedrock-verificatie gelukt!' + captcha_window_name: '%random Verificatie' + captcha_clickable_name: '%random Ik ben een mens' + message_on_retry: '&cVerificatie mislukt, u heeft nog %times pogingen over' + denied_message_sending: '&cGelieve geverifieerd te worden voordat u begint met chatten!' + kick_on_failed: '&cVoltooi alstublieft de verificatie!' + kick_on_timeout: '&cVerificatie is verlopen!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aBedrock automatisch inloggen gelukt!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aU zit vast in een portal tijdens het inloggen.' + fix_underground: '&aU zit vast onder de grond tijdens het inloggen.' + cannot_fix_underground: '&aU zit vast onder de grond tijdens het inloggen, maar we kunnen het niet repareren.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cU bent losgekoppeld vanwege een dubbele inlog.' diff --git a/src/main/resources/messages/messages_pl.yml b/src/main/resources/messages/messages_pl.yml index 86e0a4fe..10317635 100644 --- a/src/main/resources/messages/messages_pl.yml +++ b/src/main/resources/messages/messages_pl.yml @@ -20,6 +20,7 @@ password: unsafe_password: '&cTwoje hasło nie jest bezpieczne, wybierz inne...' forbidden_characters: '&4W twoim haśle występują niedozwolone znaki, dozwolone znaki to: %valid_chars' wrong_length: '&fTwoje hasło jest za krótkie lub za długie! Spróbuj ponownie...' + pwned_password: '&cTwoje wybrane hasło nie jest bezpieczne. Zostało już użyte %pwned_count razy! Proszę użyj silnego hasła...' # Login login: @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&fTwoje konto nie zostało aktywowane! Sprawdź maila.' + not_activated: '&cKonto nieaktywowane, proszę zarejestruj się i aktywuj konto przed ponowną próbą.' password_changed: '&fHasło zostało zmienione!' logout: '&cPomyślnie wylogowany' reload: '&fKonfiguracja bazy danych została przeładowana.' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Weryfikacja dwuetapowa nie jest włączona dla twojego konta. Wpisz komende /2fa add' removed_success: '&aPomyślnie usunięto weryfikacje dwuetapową z Twojego konta.' invalid_code: '&cWpisany kod jest nieprawidłowy, spróbuj jeszcze raz.' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aWeryfikacja udana!' + bedrock_auto_verify_success: '&aWeryfikacja Bedrocka udana!' + captcha_window_name: '%random Weryfikacja' + captcha_clickable_name: '%random Jestem człowiekiem' + message_on_retry: '&cWeryfikacja nie powiodła się, pozostało Ci %times prób' + denied_message_sending: '&cProszę zweryfikuj się przed rozpoczęciem czatu!' + kick_on_failed: '&cProszę ukończ weryfikację!' + kick_on_timeout: '&cCzas weryfikacji minął!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aAutomatyczne logowanie na Bedrocku udane!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aUtknąłeś w portalu podczas logowania.' + fix_underground: '&aUtknąłeś pod ziemią podczas logowania.' + cannot_fix_underground: '&aUtknąłeś pod ziemią podczas logowania, ale nie możemy tego naprawić.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cZostałeś rozłączony z powodu podwójnego logowania.' diff --git a/src/main/resources/messages/messages_zhcn.yml b/src/main/resources/messages/messages_zhcn.yml index f6451bcc..297c0388 100644 --- a/src/main/resources/messages/messages_zhcn.yml +++ b/src/main/resources/messages/messages_zhcn.yml @@ -190,5 +190,3 @@ login_location_fix: # 3rd party features: Double Login Fix double_login_fix: fix_message: '&a已修复幽灵玩家, 请重新进入' - - From b6476dcb79d43b478a737b79713ea3233aa1b8ce Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Fri, 31 May 2024 20:17:02 +0800 Subject: [PATCH 18/25] Revert --- .../fr/xephi/authme/service/CommonService.java | 15 --------------- .../java/fr/xephi/authme/util/PlayerUtils.java | 2 +- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/src/main/java/fr/xephi/authme/service/CommonService.java b/src/main/java/fr/xephi/authme/service/CommonService.java index 4c5a211c..92a49267 100644 --- a/src/main/java/fr/xephi/authme/service/CommonService.java +++ b/src/main/java/fr/xephi/authme/service/CommonService.java @@ -6,8 +6,6 @@ import fr.xephi.authme.message.Messages; import fr.xephi.authme.permission.PermissionNode; import fr.xephi.authme.permission.PermissionsManager; import fr.xephi.authme.settings.Settings; -import fr.xephi.authme.settings.properties.PluginSettings; -import fr.xephi.authme.util.Utils; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -24,9 +22,6 @@ public class CommonService { @Inject private Messages messages; - @Inject - private BukkitService bukkitService; - @Inject private PermissionsManager permissionsManager; @@ -51,11 +46,6 @@ public class CommonService { * @param key the message key */ public void send(CommandSender sender, MessageKey key) { - if (Utils.majorVersion < 12 && settings.getProperty(PluginSettings.I18N_MESSAGES)) { - bukkitService.runTaskLater(() -> messages.send(sender, key), 35L); - return; - } - messages.send(sender, key); } @@ -67,11 +57,6 @@ public class CommonService { * @param replacements the replacements to apply to the message */ public void send(CommandSender sender, MessageKey key, String... replacements) { - if (Utils.majorVersion < 12 && settings.getProperty(PluginSettings.I18N_MESSAGES)) { - bukkitService.runTaskLater(() -> messages.send(sender, key, replacements), 35L); - return; - } - messages.send(sender, key, replacements); } diff --git a/src/main/java/fr/xephi/authme/util/PlayerUtils.java b/src/main/java/fr/xephi/authme/util/PlayerUtils.java index 2e578905..d9b867d7 100644 --- a/src/main/java/fr/xephi/authme/util/PlayerUtils.java +++ b/src/main/java/fr/xephi/authme/util/PlayerUtils.java @@ -10,7 +10,6 @@ public final class PlayerUtils { // Utility class private PlayerUtils() { } - private static final boolean IS_LEAVES_SERVER = Utils.isClassLoaded("top.leavesmc.leaves.LeavesConfig"); /** @@ -36,4 +35,5 @@ public final class PlayerUtils { return player.hasMetadata("NPC"); } } + } From 0679087e53a9114988240ecc664fe4f08cf377bb Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Fri, 31 May 2024 20:23:47 +0800 Subject: [PATCH 19/25] Try to reduce complexity --- .../xephi/authme/util/message/I18NUtils.java | 43 ++++++++----------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index 07e10c1e..b8f11ba1 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -7,11 +7,14 @@ import org.bukkit.entity.Player; import java.lang.reflect.Method; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; public class I18NUtils { private static Method spigotGetLocale; + private static final Map LOCALE_MAP = new HashMap<>(); private static final List LOCALE_LIST = Arrays.asList( "en", "bg", "de", "eo", "es", "et", "eu", "fi", "fr", "gl", "hu", "id", "it", "ja", "ko", "lt", "nl", "pl", "pt", "ro", "ru", "sk", "sr", "tr", "uk" @@ -24,6 +27,20 @@ public class I18NUtils { } catch (NoSuchMethodException e) { spigotGetLocale = null; } + + LOCALE_MAP.put("pt_br", "br"); + LOCALE_MAP.put("cs_cz", "cz"); + LOCALE_MAP.put("nds_de", "de"); + LOCALE_MAP.put("sxu", "de"); + LOCALE_MAP.put("swg", "de"); + LOCALE_MAP.put("rpr", "ru"); + LOCALE_MAP.put("sl_si", "si"); + LOCALE_MAP.put("vi_vn", "vn"); + LOCALE_MAP.put("lzh", "zhcn"); + LOCALE_MAP.put("zh_cn", "zhcn"); + LOCALE_MAP.put("zh_hk", "zhhk"); + LOCALE_MAP.put("zh_tw", "zhtw"); + // LOCALE_MAP.put("zhmc", "zhmc"); } /** @@ -64,30 +81,8 @@ public class I18NUtils { } // Match certain locale code - switch (locale) { - case "pt_br": - return "br"; - case "cs_cz": - return "cz"; - case "nds_de": - case "sxu": - case "swg": - return "de"; - case "rpr": - return "ru"; - case "sl_si": - return "si"; - case "vi_vn": - return "vn"; - case "lzh": - case "zh_cn": - return "zhcn"; - case "zh_hk": - return "zhhk"; - case "zh_tw": - return "zhtw"; - //case "zhmc": - // return "zhmc"; + if (LOCALE_MAP.containsKey(locale)) { + return LOCALE_MAP.get(locale); } if (locale.contains("_")) { From 5829bfeaa28583ff05239134236a8da1541b66fa Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Fri, 31 May 2024 22:00:36 +0800 Subject: [PATCH 20/25] [ci skip] Update messages translations --- docs/translations.md | 78 ++++++------- src/main/resources/messages/messages_pt.yml | 29 ++++- src/main/resources/messages/messages_ro.yml | 89 +++++++++------ src/main/resources/messages/messages_ru.yml | 66 +++++------ src/main/resources/messages/messages_si.yml | 31 +++++- src/main/resources/messages/messages_sk.yml | 73 ++++++++---- src/main/resources/messages/messages_sr.yml | 31 +++++- src/main/resources/messages/messages_tr.yml | 29 ++++- src/main/resources/messages/messages_uk.yml | 31 +++++- src/main/resources/messages/messages_vn.yml | 28 ++++- src/main/resources/messages/messages_zhhk.yml | 31 +++++- src/main/resources/messages/messages_zhmc.yml | 105 +++++++++++------- src/main/resources/messages/messages_zhtw.yml | 27 +++++ 13 files changed, 474 insertions(+), 174 deletions(-) diff --git a/docs/translations.md b/docs/translations.md index e8833888..6d120b07 100644 --- a/docs/translations.md +++ b/docs/translations.md @@ -1,47 +1,49 @@ - + # AuthMe Translations + The following translations are available in AuthMe. Set `messagesLanguage` to the language code in your config.yml to use the language, or use another language code to start a new translation. -Code | Language | Translated |   ----- | -------- | ---------: | ------ -[en](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_en.yml) | English | 100% | 100 -[bg](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_bg.yml) | Bulgarian | 99% | 99 -[br](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_br.yml) | Brazilian | 100% | 100 -[cz](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_cz.yml) | Czech | 100% | 100 -[de](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_de.yml) | German | 99% | 99 -[eo](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_eo.yml) | Esperanto | 79% | 79 -[es](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_es.yml) | Spanish | 99% | 99 -[et](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_et.yml) | Estonian | 100% | 100 -[eu](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_eu.yml) | Basque | 100% | 100 -[fi](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_fi.yml) | Finnish | 45% | 45 -[fr](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_fr.yml) | French | 100% | 100 -[gl](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_gl.yml) | Galician | 48% | 48 -[hu](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_hu.yml) | Hungarian | 99% | 99 -[id](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_id.yml) | Indonesian | 93% | 93 -[it](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_it.yml) | Italian | 100% | 100 -[ja](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ja.yml) | Japanese | 100% | 100 -[ko](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ko.yml) | Korean | 99% | 99 -[lt](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_lt.yml) | Lithuanian | 100% | 100 -[nl](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_nl.yml) | Dutch | 100% | 100 -[pl](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_pl.yml) | Polish | 100% | 100 -[pt](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_pt.yml) | Portuguese | 100% | 100 -[ro](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ro.yml) | Romanian | 100% | 100 -[ru](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ru.yml) | Russian | 100% | 100 -[si](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_si.yml) | Slovenian | 99% | 99 -[sk](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_sk.yml) | Slovakian | 79% | 79 -[sr](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_sr.yml) | Serbian | 99% | 99 -[tr](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_tr.yml) | Turkish | 100% | 100 -[uk](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_uk.yml) | Ukrainian | 100% | 100 -[vn](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_vn.yml) | Vietnamese | 100% | 100 -[zhcn](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhcn.yml) | Chinese (China) | 100% | 100 -[zhhk](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhhk.yml) | Chinese (Hong Kong) | 99% | 99 -[zhmc](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhmc.yml) | Chinese (Macau) | 64% | 64 -[zhtw](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhtw.yml) | Chinese (Taiwan) | 100% | 100 - +| Code | Language | Translated |   | +|------------------------------------------------------------------------------------------------------------|---------------------|-----------:|---------------------------------------------------------------------------| +| [en](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_en.yml) | English | 100% | 100 | +| [bg](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_bg.yml) | Bulgarian | 100% | 100 | +| [br](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_br.yml) | Brazilian | 100% | 100 | +| [cz](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_cz.yml) | Czech | 100% | 100 | +| [de](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_de.yml) | German | 100% | 100 | +| [eo](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_eo.yml) | Esperanto | 100% | 100 | +| [es](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_es.yml) | Spanish | 100% | 100 | +| [et](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_et.yml) | Estonian | 100% | 100 | +| [eu](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_eu.yml) | Basque | 100% | 100 | +| [fi](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_fi.yml) | Finnish | 100% | 100 | +| [fr](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_fr.yml) | French | 100% | 100 | +| [gl](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_gl.yml) | Galician | 100% | 100 | +| [hu](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_hu.yml) | Hungarian | 100% | 100 | +| [id](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_id.yml) | Indonesian | 100% | 100 | +| [it](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_it.yml) | Italian | 100% | 100 | +| [ja](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ja.yml) | Japanese | 100% | 100 | +| [ko](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ko.yml) | Korean | 100% | 100 | +| [lt](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_lt.yml) | Lithuanian | 100% | 100 | +| [nl](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_nl.yml) | Dutch | 100% | 100 | +| [pl](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_pl.yml) | Polish | 100% | 100 | +| [pt](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_pt.yml) | Portuguese | 100% | 100 | +| [ro](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ro.yml) | Romanian | 100% | 100 | +| [ru](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ru.yml) | Russian | 100% | 100 | +| [si](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_si.yml) | Slovenian | 100% | 100 | +| [sk](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_sk.yml) | Slovakian | 100% | 100 | +| [sr](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_sr.yml) | Serbian | 100% | 100 | +| [tr](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_tr.yml) | Turkish | 100% | 100 | +| [uk](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_uk.yml) | Ukrainian | 100% | 100 | +| [vn](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_vn.yml) | Vietnamese | 100% | 100 | +| [zhcn](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhcn.yml) | Chinese (China) | 100% | 100 | +| [zhhk](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhhk.yml) | Chinese (Hong Kong) | 100% | 100 | +| [zhmc](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhmc.yml) | Chinese (Macau) | 100% | 100 | +| [zhtw](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhtw.yml) | Chinese (Taiwan) | 100% | 100 | --- -This page was automatically generated on the [HaHaWTH/AuthMeReReloaded repository](https://github.com/HaHaWTH/AuthMeReReloaded/tree/master/docs/) on Wed Jun 21 12:14:29 CEST 2023 +This page was automatically generated on +the [HaHaWTH/AuthMeReReloaded repository](https://github.com/HaHaWTH/AuthMeReReloaded/tree/master/docs/) on Fri May 31 +22:00:00 CST 2024 diff --git a/src/main/resources/messages/messages_pt.yml b/src/main/resources/messages/messages_pt.yml index 2fd13328..ff8240fe 100644 --- a/src/main/resources/messages/messages_pt.yml +++ b/src/main/resources/messages/messages_pt.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cUtilizador já registado' register_request: '&cPor favor registe-se com "/register "' command_usage: '&cUse: /register ' - reg_only: '&fApenas jogadores registados podem entrar no servidor! Visite http://example.com para se registar' + reg_only: '&fApenas jogadores registados podem entrar no servidor! Visite https://example.com para se registar' success: '&cRegistado com sucesso!' kicked_admin_registered: 'Um administrador registou-te, por favor entre novamente' @@ -20,6 +20,7 @@ password: unsafe_password: '&cA senha escolhida não é segura, por favor, escolha outra ...' forbidden_characters: '&4Sua senha contém caracteres ilegais. Caracteres permitidos: %valid_chars' wrong_length: '&fPassword demasiado curta ou longa! Por favor escolhe outra outra!' + pwned_password: '&cA senha escolhida não é segura. Ela foi usada %pwned_count vezes! Por favor, use uma senha forte...' # Login login: @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&fA sua conta não foi ainda activada, verifique o seu email onde irá receber indicações para activação de conta. ' + not_activated: '&cConta não ativada, por favor, registre-se e ative antes de tentar novamente.' password_changed: '&cPassword alterada!' logout: '&cSaida com sucesso' reload: '&fConfiguração e base de dados foram recarregadas' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Autenticação de duas etapas não está habilitada na sua conta. Digite /2fa add' removed_success: 'Autenticação de duas etapas removida com sucesso da sua conta' invalid_code: 'Codigo invalido!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVerificação bem-sucedida!' + bedrock_auto_verify_success: '&aVerificação do Bedrock bem-sucedida!' + captcha_window_name: '%random Verificação' + captcha_clickable_name: '%random Sou humano' + message_on_retry: '&cVerificação falhou, você tem %times tentativas restantes' + denied_message_sending: '&cPor favor, seja verificado antes de conversar!' + kick_on_failed: '&cPor favor, complete a verificação!' + kick_on_timeout: '&cTempo de verificação esgotado!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aLogin automático no Bedrock bem-sucedido!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aVocê está preso no portal durante o login.' + fix_underground: '&aVocê está preso no subsolo durante o login.' + cannot_fix_underground: '&aVocê está preso no subsolo durante o login, mas não podemos consertar.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cVocê foi desconectado devido a um login duplicado.' diff --git a/src/main/resources/messages/messages_ro.yml b/src/main/resources/messages/messages_ro.yml index 2422f5bf..d809421d 100644 --- a/src/main/resources/messages/messages_ro.yml +++ b/src/main/resources/messages/messages_ro.yml @@ -5,13 +5,13 @@ # Registration registration: - register_request: '&3Te rugam sa te inregistrezi folosind comanda "/register "' - command_usage: '&cFoloseste comanda: /register ' - reg_only: '&4Doar jucatori inregistrati pot intra pe server! Te rugam foloseste http://example.com pentru a te inregistra!' - kicked_admin_registered: 'Un administrator tocmai te-a inregistrat, te rog autentifica-te din nou.' - success: '&2Te-ai inregistrat cu succes!' disabled: '&cInregistrarea in joc nu este activata!' name_taken: '&cCineva este inregistrat cu acest nume!' + register_request: '&3Te rugam sa te inregistrezi folosind comanda "/register "' + command_usage: '&cFoloseste comanda: /register ' + reg_only: '&4Doar jucatori inregistrati pot intra pe server! Te rugam foloseste https://example.com pentru a te inregistra!' + success: '&2Te-ai inregistrat cu succes!' + kicked_admin_registered: 'Un administrator tocmai te-a inregistrat, te rog autentifica-te din nou.' # Password errors on registration password: @@ -20,6 +20,7 @@ password: unsafe_password: '&cParola aleasa nu este sigura. Te rugam sa folosesti alta parola...' forbidden_characters: '&4Parola ta contine caractere nepermise. Caractere permise: %valid_chars' wrong_length: '&cParola ta este prea scurta pentru a te inregistra! Te rugam incearca alta parola!' + pwned_password: '&cParola aleasă nu este sigură. A fost folosită de %pwned_count ori! Vă rugăm să utilizați o parolă puternică...' # Login login: @@ -31,17 +32,17 @@ login: # Errors error: - unregistered_user: '&cAcest jucator nu este inregistrat!' denied_command: '&cPentru a utiliza aceasta comanda trebuie sa fi autentificat!' denied_chat: '&cPentru a utiliza chat-ul trebuie sa fi autentificat!' + unregistered_user: '&cAcest jucator nu este inregistrat!' not_logged_in: '&cNu esti autentificat!' - tempban_max_logins: '&cAi fost banat temporar deoarece ai esuat sa te autentifici de prea multe ori.' - max_registration: '&cAi depasit numarul maxim de inregistrari (%reg_count /%max_acc %reg_names) pentru conexiunea dvs.!' no_permission: '&4Nu ai permisiunea de a efectua aceasta actiune!' unexpected_error: '&4A aparut o eroare, te rugam contacteaza un administrator!' - kick_for_vip: '&3Un VIP a intrat pe server cand era plin!' + max_registration: '&cAi depasit numarul maxim de inregistrari (%reg_count /%max_acc %reg_names) pentru conexiunea dvs.!' logged_in: '&cEsti deja autentificat!' + kick_for_vip: '&3Un VIP a intrat pe server cand era plin!' kick_unresolved_hostname: '&cA aparut o eroare: nume gazda nerezolvat!' + tempban_max_logins: '&cAi fost banat temporar deoarece ai esuat sa te autentifici de prea multe ori.' # AntiBot antibot: @@ -55,51 +56,52 @@ unregister: # Other messages misc: - accounts_owned_self: 'Detii %count conturi:' - accounts_owned_other: 'Jucatorul %name are %count conturi:' account_not_activated: '&cContul tau nu este activat, te rugam verifica-ti email-ul!' + not_activated: '&cContul nu este activat, vă rugăm să vă înregistrați și să îl activați înainte de a încerca din nou.' password_changed: '&2Parola a fost schimbata cu succes!' logout: '&2Te-ai deconectat cu succes!' reload: '&2Configuratiile si baza de date s-au reincarcat corect!' usage_change_password: '&cFoloseste comanda: /changepassword ' + accounts_owned_self: 'Detii %count conturi:' + accounts_owned_other: 'Jucatorul %name are %count conturi:' # Session messages session: - invalid_session: '&cIP-ul tau a fost schimbat si sesiunea ta a expirat!' valid_session: '&2Conectat datorita reconectarii sesiunii.' + invalid_session: '&cIP-ul tau a fost schimbat si sesiunea ta a expirat!' # Error messages when joining on_join_validation: + same_ip_online: 'Un jucator cu acelasi IP este deja in joc!' + same_nick_online: '&4Acelasi nume apartine unui jucator care e deja pe server!' name_length: '&4Numele tau este fie prea scurt, fie prea lung!' characters_in_name: '&4Numele tau contine caractere ilegale. Caractere permise: %valid_chars' + kick_full_server: '&4Server-ul este plin, incearca mai tarziu!' country_banned: '&4Tara ta este interzisa pe acest server!' not_owner_error: 'Tu nu esti detinatorul acestui cont. Te rugam alege alt nume!' - kick_full_server: '&4Server-ul este plin, incearca mai tarziu!' - same_nick_online: '&4Acelasi nume apartine unui jucator care e deja pe server!' invalid_name_case: 'Ar trebui sa intri cu numele %valid, nu %invalid' - same_ip_online: 'Un jucator cu acelasi IP este deja in joc!' quick_command: 'Ai folosit o comanda prea repede! Te rugam, intra din nou pe server si astepta mai mult inainte de a utiliza orice comanda.' # Email email: + add_email_request: '&3Te rugam adaugati email-ul la contul tau folosind comanda "/email add "' usage_email_add: '&cFoloseste comanda: /email add ' usage_email_change: '&cFoloseste comanda: /email change ' new_email_invalid: '&cNoul email este nevalid, incearca din nou!' old_email_invalid: '&cEmail-ul vechi este nevalid, incearca din nou!' invalid: '&cEmail-ul este nevalid, incearca din nou!' added: '&2Email-ul a fost adaugat cu succes la contul tau!' + add_not_allowed: '&cAdaugarea email-ului nu a fost permisa.' request_confirmation: '&cTe rugam sa confirmi adresa ta de email!' changed: '&2Email-ul a fost schimbat cu succes!' + change_not_allowed: '&cModificarea email-ului nu a fost permisa.' email_show: '&2Adresa ta curenta de email este: &f%email' - incomplete_settings: 'Eroare: Nu indeplinesti conditiile trimiterii unui email! Te rugam contacteaza un administrator.' - already_used: '&4Email-ul acesta este deja folosit de altcineva' - send_failure: 'Email-ul nu a putut fi trimis. Ta rugam contactatezi un administrator.' no_email_for_account: '&2Nu ai nici o adresa de email asociata cu acest cont.' - add_email_request: '&3Te rugam adaugati email-ul la contul tau folosind comanda "/email add "' + already_used: '&4Email-ul acesta este deja folosit de altcineva' + incomplete_settings: 'Eroare: Nu indeplinesti conditiile trimiterii unui email! Te rugam contacteaza un administrator.' + send_failure: 'Email-ul nu a putut fi trimis. Ta rugam contactatezi un administrator.' change_password_expired: 'Nu mai iti poti schimba parola folosind aceasta comanda.' email_cooldown_error: '&cAi primit deja un mail pentru schimbarea parolei. Trebuie sa astepti %time inainte de a trimite unul nou.' - add_not_allowed: '&cAdaugarea email-ului nu a fost permisa.' - change_not_allowed: '&cModificarea email-ului nu a fost permisa.' # Password recovery by email recovery: @@ -131,6 +133,17 @@ verification: code_expired: '&3Codul tau a expirat! Executa o alta comanda sensibila pentru a obtine un cod nou!' email_needed: '&3Pentru ati verifica identitatea, trebuie sa conectezi o adresa de email cu contul tau!!' +# Time units +time: + second: 'secunda' + seconds: 'secunde' + minute: 'minut' + minutes: 'minute' + hour: 'ora' + hours: 'ore' + day: 'zi' + days: 'zile' + # Two-factor authentication two_factor: code_created: '&2Codul tau secret este %code. Il poti scana de aici %url' @@ -144,13 +157,27 @@ two_factor: removed_success: 'Eliminare cu succes a autentificarii in doi pasi de pe cont' invalid_code: 'Cod invalid!' -# Time units -time: - second: 'secunda' - seconds: 'secunde' - minute: 'minut' - minutes: 'minute' - hour: 'ora' - hours: 'ore' - day: 'zi' - days: 'zile' +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVerificare reușită!' + bedrock_auto_verify_success: '&aVerificarea Bedrock a fost un succes!' + captcha_window_name: '%random Verificare' + captcha_clickable_name: '%random Sunt un om' + message_on_retry: '&cVerificarea a eșuat, mai aveți %times încercări rămase' + denied_message_sending: '&cVă rugăm să fiți verificați înainte de a discuta!' + kick_on_failed: '&cVă rugăm să finalizați verificarea!' + kick_on_timeout: '&cTimpul de verificare a expirat!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aAutentificare automată Bedrock reușită!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aSunteți blocat în portal în timpul autentificării.' + fix_underground: '&aSunteți blocat sub pământ în timpul autentificării.' + cannot_fix_underground: '&aSunteți blocat sub pământ în timpul autentificării, dar nu putem remedia.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cAți fost deconectat din cauza unei autentificări duble.' diff --git a/src/main/resources/messages/messages_ru.yml b/src/main/resources/messages/messages_ru.yml index cf822763..cb2cf6df 100644 --- a/src/main/resources/messages/messages_ru.yml +++ b/src/main/resources/messages/messages_ru.yml @@ -5,13 +5,13 @@ # Registration registration: - register_request: '&3Регистрация: /reg <пароль> <повтор пароля>' - command_usage: '&cИспользование: /reg <пароль> <повтор пароля>' - reg_only: '&4Вход только для зарегистрированных! Посетите http://сайт_сервера.ru для регистрации.' - kicked_admin_registered: 'Администратор зарегистрировал вас. Авторизуйтесь снова.' - success: '&2Вы успешно зарегистрировались!' disabled: '&cРегистрация отключена.' name_taken: '&cИгрок с таким никнеймом уже зарегистрирован.' + register_request: '&3Регистрация: /reg <пароль> <повтор пароля>' + command_usage: '&cИспользование: /reg <пароль> <повтор пароля>' + reg_only: '&4Вход только для зарегистрированных! Посетите https://сайт_сервера.ru для регистрации.' + success: '&2Вы успешно зарегистрировались!' + kicked_admin_registered: 'Администратор зарегистрировал вас. Авторизуйтесь снова.' # Password errors on registration password: @@ -32,17 +32,17 @@ login: # Errors error: - unregistered_user: '&cИгрок с таким именем не зарегистрирован.' denied_command: '&cНеобходимо авторизоваться для использования этой команды!' denied_chat: '&cНеобходимо авторизоваться, чтобы писать в чат!' + unregistered_user: '&cИгрок с таким именем не зарегистрирован.' not_logged_in: '&cВы ещё не вошли!' - tempban_max_logins: '&cВы временно заблокированы из-за большого количества неудачных попыток авторизоваться.' - max_registration: '&cПревышено максимальное количество регистраций на сервере! (%reg_count/%max_acc %reg_names)' no_permission: '&4Недостаточно прав.' unexpected_error: '&cПроизошла ошибка. Свяжитесь с администратором.' - kick_for_vip: '&3VIP-игрок зашёл на переполненный сервер.' + max_registration: '&cПревышено максимальное количество регистраций на сервере! (%reg_count/%max_acc %reg_names)' logged_in: '&cВы уже авторизированы!' + kick_for_vip: '&3VIP-игрок зашёл на переполненный сервер.' kick_unresolved_hostname: '&cПроизошла ошибка: неразрешенное имя узла игрока!' + tempban_max_logins: '&cВы временно заблокированы из-за большого количества неудачных попыток авторизоваться.' # AntiBot antibot: @@ -56,50 +56,52 @@ unregister: # Other messages misc: - accounts_owned_self: 'У вас %count уч. записей:' - accounts_owned_other: 'У игрока %name %count уч. записей:' account_not_activated: '&cВаша уч. запись ещё не активирована. Проверьте электронную почту!' + not_activated: '&cАккаунт не активирован, пожалуйста, зарегистрируйтесь и активируйте его перед повторной попыткой.' password_changed: '&2Ваш пароль изменён!' + logout: '&2Успешно вышли из системы!' reload: '&6Конфигурация и база данных перезагружены.' usage_change_password: '&cИспользование: /changepassword <пароль> <новый пароль>' + accounts_owned_self: 'У вас %count уч. записей:' + accounts_owned_other: 'У игрока %name %count уч. записей:' # Session messages session: - invalid_session: '&cСессия некорректна. Дождитесь, пока она закончится.' valid_session: '&2Вы автоматически авторизовались!' + invalid_session: '&cСессия некорректна. Дождитесь, пока она закончится.' # Error messages when joining on_join_validation: + same_ip_online: 'Игрок с данным IP-адресом уже играет на сервере!' + same_nick_online: '&4Игрок с данным никнеймом уже играет на сервере!' name_length: '&4Ваш никнейм слишком длинный/короткий.' characters_in_name: '&4Ваш никнейм содержит запрещённые символы. Разрешённые: %valid_chars' + kick_full_server: '&4Сервер полон. Попробуйте зайти позже!' country_banned: '&4Вход с IP-адресов вашей страны запрещён на этом сервере.' not_owner_error: 'Вы не являетесь владельцем данной уч. записи. Выберите себе другой никнейм!' - kick_full_server: '&4Сервер полон. Попробуйте зайти позже!' - same_nick_online: '&4Игрок с данным никнеймом уже играет на сервере!' invalid_name_case: 'Неверный никнейм! Зайдите под никнеймом %valid, а не %invalid.' - same_ip_online: 'Игрок с данным IP-адресом уже играет на сервере!' quick_command: 'Вы вводили команды слишком часто! Пожалуйста, переподключитесь и вводите команды медленнее.' # Email email: + add_email_request: '&3Добавьте электронную почту: /email add <эл. почта> <повтор эл. почты>' usage_email_add: '&cИспользование: /email add <эл. почта> <повтор эл. почты>' usage_email_change: '&cИспользование: /email change <эл. почта> <новая эл. почта>' new_email_invalid: '&cНедействительная новая электронная почта!' old_email_invalid: '&cНедействительная старая электронная почта!' invalid: '&cНедействительный адрес электронной почты!' added: '&2Электронная почта успешно добавлена!' + add_not_allowed: '&cДобавление электронной почты не было разрешено.' request_confirmation: '&cПодтвердите свою электронную почту!' changed: '&2Адрес электронной почты изменён!' + change_not_allowed: '&cИзменение электронной почты не было разрешено.' email_show: '&2Текущий адрес электронной почты — &f%email' - incomplete_settings: 'Ошибка: не все необходимые параметры установлены для отправки электронной почты. Свяжитесь с администратором.' - already_used: '&4Эта электронная почта уже используется.' - send_failure: 'Письмо не может быть отправлено. Свяжитесь в администратором.' no_email_for_account: '&2К вашей уч. записи не привязана электронная почта.' - add_email_request: '&3Добавьте электронную почту: /email add <эл. почта> <повтор эл. почты>' + already_used: '&4Эта электронная почта уже используется.' + incomplete_settings: 'Ошибка: не все необходимые параметры установлены для отправки электронной почты. Свяжитесь с администратором.' + send_failure: 'Письмо не может быть отправлено. Свяжитесь в администратором.' change_password_expired: 'Больше нельзя сменить свой пароль, используя эту команду.' email_cooldown_error: '&cПисьмо было отправлено недавно. Подождите %time, прежде чем отправить новое.' - add_not_allowed: '&cДобавление электронной почты не было разрешено.' - change_not_allowed: '&cИзменение электронной почты не было разрешено.' # Password recovery by email recovery: @@ -131,6 +133,17 @@ verification: code_expired: '&3Срок действия кода истёк! Выполните чувствительную команду, чтобы получить новый код!' email_needed: '&3Чтобы подтвердить вашу личность, необходимо привязать электронную почту к учётной записи!!' +# Time units +time: + second: 'с.' + seconds: 'с.' + minute: 'мин.' + minutes: 'мин.' + hour: 'ч.' + hours: 'ч.' + day: 'дн.' + days: 'дн.' + # Two-factor authentication two_factor: code_created: '&2Ваш секретный код — %code. Просканируйте его здесь: %url' @@ -143,17 +156,6 @@ two_factor: not_enabled_error: 'Двухфакторная аутентификация не включена для вашего аккаунта. Введите /2fa add' removed_success: 'Двухфакторная аутентификация успешно удалена с вашего аккаунта!' invalid_code: 'Неверный код!' - -# Time units -time: - second: 'с.' - seconds: 'с.' - minute: 'мин.' - minutes: 'мин.' - hour: 'ч.' - hours: 'ч.' - day: 'дн.' - days: 'дн.' # 3rd party features: GUI Captcha gui_captcha: diff --git a/src/main/resources/messages/messages_si.yml b/src/main/resources/messages/messages_si.yml index 74bbfe68..f2e09bc8 100644 --- a/src/main/resources/messages/messages_si.yml +++ b/src/main/resources/messages/messages_si.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cTo uporabniško ime ste ze registrirali!' register_request: '&3Registrirajte se z ukazom "/register "' command_usage: '&cUporaba: /register ' - reg_only: '&4Samo registrirani uporabniki se lahko povezejo! Obiscite http://example.com , da se registrirate!' + reg_only: '&4Samo registrirani uporabniki se lahko povezejo! Obiscite https://example.com , da se registrirate!' success: '&2Uspešno registriran!' kicked_admin_registered: 'Administrator vas je registriral; prosimo, da se prijavite.' @@ -20,6 +20,7 @@ password: unsafe_password: '&cIzbrano geslo ni varno, izberite drugo...' forbidden_characters: '&4Vaše geslo vsebuje nedovoljene znake. Dovoljeni znaki: %valid_chars' wrong_length: '&cVaše geslo je prekratko ali predolgo! Poskusite z drugim!' + pwned_password: '&cIzbrano geslo ni varno. Uporabljeno je bilo že %pwned_count krat! Prosimo, uporabite močno geslo...' # Login login: @@ -40,7 +41,7 @@ error: max_registration: '&cPresegli ste največjo stevilo registracij (%reg_count/%max_acc %reg_names) za vašo povezavo!' logged_in: '&cSte že povezani!' kick_for_vip: '&3VIP igralec se je pridruzil serverju, ko je bil poln!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_unresolved_hostname: '&cPrišlo je do napake: ime gostitelja igralca ni razrešeno!' tempban_max_logins: '&cBil si začasno izločen zaradi preveč neuspešnih prijav.' # AntiBot @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&cVas račun se ni aktiviran, preverite e-mail!' + not_activated: '&cRačun ni aktiviran, prosimo, registrirajte se in ga aktivirajte, preden poskusite znova.' password_changed: '&2Geslo uspesno spremenjeno!' logout: '&2Odjavljeni uspesno!' reload: '&2Konfiguracija in baza podatkov sta bila uspesno osvezena!' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Dvo stopična prijava ni vključena za vaš račun. Uporabite /2fa add' removed_success: 'Usprešno ste odstranili dvo stopično prijavo za vaš račun.' invalid_code: 'Nepravilna koda!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aPreverjanje uspešno!' + bedrock_auto_verify_success: '&aPreverjanje Bedrock uspešno!' + captcha_window_name: '%random Preverjanje' + captcha_clickable_name: '%random Sem človek' + message_on_retry: '&cPreverjanje ni uspelo, imate %times preostale poskuse.' + denied_message_sending: '&cPred klepetom morate biti preverjeni!' + kick_on_failed: '&cProsim, dokončajte preverjanje!' + kick_on_timeout: '&cPreverjanje je poteklo!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aSamodejno prijavljanje v Bedrocku uspešno!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aMed prijavo ste obtičali v portalu.' + fix_underground: '&aMed prijavo ste obtičali pod zemljo.' + cannot_fix_underground: '&aMed prijavo ste obtičali pod zemljo, vendar tega ne moremo popraviti.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cBili ste odklopljeni zaradi podvojenega prijave.' diff --git a/src/main/resources/messages/messages_sk.yml b/src/main/resources/messages/messages_sk.yml index ea309e9c..f70123e9 100644 --- a/src/main/resources/messages/messages_sk.yml +++ b/src/main/resources/messages/messages_sk.yml @@ -15,7 +15,7 @@ registration: name_taken: '&cZadané meno je už zaregistrované.' register_request: '&cZaregistruj sa príkazom "/register ".' command_usage: '&cPoužitie: /register ' - reg_only: '&fIba zaregistrovaný hráči sa môžu pripojiť na tento server! Navštív http://example.com pre registráciu.' + reg_only: '&fIba zaregistrovaný hráči sa môžu pripojiť na tento server! Navštív https://example.com pre registráciu.' success: '&cBol si úspešne zaregistrovaný.' kicked_admin_registered: 'Admin ťa zaregistroval. Prosím, prihlás sa znovu.' @@ -26,6 +26,7 @@ password: unsafe_password: '&cTvoje heslo nieje bezpečné. Prosím, zvoľ si iné...' forbidden_characters: '&4Tvoje heslo obsahuje zakázané znaky. Povolené znaky: %valid_chars' wrong_length: '&fHeslo je veľmi krátke alebo veľmi dlhé.' + pwned_password: '&cVaše zvolené heslo nie je bezpečné. Bolo použité %pwned_count krát! Prosím, použite silné heslo...' # Login login: @@ -46,7 +47,7 @@ error: max_registration: '&fPrekročil si maximum registrovaných účtov(%reg_count/%max_acc|%reg_names).' logged_in: '&cAktuálne si už prihlásený!' kick_for_vip: '&3Uvoľnil si miesto pre VIP hráča!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_unresolved_hostname: '&cDošlo k chybe: nerozpoznaný hostname hráča!' tempban_max_logins: '&cBol si dočasne zabanovaný za opakované zadanie zlého hesla.' # AntiBot @@ -63,6 +64,7 @@ unregister: # Other messages misc: account_not_activated: '&fTvoj účet nie je aktivovaný. Prezri si svoj e-mail!' + not_activated: '&cÚčet nie je aktivovaný, prosím, zaregistrujte sa a aktivujte ho pred pokusom o prihlásenie znova.' password_changed: '&cHeslo zmenené!' logout: '&cBol si úspešne odhlásený.' reload: '&fZnovu načítanie konfigurácie a databázy bolo úspešné.' @@ -85,7 +87,7 @@ on_join_validation: country_banned: '&4Tvoja krajina je zabanovaná na tomto serveri!' not_owner_error: 'Nie si majiteľom tohto účtu. Prosím zvoľ si iné meno!' invalid_name_case: 'Mal by si sa pripojiť s nickom %valid, nie %invalid - pozor na veľké a malé písmená.' - # TODO quick_command: 'You used a command too fast! Please, join the server again and wait more before using any command.' + quick_command: 'Príkaz ste použili príliš rýchlo! Prosím, znovu sa pripojte na server a počkajte dlhšie pred použitím akéhokoľvek príkazu.' # Email email: @@ -96,10 +98,10 @@ email: old_email_invalid: '&cNeplatný starý email, skús to znovu!' invalid: '&cNeplatná emailová adresa, skús to znovu!' added: '&2Emailová adresa bola úspešne pridaná k tvojmu účtu!' - # TODO add_not_allowed: '&cAdding email was not allowed' + add_not_allowed: '&cPridanie emailu nebolo povolené.' request_confirmation: '&cProsím potvrď svoju emailovú adresu!' changed: '&2Emailová adresa bola úspešne zmenená!' - # TODO change_not_allowed: '&cChanging email was not allowed' + change_not_allowed: '&cZmena emailu nebola povolená.' email_show: '&2Tvoja súčastná emailová adresa je: &f%email' no_email_for_account: '&2Momentálne nemáš emailovú adresu spojenú s týmto účtom.' already_used: '&4Túto emailovú adresu už niekto používa.' @@ -125,18 +127,18 @@ captcha: usage_captcha: '&3Pre prihlásenie musíš vyriešiť captcha kód, prosím použi príkaz: /captcha %captcha_code' wrong_captcha: '&cNesprávny kód captcha, prosím napíš "/captcha %captcha_code" do chatu!' valid_captcha: '&2Správne si vyriešil captcha kód!' - # TODO captcha_for_registration: 'To register you have to solve a captcha first, please use the command: /captcha %captcha_code' - # TODO register_captcha_valid: '&2Valid captcha! You may now register with /register' + captcha_for_registration: 'Ak sa chcete zaregistrovať, musíte najskôr vyriešiť captcha, prosím, použite príkaz: /captcha %captcha_code' + register_captcha_valid: '&2Platná captcha! Teraz sa môžete zaregistrovať pomocou /register' # Verification code verification: - # TODO code_required: '&3This command is sensitive and requires an email verification! Check your inbox and follow the email''s instructions.' - # TODO command_usage: '&cUsage: /verification ' - # TODO incorrect_code: '&cIncorrect code, please type "/verification " into the chat, using the code you received by email' - # TODO success: '&2Your identity has been verified! You can now execute all commands within the current session!' - # TODO already_verified: '&2You can already execute every sensitive command within the current session!' - # TODO code_expired: '&3Your code has expired! Execute another sensitive command to get a new code!' - # TODO email_needed: '&3To verify your identity you need to link an email address with your account!!' + code_required: '&3Tento príkaz je citlivý a vyžaduje overenie emailom! Skontrolujte svoju schránku a postupujte podľa pokynov v emaile.' + command_usage: '&cPoužitie: /verification ' + incorrect_code: '&cNesprávny kód, prosím, zadajte "/verification " do chatu, pomocou kódu, ktorý ste dostali emailom' + success: '&2Vaša identita bola overená! Teraz môžete vykonávať všetky príkazy v rámci aktuálnej relácie!' + already_verified: '&2Už môžete vykonávať každý citlivý príkaz v rámci aktuálnej relácie!' + code_expired: '&3Váš kód vypršal! Vykonajte ďalší citlivý príkaz na získanie nového kódu!' + email_needed: '&3Na overenie vašej identity potrebujete prepojiť emailovú adresu so svojím účtom!!' # Time units time: @@ -152,12 +154,37 @@ time: # Two-factor authentication two_factor: code_created: '&2Tvoj tajný kód je %code. Môžeš ho oskenovať tu: %url' - # TODO confirmation_required: 'Please confirm your code with /2fa confirm ' - # TODO code_required: 'Please submit your two-factor authentication code with /2fa code ' - # TODO already_enabled: 'Two-factor authentication is already enabled for your account!' - # TODO enable_error_no_code: 'No 2fa key has been generated for you or it has expired. Please run /2fa add' - # TODO enable_success: 'Successfully enabled two-factor authentication for your account' - # TODO enable_error_wrong_code: 'Wrong code or code has expired. Please run /2fa add' - # TODO not_enabled_error: 'Two-factor authentication is not enabled for your account. Run /2fa add' - # TODO removed_success: 'Successfully removed two-factor auth from your account' - # TODO invalid_code: 'Invalid code!' + confirmation_required: 'Prosím, potvrďte svoj kód pomocou /2fa confirm ' + code_required: 'Prosím, zadajte svoj dvojfaktorový autentifikačný kód pomocou /2fa code ' + already_enabled: 'Dvojfaktorová autentifikácia je už pre váš účet povolená!' + enable_error_no_code: 'Nebolo pre vás vygenerované žiadne 2fa kľúč alebo vypršal jeho platnosť. Prosím, použite príkaz /2fa add' + enable_success: 'Dvojfaktorová autentifikácia bola úspešne povolená pre váš účet' + enable_error_wrong_code: 'Nesprávny kód alebo kód vypršal. Prosím, použite príkaz /2fa add' + not_enabled_error: 'Dvojfaktorová autentifikácia nie je pre váš účet povolená. Použite príkaz /2fa add' + removed_success: 'Dvojfaktorová autentifikácia bola úspešne odstránená z vášho účtu' + invalid_code: 'Neplatný kód!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aOverenie úspešné!' + bedrock_auto_verify_success: '&aOverenie Bedrocku úspešné!' + captcha_window_name: '%random Overenie' + captcha_clickable_name: '%random Som človek' + message_on_retry: '&cOverenie zlyhalo, máte %times pokusov zostávajúcich.' + denied_message_sending: '&cPred chatovaním sa prosím overte!' + kick_on_failed: '&cProsím, dokončite overenie!' + kick_on_timeout: '&cOverenie vypršalo!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aAutomatické prihlásenie do Bedrocku úspešné!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aPočas prihlasovania ste uviazli v portáli.' + fix_underground: '&aPočas prihlasovania ste uviazli pod zemou.' + cannot_fix_underground: '&aPočas prihlasovania ste uviazli pod zemou, ale nemôžeme to opraviť.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cBoli ste odpojení kvôli zdvojenému prihláseniu.' diff --git a/src/main/resources/messages/messages_sr.yml b/src/main/resources/messages/messages_sr.yml index b9d343a1..95752e36 100644 --- a/src/main/resources/messages/messages_sr.yml +++ b/src/main/resources/messages/messages_sr.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cKorisnik je već registrovan!' register_request: '&3Molimo Vas, registrujte se na server komandom: /register ' command_usage: '&cUpotreba: /register ' - reg_only: '&4Samo registrovani igrači mogu ući na server! Molimo Vas posetite http://example.com da biste se registrovali!' + reg_only: '&4Samo registrovani igrači mogu ući na server! Molimo Vas posetite https://example.com da biste se registrovali!' success: '&2Uspešno registrovani!' kicked_admin_registered: 'Admin vas je upravo registrovao; molimo Vas uđite ponovo' @@ -20,6 +20,7 @@ password: unsafe_password: '&cIzabrana lozinka nije bezbedna, molimo vas da izaberete drugu...' forbidden_characters: '&4Vaša lozinka sadrži nedozvoljene karaktere. Dozvoljeni karakteri: %valid_chars' wrong_length: '&cVaša lozinka je prekratka ili predugačka! Molimo Vas da probate drugu!' + pwned_password: '&cVaša izabrana lozinka nije sigurna. Već je korišćena %pwned_count puta! Molimo koristite jaku lozinku...' # Login login: @@ -40,7 +41,7 @@ error: max_registration: '&cDostigli ste maksimalan broj registracija (%reg_count/%max_acc %reg_names) za vaše povezivanje!' logged_in: '&cVeć ste ulogovani!' kick_for_vip: '&3VIP igrač je ušao na server dok je bio pun!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_unresolved_hostname: '&cDošlo je do greške: nerešeno ime domaćina igrača!' tempban_max_logins: '&cPrivremeno ste banovani zbog previše pogrešnih pokušaja ulogovanja.' # AntiBot @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&cVaš nalog još uvek nije aktiviran, molimo Vas proverite svoj email!' + not_activated: '&cNalog nije aktiviran, molimo registrujte se i aktivirajte pre nego što pokušate ponovo.' password_changed: '&2Lozinka uspešno promenjena!' logout: '&2Uspešno ste se odlogovali!' reload: '&2Konfiguracija i databaza su uspešno osveženi!' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Dvo-faktorna autentifikacija nije aktivirana za vaš nalog. Kucajte /2fa add' removed_success: 'Uspešno ste uklonili dvo-faktornu autentifikaciju sa vašeg naloga' invalid_code: 'Nevažeći kod!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aVerifikacija uspešna!' + bedrock_auto_verify_success: '&aBedrock verifikacija uspešna!' + captcha_window_name: '%random Verifikacija' + captcha_clickable_name: '%random Ja sam čovek' + message_on_retry: '&cVerifikacija nije uspela, imate još %times pokušaja' + denied_message_sending: '&cMolimo vas da se verifikujete pre nego što šaljete poruke!' + kick_on_failed: '&cMolimo završite verifikaciju!' + kick_on_timeout: '&cVerifikacija je istekla!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aBedrock automatsko prijavljivanje uspešno!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aZaglavljeni ste u portalu tokom prijavljivanja.' + fix_underground: '&aZaglavljeni ste pod zemljom tokom prijavljivanja.' + cannot_fix_underground: '&aZaglavljeni ste pod zemljom tokom prijavljivanja, ali ne možemo to popraviti.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cPrekinuti ste zbog duplog prijavljivanja.' diff --git a/src/main/resources/messages/messages_tr.yml b/src/main/resources/messages/messages_tr.yml index 8c86eebd..08101333 100644 --- a/src/main/resources/messages/messages_tr.yml +++ b/src/main/resources/messages/messages_tr.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cSenin adinda daha once birisi kaydolmus!' register_request: '&3Lutfen kayit komutunu kullanin "/register "' command_usage: '&cKullanim: /register ' - reg_only: '&4Sunucuya kayit sadece internet uzerinden yapilmakta! Lutfen http://ornek.com sitesini kayit icin ziyaret edin!' + reg_only: '&4Sunucuya kayit sadece internet uzerinden yapilmakta! Lutfen https://ornek.com sitesini kayit icin ziyaret edin!' success: '&2Basariyla kaydoldun!' kicked_admin_registered: 'Bir yetkili seni kayit etti; tekrardan giris yap' @@ -20,6 +20,7 @@ password: unsafe_password: '&cSectiginiz sifre guvenli degil, lutfen farkli bir sifre secin...' forbidden_characters: '&4Sifrenizde izin verilmeyen karakterler bulunmakta. Izin verilen karakterler: %valid_chars' wrong_length: '&cSenin sifren ya cok kisa yada cok uzun! Lutfen farkli birsey dene!' + pwned_password: '&cSeçtiğiniz şifre güvenli değil. Zaten %pwned_count kez kullanılmış! Lütfen güçlü bir şifre kullanın...' # Login login: @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&cHeabiniz henuz aktif edilmemis, e-postanizi kontrol edin!' + not_activated: '&cHesap aktif değil, lütfen tekrar denemeden önce kaydolun ve aktif hale getirin.' password_changed: '&2Sifre basariyla degistirildi!' logout: '&2Basariyla cikis yaptin!' reload: '&2Ayarlar ve veritabani yenilendi!' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Iki-faktorlu kimlik dogrulama kodu hesabiniz icin aktif edilmemis. /2fa add komutunu calistirin' removed_success: 'Iki-faktorlu dogrulama hesabinizdan basariyla kaldirilmistir' invalid_code: 'Gecersiz kod!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aDoğrulama başarılı!' + bedrock_auto_verify_success: '&aBedrock doğrulaması başarılı!' + captcha_window_name: '%random Doğrulama' + captcha_clickable_name: '%random İnsanım' + message_on_retry: '&cDoğrulama başarısız, %times deneme hakkınız kaldı' + denied_message_sending: '&cLütfen mesaj göndermeden önce doğrulama yapın!' + kick_on_failed: '&cLütfen doğrulamayı tamamlayın!' + kick_on_timeout: '&cDoğrulama zaman aşımına uğradı!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aBedrock otomatik giriş başarılı!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aGiriş sırasında portalda sıkıştınız.' + fix_underground: '&aGiriş sırasında yeraltında sıkıştınız.' + cannot_fix_underground: '&aGiriş sırasında yeraltında sıkıştınız, ancak bunu düzeltemiyoruz.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cÇifte giriş nedeniyle bağlantınız kesildi.' diff --git a/src/main/resources/messages/messages_uk.yml b/src/main/resources/messages/messages_uk.yml index 8e406f2c..4e585f72 100644 --- a/src/main/resources/messages/messages_uk.yml +++ b/src/main/resources/messages/messages_uk.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cТакий нікнейм вже зареєстровано.' register_request: '&3Перш ніж почати гру, вам потрібно зареєструвати свій нікнейм!%nl%&3Для цього просто введіть команду "/register <пароль> <повторПароля>"' command_usage: '&cСинтаксис: /register <пароль> <повторПароля>' - reg_only: '&4Лише зареєстровані гравці можуть підключатись до сервера!%nl%&4Будь ласка, відвідайте http://example.com для реєстрації.' + reg_only: '&4Лише зареєстровані гравці можуть підключатись до сервера!%nl%&4Будь ласка, відвідайте https://example.com для реєстрації.' success: '&2Реєстрація пройшла успішно!' kicked_admin_registered: 'Адміністратор вас зареєстрував; Будь ласка, авторизуйтесь знову!' @@ -20,6 +20,7 @@ password: unsafe_password: '&cЦей пароль надто простий! Будь ласка, придумайте інакший...' forbidden_characters: '&4Ваш пароль містить недопустимі символи. Підберіть інакший...%nl%&4(Reg-ex: %valid_chars)' wrong_length: '&cВаш пароль надто короткий або надто довгий! Спробуйте інакший...' + pwned_password: '&cВаш вибраний пароль небезпечний. Він вже використовувався %pwned_count разів! Будь ласка, використовуйте надійний пароль...' # Login login: @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&cВаш акаунт ще не активовано. Будь ласка, провірте свою електронну пошту!' + not_activated: '&cАкаунт не активовано, будь ласка, зареєструйтесь і активуйте його перед повторною спробою.' password_changed: '&2Пароль успішно змінено!' logout: '&2Ви вийшли зі свого акаунта!' reload: '&2Конфігурації та базу даних було успішно перезавантажено!' @@ -76,7 +78,7 @@ on_join_validation: name_length: '&4Ваш нікнейм надто короткий або надто довгий!' characters_in_name: '&4Ваш нікнейм містить недопустимі символи! Reg-ex: %valid_chars' kick_full_server: '&4Сервер переповнено! Доведеться зачекати доки хтось вийде.' - country_banned: '&4Your country is banned from this server!' + country_banned: '&4Ваша країна заборонена на цьому сервері!' not_owner_error: 'Цей акаунт вам не належить! Будь ласка, оберіть інакший нікнейм!' invalid_name_case: 'Регістр у вашому нікнеймі відрізняється від регістру при реєстрації.%nl%Поточний регістр: &c%invalid&f. Валідний регістр: &a%valid&f.%nl%Будь ласка, перезайдіть з валідним регістром!' quick_command: 'Ви занадто швидко використовували команду! Будь ласка, приєднайтесь знову до сервера і почекайте, перш ніж використовувати будь-яку команду.' @@ -155,3 +157,28 @@ two_factor: not_enabled_error: 'Двофакторна аутентифікація не включена для вашого акаунту. Використовуйте: /2fa add' removed_success: 'Двофакторну авторизацію успішно видалено з вашого акаунту' invalid_code: 'Невірний код!' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aВерифікація успішна!' + bedrock_auto_verify_success: '&aВерифікація Bedrock успішна!' + captcha_window_name: '%random Верифікація' + captcha_clickable_name: '%random Я людина' + message_on_retry: '&cВерифікація не вдалася, у вас залишилось %times спроб' + denied_message_sending: '&cБудь ласка, пройдіть верифікацію перед відправленням повідомлень!' + kick_on_failed: '&cБудь ласка, завершіть верифікацію!' + kick_on_timeout: '&cЧас верифікації вийшов!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aАвтоматичний вхід Bedrock успішний!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aВи застрягли в порталі під час входу.' + fix_underground: '&aВи застрягли під землею під час входу.' + cannot_fix_underground: '&aВи застрягли під землею під час входу, але ми не можемо це виправити.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cВас відключено через подвійний вхід.' diff --git a/src/main/resources/messages/messages_vn.yml b/src/main/resources/messages/messages_vn.yml index 17895d01..b9a7d17e 100644 --- a/src/main/resources/messages/messages_vn.yml +++ b/src/main/resources/messages/messages_vn.yml @@ -9,7 +9,7 @@ registration: name_taken: '&cTài khoản này đã được đăng ký!' register_request: '&2Xin vui lòng đăng ký tài khoản với lệnh "/register "' command_usage: '&cSử dụng: /register ' - reg_only: '&4Chỉ có thành viên mới có thể tham gia máy chủ, vui lòng truy cập trang web http://example.com để đăng ký thành viên!' + reg_only: '&4Chỉ có thành viên mới có thể tham gia máy chủ, vui lòng truy cập trang web https://example.com để đăng ký thành viên!' success: '&2Đăng ký thành công!' kicked_admin_registered: 'Một quản trị viên đã đăng ký cho bạn; vui lòng đăng nhập lại' @@ -20,6 +20,7 @@ password: unsafe_password: '&cMật khẩu của bạn vừa đặt không an toàn, vui lòng đặt lại...' forbidden_characters: '&4Mật khẩu của bạn chứa ký tự không hợp lệ. Các ký tự cho phép: %valid_chars' wrong_length: '&cMật khẩu của bạn đặt quá dài hoặc quá ngắn, vui lòng đặt lại!' + pwned_password: '&cMật khẩu bạn chọn không an toàn. Nó đã được sử dụng %pwned_count lần! Vui lòng sử dụng mật khẩu mạnh...' # Login login: @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&cTài khoản của bạn chưa được kích hoạt, vui lòng kiểm tra email!' + not_activated: '&cTài khoản chưa được kích hoạt, vui lòng đăng ký và kích hoạt trước khi thử lại.' password_changed: '&2Thay đổi mật khẩu thành công!' logout: '&2Bạn đã đăng xuất!' reload: '&2Cấu hình và cơ sở dử liệu đã được tải lại thành công!' @@ -156,3 +158,27 @@ two_factor: removed_success: 'Đã thành công tắt xác thực 2 lớp khỏi tài khoản của bạn' invalid_code: 'Mã xác thực không hợp lệ!' +# 3rd party features: GUI Captcha +gui_captcha: + success: '&aXác minh thành công!' + bedrock_auto_verify_success: '&aXác minh Bedrock thành công!' + captcha_window_name: '%random Xác minh' + captcha_clickable_name: '%random Tôi là người' + message_on_retry: '&cXác minh thất bại, bạn còn %times lần thử' + denied_message_sending: '&cVui lòng xác minh trước khi trò chuyện!' + kick_on_failed: '&cVui lòng hoàn thành xác minh!' + kick_on_timeout: '&cThời gian xác minh đã hết!' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: '&aĐăng nhập tự động Bedrock thành công!' + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&aBạn bị kẹt trong cổng khi đăng nhập.' + fix_underground: '&aBạn bị kẹt dưới lòng đất khi đăng nhập.' + cannot_fix_underground: '&aBạn bị kẹt dưới lòng đất khi đăng nhập, nhưng chúng tôi không thể khắc phục điều này.' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&cBạn đã bị ngắt kết nối do đăng nhập đôi.' diff --git a/src/main/resources/messages/messages_zhhk.yml b/src/main/resources/messages/messages_zhhk.yml index 399982fc..ea3704ff 100644 --- a/src/main/resources/messages/messages_zhhk.yml +++ b/src/main/resources/messages/messages_zhhk.yml @@ -23,6 +23,7 @@ password: unsafe_password: '&8[&6用戶系統&8] &c這個密碼太不安全了 !' forbidden_characters: '&8[&6用戶系統&8] &4密碼字符只能含有這些喔:%valid_chars' wrong_length: '&8[&6用戶系統&8] &f嗯... 你的密碼並不符合規定長度。' + pwned_password: '&8[&6用戶系統&8] &c你使用的密碼並不安全。它已經被使用了 %pwned_count 次! 請使用一個更強大的密碼...' # Login login: @@ -42,8 +43,8 @@ error: unexpected_error: '&8[&6用戶系統&8] &f發生錯誤,請與管理員聯絡。' max_registration: '&8[&6用戶系統&8] &f你的IP地址已達到註冊數上限。 &7(info: %reg_count/%max_acc %reg_names)' logged_in: '&8[&6用戶系統&8] &c你已經登入過了。' - kick_for_vip: '&c喔 !因為有VIP玩家登入了伺服器。' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_for_vip: '&8[&6用戶系統&8] &c喔 !因為有VIP玩家登入了伺服器。' + kick_unresolved_hostname: '&8[&6用戶系統&8] &c發生了一個錯誤: 無法解析玩家的主機名' tempban_max_logins: '&8[&6用戶系統&8] &c因為多次登入失敗,你已被暫時封禁。' # AntiBot @@ -60,6 +61,7 @@ unregister: # Other messages misc: account_not_activated: '&8[&6用戶系統&8] &f你的帳戶還沒有經過電郵驗證 !' + not_activated: '&8[&6用戶系統&8] &c賬戶未激活,請註冊激活後再次嘗試.' password_changed: '&8[&6用戶系統&8] &c你成功更換了你的密碼 !' logout: '&8[&6用戶系統&8] &b你成功登出了。' reload: '&8[&6用戶系統&8] &b登入系統設定及資料庫重新載入完畢。' @@ -158,3 +160,28 @@ two_factor: not_enabled_error: '&8[&6用戶系統&8] &c你的帳戶尚未啓用兩步驗證功能 ! &f你可以使用指令《 /2fa add 》以啓用此功能。' removed_success: '&8[&6用戶系統&8] &2你已成功關閉兩步驗證功能;&c為保障帳戶安全,請儘快於可行的情況下重新啟用本功能。' invalid_code: '&8[&6用戶系統&8] &c無效的兩步驗證碼 !' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&a*** 驗證完成 ***' + bedrock_auto_verify_success: '&a*** 基岩版自動驗證完成 ***' + captcha_window_name: '&k%random&r&n請驗證你是真人' + captcha_clickable_name: '&k%random&r&n我是真人' + message_on_retry: '&8[&6用戶系統&8] &c驗證失敗,你還有 %times 次機會' + denied_message_sending: '&8[&6用戶系統&8] &c請先完成驗證再聊天!' + kick_on_failed: '&8[&6用戶系統&8] &c請先完成驗證!' + kick_on_timeout: '&8[&6用戶系統&8] &c驗證超時' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: "&8[&6用戶系統&8] &a基岩版自動登錄完成" + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&8[&6用戶系統&8] &a你在登錄時卡在了地獄門, 現已修正' + fix_underground: '&8[&6用戶系統&8] &a你被埋住了, 坐標已修正, 下次下線之前請小心!' + cannot_fix_underground: '&8[&6用戶系統&8] &a你被埋住了, 坐標無法修正, 只好送你去了最高點, 自求多福吧少年~' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&8[&6用戶系統&8] &a已修復幽靈玩家, 請重新進入' diff --git a/src/main/resources/messages/messages_zhmc.yml b/src/main/resources/messages/messages_zhmc.yml index 67897122..b4ff675b 100644 --- a/src/main/resources/messages/messages_zhmc.yml +++ b/src/main/resources/messages/messages_zhmc.yml @@ -9,7 +9,7 @@ registration: name_taken: '&c您已經註冊此用戶名!' register_request: '&3[請先注冊] 請按T , 然後輸入 "/register [你的密碼] [重覆確認你的密碼]" 來注冊。' command_usage: '&c使用方法: 輸入"/register [你的密碼] [重覆確認你的密碼]"' - reg_only: '&4只有註冊用戶才能加入服務器! 請訪問http://example.com註冊!' + reg_only: '&4只有註冊用戶才能加入服務器! 請訪問https://example.com註冊!' success: '&2已成功註冊!' kicked_admin_registered: '管理員剛剛註冊了您; 請重新登錄。' @@ -20,6 +20,7 @@ password: unsafe_password: '&c所選的你的密碼並不安全的,請選擇另一個...' forbidden_characters: '&4您的密碼含有非法字符。允許的字符:%valid_chars' wrong_length: '&c你的密碼太短或太長!請嘗試另一個!' + pwned_password: '&c你使用的密碼並不安全。它已經被使用了 %pwned_count 次! 請使用一個更強大的密碼...' # Login login: @@ -40,7 +41,7 @@ error: max_registration: '&c您已超過註冊的最大數量(%reg_count/%max_acc %reg_names)!' logged_in: '&c您已經登錄!' kick_for_vip: '&3一名VIP玩家在服務器已滿時已加入伺服器!' - # TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' + kick_unresolved_hostname: '&c發生了一個錯誤: 無法解析玩家的主機名' tempban_max_logins: '&c由於登錄失敗次數過多,您已被暫時禁止。' # AntiBot @@ -57,6 +58,7 @@ unregister: # Other messages misc: account_not_activated: '&c你的帳戶未激活,請確認電郵!' + not_activated: '&c賬戶未激活,請註冊激活後再次嘗試.' password_changed: '&2密碼已更變!' logout: '&2已成功註銷!' reload: '&2伺服器已正確地被重新加載配置和數據庫!' @@ -79,7 +81,7 @@ on_join_validation: country_banned: '&4您的國家/地區已被禁止使用此伺服器!' not_owner_error: '您不是此帳戶的所有者。 請選擇其他名稱!' invalid_name_case: '您應該使用用戶名 %valid 而不是 %invalid 來加入。' - # TODO quick_command: 'You used a command too fast! Please, join the server again and wait more before using any command.' + quick_command: '&c您發送命令的速度太快了,請重新加入伺服器等待一會後再使用命令' # Email email: @@ -90,17 +92,17 @@ email: old_email_invalid: '&c舊電子郵件地址無效,請重試!' invalid: '&c電子郵件地址無效,請重試!' added: '&2電子郵件地址已成功添加到您的帳戶!' - # TODO add_not_allowed: '&cAdding email was not allowed' + add_not_allowed: '&c伺服器不允許添加電子郵箱' request_confirmation: '&c請確認你的電郵地址!' changed: '&2已正確地更改電子郵件地址!' - # TODO change_not_allowed: '&cChanging email was not allowed' - # TODO email_show: '&2Your current email address is: &f%email' - # TODO no_email_for_account: '&2You currently don''t have email address associated with this account.' + change_not_allowed: '&c伺服器不允許修改郵箱地址' + email_show: '&a該賬戶使用的電子郵箱為: &a%email' + no_email_for_account: '&c當前並沒有任何郵箱與該賬戶綁定' already_used: '&4此電子郵件地址已被使用' incomplete_settings: '缺少必要的配置來為發送電子郵件。請聯繫管理員。' - # TODO send_failure: 'The email could not be sent. Please contact an administrator.' - # TODO change_password_expired: 'You cannot change your password using this command anymore.' - # TODO email_cooldown_error: '&cAn email was already sent recently. You must wait %time before you can send a new one.' + send_failure: '&c郵件已被作廢,請檢查您的郵箱是否正常工作.' + change_password_expired: '&c您不能使用此命令更改密碼' + email_cooldown_error: '&c您需要等待 %time 後才能再次請求發送' # Password recovery by email recovery: @@ -110,48 +112,73 @@ recovery: code: code_sent: '已將重設密碼的恢復代碼發送到您的電子郵件。' incorrect: '恢復代碼錯誤!使用指令: "/email recovery [電郵地址]" 生成新的一個恢復代碼。' - # TODO tries_exceeded: 'You have exceeded the maximum number attempts to enter the recovery code. Use "/email recovery [email]" to generate a new one.' - # TODO correct: 'Recovery code entered correctly!' - # TODO change_password: 'Please use the command /email setpassword to change your password immediately.' + tries_exceeded: '&a您已經達到輸入驗證碼次數的最大允許次數.' + correct: '&a*** 驗證通過 ***' + change_password: '&c請使用 /email setpassword <新密碼> 立即設置新的密碼' # Captcha captcha: usage_captcha: '&3T要登錄您必須使用captcha驗證碼,請使用命令: "/captcha %captcha_code"' wrong_captcha: '&c驗證碼錯誤!請按T在聊天中輸入 "/captcha %captcha_code"' valid_captcha: '&2驗證碼正確!' - # TODO captcha_for_registration: 'To register you have to solve a captcha first, please use the command: /captcha %captcha_code' - # TODO register_captcha_valid: '&2Valid captcha! You may now register with /register' + captcha_for_registration: '&7請輸入 /captcha %captcha_code 來驗證操作.' + register_captcha_valid: '&a驗證通過, 現在可以使用 /register 註冊啦!' # Verification code verification: - # TODO code_required: '&3This command is sensitive and requires an email verification! Check your inbox and follow the email''s instructions.' - # TODO command_usage: '&cUsage: /verification ' - # TODO incorrect_code: '&cIncorrect code, please type "/verification " into the chat, using the code you received by email' - # TODO success: '&2Your identity has been verified! You can now execute all commands within the current session!' - # TODO already_verified: '&2You can already execute every sensitive command within the current session!' - # TODO code_expired: '&3Your code has expired! Execute another sensitive command to get a new code!' - # TODO email_needed: '&3To verify your identity you need to link an email address with your account!!' + code_required: '&a*** 已發送驗證郵件 ***' + command_usage: '&c使用方法:/verification <驗證碼>' + incorrect_code: '&c錯誤的驗證碼.' + success: '&a*** 驗證通過 ***' + already_verified: '&a您已經通過驗證' + code_expired: '&c驗證碼已失效' + email_needed: '&c郵箱未綁定' # Time units time: - # TODO second: 'second' - # TODO seconds: 'seconds' - # TODO minute: 'minute' - # TODO minutes: 'minutes' - # TODO hour: 'hour' - # TODO hours: 'hours' - # TODO day: 'day' - # TODO days: 'days' + second: '秒' + seconds: '秒' + minute: '分' + minutes: '分' + hour: '時' + hours: '時' + day: '天' + days: '天' # Two-factor authentication two_factor: code_created: '&2您的密碼是 %code。您可以從這裡掃描 %url' - # TODO confirmation_required: 'Please confirm your code with /2fa confirm ' - # TODO code_required: 'Please submit your two-factor authentication code with /2fa code ' - # TODO already_enabled: 'Two-factor authentication is already enabled for your account!' - # TODO enable_error_no_code: 'No 2fa key has been generated for you or it has expired. Please run /2fa add' - # TODO enable_success: 'Successfully enabled two-factor authentication for your account' - # TODO enable_error_wrong_code: 'Wrong code or code has expired. Please run /2fa add' - # TODO not_enabled_error: 'Two-factor authentication is not enabled for your account. Run /2fa add' - # TODO removed_success: 'Successfully removed two-factor auth from your account' - # TODO invalid_code: 'Invalid code!' + confirmation_required: '&7請輸入“/totp confirm <驗證碼>”來確認啟動雙重驗證' + code_required: '&c請輸入“/totp code <驗證碼>”來提交驗證碼' + already_enabled: '&a雙重驗證已啟用' + enable_error_no_code: '&c驗證碼丟失' + enable_success: '&a已成功啟用雙重驗證' + enable_error_wrong_code: '&c驗證碼錯誤或者已經過期,請重新執行“/totp add”' + not_enabled_error: '&c雙重驗證未在您的賬號上啟用,請使用“/totp add”來啟用' + removed_success: '&c雙重驗證已從您的賬號上禁用' + invalid_code: '&c無效的驗證碼' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&a*** 驗證完成 ***' + bedrock_auto_verify_success: '&a*** 基岩版自動驗證完成 ***' + captcha_window_name: '&k%random&r&n請驗證你是真人' + captcha_clickable_name: '&k%random&r&n我是真人' + message_on_retry: '&c驗證失敗,你還有 %times 次機會' + denied_message_sending: '&c請先完成驗證再聊天!' + kick_on_failed: '&c請先完成驗證!' + kick_on_timeout: '&c驗證超時' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: "&a基岩版自動登錄完成" + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&a你在登錄時卡在了地獄門, 現已修正' + fix_underground: '&a你被埋住了, 坐標已修正, 下次下線之前請小心!' + cannot_fix_underground: '&a你被埋住了, 坐標無法修正, 只好送你去了最高點, 自求多福吧少年~' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&a已修復幽靈玩家, 請重新進入' diff --git a/src/main/resources/messages/messages_zhtw.yml b/src/main/resources/messages/messages_zhtw.yml index 104839ad..0ca42179 100644 --- a/src/main/resources/messages/messages_zhtw.yml +++ b/src/main/resources/messages/messages_zhtw.yml @@ -22,6 +22,7 @@ password: unsafe_password: '&b【AuthMe】&6您不可以使用這個不安全的密碼!' forbidden_characters: '&b【AuthMe】&c密碼包含非法字符,可使用:%valid_chars' wrong_length: '&b【AuthMe】&6您的密碼 超過最大字數 / 小於最小字數' + pwned_password: '&b【AuthMe】&c你使用的密碼並不安全。它已經被使用了 %pwned_count 次! 請使用一個更強大的密碼...' # Login login: @@ -59,6 +60,7 @@ unregister: # Other messages misc: account_not_activated: '&b【AuthMe】&6您的帳號還沒有經過驗證!檢查看看您的電子郵件 (Email) 吧!' + not_activated: '&b【AuthMe】&c賬戶未激活,請註冊激活後再次嘗試.' password_changed: '&b【AuthMe】&6密碼變更成功!' logout: '&b【AuthMe】&6您已成功登出。' reload: '&b【AuthMe】&6已重新讀取設定檔及資料庫。' @@ -157,3 +159,28 @@ two_factor: not_enabled_error: '&b【AuthMe】&6雙重驗證尚未開啟,使用 /2fa add 來開啟。' removed_success: '&b【AuthMe】&6雙重驗證已成功移除!' invalid_code: '&b【AuthMe】&c驗證碼錯誤。' + +# 3rd party features: GUI Captcha +gui_captcha: + success: '&a*** 驗證完成 ***' + bedrock_auto_verify_success: '&a*** 基岩版自動驗證完成 ***' + captcha_window_name: '&k%random&r&n請驗證你是真人' + captcha_clickable_name: '&k%random&r&n我是真人' + message_on_retry: '&b【AuthMe】&c驗證失敗,你還有 %times 次機會' + denied_message_sending: '&b【AuthMe】&c請先完成驗證再聊天!' + kick_on_failed: '&b【AuthMe】&c請先完成驗證!' + kick_on_timeout: '&b【AuthMe】&c驗證超時' + +# 3rd party features: Bedrock Auto Login +bedrock_auto_login: + success: "&b【AuthMe】&a基岩版自動登錄完成" + +# 3rd party features: Login Location Fix +login_location_fix: + fix_portal: '&b【AuthMe】&a你在登錄時卡在了地獄門, 現已修正' + fix_underground: '&b【AuthMe】&a你被埋住了, 坐標已修正, 下次下線之前請小心!' + cannot_fix_underground: '&b【AuthMe】&a你被埋住了, 坐標無法修正, 只好送你去了最高點, 自求多福吧少年~' + +# 3rd party features: Double Login Fix +double_login_fix: + fix_message: '&b【AuthMe】&a已修復幽靈玩家, 請重新進入' From 32ed70f09989cd22ccc5ae891bfb6488c72373f2 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Sun, 2 Jun 2024 18:59:27 +0800 Subject: [PATCH 21/25] Use Protocollib to get locale packet for lower server version (< 1.15.2) --- .../I18NGetLocalePacketAdapter.java | 36 ++++++++++++++++++ .../protocollib/ProtocolLibService.java | 23 +++++++++++ .../settings/properties/PluginSettings.java | 3 +- src/main/java/fr/xephi/authme/util/Utils.java | 2 +- .../xephi/authme/util/message/I18NUtils.java | 38 +++++++++++-------- 5 files changed, 84 insertions(+), 18 deletions(-) create mode 100644 src/main/java/fr/xephi/authme/listener/protocollib/I18NGetLocalePacketAdapter.java diff --git a/src/main/java/fr/xephi/authme/listener/protocollib/I18NGetLocalePacketAdapter.java b/src/main/java/fr/xephi/authme/listener/protocollib/I18NGetLocalePacketAdapter.java new file mode 100644 index 00000000..60148ba5 --- /dev/null +++ b/src/main/java/fr/xephi/authme/listener/protocollib/I18NGetLocalePacketAdapter.java @@ -0,0 +1,36 @@ +package fr.xephi.authme.listener.protocollib; + +import com.comphenix.protocol.PacketType; +import com.comphenix.protocol.ProtocolLibrary; +import com.comphenix.protocol.events.ListenerPriority; +import com.comphenix.protocol.events.PacketAdapter; +import com.comphenix.protocol.events.PacketEvent; +import fr.xephi.authme.AuthMe; +import fr.xephi.authme.util.message.I18NUtils; + +import java.util.UUID; + +class I18NGetLocalePacketAdapter extends PacketAdapter { + + I18NGetLocalePacketAdapter(AuthMe plugin) { + super(plugin, ListenerPriority.NORMAL, PacketType.Play.Client.SETTINGS); + } + + @Override + public void onPacketReceiving(PacketEvent event) { + if (event.getPacketType() == PacketType.Play.Client.SETTINGS) { + String locale = event.getPacket().getStrings().read(0).toLowerCase(); + UUID uuid = event.getPlayer().getUniqueId(); + + I18NUtils.addLocale(uuid, locale); + } + } + + public void register() { + ProtocolLibrary.getProtocolManager().addPacketListener(this); + } + + public void unregister() { + ProtocolLibrary.getProtocolManager().removePacketListener(this); + } +} diff --git a/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java b/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java index 02407757..60fabc09 100644 --- a/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java +++ b/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java @@ -9,7 +9,9 @@ import fr.xephi.authme.initialization.SettingsDependent; import fr.xephi.authme.output.ConsoleLoggerFactory; import fr.xephi.authme.service.BukkitService; import fr.xephi.authme.settings.Settings; +import fr.xephi.authme.settings.properties.PluginSettings; import fr.xephi.authme.settings.properties.RestrictionSettings; +import fr.xephi.authme.util.Utils; import org.bukkit.entity.Player; import javax.inject.Inject; @@ -22,10 +24,12 @@ public class ProtocolLibService implements SettingsDependent { /* Packet Adapters */ private InventoryPacketAdapter inventoryPacketAdapter; private TabCompletePacketAdapter tabCompletePacketAdapter; + private I18NGetLocalePacketAdapter i18nGetLocalePacketAdapter; /* Settings */ private boolean protectInvBeforeLogin; private boolean denyTabCompleteBeforeLogin; + private boolean i18nMessagesSending; /* Service */ private boolean isEnabled; @@ -58,6 +62,10 @@ public class ProtocolLibService implements SettingsDependent { logger.warning("WARNING! The denyTabComplete feature requires ProtocolLib! Disabling it..."); } + if (i18nMessagesSending) { + logger.warning("WARNING! The i18n Messages feature requires ProtocolLib on lower version (< 1.15.2)! Disabling it..."); + } + this.isEnabled = false; return; } @@ -84,6 +92,16 @@ public class ProtocolLibService implements SettingsDependent { tabCompletePacketAdapter = null; } + if (i18nMessagesSending) { + if (i18nGetLocalePacketAdapter == null) { + i18nGetLocalePacketAdapter = new I18NGetLocalePacketAdapter(plugin); + i18nGetLocalePacketAdapter.register(); + } + } else if (i18nGetLocalePacketAdapter != null) { + i18nGetLocalePacketAdapter.unregister(); + i18nGetLocalePacketAdapter = null; + } + this.isEnabled = true; } @@ -101,6 +119,10 @@ public class ProtocolLibService implements SettingsDependent { tabCompletePacketAdapter.unregister(); tabCompletePacketAdapter = null; } + if (i18nGetLocalePacketAdapter != null) { + i18nGetLocalePacketAdapter.unregister(); + i18nGetLocalePacketAdapter = null; + } } /** @@ -120,6 +142,7 @@ public class ProtocolLibService implements SettingsDependent { this.protectInvBeforeLogin = settings.getProperty(RestrictionSettings.PROTECT_INVENTORY_BEFORE_LOGIN); this.denyTabCompleteBeforeLogin = settings.getProperty(RestrictionSettings.DENY_TABCOMPLETE_BEFORE_LOGIN); + this.i18nMessagesSending = settings.getProperty(PluginSettings.I18N_MESSAGES) && Utils.majorVersion <= 15; //it was true and will be deactivated now, so we need to restore the inventory for every player if (oldProtectInventory && !protectInvBeforeLogin && inventoryPacketAdapter != null) { diff --git a/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java b/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java index 7a98862a..3a2eca41 100644 --- a/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java +++ b/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java @@ -21,7 +21,8 @@ public final class PluginSettings implements SettingsHolder { @Comment({ "Send i18n messages to player based on their client settings, this option will override `settings.messagesLanguage`", - "This will not affect language of authme help command." + "(Requires Protocollib if server version under 1.15.2)", + "This will not affect language of AuthMe help command." }) public static final Property I18N_MESSAGES = newProperty("3rdPartyFeature.features.i18nMessages.enabled", false); diff --git a/src/main/java/fr/xephi/authme/util/Utils.java b/src/main/java/fr/xephi/authme/util/Utils.java index 565780ea..f3322059 100644 --- a/src/main/java/fr/xephi/authme/util/Utils.java +++ b/src/main/java/fr/xephi/authme/util/Utils.java @@ -115,5 +115,5 @@ public final class Utils { private final static int mcFirstVersion = Integer.parseInt(serverVersion[0]); public final static int majorVersion = Integer.parseInt(serverVersion[1]); - public final static int minorVersion = Integer.parseInt(serverVersion[2]); + public final static int minorVersion = serverVersion.length == 3 ? Integer.parseInt(serverVersion[2]) : 0; } diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index b8f11ba1..4883a0f0 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -5,15 +5,16 @@ import fr.xephi.authme.settings.properties.PluginSettings; import fr.xephi.authme.util.Utils; import org.bukkit.entity.Player; -import java.lang.reflect.Method; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; public class I18NUtils { - private static Method spigotGetLocale; + private static Map PLAYER_LOCALE = new ConcurrentHashMap<>(); private static final Map LOCALE_MAP = new HashMap<>(); private static final List LOCALE_LIST = Arrays.asList( "en", "bg", "de", "eo", "es", "et", "eu", "fi", "fr", "gl", "hu", "id", "it", "ja", "ko", "lt", "nl", "pl", @@ -21,13 +22,6 @@ public class I18NUtils { ); static { - try { - spigotGetLocale = Player.Spigot.class.getMethod("getLocale"); - spigotGetLocale.setAccessible(true); - } catch (NoSuchMethodException e) { - spigotGetLocale = null; - } - LOCALE_MAP.put("pt_br", "br"); LOCALE_MAP.put("cs_cz", "cz"); LOCALE_MAP.put("nds_de", "de"); @@ -40,7 +34,7 @@ public class I18NUtils { LOCALE_MAP.put("zh_cn", "zhcn"); LOCALE_MAP.put("zh_hk", "zhhk"); LOCALE_MAP.put("zh_tw", "zhtw"); - // LOCALE_MAP.put("zhmc", "zhmc"); + //LOCALE_MAP.put("zhmc", "zhmc"); } /** @@ -49,18 +43,30 @@ public class I18NUtils { * @param player The player */ public static String getLocale(Player player) { - if (Utils.majorVersion >= 12) { + if (Utils.majorVersion > 15) { return player.getLocale().toLowerCase(); } else { - try { - return ((String) spigotGetLocale.invoke(player.spigot())).toLowerCase(); - } catch (Exception e) { - e.printStackTrace(); - return null; + long startTime = System.currentTimeMillis(); + for (;;) { + if (PLAYER_LOCALE.containsKey(player.getUniqueId())) { + return PLAYER_LOCALE.get(player.getUniqueId()); + } + + if (System.currentTimeMillis() - startTime > 3000) { + return null; + } } } } + public static void addLocale(UUID uuid, String locale) { + if (PLAYER_LOCALE == null) { + PLAYER_LOCALE = new ConcurrentHashMap<>(); + } + + PLAYER_LOCALE.put(uuid, locale); + } + /** * Returns the AuthMe messages file language code, by given locale and settings. * Dreeam - Hard mapping, based on mc1.20.6, 5/29/2024 From a8e18d1bb896aa2e2976e441dcc90f61f5f48470 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Sun, 2 Jun 2024 21:19:52 +0800 Subject: [PATCH 22/25] Decrease timeout limit to prevent main thread waiting too long --- .../fr/xephi/authme/settings/properties/PluginSettings.java | 2 +- src/main/java/fr/xephi/authme/util/message/I18NUtils.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java b/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java index 3a2eca41..221496b3 100644 --- a/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java +++ b/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java @@ -21,7 +21,7 @@ public final class PluginSettings implements SettingsHolder { @Comment({ "Send i18n messages to player based on their client settings, this option will override `settings.messagesLanguage`", - "(Requires Protocollib if server version under 1.15.2)", + "(Requires Protocollib or Packetevents)", "This will not affect language of AuthMe help command." }) public static final Property I18N_MESSAGES = diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index 4883a0f0..63235e14 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -52,7 +52,7 @@ public class I18NUtils { return PLAYER_LOCALE.get(player.getUniqueId()); } - if (System.currentTimeMillis() - startTime > 3000) { + if (System.currentTimeMillis() - startTime > 500) { return null; } } From b9648393a7b63093b2135305fb2ab07309059692 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:50:16 +0800 Subject: [PATCH 23/25] Remove deprecated feature lang --- src/main/resources/messages/messages_bg.yml | 11 ----------- src/main/resources/messages/messages_br.yml | 11 ----------- src/main/resources/messages/messages_cz.yml | 11 ----------- src/main/resources/messages/messages_de.yml | 11 ----------- src/main/resources/messages/messages_eo.yml | 11 ----------- src/main/resources/messages/messages_es.yml | 11 ----------- src/main/resources/messages/messages_et.yml | 11 ----------- src/main/resources/messages/messages_eu.yml | 11 ----------- src/main/resources/messages/messages_fi.yml | 11 ----------- src/main/resources/messages/messages_fr.yml | 11 ----------- src/main/resources/messages/messages_gl.yml | 11 ----------- src/main/resources/messages/messages_hu.yml | 11 ----------- src/main/resources/messages/messages_id.yml | 11 ----------- src/main/resources/messages/messages_it.yml | 11 ----------- src/main/resources/messages/messages_ja.yml | 11 ----------- src/main/resources/messages/messages_ko.yml | 11 ----------- src/main/resources/messages/messages_lt.yml | 11 ----------- src/main/resources/messages/messages_nl.yml | 11 ----------- src/main/resources/messages/messages_pl.yml | 11 ----------- src/main/resources/messages/messages_pt.yml | 11 ----------- src/main/resources/messages/messages_ro.yml | 11 ----------- src/main/resources/messages/messages_si.yml | 11 ----------- src/main/resources/messages/messages_sk.yml | 11 ----------- src/main/resources/messages/messages_sr.yml | 11 ----------- src/main/resources/messages/messages_tr.yml | 11 ----------- src/main/resources/messages/messages_uk.yml | 11 ----------- src/main/resources/messages/messages_vn.yml | 11 ----------- src/main/resources/messages/messages_zhhk.yml | 11 ----------- src/main/resources/messages/messages_zhmc.yml | 11 ----------- src/main/resources/messages/messages_zhtw.yml | 11 ----------- 30 files changed, 330 deletions(-) diff --git a/src/main/resources/messages/messages_bg.yml b/src/main/resources/messages/messages_bg.yml index 2f780097..4b370bd9 100644 --- a/src/main/resources/messages/messages_bg.yml +++ b/src/main/resources/messages/messages_bg.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Успешно изключихте защитата със секретен код от Вашият акаунт!' invalid_code: 'Невалиден код!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aУспешна проверка!' - bedrock_auto_verify_success: '&aУспешна проверка на Bedrock!' - captcha_window_name: '%random Проверка' - captcha_clickable_name: '%random Аз съм човек' - message_on_retry: '&cПроверката не бе успешна, имате %times оставащи опити' - denied_message_sending: '&cМоля, потвърдете се преди да чатите!' - kick_on_failed: '&cМоля, завършете проверката!' - kick_on_timeout: '&cПроверката изтече!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aУспешно автоматично влизане за Bedrock!' diff --git a/src/main/resources/messages/messages_br.yml b/src/main/resources/messages/messages_br.yml index cc5fa10a..396008bc 100644 --- a/src/main/resources/messages/messages_br.yml +++ b/src/main/resources/messages/messages_br.yml @@ -161,17 +161,6 @@ two_factor: removed_success: 'Verificação em duas etapas desativada com sucesso!' invalid_code: 'Código inválido!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVerificação bem-sucedida!' - bedrock_auto_verify_success: '&aVerificação Bedrock bem-sucedida!' - captcha_window_name: '%random Verificação' - captcha_clickable_name: '%random Eu sou humano' - message_on_retry: '&cVerificação falhou, você tem %times tentativas restantes' - denied_message_sending: '&cPor favor, verifique antes de enviar mensagens!' - kick_on_failed: '&cPor favor, complete a verificação!' - kick_on_timeout: '&cTempo de verificação esgotado!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aLogin automático Bedrock bem-sucedido!' diff --git a/src/main/resources/messages/messages_cz.yml b/src/main/resources/messages/messages_cz.yml index 36edc596..4954457e 100644 --- a/src/main/resources/messages/messages_cz.yml +++ b/src/main/resources/messages/messages_cz.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Dvoufaktorovka byla úspěšně odebrána z tvého účtu' invalid_code: 'Nesprávný kód!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aOvěření úspěšné!' - bedrock_auto_verify_success: '&aOvěření Bedrock úspěšné!' - captcha_window_name: '%random Ověření' - captcha_clickable_name: '%random Jsem člověk' - message_on_retry: '&cOvěření selhalo, zbývá vám %times pokusů' - denied_message_sending: '&cProsím, ověřte se před odesláním zprávy!' - kick_on_failed: '&cDokončete prosím ověření!' - kick_on_timeout: '&cPlatnost ověření vypršela!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aAutomatické přihlášení Bedrock úspěšné!' diff --git a/src/main/resources/messages/messages_de.yml b/src/main/resources/messages/messages_de.yml index 56119f77..433e42a7 100644 --- a/src/main/resources/messages/messages_de.yml +++ b/src/main/resources/messages/messages_de.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Die Zwei-Faktor-Authentifizierung wurde erfolgreich von deinem Konto entfernt' invalid_code: 'Ungültiger Code!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVerifizierung erfolgreich!' - bedrock_auto_verify_success: '&aBedrock-Verifizierung erfolgreich!' - captcha_window_name: '%random Verifizierung' - captcha_clickable_name: '%random Ich bin ein Mensch' - message_on_retry: '&cVerifizierung fehlgeschlagen, Sie haben noch %times Versuche' - denied_message_sending: '&cBitte verifizieren Sie sich, bevor Sie chatten!' - kick_on_failed: '&cBitte vervollständigen Sie die Verifizierung!' - kick_on_timeout: '&cVerifizierung abgelaufen!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aBedrock Auto-Login erfolgreich!' diff --git a/src/main/resources/messages/messages_eo.yml b/src/main/resources/messages/messages_eo.yml index 3629ee46..c8623f35 100644 --- a/src/main/resources/messages/messages_eo.yml +++ b/src/main/resources/messages/messages_eo.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Sukcese forigis du-faktoran aŭtentikigon de via konto' invalid_code: 'Nevalida kodo!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aSukcesa kontrolo!' - bedrock_auto_verify_success: '&aSukcesa Bedrock-kontrolo!' - captcha_window_name: '%random Kontrolo' - captcha_clickable_name: '%random Mi estas homo' - message_on_retry: '&cKontrolo malsukcesis, vi havas %times provojn restanta' - denied_message_sending: '&cBonvolu kontroli vin antaŭ ol babili!' - kick_on_failed: '&cBonvolu kompletigi la kontrolon!' - kick_on_timeout: '&cLa tempo por la kontrolo eksvalidiĝis!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aSukcesa Bedrock-aŭtomata ensaluto!' diff --git a/src/main/resources/messages/messages_es.yml b/src/main/resources/messages/messages_es.yml index cb00e212..fbded288 100644 --- a/src/main/resources/messages/messages_es.yml +++ b/src/main/resources/messages/messages_es.yml @@ -159,17 +159,6 @@ two_factor: removed_success: 'Se ha eliminado correctamente la autenticación de dos factores de tu cuenta' invalid_code: '¡Código incorrecto!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&a¡Verificación exitosa!' - bedrock_auto_verify_success: '&a¡Verificación de Bedrock exitosa!' - captcha_window_name: '%random Verificación' - captcha_clickable_name: '%random Soy humano' - message_on_retry: '&cLa verificación falló, tienes %times intentos restantes' - denied_message_sending: '&c¡Por favor, verifíquese antes de chatear!' - kick_on_failed: '&c¡Por favor, complete la verificación!' - kick_on_timeout: '&c¡Tiempo de verificación agotado!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&a¡Inicio de sesión automático de Bedrock exitoso!' diff --git a/src/main/resources/messages/messages_et.yml b/src/main/resources/messages/messages_et.yml index 5588ed1e..8f940ed5 100644 --- a/src/main/resources/messages/messages_et.yml +++ b/src/main/resources/messages/messages_et.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Sinu kontolt on edukalt eemaldatud kaheastmeline autentimine.' invalid_code: 'Vale kood!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aKinnitamine õnnestus!' - bedrock_auto_verify_success: '&aBedrocki kinnitamine õnnestus!' - captcha_window_name: '%random Kinnitus' - captcha_clickable_name: '%random Ma olen inimene' - message_on_retry: '&cKinnitamine ebaõnnestus, teil on jäänud %times katset' - denied_message_sending: '&cPalun kinnitage end enne vestlemist!' - kick_on_failed: '&cPalun viige kinnitus lõpule!' - kick_on_timeout: '&cKinnitamise aeg on läbi!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aBedrocki automaatne sisselogimine õnnestus!' diff --git a/src/main/resources/messages/messages_eu.yml b/src/main/resources/messages/messages_eu.yml index d4b082db..8d581be6 100644 --- a/src/main/resources/messages/messages_eu.yml +++ b/src/main/resources/messages/messages_eu.yml @@ -158,17 +158,6 @@ two_factor: removed_success: '2 faktoreko autentikazioa desaktibatu duzu' invalid_code: 'Kode okerra!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aEgiaztatzea arrakastatsua!' - bedrock_auto_verify_success: '&aBedrock egiaztapena arrakastatsua!' - captcha_window_name: '%random Egiaztapena' - captcha_clickable_name: '%random Gizakia naiz' - message_on_retry: '&cEgiaztapena huts egin du, %times saiakera geratzen zaizkizu' - denied_message_sending: '&cMesedez, egiazta zaitez hitz egiten hasi aurretik!' - kick_on_failed: '&cMesedez, amaitu egiaztapena!' - kick_on_timeout: '&cEgiaztapena denbora agortu da!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aBedrock automatikoki saioa hasi da!' diff --git a/src/main/resources/messages/messages_fi.yml b/src/main/resources/messages/messages_fi.yml index d972b23c..8d349f77 100644 --- a/src/main/resources/messages/messages_fi.yml +++ b/src/main/resources/messages/messages_fi.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Kaksivaiheinen todennus poistettu tililtäsi onnistuneesti' invalid_code: 'Virheellinen koodi!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVarmennus onnistui!' - bedrock_auto_verify_success: '&aBedrock-varmennus onnistui!' - captcha_window_name: '%random Varmistus' - captcha_clickable_name: '%random Olen ihminen' - message_on_retry: '&cVarmennus epäonnistui, sinulla on %times yritystä jäljellä' - denied_message_sending: '&cOle hyvä ja varmista ennen kuin lähetät viestejä!' - kick_on_failed: '&cOle hyvä ja suorita varmennus loppuun!' - kick_on_timeout: '&cVarmennus aikaraja ylitetty!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aBedrock-automaattinen sisäänkirjautuminen onnistui!' diff --git a/src/main/resources/messages/messages_fr.yml b/src/main/resources/messages/messages_fr.yml index 912fd328..7fbf2e0a 100644 --- a/src/main/resources/messages/messages_fr.yml +++ b/src/main/resources/messages/messages_fr.yml @@ -161,17 +161,6 @@ two_factor: removed_success: '&cL''authentification à double facteur a été désactivé pour votre compte !' invalid_code: '&cCode secret invalide !' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVérification réussie !' - bedrock_auto_verify_success: '&aVérification Bedrock réussie !' - captcha_window_name: '%random Vérification' - captcha_clickable_name: '%random Je suis humain' - message_on_retry: '&cÉchec de la vérification, il vous reste %times essais' - denied_message_sending: '&cVeuillez vous vérifier avant de discuter !' - kick_on_failed: '&cVeuillez compléter la vérification !' - kick_on_timeout: '&cLa vérification a expiré !' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aConnexion automatique Bedrock réussie !' diff --git a/src/main/resources/messages/messages_gl.yml b/src/main/resources/messages/messages_gl.yml index f61a03fe..8a7a7f30 100644 --- a/src/main/resources/messages/messages_gl.yml +++ b/src/main/resources/messages/messages_gl.yml @@ -157,17 +157,6 @@ two_factor: removed_success: 'Autenticación en dous pasos eliminada con éxito da túa conta' invalid_code: 'Código incorrecto!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVerificación exitosa!' - bedrock_auto_verify_success: '&aVerificación de Bedrock exitosa!' - captcha_window_name: '%random Verificación' - captcha_clickable_name: '%random Son humano' - message_on_retry: '&cA verificación fallou, quédanche %times intentos' - denied_message_sending: '&cPor favor, verifíquese antes de falar!' - kick_on_failed: '&cPor favor, complete a verificación!' - kick_on_timeout: '&cO tempo de verificación esgotouse!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aInicio de sesión automático de Bedrock exitoso!' diff --git a/src/main/resources/messages/messages_hu.yml b/src/main/resources/messages/messages_hu.yml index 2e79dd3e..215a0660 100644 --- a/src/main/resources/messages/messages_hu.yml +++ b/src/main/resources/messages/messages_hu.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Sikeresen eltávolítottad a fiók két számjegyű hitelesítőjét' invalid_code: 'Érvénytelen kód!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aAz ellenőrzés sikeres!' - bedrock_auto_verify_success: '&aBedrock ellenőrzés sikeres!' - captcha_window_name: '%random Ellenőrzés' - captcha_clickable_name: '%random Ember vagyok' - message_on_retry: '&cAz ellenőrzés sikertelen, még %times próbálkozásod van hátra' - denied_message_sending: '&cKérlek, ellenőrizd magad a chat előtt!' - kick_on_failed: '&cKérlek, fejezd be az ellenőrzést!' - kick_on_timeout: '&cAz ellenőrzés időtúllépés miatt megszakadt!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aBedrock automatikus bejelentkezés sikeres!' diff --git a/src/main/resources/messages/messages_id.yml b/src/main/resources/messages/messages_id.yml index f6a5ae79..bf46218f 100644 --- a/src/main/resources/messages/messages_id.yml +++ b/src/main/resources/messages/messages_id.yml @@ -157,17 +157,6 @@ two_factor: removed_success: 'Sukses menghapus autentikasi dua langkah dari akunmu' invalid_code: 'Kode tidak valid!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVerifikasi berhasil!' - bedrock_auto_verify_success: '&aVerifikasi Bedrock berhasil!' - captcha_window_name: '%random Verifikasi' - captcha_clickable_name: '%random Saya manusia' - message_on_retry: '&cVerifikasi gagal, Anda memiliki %times percobaan lagi' - denied_message_sending: '&cHarap diverifikasi sebelum chatting!' - kick_on_failed: '&cHarap lengkapi verifikasi!' - kick_on_timeout: '&cWaktu verifikasi habis!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aLogin otomatis Bedrock berhasil!' diff --git a/src/main/resources/messages/messages_it.yml b/src/main/resources/messages/messages_it.yml index 011f7f37..53e8afa5 100644 --- a/src/main/resources/messages/messages_it.yml +++ b/src/main/resources/messages/messages_it.yml @@ -159,17 +159,6 @@ two_factor: removed_success: 'Autenticazione a 2 fattori rimossa correttamente' invalid_code: 'Il codice inserito non è valido, riprova!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVerifica riuscita!' - bedrock_auto_verify_success: '&aVerifica Bedrock riuscita!' - captcha_window_name: '%random Verifica' - captcha_clickable_name: '%random Sono un essere umano' - message_on_retry: '&cVerifica fallita, hai %times tentativi rimasti' - denied_message_sending: '&cSi prega di verificarsi prima di chattare!' - kick_on_failed: '&cSi prega di completare la verifica!' - kick_on_timeout: '&cTempo scaduto per la verifica!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aAccesso automatico Bedrock riuscito!' diff --git a/src/main/resources/messages/messages_ja.yml b/src/main/resources/messages/messages_ja.yml index ead3c71d..ac846a25 100644 --- a/src/main/resources/messages/messages_ja.yml +++ b/src/main/resources/messages/messages_ja.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'アカウントから二要素認証が正常に削除されました' invalid_code: '無効なコードです!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&a検証成功!' - bedrock_auto_verify_success: '&aBedrock 検証成功!' - captcha_window_name: '%random 検証' - captcha_clickable_name: '%random 私は人間です' - message_on_retry: '&c検証に失敗しました、あと %times 回のリトライが残っています' - denied_message_sending: '&cチャットをする前に検証してください!' - kick_on_failed: '&c検証を完了してください!' - kick_on_timeout: '&c検証のタイムアウト!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aBedrock 自動ログイン成功!' diff --git a/src/main/resources/messages/messages_ko.yml b/src/main/resources/messages/messages_ko.yml index 8758f890..6354fdf4 100644 --- a/src/main/resources/messages/messages_ko.yml +++ b/src/main/resources/messages/messages_ko.yml @@ -160,17 +160,6 @@ two_factor: removed_success: '2단계 인증 기능을 성공적으로 비활성화하였습니다.' invalid_code: '올바르지 않은 인증 코드입니다!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&a인증 성공!' - bedrock_auto_verify_success: '&aBedrock 인증 성공!' - captcha_window_name: '%random 확인' - captcha_clickable_name: '%random 사람임을 인증합니다' - message_on_retry: '&c인증 실패, 남은 재시도 횟수: %times' - denied_message_sending: '&c채팅하기 전에 인증하세요!' - kick_on_failed: '&c인증을 완료하세요!' - kick_on_timeout: '&c인증 시간이 초과되었습니다!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aBedrock 자동 로그인 성공!' diff --git a/src/main/resources/messages/messages_lt.yml b/src/main/resources/messages/messages_lt.yml index 1e04f6ea..b09bbb64 100644 --- a/src/main/resources/messages/messages_lt.yml +++ b/src/main/resources/messages/messages_lt.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Dviejų faktorių autentifikavimas sėkmingai pašalintas iš jūsų paskyros.' invalid_code: 'Neteisingas kodas!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVerifikacija sėkminga!' - bedrock_auto_verify_success: '&aBedrock verifikacija sėkminga!' - captcha_window_name: '%random Verifikacija' - captcha_clickable_name: '%random Esu žmogus' - message_on_retry: '&cVerifikacija nepavyko, jums liko %times bandymų' - denied_message_sending: '&cPrašome patvirtinti prieš pradėdami pokalbį!' - kick_on_failed: '&cPrašome užbaigti verifikaciją!' - kick_on_timeout: '&cVerifikacija pasibaigė laiku!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aBedrock automatinis prisijungimas sėkmingas!' diff --git a/src/main/resources/messages/messages_nl.yml b/src/main/resources/messages/messages_nl.yml index ef13eb08..42c3207c 100644 --- a/src/main/resources/messages/messages_nl.yml +++ b/src/main/resources/messages/messages_nl.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Twee-factor authenticatie is met succes van jouw account verwijderd.' invalid_code: 'Ongeldige code!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVerificatie gelukt!' - bedrock_auto_verify_success: '&aBedrock-verificatie gelukt!' - captcha_window_name: '%random Verificatie' - captcha_clickable_name: '%random Ik ben een mens' - message_on_retry: '&cVerificatie mislukt, u heeft nog %times pogingen over' - denied_message_sending: '&cGelieve geverifieerd te worden voordat u begint met chatten!' - kick_on_failed: '&cVoltooi alstublieft de verificatie!' - kick_on_timeout: '&cVerificatie is verlopen!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aBedrock automatisch inloggen gelukt!' diff --git a/src/main/resources/messages/messages_pl.yml b/src/main/resources/messages/messages_pl.yml index 10317635..e263df56 100644 --- a/src/main/resources/messages/messages_pl.yml +++ b/src/main/resources/messages/messages_pl.yml @@ -158,17 +158,6 @@ two_factor: removed_success: '&aPomyślnie usunięto weryfikacje dwuetapową z Twojego konta.' invalid_code: '&cWpisany kod jest nieprawidłowy, spróbuj jeszcze raz.' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aWeryfikacja udana!' - bedrock_auto_verify_success: '&aWeryfikacja Bedrocka udana!' - captcha_window_name: '%random Weryfikacja' - captcha_clickable_name: '%random Jestem człowiekiem' - message_on_retry: '&cWeryfikacja nie powiodła się, pozostało Ci %times prób' - denied_message_sending: '&cProszę zweryfikuj się przed rozpoczęciem czatu!' - kick_on_failed: '&cProszę ukończ weryfikację!' - kick_on_timeout: '&cCzas weryfikacji minął!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aAutomatyczne logowanie na Bedrocku udane!' diff --git a/src/main/resources/messages/messages_pt.yml b/src/main/resources/messages/messages_pt.yml index ff8240fe..d8352e51 100644 --- a/src/main/resources/messages/messages_pt.yml +++ b/src/main/resources/messages/messages_pt.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Autenticação de duas etapas removida com sucesso da sua conta' invalid_code: 'Codigo invalido!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVerificação bem-sucedida!' - bedrock_auto_verify_success: '&aVerificação do Bedrock bem-sucedida!' - captcha_window_name: '%random Verificação' - captcha_clickable_name: '%random Sou humano' - message_on_retry: '&cVerificação falhou, você tem %times tentativas restantes' - denied_message_sending: '&cPor favor, seja verificado antes de conversar!' - kick_on_failed: '&cPor favor, complete a verificação!' - kick_on_timeout: '&cTempo de verificação esgotado!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aLogin automático no Bedrock bem-sucedido!' diff --git a/src/main/resources/messages/messages_ro.yml b/src/main/resources/messages/messages_ro.yml index d809421d..dc8d3b1b 100644 --- a/src/main/resources/messages/messages_ro.yml +++ b/src/main/resources/messages/messages_ro.yml @@ -157,17 +157,6 @@ two_factor: removed_success: 'Eliminare cu succes a autentificarii in doi pasi de pe cont' invalid_code: 'Cod invalid!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVerificare reușită!' - bedrock_auto_verify_success: '&aVerificarea Bedrock a fost un succes!' - captcha_window_name: '%random Verificare' - captcha_clickable_name: '%random Sunt un om' - message_on_retry: '&cVerificarea a eșuat, mai aveți %times încercări rămase' - denied_message_sending: '&cVă rugăm să fiți verificați înainte de a discuta!' - kick_on_failed: '&cVă rugăm să finalizați verificarea!' - kick_on_timeout: '&cTimpul de verificare a expirat!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aAutentificare automată Bedrock reușită!' diff --git a/src/main/resources/messages/messages_si.yml b/src/main/resources/messages/messages_si.yml index f2e09bc8..d046e480 100644 --- a/src/main/resources/messages/messages_si.yml +++ b/src/main/resources/messages/messages_si.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Usprešno ste odstranili dvo stopično prijavo za vaš račun.' invalid_code: 'Nepravilna koda!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aPreverjanje uspešno!' - bedrock_auto_verify_success: '&aPreverjanje Bedrock uspešno!' - captcha_window_name: '%random Preverjanje' - captcha_clickable_name: '%random Sem človek' - message_on_retry: '&cPreverjanje ni uspelo, imate %times preostale poskuse.' - denied_message_sending: '&cPred klepetom morate biti preverjeni!' - kick_on_failed: '&cProsim, dokončajte preverjanje!' - kick_on_timeout: '&cPreverjanje je poteklo!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aSamodejno prijavljanje v Bedrocku uspešno!' diff --git a/src/main/resources/messages/messages_sk.yml b/src/main/resources/messages/messages_sk.yml index f70123e9..fd40f0de 100644 --- a/src/main/resources/messages/messages_sk.yml +++ b/src/main/resources/messages/messages_sk.yml @@ -164,17 +164,6 @@ two_factor: removed_success: 'Dvojfaktorová autentifikácia bola úspešne odstránená z vášho účtu' invalid_code: 'Neplatný kód!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aOverenie úspešné!' - bedrock_auto_verify_success: '&aOverenie Bedrocku úspešné!' - captcha_window_name: '%random Overenie' - captcha_clickable_name: '%random Som človek' - message_on_retry: '&cOverenie zlyhalo, máte %times pokusov zostávajúcich.' - denied_message_sending: '&cPred chatovaním sa prosím overte!' - kick_on_failed: '&cProsím, dokončite overenie!' - kick_on_timeout: '&cOverenie vypršalo!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aAutomatické prihlásenie do Bedrocku úspešné!' diff --git a/src/main/resources/messages/messages_sr.yml b/src/main/resources/messages/messages_sr.yml index 95752e36..e143f6b2 100644 --- a/src/main/resources/messages/messages_sr.yml +++ b/src/main/resources/messages/messages_sr.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Uspešno ste uklonili dvo-faktornu autentifikaciju sa vašeg naloga' invalid_code: 'Nevažeći kod!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aVerifikacija uspešna!' - bedrock_auto_verify_success: '&aBedrock verifikacija uspešna!' - captcha_window_name: '%random Verifikacija' - captcha_clickable_name: '%random Ja sam čovek' - message_on_retry: '&cVerifikacija nije uspela, imate još %times pokušaja' - denied_message_sending: '&cMolimo vas da se verifikujete pre nego što šaljete poruke!' - kick_on_failed: '&cMolimo završite verifikaciju!' - kick_on_timeout: '&cVerifikacija je istekla!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aBedrock automatsko prijavljivanje uspešno!' diff --git a/src/main/resources/messages/messages_tr.yml b/src/main/resources/messages/messages_tr.yml index 08101333..b9d12bf9 100644 --- a/src/main/resources/messages/messages_tr.yml +++ b/src/main/resources/messages/messages_tr.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Iki-faktorlu dogrulama hesabinizdan basariyla kaldirilmistir' invalid_code: 'Gecersiz kod!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aDoğrulama başarılı!' - bedrock_auto_verify_success: '&aBedrock doğrulaması başarılı!' - captcha_window_name: '%random Doğrulama' - captcha_clickable_name: '%random İnsanım' - message_on_retry: '&cDoğrulama başarısız, %times deneme hakkınız kaldı' - denied_message_sending: '&cLütfen mesaj göndermeden önce doğrulama yapın!' - kick_on_failed: '&cLütfen doğrulamayı tamamlayın!' - kick_on_timeout: '&cDoğrulama zaman aşımına uğradı!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aBedrock otomatik giriş başarılı!' diff --git a/src/main/resources/messages/messages_uk.yml b/src/main/resources/messages/messages_uk.yml index 4e585f72..b16bbb98 100644 --- a/src/main/resources/messages/messages_uk.yml +++ b/src/main/resources/messages/messages_uk.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Двофакторну авторизацію успішно видалено з вашого акаунту' invalid_code: 'Невірний код!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aВерифікація успішна!' - bedrock_auto_verify_success: '&aВерифікація Bedrock успішна!' - captcha_window_name: '%random Верифікація' - captcha_clickable_name: '%random Я людина' - message_on_retry: '&cВерифікація не вдалася, у вас залишилось %times спроб' - denied_message_sending: '&cБудь ласка, пройдіть верифікацію перед відправленням повідомлень!' - kick_on_failed: '&cБудь ласка, завершіть верифікацію!' - kick_on_timeout: '&cЧас верифікації вийшов!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aАвтоматичний вхід Bedrock успішний!' diff --git a/src/main/resources/messages/messages_vn.yml b/src/main/resources/messages/messages_vn.yml index b9a7d17e..788e5eec 100644 --- a/src/main/resources/messages/messages_vn.yml +++ b/src/main/resources/messages/messages_vn.yml @@ -158,17 +158,6 @@ two_factor: removed_success: 'Đã thành công tắt xác thực 2 lớp khỏi tài khoản của bạn' invalid_code: 'Mã xác thực không hợp lệ!' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&aXác minh thành công!' - bedrock_auto_verify_success: '&aXác minh Bedrock thành công!' - captcha_window_name: '%random Xác minh' - captcha_clickable_name: '%random Tôi là người' - message_on_retry: '&cXác minh thất bại, bạn còn %times lần thử' - denied_message_sending: '&cVui lòng xác minh trước khi trò chuyện!' - kick_on_failed: '&cVui lòng hoàn thành xác minh!' - kick_on_timeout: '&cThời gian xác minh đã hết!' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: '&aĐăng nhập tự động Bedrock thành công!' diff --git a/src/main/resources/messages/messages_zhhk.yml b/src/main/resources/messages/messages_zhhk.yml index ea3704ff..42a96a88 100644 --- a/src/main/resources/messages/messages_zhhk.yml +++ b/src/main/resources/messages/messages_zhhk.yml @@ -161,17 +161,6 @@ two_factor: removed_success: '&8[&6用戶系統&8] &2你已成功關閉兩步驗證功能;&c為保障帳戶安全,請儘快於可行的情況下重新啟用本功能。' invalid_code: '&8[&6用戶系統&8] &c無效的兩步驗證碼 !' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&a*** 驗證完成 ***' - bedrock_auto_verify_success: '&a*** 基岩版自動驗證完成 ***' - captcha_window_name: '&k%random&r&n請驗證你是真人' - captcha_clickable_name: '&k%random&r&n我是真人' - message_on_retry: '&8[&6用戶系統&8] &c驗證失敗,你還有 %times 次機會' - denied_message_sending: '&8[&6用戶系統&8] &c請先完成驗證再聊天!' - kick_on_failed: '&8[&6用戶系統&8] &c請先完成驗證!' - kick_on_timeout: '&8[&6用戶系統&8] &c驗證超時' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: "&8[&6用戶系統&8] &a基岩版自動登錄完成" diff --git a/src/main/resources/messages/messages_zhmc.yml b/src/main/resources/messages/messages_zhmc.yml index b4ff675b..a0613cb5 100644 --- a/src/main/resources/messages/messages_zhmc.yml +++ b/src/main/resources/messages/messages_zhmc.yml @@ -158,17 +158,6 @@ two_factor: removed_success: '&c雙重驗證已從您的賬號上禁用' invalid_code: '&c無效的驗證碼' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&a*** 驗證完成 ***' - bedrock_auto_verify_success: '&a*** 基岩版自動驗證完成 ***' - captcha_window_name: '&k%random&r&n請驗證你是真人' - captcha_clickable_name: '&k%random&r&n我是真人' - message_on_retry: '&c驗證失敗,你還有 %times 次機會' - denied_message_sending: '&c請先完成驗證再聊天!' - kick_on_failed: '&c請先完成驗證!' - kick_on_timeout: '&c驗證超時' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: "&a基岩版自動登錄完成" diff --git a/src/main/resources/messages/messages_zhtw.yml b/src/main/resources/messages/messages_zhtw.yml index 0ca42179..a1eb1e07 100644 --- a/src/main/resources/messages/messages_zhtw.yml +++ b/src/main/resources/messages/messages_zhtw.yml @@ -160,17 +160,6 @@ two_factor: removed_success: '&b【AuthMe】&6雙重驗證已成功移除!' invalid_code: '&b【AuthMe】&c驗證碼錯誤。' -# 3rd party features: GUI Captcha -gui_captcha: - success: '&a*** 驗證完成 ***' - bedrock_auto_verify_success: '&a*** 基岩版自動驗證完成 ***' - captcha_window_name: '&k%random&r&n請驗證你是真人' - captcha_clickable_name: '&k%random&r&n我是真人' - message_on_retry: '&b【AuthMe】&c驗證失敗,你還有 %times 次機會' - denied_message_sending: '&b【AuthMe】&c請先完成驗證再聊天!' - kick_on_failed: '&b【AuthMe】&c請先完成驗證!' - kick_on_timeout: '&b【AuthMe】&c驗證超時' - # 3rd party features: Bedrock Auto Login bedrock_auto_login: success: "&b【AuthMe】&a基岩版自動登錄完成" From e922422922e9f5c208348d570d41f5b5e40a4af0 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:58:44 +0800 Subject: [PATCH 24/25] Adjust code style --- .../authme/listener/protocollib/ProtocolLibService.java | 2 +- src/main/java/fr/xephi/authme/util/Utils.java | 6 +++--- src/main/java/fr/xephi/authme/util/message/I18NUtils.java | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java b/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java index 60fabc09..f0297b33 100644 --- a/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java +++ b/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java @@ -142,7 +142,7 @@ public class ProtocolLibService implements SettingsDependent { this.protectInvBeforeLogin = settings.getProperty(RestrictionSettings.PROTECT_INVENTORY_BEFORE_LOGIN); this.denyTabCompleteBeforeLogin = settings.getProperty(RestrictionSettings.DENY_TABCOMPLETE_BEFORE_LOGIN); - this.i18nMessagesSending = settings.getProperty(PluginSettings.I18N_MESSAGES) && Utils.majorVersion <= 15; + this.i18nMessagesSending = settings.getProperty(PluginSettings.I18N_MESSAGES) && Utils.MAJOR_VERSION <= 15; //it was true and will be deactivated now, so we need to restore the inventory for every player if (oldProtectInventory && !protectInvBeforeLogin && inventoryPacketAdapter != null) { diff --git a/src/main/java/fr/xephi/authme/util/Utils.java b/src/main/java/fr/xephi/authme/util/Utils.java index f3322059..324a8eed 100644 --- a/src/main/java/fr/xephi/authme/util/Utils.java +++ b/src/main/java/fr/xephi/authme/util/Utils.java @@ -113,7 +113,7 @@ public final class Utils { .substring(0, Bukkit.getServer().getBukkitVersion().indexOf("-")) .split("\\."); - private final static int mcFirstVersion = Integer.parseInt(serverVersion[0]); - public final static int majorVersion = Integer.parseInt(serverVersion[1]); - public final static int minorVersion = serverVersion.length == 3 ? Integer.parseInt(serverVersion[2]) : 0; + private final static int FIRST_VERSION = Integer.parseInt(serverVersion[0]); + public final static int MAJOR_VERSION = Integer.parseInt(serverVersion[1]); + public final static int MINOR_VERSION = serverVersion.length == 3 ? Integer.parseInt(serverVersion[2]) : 0; } diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index 63235e14..da519267 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -43,7 +43,7 @@ public class I18NUtils { * @param player The player */ public static String getLocale(Player player) { - if (Utils.majorVersion > 15) { + if (Utils.MAJOR_VERSION > 15) { return player.getLocale().toLowerCase(); } else { long startTime = System.currentTimeMillis(); From fbf5f324152f4194f8fc0e2e1cd1f5ad72303818 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 3 Jun 2024 20:04:54 +0800 Subject: [PATCH 25/25] Instantly return null if didn't receive locale packet before calling messages sending method --- .../fr/xephi/authme/util/message/I18NUtils.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java index da519267..ff68b5ab 100644 --- a/src/main/java/fr/xephi/authme/util/message/I18NUtils.java +++ b/src/main/java/fr/xephi/authme/util/message/I18NUtils.java @@ -45,18 +45,11 @@ public class I18NUtils { public static String getLocale(Player player) { if (Utils.MAJOR_VERSION > 15) { return player.getLocale().toLowerCase(); - } else { - long startTime = System.currentTimeMillis(); - for (;;) { - if (PLAYER_LOCALE.containsKey(player.getUniqueId())) { - return PLAYER_LOCALE.get(player.getUniqueId()); - } - - if (System.currentTimeMillis() - startTime > 500) { - return null; - } - } + } else if (PLAYER_LOCALE.containsKey(player.getUniqueId())) { + return PLAYER_LOCALE.get(player.getUniqueId()); } + + return null; } public static void addLocale(UUID uuid, String locale) {