Merge branch 'AuthMe:master' into feature/upstream

This commit is contained in:
Dreeam 2023-12-05 06:05:10 -05:00
commit 89b0d59ab9
13 changed files with 491 additions and 211 deletions

View File

@ -10,3 +10,5 @@ updates:
- dependency-name: com.google.guava:guava - dependency-name: com.google.guava:guava
- dependency-name: org.apache.logging.log4j:log4j-core - dependency-name: org.apache.logging.log4j:log4j-core
- dependency-name: com.zaxxer:HikariCP - dependency-name: com.zaxxer:HikariCP
- dependency-name: "org.mockito:mockito-core" # Mockito 5 requires Java 11
versions: ">= 5"

View File

@ -396,6 +396,8 @@ Protection:
# Apply the protection also to registered usernames # Apply the protection also to registered usernames
enableProtectionRegistered: true enableProtectionRegistered: true
geoIpDatabase: geoIpDatabase:
# Enable GeoIp database
enabled: true
# The MaxMind clientId used to download the GeoIp database, # The MaxMind clientId used to download the GeoIp database,
# get one at https://www.maxmind.com/en/accounts/current/license-key # 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 EssentialsX project has a very useful tutorial on how to generate

View File

@ -1,5 +1,5 @@
<!-- AUTO-GENERATED FILE! Do not edit this directly --> <!-- AUTO-GENERATED FILE! Do not edit this directly -->
<!-- File auto-generated on Sun Apr 04 21:31:44 CEST 2021. See docs/translations/translations.tpl.md --> <!-- File auto-generated on Wed Jun 21 12:14:29 CEST 2023. See docs/translations/translations.tpl.md -->
# AuthMe Translations # AuthMe Translations
The following translations are available in AuthMe. Set `messagesLanguage` to the language code The following translations are available in AuthMe. Set `messagesLanguage` to the language code
@ -22,10 +22,11 @@ Code | Language | Translated | &nbsp;
[hu](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_hu.yml) | Hungarian | 99% | <img src="https://via.placeholder.com/99x7/66ee55?text=%20" alt="99" /> [hu](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_hu.yml) | Hungarian | 99% | <img src="https://via.placeholder.com/99x7/66ee55?text=%20" alt="99" />
[id](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_id.yml) | Indonesian | 93% | <img src="https://via.placeholder.com/93x7/77dd44?text=%20" alt="93" /> [id](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_id.yml) | Indonesian | 93% | <img src="https://via.placeholder.com/93x7/77dd44?text=%20" alt="93" />
[it](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_it.yml) | Italian | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" /> [it](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_it.yml) | Italian | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
[ja](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ja.yml) | Japanese | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
[ko](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ko.yml) | Korean | 99% | <img src="https://via.placeholder.com/99x7/66ee55?text=%20" alt="99" /> [ko](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ko.yml) | Korean | 99% | <img src="https://via.placeholder.com/99x7/66ee55?text=%20" alt="99" />
[lt](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_lt.yml) | Lithuanian | 36% | <img src="https://via.placeholder.com/36x7/aa4400?text=%20" alt="36" /> [lt](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_lt.yml) | Lithuanian | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
[nl](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_nl.yml) | Dutch | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" /> [nl](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_nl.yml) | Dutch | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
[pl](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_pl.yml) | Polish | 99% | <img src="https://via.placeholder.com/99x7/66ee55?text=%20" alt="99" /> [pl](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_pl.yml) | Polish | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
[pt](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_pt.yml) | Portuguese | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" /> [pt](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_pt.yml) | Portuguese | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
[ro](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ro.yml) | Romanian | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" /> [ro](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ro.yml) | Romanian | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
[ru](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ru.yml) | Russian | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" /> [ru](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_ru.yml) | Russian | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
@ -34,13 +35,13 @@ Code | Language | Translated | &nbsp;
[sr](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_sr.yml) | Serbian | 99% | <img src="https://via.placeholder.com/99x7/66ee55?text=%20" alt="99" /> [sr](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_sr.yml) | Serbian | 99% | <img src="https://via.placeholder.com/99x7/66ee55?text=%20" alt="99" />
[tr](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_tr.yml) | Turkish | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" /> [tr](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_tr.yml) | Turkish | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
[uk](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_uk.yml) | Ukrainian | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" /> [uk](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_uk.yml) | Ukrainian | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
[vn](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_vn.yml) | Vietnamese | 77% | <img src="https://via.placeholder.com/77x7/bb9900?text=%20" alt="77" /> [vn](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_vn.yml) | Vietnamese | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
[zhcn](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhcn.yml) | Chinese (China) | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" /> [zhcn](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhcn.yml) | Chinese (China) | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
[zhhk](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhhk.yml) | Chinese (Hong Kong) | 99% | <img src="https://via.placeholder.com/99x7/66ee55?text=%20" alt="99" /> [zhhk](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhhk.yml) | Chinese (Hong Kong) | 99% | <img src="https://via.placeholder.com/99x7/66ee55?text=%20" alt="99" />
[zhmc](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhmc.yml) | Chinese (Macau) | 64% | <img src="https://via.placeholder.com/64x7/bb7700?text=%20" alt="64" /> [zhmc](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhmc.yml) | Chinese (Macau) | 64% | <img src="https://via.placeholder.com/64x7/bb7700?text=%20" alt="64" />
[zhtw](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhtw.yml) | Chinese (Taiwan) | 86% | <img src="https://via.placeholder.com/86x7/99bb22?text=%20" alt="86" /> [zhtw](https://github.com/AuthMe/AuthMeReloaded/blob/master/src/main/resources/messages/messages_zhtw.yml) | Chinese (Taiwan) | 100% | <img src="https://via.placeholder.com/100x7/66ff66?text=%20" alt="100" />
--- ---
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 [AuthMe/AuthMeReloaded repository](https://github.com/AuthMe/AuthMeReloaded/tree/master/docs/) on Wed Jun 21 12:14:29 CEST 2023

10
pom.xml
View File

@ -79,7 +79,7 @@
<pluginDescription.name>${project.outputName}</pluginDescription.name> <pluginDescription.name>${project.outputName}</pluginDescription.name>
<pluginDescription.version>${project.versionCode}</pluginDescription.version> <pluginDescription.version>${project.versionCode}</pluginDescription.version>
<pluginDescription.main>${project.groupId}.${project.artifactId}.${pluginDescription.name}</pluginDescription.main> <pluginDescription.main>${project.groupId}.${project.artifactId}.${pluginDescription.name}</pluginDescription.main>
<pluginDescription.authors>sgdc3, ljacqu, games647, Hex3l, krusic22</pluginDescription.authors> <pluginDescription.authors>sgdc3, games647, Hex3l, krusic22</pluginDescription.authors>
</properties> </properties>
<!-- Jenkins profile --> <!-- Jenkins profile -->
@ -294,7 +294,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId> <artifactId>maven-shade-plugin</artifactId>
<version>3.4.0</version> <version>3.4.1</version>
<executions> <executions>
<execution> <execution>
<id>shaded-jar</id> <id>shaded-jar</id>
@ -769,7 +769,7 @@
<dependency> <dependency>
<groupId>org.mariadb.jdbc</groupId> <groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId> <artifactId>mariadb-java-client</artifactId>
<version>3.1.2</version> <version>3.1.4</version>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
@ -1072,7 +1072,7 @@
<dependency> <dependency>
<groupId>org.postgresql</groupId> <groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId> <artifactId>postgresql</artifactId>
<version>42.5.4</version> <version>42.6.0</version>
<optional>true</optional> <optional>true</optional>
<exclusions> <exclusions>
<exclusion> <exclusion>
@ -1129,7 +1129,7 @@
<dependency> <dependency>
<groupId>com.h2database</groupId> <groupId>com.h2database</groupId>
<artifactId>h2</artifactId> <artifactId>h2</artifactId>
<version>2.1.214</version> <version>2.2.220</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>

View File

@ -36,4 +36,12 @@ public class MigraterYamlFileResource extends YamlFileResource {
} }
return singleQuoteYaml; return singleQuoteYaml;
} }
// Because we set the YAML object to put strings in single quotes, this method by default uses that YAML object
// and also puts all paths as single quotes. Override to just always return the same string since we know those
// are only message names (so never any conflicting strings like "true" or "0").
@Override
protected String escapePathElementIfNeeded(String path) {
return path;
}
} }

View File

@ -76,6 +76,12 @@ public class GeoIpService {
* @return True if the data is available, false otherwise. * @return True if the data is available, false otherwise.
*/ */
private synchronized boolean isDataAvailable() { private synchronized boolean isDataAvailable() {
// If this feature is disabled, just stop
if (!settings.getProperty(ProtectionSettings.ENABLE_GEOIP)) {
return false;
}
if (downloading) { if (downloading) {
// we are currently downloading the database // we are currently downloading the database
return false; return false;

View File

@ -20,6 +20,21 @@ public final class ProtectionSettings implements SettingsHolder {
public static final Property<Boolean> ENABLE_PROTECTION_REGISTERED = public static final Property<Boolean> ENABLE_PROTECTION_REGISTERED =
newProperty("Protection.enableProtectionRegistered", true); newProperty("Protection.enableProtectionRegistered", true);
@Comment("Enable GeoIp database")
public static final Property<Boolean> ENABLE_GEOIP =
newProperty("Protection.geoIpDatabase.enabled", true);
@Comment({"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"})
public static final Property<String> MAXMIND_API_CLIENT_ID =
newProperty("Protection.geoIpDatabase.clientId", "");
@Comment("The MaxMind licenseKey used to download the GeoIp database.")
public static final Property<String> MAXMIND_API_LICENSE_KEY =
newProperty("Protection.geoIpDatabase.licenseKey", "");
@Comment({ @Comment({
"Countries allowed to join the server and register. For country codes, see", "Countries allowed to join the server and register. For country codes, see",
"https://dev.maxmind.com/geoip/legacy/codes/iso3166/", "https://dev.maxmind.com/geoip/legacy/codes/iso3166/",

View File

@ -0,0 +1,45 @@
# Translation config for the AuthMe help, e.g. when /authme help or /authme help register is called
# -------------------------------------------------------
# List of texts used in the help section
common:
header: '==========[ AuthMeReloaded ヘルプ ]=========='
optional: 'オプション'
hasPermission: '権限を持っています'
noPermission: '権限がありません'
default: 'デフォルト'
result: '結果'
defaultPermissions:
notAllowed: '権限がありません'
opOnly: 'OPのみ'
allowed: '全員に許可'
# -------------------------------------------------------
# Titles of the individual help sections
# Set the translation text to empty text to disable the section, e.g. to hide alternatives:
# alternatives: ''
section:
command: 'コマンド'
description: '簡単な説明'
detailedDescription: '詳細な説明'
arguments: '引数'
permissions: '権限'
alternatives: '代替'
children: 'コマンド'
# -------------------------------------------------------
# You can translate the data for all commands using the below pattern.
# For example to translate /authme reload, create a section "authme.reload", or "login" for /login
# If the command has arguments, you can use arg1 as below to translate the first argument, and so forth
# Translations don't need to be complete; any missing section will be taken from the default silently
# Important: Put main commands like "authme" before their children (e.g. "authme.reload")
commands:
authme.register:
description: 'プレイヤーを登録します'
detailedDescription: '指定されたプレイヤーを指定されたパスワードで登録します。'
arg1:
label: 'プレイヤー名'
description: 'プレイヤー名'
arg2:
label: 'パスワード'
description: 'パスワード'

View File

@ -0,0 +1,45 @@
# Translation config for the AuthMe help, e.g. when /authme help or /authme help register is called
# -------------------------------------------------------
# List of texts used in the help section
common:
header: '==========[ AuthMeReloaded PAGALBA ]=========='
optional: 'Neprivaloma'
hasPermission: 'Jūs turite leidimą'
noPermission: 'Jūs neturite leidimo'
default: 'Numatytas'
result: 'Rezultatas'
defaultPermissions:
notAllowed: 'Nėra leidimo'
opOnly: 'Tik OP'
allowed: 'Visiems leistina'
# -------------------------------------------------------
# Titles of the individual help sections
# Set the translation text to empty text to disable the section, e.g. to hide alternatives:
# alternatives: ''
section:
command: 'Komanda'
description: 'Trumpas aprašas'
detailedDescription: 'Detalus aprašas'
arguments: 'Argumentai'
permissions: 'Leidimai'
alternatives: 'Alternatyvos'
children: 'Komandos'
# -------------------------------------------------------
# You can translate the data for all commands using the below pattern.
# For example to translate /authme reload, create a section "authme.reload", or "login" for /login
# If the command has arguments, you can use arg1 as below to translate the first argument, and so forth
# Translations don't need to be complete; any missing section will be taken from the default silently
# Important: Put main commands like "authme" before their children (e.g. "authme.reload")
commands:
authme.register:
description: 'Užregistruoti žaidėją'
detailedDescription: 'Užregistruokite nurodytą žaidėją su nurodytu slaptažodžiu.'
arg1:
label: 'žaidėjas'
description: 'Žaidėjo vardas'
arg2:
label: 'slaptažodis'
description: 'Slaptažodis'

View File

@ -0,0 +1,156 @@
# List of global tags:
# %nl% - Goes to new line.
# %username% - Replaces the username of the player receiving the message.
# %displayname% - Replaces the nickname (and colors) of the player receiving the message.
# 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このユーザー名はすでに登録されています'
# Password errors on registration
password:
match_error: '&cパスワードが一致しません。もう一度確認してください'
name_in_password: '&cパスワードには自分の名前を使用することはできません。別のパスワードを選択してください...'
unsafe_password: '&c選択したパスワードは安全ではありません。別のパスワードを選択してください...'
forbidden_characters: '&4パスワードに不正な文字が含まれています。許可されている文字: %valid_chars'
wrong_length: '&cパスワードが短すぎるか長すぎます別のパスワードを試してください'
# Login
login:
command_usage: '&c使用方法: /login <パスワード>'
wrong_password: '&cパスワードが間違っています'
success: '&2ログインが成功しました'
login_request: '&c次のコマンドを使用してログインしてください: /login <パスワード>'
timeout_error: '&4ログインのタイムアウトが発生しました。サーバーからキックされました。もう一度試してください'
# Errors
error:
unregistered_user: '&cこのユーザーは登録されていません'
denied_command: '&cこのコマンドを使用するには認証が必要です'
denied_chat: '&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プレイヤーがサーバーが満員の状態で参加しました'
logged_in: '&cすでにログイン済みです'
kick_unresolved_hostname: '&cエラーが発生しました解決できないプレイヤーのホスト名'
# AntiBot
antibot:
kick_antibot: 'AntiBot保護モードが有効ですサーバーに参加するまでにしばらくお待ちください。'
auto_enabled: '&4[AntiBotService] 接続数が非常に多いため、AntiBotが有効になりました'
auto_disabled: '&2[AntiBotService] %m 分後にAntiBotが無効になりました'
unregister:
success: '&c登録が正常に解除されました'
command_usage: '&c使用方法: /unregister <パスワード>'
# Other messages
misc:
accounts_owned_self: '所持しているアカウント数:%count 個'
accounts_owned_other: 'プレイヤー %name のアカウント数:%count 個'
account_not_activated: '&cアカウントはまだ有効化されていません。メールを確認してください'
password_changed: '&2パスワードが正常に変更されました'
logout: '&2正常にログアウトしました'
reload: '&2設定とデータベースが正常に再読み込みされました'
usage_change_password: '&c使用方法: /changepassword <旧パスワード> <新パスワード>'
# Session messages
session:
invalid_session: '&cIPアドレスが変更され、セッションのデータが期限切れです'
valid_session: '&2セッションの再接続によるログインです。'
# Error messages when joining
on_join_validation:
name_length: '&4ユーザー名が短すぎるか長すぎます'
characters_in_name: '&4ユーザー名に無効な文字が含まれています。許可される文字%valid_chars'
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:
usage_email_add: '&c使用方法/email add <メールアドレス> <メールアドレスの確認>'
usage_email_change: '&c使用方法/email change <古いメールアドレス> <新しいメールアドレス>'
new_email_invalid: '&c無効な新しいメールアドレスです。もう一度やり直してください'
old_email_invalid: '&c無効な古いメールアドレスです。もう一度やり直してください'
invalid: '&c無効なメールアドレスです。もう一度やり直してください'
added: '&2メールアドレスがアカウントに正常に追加されました'
request_confirmation: '&cメールアドレスを確認してください'
changed: '&2メールアドレスが正しく変更されました'
email_show: '&2現在のメールアドレスは%email'
incomplete_settings: 'エラー:メールの送信に必要なすべての設定が設定されていません。管理者に連絡してください。'
already_used: '&4そのメールアドレスは既に使用されています'
send_failure: 'メールを送信できませんでした。管理者に連絡してください。'
no_email_for_account: '&2現在、このアカウントに関連付けられたメールアドレスはありません。'
add_email_request: '&3コマンド「/email add <あなたのメールアドレス> <確認用メールアドレス>」を使用して、アカウントにメールアドレスを追加してください。'
change_password_expired: 'このコマンドを使用してパスワードを変更することはできません。'
email_cooldown_error: '&c最近すでにメールが送信されています。新しいメールを送信する前に、%time 待つ必要があります。'
add_not_allowed: '&cメールアドレスの追加は許可されていません。'
change_not_allowed: '&cメールアドレスの変更は許可されていません。'
# Password recovery by email
recovery:
forgot_password_hint: '&3パスワードを忘れましたか次のコマンドを使用してください/email recovery <あなたのメールアドレス>'
command_usage: '&c使用方法/email recovery <メールアドレス>'
email_sent: '&2パスワードの回復メールが正常に送信されましたメールの受信トレイを確認してください'
code:
code_sent: 'パスワードをリセットするための回復コードがメールで送信されました。'
incorrect: '回復コードが正しくありません!残りの試行回数:%count'
tries_exceeded: '回復コードの入力試行回数が上限を超えました。新しいコードを生成するには、"/email recovery [メールアドレス]" を実行してください。'
correct: '回復コードが正しく入力されました!'
change_password: '即座にパスワードを変更するには、コマンド「/email setpassword <新しいパスワード>」を使用してください。'
# Captcha
captcha:
usage_captcha: '&3ログインするには、Captchaコードを解決する必要があります。次のコマンドを使用してください/captcha %captcha_code'
wrong_captcha: '&cCaptchaコードが間違っています。チャットに「/captcha %captcha_code」と入力してください'
valid_captcha: '&2Captchaコードが正しく解決されました'
captcha_for_registration: '登録するには、まずCaptchaを解決する必要があります。次のコマンドを使用してください/captcha %captcha_code'
register_captcha_valid: '&2有効なCaptchaです/register を使用して登録できます'
# Verification code
verification:
code_required: '&3このコマンドはセンシティブな操作であり、メールの認証が必要です受信トレイを確認し、メールの指示に従ってください。'
command_usage: '&c使用方法/verification <コード>'
incorrect_code: '&cコードが正しくありません。メールで受け取ったコードを使用して、「/verification <コード>」とチャットに入力してください。'
success: '&2身元が確認されました現在のセッション内ですべてのコマンドを実行できます'
already_verified: '&2現在のセッションでは、既にすべてのセンシティブなコマンドを実行できます'
code_expired: '&3コードの有効期限が切れています新しいコードを取得するには、別のセンシティブなコマンドを実行してください'
email_needed: '&3アカウントにはメールアドレスのリンクが必要です。身元を確認するためにはメールアドレスを関連付けてください'
# Two-factor authentication
two_factor:
code_created: '&2秘密コードは %code です。こちらからスキャンできます:%url'
confirmation_required: 'コードを確認するには、/2fa confirm <コード> を使用してください'
code_required: '二要素認証コードを提出するには、/2fa code <コード> を使用してください'
already_enabled: 'アカウントで既に二要素認証が有効になっています!'
enable_error_no_code: '2要素認証キーが生成されていないか、期限が切れています。/2fa add を実行してください'
enable_success: 'アカウントでの二要素認証が正常に有効になりました'
enable_error_wrong_code: 'コードが間違っているか、期限が切れています。/2fa add を実行してください'
not_enabled_error: 'アカウントでは二要素認証が有効になっていません。/2fa add を実行してください'
removed_success: 'アカウントから二要素認証が正常に削除されました'
invalid_code: '無効なコードです!'
# Time units
time:
second: '秒'
seconds: '秒'
minute: '分'
minutes: '分'
hour: '時間'
hours: '時間'
day: '日'
days: '日'

View File

@ -5,153 +5,153 @@
# Registration # Registration
registration: registration:
disabled: '&6Registracija yra isjungta' disabled: '&6Registracija yra išjungta'
name_taken: '&cVartotojo vardas jau uzregistruotas' name_taken: '&cVartotojo vardas jau užregistruotas'
register_request: '&ePrasome prisiregistruoti: /register slaptazodis pakartotiSlaptazodi' register_request: '&ePrašome prisiregistruoti: /register slaptažodis pakartotiSlaptažodį'
command_usage: '&eNaudojimas: /register slaptazodis pakartotiSlaptazodi' command_usage: '&eNaudojimas: /register slaptažodis pakartotiSlaptažodį'
reg_only: '&cTik prisiregistravusiem zaidejams: apsilankykite: http://example.com tam kad uzsiregistruoti.' reg_only: '&cTik prisiregistravusiems žaidėjams: apsilankykite: http://example.com tam, kad užsiregistruoti.'
success: '&aSekmingai prisiregistravote.' success: '&aSėkmingai prisiregistravote.'
kicked_admin_registered: 'Administatorius jus uzregistravo. Prisijunkite isnaujo' kicked_admin_registered: 'Administatorius Jus užregistravo. Prisijunkite iš naujo'
# Password errors on registration # Password errors on registration
password: password:
match_error: '&cSlaptazodziai nesutampa' match_error: '&cSlaptažodžiai nesutampa'
name_in_password: '&cJus negalite naudoti savo varda slaptazodyje' name_in_password: '&cJūs negalite naudoti savo vardo slaptažodyje'
unsafe_password: '&cSi slaptazodi lengva nulausti, pasirinkite kita slaptazodi' unsafe_password: '&cŠį Slaptažodį lengva nulaužti, pasirinkite kitą slaptažodį'
forbidden_characters: '&4Jusus slaptazodis turi netinkamu simboliu. Leidziami simboliai: %valid_chars' forbidden_characters: '&4Jūsų slaptažodis turi netinkamų simbolių. Leidžiami simboliai: %valid_chars'
wrong_length: '&cJusu slaptazodis buvo per ilgas arba per trumpas.' wrong_length: '&cJūsų pasirinktas slaptažodis per ilgas arba per trumpas.'
# Login # Login
login: login:
command_usage: '&eKomandos panaudojimas: /login slaptazodis' command_usage: '&eKomandos panaudojimas: /login slaptažodis'
wrong_password: '&cNeteisingas slaptazosdis' wrong_password: '&cNeteisingas Slaptažosdis'
success: '&aSekmingai prisijungete' success: '&aSėkmingai prisijungėte'
login_request: '&ePrasome prisijungti: /login slaptazodis' login_request: '&ePrašome prisijungti: /login slaptažodis'
timeout_error: '&cNespejote prisijungti' timeout_error: '&cNespėjote prisijungti'
# Errors # Errors
error: error:
denied_command: '&cKad galetumete naudoti sia komanda turite buti prisijunge!' denied_command: '&cKad galetumėte naudoti šią komandą turite būti prisijungę!'
denied_chat: '&cKad galetumete kalbeti jus turite buti prisijunge!' denied_chat: '&cKad galetumėte kalbėti Jūs turite būti prisijungę!'
unregistered_user: '&cVartotojas neprisiregistraves' unregistered_user: '&cVartotojas neprisiregistravęs'
not_logged_in: '&cTu neprisijunges!' not_logged_in: '&cJūs neprisijungę!'
no_permission: '&cNera leidimo' no_permission: '&cNėra leidimo'
unexpected_error: '&cAtsirado klaida, praneskite adminstratoriui.' unexpected_error: '&cAtsirado klaida, praneškite adminstratoriui.'
max_registration: '&cJus pasiekete maksimalu registraciju skaiciu.' max_registration: '&cJūs pasiekėte maksimalų registracijų skaičių.'
logged_in: '&cTu jau prisijunges!' logged_in: '&cTu jau prisijungęs!'
kick_for_vip: '&cA VIP prisijunge i pilna serveri!' kick_for_vip: '&cRėmėjas prisijungė į pilną serverį!'
kick_unresolved_hostname: '&cIvyko klaida: Ivyko klaida su zaidejo adresu!' kick_unresolved_hostname: '&cĮvyko klaida su žaidejo adresu!'
tempban_max_logins: '&cJus laikinai uzblokuotas nes kelis kartus neteisingai suvedete salptazodi.' tempban_max_logins: '&cJūs laikinai užblokuotas, nes kelis kartus neteisingai suvedėte slaptažodį.'
# AntiBot # AntiBot
antibot: antibot:
kick_antibot: 'AntiBot prevencija ijungta! Palaukite pries prisijungiant.' kick_antibot: 'AntiBot prevencija įjungta! Palaukite prieš prisijungiant.'
auto_enabled: '&4[AntiBotService] AntiBot prevencija pajungta del didelio kiekio prisijungimu!' auto_enabled: '&4[AntiBotService] AntiBot prevencija pajungta dėl didelio kiekio prisijungimų!'
auto_disabled: '&2[AntiBotService] AntiBot isjungtas po: %m minutes!' auto_disabled: '&2[AntiBotService] AntiBot bus išjungtas po %m minučių!'
# Unregister # Unregister
unregister: unregister:
success: '&aSekmingai issiregistravote!' success: '&aSėkmingai išsiregistravote!'
command_usage: '&ePanaikinti registracija: "/unregister slaptazodis"' command_usage: '&ePanaikinti registraciją: "/unregister slaptažodis"'
# Other messages # Other messages
misc: misc:
account_not_activated: '&aJusu vartotojas nera patvirtintas, patikrinkite el.pasta.' account_not_activated: '&aJūsų vartotojas nėra patvirtintas, pasitikrinkite el.paštą.'
password_changed: '&aSlaptazodis pakeistas' password_changed: '&aSlaptažodis pakeistas'
logout: '&aSekmingai atsijungete' logout: '&aSėkmingai atsijungėte'
reload: '&aNustatymai ir duomenu baze buvo perkrauta.' reload: '&aNustatymai ir duomenų bazė buvo perkrauta.'
usage_change_password: '&ePanaudojimas: /changepassword senasSlaptazodis naujasSlaptazodis' usage_change_password: '&ePanaudojimas: /changepassword senasSlaptažodis naujasSlaptažodis'
accounts_owned_self: 'Jus turite %count paskyra(-s):' accounts_owned_self: 'Jūs turite %count paskyrą(-s):'
accounts_owned_other: 'Zaidejas %name turi %count paskyra(-s):' accounts_owned_other: 'Žaidejas %name turi %count paskyrą(-s):'
# Session messages # Session messages
session: session:
valid_session: '&aSesijos prisijungimas' valid_session: '&aAutomatinis sesijos prisijungimas'
invalid_session: '&cSesijos laikai nesutampa, prasome palaukti kol secija baigsis.' invalid_session: '&cSesijos laikai nesutampa. Prašome palaukti kol sesija baigsis.'
# Error messages when joining # Error messages when joining
on_join_validation: on_join_validation:
same_ip_online: 'Zaidejas su tuo paciu ip jau yra zaidime!' same_ip_online: 'Žaidejas su tuo pačiu IP adresu jau yra žaidime!'
same_nick_online: '&cKazkas situo vardu jau zaidzia.' same_nick_online: '&cKažkas šituo vardu jau žaidžia.'
name_length: '&cJusu varsdas yra per ilgas arba per trumpas.' name_length: '&cJūsų vardas yra per ilgas arba per trumpas.'
characters_in_name: '&cJusu varde yra neledziamu simboliu, leidziami: %valid_chars' characters_in_name: '&cJūsų varde yra neledziamų simbolių. Leidžiami: %valid_chars'
kick_full_server: '&cServeris yra pilnas, Atsiprasome.' kick_full_server: '&cServeris yra pilnas, atsiprašome.'
country_banned: '&4Jusu salis yra uzblokuota siame serveryje!' country_banned: '&4Jūsų šalis yra užblokuota šiame serveryje!'
not_owner_error: 'Tu neesi sios paskyros savininkas, pasirinkite kita varda!' not_owner_error: 'J0s nesate šios paskyros savininkas, pasirinkite kitą vardą!'
invalid_name_case: 'Turetumete prisijungti su vardu: %valid, o ne su: %invalid.' invalid_name_case: 'Turėtumėte prisijungti su vardu %valid, o ne su: %invalid.'
quick_command: 'Tu panaudojai komanda per greitai! Prisijunkite isnaujo ir siek tiek palaukite pries naudojant komandas.' quick_command: 'Jūs panaudojote komandą per greitai! Prisijunkite iš naujo ir šiek tiek palaukite prieš naudojant komandas.'
# Email # Email
email: email:
add_email_request: '&ePrasau pridekite savo el.pasta : /email add <el.pastas> <el.pastas>' add_email_request: '&ePrašome jūsų pridėti savo el.paštą : /email add <el.paštas> <el.paštas>'
usage_email_add: '&cNaudojimas: /email add <el.pastas> <el.pastas>' usage_email_add: '&cNaudojimas: /email add <el.paštas> <el.paštas>'
usage_email_change: '&cNaudojimas: /email change <senas el.pastas> <naujas el.pastas>' usage_email_change: '&cNaudojimas: /email change <senas el.pastas> <naujas el.pastas>'
new_email_invalid: '&cNeteisingas el.pastas, bandykite isnaujo!' new_email_invalid: '&cNeteisingas el.paštas, bandykite iš naujo!'
old_email_invalid: '&cNeteisingas senas el.pastas, bandykite isnaujo!' old_email_invalid: '&cNeteisingas senas el.paštas, bandykite iš naujo!'
invalid: '&cNeteisingas el.pastas, bandykite isnaujo!' invalid: '&cNeteisingas el.paštas, bandykite iš naujo!'
added: '&2El.pastas sekmingai pridetas!' added: '&2El.paštas sėkmingai pridėtas!'
add_not_allowed: '&cNaujo el.pasto pridejimas nera galimas' add_not_allowed: '&cNaujo el.pašto pridejimas nėra galimas'
request_confirmation: '&cPatvirtinkite savo el.pasta!' request_confirmation: '&cPatvirtinkite savo el.paštą!'
changed: '&2El.pasta pakeistas sekmingai!' changed: '&2El.paštą pakeistas sėkmingai!'
change_not_allowed: '&cEl.pasto keitimas nera galimas' change_not_allowed: '&cEl.pašto keitimas nėra galimas'
email_show: '&2Jusu dabartinis el.pasto adresas: &f%email' email_show: '&2Jūsų dabartinis el.pašto adresas: &f%email'
no_email_for_account: '&2Siuo metu jus neturite prideja jokio el.pasto adreso.' no_email_for_account: '&2Šiuo metu Jūs neturite pridėję jokio el.pašto adreso.'
already_used: '&4Jis el.pasto adresas jau yra naudojamas' already_used: '&4Jis el.pašto adresas jau yra naudojamas'
incomplete_settings: 'Klaidas: Nevisi nustatymai yra nustatyti laisko siuntimui. Susikietite su administratorium.' incomplete_settings: 'Klaida: Ne visi nustatymai yra nustatyti laiško siuntimui. Susikietite su administratoriumi.'
send_failure: 'El.pasto laiskas nebuvo issiustas. Susikietite su administratorium.' send_failure: 'El.pašto laiškas nebuvo išsiųstas. Susikietite su administratoriumi.'
change_password_expired: 'Jus nebegalite pakeisti savo slaptazodzio naudojant sia komanda.' change_password_expired: 'Jūs nebegalite pakeisti savo slaptažodzio naudojant šią komandą.'
email_cooldown_error: '&cEl.pasto laiskas jau buvo issiustas. Palaukite %time pries siunciant nauja.' email_cooldown_error: '&cEl.pašto laiškas jau buvo išsiųstas. Palaukite %time prieš šiunčiant naują.'
# Password recovery by email # Password recovery by email
recovery: recovery:
forgot_password_hint: '&cPamirsote slaptazodi? Rasykite: /email recovery el.pastas' forgot_password_hint: '&cPamiršote savo slaptažodį? Rašykite: /email recovery el.paštas'
command_usage: '&cNaudojimas: /email recovery el.pastas' command_usage: '&cNaudojimas: /email recovery el.paštas'
email_sent: '&2Laiskas i jusu pasto adresa buvo issiustas!' email_sent: '&2Laiškas į Jūsų el.pašto adresą buvo išsiųstas!'
code: code:
code_sent: 'Kodas slaptazodzio atstatymui buvo issiustas i jusu pasta.' code_sent: 'Kodas slaptažodžio atstatymui buvo išsiųstas į Jūsų el.paštą.'
incorrect: 'Kodas neteisingas! jums liko %count bandymai(-as).' incorrect: 'Kodas neteisingas! Jums liko %count bandymai(-as).'
tries_exceeded: 'Jus isnaudojote visus bandymus. Naudokite "/email recovery el.pastas" kad gauti nauja koda.' tries_exceeded: 'Jūs išnaudojote visus bandymus. Naudokite "/email recovery el.paštas", kad gauti naują kodą.'
correct: 'Kodas ivestas sekmingai!' correct: 'Kodas įvestas sėkmingai!'
change_password: 'Naudokite /email setpassword <Naujas_Slaptazodis> kad pasikeistumete slaptazodi.' change_password: 'Naudokite /email setpassword <Naujas_slaptažodis>, kad pasikeistumėte slaptažodį.'
# Captcha # Captcha
captcha: captcha:
usage_captcha: '&cPanaudojimas: /captcha %captcha_code' usage_captcha: '&cPanaudojimas: /captcha %captcha_code'
wrong_captcha: '&cNeteisinga Captcha, naudokite : /captcha %captcha_code' wrong_captcha: '&cNeteisinga captcha, naudokite : /captcha %captcha_code'
valid_captcha: '&cJusu captcha Teisinga!' valid_captcha: '&cJūsų captcha teisinga!'
captcha_for_registration: 'Kad prisiregistruotumete turite ivygdyti captcha, rasykite: /captcha %captcha_code' captcha_for_registration: 'Kad prisiregistruotumėte turite įvygdyti captchą. Rašykite: /captcha %captcha_code'
register_captcha_valid: '&2Captcha Teisinga! Galite naudoti /register' register_captcha_valid: '&2Captcha teisinga! Galite naudoti /register'
# Verification code # Verification code
verification: verification:
code_required: '&3Kad naudotumete sia komanda turi patvirtinti savo pasto adresa! Sekite instrukcijas savo el.paste.' code_required: '&3Kad galėtumėte naudoti šią komandą turite patvirtinti savo el.pašto adresą! Sekite instrukcijas savo el.pašte.'
command_usage: '&cNaudojimas: /verification <kodas>' command_usage: '&cNaudojimas: /verification <kodas>'
incorrect_code: '&cNeteisingas kodas, naudokite "/verification <kodas>" ivesdami koda gauta savo el.paste' incorrect_code: '&cNeteisingas kodas, naudokite "/verification <kodas>" įvesdami kodą gautą savo el.pašte'
success: '&2Jusu paskyra patvirtinta! Jus galite naudoti visas komandas!' success: '&2Jūsų paskyra patvirtinta! Jūs galite naudoti visas komandas!'
already_verified: '&2Jus jau esate patvirtintas ir galite naudoti visas komandas!' already_verified: '&2Jūs jau esate patvirtinę savo paskyrą ir galite naudoti visas komandas!'
code_expired: '&3Jusu kodo galiojimas baigesi! Panaudokite komanda isnaujo kad gauti nauja koda!' code_expired: '&3Jūsų kodo galiojimas baigėsi! Panaudokite komandą iš naujo, kad gautumėte naują kodą!'
email_needed: '&3Kad patvirtinti savo paskyra turite prideti el.pasto adresa!' email_needed: '&3Kad patvirtinti savo paskyra turite pridėti el.pašto adresą!'
# Time units # Time units
time: time:
second: 'sekunde' second: 'sekundę'
seconds: 'sekundes' seconds: 'sekundes'
minute: 'minute' minute: 'minutę'
minutes: 'minutes' minutes: 'minutes'
hour: 'valanda' hour: 'valandą'
hours: 'valandas' hours: 'valandas'
day: 'diena' day: 'dieną'
days: 'dienas' days: 'dienas'
# Two-factor authentication # Two-factor authentication
two_factor: two_factor:
code_created: '&2Tavo slaptas kodas yra %code. Ji gali nuskenuoti cia: %url' code_created: '&2Jūsų slaptas kodas yra %code. Jį galite nuskenuoti čia: %url'
confirmation_required: 'Patvirtinkite savo koda su: /2fa confirm <kodas>' confirmation_required: 'Patvirtinkite savo kodą su: /2fa confirm <kodas>'
code_required: 'Patvirkinkite savo koda su: /2fa code <kodas>' code_required: 'Patvirkinkite savo kodą su: /2fa code <kodas>'
already_enabled: 'Jus jau turite dvieju faktoriu autentifikacija!' already_enabled: 'Jūs jau turite dviejų faktorių autentifikaciją!'
enable_error_no_code: 'Jus neturite dvieju faktoriu autentifikacijos arba ji pasibaige. Rasykite /2fa add' enable_error_no_code: 'Jūs neturite dviejų faktorių autentifikacijos arba ji pasibaigė. Rašykite /2fa add'
enable_success: 'Dvieju faktoriu autentifikacija sekmingai ijungta' enable_success: 'Dviejų faktorių autentifikacija sėkmingai įjungta'
enable_error_wrong_code: 'Wrong code or code has expired. Please run /2fa add' enable_error_wrong_code: 'Neteisingas arba pasibaigęs kodas. Rašykite /2fa add'
not_enabled_error: 'Two-factor authentication is not enabled for your account. Run /2fa add' not_enabled_error: 'Dviejų faktorių autentifikavimas nėra įjungtas ant jūsų paskyros. Rašykite /2fa add'
removed_success: 'Successfully removed two-factor auth from your account' removed_success: 'Dviejų faktorių autentifikavimas sėkmingai pašalintas iš jūsų paskyros.'
invalid_code: 'Neteisingas kodas!' invalid_code: 'Neteisingas kodas!'

View File

@ -5,13 +5,13 @@
# Registration # Registration
registration: registration:
disabled: '&cRegistracija v igri je onemogočena!'
name_taken: '&cTo uporabniško ime ste ze registrirali!'
register_request: '&3Registrirajte se z ukazom "/register <geslo> <PotrdiGeslo>"' register_request: '&3Registrirajte se z ukazom "/register <geslo> <PotrdiGeslo>"'
command_usage: '&cUporaba: /register <geslo> <PotrdiGeslo>' command_usage: '&cUporaba: /register <geslo> <PotrdiGeslo>'
reg_only: '&4Samo registrirani uporabniki se lahko povezejo! Obiscite http://example.com , da se registrirate!' reg_only: '&4Samo registrirani uporabniki se lahko povezejo! Obiscite http://example.com , da se registrirate!'
kicked_admin_registered: 'Administrator vas je registriral; prosimo, da se prijavite.'
success: '&2Uspešno registriran!' success: '&2Uspešno registriran!'
disabled: '&cRegistracija v igri je onemogočena!' kicked_admin_registered: 'Administrator vas je registriral; prosimo, da se prijavite.'
name_taken: '&cTo uporabniško ime ste ze registrirali!'
# Password errors on registration # Password errors on registration
password: password:
@ -40,6 +40,7 @@ error:
max_registration: '&cPresegli ste največjo stevilo registracij (%reg_count/%max_acc %reg_names) za vašo povezavo!' max_registration: '&cPresegli ste največjo stevilo registracij (%reg_count/%max_acc %reg_names) za vašo povezavo!'
logged_in: '&cSte že povezani!' logged_in: '&cSte že povezani!'
kick_for_vip: '&3VIP igralec se je pridruzil serverju, ko je bil poln!' kick_for_vip: '&3VIP igralec se je pridruzil serverju, ko je bil poln!'
# TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!'
tempban_max_logins: '&cBil si začasno izločen zaradi preveč neuspešnih prijav.' tempban_max_logins: '&cBil si začasno izločen zaradi preveč neuspešnih prijav.'
# AntiBot # AntiBot
@ -131,6 +132,17 @@ verification:
code_expired: '&3Your code has expired! Execute another sensitive command to get a new code!' 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!' email_needed: '&3To verify your identity you need to link an email address with your account!'
# Time units
time:
second: 'sekunda'
seconds: 'sekund'
minute: 'minuta'
minutes: 'minut'
hour: 'ur'
hours: 'ure'
day: 'dan'
days: 'dni'
# Two-factor authentication # Two-factor authentication
two_factor: two_factor:
code_created: '&2Vasa skrivna koda je %code. Lahko je skenirate tu %url!' code_created: '&2Vasa skrivna koda je %code. Lahko je skenirate tu %url!'
@ -143,15 +155,3 @@ two_factor:
not_enabled_error: 'Dvo stopična prijava ni vključena za vaš račun. Uporabite /2fa add' 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.' removed_success: 'Usprešno ste odstranili dvo stopično prijavo za vaš račun.'
invalid_code: 'Nepravilna koda!' invalid_code: 'Nepravilna koda!'
# Time units
time:
second: 'sekunda'
seconds: 'sekund'
minute: 'minuta'
minutes: 'minut'
hour: 'ur'
hours: 'ure'
day: 'dan'
days: 'dni'

View File

@ -7,132 +7,132 @@
# Registration # Registration
registration: registration:
disabled: '&b【AuthMe】&6已關閉註冊功能' disabled: '&b【AuthMe】&6已關閉註冊功能'
name_taken: '&b【AuthMe】&6這個帳號已經被註冊過了!' name_taken: '&b【AuthMe】&6這個帳號已經被註冊過了'
register_request: '&b【AuthMe】&6請使用 "&c/register <密碼> <確認密碼>" 來註冊。' register_request: '&b【AuthMe】&6請使用 "&c/register <密碼> <確認密碼>" 來註冊。'
command_usage: '&b【AuthMe】&6用法: &c"/register <密碼> <確認密碼>"' command_usage: '&b【AuthMe】&6用法: &c"/register <密碼> <確認密碼>"'
reg_only: '&b【AuthMe】&6請到下列網站 :「 https://example.tw 」 進行註冊' reg_only: '&b【AuthMe】&6請到下列網站:「 https://example.tw 」進行註冊。'
success: '&b【AuthMe】&6您已成功註冊' success: '&b【AuthMe】&6您已成功註冊'
kicked_admin_registered: '&b【AuthMe】&6管理員已協助您註冊請重新登入' kicked_admin_registered: '&b【AuthMe】&6管理員已協助您註冊請重新登入'
# Password errors on registration # Password errors on registration
password: password:
match_error: '&b【AuthMe】&6兩次輸入的密碼不一致!' match_error: '&b【AuthMe】&6兩次輸入的密碼不一致'
name_in_password: '&b【AuthMe】&6您不可以用您的 ID (遊戲名稱) 來當作密碼 !' name_in_password: '&b【AuthMe】&6您不可以用您的 ID (遊戲名稱) 來當作密碼'
unsafe_password: '&b【AuthMe】&6您不可以使用這個不安全的密碼' unsafe_password: '&b【AuthMe】&6您不可以使用這個不安全的密碼'
forbidden_characters: '&b【AuthMe】&c密碼包含非法字符. 可使用: %valid_chars' forbidden_characters: '&b【AuthMe】&c密碼包含非法字符,可使用:%valid_chars'
wrong_length: '&b【AuthMe】&6您的密碼 超過最大字數 / 小於最小字數' wrong_length: '&b【AuthMe】&6您的密碼 超過最大字數 / 小於最小字數'
# Login # Login
login: login:
command_usage: '&b【AuthMe】&6用法: &c"/login <密碼>"' command_usage: '&b【AuthMe】&6用法: &c"/login <密碼>"'
wrong_password: '&b【AuthMe】&6密碼錯誤!' wrong_password: '&b【AuthMe】&6密碼錯誤'
success: '&b【AuthMe】&6密碼正確您已成功登入!' success: '&b【AuthMe】&6密碼正確您已成功登入'
login_request: '&b【AuthMe】&6請使用 &c"/login <密碼>" &6來登入。' login_request: '&b【AuthMe】&6請使用 &c"/login <密碼>" &6來登入。'
timeout_error: '&b【AuthMe】&6超過登入時間請稍後再試一次' timeout_error: '&b【AuthMe】&6超過登入時間請稍後再試一次'
# Errors # Errors
error: error:
denied_command: '&b【AuthMe】&c使用指令之前必須通過驗證!' denied_command: '&b【AuthMe】&c使用指令之前必須通過驗證'
denied_chat: '&b【AuthMe】&c說話之前必須通過驗證!' denied_chat: '&b【AuthMe】&c說話之前必須通過驗證'
unregistered_user: '&b【AuthMe】&6這個帳號還沒有註冊過' unregistered_user: '&b【AuthMe】&6這個帳號還沒有註冊過'
not_logged_in: '&b【AuthMe】&6您還沒有登入!' not_logged_in: '&b【AuthMe】&6您還沒有登入'
no_permission: '&b【AuthMe】&6您沒有使用該指令的權限。' no_permission: '&b【AuthMe】&6您沒有使用該指令的權限。'
unexpected_error: '&b【AuthMe】&6發生錯誤請聯繫管理員' unexpected_error: '&b【AuthMe】&6發生錯誤請聯繫管理員'
max_registration: '&b【AuthMe】&6您的 IP 位置所註冊的帳號數量已經達到最大。' max_registration: '&b【AuthMe】&6您的 IP 位置所註冊的帳號數量已經達到最大限制。'
logged_in: '&b【AuthMe】&6您已經登入了!' logged_in: '&b【AuthMe】&6您已經登入了'
kick_for_vip: '&b【AuthMe】&6您已經被請出。&c原因 : 有 VIP 玩家登入伺服器' kick_for_vip: '&b【AuthMe】&6您已經被請出。&c原因有 VIP 玩家登入伺服器'
# TODO kick_unresolved_hostname: '&cAn error occurred: unresolved player hostname!' kick_unresolved_hostname: '&b【AuthMe】&6無法解析玩家主機名稱。'
tempban_max_logins: '&b【AuthMe】&c您已被暫時封鎖IP位置因為您登入失敗太多次.' tempban_max_logins: '&b【AuthMe】&c您已被暫時封鎖IP位置因為您登入失敗太多次'
# AntiBot # AntiBot
antibot: antibot:
kick_antibot: '&b【AuthMe】&cAntiBotMod 正在啟用中,請稍後再嘗試登入吧!' kick_antibot: '&b【AuthMe】&cAntiBotMod 正在啟用中,請稍後再嘗試登入吧!'
auto_enabled: '&b【AuthMe】&6AntiBotMod 已自動啟用!' auto_enabled: '&b【AuthMe】&6AntiBotMod 已自動啟用'
auto_disabled: '&b【AuthMe】&6AntiBotMod 將於 &c%m &6分鐘後自動關閉' auto_disabled: '&b【AuthMe】&6AntiBotMod 將於 &c%m &6分鐘後自動關閉'
# Unregister # Unregister
unregister: unregister:
success: '&b【AuthMe】&6您已經成功註銷。' success: '&b【AuthMe】&6您已經成功註銷。'
command_usage: '&b【AuthMe】&6用法: &c"/unregister <密碼>"' command_usage: '&b【AuthMe】&6用法&c"/unregister <密碼>"'
# Other messages # Other messages
misc: misc:
account_not_activated: '&b【AuthMe】&6您的帳號還沒有經過驗證! 檢查看看您的電子信箱 (Email) 吧!' account_not_activated: '&b【AuthMe】&6您的帳號還沒有經過驗證!檢查看看您的電子郵件 (Email) 吧!'
password_changed: '&b【AuthMe】&6密碼變更成功!' password_changed: '&b【AuthMe】&6密碼變更成功'
logout: '&b【AuthMe】&6您已成功登出' logout: '&b【AuthMe】&6您已成功登出'
reload: '&b【AuthMe】&6已重新讀取設定檔及資料庫' reload: '&b【AuthMe】&6已重新讀取設定檔及資料庫'
usage_change_password: '&b【AuthMe】&6用法: &c"/changepassword <舊密碼> <新密碼>"' usage_change_password: '&b【AuthMe】&6用法&c"/changepassword <舊密碼> <新密碼>"'
accounts_owned_self: '&b【AuthMe】&6您擁有 %count 個帳號:' accounts_owned_self: '&b【AuthMe】&6您擁有 %count 個帳號'
accounts_owned_other: '&b【AuthMe】&6玩家 %name 擁有 %count 個帳號:' accounts_owned_other: '&b【AuthMe】&6玩家 %name 擁有 %count 個帳號'
# Session messages # Session messages
session: session:
valid_session: '&b【AuthMe】&6您已經成功登入!' valid_session: '&b【AuthMe】&6您已經成功登入'
invalid_session: '&b【AuthMe】&6Session驗證不相符!' invalid_session: '&b【AuthMe】&6Session驗證不相符'
# Error messages when joining # Error messages when joining
on_join_validation: on_join_validation:
same_ip_online: '&b【AuthMe】&6同樣IP玩家在線上!' same_ip_online: '&b【AuthMe】&6相同IP玩家在線上'
same_nick_online: '&b【AuthMe】&6有同樣帳號的玩家在線上!' same_nick_online: '&b【AuthMe】&6有同樣帳號的玩家在線上'
name_length: '&b【AuthMe】&6您的暱稱 太長 / 太短 了!' name_length: '&b【AuthMe】&6您的暱稱 太長 / 太短 了'
characters_in_name: '&b【AuthMe】&6暱稱裡能使用的字符為 %valid_chars' characters_in_name: '&b【AuthMe】&6暱稱裡能使用的字符為 %valid_chars'
kick_full_server: '&b【AuthMe】&6伺服器已經滿了請等等再試一次' kick_full_server: '&b【AuthMe】&6伺服器已經滿了請等等再試一次'
country_banned: '&b【AuthMe】&6您所在的地區無法進入此伺服器' country_banned: '&b【AuthMe】&6您所在的地區無法進入此伺服器'
not_owner_error: '&b【AuthMe】&4警告&c您並不是此帳戶持有人請立即登出。' not_owner_error: '&b【AuthMe】&4警告&c您並不是此帳戶持有人請立即登出。'
invalid_name_case: '&b【AuthMe】&4警告&c您應該使用「%valid」而並非「%invalid」登入遊戲。' invalid_name_case: '&b【AuthMe】&4警告&c您應該使用「%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: '&b【AuthMe】&4指令使用過快請加入伺服器後稍等一下再使用指令。'
# Email # Email
email: email:
add_email_request: '&b【AuthMe】&6請使用 &c"/email add <您的Email> <再次輸入您的Email>" &6來添加 Email' add_email_request: '&b【AuthMe】&6請使用 &c"/email add <電子郵件> <再次輸入電子郵件>" &6來新增電子郵件'
usage_email_add: '&b【AuthMe】&6用法: &c"/email add <您的Email> <重複Email>"' usage_email_add: '&b【AuthMe】&6用法: &c"/email add <電子郵件> <再次輸入電子郵件>"'
usage_email_change: '&b【AuthMe】&6用法: &c"/email change <舊的Email> <新的Email>"' usage_email_change: '&b【AuthMe】&6用法: &c"/email change <舊的電子郵件> <新的電子郵件>"'
new_email_invalid: '&b【AuthMe】&6新的Email無效!' new_email_invalid: '&b【AuthMe】&6新的電子郵件無效!'
old_email_invalid: '&b【AuthMe】&6舊的Email無效!' old_email_invalid: '&b【AuthMe】&6舊的電子郵件無效!'
invalid: '&b【AuthMe】&6無效的Email!' invalid: '&b【AuthMe】&6無效的電子郵件!'
added: '&b【AuthMe】&6已添加Email!' added: '&b【AuthMe】&6已新增電子郵件!'
# TODO add_not_allowed: '&cAdding email was not allowed' add_not_allowed: '&b【AuthMe】&c不允許新增電子郵件'
request_confirmation: '&b【AuthMe】&6請驗證您的Email!' request_confirmation: '&b【AuthMe】&6請驗證您的電子郵件!'
changed: '&b【AuthMe】&6Email已變更!' changed: '&b【AuthMe】&6電子郵件已變更!'
# TODO change_not_allowed: '&cChanging email was not allowed' change_not_allowed: '&b【AuthMe】&c不允許變更電子郵件'
email_show: '&b【AuthMe】&2目前的電子郵件: &f%email' email_show: '&b【AuthMe】&2目前的電子郵件&f%email'
no_email_for_account: '&b【AuthMe】&2您目前沒有設置電子郵件.' no_email_for_account: '&b【AuthMe】&2您目前沒有設定電子郵件。'
already_used: '&b【AuthMe】&4這個電郵地址已被使用。' already_used: '&b【AuthMe】&4這個電子郵件已被使用。'
incomplete_settings: '&b【AuthMe】&4因為電子郵件設定無完整導致無法傳送,請聯絡管理員.' incomplete_settings: '&b【AuthMe】&4因為電子郵件設定不完整導致無法傳送,請聯絡管理員。'
send_failure: '&b【AuthMe】&4無法傳送電子郵件請聯絡管理員.' send_failure: '&b【AuthMe】&4無法傳送電子郵件請聯絡管理員'
change_password_expired: '&b【AuthMe】&6您現在不能使用這個指令變更密碼了.' change_password_expired: '&b【AuthMe】&6您現在不能使用這個指令變更密碼了'
email_cooldown_error: '&b【AuthMe】&c電子郵件已經寄出了. 您只能在 %time 後才能傳送.' email_cooldown_error: '&b【AuthMe】&c電子郵件已經寄出了,您只能在 %time 後才能傳送。'
# Password recovery by email # Password recovery by email
recovery: recovery:
forgot_password_hint: '&b【AuthMe】&6忘記密碼了嗎? 使用 &c"/email recovery <您的Email>"' forgot_password_hint: '&b【AuthMe】&6忘記密碼了嗎?使用 &c"/email recovery <電子郵件>"'
command_usage: '&b【AuthMe】&6用法: &c"/email recovery <您的Email>"' command_usage: '&b【AuthMe】&6用法: &c"/email recovery <電子郵件>"'
email_sent: '&b【AuthMe】&6已經送出重設密碼要求至您的Email , 請查收。' email_sent: '&b【AuthMe】&6已經送出重設密碼要求至您的電子郵件,請查收。'
code: code:
code_sent: '&b【AuthMe】&6忘記密碼的恢復密碼電子郵件已傳送至您的信箱中.' code_sent: '&b【AuthMe】&6忘記密碼的恢復密碼電子郵件已傳送至您的信箱中'
incorrect: '&b【AuthMe】&6恢復密碼錯誤! 您剩餘 %count 次嘗試機會.' incorrect: '&b【AuthMe】&6恢復密碼錯誤!您剩餘 %count 次嘗試機會。'
tries_exceeded: '&b【AuthMe】&6恢復密碼過多次數錯誤. 使用 "/email recovery [email]" 取得新的恢復密碼.' tries_exceeded: '&b【AuthMe】&6恢復密碼過多次數錯誤。使用 "/email recovery [電子郵件]" 取得新的恢復密碼。'
correct: '&b【AuthMe】&6恢復密碼正確!' correct: '&b【AuthMe】&6恢復密碼正確'
change_password: '&b【AuthMe】&6請使用 "/email setpassword <新密碼>" 變更您的密碼.' change_password: '&b【AuthMe】&6請使用 "/email setpassword <新密碼>" 變更您的密碼'
# Captcha # Captcha
captcha: captcha:
usage_captcha: '&b【AuthMe】&6請用 &c"/captcha %captcha_code" &6來輸入您的驗證碼.' usage_captcha: '&b【AuthMe】&6請用 &c"/captcha %captcha_code" &6來輸入您的驗證碼'
wrong_captcha: '&b【AuthMe】&6錯誤的驗證碼請使用 "/captcha %captcha_code" 再試一次.' wrong_captcha: '&b【AuthMe】&6錯誤的驗證碼請使用 "/captcha %captcha_code" 再試一次'
valid_captcha: '&b【AuthMe】&6驗證碼無效!' valid_captcha: '&b【AuthMe】&6驗證碼無效'
# TODO captcha_for_registration: 'To register you have to solve a captcha first, please use the command: /captcha %captcha_code' captcha_for_registration: '&b【AuthMe】&6註冊前必須先提供驗證碼使用 /captcha %captcha_code 來驗證。'
# TODO register_captcha_valid: '&2Valid captcha! You may now register with /register' register_captcha_valid: '&b【AuthMe】&2驗證已通過現在可以使用 /register 來進行註冊了。'
# Verification code # Verification code
verification: verification:
code_required: '&b【AuthMe】&3敏感指令需要電子郵件驗證後才能執行請檢查電子郵件.' code_required: '&b【AuthMe】&3敏感指令需要電子郵件驗證後才能執行請檢查電子郵件'
command_usage: '&b【AuthMe】&c用法: /verification <驗證碼>' command_usage: '&b【AuthMe】&c用法/verification <驗證碼>'
incorrect_code: '&b【AuthMe】&c驗證碼錯誤請在聊天室使用 "/verification <驗證碼>" 電子郵件收到的驗證碼' incorrect_code: '&b【AuthMe】&c驗證碼錯誤請在聊天室使用 "/verification <驗證碼>" 電子郵件收到的驗證碼'
success: '&b【AuthMe】&2身分已驗證您現在可以使用所有指令!' success: '&b【AuthMe】&2身分已驗證您現在可以使用所有指令'
already_verified: '&b【AuthMe】&2您已經可以使用所有指令!' already_verified: '&b【AuthMe】&2您已經可以使用所有指令'
code_expired: '&b【AuthMe】&3驗證碼已過期請使用其他敏感指令來取得新的驗證碼!' code_expired: '&b【AuthMe】&3驗證碼已過期請使用其他敏感指令來取得新的驗證碼'
email_needed: '&b【AuthMe】&3若需要身分驗證請先添加電子郵件!!' email_needed: '&b【AuthMe】&3若需要身分驗證請先新增電子郵件!'
# Time units # Time units
time: time:
@ -147,13 +147,13 @@ time:
# Two-factor authentication # Two-factor authentication
two_factor: two_factor:
code_created: '&b【AuthMe - 兩步驗證碼】&b您的登入金鑰為&9「%c%code&9」&b掃描連結為&c %url' code_created: '&b【AuthMe】&b您的登入金鑰為&9「%c%code&9」&b掃描連結為&c %url'
# TODO confirmation_required: 'Please confirm your code with /2fa confirm <code>' confirmation_required: '&b【AuthMe】&6請使用 /2fa confirm <驗證碼> 來確認雙重驗證。'
# TODO code_required: 'Please submit your two-factor authentication code with /2fa code <code>' code_required: '&b【AuthMe】&c請使用 /2fa code <驗證碼> 來完成驗證。'
# TODO already_enabled: 'Two-factor authentication is already enabled for your account!' already_enabled: '&b【AuthMe】&c雙重驗證已經開啟。'
# TODO enable_error_no_code: 'No 2fa key has been generated for you or it has expired. Please run /2fa add' enable_error_no_code: '&b【AuthMe】&6雙重驗證代碼不存在或失效使用 /2fa add 來新增。'
# TODO enable_success: 'Successfully enabled two-factor authentication for your account' enable_success: '&b【AuthMe】&6雙重驗證已開啟'
# TODO enable_error_wrong_code: 'Wrong code or code has expired. Please run /2fa add' enable_error_wrong_code: '&b【AuthMe】&6雙重驗證代碼錯誤或失效使用 /2fa add 來新增。'
# TODO not_enabled_error: 'Two-factor authentication is not enabled for your account. Run /2fa add' not_enabled_error: '&b【AuthMe】&6雙重驗證尚未開啟使用 /2fa add 來開啟。'
# TODO removed_success: 'Successfully removed two-factor auth from your account' removed_success: '&b【AuthMe】&6雙重驗證已成功移除'
# TODO invalid_code: 'Invalid code!' invalid_code: '&b【AuthMe】&c驗證碼錯誤。'