diff --git a/.env.docker.example b/.env.docker.example
index 5d3ded4a9c..a24e4bb1d8 100644
--- a/.env.docker.example
+++ b/.env.docker.example
@@ -43,8 +43,8 @@ INFLUXDB_PASSWORD=
INFLUXDB_SSL=
INFLUXDB_VERIFYSSL=false
INFLUXDB_TIMEOUT=0
-INFLUXDB_UDP_ENABLED=false # Activate UDP
-INFLUXDB_UDP_PORT=4444 # Port for UDP
+INFLUXDB_UDP_ENABLED=false# Activate UDP
+INFLUXDB_UDP_PORT=4444# Port for UDP
BROADCAST_DRIVER=redis
CACHE_DRIVER=redis
diff --git a/.env.example b/.env.example
index e8af2de889..4d1c2bed91 100644
--- a/.env.example
+++ b/.env.example
@@ -43,8 +43,8 @@ INFLUXDB_PASSWORD=
INFLUXDB_SSL=
INFLUXDB_VERIFYSSL=false
INFLUXDB_TIMEOUT=0
-INFLUXDB_UDP_ENABLED=false # Activate UDP
-INFLUXDB_UDP_PORT=4444 # Port for UDP
+INFLUXDB_UDP_ENABLED=false# Activate UDP
+INFLUXDB_UDP_PORT=4444# Port for UDP
BROADCAST_DRIVER=redis
CACHE_DRIVER=redis
diff --git a/config/language.php b/config/language.php
index 17ec28b231..03d06bc743 100644
--- a/config/language.php
+++ b/config/language.php
@@ -140,7 +140,7 @@
*/
// Only allow DE when debugging, it's still WIP
- 'allowed' => env('APP_DEBUG') ? ['en-US', 'de-DE', 'ru-RU', 'ho-HO'] : ['en-US', 'ru-RU'],
+ 'allowed' => env('APP_DEBUG') ? ['en_US', 'de_DE', 'ru_RU', 'ho_HO'] : ['en_US', 'ru_RU'],
/*
|--------------------------------------------------------------------------
@@ -152,60 +152,60 @@
*/
'all' => [
- ['short' => 'ar', 'long' => 'ar-SA', 'english' => 'Arabic', 'native' => 'العربية'],
- ['short' => 'bg', 'long' => 'bg-BG', 'english' => 'Bulgarian', 'native' => 'български'],
- ['short' => 'bn', 'long' => 'bn-BD', 'english' => 'Bengali', 'native' => 'বাংলা'],
- ['short' => 'cn', 'long' => 'zh-CN', 'english' => 'Chinese (S)', 'native' => '简体中文'],
- ['short' => 'cs', 'long' => 'cs-CZ', 'english' => 'Czech', 'native' => 'Čeština'],
- ['short' => 'da', 'long' => 'da-DK', 'english' => 'Danish', 'native' => 'Dansk'],
- ['short' => 'de', 'long' => 'de-DE', 'english' => 'German', 'native' => 'Deutsch'],
- ['short' => 'de', 'long' => 'de-AT', 'english' => 'Austrian', 'native' => 'Österreichisches Deutsch'],
- ['short' => 'fi', 'long' => 'fi-FI', 'english' => 'Finnish', 'native' => 'Suomi'],
- ['short' => 'fr', 'long' => 'fr-FR', 'english' => 'French', 'native' => 'Français'],
- ['short' => 'el', 'long' => 'el-GR', 'english' => 'Greek', 'native' => 'Ελληνικά'],
- ['short' => 'en', 'long' => 'en-AU', 'english' => 'English (AU)', 'native' => 'English (AU)'],
- ['short' => 'en', 'long' => 'en-CA', 'english' => 'English (CA)', 'native' => 'English (CA)'],
- ['short' => 'en', 'long' => 'en-GB', 'english' => 'English (GB)', 'native' => 'English (GB)'],
- ['short' => 'en', 'long' => 'en-US', 'english' => 'English (US)', 'native' => 'English (US)'],
- ['short' => 'es', 'long' => 'es-ES', 'english' => 'Spanish', 'native' => 'Español'],
- ['short' => 'et', 'long' => 'et-EE', 'english' => 'Estonian', 'native' => 'Eesti'],
- ['short' => 'he', 'long' => 'he-IL', 'english' => 'Hebrew', 'native' => 'עִבְרִית'],
- ['short' => 'hi', 'long' => 'hi-IN', 'english' => 'Hindi', 'native' => 'हिन्दी'],
- ['short' => 'ho', 'long' => 'ho-HO', 'english' => 'Hodor', 'native' => 'Hodor'],
- ['short' => 'hr', 'long' => 'hr-HR', 'english' => 'Croatian', 'native' => 'Hrvatski'],
- ['short' => 'hu', 'long' => 'hu-HU', 'english' => 'Hungarian', 'native' => 'Magyar'],
- ['short' => 'hy', 'long' => 'hy-AM', 'english' => 'Armenian', 'native' => 'Հայերեն'],
- ['short' => 'id', 'long' => 'id-ID', 'english' => 'Indonesian', 'native' => 'Bahasa Indonesia'],
- ['short' => 'it', 'long' => 'it-IT', 'english' => 'Italian', 'native' => 'Italiano'],
- ['short' => 'ir', 'long' => 'fa-IR', 'english' => 'Persian', 'native' => 'فارسی'],
- ['short' => 'jp', 'long' => 'ja-JP', 'english' => 'Japanese', 'native' => '日本語'],
- ['short' => 'ka', 'long' => 'ka-GE', 'english' => 'Georgian', 'native' => 'ქართული'],
- ['short' => 'ko', 'long' => 'ko-KR', 'english' => 'Korean', 'native' => '한국어'],
- ['short' => 'lt', 'long' => 'lt-LT', 'english' => 'Lithuanian', 'native' => 'Lietuvių'],
- ['short' => 'lv', 'long' => 'lv-LV', 'english' => 'Latvian', 'native' => 'Latviešu valoda'],
- ['short' => 'mk', 'long' => 'mk-MK', 'english' => 'Macedonian', 'native' => 'Македонски јазик'],
- ['short' => 'ms', 'long' => 'ms-MY', 'english' => 'Malay', 'native' => 'Bahasa Melayu'],
- ['short' => 'mx', 'long' => 'es-MX', 'english' => 'Mexico', 'native' => 'Español de México'],
- ['short' => 'nb', 'long' => 'nb-NO', 'english' => 'Norwegian', 'native' => 'Norsk Bokmål'],
- ['short' => 'ne', 'long' => 'ne-NP', 'english' => 'Nepali', 'native' => 'नेपाली'],
- ['short' => 'nl', 'long' => 'nl-NL', 'english' => 'Dutch', 'native' => 'Nederlands'],
- ['short' => 'pl', 'long' => 'pl-PL', 'english' => 'Polish', 'native' => 'Polski'],
- ['short' => 'pt-BR', 'long' => 'pt-BR', 'english' => 'Brazilian', 'native' => 'Português do Brasil'],
- ['short' => 'pt', 'long' => 'pt-PT', 'english' => 'Portuguese', 'native' => 'Português'],
- ['short' => 'ro', 'long' => 'ro-RO', 'english' => 'Romanian', 'native' => 'Română'],
- ['short' => 'ru', 'long' => 'ru-RU', 'english' => 'Russian', 'native' => 'Русский'],
- ['short' => 'sr', 'long' => 'sr-RS', 'english' => 'Serbian (Cyrillic)', 'native' => 'Српски језик'],
- ['short' => 'sr', 'long' => 'sr-CS', 'english' => 'Serbian (Latin)', 'native' => 'Српски језик'],
- ['short' => 'sq', 'long' => 'sq-AL', 'english' => 'Albanian', 'native' => 'Shqip'],
- ['short' => 'sk', 'long' => 'sk-SK', 'english' => 'Slovak', 'native' => 'Slovenčina'],
- ['short' => 'sl', 'long' => 'sl-SL', 'english' => 'Slovenian', 'native' => 'Slovenščina'],
- ['short' => 'sv', 'long' => 'sv-SE', 'english' => 'Swedish', 'native' => 'Svenska'],
- ['short' => 'th', 'long' => 'th-TH', 'english' => 'Thai', 'native' => 'ไทย'],
- ['short' => 'tr', 'long' => 'tr-TR', 'english' => 'Turkish', 'native' => 'Türkçe'],
- ['short' => 'tw', 'long' => 'zh-TW', 'english' => 'Chinese (T)', 'native' => '繁體中文'],
- ['short' => 'uk', 'long' => 'uk-UA', 'english' => 'Ukrainian', 'native' => 'Українська'],
- ['short' => 'ur', 'long' => 'ur-PK', 'english' => 'Urdu (Pakistan)', 'native' => 'اردو'],
- ['short' => 'uz', 'long' => 'uz-UZ', 'english' => 'Uzbek', 'native' => "O'zbek"],
- ['short' => 'vi', 'long' => 'vi-VN', 'english' => 'Vietnamese', 'native' => 'Tiếng Việt'],
+ ['short' => 'ar', 'long' => 'ar_SA', 'english' => 'Arabic', 'native' => 'العربية'],
+ ['short' => 'bg', 'long' => 'bg_BG', 'english' => 'Bulgarian', 'native' => 'български'],
+ ['short' => 'bn', 'long' => 'bn_BD', 'english' => 'Bengali', 'native' => 'বাংলা'],
+ ['short' => 'cn', 'long' => 'zh_CN', 'english' => 'Chinese (S)', 'native' => '简体中文'],
+ ['short' => 'cs', 'long' => 'cs_CZ', 'english' => 'Czech', 'native' => 'Čeština'],
+ ['short' => 'da', 'long' => 'da_DK', 'english' => 'Danish', 'native' => 'Dansk'],
+ ['short' => 'de', 'long' => 'de_DE', 'english' => 'German', 'native' => 'Deutsch'],
+ ['short' => 'de', 'long' => 'de_AT', 'english' => 'Austrian', 'native' => 'Österreichisches Deutsch'],
+ ['short' => 'fi', 'long' => 'fi_FI', 'english' => 'Finnish', 'native' => 'Suomi'],
+ ['short' => 'fr', 'long' => 'fr_FR', 'english' => 'French', 'native' => 'Français'],
+ ['short' => 'el', 'long' => 'el_GR', 'english' => 'Greek', 'native' => 'Ελληνικά'],
+ ['short' => 'en', 'long' => 'en_AU', 'english' => 'English (AU)', 'native' => 'English (AU)'],
+ ['short' => 'en', 'long' => 'en_CA', 'english' => 'English (CA)', 'native' => 'English (CA)'],
+ ['short' => 'en', 'long' => 'en_GB', 'english' => 'English (GB)', 'native' => 'English (GB)'],
+ ['short' => 'en', 'long' => 'en_US', 'english' => 'English (US)', 'native' => 'English (US)'],
+ ['short' => 'es', 'long' => 'es_ES', 'english' => 'Spanish', 'native' => 'Español'],
+ ['short' => 'et', 'long' => 'et_EE', 'english' => 'Estonian', 'native' => 'Eesti'],
+ ['short' => 'he', 'long' => 'he_IL', 'english' => 'Hebrew', 'native' => 'עִבְרִית'],
+ ['short' => 'hi', 'long' => 'hi_IN', 'english' => 'Hindi', 'native' => 'हिन्दी'],
+ ['short' => 'ho', 'long' => 'ho_HO', 'english' => 'Hodor', 'native' => 'Hodor'],
+ ['short' => 'hr', 'long' => 'hr_HR', 'english' => 'Croatian', 'native' => 'Hrvatski'],
+ ['short' => 'hu', 'long' => 'hu_HU', 'english' => 'Hungarian', 'native' => 'Magyar'],
+ ['short' => 'hy', 'long' => 'hy_AM', 'english' => 'Armenian', 'native' => 'Հայերեն'],
+ ['short' => 'id', 'long' => 'id_ID', 'english' => 'Indonesian', 'native' => 'Bahasa Indonesia'],
+ ['short' => 'it', 'long' => 'it_IT', 'english' => 'Italian', 'native' => 'Italiano'],
+ ['short' => 'ir', 'long' => 'fa_IR', 'english' => 'Persian', 'native' => 'فارسی'],
+ ['short' => 'jp', 'long' => 'ja_JP', 'english' => 'Japanese', 'native' => '日本語'],
+ ['short' => 'ka', 'long' => 'ka_GE', 'english' => 'Georgian', 'native' => 'ქართული'],
+ ['short' => 'ko', 'long' => 'ko_KR', 'english' => 'Korean', 'native' => '한국어'],
+ ['short' => 'lt', 'long' => 'lt_LT', 'english' => 'Lithuanian', 'native' => 'Lietuvių'],
+ ['short' => 'lv', 'long' => 'lv_LV', 'english' => 'Latvian', 'native' => 'Latviešu valoda'],
+ ['short' => 'mk', 'long' => 'mk_MK', 'english' => 'Macedonian', 'native' => 'Македонски јазик'],
+ ['short' => 'ms', 'long' => 'ms_MY', 'english' => 'Malay', 'native' => 'Bahasa Melayu'],
+ ['short' => 'mx', 'long' => 'es_MX', 'english' => 'Mexico', 'native' => 'Español de México'],
+ ['short' => 'nb', 'long' => 'nb_NO', 'english' => 'Norwegian', 'native' => 'Norsk Bokmål'],
+ ['short' => 'ne', 'long' => 'ne_NP', 'english' => 'Nepali', 'native' => 'नेपाली'],
+ ['short' => 'nl', 'long' => 'nl_NL', 'english' => 'Dutch', 'native' => 'Nederlands'],
+ ['short' => 'pl', 'long' => 'pl_PL', 'english' => 'Polish', 'native' => 'Polski'],
+ ['short' => 'pt_BR', 'long' => 'pt_BR', 'english' => 'Brazilian', 'native' => 'Português do Brasil'],
+ ['short' => 'pt', 'long' => 'pt_PT', 'english' => 'Portuguese', 'native' => 'Português'],
+ ['short' => 'ro', 'long' => 'ro_RO', 'english' => 'Romanian', 'native' => 'Română'],
+ ['short' => 'ru', 'long' => 'ru_RU', 'english' => 'Russian', 'native' => 'Русский'],
+ ['short' => 'sr', 'long' => 'sr_RS', 'english' => 'Serbian (Cyrillic)', 'native' => 'Српски језик'],
+ ['short' => 'sr', 'long' => 'sr_CS', 'english' => 'Serbian (Latin)', 'native' => 'Српски језик'],
+ ['short' => 'sq', 'long' => 'sq_AL', 'english' => 'Albanian', 'native' => 'Shqip'],
+ ['short' => 'sk', 'long' => 'sk_SK', 'english' => 'Slovak', 'native' => 'Slovenčina'],
+ ['short' => 'sl', 'long' => 'sl_SL', 'english' => 'Slovenian', 'native' => 'Slovenščina'],
+ ['short' => 'sv', 'long' => 'sv_SE', 'english' => 'Swedish', 'native' => 'Svenska'],
+ ['short' => 'th', 'long' => 'th_TH', 'english' => 'Thai', 'native' => 'ไทย'],
+ ['short' => 'tr', 'long' => 'tr_TR', 'english' => 'Turkish', 'native' => 'Türkçe'],
+ ['short' => 'tw', 'long' => 'zh_TW', 'english' => 'Chinese (T)', 'native' => '繁體中文'],
+ ['short' => 'uk', 'long' => 'uk_UA', 'english' => 'Ukrainian', 'native' => 'Українська'],
+ ['short' => 'ur', 'long' => 'ur_PK', 'english' => 'Urdu (Pakistan)', 'native' => 'اردو'],
+ ['short' => 'uz', 'long' => 'uz_UZ', 'english' => 'Uzbek', 'native' => "O'zbek"],
+ ['short' => 'vi', 'long' => 'vi_VN', 'english' => 'Vietnamese', 'native' => 'Tiếng Việt'],
],
];
diff --git a/config/larex.php b/config/larex.php
index 821a787e0f..67253307a3 100644
--- a/config/larex.php
+++ b/config/larex.php
@@ -146,7 +146,8 @@
| The source language is the language used as the base for the translation.
| This value is used by the "larex:import" command to set the first language column in the CSV file.
|
+ | Wotuu: HERE IT WANTS DASHES BUT IT EXPORTS IT AS UNDERSCORES, YOU TELL ME MAN
*/
- 'source_language' => 'en',
+ 'source_language' => 'en-US',
];
diff --git a/database/migrations/2024_03_13_220451_change_dashes_to_underscores_for_locale_column_in_users_table.php b/database/migrations/2024_03_13_220451_change_dashes_to_underscores_for_locale_column_in_users_table.php
new file mode 100644
index 0000000000..69006d7aee
--- /dev/null
+++ b/database/migrations/2024_03_13_220451_change_dashes_to_underscores_for_locale_column_in_users_table.php
@@ -0,0 +1,28 @@
+ 'These credentials do not match our records.',
- 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
-
-];
diff --git a/lang/en-US/classes.php b/lang/en-US/classes.php
deleted file mode 100644
index 8b249985aa..0000000000
--- a/lang/en-US/classes.php
+++ /dev/null
@@ -1,17 +0,0 @@
- 'Death Knight',
- 'demon_hunter' => 'Demon Hunter',
- 'druid' => 'Druid',
- 'evoker' => 'Evoker',
- 'hunter' => 'Hunter',
- 'mage' => 'Mage',
- 'monk' => 'Monk',
- 'paladin' => 'Paladin',
- 'priest' => 'Priest',
- 'rogue' => 'Rogue',
- 'shaman' => 'Shaman',
- 'warlock' => 'Warlock',
- 'warrior' => 'Warrior',
-];
diff --git a/lang/en-US/controller.php b/lang/en-US/controller.php
deleted file mode 100644
index b8b29b2972..0000000000
--- a/lang/en-US/controller.php
+++ /dev/null
@@ -1,202 +0,0 @@
- [
- 'error' => [
- 'mdt_string_parsing_failed' => 'MDT string parsing failed due to an internal server error.',
- 'mdt_string_format_not_recognized' => 'The MDT string format was not recognized.',
- 'invalid_mdt_string' => 'Invalid MDT string',
- 'invalid_mdt_string_exception' => 'Invalid MDT string: %s',
- 'mdt_importer_not_configured' => 'MDT importer is not configured properly. Please contact the admin about this issue.',
- 'mdt_unable_to_find_npc_for_id' => 'Unable to find NPC for id %d',
- 'mdt_mismatched_health' => 'NPC %s has mismatched health values, MDT: %s, KG: %s',
- 'mdt_mismatched_enemy_forces' => 'NPC %s has mismatched enemy forces, MDT: %s, KG: %s',
- 'mdt_mismatched_enemy_forces_teeming' => 'NPC %s has mismatched enemy forces teeming, MDT: %s, KG: %s',
- 'mdt_mismatched_enemy_count' => 'NPC %s has mismatched enemy count, MDT: %s, KG: %s',
- 'mdt_mismatched_enemy_type' => 'NPC %s has mismatched enemy type, MDT: %s, KG: %s',
- 'mdt_invalid_category' => 'Invalid category',
- ],
- 'flash' => [
- 'thumbnail_regenerate_result' => 'Dispatched :success jobs for :total routes. :failed failed.',
- 'caches_dropped_successfully' => 'Caches dropped successfully',
- 'releases_exported' => 'Releases exported',
- 'exception' => [
- 'token_mismatch' => '',
- 'internal_server_error' => 'Exception thrown in admin panel',
- ],
- ],
- ],
- 'apidungeonroute' => [
- 'mdt_generate_error' => 'An error occurred generating your MDT string: %s',
- 'mdt_generate_no_lua' => 'MDT importer is not configured properly. Please contact the admin about this issue',
- ],
- 'apiuserreport' => [
- 'error' => [
- 'unable_to_update_user_report' => 'Unable to update user report',
- 'unable_to_save_report' => 'Unable to save report',
- ],
- ],
- 'brushline' => [
- 'error' => [
- 'unable_to_save_brushline' => 'Unable to save line',
- 'unable_to_delete_brushline' => 'Unable to delete line',
- ],
- ],
- 'dungeon' => [
- 'flash' => [
- 'dungeon_created' => 'Dungeon created',
- 'dungeon_updated' => 'Dungeon updated',
- ],
- ],
- 'dungeonroute' => [
- 'unable_to_save' => 'Unable to save route',
- 'flash' => [
- 'route_cloned_successfully' => 'Route cloned successfully',
- 'route_updated' => 'Route updated',
- 'route_created' => 'Route created',
- ],
- ],
- 'dungeonroutediscover' => [
- 'popular' => 'Popular routes',
- 'this_week_affixes' => 'This week\'s affixes',
- 'next_week_affixes' => 'Next week\'s affixes',
- 'new' => 'New',
- 'season' => [
- 'popular' => '%s popular routes',
- 'this_week_affixes' => '%s this week',
- 'next_week_affixes' => '%s next week',
- 'new' => '%s new routes',
- ],
- 'dungeon' => [
- 'popular' => '%s popular routes',
- 'this_week_affixes' => '%s this week',
- 'next_week_affixes' => '%s next week',
- 'new' => '%s new routes',
- ],
- ],
- 'dungeonspeedrunrequirednpcs' => [
- 'no_linked_npc' => 'No linked NPC',
- 'flash' => [
- 'npc_added_successfully' => 'Successfully added NPC',
- 'npc_deleted_successfully' => 'Successfully removed NPC',
- ],
- ],
- 'expansion' => [
- 'flash' => [
- 'unable_to_save_expansion' => 'Unable to save expansion',
- 'expansion_updated' => 'Expansion updated',
- 'expansion_created' => 'Expansion created',
- ],
- ],
- 'generic' => [
- 'error' => [
- 'floor_not_found_in_dungeon' => 'Floor not part of dungeon',
- 'not_found' => 'Not found',
- ],
- ],
- 'oauthlogin' => [
- 'flash' => [
- 'registered_successfully' => 'Registered successfully. Enjoy the website!',
- 'user_exists' => 'There is already a user with username %s. Did you already register before?',
- 'email_exists' => 'There is already a user with e-mail address %s. Did you already register before?',
- 'permission_denied' => 'Unable to register - the request was denied. Please try again.',
- ],
- ],
- 'register' => [
- 'flash' => [
- 'registered_successfully' => 'Registered successfully. Enjoy the website!',
- ],
- 'legal_agreed_required' => 'You have to agree to our legal terms to register.',
- 'legal_agreed_accepted' => 'You have to agree to our legal terms to register.',
- ],
- 'release' => [
- 'error' => [
- 'unable_to_save_release' => 'Unable to save release',
- ],
- 'flash' => [
- 'release_updated' => 'Release updated',
- 'release_created' => 'Release created',
- 'github_exception' => 'An error occurred communicating with Github: %s',
- ],
- ],
- 'mappingversion' => [
- 'created_successfully' => 'Added new mapping version!',
- 'deleted_successfully' => 'Deleted mapping version successfully',
- ],
- 'mdtimport' => [
- 'unknown_dungeon' => 'Unknown dungeon',
- 'error' => [
- 'mdt_string_parsing_failed' => 'MDT string parsing failed due to an internal server error.',
- 'mdt_string_format_not_recognized' => 'The MDT string format was not recognized.',
- 'invalid_mdt_string_exception' => 'Invalid MDT string: %s',
- 'invalid_mdt_string' => 'Invalid MDT string',
- 'mdt_importer_not_configured_properly' => 'MDT importer is not configured properly. Please contact the admin about this issue.',
- 'cannot_create_route_must_be_logged_in' => 'You must be logged in to create a route',
- ],
- ],
- 'path' => [
- 'error' => [
- 'unable_to_save_path' => 'Unable to save path',
- 'unable_to_delete_path' => 'Unable to delete path',
- ],
- ],
- 'patreon' => [
- 'flash' => [
- 'unlink_successful' => 'Your Patreon account has successfully been unlinked.',
- 'link_successful' => 'Your Patreon has been linked successfully. Thank you!',
- 'patreon_session_expired' => 'Your Patreon session has expired. Please try again.',
- 'session_expired' => 'Your session has expired. Please try again.',
- 'patreon_error_occurred' => 'An error occurred on Patreon\'s side. Please try again later.',
- 'internal_error_occurred' => 'An error occurred while processing Patreon\'s response - it appears to be malformed. The error was logged and will be dealt with. Please try again later.',
- ],
- ],
- 'profile' => [
- 'flash' => [
- 'email_already_in_use' => 'That username is already in use.',
- 'username_already_in_use' => 'That username is already in use.',
- 'profile_updated' => 'Profile updated',
- 'unexpected_error_when_saving' => 'An unexpected error occurred trying to save your profile',
- 'privacy_settings_updated' => 'Privacy settings updated',
- 'password_changed' => 'Password changed',
- 'new_password_equals_old_password' => 'New password equals the old password',
- 'new_passwords_do_not_match' => 'New passwords do not match',
- 'current_password_is_incorrect' => 'Current password is incorrect',
- 'tag_created_successfully' => 'Tag created successfully',
- 'tag_already_exists' => 'This tag already exists',
- 'admins_cannot_delete_themselves' => 'Admins cannot delete themselves!',
- 'account_deleted_successfully' => 'Account deleted successfully.',
- 'error_deleting_account' => 'An error occurred. Please try again.',
- ],
- ],
- 'spell' => [
- 'error' => [
- 'unable_to_save_spell' => 'Unable to save spell',
- ],
- 'flash' => [
- 'spell_updated' => 'Spell updated',
- 'spell_created' => 'Spell created',
- ],
- ],
- 'team' => [
- 'flash' => [
- 'team_updated' => 'Team updated',
- 'team_created' => 'Team created',
- 'unable_to_find_team_for_invite_code' => 'Unable to find a team associated with this invite code',
- 'invite_accept_success' => 'Success! You are now a member of team %s.',
- 'tag_created_successfully' => 'Tag created successfully',
- 'tag_already_exists' => 'This tag already exists',
- ],
- ],
- 'user' => [
- 'flash' => [
- 'user_is_now_an_admin' => 'User %s is now an admin',
- 'user_is_no_longer_an_admin' => 'User %s is no longer an admin',
- 'user_is_now_a_user' => 'User %s is now a user',
- 'account_deleted_successfully' => 'Account deleted successfully.',
- 'account_deletion_error' => 'An error occurred. Please try again.',
- 'user_is_not_a_patron' => 'This user is not a Patron.',
- 'all_benefits_granted_successfully' => 'All benefits granted successfully.',
- 'error_granting_all_benefits' => 'An error occurred while trying to grant all benefits.',
- ],
- ],
-];
diff --git a/lang/en-US/dungeons.php b/lang/en-US/dungeons.php
deleted file mode 100644
index d19dc90c5f..0000000000
--- a/lang/en-US/dungeons.php
+++ /dev/null
@@ -1,841 +0,0 @@
- [
- '1' => '10-man',
- '2' => '25-man',
- ],
- 'classic' => [
- 'blackfathom_deeps' => [
- 'name' => 'Blackfathom Deeps',
- 'floors' => [
- 'the_pool_of_ask_ar' => 'The Pool of Ask\'Ar',
- 'moonshrine_sanctum' => 'Moonshrine Sanctum',
- 'the_forgotten_pool' => 'The Forgotten Pool',
- ],
- ],
- 'blackrock_depths' => [
- 'name' => 'Blackrock Depths',
- 'floors' => [
- 'detention_block' => 'Detention Block',
- 'shadowforge_city' => 'Shadowforge City',
- ],
- ],
- 'deadmines' => [
- 'name' => 'The Deadmines',
- 'floors' => [
- 'the_deadmines' => 'The Deadmines',
- 'ironclad_cove' => 'Ironclad Cove',
- ],
- ],
- 'dire_maul_west' => [
- 'name' => 'Dire Maul West',
- 'floors' => [
- 'capital_gardens' => 'Capital Gardens',
- 'court_of_the_highborne' => 'Court of the Highborne',
- 'prison_of_immol_thar' => 'Prison of Immol\'Thar',
- ],
- ],
- 'dire_maul_north' => [
- 'name' => 'Dire Maul North',
- 'floors' => [
- 'gordok_commons' => 'Gordok Commons',
- ],
- ],
- 'dire_maul_east' => [
- 'name' => 'Dire Maul East',
- 'floors' => [
- 'warpwood_quarter' => 'Warpwood Quarter',
- 'the_shrine_of_eldretharr' => 'The Shrine of Eldretharr',
- ],
- ],
- 'gnomeregan' => [
- 'name' => 'Gnomeregan',
- 'floors' => [
- 'the_hall_of_gears' => 'The Hall of Gears',
- 'the_dormitory' => 'The Dormitory',
- 'launch_bay' => 'Launch Bay',
- 'tinkers_court' => 'Tinkers\' Court',
- ],
- ],
- 'gnomeregan_sod' => [
- 'name' => 'Gnomeregan (SoD)',
- 'floors' => [
- 'the_hall_of_gears' => 'The Hall of Gears',
- 'the_dormitory' => 'The Dormitory',
- 'launch_bay' => 'Launch Bay',
- 'tinkers_court' => 'Tinkers\' Court',
- ],
- ],
- 'lower_blackrock_spire' => [
- 'name' => 'Lower Blackrock Spire',
- 'floors' => [
- 'tazz_alor' => 'Tazz\'Alor',
- 'skitterweb_tunnels' => 'Skitterweb Tunnels',
- 'hordemar_city' => 'Hordemar City',
- 'hall_of_blackhand' => 'Hall of Blackhand',
- 'halycons_lair' => 'Halycon\'s Lair',
- 'chamber_of_battle' => 'Chamber of Battle',
- ],
- ],
- 'maraudon' => [
- 'name' => 'Maraudon',
- 'floors' => [
- 'caverns_of_maraudon' => 'Caverns of Maraudon',
- 'zaetars_grave' => 'Zaetar\'s Grave',
- ],
- ],
- 'ragefire_chasm' => [
- 'name' => 'Ragefire Chasm',
- 'floors' => [
- 'ragefire_chasm' => 'Ragefire Chasm',
- ],
- ],
- 'razorfen_downs' => [
- 'name' => 'Razorfen Downs',
- 'floors' => [
- 'razorfen_downs' => 'Razorfen Downs',
- ],
- ],
- 'razorfen_kraul' => [
- 'name' => 'Razorfen Kraul',
- 'floors' => [
- 'razorfen_kraul' => 'Razorfen Kraul',
- ],
- ],
- 'scarlet_monastery_armory' => [
- 'name' => 'Scarlet Monastery Armory',
- 'floors' => [
- 'armory' => 'Armory',
- ],
- ],
- 'scarlet_monastery_cathedral' => [
- 'name' => 'Scarlet Monastery Cathedral',
- 'floors' => [
- 'cathedral' => 'Cathedral',
- ],
- ],
- 'scarlet_monastery_graveyard' => [
- 'name' => 'Scarlet Monastery Graveyard',
- 'floors' => [
- 'graveyard' => 'Graveyard',
- ],
- ],
- 'scarlet_monastery_library' => [
- 'name' => 'Scarlet Monastery Library',
- 'floors' => [
- 'library' => 'Library',
- ],
- ],
- 'scholomance' => [
- 'name' => 'Scholomance',
- 'floors' => [
- 'the_reliquary' => 'The Reliquary',
- 'chamber_of_summoning' => 'Chamber of Summoning',
- 'the_upper_study' => 'The Upper Study',
- 'headmasters_story' => 'Headmaster\'s Study',
- ],
- ],
- 'shadowfang_keep' => [
- 'name' => 'Shadowfang Keep',
- 'floors' => [
- 'the_courtyard' => 'The Courtyard',
- 'dining_hall' => 'Dining Hall',
- 'the_vacant_den' => 'The Vacant Den',
- 'lower_observatory' => 'Lower Observatory',
- 'upper_observatory' => 'Upper Observatory',
- 'lord_godfreys_chamber' => 'Lord Godfrey\'s Chamber',
- 'the_wall_walk' => 'The Wall Walk',
- ],
- ],
- 'stratholme' => [
- 'name' => 'Stratholme',
- 'floors' => [
- 'crusaders_square' => 'Crusader\'s Square',
- 'the_gauntlet' => 'The Gauntlet',
- ],
- ],
- 'the_stockade' => [
- 'name' => 'The Stockade',
- 'floors' => [
- 'the_stockade' => 'The Stockade',
- ],
- ],
- 'the_temple_of_atal_hakkar' => [
- 'name' => 'The Temple of Atal\'Hakkar',
- 'floors' => [
- 'the_pit_of_refuse' => 'The Pit of Refuse',
- 'hall_of_serpents' => 'Hall of Serpents',
- 'entrance' => 'Entrance',
- 'the_temple_of_atal_hakkar' => 'The Temple of Atal\'Hakkar',
- 'hall_of_the_cursed' => 'Hall of the Cursed',
- ],
- ],
- 'uldaman' => [
- 'name' => 'Uldaman',
- 'floors' => [
- 'hall_of_the_keepers' => 'Hall of the Keepers',
- 'khaz_goroths_seat' => 'Khaz\'Goroth\'s Seat',
- ],
- ],
- 'upper_blackrock_spire' => [
- 'name' => 'Upper Blackrock Spire',
- 'floors' => [
- 'dragonspire_hall' => 'Dragonspire Hall',
- 'the_rookery' => 'The Rookery',
- 'hall_of_blackhand' => 'Hall of Blackhand',
- ],
- ],
- 'wailing_caverns' => [
- 'name' => 'Wailing Caverns',
- 'floors' => [
- 'wailing_caverns' => 'Wailing Caverns',
- ],
- ],
- 'zul_farrak' => [
- 'name' => 'Zul\'Farrak',
- 'floors' => [
- 'zul_farrak' => 'Zul\'Farrak',
- ],
- ],
- ],
- 'wotlk' => [
- 'ahn_kahet_the_old_kingdom' => [
- 'name' => 'Ahn\'kahet: The Old Kingdom',
- 'floors' => [
- 'ahn_kahet_the_old_kingdom' => 'Ahn\'kahet: The Old Kingdom',
- ],
- ],
- 'azjol_nerub' => [
- 'name' => 'Azjol-Nerub',
- 'floors' => [
- 'the_brood_pit' => 'The Brood Pit',
- 'hadronoxs_lair' => 'Hadronox\'s Lair',
- 'the_gilded_gate' => 'The Gilded Gate',
- ],
- ],
- 'drak_tharon_keep' => [
- 'name' => 'Drak\'Tharon Keep',
- 'floors' => [
- 'the_vestibules_of_drak_tharon' => 'The Vestibules of Drak\'Tharon',
- 'drak_tharon_overlook' => 'Drak\'Tharon Overlook',
- ],
- ],
- 'gundrak' => [
- 'name' => 'Gundrak',
- 'floors' => [
- 'gundrak' => 'Gundrak',
- ],
- ],
-
- 'halls_of_lightning' => [
- 'name' => 'Halls of Lightning',
- 'floors' => [
- 'unyielding_garrison' => 'Unyielding Garrison',
- 'walk_of_the_makers' => 'Walk of the Makers',
- ],
- ],
- 'halls_of_reflection' => [
- 'name' => 'Halls of Reflection',
- 'floors' => [
- 'halls_of_reflection' => 'Halls of Reflection',
- ],
- ],
- 'halls_of_stone' => [
- 'name' => 'Halls of Stone',
- 'floors' => [
- 'halls_of_stone' => 'Halls of Stone',
- ],
- ],
- 'pit_of_saron' => [
- 'name' => 'Pit of Saron',
- 'floors' => [
- 'pit_of_saron' => 'Pit of Saron',
- ],
- ],
-
- 'the_culling_of_stratholme' => [
- 'name' => 'The Culling of Stratholme',
- 'floors' => [
- 'the_culling_of_stratholme' => 'The Culling of Stratholme',
- 'stratholme_city' => 'Stratholme City',
- ],
- ],
- 'the_forge_of_souls' => [
- 'name' => 'The Forge of Souls',
- 'floors' => [
- 'the_forge_of_souls' => 'The Forge of Souls',
- ],
- ],
- 'the_nexus' => [
- 'name' => 'The Nexus',
- 'floors' => [
- 'the_nexus' => 'The Nexus',
- ],
- ],
- 'the_oculus' => [
- 'name' => 'The Oculus',
- 'floors' => [
- 'the_oculus' => 'The Oculus',
- 'band_of_variance' => 'Band of Variance',
- 'band_of_acceleration' => 'Band of Acceleration',
- 'band_of_transmutation' => 'Band of Transmutation',
- 'band_of_alignment' => 'Band of Alignment',
- ],
- ],
-
- 'the_violet_hold' => [
- 'name' => 'The Violet Hold',
- 'floors' => [
- 'the_violet_hold' => 'The Violet Hold',
- ],
- ],
- 'trial_of_the_champion' => [
- 'name' => 'Trial of the Champion',
- 'floors' => [],
- ],
- 'utgarde_keep' => [
- 'name' => 'Utgarde Keep',
- 'floors' => [
- 'njorndir_preparation' => 'Njorndir Preparation',
- 'dragonflayer_ascent' => 'Dragonflayer Ascent',
- 'tyrs_terrace' => 'Tyr\'s Terrace',
- ],
- ],
- 'utgarde_pinnacle' => [
- 'name' => 'Utgarde Pinnacle',
- 'floors' => [
- 'lower_pinnacle' => 'Lower Pinnacle',
- 'upper_pinnacle' => 'Upper Pinnacle',
- ],
- ],
-
- // Raids
- 'icecrown_citadel' => [
- 'name' => 'Icecrown Citadel',
- 'floors' => [
- 'the_lower_citadel' => 'The Lower Citadel',
- 'the_rampart_of_skulls' => 'The Rampart of Skulls',
- 'deathbringers_rise' => 'Deathbringer\'s Rise',
- 'the_frost_queens_lair' => 'The Frost Queen\'s Lair',
- 'the_upper_reach' => 'The Upper Reach',
- 'royal_quarters' => 'Royal Quarters',
- 'the_frozen_throne' => 'The Frozen Throne',
- 'frostmourne' => 'Frostmourne',
- ],
- ],
- 'onyxias_lair' => [
- 'name' => 'Onyxia\'s Lair',
- 'floors' => [
- 'onyxias_lair' => 'Onyxia\'s Lair',
- ],
- ],
- 'naxxramas' => [
- 'name' => 'Naxxramas',
- 'floors' => [
- 'the_construct_quarter' => 'The Construct Quarter',
- 'the_arachnid_quarter' => 'The Arachnid Quarter',
- 'the_military_quarter' => 'The Military Quarter',
- 'the_plague_quarter' => 'The Plague Quarter',
- 'the_lower_necropolis' => 'The Lower Necropolis',
- 'the_upper_necropolis' => 'The Upper Necropolis',
- ],
- ],
- 'crusaders_coliseum_trial_of_the_crusader' => [
- 'name' => 'Crusaders Coliseum: Trial of the Crusader',
- 'floors' => [
- 'the_argent_coliseum' => 'The Argent Coliseum',
- 'the_icy_depths' => 'The Icy Depths',
- ],
- ],
- 'the_eye_of_eternity' => [
- 'name' => 'The Eye of Eternity',
- 'floors' => [
- 'the_eye_of_eternity' => 'The Eye of Eternity',
- ],
- ],
- 'the_obsidian_sanctum' => [
- 'name' => 'The Obsidian Sanctum',
- 'floors' => [
- 'the_obsidian_sanctum' => 'The Obsidian Sanctum',
- ],
- ],
- 'the_ruby_sanctum' => [
- 'name' => 'The Ruby Sanctum',
- 'floors' => [
- 'the_ruby_sanctum' => 'The Ruby Sanctum',
- ],
- ],
- 'ulduar' => [
- 'name' => 'Ulduar',
- 'floors' => [
- 'ulduar' => 'Ulduar',
- 'the_antechamber_of_ulduar' => 'The Antechamber of Ulduar',
- 'the_inner_sanctum_of_ulduar' => 'The Inner Sanctum of Ulduar',
- 'the_prison_of_yogg_saron' => 'The Prison of Yogg-Saron',
- 'the_spark_of_imagination' => 'The Spark of Imagination',
- 'the_minds_eye' => 'The Mind\'s Eye',
- ],
- ],
- 'vault_of_archavon' => [
- 'name' => 'Vault of Archavon',
- 'floors' => [
- 'vault_of_archavon' => 'Vault of Archavon',
- ],
- ],
- ],
- 'cata' => [
- 'the_vortex_pinnacle' => [
- 'name' => 'The Vortex Pinnacle',
- 'floors' => [
- 'cyclone_summit' => 'Cyclone Summit',
- ],
- ],
- 'throne_of_the_tides' => [
- 'name' => 'Throne of the Tides',
- 'floors' => [
- 'abyssal_halls' => 'Abyssal Halls',
- 'throne_of_neptulon' => 'Throne of Neptulon',
- 'throne_of_the_tides' => 'Throne of the Tides',
- ],
- ],
- ],
- 'mop' => [
- 'temple_of_the_jade_serpent' => [
- 'name' => 'Temple of the Jade Serpent',
- 'floors' => [
- 'temple_of_the_jade_serpent' => 'Temple of the Jade Serpent',
- 'scrollkeepers_sanctum' => 'Scrollkeeper\'s Sanctum',
- ],
- ],
- ],
- 'wod' => [
- 'auchindoun' => [
- 'name' => 'Auchindoun',
- 'floors' => [
- 'auchindoun' => 'Auchindoun',
- ],
- ],
- 'bloodmaul_slag_mines' => [
- 'name' => 'Bloodmaul Slag Mines',
- 'floors' => [
- 'bloodmaul_slag_mines' => 'Bloodmaul Slag Mines',
- ],
- ],
- 'iron_docks' => [
- 'name' => 'Iron Docks',
- 'floors' => [
- 'iron_docks' => 'Iron Docks',
- ],
- ],
- 'grimrail_depot' => [
- 'name' => 'Grimrail Depot',
- 'floors' => [
- 'rafters' => 'Rafters',
- 'train_depot' => 'Train Depot',
- 'rear_train_cars' => 'Rear Train Cars',
- 'forward_train_cars' => 'Forward Train Cars',
- ],
- ],
- 'shadowmoon_burial_grounds' => [
- 'name' => 'Shadowmoon Burial Grounds',
- 'floors' => [
- 'crypt_of_the_ancients' => 'Crypt of the Ancients',
- 'altar_of_shadow' => 'Altar of Shadow',
- 'edge_of_reality' => 'Edge of Reality',
- ],
- ],
- 'the_everbloom' => [
- 'name' => 'The Everbloom',
- 'floors' => [
- 'the_everbloom' => 'The Everbloom',
- 'the_overlook' => 'The Overlook',
- ],
- ],
- ],
- 'legion' => [
- 'arcway' => [
- 'name' => 'The Arcway',
- 'floors' => [
- 'arcway' => 'The Arcway',
- ],
- ],
- 'black_rook_hold' => [
- 'name' => 'Black Rook Hold',
- 'floors' => [
- 'the_ravenscrypt' => 'The Ravenscrypt',
- 'the_grand_hall' => 'The Grand Hall',
- 'ravenshold' => 'Ravenshold',
- 'the_rooks_roost' => 'The Rook\'s Roost',
- 'lord_ravencrests_chamber' => 'Lord Ravencrest\'s Chamber',
- 'the_ravens_crown' => 'The Raven\'s Crown',
- 'black_rook_hold' => 'Black Rook Hold',
- ],
- ],
- 'court_of_stars' => [
- 'name' => 'Court of Stars',
- 'floors' => [
- 'court_of_stars' => 'Court of Stars',
- ],
- ],
- 'darkheart_thicket' => [
- 'name' => 'Darkheart Thicket',
- 'floors' => [
- 'darkheart_thicket' => 'Darkheart Thicket',
- ],
- ],
- 'eye_of_azshara' => [
- 'name' => 'Eye of Azshara',
- 'floors' => [
- 'eye_of_azshara' => 'Eye of Azshara',
- ],
- ],
- 'halls_of_valor' => [
- 'name' => 'Halls of Valor',
- 'floors' => [
- 'the_high_gate' => 'The High Gate',
- 'fields_of_the_eternal_hunt' => 'Fields of the Eternal Hunt',
- 'halls_of_valor' => 'Halls of Valor',
- ],
- ],
- 'maw_of_souls' => [
- 'name' => 'Maw of Souls',
- 'floors' => [
- 'hellmouth_cliffs' => 'Hellmouth Cliffs',
- 'the_hold' => 'The Hold',
- 'the_naglfar' => 'The Naglfar',
- ],
- ],
- 'neltharions_lair' => [
- 'name' => 'Neltharion\'s Lair',
- 'floors' => [
- 'neltharions_lair' => 'Neltharion\'s Lair',
- ],
- ],
- 'vault_of_the_wardens' => [
- 'name' => 'Vault of the Wardens',
- 'floors' => [
- 'the_wardens_court' => 'The Warden\'s Court',
- 'vault_of_the_wardens' => 'Vault of the Wardens',
- 'vault_of_the_betrayer' => 'Vault of the Betrayer',
- ],
- ],
-
- 'lower_karazhan' => [
- 'name' => 'Return to Karazhan: Lower',
- 'floors' => [
- 'servants_quarters' => 'Servant\'s Quarters',
- 'upper_livery_stables' => 'Upper Livery Stables',
- 'the_banquet_hall' => 'The Banquet Hall',
- 'the_guest_chambers' => 'The Guest Chambers',
- 'opera_hall_balcony' => 'Opera Hall Balcony',
- 'masters_terrace' => 'Master\'s Terrace',
- ],
- ],
- 'upper_karazhan' => [
- 'name' => 'Return to Karazhan: Upper',
- 'floors' => [
- 'lower_broken_stair' => 'Lower Broken Stair',
- 'upper_broken_stair' => 'Upper Broken Stair',
- 'the_menagerie' => 'The Menagerie',
- 'guardians_library' => 'Guardian\'s Library',
- 'library_floor' => 'Library Floor',
- 'upper_library' => 'Upper Library',
- 'gamesmans_hall' => 'Gamesman\'s Hall',
- 'netherspace' => 'Netherspace',
- ],
- ],
-
- 'cathedral_of_eternal_night' => [
- 'name' => 'Cathedral of Eternal Night',
- 'floors' => [
- 'hall_of_the_moon' => 'Hall of the Moon',
- 'twilight_groove' => 'Twilight Grove',
- 'the_emerald_archives' => 'The Emerald Archives',
- 'path_of_illumination' => 'Path of Illumination',
- 'sacristy_of_elune' => 'Sacristy of Elune',
- ],
- ],
- 'the_seat_of_the_triumvirate' => [
- 'name' => 'Seat of the Triumvirate',
- 'floors' => [
- 'the_seat_of_the_triumvirate' => 'Seat of the Triumvirate',
- ],
- ],
- ],
- 'bfa' => [
- 'atal_dazar' => [
- 'name' => 'Atal\'Dazar',
- 'floors' => [
- 'atal_dazar' => 'Atal\'dazar',
- 'sacrificial_pits' => 'Sacrificial Pits',
- ],
- ],
- 'freehold' => [
- 'name' => 'Freehold',
- 'floors' => [
- 'freehold' => 'Freehold',
- ],
- ],
- 'kings_rest' => [
- 'name' => 'Kings\' Rest',
- 'floors' => [
- 'kings_rest' => 'Kings\' Rest',
- ],
- ],
- 'shrine_of_the_storm' => [
- 'name' => 'Shrine of the Storm',
- 'floors' => [
- 'shrine_of_the_storm' => 'Shrine of the Storm',
- 'storms_end' => 'Storm\'s End',
- ],
- ],
- 'siege_of_boralus' => [
- 'name' => 'Siege of Boralus',
- 'floors' => [
- 'siege_of_boralus' => 'Siege of Boralus',
- ],
- ],
- 'temple_of_sethraliss' => [
- 'name' => 'Temple of Sethraliss',
- 'floors' => [
- 'temple_of_sethraliss' => 'Temple of Sethraliss',
- 'atrium_of_the_wardens' => 'Atrium of the Wardens',
- ],
- ],
- 'the_motherlode' => [
- 'name' => 'The MOTHERLODE!!',
- 'floors' => [
- 'the_motherlode' => 'The MOTHERLODE!!',
- ],
- ],
- 'the_underrot' => [
- 'name' => 'The Underrot',
- 'floors' => [
- 'the_underrot' => 'The Underrot',
- 'ruins_descent' => 'Ruin\'s Descent',
- ],
- ],
- 'tol_dagor' => [
- 'name' => 'Tol Dagor',
- 'floors' => [
- 'tol_dagor' => 'Tol Dagor',
- 'the_drain' => 'The Drain',
- 'the_brig' => 'The Brig',
- 'detention_block' => 'Detention Block',
- 'officer_quarters' => 'Officer Quarters',
- 'overseers_redoubt' => 'Overseer\'s Redoubt',
- 'overseers_summit' => 'Overseer\'s Summit',
- ],
- ],
- 'waycrest_manor' => [
- 'name' => 'Waycrest Manor',
- 'floors' => [
- 'the_grand_foyer' => 'The Grand Foyer',
- 'upstairs' => 'Upstairs',
- 'the_cellar' => 'The Cellar',
- 'catacombs' => 'Catacombs',
- 'the_rupture' => 'The Rupture',
- 'waycrest_manor' => 'Waycrest Manor',
- ],
- ],
- 'mechagon_junkyard' => [
- 'name' => 'Operation Mechagon: Junkyard',
- 'floors' => [
- 'mechagon_island' => 'Mechagon Island',
- 'tunnels' => 'Tunnels',
- ],
- ],
- 'mechagon_workshop' => [
- 'name' => 'Operation Mechagon: Workshop',
- 'floors' => [
- 'the_robodrome' => 'The Robodrome',
- 'waste_pipes' => 'Waste Pipes',
- 'the_under_junk' => 'The Under Junk',
- 'mechagon_city' => 'Mechagon City',
- ],
- ],
- 'orgrimmar_horrific_vision' => [
- 'name' => 'Orgrimmar (Horrific Vision)',
- 'floors' => [
- 'orgrimmar_horrific_vision' => 'Orgrimmar (Horrific Vision)',
- 'the_drag' => 'The Drag',
- ],
- ],
- 'stormwind_horrific_vision' => [
- 'name' => 'Stormwind (Horrific Vision)',
- 'floors' => [
- 'stormwind_horrific_vision' => 'Stormwind (Horrific Vision)',
- ],
- ],
- ],
- 'shadowlands' => [
- 'de_other_side' => [
- 'name' => 'De Other Side',
- 'floors' => [
- 'de_other_side' => 'De Other Side',
- 'mechagon' => 'Mechagon',
- 'zul_gurub' => 'Zul\'Gurub',
- 'ardenweald' => 'Ardenweald',
- ],
- ],
- 'halls_of_atonement' => [
- 'name' => 'Halls of Atonement',
- 'floors' => [
- 'halls_of_atonement' => 'Halls of Atonement',
- 'the_nave_of_pain' => 'The Nave of Pain',
- 'the_sanctuary_of_souls' => 'The Sanctuary of Souls',
- ],
- ],
- 'mists_of_tirna_scithe' => [
- 'name' => 'Mists of Tirna Scithe',
- 'floors' => [
- 'mists_of_tirna_scithe' => 'Mists of Tirna Scithe',
- ],
- ],
- 'plaguefall' => [
- 'name' => 'Plaguefall',
- 'floors' => [
- 'plaguefall' => 'Plaguefall',
- 'the_festering_sanctum' => 'The Festering Sanctum',
- ],
- ],
- 'sanguine_depths' => [
- 'name' => 'Sanguine Depths',
- 'floors' => [
- 'depths_of_despair' => 'Depths of Despair',
- 'amphitheater_of_sorrow' => 'Amphitheater of Sorrow',
- ],
- ],
- 'spires_of_ascension' => [
- 'name' => 'Spires of Ascension',
- 'floors' => [
- 'honors_ascent' => 'Honor\'s Ascent',
- 'gardens_of_repose' => 'Gardens of Repose',
- 'font_of_fealty' => 'Font of Fealty',
- 'seat_of_the_archon' => 'Seat of the Archon',
- ],
- ],
- 'the_necrotic_wake' => [
- 'name' => 'The Necrotic Wake',
- 'floors' => [
- 'the_necrotic_wake' => 'The Necrotic Wake',
- 'stitchwerks' => 'Stitchwerks',
- 'zolramus' => 'Zolramus',
- ],
- ],
- 'theater_of_pain' => [
- 'name' => 'Theater of Pain',
- 'floors' => [
- 'theater_of_pain' => 'Theater of Pain',
- 'chamber_of_conquest' => 'Chamber of Conquest',
- 'altars_of_agony' => 'Altars of Agony',
- 'lower_barrow_of_carnage' => 'Lower Barrow of Carnage',
- 'upper_barrow_of_carnage' => 'Upper Barrow of Carnage',
- ],
- ],
- 'tazavesh_streets_of_wonder' => [
- 'name' => 'Tazavesh: Streets of Wonder',
- 'floors' => [
- 'the_veiled_market' => 'The Veiled Market',
- 'the_grand_menagerie' => 'The Grand Menagerie',
- 'the_post' => 'The P.O.S.T.',
- 'myzas_oasis' => 'Myza\'s Oasis',
- ],
- ],
- 'tazavesh_so_leahs_gambit' => [
- 'name' => 'Tazavesh: So\'leah\'s Gambit',
- 'floors' => [
- 'stormheim' => 'Stormheim',
- 'aggramars_vault' => 'Aggramar\'s Vault',
- 'boralus_harbor' => 'Boralus Harbor',
- 'the_opulent_nexus' => 'The Opulent Nexus',
- ],
- ],
- ],
- 'dragonflight' => [
- 'algeth_ar_academy' => [
- 'name' => 'Algeth\'ar Academy',
- 'floors' => [
- 'algeth_ar_academy' => 'Algeth\'ar Academy',
- 'the_pitch' => 'The Pitch',
- 'the_headteachers_enclave' => 'The Headteacher\'s Enclave',
- ],
- ],
- 'brackenhide_hollow' => [
- 'name' => 'Brackenhide Hollow',
- 'floors' => [
- 'brackenhide_hollow' => 'Brackenhide Hollow',
- 'den_of_decay' => 'Den of Decay',
- ],
- ],
- 'halls_of_infusion' => [
- 'name' => 'Halls of Infusion',
- 'floors' => [
- 'infusers_rotunda' => 'Infuser\'s Rotunda',
- 'infusion_chamber' => 'Infusion Chamber',
- ],
- ],
- 'neltharus' => [
- 'name' => 'Neltharus',
- 'floors' => [
- 'the_burning_cauldron' => 'The Burning Cauldron',
- 'chamber_of_flames' => 'Chamber of Flames',
- ],
- ],
- 'ruby_life_pools' => [
- 'name' => 'Ruby Life Pools',
- 'floors' => [
- 'infusion_chambers' => 'Infusion Chambers',
- 'ruby_overlook' => 'Ruby Overlook',
- ],
- ],
- 'the_azure_vault' => [
- 'name' => 'The Azure Vault',
- 'floors' => [
- 'the_arcane_conservatory' => 'The Arcane Conservatory',
- 'crystal_chambers' => 'Crystal Chambers',
- 'mausoleum_of_legends' => 'Mausoleum of Legends',
- 'the_infinity_seal' => 'The Infinity Seal',
- 'sindragosas_lament' => 'Sindragosa\'s Lament',
- ],
- ],
- 'the_nokhud_offensive' => [
- 'name' => 'The Nokhud Offensive',
- 'floors' => [
- 'the_nokhud_offensive' => 'The Nokhud Offensive',
- ],
- ],
- 'uldaman_legacy_of_tyr' => [
- 'name' => 'Uldaman: Legacy of Tyr',
- 'floors' => [
- 'hall_of_the_keepers' => 'Hall of the Keepers',
- 'the_vault_of_tyr' => 'The Vault of Tyr',
- ],
- ],
- 'dawn_of_the_infinite_galakronds_fall' => [
- 'name' => 'Dawn of the Infinite: Galakrond\'s Fall',
- 'floors' => [
- 'galakronds_fall' => 'Galakrond\'s Fall',
- 'sanctum_of_chronology' => 'Sanctum of Chronology',
- 'millennias_threshold' => 'Millennia\'s Threshold',
- 'locus_of_eternity' => 'Locus of Eternity',
- 'spoke_of_endless_winter' => 'Spoke of Endless Winter',
- 'crossroads_of_fate' => 'Crossroads of Fate',
- ],
- ],
- 'dawn_of_the_infinite_murozonds_rise' => [
- 'name' => 'Dawn of the Infinite: Murozond\'s Rise',
- 'floors' => [
- 'murozonds_rise' => 'Murozond\'s Rise',
- 'sanctum_of_chronology' => 'Sanctum of Chronology',
- 'millennias_threshold' => 'Millennia\'s Threshold',
- 'locus_of_eternity' => 'Locus of Eternity',
- 'crossroads_of_fate' => 'Crossroads of Fate',
- 'infinite_conflux' => 'Infinite Conflux',
- 'twisting_approach' => 'Twisting Approach',
- 'immemorial_battlefield' => 'Immemorial Battlefield',
- ],
- ],
- ],
-];
diff --git a/lang/en-US/exceptions.php b/lang/en-US/exceptions.php
deleted file mode 100644
index 658748659e..0000000000
--- a/lang/en-US/exceptions.php
+++ /dev/null
@@ -1,10 +0,0 @@
- [
- 'api_model_not_found' => ':ids not found for :model',
- 'api_route_not_found' => 'API route not found',
- 'internal_server_error' => 'Internal server error',
- 'unauthenticated' => 'Unauthenticated',
- ],
-];
diff --git a/lang/en-US/factions.php b/lang/en-US/factions.php
deleted file mode 100644
index 0109907183..0000000000
--- a/lang/en-US/factions.php
+++ /dev/null
@@ -1,7 +0,0 @@
- 'Unspecified',
- 'horde' => 'Horde',
- 'alliance' => 'Alliance',
-];
diff --git a/lang/en-US/js.php b/lang/en-US/js.php
deleted file mode 100644
index d356bde136..0000000000
--- a/lang/en-US/js.php
+++ /dev/null
@@ -1,574 +0,0 @@
- 'Name',
- 'enemy_forces_label' => 'Enemy forces',
- 'enemy_display_type_label' => 'Enemy display type',
- 'mdt_enemy_mapping_label' => 'MDT enemy mapping',
- 'base_health_label' => 'Base health',
- 'no_npc_found_label' => 'No NPC found for this enemy',
-
- 'teeming_label' => 'Teeming',
- 'npc_label' => 'Npc',
-
- 'connected_floor_label' => 'Connected floor',
-
- 'admin_only_label' => 'Admin only',
- 'id_label' => 'ID',
- 'seasonal_type_label' => 'Seasonal type',
- 'seasonal_index_label' => 'Seasonal index',
- 'size_label' => 'Size',
- 'faction_label' => 'Faction',
- 'npc_id_label' => 'NPC_ID',
- 'attached_to_pack_label' => 'Pack',
- 'attached_to_patrol_label' => 'Patrol',
- 'enemy_id_label' => 'ENEMY_ID',
- 'visual_label' => 'Visual',
- 'mdt_label' => 'MDT section',
- 'is_mdt_label' => 'MDT',
- 'mdt_id_label' => 'MDT_ID',
- 'mdt_npc_id_label' => 'MDT_NPC_ID',
-
- 'preset_label' => 'Preset',
- 'add_label' => 'Add',
-
- 'color_label' => 'Color',
- 'weight_label' => 'Weight',
- 'mapobject_visibility_label' => 'Visibility',
-
- 'mapping_manipulation_tools_header_label' => 'Mapping manipulation',
- 'mapping_manipulation_tools_rotate_label' => 'Rotate',
- 'mapping_manipulation_tools_scale_x_label' => 'Scale X',
- 'mapping_manipulation_tools_scale_y_label' => 'Scale Y',
- 'mapping_manipulation_tools_move_x_label' => 'Move X',
- 'mapping_manipulation_tools_move_y_label' => 'Move Y',
-
- // Map object translations
- 'header_floor_selection_label' => 'Floors',
-
- 'header_map_object_group_label' => 'Show/hide',
- 'enemy_map_object_group_label' => 'Enemies',
- 'enemypatrol_map_object_group_label' => 'Patrols',
- 'enemypack_map_object_group_label' => 'Packs',
- 'path_map_object_group_label' => 'Paths',
- 'dungeonfloorswitchmarker_map_object_group_label' => 'Floor switches',
- 'brushline_map_object_group_label' => 'Drawn lines',
- 'mapicon_map_object_group_label' => 'Icons',
- 'killzone_map_object_group_label' => 'Pulls',
- 'killzonepath_map_object_group_label' => 'Pull connections',
- 'floorunion_map_object_group_label' => 'Floor unions',
- 'floorunionarea_map_object_group_label' => 'Floor union areas',
- 'mountablearea_map_object_group_label' => 'Mountable areas',
-
- 'publish_state_title_unpublished' => 'Unpublished',
- 'publish_state_subtext_unpublished' => 'Only you may view this route',
-
- 'publish_state_title_team' => 'Team only',
- 'publish_state_subtext_team' => 'Only members of teams you are in may view this route',
-
- 'publish_state_title_world' => 'Public',
- 'publish_state_subtext_world' => 'Your route may be viewed by anyone and can be found on Keystone.guru',
-
- 'publish_state_title_world_with_link' => 'Public with link',
- 'publish_state_subtext_world_with_link' => 'Anyone with the link may see your route (Patreon only)',
-
- 'publish_label' => 'Publish',
- 'unpublish_label' => 'Unpublish',
- 'add_remove_tag_label' => 'Add/remove tags',
- 'clone_label' => 'Clone',
- 'clone_to_profile_label' => 'Clone to my profile',
- 'clone_to_team_label' => 'Clone to Team',
- 'migrate_to_encrypted_label' => 'Migrate to Encrypted',
- 'migrate_to_shrouded_label' => 'Migrate to Shrouded',
- 'delete_label' => 'Delete',
-
- 'placeholder_new_tag_label' => 'new tag',
- 'no_tags_assigned_label' => 'No tags assigned',
- 'current_tags_label' => 'Current tags',
- 'add_tag_with_enter_label' => 'Tip: press Enter to create a tag',
-
- 'selected_label' => 'selected',
-
- 'affixes_label' => 'Affixes',
- 'attributes_label' => 'Attributes',
- 'setup_label' => 'Setup',
- 'new_mapping_version_label' => 'A new mapping version for your route\'s dungeon is available. Upgrade your route now by editing it.',
-
- 'submit_label' => 'Submit',
-
- 'select_category_label' => 'Select category...',
-
- 'pull_workbench_header_label' => 'P:index',
- 'pull_workbench_add_kill_area_label' => 'Add kill area',
- 'pull_workbench_remove_kill_area_label' => 'Remove kill area',
- 'pull_workbench_pull_description_label' => 'Pull :index description',
-
- 'kill_zone_has_boss_label' => 'Boss in pull',
- 'kill_zone_has_awakened_label' => 'Awakened enemy in pull',
- 'kill_zone_has_prideful_label' => 'Prideful enemy in pull',
- 'kill_zone_has_inspiring_label' => 'Inspiring enemy in pull',
- 'kill_zone_has_shrouded_label' => 'Shrouded enemy in pull',
- 'kill_zone_has_shrouded_zul_gamux_label' => 'Zul\'gamux in pull',
-
- 'kill_zone_enemy_row_has_boss_label' => 'Boss',
- 'kill_zone_enemy_row_has_awakened_label' => 'Awakened enemy',
- 'kill_zone_enemy_row_has_prideful_label' => 'Prideful enemy',
- 'kill_zone_enemy_row_has_inspiring_label' => 'Inspiring enemy',
- 'kill_zone_enemy_row_has_shrouded_label' => 'Shrouded enemy',
- 'kill_zone_enemy_row_has_dangerous_label' => 'Dangerous enemy',
-
- // Route edit tools
- 'path' => 'Path',
- 'path_title' => 'Draw a path. Hotkey: :hotkey',
- 'killzone' => 'Killzone',
- 'mapicon' => 'Icon',
- 'mapicon_title' => 'Create an icon. Hotkey: :hotkey',
- 'map_icon' => 'Icon',
- 'brushline' => 'Draw',
- 'brushline_title' => 'Draw a line. Hotkey: :hotkey',
- 'pridefulenemy' => 'Prideful',
- 'pridefulenemy_title' => 'Create a Prideful Enemy. Hotkey: :hotkey',
- 'pridefulenemy_disabled_title' => 'Remove a Prideful Enemy first',
- 'pridefulenemy_disabled_no_shadowlands_title' => 'Prideful Enemies are only available for Shadowlands dungeons!',
- 'edit' => 'Edit',
- 'edit_title' => 'Edit objects on the map. Hotkey: :hotkey',
- 'delete' => 'Delete',
- 'delete_title' => 'Delete objects on the map. Hotkey: :hotkey',
- 'finish' => 'Finish',
- 'finish_drawing' => 'Finish drawing',
- 'enemypack' => 'Pack',
- 'enemypack_title' => 'Draw an enemy pack. Hotkey: :hotkey',
- 'enemy' => 'Enemy',
- 'enemy_title' => 'Draw an enemy. Hotkey: :hotkey',
- 'enemypatrol' => 'Patrol',
- 'enemypatrol_title' => 'Draw a patrol route for an enemy. Hotkey: :hotkey',
- 'dungeonfloorswitchmarker' => 'Floor',
- 'dungeonfloorswitchmarker_title' => 'Draw a dungeon floor switch marker. Hotkey: :hotkey',
- 'mountablearea' => 'Mountable',
- 'mountablearea_title' => 'Draw an area in which players are allowed to mount. Hotkey: :hotkey',
- 'floorunion' => 'Union',
- 'floorunion_title' => 'Mark a location on the map that represents another floor. Hotkey: :hotkey',
- 'floorunionarea' => 'Unionarea',
- 'floorunionarea_title' => 'Draws a floor union area on the map which represents the area in which a floor union is actually active. Hotkey: :hotkey',
-
- 'draw_handler_route_tooltip_start' => 'Click to start drawing path.',
- 'draw_handler_route_tooltip_cont' => 'Click to continue drawing path.',
- 'draw_handler_route_tooltip_end' => 'Click the \'Finish\' button on the toolbar to complete your path.',
-
- 'draw_handler_brushline_tooltip_start' => 'Click to start drawing line.',
- 'draw_handler_brushline_tooltip_cont' => 'Click and drag to continue drawing line.',
- 'draw_handler_brushline_tooltip_end' => 'Continue clicking/dragging, when done, press the \'Finish\' button on the toolbar to complete your line.',
-
- // Raid markers
- 'title_raid_marker_no_selection' => 'No raid marker',
- 'title_raid_marker_star' => 'Star',
- 'title_raid_marker_circle' => 'Circle',
- 'title_raid_marker_diamond' => 'Diamond',
- 'title_raid_marker_triangle' => 'Triangle',
- 'title_raid_marker_moon' => 'Moon',
- 'title_raid_marker_square' => 'Square',
- 'title_raid_marker_cross' => 'Cross',
- 'title_raid_marker_skull' => 'Skull',
-
- // Visualisation
- 'npc_type_label' => 'Type',
- 'npc_class_label' => 'Class',
- 'enemy_portrait_label' => 'Portrait',
-
- // Admin
- 'object.deleted' => 'Objects deleted successfully.',
- 'delete_all_pulls_successful' => 'Pulls deleted successfully',
- 'route_count_label' => '# of routes',
- 'roles_label' => 'Roles',
- 'registered_label' => 'Registered at',
- 'patreon_label' => 'Patreon',
- 'datatable_no_users_in_table' => 'No users found',
- 'datatable_no_npcs_in_table' => 'No npcs found',
- 'enemy_count_label' => 'Enemy count',
- 'user_report_handled_success' => 'User report successfully marked as resolved',
- 'dungeonroute_refresh_thumbnail_success' => 'Thumbnail refresh queued successfully',
- 'updated_patreon_benefits_successfully_label' => 'Patreon benefits updated successfully',
- 'mapping_version_readonly_label' => 'This mapping version is read-only',
- 'mapping_version_upgrade_label' => 'A new mapping version is available for your route.',
- 'upgrade_label' => 'Upgrade',
-
- 'classification_label' => 'Classification',
- 'edit_label' => 'Edit',
-
- 'make_user_label' => 'Make user',
- 'make_admin_label' => 'Make admin',
- 'delete_user_label' => 'Delete user',
- 'grant_all_benefits_label' => 'Grant all benefits',
- 'patreon_benefits_manually_granted_label' => 'All benefits manually granted',
-
- // Home page
- 'import_notes_label' => 'Import notes',
- 'import_errors_label' => 'Import errors',
- 'warnings_label' => 'Warnings',
- 'category_label' => 'Category',
- 'message_label' => 'Message',
-
- // Profile edit
- 'save_tag_success' => 'Tag updated successfully',
- 'delete_tag_success' => 'Tag deleted successfully',
-
- // Dungeonroute edit
- 'settings_saved' => 'Settings saved successfully',
- 'pull_gradient_settings_saved' => 'Pull gradient settings saved successfully',
- 'route_published_state_changed' => 'Route sharing settings updated successfully',
- 'datatable_no_routes_in_table' => 'No routes found',
- 'cannot_change_sharing_settings_not_all_required_enemies_killed' => 'Unable to change sharing settings: not all required enemies have been killed',
-
- // Mapping version edit
- 'mapping_version_saved' => 'Mapping version saved successfully',
-
- // Dungeonroute table
- 'vote' => 'vote',
- 'votes' => 'votes',
- 'route_delete_confirm' => 'Are you sure you wish to delete this route?',
- 'route_delete_successful' => 'Route deleted successfully',
- 'route_clone_successful' => 'Route cloned successfully',
- 'route_clone_select_team' => 'Unable to clone route - select a team to clone to first',
- 'route_migration_to_encrypted_confirm_warning' => 'The following changes will be performed to your route:
- the affixes assigned to the route will be dropped in favor of the current active affix for your region,
- enemies specific to previous seasons assigned to your pulls (Tormented Lieutenants for example) will be removed from all pulls,
- if an existing pull contains a pack with Encrypted Relics they will be added to that pull. Are you sure you wish to continue with the migration?',
- 'route_migration_to_shrouded_confirm_warning' => 'The following changes will be performed to your route:
- the affixes assigned to the route will be dropped in favor of the current active affix for your region,
- enemies specific to previous seasons assigned to your pulls (Encrypted enemies for example) will be removed from all pulls.
- Shrouded enemies will be added to your route if they were part of your existing pulls. Are you sure you wish to continue with the migration?',
- 'route_migration_successful' => 'Route migrated successfully',
- 'sharing_label' => 'Sharing',
- 'route_table_published_state_unpublished' => 'This route is unpublished',
- 'route_table_published_state_team' => 'This route is visible for all members of teams you are in',
- 'route_table_published_state_world' => 'This route is visible for everyone',
- 'route_table_published_state_world_with_link' => 'This route is visible for everyone that has the link',
-
- // Map
- 'intro_sidebar' => 'Welcome to Keystone.guru! To begin, this is the sidebar. Here you can adjust options for your route or view information about it.',
- 'intro_sidebar_toggle' => 'You can use this button to hide or show the sidebar.',
-
- 'intro_visibility_tools' => 'Here you can select different visualization options.',
- 'intro_map_enemy_visuals' => 'You can choose from multiple different enemy visualizations to help you quickly find the information you need.',
- 'intro_map_map_object_group_visibility_container' => 'These are your visibility toggles. You can hide enemies, enemy patrols, enemy packs, your own paths, your own pulls, all map icons, start markers and floor switch markers.',
- 'intro_floor_selection' => 'If your dungeon has multiple floors, this is where you can change floors. You can also click the doors on the map to go to the next floor.',
-
- 'intro_route_actions' => 'These are various actions you can perform while viewing or editing your route.',
- 'intro_route_actions_draw_settings' => 'Opening the draw settings will allow you adjust some default variables and behaviour to make editing your route easier.',
- 'intro_route_actions_map_login_and_continue' => 'If you\'re already a member of Keystone.guru but not logged in, you can log in here and save the current route to your profile.',
- 'intro_route_actions_map_register_and_continue' => 'If you\'re not yet a member of Keystone.guru, you can register here and save the current route to your profile.',
- 'intro_route_actions_save_and_continue' => 'While trying out a route when you\'re logged in, you can opt to save it to your profile.',
-
- 'intro_route_manipulation_tools' => 'These are your route manipulation tools.',
- 'intro_draw_path' => 'You can draw paths with this tool. Click it, then click on the map once to start, then as much times as you want to mark your path from A to B. Once finished, you can click
- the line on the map to change its color or thickness.',
- 'intro_draw_mapicon' => 'Use this tool to place icons on the map with an optional comment.',
- 'intro_draw_brushline' => 'Use this tool to draw lines in a more flexible manner on your route, without directional arrows.',
- 'intro_draw_pridefulenemy' => 'The current seasonal affix is Prideful which spawns a Prideful Manifestation every 20% enemy forces. Use this button to spawn Prideful Manifestations where you desire to kill them.',
-
- 'intro_draw_edit' => 'You can use the edit button to adjust your created elements such as icons or drawn lines.',
- 'intro_draw_remove' => 'You can use the delete button to remove elements you have created. Click it once, then select the highlighted elements you wish to delete. Deleting happens in a preview mode, you have to confirm your delete by pressing the \'Finish\' button, or hit the \'Cancel\' button to undo them. If you confirm the deletion, there is no turning back!',
-
- 'intro_map_enemy_forces_numbers' => 'This label indicates the current progress with enemy forces. You can click on enemies to add them to a new pull, or select a pull from the list below and add enemies to it.',
- 'intro_new_pull' => 'You can use this button to create a new pull. Alternatively, you can click any enemy on the map to start a pull as well.',
-
- 'enemy_forces_not_all_required_enemies_killed_label' => 'Warning: this route does not kill all required enemies',
- 'enemy_forces_too_much_label' => 'Warning: your route has too much enemy forces',
- 'enemy_forces_too_little_label' => 'Warning: this route does not have enough enemy forces!',
- 'enemy_forces_overridden_label' => 'Your route\'s enemy forces may have been corrected due to overpulled enemies which caused automatic alterations in your route',
-
- // Sidebar
- 'sidebar_expand' => 'Expand the sidebar',
- 'sidebar_collapse' => 'Collapse the sidebar',
- 'copied_to_clipboard' => 'Copied to clipboard',
- 'sidebar_enemy_health_label' => 'Health',
- 'sidebar_enemy_bursting_label' => 'Bursts',
- 'sidebar_enemy_sanguine_label' => 'Sanguine',
- 'sidebar_enemy_bolstering_label' => 'Bolsters',
- 'sidebar_enemy_bolstering_whitelist_npcs_label' => 'Bolsters only',
- 'sidebar_enemy_spell_label' => 'Spells',
- 'sidebar_enemy_skippable_label' => 'Skippable',
- 'sidebar_enemy_runs_away_in_fear_label' => 'Runs away',
- 'sidebar_hyper_respawns_label' => 'Hyperspawns',
- 'sidebar_enemy_health_fortified_label' => 'This health value is scaled by the Fortified affix',
- 'sidebar_enemy_health_tyrannical_label' => 'This health value is scaled by the Tyrannical affix',
- 'sidebar_enemy_skippable_info_label' => 'A skippable enemy is an enemy that can be skipped without using invisibility potions or Rogue Shroud. These enemies may be excluded from your routes once you mark enemies as overpulled during a live session.',
- 'user_report_enemy_success' => 'Report sent successfully. Thank you for helping improve Keystone.guru!',
- 'dungeonroute_report_enemy_success' => 'Report sent successfully. Thank you for helping improve Keystone.guru!',
- 'tag_delete_success' => 'Tag removed successfully',
- 'tag_create_success' => 'Tag created successfully',
-
- // Killzone sidebar
- 'killzone_sidebar_kill_location_label' => 'Kill location',
- 'killzone_sidebar_delete_all_pulls_confirm_label' => 'Are you sure you want to delete all your pulls? This action can not be undone.',
-
- // General site modals etc
- 'min_password_length' => 'Minimum password length is 8',
- 'weak' => 'Weak',
- 'medium' => 'Medium',
- 'strong' => 'Strong',
- 'contains_username' => 'Password cannot contain your username',
-
- // MDT Modal
- 'mdt_faction' => 'Faction',
- 'mdt_dungeon' => 'Dungeon',
- 'mdt_affixes' => 'Affixes',
- 'mdt_pulls' => 'Pulls',
- 'mdt_paths' => 'Paths',
- 'mdt_drawn_lines' => 'Drawn lines',
- 'mdt_notes' => 'Notes',
- 'mdt_enemy_forces' => 'Enemy forces',
-
- // Default AJAX failed messages
- 'ajax_error_default' => 'An error occurred while performing your request. Please try again.',
- 'ajax_error_403' => 'You are not authorized to perform this request.',
- 'ajax_error_404' => 'The requested resource was not found.',
- 'ajax_error_419' => 'Your session has expired. Please refresh the page and try again.',
-
- // Popups
- // Map Object
- 'map_object_readonly_label' => 'This mapping version is read-only',
- 'map_object_category_general_label' => 'General',
- 'map_object_category_legacy_label' => 'Legacy',
- 'map_object_category_advanced_label' => 'Advanced',
-
- 'mapicon_faction_select_default_label' => 'Select faction',
- 'mapicon_teeming_select_default_label' => 'Select teeming',
-
- // Map icon
- 'map_icon_faction_label' => 'Faction',
- 'map_icon_teeming_label' => 'Teeming',
- 'map_icon_team_id_label' => 'Show across all routes in team',
- 'map_icon_permanent_tooltip_label' => 'Permanent tooltip',
- 'map_icon_map_icon_type_id_label' => 'Icon',
- 'map_icon_comment_label' => 'Comment',
- 'map_icon_map_icon_type_id_select_default_label' => 'Select icon',
- 'map_icon_seasonal_type_label' => 'Seasonal type',
- 'map_icon_seasonal_index_label' => 'Seasonal index',
- 'map_icon_seasonal_index_select_default_label' => 'Not set',
-
- // Admin map icon
- 'admin_map_icon_faction_label' => 'Faction',
- 'admin_map_icon_teeming_label' => 'Teeming',
- 'admin_map_icon_permanent_tooltip_label' => 'Permanent tooltip',
- 'admin_map_icon_map_icon_type_id_label' => 'Icon',
- 'admin_map_icon_comment_label' => 'Comment',
- 'admin_map_icon_map_icon_type_id_select_default_label' => 'Select icon',
- 'admin_map_icon_seasonal_type_label' => 'Seasonal type',
- 'admin_map_icon_seasonal_index_label' => 'Seasonal index',
- 'admin_map_icon_seasonal_index_select_default_label' => 'Not set',
-
- // Enemy
- 'enemy_faction_label' => 'Faction',
- 'enemy_teeming_label' => 'Teeming',
- 'enemy_npc_id_label' => 'Npc',
- 'enemy_floor_id_label' => 'Floor',
- 'enemy_mdt_id_label' => 'MDT ID',
- 'enemy_mdt_npc_id_label' => 'MDT Npc (optional)',
- 'enemy_seasonal_type_label' => 'Seasonal type',
- 'enemy_seasonal_type_select_default_label' => 'Not set',
- 'enemy_seasonal_index_label' => 'Seasonal index',
- 'enemy_seasonal_index_select_default_label' => 'Not set',
- 'enemy_active_auras_label' => 'Active auras',
- 'enemy_active_auras_select_default_label' => 'Not set',
- 'enemy_enemy_forces_override_label' => 'Enemy forces override (-1 to inherit)',
- 'enemy_enemy_forces_override_teeming_label' => 'Enemy forces override teeming (-1 to inherit)',
- 'enemy_dungeon_difficulty_select_default_label' => 'Always',
- 'enemy_dungeon_difficulty_label' => 'Dungeon difficulty',
- 'enemy_required_label' => 'Required',
- 'enemy_skippable_label' => 'Skippable',
- 'enemy_hyper_respawn_label' => 'Hyper respawn',
- 'enemy_kill_priority_label' => 'Kill priority',
- 'enemy_kill_priority_select_default_label' => 'Select kill priority',
- 'enemy_npc_id_select_default_label' => 'Select NPC',
- 'enemy_mdt_npc_id_select_default_label' => 'Select NPC',
-
- // Admin enemy pack
- 'admin_enemy_pack_faction_label' => 'Faction',
- 'admin_enemy_pack_teeming_label' => 'Teeming',
- 'admin_enemy_pack_label_label' => 'Label',
-
- // Brushline
- 'brushline_color_label' => 'Color',
- 'brushline_color_animated_label' => 'Animated color',
- 'brushline_weight_label' => 'Weight',
-
- // Path
- 'path_color_label' => 'Color',
- 'path_color_animated_label' => 'Animated color',
- 'path_weight_label' => 'Weight',
-
- // Enemy patrol
- 'enemypatrol_faction_label' => 'Faction',
- 'enemypatrol_teeming_label' => 'Teeming',
- 'enemypatrol_color_label' => 'Color',
- 'enemypatrol_color_animated_label' => 'Color animated',
- 'enemypatrol_weight_label' => 'Weight',
- 'enemypatrol_couple_enemies_label' => 'Couple enemies',
- 'enemypatrol_couple_enemies_button_text_label' => 'Select enemies',
-
- // Enemy pack
- 'enemypack_group_label' => 'Group',
- 'enemypack_color_label' => 'Color',
- 'enemypack_color_animated_label' => 'Color animated',
- 'enemypack_faction_label' => 'Faction',
- 'enemypack_teeming_label' => 'Teeming',
- 'enemypack_mark_as_skippable_label' => 'Mark enemies as skippable',
- 'enemypack_mark_as_skippable_button_text_label' => 'Mark as Skippable',
-
- // Dungeon floor switch marker
- 'dungeonfloorswitchmarker_faction_label' => 'Faction',
- 'dungeonfloorswitchmarker_teeming_label' => 'Teeming',
- 'dungeonfloorswitchmarker_source_floor_id_label' => 'Source floor',
- 'dungeonfloorswitchmarker_source_floor_id_select_default_label' => 'Select floor',
- 'dungeonfloorswitchmarker_target_floor_id_label' => 'Target floor',
- 'dungeonfloorswitchmarker_target_floor_id_select_default_label' => 'Select floor',
- 'dungeonfloorswitchmarker_linked_dungeon_floor_switch_marker_id_label' => 'Linked floor switch ID',
- 'dungeonfloorswitchmarker_direction_label' => 'Direction',
- 'dungeonfloorswitchmarker_direction_select_default_label' => 'Use floor coupling direction',
- 'dungeonfloorswitchmarker_go_to_label' => 'Go to',
- 'dungeonfloorswitchmarker_unknown_label' => 'Unknown',
-
- // Mountable area
- 'mountablearea_faction_label' => 'Faction',
- 'mountablearea_teeming_label' => 'Teeming',
- 'mountablearea_speed_label' => 'Speed (yards p/s)',
-
- // Floor Union
- 'floorunion_target_floor_id_select_default_label' => 'Select floor',
- 'floorunion_target_floor_id_label' => 'Target floor',
- 'floorunion_size_label' => 'Size',
- 'floorunion_rotation_label' => 'Rotation',
-
- // Floor Union Area
- 'floorunionarea_floor_union_id_label' => 'Floor Union ID',
-
- // Dungeonroute table
- 'actions_label' => 'Actions',
- 'add_to_team_label' => 'Add to team...',
-
- // Teams
- 'view_label' => 'View',
- 'collaborator_label' => 'Edit',
- 'moderator_label' => 'Moderate',
- 'admin_label' => 'Own',
- 'change_role_success' => 'Permissions updated',
- 'change_default_role_success' => 'Default role updated',
-
- 'team_admin' => 'Administrate team',
- 'team_moderator' => 'Moderate team',
- 'team_collaborator' => 'Edit routes',
- 'team_member' => 'View routes',
- 'remove_label' => 'Remove',
- 'team_add_route_successful' => 'Route successfully added to team',
- 'team_remove_route_successful' => 'Route successfully removed from team',
- 'ad_free_giveaway_label' => 'Ad-free giveaway',
- 'ad_free_giveaway_user_already_ad_free_label' => 'User is already ad-free',
- 'ad_free_giveaway_user_already_ad_free_giveaway_label' => 'User is already ad-free through a giveaway',
- 'ad_free_giveaway_add_label' => 'Make ad-free',
- 'ad_free_giveaway_remove_label' => 'Revoke ad-free',
-
- // Dungeonroute table headers
- 'datatable_no_teams_in_table' => 'You are not a member of any team yet',
- 'datatable_no_members_in_table' => 'This team has no members yet',
-
- 'preview_label' => 'Preview',
- 'title_label' => 'Title',
- 'dungeon_label' => 'Dungeon',
- 'features_label' => 'Features',
- // 'affixes_label' => 'Affixes',
- // 'attributes_label' => 'Attributes',
- // 'setup_label' => 'Setup',
- 'author_label' => 'Author',
- 'metrics_label' => 'Metrics',
- 'views_tooltip_label' => 'Regular views/embed views',
- 'copy_tooltip_label' => 'MDT string copies from viewing/on embed page',
- 'rating_label' => 'Rating',
- 'published_label' => 'Published',
- // 'actions_label' => 'Actions',
- 'add_route_label' => 'Add',
- 'remove_route_label' => 'Remove',
-
- 'yes_label' => 'Yes',
- 'no_label' => 'No',
- 'cancel_label' => 'Cancel',
- 'finished_label' => 'Finished',
-
- // Teams
- 'remove_member_confirm_label' => 'Are you sure you want remove this user from the team? Any ad-free giveaways to this user will be removed.',
- 'remove_member_success' => 'Member removed successfully',
- 'leave_team_confirm_label' => 'Are you sure you wish to leave this team? You may lose any ad-free giveaways awarded to you from team members.',
- 'leave_team_disband_confirm_label' => 'Are you sure you wish to leave this team? You may lose any ad-free giveaways awarded to you from team members. WARNING: this will disband the team.',
- 'ad_free_giveaway_add_success' => 'Successfully granted ad-free status',
- 'ad_free_giveaway_add_failed' => 'Failed to grant ad-free status',
- 'ad_free_giveaway_remove_success' => 'Successfully revoked ad-free status',
- 'ad_free_giveaway_remove_failed' => 'Failed to revoke ad-free status',
-
- 'name_label' => 'Name',
- 'email_label' => 'Email',
- 'join_date_label' => 'Join date',
- 'role_label' => 'Role',
- 'assignable_roles_label' => 'Assignable roles',
- // 'actions_label' => 'Actions',
- 'leave_label' => 'Leave',
-
- 'delete_team_confirm_label' => 'Are you sure you want to IRREVERSIBLY delete this team and its user/route associations?',
- 'invite_link_refreshed' => 'Invite link refreshed.',
-
- // Echo server
- 'echo_connecting_label' => 'Connecting...',
- 'echo_connected_label' => 'Connected',
- 'connected_users_label' => 'Users',
- 'connecting_title_label' => 'Connecting to route edit synchronization service...',
- 'connected_title_label' => 'Connected to route edit synchronization service. All of your route editing actions will be live shared with any of your team members viewing this route!',
- 'members_title_label' => 'Your route editing actions are shared with these users that are currently viewing/editing your route!',
- 'member_self_title_label' => 'To change your color, visit your profile.',
- 'echo_object_deleted_notification' => '{object} was deleted by {user}',
- 'connected_users_hide_cursors_label' => 'Hide cursors',
- 'connected_users_show_cursors_label' => 'Show cursors',
- 'connected_user_follow_label' => 'Follow',
- 'connected_user_unfollow_label' => 'Unfollow',
- 'connected_user_view_profile_label' => 'View profile',
- 'echo_following_user_label' => 'Now following',
- 'echo_unfollow_user_label' => 'Unfollow',
- 'echo_following_user_stopped_label' => 'You stopped following',
- 'echo_refollow_user_label' => 'Refollow',
- 'echo_refollow_user_stop_label' => 'Stop',
-
- // Overpull
- 'overpull_select_enemy_label' => 'Select one or more enemies that you overpulled',
- 'overpull_selection_finished_label' => 'Finished',
-
- // Search page
- 'filters' => 'Filters',
- 'filter_enemy_forces_header_incomplete' => 'Enemy forces: incomplete',
- 'filter_enemy_forces_header_complete' => 'Enemy forces: complete',
- 'filter_image_select_affixes_header' => 'Affixes: :number selected',
- 'filter_image_select_dungeons_header' => 'Dungeons: :number selected',
- 'filter_input_affix_group_header' => 'Affix groups: :number selected',
- 'filter_input_level_header' => 'Level: :value',
- 'filter_input_rating_header' => 'Rating: :value and higher',
- 'filter_input_title_header' => 'Title: :value',
- 'filter_input_expansion_header' => 'Expansion: :value',
- 'filter_input_season_header' => 'Season: :value',
- 'filter_input_user_header' => 'User: :value',
-
- // Group composition
- 'specialization_select' => 'Specialization...',
- 'class_select' => 'Class...',
- 'race_select' => 'Race...',
-
- // Simulate
- 'simulate_pull' => 'Pull :index',
-];
diff --git a/lang/en-US/logic.php b/lang/en-US/logic.php
deleted file mode 100644
index 648d940cf3..0000000000
--- a/lang/en-US/logic.php
+++ /dev/null
@@ -1,48 +0,0 @@
- [
- 'io' => [
- 'export_string' => [
- 'category' => [
- 'pull' => 'Pull %d',
- 'title' => 'Title',
- 'map_icon' => 'Map icon',
- ],
- 'unable_to_find_mdt_enemy_for_kg_enemy' => 'Unable to find MDT equivalent for Keystone.guru enemy with NPC %s (enemy_id: %d, npc_id: %d).',
- 'unable_to_find_mdt_enemy_for_kg_enemy_details' => 'This indicates that your route kills an enemy of which its NPC is known to MDT, but Keystone.guru hasn\'t coupled that enemy to an MDT equivalent yet (or it does not exist in MDT).',
- 'unable_to_find_mdt_enemy_for_kg_caused_empty_pull' => 'This pull has been removed since all selected enemies could not be found in MDT, resulting in an otherwise empty pull.',
- 'route_title_contains_non_ascii_char_bug' => 'Your route title contains non-ascii characters that are known to trigger a yet unresolved encoding bug in Keystone.guru.
- Your route title has been stripped of all offending characters, we apologise for the inconvenience and hope to resolve this issue soon.',
- 'route_title_contains_non_ascii_char_bug_details' => 'Old title: %s, new title: %s',
- 'map_icon_contains_non_ascii_char_bug' => 'One of your comments on a map icon has non-ascii characters that are known to trigger a yet unresolved encoding bug in Keystone.guru. Your map comment has been stripped of all offending characters, we apologise for the inconvenience and hope to resolve this issue soon.',
- 'map_icon_contains_non_ascii_char_bug_details' => 'Old comment: "%s", new comment: "%s"',
- ],
- 'import_string' => [
- 'category' => [
- 'awakened_obelisks' => 'Awakened Obelisks',
- 'pulls' => 'Pulls',
- 'notes' => 'Notes',
- 'pull' => 'Pull %d',
- 'object' => 'Object %d',
- ],
- 'limit_reached_pulls' => 'Unable to import route: more than the max of :limit pulls.',
- 'limit_reached_brushlines' => 'Unable to import route: more than the max of :limit lines.',
- 'limit_reached_paths' => 'Unable to import route: more than the max of :limit paths.',
- 'limit_reached_notes' => 'Unable to import route: more than the max of :limit notes.',
- 'unable_to_find_floor_for_object' => 'Unable to find Keystone.guru floor that matches MDT floor ID %d.',
- 'unable_to_find_floor_for_object_details' => 'This indicates that MDT has a floor that Keystone.guru does not have.',
- 'unable_to_find_mdt_enemy_for_clone_index' => 'Unable to find MDT enemy for clone index %s and npc index %s.',
- 'unable_to_find_mdt_enemy_for_clone_index_details' => 'This indicates MDT has mapped an enemy that is not known in Keystone.guru yet.',
- 'unable_to_find_kg_equivalent_for_mdt_enemy' => 'Unable to find Keystone.guru equivalent for MDT enemy %s with NPC %s (id: %s).',
- 'unable_to_find_kg_equivalent_for_mdt_enemy_details' => 'This indicates that your route kills an enemy of which its NPC is known to Keystone.guru, but Keystone.guru doesn\'t have that enemy mapped yet.',
- 'unable_to_find_awakened_enemy_for_final_boss' => 'Unable to find Awakened Enemy %s (%s) at the final boss in %s.',
- 'unable_to_find_awakened_enemy_for_final_boss_details' => 'This indicates Keystone.guru has a mapping error that will need to be corrected. Send the above warning to me and I\'ll correct it.',
- 'unable_to_find_enemies_pull_skipped' => 'Failure to find enemies resulted in a pull being skipped.',
- 'unable_to_find_enemies_pull_skipped_details' => 'This may indicate MDT recently had an update that is not integrated in Keystone.guru yet.',
- 'unable_to_find_awakened_obelisks' => 'Cannot find Awakened Obelisks for your dungeon/week combination. Your Awakened Obelisk skips will not be imported.',
- 'unable_to_find_awakened_obelisk_different_floor' => 'Unable to import Awakened Obelisk :name, it is on a different floor than the Obelisk itself. Keystone.guru does not support this at this time.',
- ],
- ],
- ],
-];
diff --git a/lang/en-US/mapicontypes.php b/lang/en-US/mapicontypes.php
deleted file mode 100644
index 3f269a818f..0000000000
--- a/lang/en-US/mapicontypes.php
+++ /dev/null
@@ -1,113 +0,0 @@
- '',
- 'comment' => 'Comment',
- 'door' => 'Door',
- 'door_down' => 'Door Down',
- 'door_left' => 'Door Left',
- 'door_locked' => 'Door Locked',
- 'door_right' => 'Door Right',
- 'door_up' => 'Door Up',
- 'dot_yellow' => 'Yellow Dot',
- 'dungeon_start' => 'Dungeon Start',
- 'gateway' => 'Gateway',
- 'graveyard' => 'Graveyard',
- 'greasebot' => 'Grease bot (haste)',
- 'shockbot' => 'Shock bot (damage)',
- 'warlock_gateway' => 'Warlock Gateway',
- 'weldingbot' => 'Welding bot (-damage taken/+healing received)',
- 'awakened_obelisk_brutal' => 'Brutal Spire of Ny\'alotha (Urg\'roth, Breaker of Heroes)',
- 'awakened_obelisk_cursed' => 'Cursed Spire of Ny\'alotha (Voidweaver Mal\'thir)',
- 'awakened_obelisk_defiled' => 'Defiled Spire of Ny\'alotha (Blood of the Corruptor)',
- 'awakened_obelisk_entropic' => 'Entropic Spire of Ny\'alotha (Samh\'rek, Beckoner of Chaos)',
-
- 'skip_flight' => 'Skip',
- 'skip_teleport' => 'Skip',
- 'skip_walk' => 'Skip',
-
- 'raid_marker_star' => 'Star',
- 'raid_marker_circle' => 'Circle',
- 'raid_marker_diamond' => 'Diamond',
- 'raid_marker_triangle' => 'Triangle',
- 'raid_marker_moon' => 'Moon',
- 'raid_marker_square' => 'Square',
- 'raid_marker_cross' => 'Cross',
- 'raid_marker_skull' => 'Skull',
-
- 'spell_bloodlust' => 'Bloodlust',
- 'spell_heroism' => 'Heroism',
- 'spell_shadowmeld' => 'Shadowmeld',
- 'spell_shroud_of_concealment' => 'Shroud of Concealment',
-
- 'item_invisibility' => 'Invisibility Potion',
- 'item_drums_of_speed' => 'Drums of Speed',
- 'item_free_action_potion' => 'Free Action Potion',
- 'item_global_thermal_sapper_charge' => 'Global Thermal Sapper Charge',
- 'item_rocket_boots_xtreme' => 'Rocket Boots Xtreme',
-
- 'question_yellow' => 'Question',
- 'question_blue' => 'Question',
- 'question_orange' => 'Question',
-
- 'exclamation_yellow' => 'Exclamation',
- 'exclamation_blue' => 'Exclamation',
- 'exclamation_orange' => 'Exclamation',
-
- 'neonbutton_blue' => 'Button blue',
- 'neonbutton_cyan' => 'Button cyan',
- 'neonbutton_green' => 'Button green',
- 'neonbutton_orange' => 'Button orange',
- 'neonbutton_pink' => 'Button pink',
- 'neonbutton_purple' => 'Button purple',
- 'neonbutton_red' => 'Button red',
- 'neonbutton_yellow' => 'Button yellow',
- 'neonbutton_darkred' => 'Button dark red',
- 'neonbutton_darkgreen' => 'Button dark green',
- 'neonbutton_darkblue' => 'Button dark blue',
-
- 'spell_mind_soothe' => 'Mind Soothe',
- 'spell_combustion' => 'Combustion',
-
- 'covenant_kyrian' => 'Kyrian',
- 'covenant_necrolords' => 'Necrolords',
- 'covenant_nightfae' => 'Night Fae',
- 'covenant_venthyr' => 'Venthyr',
-
- 'portal_blue' => 'Portal',
- 'portal_green' => 'Portal',
- 'portal_orange' => 'Portal',
- 'portal_pink' => 'Portal',
- 'portal_red' => 'Portal',
-
- 'nw_item_anima' => 'Anima',
- 'nw_item_goliath' => 'Goliath',
- 'nw_item_hammer' => 'Hammer',
- 'nw_item_shield' => 'Shield',
- 'nw_item_spear' => 'Spear',
-
- 'spell_incarnation' => 'Incarnation',
- 'spell_misdirection' => 'Misdirection',
- 'spell_tricks_of_the_trade' => 'Tricks of the Trade',
-
- 'role_tank' => 'Tank',
- 'role_healer' => 'Healer',
- 'role_dps' => 'DPS',
-
- 'class_warrior' => 'Warrior',
- 'class_hunter' => 'Hunter',
- 'class_death_knight' => 'Death Knight',
- 'class_mage' => 'Mage',
- 'class_priest' => 'Priest',
- 'class_monk' => 'Monk',
- 'class_rogue' => 'Rogue',
- 'class_warlock' => 'Warlock',
- 'class_shaman' => 'Shaman',
- 'class_paladin' => 'Paladin',
- 'class_druid' => 'Druid',
- 'class_demon_hunter' => 'Demon Hunter',
- 'class_evoker' => 'Evoker',
-
- 'chest' => 'Chest',
- 'chest_locked' => 'Locked chest',
-];
diff --git a/lang/en-US/mapping.php b/lang/en-US/mapping.php
deleted file mode 100644
index 0dacd7b43f..0000000000
--- a/lang/en-US/mapping.php
+++ /dev/null
@@ -1,166 +0,0 @@
- [
- 'legion' => [
- 'arcway' => [
-
- ],
- 'black_rook_hold' => [
-
- ],
- 'court_of_stars' => [
- 'unlocks_after_patrol_captain_gerdo' => 'Unlocks after killing Patrol Captain Gerdo',
- 'arcane_beacon' => 'Arcane Beacon',
- 'flask_of_the_solemn_night' => 'Flask of the Solemn Night',
- ],
- 'darkheart_thicket' => [
-
- ],
- 'eye_of_azshara' => [
-
- ],
- 'halls_of_valor' => [
-
- ],
- 'maw_of_souls' => [
-
- ],
- 'neltharions_lair' => [
- 'hidden_pack_in_cave' => 'Pack is in a cave below the water behind the waterfall.',
- ],
- 'vault_of_the_wardens' => [
-
- ],
-
- 'lower_karazhan' => [
-
- ],
- 'upper_karazhan' => [
-
- ],
-
- 'cathedral_of_eternal_night' => [
-
- ],
- 'the_seat_of_the_triumvirate' => [
-
- ],
- ],
- 'bfa' => [
- 'atal_dazar' => [
-
- ],
- 'freehold' => [
-
- ],
- 'kings_rest' => [
-
- ],
- 'shrine_of_the_storm' => [
-
- ],
- 'siege_of_boralus' => [
-
- ],
- 'temple_of_sethraliss' => [
-
- ],
- 'the_motherlode' => [
-
- ],
- 'the_underrot' => [
-
- ],
- 'tol_dagor' => [
-
- ],
- 'waycrest_manor' => [
-
- ],
- 'mechagon_junkyard' => [
-
- ],
- 'mechagon_workshop' => [
-
- ],
- 'orgrimmar_horrific_vision' => [
-
- ],
- 'stormwind_horrific_vision' => [
-
- ],
- ],
- 'shadowlands' => [
- 'de_other_side' => [
- 'start' => 'Start',
- 'graveyard_ardenweald' => 'Activates after entering Ardenweald',
- 'graveyard_mechagon' => 'Activates after entering Mechagon',
- 'graveyard_zulgurub' => 'Activates after entering Zul\'Gurub',
- 'haunted_urn' => 'Night Fae: AoE Stun - Allows use of Haunted Urns in set locations which creates a large AoE stun in 30 yds for 10 sec.',
- 'engineer_blob_button' => 'Engineers can disable the river of flowing blobs for a few minutes by pressing the red button',
- 'exit' => 'Exit',
- ],
- 'halls_of_atonement' => [
- 'start' => 'Start',
- 'exit' => 'Exit',
- ],
- 'mists_of_tirna_scithe' => [
- 'start' => 'Start',
- 'brambles' => 'Night Fae: unlock shortcut',
- 'depleted_anima_seed' => 'Depleted Anima Seed - Night Fae Activated GY',
- 'map_missing_wall' => 'Wall that doesn\'t appear on map',
- 'savory_statshroom' => 'Savory Statshroom - Eat the mushroom, instantly healing 100% health and increasing Strength, Agility, and Intellect by 10% for 10 min.',
- 'tasty_toughshroom' => 'Tasty Toughshroom - Eat the mushroom, instantly healing 100% health and increasing Stamina by 10% for 10 min.',
- 'door_unlock_after_ingra_maloch' => 'Unlocks after killing Ingra Maloch',
- 'exit' => 'Exit',
- ],
- 'plaguefall' => [
- 'start' => 'Start',
- 'graveyard_dr_ickus' => 'Activates after killing Doctor Ickus',
- 'gushing_slime' => 'Necrolord: AoE Damage Proc Aura - Using Fleshcraft on the Gushing Slime\'s corpse will grant the Corrosive Gunk aura for 2 minutes. This aura will apply the Corrosive Gunk buff to any nearby party member, giving a 10% chance to proc AoE damage around your character',
- 'congealed_slime' => 'Necrolord: 25% Damage Reduction Aura - Using Fleshcraft on the Congealed Slime\'s corpse will grant the Congealed Contagion aura for 2 minutes. This aura will apply the Congealed Contagion buff to any nearby party member within 10 yards, giving them 10% Damage Reduction',
- 'pestilence_slime' => 'Necrolord: 25% Haste Aura - Using Fleshcraft on the Pestilence Slime\'s corpse will grant the Rapid Infection aura for 2 minutes. This aura will apply the Rapid Infection buff to any nearby party member within 10 yards, providing them with 25% Haste',
- 'landing' => 'Landing',
- 'exit' => 'Exit',
- ],
- 'sanguine_depths' => [
- 'start' => 'Start',
- 'anima_cage' => 'VENTHYR: Activate Anima Cages to debuff enemies within 40 yds with Anima Drain. After 20 seconds, it will deactivate and give entire party 1 stack of Sinfall Boon for every enemy that died within range with Anima Drain active',
- 'tick_bug' => 'This tick seems to (sometimes) be bugged in the ground - it will however pull when the boss is pulled',
- 'graveyard_kryxis_the_voracious' => 'Activates after killing Kryxis the Voracious',
- 'graveyard_executor_tarvold' => 'Activates after killing Executor Tarvold',
- 'graveyard_grand_proctor_beryllia' => 'Activates after killing Grand Proctor Beryllia',
- 'chamber_sentinel' => 'Stone Gargoyles may activate to become Chamber Sentinels. No guaranteed activation',
- 'gauntlet_explanation' => 'There are endless waves of dogs that will spawn throughout the gauntlet. General Kaal will be in some of the packs and moves to next pack every 10% HP and goes to end room at 70%',
- 'zrali_essence' => 'Z\'rali\'s Essence: 65% damage reduction bubble shield for all who stand inside it. Makes the shield around the player who is carrying/activating it',
- 'exit' => 'Exit',
- ],
- 'spires_of_ascension' => [
- 'start' => 'Start',
- 'spear_of_destiny' => 'Kyrian: Spear of Destiny - throw the Spear of Destiny at a location, hitting all enemies within 8 yards, stunning them and making them take 20% additional damage for 10 seconds',
- 'exit' => 'Exit',
- ],
- 'the_necrotic_wake' => [
- 'start' => 'Start',
- 'bloody_javelin' => 'Bloody Javelin: Throws a Kyrian javelin at the target, inflicting Physical damage to all enemies it passes through and additional Physical damage every 2 sec for 16 sec. Enemies hit take 20% increased damage for 16 sec.',
- 'forgotten_forgehammer' => 'Forgotten Forgehammer: Hurls a mighty Kyrian hammer at the target, inflicting Physical damage and stunning the target for 8 sec.',
- 'malfunctioning_goliath' => 'Kyrian: Malfunctioning Goliath - Ejects 5 Anima orbs which remain on the ground for about 12 seconds. Stepping on an orb grants Anima Exhaust. This increases movement speed by 20% and causes AoE damage procs and healing every 4 seconds for 1 min.',
- 'discharged_anima' => 'Discharged Anima: Unleash the stored anima, inflicting Arcane damage to nearby enemies and interrupting their spellcasting every 1 sec for 8 sec.',
- 'discarded_shield' => 'Discarded Shield: Activate to reduce damage taken by 50% for all allies within 8 yds for 6 sec.',
- 'anima_crystal_shard' => 'Anima Crystal Shard',
- 'grisly_curio' => 'Grisly Curio',
- 'exit' => 'Exit',
- ],
- 'theater_of_pain' => [
- 'start' => 'Start',
- 'necrolord_banner' => 'Necrolord: Click Necrolord Banners to grant a 5-minute 10% speed and versatility buff to all party members',
- 'graveyard_gorechop' => 'Activates after killing Gorechop',
- 'pack_jump_from_sides' => 'The pack jumps out from both sides when you step out onto the bridge',
- 'miniboss_pick_one' => 'Only one is available - pick one and not both',
- 'teleporter' => 'Teleporter',
- 'exit' => 'Exit',
- ],
- ],
- ],
-];
diff --git a/lang/en-US/models.php b/lang/en-US/models.php
deleted file mode 100644
index 6baaa0e78c..0000000000
--- a/lang/en-US/models.php
+++ /dev/null
@@ -1,13 +0,0 @@
- [
- 'title_temporary_route' => ':dungeonName Temporary Route',
- 'title_clone' => ':routeTitle (clone)',
- 'subtitle_clone_of' => 'Clone of :routeLink',
- 'permission_dratnos' => 'Used with Dratnos\' permission',
- 'permission_petko' => 'Used with Petko\'s permission',
- 'subtitle_temporary_route' => 'Temporary route',
- 'subtitle_author' => 'By %s',
- ],
-];
diff --git a/lang/en-US/npcaggressiveness.php b/lang/en-US/npcaggressiveness.php
deleted file mode 100644
index 06ca0b9d4c..0000000000
--- a/lang/en-US/npcaggressiveness.php
+++ /dev/null
@@ -1,9 +0,0 @@
- 'Aggressive',
- 'unfriendly' => 'Unfriendly',
- 'neutral' => 'Neutral',
- 'friendly' => 'Friendly',
- 'awakened' => 'Awakenend',
-];
diff --git a/lang/en-US/npcclasses.php b/lang/en-US/npcclasses.php
deleted file mode 100644
index 5c34df1da5..0000000000
--- a/lang/en-US/npcclasses.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 'Melee',
- 'ranged' => 'Ranged',
- 'caster' => 'Caster',
- 'healer' => 'Healer',
- 'caster_melee' => 'Caster/Melee',
- 'healer_caster' => 'Healer/Caster',
- 'healer_melee' => 'Healer/Melee',
- 'ranged_caster' => 'Ranged/Caster',
- 'ranged_healer' => 'Ranged/Healer',
- 'ranged_melee' => 'Ranged/Melee',
-];
diff --git a/lang/en-US/npcclassifications.php b/lang/en-US/npcclassifications.php
deleted file mode 100644
index 68d9c79645..0000000000
--- a/lang/en-US/npcclassifications.php
+++ /dev/null
@@ -1,9 +0,0 @@
- 'Normal',
- 'elite' => 'Elite',
- 'boss' => 'Boss',
- 'finalboss' => 'Final boss',
- 'rare' => 'Rare',
-];
diff --git a/lang/en-US/pagination.php b/lang/en-US/pagination.php
deleted file mode 100644
index fcab34b253..0000000000
--- a/lang/en-US/pagination.php
+++ /dev/null
@@ -1,19 +0,0 @@
- '« Previous',
- 'next' => 'Next »',
-
-];
diff --git a/lang/en-US/passwords.php b/lang/en-US/passwords.php
deleted file mode 100644
index ffa19ba407..0000000000
--- a/lang/en-US/passwords.php
+++ /dev/null
@@ -1,22 +0,0 @@
- 'Passwords must be at least six characters and match the confirmation.',
- 'reset' => 'Your password has been reset!',
- 'sent' => 'We have e-mailed your password reset link!',
- 'token' => 'This password reset token is invalid.',
- 'user' => "We can't find a user with that e-mail address.",
-
-];
diff --git a/lang/en-US/patreonbenefits.php b/lang/en-US/patreonbenefits.php
deleted file mode 100644
index fff3c83622..0000000000
--- a/lang/en-US/patreonbenefits.php
+++ /dev/null
@@ -1,10 +0,0 @@
- 'Ad-free',
- 'unlimited-dungeonroutes' => 'Unlimited routes',
- 'unlisted-routes' => 'Unlisted routes',
- 'animated-polylines' => 'Animated polylines',
- 'advanced-simulation' => 'Advanced simulation',
- 'ad-free-team-members' => 'Ad-free for team members',
-];
diff --git a/lang/en-US/policy.php b/lang/en-US/policy.php
deleted file mode 100644
index a47b745e56..0000000000
--- a/lang/en-US/policy.php
+++ /dev/null
@@ -1,13 +0,0 @@
- 'This route is not published and cannot be viewed. Please ask the author to publish this route to view it.',
- 'present_route_not_published' => 'This route is not published and cannot be presented. Please ask the author to publish this route to present it.',
- 'embed_route_not_published' => 'This route is not published and cannot be viewed. Please ask the author to publish this route to view it.',
- 'embed_route_sandbox_not_allowed' => 'Sandbox routes cannot be embedded.',
- 'publish_not_all_required_enemies_killed' => 'Unable to change sharing settings: not all required enemies have been killed.',
- 'add_kill_zone_limit_reached' => 'Unable to add more than :limit pulls to a single route.',
- 'add_brushline_limit_reached' => 'Unable to add more than :limit free-drawn lines to a single route.',
- 'add_path_limit_reached' => 'Unable to add more than :limit paths to a single route.',
- 'add_map_icon_limit_reached' => 'Unable to add more than :limit map icons to a single route.',
-];
diff --git a/lang/en-US/races.php b/lang/en-US/races.php
deleted file mode 100644
index 954682feae..0000000000
--- a/lang/en-US/races.php
+++ /dev/null
@@ -1,33 +0,0 @@
- 'Human',
- 'dwarf' => 'Dwarf',
- 'night_elf' => 'Night Elf',
- 'gnome' => 'Gnome',
- 'draenei' => 'Draenei',
- 'worgen' => 'Worgen',
- 'pandarenalliance' => 'Pandaren',
- 'void_elf' => 'Void Elf',
- 'lightforged_draenei' => 'Lightforged Draenei',
- 'dark_iron_dwarf' => 'Dark Iron Dwarf',
- 'dracthyralliance' => 'Dracthyr',
-
- 'orc' => 'Orc',
- 'undead' => 'Undead',
- 'tauren' => 'Tauren',
- 'troll' => 'Troll',
- 'blood_elf' => 'Blood Elf',
- 'goblin' => 'Goblin',
- 'pandarenhorde' => 'Pandaren',
- 'nightborne' => 'Nightborne',
- 'highmountain_tauren' => 'Highmountain Tauren',
- 'maghar_orc' => 'Mag\'har Orc',
- 'dracthyrhorde' => 'Dracthyr',
-
- 'kul_tiran_human' => 'Kul Tiran Human',
- 'zandalari_troll' => 'Zandalari Troll',
-
- 'mechagnome' => 'Mechagnome',
- 'vulpera' => 'Vulpera',
-];
diff --git a/lang/en-US/releasechangelogcategories.php b/lang/en-US/releasechangelogcategories.php
deleted file mode 100644
index d638b612cd..0000000000
--- a/lang/en-US/releasechangelogcategories.php
+++ /dev/null
@@ -1,16 +0,0 @@
- 'General changes',
- 'route_changes' => 'Route changes',
- 'map_changes' => 'Map changes',
- 'mapping_changes' => 'Mapping changes',
- 'bugfixes' => 'Bugfixes',
- 'mdt_importer_changes' => 'MDT Importer changes',
- 'team_changes' => 'Team changes',
- 'mdt_exporter_changes' => 'MDT Exporter changes',
- 'live_session_changes' => 'Live Session changes',
- 'simulation_craft_changes' => 'SimulationCraft changes',
- 'auto_route_changes' => 'Auto route changes',
- 'api_changes' => 'API changes',
-];
diff --git a/lang/en-US/routeattributes.php b/lang/en-US/routeattributes.php
deleted file mode 100644
index 477d353a17..0000000000
--- a/lang/en-US/routeattributes.php
+++ /dev/null
@@ -1,10 +0,0 @@
- 'No attributes',
- 'rogue_shroud_skip' => 'Rogue Shroud Skip',
- 'warlock_gate_skip' => 'Warlock Gate Skip',
- 'mage_slow_fall_skip' => 'Mage Slow Fall Skip',
- 'invisibility_potion' => 'Invisibility Potion',
- 'death_skip' => 'Death Skip',
-];
diff --git a/lang/en-US/specializations.php b/lang/en-US/specializations.php
deleted file mode 100644
index 14afacfafe..0000000000
--- a/lang/en-US/specializations.php
+++ /dev/null
@@ -1,68 +0,0 @@
- [
- 'blood' => 'Blood',
- 'frost' => 'Frost',
- 'unholy' => 'Unholy',
- ],
- 'demon_hunter' => [
- 'havoc' => 'Havoc',
- 'vengeance' => 'Vengeance',
- ],
- 'druid' => [
- 'balance' => 'Balance',
- 'feral' => 'Feral',
- 'guardian' => 'Guardian',
- 'restoration' => 'Restoration',
- ],
- 'evoker' => [
- 'devastation' => 'Devastation',
- 'preservation' => 'Preservation',
- ],
- 'hunter' => [
- 'beast_mastery' => 'Beast Mastery',
- 'marksman' => 'Marksman',
- 'survival' => 'Survival',
- ],
- 'mage' => [
- 'arcane' => 'Arcane',
- 'fire' => 'Fire',
- 'frost' => 'Frost',
- ],
- 'monk' => [
- 'brewmaster' => 'Brewmaster',
- 'mistweaver' => 'Mistweaver',
- 'windwalker' => 'Windwalker',
- ],
- 'paladin' => [
- 'holy' => 'Holy',
- 'protection' => 'Protection',
- 'retribution' => 'Retribution',
- ],
- 'priest' => [
- 'discipline' => 'Discipline',
- 'holy' => 'Holy',
- 'shadow' => 'Shadow',
- ],
- 'rogue' => [
- 'assassination' => 'Assassination',
- 'outlaw' => 'Outlaw',
- 'subtlety' => 'Subtlety',
- ],
- 'shaman' => [
- 'elemental' => 'Elemental',
- 'enhancement' => 'Enhancement',
- 'restoration' => 'Restoration',
- ],
- 'warlock' => [
- 'affliction' => 'Affliction',
- 'demonology' => 'Demonology',
- 'destruction' => 'Destruction',
- ],
- 'warrior' => [
- 'arms' => 'Arms',
- 'fury' => 'Fury',
- 'protection' => 'Protection',
- ],
-];
diff --git a/lang/en-US/spells.php b/lang/en-US/spells.php
deleted file mode 100644
index b1a041f064..0000000000
--- a/lang/en-US/spells.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'General',
- 'death_knight' => 'Death Knight',
- 'demon_hunter' => 'Demon Hunter',
- 'druid' => 'Druid',
- 'evoker' => 'Evoker',
- 'hunter' => 'Hunter',
- 'mage' => 'Mage',
- 'monk' => 'Monk',
- 'paladin' => 'Paladin',
- 'priest' => 'Priest',
- 'rogue' => 'Rogue',
- 'shaman' => 'Shaman',
- 'warlock' => 'Warlock',
- 'warrior' => 'Warrior',
-];
diff --git a/lang/en-US/teamroles.php b/lang/en-US/teamroles.php
deleted file mode 100644
index 2c78442189..0000000000
--- a/lang/en-US/teamroles.php
+++ /dev/null
@@ -1,8 +0,0 @@
- 'Member',
- 'collaborator' => 'Collaborator',
- 'moderator' => 'Moderator',
- 'admin' => 'Admin',
-];
diff --git a/lang/en-US/validation.php b/lang/en-US/validation.php
deleted file mode 100644
index 9608bc25b6..0000000000
--- a/lang/en-US/validation.php
+++ /dev/null
@@ -1,119 +0,0 @@
- 'The :attribute must be accepted.',
- 'active_url' => 'The :attribute is not a valid URL.',
- 'after' => 'The :attribute must be a date after :date.',
- 'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
- 'alpha' => 'The :attribute may only contain letters.',
- 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
- 'alpha_num' => 'The :attribute may only contain letters and numbers.',
- 'array' => 'The :attribute must be an array.',
- 'before' => 'The :attribute must be a date before :date.',
- 'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
- 'between' => [
- 'numeric' => 'The :attribute must be between :min and :max.',
- 'file' => 'The :attribute must be between :min and :max kilobytes.',
- 'string' => 'The :attribute must be between :min and :max characters.',
- 'array' => 'The :attribute must have between :min and :max items.',
- ],
- 'boolean' => 'The :attribute field must be true or false.',
- 'confirmed' => 'The :attribute confirmation does not match.',
- 'date' => 'The :attribute is not a valid date.',
- 'date_format' => 'The :attribute does not match the format :format.',
- 'different' => 'The :attribute and :other must be different.',
- 'digits' => 'The :attribute must be :digits digits.',
- 'digits_between' => 'The :attribute must be between :min and :max digits.',
- 'dimensions' => 'The :attribute has invalid image dimensions.',
- 'distinct' => 'The :attribute field has a duplicate value.',
- 'email' => 'The :attribute must be a valid email address.',
- 'exists' => 'The selected :attribute is invalid.',
- 'file' => 'The :attribute must be a file.',
- 'filled' => 'The :attribute field is required.',
- 'image' => 'The :attribute must be an image.',
- 'in' => 'The selected :attribute is invalid.',
- 'in_array' => 'The :attribute field does not exist in :other.',
- 'integer' => 'The :attribute must be an integer.',
- 'ip' => 'The :attribute must be a valid IP address.',
- 'json' => 'The :attribute must be a valid JSON string.',
- 'max' => [
- 'numeric' => 'The :attribute may not be greater than :max.',
- 'file' => 'The :attribute may not be greater than :max kilobytes.',
- 'string' => 'The :attribute may not be greater than :max characters.',
- 'array' => 'The :attribute may not have more than :max items.',
- ],
- 'mimes' => 'The :attribute must be a file of type: :values.',
- 'mimetypes' => 'The :attribute must be a file of type: :values.',
- 'min' => [
- 'numeric' => 'The :attribute must be at least :min.',
- 'file' => 'The :attribute must be at least :min kilobytes.',
- 'string' => 'The :attribute must be at least :min characters.',
- 'array' => 'The :attribute must have at least :min items.',
- ],
- 'not_in' => 'The selected :attribute is invalid.',
- 'numeric' => 'The :attribute must be a number.',
- 'present' => 'The :attribute field must be present.',
- 'regex' => 'The :attribute format is invalid.',
- 'required' => 'The :attribute field is required.',
- 'required_if' => 'The :attribute field is required when :other is :value.',
- 'required_unless' => 'The :attribute field is required unless :other is in :values.',
- 'required_with' => 'The :attribute field is required when :values is present.',
- 'required_with_all' => 'The :attribute field is required when :values is present.',
- 'required_without' => 'The :attribute field is required when :values is not present.',
- 'required_without_all' => 'The :attribute field is required when none of :values are present.',
- 'same' => 'The :attribute and :other must match.',
- 'size' => [
- 'numeric' => 'The :attribute must be :size.',
- 'file' => 'The :attribute must be :size kilobytes.',
- 'string' => 'The :attribute must be :size characters.',
- 'array' => 'The :attribute must contain :size items.',
- ],
- 'string' => 'The :attribute must be a string.',
- 'timezone' => 'The :attribute must be a valid zone.',
- 'unique' => 'The :attribute has already been taken.',
- 'uploaded' => 'The :attribute failed to upload.',
- 'url' => 'The :attribute format is invalid.',
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => [
- 'attribute-name' => [
- 'rule-name' => 'custom-message',
- ],
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => [],
-
-];
diff --git a/lang/en-US/affixes.php b/lang/en_US/affixes.php
similarity index 67%
rename from lang/en-US/affixes.php
rename to lang/en_US/affixes.php
index 63536ef730..8c6afc1f92 100644
--- a/lang/en-US/affixes.php
+++ b/lang/en_US/affixes.php
@@ -1,129 +1,131 @@
[
- 'name' => 'Bolstering',
+
+ 'bolstering' => [
+ 'name' => 'Bolstering',
'description' => 'When any non-boss enemy dies, its death cry empowers nearby allies, increasing their maximum health and damage by 20%.',
],
- 'bursting' => [
- 'name' => 'Bursting',
+ 'bursting' => [
+ 'name' => 'Bursting',
'description' => 'When slain, non-boss enemies explode, causing all players to suffer 10% of their max health in damage over 4 sec. This effect stacks.',
],
- 'explosive' => [
- 'name' => 'Explosive',
+ 'explosive' => [
+ 'name' => 'Explosive',
'description' => 'While in combat, enemies periodically summon Explosive Orbs that will detonate if not destroyed.',
],
- 'fortified' => [
- 'name' => 'Fortified',
+ 'fortified' => [
+ 'name' => 'Fortified',
'description' => 'Non-boss enemies have 20% more health and inflict up to 30% increased damage.',
],
- 'grievous' => [
- 'name' => 'Grievous',
+ 'grievous' => [
+ 'name' => 'Grievous',
'description' => 'When injured below 90% health, players will suffer increasing damage over time until healed above 90% health.',
],
- 'infested' => [
- 'name' => 'Infested',
+ 'infested' => [
+ 'name' => 'Infested',
'description' => 'Some non-boss enemies have been infested with a Spawn of G\'huun.',
],
- 'necrotic' => [
- 'name' => 'Necrotic',
+ 'necrotic' => [
+ 'name' => 'Necrotic',
'description' => 'All enemies\' melee attacks apply a stacking blight that inflicts damage over time and reduces healing received.',
],
- 'quaking' => [
- 'name' => 'Quaking',
+ 'quaking' => [
+ 'name' => 'Quaking',
'description' => 'Periodically, all players emit a shockwave, inflicting damage and interrupting nearby allies.',
],
- 'raging' => [
- 'name' => 'Raging',
+ 'raging' => [
+ 'name' => 'Raging',
'description' => 'Non-boss enemies enrage at 30% health, becoming immune to crowd control other than interrupts.',
],
- 'relentless' => [
- 'name' => 'Relentless',
+ 'relentless' => [
+ 'name' => 'Relentless',
'description' => 'Non-boss enemies are granted temporary immunity to Loss of Control effects.',
],
- 'sanguine' => [
- 'name' => 'Sanguine',
+ 'sanguine' => [
+ 'name' => 'Sanguine',
'description' => 'When slain, non-boss enemies leave behind a lingering pool of ichor that heals their allies and damages players.',
],
- 'skittish' => [
- 'name' => 'Skittish',
+ 'skittish' => [
+ 'name' => 'Skittish',
'description' => 'Enemies pay far less attention to threat generated by tanks.',
],
- 'teeming' => [
- 'name' => 'Teeming',
+ 'teeming' => [
+ 'name' => 'Teeming',
'description' => 'Additional non-boss enemies are present throughout the dungeon.',
],
- 'tyrannical' => [
- 'name' => 'Tyrannical',
+ 'tyrannical' => [
+ 'name' => 'Tyrannical',
'description' => 'Boss enemies have 30% more health and inflict up to 15% increased damage.',
],
- 'volcanic' => [
- 'name' => 'Volcanic',
+ 'volcanic' => [
+ 'name' => 'Volcanic',
'description' => 'While in combat, enemies periodically cause gouts of flame to erupt beneath the feet of distant players.',
],
- 'reaping' => [
- 'name' => 'Reaping',
+ 'reaping' => [
+ 'name' => 'Reaping',
'description' => 'Non-boss enemies are empowered by Bwonsamdi and periodically seek vengeance from beyond the grave.',
],
- 'beguiling' => [
- 'name' => 'Beguiling',
+ 'beguiling' => [
+ 'name' => 'Beguiling',
'description' => 'Azshara\'s Emissaries are present throughout the dungeon.',
],
- 'awakened' => [
- 'name' => 'Awakened',
+ 'awakened' => [
+ 'name' => 'Awakened',
'description' => 'Obelisks throughout the dungeon allow players to enter Ny\'alotha and confront powerful servants of N\'Zoth. If a servant is not dealt with, they must be faced during the final boss encounter.',
],
- 'inspiring' => [
- 'name' => 'Inspiring',
+ 'inspiring' => [
+ 'name' => 'Inspiring',
'description' => 'Some non-boss enemies have an inspiring presence that strengthens their allies.',
],
- 'spiteful' => [
- 'name' => 'Spiteful',
+ 'spiteful' => [
+ 'name' => 'Spiteful',
'description' => 'Fiends rise from the corpses of non-boss enemies and pursue random players.',
],
- 'storming' => [
- 'name' => 'Storming',
+ 'storming' => [
+ 'name' => 'Storming',
'description' => 'While in combat, enemies periodically summon damaging whirlwinds.',
],
- 'prideful' => [
- 'name' => 'Prideful',
+ 'prideful' => [
+ 'name' => 'Prideful',
'description' => 'Players overflow with pride as they defeat non-boss enemies, eventually forming a Manifestation of Pride. Defeating this Manifestation greatly empowers players.',
],
- 'tormented' => [
- 'name' => 'Tormented',
+ 'tormented' => [
+ 'name' => 'Tormented',
'description' => 'Servants of the Jailer can be found throughout the dungeon and grant powerful boons when defeated. If a servant is not dealt with, they empower the final boss.',
],
- 'unknown' => [
- 'name' => 'Unknown',
+ 'unknown' => [
+ 'name' => 'Unknown',
'description' => 'The affixes for this week are not known yet.',
],
- 'infernal' => [
- 'name' => 'Infernal',
+ 'infernal' => [
+ 'name' => 'Infernal',
'description' => 'Infernal Beacons can be found near some bosses. Activating a Beacon or engaging a nearby boss will trigger a Legion invasion.',
],
- 'encrypted' => [
- 'name' => 'Encrypted',
+ 'encrypted' => [
+ 'name' => 'Encrypted',
'description' => 'Enemies throughout the dungeon possess relics of the First Ones. Destroy the relics to summon the First Ones\' Automa and gain powerful bonuses, based on the order in which they were destroyed.',
],
- 'shrouded' => [
- 'name' => 'Shrouded',
+ 'shrouded' => [
+ 'name' => 'Shrouded',
'description' => 'Nathrezim infiltrators have disguised themselves among enemies throughout the dungeon. Cartel Ta will reward you handsomely for assisting in their capture.',
],
- 'thundering' => [
- 'name' => 'Thundering',
+ 'thundering' => [
+ 'name' => 'Thundering',
'description' => 'Enemies have 5% more health. While in combat, players are periodically overcharged with primal power from Raszageth\'s unending storm. This power comes with great risk, and failure to discharge it quickly can have stunning consequences.',
],
- 'afflicted' => [
- 'name' => 'Afflicted',
+ 'afflicted' => [
+ 'name' => 'Afflicted',
'description' => 'While in combat, afflicted souls periodically appear and seek the aid of players.',
],
- 'entangling' => [
- 'name' => 'Entangling',
+ 'entangling' => [
+ 'name' => 'Entangling',
'description' => 'While in combat, entangling vines periodically appear and snare players.',
],
- 'incorporeal' => [
- 'name' => 'Incorporeal',
+ 'incorporeal' => [
+ 'name' => 'Incorporeal',
'description' => 'While in combat, incorporeal beings periodically appear and attempt to weaken players.',
],
'seasonal_index_preset' => '%s preset %d',
+
];
diff --git a/lang/en_US/auth.php b/lang/en_US/auth.php
new file mode 100644
index 0000000000..7fa3766309
--- /dev/null
+++ b/lang/en_US/auth.php
@@ -0,0 +1,8 @@
+ 'These credentials do not match our records.',
+ 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
+
+];
diff --git a/lang/en-US/breadcrumbs.php b/lang/en_US/breadcrumbs.php
similarity index 52%
rename from lang/en-US/breadcrumbs.php
rename to lang/en_US/breadcrumbs.php
index 84df39de69..17abf0e0e3 100644
--- a/lang/en-US/breadcrumbs.php
+++ b/lang/en_US/breadcrumbs.php
@@ -1,113 +1,99 @@
[
- 'keystone_guru' => 'Keystone.guru',
- 'affixes' => 'Affixes',
- 'changelog' => 'Changelog',
- 'routes' => 'Routes',
+ 'keystone_guru' => 'Keystone.guru',
+ 'affixes' => 'Affixes',
+ 'changelog' => 'Changelog',
+ 'routes' => 'Routes',
'routes_expansion' => ':expansion routes',
-
'dungeon' => [
'explore' => 'Explore',
],
-
'dungeonroute' => [
'new' => 'New route',
],
-
'dungeonroutes' => [
- 'search' => 'Search',
- 'popular' => 'Popular',
+ 'search' => 'Search',
+ 'popular' => 'Popular',
'next_week_affixes' => 'Next week\'s affixes',
'this_week_affixes' => 'This week\'s affixes',
- 'new' => 'New',
-
+ 'new' => 'New',
'routes_season' => 'Season :season',
- 'season' => [
- 'popular' => 'Popular',
+ 'season' => [
+ 'popular' => 'Popular',
'next_week_affixes' => 'Next week\'s affixes',
'this_week_affixes' => 'This week\'s affixes',
- 'new' => 'New',
+ 'new' => 'New',
],
-
'discoverdungeon' => [
- 'popular' => 'Popular',
+ 'popular' => 'Popular',
'next_week_affixes' => 'Next week\'s affixes',
'this_week_affixes' => 'This week\'s affixes',
- 'new' => 'New',
+ 'new' => 'New',
],
],
-
'my_profile' => 'My public profile',
- 'my_routes' => 'My routes',
- 'my_tags' => 'My tags',
- 'my_teams' => 'My teams',
- 'overview' => 'Overview',
- 'new_team' => 'New team',
- 'edit_team' => 'Edit team',
- 'join_team' => 'Join team',
-
+ 'my_routes' => 'My routes',
+ 'my_tags' => 'My tags',
+ 'my_teams' => 'My teams',
+ 'overview' => 'Overview',
+ 'new_team' => 'New team',
+ 'edit_team' => 'Edit team',
+ 'join_team' => 'Join team',
'admin' => [
- 'admin' => 'Admin',
- 'tools' => [
- 'admin_tools' => 'Admin tools',
+ 'admin' => 'Admin',
+ 'tools' => [
+ 'admin_tools' => 'Admin tools',
'view_exported_dungeondata' => 'View exported dungeondata',
- 'view_exported_releases' => 'View exported releases',
- 'select_exception' => 'Select exception',
- 'mdt_diff' => 'MDT diff',
- 'view_mdt_string_contents' => 'View MDT string contents',
- 'import_npcs' => 'Import NPCs',
+ 'view_exported_releases' => 'View exported releases',
+ 'select_exception' => 'Select exception',
+ 'mdt_diff' => 'MDT diff',
+ 'view_mdt_string_contents' => 'View MDT string contents',
+ 'import_npcs' => 'Import NPCs',
],
- 'releases' => 'Releases',
- 'new_release' => 'New release',
+ 'releases' => 'Releases',
+ 'new_release' => 'New release',
'edit_release' => 'Edit release',
-
'expansions' => [
- 'expansions' => 'Expansions',
- 'new_expansion' => 'New expansion',
+ 'expansions' => 'Expansions',
+ 'new_expansion' => 'New expansion',
'edit_expansion' => 'Edit expansion',
],
-
'dungeons' => [
- 'dungeons' => 'Dungeons',
- 'new_dungeon' => 'New dungeon',
+ 'dungeons' => 'Dungeons',
+ 'new_dungeon' => 'New dungeon',
'edit_dungeon' => 'Edit :dungeon',
],
-
'floors' => [
- 'new_floor' => 'New floor',
+ 'new_floor' => 'New floor',
'edit_floor' => 'Edit floor',
],
-
'dungeonspeedrunrequirednpc' => [
'new_dungeonspeedrunrequirednpc10man' => 'New 10-man Dungeon Speedrun Required NPC',
'new_dungeonspeedrunrequirednpc25man' => 'New 25-man Dungeon Speedrun Required NPC',
],
-
'npcs' => [
- 'npcs' => 'NPCs',
- 'new_npc' => 'New NPC',
+ 'npcs' => 'NPCs',
+ 'new_npc' => 'New NPC',
'edit_npc' => 'Edit NPC',
],
-
'npcenemyforces' => [
'edit_npc_enemy_forces' => 'Edit NPC enemy forces',
],
-
'spells' => [
- 'spells' => 'Spells',
- 'new_spell' => 'New spell',
+ 'spells' => 'Spells',
+ 'new_spell' => 'New spell',
'edit_spell' => 'Edit spell',
],
-
'users' => [
'users' => 'Users',
],
-
'user_reports' => [
'user_reports' => 'User reports',
],
],
],
+
];
diff --git a/lang/en_US/classes.php b/lang/en_US/classes.php
new file mode 100644
index 0000000000..98e95dba44
--- /dev/null
+++ b/lang/en_US/classes.php
@@ -0,0 +1,19 @@
+ 'Death Knight',
+ 'demon_hunter' => 'Demon Hunter',
+ 'druid' => 'Druid',
+ 'evoker' => 'Evoker',
+ 'hunter' => 'Hunter',
+ 'mage' => 'Mage',
+ 'monk' => 'Monk',
+ 'paladin' => 'Paladin',
+ 'priest' => 'Priest',
+ 'rogue' => 'Rogue',
+ 'shaman' => 'Shaman',
+ 'warlock' => 'Warlock',
+ 'warrior' => 'Warrior',
+
+];
diff --git a/lang/en_US/controller.php b/lang/en_US/controller.php
new file mode 100644
index 0000000000..565226371f
--- /dev/null
+++ b/lang/en_US/controller.php
@@ -0,0 +1,203 @@
+ [
+ 'error' => [
+ 'mdt_string_parsing_failed' => 'MDT string parsing failed due to an internal server error.',
+ 'mdt_string_format_not_recognized' => 'The MDT string format was not recognized.',
+ 'invalid_mdt_string' => 'Invalid MDT string',
+ 'invalid_mdt_string_exception' => 'Invalid MDT string: %s',
+ 'mdt_importer_not_configured' => 'MDT importer is not configured properly. Please contact the admin about this issue.',
+ 'mdt_unable_to_find_npc_for_id' => 'Unable to find NPC for id %d',
+ 'mdt_mismatched_health' => 'NPC %s has mismatched health values, MDT: %s, KG: %s',
+ 'mdt_mismatched_enemy_forces' => 'NPC %s has mismatched enemy forces, MDT: %s, KG: %s',
+ 'mdt_mismatched_enemy_forces_teeming' => 'NPC %s has mismatched enemy forces teeming, MDT: %s, KG: %s',
+ 'mdt_mismatched_enemy_count' => 'NPC %s has mismatched enemy count, MDT: %s, KG: %s',
+ 'mdt_mismatched_enemy_type' => 'NPC %s has mismatched enemy type, MDT: %s, KG: %s',
+ 'mdt_invalid_category' => 'Invalid category',
+ ],
+ 'flash' => [
+ 'thumbnail_regenerate_result' => 'Dispatched :success jobs for :total routes. :failed failed.',
+ 'caches_dropped_successfully' => 'Caches dropped successfully',
+ 'releases_exported' => 'Releases exported',
+ 'exception' => [
+ 'internal_server_error' => 'Exception thrown in admin panel',
+ ],
+ ],
+ ],
+ 'apidungeonroute' => [
+ 'mdt_generate_error' => 'An error occurred generating your MDT string: %s',
+ 'mdt_generate_no_lua' => 'MDT importer is not configured properly. Please contact the admin about this issue',
+ ],
+ 'apiuserreport' => [
+ 'error' => [
+ 'unable_to_update_user_report' => 'Unable to update user report',
+ 'unable_to_save_report' => 'Unable to save report',
+ ],
+ ],
+ 'brushline' => [
+ 'error' => [
+ 'unable_to_save_brushline' => 'Unable to save line',
+ 'unable_to_delete_brushline' => 'Unable to delete line',
+ ],
+ ],
+ 'dungeon' => [
+ 'flash' => [
+ 'dungeon_created' => 'Dungeon created',
+ 'dungeon_updated' => 'Dungeon updated',
+ ],
+ ],
+ 'dungeonroute' => [
+ 'unable_to_save' => 'Unable to save route',
+ 'flash' => [
+ 'route_cloned_successfully' => 'Route cloned successfully',
+ 'route_updated' => 'Route updated',
+ 'route_created' => 'Route created',
+ ],
+ ],
+ 'dungeonroutediscover' => [
+ 'popular' => 'Popular routes',
+ 'this_week_affixes' => 'This week\'s affixes',
+ 'next_week_affixes' => 'Next week\'s affixes',
+ 'new' => 'New',
+ 'season' => [
+ 'popular' => '%s popular routes',
+ 'this_week_affixes' => '%s this week',
+ 'next_week_affixes' => '%s next week',
+ 'new' => '%s new routes',
+ ],
+ 'dungeon' => [
+ 'popular' => '%s popular routes',
+ 'this_week_affixes' => '%s this week',
+ 'next_week_affixes' => '%s next week',
+ 'new' => '%s new routes',
+ ],
+ ],
+ 'dungeonspeedrunrequirednpcs' => [
+ 'no_linked_npc' => 'No linked NPC',
+ 'flash' => [
+ 'npc_added_successfully' => 'Successfully added NPC',
+ 'npc_deleted_successfully' => 'Successfully removed NPC',
+ ],
+ ],
+ 'expansion' => [
+ 'flash' => [
+ 'unable_to_save_expansion' => 'Unable to save expansion',
+ 'expansion_updated' => 'Expansion updated',
+ 'expansion_created' => 'Expansion created',
+ ],
+ ],
+ 'generic' => [
+ 'error' => [
+ 'floor_not_found_in_dungeon' => 'Floor not part of dungeon',
+ 'not_found' => 'Not found',
+ ],
+ ],
+ 'oauthlogin' => [
+ 'flash' => [
+ 'registered_successfully' => 'Registered successfully. Enjoy the website!',
+ 'user_exists' => 'There is already a user with username %s. Did you already register before?',
+ 'email_exists' => 'There is already a user with e-mail address %s. Did you already register before?',
+ 'permission_denied' => 'Unable to register - the request was denied. Please try again.',
+ ],
+ ],
+ 'register' => [
+ 'flash' => [
+ 'registered_successfully' => 'Registered successfully. Enjoy the website!',
+ ],
+ 'legal_agreed_required' => 'You have to agree to our legal terms to register.',
+ 'legal_agreed_accepted' => 'You have to agree to our legal terms to register.',
+ ],
+ 'release' => [
+ 'error' => [
+ 'unable_to_save_release' => 'Unable to save release',
+ ],
+ 'flash' => [
+ 'release_updated' => 'Release updated',
+ 'release_created' => 'Release created',
+ 'github_exception' => 'An error occurred communicating with Github: %s',
+ ],
+ ],
+ 'mappingversion' => [
+ 'created_successfully' => 'Added new mapping version!',
+ 'deleted_successfully' => 'Deleted mapping version successfully',
+ ],
+ 'mdtimport' => [
+ 'unknown_dungeon' => 'Unknown dungeon',
+ 'error' => [
+ 'mdt_string_parsing_failed' => 'MDT string parsing failed due to an internal server error.',
+ 'mdt_string_format_not_recognized' => 'The MDT string format was not recognized.',
+ 'invalid_mdt_string_exception' => 'Invalid MDT string: %s',
+ 'invalid_mdt_string' => 'Invalid MDT string',
+ 'mdt_importer_not_configured_properly' => 'MDT importer is not configured properly. Please contact the admin about this issue.',
+ 'cannot_create_route_must_be_logged_in' => 'You must be logged in to create a route',
+ ],
+ ],
+ 'path' => [
+ 'error' => [
+ 'unable_to_save_path' => 'Unable to save path',
+ 'unable_to_delete_path' => 'Unable to delete path',
+ ],
+ ],
+ 'patreon' => [
+ 'flash' => [
+ 'unlink_successful' => 'Your Patreon account has successfully been unlinked.',
+ 'link_successful' => 'Your Patreon has been linked successfully. Thank you!',
+ 'patreon_session_expired' => 'Your Patreon session has expired. Please try again.',
+ 'session_expired' => 'Your session has expired. Please try again.',
+ 'patreon_error_occurred' => 'An error occurred on Patreon\'s side. Please try again later.',
+ 'internal_error_occurred' => 'An error occurred while processing Patreon\'s response - it appears to be malformed. The error was logged and will be dealt with. Please try again later.',
+ ],
+ ],
+ 'profile' => [
+ 'flash' => [
+ 'email_already_in_use' => 'That username is already in use.',
+ 'username_already_in_use' => 'That username is already in use.',
+ 'profile_updated' => 'Profile updated',
+ 'unexpected_error_when_saving' => 'An unexpected error occurred trying to save your profile',
+ 'privacy_settings_updated' => 'Privacy settings updated',
+ 'password_changed' => 'Password changed',
+ 'new_password_equals_old_password' => 'New password equals the old password',
+ 'new_passwords_do_not_match' => 'New passwords do not match',
+ 'current_password_is_incorrect' => 'Current password is incorrect',
+ 'tag_created_successfully' => 'Tag created successfully',
+ 'tag_already_exists' => 'This tag already exists',
+ 'admins_cannot_delete_themselves' => 'Admins cannot delete themselves!',
+ 'account_deleted_successfully' => 'Account deleted successfully.',
+ 'error_deleting_account' => 'An error occurred. Please try again.',
+ ],
+ ],
+ 'spell' => [
+ 'error' => [
+ 'unable_to_save_spell' => 'Unable to save spell',
+ ],
+ 'flash' => [
+ 'spell_updated' => 'Spell updated',
+ 'spell_created' => 'Spell created',
+ ],
+ ],
+ 'team' => [
+ 'flash' => [
+ 'team_updated' => 'Team updated',
+ 'team_created' => 'Team created',
+ 'unable_to_find_team_for_invite_code' => 'Unable to find a team associated with this invite code',
+ 'invite_accept_success' => 'Success! You are now a member of team %s.',
+ 'tag_created_successfully' => 'Tag created successfully',
+ 'tag_already_exists' => 'This tag already exists',
+ ],
+ ],
+ 'user' => [
+ 'flash' => [
+ 'user_is_now_an_admin' => 'User %s is now an admin',
+ 'user_is_no_longer_an_admin' => 'User %s is no longer an admin',
+ 'user_is_now_a_user' => 'User %s is now a user',
+ 'account_deleted_successfully' => 'Account deleted successfully.',
+ 'account_deletion_error' => 'An error occurred. Please try again.',
+ 'user_is_not_a_patron' => 'This user is not a Patron.',
+ 'all_benefits_granted_successfully' => 'All benefits granted successfully.',
+ 'error_granting_all_benefits' => 'An error occurred while trying to grant all benefits.',
+ ],
+ ],
+
+];
diff --git a/lang/en_US/dungeons.php b/lang/en_US/dungeons.php
new file mode 100644
index 0000000000..5eec2b7356
--- /dev/null
+++ b/lang/en_US/dungeons.php
@@ -0,0 +1,835 @@
+ [
+ 1 => '10-man',
+ 2 => '25-man',
+ ],
+ 'classic' => [
+ 'blackfathom_deeps' => [
+ 'name' => 'Blackfathom Deeps',
+ 'floors' => [
+ 'the_pool_of_ask_ar' => 'The Pool of Ask\'Ar',
+ 'moonshrine_sanctum' => 'Moonshrine Sanctum',
+ 'the_forgotten_pool' => 'The Forgotten Pool',
+ ],
+ ],
+ 'blackrock_depths' => [
+ 'name' => 'Blackrock Depths',
+ 'floors' => [
+ 'detention_block' => 'Detention Block',
+ 'shadowforge_city' => 'Shadowforge City',
+ ],
+ ],
+ 'deadmines' => [
+ 'name' => 'The Deadmines',
+ 'floors' => [
+ 'the_deadmines' => 'The Deadmines',
+ 'ironclad_cove' => 'Ironclad Cove',
+ ],
+ ],
+ 'dire_maul_west' => [
+ 'name' => 'Dire Maul West',
+ 'floors' => [
+ 'capital_gardens' => 'Capital Gardens',
+ 'court_of_the_highborne' => 'Court of the Highborne',
+ 'prison_of_immol_thar' => 'Prison of Immol\'Thar',
+ ],
+ ],
+ 'dire_maul_north' => [
+ 'name' => 'Dire Maul North',
+ 'floors' => [
+ 'gordok_commons' => 'Gordok Commons',
+ ],
+ ],
+ 'dire_maul_east' => [
+ 'name' => 'Dire Maul East',
+ 'floors' => [
+ 'warpwood_quarter' => 'Warpwood Quarter',
+ 'the_shrine_of_eldretharr' => 'The Shrine of Eldretharr',
+ ],
+ ],
+ 'gnomeregan' => [
+ 'name' => 'Gnomeregan',
+ 'floors' => [
+ 'the_hall_of_gears' => 'The Hall of Gears',
+ 'the_dormitory' => 'The Dormitory',
+ 'launch_bay' => 'Launch Bay',
+ 'tinkers_court' => 'Tinkers\' Court',
+ ],
+ ],
+ 'gnomeregan_sod' => [
+ 'name' => 'Gnomeregan (SoD)',
+ 'floors' => [
+ 'the_hall_of_gears' => 'The Hall of Gears',
+ 'the_dormitory' => 'The Dormitory',
+ 'launch_bay' => 'Launch Bay',
+ 'tinkers_court' => 'Tinkers\' Court',
+ ],
+ ],
+ 'lower_blackrock_spire' => [
+ 'name' => 'Lower Blackrock Spire',
+ 'floors' => [
+ 'tazz_alor' => 'Tazz\'Alor',
+ 'skitterweb_tunnels' => 'Skitterweb Tunnels',
+ 'hordemar_city' => 'Hordemar City',
+ 'hall_of_blackhand' => 'Hall of Blackhand',
+ 'halycons_lair' => 'Halycon\'s Lair',
+ 'chamber_of_battle' => 'Chamber of Battle',
+ ],
+ ],
+ 'maraudon' => [
+ 'name' => 'Maraudon',
+ 'floors' => [
+ 'caverns_of_maraudon' => 'Caverns of Maraudon',
+ 'zaetars_grave' => 'Zaetar\'s Grave',
+ ],
+ ],
+ 'ragefire_chasm' => [
+ 'name' => 'Ragefire Chasm',
+ 'floors' => [
+ 'ragefire_chasm' => 'Ragefire Chasm',
+ ],
+ ],
+ 'razorfen_downs' => [
+ 'name' => 'Razorfen Downs',
+ 'floors' => [
+ 'razorfen_downs' => 'Razorfen Downs',
+ ],
+ ],
+ 'razorfen_kraul' => [
+ 'name' => 'Razorfen Kraul',
+ 'floors' => [
+ 'razorfen_kraul' => 'Razorfen Kraul',
+ ],
+ ],
+ 'scarlet_monastery_armory' => [
+ 'name' => 'Scarlet Monastery Armory',
+ 'floors' => [
+ 'armory' => 'Armory',
+ ],
+ ],
+ 'scarlet_monastery_cathedral' => [
+ 'name' => 'Scarlet Monastery Cathedral',
+ 'floors' => [
+ 'cathedral' => 'Cathedral',
+ ],
+ ],
+ 'scarlet_monastery_graveyard' => [
+ 'name' => 'Scarlet Monastery Graveyard',
+ 'floors' => [
+ 'graveyard' => 'Graveyard',
+ ],
+ ],
+ 'scarlet_monastery_library' => [
+ 'name' => 'Scarlet Monastery Library',
+ 'floors' => [
+ 'library' => 'Library',
+ ],
+ ],
+ 'scholomance' => [
+ 'name' => 'Scholomance',
+ 'floors' => [
+ 'the_reliquary' => 'The Reliquary',
+ 'chamber_of_summoning' => 'Chamber of Summoning',
+ 'the_upper_study' => 'The Upper Study',
+ 'headmasters_story' => 'Headmaster\'s Study',
+ ],
+ ],
+ 'shadowfang_keep' => [
+ 'name' => 'Shadowfang Keep',
+ 'floors' => [
+ 'the_courtyard' => 'The Courtyard',
+ 'dining_hall' => 'Dining Hall',
+ 'the_vacant_den' => 'The Vacant Den',
+ 'lower_observatory' => 'Lower Observatory',
+ 'upper_observatory' => 'Upper Observatory',
+ 'lord_godfreys_chamber' => 'Lord Godfrey\'s Chamber',
+ 'the_wall_walk' => 'The Wall Walk',
+ ],
+ ],
+ 'stratholme' => [
+ 'name' => 'Stratholme',
+ 'floors' => [
+ 'crusaders_square' => 'Crusader\'s Square',
+ 'the_gauntlet' => 'The Gauntlet',
+ ],
+ ],
+ 'the_stockade' => [
+ 'name' => 'The Stockade',
+ 'floors' => [
+ 'the_stockade' => 'The Stockade',
+ ],
+ ],
+ 'the_temple_of_atal_hakkar' => [
+ 'name' => 'The Temple of Atal\'Hakkar',
+ 'floors' => [
+ 'the_pit_of_refuse' => 'The Pit of Refuse',
+ 'hall_of_serpents' => 'Hall of Serpents',
+ 'entrance' => 'Entrance',
+ 'the_temple_of_atal_hakkar' => 'The Temple of Atal\'Hakkar',
+ 'hall_of_the_cursed' => 'Hall of the Cursed',
+ ],
+ ],
+ 'uldaman' => [
+ 'name' => 'Uldaman',
+ 'floors' => [
+ 'hall_of_the_keepers' => 'Hall of the Keepers',
+ 'khaz_goroths_seat' => 'Khaz\'Goroth\'s Seat',
+ ],
+ ],
+ 'upper_blackrock_spire' => [
+ 'name' => 'Upper Blackrock Spire',
+ 'floors' => [
+ 'dragonspire_hall' => 'Dragonspire Hall',
+ 'the_rookery' => 'The Rookery',
+ 'hall_of_blackhand' => 'Hall of Blackhand',
+ ],
+ ],
+ 'wailing_caverns' => [
+ 'name' => 'Wailing Caverns',
+ 'floors' => [
+ 'wailing_caverns' => 'Wailing Caverns',
+ ],
+ ],
+ 'zul_farrak' => [
+ 'name' => 'Zul\'Farrak',
+ 'floors' => [
+ 'zul_farrak' => 'Zul\'Farrak',
+ ],
+ ],
+ ],
+ 'wotlk' => [
+ 'ahn_kahet_the_old_kingdom' => [
+ 'name' => 'Ahn\'kahet: The Old Kingdom',
+ 'floors' => [
+ 'ahn_kahet_the_old_kingdom' => 'Ahn\'kahet: The Old Kingdom',
+ ],
+ ],
+ 'azjol_nerub' => [
+ 'name' => 'Azjol-Nerub',
+ 'floors' => [
+ 'the_brood_pit' => 'The Brood Pit',
+ 'hadronoxs_lair' => 'Hadronox\'s Lair',
+ 'the_gilded_gate' => 'The Gilded Gate',
+ ],
+ ],
+ 'drak_tharon_keep' => [
+ 'name' => 'Drak\'Tharon Keep',
+ 'floors' => [
+ 'the_vestibules_of_drak_tharon' => 'The Vestibules of Drak\'Tharon',
+ 'drak_tharon_overlook' => 'Drak\'Tharon Overlook',
+ ],
+ ],
+ 'gundrak' => [
+ 'name' => 'Gundrak',
+ 'floors' => [
+ 'gundrak' => 'Gundrak',
+ ],
+ ],
+ 'halls_of_lightning' => [
+ 'name' => 'Halls of Lightning',
+ 'floors' => [
+ 'unyielding_garrison' => 'Unyielding Garrison',
+ 'walk_of_the_makers' => 'Walk of the Makers',
+ ],
+ ],
+ 'halls_of_reflection' => [
+ 'name' => 'Halls of Reflection',
+ 'floors' => [
+ 'halls_of_reflection' => 'Halls of Reflection',
+ ],
+ ],
+ 'halls_of_stone' => [
+ 'name' => 'Halls of Stone',
+ 'floors' => [
+ 'halls_of_stone' => 'Halls of Stone',
+ ],
+ ],
+ 'pit_of_saron' => [
+ 'name' => 'Pit of Saron',
+ 'floors' => [
+ 'pit_of_saron' => 'Pit of Saron',
+ ],
+ ],
+ 'the_culling_of_stratholme' => [
+ 'name' => 'The Culling of Stratholme',
+ 'floors' => [
+ 'the_culling_of_stratholme' => 'The Culling of Stratholme',
+ 'stratholme_city' => 'Stratholme City',
+ ],
+ ],
+ 'the_forge_of_souls' => [
+ 'name' => 'The Forge of Souls',
+ 'floors' => [
+ 'the_forge_of_souls' => 'The Forge of Souls',
+ ],
+ ],
+ 'the_nexus' => [
+ 'name' => 'The Nexus',
+ 'floors' => [
+ 'the_nexus' => 'The Nexus',
+ ],
+ ],
+ 'the_oculus' => [
+ 'name' => 'The Oculus',
+ 'floors' => [
+ 'the_oculus' => 'The Oculus',
+ 'band_of_variance' => 'Band of Variance',
+ 'band_of_acceleration' => 'Band of Acceleration',
+ 'band_of_transmutation' => 'Band of Transmutation',
+ 'band_of_alignment' => 'Band of Alignment',
+ ],
+ ],
+ 'the_violet_hold' => [
+ 'name' => 'The Violet Hold',
+ 'floors' => [
+ 'the_violet_hold' => 'The Violet Hold',
+ ],
+ ],
+ 'trial_of_the_champion' => [
+ 'name' => 'Trial of the Champion',
+ ],
+ 'utgarde_keep' => [
+ 'name' => 'Utgarde Keep',
+ 'floors' => [
+ 'njorndir_preparation' => 'Njorndir Preparation',
+ 'dragonflayer_ascent' => 'Dragonflayer Ascent',
+ 'tyrs_terrace' => 'Tyr\'s Terrace',
+ ],
+ ],
+ 'utgarde_pinnacle' => [
+ 'name' => 'Utgarde Pinnacle',
+ 'floors' => [
+ 'lower_pinnacle' => 'Lower Pinnacle',
+ 'upper_pinnacle' => 'Upper Pinnacle',
+ ],
+ ],
+ 'icecrown_citadel' => [
+ 'name' => 'Icecrown Citadel',
+ 'floors' => [
+ 'the_lower_citadel' => 'The Lower Citadel',
+ 'the_rampart_of_skulls' => 'The Rampart of Skulls',
+ 'deathbringers_rise' => 'Deathbringer\'s Rise',
+ 'the_frost_queens_lair' => 'The Frost Queen\'s Lair',
+ 'the_upper_reach' => 'The Upper Reach',
+ 'royal_quarters' => 'Royal Quarters',
+ 'the_frozen_throne' => 'The Frozen Throne',
+ 'frostmourne' => 'Frostmourne',
+ ],
+ ],
+ 'onyxias_lair' => [
+ 'name' => 'Onyxia\'s Lair',
+ 'floors' => [
+ 'onyxias_lair' => 'Onyxia\'s Lair',
+ ],
+ ],
+ 'naxxramas' => [
+ 'name' => 'Naxxramas',
+ 'floors' => [
+ 'the_construct_quarter' => 'The Construct Quarter',
+ 'the_arachnid_quarter' => 'The Arachnid Quarter',
+ 'the_military_quarter' => 'The Military Quarter',
+ 'the_plague_quarter' => 'The Plague Quarter',
+ 'the_lower_necropolis' => 'The Lower Necropolis',
+ 'the_upper_necropolis' => 'The Upper Necropolis',
+ ],
+ ],
+ 'crusaders_coliseum_trial_of_the_crusader' => [
+ 'name' => 'Crusaders Coliseum: Trial of the Crusader',
+ 'floors' => [
+ 'the_argent_coliseum' => 'The Argent Coliseum',
+ 'the_icy_depths' => 'The Icy Depths',
+ ],
+ ],
+ 'the_eye_of_eternity' => [
+ 'name' => 'The Eye of Eternity',
+ 'floors' => [
+ 'the_eye_of_eternity' => 'The Eye of Eternity',
+ ],
+ ],
+ 'the_obsidian_sanctum' => [
+ 'name' => 'The Obsidian Sanctum',
+ 'floors' => [
+ 'the_obsidian_sanctum' => 'The Obsidian Sanctum',
+ ],
+ ],
+ 'the_ruby_sanctum' => [
+ 'name' => 'The Ruby Sanctum',
+ 'floors' => [
+ 'the_ruby_sanctum' => 'The Ruby Sanctum',
+ ],
+ ],
+ 'ulduar' => [
+ 'name' => 'Ulduar',
+ 'floors' => [
+ 'ulduar' => 'Ulduar',
+ 'the_antechamber_of_ulduar' => 'The Antechamber of Ulduar',
+ 'the_inner_sanctum_of_ulduar' => 'The Inner Sanctum of Ulduar',
+ 'the_prison_of_yogg_saron' => 'The Prison of Yogg-Saron',
+ 'the_spark_of_imagination' => 'The Spark of Imagination',
+ 'the_minds_eye' => 'The Mind\'s Eye',
+ ],
+ ],
+ 'vault_of_archavon' => [
+ 'name' => 'Vault of Archavon',
+ 'floors' => [
+ 'vault_of_archavon' => 'Vault of Archavon',
+ ],
+ ],
+ ],
+ 'cata' => [
+ 'the_vortex_pinnacle' => [
+ 'name' => 'The Vortex Pinnacle',
+ 'floors' => [
+ 'cyclone_summit' => 'Cyclone Summit',
+ ],
+ ],
+ 'throne_of_the_tides' => [
+ 'name' => 'Throne of the Tides',
+ 'floors' => [
+ 'abyssal_halls' => 'Abyssal Halls',
+ 'throne_of_neptulon' => 'Throne of Neptulon',
+ 'throne_of_the_tides' => 'Throne of the Tides',
+ ],
+ ],
+ ],
+ 'mop' => [
+ 'temple_of_the_jade_serpent' => [
+ 'name' => 'Temple of the Jade Serpent',
+ 'floors' => [
+ 'temple_of_the_jade_serpent' => 'Temple of the Jade Serpent',
+ 'scrollkeepers_sanctum' => 'Scrollkeeper\'s Sanctum',
+ ],
+ ],
+ ],
+ 'wod' => [
+ 'auchindoun' => [
+ 'name' => 'Auchindoun',
+ 'floors' => [
+ 'auchindoun' => 'Auchindoun',
+ ],
+ ],
+ 'bloodmaul_slag_mines' => [
+ 'name' => 'Bloodmaul Slag Mines',
+ 'floors' => [
+ 'bloodmaul_slag_mines' => 'Bloodmaul Slag Mines',
+ ],
+ ],
+ 'iron_docks' => [
+ 'name' => 'Iron Docks',
+ 'floors' => [
+ 'iron_docks' => 'Iron Docks',
+ ],
+ ],
+ 'grimrail_depot' => [
+ 'name' => 'Grimrail Depot',
+ 'floors' => [
+ 'rafters' => 'Rafters',
+ 'train_depot' => 'Train Depot',
+ 'rear_train_cars' => 'Rear Train Cars',
+ 'forward_train_cars' => 'Forward Train Cars',
+ ],
+ ],
+ 'shadowmoon_burial_grounds' => [
+ 'name' => 'Shadowmoon Burial Grounds',
+ 'floors' => [
+ 'crypt_of_the_ancients' => 'Crypt of the Ancients',
+ 'altar_of_shadow' => 'Altar of Shadow',
+ 'edge_of_reality' => 'Edge of Reality',
+ ],
+ ],
+ 'the_everbloom' => [
+ 'name' => 'The Everbloom',
+ 'floors' => [
+ 'the_everbloom' => 'The Everbloom',
+ 'the_overlook' => 'The Overlook',
+ ],
+ ],
+ ],
+ 'legion' => [
+ 'arcway' => [
+ 'name' => 'The Arcway',
+ 'floors' => [
+ 'arcway' => 'The Arcway',
+ ],
+ ],
+ 'black_rook_hold' => [
+ 'name' => 'Black Rook Hold',
+ 'floors' => [
+ 'the_ravenscrypt' => 'The Ravenscrypt',
+ 'the_grand_hall' => 'The Grand Hall',
+ 'ravenshold' => 'Ravenshold',
+ 'the_rooks_roost' => 'The Rook\'s Roost',
+ 'lord_ravencrests_chamber' => 'Lord Ravencrest\'s Chamber',
+ 'the_ravens_crown' => 'The Raven\'s Crown',
+ 'black_rook_hold' => 'Black Rook Hold',
+ ],
+ ],
+ 'court_of_stars' => [
+ 'name' => 'Court of Stars',
+ 'floors' => [
+ 'court_of_stars' => 'Court of Stars',
+ ],
+ ],
+ 'darkheart_thicket' => [
+ 'name' => 'Darkheart Thicket',
+ 'floors' => [
+ 'darkheart_thicket' => 'Darkheart Thicket',
+ ],
+ ],
+ 'eye_of_azshara' => [
+ 'name' => 'Eye of Azshara',
+ 'floors' => [
+ 'eye_of_azshara' => 'Eye of Azshara',
+ ],
+ ],
+ 'halls_of_valor' => [
+ 'name' => 'Halls of Valor',
+ 'floors' => [
+ 'the_high_gate' => 'The High Gate',
+ 'fields_of_the_eternal_hunt' => 'Fields of the Eternal Hunt',
+ 'halls_of_valor' => 'Halls of Valor',
+ ],
+ ],
+ 'maw_of_souls' => [
+ 'name' => 'Maw of Souls',
+ 'floors' => [
+ 'hellmouth_cliffs' => 'Hellmouth Cliffs',
+ 'the_hold' => 'The Hold',
+ 'the_naglfar' => 'The Naglfar',
+ ],
+ ],
+ 'neltharions_lair' => [
+ 'name' => 'Neltharion\'s Lair',
+ 'floors' => [
+ 'neltharions_lair' => 'Neltharion\'s Lair',
+ ],
+ ],
+ 'vault_of_the_wardens' => [
+ 'name' => 'Vault of the Wardens',
+ 'floors' => [
+ 'the_wardens_court' => 'The Warden\'s Court',
+ 'vault_of_the_wardens' => 'Vault of the Wardens',
+ 'vault_of_the_betrayer' => 'Vault of the Betrayer',
+ ],
+ ],
+ 'lower_karazhan' => [
+ 'name' => 'Return to Karazhan: Lower',
+ 'floors' => [
+ 'servants_quarters' => 'Servant\'s Quarters',
+ 'upper_livery_stables' => 'Upper Livery Stables',
+ 'the_banquet_hall' => 'The Banquet Hall',
+ 'the_guest_chambers' => 'The Guest Chambers',
+ 'opera_hall_balcony' => 'Opera Hall Balcony',
+ 'masters_terrace' => 'Master\'s Terrace',
+ ],
+ ],
+ 'upper_karazhan' => [
+ 'name' => 'Return to Karazhan: Upper',
+ 'floors' => [
+ 'lower_broken_stair' => 'Lower Broken Stair',
+ 'upper_broken_stair' => 'Upper Broken Stair',
+ 'the_menagerie' => 'The Menagerie',
+ 'guardians_library' => 'Guardian\'s Library',
+ 'library_floor' => 'Library Floor',
+ 'upper_library' => 'Upper Library',
+ 'gamesmans_hall' => 'Gamesman\'s Hall',
+ 'netherspace' => 'Netherspace',
+ ],
+ ],
+ 'cathedral_of_eternal_night' => [
+ 'name' => 'Cathedral of Eternal Night',
+ 'floors' => [
+ 'hall_of_the_moon' => 'Hall of the Moon',
+ 'twilight_groove' => 'Twilight Grove',
+ 'the_emerald_archives' => 'The Emerald Archives',
+ 'path_of_illumination' => 'Path of Illumination',
+ 'sacristy_of_elune' => 'Sacristy of Elune',
+ ],
+ ],
+ 'the_seat_of_the_triumvirate' => [
+ 'name' => 'Seat of the Triumvirate',
+ 'floors' => [
+ 'the_seat_of_the_triumvirate' => 'Seat of the Triumvirate',
+ ],
+ ],
+ ],
+ 'bfa' => [
+ 'atal_dazar' => [
+ 'name' => 'Atal\'Dazar',
+ 'floors' => [
+ 'atal_dazar' => 'Atal\'dazar',
+ 'sacrificial_pits' => 'Sacrificial Pits',
+ ],
+ ],
+ 'freehold' => [
+ 'name' => 'Freehold',
+ 'floors' => [
+ 'freehold' => 'Freehold',
+ ],
+ ],
+ 'kings_rest' => [
+ 'name' => 'Kings\' Rest',
+ 'floors' => [
+ 'kings_rest' => 'Kings\' Rest',
+ ],
+ ],
+ 'shrine_of_the_storm' => [
+ 'name' => 'Shrine of the Storm',
+ 'floors' => [
+ 'shrine_of_the_storm' => 'Shrine of the Storm',
+ 'storms_end' => 'Storm\'s End',
+ ],
+ ],
+ 'siege_of_boralus' => [
+ 'name' => 'Siege of Boralus',
+ 'floors' => [
+ 'siege_of_boralus' => 'Siege of Boralus',
+ ],
+ ],
+ 'temple_of_sethraliss' => [
+ 'name' => 'Temple of Sethraliss',
+ 'floors' => [
+ 'temple_of_sethraliss' => 'Temple of Sethraliss',
+ 'atrium_of_the_wardens' => 'Atrium of the Wardens',
+ ],
+ ],
+ 'the_motherlode' => [
+ 'name' => 'The MOTHERLODE!!',
+ 'floors' => [
+ 'the_motherlode' => 'The MOTHERLODE!!',
+ ],
+ ],
+ 'the_underrot' => [
+ 'name' => 'The Underrot',
+ 'floors' => [
+ 'the_underrot' => 'The Underrot',
+ 'ruins_descent' => 'Ruin\'s Descent',
+ ],
+ ],
+ 'tol_dagor' => [
+ 'name' => 'Tol Dagor',
+ 'floors' => [
+ 'tol_dagor' => 'Tol Dagor',
+ 'the_drain' => 'The Drain',
+ 'the_brig' => 'The Brig',
+ 'detention_block' => 'Detention Block',
+ 'officer_quarters' => 'Officer Quarters',
+ 'overseers_redoubt' => 'Overseer\'s Redoubt',
+ 'overseers_summit' => 'Overseer\'s Summit',
+ ],
+ ],
+ 'waycrest_manor' => [
+ 'name' => 'Waycrest Manor',
+ 'floors' => [
+ 'the_grand_foyer' => 'The Grand Foyer',
+ 'upstairs' => 'Upstairs',
+ 'the_cellar' => 'The Cellar',
+ 'catacombs' => 'Catacombs',
+ 'the_rupture' => 'The Rupture',
+ 'waycrest_manor' => 'Waycrest Manor',
+ ],
+ ],
+ 'mechagon_junkyard' => [
+ 'name' => 'Operation Mechagon: Junkyard',
+ 'floors' => [
+ 'mechagon_island' => 'Mechagon Island',
+ 'tunnels' => 'Tunnels',
+ ],
+ ],
+ 'mechagon_workshop' => [
+ 'name' => 'Operation Mechagon: Workshop',
+ 'floors' => [
+ 'the_robodrome' => 'The Robodrome',
+ 'waste_pipes' => 'Waste Pipes',
+ 'the_under_junk' => 'The Under Junk',
+ 'mechagon_city' => 'Mechagon City',
+ ],
+ ],
+ 'orgrimmar_horrific_vision' => [
+ 'name' => 'Orgrimmar (Horrific Vision)',
+ 'floors' => [
+ 'orgrimmar_horrific_vision' => 'Orgrimmar (Horrific Vision)',
+ 'the_drag' => 'The Drag',
+ ],
+ ],
+ 'stormwind_horrific_vision' => [
+ 'name' => 'Stormwind (Horrific Vision)',
+ 'floors' => [
+ 'stormwind_horrific_vision' => 'Stormwind (Horrific Vision)',
+ ],
+ ],
+ ],
+ 'shadowlands' => [
+ 'de_other_side' => [
+ 'name' => 'De Other Side',
+ 'floors' => [
+ 'de_other_side' => 'De Other Side',
+ 'mechagon' => 'Mechagon',
+ 'zul_gurub' => 'Zul\'Gurub',
+ 'ardenweald' => 'Ardenweald',
+ ],
+ ],
+ 'halls_of_atonement' => [
+ 'name' => 'Halls of Atonement',
+ 'floors' => [
+ 'halls_of_atonement' => 'Halls of Atonement',
+ 'the_nave_of_pain' => 'The Nave of Pain',
+ 'the_sanctuary_of_souls' => 'The Sanctuary of Souls',
+ ],
+ ],
+ 'mists_of_tirna_scithe' => [
+ 'name' => 'Mists of Tirna Scithe',
+ 'floors' => [
+ 'mists_of_tirna_scithe' => 'Mists of Tirna Scithe',
+ ],
+ ],
+ 'plaguefall' => [
+ 'name' => 'Plaguefall',
+ 'floors' => [
+ 'plaguefall' => 'Plaguefall',
+ 'the_festering_sanctum' => 'The Festering Sanctum',
+ ],
+ ],
+ 'sanguine_depths' => [
+ 'name' => 'Sanguine Depths',
+ 'floors' => [
+ 'depths_of_despair' => 'Depths of Despair',
+ 'amphitheater_of_sorrow' => 'Amphitheater of Sorrow',
+ ],
+ ],
+ 'spires_of_ascension' => [
+ 'name' => 'Spires of Ascension',
+ 'floors' => [
+ 'honors_ascent' => 'Honor\'s Ascent',
+ 'gardens_of_repose' => 'Gardens of Repose',
+ 'font_of_fealty' => 'Font of Fealty',
+ 'seat_of_the_archon' => 'Seat of the Archon',
+ ],
+ ],
+ 'the_necrotic_wake' => [
+ 'name' => 'The Necrotic Wake',
+ 'floors' => [
+ 'the_necrotic_wake' => 'The Necrotic Wake',
+ 'stitchwerks' => 'Stitchwerks',
+ 'zolramus' => 'Zolramus',
+ ],
+ ],
+ 'theater_of_pain' => [
+ 'name' => 'Theater of Pain',
+ 'floors' => [
+ 'theater_of_pain' => 'Theater of Pain',
+ 'chamber_of_conquest' => 'Chamber of Conquest',
+ 'altars_of_agony' => 'Altars of Agony',
+ 'lower_barrow_of_carnage' => 'Lower Barrow of Carnage',
+ 'upper_barrow_of_carnage' => 'Upper Barrow of Carnage',
+ ],
+ ],
+ 'tazavesh_streets_of_wonder' => [
+ 'name' => 'Tazavesh: Streets of Wonder',
+ 'floors' => [
+ 'the_veiled_market' => 'The Veiled Market',
+ 'the_grand_menagerie' => 'The Grand Menagerie',
+ 'the_post' => 'The P.O.S.T.',
+ 'myzas_oasis' => 'Myza\'s Oasis',
+ ],
+ ],
+ 'tazavesh_so_leahs_gambit' => [
+ 'name' => 'Tazavesh: So\'leah\'s Gambit',
+ 'floors' => [
+ 'stormheim' => 'Stormheim',
+ 'aggramars_vault' => 'Aggramar\'s Vault',
+ 'boralus_harbor' => 'Boralus Harbor',
+ 'the_opulent_nexus' => 'The Opulent Nexus',
+ ],
+ ],
+ ],
+ 'dragonflight' => [
+ 'algeth_ar_academy' => [
+ 'name' => 'Algeth\'ar Academy',
+ 'floors' => [
+ 'algeth_ar_academy' => 'Algeth\'ar Academy',
+ 'the_pitch' => 'The Pitch',
+ 'the_headteachers_enclave' => 'The Headteacher\'s Enclave',
+ ],
+ ],
+ 'brackenhide_hollow' => [
+ 'name' => 'Brackenhide Hollow',
+ 'floors' => [
+ 'brackenhide_hollow' => 'Brackenhide Hollow',
+ 'den_of_decay' => 'Den of Decay',
+ ],
+ ],
+ 'halls_of_infusion' => [
+ 'name' => 'Halls of Infusion',
+ 'floors' => [
+ 'infusers_rotunda' => 'Infuser\'s Rotunda',
+ 'infusion_chamber' => 'Infusion Chamber',
+ ],
+ ],
+ 'neltharus' => [
+ 'name' => 'Neltharus',
+ 'floors' => [
+ 'the_burning_cauldron' => 'The Burning Cauldron',
+ 'chamber_of_flames' => 'Chamber of Flames',
+ ],
+ ],
+ 'ruby_life_pools' => [
+ 'name' => 'Ruby Life Pools',
+ 'floors' => [
+ 'infusion_chambers' => 'Infusion Chambers',
+ 'ruby_overlook' => 'Ruby Overlook',
+ ],
+ ],
+ 'the_azure_vault' => [
+ 'name' => 'The Azure Vault',
+ 'floors' => [
+ 'the_arcane_conservatory' => 'The Arcane Conservatory',
+ 'crystal_chambers' => 'Crystal Chambers',
+ 'mausoleum_of_legends' => 'Mausoleum of Legends',
+ 'the_infinity_seal' => 'The Infinity Seal',
+ 'sindragosas_lament' => 'Sindragosa\'s Lament',
+ ],
+ ],
+ 'the_nokhud_offensive' => [
+ 'name' => 'The Nokhud Offensive',
+ 'floors' => [
+ 'the_nokhud_offensive' => 'The Nokhud Offensive',
+ ],
+ ],
+ 'uldaman_legacy_of_tyr' => [
+ 'name' => 'Uldaman: Legacy of Tyr',
+ 'floors' => [
+ 'hall_of_the_keepers' => 'Hall of the Keepers',
+ 'the_vault_of_tyr' => 'The Vault of Tyr',
+ ],
+ ],
+ 'dawn_of_the_infinite_galakronds_fall' => [
+ 'name' => 'Dawn of the Infinite: Galakrond\'s Fall',
+ 'floors' => [
+ 'galakronds_fall' => 'Galakrond\'s Fall',
+ 'sanctum_of_chronology' => 'Sanctum of Chronology',
+ 'millennias_threshold' => 'Millennia\'s Threshold',
+ 'locus_of_eternity' => 'Locus of Eternity',
+ 'spoke_of_endless_winter' => 'Spoke of Endless Winter',
+ 'crossroads_of_fate' => 'Crossroads of Fate',
+ ],
+ ],
+ 'dawn_of_the_infinite_murozonds_rise' => [
+ 'name' => 'Dawn of the Infinite: Murozond\'s Rise',
+ 'floors' => [
+ 'murozonds_rise' => 'Murozond\'s Rise',
+ 'sanctum_of_chronology' => 'Sanctum of Chronology',
+ 'millennias_threshold' => 'Millennia\'s Threshold',
+ 'locus_of_eternity' => 'Locus of Eternity',
+ 'crossroads_of_fate' => 'Crossroads of Fate',
+ 'infinite_conflux' => 'Infinite Conflux',
+ 'twisting_approach' => 'Twisting Approach',
+ 'immemorial_battlefield' => 'Immemorial Battlefield',
+ ],
+ ],
+ ],
+
+];
diff --git a/lang/en_US/exceptions.php b/lang/en_US/exceptions.php
new file mode 100644
index 0000000000..4f4d27dfd2
--- /dev/null
+++ b/lang/en_US/exceptions.php
@@ -0,0 +1,12 @@
+ [
+ 'api_model_not_found' => ':ids not found for :model',
+ 'api_route_not_found' => 'API route not found',
+ 'internal_server_error' => 'Internal server error',
+ 'unauthenticated' => 'Unauthenticated',
+ ],
+
+];
diff --git a/lang/en-US/expansions.php b/lang/en_US/expansions.php
similarity index 63%
rename from lang/en-US/expansions.php
rename to lang/en_US/expansions.php
index e6493d674f..01271f5068 100644
--- a/lang/en-US/expansions.php
+++ b/lang/en_US/expansions.php
@@ -1,34 +1,36 @@
[
+
+ 'classic' => [
'name' => 'Classic',
],
- 'tbc' => [
+ 'tbc' => [
'name' => 'The Burning Crusade',
],
- 'wotlk' => [
+ 'wotlk' => [
'name' => 'Wrath of the Lich King',
],
- 'cata' => [
+ 'cata' => [
'name' => 'Cataclysm',
],
- 'mop' => [
+ 'mop' => [
'name' => 'Mists of Pandaria',
],
- 'wod' => [
+ 'wod' => [
'name' => 'Warlords of Draenor',
],
- 'legion' => [
+ 'legion' => [
'name' => 'Legion',
],
'battle_for_azeroth' => [
'name' => 'Battle for Azeroth',
],
- 'shadowlands' => [
+ 'shadowlands' => [
'name' => 'Shadowlands',
],
- 'dragonflight' => [
+ 'dragonflight' => [
'name' => 'Dragonflight',
],
+
];
diff --git a/lang/en_US/factions.php b/lang/en_US/factions.php
new file mode 100644
index 0000000000..7e93a1174d
--- /dev/null
+++ b/lang/en_US/factions.php
@@ -0,0 +1,9 @@
+ 'Unspecified',
+ 'horde' => 'Horde',
+ 'alliance' => 'Alliance',
+
+];
diff --git a/lang/en-US/gameserverregions.php b/lang/en_US/gameserverregions.php
similarity index 98%
rename from lang/en-US/gameserverregions.php
rename to lang/en_US/gameserverregions.php
index c21c50c6fd..d7d0a3f169 100644
--- a/lang/en-US/gameserverregions.php
+++ b/lang/en_US/gameserverregions.php
@@ -1,9 +1,11 @@
'Americas',
'eu' => 'Europe',
'cn' => 'China',
'tw' => 'Taiwan',
'kr' => 'Korea',
+
];
diff --git a/lang/en-US/gameversions.php b/lang/en_US/gameversions.php
similarity index 53%
rename from lang/en-US/gameversions.php
rename to lang/en_US/gameversions.php
index 9c79a2d460..a5e396ca86 100644
--- a/lang/en-US/gameversions.php
+++ b/lang/en_US/gameversions.php
@@ -1,16 +1,18 @@
[
- 'name' => 'Retail',
+
+ 'retail' => [
+ 'name' => 'Retail',
'description' => 'Retail',
],
- 'wotlk' => [
- 'name' => 'WotLK',
+ 'wotlk' => [
+ 'name' => 'WotLK',
'description' => 'WotLK',
],
'classic' => [
- 'name' => 'Classic',
+ 'name' => 'Classic',
'description' => 'Classic',
],
+
];
diff --git a/lang/en_US/js.php b/lang/en_US/js.php
new file mode 100644
index 0000000000..619bddfc56
--- /dev/null
+++ b/lang/en_US/js.php
@@ -0,0 +1,449 @@
+ 'Name',
+ 'enemy_forces_label' => 'Enemy forces',
+ 'enemy_display_type_label' => 'Enemy display type',
+ 'mdt_enemy_mapping_label' => 'MDT enemy mapping',
+ 'base_health_label' => 'Base health',
+ 'no_npc_found_label' => 'No NPC found for this enemy',
+ 'teeming_label' => 'Teeming',
+ 'npc_label' => 'Npc',
+ 'connected_floor_label' => 'Connected floor',
+ 'admin_only_label' => 'Admin only',
+ 'id_label' => 'ID',
+ 'seasonal_type_label' => 'Seasonal type',
+ 'seasonal_index_label' => 'Seasonal index',
+ 'size_label' => 'Size',
+ 'faction_label' => 'Faction',
+ 'npc_id_label' => 'NPC_ID',
+ 'attached_to_pack_label' => 'Pack',
+ 'attached_to_patrol_label' => 'Patrol',
+ 'enemy_id_label' => 'ENEMY_ID',
+ 'visual_label' => 'Visual',
+ 'mdt_label' => 'MDT section',
+ 'is_mdt_label' => 'MDT',
+ 'mdt_id_label' => 'MDT_ID',
+ 'mdt_npc_id_label' => 'MDT_NPC_ID',
+ 'preset_label' => 'Preset',
+ 'add_label' => 'Add',
+ 'color_label' => 'Color',
+ 'weight_label' => 'Weight',
+ 'mapobject_visibility_label' => 'Visibility',
+ 'mapping_manipulation_tools_header_label' => 'Mapping manipulation',
+ 'mapping_manipulation_tools_rotate_label' => 'Rotate',
+ 'mapping_manipulation_tools_scale_x_label' => 'Scale X',
+ 'mapping_manipulation_tools_scale_y_label' => 'Scale Y',
+ 'mapping_manipulation_tools_move_x_label' => 'Move X',
+ 'mapping_manipulation_tools_move_y_label' => 'Move Y',
+ 'header_floor_selection_label' => 'Floors',
+ 'header_map_object_group_label' => 'Show/hide',
+ 'enemy_map_object_group_label' => 'Enemies',
+ 'enemypatrol_map_object_group_label' => 'Patrols',
+ 'enemypack_map_object_group_label' => 'Packs',
+ 'path_map_object_group_label' => 'Paths',
+ 'dungeonfloorswitchmarker_map_object_group_label' => 'Floor switches',
+ 'brushline_map_object_group_label' => 'Drawn lines',
+ 'mapicon_map_object_group_label' => 'Icons',
+ 'killzone_map_object_group_label' => 'Pulls',
+ 'killzonepath_map_object_group_label' => 'Pull connections',
+ 'floorunion_map_object_group_label' => 'Floor unions',
+ 'floorunionarea_map_object_group_label' => 'Floor union areas',
+ 'mountablearea_map_object_group_label' => 'Mountable areas',
+ 'publish_state_title_unpublished' => 'Unpublished',
+ 'publish_state_subtext_unpublished' => 'Only you may view this route',
+ 'publish_state_title_team' => 'Team only',
+ 'publish_state_subtext_team' => 'Only members of teams you are in may view this route',
+ 'publish_state_title_world' => 'Public',
+ 'publish_state_subtext_world' => 'Your route may be viewed by anyone and can be found on Keystone.guru',
+ 'publish_state_title_world_with_link' => 'Public with link',
+ 'publish_state_subtext_world_with_link' => 'Anyone with the link may see your route (Patreon only)',
+ 'publish_label' => 'Publish',
+ 'unpublish_label' => 'Unpublish',
+ 'add_remove_tag_label' => 'Add/remove tags',
+ 'clone_label' => 'Clone',
+ 'clone_to_profile_label' => 'Clone to my profile',
+ 'clone_to_team_label' => 'Clone to Team',
+ 'migrate_to_encrypted_label' => 'Migrate to Encrypted',
+ 'migrate_to_shrouded_label' => 'Migrate to Shrouded',
+ 'delete_label' => 'Delete',
+ 'placeholder_new_tag_label' => 'new tag',
+ 'no_tags_assigned_label' => 'No tags assigned',
+ 'current_tags_label' => 'Current tags',
+ 'add_tag_with_enter_label' => 'Tip: press Enter to create a tag',
+ 'selected_label' => 'selected',
+ 'affixes_label' => 'Affixes',
+ 'attributes_label' => 'Attributes',
+ 'setup_label' => 'Setup',
+ 'new_mapping_version_label' => 'A new mapping version for your route\'s dungeon is available. Upgrade your route now by editing it.',
+ 'submit_label' => 'Submit',
+ 'select_category_label' => 'Select category...',
+ 'pull_workbench_header_label' => 'P:index',
+ 'pull_workbench_add_kill_area_label' => 'Add kill area',
+ 'pull_workbench_remove_kill_area_label' => 'Remove kill area',
+ 'pull_workbench_pull_description_label' => 'Pull :index description',
+ 'kill_zone_has_boss_label' => 'Boss in pull',
+ 'kill_zone_has_awakened_label' => 'Awakened enemy in pull',
+ 'kill_zone_has_prideful_label' => 'Prideful enemy in pull',
+ 'kill_zone_has_inspiring_label' => 'Inspiring enemy in pull',
+ 'kill_zone_has_shrouded_label' => 'Shrouded enemy in pull',
+ 'kill_zone_has_shrouded_zul_gamux_label' => 'Zul\'gamux in pull',
+ 'kill_zone_enemy_row_has_boss_label' => 'Boss',
+ 'kill_zone_enemy_row_has_awakened_label' => 'Awakened enemy',
+ 'kill_zone_enemy_row_has_prideful_label' => 'Prideful enemy',
+ 'kill_zone_enemy_row_has_inspiring_label' => 'Inspiring enemy',
+ 'kill_zone_enemy_row_has_shrouded_label' => 'Shrouded enemy',
+ 'kill_zone_enemy_row_has_dangerous_label' => 'Dangerous enemy',
+ 'path' => 'Path',
+ 'path_title' => 'Draw a path. Hotkey: :hotkey',
+ 'killzone' => 'Killzone',
+ 'mapicon' => 'Icon',
+ 'mapicon_title' => 'Create an icon. Hotkey: :hotkey',
+ 'map_icon' => 'Icon',
+ 'brushline' => 'Draw',
+ 'brushline_title' => 'Draw a line. Hotkey: :hotkey',
+ 'pridefulenemy' => 'Prideful',
+ 'pridefulenemy_title' => 'Create a Prideful Enemy. Hotkey: :hotkey',
+ 'pridefulenemy_disabled_title' => 'Remove a Prideful Enemy first',
+ 'pridefulenemy_disabled_no_shadowlands_title' => 'Prideful Enemies are only available for Shadowlands dungeons!',
+ 'edit' => 'Edit',
+ 'edit_title' => 'Edit objects on the map. Hotkey: :hotkey',
+ 'delete' => 'Delete',
+ 'delete_title' => 'Delete objects on the map. Hotkey: :hotkey',
+ 'finish' => 'Finish',
+ 'finish_drawing' => 'Finish drawing',
+ 'enemypack' => 'Pack',
+ 'enemypack_title' => 'Draw an enemy pack. Hotkey: :hotkey',
+ 'enemy' => 'Enemy',
+ 'enemy_title' => 'Draw an enemy. Hotkey: :hotkey',
+ 'enemypatrol' => 'Patrol',
+ 'enemypatrol_title' => 'Draw a patrol route for an enemy. Hotkey: :hotkey',
+ 'dungeonfloorswitchmarker' => 'Floor',
+ 'dungeonfloorswitchmarker_title' => 'Draw a dungeon floor switch marker. Hotkey: :hotkey',
+ 'mountablearea' => 'Mountable',
+ 'mountablearea_title' => 'Draw an area in which players are allowed to mount. Hotkey: :hotkey',
+ 'floorunion' => 'Union',
+ 'floorunion_title' => 'Mark a location on the map that represents another floor. Hotkey: :hotkey',
+ 'floorunionarea' => 'Unionarea',
+ 'floorunionarea_title' => 'Draws a floor union area on the map which represents the area in which a floor union is actually active. Hotkey: :hotkey',
+ 'draw_handler_route_tooltip_start' => 'Click to start drawing path.',
+ 'draw_handler_route_tooltip_cont' => 'Click to continue drawing path.',
+ 'draw_handler_route_tooltip_end' => 'Click the \'Finish\' button on the toolbar to complete your path.',
+ 'draw_handler_brushline_tooltip_start' => 'Click to start drawing line.',
+ 'draw_handler_brushline_tooltip_cont' => 'Click and drag to continue drawing line.',
+ 'draw_handler_brushline_tooltip_end' => 'Continue clicking/dragging, when done, press the \'Finish\' button on the toolbar to complete your line.',
+ 'title_raid_marker_no_selection' => 'No raid marker',
+ 'title_raid_marker_star' => 'Star',
+ 'title_raid_marker_circle' => 'Circle',
+ 'title_raid_marker_diamond' => 'Diamond',
+ 'title_raid_marker_triangle' => 'Triangle',
+ 'title_raid_marker_moon' => 'Moon',
+ 'title_raid_marker_square' => 'Square',
+ 'title_raid_marker_cross' => 'Cross',
+ 'title_raid_marker_skull' => 'Skull',
+ 'npc_type_label' => 'Type',
+ 'npc_class_label' => 'Class',
+ 'enemy_portrait_label' => 'Portrait',
+ 'object' => [
+ 'deleted' => 'Objects deleted successfully.',
+ ],
+ 'delete_all_pulls_successful' => 'Pulls deleted successfully',
+ 'route_count_label' => '# of routes',
+ 'roles_label' => 'Roles',
+ 'registered_label' => 'Registered at',
+ 'patreon_label' => 'Patreon',
+ 'datatable_no_users_in_table' => 'No users found',
+ 'datatable_no_npcs_in_table' => 'No npcs found',
+ 'enemy_count_label' => 'Enemy count',
+ 'user_report_handled_success' => 'User report successfully marked as resolved',
+ 'dungeonroute_refresh_thumbnail_success' => 'Thumbnail refresh queued successfully',
+ 'updated_patreon_benefits_successfully_label' => 'Patreon benefits updated successfully',
+ 'mapping_version_readonly_label' => 'This mapping version is read-only',
+ 'mapping_version_upgrade_label' => 'A new mapping version is available for your route.',
+ 'upgrade_label' => 'Upgrade',
+ 'classification_label' => 'Classification',
+ 'edit_label' => 'Edit',
+ 'make_user_label' => 'Make user',
+ 'make_admin_label' => 'Make admin',
+ 'delete_user_label' => 'Delete user',
+ 'grant_all_benefits_label' => 'Grant all benefits',
+ 'patreon_benefits_manually_granted_label' => 'All benefits manually granted',
+ 'import_notes_label' => 'Import notes',
+ 'import_errors_label' => 'Import errors',
+ 'warnings_label' => 'Warnings',
+ 'category_label' => 'Category',
+ 'message_label' => 'Message',
+ 'save_tag_success' => 'Tag updated successfully',
+ 'delete_tag_success' => 'Tag deleted successfully',
+ 'settings_saved' => 'Settings saved successfully',
+ 'pull_gradient_settings_saved' => 'Pull gradient settings saved successfully',
+ 'route_published_state_changed' => 'Route sharing settings updated successfully',
+ 'datatable_no_routes_in_table' => 'No routes found',
+ 'cannot_change_sharing_settings_not_all_required_enemies_killed' => 'Unable to change sharing settings: not all required enemies have been killed',
+ 'mapping_version_saved' => 'Mapping version saved successfully',
+ 'vote' => 'vote',
+ 'votes' => 'votes',
+ 'route_delete_confirm' => 'Are you sure you wish to delete this route?',
+ 'route_delete_successful' => 'Route deleted successfully',
+ 'route_clone_successful' => 'Route cloned successfully',
+ 'route_clone_select_team' => 'Unable to clone route - select a team to clone to first',
+ 'route_migration_to_encrypted_confirm_warning' => 'The following changes will be performed to your route:
+ the affixes assigned to the route will be dropped in favor of the current active affix for your region,
+ enemies specific to previous seasons assigned to your pulls (Tormented Lieutenants for example) will be removed from all pulls,
+ if an existing pull contains a pack with Encrypted Relics they will be added to that pull. Are you sure you wish to continue with the migration?',
+ 'route_migration_to_shrouded_confirm_warning' => 'The following changes will be performed to your route:
+ the affixes assigned to the route will be dropped in favor of the current active affix for your region,
+ enemies specific to previous seasons assigned to your pulls (Encrypted enemies for example) will be removed from all pulls.
+ Shrouded enemies will be added to your route if they were part of your existing pulls. Are you sure you wish to continue with the migration?',
+ 'route_migration_successful' => 'Route migrated successfully',
+ 'sharing_label' => 'Sharing',
+ 'route_table_published_state_unpublished' => 'This route is unpublished',
+ 'route_table_published_state_team' => 'This route is visible for all members of teams you are in',
+ 'route_table_published_state_world' => 'This route is visible for everyone',
+ 'route_table_published_state_world_with_link' => 'This route is visible for everyone that has the link',
+ 'intro_sidebar' => 'Welcome to Keystone.guru! To begin, this is the sidebar. Here you can adjust options for your route or view information about it.',
+ 'intro_sidebar_toggle' => 'You can use this button to hide or show the sidebar.',
+ 'intro_visibility_tools' => 'Here you can select different visualization options.',
+ 'intro_map_enemy_visuals' => 'You can choose from multiple different enemy visualizations to help you quickly find the information you need.',
+ 'intro_map_map_object_group_visibility_container' => 'These are your visibility toggles. You can hide enemies, enemy patrols, enemy packs, your own paths, your own pulls, all map icons, start markers and floor switch markers.',
+ 'intro_floor_selection' => 'If your dungeon has multiple floors, this is where you can change floors. You can also click the doors on the map to go to the next floor.',
+ 'intro_route_actions' => 'These are various actions you can perform while viewing or editing your route.',
+ 'intro_route_actions_draw_settings' => 'Opening the draw settings will allow you adjust some default variables and behaviour to make editing your route easier.',
+ 'intro_route_actions_map_login_and_continue' => 'If you\'re already a member of Keystone.guru but not logged in, you can log in here and save the current route to your profile.',
+ 'intro_route_actions_map_register_and_continue' => 'If you\'re not yet a member of Keystone.guru, you can register here and save the current route to your profile.',
+ 'intro_route_actions_save_and_continue' => 'While trying out a route when you\'re logged in, you can opt to save it to your profile.',
+ 'intro_route_manipulation_tools' => 'These are your route manipulation tools.',
+ 'intro_draw_path' => 'You can draw paths with this tool. Click it, then click on the map once to start, then as much times as you want to mark your path from A to B. Once finished, you can click
+ the line on the map to change its color or thickness.',
+ 'intro_draw_mapicon' => 'Use this tool to place icons on the map with an optional comment.',
+ 'intro_draw_brushline' => 'Use this tool to draw lines in a more flexible manner on your route, without directional arrows.',
+ 'intro_draw_pridefulenemy' => 'The current seasonal affix is Prideful which spawns a Prideful Manifestation every 20% enemy forces. Use this button to spawn Prideful Manifestations where you desire to kill them.',
+ 'intro_draw_edit' => 'You can use the edit button to adjust your created elements such as icons or drawn lines.',
+ 'intro_draw_remove' => 'You can use the delete button to remove elements you have created. Click it once, then select the highlighted elements you wish to delete. Deleting happens in a preview mode, you have to confirm your delete by pressing the \'Finish\' button, or hit the \'Cancel\' button to undo them. If you confirm the deletion, there is no turning back!',
+ 'intro_map_enemy_forces_numbers' => 'This label indicates the current progress with enemy forces. You can click on enemies to add them to a new pull, or select a pull from the list below and add enemies to it.',
+ 'intro_new_pull' => 'You can use this button to create a new pull. Alternatively, you can click any enemy on the map to start a pull as well.',
+ 'enemy_forces_not_all_required_enemies_killed_label' => 'Warning: this route does not kill all required enemies',
+ 'enemy_forces_too_much_label' => 'Warning: your route has too much enemy forces',
+ 'enemy_forces_too_little_label' => 'Warning: this route does not have enough enemy forces!',
+ 'enemy_forces_overridden_label' => 'Your route\'s enemy forces may have been corrected due to overpulled enemies which caused automatic alterations in your route',
+ 'sidebar_expand' => 'Expand the sidebar',
+ 'sidebar_collapse' => 'Collapse the sidebar',
+ 'copied_to_clipboard' => 'Copied to clipboard',
+ 'sidebar_enemy_health_label' => 'Health',
+ 'sidebar_enemy_bursting_label' => 'Bursts',
+ 'sidebar_enemy_sanguine_label' => 'Sanguine',
+ 'sidebar_enemy_bolstering_label' => 'Bolsters',
+ 'sidebar_enemy_bolstering_whitelist_npcs_label' => 'Bolsters only',
+ 'sidebar_enemy_spell_label' => 'Spells',
+ 'sidebar_enemy_skippable_label' => 'Skippable',
+ 'sidebar_enemy_runs_away_in_fear_label' => 'Runs away',
+ 'sidebar_hyper_respawns_label' => 'Hyperspawns',
+ 'sidebar_enemy_health_fortified_label' => 'This health value is scaled by the Fortified affix',
+ 'sidebar_enemy_health_tyrannical_label' => 'This health value is scaled by the Tyrannical affix',
+ 'sidebar_enemy_skippable_info_label' => 'A skippable enemy is an enemy that can be skipped without using invisibility potions or Rogue Shroud. These enemies may be excluded from your routes once you mark enemies as overpulled during a live session.',
+ 'user_report_enemy_success' => 'Report sent successfully. Thank you for helping improve Keystone.guru!',
+ 'dungeonroute_report_enemy_success' => 'Report sent successfully. Thank you for helping improve Keystone.guru!',
+ 'tag_delete_success' => 'Tag removed successfully',
+ 'tag_create_success' => 'Tag created successfully',
+ 'killzone_sidebar_kill_location_label' => 'Kill location',
+ 'killzone_sidebar_delete_all_pulls_confirm_label' => 'Are you sure you want to delete all your pulls? This action can not be undone.',
+ 'min_password_length' => 'Minimum password length is 8',
+ 'weak' => 'Weak',
+ 'medium' => 'Medium',
+ 'strong' => 'Strong',
+ 'contains_username' => 'Password cannot contain your username',
+ 'mdt_faction' => 'Faction',
+ 'mdt_dungeon' => 'Dungeon',
+ 'mdt_affixes' => 'Affixes',
+ 'mdt_pulls' => 'Pulls',
+ 'mdt_paths' => 'Paths',
+ 'mdt_drawn_lines' => 'Drawn lines',
+ 'mdt_notes' => 'Notes',
+ 'mdt_enemy_forces' => 'Enemy forces',
+ 'ajax_error_default' => 'An error occurred while performing your request. Please try again.',
+ 'ajax_error_403' => 'You are not authorized to perform this request.',
+ 'ajax_error_404' => 'The requested resource was not found.',
+ 'ajax_error_419' => 'Your session has expired. Please refresh the page and try again.',
+ 'map_object_readonly_label' => 'This mapping version is read-only',
+ 'map_object_category_general_label' => 'General',
+ 'map_object_category_legacy_label' => 'Legacy',
+ 'map_object_category_advanced_label' => 'Advanced',
+ 'mapicon_faction_select_default_label' => 'Select faction',
+ 'mapicon_teeming_select_default_label' => 'Select teeming',
+ 'map_icon_faction_label' => 'Faction',
+ 'map_icon_teeming_label' => 'Teeming',
+ 'map_icon_team_id_label' => 'Show across all routes in team',
+ 'map_icon_permanent_tooltip_label' => 'Permanent tooltip',
+ 'map_icon_map_icon_type_id_label' => 'Icon',
+ 'map_icon_comment_label' => 'Comment',
+ 'map_icon_map_icon_type_id_select_default_label' => 'Select icon',
+ 'map_icon_seasonal_type_label' => 'Seasonal type',
+ 'map_icon_seasonal_index_label' => 'Seasonal index',
+ 'map_icon_seasonal_index_select_default_label' => 'Not set',
+ 'admin_map_icon_faction_label' => 'Faction',
+ 'admin_map_icon_teeming_label' => 'Teeming',
+ 'admin_map_icon_permanent_tooltip_label' => 'Permanent tooltip',
+ 'admin_map_icon_map_icon_type_id_label' => 'Icon',
+ 'admin_map_icon_comment_label' => 'Comment',
+ 'admin_map_icon_map_icon_type_id_select_default_label' => 'Select icon',
+ 'admin_map_icon_seasonal_type_label' => 'Seasonal type',
+ 'admin_map_icon_seasonal_index_label' => 'Seasonal index',
+ 'admin_map_icon_seasonal_index_select_default_label' => 'Not set',
+ 'enemy_faction_label' => 'Faction',
+ 'enemy_teeming_label' => 'Teeming',
+ 'enemy_npc_id_label' => 'Npc',
+ 'enemy_floor_id_label' => 'Floor',
+ 'enemy_mdt_id_label' => 'MDT ID',
+ 'enemy_mdt_npc_id_label' => 'MDT Npc (optional)',
+ 'enemy_seasonal_type_label' => 'Seasonal type',
+ 'enemy_seasonal_type_select_default_label' => 'Not set',
+ 'enemy_seasonal_index_label' => 'Seasonal index',
+ 'enemy_seasonal_index_select_default_label' => 'Not set',
+ 'enemy_active_auras_label' => 'Active auras',
+ 'enemy_active_auras_select_default_label' => 'Not set',
+ 'enemy_enemy_forces_override_label' => 'Enemy forces override (-1 to inherit)',
+ 'enemy_enemy_forces_override_teeming_label' => 'Enemy forces override teeming (-1 to inherit)',
+ 'enemy_dungeon_difficulty_select_default_label' => 'Always',
+ 'enemy_dungeon_difficulty_label' => 'Dungeon difficulty',
+ 'enemy_required_label' => 'Required',
+ 'enemy_skippable_label' => 'Skippable',
+ 'enemy_hyper_respawn_label' => 'Hyper respawn',
+ 'enemy_kill_priority_label' => 'Kill priority',
+ 'enemy_kill_priority_select_default_label' => 'Select kill priority',
+ 'enemy_npc_id_select_default_label' => 'Select NPC',
+ 'enemy_mdt_npc_id_select_default_label' => 'Select NPC',
+ 'admin_enemy_pack_faction_label' => 'Faction',
+ 'admin_enemy_pack_teeming_label' => 'Teeming',
+ 'admin_enemy_pack_label_label' => 'Label',
+ 'brushline_color_label' => 'Color',
+ 'brushline_color_animated_label' => 'Animated color',
+ 'brushline_weight_label' => 'Weight',
+ 'path_color_label' => 'Color',
+ 'path_color_animated_label' => 'Animated color',
+ 'path_weight_label' => 'Weight',
+ 'enemypatrol_faction_label' => 'Faction',
+ 'enemypatrol_teeming_label' => 'Teeming',
+ 'enemypatrol_color_label' => 'Color',
+ 'enemypatrol_color_animated_label' => 'Color animated',
+ 'enemypatrol_weight_label' => 'Weight',
+ 'enemypatrol_couple_enemies_label' => 'Couple enemies',
+ 'enemypatrol_couple_enemies_button_text_label' => 'Select enemies',
+ 'enemypack_group_label' => 'Group',
+ 'enemypack_color_label' => 'Color',
+ 'enemypack_color_animated_label' => 'Color animated',
+ 'enemypack_faction_label' => 'Faction',
+ 'enemypack_teeming_label' => 'Teeming',
+ 'enemypack_mark_as_skippable_label' => 'Mark enemies as skippable',
+ 'enemypack_mark_as_skippable_button_text_label' => 'Mark as Skippable',
+ 'dungeonfloorswitchmarker_faction_label' => 'Faction',
+ 'dungeonfloorswitchmarker_teeming_label' => 'Teeming',
+ 'dungeonfloorswitchmarker_source_floor_id_label' => 'Source floor',
+ 'dungeonfloorswitchmarker_source_floor_id_select_default_label' => 'Select floor',
+ 'dungeonfloorswitchmarker_target_floor_id_label' => 'Target floor',
+ 'dungeonfloorswitchmarker_target_floor_id_select_default_label' => 'Select floor',
+ 'dungeonfloorswitchmarker_linked_dungeon_floor_switch_marker_id_label' => 'Linked floor switch ID',
+ 'dungeonfloorswitchmarker_direction_label' => 'Direction',
+ 'dungeonfloorswitchmarker_direction_select_default_label' => 'Use floor coupling direction',
+ 'dungeonfloorswitchmarker_go_to_label' => 'Go to',
+ 'dungeonfloorswitchmarker_unknown_label' => 'Unknown',
+ 'mountablearea_faction_label' => 'Faction',
+ 'mountablearea_teeming_label' => 'Teeming',
+ 'mountablearea_speed_label' => 'Speed (yards p/s)',
+ 'floorunion_target_floor_id_select_default_label' => 'Select floor',
+ 'floorunion_target_floor_id_label' => 'Target floor',
+ 'floorunion_size_label' => 'Size',
+ 'floorunion_rotation_label' => 'Rotation',
+ 'floorunionarea_floor_union_id_label' => 'Floor Union ID',
+ 'actions_label' => 'Actions',
+ 'add_to_team_label' => 'Add to team...',
+ 'view_label' => 'View',
+ 'collaborator_label' => 'Edit',
+ 'moderator_label' => 'Moderate',
+ 'admin_label' => 'Own',
+ 'change_role_success' => 'Permissions updated',
+ 'change_default_role_success' => 'Default role updated',
+ 'team_admin' => 'Administrate team',
+ 'team_moderator' => 'Moderate team',
+ 'team_collaborator' => 'Edit routes',
+ 'team_member' => 'View routes',
+ 'remove_label' => 'Remove',
+ 'team_add_route_successful' => 'Route successfully added to team',
+ 'team_remove_route_successful' => 'Route successfully removed from team',
+ 'ad_free_giveaway_label' => 'Ad-free giveaway',
+ 'ad_free_giveaway_user_already_ad_free_label' => 'User is already ad-free',
+ 'ad_free_giveaway_user_already_ad_free_giveaway_label' => 'User is already ad-free through a giveaway',
+ 'ad_free_giveaway_add_label' => 'Make ad-free',
+ 'ad_free_giveaway_remove_label' => 'Revoke ad-free',
+ 'datatable_no_teams_in_table' => 'You are not a member of any team yet',
+ 'datatable_no_members_in_table' => 'This team has no members yet',
+ 'preview_label' => 'Preview',
+ 'title_label' => 'Title',
+ 'dungeon_label' => 'Dungeon',
+ 'features_label' => 'Features',
+ 'author_label' => 'Author',
+ 'metrics_label' => 'Metrics',
+ 'views_tooltip_label' => 'Regular views/embed views',
+ 'copy_tooltip_label' => 'MDT string copies from viewing/on embed page',
+ 'rating_label' => 'Rating',
+ 'published_label' => 'Published',
+ 'add_route_label' => 'Add',
+ 'remove_route_label' => 'Remove',
+ 'yes_label' => 'Yes',
+ 'no_label' => 'No',
+ 'cancel_label' => 'Cancel',
+ 'finished_label' => 'Finished',
+ 'remove_member_confirm_label' => 'Are you sure you want remove this user from the team? Any ad-free giveaways to this user will be removed.',
+ 'remove_member_success' => 'Member removed successfully',
+ 'leave_team_confirm_label' => 'Are you sure you wish to leave this team? You may lose any ad-free giveaways awarded to you from team members.',
+ 'leave_team_disband_confirm_label' => 'Are you sure you wish to leave this team? You may lose any ad-free giveaways awarded to you from team members. WARNING: this will disband the team.',
+ 'ad_free_giveaway_add_success' => 'Successfully granted ad-free status',
+ 'ad_free_giveaway_add_failed' => 'Failed to grant ad-free status',
+ 'ad_free_giveaway_remove_success' => 'Successfully revoked ad-free status',
+ 'ad_free_giveaway_remove_failed' => 'Failed to revoke ad-free status',
+ 'name_label' => 'Name',
+ 'email_label' => 'Email',
+ 'join_date_label' => 'Join date',
+ 'role_label' => 'Role',
+ 'assignable_roles_label' => 'Assignable roles',
+ 'leave_label' => 'Leave',
+ 'delete_team_confirm_label' => 'Are you sure you want to IRREVERSIBLY delete this team and its user/route associations?',
+ 'invite_link_refreshed' => 'Invite link refreshed.',
+ 'echo_connecting_label' => 'Connecting...',
+ 'echo_connected_label' => 'Connected',
+ 'connected_users_label' => 'Users',
+ 'connecting_title_label' => 'Connecting to route edit synchronization service...',
+ 'connected_title_label' => 'Connected to route edit synchronization service. All of your route editing actions will be live shared with any of your team members viewing this route!',
+ 'members_title_label' => 'Your route editing actions are shared with these users that are currently viewing/editing your route!',
+ 'member_self_title_label' => 'To change your color, visit your profile.',
+ 'echo_object_deleted_notification' => '{object} was deleted by {user}',
+ 'connected_users_hide_cursors_label' => 'Hide cursors',
+ 'connected_users_show_cursors_label' => 'Show cursors',
+ 'connected_user_follow_label' => 'Follow',
+ 'connected_user_unfollow_label' => 'Unfollow',
+ 'connected_user_view_profile_label' => 'View profile',
+ 'echo_following_user_label' => 'Now following',
+ 'echo_unfollow_user_label' => 'Unfollow',
+ 'echo_following_user_stopped_label' => 'You stopped following',
+ 'echo_refollow_user_label' => 'Refollow',
+ 'echo_refollow_user_stop_label' => 'Stop',
+ 'overpull_select_enemy_label' => 'Select one or more enemies that you overpulled',
+ 'overpull_selection_finished_label' => 'Finished',
+ 'filters' => 'Filters',
+ 'filter_enemy_forces_header_incomplete' => 'Enemy forces: incomplete',
+ 'filter_enemy_forces_header_complete' => 'Enemy forces: complete',
+ 'filter_image_select_affixes_header' => 'Affixes: :number selected',
+ 'filter_image_select_dungeons_header' => 'Dungeons: :number selected',
+ 'filter_input_affix_group_header' => 'Affix groups: :number selected',
+ 'filter_input_level_header' => 'Level: :value',
+ 'filter_input_rating_header' => 'Rating: :value and higher',
+ 'filter_input_title_header' => 'Title: :value',
+ 'filter_input_expansion_header' => 'Expansion: :value',
+ 'filter_input_season_header' => 'Season: :value',
+ 'filter_input_user_header' => 'User: :value',
+ 'specialization_select' => 'Specialization...',
+ 'class_select' => 'Class...',
+ 'race_select' => 'Race...',
+ 'simulate_pull' => 'Pull :index',
+
+];
diff --git a/lang/en_US/logic.php b/lang/en_US/logic.php
new file mode 100644
index 0000000000..b48854311a
--- /dev/null
+++ b/lang/en_US/logic.php
@@ -0,0 +1,50 @@
+ [
+ 'io' => [
+ 'export_string' => [
+ 'category' => [
+ 'pull' => 'Pull %d',
+ 'title' => 'Title',
+ 'map_icon' => 'Map icon',
+ ],
+ 'unable_to_find_mdt_enemy_for_kg_enemy' => 'Unable to find MDT equivalent for Keystone.guru enemy with NPC %s (enemy_id: %d, npc_id: %d).',
+ 'unable_to_find_mdt_enemy_for_kg_enemy_details' => 'This indicates that your route kills an enemy of which its NPC is known to MDT, but Keystone.guru hasn\'t coupled that enemy to an MDT equivalent yet (or it does not exist in MDT).',
+ 'unable_to_find_mdt_enemy_for_kg_caused_empty_pull' => 'This pull has been removed since all selected enemies could not be found in MDT, resulting in an otherwise empty pull.',
+ 'route_title_contains_non_ascii_char_bug' => 'Your route title contains non-ascii characters that are known to trigger a yet unresolved encoding bug in Keystone.guru.
+ Your route title has been stripped of all offending characters, we apologise for the inconvenience and hope to resolve this issue soon.',
+ 'route_title_contains_non_ascii_char_bug_details' => 'Old title: %s, new title: %s',
+ 'map_icon_contains_non_ascii_char_bug' => 'One of your comments on a map icon has non-ascii characters that are known to trigger a yet unresolved encoding bug in Keystone.guru. Your map comment has been stripped of all offending characters, we apologise for the inconvenience and hope to resolve this issue soon.',
+ 'map_icon_contains_non_ascii_char_bug_details' => 'Old comment: "%s", new comment: "%s"',
+ ],
+ 'import_string' => [
+ 'category' => [
+ 'awakened_obelisks' => 'Awakened Obelisks',
+ 'pulls' => 'Pulls',
+ 'notes' => 'Notes',
+ 'pull' => 'Pull %d',
+ 'object' => 'Object %d',
+ ],
+ 'limit_reached_pulls' => 'Unable to import route: more than the max of :limit pulls.',
+ 'limit_reached_brushlines' => 'Unable to import route: more than the max of :limit lines.',
+ 'limit_reached_paths' => 'Unable to import route: more than the max of :limit paths.',
+ 'limit_reached_notes' => 'Unable to import route: more than the max of :limit notes.',
+ 'unable_to_find_floor_for_object' => 'Unable to find Keystone.guru floor that matches MDT floor ID %d.',
+ 'unable_to_find_floor_for_object_details' => 'This indicates that MDT has a floor that Keystone.guru does not have.',
+ 'unable_to_find_mdt_enemy_for_clone_index' => 'Unable to find MDT enemy for clone index %s and npc index %s.',
+ 'unable_to_find_mdt_enemy_for_clone_index_details' => 'This indicates MDT has mapped an enemy that is not known in Keystone.guru yet.',
+ 'unable_to_find_kg_equivalent_for_mdt_enemy' => 'Unable to find Keystone.guru equivalent for MDT enemy %s with NPC %s (id: %s).',
+ 'unable_to_find_kg_equivalent_for_mdt_enemy_details' => 'This indicates that your route kills an enemy of which its NPC is known to Keystone.guru, but Keystone.guru doesn\'t have that enemy mapped yet.',
+ 'unable_to_find_awakened_enemy_for_final_boss' => 'Unable to find Awakened Enemy %s (%s) at the final boss in %s.',
+ 'unable_to_find_awakened_enemy_for_final_boss_details' => 'This indicates Keystone.guru has a mapping error that will need to be corrected. Send the above warning to me and I\'ll correct it.',
+ 'unable_to_find_enemies_pull_skipped' => 'Failure to find enemies resulted in a pull being skipped.',
+ 'unable_to_find_enemies_pull_skipped_details' => 'This may indicate MDT recently had an update that is not integrated in Keystone.guru yet.',
+ 'unable_to_find_awakened_obelisks' => 'Cannot find Awakened Obelisks for your dungeon/week combination. Your Awakened Obelisk skips will not be imported.',
+ 'unable_to_find_awakened_obelisk_different_floor' => 'Unable to import Awakened Obelisk :name, it is on a different floor than the Obelisk itself. Keystone.guru does not support this at this time.',
+ ],
+ ],
+ ],
+
+];
diff --git a/lang/en_US/mapicontypes.php b/lang/en_US/mapicontypes.php
new file mode 100644
index 0000000000..8c77e9dec4
--- /dev/null
+++ b/lang/en_US/mapicontypes.php
@@ -0,0 +1,99 @@
+ 'Comment',
+ 'door' => 'Door',
+ 'door_down' => 'Door Down',
+ 'door_left' => 'Door Left',
+ 'door_locked' => 'Door Locked',
+ 'door_right' => 'Door Right',
+ 'door_up' => 'Door Up',
+ 'dot_yellow' => 'Yellow Dot',
+ 'dungeon_start' => 'Dungeon Start',
+ 'gateway' => 'Gateway',
+ 'graveyard' => 'Graveyard',
+ 'greasebot' => 'Grease bot (haste)',
+ 'shockbot' => 'Shock bot (damage)',
+ 'warlock_gateway' => 'Warlock Gateway',
+ 'weldingbot' => 'Welding bot (-damage taken/+healing received)',
+ 'awakened_obelisk_brutal' => 'Brutal Spire of Ny\'alotha (Urg\'roth, Breaker of Heroes)',
+ 'awakened_obelisk_cursed' => 'Cursed Spire of Ny\'alotha (Voidweaver Mal\'thir)',
+ 'awakened_obelisk_defiled' => 'Defiled Spire of Ny\'alotha (Blood of the Corruptor)',
+ 'awakened_obelisk_entropic' => 'Entropic Spire of Ny\'alotha (Samh\'rek, Beckoner of Chaos)',
+ 'skip_flight' => 'Skip',
+ 'skip_teleport' => 'Skip',
+ 'skip_walk' => 'Skip',
+ 'raid_marker_star' => 'Star',
+ 'raid_marker_circle' => 'Circle',
+ 'raid_marker_diamond' => 'Diamond',
+ 'raid_marker_triangle' => 'Triangle',
+ 'raid_marker_moon' => 'Moon',
+ 'raid_marker_square' => 'Square',
+ 'raid_marker_cross' => 'Cross',
+ 'raid_marker_skull' => 'Skull',
+ 'spell_bloodlust' => 'Bloodlust',
+ 'spell_heroism' => 'Heroism',
+ 'spell_shadowmeld' => 'Shadowmeld',
+ 'spell_shroud_of_concealment' => 'Shroud of Concealment',
+ 'item_invisibility' => 'Invisibility Potion',
+ 'item_drums_of_speed' => 'Drums of Speed',
+ 'item_free_action_potion' => 'Free Action Potion',
+ 'item_global_thermal_sapper_charge' => 'Global Thermal Sapper Charge',
+ 'item_rocket_boots_xtreme' => 'Rocket Boots Xtreme',
+ 'question_yellow' => 'Question',
+ 'question_blue' => 'Question',
+ 'question_orange' => 'Question',
+ 'exclamation_yellow' => 'Exclamation',
+ 'exclamation_blue' => 'Exclamation',
+ 'exclamation_orange' => 'Exclamation',
+ 'neonbutton_blue' => 'Button blue',
+ 'neonbutton_cyan' => 'Button cyan',
+ 'neonbutton_green' => 'Button green',
+ 'neonbutton_orange' => 'Button orange',
+ 'neonbutton_pink' => 'Button pink',
+ 'neonbutton_purple' => 'Button purple',
+ 'neonbutton_red' => 'Button red',
+ 'neonbutton_yellow' => 'Button yellow',
+ 'neonbutton_darkred' => 'Button dark red',
+ 'neonbutton_darkgreen' => 'Button dark green',
+ 'neonbutton_darkblue' => 'Button dark blue',
+ 'spell_mind_soothe' => 'Mind Soothe',
+ 'spell_combustion' => 'Combustion',
+ 'covenant_kyrian' => 'Kyrian',
+ 'covenant_necrolords' => 'Necrolords',
+ 'covenant_nightfae' => 'Night Fae',
+ 'covenant_venthyr' => 'Venthyr',
+ 'portal_blue' => 'Portal',
+ 'portal_green' => 'Portal',
+ 'portal_orange' => 'Portal',
+ 'portal_pink' => 'Portal',
+ 'portal_red' => 'Portal',
+ 'nw_item_anima' => 'Anima',
+ 'nw_item_goliath' => 'Goliath',
+ 'nw_item_hammer' => 'Hammer',
+ 'nw_item_shield' => 'Shield',
+ 'nw_item_spear' => 'Spear',
+ 'spell_incarnation' => 'Incarnation',
+ 'spell_misdirection' => 'Misdirection',
+ 'spell_tricks_of_the_trade' => 'Tricks of the Trade',
+ 'role_tank' => 'Tank',
+ 'role_healer' => 'Healer',
+ 'role_dps' => 'DPS',
+ 'class_warrior' => 'Warrior',
+ 'class_hunter' => 'Hunter',
+ 'class_death_knight' => 'Death Knight',
+ 'class_mage' => 'Mage',
+ 'class_priest' => 'Priest',
+ 'class_monk' => 'Monk',
+ 'class_rogue' => 'Rogue',
+ 'class_warlock' => 'Warlock',
+ 'class_shaman' => 'Shaman',
+ 'class_paladin' => 'Paladin',
+ 'class_druid' => 'Druid',
+ 'class_demon_hunter' => 'Demon Hunter',
+ 'class_evoker' => 'Evoker',
+ 'chest' => 'Chest',
+ 'chest_locked' => 'Locked chest',
+
+];
diff --git a/lang/en_US/mapping.php b/lang/en_US/mapping.php
new file mode 100644
index 0000000000..773bf7e453
--- /dev/null
+++ b/lang/en_US/mapping.php
@@ -0,0 +1,89 @@
+ [
+ 'legion' => [
+ 'court_of_stars' => [
+ 'unlocks_after_patrol_captain_gerdo' => 'Unlocks after killing Patrol Captain Gerdo',
+ 'arcane_beacon' => 'Arcane Beacon',
+ 'flask_of_the_solemn_night' => 'Flask of the Solemn Night',
+ ],
+ 'neltharions_lair' => [
+ 'hidden_pack_in_cave' => 'Pack is in a cave below the water behind the waterfall.',
+ ],
+ ],
+ 'shadowlands' => [
+ 'de_other_side' => [
+ 'start' => 'Start',
+ 'graveyard_ardenweald' => 'Activates after entering Ardenweald',
+ 'graveyard_mechagon' => 'Activates after entering Mechagon',
+ 'graveyard_zulgurub' => 'Activates after entering Zul\'Gurub',
+ 'haunted_urn' => 'Night Fae: AoE Stun - Allows use of Haunted Urns in set locations which creates a large AoE stun in 30 yds for 10 sec.',
+ 'engineer_blob_button' => 'Engineers can disable the river of flowing blobs for a few minutes by pressing the red button',
+ 'exit' => 'Exit',
+ ],
+ 'halls_of_atonement' => [
+ 'start' => 'Start',
+ 'exit' => 'Exit',
+ ],
+ 'mists_of_tirna_scithe' => [
+ 'start' => 'Start',
+ 'brambles' => 'Night Fae: unlock shortcut',
+ 'depleted_anima_seed' => 'Depleted Anima Seed - Night Fae Activated GY',
+ 'map_missing_wall' => 'Wall that doesn\'t appear on map',
+ 'savory_statshroom' => 'Savory Statshroom - Eat the mushroom, instantly healing 100% health and increasing Strength, Agility, and Intellect by 10% for 10 min.',
+ 'tasty_toughshroom' => 'Tasty Toughshroom - Eat the mushroom, instantly healing 100% health and increasing Stamina by 10% for 10 min.',
+ 'door_unlock_after_ingra_maloch' => 'Unlocks after killing Ingra Maloch',
+ 'exit' => 'Exit',
+ ],
+ 'plaguefall' => [
+ 'start' => 'Start',
+ 'graveyard_dr_ickus' => 'Activates after killing Doctor Ickus',
+ 'gushing_slime' => 'Necrolord: AoE Damage Proc Aura - Using Fleshcraft on the Gushing Slime\'s corpse will grant the Corrosive Gunk aura for 2 minutes. This aura will apply the Corrosive Gunk buff to any nearby party member, giving a 10% chance to proc AoE damage around your character',
+ 'congealed_slime' => 'Necrolord: 25% Damage Reduction Aura - Using Fleshcraft on the Congealed Slime\'s corpse will grant the Congealed Contagion aura for 2 minutes. This aura will apply the Congealed Contagion buff to any nearby party member within 10 yards, giving them 10% Damage Reduction',
+ 'pestilence_slime' => 'Necrolord: 25% Haste Aura - Using Fleshcraft on the Pestilence Slime\'s corpse will grant the Rapid Infection aura for 2 minutes. This aura will apply the Rapid Infection buff to any nearby party member within 10 yards, providing them with 25% Haste',
+ 'landing' => 'Landing',
+ 'exit' => 'Exit',
+ ],
+ 'sanguine_depths' => [
+ 'start' => 'Start',
+ 'anima_cage' => 'VENTHYR: Activate Anima Cages to debuff enemies within 40 yds with Anima Drain. After 20 seconds, it will deactivate and give entire party 1 stack of Sinfall Boon for every enemy that died within range with Anima Drain active',
+ 'tick_bug' => 'This tick seems to (sometimes) be bugged in the ground - it will however pull when the boss is pulled',
+ 'graveyard_kryxis_the_voracious' => 'Activates after killing Kryxis the Voracious',
+ 'graveyard_executor_tarvold' => 'Activates after killing Executor Tarvold',
+ 'graveyard_grand_proctor_beryllia' => 'Activates after killing Grand Proctor Beryllia',
+ 'chamber_sentinel' => 'Stone Gargoyles may activate to become Chamber Sentinels. No guaranteed activation',
+ 'gauntlet_explanation' => 'There are endless waves of dogs that will spawn throughout the gauntlet. General Kaal will be in some of the packs and moves to next pack every 10% HP and goes to end room at 70%',
+ 'zrali_essence' => 'Z\'rali\'s Essence: 65% damage reduction bubble shield for all who stand inside it. Makes the shield around the player who is carrying/activating it',
+ 'exit' => 'Exit',
+ ],
+ 'spires_of_ascension' => [
+ 'start' => 'Start',
+ 'spear_of_destiny' => 'Kyrian: Spear of Destiny - throw the Spear of Destiny at a location, hitting all enemies within 8 yards, stunning them and making them take 20% additional damage for 10 seconds',
+ 'exit' => 'Exit',
+ ],
+ 'the_necrotic_wake' => [
+ 'start' => 'Start',
+ 'bloody_javelin' => 'Bloody Javelin: Throws a Kyrian javelin at the target, inflicting Physical damage to all enemies it passes through and additional Physical damage every 2 sec for 16 sec. Enemies hit take 20% increased damage for 16 sec.',
+ 'forgotten_forgehammer' => 'Forgotten Forgehammer: Hurls a mighty Kyrian hammer at the target, inflicting Physical damage and stunning the target for 8 sec.',
+ 'malfunctioning_goliath' => 'Kyrian: Malfunctioning Goliath - Ejects 5 Anima orbs which remain on the ground for about 12 seconds. Stepping on an orb grants Anima Exhaust. This increases movement speed by 20% and causes AoE damage procs and healing every 4 seconds for 1 min.',
+ 'discharged_anima' => 'Discharged Anima: Unleash the stored anima, inflicting Arcane damage to nearby enemies and interrupting their spellcasting every 1 sec for 8 sec.',
+ 'discarded_shield' => 'Discarded Shield: Activate to reduce damage taken by 50% for all allies within 8 yds for 6 sec.',
+ 'anima_crystal_shard' => 'Anima Crystal Shard',
+ 'grisly_curio' => 'Grisly Curio',
+ 'exit' => 'Exit',
+ ],
+ 'theater_of_pain' => [
+ 'start' => 'Start',
+ 'necrolord_banner' => 'Necrolord: Click Necrolord Banners to grant a 5-minute 10% speed and versatility buff to all party members',
+ 'graveyard_gorechop' => 'Activates after killing Gorechop',
+ 'pack_jump_from_sides' => 'The pack jumps out from both sides when you step out onto the bridge',
+ 'miniboss_pick_one' => 'Only one is available - pick one and not both',
+ 'teleporter' => 'Teleporter',
+ 'exit' => 'Exit',
+ ],
+ ],
+ ],
+
+];
diff --git a/lang/en_US/models.php b/lang/en_US/models.php
new file mode 100644
index 0000000000..c017319c57
--- /dev/null
+++ b/lang/en_US/models.php
@@ -0,0 +1,15 @@
+ [
+ 'title_temporary_route' => ':dungeonName Temporary Route',
+ 'title_clone' => ':routeTitle (clone)',
+ 'subtitle_clone_of' => 'Clone of :routeLink',
+ 'permission_dratnos' => 'Used with Dratnos\' permission',
+ 'permission_petko' => 'Used with Petko\'s permission',
+ 'subtitle_temporary_route' => 'Temporary route',
+ 'subtitle_author' => 'By %s',
+ ],
+
+];
diff --git a/lang/en_US/npcaggressiveness.php b/lang/en_US/npcaggressiveness.php
new file mode 100644
index 0000000000..a7438d6f04
--- /dev/null
+++ b/lang/en_US/npcaggressiveness.php
@@ -0,0 +1,11 @@
+ 'Aggressive',
+ 'unfriendly' => 'Unfriendly',
+ 'neutral' => 'Neutral',
+ 'friendly' => 'Friendly',
+ 'awakened' => 'Awakenend',
+
+];
diff --git a/lang/en_US/npcclasses.php b/lang/en_US/npcclasses.php
new file mode 100644
index 0000000000..3202f0f590
--- /dev/null
+++ b/lang/en_US/npcclasses.php
@@ -0,0 +1,16 @@
+ 'Melee',
+ 'ranged' => 'Ranged',
+ 'caster' => 'Caster',
+ 'healer' => 'Healer',
+ 'caster_melee' => 'Caster/Melee',
+ 'healer_caster' => 'Healer/Caster',
+ 'healer_melee' => 'Healer/Melee',
+ 'ranged_caster' => 'Ranged/Caster',
+ 'ranged_healer' => 'Ranged/Healer',
+ 'ranged_melee' => 'Ranged/Melee',
+
+];
diff --git a/lang/en_US/npcclassifications.php b/lang/en_US/npcclassifications.php
new file mode 100644
index 0000000000..fd682d9bde
--- /dev/null
+++ b/lang/en_US/npcclassifications.php
@@ -0,0 +1,11 @@
+ 'Normal',
+ 'elite' => 'Elite',
+ 'boss' => 'Boss',
+ 'finalboss' => 'Final boss',
+ 'rare' => 'Rare',
+
+];
diff --git a/lang/en_US/pagination.php b/lang/en_US/pagination.php
new file mode 100644
index 0000000000..adb6353fc1
--- /dev/null
+++ b/lang/en_US/pagination.php
@@ -0,0 +1,8 @@
+ '« Previous',
+ 'next' => 'Next »',
+
+];
diff --git a/lang/en_US/passwords.php b/lang/en_US/passwords.php
new file mode 100644
index 0000000000..7dbee988f5
--- /dev/null
+++ b/lang/en_US/passwords.php
@@ -0,0 +1,11 @@
+ 'Passwords must be at least six characters and match the confirmation.',
+ 'reset' => 'Your password has been reset!',
+ 'sent' => 'We have e-mailed your password reset link!',
+ 'token' => 'This password reset token is invalid.',
+ 'user' => 'We can\'t find a user with that e-mail address.',
+
+];
diff --git a/lang/en_US/patreonbenefits.php b/lang/en_US/patreonbenefits.php
new file mode 100644
index 0000000000..db7980f8de
--- /dev/null
+++ b/lang/en_US/patreonbenefits.php
@@ -0,0 +1,12 @@
+ 'Ad-free',
+ 'unlimited-dungeonroutes' => 'Unlimited routes',
+ 'unlisted-routes' => 'Unlisted routes',
+ 'animated-polylines' => 'Animated polylines',
+ 'advanced-simulation' => 'Advanced simulation',
+ 'ad-free-team-members' => 'Ad-free for team members',
+
+];
diff --git a/lang/en_US/policy.php b/lang/en_US/policy.php
new file mode 100644
index 0000000000..dbcf9ab8aa
--- /dev/null
+++ b/lang/en_US/policy.php
@@ -0,0 +1,15 @@
+ 'This route is not published and cannot be viewed. Please ask the author to publish this route to view it.',
+ 'present_route_not_published' => 'This route is not published and cannot be presented. Please ask the author to publish this route to present it.',
+ 'embed_route_not_published' => 'This route is not published and cannot be viewed. Please ask the author to publish this route to view it.',
+ 'embed_route_sandbox_not_allowed' => 'Sandbox routes cannot be embedded.',
+ 'publish_not_all_required_enemies_killed' => 'Unable to change sharing settings: not all required enemies have been killed.',
+ 'add_kill_zone_limit_reached' => 'Unable to add more than :limit pulls to a single route.',
+ 'add_brushline_limit_reached' => 'Unable to add more than :limit free-drawn lines to a single route.',
+ 'add_path_limit_reached' => 'Unable to add more than :limit paths to a single route.',
+ 'add_map_icon_limit_reached' => 'Unable to add more than :limit map icons to a single route.',
+
+];
diff --git a/lang/en_US/races.php b/lang/en_US/races.php
new file mode 100644
index 0000000000..5804ee4255
--- /dev/null
+++ b/lang/en_US/races.php
@@ -0,0 +1,32 @@
+ 'Human',
+ 'dwarf' => 'Dwarf',
+ 'night_elf' => 'Night Elf',
+ 'gnome' => 'Gnome',
+ 'draenei' => 'Draenei',
+ 'worgen' => 'Worgen',
+ 'pandarenalliance' => 'Pandaren',
+ 'void_elf' => 'Void Elf',
+ 'lightforged_draenei' => 'Lightforged Draenei',
+ 'dark_iron_dwarf' => 'Dark Iron Dwarf',
+ 'dracthyralliance' => 'Dracthyr',
+ 'orc' => 'Orc',
+ 'undead' => 'Undead',
+ 'tauren' => 'Tauren',
+ 'troll' => 'Troll',
+ 'blood_elf' => 'Blood Elf',
+ 'goblin' => 'Goblin',
+ 'pandarenhorde' => 'Pandaren',
+ 'nightborne' => 'Nightborne',
+ 'highmountain_tauren' => 'Highmountain Tauren',
+ 'maghar_orc' => 'Mag\'har Orc',
+ 'dracthyrhorde' => 'Dracthyr',
+ 'kul_tiran_human' => 'Kul Tiran Human',
+ 'zandalari_troll' => 'Zandalari Troll',
+ 'mechagnome' => 'Mechagnome',
+ 'vulpera' => 'Vulpera',
+
+];
diff --git a/lang/en_US/releasechangelogcategories.php b/lang/en_US/releasechangelogcategories.php
new file mode 100644
index 0000000000..049d0c437a
--- /dev/null
+++ b/lang/en_US/releasechangelogcategories.php
@@ -0,0 +1,18 @@
+ 'General changes',
+ 'route_changes' => 'Route changes',
+ 'map_changes' => 'Map changes',
+ 'mapping_changes' => 'Mapping changes',
+ 'bugfixes' => 'Bugfixes',
+ 'mdt_importer_changes' => 'MDT Importer changes',
+ 'team_changes' => 'Team changes',
+ 'mdt_exporter_changes' => 'MDT Exporter changes',
+ 'live_session_changes' => 'Live Session changes',
+ 'simulation_craft_changes' => 'SimulationCraft changes',
+ 'auto_route_changes' => 'Auto route changes',
+ 'api_changes' => 'API changes',
+
+];
diff --git a/lang/en_US/routeattributes.php b/lang/en_US/routeattributes.php
new file mode 100644
index 0000000000..e2e776cad9
--- /dev/null
+++ b/lang/en_US/routeattributes.php
@@ -0,0 +1,12 @@
+ 'No attributes',
+ 'rogue_shroud_skip' => 'Rogue Shroud Skip',
+ 'warlock_gate_skip' => 'Warlock Gate Skip',
+ 'mage_slow_fall_skip' => 'Mage Slow Fall Skip',
+ 'invisibility_potion' => 'Invisibility Potion',
+ 'death_skip' => 'Death Skip',
+
+];
diff --git a/lang/en-US/rules.php b/lang/en_US/rules.php
similarity index 70%
rename from lang/en-US/rules.php
rename to lang/en_US/rules.php
index f173a8bbca..02792a4ef0 100644
--- a/lang/en-US/rules.php
+++ b/lang/en_US/rules.php
@@ -1,19 +1,21 @@
[
'message' => 'Npc(s) :npcs diedAt must be before engagedAt!',
],
- 'dungeon_route_level_rule' => [
+ 'dungeon_route_level_rule' => [
'message' => 'You must select a key level range.',
],
- 'faction_selection_required_rule' => [
+ 'faction_selection_required_rule' => [
'message' => 'You need to select a faction for this dungeon.',
],
- 'json_string_count_rule' => [
+ 'json_string_count_rule' => [
'message' => 'Json string must have at least :count elements.',
],
- 'map_icon_type_role_check_rule' => [
+ 'map_icon_type_role_check_rule' => [
'message' => 'That map icon type is not available for your access level.',
],
+
];
diff --git a/lang/en-US/seasons.php b/lang/en_US/seasons.php
similarity index 96%
rename from lang/en-US/seasons.php
rename to lang/en_US/seasons.php
index df36975f84..1552480c24 100644
--- a/lang/en-US/seasons.php
+++ b/lang/en_US/seasons.php
@@ -1,5 +1,7 @@
'Season :season',
+
];
diff --git a/lang/en-US/services.php b/lang/en_US/services.php
similarity index 97%
rename from lang/en-US/services.php
rename to lang/en_US/services.php
index 4bc806f243..2068480910 100644
--- a/lang/en-US/services.php
+++ b/lang/en_US/services.php
@@ -1,7 +1,9 @@
[
'all_dungeons' => 'All dungeons',
],
+
];
diff --git a/lang/en_US/specializations.php b/lang/en_US/specializations.php
new file mode 100644
index 0000000000..a5065ead5c
--- /dev/null
+++ b/lang/en_US/specializations.php
@@ -0,0 +1,70 @@
+ [
+ 'blood' => 'Blood',
+ 'frost' => 'Frost',
+ 'unholy' => 'Unholy',
+ ],
+ 'demon_hunter' => [
+ 'havoc' => 'Havoc',
+ 'vengeance' => 'Vengeance',
+ ],
+ 'druid' => [
+ 'balance' => 'Balance',
+ 'feral' => 'Feral',
+ 'guardian' => 'Guardian',
+ 'restoration' => 'Restoration',
+ ],
+ 'evoker' => [
+ 'devastation' => 'Devastation',
+ 'preservation' => 'Preservation',
+ ],
+ 'hunter' => [
+ 'beast_mastery' => 'Beast Mastery',
+ 'marksman' => 'Marksman',
+ 'survival' => 'Survival',
+ ],
+ 'mage' => [
+ 'arcane' => 'Arcane',
+ 'fire' => 'Fire',
+ 'frost' => 'Frost',
+ ],
+ 'monk' => [
+ 'brewmaster' => 'Brewmaster',
+ 'mistweaver' => 'Mistweaver',
+ 'windwalker' => 'Windwalker',
+ ],
+ 'paladin' => [
+ 'holy' => 'Holy',
+ 'protection' => 'Protection',
+ 'retribution' => 'Retribution',
+ ],
+ 'priest' => [
+ 'discipline' => 'Discipline',
+ 'holy' => 'Holy',
+ 'shadow' => 'Shadow',
+ ],
+ 'rogue' => [
+ 'assassination' => 'Assassination',
+ 'outlaw' => 'Outlaw',
+ 'subtlety' => 'Subtlety',
+ ],
+ 'shaman' => [
+ 'elemental' => 'Elemental',
+ 'enhancement' => 'Enhancement',
+ 'restoration' => 'Restoration',
+ ],
+ 'warlock' => [
+ 'affliction' => 'Affliction',
+ 'demonology' => 'Demonology',
+ 'destruction' => 'Destruction',
+ ],
+ 'warrior' => [
+ 'arms' => 'Arms',
+ 'fury' => 'Fury',
+ 'protection' => 'Protection',
+ ],
+
+];
diff --git a/lang/en_US/spells.php b/lang/en_US/spells.php
new file mode 100644
index 0000000000..c051fe6d66
--- /dev/null
+++ b/lang/en_US/spells.php
@@ -0,0 +1,20 @@
+ 'General',
+ 'death_knight' => 'Death Knight',
+ 'demon_hunter' => 'Demon Hunter',
+ 'druid' => 'Druid',
+ 'evoker' => 'Evoker',
+ 'hunter' => 'Hunter',
+ 'mage' => 'Mage',
+ 'monk' => 'Monk',
+ 'paladin' => 'Paladin',
+ 'priest' => 'Priest',
+ 'rogue' => 'Rogue',
+ 'shaman' => 'Shaman',
+ 'warlock' => 'Warlock',
+ 'warrior' => 'Warrior',
+
+];
diff --git a/lang/en_US/teamroles.php b/lang/en_US/teamroles.php
new file mode 100644
index 0000000000..23179ce36d
--- /dev/null
+++ b/lang/en_US/teamroles.php
@@ -0,0 +1,10 @@
+ 'Member',
+ 'collaborator' => 'Collaborator',
+ 'moderator' => 'Moderator',
+ 'admin' => 'Admin',
+
+];
diff --git a/lang/en_US/validation.php b/lang/en_US/validation.php
new file mode 100644
index 0000000000..2df674701f
--- /dev/null
+++ b/lang/en_US/validation.php
@@ -0,0 +1,83 @@
+ 'The :attribute must be accepted.',
+ 'active_url' => 'The :attribute is not a valid URL.',
+ 'after' => 'The :attribute must be a date after :date.',
+ 'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
+ 'alpha' => 'The :attribute may only contain letters.',
+ 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
+ 'alpha_num' => 'The :attribute may only contain letters and numbers.',
+ 'array' => 'The :attribute must be an array.',
+ 'before' => 'The :attribute must be a date before :date.',
+ 'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'The :attribute must have between :min and :max items.',
+ ],
+ 'boolean' => 'The :attribute field must be true or false.',
+ 'confirmed' => 'The :attribute confirmation does not match.',
+ 'date' => 'The :attribute is not a valid date.',
+ 'date_format' => 'The :attribute does not match the format :format.',
+ 'different' => 'The :attribute and :other must be different.',
+ 'digits' => 'The :attribute must be :digits digits.',
+ 'digits_between' => 'The :attribute must be between :min and :max digits.',
+ 'dimensions' => 'The :attribute has invalid image dimensions.',
+ 'distinct' => 'The :attribute field has a duplicate value.',
+ 'email' => 'The :attribute must be a valid email address.',
+ 'exists' => 'The selected :attribute is invalid.',
+ 'file' => 'The :attribute must be a file.',
+ 'filled' => 'The :attribute field is required.',
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => 'The :attribute must be a valid JSON string.',
+ 'max' => [
+ 'numeric' => 'The :attribute may not be greater than :max.',
+ 'file' => 'The :attribute may not be greater than :max kilobytes.',
+ 'string' => 'The :attribute may not be greater than :max characters.',
+ 'array' => 'The :attribute may not have more than :max items.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'mimetypes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => 'The :attribute must be at least :min kilobytes.',
+ 'string' => 'The :attribute must be at least :min characters.',
+ 'array' => 'The :attribute must have at least :min items.',
+ ],
+ 'not_in' => 'The selected :attribute is invalid.',
+ 'numeric' => 'The :attribute must be a number.',
+ 'present' => 'The :attribute field must be present.',
+ 'regex' => 'The :attribute format is invalid.',
+ 'required' => 'The :attribute field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => 'The :attribute field is required unless :other is in :values.',
+ 'required_with' => 'The :attribute field is required when :values is present.',
+ 'required_with_all' => 'The :attribute field is required when :values is present.',
+ 'required_without' => 'The :attribute field is required when :values is not present.',
+ 'required_without_all' => 'The :attribute field is required when none of :values are present.',
+ 'same' => 'The :attribute and :other must match.',
+ 'size' => [
+ 'numeric' => 'The :attribute must be :size.',
+ 'file' => 'The :attribute must be :size kilobytes.',
+ 'string' => 'The :attribute must be :size characters.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => 'The :attribute must be a valid zone.',
+ 'unique' => 'The :attribute has already been taken.',
+ 'uploaded' => 'The :attribute failed to upload.',
+ 'url' => 'The :attribute format is invalid.',
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+];
diff --git a/lang/en-US/views/admin.php b/lang/en_US/views/admin.php
similarity index 100%
rename from lang/en-US/views/admin.php
rename to lang/en_US/views/admin.php
diff --git a/lang/en-US/views/app.php b/lang/en_US/views/app.php
similarity index 100%
rename from lang/en-US/views/app.php
rename to lang/en_US/views/app.php
diff --git a/lang/en-US/views/auth.php b/lang/en_US/views/auth.php
similarity index 100%
rename from lang/en-US/views/auth.php
rename to lang/en_US/views/auth.php
diff --git a/lang/en-US/views/common.php b/lang/en_US/views/common.php
similarity index 100%
rename from lang/en-US/views/common.php
rename to lang/en_US/views/common.php
diff --git a/lang/en-US/views/dungeon.php b/lang/en_US/views/dungeon.php
similarity index 100%
rename from lang/en-US/views/dungeon.php
rename to lang/en_US/views/dungeon.php
diff --git a/lang/en-US/views/dungeonroute.php b/lang/en_US/views/dungeonroute.php
similarity index 100%
rename from lang/en-US/views/dungeonroute.php
rename to lang/en_US/views/dungeonroute.php
diff --git a/lang/en-US/views/errors.php b/lang/en_US/views/errors.php
similarity index 100%
rename from lang/en-US/views/errors.php
rename to lang/en_US/views/errors.php
diff --git a/lang/en-US/views/home.php b/lang/en_US/views/home.php
similarity index 100%
rename from lang/en-US/views/home.php
rename to lang/en_US/views/home.php
diff --git a/lang/en-US/views/layouts.php b/lang/en_US/views/layouts.php
similarity index 100%
rename from lang/en-US/views/layouts.php
rename to lang/en_US/views/layouts.php
diff --git a/lang/en-US/views/legal.php b/lang/en_US/views/legal.php
similarity index 100%
rename from lang/en-US/views/legal.php
rename to lang/en_US/views/legal.php
diff --git a/lang/en-US/views/misc.php b/lang/en_US/views/misc.php
similarity index 100%
rename from lang/en-US/views/misc.php
rename to lang/en_US/views/misc.php
diff --git a/lang/en-US/views/profile.php b/lang/en_US/views/profile.php
similarity index 100%
rename from lang/en-US/views/profile.php
rename to lang/en_US/views/profile.php
diff --git a/lang/en-US/views/release.php b/lang/en_US/views/release.php
similarity index 100%
rename from lang/en-US/views/release.php
rename to lang/en_US/views/release.php
diff --git a/lang/en-US/views/team.php b/lang/en_US/views/team.php
similarity index 100%
rename from lang/en-US/views/team.php
rename to lang/en_US/views/team.php
diff --git a/lang/es-ES/affixes.php b/lang/es_ES/affixes.php
similarity index 100%
rename from lang/es-ES/affixes.php
rename to lang/es_ES/affixes.php
diff --git a/lang/es-ES/auth.php b/lang/es_ES/auth.php
similarity index 100%
rename from lang/es-ES/auth.php
rename to lang/es_ES/auth.php
diff --git a/lang/es-ES/breadcrumbs.php b/lang/es_ES/breadcrumbs.php
similarity index 100%
rename from lang/es-ES/breadcrumbs.php
rename to lang/es_ES/breadcrumbs.php
diff --git a/lang/es-ES/classes.php b/lang/es_ES/classes.php
similarity index 100%
rename from lang/es-ES/classes.php
rename to lang/es_ES/classes.php
diff --git a/lang/es-ES/controller.php b/lang/es_ES/controller.php
similarity index 100%
rename from lang/es-ES/controller.php
rename to lang/es_ES/controller.php
diff --git a/lang/es-ES/dungeons.php b/lang/es_ES/dungeons.php
similarity index 100%
rename from lang/es-ES/dungeons.php
rename to lang/es_ES/dungeons.php
diff --git a/lang/es-ES/exceptions.php b/lang/es_ES/exceptions.php
similarity index 100%
rename from lang/es-ES/exceptions.php
rename to lang/es_ES/exceptions.php
diff --git a/lang/es-ES/expansions.php b/lang/es_ES/expansions.php
similarity index 100%
rename from lang/es-ES/expansions.php
rename to lang/es_ES/expansions.php
diff --git a/lang/es-ES/factions.php b/lang/es_ES/factions.php
similarity index 100%
rename from lang/es-ES/factions.php
rename to lang/es_ES/factions.php
diff --git a/lang/es-ES/gameserverregions.php b/lang/es_ES/gameserverregions.php
similarity index 100%
rename from lang/es-ES/gameserverregions.php
rename to lang/es_ES/gameserverregions.php
diff --git a/lang/es-ES/gameversions.php b/lang/es_ES/gameversions.php
similarity index 100%
rename from lang/es-ES/gameversions.php
rename to lang/es_ES/gameversions.php
diff --git a/lang/es-ES/js.php b/lang/es_ES/js.php
similarity index 100%
rename from lang/es-ES/js.php
rename to lang/es_ES/js.php
diff --git a/lang/es-ES/logic.php b/lang/es_ES/logic.php
similarity index 100%
rename from lang/es-ES/logic.php
rename to lang/es_ES/logic.php
diff --git a/lang/es-ES/mapicontypes.php b/lang/es_ES/mapicontypes.php
similarity index 100%
rename from lang/es-ES/mapicontypes.php
rename to lang/es_ES/mapicontypes.php
diff --git a/lang/es-ES/mapping.php b/lang/es_ES/mapping.php
similarity index 100%
rename from lang/es-ES/mapping.php
rename to lang/es_ES/mapping.php
diff --git a/lang/es-ES/models.php b/lang/es_ES/models.php
similarity index 100%
rename from lang/es-ES/models.php
rename to lang/es_ES/models.php
diff --git a/lang/es-ES/npcaggressiveness.php b/lang/es_ES/npcaggressiveness.php
similarity index 100%
rename from lang/es-ES/npcaggressiveness.php
rename to lang/es_ES/npcaggressiveness.php
diff --git a/lang/es-ES/npcclasses.php b/lang/es_ES/npcclasses.php
similarity index 100%
rename from lang/es-ES/npcclasses.php
rename to lang/es_ES/npcclasses.php
diff --git a/lang/es-ES/npcclassifications.php b/lang/es_ES/npcclassifications.php
similarity index 100%
rename from lang/es-ES/npcclassifications.php
rename to lang/es_ES/npcclassifications.php
diff --git a/lang/es-ES/pagination.php b/lang/es_ES/pagination.php
similarity index 100%
rename from lang/es-ES/pagination.php
rename to lang/es_ES/pagination.php
diff --git a/lang/es-ES/passwords.php b/lang/es_ES/passwords.php
similarity index 100%
rename from lang/es-ES/passwords.php
rename to lang/es_ES/passwords.php
diff --git a/lang/es-ES/patreonbenefits.php b/lang/es_ES/patreonbenefits.php
similarity index 100%
rename from lang/es-ES/patreonbenefits.php
rename to lang/es_ES/patreonbenefits.php
diff --git a/lang/es-ES/policy.php b/lang/es_ES/policy.php
similarity index 100%
rename from lang/es-ES/policy.php
rename to lang/es_ES/policy.php
diff --git a/lang/es-ES/races.php b/lang/es_ES/races.php
similarity index 100%
rename from lang/es-ES/races.php
rename to lang/es_ES/races.php
diff --git a/lang/es-ES/releasechangelogcategories.php b/lang/es_ES/releasechangelogcategories.php
similarity index 100%
rename from lang/es-ES/releasechangelogcategories.php
rename to lang/es_ES/releasechangelogcategories.php
diff --git a/lang/es-ES/routeattributes.php b/lang/es_ES/routeattributes.php
similarity index 100%
rename from lang/es-ES/routeattributes.php
rename to lang/es_ES/routeattributes.php
diff --git a/lang/es-ES/rules.php b/lang/es_ES/rules.php
similarity index 100%
rename from lang/es-ES/rules.php
rename to lang/es_ES/rules.php
diff --git a/lang/es-ES/seasons.php b/lang/es_ES/seasons.php
similarity index 100%
rename from lang/es-ES/seasons.php
rename to lang/es_ES/seasons.php
diff --git a/lang/es-ES/services.php b/lang/es_ES/services.php
similarity index 100%
rename from lang/es-ES/services.php
rename to lang/es_ES/services.php
diff --git a/lang/es-ES/specializations.php b/lang/es_ES/specializations.php
similarity index 100%
rename from lang/es-ES/specializations.php
rename to lang/es_ES/specializations.php
diff --git a/lang/es-ES/spells.php b/lang/es_ES/spells.php
similarity index 100%
rename from lang/es-ES/spells.php
rename to lang/es_ES/spells.php
diff --git a/lang/es-ES/teamroles.php b/lang/es_ES/teamroles.php
similarity index 100%
rename from lang/es-ES/teamroles.php
rename to lang/es_ES/teamroles.php
diff --git a/lang/es-ES/validation.php b/lang/es_ES/validation.php
similarity index 100%
rename from lang/es-ES/validation.php
rename to lang/es_ES/validation.php
diff --git a/lang/es-ES/views/admin.php b/lang/es_ES/views/admin.php
similarity index 100%
rename from lang/es-ES/views/admin.php
rename to lang/es_ES/views/admin.php
diff --git a/lang/es-ES/views/app.php b/lang/es_ES/views/app.php
similarity index 100%
rename from lang/es-ES/views/app.php
rename to lang/es_ES/views/app.php
diff --git a/lang/es-ES/views/auth.php b/lang/es_ES/views/auth.php
similarity index 100%
rename from lang/es-ES/views/auth.php
rename to lang/es_ES/views/auth.php
diff --git a/lang/es-ES/views/common.php b/lang/es_ES/views/common.php
similarity index 100%
rename from lang/es-ES/views/common.php
rename to lang/es_ES/views/common.php
diff --git a/lang/es-ES/views/dungeon.php b/lang/es_ES/views/dungeon.php
similarity index 100%
rename from lang/es-ES/views/dungeon.php
rename to lang/es_ES/views/dungeon.php
diff --git a/lang/es-ES/views/dungeonroute.php b/lang/es_ES/views/dungeonroute.php
similarity index 100%
rename from lang/es-ES/views/dungeonroute.php
rename to lang/es_ES/views/dungeonroute.php
diff --git a/lang/es-ES/views/errors.php b/lang/es_ES/views/errors.php
similarity index 100%
rename from lang/es-ES/views/errors.php
rename to lang/es_ES/views/errors.php
diff --git a/lang/es-ES/views/home.php b/lang/es_ES/views/home.php
similarity index 100%
rename from lang/es-ES/views/home.php
rename to lang/es_ES/views/home.php
diff --git a/lang/es-ES/views/layouts.php b/lang/es_ES/views/layouts.php
similarity index 100%
rename from lang/es-ES/views/layouts.php
rename to lang/es_ES/views/layouts.php
diff --git a/lang/es-ES/views/legal.php b/lang/es_ES/views/legal.php
similarity index 100%
rename from lang/es-ES/views/legal.php
rename to lang/es_ES/views/legal.php
diff --git a/lang/es-ES/views/misc.php b/lang/es_ES/views/misc.php
similarity index 100%
rename from lang/es-ES/views/misc.php
rename to lang/es_ES/views/misc.php
diff --git a/lang/es-ES/views/profile.php b/lang/es_ES/views/profile.php
similarity index 100%
rename from lang/es-ES/views/profile.php
rename to lang/es_ES/views/profile.php
diff --git a/lang/es-ES/views/release.php b/lang/es_ES/views/release.php
similarity index 100%
rename from lang/es-ES/views/release.php
rename to lang/es_ES/views/release.php
diff --git a/lang/es-ES/views/team.php b/lang/es_ES/views/team.php
similarity index 100%
rename from lang/es-ES/views/team.php
rename to lang/es_ES/views/team.php
diff --git a/lang/es-MX/affixes.php b/lang/es_MX/affixes.php
similarity index 100%
rename from lang/es-MX/affixes.php
rename to lang/es_MX/affixes.php
diff --git a/lang/es-MX/auth.php b/lang/es_MX/auth.php
similarity index 100%
rename from lang/es-MX/auth.php
rename to lang/es_MX/auth.php
diff --git a/lang/es-MX/breadcrumbs.php b/lang/es_MX/breadcrumbs.php
similarity index 100%
rename from lang/es-MX/breadcrumbs.php
rename to lang/es_MX/breadcrumbs.php
diff --git a/lang/es-MX/classes.php b/lang/es_MX/classes.php
similarity index 100%
rename from lang/es-MX/classes.php
rename to lang/es_MX/classes.php
diff --git a/lang/es-MX/controller.php b/lang/es_MX/controller.php
similarity index 100%
rename from lang/es-MX/controller.php
rename to lang/es_MX/controller.php
diff --git a/lang/es-MX/dungeons.php b/lang/es_MX/dungeons.php
similarity index 100%
rename from lang/es-MX/dungeons.php
rename to lang/es_MX/dungeons.php
diff --git a/lang/es-MX/exceptions.php b/lang/es_MX/exceptions.php
similarity index 100%
rename from lang/es-MX/exceptions.php
rename to lang/es_MX/exceptions.php
diff --git a/lang/es-MX/expansions.php b/lang/es_MX/expansions.php
similarity index 100%
rename from lang/es-MX/expansions.php
rename to lang/es_MX/expansions.php
diff --git a/lang/es-MX/factions.php b/lang/es_MX/factions.php
similarity index 100%
rename from lang/es-MX/factions.php
rename to lang/es_MX/factions.php
diff --git a/lang/es-MX/gameserverregions.php b/lang/es_MX/gameserverregions.php
similarity index 100%
rename from lang/es-MX/gameserverregions.php
rename to lang/es_MX/gameserverregions.php
diff --git a/lang/es-MX/gameversions.php b/lang/es_MX/gameversions.php
similarity index 100%
rename from lang/es-MX/gameversions.php
rename to lang/es_MX/gameversions.php
diff --git a/lang/es-MX/js.php b/lang/es_MX/js.php
similarity index 100%
rename from lang/es-MX/js.php
rename to lang/es_MX/js.php
diff --git a/lang/es-MX/logic.php b/lang/es_MX/logic.php
similarity index 100%
rename from lang/es-MX/logic.php
rename to lang/es_MX/logic.php
diff --git a/lang/es-MX/mapicontypes.php b/lang/es_MX/mapicontypes.php
similarity index 100%
rename from lang/es-MX/mapicontypes.php
rename to lang/es_MX/mapicontypes.php
diff --git a/lang/es-MX/mapping.php b/lang/es_MX/mapping.php
similarity index 100%
rename from lang/es-MX/mapping.php
rename to lang/es_MX/mapping.php
diff --git a/lang/es-MX/models.php b/lang/es_MX/models.php
similarity index 100%
rename from lang/es-MX/models.php
rename to lang/es_MX/models.php
diff --git a/lang/es-MX/npcaggressiveness.php b/lang/es_MX/npcaggressiveness.php
similarity index 100%
rename from lang/es-MX/npcaggressiveness.php
rename to lang/es_MX/npcaggressiveness.php
diff --git a/lang/es-MX/npcclasses.php b/lang/es_MX/npcclasses.php
similarity index 100%
rename from lang/es-MX/npcclasses.php
rename to lang/es_MX/npcclasses.php
diff --git a/lang/es-MX/npcclassifications.php b/lang/es_MX/npcclassifications.php
similarity index 100%
rename from lang/es-MX/npcclassifications.php
rename to lang/es_MX/npcclassifications.php
diff --git a/lang/es-MX/pagination.php b/lang/es_MX/pagination.php
similarity index 100%
rename from lang/es-MX/pagination.php
rename to lang/es_MX/pagination.php
diff --git a/lang/es-MX/passwords.php b/lang/es_MX/passwords.php
similarity index 100%
rename from lang/es-MX/passwords.php
rename to lang/es_MX/passwords.php
diff --git a/lang/es-MX/patreonbenefits.php b/lang/es_MX/patreonbenefits.php
similarity index 100%
rename from lang/es-MX/patreonbenefits.php
rename to lang/es_MX/patreonbenefits.php
diff --git a/lang/es-MX/policy.php b/lang/es_MX/policy.php
similarity index 100%
rename from lang/es-MX/policy.php
rename to lang/es_MX/policy.php
diff --git a/lang/es-MX/races.php b/lang/es_MX/races.php
similarity index 100%
rename from lang/es-MX/races.php
rename to lang/es_MX/races.php
diff --git a/lang/es-MX/releasechangelogcategories.php b/lang/es_MX/releasechangelogcategories.php
similarity index 100%
rename from lang/es-MX/releasechangelogcategories.php
rename to lang/es_MX/releasechangelogcategories.php
diff --git a/lang/es-MX/routeattributes.php b/lang/es_MX/routeattributes.php
similarity index 100%
rename from lang/es-MX/routeattributes.php
rename to lang/es_MX/routeattributes.php
diff --git a/lang/es-MX/rules.php b/lang/es_MX/rules.php
similarity index 100%
rename from lang/es-MX/rules.php
rename to lang/es_MX/rules.php
diff --git a/lang/es-MX/seasons.php b/lang/es_MX/seasons.php
similarity index 100%
rename from lang/es-MX/seasons.php
rename to lang/es_MX/seasons.php
diff --git a/lang/es-MX/services.php b/lang/es_MX/services.php
similarity index 100%
rename from lang/es-MX/services.php
rename to lang/es_MX/services.php
diff --git a/lang/es-MX/specializations.php b/lang/es_MX/specializations.php
similarity index 100%
rename from lang/es-MX/specializations.php
rename to lang/es_MX/specializations.php
diff --git a/lang/es-MX/spells.php b/lang/es_MX/spells.php
similarity index 100%
rename from lang/es-MX/spells.php
rename to lang/es_MX/spells.php
diff --git a/lang/es-MX/teamroles.php b/lang/es_MX/teamroles.php
similarity index 100%
rename from lang/es-MX/teamroles.php
rename to lang/es_MX/teamroles.php
diff --git a/lang/es-MX/validation.php b/lang/es_MX/validation.php
similarity index 100%
rename from lang/es-MX/validation.php
rename to lang/es_MX/validation.php
diff --git a/lang/es-MX/views/admin.php b/lang/es_MX/views/admin.php
similarity index 100%
rename from lang/es-MX/views/admin.php
rename to lang/es_MX/views/admin.php
diff --git a/lang/es-MX/views/app.php b/lang/es_MX/views/app.php
similarity index 100%
rename from lang/es-MX/views/app.php
rename to lang/es_MX/views/app.php
diff --git a/lang/es-MX/views/auth.php b/lang/es_MX/views/auth.php
similarity index 100%
rename from lang/es-MX/views/auth.php
rename to lang/es_MX/views/auth.php
diff --git a/lang/es-MX/views/common.php b/lang/es_MX/views/common.php
similarity index 100%
rename from lang/es-MX/views/common.php
rename to lang/es_MX/views/common.php
diff --git a/lang/es-MX/views/dungeon.php b/lang/es_MX/views/dungeon.php
similarity index 100%
rename from lang/es-MX/views/dungeon.php
rename to lang/es_MX/views/dungeon.php
diff --git a/lang/es-MX/views/dungeonroute.php b/lang/es_MX/views/dungeonroute.php
similarity index 100%
rename from lang/es-MX/views/dungeonroute.php
rename to lang/es_MX/views/dungeonroute.php
diff --git a/lang/es-MX/views/errors.php b/lang/es_MX/views/errors.php
similarity index 100%
rename from lang/es-MX/views/errors.php
rename to lang/es_MX/views/errors.php
diff --git a/lang/es-MX/views/home.php b/lang/es_MX/views/home.php
similarity index 100%
rename from lang/es-MX/views/home.php
rename to lang/es_MX/views/home.php
diff --git a/lang/es-MX/views/layouts.php b/lang/es_MX/views/layouts.php
similarity index 100%
rename from lang/es-MX/views/layouts.php
rename to lang/es_MX/views/layouts.php
diff --git a/lang/es-MX/views/legal.php b/lang/es_MX/views/legal.php
similarity index 100%
rename from lang/es-MX/views/legal.php
rename to lang/es_MX/views/legal.php
diff --git a/lang/es-MX/views/misc.php b/lang/es_MX/views/misc.php
similarity index 100%
rename from lang/es-MX/views/misc.php
rename to lang/es_MX/views/misc.php
diff --git a/lang/es-MX/views/profile.php b/lang/es_MX/views/profile.php
similarity index 100%
rename from lang/es-MX/views/profile.php
rename to lang/es_MX/views/profile.php
diff --git a/lang/es-MX/views/release.php b/lang/es_MX/views/release.php
similarity index 100%
rename from lang/es-MX/views/release.php
rename to lang/es_MX/views/release.php
diff --git a/lang/es-MX/views/team.php b/lang/es_MX/views/team.php
similarity index 100%
rename from lang/es-MX/views/team.php
rename to lang/es_MX/views/team.php
diff --git a/lang/fr-FR/affixes.php b/lang/fr_FR/affixes.php
similarity index 100%
rename from lang/fr-FR/affixes.php
rename to lang/fr_FR/affixes.php
diff --git a/lang/fr-FR/auth.php b/lang/fr_FR/auth.php
similarity index 100%
rename from lang/fr-FR/auth.php
rename to lang/fr_FR/auth.php
diff --git a/lang/fr-FR/breadcrumbs.php b/lang/fr_FR/breadcrumbs.php
similarity index 100%
rename from lang/fr-FR/breadcrumbs.php
rename to lang/fr_FR/breadcrumbs.php
diff --git a/lang/fr-FR/classes.php b/lang/fr_FR/classes.php
similarity index 100%
rename from lang/fr-FR/classes.php
rename to lang/fr_FR/classes.php
diff --git a/lang/fr-FR/controller.php b/lang/fr_FR/controller.php
similarity index 100%
rename from lang/fr-FR/controller.php
rename to lang/fr_FR/controller.php
diff --git a/lang/fr-FR/dungeons.php b/lang/fr_FR/dungeons.php
similarity index 100%
rename from lang/fr-FR/dungeons.php
rename to lang/fr_FR/dungeons.php
diff --git a/lang/fr-FR/exceptions.php b/lang/fr_FR/exceptions.php
similarity index 100%
rename from lang/fr-FR/exceptions.php
rename to lang/fr_FR/exceptions.php
diff --git a/lang/fr-FR/expansions.php b/lang/fr_FR/expansions.php
similarity index 100%
rename from lang/fr-FR/expansions.php
rename to lang/fr_FR/expansions.php
diff --git a/lang/fr-FR/factions.php b/lang/fr_FR/factions.php
similarity index 100%
rename from lang/fr-FR/factions.php
rename to lang/fr_FR/factions.php
diff --git a/lang/fr-FR/gameserverregions.php b/lang/fr_FR/gameserverregions.php
similarity index 100%
rename from lang/fr-FR/gameserverregions.php
rename to lang/fr_FR/gameserverregions.php
diff --git a/lang/fr-FR/gameversions.php b/lang/fr_FR/gameversions.php
similarity index 100%
rename from lang/fr-FR/gameversions.php
rename to lang/fr_FR/gameversions.php
diff --git a/lang/fr-FR/js.php b/lang/fr_FR/js.php
similarity index 100%
rename from lang/fr-FR/js.php
rename to lang/fr_FR/js.php
diff --git a/lang/fr-FR/logic.php b/lang/fr_FR/logic.php
similarity index 100%
rename from lang/fr-FR/logic.php
rename to lang/fr_FR/logic.php
diff --git a/lang/fr-FR/mapicontypes.php b/lang/fr_FR/mapicontypes.php
similarity index 100%
rename from lang/fr-FR/mapicontypes.php
rename to lang/fr_FR/mapicontypes.php
diff --git a/lang/fr-FR/mapping.php b/lang/fr_FR/mapping.php
similarity index 100%
rename from lang/fr-FR/mapping.php
rename to lang/fr_FR/mapping.php
diff --git a/lang/fr-FR/models.php b/lang/fr_FR/models.php
similarity index 100%
rename from lang/fr-FR/models.php
rename to lang/fr_FR/models.php
diff --git a/lang/fr-FR/npcaggressiveness.php b/lang/fr_FR/npcaggressiveness.php
similarity index 100%
rename from lang/fr-FR/npcaggressiveness.php
rename to lang/fr_FR/npcaggressiveness.php
diff --git a/lang/fr-FR/npcclasses.php b/lang/fr_FR/npcclasses.php
similarity index 100%
rename from lang/fr-FR/npcclasses.php
rename to lang/fr_FR/npcclasses.php
diff --git a/lang/fr-FR/npcclassifications.php b/lang/fr_FR/npcclassifications.php
similarity index 100%
rename from lang/fr-FR/npcclassifications.php
rename to lang/fr_FR/npcclassifications.php
diff --git a/lang/fr-FR/pagination.php b/lang/fr_FR/pagination.php
similarity index 100%
rename from lang/fr-FR/pagination.php
rename to lang/fr_FR/pagination.php
diff --git a/lang/fr-FR/passwords.php b/lang/fr_FR/passwords.php
similarity index 100%
rename from lang/fr-FR/passwords.php
rename to lang/fr_FR/passwords.php
diff --git a/lang/fr-FR/patreonbenefits.php b/lang/fr_FR/patreonbenefits.php
similarity index 100%
rename from lang/fr-FR/patreonbenefits.php
rename to lang/fr_FR/patreonbenefits.php
diff --git a/lang/fr-FR/policy.php b/lang/fr_FR/policy.php
similarity index 100%
rename from lang/fr-FR/policy.php
rename to lang/fr_FR/policy.php
diff --git a/lang/fr-FR/races.php b/lang/fr_FR/races.php
similarity index 100%
rename from lang/fr-FR/races.php
rename to lang/fr_FR/races.php
diff --git a/lang/fr-FR/releasechangelogcategories.php b/lang/fr_FR/releasechangelogcategories.php
similarity index 100%
rename from lang/fr-FR/releasechangelogcategories.php
rename to lang/fr_FR/releasechangelogcategories.php
diff --git a/lang/fr-FR/routeattributes.php b/lang/fr_FR/routeattributes.php
similarity index 100%
rename from lang/fr-FR/routeattributes.php
rename to lang/fr_FR/routeattributes.php
diff --git a/lang/fr-FR/rules.php b/lang/fr_FR/rules.php
similarity index 100%
rename from lang/fr-FR/rules.php
rename to lang/fr_FR/rules.php
diff --git a/lang/fr-FR/seasons.php b/lang/fr_FR/seasons.php
similarity index 100%
rename from lang/fr-FR/seasons.php
rename to lang/fr_FR/seasons.php
diff --git a/lang/fr-FR/services.php b/lang/fr_FR/services.php
similarity index 100%
rename from lang/fr-FR/services.php
rename to lang/fr_FR/services.php
diff --git a/lang/fr-FR/specializations.php b/lang/fr_FR/specializations.php
similarity index 100%
rename from lang/fr-FR/specializations.php
rename to lang/fr_FR/specializations.php
diff --git a/lang/fr-FR/spells.php b/lang/fr_FR/spells.php
similarity index 100%
rename from lang/fr-FR/spells.php
rename to lang/fr_FR/spells.php
diff --git a/lang/fr-FR/teamroles.php b/lang/fr_FR/teamroles.php
similarity index 100%
rename from lang/fr-FR/teamroles.php
rename to lang/fr_FR/teamroles.php
diff --git a/lang/fr-FR/validation.php b/lang/fr_FR/validation.php
similarity index 100%
rename from lang/fr-FR/validation.php
rename to lang/fr_FR/validation.php
diff --git a/lang/fr-FR/views/admin.php b/lang/fr_FR/views/admin.php
similarity index 100%
rename from lang/fr-FR/views/admin.php
rename to lang/fr_FR/views/admin.php
diff --git a/lang/fr-FR/views/app.php b/lang/fr_FR/views/app.php
similarity index 100%
rename from lang/fr-FR/views/app.php
rename to lang/fr_FR/views/app.php
diff --git a/lang/fr-FR/views/auth.php b/lang/fr_FR/views/auth.php
similarity index 100%
rename from lang/fr-FR/views/auth.php
rename to lang/fr_FR/views/auth.php
diff --git a/lang/fr-FR/views/common.php b/lang/fr_FR/views/common.php
similarity index 100%
rename from lang/fr-FR/views/common.php
rename to lang/fr_FR/views/common.php
diff --git a/lang/fr-FR/views/dungeon.php b/lang/fr_FR/views/dungeon.php
similarity index 100%
rename from lang/fr-FR/views/dungeon.php
rename to lang/fr_FR/views/dungeon.php
diff --git a/lang/fr-FR/views/dungeonroute.php b/lang/fr_FR/views/dungeonroute.php
similarity index 100%
rename from lang/fr-FR/views/dungeonroute.php
rename to lang/fr_FR/views/dungeonroute.php
diff --git a/lang/fr-FR/views/errors.php b/lang/fr_FR/views/errors.php
similarity index 100%
rename from lang/fr-FR/views/errors.php
rename to lang/fr_FR/views/errors.php
diff --git a/lang/fr-FR/views/home.php b/lang/fr_FR/views/home.php
similarity index 100%
rename from lang/fr-FR/views/home.php
rename to lang/fr_FR/views/home.php
diff --git a/lang/fr-FR/views/layouts.php b/lang/fr_FR/views/layouts.php
similarity index 100%
rename from lang/fr-FR/views/layouts.php
rename to lang/fr_FR/views/layouts.php
diff --git a/lang/fr-FR/views/legal.php b/lang/fr_FR/views/legal.php
similarity index 100%
rename from lang/fr-FR/views/legal.php
rename to lang/fr_FR/views/legal.php
diff --git a/lang/fr-FR/views/misc.php b/lang/fr_FR/views/misc.php
similarity index 100%
rename from lang/fr-FR/views/misc.php
rename to lang/fr_FR/views/misc.php
diff --git a/lang/fr-FR/views/profile.php b/lang/fr_FR/views/profile.php
similarity index 100%
rename from lang/fr-FR/views/profile.php
rename to lang/fr_FR/views/profile.php
diff --git a/lang/fr-FR/views/release.php b/lang/fr_FR/views/release.php
similarity index 100%
rename from lang/fr-FR/views/release.php
rename to lang/fr_FR/views/release.php
diff --git a/lang/fr-FR/views/team.php b/lang/fr_FR/views/team.php
similarity index 100%
rename from lang/fr-FR/views/team.php
rename to lang/fr_FR/views/team.php
diff --git a/lang/ho-HO/affixes.php b/lang/ho-HO/affixes.php
deleted file mode 100644
index 3fa0c5e997..0000000000
--- a/lang/ho-HO/affixes.php
+++ /dev/null
@@ -1,129 +0,0 @@
- [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'bursting' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'explosive' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'fortified' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'grievous' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'infested' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'necrotic' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'quaking' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'raging' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'relentless' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'sanguine' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'skittish' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'teeming' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'tyrannical' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'volcanic' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'reaping' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'beguiling' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'awakened' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'inspiring' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'spiteful' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'storming' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'prideful' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'tormented' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'unknown' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'infernal' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'encrypted' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'shrouded' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'thundering' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'afflicted' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'entangling' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'incorporeal' => [
- 'name' => 'hodor',
- 'description' => 'hodor',
- ],
- 'seasonal_index_preset' => 'hodor',
-];
diff --git a/lang/ho-HO/auth.php b/lang/ho-HO/auth.php
deleted file mode 100644
index 735ef11a50..0000000000
--- a/lang/ho-HO/auth.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'hodor',
- 'throttle' => 'hodor',
-
-];
diff --git a/lang/ho-HO/classes.php b/lang/ho-HO/classes.php
deleted file mode 100644
index b01a6d1f34..0000000000
--- a/lang/ho-HO/classes.php
+++ /dev/null
@@ -1,17 +0,0 @@
- 'hodor',
- 'demon_hunter' => 'hodor',
- 'druid' => 'hodor',
- 'evoker' => 'hodor',
- 'hunter' => 'hodor',
- 'mage' => 'hodor',
- 'monk' => 'hodor',
- 'paladin' => 'hodor',
- 'priest' => 'hodor',
- 'rogue' => 'hodor',
- 'shaman' => 'hodor',
- 'warlock' => 'hodor',
- 'warrior' => 'hodor',
-];
diff --git a/lang/ho-HO/controller.php b/lang/ho-HO/controller.php
deleted file mode 100644
index 53b81c1d00..0000000000
--- a/lang/ho-HO/controller.php
+++ /dev/null
@@ -1,202 +0,0 @@
- [
- 'error' => [
- 'mdt_string_parsing_failed' => 'hodor',
- 'mdt_string_format_not_recognized' => 'hodor',
- 'invalid_mdt_string' => 'hodor',
- 'invalid_mdt_string_exception' => 'hodor',
- 'mdt_importer_not_configured' => 'hodor',
- 'mdt_unable_to_find_npc_for_id' => 'hodor',
- 'mdt_mismatched_health' => 'hodor',
- 'mdt_mismatched_enemy_forces' => 'hodor',
- 'mdt_mismatched_enemy_forces_teeming' => 'hodor',
- 'mdt_mismatched_enemy_count' => 'hodor',
- 'mdt_mismatched_enemy_type' => 'hodor',
- 'mdt_invalid_category' => 'hodor',
- ],
- 'flash' => [
- 'thumbnail_regenerate_result' => 'hodor',
- 'caches_dropped_successfully' => 'hodor',
- 'releases_exported' => 'hodor',
- 'exception' => [
- 'token_mismatch' => 'hodor',
- 'internal_server_error' => 'hodor',
- ],
- ],
- ],
- 'apidungeonroute' => [
- 'mdt_generate_error' => 'hodor',
- 'mdt_generate_no_lua' => 'hodor',
- ],
- 'apiuserreport' => [
- 'error' => [
- 'unable_to_update_user_report' => 'hodor',
- 'unable_to_save_report' => 'hodor',
- ],
- ],
- 'brushline' => [
- 'error' => [
- 'unable_to_save_brushline' => 'hodor',
- 'unable_to_delete_brushline' => 'hodor',
- ],
- ],
- 'dungeon' => [
- 'flash' => [
- 'dungeon_created' => 'hodor',
- 'dungeon_updated' => 'hodor',
- ],
- ],
- 'dungeonroute' => [
- 'unable_to_save' => 'hodor',
- 'flash' => [
- 'route_cloned_successfully' => 'hodor',
- 'route_updated' => 'hodor',
- 'route_created' => 'hodor',
- ],
- ],
- 'dungeonroutediscover' => [
- 'popular' => 'hodor',
- 'this_week_affixes' => 'hodor',
- 'next_week_affixes' => 'hodor',
- 'new' => 'hodor',
- 'season' => [
- 'popular' => 'hodor',
- 'this_week_affixes' => 'hodor',
- 'next_week_affixes' => 'hodor',
- 'new' => 'hodor',
- ],
- 'dungeon' => [
- 'popular' => 'hodor',
- 'this_week_affixes' => 'hodor',
- 'next_week_affixes' => 'hodor',
- 'new' => 'hodor',
- ],
- ],
- 'dungeonspeedrunrequirednpcs' => [
- 'no_linked_npc' => 'hodor',
- 'flash' => [
- 'npc_added_successfully' => 'hodor',
- 'npc_deleted_successfully' => 'hodor',
- ],
- ],
- 'expansion' => [
- 'flash' => [
- 'unable_to_save_expansion' => 'hodor',
- 'expansion_updated' => 'hodor',
- 'expansion_created' => 'hodor',
- ],
- ],
- 'generic' => [
- 'error' => [
- 'floor_not_found_in_dungeon' => 'hodor',
- 'not_found' => 'hodor',
- ],
- ],
- 'oauthlogin' => [
- 'flash' => [
- 'registered_successfully' => 'hodor',
- 'user_exists' => 'hodor',
- 'email_exists' => 'hodor',
- 'permission_denied' => 'hodor',
- ],
- ],
- 'register' => [
- 'flash' => [
- 'registered_successfully' => 'hodor',
- ],
- 'legal_agreed_required' => 'hodor',
- 'legal_agreed_accepted' => 'hodor',
- ],
- 'release' => [
- 'error' => [
- 'unable_to_save_release' => 'hodor',
- ],
- 'flash' => [
- 'release_updated' => 'hodor',
- 'release_created' => 'hodor',
- 'github_exception' => 'hodor',
- ],
- ],
- 'mappingversion' => [
- 'created_successfully' => 'hodor',
- 'deleted_successfully' => 'hodor',
- ],
- 'mdtimport' => [
- 'unknown_dungeon' => 'hodor',
- 'error' => [
- 'mdt_string_parsing_failed' => 'hodor',
- 'mdt_string_format_not_recognized' => 'hodor',
- 'invalid_mdt_string_exception' => 'hodor',
- 'invalid_mdt_string' => 'hodor',
- 'mdt_importer_not_configured_properly' => 'hodor',
- 'cannot_create_route_must_be_logged_in' => 'hodor',
- ],
- ],
- 'path' => [
- 'error' => [
- 'unable_to_save_path' => 'hodor',
- 'unable_to_delete_path' => 'hodor',
- ],
- ],
- 'patreon' => [
- 'flash' => [
- 'unlink_successful' => 'hodor',
- 'link_successful' => 'hodor',
- 'patreon_session_expired' => 'hodor',
- 'session_expired' => 'hodor',
- 'patreon_error_occurred' => 'hodor',
- 'internal_error_occurred' => 'hodor',
- ],
- ],
- 'profile' => [
- 'flash' => [
- 'email_already_in_use' => 'hodor',
- 'username_already_in_use' => 'hodor',
- 'profile_updated' => 'hodor',
- 'unexpected_error_when_saving' => 'hodor',
- 'privacy_settings_updated' => 'hodor',
- 'password_changed' => 'hodor',
- 'new_password_equals_old_password' => 'hodor',
- 'new_passwords_do_not_match' => 'hodor',
- 'current_password_is_incorrect' => 'hodor',
- 'tag_created_successfully' => 'hodor',
- 'tag_already_exists' => 'hodor',
- 'admins_cannot_delete_themselves' => 'hodor',
- 'account_deleted_successfully' => 'hodor',
- 'error_deleting_account' => 'hodor',
- ],
- ],
- 'spell' => [
- 'error' => [
- 'unable_to_save_spell' => 'hodor',
- ],
- 'flash' => [
- 'spell_updated' => 'hodor',
- 'spell_created' => 'hodor',
- ],
- ],
- 'team' => [
- 'flash' => [
- 'team_updated' => 'hodor',
- 'team_created' => 'hodor',
- 'unable_to_find_team_for_invite_code' => 'hodor',
- 'invite_accept_success' => 'hodor',
- 'tag_created_successfully' => 'hodor',
- 'tag_already_exists' => 'hodor',
- ],
- ],
- 'user' => [
- 'flash' => [
- 'user_is_now_an_admin' => 'hodor',
- 'user_is_no_longer_an_admin' => 'hodor',
- 'user_is_now_a_user' => 'hodor',
- 'account_deleted_successfully' => 'hodor',
- 'account_deletion_error' => 'hodor',
- 'user_is_not_a_patron' => 'hodor',
- 'all_benefits_granted_successfully' => 'hodor',
- 'error_granting_all_benefits' => 'hodor',
- ],
- ],
-];
diff --git a/lang/ho-HO/dungeons.php b/lang/ho-HO/dungeons.php
deleted file mode 100644
index 4b0acaa2a8..0000000000
--- a/lang/ho-HO/dungeons.php
+++ /dev/null
@@ -1,841 +0,0 @@
- [
- '1' => 'hodor',
- '2' => 'hodor',
- ],
- 'classic' => [
- 'blackfathom_deeps' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_pool_of_ask_ar' => 'hodor',
- 'moonshrine_sanctum' => 'hodor',
- 'the_forgotten_pool' => 'hodor',
- ],
- ],
- 'blackrock_depths' => [
- 'name' => 'hodor',
- 'floors' => [
- 'detention_block' => 'hodor',
- 'shadowforge_city' => 'hodor',
- ],
- ],
- 'deadmines' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_deadmines' => 'hodor',
- 'ironclad_cove' => 'hodor',
- ],
- ],
- 'dire_maul_west' => [
- 'name' => 'hodor',
- 'floors' => [
- 'capital_gardens' => 'hodor',
- 'court_of_the_highborne' => 'hodor',
- 'prison_of_immol_thar' => 'hodor',
- ],
- ],
- 'dire_maul_north' => [
- 'name' => 'hodor',
- 'floors' => [
- 'gordok_commons' => 'hodor',
- ],
- ],
- 'dire_maul_east' => [
- 'name' => 'hodor',
- 'floors' => [
- 'warpwood_quarter' => 'hodor',
- 'the_shrine_of_eldretharr' => 'hodor',
- ],
- ],
- 'gnomeregan' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_hall_of_gears' => 'hodor',
- 'the_dormitory' => 'hodor',
- 'launch_bay' => 'hodor',
- 'tinkers_court' => 'hodor',
- ],
- ],
- 'gnomeregan_sod' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_hall_of_gears' => 'hodor',
- 'the_dormitory' => 'hodor',
- 'launch_bay' => 'hodor',
- 'tinkers_court' => 'hodor',
- ],
- ],
- 'lower_blackrock_spire' => [
- 'name' => 'hodor',
- 'floors' => [
- 'tazz_alor' => 'hodor',
- 'skitterweb_tunnels' => 'hodor',
- 'hordemar_city' => 'hodor',
- 'hall_of_blackhand' => 'hodor',
- 'halycons_lair' => 'hodor',
- 'chamber_of_battle' => 'hodor',
- ],
- ],
- 'maraudon' => [
- 'name' => 'hodor',
- 'floors' => [
- 'caverns_of_maraudon' => 'hodor',
- 'zaetars_grave' => 'hodor',
- ],
- ],
- 'ragefire_chasm' => [
- 'name' => 'hodor',
- 'floors' => [
- 'ragefire_chasm' => 'hodor',
- ],
- ],
- 'razorfen_downs' => [
- 'name' => 'hodor',
- 'floors' => [
- 'razorfen_downs' => 'hodor',
- ],
- ],
- 'razorfen_kraul' => [
- 'name' => 'hodor',
- 'floors' => [
- 'razorfen_kraul' => 'hodor',
- ],
- ],
- 'scarlet_monastery_armory' => [
- 'name' => 'hodor',
- 'floors' => [
- 'armory' => 'hodor',
- ],
- ],
- 'scarlet_monastery_cathedral' => [
- 'name' => 'hodor',
- 'floors' => [
- 'cathedral' => 'hodor',
- ],
- ],
- 'scarlet_monastery_graveyard' => [
- 'name' => 'hodor',
- 'floors' => [
- 'graveyard' => 'hodor',
- ],
- ],
- 'scarlet_monastery_library' => [
- 'name' => 'hodor',
- 'floors' => [
- 'library' => 'hodor',
- ],
- ],
- 'scholomance' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_reliquary' => 'hodor',
- 'chamber_of_summoning' => 'hodor',
- 'the_upper_study' => 'hodor',
- 'headmasters_story' => 'hodor',
- ],
- ],
- 'shadowfang_keep' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_courtyard' => 'hodor',
- 'dining_hall' => 'hodor',
- 'the_vacant_den' => 'hodor',
- 'lower_observatory' => 'hodor',
- 'upper_observatory' => 'hodor',
- 'lord_godfreys_chamber' => 'hodor',
- 'the_wall_walk' => 'hodor',
- ],
- ],
- 'stratholme' => [
- 'name' => 'hodor',
- 'floors' => [
- 'crusaders_square' => 'hodor',
- 'the_gauntlet' => 'hodor',
- ],
- ],
- 'the_stockade' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_stockade' => 'hodor',
- ],
- ],
- 'the_temple_of_atal_hakkar' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_pit_of_refuse' => 'hodor',
- 'hall_of_serpents' => 'hodor',
- 'entrance' => 'hodor',
- 'the_temple_of_atal_hakkar' => 'hodor',
- 'hall_of_the_cursed' => 'hodor',
- ],
- ],
- 'uldaman' => [
- 'name' => 'hodor',
- 'floors' => [
- 'hall_of_the_keepers' => 'hodor',
- 'khaz_goroths_seat' => 'hodor',
- ],
- ],
- 'upper_blackrock_spire' => [
- 'name' => 'hodor',
- 'floors' => [
- 'dragonspire_hall' => 'hodor',
- 'the_rookery' => 'hodor',
- 'hall_of_blackhand' => 'hodor',
- ],
- ],
- 'wailing_caverns' => [
- 'name' => 'hodor',
- 'floors' => [
- 'wailing_caverns' => 'hodor',
- ],
- ],
- 'zul_farrak' => [
- 'name' => 'hodor',
- 'floors' => [
- 'zul_farrak' => 'hodor',
- ],
- ],
- ],
- 'wotlk' => [
- 'ahn_kahet_the_old_kingdom' => [
- 'name' => 'hodor',
- 'floors' => [
- 'ahn_kahet_the_old_kingdom' => 'hodor',
- ],
- ],
- 'azjol_nerub' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_brood_pit' => 'hodor',
- 'hadronoxs_lair' => 'hodor',
- 'the_gilded_gate' => 'hodor',
- ],
- ],
- 'drak_tharon_keep' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_vestibules_of_drak_tharon' => 'hodor',
- 'drak_tharon_overlook' => 'hodor',
- ],
- ],
- 'gundrak' => [
- 'name' => 'hodor',
- 'floors' => [
- 'gundrak' => 'hodor',
- ],
- ],
-
- 'halls_of_lightning' => [
- 'name' => 'hodor',
- 'floors' => [
- 'unyielding_garrison' => 'hodor',
- 'walk_of_the_makers' => 'hodor',
- ],
- ],
- 'halls_of_reflection' => [
- 'name' => 'hodor',
- 'floors' => [
- 'halls_of_reflection' => 'hodor',
- ],
- ],
- 'halls_of_stone' => [
- 'name' => 'hodor',
- 'floors' => [
- 'halls_of_stone' => 'hodor',
- ],
- ],
- 'pit_of_saron' => [
- 'name' => 'hodor',
- 'floors' => [
- 'pit_of_saron' => 'hodor',
- ],
- ],
-
- 'the_culling_of_stratholme' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_culling_of_stratholme' => 'hodor',
- 'stratholme_city' => 'hodor',
- ],
- ],
- 'the_forge_of_souls' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_forge_of_souls' => 'hodor',
- ],
- ],
- 'the_nexus' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_nexus' => 'hodor',
- ],
- ],
- 'the_oculus' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_oculus' => 'hodor',
- 'band_of_variance' => 'hodor',
- 'band_of_acceleration' => 'hodor',
- 'band_of_transmutation' => 'hodor',
- 'band_of_alignment' => 'hodor',
- ],
- ],
-
- 'the_violet_hold' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_violet_hold' => 'hodor',
- ],
- ],
- 'trial_of_the_champion' => [
- 'name' => 'hodor',
- 'floors' => [],
- ],
- 'utgarde_keep' => [
- 'name' => 'hodor',
- 'floors' => [
- 'njorndir_preparation' => 'hodor',
- 'dragonflayer_ascent' => 'hodor',
- 'tyrs_terrace' => 'hodor',
- ],
- ],
- 'utgarde_pinnacle' => [
- 'name' => 'hodor',
- 'floors' => [
- 'lower_pinnacle' => 'hodor',
- 'upper_pinnacle' => 'hodor',
- ],
- ],
-
- // Raids
- 'icecrown_citadel' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_lower_citadel' => 'hodor',
- 'the_rampart_of_skulls' => 'hodor',
- 'deathbringers_rise' => 'hodor',
- 'the_frost_queens_lair' => 'hodor',
- 'the_upper_reach' => 'hodor',
- 'royal_quarters' => 'hodor',
- 'the_frozen_throne' => 'hodor',
- 'frostmourne' => 'hodor',
- ],
- ],
- 'onyxias_lair' => [
- 'name' => 'hodor',
- 'floors' => [
- 'onyxias_lair' => 'hodor',
- ],
- ],
- 'naxxramas' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_construct_quarter' => 'hodor',
- 'the_arachnid_quarter' => 'hodor',
- 'the_military_quarter' => 'hodor',
- 'the_plague_quarter' => 'hodor',
- 'the_lower_necropolis' => 'hodor',
- 'the_upper_necropolis' => 'hodor',
- ],
- ],
- 'crusaders_coliseum_trial_of_the_crusader' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_argent_coliseum' => 'hodor',
- 'the_icy_depths' => 'hodor',
- ],
- ],
- 'the_eye_of_eternity' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_eye_of_eternity' => 'hodor',
- ],
- ],
- 'the_obsidian_sanctum' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_obsidian_sanctum' => 'hodor',
- ],
- ],
- 'the_ruby_sanctum' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_ruby_sanctum' => 'hodor',
- ],
- ],
- 'ulduar' => [
- 'name' => 'hodor',
- 'floors' => [
- 'ulduar' => 'hodor',
- 'the_antechamber_of_ulduar' => 'hodor',
- 'the_inner_sanctum_of_ulduar' => 'hodor',
- 'the_prison_of_yogg_saron' => 'hodor',
- 'the_spark_of_imagination' => 'hodor',
- 'the_minds_eye' => 'hodor',
- ],
- ],
- 'vault_of_archavon' => [
- 'name' => 'hodor',
- 'floors' => [
- 'vault_of_archavon' => 'hodor',
- ],
- ],
- ],
- 'cata' => [
- 'the_vortex_pinnacle' => [
- 'name' => 'hodor',
- 'floors' => [
- 'cyclone_summit' => 'hodor',
- ],
- ],
- 'throne_of_the_tides' => [
- 'name' => 'hodor',
- 'floors' => [
- 'abyssal_halls' => 'hodor',
- 'throne_of_neptulon' => 'hodor',
- 'throne_of_the_tides' => 'hodor',
- ],
- ],
- ],
- 'mop' => [
- 'temple_of_the_jade_serpent' => [
- 'name' => 'hodor',
- 'floors' => [
- 'temple_of_the_jade_serpent' => 'hodor',
- 'scrollkeepers_sanctum' => 'hodor',
- ],
- ],
- ],
- 'wod' => [
- 'auchindoun' => [
- 'name' => 'hodor',
- 'floors' => [
- 'auchindoun' => 'hodor',
- ],
- ],
- 'bloodmaul_slag_mines' => [
- 'name' => 'hodor',
- 'floors' => [
- 'bloodmaul_slag_mines' => 'hodor',
- ],
- ],
- 'iron_docks' => [
- 'name' => 'hodor',
- 'floors' => [
- 'iron_docks' => 'hodor',
- ],
- ],
- 'grimrail_depot' => [
- 'name' => 'hodor',
- 'floors' => [
- 'rafters' => 'hodor',
- 'train_depot' => 'hodor',
- 'rear_train_cars' => 'hodor',
- 'forward_train_cars' => 'hodor',
- ],
- ],
- 'shadowmoon_burial_grounds' => [
- 'name' => 'hodor',
- 'floors' => [
- 'crypt_of_the_ancients' => 'hodor',
- 'altar_of_shadow' => 'hodor',
- 'edge_of_reality' => 'hodor',
- ],
- ],
- 'the_everbloom' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_everbloom' => 'hodor',
- 'the_overlook' => 'hodor',
- ],
- ],
- ],
- 'legion' => [
- 'arcway' => [
- 'name' => 'hodor',
- 'floors' => [
- 'arcway' => 'hodor',
- ],
- ],
- 'black_rook_hold' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_ravenscrypt' => 'hodor',
- 'the_grand_hall' => 'hodor',
- 'ravenshold' => 'hodor',
- 'the_rooks_roost' => 'hodor',
- 'lord_ravencrests_chamber' => 'hodor',
- 'the_ravens_crown' => 'hodor',
- 'black_rook_hold' => 'hodor',
- ],
- ],
- 'court_of_stars' => [
- 'name' => 'hodor',
- 'floors' => [
- 'court_of_stars' => 'hodor',
- ],
- ],
- 'darkheart_thicket' => [
- 'name' => 'hodor',
- 'floors' => [
- 'darkheart_thicket' => 'hodor',
- ],
- ],
- 'eye_of_azshara' => [
- 'name' => 'hodor',
- 'floors' => [
- 'eye_of_azshara' => 'hodor',
- ],
- ],
- 'halls_of_valor' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_high_gate' => 'hodor',
- 'fields_of_the_eternal_hunt' => 'hodor',
- 'halls_of_valor' => 'hodor',
- ],
- ],
- 'maw_of_souls' => [
- 'name' => 'hodor',
- 'floors' => [
- 'hellmouth_cliffs' => 'hodor',
- 'the_hold' => 'hodor',
- 'the_naglfar' => 'hodor',
- ],
- ],
- 'neltharions_lair' => [
- 'name' => 'hodor',
- 'floors' => [
- 'neltharions_lair' => 'hodor',
- ],
- ],
- 'vault_of_the_wardens' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_wardens_court' => 'hodor',
- 'vault_of_the_wardens' => 'hodor',
- 'vault_of_the_betrayer' => 'hodor',
- ],
- ],
-
- 'lower_karazhan' => [
- 'name' => 'hodor',
- 'floors' => [
- 'servants_quarters' => 'hodor',
- 'upper_livery_stables' => 'hodor',
- 'the_banquet_hall' => 'hodor',
- 'the_guest_chambers' => 'hodor',
- 'opera_hall_balcony' => 'hodor',
- 'masters_terrace' => 'hodor',
- ],
- ],
- 'upper_karazhan' => [
- 'name' => 'hodor',
- 'floors' => [
- 'lower_broken_stair' => 'hodor',
- 'upper_broken_stair' => 'hodor',
- 'the_menagerie' => 'hodor',
- 'guardians_library' => 'hodor',
- 'library_floor' => 'hodor',
- 'upper_library' => 'hodor',
- 'gamesmans_hall' => 'hodor',
- 'netherspace' => 'hodor',
- ],
- ],
-
- 'cathedral_of_eternal_night' => [
- 'name' => 'hodor',
- 'floors' => [
- 'hall_of_the_moon' => 'hodor',
- 'twilight_groove' => 'hodor',
- 'the_emerald_archives' => 'hodor',
- 'path_of_illumination' => 'hodor',
- 'sacristy_of_elune' => 'hodor',
- ],
- ],
- 'the_seat_of_the_triumvirate' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_seat_of_the_triumvirate' => 'hodor',
- ],
- ],
- ],
- 'bfa' => [
- 'atal_dazar' => [
- 'name' => 'hodor',
- 'floors' => [
- 'atal_dazar' => 'hodor',
- 'sacrificial_pits' => 'hodor',
- ],
- ],
- 'freehold' => [
- 'name' => 'hodor',
- 'floors' => [
- 'freehold' => 'hodor',
- ],
- ],
- 'kings_rest' => [
- 'name' => 'hodor',
- 'floors' => [
- 'kings_rest' => 'hodor',
- ],
- ],
- 'shrine_of_the_storm' => [
- 'name' => 'hodor',
- 'floors' => [
- 'shrine_of_the_storm' => 'hodor',
- 'storms_end' => 'hodor',
- ],
- ],
- 'siege_of_boralus' => [
- 'name' => 'hodor',
- 'floors' => [
- 'siege_of_boralus' => 'hodor',
- ],
- ],
- 'temple_of_sethraliss' => [
- 'name' => 'hodor',
- 'floors' => [
- 'temple_of_sethraliss' => 'hodor',
- 'atrium_of_the_wardens' => 'hodor',
- ],
- ],
- 'the_motherlode' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_motherlode' => 'hodor',
- ],
- ],
- 'the_underrot' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_underrot' => 'hodor',
- 'ruins_descent' => 'hodor',
- ],
- ],
- 'tol_dagor' => [
- 'name' => 'hodor',
- 'floors' => [
- 'tol_dagor' => 'hodor',
- 'the_drain' => 'hodor',
- 'the_brig' => 'hodor',
- 'detention_block' => 'hodor',
- 'officer_quarters' => 'hodor',
- 'overseers_redoubt' => 'hodor',
- 'overseers_summit' => 'hodor',
- ],
- ],
- 'waycrest_manor' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_grand_foyer' => 'hodor',
- 'upstairs' => 'hodor',
- 'the_cellar' => 'hodor',
- 'catacombs' => 'hodor',
- 'the_rupture' => 'hodor',
- 'waycrest_manor' => 'hodor',
- ],
- ],
- 'mechagon_junkyard' => [
- 'name' => 'hodor',
- 'floors' => [
- 'mechagon_island' => 'hodor',
- 'tunnels' => 'hodor',
- ],
- ],
- 'mechagon_workshop' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_robodrome' => 'hodor',
- 'waste_pipes' => 'hodor',
- 'the_under_junk' => 'hodor',
- 'mechagon_city' => 'hodor',
- ],
- ],
- 'orgrimmar_horrific_vision' => [
- 'name' => 'hodor',
- 'floors' => [
- 'orgrimmar_horrific_vision' => 'hodor',
- 'the_drag' => 'hodor',
- ],
- ],
- 'stormwind_horrific_vision' => [
- 'name' => 'hodor',
- 'floors' => [
- 'stormwind_horrific_vision' => 'hodor',
- ],
- ],
- ],
- 'shadowlands' => [
- 'de_other_side' => [
- 'name' => 'hodor',
- 'floors' => [
- 'de_other_side' => 'hodor',
- 'mechagon' => 'hodor',
- 'zul_gurub' => 'hodor',
- 'ardenweald' => 'hodor',
- ],
- ],
- 'halls_of_atonement' => [
- 'name' => 'hodor',
- 'floors' => [
- 'halls_of_atonement' => 'hodor',
- 'the_nave_of_pain' => 'hodor',
- 'the_sanctuary_of_souls' => 'hodor',
- ],
- ],
- 'mists_of_tirna_scithe' => [
- 'name' => 'hodor',
- 'floors' => [
- 'mists_of_tirna_scithe' => 'hodor',
- ],
- ],
- 'plaguefall' => [
- 'name' => 'hodor',
- 'floors' => [
- 'plaguefall' => 'hodor',
- 'the_festering_sanctum' => 'hodor',
- ],
- ],
- 'sanguine_depths' => [
- 'name' => 'hodor',
- 'floors' => [
- 'depths_of_despair' => 'hodor',
- 'amphitheater_of_sorrow' => 'hodor',
- ],
- ],
- 'spires_of_ascension' => [
- 'name' => 'hodor',
- 'floors' => [
- 'honors_ascent' => 'hodor',
- 'gardens_of_repose' => 'hodor',
- 'font_of_fealty' => 'hodor',
- 'seat_of_the_archon' => 'hodor',
- ],
- ],
- 'the_necrotic_wake' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_necrotic_wake' => 'hodor',
- 'stitchwerks' => 'hodor',
- 'zolramus' => 'hodor',
- ],
- ],
- 'theater_of_pain' => [
- 'name' => 'hodor',
- 'floors' => [
- 'theater_of_pain' => 'hodor',
- 'chamber_of_conquest' => 'hodor',
- 'altars_of_agony' => 'hodor',
- 'lower_barrow_of_carnage' => 'hodor',
- 'upper_barrow_of_carnage' => 'hodor',
- ],
- ],
- 'tazavesh_streets_of_wonder' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_veiled_market' => 'hodor',
- 'the_grand_menagerie' => 'hodor',
- 'the_post' => 'hodor',
- 'myzas_oasis' => 'hodor',
- ],
- ],
- 'tazavesh_so_leahs_gambit' => [
- 'name' => 'hodor',
- 'floors' => [
- 'stormheim' => 'hodor',
- 'aggramars_vault' => 'hodor',
- 'boralus_harbor' => 'hodor',
- 'the_opulent_nexus' => 'hodor',
- ],
- ],
- ],
- 'dragonflight' => [
- 'algeth_ar_academy' => [
- 'name' => 'hodor',
- 'floors' => [
- 'algeth_ar_academy' => 'hodor',
- 'the_pitch' => 'hodor',
- 'the_headteachers_enclave' => 'hodor',
- ],
- ],
- 'brackenhide_hollow' => [
- 'name' => 'hodor',
- 'floors' => [
- 'brackenhide_hollow' => 'hodor',
- 'den_of_decay' => 'hodor',
- ],
- ],
- 'halls_of_infusion' => [
- 'name' => 'hodor',
- 'floors' => [
- 'infusers_rotunda' => 'hodor',
- 'infusion_chamber' => 'hodor',
- ],
- ],
- 'neltharus' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_burning_cauldron' => 'hodor',
- 'chamber_of_flames' => 'hodor',
- ],
- ],
- 'ruby_life_pools' => [
- 'name' => 'hodor',
- 'floors' => [
- 'infusion_chambers' => 'hodor',
- 'ruby_overlook' => 'hodor',
- ],
- ],
- 'the_azure_vault' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_arcane_conservatory' => 'hodor',
- 'crystal_chambers' => 'hodor',
- 'mausoleum_of_legends' => 'hodor',
- 'the_infinity_seal' => 'hodor',
- 'sindragosas_lament' => 'hodor',
- ],
- ],
- 'the_nokhud_offensive' => [
- 'name' => 'hodor',
- 'floors' => [
- 'the_nokhud_offensive' => 'hodor',
- ],
- ],
- 'uldaman_legacy_of_tyr' => [
- 'name' => 'hodor',
- 'floors' => [
- 'hall_of_the_keepers' => 'hodor',
- 'the_vault_of_tyr' => 'hodor',
- ],
- ],
- 'dawn_of_the_infinite_galakronds_fall' => [
- 'name' => 'hodor',
- 'floors' => [
- 'galakronds_fall' => 'hodor',
- 'sanctum_of_chronology' => 'hodor',
- 'millennias_threshold' => 'hodor',
- 'locus_of_eternity' => 'hodor',
- 'spoke_of_endless_winter' => 'hodor',
- 'crossroads_of_fate' => 'hodor',
- ],
- ],
- 'dawn_of_the_infinite_murozonds_rise' => [
- 'name' => 'hodor',
- 'floors' => [
- 'murozonds_rise' => 'hodor',
- 'sanctum_of_chronology' => 'hodor',
- 'millennias_threshold' => 'hodor',
- 'locus_of_eternity' => 'hodor',
- 'crossroads_of_fate' => 'hodor',
- 'infinite_conflux' => 'hodor',
- 'twisting_approach' => 'hodor',
- 'immemorial_battlefield' => 'hodor',
- ],
- ],
- ],
-];
diff --git a/lang/ho-HO/exceptions.php b/lang/ho-HO/exceptions.php
deleted file mode 100644
index fbcf2e9518..0000000000
--- a/lang/ho-HO/exceptions.php
+++ /dev/null
@@ -1,10 +0,0 @@
- [
- 'api_model_not_found' => 'hodor',
- 'api_route_not_found' => 'hodor',
- 'internal_server_error' => 'hodor',
- 'unauthenticated' => 'hodor',
- ],
-];
diff --git a/lang/ho-HO/factions.php b/lang/ho-HO/factions.php
deleted file mode 100644
index bf184be039..0000000000
--- a/lang/ho-HO/factions.php
+++ /dev/null
@@ -1,7 +0,0 @@
- 'hodor',
- 'horde' => 'hodor',
- 'alliance' => 'hodor',
-];
diff --git a/lang/ho-HO/js.php b/lang/ho-HO/js.php
deleted file mode 100644
index 910e1aecbf..0000000000
--- a/lang/ho-HO/js.php
+++ /dev/null
@@ -1,567 +0,0 @@
- 'hodor',
- 'enemy_forces_label' => 'hodor',
- 'enemy_display_type_label' => 'hodor',
- 'mdt_enemy_mapping_label' => 'hodor',
- 'base_health_label' => 'hodor',
- 'no_npc_found_label' => 'hodor',
-
- 'teeming_label' => 'hodor',
- 'npc_label' => 'hodor',
-
- 'connected_floor_label' => 'hodor',
-
- 'admin_only_label' => 'hodor',
- 'id_label' => 'hodor',
- 'seasonal_type_label' => 'hodor',
- 'seasonal_index_label' => 'hodor',
- 'size_label' => 'hodor',
- 'faction_label' => 'hodor',
- 'npc_id_label' => 'hodor',
- 'attached_to_pack_label' => 'hodor',
- 'attached_to_patrol_label' => 'hodor',
- 'enemy_id_label' => 'hodor',
- 'visual_label' => 'hodor',
- 'mdt_label' => 'hodor',
- 'is_mdt_label' => 'hodor',
- 'mdt_id_label' => 'hodor',
- 'mdt_npc_id_label' => 'hodor',
-
- 'preset_label' => 'hodor',
- 'add_label' => 'hodor',
-
- 'color_label' => 'hodor',
- 'weight_label' => 'hodor',
- 'mapobject_visibility_label' => 'hodor',
-
- 'mapping_manipulation_tools_header_label' => 'hodor',
- 'mapping_manipulation_tools_rotate_label' => 'hodor',
- 'mapping_manipulation_tools_scale_x_label' => 'hodor',
- 'mapping_manipulation_tools_scale_y_label' => 'hodor',
- 'mapping_manipulation_tools_move_x_label' => 'hodor',
- 'mapping_manipulation_tools_move_y_label' => 'hodor',
-
- // Map object translations
- 'header_floor_selection_label' => 'hodor',
-
- 'header_map_object_group_label' => 'hodor',
- 'enemy_map_object_group_label' => 'hodor',
- 'enemypatrol_map_object_group_label' => 'hodor',
- 'enemypack_map_object_group_label' => 'hodor',
- 'path_map_object_group_label' => 'hodor',
- 'dungeonfloorswitchmarker_map_object_group_label' => 'hodor',
- 'brushline_map_object_group_label' => 'hodor',
- 'mapicon_map_object_group_label' => 'hodor',
- 'killzone_map_object_group_label' => 'hodor',
- 'killzonepath_map_object_group_label' => 'hodor',
- 'floorunion_map_object_group_label' => 'hodor',
- 'floorunionarea_map_object_group_label' => 'hodor',
- 'mountablearea_map_object_group_label' => 'hodor',
-
- 'publish_state_title_unpublished' => 'hodor',
- 'publish_state_subtext_unpublished' => 'hodor',
-
- 'publish_state_title_team' => 'hodor',
- 'publish_state_subtext_team' => 'hodor',
-
- 'publish_state_title_world' => 'hodor',
- 'publish_state_subtext_world' => 'hodor',
-
- 'publish_state_title_world_with_link' => 'hodor',
- 'publish_state_subtext_world_with_link' => 'hodor',
-
- 'publish_label' => 'hodor',
- 'unpublish_label' => 'hodor',
- 'add_remove_tag_label' => 'hodor',
- 'clone_label' => 'hodor',
- 'clone_to_profile_label' => 'hodor',
- 'clone_to_team_label' => 'hodor',
- 'migrate_to_encrypted_label' => 'hodor',
- 'migrate_to_shrouded_label' => 'hodor',
- 'delete_label' => 'hodor',
-
- 'placeholder_new_tag_label' => 'hodor',
- 'no_tags_assigned_label' => 'hodor',
- 'current_tags_label' => 'hodor',
- 'add_tag_with_enter_label' => 'hodor',
-
- 'selected_label' => 'hodor',
-
- 'affixes_label' => 'hodor',
- 'attributes_label' => 'hodor',
- 'setup_label' => 'hodor',
- 'new_mapping_version_label' => 'hodor',
-
- 'submit_label' => 'hodor',
-
- 'select_category_label' => 'hodor',
-
- 'pull_workbench_header_label' => 'hodor',
- 'pull_workbench_add_kill_area_label' => 'hodor',
- 'pull_workbench_remove_kill_area_label' => 'hodor',
- 'pull_workbench_pull_description_label' => 'hodor',
-
- 'kill_zone_has_boss_label' => 'hodor',
- 'kill_zone_has_awakened_label' => 'hodor',
- 'kill_zone_has_prideful_label' => 'hodor',
- 'kill_zone_has_inspiring_label' => 'hodor',
- 'kill_zone_has_shrouded_label' => 'hodor',
- 'kill_zone_has_shrouded_zul_gamux_label' => 'hodor',
-
- 'kill_zone_enemy_row_has_boss_label' => 'hodor',
- 'kill_zone_enemy_row_has_awakened_label' => 'hodor',
- 'kill_zone_enemy_row_has_prideful_label' => 'hodor',
- 'kill_zone_enemy_row_has_inspiring_label' => 'hodor',
- 'kill_zone_enemy_row_has_shrouded_label' => 'hodor',
- 'kill_zone_enemy_row_has_dangerous_label' => 'hodor',
-
- // Route edit tools
- 'path' => 'hodor',
- 'path_title' => 'hodor',
- 'killzone' => 'hodor',
- 'mapicon' => 'hodor',
- 'mapicon_title' => 'hodor',
- 'map_icon' => 'hodor',
- 'brushline' => 'hodor',
- 'brushline_title' => 'hodor',
- 'pridefulenemy' => 'hodor',
- 'pridefulenemy_title' => 'hodor',
- 'pridefulenemy_disabled_title' => 'hodor',
- 'pridefulenemy_disabled_no_shadowlands_title' => 'hodor',
- 'edit' => 'hodor',
- 'edit_title' => 'hodor',
- 'delete' => 'hodor',
- 'delete_title' => 'hodor',
- 'finish' => 'hodor',
- 'finish_drawing' => 'hodor',
- 'enemypack' => 'hodor',
- 'enemypack_title' => 'hodor',
- 'enemy' => 'hodor',
- 'enemy_title' => 'hodor',
- 'enemypatrol' => 'hodor',
- 'enemypatrol_title' => 'hodor',
- 'dungeonfloorswitchmarker' => 'hodor',
- 'dungeonfloorswitchmarker_title' => 'hodor',
- 'mountablearea' => 'hodor',
- 'mountablearea_title' => 'hodor',
- 'floorunion' => 'hodor',
- 'floorunion_title' => 'hodor',
- 'floorunionarea' => 'hodor',
- 'floorunionarea_title' => 'hodor',
-
- 'draw_handler_route_tooltip_start' => 'hodor',
- 'draw_handler_route_tooltip_cont' => 'hodor',
- 'draw_handler_route_tooltip_end' => 'hodor',
-
- 'draw_handler_brushline_tooltip_start' => 'hodor',
- 'draw_handler_brushline_tooltip_cont' => 'hodor',
- 'draw_handler_brushline_tooltip_end' => 'hodor',
-
- // Raid markers
- 'title_raid_marker_no_selection' => 'hodor',
- 'title_raid_marker_star' => 'hodor',
- 'title_raid_marker_circle' => 'hodor',
- 'title_raid_marker_diamond' => 'hodor',
- 'title_raid_marker_triangle' => 'hodor',
- 'title_raid_marker_moon' => 'hodor',
- 'title_raid_marker_square' => 'hodor',
- 'title_raid_marker_cross' => 'hodor',
- 'title_raid_marker_skull' => 'hodor',
-
- // Visualisation
- 'npc_type_label' => 'hodor',
- 'npc_class_label' => 'hodor',
- 'enemy_portrait_label' => 'hodor',
-
- // Admin
- 'object.deleted' => 'hodor',
- 'delete_all_pulls_successful' => 'hodor',
- 'route_count_label' => 'hodor',
- 'roles_label' => 'hodor',
- 'registered_label' => 'hodor',
- 'patreon_label' => 'hodor',
- 'datatable_no_users_in_table' => 'hodor',
- 'datatable_no_npcs_in_table' => 'hodor',
- 'enemy_count_label' => 'hodor',
- 'user_report_handled_success' => 'hodor',
- 'dungeonroute_refresh_thumbnail_success' => 'hodor',
- 'updated_patreon_benefits_successfully_label' => 'hodor',
- 'mapping_version_readonly_label' => 'hodor',
- 'mapping_version_upgrade_label' => 'hodor',
- 'upgrade_label' => 'hodor',
-
- 'classification_label' => 'hodor',
- 'edit_label' => 'hodor',
-
- 'make_user_label' => 'hodor',
- 'make_admin_label' => 'hodor',
- 'delete_user_label' => 'hodor',
- 'grant_all_benefits_label' => 'hodor',
- 'patreon_benefits_manually_granted_label' => 'hodor',
-
- // Home page
- 'import_notes_label' => 'hodor',
- 'import_errors_label' => 'hodor',
- 'warnings_label' => 'hodor',
- 'category_label' => 'hodor',
- 'message_label' => 'hodor',
-
- // Profile edit
- 'save_tag_success' => 'hodor',
- 'delete_tag_success' => 'hodor',
-
- // Dungeonroute edit
- 'settings_saved' => 'hodor',
- 'pull_gradient_settings_saved' => 'hodor',
- 'route_published_state_changed' => 'hodor',
- 'datatable_no_routes_in_table' => 'hodor',
- 'cannot_change_sharing_settings_not_all_required_enemies_killed' => 'hodor',
-
- // Mapping version edit
- 'mapping_version_saved' => 'hodor',
-
- // Dungeonroute table
- 'vote' => 'hodor',
- 'votes' => 'hodor',
- 'route_delete_confirm' => 'hodor',
- 'route_delete_successful' => 'hodor',
- 'route_clone_successful' => 'hodor',
- 'route_clone_select_team' => 'hodor',
- 'route_migration_to_encrypted_confirm_warning' => 'hodor',
- 'route_migration_to_shrouded_confirm_warning' => 'hodor',
- 'route_migration_successful' => 'hodor',
- 'sharing_label' => 'hodor',
- 'route_table_published_state_unpublished' => 'hodor',
- 'route_table_published_state_team' => 'hodor',
- 'route_table_published_state_world' => 'hodor',
- 'route_table_published_state_world_with_link' => 'hodor',
-
- // Map
- 'intro_sidebar' => 'hodor',
- 'intro_sidebar_toggle' => 'hodor',
-
- 'intro_visibility_tools' => 'hodor',
- 'intro_map_enemy_visuals' => 'hodor',
- 'intro_map_map_object_group_visibility_container' => 'hodor',
- 'intro_floor_selection' => 'hodor',
-
- 'intro_route_actions' => 'hodor',
- 'intro_route_actions_draw_settings' => 'hodor',
- 'intro_route_actions_map_login_and_continue' => 'hodor',
- 'intro_route_actions_map_register_and_continue' => 'hodor',
- 'intro_route_actions_save_and_continue' => 'hodor',
-
- 'intro_route_manipulation_tools' => 'hodor',
- 'intro_draw_path' => 'hodor',
- 'intro_draw_mapicon' => 'hodor',
- 'intro_draw_brushline' => 'hodor',
- 'intro_draw_pridefulenemy' => 'hodor',
-
- 'intro_draw_edit' => 'hodor',
- 'intro_draw_remove' => 'hodor',
-
- 'intro_map_enemy_forces_numbers' => 'hodor',
- 'intro_new_pull' => 'hodor',
-
- 'enemy_forces_not_all_required_enemies_killed_label' => 'hodor',
- 'enemy_forces_too_much_label' => 'hodor',
- 'enemy_forces_too_little_label' => 'hodor',
- 'enemy_forces_overridden_label' => 'hodor',
-
- // Sidebar
- 'sidebar_expand' => 'hodor',
- 'sidebar_collapse' => 'hodor',
- 'copied_to_clipboard' => 'hodor',
- 'sidebar_enemy_health_label' => 'hodor',
- 'sidebar_enemy_bursting_label' => 'hodor',
- 'sidebar_enemy_sanguine_label' => 'hodor',
- 'sidebar_enemy_bolstering_label' => 'hodor',
- 'sidebar_enemy_bolstering_whitelist_npcs_label' => 'hodor',
- 'sidebar_enemy_spell_label' => 'hodor',
- 'sidebar_enemy_skippable_label' => 'hodor',
- 'sidebar_enemy_runs_away_in_fear_label' => 'hodor',
- 'sidebar_hyper_respawns_label' => 'hodor',
- 'sidebar_enemy_health_fortified_label' => 'hodor',
- 'sidebar_enemy_health_tyrannical_label' => 'hodor',
- 'sidebar_enemy_skippable_info_label' => 'hodor',
- 'user_report_enemy_success' => 'hodor',
- 'dungeonroute_report_enemy_success' => 'hodor',
- 'tag_delete_success' => 'hodor',
- 'tag_create_success' => 'hodor',
-
- // Killzone sidebar
- 'killzone_sidebar_kill_location_label' => 'hodor',
- 'killzone_sidebar_delete_all_pulls_confirm_label' => 'hodor',
-
- // General site modals etc
- 'min_password_length' => 'hodor',
- 'weak' => 'hodor',
- 'medium' => 'hodor',
- 'strong' => 'hodor',
- 'contains_username' => 'hodor',
-
- // MDT Modal
- 'mdt_faction' => 'hodor',
- 'mdt_dungeon' => 'hodor',
- 'mdt_affixes' => 'hodor',
- 'mdt_pulls' => 'hodor',
- 'mdt_paths' => 'hodor',
- 'mdt_drawn_lines' => 'hodor',
- 'mdt_notes' => 'hodor',
- 'mdt_enemy_forces' => 'hodor',
-
- // Default AJAX failed messages
- 'ajax_error_default' => 'hodor',
- 'ajax_error_403' => 'hodor',
- 'ajax_error_404' => 'hodor',
- 'ajax_error_419' => 'hodor',
-
- // Popups
- // Map Object
- 'map_object_readonly_label' => 'hodor',
- 'map_object_category_general_label' => 'hodor',
- 'map_object_category_legacy_label' => 'hodor',
- 'map_object_category_advanced_label' => 'hodor',
-
- 'mapicon_faction_select_default_label' => 'hodor',
- 'mapicon_teeming_select_default_label' => 'hodor',
-
- // Map icon
- 'map_icon_faction_label' => 'hodor',
- 'map_icon_teeming_label' => 'hodor',
- 'map_icon_team_id_label' => 'hodor',
- 'map_icon_permanent_tooltip_label' => 'hodor',
- 'map_icon_map_icon_type_id_label' => 'hodor',
- 'map_icon_comment_label' => 'hodor',
- 'map_icon_map_icon_type_id_select_default_label' => 'hodor',
- 'map_icon_seasonal_type_label' => 'hodor',
- 'map_icon_seasonal_index_label' => 'hodor',
- 'map_icon_seasonal_index_select_default_label' => 'hodor',
-
- // Admin map icon
- 'admin_map_icon_faction_label' => 'hodor',
- 'admin_map_icon_teeming_label' => 'hodor',
- 'admin_map_icon_permanent_tooltip_label' => 'hodor',
- 'admin_map_icon_map_icon_type_id_label' => 'hodor',
- 'admin_map_icon_comment_label' => 'hodor',
- 'admin_map_icon_map_icon_type_id_select_default_label' => 'hodor',
- 'admin_map_icon_seasonal_type_label' => 'hodor',
- 'admin_map_icon_seasonal_index_label' => 'hodor',
- 'admin_map_icon_seasonal_index_select_default_label' => 'hodor',
-
- // Enemy
- 'enemy_faction_label' => 'hodor',
- 'enemy_teeming_label' => 'hodor',
- 'enemy_npc_id_label' => 'hodor',
- 'enemy_floor_id_label' => 'hodor',
- 'enemy_mdt_id_label' => 'hodor',
- 'enemy_mdt_npc_id_label' => 'hodor',
- 'enemy_seasonal_type_label' => 'hodor',
- 'enemy_seasonal_type_select_default_label' => 'hodor',
- 'enemy_seasonal_index_label' => 'hodor',
- 'enemy_seasonal_index_select_default_label' => 'hodor',
- 'enemy_active_auras_label' => 'hodor',
- 'enemy_active_auras_select_default_label' => 'hodor',
- 'enemy_enemy_forces_override_label' => 'hodor',
- 'enemy_enemy_forces_override_teeming_label' => 'hodor',
- 'enemy_dungeon_difficulty_select_default_label' => 'hodor',
- 'enemy_dungeon_difficulty_label' => 'hodor',
- 'enemy_required_label' => 'hodor',
- 'enemy_skippable_label' => 'hodor',
- 'enemy_hyper_respawn_label' => 'hodor',
- 'enemy_kill_priority_label' => 'hodor',
- 'enemy_kill_priority_select_default_label' => 'hodor',
- 'enemy_npc_id_select_default_label' => 'hodor',
- 'enemy_mdt_npc_id_select_default_label' => 'hodor',
-
- // Admin enemy pack
- 'admin_enemy_pack_faction_label' => 'hodor',
- 'admin_enemy_pack_teeming_label' => 'hodor',
- 'admin_enemy_pack_label_label' => 'hodor',
-
- // Brushline
- 'brushline_color_label' => 'hodor',
- 'brushline_color_animated_label' => 'hodor',
- 'brushline_weight_label' => 'hodor',
-
- // Path
- 'path_color_label' => 'hodor',
- 'path_color_animated_label' => 'hodor',
- 'path_weight_label' => 'hodor',
-
- // Enemy patrol
- 'enemypatrol_faction_label' => 'hodor',
- 'enemypatrol_teeming_label' => 'hodor',
- 'enemypatrol_color_label' => 'hodor',
- 'enemypatrol_color_animated_label' => 'hodor',
- 'enemypatrol_weight_label' => 'hodor',
- 'enemypatrol_couple_enemies_label' => 'hodor',
- 'enemypatrol_couple_enemies_button_text_label' => 'hodor',
-
- // Enemy pack
- 'enemypack_group_label' => 'hodor',
- 'enemypack_color_label' => 'hodor',
- 'enemypack_color_animated_label' => 'hodor',
- 'enemypack_faction_label' => 'hodor',
- 'enemypack_teeming_label' => 'hodor',
- 'enemypack_mark_as_skippable_label' => 'hodor',
- 'enemypack_mark_as_skippable_button_text_label' => 'hodor',
-
- // Dungeon floor switch marker
- 'dungeonfloorswitchmarker_faction_label' => 'hodor',
- 'dungeonfloorswitchmarker_teeming_label' => 'hodor',
- 'dungeonfloorswitchmarker_source_floor_id_label' => 'hodor',
- 'dungeonfloorswitchmarker_source_floor_id_select_default_label' => 'hodor',
- 'dungeonfloorswitchmarker_target_floor_id_label' => 'hodor',
- 'dungeonfloorswitchmarker_target_floor_id_select_default_label' => 'hodor',
- 'dungeonfloorswitchmarker_linked_dungeon_floor_switch_marker_id_label' => 'hodor',
- 'dungeonfloorswitchmarker_direction_label' => 'hodor',
- 'dungeonfloorswitchmarker_direction_select_default_label' => 'hodor',
- 'dungeonfloorswitchmarker_go_to_label' => 'hodor',
- 'dungeonfloorswitchmarker_unknown_label' => 'hodor',
-
- // Mountable area
- 'mountablearea_faction_label' => 'hodor',
- 'mountablearea_teeming_label' => 'hodor',
- 'mountablearea_speed_label' => 'hodor',
-
- // Floor Union
- 'floorunion_target_floor_id_select_default_label' => 'hodor',
- 'floorunion_target_floor_id_label' => 'hodor',
- 'floorunion_size_label' => 'hodor',
- 'floorunion_rotation_label' => 'hodor',
-
- // Floor Union Area
- 'floorunionarea_floor_union_id_label' => 'hodor',
-
- // Dungeonroute table
- 'actions_label' => 'hodor',
- 'add_to_team_label' => 'hodor',
-
- // Teams
- 'view_label' => 'hodor',
- 'collaborator_label' => 'hodor',
- 'moderator_label' => 'hodor',
- 'admin_label' => 'hodor',
- 'change_role_success' => 'hodor',
- 'change_default_role_success' => 'hodor',
-
- 'team_admin' => 'hodor',
- 'team_moderator' => 'hodor',
- 'team_collaborator' => 'hodor',
- 'team_member' => 'hodor',
- 'remove_label' => 'hodor',
- 'team_add_route_successful' => 'hodor',
- 'team_remove_route_successful' => 'hodor',
- 'ad_free_giveaway_label' => 'hodor',
- 'ad_free_giveaway_user_already_ad_free_label' => 'hodor',
- 'ad_free_giveaway_user_already_ad_free_giveaway_label' => 'hodor',
- 'ad_free_giveaway_add_label' => 'hodor',
- 'ad_free_giveaway_remove_label' => 'hodor',
-
- // Dungeonroute table headers
- 'datatable_no_teams_in_table' => 'hodor',
- 'datatable_no_members_in_table' => 'hodor',
-
- 'preview_label' => 'hodor',
- 'title_label' => 'hodor',
- 'dungeon_label' => 'hodor',
- 'features_label' => 'hodor',
- // 'affixes_label' => 'Affixes',
- // 'attributes_label' => 'Attributes',
- // 'setup_label' => 'Setup',
- 'author_label' => 'hodor',
- 'metrics_label' => 'hodor',
- 'views_tooltip_label' => 'hodor',
- 'copy_tooltip_label' => 'hodor',
- 'rating_label' => 'hodor',
- 'published_label' => 'hodor',
- // 'actions_label' => 'Actions',
- 'add_route_label' => 'hodor',
- 'remove_route_label' => 'hodor',
-
- 'yes_label' => 'hodor',
- 'no_label' => 'hodor',
- 'cancel_label' => 'hodor',
- 'finished_label' => 'hodor',
-
- // Teams
- 'remove_member_confirm_label' => 'hodor',
- 'remove_member_success' => 'hodor',
- 'leave_team_confirm_label' => 'hodor',
- 'leave_team_disband_confirm_label' => 'hodor',
- 'ad_free_giveaway_add_success' => 'hodor',
- 'ad_free_giveaway_add_failed' => 'hodor',
- 'ad_free_giveaway_remove_success' => 'hodor',
- 'ad_free_giveaway_remove_failed' => 'hodor',
-
- 'name_label' => 'hodor',
- 'email_label' => 'hodor',
- 'join_date_label' => 'hodor',
- 'role_label' => 'hodor',
- 'assignable_roles_label' => 'hodor',
- // 'actions_label' => 'Actions',
- 'leave_label' => 'hodor',
-
- 'delete_team_confirm_label' => 'hodor',
- 'invite_link_refreshed' => 'hodor',
-
- // Echo server
- 'echo_connecting_label' => 'hodor',
- 'echo_connected_label' => 'hodor',
- 'connected_users_label' => 'hodor',
- 'connecting_title_label' => 'hodor',
- 'connected_title_label' => 'hodor',
- 'members_title_label' => 'hodor',
- 'member_self_title_label' => 'hodor',
- 'echo_object_deleted_notification' => 'hodor',
- 'connected_users_hide_cursors_label' => 'hodor',
- 'connected_users_show_cursors_label' => 'hodor',
- 'connected_user_follow_label' => 'hodor',
- 'connected_user_unfollow_label' => 'hodor',
- 'connected_user_view_profile_label' => 'hodor',
- 'echo_following_user_label' => 'hodor',
- 'echo_unfollow_user_label' => 'hodor',
- 'echo_following_user_stopped_label' => 'hodor',
- 'echo_refollow_user_label' => 'hodor',
- 'echo_refollow_user_stop_label' => 'hodor',
-
- // Overpull
- 'overpull_select_enemy_label' => 'hodor',
- 'overpull_selection_finished_label' => 'hodor',
-
- // Search page
- 'filters' => 'hodor',
- 'filter_enemy_forces_header_incomplete' => 'hodor',
- 'filter_enemy_forces_header_complete' => 'hodor',
- 'filter_image_select_affixes_header' => 'hodor',
- 'filter_image_select_dungeons_header' => 'hodor',
- 'filter_input_affix_group_header' => 'hodor',
- 'filter_input_level_header' => 'hodor',
- 'filter_input_rating_header' => 'hodor',
- 'filter_input_title_header' => 'hodor',
- 'filter_input_expansion_header' => 'hodor',
- 'filter_input_season_header' => 'hodor',
- 'filter_input_user_header' => 'hodor',
-
- // Group composition
- 'specialization_select' => 'hodor',
- 'class_select' => 'hodor',
- 'race_select' => 'hodor',
-
- // Simulate
- 'simulate_pull' => 'hodor',
-];
diff --git a/lang/ho-HO/logic.php b/lang/ho-HO/logic.php
deleted file mode 100644
index 673add2276..0000000000
--- a/lang/ho-HO/logic.php
+++ /dev/null
@@ -1,47 +0,0 @@
- [
- 'io' => [
- 'export_string' => [
- 'category' => [
- 'pull' => 'hodor',
- 'title' => 'hodor',
- 'map_icon' => 'hodor',
- ],
- 'unable_to_find_mdt_enemy_for_kg_enemy' => 'hodor',
- 'unable_to_find_mdt_enemy_for_kg_enemy_details' => 'hodor',
- 'unable_to_find_mdt_enemy_for_kg_caused_empty_pull' => 'hodor',
- 'route_title_contains_non_ascii_char_bug' => 'hodor',
- 'route_title_contains_non_ascii_char_bug_details' => 'hodor',
- 'map_icon_contains_non_ascii_char_bug' => 'hodor',
- 'map_icon_contains_non_ascii_char_bug_details' => 'hodor',
- ],
- 'import_string' => [
- 'category' => [
- 'awakened_obelisks' => 'hodor',
- 'pulls' => 'hodor',
- 'notes' => 'hodor',
- 'pull' => 'hodor',
- 'object' => 'hodor',
- ],
- 'limit_reached_pulls' => 'hodor',
- 'limit_reached_brushlines' => 'hodor',
- 'limit_reached_paths' => 'hodor',
- 'limit_reached_notes' => 'hodor',
- 'unable_to_find_floor_for_object' => 'hodor',
- 'unable_to_find_floor_for_object_details' => 'hodor',
- 'unable_to_find_mdt_enemy_for_clone_index' => 'hodor',
- 'unable_to_find_mdt_enemy_for_clone_index_details' => 'hodor',
- 'unable_to_find_kg_equivalent_for_mdt_enemy' => 'hodor',
- 'unable_to_find_kg_equivalent_for_mdt_enemy_details' => 'hodor',
- 'unable_to_find_awakened_enemy_for_final_boss' => 'hodor',
- 'unable_to_find_awakened_enemy_for_final_boss_details' => 'hodor',
- 'unable_to_find_enemies_pull_skipped' => 'hodor',
- 'unable_to_find_enemies_pull_skipped_details' => 'hodor',
- 'unable_to_find_awakened_obelisks' => 'hodor',
- 'unable_to_find_awakened_obelisk_different_floor' => 'hodor',
- ],
- ],
- ],
-];
diff --git a/lang/ho-HO/mapicontypes.php b/lang/ho-HO/mapicontypes.php
deleted file mode 100644
index fd2e0d9b7a..0000000000
--- a/lang/ho-HO/mapicontypes.php
+++ /dev/null
@@ -1,113 +0,0 @@
- 'hodor',
- 'comment' => 'hodor',
- 'door' => 'hodor',
- 'door_down' => 'hodor',
- 'door_left' => 'hodor',
- 'door_locked' => 'hodor',
- 'door_right' => 'hodor',
- 'door_up' => 'hodor',
- 'dot_yellow' => 'hodor',
- 'dungeon_start' => 'hodor',
- 'gateway' => 'hodor',
- 'graveyard' => 'hodor',
- 'greasebot' => 'hodor',
- 'shockbot' => 'hodor',
- 'warlock_gateway' => 'hodor',
- 'weldingbot' => 'hodor',
- 'awakened_obelisk_brutal' => 'hodor',
- 'awakened_obelisk_cursed' => 'hodor',
- 'awakened_obelisk_defiled' => 'hodor',
- 'awakened_obelisk_entropic' => 'hodor',
-
- 'skip_flight' => 'hodor',
- 'skip_teleport' => 'hodor',
- 'skip_walk' => 'hodor',
-
- 'raid_marker_star' => 'hodor',
- 'raid_marker_circle' => 'hodor',
- 'raid_marker_diamond' => 'hodor',
- 'raid_marker_triangle' => 'hodor',
- 'raid_marker_moon' => 'hodor',
- 'raid_marker_square' => 'hodor',
- 'raid_marker_cross' => 'hodor',
- 'raid_marker_skull' => 'hodor',
-
- 'spell_bloodlust' => 'hodor',
- 'spell_heroism' => 'hodor',
- 'spell_shadowmeld' => 'hodor',
- 'spell_shroud_of_concealment' => 'hodor',
-
- 'item_invisibility' => 'hodor',
- 'item_drums_of_speed' => 'hodor',
- 'item_free_action_potion' => 'hodor',
- 'item_global_thermal_sapper_charge' => 'hodor',
- 'item_rocket_boots_xtreme' => 'hodor',
-
- 'question_yellow' => 'hodor',
- 'question_blue' => 'hodor',
- 'question_orange' => 'hodor',
-
- 'exclamation_yellow' => 'hodor',
- 'exclamation_blue' => 'hodor',
- 'exclamation_orange' => 'hodor',
-
- 'neonbutton_blue' => 'hodor',
- 'neonbutton_cyan' => 'hodor',
- 'neonbutton_green' => 'hodor',
- 'neonbutton_orange' => 'hodor',
- 'neonbutton_pink' => 'hodor',
- 'neonbutton_purple' => 'hodor',
- 'neonbutton_red' => 'hodor',
- 'neonbutton_yellow' => 'hodor',
- 'neonbutton_darkred' => 'hodor',
- 'neonbutton_darkgreen' => 'hodor',
- 'neonbutton_darkblue' => 'hodor',
-
- 'spell_mind_soothe' => 'hodor',
- 'spell_combustion' => 'hodor',
-
- 'covenant_kyrian' => 'hodor',
- 'covenant_necrolords' => 'hodor',
- 'covenant_nightfae' => 'hodor',
- 'covenant_venthyr' => 'hodor',
-
- 'portal_blue' => 'hodor',
- 'portal_green' => 'hodor',
- 'portal_orange' => 'hodor',
- 'portal_pink' => 'hodor',
- 'portal_red' => 'hodor',
-
- 'nw_item_anima' => 'hodor',
- 'nw_item_goliath' => 'hodor',
- 'nw_item_hammer' => 'hodor',
- 'nw_item_shield' => 'hodor',
- 'nw_item_spear' => 'hodor',
-
- 'spell_incarnation' => 'hodor',
- 'spell_misdirection' => 'hodor',
- 'spell_tricks_of_the_trade' => 'hodor',
-
- 'role_tank' => 'hodor',
- 'role_healer' => 'hodor',
- 'role_dps' => 'hodor',
-
- 'class_warrior' => 'hodor',
- 'class_hunter' => 'hodor',
- 'class_death_knight' => 'hodor',
- 'class_mage' => 'hodor',
- 'class_priest' => 'hodor',
- 'class_monk' => 'hodor',
- 'class_rogue' => 'hodor',
- 'class_warlock' => 'hodor',
- 'class_shaman' => 'hodor',
- 'class_paladin' => 'hodor',
- 'class_druid' => 'hodor',
- 'class_demon_hunter' => 'hodor',
- 'class_evoker' => 'hodor',
-
- 'chest' => 'hodor',
- 'chest_locked' => 'hodor',
-];
diff --git a/lang/ho-HO/mapping.php b/lang/ho-HO/mapping.php
deleted file mode 100644
index b8006a3c26..0000000000
--- a/lang/ho-HO/mapping.php
+++ /dev/null
@@ -1,166 +0,0 @@
- [
- 'legion' => [
- 'arcway' => [
-
- ],
- 'black_rook_hold' => [
-
- ],
- 'court_of_stars' => [
- 'unlocks_after_patrol_captain_gerdo' => 'hodor',
- 'arcane_beacon' => 'hodor',
- 'flask_of_the_solemn_night' => 'hodor',
- ],
- 'darkheart_thicket' => [
-
- ],
- 'eye_of_azshara' => [
-
- ],
- 'halls_of_valor' => [
-
- ],
- 'maw_of_souls' => [
-
- ],
- 'neltharions_lair' => [
- 'hidden_pack_in_cave' => 'hodor',
- ],
- 'vault_of_the_wardens' => [
-
- ],
-
- 'lower_karazhan' => [
-
- ],
- 'upper_karazhan' => [
-
- ],
-
- 'cathedral_of_eternal_night' => [
-
- ],
- 'the_seat_of_the_triumvirate' => [
-
- ],
- ],
- 'bfa' => [
- 'atal_dazar' => [
-
- ],
- 'freehold' => [
-
- ],
- 'kings_rest' => [
-
- ],
- 'shrine_of_the_storm' => [
-
- ],
- 'siege_of_boralus' => [
-
- ],
- 'temple_of_sethraliss' => [
-
- ],
- 'the_motherlode' => [
-
- ],
- 'the_underrot' => [
-
- ],
- 'tol_dagor' => [
-
- ],
- 'waycrest_manor' => [
-
- ],
- 'mechagon_junkyard' => [
-
- ],
- 'mechagon_workshop' => [
-
- ],
- 'orgrimmar_horrific_vision' => [
-
- ],
- 'stormwind_horrific_vision' => [
-
- ],
- ],
- 'shadowlands' => [
- 'de_other_side' => [
- 'start' => 'hodor',
- 'graveyard_ardenweald' => 'hodor',
- 'graveyard_mechagon' => 'hodor',
- 'graveyard_zulgurub' => 'hodor',
- 'haunted_urn' => 'hodor',
- 'engineer_blob_button' => 'hodor',
- 'exit' => 'hodor',
- ],
- 'halls_of_atonement' => [
- 'start' => 'hodor',
- 'exit' => 'hodor',
- ],
- 'mists_of_tirna_scithe' => [
- 'start' => 'hodor',
- 'brambles' => 'hodor',
- 'depleted_anima_seed' => 'hodor',
- 'map_missing_wall' => 'hodor',
- 'savory_statshroom' => 'hodor',
- 'tasty_toughshroom' => 'hodor',
- 'door_unlock_after_ingra_maloch' => 'hodor',
- 'exit' => 'hodor',
- ],
- 'plaguefall' => [
- 'start' => 'hodor',
- 'graveyard_dr_ickus' => 'hodor',
- 'gushing_slime' => 'hodor',
- 'congealed_slime' => 'hodor',
- 'pestilence_slime' => 'hodor',
- 'landing' => 'hodor',
- 'exit' => 'hodor',
- ],
- 'sanguine_depths' => [
- 'start' => 'hodor',
- 'anima_cage' => 'hodor',
- 'tick_bug' => 'hodor',
- 'graveyard_kryxis_the_voracious' => 'hodor',
- 'graveyard_executor_tarvold' => 'hodor',
- 'graveyard_grand_proctor_beryllia' => 'hodor',
- 'chamber_sentinel' => 'hodor',
- 'gauntlet_explanation' => 'hodor',
- 'zrali_essence' => 'hodor',
- 'exit' => 'hodor',
- ],
- 'spires_of_ascension' => [
- 'start' => 'hodor',
- 'spear_of_destiny' => 'hodor',
- 'exit' => 'hodor',
- ],
- 'the_necrotic_wake' => [
- 'start' => 'hodor',
- 'bloody_javelin' => 'hodor',
- 'forgotten_forgehammer' => 'hodor',
- 'malfunctioning_goliath' => 'hodor',
- 'discharged_anima' => 'hodor',
- 'discarded_shield' => 'hodor',
- 'anima_crystal_shard' => 'hodor',
- 'grisly_curio' => 'hodor',
- 'exit' => 'hodor',
- ],
- 'theater_of_pain' => [
- 'start' => 'hodor',
- 'necrolord_banner' => 'hodor',
- 'graveyard_gorechop' => 'hodor',
- 'pack_jump_from_sides' => 'hodor',
- 'miniboss_pick_one' => 'hodor',
- 'teleporter' => 'hodor',
- 'exit' => 'hodor',
- ],
- ],
- ],
-];
diff --git a/lang/ho-HO/models.php b/lang/ho-HO/models.php
deleted file mode 100644
index ec0581c41b..0000000000
--- a/lang/ho-HO/models.php
+++ /dev/null
@@ -1,13 +0,0 @@
- [
- 'title_temporary_route' => 'hodor',
- 'title_clone' => 'hodor',
- 'subtitle_clone_of' => 'hodor',
- 'permission_dratnos' => 'hodor',
- 'permission_petko' => 'hodor',
- 'subtitle_temporary_route' => 'hodor',
- 'subtitle_author' => 'hodor',
- ],
-];
diff --git a/lang/ho-HO/npcaggressiveness.php b/lang/ho-HO/npcaggressiveness.php
deleted file mode 100644
index 5ea48a7329..0000000000
--- a/lang/ho-HO/npcaggressiveness.php
+++ /dev/null
@@ -1,9 +0,0 @@
- 'hodor',
- 'unfriendly' => 'hodor',
- 'neutral' => 'hodor',
- 'friendly' => 'hodor',
- 'awakened' => 'hodor',
-];
diff --git a/lang/ho-HO/npcclasses.php b/lang/ho-HO/npcclasses.php
deleted file mode 100644
index 6ea472422a..0000000000
--- a/lang/ho-HO/npcclasses.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 'hodor',
- 'ranged' => 'hodor',
- 'caster' => 'hodor',
- 'healer' => 'hodor',
- 'caster_melee' => 'hodor',
- 'healer_caster' => 'hodor',
- 'healer_melee' => 'hodor',
- 'ranged_caster' => 'hodor',
- 'ranged_healer' => 'hodor',
- 'ranged_melee' => 'hodor',
-];
diff --git a/lang/ho-HO/npcclassifications.php b/lang/ho-HO/npcclassifications.php
deleted file mode 100644
index 78e2c82f62..0000000000
--- a/lang/ho-HO/npcclassifications.php
+++ /dev/null
@@ -1,9 +0,0 @@
- 'hodor',
- 'elite' => 'hodor',
- 'boss' => 'hodor',
- 'finalboss' => 'hodor',
- 'rare' => 'hodor',
-];
diff --git a/lang/ho-HO/pagination.php b/lang/ho-HO/pagination.php
deleted file mode 100644
index bbd41074a4..0000000000
--- a/lang/ho-HO/pagination.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'hodor',
- 'next' => 'hodor',
-
-];
diff --git a/lang/ho-HO/passwords.php b/lang/ho-HO/passwords.php
deleted file mode 100644
index b2b7067f97..0000000000
--- a/lang/ho-HO/passwords.php
+++ /dev/null
@@ -1,22 +0,0 @@
- 'hodor',
- 'reset' => 'hodor',
- 'sent' => 'hodor',
- 'token' => 'hodor',
- 'user' => "hodor",
-
-];
diff --git a/lang/ho-HO/patreonbenefits.php b/lang/ho-HO/patreonbenefits.php
deleted file mode 100644
index 9faa85030e..0000000000
--- a/lang/ho-HO/patreonbenefits.php
+++ /dev/null
@@ -1,10 +0,0 @@
- 'hodor',
- 'unlimited-dungeonroutes' => 'hodor',
- 'unlisted-routes' => 'hodor',
- 'animated-polylines' => 'hodor',
- 'advanced-simulation' => 'hodor',
- 'ad-free-team-members' => 'hodor',
-];
diff --git a/lang/ho-HO/policy.php b/lang/ho-HO/policy.php
deleted file mode 100644
index 368ed728df..0000000000
--- a/lang/ho-HO/policy.php
+++ /dev/null
@@ -1,13 +0,0 @@
- 'hodor',
- 'present_route_not_published' => 'hodor',
- 'embed_route_not_published' => 'hodor',
- 'embed_route_sandbox_not_allowed' => 'hodor',
- 'publish_not_all_required_enemies_killed' => 'hodor',
- 'add_kill_zone_limit_reached' => 'hodor',
- 'add_brushline_limit_reached' => 'hodor',
- 'add_path_limit_reached' => 'hodor',
- 'add_map_icon_limit_reached' => 'hodor',
-];
diff --git a/lang/ho-HO/races.php b/lang/ho-HO/races.php
deleted file mode 100644
index 3942e2f194..0000000000
--- a/lang/ho-HO/races.php
+++ /dev/null
@@ -1,33 +0,0 @@
- 'hodor',
- 'dwarf' => 'hodor',
- 'night_elf' => 'hodor',
- 'gnome' => 'hodor',
- 'draenei' => 'hodor',
- 'worgen' => 'hodor',
- 'pandarenalliance' => 'hodor',
- 'void_elf' => 'hodor',
- 'lightforged_draenei' => 'hodor',
- 'dark_iron_dwarf' => 'hodor',
- 'dracthyralliance' => 'hodor',
-
- 'orc' => 'hodor',
- 'undead' => 'hodor',
- 'tauren' => 'hodor',
- 'troll' => 'hodor',
- 'blood_elf' => 'hodor',
- 'goblin' => 'hodor',
- 'pandarenhorde' => 'hodor',
- 'nightborne' => 'hodor',
- 'highmountain_tauren' => 'hodor',
- 'maghar_orc' => 'hodor',
- 'dracthyrhorde' => 'hodor',
-
- 'kul_tiran_human' => 'hodor',
- 'zandalari_troll' => 'hodor',
-
- 'mechagnome' => 'hodor',
- 'vulpera' => 'hodor',
-];
diff --git a/lang/ho-HO/releasechangelogcategories.php b/lang/ho-HO/releasechangelogcategories.php
deleted file mode 100644
index 73314c1320..0000000000
--- a/lang/ho-HO/releasechangelogcategories.php
+++ /dev/null
@@ -1,16 +0,0 @@
- 'hodor',
- 'route_changes' => 'hodor',
- 'map_changes' => 'hodor',
- 'mapping_changes' => 'hodor',
- 'bugfixes' => 'hodor',
- 'mdt_importer_changes' => 'hodor',
- 'team_changes' => 'hodor',
- 'mdt_exporter_changes' => 'hodor',
- 'live_session_changes' => 'hodor',
- 'simulation_craft_changes' => 'hodor',
- 'auto_route_changes' => 'hodor',
- 'api_changes' => 'hodor',
-];
diff --git a/lang/ho-HO/routeattributes.php b/lang/ho-HO/routeattributes.php
deleted file mode 100644
index 8ed3dc4c59..0000000000
--- a/lang/ho-HO/routeattributes.php
+++ /dev/null
@@ -1,10 +0,0 @@
- 'hodor',
- 'rogue_shroud_skip' => 'hodor',
- 'warlock_gate_skip' => 'hodor',
- 'mage_slow_fall_skip' => 'hodor',
- 'invisibility_potion' => 'hodor',
- 'death_skip' => 'hodor',
-];
diff --git a/lang/ho-HO/specializations.php b/lang/ho-HO/specializations.php
deleted file mode 100644
index 7a787c46e8..0000000000
--- a/lang/ho-HO/specializations.php
+++ /dev/null
@@ -1,68 +0,0 @@
- [
- 'blood' => 'hodor',
- 'frost' => 'hodor',
- 'unholy' => 'hodor',
- ],
- 'demon_hunter' => [
- 'havoc' => 'hodor',
- 'vengeance' => 'hodor',
- ],
- 'druid' => [
- 'balance' => 'hodor',
- 'feral' => 'hodor',
- 'guardian' => 'hodor',
- 'restoration' => 'hodor',
- ],
- 'evoker' => [
- 'devastation' => 'hodor',
- 'preservation' => 'hodor',
- ],
- 'hunter' => [
- 'beast_mastery' => 'hodor',
- 'marksman' => 'hodor',
- 'survival' => 'hodor',
- ],
- 'mage' => [
- 'arcane' => 'hodor',
- 'fire' => 'hodor',
- 'frost' => 'hodor',
- ],
- 'monk' => [
- 'brewmaster' => 'hodor',
- 'mistweaver' => 'hodor',
- 'windwalker' => 'hodor',
- ],
- 'paladin' => [
- 'holy' => 'hodor',
- 'protection' => 'hodor',
- 'retribution' => 'hodor',
- ],
- 'priest' => [
- 'discipline' => 'hodor',
- 'holy' => 'hodor',
- 'shadow' => 'hodor',
- ],
- 'rogue' => [
- 'assassination' => 'hodor',
- 'outlaw' => 'hodor',
- 'subtlety' => 'hodor',
- ],
- 'shaman' => [
- 'elemental' => 'hodor',
- 'enhancement' => 'hodor',
- 'restoration' => 'hodor',
- ],
- 'warlock' => [
- 'affliction' => 'hodor',
- 'demonology' => 'hodor',
- 'destruction' => 'hodor',
- ],
- 'warrior' => [
- 'arms' => 'hodor',
- 'fury' => 'hodor',
- 'protection' => 'hodor',
- ],
-];
diff --git a/lang/ho-HO/spells.php b/lang/ho-HO/spells.php
deleted file mode 100644
index 6d25a5bf90..0000000000
--- a/lang/ho-HO/spells.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'hodor',
- 'death_knight' => 'hodor',
- 'demon_hunter' => 'hodor',
- 'druid' => 'hodor',
- 'evoker' => 'hodor',
- 'hunter' => 'hodor',
- 'mage' => 'hodor',
- 'monk' => 'hodor',
- 'paladin' => 'hodor',
- 'priest' => 'hodor',
- 'rogue' => 'hodor',
- 'shaman' => 'hodor',
- 'warlock' => 'hodor',
- 'warrior' => 'hodor',
-];
diff --git a/lang/ho-HO/teamroles.php b/lang/ho-HO/teamroles.php
deleted file mode 100644
index bc01b138d0..0000000000
--- a/lang/ho-HO/teamroles.php
+++ /dev/null
@@ -1,8 +0,0 @@
- 'hodor',
- 'collaborator' => 'hodor',
- 'moderator' => 'hodor',
- 'admin' => 'hodor',
-];
diff --git a/lang/ho-HO/validation.php b/lang/ho-HO/validation.php
deleted file mode 100644
index 8074c3019f..0000000000
--- a/lang/ho-HO/validation.php
+++ /dev/null
@@ -1,119 +0,0 @@
- 'hodor',
- 'active_url' => 'hodor',
- 'after' => 'hodor',
- 'after_or_equal' => 'hodor',
- 'alpha' => 'hodor',
- 'alpha_dash' => 'hodor',
- 'alpha_num' => 'hodor',
- 'array' => 'hodor',
- 'before' => 'hodor',
- 'before_or_equal' => 'hodor',
- 'between' => [
- 'numeric' => 'hodor',
- 'file' => 'hodor',
- 'string' => 'hodor',
- 'array' => 'hodor',
- ],
- 'boolean' => 'hodor',
- 'confirmed' => 'hodor',
- 'date' => 'hodor',
- 'date_format' => 'hodor',
- 'different' => 'hodor',
- 'digits' => 'hodor',
- 'digits_between' => 'hodor',
- 'dimensions' => 'hodor',
- 'distinct' => 'hodor',
- 'email' => 'hodor',
- 'exists' => 'hodor',
- 'file' => 'hodor',
- 'filled' => 'hodor',
- 'image' => 'hodor',
- 'in' => 'hodor',
- 'in_array' => 'hodor',
- 'integer' => 'hodor',
- 'ip' => 'hodor',
- 'json' => 'hodor',
- 'max' => [
- 'numeric' => 'hodor',
- 'file' => 'hodor',
- 'string' => 'hodor',
- 'array' => 'hodor',
- ],
- 'mimes' => 'hodor',
- 'mimetypes' => 'hodor',
- 'min' => [
- 'numeric' => 'hodor',
- 'file' => 'hodor',
- 'string' => 'hodor',
- 'array' => 'hodor',
- ],
- 'not_in' => 'hodor',
- 'numeric' => 'hodor',
- 'present' => 'hodor',
- 'regex' => 'hodor',
- 'required' => 'hodor',
- 'required_if' => 'hodor',
- 'required_unless' => 'hodor',
- 'required_with' => 'hodor',
- 'required_with_all' => 'hodor',
- 'required_without' => 'hodor',
- 'required_without_all' => 'hodor',
- 'same' => 'hodor',
- 'size' => [
- 'numeric' => 'hodor',
- 'file' => 'hodor',
- 'string' => 'hodor',
- 'array' => 'hodor',
- ],
- 'string' => 'hodor',
- 'timezone' => 'hodor',
- 'unique' => 'hodor',
- 'uploaded' => 'hodor',
- 'url' => 'hodor',
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => [
- 'attribute-name' => [
- 'rule-name' => 'hodor',
- ],
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => [],
-
-];
diff --git a/lang/ho_HO/affixes.php b/lang/ho_HO/affixes.php
new file mode 100644
index 0000000000..53e7e97eb3
--- /dev/null
+++ b/lang/ho_HO/affixes.php
@@ -0,0 +1,131 @@
+ [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'bursting' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'explosive' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'fortified' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'grievous' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'infested' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'necrotic' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'quaking' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'raging' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'relentless' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'sanguine' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'skittish' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'teeming' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'tyrannical' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'volcanic' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'reaping' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'beguiling' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'awakened' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'inspiring' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'spiteful' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'storming' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'prideful' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'tormented' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'unknown' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'infernal' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'encrypted' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'shrouded' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'thundering' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'afflicted' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'entangling' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'incorporeal' => [
+ 'name' => 'hodor',
+ 'description' => 'hodor',
+ ],
+ 'seasonal_index_preset' => 'hodor',
+
+];
diff --git a/lang/ho_HO/auth.php b/lang/ho_HO/auth.php
new file mode 100644
index 0000000000..b1bba62cfc
--- /dev/null
+++ b/lang/ho_HO/auth.php
@@ -0,0 +1,8 @@
+ 'hodor',
+ 'throttle' => 'hodor',
+
+];
diff --git a/lang/ho-HO/breadcrumbs.php b/lang/ho_HO/breadcrumbs.php
similarity index 51%
rename from lang/ho-HO/breadcrumbs.php
rename to lang/ho_HO/breadcrumbs.php
index 4a7c9624bc..6ac1601acc 100644
--- a/lang/ho-HO/breadcrumbs.php
+++ b/lang/ho_HO/breadcrumbs.php
@@ -1,113 +1,99 @@
[
- 'keystone_guru' => 'hodor',
- 'affixes' => 'hodor',
- 'changelog' => 'hodor',
- 'routes' => 'hodor',
+ 'keystone_guru' => 'hodor',
+ 'affixes' => 'hodor',
+ 'changelog' => 'hodor',
+ 'routes' => 'hodor',
'routes_expansion' => 'hodor',
-
'dungeon' => [
'explore' => 'hodor',
],
-
'dungeonroute' => [
'new' => 'hodor',
],
-
'dungeonroutes' => [
- 'search' => 'hodor',
- 'popular' => 'hodor',
+ 'search' => 'hodor',
+ 'popular' => 'hodor',
'next_week_affixes' => 'hodor',
'this_week_affixes' => 'hodor',
- 'new' => 'hodor',
-
+ 'new' => 'hodor',
'routes_season' => 'hodor',
- 'season' => [
- 'popular' => 'hodor',
+ 'season' => [
+ 'popular' => 'hodor',
'next_week_affixes' => 'hodor',
'this_week_affixes' => 'hodor',
- 'new' => 'hodor',
+ 'new' => 'hodor',
],
-
'discoverdungeon' => [
- 'popular' => 'hodor',
+ 'popular' => 'hodor',
'next_week_affixes' => 'hodor',
'this_week_affixes' => 'hodor',
- 'new' => 'hodor',
+ 'new' => 'hodor',
],
],
-
'my_profile' => 'hodor',
- 'my_routes' => 'hodor',
- 'my_tags' => 'hodor',
- 'my_teams' => 'hodor',
- 'overview' => 'hodor',
- 'new_team' => 'hodor',
- 'edit_team' => 'hodor',
- 'join_team' => 'hodor',
-
+ 'my_routes' => 'hodor',
+ 'my_tags' => 'hodor',
+ 'my_teams' => 'hodor',
+ 'overview' => 'hodor',
+ 'new_team' => 'hodor',
+ 'edit_team' => 'hodor',
+ 'join_team' => 'hodor',
'admin' => [
- 'admin' => 'hodor',
- 'tools' => [
- 'admin_tools' => 'hodor',
+ 'admin' => 'hodor',
+ 'tools' => [
+ 'admin_tools' => 'hodor',
'view_exported_dungeondata' => 'hodor',
- 'view_exported_releases' => 'hodor',
- 'select_exception' => 'hodor',
- 'mdt_diff' => 'hodor',
- 'view_mdt_string_contents' => 'hodor',
- 'import_npcs' => 'hodor',
+ 'view_exported_releases' => 'hodor',
+ 'select_exception' => 'hodor',
+ 'mdt_diff' => 'hodor',
+ 'view_mdt_string_contents' => 'hodor',
+ 'import_npcs' => 'hodor',
],
- 'releases' => 'hodor',
- 'new_release' => 'hodor',
+ 'releases' => 'hodor',
+ 'new_release' => 'hodor',
'edit_release' => 'hodor',
-
'expansions' => [
- 'expansions' => 'hodor',
- 'new_expansion' => 'hodor',
+ 'expansions' => 'hodor',
+ 'new_expansion' => 'hodor',
'edit_expansion' => 'hodor',
],
-
'dungeons' => [
- 'dungeons' => 'hodor',
- 'new_dungeon' => 'hodor',
+ 'dungeons' => 'hodor',
+ 'new_dungeon' => 'hodor',
'edit_dungeon' => 'hodor',
],
-
'floors' => [
- 'new_floor' => 'hodor',
+ 'new_floor' => 'hodor',
'edit_floor' => 'hodor',
],
-
'dungeonspeedrunrequirednpc' => [
'new_dungeonspeedrunrequirednpc10man' => 'hodor',
'new_dungeonspeedrunrequirednpc25man' => 'hodor',
],
-
'npcs' => [
- 'npcs' => 'hodor',
- 'new_npc' => 'hodor',
+ 'npcs' => 'hodor',
+ 'new_npc' => 'hodor',
'edit_npc' => 'hodor',
],
-
'npcenemyforces' => [
'edit_npc_enemy_forces' => 'hodor',
],
-
'spells' => [
- 'spells' => 'hodor',
- 'new_spell' => 'hodor',
+ 'spells' => 'hodor',
+ 'new_spell' => 'hodor',
'edit_spell' => 'hodor',
],
-
'users' => [
'users' => 'hodor',
],
-
'user_reports' => [
'user_reports' => 'hodor',
],
],
],
+
];
diff --git a/lang/ho_HO/classes.php b/lang/ho_HO/classes.php
new file mode 100644
index 0000000000..5ce084e9f4
--- /dev/null
+++ b/lang/ho_HO/classes.php
@@ -0,0 +1,19 @@
+ 'hodor',
+ 'demon_hunter' => 'hodor',
+ 'druid' => 'hodor',
+ 'evoker' => 'hodor',
+ 'hunter' => 'hodor',
+ 'mage' => 'hodor',
+ 'monk' => 'hodor',
+ 'paladin' => 'hodor',
+ 'priest' => 'hodor',
+ 'rogue' => 'hodor',
+ 'shaman' => 'hodor',
+ 'warlock' => 'hodor',
+ 'warrior' => 'hodor',
+
+];
diff --git a/lang/ho_HO/controller.php b/lang/ho_HO/controller.php
new file mode 100644
index 0000000000..ad3b77cc42
--- /dev/null
+++ b/lang/ho_HO/controller.php
@@ -0,0 +1,204 @@
+ [
+ 'error' => [
+ 'mdt_string_parsing_failed' => 'hodor',
+ 'mdt_string_format_not_recognized' => 'hodor',
+ 'invalid_mdt_string' => 'hodor',
+ 'invalid_mdt_string_exception' => 'hodor',
+ 'mdt_importer_not_configured' => 'hodor',
+ 'mdt_unable_to_find_npc_for_id' => 'hodor',
+ 'mdt_mismatched_health' => 'hodor',
+ 'mdt_mismatched_enemy_forces' => 'hodor',
+ 'mdt_mismatched_enemy_forces_teeming' => 'hodor',
+ 'mdt_mismatched_enemy_count' => 'hodor',
+ 'mdt_mismatched_enemy_type' => 'hodor',
+ 'mdt_invalid_category' => 'hodor',
+ ],
+ 'flash' => [
+ 'thumbnail_regenerate_result' => 'hodor',
+ 'caches_dropped_successfully' => 'hodor',
+ 'releases_exported' => 'hodor',
+ 'exception' => [
+ 'token_mismatch' => 'hodor',
+ 'internal_server_error' => 'hodor',
+ ],
+ ],
+ ],
+ 'apidungeonroute' => [
+ 'mdt_generate_error' => 'hodor',
+ 'mdt_generate_no_lua' => 'hodor',
+ ],
+ 'apiuserreport' => [
+ 'error' => [
+ 'unable_to_update_user_report' => 'hodor',
+ 'unable_to_save_report' => 'hodor',
+ ],
+ ],
+ 'brushline' => [
+ 'error' => [
+ 'unable_to_save_brushline' => 'hodor',
+ 'unable_to_delete_brushline' => 'hodor',
+ ],
+ ],
+ 'dungeon' => [
+ 'flash' => [
+ 'dungeon_created' => 'hodor',
+ 'dungeon_updated' => 'hodor',
+ ],
+ ],
+ 'dungeonroute' => [
+ 'unable_to_save' => 'hodor',
+ 'flash' => [
+ 'route_cloned_successfully' => 'hodor',
+ 'route_updated' => 'hodor',
+ 'route_created' => 'hodor',
+ ],
+ ],
+ 'dungeonroutediscover' => [
+ 'popular' => 'hodor',
+ 'this_week_affixes' => 'hodor',
+ 'next_week_affixes' => 'hodor',
+ 'new' => 'hodor',
+ 'season' => [
+ 'popular' => 'hodor',
+ 'this_week_affixes' => 'hodor',
+ 'next_week_affixes' => 'hodor',
+ 'new' => 'hodor',
+ ],
+ 'dungeon' => [
+ 'popular' => 'hodor',
+ 'this_week_affixes' => 'hodor',
+ 'next_week_affixes' => 'hodor',
+ 'new' => 'hodor',
+ ],
+ ],
+ 'dungeonspeedrunrequirednpcs' => [
+ 'no_linked_npc' => 'hodor',
+ 'flash' => [
+ 'npc_added_successfully' => 'hodor',
+ 'npc_deleted_successfully' => 'hodor',
+ ],
+ ],
+ 'expansion' => [
+ 'flash' => [
+ 'unable_to_save_expansion' => 'hodor',
+ 'expansion_updated' => 'hodor',
+ 'expansion_created' => 'hodor',
+ ],
+ ],
+ 'generic' => [
+ 'error' => [
+ 'floor_not_found_in_dungeon' => 'hodor',
+ 'not_found' => 'hodor',
+ ],
+ ],
+ 'oauthlogin' => [
+ 'flash' => [
+ 'registered_successfully' => 'hodor',
+ 'user_exists' => 'hodor',
+ 'email_exists' => 'hodor',
+ 'permission_denied' => 'hodor',
+ ],
+ ],
+ 'register' => [
+ 'flash' => [
+ 'registered_successfully' => 'hodor',
+ ],
+ 'legal_agreed_required' => 'hodor',
+ 'legal_agreed_accepted' => 'hodor',
+ ],
+ 'release' => [
+ 'error' => [
+ 'unable_to_save_release' => 'hodor',
+ ],
+ 'flash' => [
+ 'release_updated' => 'hodor',
+ 'release_created' => 'hodor',
+ 'github_exception' => 'hodor',
+ ],
+ ],
+ 'mappingversion' => [
+ 'created_successfully' => 'hodor',
+ 'deleted_successfully' => 'hodor',
+ ],
+ 'mdtimport' => [
+ 'unknown_dungeon' => 'hodor',
+ 'error' => [
+ 'mdt_string_parsing_failed' => 'hodor',
+ 'mdt_string_format_not_recognized' => 'hodor',
+ 'invalid_mdt_string_exception' => 'hodor',
+ 'invalid_mdt_string' => 'hodor',
+ 'mdt_importer_not_configured_properly' => 'hodor',
+ 'cannot_create_route_must_be_logged_in' => 'hodor',
+ ],
+ ],
+ 'path' => [
+ 'error' => [
+ 'unable_to_save_path' => 'hodor',
+ 'unable_to_delete_path' => 'hodor',
+ ],
+ ],
+ 'patreon' => [
+ 'flash' => [
+ 'unlink_successful' => 'hodor',
+ 'link_successful' => 'hodor',
+ 'patreon_session_expired' => 'hodor',
+ 'session_expired' => 'hodor',
+ 'patreon_error_occurred' => 'hodor',
+ 'internal_error_occurred' => 'hodor',
+ ],
+ ],
+ 'profile' => [
+ 'flash' => [
+ 'email_already_in_use' => 'hodor',
+ 'username_already_in_use' => 'hodor',
+ 'profile_updated' => 'hodor',
+ 'unexpected_error_when_saving' => 'hodor',
+ 'privacy_settings_updated' => 'hodor',
+ 'password_changed' => 'hodor',
+ 'new_password_equals_old_password' => 'hodor',
+ 'new_passwords_do_not_match' => 'hodor',
+ 'current_password_is_incorrect' => 'hodor',
+ 'tag_created_successfully' => 'hodor',
+ 'tag_already_exists' => 'hodor',
+ 'admins_cannot_delete_themselves' => 'hodor',
+ 'account_deleted_successfully' => 'hodor',
+ 'error_deleting_account' => 'hodor',
+ ],
+ ],
+ 'spell' => [
+ 'error' => [
+ 'unable_to_save_spell' => 'hodor',
+ ],
+ 'flash' => [
+ 'spell_updated' => 'hodor',
+ 'spell_created' => 'hodor',
+ ],
+ ],
+ 'team' => [
+ 'flash' => [
+ 'team_updated' => 'hodor',
+ 'team_created' => 'hodor',
+ 'unable_to_find_team_for_invite_code' => 'hodor',
+ 'invite_accept_success' => 'hodor',
+ 'tag_created_successfully' => 'hodor',
+ 'tag_already_exists' => 'hodor',
+ ],
+ ],
+ 'user' => [
+ 'flash' => [
+ 'user_is_now_an_admin' => 'hodor',
+ 'user_is_no_longer_an_admin' => 'hodor',
+ 'user_is_now_a_user' => 'hodor',
+ 'account_deleted_successfully' => 'hodor',
+ 'account_deletion_error' => 'hodor',
+ 'user_is_not_a_patron' => 'hodor',
+ 'all_benefits_granted_successfully' => 'hodor',
+ 'error_granting_all_benefits' => 'hodor',
+ ],
+ ],
+
+];
diff --git a/lang/ho_HO/dungeons.php b/lang/ho_HO/dungeons.php
new file mode 100644
index 0000000000..ab48a9aca2
--- /dev/null
+++ b/lang/ho_HO/dungeons.php
@@ -0,0 +1,835 @@
+ [
+ 1 => 'hodor',
+ 2 => 'hodor',
+ ],
+ 'classic' => [
+ 'blackfathom_deeps' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_pool_of_ask_ar' => 'hodor',
+ 'moonshrine_sanctum' => 'hodor',
+ 'the_forgotten_pool' => 'hodor',
+ ],
+ ],
+ 'blackrock_depths' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'detention_block' => 'hodor',
+ 'shadowforge_city' => 'hodor',
+ ],
+ ],
+ 'deadmines' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_deadmines' => 'hodor',
+ 'ironclad_cove' => 'hodor',
+ ],
+ ],
+ 'dire_maul_west' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'capital_gardens' => 'hodor',
+ 'court_of_the_highborne' => 'hodor',
+ 'prison_of_immol_thar' => 'hodor',
+ ],
+ ],
+ 'dire_maul_north' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'gordok_commons' => 'hodor',
+ ],
+ ],
+ 'dire_maul_east' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'warpwood_quarter' => 'hodor',
+ 'the_shrine_of_eldretharr' => 'hodor',
+ ],
+ ],
+ 'gnomeregan' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_hall_of_gears' => 'hodor',
+ 'the_dormitory' => 'hodor',
+ 'launch_bay' => 'hodor',
+ 'tinkers_court' => 'hodor',
+ ],
+ ],
+ 'gnomeregan_sod' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_hall_of_gears' => 'hodor',
+ 'the_dormitory' => 'hodor',
+ 'launch_bay' => 'hodor',
+ 'tinkers_court' => 'hodor',
+ ],
+ ],
+ 'lower_blackrock_spire' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'tazz_alor' => 'hodor',
+ 'skitterweb_tunnels' => 'hodor',
+ 'hordemar_city' => 'hodor',
+ 'hall_of_blackhand' => 'hodor',
+ 'halycons_lair' => 'hodor',
+ 'chamber_of_battle' => 'hodor',
+ ],
+ ],
+ 'maraudon' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'caverns_of_maraudon' => 'hodor',
+ 'zaetars_grave' => 'hodor',
+ ],
+ ],
+ 'ragefire_chasm' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'ragefire_chasm' => 'hodor',
+ ],
+ ],
+ 'razorfen_downs' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'razorfen_downs' => 'hodor',
+ ],
+ ],
+ 'razorfen_kraul' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'razorfen_kraul' => 'hodor',
+ ],
+ ],
+ 'scarlet_monastery_armory' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'armory' => 'hodor',
+ ],
+ ],
+ 'scarlet_monastery_cathedral' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'cathedral' => 'hodor',
+ ],
+ ],
+ 'scarlet_monastery_graveyard' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'graveyard' => 'hodor',
+ ],
+ ],
+ 'scarlet_monastery_library' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'library' => 'hodor',
+ ],
+ ],
+ 'scholomance' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_reliquary' => 'hodor',
+ 'chamber_of_summoning' => 'hodor',
+ 'the_upper_study' => 'hodor',
+ 'headmasters_story' => 'hodor',
+ ],
+ ],
+ 'shadowfang_keep' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_courtyard' => 'hodor',
+ 'dining_hall' => 'hodor',
+ 'the_vacant_den' => 'hodor',
+ 'lower_observatory' => 'hodor',
+ 'upper_observatory' => 'hodor',
+ 'lord_godfreys_chamber' => 'hodor',
+ 'the_wall_walk' => 'hodor',
+ ],
+ ],
+ 'stratholme' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'crusaders_square' => 'hodor',
+ 'the_gauntlet' => 'hodor',
+ ],
+ ],
+ 'the_stockade' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_stockade' => 'hodor',
+ ],
+ ],
+ 'the_temple_of_atal_hakkar' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_pit_of_refuse' => 'hodor',
+ 'hall_of_serpents' => 'hodor',
+ 'entrance' => 'hodor',
+ 'the_temple_of_atal_hakkar' => 'hodor',
+ 'hall_of_the_cursed' => 'hodor',
+ ],
+ ],
+ 'uldaman' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'hall_of_the_keepers' => 'hodor',
+ 'khaz_goroths_seat' => 'hodor',
+ ],
+ ],
+ 'upper_blackrock_spire' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'dragonspire_hall' => 'hodor',
+ 'the_rookery' => 'hodor',
+ 'hall_of_blackhand' => 'hodor',
+ ],
+ ],
+ 'wailing_caverns' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'wailing_caverns' => 'hodor',
+ ],
+ ],
+ 'zul_farrak' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'zul_farrak' => 'hodor',
+ ],
+ ],
+ ],
+ 'wotlk' => [
+ 'ahn_kahet_the_old_kingdom' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'ahn_kahet_the_old_kingdom' => 'hodor',
+ ],
+ ],
+ 'azjol_nerub' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_brood_pit' => 'hodor',
+ 'hadronoxs_lair' => 'hodor',
+ 'the_gilded_gate' => 'hodor',
+ ],
+ ],
+ 'drak_tharon_keep' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_vestibules_of_drak_tharon' => 'hodor',
+ 'drak_tharon_overlook' => 'hodor',
+ ],
+ ],
+ 'gundrak' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'gundrak' => 'hodor',
+ ],
+ ],
+ 'halls_of_lightning' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'unyielding_garrison' => 'hodor',
+ 'walk_of_the_makers' => 'hodor',
+ ],
+ ],
+ 'halls_of_reflection' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'halls_of_reflection' => 'hodor',
+ ],
+ ],
+ 'halls_of_stone' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'halls_of_stone' => 'hodor',
+ ],
+ ],
+ 'pit_of_saron' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'pit_of_saron' => 'hodor',
+ ],
+ ],
+ 'the_culling_of_stratholme' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_culling_of_stratholme' => 'hodor',
+ 'stratholme_city' => 'hodor',
+ ],
+ ],
+ 'the_forge_of_souls' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_forge_of_souls' => 'hodor',
+ ],
+ ],
+ 'the_nexus' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_nexus' => 'hodor',
+ ],
+ ],
+ 'the_oculus' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_oculus' => 'hodor',
+ 'band_of_variance' => 'hodor',
+ 'band_of_acceleration' => 'hodor',
+ 'band_of_transmutation' => 'hodor',
+ 'band_of_alignment' => 'hodor',
+ ],
+ ],
+ 'the_violet_hold' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_violet_hold' => 'hodor',
+ ],
+ ],
+ 'trial_of_the_champion' => [
+ 'name' => 'hodor',
+ ],
+ 'utgarde_keep' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'njorndir_preparation' => 'hodor',
+ 'dragonflayer_ascent' => 'hodor',
+ 'tyrs_terrace' => 'hodor',
+ ],
+ ],
+ 'utgarde_pinnacle' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'lower_pinnacle' => 'hodor',
+ 'upper_pinnacle' => 'hodor',
+ ],
+ ],
+ 'icecrown_citadel' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_lower_citadel' => 'hodor',
+ 'the_rampart_of_skulls' => 'hodor',
+ 'deathbringers_rise' => 'hodor',
+ 'the_frost_queens_lair' => 'hodor',
+ 'the_upper_reach' => 'hodor',
+ 'royal_quarters' => 'hodor',
+ 'the_frozen_throne' => 'hodor',
+ 'frostmourne' => 'hodor',
+ ],
+ ],
+ 'onyxias_lair' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'onyxias_lair' => 'hodor',
+ ],
+ ],
+ 'naxxramas' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_construct_quarter' => 'hodor',
+ 'the_arachnid_quarter' => 'hodor',
+ 'the_military_quarter' => 'hodor',
+ 'the_plague_quarter' => 'hodor',
+ 'the_lower_necropolis' => 'hodor',
+ 'the_upper_necropolis' => 'hodor',
+ ],
+ ],
+ 'crusaders_coliseum_trial_of_the_crusader' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_argent_coliseum' => 'hodor',
+ 'the_icy_depths' => 'hodor',
+ ],
+ ],
+ 'the_eye_of_eternity' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_eye_of_eternity' => 'hodor',
+ ],
+ ],
+ 'the_obsidian_sanctum' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_obsidian_sanctum' => 'hodor',
+ ],
+ ],
+ 'the_ruby_sanctum' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_ruby_sanctum' => 'hodor',
+ ],
+ ],
+ 'ulduar' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'ulduar' => 'hodor',
+ 'the_antechamber_of_ulduar' => 'hodor',
+ 'the_inner_sanctum_of_ulduar' => 'hodor',
+ 'the_prison_of_yogg_saron' => 'hodor',
+ 'the_spark_of_imagination' => 'hodor',
+ 'the_minds_eye' => 'hodor',
+ ],
+ ],
+ 'vault_of_archavon' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'vault_of_archavon' => 'hodor',
+ ],
+ ],
+ ],
+ 'cata' => [
+ 'the_vortex_pinnacle' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'cyclone_summit' => 'hodor',
+ ],
+ ],
+ 'throne_of_the_tides' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'abyssal_halls' => 'hodor',
+ 'throne_of_neptulon' => 'hodor',
+ 'throne_of_the_tides' => 'hodor',
+ ],
+ ],
+ ],
+ 'mop' => [
+ 'temple_of_the_jade_serpent' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'temple_of_the_jade_serpent' => 'hodor',
+ 'scrollkeepers_sanctum' => 'hodor',
+ ],
+ ],
+ ],
+ 'wod' => [
+ 'auchindoun' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'auchindoun' => 'hodor',
+ ],
+ ],
+ 'bloodmaul_slag_mines' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'bloodmaul_slag_mines' => 'hodor',
+ ],
+ ],
+ 'iron_docks' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'iron_docks' => 'hodor',
+ ],
+ ],
+ 'grimrail_depot' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'rafters' => 'hodor',
+ 'train_depot' => 'hodor',
+ 'rear_train_cars' => 'hodor',
+ 'forward_train_cars' => 'hodor',
+ ],
+ ],
+ 'shadowmoon_burial_grounds' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'crypt_of_the_ancients' => 'hodor',
+ 'altar_of_shadow' => 'hodor',
+ 'edge_of_reality' => 'hodor',
+ ],
+ ],
+ 'the_everbloom' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_everbloom' => 'hodor',
+ 'the_overlook' => 'hodor',
+ ],
+ ],
+ ],
+ 'legion' => [
+ 'arcway' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'arcway' => 'hodor',
+ ],
+ ],
+ 'black_rook_hold' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_ravenscrypt' => 'hodor',
+ 'the_grand_hall' => 'hodor',
+ 'ravenshold' => 'hodor',
+ 'the_rooks_roost' => 'hodor',
+ 'lord_ravencrests_chamber' => 'hodor',
+ 'the_ravens_crown' => 'hodor',
+ 'black_rook_hold' => 'hodor',
+ ],
+ ],
+ 'court_of_stars' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'court_of_stars' => 'hodor',
+ ],
+ ],
+ 'darkheart_thicket' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'darkheart_thicket' => 'hodor',
+ ],
+ ],
+ 'eye_of_azshara' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'eye_of_azshara' => 'hodor',
+ ],
+ ],
+ 'halls_of_valor' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_high_gate' => 'hodor',
+ 'fields_of_the_eternal_hunt' => 'hodor',
+ 'halls_of_valor' => 'hodor',
+ ],
+ ],
+ 'maw_of_souls' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'hellmouth_cliffs' => 'hodor',
+ 'the_hold' => 'hodor',
+ 'the_naglfar' => 'hodor',
+ ],
+ ],
+ 'neltharions_lair' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'neltharions_lair' => 'hodor',
+ ],
+ ],
+ 'vault_of_the_wardens' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_wardens_court' => 'hodor',
+ 'vault_of_the_wardens' => 'hodor',
+ 'vault_of_the_betrayer' => 'hodor',
+ ],
+ ],
+ 'lower_karazhan' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'servants_quarters' => 'hodor',
+ 'upper_livery_stables' => 'hodor',
+ 'the_banquet_hall' => 'hodor',
+ 'the_guest_chambers' => 'hodor',
+ 'opera_hall_balcony' => 'hodor',
+ 'masters_terrace' => 'hodor',
+ ],
+ ],
+ 'upper_karazhan' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'lower_broken_stair' => 'hodor',
+ 'upper_broken_stair' => 'hodor',
+ 'the_menagerie' => 'hodor',
+ 'guardians_library' => 'hodor',
+ 'library_floor' => 'hodor',
+ 'upper_library' => 'hodor',
+ 'gamesmans_hall' => 'hodor',
+ 'netherspace' => 'hodor',
+ ],
+ ],
+ 'cathedral_of_eternal_night' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'hall_of_the_moon' => 'hodor',
+ 'twilight_groove' => 'hodor',
+ 'the_emerald_archives' => 'hodor',
+ 'path_of_illumination' => 'hodor',
+ 'sacristy_of_elune' => 'hodor',
+ ],
+ ],
+ 'the_seat_of_the_triumvirate' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_seat_of_the_triumvirate' => 'hodor',
+ ],
+ ],
+ ],
+ 'bfa' => [
+ 'atal_dazar' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'atal_dazar' => 'hodor',
+ 'sacrificial_pits' => 'hodor',
+ ],
+ ],
+ 'freehold' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'freehold' => 'hodor',
+ ],
+ ],
+ 'kings_rest' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'kings_rest' => 'hodor',
+ ],
+ ],
+ 'shrine_of_the_storm' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'shrine_of_the_storm' => 'hodor',
+ 'storms_end' => 'hodor',
+ ],
+ ],
+ 'siege_of_boralus' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'siege_of_boralus' => 'hodor',
+ ],
+ ],
+ 'temple_of_sethraliss' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'temple_of_sethraliss' => 'hodor',
+ 'atrium_of_the_wardens' => 'hodor',
+ ],
+ ],
+ 'the_motherlode' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_motherlode' => 'hodor',
+ ],
+ ],
+ 'the_underrot' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_underrot' => 'hodor',
+ 'ruins_descent' => 'hodor',
+ ],
+ ],
+ 'tol_dagor' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'tol_dagor' => 'hodor',
+ 'the_drain' => 'hodor',
+ 'the_brig' => 'hodor',
+ 'detention_block' => 'hodor',
+ 'officer_quarters' => 'hodor',
+ 'overseers_redoubt' => 'hodor',
+ 'overseers_summit' => 'hodor',
+ ],
+ ],
+ 'waycrest_manor' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_grand_foyer' => 'hodor',
+ 'upstairs' => 'hodor',
+ 'the_cellar' => 'hodor',
+ 'catacombs' => 'hodor',
+ 'the_rupture' => 'hodor',
+ 'waycrest_manor' => 'hodor',
+ ],
+ ],
+ 'mechagon_junkyard' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'mechagon_island' => 'hodor',
+ 'tunnels' => 'hodor',
+ ],
+ ],
+ 'mechagon_workshop' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_robodrome' => 'hodor',
+ 'waste_pipes' => 'hodor',
+ 'the_under_junk' => 'hodor',
+ 'mechagon_city' => 'hodor',
+ ],
+ ],
+ 'orgrimmar_horrific_vision' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'orgrimmar_horrific_vision' => 'hodor',
+ 'the_drag' => 'hodor',
+ ],
+ ],
+ 'stormwind_horrific_vision' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'stormwind_horrific_vision' => 'hodor',
+ ],
+ ],
+ ],
+ 'shadowlands' => [
+ 'de_other_side' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'de_other_side' => 'hodor',
+ 'mechagon' => 'hodor',
+ 'zul_gurub' => 'hodor',
+ 'ardenweald' => 'hodor',
+ ],
+ ],
+ 'halls_of_atonement' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'halls_of_atonement' => 'hodor',
+ 'the_nave_of_pain' => 'hodor',
+ 'the_sanctuary_of_souls' => 'hodor',
+ ],
+ ],
+ 'mists_of_tirna_scithe' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'mists_of_tirna_scithe' => 'hodor',
+ ],
+ ],
+ 'plaguefall' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'plaguefall' => 'hodor',
+ 'the_festering_sanctum' => 'hodor',
+ ],
+ ],
+ 'sanguine_depths' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'depths_of_despair' => 'hodor',
+ 'amphitheater_of_sorrow' => 'hodor',
+ ],
+ ],
+ 'spires_of_ascension' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'honors_ascent' => 'hodor',
+ 'gardens_of_repose' => 'hodor',
+ 'font_of_fealty' => 'hodor',
+ 'seat_of_the_archon' => 'hodor',
+ ],
+ ],
+ 'the_necrotic_wake' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_necrotic_wake' => 'hodor',
+ 'stitchwerks' => 'hodor',
+ 'zolramus' => 'hodor',
+ ],
+ ],
+ 'theater_of_pain' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'theater_of_pain' => 'hodor',
+ 'chamber_of_conquest' => 'hodor',
+ 'altars_of_agony' => 'hodor',
+ 'lower_barrow_of_carnage' => 'hodor',
+ 'upper_barrow_of_carnage' => 'hodor',
+ ],
+ ],
+ 'tazavesh_streets_of_wonder' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_veiled_market' => 'hodor',
+ 'the_grand_menagerie' => 'hodor',
+ 'the_post' => 'hodor',
+ 'myzas_oasis' => 'hodor',
+ ],
+ ],
+ 'tazavesh_so_leahs_gambit' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'stormheim' => 'hodor',
+ 'aggramars_vault' => 'hodor',
+ 'boralus_harbor' => 'hodor',
+ 'the_opulent_nexus' => 'hodor',
+ ],
+ ],
+ ],
+ 'dragonflight' => [
+ 'algeth_ar_academy' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'algeth_ar_academy' => 'hodor',
+ 'the_pitch' => 'hodor',
+ 'the_headteachers_enclave' => 'hodor',
+ ],
+ ],
+ 'brackenhide_hollow' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'brackenhide_hollow' => 'hodor',
+ 'den_of_decay' => 'hodor',
+ ],
+ ],
+ 'halls_of_infusion' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'infusers_rotunda' => 'hodor',
+ 'infusion_chamber' => 'hodor',
+ ],
+ ],
+ 'neltharus' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_burning_cauldron' => 'hodor',
+ 'chamber_of_flames' => 'hodor',
+ ],
+ ],
+ 'ruby_life_pools' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'infusion_chambers' => 'hodor',
+ 'ruby_overlook' => 'hodor',
+ ],
+ ],
+ 'the_azure_vault' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_arcane_conservatory' => 'hodor',
+ 'crystal_chambers' => 'hodor',
+ 'mausoleum_of_legends' => 'hodor',
+ 'the_infinity_seal' => 'hodor',
+ 'sindragosas_lament' => 'hodor',
+ ],
+ ],
+ 'the_nokhud_offensive' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'the_nokhud_offensive' => 'hodor',
+ ],
+ ],
+ 'uldaman_legacy_of_tyr' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'hall_of_the_keepers' => 'hodor',
+ 'the_vault_of_tyr' => 'hodor',
+ ],
+ ],
+ 'dawn_of_the_infinite_galakronds_fall' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'galakronds_fall' => 'hodor',
+ 'sanctum_of_chronology' => 'hodor',
+ 'millennias_threshold' => 'hodor',
+ 'locus_of_eternity' => 'hodor',
+ 'spoke_of_endless_winter' => 'hodor',
+ 'crossroads_of_fate' => 'hodor',
+ ],
+ ],
+ 'dawn_of_the_infinite_murozonds_rise' => [
+ 'name' => 'hodor',
+ 'floors' => [
+ 'murozonds_rise' => 'hodor',
+ 'sanctum_of_chronology' => 'hodor',
+ 'millennias_threshold' => 'hodor',
+ 'locus_of_eternity' => 'hodor',
+ 'crossroads_of_fate' => 'hodor',
+ 'infinite_conflux' => 'hodor',
+ 'twisting_approach' => 'hodor',
+ 'immemorial_battlefield' => 'hodor',
+ ],
+ ],
+ ],
+
+];
diff --git a/lang/ho_HO/exceptions.php b/lang/ho_HO/exceptions.php
new file mode 100644
index 0000000000..f14f1ec6a1
--- /dev/null
+++ b/lang/ho_HO/exceptions.php
@@ -0,0 +1,12 @@
+ [
+ 'api_model_not_found' => 'hodor',
+ 'api_route_not_found' => 'hodor',
+ 'internal_server_error' => 'hodor',
+ 'unauthenticated' => 'hodor',
+ ],
+
+];
diff --git a/lang/ho-HO/expansions.php b/lang/ho_HO/expansions.php
similarity index 59%
rename from lang/ho-HO/expansions.php
rename to lang/ho_HO/expansions.php
index 7f178a2cc4..1d3f1b7c52 100644
--- a/lang/ho-HO/expansions.php
+++ b/lang/ho_HO/expansions.php
@@ -1,34 +1,36 @@
[
+
+ 'classic' => [
'name' => 'hodor',
],
- 'tbc' => [
+ 'tbc' => [
'name' => 'hodor',
],
- 'wotlk' => [
+ 'wotlk' => [
'name' => 'hodor',
],
- 'cata' => [
+ 'cata' => [
'name' => 'hodor',
],
- 'mop' => [
+ 'mop' => [
'name' => 'hodor',
],
- 'wod' => [
+ 'wod' => [
'name' => 'hodor',
],
- 'legion' => [
+ 'legion' => [
'name' => 'hodor',
],
'battle_for_azeroth' => [
'name' => 'hodor',
],
- 'shadowlands' => [
+ 'shadowlands' => [
'name' => 'hodor',
],
- 'dragonflight' => [
+ 'dragonflight' => [
'name' => 'hodor',
],
+
];
diff --git a/lang/ho_HO/factions.php b/lang/ho_HO/factions.php
new file mode 100644
index 0000000000..c684c802aa
--- /dev/null
+++ b/lang/ho_HO/factions.php
@@ -0,0 +1,9 @@
+ 'hodor',
+ 'horde' => 'hodor',
+ 'alliance' => 'hodor',
+
+];
diff --git a/lang/ho-HO/gameserverregions.php b/lang/ho_HO/gameserverregions.php
similarity index 98%
rename from lang/ho-HO/gameserverregions.php
rename to lang/ho_HO/gameserverregions.php
index fb94c7a47e..5c6d20ae96 100644
--- a/lang/ho-HO/gameserverregions.php
+++ b/lang/ho_HO/gameserverregions.php
@@ -1,9 +1,11 @@
'hodor',
'eu' => 'hodor',
'cn' => 'hodor',
'tw' => 'hodor',
'kr' => 'hodor',
+
];
diff --git a/lang/ho-HO/gameversions.php b/lang/ho_HO/gameversions.php
similarity index 53%
rename from lang/ho-HO/gameversions.php
rename to lang/ho_HO/gameversions.php
index 9b378f3126..9afd038791 100644
--- a/lang/ho-HO/gameversions.php
+++ b/lang/ho_HO/gameversions.php
@@ -1,16 +1,18 @@
[
- 'name' => 'hodor',
+
+ 'retail' => [
+ 'name' => 'hodor',
'description' => 'hodor',
],
- 'wotlk' => [
- 'name' => 'hodor',
+ 'wotlk' => [
+ 'name' => 'hodor',
'description' => 'hodor',
],
'classic' => [
- 'name' => 'hodor',
+ 'name' => 'hodor',
'description' => 'hodor',
],
+
];
diff --git a/lang/ho_HO/js.php b/lang/ho_HO/js.php
new file mode 100644
index 0000000000..658cfbe481
--- /dev/null
+++ b/lang/ho_HO/js.php
@@ -0,0 +1,442 @@
+ 'hodor',
+ 'enemy_forces_label' => 'hodor',
+ 'enemy_display_type_label' => 'hodor',
+ 'mdt_enemy_mapping_label' => 'hodor',
+ 'base_health_label' => 'hodor',
+ 'no_npc_found_label' => 'hodor',
+ 'teeming_label' => 'hodor',
+ 'npc_label' => 'hodor',
+ 'connected_floor_label' => 'hodor',
+ 'admin_only_label' => 'hodor',
+ 'id_label' => 'hodor',
+ 'seasonal_type_label' => 'hodor',
+ 'seasonal_index_label' => 'hodor',
+ 'size_label' => 'hodor',
+ 'faction_label' => 'hodor',
+ 'npc_id_label' => 'hodor',
+ 'attached_to_pack_label' => 'hodor',
+ 'attached_to_patrol_label' => 'hodor',
+ 'enemy_id_label' => 'hodor',
+ 'visual_label' => 'hodor',
+ 'mdt_label' => 'hodor',
+ 'is_mdt_label' => 'hodor',
+ 'mdt_id_label' => 'hodor',
+ 'mdt_npc_id_label' => 'hodor',
+ 'preset_label' => 'hodor',
+ 'add_label' => 'hodor',
+ 'color_label' => 'hodor',
+ 'weight_label' => 'hodor',
+ 'mapobject_visibility_label' => 'hodor',
+ 'mapping_manipulation_tools_header_label' => 'hodor',
+ 'mapping_manipulation_tools_rotate_label' => 'hodor',
+ 'mapping_manipulation_tools_scale_x_label' => 'hodor',
+ 'mapping_manipulation_tools_scale_y_label' => 'hodor',
+ 'mapping_manipulation_tools_move_x_label' => 'hodor',
+ 'mapping_manipulation_tools_move_y_label' => 'hodor',
+ 'header_floor_selection_label' => 'hodor',
+ 'header_map_object_group_label' => 'hodor',
+ 'enemy_map_object_group_label' => 'hodor',
+ 'enemypatrol_map_object_group_label' => 'hodor',
+ 'enemypack_map_object_group_label' => 'hodor',
+ 'path_map_object_group_label' => 'hodor',
+ 'dungeonfloorswitchmarker_map_object_group_label' => 'hodor',
+ 'brushline_map_object_group_label' => 'hodor',
+ 'mapicon_map_object_group_label' => 'hodor',
+ 'killzone_map_object_group_label' => 'hodor',
+ 'killzonepath_map_object_group_label' => 'hodor',
+ 'floorunion_map_object_group_label' => 'hodor',
+ 'floorunionarea_map_object_group_label' => 'hodor',
+ 'mountablearea_map_object_group_label' => 'hodor',
+ 'publish_state_title_unpublished' => 'hodor',
+ 'publish_state_subtext_unpublished' => 'hodor',
+ 'publish_state_title_team' => 'hodor',
+ 'publish_state_subtext_team' => 'hodor',
+ 'publish_state_title_world' => 'hodor',
+ 'publish_state_subtext_world' => 'hodor',
+ 'publish_state_title_world_with_link' => 'hodor',
+ 'publish_state_subtext_world_with_link' => 'hodor',
+ 'publish_label' => 'hodor',
+ 'unpublish_label' => 'hodor',
+ 'add_remove_tag_label' => 'hodor',
+ 'clone_label' => 'hodor',
+ 'clone_to_profile_label' => 'hodor',
+ 'clone_to_team_label' => 'hodor',
+ 'migrate_to_encrypted_label' => 'hodor',
+ 'migrate_to_shrouded_label' => 'hodor',
+ 'delete_label' => 'hodor',
+ 'placeholder_new_tag_label' => 'hodor',
+ 'no_tags_assigned_label' => 'hodor',
+ 'current_tags_label' => 'hodor',
+ 'add_tag_with_enter_label' => 'hodor',
+ 'selected_label' => 'hodor',
+ 'affixes_label' => 'hodor',
+ 'attributes_label' => 'hodor',
+ 'setup_label' => 'hodor',
+ 'new_mapping_version_label' => 'hodor',
+ 'submit_label' => 'hodor',
+ 'select_category_label' => 'hodor',
+ 'pull_workbench_header_label' => 'hodor',
+ 'pull_workbench_add_kill_area_label' => 'hodor',
+ 'pull_workbench_remove_kill_area_label' => 'hodor',
+ 'pull_workbench_pull_description_label' => 'hodor',
+ 'kill_zone_has_boss_label' => 'hodor',
+ 'kill_zone_has_awakened_label' => 'hodor',
+ 'kill_zone_has_prideful_label' => 'hodor',
+ 'kill_zone_has_inspiring_label' => 'hodor',
+ 'kill_zone_has_shrouded_label' => 'hodor',
+ 'kill_zone_has_shrouded_zul_gamux_label' => 'hodor',
+ 'kill_zone_enemy_row_has_boss_label' => 'hodor',
+ 'kill_zone_enemy_row_has_awakened_label' => 'hodor',
+ 'kill_zone_enemy_row_has_prideful_label' => 'hodor',
+ 'kill_zone_enemy_row_has_inspiring_label' => 'hodor',
+ 'kill_zone_enemy_row_has_shrouded_label' => 'hodor',
+ 'kill_zone_enemy_row_has_dangerous_label' => 'hodor',
+ 'path' => 'hodor',
+ 'path_title' => 'hodor',
+ 'killzone' => 'hodor',
+ 'mapicon' => 'hodor',
+ 'mapicon_title' => 'hodor',
+ 'map_icon' => 'hodor',
+ 'brushline' => 'hodor',
+ 'brushline_title' => 'hodor',
+ 'pridefulenemy' => 'hodor',
+ 'pridefulenemy_title' => 'hodor',
+ 'pridefulenemy_disabled_title' => 'hodor',
+ 'pridefulenemy_disabled_no_shadowlands_title' => 'hodor',
+ 'edit' => 'hodor',
+ 'edit_title' => 'hodor',
+ 'delete' => 'hodor',
+ 'delete_title' => 'hodor',
+ 'finish' => 'hodor',
+ 'finish_drawing' => 'hodor',
+ 'enemypack' => 'hodor',
+ 'enemypack_title' => 'hodor',
+ 'enemy' => 'hodor',
+ 'enemy_title' => 'hodor',
+ 'enemypatrol' => 'hodor',
+ 'enemypatrol_title' => 'hodor',
+ 'dungeonfloorswitchmarker' => 'hodor',
+ 'dungeonfloorswitchmarker_title' => 'hodor',
+ 'mountablearea' => 'hodor',
+ 'mountablearea_title' => 'hodor',
+ 'floorunion' => 'hodor',
+ 'floorunion_title' => 'hodor',
+ 'floorunionarea' => 'hodor',
+ 'floorunionarea_title' => 'hodor',
+ 'draw_handler_route_tooltip_start' => 'hodor',
+ 'draw_handler_route_tooltip_cont' => 'hodor',
+ 'draw_handler_route_tooltip_end' => 'hodor',
+ 'draw_handler_brushline_tooltip_start' => 'hodor',
+ 'draw_handler_brushline_tooltip_cont' => 'hodor',
+ 'draw_handler_brushline_tooltip_end' => 'hodor',
+ 'title_raid_marker_no_selection' => 'hodor',
+ 'title_raid_marker_star' => 'hodor',
+ 'title_raid_marker_circle' => 'hodor',
+ 'title_raid_marker_diamond' => 'hodor',
+ 'title_raid_marker_triangle' => 'hodor',
+ 'title_raid_marker_moon' => 'hodor',
+ 'title_raid_marker_square' => 'hodor',
+ 'title_raid_marker_cross' => 'hodor',
+ 'title_raid_marker_skull' => 'hodor',
+ 'npc_type_label' => 'hodor',
+ 'npc_class_label' => 'hodor',
+ 'enemy_portrait_label' => 'hodor',
+ 'object' => [
+ 'deleted' => 'hodor',
+ ],
+ 'delete_all_pulls_successful' => 'hodor',
+ 'route_count_label' => 'hodor',
+ 'roles_label' => 'hodor',
+ 'registered_label' => 'hodor',
+ 'patreon_label' => 'hodor',
+ 'datatable_no_users_in_table' => 'hodor',
+ 'datatable_no_npcs_in_table' => 'hodor',
+ 'enemy_count_label' => 'hodor',
+ 'user_report_handled_success' => 'hodor',
+ 'dungeonroute_refresh_thumbnail_success' => 'hodor',
+ 'updated_patreon_benefits_successfully_label' => 'hodor',
+ 'mapping_version_readonly_label' => 'hodor',
+ 'mapping_version_upgrade_label' => 'hodor',
+ 'upgrade_label' => 'hodor',
+ 'classification_label' => 'hodor',
+ 'edit_label' => 'hodor',
+ 'make_user_label' => 'hodor',
+ 'make_admin_label' => 'hodor',
+ 'delete_user_label' => 'hodor',
+ 'grant_all_benefits_label' => 'hodor',
+ 'patreon_benefits_manually_granted_label' => 'hodor',
+ 'import_notes_label' => 'hodor',
+ 'import_errors_label' => 'hodor',
+ 'warnings_label' => 'hodor',
+ 'category_label' => 'hodor',
+ 'message_label' => 'hodor',
+ 'save_tag_success' => 'hodor',
+ 'delete_tag_success' => 'hodor',
+ 'settings_saved' => 'hodor',
+ 'pull_gradient_settings_saved' => 'hodor',
+ 'route_published_state_changed' => 'hodor',
+ 'datatable_no_routes_in_table' => 'hodor',
+ 'cannot_change_sharing_settings_not_all_required_enemies_killed' => 'hodor',
+ 'mapping_version_saved' => 'hodor',
+ 'vote' => 'hodor',
+ 'votes' => 'hodor',
+ 'route_delete_confirm' => 'hodor',
+ 'route_delete_successful' => 'hodor',
+ 'route_clone_successful' => 'hodor',
+ 'route_clone_select_team' => 'hodor',
+ 'route_migration_to_encrypted_confirm_warning' => 'hodor',
+ 'route_migration_to_shrouded_confirm_warning' => 'hodor',
+ 'route_migration_successful' => 'hodor',
+ 'sharing_label' => 'hodor',
+ 'route_table_published_state_unpublished' => 'hodor',
+ 'route_table_published_state_team' => 'hodor',
+ 'route_table_published_state_world' => 'hodor',
+ 'route_table_published_state_world_with_link' => 'hodor',
+ 'intro_sidebar' => 'hodor',
+ 'intro_sidebar_toggle' => 'hodor',
+ 'intro_visibility_tools' => 'hodor',
+ 'intro_map_enemy_visuals' => 'hodor',
+ 'intro_map_map_object_group_visibility_container' => 'hodor',
+ 'intro_floor_selection' => 'hodor',
+ 'intro_route_actions' => 'hodor',
+ 'intro_route_actions_draw_settings' => 'hodor',
+ 'intro_route_actions_map_login_and_continue' => 'hodor',
+ 'intro_route_actions_map_register_and_continue' => 'hodor',
+ 'intro_route_actions_save_and_continue' => 'hodor',
+ 'intro_route_manipulation_tools' => 'hodor',
+ 'intro_draw_path' => 'hodor',
+ 'intro_draw_mapicon' => 'hodor',
+ 'intro_draw_brushline' => 'hodor',
+ 'intro_draw_pridefulenemy' => 'hodor',
+ 'intro_draw_edit' => 'hodor',
+ 'intro_draw_remove' => 'hodor',
+ 'intro_map_enemy_forces_numbers' => 'hodor',
+ 'intro_new_pull' => 'hodor',
+ 'enemy_forces_not_all_required_enemies_killed_label' => 'hodor',
+ 'enemy_forces_too_much_label' => 'hodor',
+ 'enemy_forces_too_little_label' => 'hodor',
+ 'enemy_forces_overridden_label' => 'hodor',
+ 'sidebar_expand' => 'hodor',
+ 'sidebar_collapse' => 'hodor',
+ 'copied_to_clipboard' => 'hodor',
+ 'sidebar_enemy_health_label' => 'hodor',
+ 'sidebar_enemy_bursting_label' => 'hodor',
+ 'sidebar_enemy_sanguine_label' => 'hodor',
+ 'sidebar_enemy_bolstering_label' => 'hodor',
+ 'sidebar_enemy_bolstering_whitelist_npcs_label' => 'hodor',
+ 'sidebar_enemy_spell_label' => 'hodor',
+ 'sidebar_enemy_skippable_label' => 'hodor',
+ 'sidebar_enemy_runs_away_in_fear_label' => 'hodor',
+ 'sidebar_hyper_respawns_label' => 'hodor',
+ 'sidebar_enemy_health_fortified_label' => 'hodor',
+ 'sidebar_enemy_health_tyrannical_label' => 'hodor',
+ 'sidebar_enemy_skippable_info_label' => 'hodor',
+ 'user_report_enemy_success' => 'hodor',
+ 'dungeonroute_report_enemy_success' => 'hodor',
+ 'tag_delete_success' => 'hodor',
+ 'tag_create_success' => 'hodor',
+ 'killzone_sidebar_kill_location_label' => 'hodor',
+ 'killzone_sidebar_delete_all_pulls_confirm_label' => 'hodor',
+ 'min_password_length' => 'hodor',
+ 'weak' => 'hodor',
+ 'medium' => 'hodor',
+ 'strong' => 'hodor',
+ 'contains_username' => 'hodor',
+ 'mdt_faction' => 'hodor',
+ 'mdt_dungeon' => 'hodor',
+ 'mdt_affixes' => 'hodor',
+ 'mdt_pulls' => 'hodor',
+ 'mdt_paths' => 'hodor',
+ 'mdt_drawn_lines' => 'hodor',
+ 'mdt_notes' => 'hodor',
+ 'mdt_enemy_forces' => 'hodor',
+ 'ajax_error_default' => 'hodor',
+ 'ajax_error_403' => 'hodor',
+ 'ajax_error_404' => 'hodor',
+ 'ajax_error_419' => 'hodor',
+ 'map_object_readonly_label' => 'hodor',
+ 'map_object_category_general_label' => 'hodor',
+ 'map_object_category_legacy_label' => 'hodor',
+ 'map_object_category_advanced_label' => 'hodor',
+ 'mapicon_faction_select_default_label' => 'hodor',
+ 'mapicon_teeming_select_default_label' => 'hodor',
+ 'map_icon_faction_label' => 'hodor',
+ 'map_icon_teeming_label' => 'hodor',
+ 'map_icon_team_id_label' => 'hodor',
+ 'map_icon_permanent_tooltip_label' => 'hodor',
+ 'map_icon_map_icon_type_id_label' => 'hodor',
+ 'map_icon_comment_label' => 'hodor',
+ 'map_icon_map_icon_type_id_select_default_label' => 'hodor',
+ 'map_icon_seasonal_type_label' => 'hodor',
+ 'map_icon_seasonal_index_label' => 'hodor',
+ 'map_icon_seasonal_index_select_default_label' => 'hodor',
+ 'admin_map_icon_faction_label' => 'hodor',
+ 'admin_map_icon_teeming_label' => 'hodor',
+ 'admin_map_icon_permanent_tooltip_label' => 'hodor',
+ 'admin_map_icon_map_icon_type_id_label' => 'hodor',
+ 'admin_map_icon_comment_label' => 'hodor',
+ 'admin_map_icon_map_icon_type_id_select_default_label' => 'hodor',
+ 'admin_map_icon_seasonal_type_label' => 'hodor',
+ 'admin_map_icon_seasonal_index_label' => 'hodor',
+ 'admin_map_icon_seasonal_index_select_default_label' => 'hodor',
+ 'enemy_faction_label' => 'hodor',
+ 'enemy_teeming_label' => 'hodor',
+ 'enemy_npc_id_label' => 'hodor',
+ 'enemy_floor_id_label' => 'hodor',
+ 'enemy_mdt_id_label' => 'hodor',
+ 'enemy_mdt_npc_id_label' => 'hodor',
+ 'enemy_seasonal_type_label' => 'hodor',
+ 'enemy_seasonal_type_select_default_label' => 'hodor',
+ 'enemy_seasonal_index_label' => 'hodor',
+ 'enemy_seasonal_index_select_default_label' => 'hodor',
+ 'enemy_active_auras_label' => 'hodor',
+ 'enemy_active_auras_select_default_label' => 'hodor',
+ 'enemy_enemy_forces_override_label' => 'hodor',
+ 'enemy_enemy_forces_override_teeming_label' => 'hodor',
+ 'enemy_dungeon_difficulty_select_default_label' => 'hodor',
+ 'enemy_dungeon_difficulty_label' => 'hodor',
+ 'enemy_required_label' => 'hodor',
+ 'enemy_skippable_label' => 'hodor',
+ 'enemy_hyper_respawn_label' => 'hodor',
+ 'enemy_kill_priority_label' => 'hodor',
+ 'enemy_kill_priority_select_default_label' => 'hodor',
+ 'enemy_npc_id_select_default_label' => 'hodor',
+ 'enemy_mdt_npc_id_select_default_label' => 'hodor',
+ 'admin_enemy_pack_faction_label' => 'hodor',
+ 'admin_enemy_pack_teeming_label' => 'hodor',
+ 'admin_enemy_pack_label_label' => 'hodor',
+ 'brushline_color_label' => 'hodor',
+ 'brushline_color_animated_label' => 'hodor',
+ 'brushline_weight_label' => 'hodor',
+ 'path_color_label' => 'hodor',
+ 'path_color_animated_label' => 'hodor',
+ 'path_weight_label' => 'hodor',
+ 'enemypatrol_faction_label' => 'hodor',
+ 'enemypatrol_teeming_label' => 'hodor',
+ 'enemypatrol_color_label' => 'hodor',
+ 'enemypatrol_color_animated_label' => 'hodor',
+ 'enemypatrol_weight_label' => 'hodor',
+ 'enemypatrol_couple_enemies_label' => 'hodor',
+ 'enemypatrol_couple_enemies_button_text_label' => 'hodor',
+ 'enemypack_group_label' => 'hodor',
+ 'enemypack_color_label' => 'hodor',
+ 'enemypack_color_animated_label' => 'hodor',
+ 'enemypack_faction_label' => 'hodor',
+ 'enemypack_teeming_label' => 'hodor',
+ 'enemypack_mark_as_skippable_label' => 'hodor',
+ 'enemypack_mark_as_skippable_button_text_label' => 'hodor',
+ 'dungeonfloorswitchmarker_faction_label' => 'hodor',
+ 'dungeonfloorswitchmarker_teeming_label' => 'hodor',
+ 'dungeonfloorswitchmarker_source_floor_id_label' => 'hodor',
+ 'dungeonfloorswitchmarker_source_floor_id_select_default_label' => 'hodor',
+ 'dungeonfloorswitchmarker_target_floor_id_label' => 'hodor',
+ 'dungeonfloorswitchmarker_target_floor_id_select_default_label' => 'hodor',
+ 'dungeonfloorswitchmarker_linked_dungeon_floor_switch_marker_id_label' => 'hodor',
+ 'dungeonfloorswitchmarker_direction_label' => 'hodor',
+ 'dungeonfloorswitchmarker_direction_select_default_label' => 'hodor',
+ 'dungeonfloorswitchmarker_go_to_label' => 'hodor',
+ 'dungeonfloorswitchmarker_unknown_label' => 'hodor',
+ 'mountablearea_faction_label' => 'hodor',
+ 'mountablearea_teeming_label' => 'hodor',
+ 'mountablearea_speed_label' => 'hodor',
+ 'floorunion_target_floor_id_select_default_label' => 'hodor',
+ 'floorunion_target_floor_id_label' => 'hodor',
+ 'floorunion_size_label' => 'hodor',
+ 'floorunion_rotation_label' => 'hodor',
+ 'floorunionarea_floor_union_id_label' => 'hodor',
+ 'actions_label' => 'hodor',
+ 'add_to_team_label' => 'hodor',
+ 'view_label' => 'hodor',
+ 'collaborator_label' => 'hodor',
+ 'moderator_label' => 'hodor',
+ 'admin_label' => 'hodor',
+ 'change_role_success' => 'hodor',
+ 'change_default_role_success' => 'hodor',
+ 'team_admin' => 'hodor',
+ 'team_moderator' => 'hodor',
+ 'team_collaborator' => 'hodor',
+ 'team_member' => 'hodor',
+ 'remove_label' => 'hodor',
+ 'team_add_route_successful' => 'hodor',
+ 'team_remove_route_successful' => 'hodor',
+ 'ad_free_giveaway_label' => 'hodor',
+ 'ad_free_giveaway_user_already_ad_free_label' => 'hodor',
+ 'ad_free_giveaway_user_already_ad_free_giveaway_label' => 'hodor',
+ 'ad_free_giveaway_add_label' => 'hodor',
+ 'ad_free_giveaway_remove_label' => 'hodor',
+ 'datatable_no_teams_in_table' => 'hodor',
+ 'datatable_no_members_in_table' => 'hodor',
+ 'preview_label' => 'hodor',
+ 'title_label' => 'hodor',
+ 'dungeon_label' => 'hodor',
+ 'features_label' => 'hodor',
+ 'author_label' => 'hodor',
+ 'metrics_label' => 'hodor',
+ 'views_tooltip_label' => 'hodor',
+ 'copy_tooltip_label' => 'hodor',
+ 'rating_label' => 'hodor',
+ 'published_label' => 'hodor',
+ 'add_route_label' => 'hodor',
+ 'remove_route_label' => 'hodor',
+ 'yes_label' => 'hodor',
+ 'no_label' => 'hodor',
+ 'cancel_label' => 'hodor',
+ 'finished_label' => 'hodor',
+ 'remove_member_confirm_label' => 'hodor',
+ 'remove_member_success' => 'hodor',
+ 'leave_team_confirm_label' => 'hodor',
+ 'leave_team_disband_confirm_label' => 'hodor',
+ 'ad_free_giveaway_add_success' => 'hodor',
+ 'ad_free_giveaway_add_failed' => 'hodor',
+ 'ad_free_giveaway_remove_success' => 'hodor',
+ 'ad_free_giveaway_remove_failed' => 'hodor',
+ 'name_label' => 'hodor',
+ 'email_label' => 'hodor',
+ 'join_date_label' => 'hodor',
+ 'role_label' => 'hodor',
+ 'assignable_roles_label' => 'hodor',
+ 'leave_label' => 'hodor',
+ 'delete_team_confirm_label' => 'hodor',
+ 'invite_link_refreshed' => 'hodor',
+ 'echo_connecting_label' => 'hodor',
+ 'echo_connected_label' => 'hodor',
+ 'connected_users_label' => 'hodor',
+ 'connecting_title_label' => 'hodor',
+ 'connected_title_label' => 'hodor',
+ 'members_title_label' => 'hodor',
+ 'member_self_title_label' => 'hodor',
+ 'echo_object_deleted_notification' => 'hodor',
+ 'connected_users_hide_cursors_label' => 'hodor',
+ 'connected_users_show_cursors_label' => 'hodor',
+ 'connected_user_follow_label' => 'hodor',
+ 'connected_user_unfollow_label' => 'hodor',
+ 'connected_user_view_profile_label' => 'hodor',
+ 'echo_following_user_label' => 'hodor',
+ 'echo_unfollow_user_label' => 'hodor',
+ 'echo_following_user_stopped_label' => 'hodor',
+ 'echo_refollow_user_label' => 'hodor',
+ 'echo_refollow_user_stop_label' => 'hodor',
+ 'overpull_select_enemy_label' => 'hodor',
+ 'overpull_selection_finished_label' => 'hodor',
+ 'filters' => 'hodor',
+ 'filter_enemy_forces_header_incomplete' => 'hodor',
+ 'filter_enemy_forces_header_complete' => 'hodor',
+ 'filter_image_select_affixes_header' => 'hodor',
+ 'filter_image_select_dungeons_header' => 'hodor',
+ 'filter_input_affix_group_header' => 'hodor',
+ 'filter_input_level_header' => 'hodor',
+ 'filter_input_rating_header' => 'hodor',
+ 'filter_input_title_header' => 'hodor',
+ 'filter_input_expansion_header' => 'hodor',
+ 'filter_input_season_header' => 'hodor',
+ 'filter_input_user_header' => 'hodor',
+ 'specialization_select' => 'hodor',
+ 'class_select' => 'hodor',
+ 'race_select' => 'hodor',
+ 'simulate_pull' => 'hodor',
+
+];
diff --git a/lang/ho_HO/logic.php b/lang/ho_HO/logic.php
new file mode 100644
index 0000000000..208c452046
--- /dev/null
+++ b/lang/ho_HO/logic.php
@@ -0,0 +1,49 @@
+ [
+ 'io' => [
+ 'export_string' => [
+ 'category' => [
+ 'pull' => 'hodor',
+ 'title' => 'hodor',
+ 'map_icon' => 'hodor',
+ ],
+ 'unable_to_find_mdt_enemy_for_kg_enemy' => 'hodor',
+ 'unable_to_find_mdt_enemy_for_kg_enemy_details' => 'hodor',
+ 'unable_to_find_mdt_enemy_for_kg_caused_empty_pull' => 'hodor',
+ 'route_title_contains_non_ascii_char_bug' => 'hodor',
+ 'route_title_contains_non_ascii_char_bug_details' => 'hodor',
+ 'map_icon_contains_non_ascii_char_bug' => 'hodor',
+ 'map_icon_contains_non_ascii_char_bug_details' => 'hodor',
+ ],
+ 'import_string' => [
+ 'category' => [
+ 'awakened_obelisks' => 'hodor',
+ 'pulls' => 'hodor',
+ 'notes' => 'hodor',
+ 'pull' => 'hodor',
+ 'object' => 'hodor',
+ ],
+ 'limit_reached_pulls' => 'hodor',
+ 'limit_reached_brushlines' => 'hodor',
+ 'limit_reached_paths' => 'hodor',
+ 'limit_reached_notes' => 'hodor',
+ 'unable_to_find_floor_for_object' => 'hodor',
+ 'unable_to_find_floor_for_object_details' => 'hodor',
+ 'unable_to_find_mdt_enemy_for_clone_index' => 'hodor',
+ 'unable_to_find_mdt_enemy_for_clone_index_details' => 'hodor',
+ 'unable_to_find_kg_equivalent_for_mdt_enemy' => 'hodor',
+ 'unable_to_find_kg_equivalent_for_mdt_enemy_details' => 'hodor',
+ 'unable_to_find_awakened_enemy_for_final_boss' => 'hodor',
+ 'unable_to_find_awakened_enemy_for_final_boss_details' => 'hodor',
+ 'unable_to_find_enemies_pull_skipped' => 'hodor',
+ 'unable_to_find_enemies_pull_skipped_details' => 'hodor',
+ 'unable_to_find_awakened_obelisks' => 'hodor',
+ 'unable_to_find_awakened_obelisk_different_floor' => 'hodor',
+ ],
+ ],
+ ],
+
+];
diff --git a/lang/ho_HO/mapicontypes.php b/lang/ho_HO/mapicontypes.php
new file mode 100644
index 0000000000..1e54d397e7
--- /dev/null
+++ b/lang/ho_HO/mapicontypes.php
@@ -0,0 +1,100 @@
+ 'hodor',
+ 'comment' => 'hodor',
+ 'door' => 'hodor',
+ 'door_down' => 'hodor',
+ 'door_left' => 'hodor',
+ 'door_locked' => 'hodor',
+ 'door_right' => 'hodor',
+ 'door_up' => 'hodor',
+ 'dot_yellow' => 'hodor',
+ 'dungeon_start' => 'hodor',
+ 'gateway' => 'hodor',
+ 'graveyard' => 'hodor',
+ 'greasebot' => 'hodor',
+ 'shockbot' => 'hodor',
+ 'warlock_gateway' => 'hodor',
+ 'weldingbot' => 'hodor',
+ 'awakened_obelisk_brutal' => 'hodor',
+ 'awakened_obelisk_cursed' => 'hodor',
+ 'awakened_obelisk_defiled' => 'hodor',
+ 'awakened_obelisk_entropic' => 'hodor',
+ 'skip_flight' => 'hodor',
+ 'skip_teleport' => 'hodor',
+ 'skip_walk' => 'hodor',
+ 'raid_marker_star' => 'hodor',
+ 'raid_marker_circle' => 'hodor',
+ 'raid_marker_diamond' => 'hodor',
+ 'raid_marker_triangle' => 'hodor',
+ 'raid_marker_moon' => 'hodor',
+ 'raid_marker_square' => 'hodor',
+ 'raid_marker_cross' => 'hodor',
+ 'raid_marker_skull' => 'hodor',
+ 'spell_bloodlust' => 'hodor',
+ 'spell_heroism' => 'hodor',
+ 'spell_shadowmeld' => 'hodor',
+ 'spell_shroud_of_concealment' => 'hodor',
+ 'item_invisibility' => 'hodor',
+ 'item_drums_of_speed' => 'hodor',
+ 'item_free_action_potion' => 'hodor',
+ 'item_global_thermal_sapper_charge' => 'hodor',
+ 'item_rocket_boots_xtreme' => 'hodor',
+ 'question_yellow' => 'hodor',
+ 'question_blue' => 'hodor',
+ 'question_orange' => 'hodor',
+ 'exclamation_yellow' => 'hodor',
+ 'exclamation_blue' => 'hodor',
+ 'exclamation_orange' => 'hodor',
+ 'neonbutton_blue' => 'hodor',
+ 'neonbutton_cyan' => 'hodor',
+ 'neonbutton_green' => 'hodor',
+ 'neonbutton_orange' => 'hodor',
+ 'neonbutton_pink' => 'hodor',
+ 'neonbutton_purple' => 'hodor',
+ 'neonbutton_red' => 'hodor',
+ 'neonbutton_yellow' => 'hodor',
+ 'neonbutton_darkred' => 'hodor',
+ 'neonbutton_darkgreen' => 'hodor',
+ 'neonbutton_darkblue' => 'hodor',
+ 'spell_mind_soothe' => 'hodor',
+ 'spell_combustion' => 'hodor',
+ 'covenant_kyrian' => 'hodor',
+ 'covenant_necrolords' => 'hodor',
+ 'covenant_nightfae' => 'hodor',
+ 'covenant_venthyr' => 'hodor',
+ 'portal_blue' => 'hodor',
+ 'portal_green' => 'hodor',
+ 'portal_orange' => 'hodor',
+ 'portal_pink' => 'hodor',
+ 'portal_red' => 'hodor',
+ 'nw_item_anima' => 'hodor',
+ 'nw_item_goliath' => 'hodor',
+ 'nw_item_hammer' => 'hodor',
+ 'nw_item_shield' => 'hodor',
+ 'nw_item_spear' => 'hodor',
+ 'spell_incarnation' => 'hodor',
+ 'spell_misdirection' => 'hodor',
+ 'spell_tricks_of_the_trade' => 'hodor',
+ 'role_tank' => 'hodor',
+ 'role_healer' => 'hodor',
+ 'role_dps' => 'hodor',
+ 'class_warrior' => 'hodor',
+ 'class_hunter' => 'hodor',
+ 'class_death_knight' => 'hodor',
+ 'class_mage' => 'hodor',
+ 'class_priest' => 'hodor',
+ 'class_monk' => 'hodor',
+ 'class_rogue' => 'hodor',
+ 'class_warlock' => 'hodor',
+ 'class_shaman' => 'hodor',
+ 'class_paladin' => 'hodor',
+ 'class_druid' => 'hodor',
+ 'class_demon_hunter' => 'hodor',
+ 'class_evoker' => 'hodor',
+ 'chest' => 'hodor',
+ 'chest_locked' => 'hodor',
+
+];
diff --git a/lang/ho_HO/mapping.php b/lang/ho_HO/mapping.php
new file mode 100644
index 0000000000..ce32c3ca9a
--- /dev/null
+++ b/lang/ho_HO/mapping.php
@@ -0,0 +1,89 @@
+ [
+ 'legion' => [
+ 'court_of_stars' => [
+ 'unlocks_after_patrol_captain_gerdo' => 'hodor',
+ 'arcane_beacon' => 'hodor',
+ 'flask_of_the_solemn_night' => 'hodor',
+ ],
+ 'neltharions_lair' => [
+ 'hidden_pack_in_cave' => 'hodor',
+ ],
+ ],
+ 'shadowlands' => [
+ 'de_other_side' => [
+ 'start' => 'hodor',
+ 'graveyard_ardenweald' => 'hodor',
+ 'graveyard_mechagon' => 'hodor',
+ 'graveyard_zulgurub' => 'hodor',
+ 'haunted_urn' => 'hodor',
+ 'engineer_blob_button' => 'hodor',
+ 'exit' => 'hodor',
+ ],
+ 'halls_of_atonement' => [
+ 'start' => 'hodor',
+ 'exit' => 'hodor',
+ ],
+ 'mists_of_tirna_scithe' => [
+ 'start' => 'hodor',
+ 'brambles' => 'hodor',
+ 'depleted_anima_seed' => 'hodor',
+ 'map_missing_wall' => 'hodor',
+ 'savory_statshroom' => 'hodor',
+ 'tasty_toughshroom' => 'hodor',
+ 'door_unlock_after_ingra_maloch' => 'hodor',
+ 'exit' => 'hodor',
+ ],
+ 'plaguefall' => [
+ 'start' => 'hodor',
+ 'graveyard_dr_ickus' => 'hodor',
+ 'gushing_slime' => 'hodor',
+ 'congealed_slime' => 'hodor',
+ 'pestilence_slime' => 'hodor',
+ 'landing' => 'hodor',
+ 'exit' => 'hodor',
+ ],
+ 'sanguine_depths' => [
+ 'start' => 'hodor',
+ 'anima_cage' => 'hodor',
+ 'tick_bug' => 'hodor',
+ 'graveyard_kryxis_the_voracious' => 'hodor',
+ 'graveyard_executor_tarvold' => 'hodor',
+ 'graveyard_grand_proctor_beryllia' => 'hodor',
+ 'chamber_sentinel' => 'hodor',
+ 'gauntlet_explanation' => 'hodor',
+ 'zrali_essence' => 'hodor',
+ 'exit' => 'hodor',
+ ],
+ 'spires_of_ascension' => [
+ 'start' => 'hodor',
+ 'spear_of_destiny' => 'hodor',
+ 'exit' => 'hodor',
+ ],
+ 'the_necrotic_wake' => [
+ 'start' => 'hodor',
+ 'bloody_javelin' => 'hodor',
+ 'forgotten_forgehammer' => 'hodor',
+ 'malfunctioning_goliath' => 'hodor',
+ 'discharged_anima' => 'hodor',
+ 'discarded_shield' => 'hodor',
+ 'anima_crystal_shard' => 'hodor',
+ 'grisly_curio' => 'hodor',
+ 'exit' => 'hodor',
+ ],
+ 'theater_of_pain' => [
+ 'start' => 'hodor',
+ 'necrolord_banner' => 'hodor',
+ 'graveyard_gorechop' => 'hodor',
+ 'pack_jump_from_sides' => 'hodor',
+ 'miniboss_pick_one' => 'hodor',
+ 'teleporter' => 'hodor',
+ 'exit' => 'hodor',
+ ],
+ ],
+ ],
+
+];
diff --git a/lang/ho_HO/models.php b/lang/ho_HO/models.php
new file mode 100644
index 0000000000..292f42e473
--- /dev/null
+++ b/lang/ho_HO/models.php
@@ -0,0 +1,15 @@
+ [
+ 'title_temporary_route' => 'hodor',
+ 'title_clone' => 'hodor',
+ 'subtitle_clone_of' => 'hodor',
+ 'permission_dratnos' => 'hodor',
+ 'permission_petko' => 'hodor',
+ 'subtitle_temporary_route' => 'hodor',
+ 'subtitle_author' => 'hodor',
+ ],
+
+];
diff --git a/lang/ho_HO/npcaggressiveness.php b/lang/ho_HO/npcaggressiveness.php
new file mode 100644
index 0000000000..ce2227573d
--- /dev/null
+++ b/lang/ho_HO/npcaggressiveness.php
@@ -0,0 +1,11 @@
+ 'hodor',
+ 'unfriendly' => 'hodor',
+ 'neutral' => 'hodor',
+ 'friendly' => 'hodor',
+ 'awakened' => 'hodor',
+
+];
diff --git a/lang/ho_HO/npcclasses.php b/lang/ho_HO/npcclasses.php
new file mode 100644
index 0000000000..a5e032fe0b
--- /dev/null
+++ b/lang/ho_HO/npcclasses.php
@@ -0,0 +1,16 @@
+ 'hodor',
+ 'ranged' => 'hodor',
+ 'caster' => 'hodor',
+ 'healer' => 'hodor',
+ 'caster_melee' => 'hodor',
+ 'healer_caster' => 'hodor',
+ 'healer_melee' => 'hodor',
+ 'ranged_caster' => 'hodor',
+ 'ranged_healer' => 'hodor',
+ 'ranged_melee' => 'hodor',
+
+];
diff --git a/lang/ho_HO/npcclassifications.php b/lang/ho_HO/npcclassifications.php
new file mode 100644
index 0000000000..3bdf68e184
--- /dev/null
+++ b/lang/ho_HO/npcclassifications.php
@@ -0,0 +1,11 @@
+ 'hodor',
+ 'elite' => 'hodor',
+ 'boss' => 'hodor',
+ 'finalboss' => 'hodor',
+ 'rare' => 'hodor',
+
+];
diff --git a/lang/ho_HO/pagination.php b/lang/ho_HO/pagination.php
new file mode 100644
index 0000000000..c572ae92f8
--- /dev/null
+++ b/lang/ho_HO/pagination.php
@@ -0,0 +1,8 @@
+ 'hodor',
+ 'next' => 'hodor',
+
+];
diff --git a/lang/ho_HO/passwords.php b/lang/ho_HO/passwords.php
new file mode 100644
index 0000000000..a5429ced9d
--- /dev/null
+++ b/lang/ho_HO/passwords.php
@@ -0,0 +1,11 @@
+ 'hodor',
+ 'reset' => 'hodor',
+ 'sent' => 'hodor',
+ 'token' => 'hodor',
+ 'user' => 'hodor',
+
+];
diff --git a/lang/ho_HO/patreonbenefits.php b/lang/ho_HO/patreonbenefits.php
new file mode 100644
index 0000000000..ccdc9b9fc5
--- /dev/null
+++ b/lang/ho_HO/patreonbenefits.php
@@ -0,0 +1,12 @@
+ 'hodor',
+ 'unlimited-dungeonroutes' => 'hodor',
+ 'unlisted-routes' => 'hodor',
+ 'animated-polylines' => 'hodor',
+ 'advanced-simulation' => 'hodor',
+ 'ad-free-team-members' => 'hodor',
+
+];
diff --git a/lang/ho_HO/policy.php b/lang/ho_HO/policy.php
new file mode 100644
index 0000000000..2b50260f05
--- /dev/null
+++ b/lang/ho_HO/policy.php
@@ -0,0 +1,15 @@
+ 'hodor',
+ 'present_route_not_published' => 'hodor',
+ 'embed_route_not_published' => 'hodor',
+ 'embed_route_sandbox_not_allowed' => 'hodor',
+ 'publish_not_all_required_enemies_killed' => 'hodor',
+ 'add_kill_zone_limit_reached' => 'hodor',
+ 'add_brushline_limit_reached' => 'hodor',
+ 'add_path_limit_reached' => 'hodor',
+ 'add_map_icon_limit_reached' => 'hodor',
+
+];
diff --git a/lang/ho_HO/races.php b/lang/ho_HO/races.php
new file mode 100644
index 0000000000..2fbd9f76af
--- /dev/null
+++ b/lang/ho_HO/races.php
@@ -0,0 +1,32 @@
+ 'hodor',
+ 'dwarf' => 'hodor',
+ 'night_elf' => 'hodor',
+ 'gnome' => 'hodor',
+ 'draenei' => 'hodor',
+ 'worgen' => 'hodor',
+ 'pandarenalliance' => 'hodor',
+ 'void_elf' => 'hodor',
+ 'lightforged_draenei' => 'hodor',
+ 'dark_iron_dwarf' => 'hodor',
+ 'dracthyralliance' => 'hodor',
+ 'orc' => 'hodor',
+ 'undead' => 'hodor',
+ 'tauren' => 'hodor',
+ 'troll' => 'hodor',
+ 'blood_elf' => 'hodor',
+ 'goblin' => 'hodor',
+ 'pandarenhorde' => 'hodor',
+ 'nightborne' => 'hodor',
+ 'highmountain_tauren' => 'hodor',
+ 'maghar_orc' => 'hodor',
+ 'dracthyrhorde' => 'hodor',
+ 'kul_tiran_human' => 'hodor',
+ 'zandalari_troll' => 'hodor',
+ 'mechagnome' => 'hodor',
+ 'vulpera' => 'hodor',
+
+];
diff --git a/lang/ho_HO/releasechangelogcategories.php b/lang/ho_HO/releasechangelogcategories.php
new file mode 100644
index 0000000000..ae83b194d4
--- /dev/null
+++ b/lang/ho_HO/releasechangelogcategories.php
@@ -0,0 +1,18 @@
+ 'hodor',
+ 'route_changes' => 'hodor',
+ 'map_changes' => 'hodor',
+ 'mapping_changes' => 'hodor',
+ 'bugfixes' => 'hodor',
+ 'mdt_importer_changes' => 'hodor',
+ 'team_changes' => 'hodor',
+ 'mdt_exporter_changes' => 'hodor',
+ 'live_session_changes' => 'hodor',
+ 'simulation_craft_changes' => 'hodor',
+ 'auto_route_changes' => 'hodor',
+ 'api_changes' => 'hodor',
+
+];
diff --git a/lang/ho_HO/routeattributes.php b/lang/ho_HO/routeattributes.php
new file mode 100644
index 0000000000..dc269b7881
--- /dev/null
+++ b/lang/ho_HO/routeattributes.php
@@ -0,0 +1,12 @@
+ 'hodor',
+ 'rogue_shroud_skip' => 'hodor',
+ 'warlock_gate_skip' => 'hodor',
+ 'mage_slow_fall_skip' => 'hodor',
+ 'invisibility_potion' => 'hodor',
+ 'death_skip' => 'hodor',
+
+];
diff --git a/lang/ho-HO/rules.php b/lang/ho_HO/rules.php
similarity index 57%
rename from lang/ho-HO/rules.php
rename to lang/ho_HO/rules.php
index 48fc0f73b8..382c318771 100644
--- a/lang/ho-HO/rules.php
+++ b/lang/ho_HO/rules.php
@@ -1,19 +1,21 @@
[
'message' => 'hodor',
],
- 'dungeon_route_level_rule' => [
+ 'dungeon_route_level_rule' => [
'message' => 'hodor',
],
- 'faction_selection_required_rule' => [
+ 'faction_selection_required_rule' => [
'message' => 'hodor',
],
- 'json_string_count_rule' => [
+ 'json_string_count_rule' => [
'message' => 'hodor',
],
- 'map_icon_type_role_check_rule' => [
+ 'map_icon_type_role_check_rule' => [
'message' => 'hodor',
],
+
];
diff --git a/lang/ho-HO/seasons.php b/lang/ho_HO/seasons.php
similarity index 95%
rename from lang/ho-HO/seasons.php
rename to lang/ho_HO/seasons.php
index ac6268e548..03106b01d2 100644
--- a/lang/ho-HO/seasons.php
+++ b/lang/ho_HO/seasons.php
@@ -1,5 +1,7 @@
'hodor',
+
];
diff --git a/lang/ho-HO/services.php b/lang/ho_HO/services.php
similarity index 97%
rename from lang/ho-HO/services.php
rename to lang/ho_HO/services.php
index 70ece63b34..38c0ad1e5d 100644
--- a/lang/ho-HO/services.php
+++ b/lang/ho_HO/services.php
@@ -1,7 +1,9 @@
[
'all_dungeons' => 'hodor',
],
+
];
diff --git a/lang/ho_HO/specializations.php b/lang/ho_HO/specializations.php
new file mode 100644
index 0000000000..64ee6b17ef
--- /dev/null
+++ b/lang/ho_HO/specializations.php
@@ -0,0 +1,70 @@
+ [
+ 'blood' => 'hodor',
+ 'frost' => 'hodor',
+ 'unholy' => 'hodor',
+ ],
+ 'demon_hunter' => [
+ 'havoc' => 'hodor',
+ 'vengeance' => 'hodor',
+ ],
+ 'druid' => [
+ 'balance' => 'hodor',
+ 'feral' => 'hodor',
+ 'guardian' => 'hodor',
+ 'restoration' => 'hodor',
+ ],
+ 'evoker' => [
+ 'devastation' => 'hodor',
+ 'preservation' => 'hodor',
+ ],
+ 'hunter' => [
+ 'beast_mastery' => 'hodor',
+ 'marksman' => 'hodor',
+ 'survival' => 'hodor',
+ ],
+ 'mage' => [
+ 'arcane' => 'hodor',
+ 'fire' => 'hodor',
+ 'frost' => 'hodor',
+ ],
+ 'monk' => [
+ 'brewmaster' => 'hodor',
+ 'mistweaver' => 'hodor',
+ 'windwalker' => 'hodor',
+ ],
+ 'paladin' => [
+ 'holy' => 'hodor',
+ 'protection' => 'hodor',
+ 'retribution' => 'hodor',
+ ],
+ 'priest' => [
+ 'discipline' => 'hodor',
+ 'holy' => 'hodor',
+ 'shadow' => 'hodor',
+ ],
+ 'rogue' => [
+ 'assassination' => 'hodor',
+ 'outlaw' => 'hodor',
+ 'subtlety' => 'hodor',
+ ],
+ 'shaman' => [
+ 'elemental' => 'hodor',
+ 'enhancement' => 'hodor',
+ 'restoration' => 'hodor',
+ ],
+ 'warlock' => [
+ 'affliction' => 'hodor',
+ 'demonology' => 'hodor',
+ 'destruction' => 'hodor',
+ ],
+ 'warrior' => [
+ 'arms' => 'hodor',
+ 'fury' => 'hodor',
+ 'protection' => 'hodor',
+ ],
+
+];
diff --git a/lang/ho_HO/spells.php b/lang/ho_HO/spells.php
new file mode 100644
index 0000000000..f7af411e4a
--- /dev/null
+++ b/lang/ho_HO/spells.php
@@ -0,0 +1,20 @@
+ 'hodor',
+ 'death_knight' => 'hodor',
+ 'demon_hunter' => 'hodor',
+ 'druid' => 'hodor',
+ 'evoker' => 'hodor',
+ 'hunter' => 'hodor',
+ 'mage' => 'hodor',
+ 'monk' => 'hodor',
+ 'paladin' => 'hodor',
+ 'priest' => 'hodor',
+ 'rogue' => 'hodor',
+ 'shaman' => 'hodor',
+ 'warlock' => 'hodor',
+ 'warrior' => 'hodor',
+
+];
diff --git a/lang/ho_HO/teamroles.php b/lang/ho_HO/teamroles.php
new file mode 100644
index 0000000000..bc1f45e40f
--- /dev/null
+++ b/lang/ho_HO/teamroles.php
@@ -0,0 +1,10 @@
+ 'hodor',
+ 'collaborator' => 'hodor',
+ 'moderator' => 'hodor',
+ 'admin' => 'hodor',
+
+];
diff --git a/lang/ho_HO/validation.php b/lang/ho_HO/validation.php
new file mode 100644
index 0000000000..ed139b1e7b
--- /dev/null
+++ b/lang/ho_HO/validation.php
@@ -0,0 +1,83 @@
+ 'hodor',
+ 'active_url' => 'hodor',
+ 'after' => 'hodor',
+ 'after_or_equal' => 'hodor',
+ 'alpha' => 'hodor',
+ 'alpha_dash' => 'hodor',
+ 'alpha_num' => 'hodor',
+ 'array' => 'hodor',
+ 'before' => 'hodor',
+ 'before_or_equal' => 'hodor',
+ 'between' => [
+ 'numeric' => 'hodor',
+ 'file' => 'hodor',
+ 'string' => 'hodor',
+ 'array' => 'hodor',
+ ],
+ 'boolean' => 'hodor',
+ 'confirmed' => 'hodor',
+ 'date' => 'hodor',
+ 'date_format' => 'hodor',
+ 'different' => 'hodor',
+ 'digits' => 'hodor',
+ 'digits_between' => 'hodor',
+ 'dimensions' => 'hodor',
+ 'distinct' => 'hodor',
+ 'email' => 'hodor',
+ 'exists' => 'hodor',
+ 'file' => 'hodor',
+ 'filled' => 'hodor',
+ 'image' => 'hodor',
+ 'in' => 'hodor',
+ 'in_array' => 'hodor',
+ 'integer' => 'hodor',
+ 'ip' => 'hodor',
+ 'json' => 'hodor',
+ 'max' => [
+ 'numeric' => 'hodor',
+ 'file' => 'hodor',
+ 'string' => 'hodor',
+ 'array' => 'hodor',
+ ],
+ 'mimes' => 'hodor',
+ 'mimetypes' => 'hodor',
+ 'min' => [
+ 'numeric' => 'hodor',
+ 'file' => 'hodor',
+ 'string' => 'hodor',
+ 'array' => 'hodor',
+ ],
+ 'not_in' => 'hodor',
+ 'numeric' => 'hodor',
+ 'present' => 'hodor',
+ 'regex' => 'hodor',
+ 'required' => 'hodor',
+ 'required_if' => 'hodor',
+ 'required_unless' => 'hodor',
+ 'required_with' => 'hodor',
+ 'required_with_all' => 'hodor',
+ 'required_without' => 'hodor',
+ 'required_without_all' => 'hodor',
+ 'same' => 'hodor',
+ 'size' => [
+ 'numeric' => 'hodor',
+ 'file' => 'hodor',
+ 'string' => 'hodor',
+ 'array' => 'hodor',
+ ],
+ 'string' => 'hodor',
+ 'timezone' => 'hodor',
+ 'unique' => 'hodor',
+ 'uploaded' => 'hodor',
+ 'url' => 'hodor',
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'hodor',
+ ],
+ ],
+
+];
diff --git a/lang/ho-HO/views/admin.php b/lang/ho_HO/views/admin.php
similarity index 100%
rename from lang/ho-HO/views/admin.php
rename to lang/ho_HO/views/admin.php
diff --git a/lang/ho-HO/views/app.php b/lang/ho_HO/views/app.php
similarity index 100%
rename from lang/ho-HO/views/app.php
rename to lang/ho_HO/views/app.php
diff --git a/lang/ho-HO/views/auth.php b/lang/ho_HO/views/auth.php
similarity index 100%
rename from lang/ho-HO/views/auth.php
rename to lang/ho_HO/views/auth.php
diff --git a/lang/ho-HO/views/common.php b/lang/ho_HO/views/common.php
similarity index 100%
rename from lang/ho-HO/views/common.php
rename to lang/ho_HO/views/common.php
diff --git a/lang/ho-HO/views/dungeon.php b/lang/ho_HO/views/dungeon.php
similarity index 100%
rename from lang/ho-HO/views/dungeon.php
rename to lang/ho_HO/views/dungeon.php
diff --git a/lang/ho-HO/views/dungeonroute.php b/lang/ho_HO/views/dungeonroute.php
similarity index 100%
rename from lang/ho-HO/views/dungeonroute.php
rename to lang/ho_HO/views/dungeonroute.php
diff --git a/lang/ho-HO/views/errors.php b/lang/ho_HO/views/errors.php
similarity index 100%
rename from lang/ho-HO/views/errors.php
rename to lang/ho_HO/views/errors.php
diff --git a/lang/ho-HO/views/home.php b/lang/ho_HO/views/home.php
similarity index 100%
rename from lang/ho-HO/views/home.php
rename to lang/ho_HO/views/home.php
diff --git a/lang/ho-HO/views/layouts.php b/lang/ho_HO/views/layouts.php
similarity index 100%
rename from lang/ho-HO/views/layouts.php
rename to lang/ho_HO/views/layouts.php
diff --git a/lang/ho-HO/views/legal.php b/lang/ho_HO/views/legal.php
similarity index 100%
rename from lang/ho-HO/views/legal.php
rename to lang/ho_HO/views/legal.php
diff --git a/lang/ho-HO/views/misc.php b/lang/ho_HO/views/misc.php
similarity index 100%
rename from lang/ho-HO/views/misc.php
rename to lang/ho_HO/views/misc.php
diff --git a/lang/ho-HO/views/profile.php b/lang/ho_HO/views/profile.php
similarity index 100%
rename from lang/ho-HO/views/profile.php
rename to lang/ho_HO/views/profile.php
diff --git a/lang/ho-HO/views/release.php b/lang/ho_HO/views/release.php
similarity index 100%
rename from lang/ho-HO/views/release.php
rename to lang/ho_HO/views/release.php
diff --git a/lang/ho-HO/views/team.php b/lang/ho_HO/views/team.php
similarity index 100%
rename from lang/ho-HO/views/team.php
rename to lang/ho_HO/views/team.php
diff --git a/lang/it-IT/affixes.php b/lang/it_IT/affixes.php
similarity index 100%
rename from lang/it-IT/affixes.php
rename to lang/it_IT/affixes.php
diff --git a/lang/it-IT/auth.php b/lang/it_IT/auth.php
similarity index 100%
rename from lang/it-IT/auth.php
rename to lang/it_IT/auth.php
diff --git a/lang/it-IT/breadcrumbs.php b/lang/it_IT/breadcrumbs.php
similarity index 100%
rename from lang/it-IT/breadcrumbs.php
rename to lang/it_IT/breadcrumbs.php
diff --git a/lang/it-IT/classes.php b/lang/it_IT/classes.php
similarity index 100%
rename from lang/it-IT/classes.php
rename to lang/it_IT/classes.php
diff --git a/lang/it-IT/controller.php b/lang/it_IT/controller.php
similarity index 100%
rename from lang/it-IT/controller.php
rename to lang/it_IT/controller.php
diff --git a/lang/it-IT/dungeons.php b/lang/it_IT/dungeons.php
similarity index 100%
rename from lang/it-IT/dungeons.php
rename to lang/it_IT/dungeons.php
diff --git a/lang/it-IT/exceptions.php b/lang/it_IT/exceptions.php
similarity index 100%
rename from lang/it-IT/exceptions.php
rename to lang/it_IT/exceptions.php
diff --git a/lang/it-IT/expansions.php b/lang/it_IT/expansions.php
similarity index 100%
rename from lang/it-IT/expansions.php
rename to lang/it_IT/expansions.php
diff --git a/lang/it-IT/factions.php b/lang/it_IT/factions.php
similarity index 100%
rename from lang/it-IT/factions.php
rename to lang/it_IT/factions.php
diff --git a/lang/it-IT/gameserverregions.php b/lang/it_IT/gameserverregions.php
similarity index 100%
rename from lang/it-IT/gameserverregions.php
rename to lang/it_IT/gameserverregions.php
diff --git a/lang/it-IT/gameversions.php b/lang/it_IT/gameversions.php
similarity index 100%
rename from lang/it-IT/gameversions.php
rename to lang/it_IT/gameversions.php
diff --git a/lang/it-IT/js.php b/lang/it_IT/js.php
similarity index 100%
rename from lang/it-IT/js.php
rename to lang/it_IT/js.php
diff --git a/lang/it-IT/logic.php b/lang/it_IT/logic.php
similarity index 100%
rename from lang/it-IT/logic.php
rename to lang/it_IT/logic.php
diff --git a/lang/it-IT/mapicontypes.php b/lang/it_IT/mapicontypes.php
similarity index 100%
rename from lang/it-IT/mapicontypes.php
rename to lang/it_IT/mapicontypes.php
diff --git a/lang/it-IT/mapping.php b/lang/it_IT/mapping.php
similarity index 100%
rename from lang/it-IT/mapping.php
rename to lang/it_IT/mapping.php
diff --git a/lang/it-IT/models.php b/lang/it_IT/models.php
similarity index 100%
rename from lang/it-IT/models.php
rename to lang/it_IT/models.php
diff --git a/lang/it-IT/npcaggressiveness.php b/lang/it_IT/npcaggressiveness.php
similarity index 100%
rename from lang/it-IT/npcaggressiveness.php
rename to lang/it_IT/npcaggressiveness.php
diff --git a/lang/it-IT/npcclasses.php b/lang/it_IT/npcclasses.php
similarity index 100%
rename from lang/it-IT/npcclasses.php
rename to lang/it_IT/npcclasses.php
diff --git a/lang/it-IT/npcclassifications.php b/lang/it_IT/npcclassifications.php
similarity index 100%
rename from lang/it-IT/npcclassifications.php
rename to lang/it_IT/npcclassifications.php
diff --git a/lang/it-IT/pagination.php b/lang/it_IT/pagination.php
similarity index 100%
rename from lang/it-IT/pagination.php
rename to lang/it_IT/pagination.php
diff --git a/lang/it-IT/passwords.php b/lang/it_IT/passwords.php
similarity index 100%
rename from lang/it-IT/passwords.php
rename to lang/it_IT/passwords.php
diff --git a/lang/it-IT/patreonbenefits.php b/lang/it_IT/patreonbenefits.php
similarity index 100%
rename from lang/it-IT/patreonbenefits.php
rename to lang/it_IT/patreonbenefits.php
diff --git a/lang/it-IT/policy.php b/lang/it_IT/policy.php
similarity index 100%
rename from lang/it-IT/policy.php
rename to lang/it_IT/policy.php
diff --git a/lang/it-IT/races.php b/lang/it_IT/races.php
similarity index 100%
rename from lang/it-IT/races.php
rename to lang/it_IT/races.php
diff --git a/lang/it-IT/releasechangelogcategories.php b/lang/it_IT/releasechangelogcategories.php
similarity index 100%
rename from lang/it-IT/releasechangelogcategories.php
rename to lang/it_IT/releasechangelogcategories.php
diff --git a/lang/it-IT/routeattributes.php b/lang/it_IT/routeattributes.php
similarity index 100%
rename from lang/it-IT/routeattributes.php
rename to lang/it_IT/routeattributes.php
diff --git a/lang/it-IT/rules.php b/lang/it_IT/rules.php
similarity index 100%
rename from lang/it-IT/rules.php
rename to lang/it_IT/rules.php
diff --git a/lang/it-IT/seasons.php b/lang/it_IT/seasons.php
similarity index 100%
rename from lang/it-IT/seasons.php
rename to lang/it_IT/seasons.php
diff --git a/lang/it-IT/services.php b/lang/it_IT/services.php
similarity index 100%
rename from lang/it-IT/services.php
rename to lang/it_IT/services.php
diff --git a/lang/it-IT/specializations.php b/lang/it_IT/specializations.php
similarity index 100%
rename from lang/it-IT/specializations.php
rename to lang/it_IT/specializations.php
diff --git a/lang/it-IT/spells.php b/lang/it_IT/spells.php
similarity index 100%
rename from lang/it-IT/spells.php
rename to lang/it_IT/spells.php
diff --git a/lang/it-IT/teamroles.php b/lang/it_IT/teamroles.php
similarity index 100%
rename from lang/it-IT/teamroles.php
rename to lang/it_IT/teamroles.php
diff --git a/lang/it-IT/validation.php b/lang/it_IT/validation.php
similarity index 100%
rename from lang/it-IT/validation.php
rename to lang/it_IT/validation.php
diff --git a/lang/it-IT/views/admin.php b/lang/it_IT/views/admin.php
similarity index 100%
rename from lang/it-IT/views/admin.php
rename to lang/it_IT/views/admin.php
diff --git a/lang/it-IT/views/app.php b/lang/it_IT/views/app.php
similarity index 100%
rename from lang/it-IT/views/app.php
rename to lang/it_IT/views/app.php
diff --git a/lang/it-IT/views/auth.php b/lang/it_IT/views/auth.php
similarity index 100%
rename from lang/it-IT/views/auth.php
rename to lang/it_IT/views/auth.php
diff --git a/lang/it-IT/views/common.php b/lang/it_IT/views/common.php
similarity index 100%
rename from lang/it-IT/views/common.php
rename to lang/it_IT/views/common.php
diff --git a/lang/it-IT/views/dungeon.php b/lang/it_IT/views/dungeon.php
similarity index 100%
rename from lang/it-IT/views/dungeon.php
rename to lang/it_IT/views/dungeon.php
diff --git a/lang/it-IT/views/dungeonroute.php b/lang/it_IT/views/dungeonroute.php
similarity index 100%
rename from lang/it-IT/views/dungeonroute.php
rename to lang/it_IT/views/dungeonroute.php
diff --git a/lang/it-IT/views/errors.php b/lang/it_IT/views/errors.php
similarity index 100%
rename from lang/it-IT/views/errors.php
rename to lang/it_IT/views/errors.php
diff --git a/lang/it-IT/views/home.php b/lang/it_IT/views/home.php
similarity index 100%
rename from lang/it-IT/views/home.php
rename to lang/it_IT/views/home.php
diff --git a/lang/it-IT/views/layouts.php b/lang/it_IT/views/layouts.php
similarity index 100%
rename from lang/it-IT/views/layouts.php
rename to lang/it_IT/views/layouts.php
diff --git a/lang/it-IT/views/legal.php b/lang/it_IT/views/legal.php
similarity index 100%
rename from lang/it-IT/views/legal.php
rename to lang/it_IT/views/legal.php
diff --git a/lang/it-IT/views/misc.php b/lang/it_IT/views/misc.php
similarity index 100%
rename from lang/it-IT/views/misc.php
rename to lang/it_IT/views/misc.php
diff --git a/lang/it-IT/views/profile.php b/lang/it_IT/views/profile.php
similarity index 100%
rename from lang/it-IT/views/profile.php
rename to lang/it_IT/views/profile.php
diff --git a/lang/it-IT/views/release.php b/lang/it_IT/views/release.php
similarity index 100%
rename from lang/it-IT/views/release.php
rename to lang/it_IT/views/release.php
diff --git a/lang/it-IT/views/team.php b/lang/it_IT/views/team.php
similarity index 100%
rename from lang/it-IT/views/team.php
rename to lang/it_IT/views/team.php
diff --git a/lang/ko-KR/affixes.php b/lang/ko_KR/affixes.php
similarity index 100%
rename from lang/ko-KR/affixes.php
rename to lang/ko_KR/affixes.php
diff --git a/lang/ko-KR/auth.php b/lang/ko_KR/auth.php
similarity index 100%
rename from lang/ko-KR/auth.php
rename to lang/ko_KR/auth.php
diff --git a/lang/ko-KR/breadcrumbs.php b/lang/ko_KR/breadcrumbs.php
similarity index 100%
rename from lang/ko-KR/breadcrumbs.php
rename to lang/ko_KR/breadcrumbs.php
diff --git a/lang/ko-KR/classes.php b/lang/ko_KR/classes.php
similarity index 100%
rename from lang/ko-KR/classes.php
rename to lang/ko_KR/classes.php
diff --git a/lang/ko-KR/controller.php b/lang/ko_KR/controller.php
similarity index 100%
rename from lang/ko-KR/controller.php
rename to lang/ko_KR/controller.php
diff --git a/lang/ko-KR/dungeons.php b/lang/ko_KR/dungeons.php
similarity index 100%
rename from lang/ko-KR/dungeons.php
rename to lang/ko_KR/dungeons.php
diff --git a/lang/ko-KR/exceptions.php b/lang/ko_KR/exceptions.php
similarity index 100%
rename from lang/ko-KR/exceptions.php
rename to lang/ko_KR/exceptions.php
diff --git a/lang/ko-KR/expansions.php b/lang/ko_KR/expansions.php
similarity index 100%
rename from lang/ko-KR/expansions.php
rename to lang/ko_KR/expansions.php
diff --git a/lang/ko-KR/factions.php b/lang/ko_KR/factions.php
similarity index 100%
rename from lang/ko-KR/factions.php
rename to lang/ko_KR/factions.php
diff --git a/lang/ko-KR/gameserverregions.php b/lang/ko_KR/gameserverregions.php
similarity index 100%
rename from lang/ko-KR/gameserverregions.php
rename to lang/ko_KR/gameserverregions.php
diff --git a/lang/ko-KR/gameversions.php b/lang/ko_KR/gameversions.php
similarity index 100%
rename from lang/ko-KR/gameversions.php
rename to lang/ko_KR/gameversions.php
diff --git a/lang/ko-KR/js.php b/lang/ko_KR/js.php
similarity index 100%
rename from lang/ko-KR/js.php
rename to lang/ko_KR/js.php
diff --git a/lang/ko-KR/logic.php b/lang/ko_KR/logic.php
similarity index 100%
rename from lang/ko-KR/logic.php
rename to lang/ko_KR/logic.php
diff --git a/lang/ko-KR/mapicontypes.php b/lang/ko_KR/mapicontypes.php
similarity index 100%
rename from lang/ko-KR/mapicontypes.php
rename to lang/ko_KR/mapicontypes.php
diff --git a/lang/ko-KR/mapping.php b/lang/ko_KR/mapping.php
similarity index 100%
rename from lang/ko-KR/mapping.php
rename to lang/ko_KR/mapping.php
diff --git a/lang/ko-KR/models.php b/lang/ko_KR/models.php
similarity index 100%
rename from lang/ko-KR/models.php
rename to lang/ko_KR/models.php
diff --git a/lang/ko-KR/npcaggressiveness.php b/lang/ko_KR/npcaggressiveness.php
similarity index 100%
rename from lang/ko-KR/npcaggressiveness.php
rename to lang/ko_KR/npcaggressiveness.php
diff --git a/lang/ko-KR/npcclasses.php b/lang/ko_KR/npcclasses.php
similarity index 100%
rename from lang/ko-KR/npcclasses.php
rename to lang/ko_KR/npcclasses.php
diff --git a/lang/ko-KR/npcclassifications.php b/lang/ko_KR/npcclassifications.php
similarity index 100%
rename from lang/ko-KR/npcclassifications.php
rename to lang/ko_KR/npcclassifications.php
diff --git a/lang/ko-KR/pagination.php b/lang/ko_KR/pagination.php
similarity index 100%
rename from lang/ko-KR/pagination.php
rename to lang/ko_KR/pagination.php
diff --git a/lang/ko-KR/passwords.php b/lang/ko_KR/passwords.php
similarity index 100%
rename from lang/ko-KR/passwords.php
rename to lang/ko_KR/passwords.php
diff --git a/lang/ko-KR/patreonbenefits.php b/lang/ko_KR/patreonbenefits.php
similarity index 100%
rename from lang/ko-KR/patreonbenefits.php
rename to lang/ko_KR/patreonbenefits.php
diff --git a/lang/ko-KR/policy.php b/lang/ko_KR/policy.php
similarity index 100%
rename from lang/ko-KR/policy.php
rename to lang/ko_KR/policy.php
diff --git a/lang/ko-KR/races.php b/lang/ko_KR/races.php
similarity index 100%
rename from lang/ko-KR/races.php
rename to lang/ko_KR/races.php
diff --git a/lang/ko-KR/releasechangelogcategories.php b/lang/ko_KR/releasechangelogcategories.php
similarity index 100%
rename from lang/ko-KR/releasechangelogcategories.php
rename to lang/ko_KR/releasechangelogcategories.php
diff --git a/lang/ko-KR/routeattributes.php b/lang/ko_KR/routeattributes.php
similarity index 100%
rename from lang/ko-KR/routeattributes.php
rename to lang/ko_KR/routeattributes.php
diff --git a/lang/ko-KR/rules.php b/lang/ko_KR/rules.php
similarity index 100%
rename from lang/ko-KR/rules.php
rename to lang/ko_KR/rules.php
diff --git a/lang/ko-KR/seasons.php b/lang/ko_KR/seasons.php
similarity index 100%
rename from lang/ko-KR/seasons.php
rename to lang/ko_KR/seasons.php
diff --git a/lang/ko-KR/services.php b/lang/ko_KR/services.php
similarity index 100%
rename from lang/ko-KR/services.php
rename to lang/ko_KR/services.php
diff --git a/lang/ko-KR/specializations.php b/lang/ko_KR/specializations.php
similarity index 100%
rename from lang/ko-KR/specializations.php
rename to lang/ko_KR/specializations.php
diff --git a/lang/ko-KR/spells.php b/lang/ko_KR/spells.php
similarity index 100%
rename from lang/ko-KR/spells.php
rename to lang/ko_KR/spells.php
diff --git a/lang/ko-KR/teamroles.php b/lang/ko_KR/teamroles.php
similarity index 100%
rename from lang/ko-KR/teamroles.php
rename to lang/ko_KR/teamroles.php
diff --git a/lang/ko-KR/validation.php b/lang/ko_KR/validation.php
similarity index 100%
rename from lang/ko-KR/validation.php
rename to lang/ko_KR/validation.php
diff --git a/lang/ko-KR/views/admin.php b/lang/ko_KR/views/admin.php
similarity index 100%
rename from lang/ko-KR/views/admin.php
rename to lang/ko_KR/views/admin.php
diff --git a/lang/ko-KR/views/app.php b/lang/ko_KR/views/app.php
similarity index 100%
rename from lang/ko-KR/views/app.php
rename to lang/ko_KR/views/app.php
diff --git a/lang/ko-KR/views/auth.php b/lang/ko_KR/views/auth.php
similarity index 100%
rename from lang/ko-KR/views/auth.php
rename to lang/ko_KR/views/auth.php
diff --git a/lang/ko-KR/views/common.php b/lang/ko_KR/views/common.php
similarity index 100%
rename from lang/ko-KR/views/common.php
rename to lang/ko_KR/views/common.php
diff --git a/lang/ko-KR/views/dungeon.php b/lang/ko_KR/views/dungeon.php
similarity index 100%
rename from lang/ko-KR/views/dungeon.php
rename to lang/ko_KR/views/dungeon.php
diff --git a/lang/ko-KR/views/dungeonroute.php b/lang/ko_KR/views/dungeonroute.php
similarity index 100%
rename from lang/ko-KR/views/dungeonroute.php
rename to lang/ko_KR/views/dungeonroute.php
diff --git a/lang/ko-KR/views/errors.php b/lang/ko_KR/views/errors.php
similarity index 100%
rename from lang/ko-KR/views/errors.php
rename to lang/ko_KR/views/errors.php
diff --git a/lang/ko-KR/views/home.php b/lang/ko_KR/views/home.php
similarity index 100%
rename from lang/ko-KR/views/home.php
rename to lang/ko_KR/views/home.php
diff --git a/lang/ko-KR/views/layouts.php b/lang/ko_KR/views/layouts.php
similarity index 100%
rename from lang/ko-KR/views/layouts.php
rename to lang/ko_KR/views/layouts.php
diff --git a/lang/ko-KR/views/legal.php b/lang/ko_KR/views/legal.php
similarity index 100%
rename from lang/ko-KR/views/legal.php
rename to lang/ko_KR/views/legal.php
diff --git a/lang/ko-KR/views/misc.php b/lang/ko_KR/views/misc.php
similarity index 100%
rename from lang/ko-KR/views/misc.php
rename to lang/ko_KR/views/misc.php
diff --git a/lang/ko-KR/views/profile.php b/lang/ko_KR/views/profile.php
similarity index 100%
rename from lang/ko-KR/views/profile.php
rename to lang/ko_KR/views/profile.php
diff --git a/lang/ko-KR/views/release.php b/lang/ko_KR/views/release.php
similarity index 100%
rename from lang/ko-KR/views/release.php
rename to lang/ko_KR/views/release.php
diff --git a/lang/ko-KR/views/team.php b/lang/ko_KR/views/team.php
similarity index 100%
rename from lang/ko-KR/views/team.php
rename to lang/ko_KR/views/team.php
diff --git a/lang/localization.csv b/lang/localization.csv
new file mode 100644
index 0000000000..d5c28e5c06
--- /dev/null
+++ b/lang/localization.csv
@@ -0,0 +1,1503 @@
+group,key,en-US,de-DE,es-ES,es-MX,fr-FR,ho-HO,it-IT,ko-KR,pt-BR,ru-RU,zh-CN,zh-TW
+affixes,bolstering.name,Bolstering,,,,,hodor,,,,Усиливающий,,
+affixes,bolstering.description,"When any non-boss enemy dies, its death cry empowers nearby allies, increasing their maximum health and damage by 20%.",,,,,hodor,,,,"Все противники, не являющиеся боссами, в момент гибели издают последний клич, увеличивая максимальный запас здоровья находящихся рядом союзников на 15%, а наносимый ими урон – на 20%.",,
+affixes,bursting.name,Bursting,,,,,hodor,,,,Взрывной,,
+affixes,bursting.description,"When slain, non-boss enemies explode, causing all players to suffer 10% of their max health in damage over 4 sec. This effect stacks.",,,,,hodor,,,,"Все противники, не являющиеся боссами, умирая, взрываются и наносят игрокам периодический урон в течение 4 сек. Этот эффект суммируется.",,
+affixes,explosive.name,Explosive,,,,,hodor,,,,Взрывоопасный,,
+affixes,explosive.description,"While in combat, enemies periodically summon Explosive Orbs that will detonate if not destroyed.",,,,,hodor,,,,"В бою противники периодически призывают взрывоопасные сферы, которые детонируют, если их вовремя не уничтожить.",,
+affixes,fortified.name,Fortified,,,,,hodor,,,,Укрепленный,,
+affixes,fortified.description,Non-boss enemies have 20% more health and inflict up to 30% increased damage.,,,,,hodor,,,,"Противники, не являющиеся боссами, имеют на 20% больше здоровья и наносят на 30% больше урона.",,
+affixes,grievous.name,Grievous,,,,,hodor,,,,Мучительный,,
+affixes,grievous.description,"When injured below 90% health, players will suffer increasing damage over time until healed above 90% health.",,,,,hodor,,,,"Раненые игроки получают нарастающий периодический урон, пока не будут исцелены.",,
+affixes,infested.name,Infested,,,,,hodor,,,,Зараженный,,
+affixes,infested.description,Some non-boss enemies have been infested with a Spawn of G'huun.,,,,,hodor,,,,"Некоторые противники, не являющиеся боссами, заражены порождениями Г'ууна.",,
+affixes,necrotic.name,Necrotic,,,,,hodor,,,,Некротический,,
+affixes,necrotic.description,All enemies' melee attacks apply a stacking blight that inflicts damage over time and reduces healing received.,,,,,hodor,,,,"Все атаки противника в ближнем бою накладывают на цели суммирующийся эффект гнили, который наносит периодический урон и уменьшает получаемое исцеление.",,
+affixes,quaking.name,Quaking,,,,,hodor,,,,Сотрясающий,,
+affixes,quaking.description,"Periodically, all players emit a shockwave, inflicting damage and interrupting nearby allies.",,,,,hodor,,,,"Периодически все игроки излучают ударные волны, нанося урон находящимся рядом союзникам и прерывая применяемые ими способности.",,
+affixes,raging.name,Raging,,,,,hodor,,,,Разъяренный,,
+affixes,raging.description,"Non-boss enemies enrage at 30% health, becoming immune to crowd control other than interrupts.",,,,,hodor,,,,"Противники, не являющиеся боссами, впадают в ярость, когда у них остается менее 30% здоровья, и наносят на 75% больше урона, пока не погибнут.",,
+affixes,relentless.name,Relentless,,,,,hodor,,,,Непреклонность,,
+affixes,relentless.description,Non-boss enemies are granted temporary immunity to Loss of Control effects.,,,,,hodor,,,,"Враги, не являющиеся боссами, получают временный иммунитет к эффектам потери контроля.",,
+affixes,sanguine.name,Sanguine,,,,,hodor,,,,Кровавый,,
+affixes,sanguine.description,"When slain, non-boss enemies leave behind a lingering pool of ichor that heals their allies and damages players.",,,,,hodor,,,,"Все противники, не являющиеся боссами, после гибели оставляют за собой лужу крови, которая лечит их союзников и наносит урон игрокам.",,
+affixes,skittish.name,Skittish,,,,,hodor,,,,Упрямый,,
+affixes,skittish.description,Enemies pay far less attention to threat generated by tanks.,,,,,hodor,,,,"Противники в значительной степени игнорируют объем угрозы, создаваемой танками.",,
+affixes,teeming.name,Teeming,,,,,hodor,,,,Кишащий,,
+affixes,teeming.description,Additional non-boss enemies are present throughout the dungeon.,,,,,hodor,,,,"В подземелье присутствуют дополнительные противники, не являющиеся боссами.",,
+affixes,tyrannical.name,Tyrannical,,,,,hodor,,,,Тиранический,,
+affixes,tyrannical.description,Boss enemies have 30% more health and inflict up to 15% increased damage.,,,,,hodor,,,,У противников-боссов на 30% больше здоровья. Боссы и их прислужники получают прибавку к урону вплоть до 15%.,,
+affixes,volcanic.name,Volcanic,,,,,hodor,,,,Вулканический,,
+affixes,volcanic.description,"While in combat, enemies periodically cause gouts of flame to erupt beneath the feet of distant players.",,,,,hodor,,,,"Под ногами игроков, ведущих бой с противником на дальней дистанции, из-под земли периодически вырываются струи огня.",,
+affixes,reaping.name,Reaping,,,,,hodor,,,,Пожинающий,,
+affixes,reaping.description,Non-boss enemies are empowered by Bwonsamdi and periodically seek vengeance from beyond the grave.,,,,,hodor,,,,"Противники, не являющиеся боссами, усилены Бвонсамди и способны мстить даже после смерти.",,
+affixes,beguiling.name,Beguiling,,,,,hodor,,,,Манящий,,
+affixes,beguiling.description,Azshara's Emissaries are present throughout the dungeon.,,,,,hodor,,,,В подземелье присутствуют посланники Азшары.,,
+affixes,awakened.name,Awakened,,,,,hodor,,,,Пробудившийся,,
+affixes,awakened.description,"Obelisks throughout the dungeon allow players to enter Ny'alotha and confront powerful servants of N'Zoth. If a servant is not dealt with, they must be faced during the final boss encounter.",,,,,hodor,,,,"В подземелье находятся обелиски, позволяющие игрокам войти в Ни'алоту и сразиться с могучими прислужниками Н'Зота. Оставшиеся в живых прислужники будут помогать боссу в финальном сражении.",,
+affixes,inspiring.name,Inspiring,,,,,hodor,,,,Воодушевляющий,,
+affixes,inspiring.description,Some non-boss enemies have an inspiring presence that strengthens their allies.,,,,,hodor,,,,Некоторые не являющиеся боссами противники вдохновляют своим присутствием других врагов.,,
+affixes,spiteful.name,Spiteful,,,,,hodor,,,,Злопамятный,,
+affixes,spiteful.description,Fiends rise from the corpses of non-boss enemies and pursue random players.,,,,,hodor,,,,Бесы восстают из трупов не являющихся боссами противников и преследуют случайных игроков.,,
+affixes,storming.name,Storming,,,,,hodor,,,,Бушующий,,
+affixes,storming.description,"While in combat, enemies periodically summon damaging whirlwinds.",,,,,hodor,,,,"Во время боя противники время от времени призывают вихри, наносящие урон.",,
+affixes,prideful.name,Prideful,,,,,hodor,,,,Полный гордыни,,
+affixes,prideful.description,"Players overflow with pride as they defeat non-boss enemies, eventually forming a Manifestation of Pride. Defeating this Manifestation greatly empowers players.",,,,,hodor,,,,"Побеждая не являющихся боссами противников, игроки переполняются гордыней, пока рядом с ними не появляется воплощение гордыни. Победив воплощение, игроки получают мощное усиление.",,
+affixes,tormented.name,Tormented,,,,,hodor,,,,Истязание,,
+affixes,tormented.description,"Servants of the Jailer can be found throughout the dungeon and grant powerful boons when defeated. If a servant is not dealt with, they empower the final boss.",,,,,hodor,,,,"В разных частях подземелья находятся слуги Тюремщика, за победу над которыми можно получить мощные усиления. Каждый непобежденный слуга Тюремщика усилит финального босса.",,
+affixes,unknown.name,Unknown,,,,,hodor,,,,Неизвестно,,
+affixes,unknown.description,The affixes for this week are not known yet.,,,,,hodor,,,,Аффиксы на этой неделе пока не известны.,,
+affixes,infernal.name,Infernal,,,,,hodor,,,,Инфернал,,
+affixes,infernal.description,Infernal Beacons can be found near some bosses. Activating a Beacon or engaging a nearby boss will trigger a Legion invasion.,,,,,hodor,,,,Инфернальные маяки можно найти рядом с некоторыми боссами. При активации маяка или после начала битвы с боссом происходит вторжение Легиона.,,
+affixes,encrypted.name,Encrypted,,,,,hodor,,,,Зашифрованный,,
+affixes,encrypted.description,"Enemies throughout the dungeon possess relics of the First Ones. Destroy the relics to summon the First Ones' Automa and gain powerful bonuses, based on the order in which they were destroyed.",,,,,hodor,,,,"Противники в подземелье завладели реликвиями Предвечных. Уничтожьте эти реликвии, чтобы призвать автомов и получить мощное усиление. Порядок уничтожения влияет на то, какое усиление вы получите.",,
+affixes,shrouded.name,Shrouded,,,,,hodor,,,,,,
+affixes,shrouded.description,Nathrezim infiltrators have disguised themselves among enemies throughout the dungeon. Cartel Ta will reward you handsomely for assisting in their capture.,,,,,hodor,,,,,,
+affixes,thundering.name,Thundering,,,,,hodor,,,,,,
+affixes,thundering.description,"Enemies have 5% more health. While in combat, players are periodically overcharged with primal power from Raszageth's unending storm. This power comes with great risk, and failure to discharge it quickly can have stunning consequences.",,,,,hodor,,,,,,
+affixes,afflicted.name,Afflicted,,,,,hodor,,,,,,
+affixes,afflicted.description,"While in combat, afflicted souls periodically appear and seek the aid of players.",,,,,hodor,,,,,,
+affixes,entangling.name,Entangling,,,,,hodor,,,,,,
+affixes,entangling.description,"While in combat, entangling vines periodically appear and snare players.",,,,,hodor,,,,,,
+affixes,incorporeal.name,Incorporeal,,,,,hodor,,,,,,
+affixes,incorporeal.description,"While in combat, incorporeal beings periodically appear and attempt to weaken players.",,,,,hodor,,,,,,
+affixes,seasonal_index_preset,%s preset %d,,,,,hodor,,,,%s расстановка %d,,
+auth,failed,These credentials do not match our records.,,,,,hodor,,,,Неверный логин или пароль,,
+auth,throttle,Too many login attempts. Please try again in :seconds seconds.,,,,,hodor,,,,Слишком много попыток входа в систему. Повторите попытку через :seconds секунд.,,
+breadcrumbs,home.keystone_guru,Keystone.guru,,,,,hodor,,,,Keystone.guru,,
+breadcrumbs,home.affixes,Affixes,,,,,hodor,,,,Аффиксы,,
+breadcrumbs,home.changelog,Changelog,,,,,hodor,,,,История изменений,,
+breadcrumbs,home.routes,Routes,,,,,hodor,,,,Маршруты,,
+breadcrumbs,home.routes_expansion,:expansion routes,,,,,hodor,,,,:expansion маршруты,,
+breadcrumbs,home.dungeon.explore,Explore,,,,,hodor,,,,,,
+breadcrumbs,home.dungeonroute.new,New route,,,,,hodor,,,,,,
+breadcrumbs,home.dungeonroutes.search,Search,,,,,hodor,,,,Поиск,,
+breadcrumbs,home.dungeonroutes.popular,Popular,,,,,hodor,,,,Популярные,,
+breadcrumbs,home.dungeonroutes.next_week_affixes,Next week's affixes,,,,,hodor,,,,Аффиксы следующей недели,,
+breadcrumbs,home.dungeonroutes.this_week_affixes,This week's affixes,,,,,hodor,,,,Текущие Аффиксы,,
+breadcrumbs,home.dungeonroutes.new,New,,,,,hodor,,,,Новые,,
+breadcrumbs,home.dungeonroutes.routes_season,Season :season,,,,,hodor,,,,,,
+breadcrumbs,home.dungeonroutes.season.popular,Popular,,,,,hodor,,,,,,
+breadcrumbs,home.dungeonroutes.season.next_week_affixes,Next week's affixes,,,,,hodor,,,,,,
+breadcrumbs,home.dungeonroutes.season.this_week_affixes,This week's affixes,,,,,hodor,,,,,,
+breadcrumbs,home.dungeonroutes.season.new,New,,,,,hodor,,,,,,
+breadcrumbs,home.dungeonroutes.discoverdungeon.popular,Popular,,,,,hodor,,,,Популярные,,
+breadcrumbs,home.dungeonroutes.discoverdungeon.next_week_affixes,Next week's affixes,,,,,hodor,,,,Аффиксы следующей недели,,
+breadcrumbs,home.dungeonroutes.discoverdungeon.this_week_affixes,This week's affixes,,,,,hodor,,,,Текущие Аффиксы,,
+breadcrumbs,home.dungeonroutes.discoverdungeon.new,New,,,,,hodor,,,,Новые,,
+breadcrumbs,home.my_profile,My public profile,,,,,hodor,,,,Мой профиль,,
+breadcrumbs,home.my_routes,My routes,,,,,hodor,,,,Мои маршруты,,
+breadcrumbs,home.my_tags,My tags,,,,,hodor,,,,Мои теги,,
+breadcrumbs,home.my_teams,My teams,,,,,hodor,,,,Моя команда,,
+breadcrumbs,home.overview,Overview,,,,,hodor,,,,Обзор,,
+breadcrumbs,home.new_team,New team,,,,,hodor,,,,Новая команда,,
+breadcrumbs,home.edit_team,Edit team,,,,,hodor,,,,Редактировать команду,,
+breadcrumbs,home.join_team,Join team,,,,,hodor,,,,Присоединиться к команде,,
+breadcrumbs,home.admin.admin,Admin,,,,,hodor,,,,Администратор,,
+breadcrumbs,home.admin.tools.admin_tools,Admin tools,,,,,hodor,,,,Инструменты администратора,,
+breadcrumbs,home.admin.tools.view_exported_dungeondata,View exported dungeondata,,,,,hodor,,,,Просмотреть экспортированные данные подземелий,,
+breadcrumbs,home.admin.tools.view_exported_releases,View exported releases,,,,,hodor,,,,Посмотреть экспортированные релизы,,
+breadcrumbs,home.admin.tools.select_exception,Select exception,,,,,hodor,,,,Выбрать исключения,,
+breadcrumbs,home.admin.tools.mdt_diff,MDT diff,,,,,hodor,,,,Отличия MDT,,
+breadcrumbs,home.admin.tools.view_mdt_string_contents,View MDT string contents,,,,,hodor,,,,Просмотр содержимого строк MDT,,
+breadcrumbs,home.admin.tools.import_npcs,Import NPCs,,,,,hodor,,,,Импортировать НПЦ,,
+breadcrumbs,home.admin.releases,Releases,,,,,hodor,,,,Релиз,,
+breadcrumbs,home.admin.new_release,New release,,,,,hodor,,,,Новый релиз,,
+breadcrumbs,home.admin.edit_release,Edit release,,,,,hodor,,,,Редактировать релиз,,
+breadcrumbs,home.admin.expansions.expansions,Expansions,,,,,hodor,,,,Дополнение,,
+breadcrumbs,home.admin.expansions.new_expansion,New expansion,,,,,hodor,,,,Новое дополнение,,
+breadcrumbs,home.admin.expansions.edit_expansion,Edit expansion,,,,,hodor,,,,Редактировать дополнение,,
+breadcrumbs,home.admin.dungeons.dungeons,Dungeons,,,,,hodor,,,,Подземелье,,
+breadcrumbs,home.admin.dungeons.new_dungeon,New dungeon,,,,,hodor,,,,Новое подземелье,,
+breadcrumbs,home.admin.dungeons.edit_dungeon,Edit :dungeon,,,,,hodor,,,,редактировать подземелье,,
+breadcrumbs,home.admin.floors.new_floor,New floor,,,,,hodor,,,,Этаж,,
+breadcrumbs,home.admin.floors.edit_floor,Edit floor,,,,,hodor,,,,редактировать этаж,,
+breadcrumbs,home.admin.dungeonspeedrunrequirednpc.new_dungeonspeedrunrequirednpc10man,New 10-man Dungeon Speedrun Required NPC,,,,,hodor,,,,,,
+breadcrumbs,home.admin.dungeonspeedrunrequirednpc.new_dungeonspeedrunrequirednpc25man,New 25-man Dungeon Speedrun Required NPC,,,,,hodor,,,,,,
+breadcrumbs,home.admin.npcs.npcs,NPCs,,,,,hodor,,,,НПЦ,,
+breadcrumbs,home.admin.npcs.new_npc,New NPC,,,,,hodor,,,,Новый НПЦ,,
+breadcrumbs,home.admin.npcs.edit_npc,Edit NPC,,,,,hodor,,,,Редактировать НПЦ,,
+breadcrumbs,home.admin.npcenemyforces.edit_npc_enemy_forces,Edit NPC enemy forces,,,,,hodor,,,,,,
+breadcrumbs,home.admin.spells.spells,Spells,,,,,hodor,,,,Способность,,
+breadcrumbs,home.admin.spells.new_spell,New spell,,,,,hodor,,,,Новая способность,,
+breadcrumbs,home.admin.spells.edit_spell,Edit spell,,,,,hodor,,,,Редактировать способность,,
+breadcrumbs,home.admin.users.users,Users,,,,,hodor,,,,Пользователь,,
+breadcrumbs,home.admin.user_reports.user_reports,User reports,,,,,hodor,,,,Отчеты пользователей,,
+classes,death_knight,Death Knight,,,,,hodor,,,,Рыцарь смерти,,
+classes,demon_hunter,Demon Hunter,,,,,hodor,,,,Охотник на демонов,,
+classes,druid,Druid,,,,,hodor,,,,Друид,,
+classes,evoker,Evoker,,,,,hodor,,,,,,
+classes,hunter,Hunter,,,,,hodor,,,,Охотник,,
+classes,mage,Mage,,,,,hodor,,,,Маг,,
+classes,monk,Monk,,,,,hodor,,,,Монах,,
+classes,paladin,Paladin,,,,,hodor,,,,Паладин,,
+classes,priest,Priest,,,,,hodor,,,,Жрец,,
+classes,rogue,Rogue,,,,,hodor,,,,Разбойник,,
+classes,shaman,Shaman,,,,,hodor,,,,Шаман,,
+classes,warlock,Warlock,,,,,hodor,,,,Чернокнижник,,
+classes,warrior,Warrior,,,,,hodor,,,,Воин,,
+controller,admintools.error.mdt_string_parsing_failed,MDT string parsing failed due to an internal server error.,,,,,hodor,,,,,,
+controller,admintools.error.mdt_string_format_not_recognized,The MDT string format was not recognized.,,,,,hodor,,,,Формат строки MDT не распознан.,,
+controller,admintools.error.invalid_mdt_string,Invalid MDT string,,,,,hodor,,,,Неверная строка MDT,,
+controller,admintools.error.invalid_mdt_string_exception,Invalid MDT string: %s,,,,,hodor,,,,Неверная строка MDT: %s,,
+controller,admintools.error.mdt_importer_not_configured,MDT importer is not configured properly. Please contact the admin about this issue.,,,,,hodor,,,,"Импорт MDT настроен неправильно. Пожалуйста, свяжитесь с администратором по поводу этой проблемы.",,
+controller,admintools.error.mdt_unable_to_find_npc_for_id,Unable to find NPC for id %d,,,,,hodor,,,,Невозможно найти NPC по ID %d,,
+controller,admintools.error.mdt_mismatched_health,"NPC %s has mismatched health values, MDT: %s, KG: %s",,,,,hodor,,,,"Не совпадает здоровье NPC %s, MDT: %s, KG: %s",,
+controller,admintools.error.mdt_mismatched_enemy_forces,"NPC %s has mismatched enemy forces, MDT: %s, KG: %s",,,,,hodor,,,,"Не соответствующая способность NPC %s, MDT: %s, KG: %s",,
+controller,admintools.error.mdt_mismatched_enemy_forces_teeming,"NPC %s has mismatched enemy forces teeming, MDT: %s, KG: %s",,,,,hodor,,,,"Таймеры NPC %s не соответствуют, MDT: %s, KG: %s",,
+controller,admintools.error.mdt_mismatched_enemy_count,"NPC %s has mismatched enemy count, MDT: %s, KG: %s",,,,,hodor,,,,"Несоответствующее количество NPC %s, MDT: %s, KG: %s",,
+controller,admintools.error.mdt_mismatched_enemy_type,"NPC %s has mismatched enemy type, MDT: %s, KG: %s",,,,,hodor,,,,"Несоответствующее тип NPC %s, MDT: %s, KG: %s",,
+controller,admintools.error.mdt_invalid_category,Invalid category,,,,,hodor,,,,Неверная категория,,
+controller,admintools.flash.thumbnail_regenerate_result,Dispatched :success jobs for :total routes. :failed failed.,,,,,hodor,,,,,,
+controller,admintools.flash.caches_dropped_successfully,Caches dropped successfully,,,,,hodor,,,,Кеш сброшен успешно,,
+controller,admintools.flash.releases_exported,Releases exported,,,,,hodor,,,,Релизы экспортированы,,
+controller,admintools.flash.exception.token_mismatch,,,,,,hodor,,,,Несоответствие токена,,
+controller,admintools.flash.exception.internal_server_error,Exception thrown in admin panel,,,,,hodor,,,,Дополнение добавлено в админ панель,,
+controller,apidungeonroute.mdt_generate_error,An error occurred generating your MDT string: %s,,,,,hodor,,,,Произошла ошибка при создании строки MDT: %s,,
+controller,apidungeonroute.mdt_generate_no_lua,MDT importer is not configured properly. Please contact the admin about this issue,,,,,hodor,,,,"Импорт MDT настроен неправильно. Пожалуйста, свяжитесь с администратором по поводу этой проблемы",,
+controller,apiuserreport.error.unable_to_update_user_report,Unable to update user report,,,,,hodor,,,,Невозможно обновить отчет пользователя,,
+controller,apiuserreport.error.unable_to_save_report,Unable to save report,,,,,hodor,,,,Невозможно сохранить отчет,,
+controller,brushline.error.unable_to_save_brushline,Unable to save line,,,,,hodor,,,,,,
+controller,brushline.error.unable_to_delete_brushline,Unable to delete line,,,,,hodor,,,,,,
+controller,dungeon.flash.dungeon_created,Dungeon created,,,,,hodor,,,,Подземелье создано,,
+controller,dungeon.flash.dungeon_updated,Dungeon updated,,,,,hodor,,,,Подземелье обновлено,,
+controller,dungeonroute.unable_to_save,Unable to save route,,,,,hodor,,,,Невозможно сохранить маршрут,,
+controller,dungeonroute.flash.route_cloned_successfully,Route cloned successfully,,,,,hodor,,,,Маршрут успешно клонирован,,
+controller,dungeonroute.flash.route_updated,Route updated,,,,,hodor,,,,Маршрут обновлен,,
+controller,dungeonroute.flash.route_created,Route created,,,,,hodor,,,,Маршрут создан,,
+controller,dungeonroutediscover.popular,Popular routes,,,,,hodor,,,,Популярные маршруты,,
+controller,dungeonroutediscover.this_week_affixes,This week's affixes,,,,,hodor,,,,Текущие аффиксы,,
+controller,dungeonroutediscover.next_week_affixes,Next week's affixes,,,,,hodor,,,,Аффиксы следующей неделе,,
+controller,dungeonroutediscover.new,New,,,,,hodor,,,,Новые,,
+controller,dungeonroutediscover.season.popular,%s popular routes,,,,,hodor,,,,,,
+controller,dungeonroutediscover.season.this_week_affixes,%s this week,,,,,hodor,,,,,,
+controller,dungeonroutediscover.season.next_week_affixes,%s next week,,,,,hodor,,,,,,
+controller,dungeonroutediscover.season.new,%s new routes,,,,,hodor,,,,,,
+controller,dungeonroutediscover.dungeon.popular,%s popular routes,,,,,hodor,,,,%s популярные маршруты,,
+controller,dungeonroutediscover.dungeon.this_week_affixes,%s this week,,,,,hodor,,,,%s текущие аффиксы,,
+controller,dungeonroutediscover.dungeon.next_week_affixes,%s next week,,,,,hodor,,,,%s аффиксы следующей неделе,,
+controller,dungeonroutediscover.dungeon.new,%s new routes,,,,,hodor,,,,%s Новые,,
+controller,dungeonspeedrunrequirednpcs.no_linked_npc,No linked NPC,,,,,hodor,,,,,,
+controller,dungeonspeedrunrequirednpcs.flash.npc_added_successfully,Successfully added NPC,,,,,hodor,,,,,,
+controller,dungeonspeedrunrequirednpcs.flash.npc_deleted_successfully,Successfully removed NPC,,,,,hodor,,,,,,
+controller,expansion.flash.unable_to_save_expansion,Unable to save expansion,,,,,hodor,,,,Не удалось сохранить дополнение,,
+controller,expansion.flash.expansion_updated,Expansion updated,,,,,hodor,,,,Дополнение обновлено,,
+controller,expansion.flash.expansion_created,Expansion created,,,,,hodor,,,,Дополнение создано,,
+controller,generic.error.floor_not_found_in_dungeon,Floor not part of dungeon,,,,,hodor,,,,,,
+controller,generic.error.not_found,Not found,,,,,hodor,,,,,,
+controller,oauthlogin.flash.registered_successfully,Registered successfully. Enjoy the website!,,,,,hodor,,,,Регистрация прошла успешно.,,
+controller,oauthlogin.flash.user_exists,There is already a user with username %s. Did you already register before?,,,,,hodor,,,,Пользователь с таким именем уже существует %s. Может быть вы уже зарегистрированы?,,
+controller,oauthlogin.flash.email_exists,There is already a user with e-mail address %s. Did you already register before?,,,,,hodor,,,,Пользователь с таким электронным адресом уже существует %s. Может быть вы уже зарегистрированы?,,
+controller,oauthlogin.flash.permission_denied,Unable to register - the request was denied. Please try again.,,,,,hodor,,,,,,
+controller,register.flash.registered_successfully,Registered successfully. Enjoy the website!,,,,,hodor,,,,Регистрация прошла успешно.,,
+controller,register.legal_agreed_required,You have to agree to our legal terms to register.,,,,,hodor,,,,Вы должны согласиться с пользовательским соглашением и политикой конфиденциальности для регистрации,,
+controller,register.legal_agreed_accepted,You have to agree to our legal terms to register.,,,,,hodor,,,,Вы должны согласиться с пользовательским соглашением и политикой конфиденциальности для регистрации,,
+controller,release.error.unable_to_save_release,Unable to save release,,,,,hodor,,,,Невозможно сохранить релиз,,
+controller,release.flash.release_updated,Release updated,,,,,hodor,,,,Релиз обновлен,,
+controller,release.flash.release_created,Release created,,,,,hodor,,,,Релиз создан,,
+controller,release.flash.github_exception,An error occurred communicating with Github: %s,,,,,hodor,,,,Произошла ошибка связи с Github: %s,,
+controller,mappingversion.created_successfully,Added new mapping version!,,,,,hodor,,,,,,
+controller,mappingversion.deleted_successfully,Deleted mapping version successfully,,,,,hodor,,,,,,
+controller,mdtimport.unknown_dungeon,Unknown dungeon,,,,,hodor,,,,Неизвестное подземелье,,
+controller,mdtimport.error.mdt_string_parsing_failed,MDT string parsing failed due to an internal server error.,,,,,hodor,,,,,,
+controller,mdtimport.error.mdt_string_format_not_recognized,The MDT string format was not recognized.,,,,,hodor,,,,Формат строки MDT не распознан.,,
+controller,mdtimport.error.invalid_mdt_string_exception,Invalid MDT string: %s,,,,,hodor,,,,Недействительная строка MDT: %s,,
+controller,mdtimport.error.invalid_mdt_string,Invalid MDT string,,,,,hodor,,,,Недействительная строка MDT,,
+controller,mdtimport.error.mdt_importer_not_configured_properly,MDT importer is not configured properly. Please contact the admin about this issue.,,,,,hodor,,,,"Импорт MDT настроен неправильно. Пожалуйста, свяжитесь с администратором по поводу этой проблемы.",,
+controller,mdtimport.error.cannot_create_route_must_be_logged_in,You must be logged in to create a route,,,,,hodor,,,,"Вы должны авторизоваться, чтобы создать маршрут",,
+controller,path.error.unable_to_save_path,Unable to save path,,,,,hodor,,,,,,
+controller,path.error.unable_to_delete_path,Unable to delete path,,,,,hodor,,,,,,
+controller,patreon.flash.unlink_successful,Your Patreon account has successfully been unlinked.,,,,,hodor,,,,,,
+controller,patreon.flash.link_successful,Your Patreon has been linked successfully. Thank you!,,,,,hodor,,,,,,
+controller,patreon.flash.patreon_session_expired,Your Patreon session has expired. Please try again.,,,,,hodor,,,,,,
+controller,patreon.flash.session_expired,Your session has expired. Please try again.,,,,,hodor,,,,,,
+controller,patreon.flash.patreon_error_occurred,An error occurred on Patreon's side. Please try again later.,,,,,hodor,,,,,,
+controller,patreon.flash.internal_error_occurred,An error occurred while processing Patreon's response - it appears to be malformed. The error was logged and will be dealt with. Please try again later.,,,,,hodor,,,,,,
+controller,profile.flash.email_already_in_use,That username is already in use.,,,,,hodor,,,,Пользователь с таким электронным адресом уже существует,,
+controller,profile.flash.username_already_in_use,That username is already in use.,,,,,hodor,,,,Пользователь с таким именем уже существует,,
+controller,profile.flash.profile_updated,Profile updated,,,,,hodor,,,,Профиль обновлен,,
+controller,profile.flash.unexpected_error_when_saving,An unexpected error occurred trying to save your profile,,,,,hodor,,,,Произошла непредвиденная ошибка при попытке сохранить ваш профиль.,,
+controller,profile.flash.privacy_settings_updated,Privacy settings updated,,,,,hodor,,,,Настройки конфиденциальности обновлены,,
+controller,profile.flash.password_changed,Password changed,,,,,hodor,,,,Пароль изменен,,
+controller,profile.flash.new_password_equals_old_password,New password equals the old password,,,,,hodor,,,,Новый пароль совпадает со старым паролем,,
+controller,profile.flash.new_passwords_do_not_match,New passwords do not match,,,,,hodor,,,,Новый пароль не совпадает,,
+controller,profile.flash.current_password_is_incorrect,Current password is incorrect,,,,,hodor,,,,Текущий пароль неверен,,
+controller,profile.flash.tag_created_successfully,Tag created successfully,,,,,hodor,,,,Тег создан успешно,,
+controller,profile.flash.tag_already_exists,This tag already exists,,,,,hodor,,,,Этот тег уже существует,,
+controller,profile.flash.admins_cannot_delete_themselves,Admins cannot delete themselves!,,,,,hodor,,,,Админ не может удалить сам себя!,,
+controller,profile.flash.account_deleted_successfully,Account deleted successfully.,,,,,hodor,,,,Аккаунт успешно удален.,,
+controller,profile.flash.error_deleting_account,An error occurred. Please try again.,,,,,hodor,,,,"Произошла ошибка. Пожалуйста, попробуйте еще раз.",,
+controller,spell.error.unable_to_save_spell,Unable to save spell,,,,,hodor,,,,Невозможно сохранить способность,,
+controller,spell.flash.spell_updated,Spell updated,,,,,hodor,,,,Способность обновлена,,
+controller,spell.flash.spell_created,Spell created,,,,,hodor,,,,Способность создана,,
+controller,team.flash.team_updated,Team updated,,,,,hodor,,,,Команда обновлена,,
+controller,team.flash.team_created,Team created,,,,,hodor,,,,Команда создана,,
+controller,team.flash.unable_to_find_team_for_invite_code,Unable to find a team associated with this invite code,,,,,hodor,,,,"Невозможно найти команду, связанную с этим кодом приглашения",,
+controller,team.flash.invite_accept_success,Success! You are now a member of team %s.,,,,,hodor,,,,Теперь ты член команды %s.,,
+controller,team.flash.tag_created_successfully,Tag created successfully,,,,,hodor,,,,Тег успешно создан,,
+controller,team.flash.tag_already_exists,This tag already exists,,,,,hodor,,,,Этот тег уже существует,,
+controller,user.flash.user_is_now_an_admin,User %s is now an admin,,,,,hodor,,,,Пользователь %s теперь администратор,,
+controller,user.flash.user_is_no_longer_an_admin,User %s is no longer an admin,,,,,hodor,,,,Пользователь %s больше не администратор,,
+controller,user.flash.user_is_now_a_user,User %s is now a user,,,,,hodor,,,,Пользователь %s теперь пользователь,,
+controller,user.flash.account_deleted_successfully,Account deleted successfully.,,,,,hodor,,,,Аккаунт успешно удален.,,
+controller,user.flash.account_deletion_error,An error occurred. Please try again.,,,,,hodor,,,,"Произошла ошибка. Пожалуйста, попробуйте еще раз.",,
+controller,user.flash.user_is_not_a_patron,This user is not a Patron.,,,,,hodor,,,,Этот пользователь не подписчик Patron,,
+controller,user.flash.all_benefits_granted_successfully,All benefits granted successfully.,,,,,hodor,,,,,,
+controller,user.flash.error_granting_all_benefits,An error occurred while trying to grant all benefits.,,,,,hodor,,,,,,
+dungeons,difficulty.1,10-man,,,,,hodor,,,,,,
+dungeons,difficulty.2,25-man,,,,,hodor,,,,,,
+dungeons,classic.blackfathom_deeps.name,Blackfathom Deeps,,,,,hodor,,,,,,
+dungeons,classic.blackfathom_deeps.floors.the_pool_of_ask_ar,The Pool of Ask'Ar,,,,,hodor,,,,,,
+dungeons,classic.blackfathom_deeps.floors.moonshrine_sanctum,Moonshrine Sanctum,,,,,hodor,,,,,,
+dungeons,classic.blackfathom_deeps.floors.the_forgotten_pool,The Forgotten Pool,,,,,hodor,,,,,,
+dungeons,classic.blackrock_depths.name,Blackrock Depths,,,,,hodor,,,,,,
+dungeons,classic.blackrock_depths.floors.detention_block,Detention Block,,,,,hodor,,,,,,
+dungeons,classic.blackrock_depths.floors.shadowforge_city,Shadowforge City,,,,,hodor,,,,,,
+dungeons,classic.deadmines.name,The Deadmines,,,,,hodor,,,,,,
+dungeons,classic.deadmines.floors.the_deadmines,The Deadmines,,,,,hodor,,,,,,
+dungeons,classic.deadmines.floors.ironclad_cove,Ironclad Cove,,,,,hodor,,,,,,
+dungeons,classic.dire_maul_west.name,Dire Maul West,,,,,hodor,,,,,,
+dungeons,classic.dire_maul_west.floors.capital_gardens,Capital Gardens,,,,,hodor,,,,,,
+dungeons,classic.dire_maul_west.floors.court_of_the_highborne,Court of the Highborne,,,,,hodor,,,,,,
+dungeons,classic.dire_maul_west.floors.prison_of_immol_thar,Prison of Immol'Thar,,,,,hodor,,,,,,
+dungeons,classic.dire_maul_north.name,Dire Maul North,,,,,hodor,,,,,,
+dungeons,classic.dire_maul_north.floors.gordok_commons,Gordok Commons,,,,,hodor,,,,,,
+dungeons,classic.dire_maul_east.name,Dire Maul East,,,,,hodor,,,,,,
+dungeons,classic.dire_maul_east.floors.warpwood_quarter,Warpwood Quarter,,,,,hodor,,,,,,
+dungeons,classic.dire_maul_east.floors.the_shrine_of_eldretharr,The Shrine of Eldretharr,,,,,hodor,,,,,,
+dungeons,classic.gnomeregan.name,Gnomeregan,,,,,hodor,,,,,,
+dungeons,classic.gnomeregan.floors.the_hall_of_gears,The Hall of Gears,,,,,hodor,,,,,,
+dungeons,classic.gnomeregan.floors.the_dormitory,The Dormitory,,,,,hodor,,,,,,
+dungeons,classic.gnomeregan.floors.launch_bay,Launch Bay,,,,,hodor,,,,,,
+dungeons,classic.gnomeregan.floors.tinkers_court,Tinkers' Court,,,,,hodor,,,,,,
+dungeons,classic.gnomeregan_sod.name,Gnomeregan (SoD),,,,,hodor,,,,,,
+dungeons,classic.gnomeregan_sod.floors.the_hall_of_gears,The Hall of Gears,,,,,hodor,,,,,,
+dungeons,classic.gnomeregan_sod.floors.the_dormitory,The Dormitory,,,,,hodor,,,,,,
+dungeons,classic.gnomeregan_sod.floors.launch_bay,Launch Bay,,,,,hodor,,,,,,
+dungeons,classic.gnomeregan_sod.floors.tinkers_court,Tinkers' Court,,,,,hodor,,,,,,
+dungeons,classic.lower_blackrock_spire.name,Lower Blackrock Spire,,,,,hodor,,,,,,
+dungeons,classic.lower_blackrock_spire.floors.tazz_alor,Tazz'Alor,,,,,hodor,,,,,,
+dungeons,classic.lower_blackrock_spire.floors.skitterweb_tunnels,Skitterweb Tunnels,,,,,hodor,,,,,,
+dungeons,classic.lower_blackrock_spire.floors.hordemar_city,Hordemar City,,,,,hodor,,,,,,
+dungeons,classic.lower_blackrock_spire.floors.hall_of_blackhand,Hall of Blackhand,,,,,hodor,,,,,,
+dungeons,classic.lower_blackrock_spire.floors.halycons_lair,Halycon's Lair,,,,,hodor,,,,,,
+dungeons,classic.lower_blackrock_spire.floors.chamber_of_battle,Chamber of Battle,,,,,hodor,,,,,,
+dungeons,classic.maraudon.name,Maraudon,,,,,hodor,,,,,,
+dungeons,classic.maraudon.floors.caverns_of_maraudon,Caverns of Maraudon,,,,,hodor,,,,,,
+dungeons,classic.maraudon.floors.zaetars_grave,Zaetar's Grave,,,,,hodor,,,,,,
+dungeons,classic.ragefire_chasm.name,Ragefire Chasm,,,,,hodor,,,,,,
+dungeons,classic.ragefire_chasm.floors.ragefire_chasm,Ragefire Chasm,,,,,hodor,,,,,,
+dungeons,classic.razorfen_downs.name,Razorfen Downs,,,,,hodor,,,,,,
+dungeons,classic.razorfen_downs.floors.razorfen_downs,Razorfen Downs,,,,,hodor,,,,,,
+dungeons,classic.razorfen_kraul.name,Razorfen Kraul,,,,,hodor,,,,,,
+dungeons,classic.razorfen_kraul.floors.razorfen_kraul,Razorfen Kraul,,,,,hodor,,,,,,
+dungeons,classic.scarlet_monastery_armory.name,Scarlet Monastery Armory,,,,,hodor,,,,,,
+dungeons,classic.scarlet_monastery_armory.floors.armory,Armory,,,,,hodor,,,,,,
+dungeons,classic.scarlet_monastery_cathedral.name,Scarlet Monastery Cathedral,,,,,hodor,,,,,,
+dungeons,classic.scarlet_monastery_cathedral.floors.cathedral,Cathedral,,,,,hodor,,,,,,
+dungeons,classic.scarlet_monastery_graveyard.name,Scarlet Monastery Graveyard,,,,,hodor,,,,,,
+dungeons,classic.scarlet_monastery_graveyard.floors.graveyard,Graveyard,,,,,hodor,,,,,,
+dungeons,classic.scarlet_monastery_library.name,Scarlet Monastery Library,,,,,hodor,,,,,,
+dungeons,classic.scarlet_monastery_library.floors.library,Library,,,,,hodor,,,,,,
+dungeons,classic.scholomance.name,Scholomance,,,,,hodor,,,,,,
+dungeons,classic.scholomance.floors.the_reliquary,The Reliquary,,,,,hodor,,,,,,
+dungeons,classic.scholomance.floors.chamber_of_summoning,Chamber of Summoning,,,,,hodor,,,,,,
+dungeons,classic.scholomance.floors.the_upper_study,The Upper Study,,,,,hodor,,,,,,
+dungeons,classic.scholomance.floors.headmasters_story,Headmaster's Study,,,,,hodor,,,,,,
+dungeons,classic.shadowfang_keep.name,Shadowfang Keep,,,,,hodor,,,,,,
+dungeons,classic.shadowfang_keep.floors.the_courtyard,The Courtyard,,,,,hodor,,,,,,
+dungeons,classic.shadowfang_keep.floors.dining_hall,Dining Hall,,,,,hodor,,,,,,
+dungeons,classic.shadowfang_keep.floors.the_vacant_den,The Vacant Den,,,,,hodor,,,,,,
+dungeons,classic.shadowfang_keep.floors.lower_observatory,Lower Observatory,,,,,hodor,,,,,,
+dungeons,classic.shadowfang_keep.floors.upper_observatory,Upper Observatory,,,,,hodor,,,,,,
+dungeons,classic.shadowfang_keep.floors.lord_godfreys_chamber,Lord Godfrey's Chamber,,,,,hodor,,,,,,
+dungeons,classic.shadowfang_keep.floors.the_wall_walk,The Wall Walk,,,,,hodor,,,,,,
+dungeons,classic.stratholme.name,Stratholme,,,,,hodor,,,,,,
+dungeons,classic.stratholme.floors.crusaders_square,Crusader's Square,,,,,hodor,,,,,,
+dungeons,classic.stratholme.floors.the_gauntlet,The Gauntlet,,,,,hodor,,,,,,
+dungeons,classic.the_stockade.name,The Stockade,,,,,hodor,,,,,,
+dungeons,classic.the_stockade.floors.the_stockade,The Stockade,,,,,hodor,,,,,,
+dungeons,classic.the_temple_of_atal_hakkar.name,The Temple of Atal'Hakkar,,,,,hodor,,,,,,
+dungeons,classic.the_temple_of_atal_hakkar.floors.the_pit_of_refuse,The Pit of Refuse,,,,,hodor,,,,,,
+dungeons,classic.the_temple_of_atal_hakkar.floors.hall_of_serpents,Hall of Serpents,,,,,hodor,,,,,,
+dungeons,classic.the_temple_of_atal_hakkar.floors.entrance,Entrance,,,,,hodor,,,,,,
+dungeons,classic.the_temple_of_atal_hakkar.floors.the_temple_of_atal_hakkar,The Temple of Atal'Hakkar,,,,,hodor,,,,,,
+dungeons,classic.the_temple_of_atal_hakkar.floors.hall_of_the_cursed,Hall of the Cursed,,,,,hodor,,,,,,
+dungeons,classic.uldaman.name,Uldaman,,,,,hodor,,,,,,
+dungeons,classic.uldaman.floors.hall_of_the_keepers,Hall of the Keepers,,,,,hodor,,,,,,
+dungeons,classic.uldaman.floors.khaz_goroths_seat,Khaz'Goroth's Seat,,,,,hodor,,,,,,
+dungeons,classic.upper_blackrock_spire.name,Upper Blackrock Spire,,,,,hodor,,,,,,
+dungeons,classic.upper_blackrock_spire.floors.dragonspire_hall,Dragonspire Hall,,,,,hodor,,,,,,
+dungeons,classic.upper_blackrock_spire.floors.the_rookery,The Rookery,,,,,hodor,,,,,,
+dungeons,classic.upper_blackrock_spire.floors.hall_of_blackhand,Hall of Blackhand,,,,,hodor,,,,,,
+dungeons,classic.wailing_caverns.name,Wailing Caverns,,,,,hodor,,,,,,
+dungeons,classic.wailing_caverns.floors.wailing_caverns,Wailing Caverns,,,,,hodor,,,,,,
+dungeons,classic.zul_farrak.name,Zul'Farrak,,,,,hodor,,,,,,
+dungeons,classic.zul_farrak.floors.zul_farrak,Zul'Farrak,,,,,hodor,,,,,,
+dungeons,wotlk.ahn_kahet_the_old_kingdom.name,Ahn'kahet: The Old Kingdom,,,,,hodor,,,,,,
+dungeons,wotlk.ahn_kahet_the_old_kingdom.floors.ahn_kahet_the_old_kingdom,Ahn'kahet: The Old Kingdom,,,,,hodor,,,,,,
+dungeons,wotlk.azjol_nerub.name,Azjol-Nerub,,,,,hodor,,,,,,
+dungeons,wotlk.azjol_nerub.floors.the_brood_pit,The Brood Pit,,,,,hodor,,,,,,
+dungeons,wotlk.azjol_nerub.floors.hadronoxs_lair,Hadronox's Lair,,,,,hodor,,,,,,
+dungeons,wotlk.azjol_nerub.floors.the_gilded_gate,The Gilded Gate,,,,,hodor,,,,,,
+dungeons,wotlk.drak_tharon_keep.name,Drak'Tharon Keep,,,,,hodor,,,,,,
+dungeons,wotlk.drak_tharon_keep.floors.the_vestibules_of_drak_tharon,The Vestibules of Drak'Tharon,,,,,hodor,,,,,,
+dungeons,wotlk.drak_tharon_keep.floors.drak_tharon_overlook,Drak'Tharon Overlook,,,,,hodor,,,,,,
+dungeons,wotlk.gundrak.name,Gundrak,,,,,hodor,,,,,,
+dungeons,wotlk.gundrak.floors.gundrak,Gundrak,,,,,hodor,,,,,,
+dungeons,wotlk.halls_of_lightning.name,Halls of Lightning,,,,,hodor,,,,,,
+dungeons,wotlk.halls_of_lightning.floors.unyielding_garrison,Unyielding Garrison,,,,,hodor,,,,,,
+dungeons,wotlk.halls_of_lightning.floors.walk_of_the_makers,Walk of the Makers,,,,,hodor,,,,,,
+dungeons,wotlk.halls_of_reflection.name,Halls of Reflection,,,,,hodor,,,,,,
+dungeons,wotlk.halls_of_reflection.floors.halls_of_reflection,Halls of Reflection,,,,,hodor,,,,,,
+dungeons,wotlk.halls_of_stone.name,Halls of Stone,,,,,hodor,,,,,,
+dungeons,wotlk.halls_of_stone.floors.halls_of_stone,Halls of Stone,,,,,hodor,,,,,,
+dungeons,wotlk.pit_of_saron.name,Pit of Saron,,,,,hodor,,,,,,
+dungeons,wotlk.pit_of_saron.floors.pit_of_saron,Pit of Saron,,,,,hodor,,,,,,
+dungeons,wotlk.the_culling_of_stratholme.name,The Culling of Stratholme,,,,,hodor,,,,,,
+dungeons,wotlk.the_culling_of_stratholme.floors.the_culling_of_stratholme,The Culling of Stratholme,,,,,hodor,,,,,,
+dungeons,wotlk.the_culling_of_stratholme.floors.stratholme_city,Stratholme City,,,,,hodor,,,,,,
+dungeons,wotlk.the_forge_of_souls.name,The Forge of Souls,,,,,hodor,,,,,,
+dungeons,wotlk.the_forge_of_souls.floors.the_forge_of_souls,The Forge of Souls,,,,,hodor,,,,,,
+dungeons,wotlk.the_nexus.name,The Nexus,,,,,hodor,,,,,,
+dungeons,wotlk.the_nexus.floors.the_nexus,The Nexus,,,,,hodor,,,,,,
+dungeons,wotlk.the_oculus.name,The Oculus,,,,,hodor,,,,,,
+dungeons,wotlk.the_oculus.floors.the_oculus,The Oculus,,,,,hodor,,,,,,
+dungeons,wotlk.the_oculus.floors.band_of_variance,Band of Variance,,,,,hodor,,,,,,
+dungeons,wotlk.the_oculus.floors.band_of_acceleration,Band of Acceleration,,,,,hodor,,,,,,
+dungeons,wotlk.the_oculus.floors.band_of_transmutation,Band of Transmutation,,,,,hodor,,,,,,
+dungeons,wotlk.the_oculus.floors.band_of_alignment,Band of Alignment,,,,,hodor,,,,,,
+dungeons,wotlk.the_violet_hold.name,The Violet Hold,,,,,hodor,,,,,,
+dungeons,wotlk.the_violet_hold.floors.the_violet_hold,The Violet Hold,,,,,hodor,,,,,,
+dungeons,wotlk.trial_of_the_champion.name,Trial of the Champion,,,,,hodor,,,,,,
+dungeons,wotlk.utgarde_keep.name,Utgarde Keep,,,,,hodor,,,,,,
+dungeons,wotlk.utgarde_keep.floors.njorndir_preparation,Njorndir Preparation,,,,,hodor,,,,,,
+dungeons,wotlk.utgarde_keep.floors.dragonflayer_ascent,Dragonflayer Ascent,,,,,hodor,,,,,,
+dungeons,wotlk.utgarde_keep.floors.tyrs_terrace,Tyr's Terrace,,,,,hodor,,,,,,
+dungeons,wotlk.utgarde_pinnacle.name,Utgarde Pinnacle,,,,,hodor,,,,,,
+dungeons,wotlk.utgarde_pinnacle.floors.lower_pinnacle,Lower Pinnacle,,,,,hodor,,,,,,
+dungeons,wotlk.utgarde_pinnacle.floors.upper_pinnacle,Upper Pinnacle,,,,,hodor,,,,,,
+dungeons,wotlk.icecrown_citadel.name,Icecrown Citadel,,,,,hodor,,,,,,
+dungeons,wotlk.icecrown_citadel.floors.the_lower_citadel,The Lower Citadel,,,,,hodor,,,,,,
+dungeons,wotlk.icecrown_citadel.floors.the_rampart_of_skulls,The Rampart of Skulls,,,,,hodor,,,,,,
+dungeons,wotlk.icecrown_citadel.floors.deathbringers_rise,Deathbringer's Rise,,,,,hodor,,,,,,
+dungeons,wotlk.icecrown_citadel.floors.the_frost_queens_lair,The Frost Queen's Lair,,,,,hodor,,,,,,
+dungeons,wotlk.icecrown_citadel.floors.the_upper_reach,The Upper Reach,,,,,hodor,,,,,,
+dungeons,wotlk.icecrown_citadel.floors.royal_quarters,Royal Quarters,,,,,hodor,,,,,,
+dungeons,wotlk.icecrown_citadel.floors.the_frozen_throne,The Frozen Throne,,,,,hodor,,,,,,
+dungeons,wotlk.icecrown_citadel.floors.frostmourne,Frostmourne,,,,,hodor,,,,,,
+dungeons,wotlk.onyxias_lair.name,Onyxia's Lair,,,,,hodor,,,,,,
+dungeons,wotlk.onyxias_lair.floors.onyxias_lair,Onyxia's Lair,,,,,hodor,,,,,,
+dungeons,wotlk.naxxramas.name,Naxxramas,,,,,hodor,,,,,,
+dungeons,wotlk.naxxramas.floors.the_construct_quarter,The Construct Quarter,,,,,hodor,,,,,,
+dungeons,wotlk.naxxramas.floors.the_arachnid_quarter,The Arachnid Quarter,,,,,hodor,,,,,,
+dungeons,wotlk.naxxramas.floors.the_military_quarter,The Military Quarter,,,,,hodor,,,,,,
+dungeons,wotlk.naxxramas.floors.the_plague_quarter,The Plague Quarter,,,,,hodor,,,,,,
+dungeons,wotlk.naxxramas.floors.the_lower_necropolis,The Lower Necropolis,,,,,hodor,,,,,,
+dungeons,wotlk.naxxramas.floors.the_upper_necropolis,The Upper Necropolis,,,,,hodor,,,,,,
+dungeons,wotlk.crusaders_coliseum_trial_of_the_crusader.name,Crusaders Coliseum: Trial of the Crusader,,,,,hodor,,,,,,
+dungeons,wotlk.crusaders_coliseum_trial_of_the_crusader.floors.the_argent_coliseum,The Argent Coliseum,,,,,hodor,,,,,,
+dungeons,wotlk.crusaders_coliseum_trial_of_the_crusader.floors.the_icy_depths,The Icy Depths,,,,,hodor,,,,,,
+dungeons,wotlk.the_eye_of_eternity.name,The Eye of Eternity,,,,,hodor,,,,,,
+dungeons,wotlk.the_eye_of_eternity.floors.the_eye_of_eternity,The Eye of Eternity,,,,,hodor,,,,,,
+dungeons,wotlk.the_obsidian_sanctum.name,The Obsidian Sanctum,,,,,hodor,,,,,,
+dungeons,wotlk.the_obsidian_sanctum.floors.the_obsidian_sanctum,The Obsidian Sanctum,,,,,hodor,,,,,,
+dungeons,wotlk.the_ruby_sanctum.name,The Ruby Sanctum,,,,,hodor,,,,,,
+dungeons,wotlk.the_ruby_sanctum.floors.the_ruby_sanctum,The Ruby Sanctum,,,,,hodor,,,,,,
+dungeons,wotlk.ulduar.name,Ulduar,,,,,hodor,,,,,,
+dungeons,wotlk.ulduar.floors.ulduar,Ulduar,,,,,hodor,,,,,,
+dungeons,wotlk.ulduar.floors.the_antechamber_of_ulduar,The Antechamber of Ulduar,,,,,hodor,,,,,,
+dungeons,wotlk.ulduar.floors.the_inner_sanctum_of_ulduar,The Inner Sanctum of Ulduar,,,,,hodor,,,,,,
+dungeons,wotlk.ulduar.floors.the_prison_of_yogg_saron,The Prison of Yogg-Saron,,,,,hodor,,,,,,
+dungeons,wotlk.ulduar.floors.the_spark_of_imagination,The Spark of Imagination,,,,,hodor,,,,,,
+dungeons,wotlk.ulduar.floors.the_minds_eye,The Mind's Eye,,,,,hodor,,,,,,
+dungeons,wotlk.vault_of_archavon.name,Vault of Archavon,,,,,hodor,,,,,,
+dungeons,wotlk.vault_of_archavon.floors.vault_of_archavon,Vault of Archavon,,,,,hodor,,,,,,
+dungeons,cata.the_vortex_pinnacle.name,The Vortex Pinnacle,,,,,hodor,,,,,,
+dungeons,cata.the_vortex_pinnacle.floors.cyclone_summit,Cyclone Summit,,,,,hodor,,,,,,
+dungeons,cata.throne_of_the_tides.name,Throne of the Tides,,,,,hodor,,,,,,
+dungeons,cata.throne_of_the_tides.floors.abyssal_halls,Abyssal Halls,,,,,hodor,,,,,,
+dungeons,cata.throne_of_the_tides.floors.throne_of_neptulon,Throne of Neptulon,,,,,hodor,,,,,,
+dungeons,cata.throne_of_the_tides.floors.throne_of_the_tides,Throne of the Tides,,,,,hodor,,,,,,
+dungeons,mop.temple_of_the_jade_serpent.name,Temple of the Jade Serpent,,,,,hodor,,,,,,
+dungeons,mop.temple_of_the_jade_serpent.floors.temple_of_the_jade_serpent,Temple of the Jade Serpent,,,,,hodor,,,,,,
+dungeons,mop.temple_of_the_jade_serpent.floors.scrollkeepers_sanctum,Scrollkeeper's Sanctum,,,,,hodor,,,,,,
+dungeons,wod.auchindoun.name,Auchindoun,,,,,hodor,,,,,,
+dungeons,wod.auchindoun.floors.auchindoun,Auchindoun,,,,,hodor,,,,,,
+dungeons,wod.bloodmaul_slag_mines.name,Bloodmaul Slag Mines,,,,,hodor,,,,,,
+dungeons,wod.bloodmaul_slag_mines.floors.bloodmaul_slag_mines,Bloodmaul Slag Mines,,,,,hodor,,,,,,
+dungeons,wod.iron_docks.name,Iron Docks,,,,,hodor,,,,,,
+dungeons,wod.iron_docks.floors.iron_docks,Iron Docks,,,,,hodor,,,,,,
+dungeons,wod.grimrail_depot.name,Grimrail Depot,,,,,hodor,,,,,,
+dungeons,wod.grimrail_depot.floors.rafters,Rafters,,,,,hodor,,,,,,
+dungeons,wod.grimrail_depot.floors.train_depot,Train Depot,,,,,hodor,,,,,,
+dungeons,wod.grimrail_depot.floors.rear_train_cars,Rear Train Cars,,,,,hodor,,,,,,
+dungeons,wod.grimrail_depot.floors.forward_train_cars,Forward Train Cars,,,,,hodor,,,,,,
+dungeons,wod.shadowmoon_burial_grounds.name,Shadowmoon Burial Grounds,,,,,hodor,,,,,,
+dungeons,wod.shadowmoon_burial_grounds.floors.crypt_of_the_ancients,Crypt of the Ancients,,,,,hodor,,,,,,
+dungeons,wod.shadowmoon_burial_grounds.floors.altar_of_shadow,Altar of Shadow,,,,,hodor,,,,,,
+dungeons,wod.shadowmoon_burial_grounds.floors.edge_of_reality,Edge of Reality,,,,,hodor,,,,,,
+dungeons,wod.the_everbloom.name,The Everbloom,,,,,hodor,,,,,,
+dungeons,wod.the_everbloom.floors.the_everbloom,The Everbloom,,,,,hodor,,,,,,
+dungeons,wod.the_everbloom.floors.the_overlook,The Overlook,,,,,hodor,,,,,,
+dungeons,legion.arcway.name,The Arcway,,,,,hodor,,,,Катакомбы Сурамара,,
+dungeons,legion.arcway.floors.arcway,The Arcway,,,,,hodor,,,,0-я фаза,,
+dungeons,legion.black_rook_hold.name,Black Rook Hold,,,,,hodor,,,,Крепость Черной Ладьи,,
+dungeons,legion.black_rook_hold.floors.the_ravenscrypt,The Ravenscrypt,,,,,hodor,,,,Крипта Воронов,,
+dungeons,legion.black_rook_hold.floors.the_grand_hall,The Grand Hall,,,,,hodor,,,,Главный зал,,
+dungeons,legion.black_rook_hold.floors.ravenshold,Ravenshold,,,,,hodor,,,,Обитель Воронов,,
+dungeons,legion.black_rook_hold.floors.the_rooks_roost,The Rook's Roost,,,,,hodor,,,,Гнездовье Черной Ладьи,,
+dungeons,legion.black_rook_hold.floors.lord_ravencrests_chamber,Lord Ravencrest's Chamber,,,,,hodor,,,,Комната лорда Гребня Ворона,,
+dungeons,legion.black_rook_hold.floors.the_ravens_crown,The Raven's Crown,,,,,hodor,,,,Корона Ворона,,
+dungeons,legion.black_rook_hold.floors.black_rook_hold,Black Rook Hold,,,,,hodor,,,,,,
+dungeons,legion.court_of_stars.name,Court of Stars,,,,,hodor,,,,Квартал Звезд,,
+dungeons,legion.court_of_stars.floors.court_of_stars,Court of Stars,,,,,hodor,,,,Квартал Звезд,,
+dungeons,legion.darkheart_thicket.name,Darkheart Thicket,,,,,hodor,,,,Чаща Темного Сердца,,
+dungeons,legion.darkheart_thicket.floors.darkheart_thicket,Darkheart Thicket,,,,,hodor,,,,Чаща Темного Сердца,,
+dungeons,legion.eye_of_azshara.name,Eye of Azshara,,,,,hodor,,,,Око Азшары,,
+dungeons,legion.eye_of_azshara.floors.eye_of_azshara,Eye of Azshara,,,,,hodor,,,,Око Азшары,,
+dungeons,legion.halls_of_valor.name,Halls of Valor,,,,,hodor,,,,Чертоги Доблести,,
+dungeons,legion.halls_of_valor.floors.the_high_gate,The High Gate,,,,,hodor,,,,Высокие врата,,
+dungeons,legion.halls_of_valor.floors.fields_of_the_eternal_hunt,Fields of the Eternal Hunt,,,,,hodor,,,,Поля вечной охоты,,
+dungeons,legion.halls_of_valor.floors.halls_of_valor,Halls of Valor,,,,,hodor,,,,Чертоги Доблести,,
+dungeons,legion.maw_of_souls.name,Maw of Souls,,,,,hodor,,,,Утесы Адской Пасти,,
+dungeons,legion.maw_of_souls.floors.hellmouth_cliffs,Hellmouth Cliffs,,,,,hodor,,,,Утесы Адской Пасти,,
+dungeons,legion.maw_of_souls.floors.the_hold,The Hold,,,,,hodor,,,,Трюм,,
+dungeons,legion.maw_of_souls.floors.the_naglfar,The Naglfar,,,,,hodor,,,,Нагльфар,,
+dungeons,legion.neltharions_lair.name,Neltharion's Lair,,,,,hodor,,,,Логово Нелтариона,,
+dungeons,legion.neltharions_lair.floors.neltharions_lair,Neltharion's Lair,,,,,hodor,,,,Логово Нелтариона,,
+dungeons,legion.vault_of_the_wardens.name,Vault of the Wardens,,,,,hodor,,,,Казематы Стражей,,
+dungeons,legion.vault_of_the_wardens.floors.the_wardens_court,The Warden's Court,,,,,hodor,,,,Суд Стражей,,
+dungeons,legion.vault_of_the_wardens.floors.vault_of_the_wardens,Vault of the Wardens,,,,,hodor,,,,Казематы Стражей,,
+dungeons,legion.vault_of_the_wardens.floors.vault_of_the_betrayer,Vault of the Betrayer,,,,,hodor,,,,Каземат Предателя,,
+dungeons,legion.lower_karazhan.name,Return to Karazhan: Lower,,,,,hodor,,,,Нижняя часть Каражана,,
+dungeons,legion.lower_karazhan.floors.servants_quarters,Servant's Quarters,,,,,hodor,,,,Комнаты слуг,,
+dungeons,legion.lower_karazhan.floors.upper_livery_stables,Upper Livery Stables,,,,,hodor,,,,Верх разрушенной лестницы,,
+dungeons,legion.lower_karazhan.floors.the_banquet_hall,The Banquet Hall,,,,,hodor,,,,Комнаты слуг,,
+dungeons,legion.lower_karazhan.floors.the_guest_chambers,The Guest Chambers,,,,,hodor,,,,Гостевые комнаты,,
+dungeons,legion.lower_karazhan.floors.opera_hall_balcony,Opera Hall Balcony,,,,,hodor,,,,Балкон в опере,,
+dungeons,legion.lower_karazhan.floors.masters_terrace,Master's Terrace,,,,,hodor,,,,Терраса Медива,,
+dungeons,legion.upper_karazhan.name,Return to Karazhan: Upper,,,,,hodor,,,,Верхняя часть Каражана,,
+dungeons,legion.upper_karazhan.floors.lower_broken_stair,Lower Broken Stair,,,,,hodor,,,,Низ разрушенной лестницы,,
+dungeons,legion.upper_karazhan.floors.upper_broken_stair,Upper Broken Stair,,,,,hodor,,,,Верх разрушенной лестницы,,
+dungeons,legion.upper_karazhan.floors.the_menagerie,The Menagerie,,,,,hodor,,,,Зверинец,,
+dungeons,legion.upper_karazhan.floors.guardians_library,Guardian's Library,,,,,hodor,,,,Библиотека Хранителя,,
+dungeons,legion.upper_karazhan.floors.library_floor,Library Floor,,,,,hodor,,,,Нижний ярус библиотеки,,
+dungeons,legion.upper_karazhan.floors.upper_library,Upper Library,,,,,hodor,,,,Верхний ярус библиотеки,,
+dungeons,legion.upper_karazhan.floors.gamesmans_hall,Gamesman's Hall,,,,,hodor,,,,Игровой зал,,
+dungeons,legion.upper_karazhan.floors.netherspace,Netherspace,,,,,hodor,,,,Пустомарь,,
+dungeons,legion.cathedral_of_eternal_night.name,Cathedral of Eternal Night,,,,,hodor,,,,Собор Вечной Ночи,,
+dungeons,legion.cathedral_of_eternal_night.floors.hall_of_the_moon,Hall of the Moon,,,,,hodor,,,,Зал Луны,,
+dungeons,legion.cathedral_of_eternal_night.floors.twilight_groove,Twilight Grove,,,,,hodor,,,,Сумеречная роща,,
+dungeons,legion.cathedral_of_eternal_night.floors.the_emerald_archives,The Emerald Archives,,,,,hodor,,,,Изумрудные архивы,,
+dungeons,legion.cathedral_of_eternal_night.floors.path_of_illumination,Path of Illumination,,,,,hodor,,,,Путь Озарения,,
+dungeons,legion.cathedral_of_eternal_night.floors.sacristy_of_elune,Sacristy of Elune,,,,,hodor,,,,Ризница Элуны,,
+dungeons,legion.the_seat_of_the_triumvirate.name,Seat of the Triumvirate,,,,,hodor,,,,Престол Триумвирата,,
+dungeons,legion.the_seat_of_the_triumvirate.floors.the_seat_of_the_triumvirate,Seat of the Triumvirate,,,,,hodor,,,,Престол Триумвирата,,
+dungeons,bfa.atal_dazar.name,Atal'Dazar,,,,,hodor,,,,Атал'Дазар,,
+dungeons,bfa.atal_dazar.floors.atal_dazar,Atal'dazar,,,,,hodor,,,,Атал'Дазар,,
+dungeons,bfa.atal_dazar.floors.sacrificial_pits,Sacrificial Pits,,,,,hodor,,,,Жертвенная яма,,
+dungeons,bfa.freehold.name,Freehold,,,,,hodor,,,,Вольная Гавань,,
+dungeons,bfa.freehold.floors.freehold,Freehold,,,,,hodor,,,,Вольная Гавань,,
+dungeons,bfa.kings_rest.name,Kings' Rest,,,,,hodor,,,,Гробница королей,,
+dungeons,bfa.kings_rest.floors.kings_rest,Kings' Rest,,,,,hodor,,,,Гробница королей,,
+dungeons,bfa.shrine_of_the_storm.name,Shrine of the Storm,,,,,hodor,,,,Святилище Штормов,,
+dungeons,bfa.shrine_of_the_storm.floors.shrine_of_the_storm,Shrine of the Storm,,,,,hodor,,,,Святилище Штормов,,
+dungeons,bfa.shrine_of_the_storm.floors.storms_end,Storm's End,,,,,hodor,,,,Предел шторма,,
+dungeons,bfa.siege_of_boralus.name,Siege of Boralus,,,,,hodor,,,,Осада Боралуса,,
+dungeons,bfa.siege_of_boralus.floors.siege_of_boralus,Siege of Boralus,,,,,hodor,,,,Осада Боралуса,,
+dungeons,bfa.temple_of_sethraliss.name,Temple of Sethraliss,,,,,hodor,,,,Храм Сетралисс,,
+dungeons,bfa.temple_of_sethraliss.floors.temple_of_sethraliss,Temple of Sethraliss,,,,,hodor,,,,Храм Сетралисс,,
+dungeons,bfa.temple_of_sethraliss.floors.atrium_of_the_wardens,Atrium of the Wardens,,,,,hodor,,,,,,
+dungeons,bfa.the_motherlode.name,The MOTHERLODE!!,,,,,hodor,,,,ЗОЛОТАЯ ЖИЛА!!!,,
+dungeons,bfa.the_motherlode.floors.the_motherlode,The MOTHERLODE!!,,,,,hodor,,,,ЗОЛОТАЯ ЖИЛА!!!,,
+dungeons,bfa.the_underrot.name,The Underrot,,,,,hodor,,,,Подгнилье,,
+dungeons,bfa.the_underrot.floors.the_underrot,The Underrot,,,,,hodor,,,,Подгнилье,,
+dungeons,bfa.the_underrot.floors.ruins_descent,Ruin's Descent,,,,,hodor,,,,Спуск скорби,,
+dungeons,bfa.tol_dagor.name,Tol Dagor,,,,,hodor,,,,Тол Дагор,,
+dungeons,bfa.tol_dagor.floors.tol_dagor,Tol Dagor,,,,,hodor,,,,Тол Дагор,,
+dungeons,bfa.tol_dagor.floors.the_drain,The Drain,,,,,hodor,,,,Стоки,,
+dungeons,bfa.tol_dagor.floors.the_brig,The Brig,,,,,hodor,,,,Гауптвахта,,
+dungeons,bfa.tol_dagor.floors.detention_block,Detention Block,,,,,hodor,,,,Тюремный блок,,
+dungeons,bfa.tol_dagor.floors.officer_quarters,Officer Quarters,,,,,hodor,,,,,,
+dungeons,bfa.tol_dagor.floors.overseers_redoubt,Overseer's Redoubt,,,,,hodor,,,,Цитадель надзирателя,,
+dungeons,bfa.tol_dagor.floors.overseers_summit,Overseer's Summit,,,,,hodor,,,,Терраса надзирателя,,
+dungeons,bfa.waycrest_manor.name,Waycrest Manor,,,,,hodor,,,,Усадьба Уэйкрестов,,
+dungeons,bfa.waycrest_manor.floors.the_grand_foyer,The Grand Foyer,,,,,hodor,,,,Главный вестибюль,,
+dungeons,bfa.waycrest_manor.floors.upstairs,Upstairs,,,,,hodor,,,,Второй этаж,,
+dungeons,bfa.waycrest_manor.floors.the_cellar,The Cellar,,,,,hodor,,,,Погреб,,
+dungeons,bfa.waycrest_manor.floors.catacombs,Catacombs,,,,,hodor,,,,Катакомбы,,
+dungeons,bfa.waycrest_manor.floors.the_rupture,The Rupture,,,,,hodor,,,,Разлом,,
+dungeons,bfa.waycrest_manor.floors.waycrest_manor,Waycrest Manor,,,,,hodor,,,,,,
+dungeons,bfa.mechagon_junkyard.name,Operation Mechagon: Junkyard,,,,,hodor,,,,Мехагон: Свалка,,
+dungeons,bfa.mechagon_junkyard.floors.mechagon_island,Mechagon Island,,,,,hodor,,,,Остров Мехагон,,
+dungeons,bfa.mechagon_junkyard.floors.tunnels,Tunnels,,,,,hodor,,,,,,
+dungeons,bfa.mechagon_workshop.name,Operation Mechagon: Workshop,,,,,hodor,,,,Мехагон: Мастерская,,
+dungeons,bfa.mechagon_workshop.floors.the_robodrome,The Robodrome,,,,,hodor,,,,Рободром,,
+dungeons,bfa.mechagon_workshop.floors.waste_pipes,Waste Pipes,,,,,hodor,,,,Барахлопровод,,
+dungeons,bfa.mechagon_workshop.floors.the_under_junk,The Under Junk,,,,,hodor,,,,Барахлимб,,
+dungeons,bfa.mechagon_workshop.floors.mechagon_city,Mechagon City,,,,,hodor,,,,Город Мехагон,,
+dungeons,bfa.orgrimmar_horrific_vision.name,Orgrimmar (Horrific Vision),,,,,hodor,,,,Оргриммар (Жуткие Видения),,
+dungeons,bfa.orgrimmar_horrific_vision.floors.orgrimmar_horrific_vision,Orgrimmar (Horrific Vision),,,,,hodor,,,,Видение Оргриммара,,
+dungeons,bfa.orgrimmar_horrific_vision.floors.the_drag,The Drag,,,,,hodor,,,,,,
+dungeons,bfa.stormwind_horrific_vision.name,Stormwind (Horrific Vision),,,,,hodor,,,,Штормград (Жуткие Видения),,
+dungeons,bfa.stormwind_horrific_vision.floors.stormwind_horrific_vision,Stormwind (Horrific Vision),,,,,hodor,,,,Штормград (Жуткие Видения),,
+dungeons,shadowlands.de_other_side.name,De Other Side,,,,,hodor,,,,Та Сторона,,
+dungeons,shadowlands.de_other_side.floors.de_other_side,De Other Side,,,,,hodor,,,,Та Сторона,,
+dungeons,shadowlands.de_other_side.floors.mechagon,Mechagon,,,,,hodor,,,,Мехагон,,
+dungeons,shadowlands.de_other_side.floors.zul_gurub,Zul'Gurub,,,,,hodor,,,,Зул'Гуруб,,
+dungeons,shadowlands.de_other_side.floors.ardenweald,Ardenweald,,,,,hodor,,,,Арденвельд,,
+dungeons,shadowlands.halls_of_atonement.name,Halls of Atonement,,,,,hodor,,,,Чертоги Покаяния,,
+dungeons,shadowlands.halls_of_atonement.floors.halls_of_atonement,Halls of Atonement,,,,,hodor,,,,Чертоги Покаяния,,
+dungeons,shadowlands.halls_of_atonement.floors.the_nave_of_pain,The Nave of Pain,,,,,hodor,,,,Неф Боли,,
+dungeons,shadowlands.halls_of_atonement.floors.the_sanctuary_of_souls,The Sanctuary of Souls,,,,,hodor,,,,Святилище Душ,,
+dungeons,shadowlands.mists_of_tirna_scithe.name,Mists of Tirna Scithe,,,,,hodor,,,,Туманы Тирна Скитта,,
+dungeons,shadowlands.mists_of_tirna_scithe.floors.mists_of_tirna_scithe,Mists of Tirna Scithe,,,,,hodor,,,,Туманы Тирна Скитта,,
+dungeons,shadowlands.plaguefall.name,Plaguefall,,,,,hodor,,,,Чумные каскады,,
+dungeons,shadowlands.plaguefall.floors.plaguefall,Plaguefall,,,,,hodor,,,,Чумные каскады,,
+dungeons,shadowlands.plaguefall.floors.the_festering_sanctum,The Festering Sanctum,,,,,hodor,,,,Гниющее святилище,,
+dungeons,shadowlands.sanguine_depths.name,Sanguine Depths,,,,,hodor,,,,Кровавые катакомбы,,
+dungeons,shadowlands.sanguine_depths.floors.depths_of_despair,Depths of Despair,,,,,hodor,,,,Глубины Отчаяния,,
+dungeons,shadowlands.sanguine_depths.floors.amphitheater_of_sorrow,Amphitheater of Sorrow,,,,,hodor,,,,Амфитеатр Скорбиw,,
+dungeons,shadowlands.spires_of_ascension.name,Spires of Ascension,,,,,hodor,,,,Шпили Перерождения,,
+dungeons,shadowlands.spires_of_ascension.floors.honors_ascent,Honor's Ascent,,,,,hodor,,,,Подъем Чести,,
+dungeons,shadowlands.spires_of_ascension.floors.gardens_of_repose,Gardens of Repose,,,,,hodor,,,,Сады Отдохновения,,
+dungeons,shadowlands.spires_of_ascension.floors.font_of_fealty,Font of Fealty,,,,,hodor,,,,Источник Преданности,,
+dungeons,shadowlands.spires_of_ascension.floors.seat_of_the_archon,Seat of the Archon,,,,,hodor,,,,Престол Архонта,,
+dungeons,shadowlands.the_necrotic_wake.name,The Necrotic Wake,,,,,hodor,,,,Смертельная тризна,,
+dungeons,shadowlands.the_necrotic_wake.floors.the_necrotic_wake,The Necrotic Wake,,,,,hodor,,,,Смертельная тризна,,
+dungeons,shadowlands.the_necrotic_wake.floors.stitchwerks,Stitchwerks,,,,,hodor,,,,Трупосшивальня,,
+dungeons,shadowlands.the_necrotic_wake.floors.zolramus,Zolramus,,,,,hodor,,,,"Золрамус""",,
+dungeons,shadowlands.theater_of_pain.name,Theater of Pain,,,,,hodor,,,,Театр Боли,,
+dungeons,shadowlands.theater_of_pain.floors.theater_of_pain,Theater of Pain,,,,,hodor,,,,Театр Боли,,
+dungeons,shadowlands.theater_of_pain.floors.chamber_of_conquest,Chamber of Conquest,,,,,hodor,,,,Зал Победы,,
+dungeons,shadowlands.theater_of_pain.floors.altars_of_agony,Altars of Agony,,,,,hodor,,,,Алтари Агонии,,
+dungeons,shadowlands.theater_of_pain.floors.lower_barrow_of_carnage,Lower Barrow of Carnage,,,,,hodor,,,,Нижний уровень кургана Резни,,
+dungeons,shadowlands.theater_of_pain.floors.upper_barrow_of_carnage,Upper Barrow of Carnage,,,,,hodor,,,,Верхний уровень кургана Резнии,,
+dungeons,shadowlands.tazavesh_streets_of_wonder.name,Tazavesh: Streets of Wonder,,,,,hodor,,,,Тазавеш: улицы Чудес,,
+dungeons,shadowlands.tazavesh_streets_of_wonder.floors.the_veiled_market,The Veiled Market,,,,,hodor,,,,Тайный рынок,,
+dungeons,shadowlands.tazavesh_streets_of_wonder.floors.the_grand_menagerie,The Grand Menagerie,,,,,hodor,,,,Большой зверинец,,
+dungeons,shadowlands.tazavesh_streets_of_wonder.floors.the_post,The P.O.S.T.,,,,,hodor,,,,Отделение ПОЧТ,,
+dungeons,shadowlands.tazavesh_streets_of_wonder.floors.myzas_oasis,Myza's Oasis,,,,,hodor,,,,"""Оазис Мизы""""",,
+dungeons,shadowlands.tazavesh_so_leahs_gambit.name,Tazavesh: So'leah's Gambit,,,,,hodor,,,,Тазавеш: гамбит Со'леи,,
+dungeons,shadowlands.tazavesh_so_leahs_gambit.floors.stormheim,Stormheim,,,,,hodor,,,,Штормхейм,,
+dungeons,shadowlands.tazavesh_so_leahs_gambit.floors.aggramars_vault,Aggramar's Vault,,,,,hodor,,,,Хранилище Агграммара,,
+dungeons,shadowlands.tazavesh_so_leahs_gambit.floors.boralus_harbor,Boralus Harbor,,,,,hodor,,,,Гавань Боралуса,,
+dungeons,shadowlands.tazavesh_so_leahs_gambit.floors.the_opulent_nexus,The Opulent Nexus,,,,,hodor,,,,Блистательный Нексус,,
+dungeons,dragonflight.algeth_ar_academy.name,Algeth'ar Academy,,,,,hodor,,,,,,
+dungeons,dragonflight.algeth_ar_academy.floors.algeth_ar_academy,Algeth'ar Academy,,,,,hodor,,,,,,
+dungeons,dragonflight.algeth_ar_academy.floors.the_pitch,The Pitch,,,,,hodor,,,,,,
+dungeons,dragonflight.algeth_ar_academy.floors.the_headteachers_enclave,The Headteacher's Enclave,,,,,hodor,,,,,,
+dungeons,dragonflight.brackenhide_hollow.name,Brackenhide Hollow,,,,,hodor,,,,,,
+dungeons,dragonflight.brackenhide_hollow.floors.brackenhide_hollow,Brackenhide Hollow,,,,,hodor,,,,,,
+dungeons,dragonflight.brackenhide_hollow.floors.den_of_decay,Den of Decay,,,,,hodor,,,,,,
+dungeons,dragonflight.halls_of_infusion.name,Halls of Infusion,,,,,hodor,,,,,,
+dungeons,dragonflight.halls_of_infusion.floors.infusers_rotunda,Infuser's Rotunda,,,,,hodor,,,,,,
+dungeons,dragonflight.halls_of_infusion.floors.infusion_chamber,Infusion Chamber,,,,,hodor,,,,,,
+dungeons,dragonflight.neltharus.name,Neltharus,,,,,hodor,,,,,,
+dungeons,dragonflight.neltharus.floors.the_burning_cauldron,The Burning Cauldron,,,,,hodor,,,,,,
+dungeons,dragonflight.neltharus.floors.chamber_of_flames,Chamber of Flames,,,,,hodor,,,,,,
+dungeons,dragonflight.ruby_life_pools.name,Ruby Life Pools,,,,,hodor,,,,,,
+dungeons,dragonflight.ruby_life_pools.floors.infusion_chambers,Infusion Chambers,,,,,hodor,,,,,,
+dungeons,dragonflight.ruby_life_pools.floors.ruby_overlook,Ruby Overlook,,,,,hodor,,,,,,
+dungeons,dragonflight.the_azure_vault.name,The Azure Vault,,,,,hodor,,,,,,
+dungeons,dragonflight.the_azure_vault.floors.the_arcane_conservatory,The Arcane Conservatory,,,,,hodor,,,,,,
+dungeons,dragonflight.the_azure_vault.floors.crystal_chambers,Crystal Chambers,,,,,hodor,,,,,,
+dungeons,dragonflight.the_azure_vault.floors.mausoleum_of_legends,Mausoleum of Legends,,,,,hodor,,,,,,
+dungeons,dragonflight.the_azure_vault.floors.the_infinity_seal,The Infinity Seal,,,,,hodor,,,,,,
+dungeons,dragonflight.the_azure_vault.floors.sindragosas_lament,Sindragosa's Lament,,,,,hodor,,,,,,
+dungeons,dragonflight.the_nokhud_offensive.name,The Nokhud Offensive,,,,,hodor,,,,,,
+dungeons,dragonflight.the_nokhud_offensive.floors.the_nokhud_offensive,The Nokhud Offensive,,,,,hodor,,,,,,
+dungeons,dragonflight.uldaman_legacy_of_tyr.name,Uldaman: Legacy of Tyr,,,,,hodor,,,,,,
+dungeons,dragonflight.uldaman_legacy_of_tyr.floors.hall_of_the_keepers,Hall of the Keepers,,,,,hodor,,,,,,
+dungeons,dragonflight.uldaman_legacy_of_tyr.floors.the_vault_of_tyr,The Vault of Tyr,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_galakronds_fall.name,Dawn of the Infinite: Galakrond's Fall,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_galakronds_fall.floors.galakronds_fall,Galakrond's Fall,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_galakronds_fall.floors.sanctum_of_chronology,Sanctum of Chronology,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_galakronds_fall.floors.millennias_threshold,Millennia's Threshold,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_galakronds_fall.floors.locus_of_eternity,Locus of Eternity,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_galakronds_fall.floors.spoke_of_endless_winter,Spoke of Endless Winter,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_galakronds_fall.floors.crossroads_of_fate,Crossroads of Fate,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_murozonds_rise.name,Dawn of the Infinite: Murozond's Rise,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_murozonds_rise.floors.murozonds_rise,Murozond's Rise,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_murozonds_rise.floors.sanctum_of_chronology,Sanctum of Chronology,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_murozonds_rise.floors.millennias_threshold,Millennia's Threshold,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_murozonds_rise.floors.locus_of_eternity,Locus of Eternity,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_murozonds_rise.floors.crossroads_of_fate,Crossroads of Fate,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_murozonds_rise.floors.infinite_conflux,Infinite Conflux,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_murozonds_rise.floors.twisting_approach,Twisting Approach,,,,,hodor,,,,,,
+dungeons,dragonflight.dawn_of_the_infinite_murozonds_rise.floors.immemorial_battlefield,Immemorial Battlefield,,,,,hodor,,,,,,
+exceptions,handler.api_model_not_found,:ids not found for :model,,,,,hodor,,,,,,
+exceptions,handler.api_route_not_found,API route not found,,,,,hodor,,,,,,
+exceptions,handler.internal_server_error,Internal server error,,,,,hodor,,,,,,
+exceptions,handler.unauthenticated,Unauthenticated,,,,,hodor,,,,,,
+expansions,classic.name,Classic,,,,,hodor,,,,,,
+expansions,tbc.name,The Burning Crusade,,,,,hodor,,,,,,
+expansions,wotlk.name,Wrath of the Lich King,,,,,hodor,,,,,,
+expansions,cata.name,Cataclysm,,,,,hodor,,,,,,
+expansions,mop.name,Mists of Pandaria,,,,,hodor,,,,,,
+expansions,wod.name,Warlords of Draenor,,,,,hodor,,,,,,
+expansions,legion.name,Legion,,,,,hodor,,,,Легион,,
+expansions,battle_for_azeroth.name,Battle for Azeroth,,,,,hodor,,,,Битва за Азерот,,
+expansions,shadowlands.name,Shadowlands,,,,,hodor,,,,Темные земли,,
+expansions,dragonflight.name,Dragonflight,,,,,hodor,,,,,,
+factions,unspecified,Unspecified,,,,,hodor,,,,Не выбрана,,
+factions,horde,Horde,,,,,hodor,,,,Орда,,
+factions,alliance,Alliance,,,,,hodor,,,,Альянс,,
+gameserverregions,us,Americas,,,,,hodor,,,,Северной и Южной Америки,,
+gameserverregions,eu,Europe,,,,,hodor,,,,Европа,,
+gameserverregions,cn,China,,,,,hodor,,,,Китай,,
+gameserverregions,tw,Taiwan,,,,,hodor,,,,Тайвань,,
+gameserverregions,kr,Korea,,,,,hodor,,,,Корея,,
+gameversions,retail.name,Retail,,,,,hodor,,,,,,
+gameversions,retail.description,Retail,,,,,hodor,,,,,,
+gameversions,wotlk.name,WotLK,,,,,hodor,,,,,,
+gameversions,wotlk.description,WotLK,,,,,hodor,,,,,,
+gameversions,classic.name,Classic,,,,,hodor,,,,,,
+gameversions,classic.description,Classic,,,,,hodor,,,,,,
+js,npc_name_label,Name,,,,,hodor,,,,Имя,,
+js,enemy_forces_label,Enemy forces,,,,,hodor,,,,Способности врага,,
+js,enemy_display_type_label,Enemy display type,,,,,hodor,,,,Отображаймый тип врага,,
+js,mdt_enemy_mapping_label,MDT enemy mapping,,,,,hodor,,,,Расстановка врагов MDT,,
+js,base_health_label,Base health,,,,,hodor,,,,Базовое здоровье,,
+js,no_npc_found_label,No NPC found for this enemy,,,,,hodor,,,,Для этого NPC не найдено ни врага,,
+js,teeming_label,Teeming,,,,,hodor,,,,Таймниг,,
+js,npc_label,Npc,,,,,hodor,,,,Npc,,
+js,connected_floor_label,Connected floor,,,,,hodor,,,,Подключить Уровень,,
+js,admin_only_label,Admin only,,,,,hodor,,,,Только Администратор,,
+js,id_label,ID,,,,,hodor,,,,ID,,
+js,seasonal_type_label,Seasonal type,,,,,hodor,,,,Тип сезона,,
+js,seasonal_index_label,Seasonal index,,,,,hodor,,,,Индекс сезона,,
+js,size_label,Size,,,,,hodor,,,,Размер,,
+js,faction_label,Faction,,,,,hodor,,,,Фракция,,
+js,npc_id_label,NPC_ID,,,,,hodor,,,,NPC_ID,,
+js,attached_to_pack_label,Pack,,,,,hodor,,,,Пак,,
+js,attached_to_patrol_label,Patrol,,,,,hodor,,,,,,
+js,enemy_id_label,ENEMY_ID,,,,,hodor,,,,ID врага,,
+js,visual_label,Visual,,,,,hodor,,,,Видемый,,
+js,mdt_label,MDT section,,,,,hodor,,,,Секция MDT,,
+js,is_mdt_label,MDT,,,,,hodor,,,,MDT,,
+js,mdt_id_label,MDT_ID,,,,,hodor,,,,MDT_ID,,
+js,mdt_npc_id_label,MDT_NPC_ID,,,,,hodor,,,,MDT_NPC_ID,,
+js,preset_label,Preset,,,,,hodor,,,,Предустановка,,
+js,add_label,Add,,,,,hodor,,,,Добавить,,
+js,color_label,Color,,,,,hodor,,,,Цвет,,
+js,weight_label,Weight,,,,,hodor,,,,Толщина,,
+js,mapobject_visibility_label,Visibility,,,,,hodor,,,,Видимость,,
+js,mapping_manipulation_tools_header_label,Mapping manipulation,,,,,hodor,,,,,,
+js,mapping_manipulation_tools_rotate_label,Rotate,,,,,hodor,,,,,,
+js,mapping_manipulation_tools_scale_x_label,Scale X,,,,,hodor,,,,,,
+js,mapping_manipulation_tools_scale_y_label,Scale Y,,,,,hodor,,,,,,
+js,mapping_manipulation_tools_move_x_label,Move X,,,,,hodor,,,,,,
+js,mapping_manipulation_tools_move_y_label,Move Y,,,,,hodor,,,,,,
+js,header_floor_selection_label,Floors,,,,,hodor,,,,Уровень,,
+js,header_map_object_group_label,Show/hide,,,,,hodor,,,,Показать/Спрятать,,
+js,enemy_map_object_group_label,Enemies,,,,,hodor,,,,Враги,,
+js,enemypatrol_map_object_group_label,Patrols,,,,,hodor,,,,Патруль,,
+js,enemypack_map_object_group_label,Packs,,,,,hodor,,,,Паки,,
+js,path_map_object_group_label,Paths,,,,,hodor,,,,Маршрут,,
+js,dungeonfloorswitchmarker_map_object_group_label,Floor switches,,,,,hodor,,,,Сменить Уровень,,
+js,brushline_map_object_group_label,Drawn lines,,,,,hodor,,,,Нарисовать Линию,,
+js,mapicon_map_object_group_label,Icons,,,,,hodor,,,,Иконки,,
+js,killzone_map_object_group_label,Pulls,,,,,hodor,,,,Пул,,
+js,killzonepath_map_object_group_label,Pull connections,,,,,hodor,,,,Цепочка пулов,,
+js,floorunion_map_object_group_label,Floor unions,,,,,hodor,,,,,,
+js,floorunionarea_map_object_group_label,Floor union areas,,,,,hodor,,,,,,
+js,mountablearea_map_object_group_label,Mountable areas,,,,,hodor,,,,,,
+js,publish_state_title_unpublished,Unpublished,,,,,hodor,,,,Не опубликовано,,
+js,publish_state_subtext_unpublished,Only you may view this route,,,,,hodor,,,,Только вы можете просматривать этот маршрут,,
+js,publish_state_title_team,Team only,,,,,hodor,,,,Только команда,,
+js,publish_state_subtext_team,Only members of teams you are in may view this route,,,,,hodor,,,,Только члены вашей команды могут просматривать этот маршрут,,
+js,publish_state_title_world,Public,,,,,hodor,,,,Публичный,,
+js,publish_state_subtext_world,Your route may be viewed by anyone and can be found on Keystone.guru,,,,,hodor,,,,"Ваш маршрут может просмотреть кто угодно, и его можно найти на Keystone.guru.",,
+js,publish_state_title_world_with_link,Public with link,,,,,hodor,,,,Общедоступно по ссылкой,,
+js,publish_state_subtext_world_with_link,Anyone with the link may see your route (Patreon only),,,,,hodor,,,,"Любой, у кого есть ссылка, может увидеть ваш маршрут (только для подписчиков",,
+js,publish_label,Publish,,,,,hodor,,,,Опубликовать,,
+js,unpublish_label,Unpublish,,,,,hodor,,,,Отменить публикацию,,
+js,add_remove_tag_label,Add/remove tags,,,,,hodor,,,,Добавить/Удалить Теги,,
+js,clone_label,Clone,,,,,hodor,,,,Клонировать,,
+js,clone_to_profile_label,Clone to my profile,,,,,hodor,,,,Клонировать в мой профиль,,
+js,clone_to_team_label,Clone to Team,,,,,hodor,,,,Клонировать в команду,,
+js,migrate_to_encrypted_label,Migrate to Encrypted,,,,,hodor,,,,,,
+js,migrate_to_shrouded_label,Migrate to Shrouded,,,,,hodor,,,,,,
+js,delete_label,Delete,,,,,hodor,,,,Удалить,,
+js,placeholder_new_tag_label,new tag,,,,,hodor,,,,Новый тег,,
+js,no_tags_assigned_label,No tags assigned,,,,,hodor,,,,Теги не назначены,,
+js,current_tags_label,Current tags,,,,,hodor,,,,Текущие теги,,
+js,add_tag_with_enter_label,Tip: press Enter to create a tag,,,,,hodor,,,,"Совет: нажмите Enter, чтобы создать тег",,
+js,selected_label,selected,,,,,hodor,,,,Выбрать,,
+js,affixes_label,Affixes,,,,,hodor,,,,Аффиксы,,
+js,attributes_label,Attributes,,,,,hodor,,,,Атрибуты,,
+js,setup_label,Setup,,,,,hodor,,,,Установить,,
+js,new_mapping_version_label,A new mapping version for your route's dungeon is available. Upgrade your route now by editing it.,,,,,hodor,,,,,,
+js,submit_label,Submit,,,,,hodor,,,,Подтвердить,,
+js,select_category_label,Select category...,,,,,hodor,,,,Выбрать категорию...,,
+js,pull_workbench_header_label,P:index,,,,,hodor,,,,,,
+js,pull_workbench_add_kill_area_label,Add kill area,,,,,hodor,,,,,,
+js,pull_workbench_remove_kill_area_label,Remove kill area,,,,,hodor,,,,,,
+js,pull_workbench_pull_description_label,Pull :index description,,,,,hodor,,,,,,
+js,kill_zone_has_boss_label,Boss in pull,,,,,hodor,,,,Босс в пуле,,
+js,kill_zone_has_awakened_label,Awakened enemy in pull,,,,,hodor,,,,Пробудившийся в пуле,,
+js,kill_zone_has_prideful_label,Prideful enemy in pull,,,,,hodor,,,,Полный гордыни в пуле,,
+js,kill_zone_has_inspiring_label,Inspiring enemy in pull,,,,,hodor,,,,Воодушевляющий враг в пуле,,
+js,kill_zone_has_shrouded_label,Shrouded enemy in pull,,,,,hodor,,,,,,
+js,kill_zone_has_shrouded_zul_gamux_label,Zul'gamux in pull,,,,,hodor,,,,,,
+js,kill_zone_enemy_row_has_boss_label,Boss,,,,,hodor,,,,Босс,,
+js,kill_zone_enemy_row_has_awakened_label,Awakened enemy,,,,,hodor,,,,Пробудившийся ,,
+js,kill_zone_enemy_row_has_prideful_label,Prideful enemy,,,,,hodor,,,,Полный гордыни,,
+js,kill_zone_enemy_row_has_inspiring_label,Inspiring enemy,,,,,hodor,,,,Воодушевляющий враг,,
+js,kill_zone_enemy_row_has_shrouded_label,Shrouded enemy,,,,,hodor,,,,,,
+js,kill_zone_enemy_row_has_dangerous_label,Dangerous enemy,,,,,hodor,,,,Опасный враг,,
+js,path,Path,,,,,hodor,,,,Маршрут,,
+js,path_title,Draw a path. Hotkey: :hotkey,,,,,hodor,,,,Нарисовать маршрут. Горячая клавиша: 1,,
+js,killzone,Killzone,,,,,hodor,,,,Зона поражения,,
+js,mapicon,Icon,,,,,hodor,,,,Иконки,,
+js,mapicon_title,Create an icon. Hotkey: :hotkey,,,,,hodor,,,,Создать иконку. Горячая клавиша: 2,,
+js,map_icon,Icon,,,,,hodor,,,,,,
+js,brushline,Draw,,,,,hodor,,,,Рисовать,,
+js,brushline_title,Draw a line. Hotkey: :hotkey,,,,,hodor,,,,Нарисовать линию. Горячая клавиша: 3,,
+js,pridefulenemy,Prideful,,,,,hodor,,,,Полный Гордыни,,
+js,pridefulenemy_title,Create a Prideful Enemy. Hotkey: :hotkey,,,,,hodor,,,,Создайте Полного Гордыни. Горячая клавиша 4,,
+js,pridefulenemy_disabled_title,Remove a Prideful Enemy first,,,,,hodor,,,,Сперва удалите Полного Гордыни,,
+js,pridefulenemy_disabled_no_shadowlands_title,Prideful Enemies are only available for Shadowlands dungeons!,,,,,hodor,,,,Полный Гордыни доступен только в подземельях Shadowlands!,,
+js,edit,Edit,,,,,hodor,,,,Редактировать,,
+js,edit_title,Edit objects on the map. Hotkey: :hotkey,,,,,hodor,,,,Редактировать объекты на карте. Горячая клавиша 5,,
+js,delete,Delete,,,,,hodor,,,,Удалить,,
+js,delete_title,Delete objects on the map. Hotkey: :hotkey,,,,,hodor,,,,Удалить объекты на карте. Горячая клавиша 6,,
+js,finish,Finish,,,,,hodor,,,,Завершить,,
+js,finish_drawing,Finish drawing,,,,,hodor,,,,Завершить рисование,,
+js,enemypack,Pack,,,,,hodor,,,,Пак,,
+js,enemypack_title,Draw an enemy pack. Hotkey: :hotkey,,,,,hodor,,,,,,
+js,enemy,Enemy,,,,,hodor,,,,Враг,,
+js,enemy_title,Draw an enemy. Hotkey: :hotkey,,,,,hodor,,,,,,
+js,enemypatrol,Patrol,,,,,hodor,,,,Патруль,,
+js,enemypatrol_title,Draw a patrol route for an enemy. Hotkey: :hotkey,,,,,hodor,,,,,,
+js,dungeonfloorswitchmarker,Floor,,,,,hodor,,,,Уровень,,
+js,dungeonfloorswitchmarker_title,Draw a dungeon floor switch marker. Hotkey: :hotkey,,,,,hodor,,,,,,
+js,mountablearea,Mountable,,,,,hodor,,,,,,
+js,mountablearea_title,Draw an area in which players are allowed to mount. Hotkey: :hotkey,,,,,hodor,,,,,,
+js,floorunion,Union,,,,,hodor,,,,,,
+js,floorunion_title,Mark a location on the map that represents another floor. Hotkey: :hotkey,,,,,hodor,,,,,,
+js,floorunionarea,Unionarea,,,,,hodor,,,,,,
+js,floorunionarea_title,Draws a floor union area on the map which represents the area in which a floor union is actually active. Hotkey: :hotkey,,,,,hodor,,,,,,
+js,draw_handler_route_tooltip_start,Click to start drawing path.,,,,,hodor,,,,"Нажмите, чтобы начать рисовать маршрут.",,
+js,draw_handler_route_tooltip_cont,Click to continue drawing path.,,,,,hodor,,,,"Нажмите, чтобы продолжить рисовать маршрут.",,
+js,draw_handler_route_tooltip_end,Click the 'Finish' button on the toolbar to complete your path.,,,,,hodor,,,,"Нажмите кнопку 'Готово' на панели инструментов, чтобы завершить свой рисование.",,
+js,draw_handler_brushline_tooltip_start,Click to start drawing line.,,,,,hodor,,,,"Нажмите, чтобы начать рисовать линию.",,
+js,draw_handler_brushline_tooltip_cont,Click and drag to continue drawing line.,,,,,hodor,,,,"Нажмите, чтобы закончить рисовать линию.",,
+js,draw_handler_brushline_tooltip_end,"Continue clicking/dragging, when done, press the 'Finish' button on the toolbar to complete your line.",,,,,hodor,,,,"Перетаскивайте объекты, нажмите кнопку 'Готово' на панели инструментов, чтобы завершить рисование.",,
+js,title_raid_marker_no_selection,No raid marker,,,,,hodor,,,,Нет рейдовых меток,,
+js,title_raid_marker_star,Star,,,,,hodor,,,,Звезда,,
+js,title_raid_marker_circle,Circle,,,,,hodor,,,,Круг,,
+js,title_raid_marker_diamond,Diamond,,,,,hodor,,,,Румб,,
+js,title_raid_marker_triangle,Triangle,,,,,hodor,,,,Треугольник,,
+js,title_raid_marker_moon,Moon,,,,,hodor,,,,Луна,,
+js,title_raid_marker_square,Square,,,,,hodor,,,,Квадрат,,
+js,title_raid_marker_cross,Cross,,,,,hodor,,,,Крест,,
+js,title_raid_marker_skull,Skull,,,,,hodor,,,,Череп,,
+js,npc_type_label,Type,,,,,hodor,,,,Тип,,
+js,npc_class_label,Class,,,,,hodor,,,,Класс,,
+js,enemy_portrait_label,Portrait,,,,,hodor,,,,Портрет,,
+js,object.deleted,Objects deleted successfully.,,,,,hodor,,,,Обьект успешно удален,,
+js,delete_all_pulls_successful,Pulls deleted successfully,,,,,hodor,,,,Пул успешно удален,,
+js,route_count_label,# of routes,,,,,hodor,,,,# маршрутов,,
+js,roles_label,Roles,,,,,hodor,,,,Роли,,
+js,registered_label,Registered at,,,,,hodor,,,,Зарегистрирован на,,
+js,patreon_label,Patreon,,,,,hodor,,,,Patreon,,
+js,datatable_no_users_in_table,No users found,,,,,hodor,,,,Пользователь не найден,,
+js,datatable_no_npcs_in_table,No npcs found,,,,,hodor,,,,NPC не найдены,,
+js,enemy_count_label,Enemy count,,,,,hodor,,,,Счетчик врагов,,
+js,user_report_handled_success,User report successfully marked as resolved,,,,,hodor,,,,Отчет пользователя успешно помечен как решенный,,
+js,dungeonroute_refresh_thumbnail_success,Thumbnail refresh queued successfully,,,,,hodor,,,,Обновление эскиза успешно поставлено в очередь,,
+js,updated_patreon_benefits_successfully_label,Patreon benefits updated successfully,,,,,hodor,,,,,,
+js,mapping_version_readonly_label,This mapping version is read-only,,,,,hodor,,,,,,
+js,mapping_version_upgrade_label,A new mapping version is available for your route.,,,,,hodor,,,,,,
+js,upgrade_label,Upgrade,,,,,hodor,,,,,,
+js,classification_label,Classification,,,,,hodor,,,,Классификация,,
+js,edit_label,Edit,,,,,hodor,,,,Редактировать,,
+js,make_user_label,Make user,,,,,hodor,,,,Создать пользователя,,
+js,make_admin_label,Make admin,,,,,hodor,,,,Создать Админа,,
+js,delete_user_label,Delete user,,,,,hodor,,,,Удалить пользователя,,
+js,grant_all_benefits_label,Grant all benefits,,,,,hodor,,,,,,
+js,patreon_benefits_manually_granted_label,All benefits manually granted,,,,,hodor,,,,,,
+js,import_notes_label,Import notes,,,,,hodor,,,,Импорт заметки,,
+js,import_errors_label,Import errors,,,,,hodor,,,,,,
+js,warnings_label,Warnings,,,,,hodor,,,,Предупреждения,,
+js,category_label,Category,,,,,hodor,,,,Категории,,
+js,message_label,Message,,,,,hodor,,,,Сообщение,,
+js,save_tag_success,Tag updated successfully,,,,,hodor,,,,Тег успешно обновлен,,
+js,delete_tag_success,Tag deleted successfully,,,,,hodor,,,,Тег успешно удален,,
+js,settings_saved,Settings saved successfully,,,,,hodor,,,,Настройки успешно сохранены,,
+js,pull_gradient_settings_saved,Pull gradient settings saved successfully,,,,,hodor,,,,Градиент пула успешно сохранен,,
+js,route_published_state_changed,Route sharing settings updated successfully,,,,,hodor,,,,Настройки доступа к маршруту успешно обновлены,,
+js,datatable_no_routes_in_table,No routes found,,,,,hodor,,,,Маршруты не найдены,,
+js,cannot_change_sharing_settings_not_all_required_enemies_killed,Unable to change sharing settings: not all required enemies have been killed,,,,,hodor,,,,Невозможно изменить настройки доступа: не были убиты все необходимые враги,,
+js,mapping_version_saved,Mapping version saved successfully,,,,,hodor,,,,,,
+js,vote,vote,,,,,hodor,,,,Оценка,,
+js,votes,votes,,,,,hodor,,,,Оценки,,
+js,route_delete_confirm,Are you sure you wish to delete this route?,,,,,hodor,,,,"Вы уверены, что хотите удалить этот маршрут?",,
+js,route_delete_successful,Route deleted successfully,,,,,hodor,,,,Маршрут успешно удален,,
+js,route_clone_successful,Route cloned successfully,,,,,hodor,,,,Маршрут успешно клонирован,,
+js,route_clone_select_team,Unable to clone route - select a team to clone to first,,,,,hodor,,,,,,
+js,route_migration_to_encrypted_confirm_warning,"The following changes will be performed to your route:
+ the affixes assigned to the route will be dropped in favor of the current active affix for your region,
+ enemies specific to previous seasons assigned to your pulls (Tormented Lieutenants for example) will be removed from all pulls,
+ if an existing pull contains a pack with Encrypted Relics they will be added to that pull. Are you sure you wish to continue with the migration?",,,,,hodor,,,,,,
+js,route_migration_to_shrouded_confirm_warning,"The following changes will be performed to your route:
+ the affixes assigned to the route will be dropped in favor of the current active affix for your region,
+ enemies specific to previous seasons assigned to your pulls (Encrypted enemies for example) will be removed from all pulls.
+ Shrouded enemies will be added to your route if they were part of your existing pulls. Are you sure you wish to continue with the migration?",,,,,hodor,,,,,,
+js,route_migration_successful,Route migrated successfully,,,,,hodor,,,,,,
+js,sharing_label,Sharing,,,,,hodor,,,,Поделиться,,
+js,route_table_published_state_unpublished,This route is unpublished,,,,,hodor,,,,Этот маршрут не опубликован,,
+js,route_table_published_state_team,This route is visible for all members of teams you are in,,,,,hodor,,,,"Этот маршрут виден всем членам команд, в которых вы участвуете.",,
+js,route_table_published_state_world,This route is visible for everyone,,,,,hodor,,,,Этот маршрут виден всем,,
+js,route_table_published_state_world_with_link,This route is visible for everyone that has the link,,,,,hodor,,,,"Этот маршрут виден всем, у кого есть ссылка",,
+js,intro_sidebar,"Welcome to Keystone.guru! To begin, this is the sidebar. Here you can adjust options for your route or view information about it.",,,,,hodor,,,,Добро пожаловать на Keystone.guru! Боковая панель. Здесь вы можете настроить параметры своего маршрута или просмотреть информацию о нем.,,
+js,intro_sidebar_toggle,You can use this button to hide or show the sidebar.,,,,,hodor,,,,"Вы можете использовать эту кнопку, чтобы скрыть или показать боковую панель.",,
+js,intro_visibility_tools,Here you can select different visualization options.,,,,,hodor,,,,Здесь вы можете выбрать различные варианты визуализации.,,
+js,intro_map_enemy_visuals,You can choose from multiple different enemy visualizations to help you quickly find the information you need.,,,,,hodor,,,,"Вы можете выбирать из нескольких различных визуализаций врагов, чтобы быстро найти нужную информацию.",,
+js,intro_map_map_object_group_visibility_container,"These are your visibility toggles. You can hide enemies, enemy patrols, enemy packs, your own paths, your own pulls, all map icons, start markers and floor switch markers.",,,,,hodor,,,,"Это ваши переключатели видимости. Вы можете скрыть врагов, вражеские патрули, вражеские паки, свои собственные пути, свои собственные пулы, все значки на карте, маркеры начала подземелья и маркеры перехода на новый уровней подземелья.",,
+js,intro_floor_selection,"If your dungeon has multiple floors, this is where you can change floors. You can also click the doors on the map to go to the next floor.",,,,,hodor,,,,"Если подземелье состоит из нескольких уровней, вы можете менять их прямо здесь. Вы также можете щелкнуть дверями на карте, чтобы перейти на следующий уровень.",,
+js,intro_route_actions,These are various actions you can perform while viewing or editing your route.,,,,,hodor,,,,"Это различные действия, которые вы можете выполнять при просмотре или редактировании маршрута.",,
+js,intro_route_actions_draw_settings,Opening the draw settings will allow you adjust some default variables and behaviour to make editing your route easier.,,,,,hodor,,,,"В настройках рисования вы можете настроить некоторые элементы, чтобы упростить редактирование маршрута.",,
+js,intro_route_actions_map_login_and_continue,"If you're already a member of Keystone.guru but not logged in, you can log in here and save the current route to your profile.",,,,,hodor,,,,"Если вы уже являетесь пользователем Keystone.guru, но не вошли в систему, вы можете войти и сохранить текущий маршрут в своем профиле.",,
+js,intro_route_actions_map_register_and_continue,"If you're not yet a member of Keystone.guru, you can register here and save the current route to your profile.",,,,,hodor,,,,"Если вы еще не являетесь пользователем Keystone.guru, вы можете зарегистрироваться и сохранить текущий маршрут в своем профиле.",,
+js,intro_route_actions_save_and_continue,"While trying out a route when you're logged in, you can opt to save it to your profile.",,,,,hodor,,,,"Если вы авторизованы, вы можете сохранять свои маршруты в профиле.",,
+js,intro_route_manipulation_tools,These are your route manipulation tools.,,,,,hodor,,,,Инструменты управления маршрутом.,,
+js,intro_draw_path,"You can draw paths with this tool. Click it, then click on the map once to start, then as much times as you want to mark your path from A to B. Once finished, you can click
+ the line on the map to change its color or thickness.",,,,,hodor,,,,"С помощью этого инструмента вы можете рисовать свой маршрут. Выберите его, затем щелкните на карту один раз, чтобы начать рисование, затем столько раз, сколько хотите, чтобы отметить свой путь от точки А до точки Б. После того как вы закончите вы можете щелкнуть
+ на созданную линию, чтобы изменить ее цвет или толщину.",,
+js,intro_draw_mapicon,Use this tool to place icons on the map with an optional comment.,,,,,hodor,,,,Используйте этот инструмент для размещения иконок на карте с дополнительным комментарием.,,
+js,intro_draw_brushline,"Use this tool to draw lines in a more flexible manner on your route, without directional arrows.",,,,,hodor,,,,Используйте этот инструмент для более гибкого рисования линий на вашем маршруте без стрелок направления.,,
+js,intro_draw_pridefulenemy,The current seasonal affix is Prideful which spawns a Prideful Manifestation every 20% enemy forces. Use this button to spawn Prideful Manifestations where you desire to kill them.,,,,,hodor,,,,"Текущий сезонный аффикс - Полный гордыни, порождает Воплощение Гордыни каждые за каждые 20% мобов. Используйте эту кнопку, чтобы отметить место на карте где вы хотите с ним сразиться.",,
+js,intro_draw_edit,You can use the edit button to adjust your created elements such as icons or drawn lines.,,,,,hodor,,,,"Использовать кнопку редактирования, чтобы настроить созданные вами элементы, иконки или нарисованные линии.",,
+js,intro_draw_remove,"You can use the delete button to remove elements you have created. Click it once, then select the highlighted elements you wish to delete. Deleting happens in a preview mode, you have to confirm your delete by pressing the 'Finish' button, or hit the 'Cancel' button to undo them. If you confirm the deletion, there is no turning back!",,,,,hodor,,,,"Использовать кнопку удаления, чтобы удалить созданные вами элементы. Щелкните по ней один раз, затем выберите выделенные элементы, которые хотите удалить. Удаление происходит в режиме предварительного просмотра, вы должны подтвердить свое удаление, нажав кнопку «Готово», или нажмите кнопку «Отмена», чтобы отменить их удаление. Если вы подтвердите удаление, пути назад нет!",,
+js,intro_map_enemy_forces_numbers,"This label indicates the current progress with enemy forces. You can click on enemies to add them to a new pull, or select a pull from the list below and add enemies to it.",,,,,hodor,,,,"Эта метка указывает на текущий прогресс с силами противника. Вы можете щелкнуть по врагам, чтобы добавить их в новый пул, или выбрать пул из списка ниже и добавить к нему еще врагов.",,
+js,intro_new_pull,"You can use this button to create a new pull. Alternatively, you can click any enemy on the map to start a pull as well.",,,,,hodor,,,,"Использовать эту кнопку, чтобы создать новую пул. Кроме того, вы можете щелкнуть по любому врагу на карте, чтобы создать пул.",,
+js,enemy_forces_not_all_required_enemies_killed_label,Warning: this route does not kill all required enemies,,,,,hodor,,,,Предупреждение: в этом маршруте выбрано не достаточно противников для успешного завершения подземелья.,,
+js,enemy_forces_too_much_label,Warning: your route has too much enemy forces,,,,,hodor,,,,Предупреждение: в вашем маршруте выбрано слишком много противников.,,
+js,enemy_forces_too_little_label,Warning: this route does not have enough enemy forces!,,,,,hodor,,,,Внимание: в этом маршруте не достаточно противников для успешного завершения подземелья!,,
+js,enemy_forces_overridden_label,Your route's enemy forces may have been corrected due to overpulled enemies which caused automatic alterations in your route,,,,,hodor,,,,"Силы противника в вашем маршруте были скорректированы из-за чрезвычайно больших запулов врагов, что привело к автоматическим изменениям в вашем маршруте.",,
+js,sidebar_expand,Expand the sidebar,,,,,hodor,,,,Раскрыть боковую панель,,
+js,sidebar_collapse,Collapse the sidebar,,,,,hodor,,,,Свернуть боковую панель,,
+js,copied_to_clipboard,Copied to clipboard,,,,,hodor,,,,Скопировано в буфер обмена,,
+js,sidebar_enemy_health_label,Health,,,,,hodor,,,,Здоровье,,
+js,sidebar_enemy_bursting_label,Bursts,,,,,hodor,,,,Взрывной,,
+js,sidebar_enemy_sanguine_label,Sanguine,,,,,hodor,,,,Кровавый,,
+js,sidebar_enemy_bolstering_label,Bolsters,,,,,hodor,,,,Усиливающие,,
+js,sidebar_enemy_bolstering_whitelist_npcs_label,Bolsters only,,,,,hodor,,,,Только Усиливающие,,
+js,sidebar_enemy_spell_label,Spells,,,,,hodor,,,,Способность,,
+js,sidebar_enemy_skippable_label,Skippable,,,,,hodor,,,,Возможно пропустить ,,
+js,sidebar_enemy_runs_away_in_fear_label,Runs away,,,,,hodor,,,,,,
+js,sidebar_hyper_respawns_label,Hyperspawns,,,,,hodor,,,,,,
+js,sidebar_enemy_health_fortified_label,This health value is scaled by the Fortified affix,,,,,hodor,,,,,,
+js,sidebar_enemy_health_tyrannical_label,This health value is scaled by the Tyrannical affix,,,,,hodor,,,,,,
+js,sidebar_enemy_skippable_info_label,A skippable enemy is an enemy that can be skipped without using invisibility potions or Rogue Shroud. These enemies may be excluded from your routes once you mark enemies as overpulled during a live session.,,,,,hodor,,,,"Пропускаемый враг - это враг, которого можно пропустить, не используя зелья невидимости или Скрывающий покров Разбойников. Эти враги могут быть исключены из вашего маршрута после того, как вы выберете пак для пула.",,
+js,user_report_enemy_success,Report sent successfully. Thank you for helping improve Keystone.guru!,,,,,hodor,,,,Отчет успешно отправлен. Спасибо за помощь в улучшении Keystone.guru!,,
+js,dungeonroute_report_enemy_success,Report sent successfully. Thank you for helping improve Keystone.guru!,,,,,hodor,,,,Отчет успешно отправлен. Спасибо за помощь в улучшении Keystone.guru!,,
+js,tag_delete_success,Tag removed successfully,,,,,hodor,,,,Тег успешно удален,,
+js,tag_create_success,Tag created successfully,,,,,hodor,,,,Тег создан,,
+js,killzone_sidebar_kill_location_label,Kill location,,,,,hodor,,,,Место убийства,,
+js,killzone_sidebar_delete_all_pulls_confirm_label,Are you sure you want to delete all your pulls? This action can not be undone.,,,,,hodor,,,,"Вы уверены, что хотите удалить все свои пуллы? Это действие не может быть отменено.",,
+js,min_password_length,Minimum password length is 8,,,,,hodor,,,,Минимальная длина пароля 8 символов,,
+js,weak,Weak,,,,,hodor,,,,Слабый,,
+js,medium,Medium,,,,,hodor,,,,Средний,,
+js,strong,Strong,,,,,hodor,,,,Сложный,,
+js,contains_username,Password cannot contain your username,,,,,hodor,,,,Пароль не может содержать имя пользователя,,
+js,mdt_faction,Faction,,,,,hodor,,,,Фракция,,
+js,mdt_dungeon,Dungeon,,,,,hodor,,,,Подземелье,,
+js,mdt_affixes,Affixes,,,,,hodor,,,,Аффиксы,,
+js,mdt_pulls,Pulls,,,,,hodor,,,,Пулы,,
+js,mdt_paths,Paths,,,,,hodor,,,,Маршруты,,
+js,mdt_drawn_lines,Drawn lines,,,,,hodor,,,,Нарисованные линии,,
+js,mdt_notes,Notes,,,,,hodor,,,,Заметки,,
+js,mdt_enemy_forces,Enemy forces,,,,,hodor,,,,Силы врагов,,
+js,ajax_error_default,An error occurred while performing your request. Please try again.,,,,,hodor,,,,"Произошла ошибка при выполнении вашего запроса. Пожалуйста, попробуйте еще раз.",,
+js,ajax_error_403,You are not authorized to perform this request.,,,,,hodor,,,,У вас нет прав для выполнения этого запроса.,,
+js,ajax_error_404,The requested resource was not found.,,,,,hodor,,,,Запрошенный ресурс не найден.,,
+js,ajax_error_419,Your session has expired. Please refresh the page and try again.,,,,,hodor,,,,Время сеанса истекло. Обновите страницу и попробуйте еще раз.,,
+js,map_object_readonly_label,This mapping version is read-only,,,,,hodor,,,,,,
+js,map_object_category_general_label,General,,,,,hodor,,,,,,
+js,map_object_category_legacy_label,Legacy,,,,,hodor,,,,,,
+js,map_object_category_advanced_label,Advanced,,,,,hodor,,,,,,
+js,mapicon_faction_select_default_label,Select faction,,,,,hodor,,,,Фракция,,
+js,mapicon_teeming_select_default_label,Select teeming,,,,,hodor,,,,Кишащий,,
+js,map_icon_faction_label,Faction,,,,,hodor,,,,Фракция,,
+js,map_icon_teeming_label,Teeming,,,,,hodor,,,,Кишащий,,
+js,map_icon_team_id_label,Show across all routes in team,,,,,hodor,,,,Показывать все маршрутам команды,,
+js,map_icon_permanent_tooltip_label,Permanent tooltip,,,,,hodor,,,,Постоянная подсказка,,
+js,map_icon_map_icon_type_id_label,Icon,,,,,hodor,,,,Иконка,,
+js,map_icon_comment_label,Comment,,,,,hodor,,,,Комментарий,,
+js,map_icon_map_icon_type_id_select_default_label,Select icon,,,,,hodor,,,,Выбрать иконку,,
+js,map_icon_seasonal_type_label,Seasonal type,,,,,hodor,,,,Тип сезона,,
+js,map_icon_seasonal_index_label,Seasonal index,,,,,hodor,,,,Индекс сезона,,
+js,map_icon_seasonal_index_select_default_label,Not set,,,,,hodor,,,,Не выбрано,,
+js,admin_map_icon_faction_label,Faction,,,,,hodor,,,,Фракция,,
+js,admin_map_icon_teeming_label,Teeming,,,,,hodor,,,,Кишащий,,
+js,admin_map_icon_permanent_tooltip_label,Permanent tooltip,,,,,hodor,,,,Постоянная подсказка,,
+js,admin_map_icon_map_icon_type_id_label,Icon,,,,,hodor,,,,Иконка,,
+js,admin_map_icon_comment_label,Comment,,,,,hodor,,,,Комментарий,,
+js,admin_map_icon_map_icon_type_id_select_default_label,Select icon,,,,,hodor,,,,Выбрать иконку,,
+js,admin_map_icon_seasonal_type_label,Seasonal type,,,,,hodor,,,,Тип сезона,,
+js,admin_map_icon_seasonal_index_label,Seasonal index,,,,,hodor,,,,Индекс сезона,,
+js,admin_map_icon_seasonal_index_select_default_label,Not set,,,,,hodor,,,,Не выбрано,,
+js,enemy_faction_label,Faction,,,,,hodor,,,,Фракция,,
+js,enemy_teeming_label,Teeming,,,,,hodor,,,,Кишащий,,
+js,enemy_npc_id_label,Npc,,,,,hodor,,,,NPC,,
+js,enemy_floor_id_label,Floor,,,,,hodor,,,,,,
+js,enemy_mdt_id_label,MDT ID,,,,,hodor,,,,,,
+js,enemy_mdt_npc_id_label,MDT Npc (optional),,,,,hodor,,,,MDT Npc (Необязательно),,
+js,enemy_seasonal_type_label,Seasonal type,,,,,hodor,,,,Тип сезона,,
+js,enemy_seasonal_type_select_default_label,Not set,,,,,hodor,,,,Не выбрано,,
+js,enemy_seasonal_index_label,Seasonal index,,,,,hodor,,,,Индекс сезона,,
+js,enemy_seasonal_index_select_default_label,Not set,,,,,hodor,,,,Не выбрано,,
+js,enemy_active_auras_label,Active auras,,,,,hodor,,,,Активные ауры,,
+js,enemy_active_auras_select_default_label,Not set,,,,,hodor,,,,Не выбрано,,
+js,enemy_enemy_forces_override_label,Enemy forces override (-1 to inherit),,,,,hodor,,,,Переопределение вражеских отрядов (-1 для наследования),,
+js,enemy_enemy_forces_override_teeming_label,Enemy forces override teeming (-1 to inherit),,,,,hodor,,,,Переопределение кишащих вражеских отрядов (-1 для наследования),,
+js,enemy_dungeon_difficulty_select_default_label,Always,,,,,hodor,,,,,,
+js,enemy_dungeon_difficulty_label,Dungeon difficulty,,,,,hodor,,,,,,
+js,enemy_required_label,Required,,,,,hodor,,,,Необходимый,,
+js,enemy_skippable_label,Skippable,,,,,hodor,,,,Пропускаемый,,
+js,enemy_hyper_respawn_label,Hyper respawn,,,,,hodor,,,,,,
+js,enemy_kill_priority_label,Kill priority,,,,,hodor,,,,,,
+js,enemy_kill_priority_select_default_label,Select kill priority,,,,,hodor,,,,,,
+js,enemy_npc_id_select_default_label,Select NPC,,,,,hodor,,,,Выбрать NPC,,
+js,enemy_mdt_npc_id_select_default_label,Select NPC,,,,,hodor,,,,Выбрать NPC,,
+js,admin_enemy_pack_faction_label,Faction,,,,,hodor,,,,Фракция,,
+js,admin_enemy_pack_teeming_label,Teeming,,,,,hodor,,,,Кишащий,,
+js,admin_enemy_pack_label_label,Label,,,,,hodor,,,,Метка,,
+js,brushline_color_label,Color,,,,,hodor,,,,Цвет,,
+js,brushline_color_animated_label,Animated color,,,,,hodor,,,,Анимированный цвет,,
+js,brushline_weight_label,Weight,,,,,hodor,,,,Толщина,,
+js,path_color_label,Color,,,,,hodor,,,,Цвет,,
+js,path_color_animated_label,Animated color,,,,,hodor,,,,Анимированный цвет,,
+js,path_weight_label,Weight,,,,,hodor,,,,Толщина,,
+js,enemypatrol_faction_label,Faction,,,,,hodor,,,,Фракция,,
+js,enemypatrol_teeming_label,Teeming,,,,,hodor,,,,Кишащий,,
+js,enemypatrol_color_label,Color,,,,,hodor,,,,Цвет,,
+js,enemypatrol_color_animated_label,Color animated,,,,,hodor,,,,Анимированный цвет,,
+js,enemypatrol_weight_label,Weight,,,,,hodor,,,,Толщина,,
+js,enemypatrol_couple_enemies_label,Couple enemies,,,,,hodor,,,,,,
+js,enemypatrol_couple_enemies_button_text_label,Select enemies,,,,,hodor,,,,,,
+js,enemypack_group_label,Group,,,,,hodor,,,,,,
+js,enemypack_color_label,Color,,,,,hodor,,,,,,
+js,enemypack_color_animated_label,Color animated,,,,,hodor,,,,,,
+js,enemypack_faction_label,Faction,,,,,hodor,,,,Фракция,,
+js,enemypack_teeming_label,Teeming,,,,,hodor,,,,Кишащий,,
+js,enemypack_mark_as_skippable_label,Mark enemies as skippable,,,,,hodor,,,,,,
+js,enemypack_mark_as_skippable_button_text_label,Mark as Skippable,,,,,hodor,,,,,,
+js,dungeonfloorswitchmarker_faction_label,Faction,,,,,hodor,,,,Фракция,,
+js,dungeonfloorswitchmarker_teeming_label,Teeming,,,,,hodor,,,,Кишащий,,
+js,dungeonfloorswitchmarker_source_floor_id_label,Source floor,,,,,hodor,,,,,,
+js,dungeonfloorswitchmarker_source_floor_id_select_default_label,Select floor,,,,,hodor,,,,,,
+js,dungeonfloorswitchmarker_target_floor_id_label,Target floor,,,,,hodor,,,,Цель на уровне,,
+js,dungeonfloorswitchmarker_target_floor_id_select_default_label,Select floor,,,,,hodor,,,,Выбрать уровень,,
+js,dungeonfloorswitchmarker_linked_dungeon_floor_switch_marker_id_label,Linked floor switch ID,,,,,hodor,,,,,,
+js,dungeonfloorswitchmarker_direction_label,Direction,,,,,hodor,,,,Направление,,
+js,dungeonfloorswitchmarker_direction_select_default_label,Use floor coupling direction,,,,,hodor,,,,,,
+js,dungeonfloorswitchmarker_go_to_label,Go to,,,,,hodor,,,,,,
+js,dungeonfloorswitchmarker_unknown_label,Unknown,,,,,hodor,,,,,,
+js,mountablearea_faction_label,Faction,,,,,hodor,,,,,,
+js,mountablearea_teeming_label,Teeming,,,,,hodor,,,,,,
+js,mountablearea_speed_label,Speed (yards p/s),,,,,hodor,,,,,,
+js,floorunion_target_floor_id_select_default_label,Select floor,,,,,hodor,,,,,,
+js,floorunion_target_floor_id_label,Target floor,,,,,hodor,,,,,,
+js,floorunion_size_label,Size,,,,,hodor,,,,,,
+js,floorunion_rotation_label,Rotation,,,,,hodor,,,,,,
+js,floorunionarea_floor_union_id_label,Floor Union ID,,,,,hodor,,,,,,
+js,actions_label,Actions,,,,,hodor,,,,Действия,,
+js,add_to_team_label,Add to team...,,,,,hodor,,,,Добавить в команду ...,,
+js,view_label,View,,,,,hodor,,,,Показать,,
+js,collaborator_label,Edit,,,,,hodor,,,,Редактировать,,
+js,moderator_label,Moderate,,,,,hodor,,,,Модерировать,,
+js,admin_label,Own,,,,,hodor,,,,Собственный,,
+js,change_role_success,Permissions updated,,,,,hodor,,,,Разрешения обновлены,,
+js,change_default_role_success,Default role updated,,,,,hodor,,,,Роль по умолчанию обновлена,,
+js,team_admin,Administrate team,,,,,hodor,,,,Управление командой,,
+js,team_moderator,Moderate team,,,,,hodor,,,,Модерировать команду,,
+js,team_collaborator,Edit routes,,,,,hodor,,,,Редактировать маршрут,,
+js,team_member,View routes,,,,,hodor,,,,Показать маршрут,,
+js,remove_label,Remove,,,,,hodor,,,,Удалить,,
+js,team_add_route_successful,Route successfully added to team,,,,,hodor,,,,Маршрут успешно добавлен в команду,,
+js,team_remove_route_successful,Route successfully removed from team,,,,,hodor,,,,Маршрут успешно удален из команды,,
+js,ad_free_giveaway_label,Ad-free giveaway,,,,,hodor,,,,,,
+js,ad_free_giveaway_user_already_ad_free_label,User is already ad-free,,,,,hodor,,,,,,
+js,ad_free_giveaway_user_already_ad_free_giveaway_label,User is already ad-free through a giveaway,,,,,hodor,,,,,,
+js,ad_free_giveaway_add_label,Make ad-free,,,,,hodor,,,,,,
+js,ad_free_giveaway_remove_label,Revoke ad-free,,,,,hodor,,,,,,
+js,datatable_no_teams_in_table,You are not a member of any team yet,,,,,hodor,,,,Вы еще не состоите ни в одной команде,,
+js,datatable_no_members_in_table,This team has no members yet,,,,,hodor,,,,В этой команде пока нет участников,,
+js,preview_label,Preview,,,,,hodor,,,,Предварительный просмотр,,
+js,title_label,Title,,,,,hodor,,,,Название,,
+js,dungeon_label,Dungeon,,,,,hodor,,,,Подземелье,,
+js,features_label,Features,,,,,hodor,,,,Функции,,
+js,author_label,Author,,,,,hodor,,,,Автор,,
+js,metrics_label,Metrics,,,,,hodor,,,,Метрики,,
+js,views_tooltip_label,Regular views/embed views,,,,,hodor,,,,,,
+js,copy_tooltip_label,MDT string copies from viewing/on embed page,,,,,hodor,,,,,,
+js,rating_label,Rating,,,,,hodor,,,,Рейтинг,,
+js,published_label,Published,,,,,hodor,,,,Опубликовано,,
+js,add_route_label,Add,,,,,hodor,,,,Добавить,,
+js,remove_route_label,Remove,,,,,hodor,,,,Удалить,,
+js,yes_label,Yes,,,,,hodor,,,,Да,,
+js,no_label,No,,,,,hodor,,,,Нет,,
+js,cancel_label,Cancel,,,,,hodor,,,,Отменить,,
+js,finished_label,Finished,,,,,hodor,,,,Завершить,,
+js,remove_member_confirm_label,Are you sure you want remove this user from the team? Any ad-free giveaways to this user will be removed.,,,,,hodor,,,,Вы действительно хотите удалить этого пользователя из команды?,,
+js,remove_member_success,Member removed successfully,,,,,hodor,,,,Участник успешно удален,,
+js,leave_team_confirm_label,Are you sure you wish to leave this team? You may lose any ad-free giveaways awarded to you from team members.,,,,,hodor,,,,"Вы уверены, что хотите покинуть эту команду?",,
+js,leave_team_disband_confirm_label,Are you sure you wish to leave this team? You may lose any ad-free giveaways awarded to you from team members. WARNING: this will disband the team.,,,,,hodor,,,,"Вы уверены, что хотите покинуть эту команду? ВНИМАНИЕ: это распустит команду.",,
+js,ad_free_giveaway_add_success,Successfully granted ad-free status,,,,,hodor,,,,,,
+js,ad_free_giveaway_add_failed,Failed to grant ad-free status,,,,,hodor,,,,,,
+js,ad_free_giveaway_remove_success,Successfully revoked ad-free status,,,,,hodor,,,,,,
+js,ad_free_giveaway_remove_failed,Failed to revoke ad-free status,,,,,hodor,,,,,,
+js,name_label,Name,,,,,hodor,,,,Имя,,
+js,email_label,Email,,,,,hodor,,,,Электронный адрес,,
+js,join_date_label,Join date,,,,,hodor,,,,Дате вступления,,
+js,role_label,Role,,,,,hodor,,,,Роль,,
+js,assignable_roles_label,Assignable roles,,,,,hodor,,,,Назначаемые роли,,
+js,leave_label,Leave,,,,,hodor,,,,Покинуть,,
+js,delete_team_confirm_label,Are you sure you want to IRREVERSIBLY delete this team and its user/route associations?,,,,,hodor,,,,"Вы уверены, что хотите НЕОБРАТИМО удалить эту команду, ее пользователей и маршруты?",,
+js,invite_link_refreshed,Invite link refreshed.,,,,,hodor,,,,Ссылка для приглашения обновлена.,,
+js,echo_connecting_label,Connecting...,,,,,hodor,,,,Подключение ...,,
+js,echo_connected_label,Connected,,,,,hodor,,,,Подключено,,
+js,connected_users_label,Users,,,,,hodor,,,,Пользователи,,
+js,connecting_title_label,Connecting to route edit synchronization service...,,,,,hodor,,,,Подключение к сервису синхронизации редактирования маршрута ...,,
+js,connected_title_label,Connected to route edit synchronization service. All of your route editing actions will be live shared with any of your team members viewing this route!,,,,,hodor,,,,"Подключен к сервису синхронизации редактирования маршрута. Все ваши действия по редактированию маршрута будут доступны всем членам вашей команды, просматривающим этот маршрут!",,
+js,members_title_label,Your route editing actions are shared with these users that are currently viewing/editing your route!,,,,,hodor,,,,"Ваши действия по редактированию маршрута видны этим пользователям, которые в данный момент просматривают / редактируют ваш маршрут!",,
+js,member_self_title_label,"To change your color, visit your profile.",,,,,hodor,,,,Вы можете изменить свой цвет в профиле.,,
+js,echo_object_deleted_notification,{object} was deleted by {user},,,,,hodor,,,,{object} удален пользователем {user},,
+js,connected_users_hide_cursors_label,Hide cursors,,,,,hodor,,,,Скрыть курсоры,,
+js,connected_users_show_cursors_label,Show cursors,,,,,hodor,,,,Показать курсоры,,
+js,connected_user_follow_label,Follow,,,,,hodor,,,,Подписаться,,
+js,connected_user_unfollow_label,Unfollow,,,,,hodor,,,,Отписаться,,
+js,connected_user_view_profile_label,View profile,,,,,hodor,,,,Показать профиль,,
+js,echo_following_user_label,Now following,,,,,hodor,,,,Вы подписаны,,
+js,echo_unfollow_user_label,Unfollow,,,,,hodor,,,,Отписаться,,
+js,echo_following_user_stopped_label,You stopped following,,,,,hodor,,,,Вы отписались,,
+js,echo_refollow_user_label,Refollow,,,,,hodor,,,,Подписаться заново,,
+js,echo_refollow_user_stop_label,Stop,,,,,hodor,,,,Стоп,,
+js,overpull_select_enemy_label,Select one or more enemies that you overpulled,,,,,hodor,,,,"Выберите одного или нескольких врагов, которых вы будете пулить",,
+js,overpull_selection_finished_label,Finished,,,,,hodor,,,,Завершить,,
+js,filters,Filters,,,,,hodor,,,,Фильтры,,
+js,filter_enemy_forces_header_incomplete,Enemy forces: incomplete,,,,,hodor,,,,Отряд противника: Неполный,,
+js,filter_enemy_forces_header_complete,Enemy forces: complete,,,,,hodor,,,,Отряд противника: Завершенный,,
+js,filter_image_select_affixes_header,Affixes: :number selected,,,,,hodor,,,,Аффиксы: :number выбрано,,
+js,filter_image_select_dungeons_header,Dungeons: :number selected,,,,,hodor,,,,Подземелье: :number выбрано,,
+js,filter_input_affix_group_header,Affix groups: :number selected,,,,,hodor,,,,Группы аффиксов: :number выбрано,,
+js,filter_input_level_header,Level: :value,,,,,hodor,,,,Уровень: :value,,
+js,filter_input_rating_header,Rating: :value and higher,,,,,hodor,,,,Рейтинг: :value и выше,,
+js,filter_input_title_header,Title: :value,,,,,hodor,,,,Название: :value,,
+js,filter_input_expansion_header,Expansion: :value,,,,,hodor,,,,Дополнение: :value,,
+js,filter_input_season_header,Season: :value,,,,,hodor,,,,,,
+js,filter_input_user_header,User: :value,,,,,hodor,,,,Пользователь: :value,,
+js,specialization_select,Specialization...,,,,,hodor,,,,Специализация ...,,
+js,class_select,Class...,,,,,hodor,,,,Класс...,,
+js,race_select,Race...,,,,,hodor,,,,Раса...,,
+js,simulate_pull,Pull :index,,,,,hodor,,,,,,
+logic,mdt.io.export_string.category.pull,Pull %d,,,,,hodor,,,,Пулл %d,,
+logic,mdt.io.export_string.category.title,Title,,,,,hodor,,,,Название,,
+logic,mdt.io.export_string.category.map_icon,Map icon,,,,,hodor,,,,Иконки карты,,
+logic,mdt.io.export_string.unable_to_find_mdt_enemy_for_kg_enemy,"Unable to find MDT equivalent for Keystone.guru enemy with NPC %s (enemy_id: %d, npc_id: %d).",,,,,hodor,,,,"Невозможно найти врага в MDT антологичного для Keystone.guru с NPC %s (id_вгара: %d, npc_id: %d)",,
+logic,mdt.io.export_string.unable_to_find_mdt_enemy_for_kg_enemy_details,"This indicates that your route kills an enemy of which its NPC is known to MDT, but Keystone.guru hasn't coupled that enemy to an MDT equivalent yet (or it does not exist in MDT).",,,,,hodor,,,,"Ваш маршрут содержит врага, который известен MDT, но Keystone.guru еще не связал этого врага с его аналогом в MDT (или его нет в MDT).",,
+logic,mdt.io.export_string.unable_to_find_mdt_enemy_for_kg_caused_empty_pull,"This pull has been removed since all selected enemies could not be found in MDT, resulting in an otherwise empty pull.",,,,,hodor,,,,"Пул был удален так как все выбранные враги не найдены в MDT, в противном случае это пустой пул.",,
+logic,mdt.io.export_string.route_title_contains_non_ascii_char_bug,"Your route title contains non-ascii characters that are known to trigger a yet unresolved encoding bug in Keystone.guru.
+ Your route title has been stripped of all offending characters, we apologise for the inconvenience and hope to resolve this issue soon.",,,,,hodor,,,,"Название вашего маршрута содержит символы, отличные от ascii, которые, как известно, вызывают еще не устраненную ошибку кодирования в Keystone.guru. В названии вашего маршрута удалены все неподдерживаемые символы. Приносим извинения за неудобства и надеемся вскоре решить эту проблему.",,
+logic,mdt.io.export_string.route_title_contains_non_ascii_char_bug_details,"Old title: %s, new title: %s",,,,,hodor,,,,"Старое название: %s, Новое название: %s",,
+logic,mdt.io.export_string.map_icon_contains_non_ascii_char_bug,"One of your comments on a map icon has non-ascii characters that are known to trigger a yet unresolved encoding bug in Keystone.guru. Your map comment has been stripped of all offending characters, we apologise for the inconvenience and hope to resolve this issue soon.",,,,,hodor,,,,"Один из ваших комментариев к иконке на карте содержит символы, отличные от ascii, которые, как известно, вызывают еще не устраненную ошибку кодирования в Keystone.guru. В вашем комментарии к иконке на карте удалены все неподдерживаемые символы. Приносим извинения за неудобства и надеемся вскоре решить эту проблему.",,
+logic,mdt.io.export_string.map_icon_contains_non_ascii_char_bug_details,"Old comment: ""%s"", new comment: ""%s""",,,,,hodor,,,,"Старый комментарий: ""%s"", Новый комментарий: ""%s""",,
+logic,mdt.io.import_string.category.awakened_obelisks,Awakened Obelisks,,,,,hodor,,,,,,
+logic,mdt.io.import_string.category.pulls,Pulls,,,,,hodor,,,,,,
+logic,mdt.io.import_string.category.notes,Notes,,,,,hodor,,,,,,
+logic,mdt.io.import_string.category.pull,Pull %d,,,,,hodor,,,,Пулл %s,,
+logic,mdt.io.import_string.category.object,Object %d,,,,,hodor,,,,,,
+logic,mdt.io.import_string.limit_reached_pulls,Unable to import route: more than the max of :limit pulls.,,,,,hodor,,,,,,
+logic,mdt.io.import_string.limit_reached_brushlines,Unable to import route: more than the max of :limit lines.,,,,,hodor,,,,,,
+logic,mdt.io.import_string.limit_reached_paths,Unable to import route: more than the max of :limit paths.,,,,,hodor,,,,,,
+logic,mdt.io.import_string.limit_reached_notes,Unable to import route: more than the max of :limit notes.,,,,,hodor,,,,,,
+logic,mdt.io.import_string.unable_to_find_floor_for_object,Unable to find Keystone.guru floor that matches MDT floor ID %d.,,,,,hodor,,,,,,
+logic,mdt.io.import_string.unable_to_find_floor_for_object_details,This indicates that MDT has a floor that Keystone.guru does not have.,,,,,hodor,,,,,,
+logic,mdt.io.import_string.unable_to_find_mdt_enemy_for_clone_index,Unable to find MDT enemy for clone index %s and npc index %s.,,,,,hodor,,,,Невозможно найти врага MDT для клона индекса %s и NPC индекса %s.,,
+logic,mdt.io.import_string.unable_to_find_mdt_enemy_for_clone_index_details,This indicates MDT has mapped an enemy that is not known in Keystone.guru yet.,,,,,hodor,,,,"MDT нанес на карту врага, который еще не известен в Keystone.guru.",,
+logic,mdt.io.import_string.unable_to_find_kg_equivalent_for_mdt_enemy,Unable to find Keystone.guru equivalent for MDT enemy %s with NPC %s (id: %s).,,,,,hodor,,,,Невозможно найти аналог врага %s Keystone.guru для MDT NPC %s (id:%s),,
+logic,mdt.io.import_string.unable_to_find_kg_equivalent_for_mdt_enemy_details,"This indicates that your route kills an enemy of which its NPC is known to Keystone.guru, but Keystone.guru doesn't have that enemy mapped yet.",,,,,hodor,,,,"В вашем маршруте выбран враг, который известен Keystone.guru, но Keystone.guru еще не нанес на карту этого врага на карту.",,
+logic,mdt.io.import_string.unable_to_find_awakened_enemy_for_final_boss,Unable to find Awakened Enemy %s (%s) at the final boss in %s.,,,,,hodor,,,,Невозможно найти Пробужденного врага %s (%s) у последнего босса в %s,,
+logic,mdt.io.import_string.unable_to_find_awakened_enemy_for_final_boss_details,This indicates Keystone.guru has a mapping error that will need to be corrected. Send the above warning to me and I'll correct it.,,,,,hodor,,,,"В Keystone.guru есть ошибка сопоставления, которую необходимо исправить. Отправьте администратору вышеприведенное предупреждение, чтоб исправить его.",,
+logic,mdt.io.import_string.unable_to_find_enemies_pull_skipped,Failure to find enemies resulted in a pull being skipped.,,,,,hodor,,,,Ошибка в поиске врагов привела к пропуску пака.,,
+logic,mdt.io.import_string.unable_to_find_enemies_pull_skipped_details,This may indicate MDT recently had an update that is not integrated in Keystone.guru yet.,,,,,hodor,,,,"Эта ошибка может означать, что у MDT недавно было обновление, которое еще не интегрировано в Keystone.guru.",,
+logic,mdt.io.import_string.unable_to_find_awakened_obelisks,Cannot find Awakened Obelisks for your dungeon/week combination. Your Awakened Obelisk skips will not be imported.,,,,,hodor,,,,,,
+logic,mdt.io.import_string.unable_to_find_awakened_obelisk_different_floor,"Unable to import Awakened Obelisk :name, it is on a different floor than the Obelisk itself. Keystone.guru does not support this at this time.",,,,,hodor,,,,,,
+mapicontypes,unknown,,,,,,hodor,,,,,,
+mapicontypes,comment,Comment,,,,,hodor,,,,,,
+mapicontypes,door,Door,,,,,hodor,,,,,,
+mapicontypes,door_down,Door Down,,,,,hodor,,,,,,
+mapicontypes,door_left,Door Left,,,,,hodor,,,,,,
+mapicontypes,door_locked,Door Locked,,,,,hodor,,,,,,
+mapicontypes,door_right,Door Right,,,,,hodor,,,,,,
+mapicontypes,door_up,Door Up,,,,,hodor,,,,,,
+mapicontypes,dot_yellow,Yellow Dot,,,,,hodor,,,,,,
+mapicontypes,dungeon_start,Dungeon Start,,,,,hodor,,,,,,
+mapicontypes,gateway,Gateway,,,,,hodor,,,,,,
+mapicontypes,graveyard,Graveyard,,,,,hodor,,,,,,
+mapicontypes,greasebot,Grease bot (haste),,,,,hodor,,,,,,
+mapicontypes,shockbot,Shock bot (damage),,,,,hodor,,,,,,
+mapicontypes,warlock_gateway,Warlock Gateway,,,,,hodor,,,,,,
+mapicontypes,weldingbot,Welding bot (-damage taken/+healing received),,,,,hodor,,,,,,
+mapicontypes,awakened_obelisk_brutal,"Brutal Spire of Ny'alotha (Urg'roth, Breaker of Heroes)",,,,,hodor,,,,,,
+mapicontypes,awakened_obelisk_cursed,Cursed Spire of Ny'alotha (Voidweaver Mal'thir),,,,,hodor,,,,,,
+mapicontypes,awakened_obelisk_defiled,Defiled Spire of Ny'alotha (Blood of the Corruptor),,,,,hodor,,,,,,
+mapicontypes,awakened_obelisk_entropic,"Entropic Spire of Ny'alotha (Samh'rek, Beckoner of Chaos)",,,,,hodor,,,,,,
+mapicontypes,skip_flight,Skip,,,,,hodor,,,,,,
+mapicontypes,skip_teleport,Skip,,,,,hodor,,,,,,
+mapicontypes,skip_walk,Skip,,,,,hodor,,,,,,
+mapicontypes,raid_marker_star,Star,,,,,hodor,,,,,,
+mapicontypes,raid_marker_circle,Circle,,,,,hodor,,,,,,
+mapicontypes,raid_marker_diamond,Diamond,,,,,hodor,,,,,,
+mapicontypes,raid_marker_triangle,Triangle,,,,,hodor,,,,,,
+mapicontypes,raid_marker_moon,Moon,,,,,hodor,,,,,,
+mapicontypes,raid_marker_square,Square,,,,,hodor,,,,,,
+mapicontypes,raid_marker_cross,Cross,,,,,hodor,,,,,,
+mapicontypes,raid_marker_skull,Skull,,,,,hodor,,,,,,
+mapicontypes,spell_bloodlust,Bloodlust,,,,,hodor,,,,,,
+mapicontypes,spell_heroism,Heroism,,,,,hodor,,,,,,
+mapicontypes,spell_shadowmeld,Shadowmeld,,,,,hodor,,,,,,
+mapicontypes,spell_shroud_of_concealment,Shroud of Concealment,,,,,hodor,,,,,,
+mapicontypes,item_invisibility,Invisibility Potion,,,,,hodor,,,,,,
+mapicontypes,item_drums_of_speed,Drums of Speed,,,,,hodor,,,,,,
+mapicontypes,item_free_action_potion,Free Action Potion,,,,,hodor,,,,,,
+mapicontypes,item_global_thermal_sapper_charge,Global Thermal Sapper Charge,,,,,hodor,,,,,,
+mapicontypes,item_rocket_boots_xtreme,Rocket Boots Xtreme,,,,,hodor,,,,,,
+mapicontypes,question_yellow,Question,,,,,hodor,,,,,,
+mapicontypes,question_blue,Question,,,,,hodor,,,,,,
+mapicontypes,question_orange,Question,,,,,hodor,,,,,,
+mapicontypes,exclamation_yellow,Exclamation,,,,,hodor,,,,,,
+mapicontypes,exclamation_blue,Exclamation,,,,,hodor,,,,,,
+mapicontypes,exclamation_orange,Exclamation,,,,,hodor,,,,,,
+mapicontypes,neonbutton_blue,Button blue,,,,,hodor,,,,,,
+mapicontypes,neonbutton_cyan,Button cyan,,,,,hodor,,,,,,
+mapicontypes,neonbutton_green,Button green,,,,,hodor,,,,,,
+mapicontypes,neonbutton_orange,Button orange,,,,,hodor,,,,,,
+mapicontypes,neonbutton_pink,Button pink,,,,,hodor,,,,,,
+mapicontypes,neonbutton_purple,Button purple,,,,,hodor,,,,,,
+mapicontypes,neonbutton_red,Button red,,,,,hodor,,,,,,
+mapicontypes,neonbutton_yellow,Button yellow,,,,,hodor,,,,,,
+mapicontypes,neonbutton_darkred,Button dark red,,,,,hodor,,,,,,
+mapicontypes,neonbutton_darkgreen,Button dark green,,,,,hodor,,,,,,
+mapicontypes,neonbutton_darkblue,Button dark blue,,,,,hodor,,,,,,
+mapicontypes,spell_mind_soothe,Mind Soothe,,,,,hodor,,,,,,
+mapicontypes,spell_combustion,Combustion,,,,,hodor,,,,,,
+mapicontypes,covenant_kyrian,Kyrian,,,,,hodor,,,,,,
+mapicontypes,covenant_necrolords,Necrolords,,,,,hodor,,,,,,
+mapicontypes,covenant_nightfae,Night Fae,,,,,hodor,,,,,,
+mapicontypes,covenant_venthyr,Venthyr,,,,,hodor,,,,,,
+mapicontypes,portal_blue,Portal,,,,,hodor,,,,,,
+mapicontypes,portal_green,Portal,,,,,hodor,,,,,,
+mapicontypes,portal_orange,Portal,,,,,hodor,,,,,,
+mapicontypes,portal_pink,Portal,,,,,hodor,,,,,,
+mapicontypes,portal_red,Portal,,,,,hodor,,,,,,
+mapicontypes,nw_item_anima,Anima,,,,,hodor,,,,,,
+mapicontypes,nw_item_goliath,Goliath,,,,,hodor,,,,,,
+mapicontypes,nw_item_hammer,Hammer,,,,,hodor,,,,,,
+mapicontypes,nw_item_shield,Shield,,,,,hodor,,,,,,
+mapicontypes,nw_item_spear,Spear,,,,,hodor,,,,,,
+mapicontypes,spell_incarnation,Incarnation,,,,,hodor,,,,,,
+mapicontypes,spell_misdirection,Misdirection,,,,,hodor,,,,,,
+mapicontypes,spell_tricks_of_the_trade,Tricks of the Trade,,,,,hodor,,,,,,
+mapicontypes,role_tank,Tank,,,,,hodor,,,,,,
+mapicontypes,role_healer,Healer,,,,,hodor,,,,,,
+mapicontypes,role_dps,DPS,,,,,hodor,,,,,,
+mapicontypes,class_warrior,Warrior,,,,,hodor,,,,,,
+mapicontypes,class_hunter,Hunter,,,,,hodor,,,,,,
+mapicontypes,class_death_knight,Death Knight,,,,,hodor,,,,,,
+mapicontypes,class_mage,Mage,,,,,hodor,,,,,,
+mapicontypes,class_priest,Priest,,,,,hodor,,,,,,
+mapicontypes,class_monk,Monk,,,,,hodor,,,,,,
+mapicontypes,class_rogue,Rogue,,,,,hodor,,,,,,
+mapicontypes,class_warlock,Warlock,,,,,hodor,,,,,,
+mapicontypes,class_shaman,Shaman,,,,,hodor,,,,,,
+mapicontypes,class_paladin,Paladin,,,,,hodor,,,,,,
+mapicontypes,class_druid,Druid,,,,,hodor,,,,,,
+mapicontypes,class_demon_hunter,Demon Hunter,,,,,hodor,,,,,,
+mapicontypes,class_evoker,Evoker,,,,,hodor,,,,,,
+mapicontypes,chest,Chest,,,,,hodor,,,,,,
+mapicontypes,chest_locked,Locked chest,,,,,hodor,,,,,,
+mapping,map_icons.legion.court_of_stars.unlocks_after_patrol_captain_gerdo,Unlocks after killing Patrol Captain Gerdo,,,,,hodor,,,,Открывается после убийства Капитана патруля Гердо.,,
+mapping,map_icons.legion.court_of_stars.arcane_beacon,Arcane Beacon,,,,,hodor,,,,Чародейский маяк,,
+mapping,map_icons.legion.court_of_stars.flask_of_the_solemn_night,Flask of the Solemn Night,,,,,hodor,,,,Настой священной ночи,,
+mapping,map_icons.legion.neltharions_lair.hidden_pack_in_cave,Pack is in a cave below the water behind the waterfall.,,,,,hodor,,,,Пак находится в пещере под водой за водопадом.,,
+mapping,map_icons.shadowlands.de_other_side.start,Start,,,,,hodor,,,,Начало,,
+mapping,map_icons.shadowlands.de_other_side.graveyard_ardenweald,Activates after entering Ardenweald,,,,,hodor,,,,Активируется после входа в Арденвальд,,
+mapping,map_icons.shadowlands.de_other_side.graveyard_mechagon,Activates after entering Mechagon,,,,,hodor,,,,Активируется после входа в Мехагон,,
+mapping,map_icons.shadowlands.de_other_side.graveyard_zulgurub,Activates after entering Zul'Gurub,,,,,hodor,,,,Активируется после входа в Зул'Гуруб,,
+mapping,map_icons.shadowlands.de_other_side.haunted_urn,Night Fae: AoE Stun - Allows use of Haunted Urns in set locations which creates a large AoE stun in 30 yds for 10 sec.,,,,,hodor,,,,Ночной Народец: АоЕ Оглушение - оглушает всех противников в радиусе 30 метров на 10 секунд.,,
+mapping,map_icons.shadowlands.de_other_side.engineer_blob_button,Engineers can disable the river of flowing blobs for a few minutes by pressing the red button,,,,,hodor,,,,"Инженеры могут отключить реку из капель на несколько минут, нажав красную кнопку.",,
+mapping,map_icons.shadowlands.de_other_side.exit,Exit,,,,,hodor,,,,Выход,,
+mapping,map_icons.shadowlands.halls_of_atonement.start,Start,,,,,hodor,,,,Начало,,
+mapping,map_icons.shadowlands.halls_of_atonement.exit,Exit,,,,,hodor,,,,Выход,,
+mapping,map_icons.shadowlands.mists_of_tirna_scithe.start,Start,,,,,hodor,,,,Начало,,
+mapping,map_icons.shadowlands.mists_of_tirna_scithe.brambles,Night Fae: unlock shortcut,,,,,hodor,,,,Ночной Народец: Открывает короткий путь.,,
+mapping,map_icons.shadowlands.mists_of_tirna_scithe.depleted_anima_seed,Depleted Anima Seed - Night Fae Activated GY,,,,,hodor,,,,Истощенное анимасемя: Ночной Народец активирует дополнительные точки возрождения.,,
+mapping,map_icons.shadowlands.mists_of_tirna_scithe.map_missing_wall,Wall that doesn't appear on map,,,,,hodor,,,,"Стена, которой нет на карте",,
+mapping,map_icons.shadowlands.mists_of_tirna_scithe.savory_statshroom,"Savory Statshroom - Eat the mushroom, instantly healing 100% health and increasing Strength, Agility, and Intellect by 10% for 10 min.",,,,,hodor,,,,"Деликатесный лютогриб – мгновенно восполняет 100% здоровья и повышает силу, ловкость и интеллект на 10% на 10 мин.",,
+mapping,map_icons.shadowlands.mists_of_tirna_scithe.tasty_toughshroom,"Tasty Toughshroom - Eat the mushroom, instantly healing 100% health and increasing Stamina by 10% for 10 min.",,,,,hodor,,,,Вкусный жесткогриб (5 шт.) – мгновенно восполняет 100% здоровья и повышает выносливость на 10% на 10 мин.,,
+mapping,map_icons.shadowlands.mists_of_tirna_scithe.door_unlock_after_ingra_maloch,Unlocks after killing Ingra Maloch,,,,,hodor,,,,Открывается после убийства Ингра Малоха.,,
+mapping,map_icons.shadowlands.mists_of_tirna_scithe.exit,Exit,,,,,hodor,,,,Выход,,
+mapping,map_icons.shadowlands.plaguefall.start,Start,,,,,hodor,,,,Начало,,
+mapping,map_icons.shadowlands.plaguefall.graveyard_dr_ickus,Activates after killing Doctor Ickus,,,,,hodor,,,,Активируется после убийства Доктора Икуса,,
+mapping,map_icons.shadowlands.plaguefall.gushing_slime,"Necrolord: AoE Damage Proc Aura - Using Fleshcraft on the Gushing Slime's corpse will grant the Corrosive Gunk aura for 2 minutes. This aura will apply the Corrosive Gunk buff to any nearby party member, giving a 10% chance to proc AoE damage around your character",,,,,hodor,,,,"Некролорды: АоЕ прок Аура - Использование Скульптора плоти на Хлещущей слизи на 2 минуты повесит на игрока ауру Разъедающая жижа. Все союзники в радиусе 10 метров получают эффект Разъедающая жижа, который периодически наносит урон всем противникам в радиусе 10 метров.",,
+mapping,map_icons.shadowlands.plaguefall.congealed_slime,"Necrolord: 25% Damage Reduction Aura - Using Fleshcraft on the Congealed Slime's corpse will grant the Congealed Contagion aura for 2 minutes. This aura will apply the Congealed Contagion buff to any nearby party member within 10 yards, giving them 10% Damage Reduction",,,,,hodor,,,,"Некролорды: Ауоа снижения урона на 10% - Использование Скульптора плоти на Сгустке слизи на 2 минуты повесит на игрока ауру Сгустившаяся зараза. Все союзники в радиусе 10 метров получают эффект Сгустившаяся зараза, уменьшающий получаемый урон.",,
+mapping,map_icons.shadowlands.plaguefall.pestilence_slime,"Necrolord: 25% Haste Aura - Using Fleshcraft on the Pestilence Slime's corpse will grant the Rapid Infection aura for 2 minutes. This aura will apply the Rapid Infection buff to any nearby party member within 10 yards, providing them with 25% Haste",,,,,hodor,,,,"Некролорды: Ауоа скорости на 25% - Использование Скульптора плоти на Моровой слизи на 2 минуты повесит на игрока ауру Быстрая инфекция. Все союзники в радиусе 10 метров получают эффект Быстрая инфекция, повышающий показатель скорости. Кроме того, после смерти Заразный слизнюк оставляет лужу Быстрая инфекция, которая также повышает показатель скорости, если в ней стоять. Оба эффекта суммируются.",,
+mapping,map_icons.shadowlands.plaguefall.landing,Landing,,,,,hodor,,,,приземление,,
+mapping,map_icons.shadowlands.plaguefall.exit,Exit,,,,,hodor,,,,Выход,,
+mapping,map_icons.shadowlands.sanguine_depths.start,Start,,,,,hodor,,,,Начало,,
+mapping,map_icons.shadowlands.sanguine_depths.anima_cage,"VENTHYR: Activate Anima Cages to debuff enemies within 40 yds with Anima Drain. After 20 seconds, it will deactivate and give entire party 1 stack of Sinfall Boon for every enemy that died within range with Anima Drain active",,,,,hodor,,,,"Вентиры: Клетки с анимой, всего их четыре на весь данж. Активировав её, на всех противников в радиусе 40 метров будет наложен эффект Похищение анимы. Через 20 секунд клетка отключается и на всю группу накладывается эффект Благословение Грехопада, сила которого зависит от того, сколько противников было убито во время действия клетки и под действием её дебафа.",,
+mapping,map_icons.shadowlands.sanguine_depths.tick_bug,This tick seems to (sometimes) be bugged in the ground - it will however pull when the boss is pulled,,,,,hodor,,,,"Бывает этот клещ застревает в текстурах , но он будет спулен, когда начнется бой с боссом.",,
+mapping,map_icons.shadowlands.sanguine_depths.graveyard_kryxis_the_voracious,Activates after killing Kryxis the Voracious,,,,,hodor,,,,Активируется после убийства Криксиса Прожорливого,,
+mapping,map_icons.shadowlands.sanguine_depths.graveyard_executor_tarvold,Activates after killing Executor Tarvold,,,,,hodor,,,,Активируется после убийства Вершителя Тарвольда,,
+mapping,map_icons.shadowlands.sanguine_depths.graveyard_grand_proctor_beryllia,Activates after killing Grand Proctor Beryllia,,,,,hodor,,,,Активируется после убийства Верховной надзирательницы Бериллии,,
+mapping,map_icons.shadowlands.sanguine_depths.chamber_sentinel,Stone Gargoyles may activate to become Chamber Sentinels. No guaranteed activation,,,,,hodor,,,,Каменные горгульи могут активироваться и стать Часовым чертогов. Активация случайна.,,
+mapping,map_icons.shadowlands.sanguine_depths.gauntlet_explanation,There are endless waves of dogs that will spawn throughout the gauntlet. General Kaal will be in some of the packs and moves to next pack every 10% HP and goes to end room at 70%,,,,,hodor,,,,"Волны собак будут появляться постоянно в коридоре. Генерал Кааль будет переходить к новому паку мобов каждые 10% здоровья, а когда у нее будет 70% она уйдет в комнату где мы будем вести с ней бой.",,
+mapping,map_icons.shadowlands.sanguine_depths.zrali_essence,Z'rali's Essence: 65% damage reduction bubble shield for all who stand inside it. Makes the shield around the player who is carrying/activating it,,,,,hodor,,,,"Сущность З'рали: щит который уменьшает урона на 65% для всех, кто стоит внутри него. Создает щит вокруг игрока, который его несет/активирует",,
+mapping,map_icons.shadowlands.sanguine_depths.exit,Exit,,,,,hodor,,,,Выход,,
+mapping,map_icons.shadowlands.spires_of_ascension.start,Start,,,,,hodor,,,,Начало,,
+mapping,map_icons.shadowlands.spires_of_ascension.spear_of_destiny,"Kyrian: Spear of Destiny - throw the Spear of Destiny at a location, hitting all enemies within 8 yards, stunning them and making them take 20% additional damage for 10 seconds",,,,,hodor,,,,"Кирии: Копье Судьбы - Бросает копье, оглушающее противников в радиусе 8 м и увеличивающее получаемый ими урон на 20% на 10 сек.",,
+mapping,map_icons.shadowlands.spires_of_ascension.exit,Exit,,,,,hodor,,,,Выход,,
+mapping,map_icons.shadowlands.the_necrotic_wake.start,Start,,,,,hodor,,,,Начало,,
+mapping,map_icons.shadowlands.the_necrotic_wake.bloody_javelin,"Bloody Javelin: Throws a Kyrian javelin at the target, inflicting Physical damage to all enemies it passes through and additional Physical damage every 2 sec for 16 sec. Enemies hit take 20% increased damage for 16 sec.",,,,,hodor,,,,"Кровавое копье: Бросает в цель кирийский дротик, нанося пронзенным противникам на линии физический урон мгновенно и дополнительный физический урон раз в 2 сек. в течение 16 сек. Пораженные противники в течение 16 сек. получают на 20% больше урона.",,
+mapping,map_icons.shadowlands.the_necrotic_wake.forgotten_forgehammer,"Forgotten Forgehammer: Hurls a mighty Kyrian hammer at the target, inflicting Physical damage and stunning the target for 8 sec.",,,,,hodor,,,,"Забытый кузнечный молот: Бросает в цель кирийский молот, нанося физический урон и оглушая цель на 8 сек.",,
+mapping,map_icons.shadowlands.the_necrotic_wake.malfunctioning_goliath,Kyrian: Malfunctioning Goliath - Ejects 5 Anima orbs which remain on the ground for about 12 seconds. Stepping on an orb grants Anima Exhaust. This increases movement speed by 20% and causes AoE damage procs and healing every 4 seconds for 1 min.,,,,,hodor,,,,Брошенный щит: ,,
+mapping,map_icons.shadowlands.the_necrotic_wake.discharged_anima,"Discharged Anima: Unleash the stored anima, inflicting Arcane damage to nearby enemies and interrupting their spellcasting every 1 sec for 8 sec.",,,,,hodor,,,,"Кирии: Призыв распорядителя - Выхлоп анимы, полученный от неисправных голиафов, повышает скорость передвижения на 20% и раз в 4 сек. в течение 1 мин. вызывает вокруг игрока взрывы, которые наносят находящимся рядом противникам урон от тайной магии и восстанавливают находящимся рядом союзникам здоровье.",,
+mapping,map_icons.shadowlands.the_necrotic_wake.discarded_shield,Discarded Shield: Activate to reduce damage taken by 50% for all allies within 8 yds for 6 sec.,,,,,hodor,,,,"Брошенный щит: При активации уменьшает урон, получаемый союзниками в радиусе 8м, на 50% на 6сек.",,
+mapping,map_icons.shadowlands.the_necrotic_wake.anima_crystal_shard,Anima Crystal Shard,,,,,hodor,,,,"Освобожденная анима: Высвобождает накопленную аниму, нанося находящимся рядом противникам урон от тайной магии и раз в 1 сек. в течение 8 сек. прерывая применение заклинаний.",,
+mapping,map_icons.shadowlands.the_necrotic_wake.grisly_curio,Grisly Curio,,,,,hodor,,,,Мрачная диковина,,
+mapping,map_icons.shadowlands.the_necrotic_wake.exit,Exit,,,,,hodor,,,,Выход,,
+mapping,map_icons.shadowlands.theater_of_pain.start,Start,,,,,hodor,,,,Начало,,
+mapping,map_icons.shadowlands.theater_of_pain.necrolord_banner,Necrolord: Click Necrolord Banners to grant a 5-minute 10% speed and versatility buff to all party members,,,,,hodor,,,,"Некролорды: Знамёна Некролордов - активация знамен повышает универсальность союзников на 10%, а скорость передвижения – на 10%.",,
+mapping,map_icons.shadowlands.theater_of_pain.graveyard_gorechop,Activates after killing Gorechop,,,,,hodor,,,,Активируется после убийства Кроворуб,,
+mapping,map_icons.shadowlands.theater_of_pain.pack_jump_from_sides,The pack jumps out from both sides when you step out onto the bridge,,,,,hodor,,,,"Мобы выпрыгивают с обеих сторон моста, когда вы на его зайдете.",,
+mapping,map_icons.shadowlands.theater_of_pain.miniboss_pick_one,Only one is available - pick one and not both,,,,,hodor,,,,"Возможно выбрать только один вариант - выберите один, а не оба",,
+mapping,map_icons.shadowlands.theater_of_pain.teleporter,Teleporter,,,,,hodor,,,,Телепорт,,
+mapping,map_icons.shadowlands.theater_of_pain.exit,Exit,,,,,hodor,,,,Выход,,
+models,dungeonroute.title_temporary_route,:dungeonName Temporary Route,,,,,hodor,,,,:dungeonName Временный Маршрут,,
+models,dungeonroute.title_clone,:routeTitle (clone),,,,,hodor,,,,:routeTitle (Клонировать),,
+models,dungeonroute.subtitle_clone_of,Clone of :routeLink,,,,,hodor,,,,Клон :routeLink,,
+models,dungeonroute.permission_dratnos,Used with Dratnos' permission,,,,,hodor,,,,Используется с разрешения Дратноса,,
+models,dungeonroute.permission_petko,Used with Petko's permission,,,,,hodor,,,,Используется с разрешения Петко,,
+models,dungeonroute.subtitle_temporary_route,Temporary route,,,,,hodor,,,,Временный Маршрут,,
+models,dungeonroute.subtitle_author,By %s,,,,,hodor,,,,Автор %s,,
+npcaggressiveness,aggressive,Aggressive,,,,,hodor,,,,,,
+npcaggressiveness,unfriendly,Unfriendly,,,,,hodor,,,,,,
+npcaggressiveness,neutral,Neutral,,,,,hodor,,,,,,
+npcaggressiveness,friendly,Friendly,,,,,hodor,,,,,,
+npcaggressiveness,awakened,Awakenend,,,,,hodor,,,,,,
+npcclasses,melee,Melee,,,,,hodor,,,,,,
+npcclasses,ranged,Ranged,,,,,hodor,,,,,,
+npcclasses,caster,Caster,,,,,hodor,,,,,,
+npcclasses,healer,Healer,,,,,hodor,,,,,,
+npcclasses,caster_melee,Caster/Melee,,,,,hodor,,,,,,
+npcclasses,healer_caster,Healer/Caster,,,,,hodor,,,,,,
+npcclasses,healer_melee,Healer/Melee,,,,,hodor,,,,,,
+npcclasses,ranged_caster,Ranged/Caster,,,,,hodor,,,,,,
+npcclasses,ranged_healer,Ranged/Healer,,,,,hodor,,,,,,
+npcclasses,ranged_melee,Ranged/Melee,,,,,hodor,,,,,,
+npcclassifications,normal,Normal,,,,,hodor,,,,Обычный,,
+npcclassifications,elite,Elite,,,,,hodor,,,,Элитный,,
+npcclassifications,boss,Boss,,,,,hodor,,,,Босс,,
+npcclassifications,finalboss,Final boss,,,,,hodor,,,,Последний босс,,
+npcclassifications,rare,Rare,,,,,hodor,,,,,,
+pagination,previous,« Previous,,,,,hodor,,,,« Предыдущая,,
+pagination,next,Next »,,,,,hodor,,,,Далее »,,
+passwords,password,Passwords must be at least six characters and match the confirmation.,,,,,hodor,,,,Пароли должны соответствовать и состоять минимум из шести символов,,
+passwords,reset,Your password has been reset!,,,,,hodor,,,,Ваш пароль был сброшен!,,
+passwords,sent,We have e-mailed your password reset link!,,,,,hodor,,,,На ваш электронный адрес отправлено письмо с ссылкой для сброса пароля!,,
+passwords,token,This password reset token is invalid.,,,,,hodor,,,,Этот токен сброса пароля больше недействителен.,,
+passwords,user,We can't find a user with that e-mail address.,,,,,hodor,,,,Пользователь с таким адресом электронной почты не найден.,,
+patreonbenefits,ad-free,Ad-free,,,,,hodor,,,,,,
+patreonbenefits,unlimited-dungeonroutes,Unlimited routes,,,,,hodor,,,,,,
+patreonbenefits,unlisted-routes,Unlisted routes,,,,,hodor,,,,,,
+patreonbenefits,animated-polylines,Animated polylines,,,,,hodor,,,,,,
+patreonbenefits,advanced-simulation,Advanced simulation,,,,,hodor,,,,,,
+patreonbenefits,ad-free-team-members,Ad-free for team members,,,,,hodor,,,,,,
+policy,view_route_not_published,This route is not published and cannot be viewed. Please ask the author to publish this route to view it.,,,,,hodor,,,,,,
+policy,present_route_not_published,This route is not published and cannot be presented. Please ask the author to publish this route to present it.,,,,,hodor,,,,,,
+policy,embed_route_not_published,This route is not published and cannot be viewed. Please ask the author to publish this route to view it.,,,,,hodor,,,,,,
+policy,embed_route_sandbox_not_allowed,Sandbox routes cannot be embedded.,,,,,hodor,,,,,,
+policy,publish_not_all_required_enemies_killed,Unable to change sharing settings: not all required enemies have been killed.,,,,,hodor,,,,,,
+policy,add_kill_zone_limit_reached,Unable to add more than :limit pulls to a single route.,,,,,hodor,,,,,,
+policy,add_brushline_limit_reached,Unable to add more than :limit free-drawn lines to a single route.,,,,,hodor,,,,,,
+policy,add_path_limit_reached,Unable to add more than :limit paths to a single route.,,,,,hodor,,,,,,
+policy,add_map_icon_limit_reached,Unable to add more than :limit map icons to a single route.,,,,,hodor,,,,,,
+races,human,Human,,,,,hodor,,,,Люди,,
+races,dwarf,Dwarf,,,,,hodor,,,,Дворфы,,
+races,night_elf,Night Elf,,,,,hodor,,,,Ночные эльфы,,
+races,gnome,Gnome,,,,,hodor,,,,Гномы,,
+races,draenei,Draenei,,,,,hodor,,,,Дренеи,,
+races,worgen,Worgen,,,,,hodor,,,,Воргены,,
+races,pandarenalliance,Pandaren,,,,,hodor,,,,Пандарены Альянс,,
+races,void_elf,Void Elf,,,,,hodor,,,,Эльфы Бездны,,
+races,lightforged_draenei,Lightforged Draenei,,,,,hodor,,,,Озарённые дренеи,,
+races,dark_iron_dwarf,Dark Iron Dwarf,,,,,hodor,,,,Дворфы из клана Чёрного Железа,,
+races,dracthyralliance,Dracthyr,,,,,hodor,,,,,,
+races,orc,Orc,,,,,hodor,,,,Орки,,
+races,undead,Undead,,,,,hodor,,,,Отрёкшиеся,,
+races,tauren,Tauren,,,,,hodor,,,,Таурены,,
+races,troll,Troll,,,,,hodor,,,,Тролли,,
+races,blood_elf,Blood Elf,,,,,hodor,,,,Эльфы крови,,
+races,goblin,Goblin,,,,,hodor,,,,Гоблины,,
+races,pandarenhorde,Pandaren,,,,,hodor,,,,Пандарены Орда,,
+races,nightborne,Nightborne,,,,,hodor,,,,Ночнорождённые,,
+races,highmountain_tauren,Highmountain Tauren,,,,,hodor,,,,Таурены Крутогорья,,
+races,maghar_orc,Mag'har Orc,,,,,hodor,,,,Маг’хары,,
+races,dracthyrhorde,Dracthyr,,,,,hodor,,,,,,
+races,kul_tiran_human,Kul Tiran Human,,,,,hodor,,,,Култирасцы,,
+races,zandalari_troll,Zandalari Troll,,,,,hodor,,,,Зандалары,,
+races,mechagnome,Mechagnome,,,,,hodor,,,,Механогномы,,
+races,vulpera,Vulpera,,,,,hodor,,,,Вульперы,,
+releasechangelogcategories,general_changes,General changes,,,,,hodor,,,,,,
+releasechangelogcategories,route_changes,Route changes,,,,,hodor,,,,,,
+releasechangelogcategories,map_changes,Map changes,,,,,hodor,,,,,,
+releasechangelogcategories,mapping_changes,Mapping changes,,,,,hodor,,,,,,
+releasechangelogcategories,bugfixes,Bugfixes,,,,,hodor,,,,,,
+releasechangelogcategories,mdt_importer_changes,MDT Importer changes,,,,,hodor,,,,,,
+releasechangelogcategories,team_changes,Team changes,,,,,hodor,,,,,,
+releasechangelogcategories,mdt_exporter_changes,MDT Exporter changes,,,,,hodor,,,,,,
+releasechangelogcategories,live_session_changes,Live Session changes,,,,,hodor,,,,,,
+releasechangelogcategories,simulation_craft_changes,SimulationCraft changes,,,,,hodor,,,,,,
+releasechangelogcategories,auto_route_changes,Auto route changes,,,,,hodor,,,,,,
+releasechangelogcategories,api_changes,API changes,,,,,hodor,,,,,,
+routeattributes,no_attributes,No attributes,,,,,hodor,,,,,,
+routeattributes,rogue_shroud_skip,Rogue Shroud Skip,,,,,hodor,,,,,,
+routeattributes,warlock_gate_skip,Warlock Gate Skip,,,,,hodor,,,,,,
+routeattributes,mage_slow_fall_skip,Mage Slow Fall Skip,,,,,hodor,,,,,,
+routeattributes,invisibility_potion,Invisibility Potion,,,,,hodor,,,,,,
+routeattributes,death_skip,Death Skip,,,,,hodor,,,,,,
+rules,create_route_npc_chronological_rule.message,Npc(s) :npcs diedAt must be before engagedAt!,,,,,hodor,,,,,,
+rules,dungeon_route_level_rule.message,You must select a key level range.,,,,,hodor,,,,,,
+rules,faction_selection_required_rule.message,You need to select a faction for this dungeon.,,,,,hodor,,,,,,
+rules,json_string_count_rule.message,Json string must have at least :count elements.,,,,,hodor,,,,,,
+rules,map_icon_type_role_check_rule.message,That map icon type is not available for your access level.,,,,,hodor,,,,,,
+seasons,name,Season :season,,,,,hodor,,,,,,
+services,npcservice.all_dungeons,All dungeons,,,,,hodor,,,,,,
+specializations,death_knight.blood,Blood,,,,,hodor,,,,Кровь,,
+specializations,death_knight.frost,Frost,,,,,hodor,,,,Лед,,
+specializations,death_knight.unholy,Unholy,,,,,hodor,,,,Нечестивость,,
+specializations,demon_hunter.havoc,Havoc,,,,,hodor,,,,Истребление,,
+specializations,demon_hunter.vengeance,Vengeance,,,,,hodor,,,,Месть,,
+specializations,druid.balance,Balance,,,,,hodor,,,,Баланс,,
+specializations,druid.feral,Feral,,,,,hodor,,,,Сила зверя,,
+specializations,druid.guardian,Guardian,,,,,hodor,,,,Страж,,
+specializations,druid.restoration,Restoration,,,,,hodor,,,,Исцеление,,
+specializations,evoker.devastation,Devastation,,,,,hodor,,,,,,
+specializations,evoker.preservation,Preservation,,,,,hodor,,,,,,
+specializations,hunter.beast_mastery,Beast Mastery,,,,,hodor,,,,Повелитель зверей,,
+specializations,hunter.marksman,Marksman,,,,,hodor,,,,Стрельба,,
+specializations,hunter.survival,Survival,,,,,hodor,,,,Выживание,,
+specializations,mage.arcane,Arcane,,,,,hodor,,,,Тайная магия,,
+specializations,mage.fire,Fire,,,,,hodor,,,,Огонь,,
+specializations,mage.frost,Frost,,,,,hodor,,,,Лед,,
+specializations,monk.brewmaster,Brewmaster,,,,,hodor,,,,Хмелевар,,
+specializations,monk.mistweaver,Mistweaver,,,,,hodor,,,,Ткач туманов,,
+specializations,monk.windwalker,Windwalker,,,,,hodor,,,,Танцующий с ветром,,
+specializations,paladin.holy,Holy,,,,,hodor,,,,Свет,,
+specializations,paladin.protection,Protection,,,,,hodor,,,,Защита,,
+specializations,paladin.retribution,Retribution,,,,,hodor,,,,Воздаяние,,
+specializations,priest.discipline,Discipline,,,,,hodor,,,,Послушание,,
+specializations,priest.holy,Holy,,,,,hodor,,,,Свет,,
+specializations,priest.shadow,Shadow,,,,,hodor,,,,Тьма,,
+specializations,rogue.assassination,Assassination,,,,,hodor,,,,Ликвидация,,
+specializations,rogue.outlaw,Outlaw,,,,,hodor,,,,Головорез,,
+specializations,rogue.subtlety,Subtlety,,,,,hodor,,,,Скрытность,,
+specializations,shaman.elemental,Elemental,,,,,hodor,,,,Стихии,,
+specializations,shaman.enhancement,Enhancement,,,,,hodor,,,,Совершествование,,
+specializations,shaman.restoration,Restoration,,,,,hodor,,,,Исцеление,,
+specializations,warlock.affliction,Affliction,,,,,hodor,,,,Колдовство,,
+specializations,warlock.demonology,Demonology,,,,,hodor,,,,Демонология,,
+specializations,warlock.destruction,Destruction,,,,,hodor,,,,Разрушение,,
+specializations,warrior.arms,Arms,,,,,hodor,,,,Оружие,,
+specializations,warrior.fury,Fury,,,,,hodor,,,,Неистовство,,
+specializations,warrior.protection,Protection,,,,,hodor,,,,Защита,,
+spells,general,General,,,,,hodor,,,,,,
+spells,death_knight,Death Knight,,,,,hodor,,,,,,
+spells,demon_hunter,Demon Hunter,,,,,hodor,,,,,,
+spells,druid,Druid,,,,,hodor,,,,,,
+spells,evoker,Evoker,,,,,hodor,,,,,,
+spells,hunter,Hunter,,,,,hodor,,,,,,
+spells,mage,Mage,,,,,hodor,,,,,,
+spells,monk,Monk,,,,,hodor,,,,,,
+spells,paladin,Paladin,,,,,hodor,,,,,,
+spells,priest,Priest,,,,,hodor,,,,,,
+spells,rogue,Rogue,,,,,hodor,,,,,,
+spells,shaman,Shaman,,,,,hodor,,,,,,
+spells,warlock,Warlock,,,,,hodor,,,,,,
+spells,warrior,Warrior,,,,,hodor,,,,,,
+teamroles,member,Member,,,,,hodor,,,,Участник,,
+teamroles,collaborator,Collaborator,,,,,hodor,,,,Коллаборатор,,
+teamroles,moderator,Moderator,,,,,hodor,,,,Модератор,,
+teamroles,admin,Admin,,,,,hodor,,,,Администратор,,
+validation,accepted,The :attribute must be accepted.,,,,,hodor,,,,:attribute должен быть принят,,
+validation,active_url,The :attribute is not a valid URL.,,,,,hodor,,,,:attribute недопустимым URL.,,
+validation,after,The :attribute must be a date after :date.,,,,,hodor,,,,:attribute должен быть датой после :date.,,
+validation,after_or_equal,The :attribute must be a date after or equal to :date.,,,,,hodor,,,,:attribute должен быть датой после или равной :date.,,
+validation,alpha,The :attribute may only contain letters.,,,,,hodor,,,,:attribute может содержать только буквы.,,
+validation,alpha_dash,"The :attribute may only contain letters, numbers, and dashes.",,,,,hodor,,,,":attribute может содержать только буквы, цифры и тире.",,
+validation,alpha_num,The :attribute may only contain letters and numbers.,,,,,hodor,,,,:attribute может содержать только буквы и цифры.,,
+validation,array,The :attribute must be an array.,,,,,hodor,,,,:attribute должен быть массивом.,,
+validation,before,The :attribute must be a date before :date.,,,,,hodor,,,,:attribute должен быть датой после :date.,,
+validation,before_or_equal,The :attribute must be a date before or equal to :date.,,,,,hodor,,,,:attribute должен быть датой до или равной :date.,,
+validation,between.numeric,The :attribute must be between :min and :max.,,,,,hodor,,,,:attribute должно быть между :min и :max.,,
+validation,between.file,The :attribute must be between :min and :max kilobytes.,,,,,hodor,,,,:attribute должно быть между :min и :max килобайт.,,
+validation,between.string,The :attribute must be between :min and :max characters.,,,,,hodor,,,,:attribute должно быть между :min и :max символов,,
+validation,between.array,The :attribute must have between :min and :max items.,,,,,hodor,,,,:attribute должно быть между :min и :max предметов,,
+validation,boolean,The :attribute field must be true or false.,,,,,hodor,,,,:attribute поле должно быть истинным или ложным.,,
+validation,confirmed,The :attribute confirmation does not match.,,,,,hodor,,,,:attribute подтверждение не совпадает.,,
+validation,date,The :attribute is not a valid date.,,,,,hodor,,,,:attribute не действительная дата.,,
+validation,date_format,The :attribute does not match the format :format.,,,,,hodor,,,,:attribute не соответствует формату :format.,,
+validation,different,The :attribute and :other must be different.,,,,,hodor,,,,:attribute и :other должны быть другими,,
+validation,digits,The :attribute must be :digits digits.,,,,,hodor,,,,:attribute должен иметь :digits цифры.,,
+validation,digits_between,The :attribute must be between :min and :max digits.,,,,,hodor,,,,:attribute должно быть между :min и :max цифры.,,
+validation,dimensions,The :attribute has invalid image dimensions.,,,,,hodor,,,,:attribute имеет недопустимые размеры изображения.,,
+validation,distinct,The :attribute field has a duplicate value.,,,,,hodor,,,,:attribute поле имеет повторяющееся значение.,,
+validation,email,The :attribute must be a valid email address.,,,,,hodor,,,,:attribute Адрес эл. почты должен быть действительным.,,
+validation,exists,The selected :attribute is invalid.,,,,,hodor,,,,Выбранный :attribute недействителен.,,
+validation,file,The :attribute must be a file.,,,,,hodor,,,,:attribute должен быть файлом.,,
+validation,filled,The :attribute field is required.,,,,,hodor,,,,"Поле :attribute, обязательное для заполнения.",,
+validation,image,The :attribute must be an image.,,,,,hodor,,,,:attribute должно быть изображением.,,
+validation,in,The selected :attribute is invalid.,,,,,hodor,,,,Выбранный :attribute недействителен,,
+validation,in_array,The :attribute field does not exist in :other.,,,,,hodor,,,,Поле :attribute не существует в :other.,,
+validation,integer,The :attribute must be an integer.,,,,,hodor,,,,:attribute должно быть целым числом.,,
+validation,ip,The :attribute must be a valid IP address.,,,,,hodor,,,,:attribute должен быть действующий IP-адрес,,
+validation,json,The :attribute must be a valid JSON string.,,,,,hodor,,,,:attribute должен быть действительной строкой JSON,,
+validation,max.numeric,The :attribute may not be greater than :max.,,,,,hodor,,,,:attribute не может быть больше чем :max.,,
+validation,max.file,The :attribute may not be greater than :max kilobytes.,,,,,hodor,,,,:attribute не может быть больше чем :max килобайт,,
+validation,max.string,The :attribute may not be greater than :max characters.,,,,,hodor,,,,:attribute не может быть больше чем :max символов,,
+validation,max.array,The :attribute may not have more than :max items.,,,,,hodor,,,,:attribute не может быть больше :max предметов,,
+validation,mimes,The :attribute must be a file of type: :values.,,,,,hodor,,,,:attribute должен быть файл типа: :values.,,
+validation,mimetypes,The :attribute must be a file of type: :values.,,,,,hodor,,,,:attribute должен быть файл типа: :values.,,
+validation,min.numeric,The :attribute must be at least :min.,,,,,hodor,,,,:attribute должен быть не менее :min.,,
+validation,min.file,The :attribute must be at least :min kilobytes.,,,,,hodor,,,,:attribute должен быть не менее :min килобайт.,,
+validation,min.string,The :attribute must be at least :min characters.,,,,,hodor,,,,:attribute должен быть не менее :min символов.,,
+validation,min.array,The :attribute must have at least :min items.,,,,,hodor,,,,:attribute должен иметь как минимум :min предметов.,,
+validation,not_in,The selected :attribute is invalid.,,,,,hodor,,,,Выбранный :attribute недействителен.,,
+validation,numeric,The :attribute must be a number.,,,,,hodor,,,,:attribute должен быть числом.,,
+validation,present,The :attribute field must be present.,,,,,hodor,,,,Поле :attribute должно присутствовать.,,
+validation,regex,The :attribute format is invalid.,,,,,hodor,,,,Неверный формат :attribute,,
+validation,required,The :attribute field is required.,,,,,hodor,,,,"Поле :attribute, обязательное для заполнения.",,
+validation,required_if,The :attribute field is required when :other is :value.,,,,,hodor,,,,"Поле :attribute обязательно, когда :other является :value.",,
+validation,required_unless,The :attribute field is required unless :other is in :values.,,,,,hodor,,,,"Поле :attribute является обязательным, если только :other не указано в :values.",,
+validation,required_with,The :attribute field is required when :values is present.,,,,,hodor,,,,"Поле :attribute обязательно, когда присутствует в :values.",,
+validation,required_with_all,The :attribute field is required when :values is present.,,,,,hodor,,,,"Поле :attribute обязательно, когда присутствует в :values.",,
+validation,required_without,The :attribute field is required when :values is not present.,,,,,hodor,,,,"Поле :attribute обязательно, когда не присутствует в :values.",,
+validation,required_without_all,The :attribute field is required when none of :values are present.,,,,,hodor,,,,"Поле :attribute является обязательным, если ни один из :values присутствуют.",,
+validation,same,The :attribute and :other must match.,,,,,hodor,,,,:attribute и :other должны совпадать.,,
+validation,size.numeric,The :attribute must be :size.,,,,,hodor,,,,:attribute должен быть :size.,,
+validation,size.file,The :attribute must be :size kilobytes.,,,,,hodor,,,,:attribute должен быть :size килобайт.,,
+validation,size.string,The :attribute must be :size characters.,,,,,hodor,,,,:attribute должен быть :size символов.,,
+validation,size.array,The :attribute must contain :size items.,,,,,hodor,,,,:attribute должен содержать :size предметов,,
+validation,string,The :attribute must be a string.,,,,,hodor,,,,:attribute должен быть строкой.,,
+validation,timezone,The :attribute must be a valid zone.,,,,,hodor,,,,:attribute должна быть действующая зона.,,
+validation,unique,The :attribute has already been taken.,,,,,hodor,,,,:attribute уже использовано.,,
+validation,uploaded,The :attribute failed to upload.,,,,,hodor,,,,:attribute не удалось загрузить.,,
+validation,url,The :attribute format is invalid.,,,,,hodor,,,,Формат :attribute недействителен.,,
+validation,custom.attribute-name.rule-name,custom-message,,,,,hodor,,,,Сообщение,,
diff --git a/lang/pt-BR/affixes.php b/lang/pt_BR/affixes.php
similarity index 100%
rename from lang/pt-BR/affixes.php
rename to lang/pt_BR/affixes.php
diff --git a/lang/pt-BR/auth.php b/lang/pt_BR/auth.php
similarity index 100%
rename from lang/pt-BR/auth.php
rename to lang/pt_BR/auth.php
diff --git a/lang/pt-BR/breadcrumbs.php b/lang/pt_BR/breadcrumbs.php
similarity index 100%
rename from lang/pt-BR/breadcrumbs.php
rename to lang/pt_BR/breadcrumbs.php
diff --git a/lang/pt-BR/classes.php b/lang/pt_BR/classes.php
similarity index 100%
rename from lang/pt-BR/classes.php
rename to lang/pt_BR/classes.php
diff --git a/lang/pt-BR/controller.php b/lang/pt_BR/controller.php
similarity index 100%
rename from lang/pt-BR/controller.php
rename to lang/pt_BR/controller.php
diff --git a/lang/pt-BR/dungeons.php b/lang/pt_BR/dungeons.php
similarity index 100%
rename from lang/pt-BR/dungeons.php
rename to lang/pt_BR/dungeons.php
diff --git a/lang/pt-BR/exceptions.php b/lang/pt_BR/exceptions.php
similarity index 100%
rename from lang/pt-BR/exceptions.php
rename to lang/pt_BR/exceptions.php
diff --git a/lang/pt-BR/expansions.php b/lang/pt_BR/expansions.php
similarity index 100%
rename from lang/pt-BR/expansions.php
rename to lang/pt_BR/expansions.php
diff --git a/lang/pt-BR/factions.php b/lang/pt_BR/factions.php
similarity index 100%
rename from lang/pt-BR/factions.php
rename to lang/pt_BR/factions.php
diff --git a/lang/pt-BR/gameserverregions.php b/lang/pt_BR/gameserverregions.php
similarity index 100%
rename from lang/pt-BR/gameserverregions.php
rename to lang/pt_BR/gameserverregions.php
diff --git a/lang/pt-BR/gameversions.php b/lang/pt_BR/gameversions.php
similarity index 100%
rename from lang/pt-BR/gameversions.php
rename to lang/pt_BR/gameversions.php
diff --git a/lang/pt-BR/js.php b/lang/pt_BR/js.php
similarity index 100%
rename from lang/pt-BR/js.php
rename to lang/pt_BR/js.php
diff --git a/lang/pt-BR/logic.php b/lang/pt_BR/logic.php
similarity index 100%
rename from lang/pt-BR/logic.php
rename to lang/pt_BR/logic.php
diff --git a/lang/pt-BR/mapicontypes.php b/lang/pt_BR/mapicontypes.php
similarity index 100%
rename from lang/pt-BR/mapicontypes.php
rename to lang/pt_BR/mapicontypes.php
diff --git a/lang/pt-BR/mapping.php b/lang/pt_BR/mapping.php
similarity index 100%
rename from lang/pt-BR/mapping.php
rename to lang/pt_BR/mapping.php
diff --git a/lang/pt-BR/models.php b/lang/pt_BR/models.php
similarity index 100%
rename from lang/pt-BR/models.php
rename to lang/pt_BR/models.php
diff --git a/lang/pt-BR/npcaggressiveness.php b/lang/pt_BR/npcaggressiveness.php
similarity index 100%
rename from lang/pt-BR/npcaggressiveness.php
rename to lang/pt_BR/npcaggressiveness.php
diff --git a/lang/pt-BR/npcclasses.php b/lang/pt_BR/npcclasses.php
similarity index 100%
rename from lang/pt-BR/npcclasses.php
rename to lang/pt_BR/npcclasses.php
diff --git a/lang/pt-BR/npcclassifications.php b/lang/pt_BR/npcclassifications.php
similarity index 100%
rename from lang/pt-BR/npcclassifications.php
rename to lang/pt_BR/npcclassifications.php
diff --git a/lang/pt-BR/pagination.php b/lang/pt_BR/pagination.php
similarity index 100%
rename from lang/pt-BR/pagination.php
rename to lang/pt_BR/pagination.php
diff --git a/lang/pt-BR/passwords.php b/lang/pt_BR/passwords.php
similarity index 100%
rename from lang/pt-BR/passwords.php
rename to lang/pt_BR/passwords.php
diff --git a/lang/pt-BR/patreonbenefits.php b/lang/pt_BR/patreonbenefits.php
similarity index 100%
rename from lang/pt-BR/patreonbenefits.php
rename to lang/pt_BR/patreonbenefits.php
diff --git a/lang/pt-BR/policy.php b/lang/pt_BR/policy.php
similarity index 100%
rename from lang/pt-BR/policy.php
rename to lang/pt_BR/policy.php
diff --git a/lang/pt-BR/races.php b/lang/pt_BR/races.php
similarity index 100%
rename from lang/pt-BR/races.php
rename to lang/pt_BR/races.php
diff --git a/lang/pt-BR/releasechangelogcategories.php b/lang/pt_BR/releasechangelogcategories.php
similarity index 100%
rename from lang/pt-BR/releasechangelogcategories.php
rename to lang/pt_BR/releasechangelogcategories.php
diff --git a/lang/pt-BR/routeattributes.php b/lang/pt_BR/routeattributes.php
similarity index 100%
rename from lang/pt-BR/routeattributes.php
rename to lang/pt_BR/routeattributes.php
diff --git a/lang/pt-BR/rules.php b/lang/pt_BR/rules.php
similarity index 100%
rename from lang/pt-BR/rules.php
rename to lang/pt_BR/rules.php
diff --git a/lang/pt-BR/seasons.php b/lang/pt_BR/seasons.php
similarity index 100%
rename from lang/pt-BR/seasons.php
rename to lang/pt_BR/seasons.php
diff --git a/lang/pt-BR/services.php b/lang/pt_BR/services.php
similarity index 100%
rename from lang/pt-BR/services.php
rename to lang/pt_BR/services.php
diff --git a/lang/pt-BR/specializations.php b/lang/pt_BR/specializations.php
similarity index 100%
rename from lang/pt-BR/specializations.php
rename to lang/pt_BR/specializations.php
diff --git a/lang/pt-BR/spells.php b/lang/pt_BR/spells.php
similarity index 100%
rename from lang/pt-BR/spells.php
rename to lang/pt_BR/spells.php
diff --git a/lang/pt-BR/teamroles.php b/lang/pt_BR/teamroles.php
similarity index 100%
rename from lang/pt-BR/teamroles.php
rename to lang/pt_BR/teamroles.php
diff --git a/lang/pt-BR/validation.php b/lang/pt_BR/validation.php
similarity index 100%
rename from lang/pt-BR/validation.php
rename to lang/pt_BR/validation.php
diff --git a/lang/pt-BR/views/admin.php b/lang/pt_BR/views/admin.php
similarity index 100%
rename from lang/pt-BR/views/admin.php
rename to lang/pt_BR/views/admin.php
diff --git a/lang/pt-BR/views/app.php b/lang/pt_BR/views/app.php
similarity index 100%
rename from lang/pt-BR/views/app.php
rename to lang/pt_BR/views/app.php
diff --git a/lang/pt-BR/views/auth.php b/lang/pt_BR/views/auth.php
similarity index 100%
rename from lang/pt-BR/views/auth.php
rename to lang/pt_BR/views/auth.php
diff --git a/lang/pt-BR/views/common.php b/lang/pt_BR/views/common.php
similarity index 100%
rename from lang/pt-BR/views/common.php
rename to lang/pt_BR/views/common.php
diff --git a/lang/pt-BR/views/dungeon.php b/lang/pt_BR/views/dungeon.php
similarity index 100%
rename from lang/pt-BR/views/dungeon.php
rename to lang/pt_BR/views/dungeon.php
diff --git a/lang/pt-BR/views/dungeonroute.php b/lang/pt_BR/views/dungeonroute.php
similarity index 100%
rename from lang/pt-BR/views/dungeonroute.php
rename to lang/pt_BR/views/dungeonroute.php
diff --git a/lang/pt-BR/views/errors.php b/lang/pt_BR/views/errors.php
similarity index 100%
rename from lang/pt-BR/views/errors.php
rename to lang/pt_BR/views/errors.php
diff --git a/lang/pt-BR/views/home.php b/lang/pt_BR/views/home.php
similarity index 100%
rename from lang/pt-BR/views/home.php
rename to lang/pt_BR/views/home.php
diff --git a/lang/pt-BR/views/layouts.php b/lang/pt_BR/views/layouts.php
similarity index 100%
rename from lang/pt-BR/views/layouts.php
rename to lang/pt_BR/views/layouts.php
diff --git a/lang/pt-BR/views/legal.php b/lang/pt_BR/views/legal.php
similarity index 100%
rename from lang/pt-BR/views/legal.php
rename to lang/pt_BR/views/legal.php
diff --git a/lang/pt-BR/views/misc.php b/lang/pt_BR/views/misc.php
similarity index 100%
rename from lang/pt-BR/views/misc.php
rename to lang/pt_BR/views/misc.php
diff --git a/lang/pt-BR/views/profile.php b/lang/pt_BR/views/profile.php
similarity index 100%
rename from lang/pt-BR/views/profile.php
rename to lang/pt_BR/views/profile.php
diff --git a/lang/pt-BR/views/release.php b/lang/pt_BR/views/release.php
similarity index 100%
rename from lang/pt-BR/views/release.php
rename to lang/pt_BR/views/release.php
diff --git a/lang/pt-BR/views/team.php b/lang/pt_BR/views/team.php
similarity index 100%
rename from lang/pt-BR/views/team.php
rename to lang/pt_BR/views/team.php
diff --git a/lang/ru-RU/auth.php b/lang/ru-RU/auth.php
deleted file mode 100644
index ed7ae5325d..0000000000
--- a/lang/ru-RU/auth.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'Неверный логин или пароль',
- 'throttle' => 'Слишком много попыток входа в систему. Повторите попытку через :seconds секунд.',
-
-];
diff --git a/lang/ru-RU/breadcrumbs.php b/lang/ru-RU/breadcrumbs.php
deleted file mode 100644
index 58401cd49f..0000000000
--- a/lang/ru-RU/breadcrumbs.php
+++ /dev/null
@@ -1,109 +0,0 @@
- [
- 'keystone_guru' => 'Keystone.guru',
- 'affixes' => 'Аффиксы',
- 'changelog' => 'История изменений',
- 'routes' => 'Маршруты',
- 'routes_expansion' => ':expansion маршруты',
-
- 'dungeon' => [
- 'explore' => '',
- ],
-
- 'dungeonroutes' => [
- 'search' => 'Поиск',
- 'popular' => 'Популярные',
- 'next_week_affixes' => 'Аффиксы следующей недели',
- 'this_week_affixes' => 'Текущие Аффиксы',
- 'new' => 'Новые',
-
- 'routes_season' => '',
- 'season' => [
- 'popular' => '',
- 'next_week_affixes' => '',
- 'this_week_affixes' => '',
- 'new' => '',
- ],
-
- 'discoverdungeon' => [
- 'popular' => 'Популярные',
- 'next_week_affixes' => 'Аффиксы следующей недели',
- 'this_week_affixes' => 'Текущие Аффиксы',
- 'new' => 'Новые',
- ],
- ],
-
- 'my_profile' => 'Мой профиль',
- 'my_routes' => 'Мои маршруты',
- 'my_tags' => 'Мои теги',
- 'my_teams' => 'Моя команда',
- 'overview' => 'Обзор',
- 'new_team' => 'Новая команда',
- 'edit_team' => 'Редактировать команду',
- 'join_team' => 'Присоединиться к команде',
-
- 'admin' => [
- 'admin' => 'Администратор',
- 'tools' => [
- 'admin_tools' => 'Инструменты администратора',
- 'view_exported_dungeondata' => 'Просмотреть экспортированные данные подземелий',
- 'view_exported_releases' => 'Посмотреть экспортированные релизы',
- 'select_exception' => 'Выбрать исключения',
- 'mdt_diff' => 'Отличия MDT',
- 'view_mdt_string_contents' => 'Просмотр содержимого строк MDT',
- 'import_npcs' => 'Импортировать НПЦ',
- ],
- 'releases' => 'Релиз',
- 'new_release' => 'Новый релиз',
- 'edit_release' => 'Редактировать релиз',
-
- 'expansions' => [
- 'expansions' => 'Дополнение',
- 'new_expansion' => 'Новое дополнение',
- 'edit_expansion' => 'Редактировать дополнение',
- ],
-
- 'dungeons' => [
- 'dungeons' => 'Подземелье',
- 'new_dungeon' => 'Новое подземелье',
- 'edit_dungeon' => 'редактировать подземелье',
- ],
-
- 'floors' => [
- 'new_floor' => 'Этаж',
- 'edit_floor' => 'редактировать этаж',
- ],
-
- 'dungeonspeedrunrequirednpc' => [
- 'new_dungeonspeedrunrequirednpc10man' => '',
- 'new_dungeonspeedrunrequirednpc25man' => '',
- ],
-
- 'npcs' => [
- 'npcs' => 'НПЦ',
- 'new_npc' => 'Новый НПЦ',
- 'edit_npc' => 'Редактировать НПЦ',
- ],
-
- 'npcenemyforces' => [
- 'edit_npc_enemy_forces' => '',
- ],
-
- 'spells' => [
- 'spells' => 'Способность',
- 'new_spell' => 'Новая способность',
- 'edit_spell' => 'Редактировать способность',
- ],
-
- 'users' => [
- 'users' => 'Пользователь',
- ],
-
- 'user_reports' => [
- 'user_reports' => 'Отчеты пользователей',
- ],
- ],
- ],
-];
diff --git a/lang/ru-RU/classes.php b/lang/ru-RU/classes.php
deleted file mode 100644
index 81625803e9..0000000000
--- a/lang/ru-RU/classes.php
+++ /dev/null
@@ -1,17 +0,0 @@
- 'Рыцарь смерти',
- 'demon_hunter' => 'Охотник на демонов',
- 'druid' => 'Друид',
- 'evoker' => '',
- 'hunter' => 'Охотник',
- 'mage' => 'Маг',
- 'monk' => 'Монах',
- 'paladin' => 'Паладин',
- 'priest' => 'Жрец',
- 'rogue' => 'Разбойник',
- 'shaman' => 'Шаман',
- 'warlock' => 'Чернокнижник',
- 'warrior' => 'Воин',
-];
diff --git a/lang/ru-RU/controller.php b/lang/ru-RU/controller.php
deleted file mode 100644
index 8a4046092f..0000000000
--- a/lang/ru-RU/controller.php
+++ /dev/null
@@ -1,202 +0,0 @@
- [
- 'error' => [
- 'mdt_string_parsing_failed' => '',
- 'mdt_string_format_not_recognized' => 'Формат строки MDT не распознан.',
- 'invalid_mdt_string' => 'Неверная строка MDT',
- 'invalid_mdt_string_exception' => 'Неверная строка MDT: %s',
- 'mdt_importer_not_configured' => 'Импорт MDT настроен неправильно. Пожалуйста, свяжитесь с администратором по поводу этой проблемы.',
- 'mdt_unable_to_find_npc_for_id' => 'Невозможно найти NPC по ID %d',
- 'mdt_mismatched_health' => 'Не совпадает здоровье NPC %s, MDT: %s, KG: %s',
- 'mdt_mismatched_enemy_forces' => 'Не соответствующая способность NPC %s, MDT: %s, KG: %s',
- 'mdt_mismatched_enemy_forces_teeming' => 'Таймеры NPC %s не соответствуют, MDT: %s, KG: %s',
- 'mdt_mismatched_enemy_count' => 'Несоответствующее количество NPC %s, MDT: %s, KG: %s',
- 'mdt_mismatched_enemy_type' => 'Несоответствующее тип NPC %s, MDT: %s, KG: %s',
- 'mdt_invalid_category' => 'Неверная категория',
- ],
- 'flash' => [
- 'thumbnail_regenerate_result' => '',
- 'caches_dropped_successfully' => 'Кеш сброшен успешно',
- 'releases_exported' => 'Релизы экспортированы',
- 'exception' => [
- 'token_mismatch' => 'Несоответствие токена',
- 'internal_server_error' => 'Дополнение добавлено в админ панель',
- ],
- ],
- ],
- 'apidungeonroute' => [
- 'mdt_generate_error' => 'Произошла ошибка при создании строки MDT: %s',
- 'mdt_generate_no_lua' => 'Импорт MDT настроен неправильно. Пожалуйста, свяжитесь с администратором по поводу этой проблемы',
- ],
- 'apiuserreport' => [
- 'error' => [
- 'unable_to_update_user_report' => 'Невозможно обновить отчет пользователя',
- 'unable_to_save_report' => 'Невозможно сохранить отчет',
- ],
- ],
- 'brushline' => [
- 'error' => [
- 'unable_to_save_brushline' => '',
- 'unable_to_delete_brushline' => '',
- ],
- ],
- 'dungeon' => [
- 'flash' => [
- 'dungeon_created' => 'Подземелье создано',
- 'dungeon_updated' => 'Подземелье обновлено',
- ],
- ],
- 'dungeonroute' => [
- 'unable_to_save' => 'Невозможно сохранить маршрут',
- 'flash' => [
- 'route_cloned_successfully' => 'Маршрут успешно клонирован',
- 'route_updated' => 'Маршрут обновлен',
- 'route_created' => 'Маршрут создан',
- ],
- ],
- 'dungeonroutediscover' => [
- 'popular' => 'Популярные маршруты',
- 'this_week_affixes' => 'Текущие аффиксы',
- 'next_week_affixes' => 'Аффиксы следующей неделе',
- 'new' => 'Новые',
- 'season' => [
- 'popular' => '',
- 'this_week_affixes' => '',
- 'next_week_affixes' => '',
- 'new' => '',
- ],
- 'dungeon' => [
- 'popular' => '%s популярные маршруты',
- 'this_week_affixes' => '%s текущие аффиксы',
- 'next_week_affixes' => '%s аффиксы следующей неделе',
- 'new' => '%s Новые',
- ],
- ],
- 'dungeonspeedrunrequirednpcs' => [
- 'no_linked_npc' => '',
- 'flash' => [
- 'npc_added_successfully' => '',
- 'npc_deleted_successfully' => '',
- ],
- ],
- 'expansion' => [
- 'flash' => [
- 'unable_to_save_expansion' => 'Не удалось сохранить дополнение',
- 'expansion_updated' => 'Дополнение обновлено',
- 'expansion_created' => 'Дополнение создано',
- ],
- ],
- 'generic' => [
- 'error' => [
- 'floor_not_found_in_dungeon' => '',
- 'not_found' => '',
- ],
- ],
- 'oauthlogin' => [
- 'flash' => [
- 'registered_successfully' => 'Регистрация прошла успешно.',
- 'user_exists' => 'Пользователь с таким именем уже существует %s. Может быть вы уже зарегистрированы?',
- 'email_exists' => 'Пользователь с таким электронным адресом уже существует %s. Может быть вы уже зарегистрированы?',
- 'permission_denied' => '',
- ],
- ],
- 'register' => [
- 'flash' => [
- 'registered_successfully' => 'Регистрация прошла успешно.',
- ],
- 'legal_agreed_required' => 'Вы должны согласиться с пользовательским соглашением и политикой конфиденциальности для регистрации',
- 'legal_agreed_accepted' => 'Вы должны согласиться с пользовательским соглашением и политикой конфиденциальности для регистрации',
- ],
- 'release' => [
- 'error' => [
- 'unable_to_save_release' => 'Невозможно сохранить релиз',
- ],
- 'flash' => [
- 'release_updated' => 'Релиз обновлен',
- 'release_created' => 'Релиз создан',
- 'github_exception' => 'Произошла ошибка связи с Github: %s',
- ],
- ],
- 'mappingversion' => [
- 'created_successfully' => '',
- 'deleted_successfully' => '',
- ],
- 'mdtimport' => [
- 'unknown_dungeon' => 'Неизвестное подземелье',
- 'error' => [
- 'mdt_string_parsing_failed' => '',
- 'mdt_string_format_not_recognized' => 'Формат строки MDT не распознан.',
- 'invalid_mdt_string_exception' => 'Недействительная строка MDT: %s',
- 'invalid_mdt_string' => 'Недействительная строка MDT',
- 'mdt_importer_not_configured_properly' => 'Импорт MDT настроен неправильно. Пожалуйста, свяжитесь с администратором по поводу этой проблемы.',
- 'cannot_create_route_must_be_logged_in' => 'Вы должны авторизоваться, чтобы создать маршрут',
- ],
- ],
- 'path' => [
- 'error' => [
- 'unable_to_save_path' => '',
- 'unable_to_delete_path' => '',
- ],
- ],
- 'patreon' => [
- 'flash' => [
- 'unlink_successful' => '',
- 'link_successful' => '',
- 'patreon_session_expired' => '',
- 'session_expired' => '',
- 'patreon_error_occurred' => '',
- 'internal_error_occurred' => '',
- ],
- ],
- 'profile' => [
- 'flash' => [
- 'email_already_in_use' => 'Пользователь с таким электронным адресом уже существует',
- 'username_already_in_use' => 'Пользователь с таким именем уже существует',
- 'profile_updated' => 'Профиль обновлен',
- 'unexpected_error_when_saving' => 'Произошла непредвиденная ошибка при попытке сохранить ваш профиль.',
- 'privacy_settings_updated' => 'Настройки конфиденциальности обновлены',
- 'password_changed' => 'Пароль изменен',
- 'new_password_equals_old_password' => 'Новый пароль совпадает со старым паролем',
- 'new_passwords_do_not_match' => 'Новый пароль не совпадает',
- 'current_password_is_incorrect' => 'Текущий пароль неверен',
- 'tag_created_successfully' => 'Тег создан успешно',
- 'tag_already_exists' => 'Этот тег уже существует',
- 'admins_cannot_delete_themselves' => 'Админ не может удалить сам себя!',
- 'account_deleted_successfully' => 'Аккаунт успешно удален.',
- 'error_deleting_account' => 'Произошла ошибка. Пожалуйста, попробуйте еще раз.',
- ],
- ],
- 'spell' => [
- 'error' => [
- 'unable_to_save_spell' => 'Невозможно сохранить способность',
- ],
- 'flash' => [
- 'spell_updated' => 'Способность обновлена',
- 'spell_created' => 'Способность создана',
- ],
- ],
- 'team' => [
- 'flash' => [
- 'team_updated' => 'Команда обновлена',
- 'team_created' => 'Команда создана',
- 'unable_to_find_team_for_invite_code' => 'Невозможно найти команду, связанную с этим кодом приглашения',
- 'invite_accept_success' => 'Теперь ты член команды %s.',
- 'tag_created_successfully' => 'Тег успешно создан',
- 'tag_already_exists' => 'Этот тег уже существует',
- ],
- ],
- 'user' => [
- 'flash' => [
- 'user_is_now_an_admin' => 'Пользователь %s теперь администратор',
- 'user_is_no_longer_an_admin' => 'Пользователь %s больше не администратор',
- 'user_is_now_a_user' => 'Пользователь %s теперь пользователь',
- 'account_deleted_successfully' => 'Аккаунт успешно удален.',
- 'account_deletion_error' => 'Произошла ошибка. Пожалуйста, попробуйте еще раз.',
- 'user_is_not_a_patron' => 'Этот пользователь не подписчик Patron',
- 'all_benefits_granted_successfully' => '',
- 'error_granting_all_benefits' => '',
- ],
- ],
-];
diff --git a/lang/ru-RU/dungeons.php b/lang/ru-RU/dungeons.php
deleted file mode 100644
index f11eece2a5..0000000000
--- a/lang/ru-RU/dungeons.php
+++ /dev/null
@@ -1,832 +0,0 @@
- [
- '1' => '',
- '2' => '',
- ],
- 'classic' => [
- 'blackfathom_deeps' => [
- 'name' => '',
- 'floors' => [
- 'the_pool_of_ask_ar' => '',
- 'moonshrine_sanctum' => '',
- 'the_forgotten_pool' => '',
- ],
- ],
- 'blackrock_depths' => [
- 'name' => '',
- 'floors' => [
- 'detention_block' => '',
- 'shadowforge_city' => '',
- ],
- ],
- 'deadmines' => [
- 'name' => '',
- 'floors' => [
- 'the_deadmines' => '',
- 'ironclad_cove' => '',
- ],
- ],
- 'dire_maul_west' => [
- 'name' => '',
- 'floors' => [
- 'capital_gardens' => '',
- 'court_of_the_highborne' => '',
- 'prison_of_immol_thar' => '',
- ],
- ],
- 'dire_maul_north' => [
- 'name' => '',
- 'floors' => [
- 'gordok_commons' => '',
- ],
- ],
- 'dire_maul_east' => [
- 'name' => '',
- 'floors' => [
- 'warpwood_quarter' => '',
- 'the_shrine_of_eldretharr' => '',
- ],
- ],
- 'gnomeregan' => [
- 'name' => '',
- 'floors' => [
- 'the_hall_of_gears' => '',
- 'the_dormitory' => '',
- 'launch_bay' => '',
- 'tinkers_court' => '',
- ],
- ],
- 'lower_blackrock_spire' => [
- 'name' => '',
- 'floors' => [
- 'tazz_alor' => '',
- 'skitterweb_tunnels' => '',
- 'hordemar_city' => '',
- 'hall_of_blackhand' => '',
- 'halycons_lair' => '',
- 'chamber_of_battle' => '',
- ],
- ],
- 'maraudon' => [
- 'name' => '',
- 'floors' => [
- 'caverns_of_maraudon' => '',
- 'zaetars_grave' => '',
- ],
- ],
- 'ragefire_chasm' => [
- 'name' => '',
- 'floors' => [
- 'ragefire_chasm' => '',
- ],
- ],
- 'razorfen_downs' => [
- 'name' => '',
- 'floors' => [
- 'razorfen_downs' => '',
- ],
- ],
- 'razorfen_kraul' => [
- 'name' => '',
- 'floors' => [
- 'razorfen_kraul' => '',
- ],
- ],
- 'scarlet_monastery_armory' => [
- 'name' => '',
- 'floors' => [
- 'armory' => '',
- ],
- ],
- 'scarlet_monastery_cathedral' => [
- 'name' => '',
- 'floors' => [
- 'cathedral' => '',
- ],
- ],
- 'scarlet_monastery_graveyard' => [
- 'name' => '',
- 'floors' => [
- 'graveyard' => '',
- ],
- ],
- 'scarlet_monastery_library' => [
- 'name' => '',
- 'floors' => [
- 'library' => '',
- ],
- ],
- 'scholomance' => [
- 'name' => '',
- 'floors' => [
- 'the_reliquary' => '',
- 'chamber_of_summoning' => '',
- 'the_upper_study' => '',
- 'headmasters_story' => '',
- ],
- ],
- 'shadowfang_keep' => [
- 'name' => '',
- 'floors' => [
- 'the_courtyard' => '',
- 'dining_hall' => '',
- 'the_vacant_den' => '',
- 'lower_observatory' => '',
- 'upper_observatory' => '',
- 'lord_godfreys_chamber' => '',
- 'the_wall_walk' => '',
- ],
- ],
- 'stratholme' => [
- 'name' => '',
- 'floors' => [
- 'crusaders_square' => '',
- 'the_gauntlet' => '',
- ],
- ],
- 'the_stockade' => [
- 'name' => '',
- 'floors' => [
- 'the_stockade' => '',
- ],
- ],
- 'the_temple_of_atal_hakkar' => [
- 'name' => '',
- 'floors' => [
- 'the_pit_of_refuse' => '',
- 'hall_of_serpents' => '',
- 'entrance' => '',
- 'the_temple_of_atal_hakkar' => '',
- 'hall_of_the_cursed' => '',
- ],
- ],
- 'uldaman' => [
- 'name' => '',
- 'floors' => [
- 'hall_of_the_keepers' => '',
- 'khaz_goroths_seat' => '',
- ],
- ],
- 'upper_blackrock_spire' => [
- 'name' => '',
- 'floors' => [
- 'dragonspire_hall' => '',
- 'the_rookery' => '',
- 'hall_of_blackhand' => '',
- ],
- ],
- 'wailing_caverns' => [
- 'name' => '',
- 'floors' => [
- 'wailing_caverns' => '',
- ],
- ],
- 'zul_farrak' => [
- 'name' => '',
- 'floors' => [
- 'zul_farrak' => '',
- ],
- ],
- ],
- 'wotlk' => [
- 'ahn_kahet_the_old_kingdom' => [
- 'name' => '',
- 'floors' => [
- 'ahn_kahet_the_old_kingdom' => '',
- ],
- ],
- 'azjol_nerub' => [
- 'name' => '',
- 'floors' => [
- 'the_brood_pit' => '',
- 'hadronoxs_lair' => '',
- 'the_gilded_gate' => '',
- ],
- ],
- 'drak_tharon_keep' => [
- 'name' => '',
- 'floors' => [
- 'the_vestibules_of_drak_tharon' => '',
- 'drak_tharon_overlook' => '',
- ],
- ],
- 'gundrak' => [
- 'name' => '',
- 'floors' => [
- 'gundrak' => '',
- ],
- ],
-
- 'halls_of_lightning' => [
- 'name' => '',
- 'floors' => [
- 'unyielding_garrison' => '',
- 'walk_of_the_makers' => '',
- ],
- ],
- 'halls_of_reflection' => [
- 'name' => '',
- 'floors' => [
- 'halls_of_reflection' => '',
- ],
- ],
- 'halls_of_stone' => [
- 'name' => '',
- 'floors' => [
- 'halls_of_stone' => '',
- ],
- ],
- 'pit_of_saron' => [
- 'name' => '',
- 'floors' => [
- 'pit_of_saron' => '',
- ],
- ],
-
- 'the_culling_of_stratholme' => [
- 'name' => '',
- 'floors' => [
- 'the_culling_of_stratholme' => '',
- 'stratholme_city' => '',
- ],
- ],
- 'the_forge_of_souls' => [
- 'name' => '',
- 'floors' => [
- 'the_forge_of_souls' => '',
- ],
- ],
- 'the_nexus' => [
- 'name' => '',
- 'floors' => [
- 'the_nexus' => '',
- ],
- ],
- 'the_oculus' => [
- 'name' => '',
- 'floors' => [
- 'the_oculus' => '',
- 'band_of_variance' => '',
- 'band_of_acceleration' => '',
- 'band_of_transmutation' => '',
- 'band_of_alignment' => '',
- ],
- ],
-
- 'the_violet_hold' => [
- 'name' => '',
- 'floors' => [
- 'the_violet_hold' => '',
- ],
- ],
- 'trial_of_the_champion' => [
- 'name' => '',
- 'floors' => [],
- ],
- 'utgarde_keep' => [
- 'name' => '',
- 'floors' => [
- 'njorndir_preparation' => '',
- 'dragonflayer_ascent' => '',
- 'tyrs_terrace' => '',
- ],
- ],
- 'utgarde_pinnacle' => [
- 'name' => '',
- 'floors' => [
- 'lower_pinnacle' => '',
- 'upper_pinnacle' => '',
- ],
- ],
-
- // Raids
- 'icecrown_citadel' => [
- 'name' => '',
- 'floors' => [
- 'the_lower_citadel' => '',
- 'the_rampart_of_skulls' => '',
- 'deathbringers_rise' => '',
- 'the_frost_queens_lair' => '',
- 'the_upper_reach' => '',
- 'royal_quarters' => '',
- 'the_frozen_throne' => '',
- 'frostmourne' => '',
- ],
- ],
- 'onyxias_lair' => [
- 'name' => '',
- 'floors' => [
- 'onyxias_lair' => '',
- ],
- ],
- 'naxxramas' => [
- 'name' => '',
- 'floors' => [
- 'the_construct_quarter' => '',
- 'the_arachnid_quarter' => '',
- 'the_military_quarter' => '',
- 'the_plague_quarter' => '',
- 'the_lower_necropolis' => '',
- 'the_upper_necropolis' => '',
- ],
- ],
- 'crusaders_coliseum_trial_of_the_crusader' => [
- 'name' => '',
- 'floors' => [
- 'the_argent_coliseum' => '',
- 'the_icy_depths' => '',
- ],
- ],
- 'the_eye_of_eternity' => [
- 'name' => '',
- 'floors' => [
- 'the_eye_of_eternity' => '',
- ],
- ],
- 'the_obsidian_sanctum' => [
- 'name' => '',
- 'floors' => [
- 'the_obsidian_sanctum' => '',
- ],
- ],
- 'the_ruby_sanctum' => [
- 'name' => '',
- 'floors' => [
- 'the_ruby_sanctum' => '',
- ],
- ],
- 'ulduar' => [
- 'name' => '',
- 'floors' => [
- 'ulduar' => '',
- 'the_antechamber_of_ulduar' => '',
- 'the_inner_sanctum_of_ulduar' => '',
- 'the_prison_of_yogg_saron' => '',
- 'the_spark_of_imagination' => '',
- 'the_minds_eye' => '',
- ],
- ],
- 'vault_of_archavon' => [
- 'name' => '',
- 'floors' => [
- 'vault_of_archavon' => '',
- ],
- ],
- ],
- 'cata' => [
- 'the_vortex_pinnacle' => [
- 'name' => '',
- 'floors' => [
- 'cyclone_summit' => '',
- ],
- ],
- 'throne_of_the_tides' => [
- 'name' => '',
- 'floors' => [
- 'abyssal_halls' => '',
- 'throne_of_neptulon' => '',
- 'throne_of_the_tides' => '',
- ],
- ],
- ],
- 'mop' => [
- 'temple_of_the_jade_serpent' => [
- 'name' => '',
- 'floors' => [
- 'temple_of_the_jade_serpent' => '',
- 'scrollkeepers_sanctum' => '',
- ],
- ],
- ],
- 'wod' => [
- 'auchindoun' => [
- 'name' => '',
- 'floors' => [
- 'auchindoun' => '',
- ],
- ],
- 'bloodmaul_slag_mines' => [
- 'name' => '',
- 'floors' => [
- 'bloodmaul_slag_mines' => '',
- ],
- ],
- 'iron_docks' => [
- 'name' => '',
- 'floors' => [
- 'iron_docks' => '',
- ],
- ],
- 'grimrail_depot' => [
- 'name' => '',
- 'floors' => [
- 'rafters' => '',
- 'train_depot' => '',
- 'rear_train_cars' => '',
- 'forward_train_cars' => '',
- ],
- ],
- 'shadowmoon_burial_grounds' => [
- 'name' => '',
- 'floors' => [
- 'crypt_of_the_ancients' => '',
- 'altar_of_shadow' => '',
- 'edge_of_reality' => '',
- ],
- ],
- 'the_everbloom' => [
- 'name' => '',
- 'floors' => [
- 'the_everbloom' => '',
- 'the_overlook' => '',
- ],
- ],
- ],
- 'legion' => [
- 'arcway' => [
- 'name' => 'Катакомбы Сурамара',
- 'floors' => [
- 'arcway' => '0-я фаза',
- ],
- ],
- 'black_rook_hold' => [
- 'name' => 'Крепость Черной Ладьи',
- 'floors' => [
- 'the_ravenscrypt' => 'Крипта Воронов',
- 'the_grand_hall' => 'Главный зал',
- 'ravenshold' => 'Обитель Воронов',
- 'the_rooks_roost' => 'Гнездовье Черной Ладьи',
- 'lord_ravencrests_chamber' => 'Комната лорда Гребня Ворона',
- 'the_ravens_crown' => 'Корона Ворона',
- 'black_rook_hold' => '',
- ],
- ],
- 'court_of_stars' => [
- 'name' => 'Квартал Звезд',
- 'floors' => [
- 'court_of_stars' => 'Квартал Звезд',
- ],
- ],
- 'darkheart_thicket' => [
- 'name' => 'Чаща Темного Сердца',
- 'floors' => [
- 'darkheart_thicket' => 'Чаща Темного Сердца',
- ],
- ],
- 'eye_of_azshara' => [
- 'name' => 'Око Азшары',
- 'floors' => [
- 'eye_of_azshara' => 'Око Азшары',
- ],
- ],
- 'halls_of_valor' => [
- 'name' => 'Чертоги Доблести',
- 'floors' => [
- 'the_high_gate' => 'Высокие врата',
- 'fields_of_the_eternal_hunt' => 'Поля вечной охоты',
- 'halls_of_valor' => 'Чертоги Доблести',
- ],
- ],
- 'maw_of_souls' => [
- 'name' => 'Утесы Адской Пасти',
- 'floors' => [
- 'hellmouth_cliffs' => 'Утесы Адской Пасти',
- 'the_hold' => 'Трюм',
- 'the_naglfar' => 'Нагльфар',
- ],
- ],
- 'neltharions_lair' => [
- 'name' => 'Логово Нелтариона',
- 'floors' => [
- 'neltharions_lair' => 'Логово Нелтариона',
- ],
- ],
- 'vault_of_the_wardens' => [
- 'name' => 'Казематы Стражей',
- 'floors' => [
- 'the_wardens_court' => 'Суд Стражей',
- 'vault_of_the_wardens' => 'Казематы Стражей',
- 'vault_of_the_betrayer' => 'Каземат Предателя',
- ],
- ],
-
- 'lower_karazhan' => [
- 'name' => 'Нижняя часть Каражана',
- 'floors' => [
- 'servants_quarters' => 'Комнаты слуг',
- 'upper_livery_stables' => 'Верх разрушенной лестницы',
- 'the_banquet_hall' => 'Комнаты слуг',
- 'the_guest_chambers' => 'Гостевые комнаты',
- 'opera_hall_balcony' => 'Балкон в опере',
- 'masters_terrace' => 'Терраса Медива',
- ],
- ],
- 'upper_karazhan' => [
- 'name' => 'Верхняя часть Каражана',
- 'floors' => [
- 'lower_broken_stair' => 'Низ разрушенной лестницы',
- 'upper_broken_stair' => 'Верх разрушенной лестницы',
- 'the_menagerie' => 'Зверинец',
- 'guardians_library' => 'Библиотека Хранителя',
- 'library_floor' => 'Нижний ярус библиотеки',
- 'upper_library' => 'Верхний ярус библиотеки',
- 'gamesmans_hall' => 'Игровой зал',
- 'netherspace' => 'Пустомарь',
- ],
- ],
-
- 'cathedral_of_eternal_night' => [
- 'name' => 'Собор Вечной Ночи',
- 'floors' => [
- 'hall_of_the_moon' => 'Зал Луны',
- 'twilight_groove' => 'Сумеречная роща',
- 'the_emerald_archives' => 'Изумрудные архивы',
- 'path_of_illumination' => 'Путь Озарения',
- 'sacristy_of_elune' => 'Ризница Элуны',
- ],
- ],
- 'the_seat_of_the_triumvirate' => [
- 'name' => 'Престол Триумвирата',
- 'floors' => [
- 'the_seat_of_the_triumvirate' => 'Престол Триумвирата',
- ],
- ],
- ],
- 'bfa' => [
- 'atal_dazar' => [
- 'name' => 'Атал\'Дазар',
- 'floors' => [
- 'atal_dazar' => 'Атал\'Дазар',
- 'sacrificial_pits' => 'Жертвенная яма',
- ],
- ],
- 'freehold' => [
- 'name' => 'Вольная Гавань',
- 'floors' => [
- 'freehold' => 'Вольная Гавань',
- ],
- ],
- 'kings_rest' => [
- 'name' => 'Гробница королей',
- 'floors' => [
- 'kings_rest' => 'Гробница королей',
- ],
- ],
- 'shrine_of_the_storm' => [
- 'name' => 'Святилище Штормов',
- 'floors' => [
- 'shrine_of_the_storm' => 'Святилище Штормов',
- 'storms_end' => 'Предел шторма',
- ],
- ],
- 'siege_of_boralus' => [
- 'name' => 'Осада Боралуса',
- 'floors' => [
- 'siege_of_boralus' => 'Осада Боралуса',
- ],
- ],
- 'temple_of_sethraliss' => [
- 'name' => 'Храм Сетралисс',
- 'floors' => [
- 'temple_of_sethraliss' => 'Храм Сетралисс',
- 'atrium_of_the_wardens' => '',
- ],
- ],
- 'the_motherlode' => [
- 'name' => 'ЗОЛОТАЯ ЖИЛА!!!',
- 'floors' => [
- 'the_motherlode' => 'ЗОЛОТАЯ ЖИЛА!!!',
- ],
- ],
- 'the_underrot' => [
- 'name' => 'Подгнилье',
- 'floors' => [
- 'the_underrot' => 'Подгнилье',
- 'ruins_descent' => 'Спуск скорби',
- ],
- ],
- 'tol_dagor' => [
- 'name' => 'Тол Дагор',
- 'floors' => [
- 'tol_dagor' => 'Тол Дагор',
- 'the_drain' => 'Стоки',
- 'the_brig' => 'Гауптвахта',
- 'detention_block' => 'Тюремный блок',
- 'officer_quarters' => '',
- 'overseers_redoubt' => 'Цитадель надзирателя',
- 'overseers_summit' => 'Терраса надзирателя',
- ],
- ],
- 'waycrest_manor' => [
- 'name' => 'Усадьба Уэйкрестов',
- 'floors' => [
- 'the_grand_foyer' => 'Главный вестибюль',
- 'upstairs' => 'Второй этаж',
- 'the_cellar' => 'Погреб',
- 'catacombs' => 'Катакомбы',
- 'the_rupture' => 'Разлом',
- 'waycrest_manor' => '',
- ],
- ],
- 'mechagon_junkyard' => [
- 'name' => 'Мехагон: Свалка',
- 'floors' => [
- 'mechagon_island' => 'Остров Мехагон',
- 'tunnels' => '',
- ],
- ],
- 'mechagon_workshop' => [
- 'name' => 'Мехагон: Мастерская',
- 'floors' => [
- 'the_robodrome' => 'Рободром',
- 'waste_pipes' => 'Барахлопровод',
- 'the_under_junk' => 'Барахлимб',
- 'mechagon_city' => 'Город Мехагон',
- ],
- ],
- 'orgrimmar_horrific_vision' => [
- 'name' => 'Оргриммар (Жуткие Видения)',
- 'floors' => [
- 'orgrimmar_horrific_vision' => 'Видение Оргриммара',
- 'the_drag' => '',
- ],
- ],
- 'stormwind_horrific_vision' => [
- 'name' => 'Штормград (Жуткие Видения)',
- 'floors' => [
- 'stormwind_horrific_vision' => 'Штормград (Жуткие Видения)',
- ],
- ],
- ],
- 'shadowlands' => [
- 'de_other_side' => [
- 'name' => 'Та Сторона',
- 'floors' => [
- 'de_other_side' => 'Та Сторона',
- 'mechagon' => 'Мехагон',
- 'zul_gurub' => 'Зул\'Гуруб',
- 'ardenweald' => 'Арденвельд',
- ],
- ],
- 'halls_of_atonement' => [
- 'name' => 'Чертоги Покаяния',
- 'floors' => [
- 'halls_of_atonement' => 'Чертоги Покаяния',
- 'the_nave_of_pain' => 'Неф Боли',
- 'the_sanctuary_of_souls' => 'Святилище Душ',
- ],
- ],
- 'mists_of_tirna_scithe' => [
- 'name' => 'Туманы Тирна Скитта',
- 'floors' => [
- 'mists_of_tirna_scithe' => 'Туманы Тирна Скитта',
- ],
- ],
- 'plaguefall' => [
- 'name' => 'Чумные каскады',
- 'floors' => [
- 'plaguefall' => 'Чумные каскады',
- 'the_festering_sanctum' => 'Гниющее святилище',
- ],
- ],
- 'sanguine_depths' => [
- 'name' => 'Кровавые катакомбы',
- 'floors' => [
- 'depths_of_despair' => 'Глубины Отчаяния',
- 'amphitheater_of_sorrow' => 'Амфитеатр Скорбиw',
- ],
- ],
- 'spires_of_ascension' => [
- 'name' => 'Шпили Перерождения',
- 'floors' => [
- 'honors_ascent' => 'Подъем Чести',
- 'gardens_of_repose' => 'Сады Отдохновения',
- 'font_of_fealty' => 'Источник Преданности',
- 'seat_of_the_archon' => 'Престол Архонта',
- ],
- ],
- 'the_necrotic_wake' => [
- 'name' => 'Смертельная тризна',
- 'floors' => [
- 'the_necrotic_wake' => 'Смертельная тризна',
- 'stitchwerks' => 'Трупосшивальня',
- 'zolramus' => 'Золрамус"',
- ],
- ],
- 'theater_of_pain' => [
- 'name' => 'Театр Боли',
- 'floors' => [
- 'theater_of_pain' => 'Театр Боли',
- 'chamber_of_conquest' => 'Зал Победы',
- 'altars_of_agony' => 'Алтари Агонии',
- 'lower_barrow_of_carnage' => 'Нижний уровень кургана Резни',
- 'upper_barrow_of_carnage' => 'Верхний уровень кургана Резнии',
- ],
- ],
- 'tazavesh_streets_of_wonder' => [
- 'name' => 'Тазавеш: улицы Чудес',
- 'floors' => [
- 'the_veiled_market' => 'Тайный рынок',
- 'the_grand_menagerie' => 'Большой зверинец',
- 'the_post' => 'Отделение ПОЧТ',
- 'myzas_oasis' => '\"Оазис Мизы\""',
- ],
- ],
- 'tazavesh_so_leahs_gambit' => [
- 'name' => 'Тазавеш: гамбит Со\'леи',
- 'floors' => [
- 'stormheim' => 'Штормхейм',
- 'aggramars_vault' => 'Хранилище Агграммара',
- 'boralus_harbor' => 'Гавань Боралуса',
- 'the_opulent_nexus' => 'Блистательный Нексус',
- ],
- ],
- ],
- 'dragonflight' => [
- 'algeth_ar_academy' => [
- 'name' => '',
- 'floors' => [
- 'algeth_ar_academy' => '',
- 'the_pitch' => '',
- 'the_headteachers_enclave' => '',
- ],
- ],
- 'brackenhide_hollow' => [
- 'name' => '',
- 'floors' => [
- 'brackenhide_hollow' => '',
- 'den_of_decay' => '',
- ],
- ],
- 'halls_of_infusion' => [
- 'name' => '',
- 'floors' => [
- 'infusers_rotunda' => '',
- 'infusion_chamber' => '',
- ],
- ],
- 'neltharus' => [
- 'name' => '',
- 'floors' => [
- 'the_burning_cauldron' => '',
- 'chamber_of_flames' => '',
- ],
- ],
- 'ruby_life_pools' => [
- 'name' => '',
- 'floors' => [
- 'infusion_chambers' => '',
- 'ruby_overlook' => '',
- ],
- ],
- 'the_azure_vault' => [
- 'name' => '',
- 'floors' => [
- 'the_arcane_conservatory' => '',
- 'crystal_chambers' => '',
- 'mausoleum_of_legends' => '',
- 'the_infinity_seal' => '',
- 'sindragosas_lament' => '',
- ],
- ],
- 'the_nokhud_offensive' => [
- 'name' => '',
- 'floors' => [
- 'the_nokhud_offensive' => '',
- ],
- ],
- 'uldaman_legacy_of_tyr' => [
- 'name' => '',
- 'floors' => [
- 'hall_of_the_keepers' => '',
- 'the_vault_of_tyr' => '',
- ],
- ],
- 'dawn_of_the_infinite_galakronds_fall' => [
- 'name' => '',
- 'floors' => [
- 'galakronds_fall' => '',
- 'sanctum_of_chronology' => '',
- 'millennias_threshold' => '',
- 'locus_of_eternity' => '',
- 'spoke_of_endless_winter' => '',
- 'crossroads_of_fate' => '',
- ],
- ],
- 'dawn_of_the_infinite_murozonds_rise' => [
- 'name' => '',
- 'floors' => [
- 'murozonds_rise' => '',
- 'sanctum_of_chronology' => '',
- 'millennias_threshold' => '',
- 'locus_of_eternity' => '',
- 'crossroads_of_fate' => '',
- 'infinite_conflux' => '',
- 'twisting_approach' => '',
- 'immemorial_battlefield' => '',
- ],
- ],
- ],
-];
diff --git a/lang/ru-RU/expansions.php b/lang/ru-RU/expansions.php
deleted file mode 100644
index 5fc6e968cf..0000000000
--- a/lang/ru-RU/expansions.php
+++ /dev/null
@@ -1,34 +0,0 @@
- [
- 'name' => '',
- ],
- 'tbc' => [
- 'name' => '',
- ],
- 'wotlk' => [
- 'name' => '',
- ],
- 'cata' => [
- 'name' => '',
- ],
- 'mop' => [
- 'name' => '',
- ],
- 'wod' => [
- 'name' => '',
- ],
- 'legion' => [
- 'name' => 'Легион',
- ],
- 'battle_for_azeroth' => [
- 'name' => 'Битва за Азерот',
- ],
- 'shadowlands' => [
- 'name' => 'Темные земли',
- ],
- 'dragonflight' => [
- 'name' => '',
- ],
-];
diff --git a/lang/ru-RU/factions.php b/lang/ru-RU/factions.php
deleted file mode 100644
index b6bd1c6c08..0000000000
--- a/lang/ru-RU/factions.php
+++ /dev/null
@@ -1,7 +0,0 @@
- 'Не выбрана',
- 'horde' => 'Орда',
- 'alliance' => 'Альянс',
-];
diff --git a/lang/ru-RU/js.php b/lang/ru-RU/js.php
deleted file mode 100644
index b126a6e54c..0000000000
--- a/lang/ru-RU/js.php
+++ /dev/null
@@ -1,568 +0,0 @@
- 'Имя',
- 'enemy_forces_label' => 'Способности врага',
- 'enemy_display_type_label' => 'Отображаймый тип врага',
- 'mdt_enemy_mapping_label' => 'Расстановка врагов MDT',
- 'base_health_label' => 'Базовое здоровье',
- 'no_npc_found_label' => 'Для этого NPC не найдено ни врага',
-
- 'teeming_label' => 'Таймниг',
- 'npc_label' => 'Npc',
-
- 'connected_floor_label' => 'Подключить Уровень',
-
- 'admin_only_label' => 'Только Администратор',
- 'id_label' => 'ID',
- 'seasonal_type_label' => 'Тип сезона',
- 'seasonal_index_label' => 'Индекс сезона',
- 'size_label' => 'Размер',
- 'faction_label' => 'Фракция',
- 'npc_id_label' => 'NPC_ID',
- 'attached_to_pack_label' => 'Пак',
- 'attached_to_patrol_label' => '',
- 'enemy_id_label' => 'ID врага',
- 'visual_label' => 'Видемый',
- 'mdt_label' => 'Секция MDT',
- 'is_mdt_label' => 'MDT',
- 'mdt_id_label' => 'MDT_ID',
- 'mdt_npc_id_label' => 'MDT_NPC_ID',
-
- 'preset_label' => 'Предустановка',
- 'add_label' => 'Добавить',
-
- 'color_label' => 'Цвет',
- 'weight_label' => 'Толщина',
- 'mapobject_visibility_label' => 'Видимость',
-
- 'mapping_manipulation_tools_header_label' => '',
- 'mapping_manipulation_tools_rotate_label' => '',
- 'mapping_manipulation_tools_scale_x_label' => '',
- 'mapping_manipulation_tools_scale_y_label' => '',
- 'mapping_manipulation_tools_move_x_label' => '',
- 'mapping_manipulation_tools_move_y_label' => '',
-
- // Map object translations
- 'header_floor_selection_label' => 'Уровень',
-
- 'header_map_object_group_label' => 'Показать/Спрятать',
- 'enemy_map_object_group_label' => 'Враги',
- 'enemypatrol_map_object_group_label' => 'Патруль',
- 'enemypack_map_object_group_label' => 'Паки',
- 'path_map_object_group_label' => 'Маршрут',
- 'dungeonfloorswitchmarker_map_object_group_label' => 'Сменить Уровень',
- 'brushline_map_object_group_label' => 'Нарисовать Линию',
- 'mapicon_map_object_group_label' => 'Иконки',
- 'killzone_map_object_group_label' => 'Пул',
- 'killzonepath_map_object_group_label' => 'Цепочка пулов',
- 'floorunion_map_object_group_label' => '',
- 'floorunionarea_map_object_group_label' => '',
- 'mountablearea_map_object_group_label' => '',
-
- 'publish_state_title_unpublished' => 'Не опубликовано',
- 'publish_state_subtext_unpublished' => 'Только вы можете просматривать этот маршрут',
-
- 'publish_state_title_team' => 'Только команда',
- 'publish_state_subtext_team' => 'Только члены вашей команды могут просматривать этот маршрут',
-
- 'publish_state_title_world' => 'Публичный',
- 'publish_state_subtext_world' => 'Ваш маршрут может просмотреть кто угодно, и его можно найти на Keystone.guru.',
-
- 'publish_state_title_world_with_link' => 'Общедоступно по ссылкой',
- 'publish_state_subtext_world_with_link' => 'Любой, у кого есть ссылка, может увидеть ваш маршрут (только для подписчиков',
-
- 'publish_label' => 'Опубликовать',
- 'unpublish_label' => 'Отменить публикацию',
- 'add_remove_tag_label' => 'Добавить/Удалить Теги',
- 'clone_label' => 'Клонировать',
- 'clone_to_profile_label' => 'Клонировать в мой профиль',
- 'clone_to_team_label' => 'Клонировать в команду',
- 'migrate_to_encrypted_label' => '',
- 'migrate_to_shrouded_label' => '',
- 'delete_label' => 'Удалить',
-
- 'placeholder_new_tag_label' => 'Новый тег',
- 'no_tags_assigned_label' => 'Теги не назначены',
- 'current_tags_label' => 'Текущие теги',
- 'add_tag_with_enter_label' => 'Совет: нажмите Enter, чтобы создать тег',
-
- 'selected_label' => 'Выбрать',
-
- 'affixes_label' => 'Аффиксы',
- 'attributes_label' => 'Атрибуты',
- 'setup_label' => 'Установить',
- 'new_mapping_version_label' => '',
-
- 'submit_label' => 'Подтвердить',
-
- 'select_category_label' => 'Выбрать категорию...',
-
- 'pull_workbench_header_label' => '',
- 'pull_workbench_add_kill_area_label' => '',
- 'pull_workbench_remove_kill_area_label' => '',
- 'pull_workbench_pull_description_label' => '',
-
- 'kill_zone_has_boss_label' => 'Босс в пуле',
- 'kill_zone_has_awakened_label' => 'Пробудившийся в пуле',
- 'kill_zone_has_prideful_label' => 'Полный гордыни в пуле',
- 'kill_zone_has_inspiring_label' => 'Воодушевляющий враг в пуле',
- 'kill_zone_has_shrouded_label' => '',
- 'kill_zone_has_shrouded_zul_gamux_label' => '',
-
- 'kill_zone_enemy_row_has_boss_label' => 'Босс',
- 'kill_zone_enemy_row_has_awakened_label' => 'Пробудившийся ',
- 'kill_zone_enemy_row_has_prideful_label' => 'Полный гордыни',
- 'kill_zone_enemy_row_has_inspiring_label' => 'Воодушевляющий враг',
- 'kill_zone_enemy_row_has_shrouded_label' => '',
- 'kill_zone_enemy_row_has_dangerous_label' => 'Опасный враг',
-
- // Route edit tools
- 'path' => 'Маршрут',
- 'path_title' => 'Нарисовать маршрут. Горячая клавиша: 1',
- 'killzone' => 'Зона поражения',
- 'mapicon' => 'Иконки',
- 'mapicon_title' => 'Создать иконку. Горячая клавиша: 2',
- 'map_icon' => '',
- 'brushline' => 'Рисовать',
- 'brushline_title' => 'Нарисовать линию. Горячая клавиша: 3',
- 'pridefulenemy' => 'Полный Гордыни',
- 'pridefulenemy_title' => 'Создайте Полного Гордыни. Горячая клавиша 4',
- 'pridefulenemy_disabled_title' => 'Сперва удалите Полного Гордыни',
- 'pridefulenemy_disabled_no_shadowlands_title' => 'Полный Гордыни доступен только в подземельях Shadowlands!',
- 'edit' => 'Редактировать',
- 'edit_title' => 'Редактировать объекты на карте. Горячая клавиша 5',
- 'delete' => 'Удалить',
- 'delete_title' => 'Удалить объекты на карте. Горячая клавиша 6',
- 'finish' => 'Завершить',
- 'finish_drawing' => 'Завершить рисование',
- 'enemypack' => 'Пак',
- 'enemypack_title' => '',
- 'enemy' => 'Враг',
- 'enemy_title' => '',
- 'enemypatrol' => 'Патруль',
- 'enemypatrol_title' => '',
- 'dungeonfloorswitchmarker' => 'Уровень',
- 'dungeonfloorswitchmarker_title' => '',
- 'mountablearea' => '',
- 'mountablearea_title' => '',
- 'floorunion' => '',
- 'floorunion_title' => '',
- 'floorunionarea' => '',
- 'floorunionarea_title' => '',
-
- 'draw_handler_route_tooltip_start' => 'Нажмите, чтобы начать рисовать маршрут.',
- 'draw_handler_route_tooltip_cont' => 'Нажмите, чтобы продолжить рисовать маршрут.',
- 'draw_handler_route_tooltip_end' => 'Нажмите кнопку \'Готово\' на панели инструментов, чтобы завершить свой рисование.',
-
- 'draw_handler_brushline_tooltip_start' => 'Нажмите, чтобы начать рисовать линию.',
- 'draw_handler_brushline_tooltip_cont' => 'Нажмите, чтобы закончить рисовать линию.',
- 'draw_handler_brushline_tooltip_end' => 'Перетаскивайте объекты, нажмите кнопку \'Готово\' на панели инструментов, чтобы завершить рисование.',
-
- // Raid markers
- 'title_raid_marker_no_selection' => 'Нет рейдовых меток',
- 'title_raid_marker_star' => 'Звезда',
- 'title_raid_marker_circle' => 'Круг',
- 'title_raid_marker_diamond' => 'Румб',
- 'title_raid_marker_triangle' => 'Треугольник',
- 'title_raid_marker_moon' => 'Луна',
- 'title_raid_marker_square' => 'Квадрат',
- 'title_raid_marker_cross' => 'Крест',
- 'title_raid_marker_skull' => 'Череп',
-
- // Visualisation
- 'npc_type_label' => 'Тип',
- 'npc_class_label' => 'Класс',
- 'enemy_portrait_label' => 'Портрет',
-
- // Admin
- 'object.deleted' => 'Обьект успешно удален',
- 'delete_all_pulls_successful' => 'Пул успешно удален',
- 'route_count_label' => '# маршрутов',
- 'roles_label' => 'Роли',
- 'registered_label' => 'Зарегистрирован на',
- 'patreon_label' => 'Patreon',
- 'datatable_no_users_in_table' => 'Пользователь не найден',
- 'datatable_no_npcs_in_table' => 'NPC не найдены',
- 'enemy_count_label' => 'Счетчик врагов',
- 'user_report_handled_success' => 'Отчет пользователя успешно помечен как решенный',
- 'dungeonroute_refresh_thumbnail_success' => 'Обновление эскиза успешно поставлено в очередь',
- 'updated_patreon_benefits_successfully_label' => '',
- 'mapping_version_readonly_label' => '',
- 'mapping_version_upgrade_label' => '',
- 'upgrade_label' => '',
-
- 'classification_label' => 'Классификация',
- 'edit_label' => 'Редактировать',
-
- 'make_user_label' => 'Создать пользователя',
- 'make_admin_label' => 'Создать Админа',
- 'delete_user_label' => 'Удалить пользователя',
- 'grant_all_benefits_label' => '',
- 'patreon_benefits_manually_granted_label' => '',
-
- // Home page
- 'import_notes_label' => 'Импорт заметки',
- 'import_errors_label' => '',
- 'warnings_label' => 'Предупреждения',
- 'category_label' => 'Категории',
- 'message_label' => 'Сообщение',
-
- // Profile edit
- 'save_tag_success' => 'Тег успешно обновлен',
- 'delete_tag_success' => 'Тег успешно удален',
-
- // Dungeonroute edit
- 'settings_saved' => 'Настройки успешно сохранены',
- 'pull_gradient_settings_saved' => 'Градиент пула успешно сохранен',
- 'route_published_state_changed' => 'Настройки доступа к маршруту успешно обновлены',
- 'datatable_no_routes_in_table' => 'Маршруты не найдены',
- 'cannot_change_sharing_settings_not_all_required_enemies_killed' => 'Невозможно изменить настройки доступа: не были убиты все необходимые враги',
-
- // Mapping version edit
- 'mapping_version_saved' => '',
-
- // Dungeonroute table
- 'vote' => 'Оценка',
- 'votes' => 'Оценки',
- 'route_delete_confirm' => 'Вы уверены, что хотите удалить этот маршрут?',
- 'route_delete_successful' => 'Маршрут успешно удален',
- 'route_clone_successful' => 'Маршрут успешно клонирован',
- 'route_clone_select_team' => '',
- 'route_migration_to_encrypted_confirm_warning' => '',
- 'route_migration_to_shrouded_confirm_warning' => '',
- 'route_migration_successful' => '',
- 'sharing_label' => 'Поделиться',
- 'route_table_published_state_unpublished' => 'Этот маршрут не опубликован',
- 'route_table_published_state_team' => 'Этот маршрут виден всем членам команд, в которых вы участвуете.',
- 'route_table_published_state_world' => 'Этот маршрут виден всем',
- 'route_table_published_state_world_with_link' => 'Этот маршрут виден всем, у кого есть ссылка',
-
- // Map
- 'intro_sidebar' => 'Добро пожаловать на Keystone.guru! Боковая панель. Здесь вы можете настроить параметры своего маршрута или просмотреть информацию о нем.',
- 'intro_sidebar_toggle' => 'Вы можете использовать эту кнопку, чтобы скрыть или показать боковую панель.',
-
- 'intro_visibility_tools' => 'Здесь вы можете выбрать различные варианты визуализации.',
- 'intro_map_enemy_visuals' => 'Вы можете выбирать из нескольких различных визуализаций врагов, чтобы быстро найти нужную информацию.',
- 'intro_map_map_object_group_visibility_container' => 'Это ваши переключатели видимости. Вы можете скрыть врагов, вражеские патрули, вражеские паки, свои собственные пути, свои собственные пулы, все значки на карте, маркеры начала подземелья и маркеры перехода на новый уровней подземелья.',
- 'intro_floor_selection' => 'Если подземелье состоит из нескольких уровней, вы можете менять их прямо здесь. Вы также можете щелкнуть дверями на карте, чтобы перейти на следующий уровень.',
-
- 'intro_route_actions' => 'Это различные действия, которые вы можете выполнять при просмотре или редактировании маршрута.',
- 'intro_route_actions_draw_settings' => 'В настройках рисования вы можете настроить некоторые элементы, чтобы упростить редактирование маршрута.',
- 'intro_route_actions_map_login_and_continue' => 'Если вы уже являетесь пользователем Keystone.guru, но не вошли в систему, вы можете войти и сохранить текущий маршрут в своем профиле.',
- 'intro_route_actions_map_register_and_continue' => 'Если вы еще не являетесь пользователем Keystone.guru, вы можете зарегистрироваться и сохранить текущий маршрут в своем профиле.',
- 'intro_route_actions_save_and_continue' => 'Если вы авторизованы, вы можете сохранять свои маршруты в профиле.',
-
- 'intro_route_manipulation_tools' => 'Инструменты управления маршрутом.',
- 'intro_draw_path' => 'С помощью этого инструмента вы можете рисовать свой маршрут. Выберите его, затем щелкните на карту один раз, чтобы начать рисование, затем столько раз, сколько хотите, чтобы отметить свой путь от точки А до точки Б. После того как вы закончите вы можете щелкнуть
- на созданную линию, чтобы изменить ее цвет или толщину.',
- 'intro_draw_mapicon' => 'Используйте этот инструмент для размещения иконок на карте с дополнительным комментарием.',
- 'intro_draw_brushline' => 'Используйте этот инструмент для более гибкого рисования линий на вашем маршруте без стрелок направления.',
- 'intro_draw_pridefulenemy' => 'Текущий сезонный аффикс - Полный гордыни, порождает Воплощение Гордыни каждые за каждые 20% мобов. Используйте эту кнопку, чтобы отметить место на карте где вы хотите с ним сразиться.',
-
- 'intro_draw_edit' => 'Использовать кнопку редактирования, чтобы настроить созданные вами элементы, иконки или нарисованные линии.',
- 'intro_draw_remove' => 'Использовать кнопку удаления, чтобы удалить созданные вами элементы. Щелкните по ней один раз, затем выберите выделенные элементы, которые хотите удалить. Удаление происходит в режиме предварительного просмотра, вы должны подтвердить свое удаление, нажав кнопку «Готово», или нажмите кнопку «Отмена», чтобы отменить их удаление. Если вы подтвердите удаление, пути назад нет!',
-
- 'intro_map_enemy_forces_numbers' => 'Эта метка указывает на текущий прогресс с силами противника. Вы можете щелкнуть по врагам, чтобы добавить их в новый пул, или выбрать пул из списка ниже и добавить к нему еще врагов.',
- 'intro_new_pull' => 'Использовать эту кнопку, чтобы создать новую пул. Кроме того, вы можете щелкнуть по любому врагу на карте, чтобы создать пул.',
-
- 'enemy_forces_not_all_required_enemies_killed_label' => 'Предупреждение: в этом маршруте выбрано не достаточно противников для успешного завершения подземелья.',
- 'enemy_forces_too_much_label' => 'Предупреждение: в вашем маршруте выбрано слишком много противников.',
- 'enemy_forces_too_little_label' => 'Внимание: в этом маршруте не достаточно противников для успешного завершения подземелья!',
- 'enemy_forces_overridden_label' => 'Силы противника в вашем маршруте были скорректированы из-за чрезвычайно больших запулов врагов, что привело к автоматическим изменениям в вашем маршруте.',
-
- // Sidebar
- 'sidebar_expand' => 'Раскрыть боковую панель',
- 'sidebar_collapse' => 'Свернуть боковую панель',
- 'copied_to_clipboard' => 'Скопировано в буфер обмена',
- 'sidebar_enemy_health_label' => 'Здоровье',
- 'sidebar_enemy_bursting_label' => 'Взрывной',
- 'sidebar_enemy_sanguine_label' => 'Кровавый',
- 'sidebar_enemy_bolstering_label' => 'Усиливающие',
- 'sidebar_enemy_bolstering_whitelist_npcs_label' => 'Только Усиливающие',
- 'sidebar_enemy_spell_label' => 'Способность',
- 'sidebar_enemy_skippable_label' => 'Возможно пропустить ',
- 'sidebar_enemy_runs_away_in_fear_label' => '',
- 'sidebar_hyper_respawns_label' => '',
- 'sidebar_enemy_health_fortified_label' => '',
- 'sidebar_enemy_health_tyrannical_label' => '',
- 'sidebar_enemy_skippable_info_label' => 'Пропускаемый враг - это враг, которого можно пропустить, не используя зелья невидимости или Скрывающий покров Разбойников. Эти враги могут быть исключены из вашего маршрута после того, как вы выберете пак для пула.',
- 'user_report_enemy_success' => 'Отчет успешно отправлен. Спасибо за помощь в улучшении Keystone.guru!',
- 'dungeonroute_report_enemy_success' => 'Отчет успешно отправлен. Спасибо за помощь в улучшении Keystone.guru!',
- 'tag_delete_success' => 'Тег успешно удален',
- 'tag_create_success' => 'Тег создан',
-
- // Killzone sidebar
- 'killzone_sidebar_kill_location_label' => 'Место убийства',
- 'killzone_sidebar_delete_all_pulls_confirm_label' => 'Вы уверены, что хотите удалить все свои пуллы? Это действие не может быть отменено.',
-
- // General site modals etc
- 'min_password_length' => 'Минимальная длина пароля 8 символов',
- 'weak' => 'Слабый',
- 'medium' => 'Средний',
- 'strong' => 'Сложный',
- 'contains_username' => 'Пароль не может содержать имя пользователя',
-
- // MDT Modal
- 'mdt_faction' => 'Фракция',
- 'mdt_dungeon' => 'Подземелье',
- 'mdt_affixes' => 'Аффиксы',
- 'mdt_pulls' => 'Пулы',
- 'mdt_paths' => 'Маршруты',
- 'mdt_drawn_lines' => 'Нарисованные линии',
- 'mdt_notes' => 'Заметки',
- 'mdt_enemy_forces' => 'Силы врагов',
-
- // Default AJAX failed messages
- 'ajax_error_default' => 'Произошла ошибка при выполнении вашего запроса. Пожалуйста, попробуйте еще раз.',
- 'ajax_error_403' => 'У вас нет прав для выполнения этого запроса.',
- 'ajax_error_404' => 'Запрошенный ресурс не найден.',
- 'ajax_error_419' => 'Время сеанса истекло. Обновите страницу и попробуйте еще раз.',
-
- // Popups
- // Map Object
- 'map_object_readonly_label' => '',
- 'map_object_category_general_label' => '',
- 'map_object_category_legacy_label' => '',
- 'map_object_category_advanced_label' => '',
-
- 'mapicon_faction_select_default_label' => 'Фракция',
- 'mapicon_teeming_select_default_label' => 'Кишащий',
-
- // Map icon
- 'map_icon_faction_label' => 'Фракция',
- 'map_icon_teeming_label' => 'Кишащий',
- 'map_icon_team_id_label' => 'Показывать все маршрутам команды',
- 'map_icon_permanent_tooltip_label' => 'Постоянная подсказка',
- 'map_icon_map_icon_type_id_label' => 'Иконка',
- 'map_icon_comment_label' => 'Комментарий',
- 'map_icon_map_icon_type_id_select_default_label' => 'Выбрать иконку',
- 'map_icon_seasonal_type_label' => 'Тип сезона',
- 'map_icon_seasonal_index_label' => 'Индекс сезона',
- 'map_icon_seasonal_index_select_default_label' => 'Не выбрано',
-
- // Admin map icon
- 'admin_map_icon_faction_label' => 'Фракция',
- 'admin_map_icon_teeming_label' => 'Кишащий',
- 'admin_map_icon_permanent_tooltip_label' => 'Постоянная подсказка',
- 'admin_map_icon_map_icon_type_id_label' => 'Иконка',
- 'admin_map_icon_comment_label' => 'Комментарий',
- 'admin_map_icon_map_icon_type_id_select_default_label' => 'Выбрать иконку',
- 'admin_map_icon_seasonal_type_label' => 'Тип сезона',
- 'admin_map_icon_seasonal_index_label' => 'Индекс сезона',
- 'admin_map_icon_seasonal_index_select_default_label' => 'Не выбрано',
-
- // Enemy
- 'enemy_faction_label' => 'Фракция',
- 'enemy_teeming_label' => 'Кишащий',
- 'enemy_npc_id_label' => 'NPC',
- 'enemy_floor_id_label' => '',
- 'enemy_mdt_id_label' => '',
- 'enemy_mdt_npc_id_label' => 'MDT Npc (Необязательно)',
- 'enemy_seasonal_type_label' => 'Тип сезона',
- 'enemy_seasonal_type_select_default_label' => 'Не выбрано',
- 'enemy_seasonal_index_label' => 'Индекс сезона',
- 'enemy_seasonal_index_select_default_label' => 'Не выбрано',
- 'enemy_active_auras_label' => 'Активные ауры',
- 'enemy_active_auras_select_default_label' => 'Не выбрано',
- 'enemy_enemy_forces_override_label' => 'Переопределение вражеских отрядов (-1 для наследования)',
- 'enemy_enemy_forces_override_teeming_label' => 'Переопределение кишащих вражеских отрядов (-1 для наследования)',
- 'enemy_dungeon_difficulty_select_default_label' => '',
- 'enemy_dungeon_difficulty_label' => '',
- 'enemy_required_label' => 'Необходимый',
- 'enemy_skippable_label' => 'Пропускаемый',
- 'enemy_hyper_respawn_label' => '',
- 'enemy_kill_priority_label' => '',
- 'enemy_kill_priority_select_default_label' => '',
- 'enemy_npc_id_select_default_label' => 'Выбрать NPC',
- 'enemy_mdt_npc_id_select_default_label' => 'Выбрать NPC',
-
- // Admin enemy pack
- 'admin_enemy_pack_faction_label' => 'Фракция',
- 'admin_enemy_pack_teeming_label' => 'Кишащий',
- 'admin_enemy_pack_label_label' => 'Метка',
-
- // Brushline
- 'brushline_color_label' => 'Цвет',
- 'brushline_color_animated_label' => 'Анимированный цвет',
- 'brushline_weight_label' => 'Толщина',
-
- // Path
- 'path_color_label' => 'Цвет',
- 'path_color_animated_label' => 'Анимированный цвет',
- 'path_weight_label' => 'Толщина',
-
- // Enemy patrol
- 'enemypatrol_faction_label' => 'Фракция',
- 'enemypatrol_teeming_label' => 'Кишащий',
- 'enemypatrol_color_label' => 'Цвет',
- 'enemypatrol_color_animated_label' => 'Анимированный цвет',
- 'enemypatrol_weight_label' => 'Толщина',
- 'enemypatrol_couple_enemies_label' => '',
- 'enemypatrol_couple_enemies_button_text_label' => '',
-
- // Enemy pack
- 'enemypack_group_label' => '',
- 'enemypack_color_label' => '',
- 'enemypack_color_animated_label' => '',
- 'enemypack_faction_label' => 'Фракция',
- 'enemypack_teeming_label' => 'Кишащий',
- 'enemypack_mark_as_skippable_label' => '',
- 'enemypack_mark_as_skippable_button_text_label' => '',
-
- // Dungeon floor switch marker
- 'dungeonfloorswitchmarker_faction_label' => 'Фракция',
- 'dungeonfloorswitchmarker_teeming_label' => 'Кишащий',
- 'dungeonfloorswitchmarker_source_floor_id_label' => '',
- 'dungeonfloorswitchmarker_source_floor_id_select_default_label' => '',
- 'dungeonfloorswitchmarker_target_floor_id_label' => 'Цель на уровне',
- 'dungeonfloorswitchmarker_target_floor_id_select_default_label' => 'Выбрать уровень',
- 'dungeonfloorswitchmarker_linked_dungeon_floor_switch_marker_id_label' => '',
- 'dungeonfloorswitchmarker_direction_label' => 'Направление',
- 'dungeonfloorswitchmarker_direction_select_default_label' => '',
- 'dungeonfloorswitchmarker_go_to_label' => '',
- 'dungeonfloorswitchmarker_unknown_label' => '',
-
- // Mountable area
- 'mountablearea_faction_label' => '',
- 'mountablearea_teeming_label' => '',
- 'mountablearea_speed_label' => '',
-
- // Floor Union
- 'floorunion_target_floor_id_select_default_label' => '',
- 'floorunion_target_floor_id_label' => '',
- 'floorunion_size_label' => '',
- 'floorunion_rotation_label' => '',
-
- // Floor Union Area
- 'floorunionarea_floor_union_id_label' => '',
-
- // Dungeonroute table
- 'actions_label' => 'Действия',
- 'add_to_team_label' => 'Добавить в команду ...',
-
- // Teams
- 'view_label' => 'Показать',
- 'collaborator_label' => 'Редактировать',
- 'moderator_label' => 'Модерировать',
- 'admin_label' => 'Собственный',
- 'change_role_success' => 'Разрешения обновлены',
- 'change_default_role_success' => 'Роль по умолчанию обновлена',
-
- 'team_admin' => 'Управление командой',
- 'team_moderator' => 'Модерировать команду',
- 'team_collaborator' => 'Редактировать маршрут',
- 'team_member' => 'Показать маршрут',
- 'remove_label' => 'Удалить',
- 'team_add_route_successful' => 'Маршрут успешно добавлен в команду',
- 'team_remove_route_successful' => 'Маршрут успешно удален из команды',
- 'ad_free_giveaway_label' => '',
- 'ad_free_giveaway_user_already_ad_free_label' => '',
- 'ad_free_giveaway_user_already_ad_free_giveaway_label' => '',
- 'ad_free_giveaway_add_label' => '',
- 'ad_free_giveaway_remove_label' => '',
-
- // Dungeonroute table headers
- 'datatable_no_teams_in_table' => 'Вы еще не состоите ни в одной команде',
- 'datatable_no_members_in_table' => 'В этой команде пока нет участников',
-
- 'preview_label' => 'Предварительный просмотр',
- 'title_label' => 'Название',
- 'dungeon_label' => 'Подземелье',
- 'features_label' => 'Функции',
- // 'affixes_label' => 'Affixes',
- // 'attributes_label' => 'Attributes',
- // 'setup_label' => 'Setup',
- 'author_label' => 'Автор',
- 'metrics_label' => 'Метрики',
- 'views_tooltip_label' => '',
- 'copy_tooltip_label' => '',
- 'rating_label' => 'Рейтинг',
- 'published_label' => 'Опубликовано',
- // 'actions_label' => 'Actions',
- 'add_route_label' => 'Добавить',
- 'remove_route_label' => 'Удалить',
-
- 'yes_label' => 'Да',
- 'no_label' => 'Нет',
- 'cancel_label' => 'Отменить',
- 'finished_label' => 'Завершить',
-
- // Teams
- 'remove_member_confirm_label' => 'Вы действительно хотите удалить этого пользователя из команды?',
- 'remove_member_success' => 'Участник успешно удален',
- 'leave_team_confirm_label' => 'Вы уверены, что хотите покинуть эту команду?',
- 'leave_team_disband_confirm_label' => 'Вы уверены, что хотите покинуть эту команду? ВНИМАНИЕ: это распустит команду.',
- 'ad_free_giveaway_add_success' => '',
- 'ad_free_giveaway_add_failed' => '',
- 'ad_free_giveaway_remove_success' => '',
- 'ad_free_giveaway_remove_failed' => '',
-
- 'name_label' => 'Имя',
- 'email_label' => 'Электронный адрес',
- 'join_date_label' => 'Дате вступления',
- 'role_label' => 'Роль',
- 'assignable_roles_label' => 'Назначаемые роли',
- // 'actions_label' => 'Actions',
- 'leave_label' => 'Покинуть',
-
- 'delete_team_confirm_label' => 'Вы уверены, что хотите НЕОБРАТИМО удалить эту команду, ее пользователей и маршруты?',
- 'invite_link_refreshed' => 'Ссылка для приглашения обновлена.',
-
- // Echo server
- 'echo_connecting_label' => 'Подключение ...',
- 'echo_connected_label' => 'Подключено',
- 'connected_users_label' => 'Пользователи',
- 'connecting_title_label' => 'Подключение к сервису синхронизации редактирования маршрута ...',
- 'connected_title_label' => 'Подключен к сервису синхронизации редактирования маршрута. Все ваши действия по редактированию маршрута будут доступны всем членам вашей команды, просматривающим этот маршрут!',
- 'members_title_label' => 'Ваши действия по редактированию маршрута видны этим пользователям, которые в данный момент просматривают / редактируют ваш маршрут!',
- 'member_self_title_label' => 'Вы можете изменить свой цвет в профиле.',
- 'echo_object_deleted_notification' => '{object} удален пользователем {user}',
- 'connected_users_hide_cursors_label' => 'Скрыть курсоры',
- 'connected_users_show_cursors_label' => 'Показать курсоры',
- 'connected_user_follow_label' => 'Подписаться',
- 'connected_user_unfollow_label' => 'Отписаться',
- 'connected_user_view_profile_label' => 'Показать профиль',
- 'echo_following_user_label' => 'Вы подписаны',
- 'echo_unfollow_user_label' => 'Отписаться',
- 'echo_following_user_stopped_label' => 'Вы отписались',
- 'echo_refollow_user_label' => 'Подписаться заново',
- 'echo_refollow_user_stop_label' => 'Стоп',
-
- // Overpull
- 'overpull_select_enemy_label' => 'Выберите одного или нескольких врагов, которых вы будете пулить',
- 'overpull_selection_finished_label' => 'Завершить',
-
- // Search page
- 'filters' => 'Фильтры',
- 'filter_enemy_forces_header_incomplete' => 'Отряд противника: Неполный',
- 'filter_enemy_forces_header_complete' => 'Отряд противника: Завершенный',
- 'filter_image_select_affixes_header' => 'Аффиксы: :number выбрано',
- 'filter_image_select_dungeons_header' => 'Подземелье: :number выбрано',
- 'filter_input_affix_group_header' => 'Группы аффиксов: :number выбрано',
- 'filter_input_level_header' => 'Уровень: :value',
- 'filter_input_rating_header' => 'Рейтинг: :value и выше',
- 'filter_input_title_header' => 'Название: :value',
- 'filter_input_expansion_header' => 'Дополнение: :value',
- 'filter_input_season_header' => '',
- 'filter_input_user_header' => 'Пользователь: :value',
-
- // Group composition
- 'specialization_select' => 'Специализация ...',
- 'class_select' => 'Класс...',
- 'race_select' => 'Раса...',
-
- // Simulate
- 'simulate_pull' => '',
-];
diff --git a/lang/ru-RU/logic.php b/lang/ru-RU/logic.php
deleted file mode 100644
index 7e12047453..0000000000
--- a/lang/ru-RU/logic.php
+++ /dev/null
@@ -1,47 +0,0 @@
- [
- 'io' => [
- 'export_string' => [
- 'category' => [
- 'pull' => 'Пулл %d',
- 'title' => 'Название',
- 'map_icon' => 'Иконки карты',
- ],
- 'unable_to_find_mdt_enemy_for_kg_enemy' => 'Невозможно найти врага в MDT антологичного для Keystone.guru с NPC %s (id_вгара: %d, npc_id: %d)',
- 'unable_to_find_mdt_enemy_for_kg_enemy_details' => 'Ваш маршрут содержит врага, который известен MDT, но Keystone.guru еще не связал этого врага с его аналогом в MDT (или его нет в MDT).',
- 'unable_to_find_mdt_enemy_for_kg_caused_empty_pull' => 'Пул был удален так как все выбранные враги не найдены в MDT, в противном случае это пустой пул.',
- 'route_title_contains_non_ascii_char_bug' => 'Название вашего маршрута содержит символы, отличные от ascii, которые, как известно, вызывают еще не устраненную ошибку кодирования в Keystone.guru. В названии вашего маршрута удалены все неподдерживаемые символы. Приносим извинения за неудобства и надеемся вскоре решить эту проблему.',
- 'route_title_contains_non_ascii_char_bug_details' => 'Старое название: %s, Новое название: %s',
- 'map_icon_contains_non_ascii_char_bug' => 'Один из ваших комментариев к иконке на карте содержит символы, отличные от ascii, которые, как известно, вызывают еще не устраненную ошибку кодирования в Keystone.guru. В вашем комментарии к иконке на карте удалены все неподдерживаемые символы. Приносим извинения за неудобства и надеемся вскоре решить эту проблему.',
- 'map_icon_contains_non_ascii_char_bug_details' => 'Старый комментарий: "%s", Новый комментарий: "%s"',
- ],
- 'import_string' => [
- 'category' => [
- 'awakened_obelisks' => '',
- 'pulls' => '',
- 'notes' => '',
- 'pull' => 'Пулл %s',
- 'object' => '',
- ],
- 'limit_reached_pulls' => '',
- 'limit_reached_brushlines' => '',
- 'limit_reached_paths' => '',
- 'limit_reached_notes' => '',
- 'unable_to_find_floor_for_object' => '',
- 'unable_to_find_floor_for_object_details' => '',
- 'unable_to_find_mdt_enemy_for_clone_index' => 'Невозможно найти врага MDT для клона индекса %s и NPC индекса %s.',
- 'unable_to_find_mdt_enemy_for_clone_index_details' => 'MDT нанес на карту врага, который еще не известен в Keystone.guru.',
- 'unable_to_find_kg_equivalent_for_mdt_enemy' => 'Невозможно найти аналог врага %s Keystone.guru для MDT NPC %s (id:%s)',
- 'unable_to_find_kg_equivalent_for_mdt_enemy_details' => 'В вашем маршруте выбран враг, который известен Keystone.guru, но Keystone.guru еще не нанес на карту этого врага на карту.',
- 'unable_to_find_awakened_enemy_for_final_boss' => 'Невозможно найти Пробужденного врага %s (%s) у последнего босса в %s',
- 'unable_to_find_awakened_enemy_for_final_boss_details' => 'В Keystone.guru есть ошибка сопоставления, которую необходимо исправить. Отправьте администратору вышеприведенное предупреждение, чтоб исправить его.',
- 'unable_to_find_enemies_pull_skipped' => 'Ошибка в поиске врагов привела к пропуску пака.',
- 'unable_to_find_enemies_pull_skipped_details' => 'Эта ошибка может означать, что у MDT недавно было обновление, которое еще не интегрировано в Keystone.guru.',
- 'unable_to_find_awakened_obelisks' => '',
- 'unable_to_find_awakened_obelisk_different_floor' => '',
- ],
- ],
- ],
-];
diff --git a/lang/ru-RU/mapping.php b/lang/ru-RU/mapping.php
deleted file mode 100644
index b516e1fc22..0000000000
--- a/lang/ru-RU/mapping.php
+++ /dev/null
@@ -1,166 +0,0 @@
- [
- 'legion' => [
- 'arcway' => [
-
- ],
- 'black_rook_hold' => [
-
- ],
- 'court_of_stars' => [
- 'unlocks_after_patrol_captain_gerdo' => 'Открывается после убийства Капитана патруля Гердо.',
- 'arcane_beacon' => 'Чародейский маяк',
- 'flask_of_the_solemn_night' => 'Настой священной ночи',
- ],
- 'darkheart_thicket' => [
-
- ],
- 'eye_of_azshara' => [
-
- ],
- 'halls_of_valor' => [
-
- ],
- 'maw_of_souls' => [
-
- ],
- 'neltharions_lair' => [
- 'hidden_pack_in_cave' => 'Пак находится в пещере под водой за водопадом.',
- ],
- 'vault_of_the_wardens' => [
-
- ],
-
- 'lower_karazhan' => [
-
- ],
- 'upper_karazhan' => [
-
- ],
-
- 'cathedral_of_eternal_night' => [
-
- ],
- 'the_seat_of_the_triumvirate' => [
-
- ],
- ],
- 'bfa' => [
- 'atal_dazar' => [
-
- ],
- 'freehold' => [
-
- ],
- 'kings_rest' => [
-
- ],
- 'shrine_of_the_storm' => [
-
- ],
- 'siege_of_boralus' => [
-
- ],
- 'temple_of_sethraliss' => [
-
- ],
- 'the_motherlode' => [
-
- ],
- 'the_underrot' => [
-
- ],
- 'tol_dagor' => [
-
- ],
- 'waycrest_manor' => [
-
- ],
- 'mechagon_junkyard' => [
-
- ],
- 'mechagon_workshop' => [
-
- ],
- 'orgrimmar_horrific_vision' => [
-
- ],
- 'stormwind_horrific_vision' => [
-
- ],
- ],
- 'shadowlands' => [
- 'de_other_side' => [
- 'start' => 'Начало',
- 'graveyard_ardenweald' => 'Активируется после входа в Арденвальд',
- 'graveyard_mechagon' => 'Активируется после входа в Мехагон',
- 'graveyard_zulgurub' => 'Активируется после входа в Зул\'Гуруб',
- 'haunted_urn' => 'Ночной Народец: АоЕ Оглушение - оглушает всех противников в радиусе 30 метров на 10 секунд.',
- 'engineer_blob_button' => 'Инженеры могут отключить реку из капель на несколько минут, нажав красную кнопку.',
- 'exit' => 'Выход',
- ],
- 'halls_of_atonement' => [
- 'start' => 'Начало',
- 'exit' => 'Выход',
- ],
- 'mists_of_tirna_scithe' => [
- 'start' => 'Начало',
- 'brambles' => 'Ночной Народец: Открывает короткий путь.',
- 'depleted_anima_seed' => 'Истощенное анимасемя: Ночной Народец активирует дополнительные точки возрождения.',
- 'map_missing_wall' => 'Стена, которой нет на карте',
- 'savory_statshroom' => 'Деликатесный лютогриб – мгновенно восполняет 100% здоровья и повышает силу, ловкость и интеллект на 10% на 10 мин.',
- 'tasty_toughshroom' => 'Вкусный жесткогриб (5 шт.) – мгновенно восполняет 100% здоровья и повышает выносливость на 10% на 10 мин.',
- 'door_unlock_after_ingra_maloch' => 'Открывается после убийства Ингра Малоха.',
- 'exit' => 'Выход',
- ],
- 'plaguefall' => [
- 'start' => 'Начало',
- 'graveyard_dr_ickus' => 'Активируется после убийства Доктора Икуса',
- 'gushing_slime' => 'Некролорды: АоЕ прок Аура - Использование Скульптора плоти на Хлещущей слизи на 2 минуты повесит на игрока ауру Разъедающая жижа. Все союзники в радиусе 10 метров получают эффект Разъедающая жижа, который периодически наносит урон всем противникам в радиусе 10 метров.',
- 'congealed_slime' => 'Некролорды: Ауоа снижения урона на 10% - Использование Скульптора плоти на Сгустке слизи на 2 минуты повесит на игрока ауру Сгустившаяся зараза. Все союзники в радиусе 10 метров получают эффект Сгустившаяся зараза, уменьшающий получаемый урон.',
- 'pestilence_slime' => 'Некролорды: Ауоа скорости на 25% - Использование Скульптора плоти на Моровой слизи на 2 минуты повесит на игрока ауру Быстрая инфекция. Все союзники в радиусе 10 метров получают эффект Быстрая инфекция, повышающий показатель скорости. Кроме того, после смерти Заразный слизнюк оставляет лужу Быстрая инфекция, которая также повышает показатель скорости, если в ней стоять. Оба эффекта суммируются.',
- 'landing' => 'приземление',
- 'exit' => 'Выход',
- ],
- 'sanguine_depths' => [
- 'start' => 'Начало',
- 'anima_cage' => 'Вентиры: Клетки с анимой, всего их четыре на весь данж. Активировав её, на всех противников в радиусе 40 метров будет наложен эффект Похищение анимы. Через 20 секунд клетка отключается и на всю группу накладывается эффект Благословение Грехопада, сила которого зависит от того, сколько противников было убито во время действия клетки и под действием её дебафа.',
- 'tick_bug' => 'Бывает этот клещ застревает в текстурах , но он будет спулен, когда начнется бой с боссом.',
- 'graveyard_kryxis_the_voracious' => 'Активируется после убийства Криксиса Прожорливого',
- 'graveyard_executor_tarvold' => 'Активируется после убийства Вершителя Тарвольда',
- 'graveyard_grand_proctor_beryllia' => 'Активируется после убийства Верховной надзирательницы Бериллии',
- 'chamber_sentinel' => 'Каменные горгульи могут активироваться и стать Часовым чертогов. Активация случайна.',
- 'gauntlet_explanation' => 'Волны собак будут появляться постоянно в коридоре. Генерал Кааль будет переходить к новому паку мобов каждые 10% здоровья, а когда у нее будет 70% она уйдет в комнату где мы будем вести с ней бой.',
- 'zrali_essence' => 'Сущность З\'рали: щит который уменьшает урона на 65% для всех, кто стоит внутри него. Создает щит вокруг игрока, который его несет/активирует',
- 'exit' => 'Выход',
- ],
- 'spires_of_ascension' => [
- 'start' => 'Начало',
- 'spear_of_destiny' => 'Кирии: Копье Судьбы - Бросает копье, оглушающее противников в радиусе 8 м и увеличивающее получаемый ими урон на 20% на 10 сек.',
- 'exit' => 'Выход',
- ],
- 'the_necrotic_wake' => [
- 'start' => 'Начало',
- 'bloody_javelin' => 'Кровавое копье: Бросает в цель кирийский дротик, нанося пронзенным противникам на линии физический урон мгновенно и дополнительный физический урон раз в 2 сек. в течение 16 сек. Пораженные противники в течение 16 сек. получают на 20% больше урона.',
- 'forgotten_forgehammer' => 'Забытый кузнечный молот: Бросает в цель кирийский молот, нанося физический урон и оглушая цель на 8 сек.',
- 'malfunctioning_goliath' => 'Брошенный щит: ',
- 'discharged_anima' => 'Кирии: Призыв распорядителя - Выхлоп анимы, полученный от неисправных голиафов, повышает скорость передвижения на 20% и раз в 4 сек. в течение 1 мин. вызывает вокруг игрока взрывы, которые наносят находящимся рядом противникам урон от тайной магии и восстанавливают находящимся рядом союзникам здоровье.',
- 'discarded_shield' => 'Брошенный щит: При активации уменьшает урон, получаемый союзниками в радиусе 8м, на 50% на 6сек.',
- 'anima_crystal_shard' => 'Освобожденная анима: Высвобождает накопленную аниму, нанося находящимся рядом противникам урон от тайной магии и раз в 1 сек. в течение 8 сек. прерывая применение заклинаний.',
- 'grisly_curio' => 'Мрачная диковина',
- 'exit' => 'Выход',
- ],
- 'theater_of_pain' => [
- 'start' => 'Начало',
- 'necrolord_banner' => 'Некролорды: Знамёна Некролордов - активация знамен повышает универсальность союзников на 10%, а скорость передвижения – на 10%.',
- 'graveyard_gorechop' => 'Активируется после убийства Кроворуб',
- 'pack_jump_from_sides' => 'Мобы выпрыгивают с обеих сторон моста, когда вы на его зайдете.',
- 'miniboss_pick_one' => 'Возможно выбрать только один вариант - выберите один, а не оба',
- 'teleporter' => 'Телепорт',
- 'exit' => 'Выход',
- ],
- ],
- ],
-];
diff --git a/lang/ru-RU/models.php b/lang/ru-RU/models.php
deleted file mode 100644
index 1624ff00a6..0000000000
--- a/lang/ru-RU/models.php
+++ /dev/null
@@ -1,13 +0,0 @@
- [
- 'title_temporary_route' => ':dungeonName Временный Маршрут',
- 'title_clone' => ':routeTitle (Клонировать)',
- 'subtitle_clone_of' => 'Клон :routeLink',
- 'permission_dratnos' => 'Используется с разрешения Дратноса',
- 'permission_petko' => 'Используется с разрешения Петко',
- 'subtitle_temporary_route' => 'Временный Маршрут',
- 'subtitle_author' => 'Автор %s',
- ],
-];
diff --git a/lang/ru-RU/npcclassifications.php b/lang/ru-RU/npcclassifications.php
deleted file mode 100644
index 7bedcdb778..0000000000
--- a/lang/ru-RU/npcclassifications.php
+++ /dev/null
@@ -1,9 +0,0 @@
- 'Обычный',
- 'elite' => 'Элитный',
- 'boss' => 'Босс',
- 'finalboss' => 'Последний босс',
- 'rare' => '',
-];
diff --git a/lang/ru-RU/pagination.php b/lang/ru-RU/pagination.php
deleted file mode 100644
index 7b248ab5c8..0000000000
--- a/lang/ru-RU/pagination.php
+++ /dev/null
@@ -1,19 +0,0 @@
- '« Предыдущая',
- 'next' => 'Далее »',
-
-];
diff --git a/lang/ru-RU/passwords.php b/lang/ru-RU/passwords.php
deleted file mode 100644
index 28fec892c9..0000000000
--- a/lang/ru-RU/passwords.php
+++ /dev/null
@@ -1,22 +0,0 @@
- 'Пароли должны соответствовать и состоять минимум из шести символов',
- 'reset' => 'Ваш пароль был сброшен!',
- 'sent' => 'На ваш электронный адрес отправлено письмо с ссылкой для сброса пароля!',
- 'token' => 'Этот токен сброса пароля больше недействителен.',
- 'user' => 'Пользователь с таким адресом электронной почты не найден.',
-
-];
diff --git a/lang/ru-RU/races.php b/lang/ru-RU/races.php
deleted file mode 100644
index b05bbf557b..0000000000
--- a/lang/ru-RU/races.php
+++ /dev/null
@@ -1,33 +0,0 @@
- 'Люди',
- 'dwarf' => 'Дворфы',
- 'night_elf' => 'Ночные эльфы',
- 'gnome' => 'Гномы',
- 'draenei' => 'Дренеи',
- 'worgen' => 'Воргены',
- 'pandarenalliance' => 'Пандарены Альянс',
- 'void_elf' => 'Эльфы Бездны',
- 'lightforged_draenei' => 'Озарённые дренеи',
- 'dark_iron_dwarf' => 'Дворфы из клана Чёрного Железа',
- 'dracthyralliance' => '',
-
- 'orc' => 'Орки',
- 'undead' => 'Отрёкшиеся',
- 'tauren' => 'Таурены',
- 'troll' => 'Тролли',
- 'blood_elf' => 'Эльфы крови',
- 'goblin' => 'Гоблины',
- 'pandarenhorde' => 'Пандарены Орда',
- 'nightborne' => 'Ночнорождённые',
- 'highmountain_tauren' => 'Таурены Крутогорья',
- 'maghar_orc' => 'Маг’хары',
- 'dracthyrhorde' => '',
-
- 'kul_tiran_human' => 'Култирасцы',
- 'zandalari_troll' => 'Зандалары',
-
- 'mechagnome' => 'Механогномы',
- 'vulpera' => 'Вульперы',
-];
diff --git a/lang/ru-RU/specializations.php b/lang/ru-RU/specializations.php
deleted file mode 100644
index b3173d9848..0000000000
--- a/lang/ru-RU/specializations.php
+++ /dev/null
@@ -1,68 +0,0 @@
- [
- 'blood' => 'Кровь',
- 'frost' => 'Лед',
- 'unholy' => 'Нечестивость',
- ],
- 'demon_hunter' => [
- 'havoc' => 'Истребление',
- 'vengeance' => 'Месть',
- ],
- 'druid' => [
- 'balance' => 'Баланс',
- 'feral' => 'Сила зверя',
- 'guardian' => 'Страж',
- 'restoration' => 'Исцеление',
- ],
- 'evoker' => [
- 'devastation' => '',
- 'preservation' => '',
- ],
- 'hunter' => [
- 'beast_mastery' => 'Повелитель зверей',
- 'marksman' => 'Стрельба',
- 'survival' => 'Выживание',
- ],
- 'mage' => [
- 'arcane' => 'Тайная магия',
- 'fire' => 'Огонь',
- 'frost' => 'Лед',
- ],
- 'monk' => [
- 'brewmaster' => 'Хмелевар',
- 'mistweaver' => 'Ткач туманов',
- 'windwalker' => 'Танцующий с ветром',
- ],
- 'paladin' => [
- 'holy' => 'Свет',
- 'protection' => 'Защита',
- 'retribution' => 'Воздаяние',
- ],
- 'priest' => [
- 'discipline' => 'Послушание',
- 'holy' => 'Свет',
- 'shadow' => 'Тьма',
- ],
- 'rogue' => [
- 'assassination' => 'Ликвидация',
- 'outlaw' => 'Головорез',
- 'subtlety' => 'Скрытность',
- ],
- 'shaman' => [
- 'elemental' => 'Стихии',
- 'enhancement' => 'Совершествование',
- 'restoration' => 'Исцеление',
- ],
- 'warlock' => [
- 'affliction' => 'Колдовство',
- 'demonology' => 'Демонология',
- 'destruction' => 'Разрушение',
- ],
- 'warrior' => [
- 'arms' => 'Оружие',
- 'fury' => 'Неистовство',
- 'protection' => 'Защита',
- ],
-];
diff --git a/lang/ru-RU/teamroles.php b/lang/ru-RU/teamroles.php
deleted file mode 100644
index e7480683c0..0000000000
--- a/lang/ru-RU/teamroles.php
+++ /dev/null
@@ -1,8 +0,0 @@
- 'Участник',
- 'collaborator' => 'Коллаборатор',
- 'moderator' => 'Модератор',
- 'admin' => 'Администратор',
-];
diff --git a/lang/ru-RU/validation.php b/lang/ru-RU/validation.php
deleted file mode 100644
index e87433c4ba..0000000000
--- a/lang/ru-RU/validation.php
+++ /dev/null
@@ -1,119 +0,0 @@
- ':attribute должен быть принят',
- 'active_url' => ':attribute недопустимым URL.',
- 'after' => ':attribute должен быть датой после :date.',
- 'after_or_equal' => ':attribute должен быть датой после или равной :date.',
- 'alpha' => ':attribute может содержать только буквы.',
- 'alpha_dash' => ':attribute может содержать только буквы, цифры и тире.',
- 'alpha_num' => ':attribute может содержать только буквы и цифры.',
- 'array' => ':attribute должен быть массивом.',
- 'before' => ':attribute должен быть датой после :date.',
- 'before_or_equal' => ':attribute должен быть датой до или равной :date.',
- 'between' => [
- 'numeric' => ':attribute должно быть между :min и :max.',
- 'file' => ':attribute должно быть между :min и :max килобайт.',
- 'string' => ':attribute должно быть между :min и :max символов',
- 'array' => ':attribute должно быть между :min и :max предметов',
- ],
- 'boolean' => ':attribute поле должно быть истинным или ложным.',
- 'confirmed' => ':attribute подтверждение не совпадает.',
- 'date' => ':attribute не действительная дата.',
- 'date_format' => ':attribute не соответствует формату :format.',
- 'different' => ':attribute и :other должны быть другими',
- 'digits' => ':attribute должен иметь :digits цифры.',
- 'digits_between' => ':attribute должно быть между :min и :max цифры.',
- 'dimensions' => ':attribute имеет недопустимые размеры изображения.',
- 'distinct' => ':attribute поле имеет повторяющееся значение.',
- 'email' => ':attribute Адрес эл. почты должен быть действительным.',
- 'exists' => 'Выбранный :attribute недействителен.',
- 'file' => ':attribute должен быть файлом.',
- 'filled' => 'Поле :attribute, обязательное для заполнения.',
- 'image' => ':attribute должно быть изображением.',
- 'in' => 'Выбранный :attribute недействителен',
- 'in_array' => 'Поле :attribute не существует в :other.',
- 'integer' => ':attribute должно быть целым числом.',
- 'ip' => ':attribute должен быть действующий IP-адрес',
- 'json' => ':attribute должен быть действительной строкой JSON',
- 'max' => [
- 'numeric' => ':attribute не может быть больше чем :max.',
- 'file' => ':attribute не может быть больше чем :max килобайт',
- 'string' => ':attribute не может быть больше чем :max символов',
- 'array' => ':attribute не может быть больше :max предметов',
- ],
- 'mimes' => ':attribute должен быть файл типа: :values.',
- 'mimetypes' => ':attribute должен быть файл типа: :values.',
- 'min' => [
- 'numeric' => ':attribute должен быть не менее :min.',
- 'file' => ':attribute должен быть не менее :min килобайт.',
- 'string' => ':attribute должен быть не менее :min символов.',
- 'array' => ':attribute должен иметь как минимум :min предметов.',
- ],
- 'not_in' => 'Выбранный :attribute недействителен.',
- 'numeric' => ':attribute должен быть числом.',
- 'present' => 'Поле :attribute должно присутствовать.',
- 'regex' => 'Неверный формат :attribute',
- 'required' => 'Поле :attribute, обязательное для заполнения.',
- 'required_if' => 'Поле :attribute обязательно, когда :other является :value.',
- 'required_unless' => 'Поле :attribute является обязательным, если только :other не указано в :values.',
- 'required_with' => 'Поле :attribute обязательно, когда присутствует в :values.',
- 'required_with_all' => 'Поле :attribute обязательно, когда присутствует в :values.',
- 'required_without' => 'Поле :attribute обязательно, когда не присутствует в :values.',
- 'required_without_all' => 'Поле :attribute является обязательным, если ни один из :values присутствуют.',
- 'same' => ':attribute и :other должны совпадать.',
- 'size' => [
- 'numeric' => ':attribute должен быть :size.',
- 'file' => ':attribute должен быть :size килобайт.',
- 'string' => ':attribute должен быть :size символов.',
- 'array' => ':attribute должен содержать :size предметов',
- ],
- 'string' => ':attribute должен быть строкой.',
- 'timezone' => ':attribute должна быть действующая зона.',
- 'unique' => ':attribute уже использовано.',
- 'uploaded' => ':attribute не удалось загрузить.',
- 'url' => 'Формат :attribute недействителен.',
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => [
- 'attribute-name' => [
- 'rule-name' => 'Сообщение',
- ],
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => [],
-
-];
diff --git a/lang/ru-RU/affixes.php b/lang/ru_RU/affixes.php
similarity index 71%
rename from lang/ru-RU/affixes.php
rename to lang/ru_RU/affixes.php
index 8cec69bd2f..cd0979361d 100644
--- a/lang/ru-RU/affixes.php
+++ b/lang/ru_RU/affixes.php
@@ -1,129 +1,111 @@
[
- 'name' => 'Усиливающий',
+
+ 'bolstering' => [
+ 'name' => 'Усиливающий',
'description' => 'Все противники, не являющиеся боссами, в момент гибели издают последний клич, увеличивая максимальный запас здоровья находящихся рядом союзников на 15%, а наносимый ими урон – на 20%.',
],
- 'bursting' => [
- 'name' => 'Взрывной',
+ 'bursting' => [
+ 'name' => 'Взрывной',
'description' => 'Все противники, не являющиеся боссами, умирая, взрываются и наносят игрокам периодический урон в течение 4 сек. Этот эффект суммируется.',
],
- 'explosive' => [
- 'name' => 'Взрывоопасный',
+ 'explosive' => [
+ 'name' => 'Взрывоопасный',
'description' => 'В бою противники периодически призывают взрывоопасные сферы, которые детонируют, если их вовремя не уничтожить.',
],
- 'fortified' => [
- 'name' => 'Укрепленный',
+ 'fortified' => [
+ 'name' => 'Укрепленный',
'description' => 'Противники, не являющиеся боссами, имеют на 20% больше здоровья и наносят на 30% больше урона.',
],
- 'grievous' => [
- 'name' => 'Мучительный',
+ 'grievous' => [
+ 'name' => 'Мучительный',
'description' => 'Раненые игроки получают нарастающий периодический урон, пока не будут исцелены.',
],
- 'infested' => [
- 'name' => 'Зараженный',
+ 'infested' => [
+ 'name' => 'Зараженный',
'description' => 'Некоторые противники, не являющиеся боссами, заражены порождениями Г\'ууна.',
],
- 'necrotic' => [
- 'name' => 'Некротический',
+ 'necrotic' => [
+ 'name' => 'Некротический',
'description' => 'Все атаки противника в ближнем бою накладывают на цели суммирующийся эффект гнили, который наносит периодический урон и уменьшает получаемое исцеление.',
],
- 'quaking' => [
- 'name' => 'Сотрясающий',
+ 'quaking' => [
+ 'name' => 'Сотрясающий',
'description' => 'Периодически все игроки излучают ударные волны, нанося урон находящимся рядом союзникам и прерывая применяемые ими способности.',
],
- 'raging' => [
- 'name' => 'Разъяренный',
+ 'raging' => [
+ 'name' => 'Разъяренный',
'description' => 'Противники, не являющиеся боссами, впадают в ярость, когда у них остается менее 30% здоровья, и наносят на 75% больше урона, пока не погибнут.',
],
- 'relentless' => [
- 'name' => 'Непреклонность',
+ 'relentless' => [
+ 'name' => 'Непреклонность',
'description' => 'Враги, не являющиеся боссами, получают временный иммунитет к эффектам потери контроля.',
],
- 'sanguine' => [
- 'name' => 'Кровавый',
+ 'sanguine' => [
+ 'name' => 'Кровавый',
'description' => 'Все противники, не являющиеся боссами, после гибели оставляют за собой лужу крови, которая лечит их союзников и наносит урон игрокам.',
],
- 'skittish' => [
- 'name' => 'Упрямый',
+ 'skittish' => [
+ 'name' => 'Упрямый',
'description' => 'Противники в значительной степени игнорируют объем угрозы, создаваемой танками.',
],
- 'teeming' => [
- 'name' => 'Кишащий',
+ 'teeming' => [
+ 'name' => 'Кишащий',
'description' => 'В подземелье присутствуют дополнительные противники, не являющиеся боссами.',
],
- 'tyrannical' => [
- 'name' => 'Тиранический',
+ 'tyrannical' => [
+ 'name' => 'Тиранический',
'description' => 'У противников-боссов на 30% больше здоровья. Боссы и их прислужники получают прибавку к урону вплоть до 15%.',
],
- 'volcanic' => [
- 'name' => 'Вулканический',
+ 'volcanic' => [
+ 'name' => 'Вулканический',
'description' => 'Под ногами игроков, ведущих бой с противником на дальней дистанции, из-под земли периодически вырываются струи огня.',
],
- 'reaping' => [
- 'name' => 'Пожинающий',
+ 'reaping' => [
+ 'name' => 'Пожинающий',
'description' => 'Противники, не являющиеся боссами, усилены Бвонсамди и способны мстить даже после смерти.',
],
- 'beguiling' => [
- 'name' => 'Манящий',
+ 'beguiling' => [
+ 'name' => 'Манящий',
'description' => 'В подземелье присутствуют посланники Азшары.',
],
- 'awakened' => [
- 'name' => 'Пробудившийся',
+ 'awakened' => [
+ 'name' => 'Пробудившийся',
'description' => 'В подземелье находятся обелиски, позволяющие игрокам войти в Ни\'алоту и сразиться с могучими прислужниками Н\'Зота. Оставшиеся в живых прислужники будут помогать боссу в финальном сражении.',
],
- 'inspiring' => [
- 'name' => 'Воодушевляющий',
+ 'inspiring' => [
+ 'name' => 'Воодушевляющий',
'description' => 'Некоторые не являющиеся боссами противники вдохновляют своим присутствием других врагов.',
],
- 'spiteful' => [
- 'name' => 'Злопамятный',
+ 'spiteful' => [
+ 'name' => 'Злопамятный',
'description' => 'Бесы восстают из трупов не являющихся боссами противников и преследуют случайных игроков.',
],
- 'storming' => [
- 'name' => 'Бушующий',
+ 'storming' => [
+ 'name' => 'Бушующий',
'description' => 'Во время боя противники время от времени призывают вихри, наносящие урон.',
],
- 'prideful' => [
- 'name' => 'Полный гордыни',
+ 'prideful' => [
+ 'name' => 'Полный гордыни',
'description' => 'Побеждая не являющихся боссами противников, игроки переполняются гордыней, пока рядом с ними не появляется воплощение гордыни. Победив воплощение, игроки получают мощное усиление.',
],
- 'tormented' => [
- 'name' => 'Истязание',
+ 'tormented' => [
+ 'name' => 'Истязание',
'description' => 'В разных частях подземелья находятся слуги Тюремщика, за победу над которыми можно получить мощные усиления. Каждый непобежденный слуга Тюремщика усилит финального босса.',
],
- 'unknown' => [
- 'name' => 'Неизвестно',
+ 'unknown' => [
+ 'name' => 'Неизвестно',
'description' => 'Аффиксы на этой неделе пока не известны.',
],
- 'infernal' => [
- 'name' => 'Инфернал',
+ 'infernal' => [
+ 'name' => 'Инфернал',
'description' => 'Инфернальные маяки можно найти рядом с некоторыми боссами. При активации маяка или после начала битвы с боссом происходит вторжение Легиона.',
],
- 'encrypted' => [
- 'name' => 'Зашифрованный',
+ 'encrypted' => [
+ 'name' => 'Зашифрованный',
'description' => 'Противники в подземелье завладели реликвиями Предвечных. Уничтожьте эти реликвии, чтобы призвать автомов и получить мощное усиление. Порядок уничтожения влияет на то, какое усиление вы получите.',
],
- 'shrouded' => [
- 'name' => '',
- 'description' => '',
- ],
- 'thundering' => [
- 'name' => '',
- 'description' => '',
- ],
- 'afflicted' => [
- 'name' => '',
- 'description' => '',
- ],
- 'entangling' => [
- 'name' => '',
- 'description' => '',
- ],
- 'incorporeal' => [
- 'name' => '',
- 'description' => '',
- ],
'seasonal_index_preset' => '%s расстановка %d',
+
];
diff --git a/lang/ru_RU/auth.php b/lang/ru_RU/auth.php
new file mode 100644
index 0000000000..b99650b122
--- /dev/null
+++ b/lang/ru_RU/auth.php
@@ -0,0 +1,8 @@
+ 'Неверный логин или пароль',
+ 'throttle' => 'Слишком много попыток входа в систему. Повторите попытку через :seconds секунд.',
+
+];
diff --git a/lang/ru_RU/breadcrumbs.php b/lang/ru_RU/breadcrumbs.php
new file mode 100644
index 0000000000..00330eb3c3
--- /dev/null
+++ b/lang/ru_RU/breadcrumbs.php
@@ -0,0 +1,79 @@
+ [
+ 'keystone_guru' => 'Keystone.guru',
+ 'affixes' => 'Аффиксы',
+ 'changelog' => 'История изменений',
+ 'routes' => 'Маршруты',
+ 'routes_expansion' => ':expansion маршруты',
+ 'dungeonroutes' => [
+ 'search' => 'Поиск',
+ 'popular' => 'Популярные',
+ 'next_week_affixes' => 'Аффиксы следующей недели',
+ 'this_week_affixes' => 'Текущие Аффиксы',
+ 'new' => 'Новые',
+ 'discoverdungeon' => [
+ 'popular' => 'Популярные',
+ 'next_week_affixes' => 'Аффиксы следующей недели',
+ 'this_week_affixes' => 'Текущие Аффиксы',
+ 'new' => 'Новые',
+ ],
+ ],
+ 'my_profile' => 'Мой профиль',
+ 'my_routes' => 'Мои маршруты',
+ 'my_tags' => 'Мои теги',
+ 'my_teams' => 'Моя команда',
+ 'overview' => 'Обзор',
+ 'new_team' => 'Новая команда',
+ 'edit_team' => 'Редактировать команду',
+ 'join_team' => 'Присоединиться к команде',
+ 'admin' => [
+ 'admin' => 'Администратор',
+ 'tools' => [
+ 'admin_tools' => 'Инструменты администратора',
+ 'view_exported_dungeondata' => 'Просмотреть экспортированные данные подземелий',
+ 'view_exported_releases' => 'Посмотреть экспортированные релизы',
+ 'select_exception' => 'Выбрать исключения',
+ 'mdt_diff' => 'Отличия MDT',
+ 'view_mdt_string_contents' => 'Просмотр содержимого строк MDT',
+ 'import_npcs' => 'Импортировать НПЦ',
+ ],
+ 'releases' => 'Релиз',
+ 'new_release' => 'Новый релиз',
+ 'edit_release' => 'Редактировать релиз',
+ 'expansions' => [
+ 'expansions' => 'Дополнение',
+ 'new_expansion' => 'Новое дополнение',
+ 'edit_expansion' => 'Редактировать дополнение',
+ ],
+ 'dungeons' => [
+ 'dungeons' => 'Подземелье',
+ 'new_dungeon' => 'Новое подземелье',
+ 'edit_dungeon' => 'редактировать подземелье',
+ ],
+ 'floors' => [
+ 'new_floor' => 'Этаж',
+ 'edit_floor' => 'редактировать этаж',
+ ],
+ 'npcs' => [
+ 'npcs' => 'НПЦ',
+ 'new_npc' => 'Новый НПЦ',
+ 'edit_npc' => 'Редактировать НПЦ',
+ ],
+ 'spells' => [
+ 'spells' => 'Способность',
+ 'new_spell' => 'Новая способность',
+ 'edit_spell' => 'Редактировать способность',
+ ],
+ 'users' => [
+ 'users' => 'Пользователь',
+ ],
+ 'user_reports' => [
+ 'user_reports' => 'Отчеты пользователей',
+ ],
+ ],
+ ],
+
+];
diff --git a/lang/ru_RU/classes.php b/lang/ru_RU/classes.php
new file mode 100644
index 0000000000..8ac20cc4ee
--- /dev/null
+++ b/lang/ru_RU/classes.php
@@ -0,0 +1,18 @@
+ 'Рыцарь смерти',
+ 'demon_hunter' => 'Охотник на демонов',
+ 'druid' => 'Друид',
+ 'hunter' => 'Охотник',
+ 'mage' => 'Маг',
+ 'monk' => 'Монах',
+ 'paladin' => 'Паладин',
+ 'priest' => 'Жрец',
+ 'rogue' => 'Разбойник',
+ 'shaman' => 'Шаман',
+ 'warlock' => 'Чернокнижник',
+ 'warrior' => 'Воин',
+
+];
diff --git a/lang/ru_RU/controller.php b/lang/ru_RU/controller.php
new file mode 100644
index 0000000000..cfc62a8dc4
--- /dev/null
+++ b/lang/ru_RU/controller.php
@@ -0,0 +1,153 @@
+ [
+ 'error' => [
+ 'mdt_string_format_not_recognized' => 'Формат строки MDT не распознан.',
+ 'invalid_mdt_string' => 'Неверная строка MDT',
+ 'invalid_mdt_string_exception' => 'Неверная строка MDT: %s',
+ 'mdt_importer_not_configured' => 'Импорт MDT настроен неправильно. Пожалуйста, свяжитесь с администратором по поводу этой проблемы.',
+ 'mdt_unable_to_find_npc_for_id' => 'Невозможно найти NPC по ID %d',
+ 'mdt_mismatched_health' => 'Не совпадает здоровье NPC %s, MDT: %s, KG: %s',
+ 'mdt_mismatched_enemy_forces' => 'Не соответствующая способность NPC %s, MDT: %s, KG: %s',
+ 'mdt_mismatched_enemy_forces_teeming' => 'Таймеры NPC %s не соответствуют, MDT: %s, KG: %s',
+ 'mdt_mismatched_enemy_count' => 'Несоответствующее количество NPC %s, MDT: %s, KG: %s',
+ 'mdt_mismatched_enemy_type' => 'Несоответствующее тип NPC %s, MDT: %s, KG: %s',
+ 'mdt_invalid_category' => 'Неверная категория',
+ ],
+ 'flash' => [
+ 'caches_dropped_successfully' => 'Кеш сброшен успешно',
+ 'releases_exported' => 'Релизы экспортированы',
+ 'exception' => [
+ 'token_mismatch' => 'Несоответствие токена',
+ 'internal_server_error' => 'Дополнение добавлено в админ панель',
+ ],
+ ],
+ ],
+ 'apidungeonroute' => [
+ 'mdt_generate_error' => 'Произошла ошибка при создании строки MDT: %s',
+ 'mdt_generate_no_lua' => 'Импорт MDT настроен неправильно. Пожалуйста, свяжитесь с администратором по поводу этой проблемы',
+ ],
+ 'apiuserreport' => [
+ 'error' => [
+ 'unable_to_update_user_report' => 'Невозможно обновить отчет пользователя',
+ 'unable_to_save_report' => 'Невозможно сохранить отчет',
+ ],
+ ],
+ 'dungeon' => [
+ 'flash' => [
+ 'dungeon_created' => 'Подземелье создано',
+ 'dungeon_updated' => 'Подземелье обновлено',
+ ],
+ ],
+ 'dungeonroute' => [
+ 'unable_to_save' => 'Невозможно сохранить маршрут',
+ 'flash' => [
+ 'route_cloned_successfully' => 'Маршрут успешно клонирован',
+ 'route_updated' => 'Маршрут обновлен',
+ 'route_created' => 'Маршрут создан',
+ ],
+ ],
+ 'dungeonroutediscover' => [
+ 'popular' => 'Популярные маршруты',
+ 'this_week_affixes' => 'Текущие аффиксы',
+ 'next_week_affixes' => 'Аффиксы следующей неделе',
+ 'new' => 'Новые',
+ 'dungeon' => [
+ 'popular' => '%s популярные маршруты',
+ 'this_week_affixes' => '%s текущие аффиксы',
+ 'next_week_affixes' => '%s аффиксы следующей неделе',
+ 'new' => '%s Новые',
+ ],
+ ],
+ 'expansion' => [
+ 'flash' => [
+ 'unable_to_save_expansion' => 'Не удалось сохранить дополнение',
+ 'expansion_updated' => 'Дополнение обновлено',
+ 'expansion_created' => 'Дополнение создано',
+ ],
+ ],
+ 'oauthlogin' => [
+ 'flash' => [
+ 'registered_successfully' => 'Регистрация прошла успешно.',
+ 'user_exists' => 'Пользователь с таким именем уже существует %s. Может быть вы уже зарегистрированы?',
+ 'email_exists' => 'Пользователь с таким электронным адресом уже существует %s. Может быть вы уже зарегистрированы?',
+ ],
+ ],
+ 'register' => [
+ 'flash' => [
+ 'registered_successfully' => 'Регистрация прошла успешно.',
+ ],
+ 'legal_agreed_required' => 'Вы должны согласиться с пользовательским соглашением и политикой конфиденциальности для регистрации',
+ 'legal_agreed_accepted' => 'Вы должны согласиться с пользовательским соглашением и политикой конфиденциальности для регистрации',
+ ],
+ 'release' => [
+ 'error' => [
+ 'unable_to_save_release' => 'Невозможно сохранить релиз',
+ ],
+ 'flash' => [
+ 'release_updated' => 'Релиз обновлен',
+ 'release_created' => 'Релиз создан',
+ 'github_exception' => 'Произошла ошибка связи с Github: %s',
+ ],
+ ],
+ 'mdtimport' => [
+ 'unknown_dungeon' => 'Неизвестное подземелье',
+ 'error' => [
+ 'mdt_string_format_not_recognized' => 'Формат строки MDT не распознан.',
+ 'invalid_mdt_string_exception' => 'Недействительная строка MDT: %s',
+ 'invalid_mdt_string' => 'Недействительная строка MDT',
+ 'mdt_importer_not_configured_properly' => 'Импорт MDT настроен неправильно. Пожалуйста, свяжитесь с администратором по поводу этой проблемы.',
+ 'cannot_create_route_must_be_logged_in' => 'Вы должны авторизоваться, чтобы создать маршрут',
+ ],
+ ],
+ 'profile' => [
+ 'flash' => [
+ 'email_already_in_use' => 'Пользователь с таким электронным адресом уже существует',
+ 'username_already_in_use' => 'Пользователь с таким именем уже существует',
+ 'profile_updated' => 'Профиль обновлен',
+ 'unexpected_error_when_saving' => 'Произошла непредвиденная ошибка при попытке сохранить ваш профиль.',
+ 'privacy_settings_updated' => 'Настройки конфиденциальности обновлены',
+ 'password_changed' => 'Пароль изменен',
+ 'new_password_equals_old_password' => 'Новый пароль совпадает со старым паролем',
+ 'new_passwords_do_not_match' => 'Новый пароль не совпадает',
+ 'current_password_is_incorrect' => 'Текущий пароль неверен',
+ 'tag_created_successfully' => 'Тег создан успешно',
+ 'tag_already_exists' => 'Этот тег уже существует',
+ 'admins_cannot_delete_themselves' => 'Админ не может удалить сам себя!',
+ 'account_deleted_successfully' => 'Аккаунт успешно удален.',
+ 'error_deleting_account' => 'Произошла ошибка. Пожалуйста, попробуйте еще раз.',
+ ],
+ ],
+ 'spell' => [
+ 'error' => [
+ 'unable_to_save_spell' => 'Невозможно сохранить способность',
+ ],
+ 'flash' => [
+ 'spell_updated' => 'Способность обновлена',
+ 'spell_created' => 'Способность создана',
+ ],
+ ],
+ 'team' => [
+ 'flash' => [
+ 'team_updated' => 'Команда обновлена',
+ 'team_created' => 'Команда создана',
+ 'unable_to_find_team_for_invite_code' => 'Невозможно найти команду, связанную с этим кодом приглашения',
+ 'invite_accept_success' => 'Теперь ты член команды %s.',
+ 'tag_created_successfully' => 'Тег успешно создан',
+ 'tag_already_exists' => 'Этот тег уже существует',
+ ],
+ ],
+ 'user' => [
+ 'flash' => [
+ 'user_is_now_an_admin' => 'Пользователь %s теперь администратор',
+ 'user_is_no_longer_an_admin' => 'Пользователь %s больше не администратор',
+ 'user_is_now_a_user' => 'Пользователь %s теперь пользователь',
+ 'account_deleted_successfully' => 'Аккаунт успешно удален.',
+ 'account_deletion_error' => 'Произошла ошибка. Пожалуйста, попробуйте еще раз.',
+ 'user_is_not_a_patron' => 'Этот пользователь не подписчик Patron',
+ ],
+ ],
+
+];
diff --git a/lang/ru_RU/dungeons.php b/lang/ru_RU/dungeons.php
new file mode 100644
index 0000000000..3b980a541f
--- /dev/null
+++ b/lang/ru_RU/dungeons.php
@@ -0,0 +1,298 @@
+ [
+ 'arcway' => [
+ 'name' => 'Катакомбы Сурамара',
+ 'floors' => [
+ 'arcway' => '0-я фаза',
+ ],
+ ],
+ 'black_rook_hold' => [
+ 'name' => 'Крепость Черной Ладьи',
+ 'floors' => [
+ 'the_ravenscrypt' => 'Крипта Воронов',
+ 'the_grand_hall' => 'Главный зал',
+ 'ravenshold' => 'Обитель Воронов',
+ 'the_rooks_roost' => 'Гнездовье Черной Ладьи',
+ 'lord_ravencrests_chamber' => 'Комната лорда Гребня Ворона',
+ 'the_ravens_crown' => 'Корона Ворона',
+ ],
+ ],
+ 'court_of_stars' => [
+ 'name' => 'Квартал Звезд',
+ 'floors' => [
+ 'court_of_stars' => 'Квартал Звезд',
+ ],
+ ],
+ 'darkheart_thicket' => [
+ 'name' => 'Чаща Темного Сердца',
+ 'floors' => [
+ 'darkheart_thicket' => 'Чаща Темного Сердца',
+ ],
+ ],
+ 'eye_of_azshara' => [
+ 'name' => 'Око Азшары',
+ 'floors' => [
+ 'eye_of_azshara' => 'Око Азшары',
+ ],
+ ],
+ 'halls_of_valor' => [
+ 'name' => 'Чертоги Доблести',
+ 'floors' => [
+ 'the_high_gate' => 'Высокие врата',
+ 'fields_of_the_eternal_hunt' => 'Поля вечной охоты',
+ 'halls_of_valor' => 'Чертоги Доблести',
+ ],
+ ],
+ 'maw_of_souls' => [
+ 'name' => 'Утесы Адской Пасти',
+ 'floors' => [
+ 'hellmouth_cliffs' => 'Утесы Адской Пасти',
+ 'the_hold' => 'Трюм',
+ 'the_naglfar' => 'Нагльфар',
+ ],
+ ],
+ 'neltharions_lair' => [
+ 'name' => 'Логово Нелтариона',
+ 'floors' => [
+ 'neltharions_lair' => 'Логово Нелтариона',
+ ],
+ ],
+ 'vault_of_the_wardens' => [
+ 'name' => 'Казематы Стражей',
+ 'floors' => [
+ 'the_wardens_court' => 'Суд Стражей',
+ 'vault_of_the_wardens' => 'Казематы Стражей',
+ 'vault_of_the_betrayer' => 'Каземат Предателя',
+ ],
+ ],
+ 'lower_karazhan' => [
+ 'name' => 'Нижняя часть Каражана',
+ 'floors' => [
+ 'servants_quarters' => 'Комнаты слуг',
+ 'upper_livery_stables' => 'Верх разрушенной лестницы',
+ 'the_banquet_hall' => 'Комнаты слуг',
+ 'the_guest_chambers' => 'Гостевые комнаты',
+ 'opera_hall_balcony' => 'Балкон в опере',
+ 'masters_terrace' => 'Терраса Медива',
+ ],
+ ],
+ 'upper_karazhan' => [
+ 'name' => 'Верхняя часть Каражана',
+ 'floors' => [
+ 'lower_broken_stair' => 'Низ разрушенной лестницы',
+ 'upper_broken_stair' => 'Верх разрушенной лестницы',
+ 'the_menagerie' => 'Зверинец',
+ 'guardians_library' => 'Библиотека Хранителя',
+ 'library_floor' => 'Нижний ярус библиотеки',
+ 'upper_library' => 'Верхний ярус библиотеки',
+ 'gamesmans_hall' => 'Игровой зал',
+ 'netherspace' => 'Пустомарь',
+ ],
+ ],
+ 'cathedral_of_eternal_night' => [
+ 'name' => 'Собор Вечной Ночи',
+ 'floors' => [
+ 'hall_of_the_moon' => 'Зал Луны',
+ 'twilight_groove' => 'Сумеречная роща',
+ 'the_emerald_archives' => 'Изумрудные архивы',
+ 'path_of_illumination' => 'Путь Озарения',
+ 'sacristy_of_elune' => 'Ризница Элуны',
+ ],
+ ],
+ 'the_seat_of_the_triumvirate' => [
+ 'name' => 'Престол Триумвирата',
+ 'floors' => [
+ 'the_seat_of_the_triumvirate' => 'Престол Триумвирата',
+ ],
+ ],
+ ],
+ 'bfa' => [
+ 'atal_dazar' => [
+ 'name' => 'Атал\'Дазар',
+ 'floors' => [
+ 'atal_dazar' => 'Атал\'Дазар',
+ 'sacrificial_pits' => 'Жертвенная яма',
+ ],
+ ],
+ 'freehold' => [
+ 'name' => 'Вольная Гавань',
+ 'floors' => [
+ 'freehold' => 'Вольная Гавань',
+ ],
+ ],
+ 'kings_rest' => [
+ 'name' => 'Гробница королей',
+ 'floors' => [
+ 'kings_rest' => 'Гробница королей',
+ ],
+ ],
+ 'shrine_of_the_storm' => [
+ 'name' => 'Святилище Штормов',
+ 'floors' => [
+ 'shrine_of_the_storm' => 'Святилище Штормов',
+ 'storms_end' => 'Предел шторма',
+ ],
+ ],
+ 'siege_of_boralus' => [
+ 'name' => 'Осада Боралуса',
+ 'floors' => [
+ 'siege_of_boralus' => 'Осада Боралуса',
+ ],
+ ],
+ 'temple_of_sethraliss' => [
+ 'name' => 'Храм Сетралисс',
+ 'floors' => [
+ 'temple_of_sethraliss' => 'Храм Сетралисс',
+ ],
+ ],
+ 'the_motherlode' => [
+ 'name' => 'ЗОЛОТАЯ ЖИЛА!!!',
+ 'floors' => [
+ 'the_motherlode' => 'ЗОЛОТАЯ ЖИЛА!!!',
+ ],
+ ],
+ 'the_underrot' => [
+ 'name' => 'Подгнилье',
+ 'floors' => [
+ 'the_underrot' => 'Подгнилье',
+ 'ruins_descent' => 'Спуск скорби',
+ ],
+ ],
+ 'tol_dagor' => [
+ 'name' => 'Тол Дагор',
+ 'floors' => [
+ 'tol_dagor' => 'Тол Дагор',
+ 'the_drain' => 'Стоки',
+ 'the_brig' => 'Гауптвахта',
+ 'detention_block' => 'Тюремный блок',
+ 'overseers_redoubt' => 'Цитадель надзирателя',
+ 'overseers_summit' => 'Терраса надзирателя',
+ ],
+ ],
+ 'waycrest_manor' => [
+ 'name' => 'Усадьба Уэйкрестов',
+ 'floors' => [
+ 'the_grand_foyer' => 'Главный вестибюль',
+ 'upstairs' => 'Второй этаж',
+ 'the_cellar' => 'Погреб',
+ 'catacombs' => 'Катакомбы',
+ 'the_rupture' => 'Разлом',
+ ],
+ ],
+ 'mechagon_junkyard' => [
+ 'name' => 'Мехагон: Свалка',
+ 'floors' => [
+ 'mechagon_island' => 'Остров Мехагон',
+ ],
+ ],
+ 'mechagon_workshop' => [
+ 'name' => 'Мехагон: Мастерская',
+ 'floors' => [
+ 'the_robodrome' => 'Рободром',
+ 'waste_pipes' => 'Барахлопровод',
+ 'the_under_junk' => 'Барахлимб',
+ 'mechagon_city' => 'Город Мехагон',
+ ],
+ ],
+ 'orgrimmar_horrific_vision' => [
+ 'name' => 'Оргриммар (Жуткие Видения)',
+ 'floors' => [
+ 'orgrimmar_horrific_vision' => 'Видение Оргриммара',
+ ],
+ ],
+ 'stormwind_horrific_vision' => [
+ 'name' => 'Штормград (Жуткие Видения)',
+ 'floors' => [
+ 'stormwind_horrific_vision' => 'Штормград (Жуткие Видения)',
+ ],
+ ],
+ ],
+ 'shadowlands' => [
+ 'de_other_side' => [
+ 'name' => 'Та Сторона',
+ 'floors' => [
+ 'de_other_side' => 'Та Сторона',
+ 'mechagon' => 'Мехагон',
+ 'zul_gurub' => 'Зул\'Гуруб',
+ 'ardenweald' => 'Арденвельд',
+ ],
+ ],
+ 'halls_of_atonement' => [
+ 'name' => 'Чертоги Покаяния',
+ 'floors' => [
+ 'halls_of_atonement' => 'Чертоги Покаяния',
+ 'the_nave_of_pain' => 'Неф Боли',
+ 'the_sanctuary_of_souls' => 'Святилище Душ',
+ ],
+ ],
+ 'mists_of_tirna_scithe' => [
+ 'name' => 'Туманы Тирна Скитта',
+ 'floors' => [
+ 'mists_of_tirna_scithe' => 'Туманы Тирна Скитта',
+ ],
+ ],
+ 'plaguefall' => [
+ 'name' => 'Чумные каскады',
+ 'floors' => [
+ 'plaguefall' => 'Чумные каскады',
+ 'the_festering_sanctum' => 'Гниющее святилище',
+ ],
+ ],
+ 'sanguine_depths' => [
+ 'name' => 'Кровавые катакомбы',
+ 'floors' => [
+ 'depths_of_despair' => 'Глубины Отчаяния',
+ 'amphitheater_of_sorrow' => 'Амфитеатр Скорбиw',
+ ],
+ ],
+ 'spires_of_ascension' => [
+ 'name' => 'Шпили Перерождения',
+ 'floors' => [
+ 'honors_ascent' => 'Подъем Чести',
+ 'gardens_of_repose' => 'Сады Отдохновения',
+ 'font_of_fealty' => 'Источник Преданности',
+ 'seat_of_the_archon' => 'Престол Архонта',
+ ],
+ ],
+ 'the_necrotic_wake' => [
+ 'name' => 'Смертельная тризна',
+ 'floors' => [
+ 'the_necrotic_wake' => 'Смертельная тризна',
+ 'stitchwerks' => 'Трупосшивальня',
+ 'zolramus' => 'Золрамус"',
+ ],
+ ],
+ 'theater_of_pain' => [
+ 'name' => 'Театр Боли',
+ 'floors' => [
+ 'theater_of_pain' => 'Театр Боли',
+ 'chamber_of_conquest' => 'Зал Победы',
+ 'altars_of_agony' => 'Алтари Агонии',
+ 'lower_barrow_of_carnage' => 'Нижний уровень кургана Резни',
+ 'upper_barrow_of_carnage' => 'Верхний уровень кургана Резнии',
+ ],
+ ],
+ 'tazavesh_streets_of_wonder' => [
+ 'name' => 'Тазавеш: улицы Чудес',
+ 'floors' => [
+ 'the_veiled_market' => 'Тайный рынок',
+ 'the_grand_menagerie' => 'Большой зверинец',
+ 'the_post' => 'Отделение ПОЧТ',
+ 'myzas_oasis' => '"Оазис Мизы""',
+ ],
+ ],
+ 'tazavesh_so_leahs_gambit' => [
+ 'name' => 'Тазавеш: гамбит Со\'леи',
+ 'floors' => [
+ 'stormheim' => 'Штормхейм',
+ 'aggramars_vault' => 'Хранилище Агграммара',
+ 'boralus_harbor' => 'Гавань Боралуса',
+ 'the_opulent_nexus' => 'Блистательный Нексус',
+ ],
+ ],
+ ],
+
+];
diff --git a/lang/ru-RU/exceptions.php b/lang/ru_RU/exceptions.php
similarity index 100%
rename from lang/ru-RU/exceptions.php
rename to lang/ru_RU/exceptions.php
diff --git a/lang/ru_RU/expansions.php b/lang/ru_RU/expansions.php
new file mode 100644
index 0000000000..26784a7979
--- /dev/null
+++ b/lang/ru_RU/expansions.php
@@ -0,0 +1,15 @@
+ [
+ 'name' => 'Легион',
+ ],
+ 'battle_for_azeroth' => [
+ 'name' => 'Битва за Азерот',
+ ],
+ 'shadowlands' => [
+ 'name' => 'Темные земли',
+ ],
+
+];
diff --git a/lang/ru_RU/factions.php b/lang/ru_RU/factions.php
new file mode 100644
index 0000000000..a3aaa73f63
--- /dev/null
+++ b/lang/ru_RU/factions.php
@@ -0,0 +1,9 @@
+ 'Не выбрана',
+ 'horde' => 'Орда',
+ 'alliance' => 'Альянс',
+
+];
diff --git a/lang/ru-RU/gameserverregions.php b/lang/ru_RU/gameserverregions.php
similarity index 98%
rename from lang/ru-RU/gameserverregions.php
rename to lang/ru_RU/gameserverregions.php
index cd2bbaedb0..ef3ebade0e 100644
--- a/lang/ru-RU/gameserverregions.php
+++ b/lang/ru_RU/gameserverregions.php
@@ -1,9 +1,11 @@
'Северной и Южной Америки',
'eu' => 'Европа',
'cn' => 'Китай',
'tw' => 'Тайвань',
'kr' => 'Корея',
+
];
diff --git a/lang/ru-RU/gameversions.php b/lang/ru_RU/gameversions.php
similarity index 100%
rename from lang/ru-RU/gameversions.php
rename to lang/ru_RU/gameversions.php
diff --git a/lang/ru_RU/js.php b/lang/ru_RU/js.php
new file mode 100644
index 0000000000..e1ff4116a3
--- /dev/null
+++ b/lang/ru_RU/js.php
@@ -0,0 +1,351 @@
+ 'Имя',
+ 'enemy_forces_label' => 'Способности врага',
+ 'enemy_display_type_label' => 'Отображаймый тип врага',
+ 'mdt_enemy_mapping_label' => 'Расстановка врагов MDT',
+ 'base_health_label' => 'Базовое здоровье',
+ 'no_npc_found_label' => 'Для этого NPC не найдено ни врага',
+ 'teeming_label' => 'Таймниг',
+ 'npc_label' => 'Npc',
+ 'connected_floor_label' => 'Подключить Уровень',
+ 'admin_only_label' => 'Только Администратор',
+ 'id_label' => 'ID',
+ 'seasonal_type_label' => 'Тип сезона',
+ 'seasonal_index_label' => 'Индекс сезона',
+ 'size_label' => 'Размер',
+ 'faction_label' => 'Фракция',
+ 'npc_id_label' => 'NPC_ID',
+ 'attached_to_pack_label' => 'Пак',
+ 'enemy_id_label' => 'ID врага',
+ 'visual_label' => 'Видемый',
+ 'mdt_label' => 'Секция MDT',
+ 'is_mdt_label' => 'MDT',
+ 'mdt_id_label' => 'MDT_ID',
+ 'mdt_npc_id_label' => 'MDT_NPC_ID',
+ 'preset_label' => 'Предустановка',
+ 'add_label' => 'Добавить',
+ 'color_label' => 'Цвет',
+ 'weight_label' => 'Толщина',
+ 'mapobject_visibility_label' => 'Видимость',
+ 'header_floor_selection_label' => 'Уровень',
+ 'header_map_object_group_label' => 'Показать/Спрятать',
+ 'enemy_map_object_group_label' => 'Враги',
+ 'enemypatrol_map_object_group_label' => 'Патруль',
+ 'enemypack_map_object_group_label' => 'Паки',
+ 'path_map_object_group_label' => 'Маршрут',
+ 'dungeonfloorswitchmarker_map_object_group_label' => 'Сменить Уровень',
+ 'brushline_map_object_group_label' => 'Нарисовать Линию',
+ 'mapicon_map_object_group_label' => 'Иконки',
+ 'killzone_map_object_group_label' => 'Пул',
+ 'killzonepath_map_object_group_label' => 'Цепочка пулов',
+ 'publish_state_title_unpublished' => 'Не опубликовано',
+ 'publish_state_subtext_unpublished' => 'Только вы можете просматривать этот маршрут',
+ 'publish_state_title_team' => 'Только команда',
+ 'publish_state_subtext_team' => 'Только члены вашей команды могут просматривать этот маршрут',
+ 'publish_state_title_world' => 'Публичный',
+ 'publish_state_subtext_world' => 'Ваш маршрут может просмотреть кто угодно, и его можно найти на Keystone.guru.',
+ 'publish_state_title_world_with_link' => 'Общедоступно по ссылкой',
+ 'publish_state_subtext_world_with_link' => 'Любой, у кого есть ссылка, может увидеть ваш маршрут (только для подписчиков',
+ 'publish_label' => 'Опубликовать',
+ 'unpublish_label' => 'Отменить публикацию',
+ 'add_remove_tag_label' => 'Добавить/Удалить Теги',
+ 'clone_label' => 'Клонировать',
+ 'clone_to_profile_label' => 'Клонировать в мой профиль',
+ 'clone_to_team_label' => 'Клонировать в команду',
+ 'delete_label' => 'Удалить',
+ 'placeholder_new_tag_label' => 'Новый тег',
+ 'no_tags_assigned_label' => 'Теги не назначены',
+ 'current_tags_label' => 'Текущие теги',
+ 'add_tag_with_enter_label' => 'Совет: нажмите Enter, чтобы создать тег',
+ 'selected_label' => 'Выбрать',
+ 'affixes_label' => 'Аффиксы',
+ 'attributes_label' => 'Атрибуты',
+ 'setup_label' => 'Установить',
+ 'submit_label' => 'Подтвердить',
+ 'select_category_label' => 'Выбрать категорию...',
+ 'kill_zone_has_boss_label' => 'Босс в пуле',
+ 'kill_zone_has_awakened_label' => 'Пробудившийся в пуле',
+ 'kill_zone_has_prideful_label' => 'Полный гордыни в пуле',
+ 'kill_zone_has_inspiring_label' => 'Воодушевляющий враг в пуле',
+ 'kill_zone_enemy_row_has_boss_label' => 'Босс',
+ 'kill_zone_enemy_row_has_awakened_label' => 'Пробудившийся ',
+ 'kill_zone_enemy_row_has_prideful_label' => 'Полный гордыни',
+ 'kill_zone_enemy_row_has_inspiring_label' => 'Воодушевляющий враг',
+ 'kill_zone_enemy_row_has_dangerous_label' => 'Опасный враг',
+ 'path' => 'Маршрут',
+ 'path_title' => 'Нарисовать маршрут. Горячая клавиша: 1',
+ 'killzone' => 'Зона поражения',
+ 'mapicon' => 'Иконки',
+ 'mapicon_title' => 'Создать иконку. Горячая клавиша: 2',
+ 'brushline' => 'Рисовать',
+ 'brushline_title' => 'Нарисовать линию. Горячая клавиша: 3',
+ 'pridefulenemy' => 'Полный Гордыни',
+ 'pridefulenemy_title' => 'Создайте Полного Гордыни. Горячая клавиша 4',
+ 'pridefulenemy_disabled_title' => 'Сперва удалите Полного Гордыни',
+ 'pridefulenemy_disabled_no_shadowlands_title' => 'Полный Гордыни доступен только в подземельях Shadowlands!',
+ 'edit' => 'Редактировать',
+ 'edit_title' => 'Редактировать объекты на карте. Горячая клавиша 5',
+ 'delete' => 'Удалить',
+ 'delete_title' => 'Удалить объекты на карте. Горячая клавиша 6',
+ 'finish' => 'Завершить',
+ 'finish_drawing' => 'Завершить рисование',
+ 'enemypack' => 'Пак',
+ 'enemy' => 'Враг',
+ 'enemypatrol' => 'Патруль',
+ 'dungeonfloorswitchmarker' => 'Уровень',
+ 'draw_handler_route_tooltip_start' => 'Нажмите, чтобы начать рисовать маршрут.',
+ 'draw_handler_route_tooltip_cont' => 'Нажмите, чтобы продолжить рисовать маршрут.',
+ 'draw_handler_route_tooltip_end' => 'Нажмите кнопку \'Готово\' на панели инструментов, чтобы завершить свой рисование.',
+ 'draw_handler_brushline_tooltip_start' => 'Нажмите, чтобы начать рисовать линию.',
+ 'draw_handler_brushline_tooltip_cont' => 'Нажмите, чтобы закончить рисовать линию.',
+ 'draw_handler_brushline_tooltip_end' => 'Перетаскивайте объекты, нажмите кнопку \'Готово\' на панели инструментов, чтобы завершить рисование.',
+ 'title_raid_marker_no_selection' => 'Нет рейдовых меток',
+ 'title_raid_marker_star' => 'Звезда',
+ 'title_raid_marker_circle' => 'Круг',
+ 'title_raid_marker_diamond' => 'Румб',
+ 'title_raid_marker_triangle' => 'Треугольник',
+ 'title_raid_marker_moon' => 'Луна',
+ 'title_raid_marker_square' => 'Квадрат',
+ 'title_raid_marker_cross' => 'Крест',
+ 'title_raid_marker_skull' => 'Череп',
+ 'npc_type_label' => 'Тип',
+ 'npc_class_label' => 'Класс',
+ 'enemy_portrait_label' => 'Портрет',
+ 'object' => [
+ 'deleted' => 'Обьект успешно удален',
+ ],
+ 'delete_all_pulls_successful' => 'Пул успешно удален',
+ 'route_count_label' => '# маршрутов',
+ 'roles_label' => 'Роли',
+ 'registered_label' => 'Зарегистрирован на',
+ 'patreon_label' => 'Patreon',
+ 'datatable_no_users_in_table' => 'Пользователь не найден',
+ 'datatable_no_npcs_in_table' => 'NPC не найдены',
+ 'enemy_count_label' => 'Счетчик врагов',
+ 'user_report_handled_success' => 'Отчет пользователя успешно помечен как решенный',
+ 'dungeonroute_refresh_thumbnail_success' => 'Обновление эскиза успешно поставлено в очередь',
+ 'classification_label' => 'Классификация',
+ 'edit_label' => 'Редактировать',
+ 'make_user_label' => 'Создать пользователя',
+ 'make_admin_label' => 'Создать Админа',
+ 'delete_user_label' => 'Удалить пользователя',
+ 'import_notes_label' => 'Импорт заметки',
+ 'warnings_label' => 'Предупреждения',
+ 'category_label' => 'Категории',
+ 'message_label' => 'Сообщение',
+ 'save_tag_success' => 'Тег успешно обновлен',
+ 'delete_tag_success' => 'Тег успешно удален',
+ 'settings_saved' => 'Настройки успешно сохранены',
+ 'pull_gradient_settings_saved' => 'Градиент пула успешно сохранен',
+ 'route_published_state_changed' => 'Настройки доступа к маршруту успешно обновлены',
+ 'datatable_no_routes_in_table' => 'Маршруты не найдены',
+ 'cannot_change_sharing_settings_not_all_required_enemies_killed' => 'Невозможно изменить настройки доступа: не были убиты все необходимые враги',
+ 'vote' => 'Оценка',
+ 'votes' => 'Оценки',
+ 'route_delete_confirm' => 'Вы уверены, что хотите удалить этот маршрут?',
+ 'route_delete_successful' => 'Маршрут успешно удален',
+ 'route_clone_successful' => 'Маршрут успешно клонирован',
+ 'sharing_label' => 'Поделиться',
+ 'route_table_published_state_unpublished' => 'Этот маршрут не опубликован',
+ 'route_table_published_state_team' => 'Этот маршрут виден всем членам команд, в которых вы участвуете.',
+ 'route_table_published_state_world' => 'Этот маршрут виден всем',
+ 'route_table_published_state_world_with_link' => 'Этот маршрут виден всем, у кого есть ссылка',
+ 'intro_sidebar' => 'Добро пожаловать на Keystone.guru! Боковая панель. Здесь вы можете настроить параметры своего маршрута или просмотреть информацию о нем.',
+ 'intro_sidebar_toggle' => 'Вы можете использовать эту кнопку, чтобы скрыть или показать боковую панель.',
+ 'intro_visibility_tools' => 'Здесь вы можете выбрать различные варианты визуализации.',
+ 'intro_map_enemy_visuals' => 'Вы можете выбирать из нескольких различных визуализаций врагов, чтобы быстро найти нужную информацию.',
+ 'intro_map_map_object_group_visibility_container' => 'Это ваши переключатели видимости. Вы можете скрыть врагов, вражеские патрули, вражеские паки, свои собственные пути, свои собственные пулы, все значки на карте, маркеры начала подземелья и маркеры перехода на новый уровней подземелья.',
+ 'intro_floor_selection' => 'Если подземелье состоит из нескольких уровней, вы можете менять их прямо здесь. Вы также можете щелкнуть дверями на карте, чтобы перейти на следующий уровень.',
+ 'intro_route_actions' => 'Это различные действия, которые вы можете выполнять при просмотре или редактировании маршрута.',
+ 'intro_route_actions_draw_settings' => 'В настройках рисования вы можете настроить некоторые элементы, чтобы упростить редактирование маршрута.',
+ 'intro_route_actions_map_login_and_continue' => 'Если вы уже являетесь пользователем Keystone.guru, но не вошли в систему, вы можете войти и сохранить текущий маршрут в своем профиле.',
+ 'intro_route_actions_map_register_and_continue' => 'Если вы еще не являетесь пользователем Keystone.guru, вы можете зарегистрироваться и сохранить текущий маршрут в своем профиле.',
+ 'intro_route_actions_save_and_continue' => 'Если вы авторизованы, вы можете сохранять свои маршруты в профиле.',
+ 'intro_route_manipulation_tools' => 'Инструменты управления маршрутом.',
+ 'intro_draw_path' => 'С помощью этого инструмента вы можете рисовать свой маршрут. Выберите его, затем щелкните на карту один раз, чтобы начать рисование, затем столько раз, сколько хотите, чтобы отметить свой путь от точки А до точки Б. После того как вы закончите вы можете щелкнуть
+ на созданную линию, чтобы изменить ее цвет или толщину.',
+ 'intro_draw_mapicon' => 'Используйте этот инструмент для размещения иконок на карте с дополнительным комментарием.',
+ 'intro_draw_brushline' => 'Используйте этот инструмент для более гибкого рисования линий на вашем маршруте без стрелок направления.',
+ 'intro_draw_pridefulenemy' => 'Текущий сезонный аффикс - Полный гордыни, порождает Воплощение Гордыни каждые за каждые 20% мобов. Используйте эту кнопку, чтобы отметить место на карте где вы хотите с ним сразиться.',
+ 'intro_draw_edit' => 'Использовать кнопку редактирования, чтобы настроить созданные вами элементы, иконки или нарисованные линии.',
+ 'intro_draw_remove' => 'Использовать кнопку удаления, чтобы удалить созданные вами элементы. Щелкните по ней один раз, затем выберите выделенные элементы, которые хотите удалить. Удаление происходит в режиме предварительного просмотра, вы должны подтвердить свое удаление, нажав кнопку «Готово», или нажмите кнопку «Отмена», чтобы отменить их удаление. Если вы подтвердите удаление, пути назад нет!',
+ 'intro_map_enemy_forces_numbers' => 'Эта метка указывает на текущий прогресс с силами противника. Вы можете щелкнуть по врагам, чтобы добавить их в новый пул, или выбрать пул из списка ниже и добавить к нему еще врагов.',
+ 'intro_new_pull' => 'Использовать эту кнопку, чтобы создать новую пул. Кроме того, вы можете щелкнуть по любому врагу на карте, чтобы создать пул.',
+ 'enemy_forces_not_all_required_enemies_killed_label' => 'Предупреждение: в этом маршруте выбрано не достаточно противников для успешного завершения подземелья.',
+ 'enemy_forces_too_much_label' => 'Предупреждение: в вашем маршруте выбрано слишком много противников.',
+ 'enemy_forces_too_little_label' => 'Внимание: в этом маршруте не достаточно противников для успешного завершения подземелья!',
+ 'enemy_forces_overridden_label' => 'Силы противника в вашем маршруте были скорректированы из-за чрезвычайно больших запулов врагов, что привело к автоматическим изменениям в вашем маршруте.',
+ 'sidebar_expand' => 'Раскрыть боковую панель',
+ 'sidebar_collapse' => 'Свернуть боковую панель',
+ 'copied_to_clipboard' => 'Скопировано в буфер обмена',
+ 'sidebar_enemy_health_label' => 'Здоровье',
+ 'sidebar_enemy_bursting_label' => 'Взрывной',
+ 'sidebar_enemy_sanguine_label' => 'Кровавый',
+ 'sidebar_enemy_bolstering_label' => 'Усиливающие',
+ 'sidebar_enemy_bolstering_whitelist_npcs_label' => 'Только Усиливающие',
+ 'sidebar_enemy_spell_label' => 'Способность',
+ 'sidebar_enemy_skippable_label' => 'Возможно пропустить ',
+ 'sidebar_enemy_skippable_info_label' => 'Пропускаемый враг - это враг, которого можно пропустить, не используя зелья невидимости или Скрывающий покров Разбойников. Эти враги могут быть исключены из вашего маршрута после того, как вы выберете пак для пула.',
+ 'user_report_enemy_success' => 'Отчет успешно отправлен. Спасибо за помощь в улучшении Keystone.guru!',
+ 'dungeonroute_report_enemy_success' => 'Отчет успешно отправлен. Спасибо за помощь в улучшении Keystone.guru!',
+ 'tag_delete_success' => 'Тег успешно удален',
+ 'tag_create_success' => 'Тег создан',
+ 'killzone_sidebar_kill_location_label' => 'Место убийства',
+ 'killzone_sidebar_delete_all_pulls_confirm_label' => 'Вы уверены, что хотите удалить все свои пуллы? Это действие не может быть отменено.',
+ 'min_password_length' => 'Минимальная длина пароля 8 символов',
+ 'weak' => 'Слабый',
+ 'medium' => 'Средний',
+ 'strong' => 'Сложный',
+ 'contains_username' => 'Пароль не может содержать имя пользователя',
+ 'mdt_faction' => 'Фракция',
+ 'mdt_dungeon' => 'Подземелье',
+ 'mdt_affixes' => 'Аффиксы',
+ 'mdt_pulls' => 'Пулы',
+ 'mdt_paths' => 'Маршруты',
+ 'mdt_drawn_lines' => 'Нарисованные линии',
+ 'mdt_notes' => 'Заметки',
+ 'mdt_enemy_forces' => 'Силы врагов',
+ 'ajax_error_default' => 'Произошла ошибка при выполнении вашего запроса. Пожалуйста, попробуйте еще раз.',
+ 'ajax_error_403' => 'У вас нет прав для выполнения этого запроса.',
+ 'ajax_error_404' => 'Запрошенный ресурс не найден.',
+ 'ajax_error_419' => 'Время сеанса истекло. Обновите страницу и попробуйте еще раз.',
+ 'mapicon_faction_select_default_label' => 'Фракция',
+ 'mapicon_teeming_select_default_label' => 'Кишащий',
+ 'map_icon_faction_label' => 'Фракция',
+ 'map_icon_teeming_label' => 'Кишащий',
+ 'map_icon_team_id_label' => 'Показывать все маршрутам команды',
+ 'map_icon_permanent_tooltip_label' => 'Постоянная подсказка',
+ 'map_icon_map_icon_type_id_label' => 'Иконка',
+ 'map_icon_comment_label' => 'Комментарий',
+ 'map_icon_map_icon_type_id_select_default_label' => 'Выбрать иконку',
+ 'map_icon_seasonal_type_label' => 'Тип сезона',
+ 'map_icon_seasonal_index_label' => 'Индекс сезона',
+ 'map_icon_seasonal_index_select_default_label' => 'Не выбрано',
+ 'admin_map_icon_faction_label' => 'Фракция',
+ 'admin_map_icon_teeming_label' => 'Кишащий',
+ 'admin_map_icon_permanent_tooltip_label' => 'Постоянная подсказка',
+ 'admin_map_icon_map_icon_type_id_label' => 'Иконка',
+ 'admin_map_icon_comment_label' => 'Комментарий',
+ 'admin_map_icon_map_icon_type_id_select_default_label' => 'Выбрать иконку',
+ 'admin_map_icon_seasonal_type_label' => 'Тип сезона',
+ 'admin_map_icon_seasonal_index_label' => 'Индекс сезона',
+ 'admin_map_icon_seasonal_index_select_default_label' => 'Не выбрано',
+ 'enemy_faction_label' => 'Фракция',
+ 'enemy_teeming_label' => 'Кишащий',
+ 'enemy_npc_id_label' => 'NPC',
+ 'enemy_mdt_npc_id_label' => 'MDT Npc (Необязательно)',
+ 'enemy_seasonal_type_label' => 'Тип сезона',
+ 'enemy_seasonal_type_select_default_label' => 'Не выбрано',
+ 'enemy_seasonal_index_label' => 'Индекс сезона',
+ 'enemy_seasonal_index_select_default_label' => 'Не выбрано',
+ 'enemy_active_auras_label' => 'Активные ауры',
+ 'enemy_active_auras_select_default_label' => 'Не выбрано',
+ 'enemy_enemy_forces_override_label' => 'Переопределение вражеских отрядов (-1 для наследования)',
+ 'enemy_enemy_forces_override_teeming_label' => 'Переопределение кишащих вражеских отрядов (-1 для наследования)',
+ 'enemy_required_label' => 'Необходимый',
+ 'enemy_skippable_label' => 'Пропускаемый',
+ 'enemy_npc_id_select_default_label' => 'Выбрать NPC',
+ 'enemy_mdt_npc_id_select_default_label' => 'Выбрать NPC',
+ 'admin_enemy_pack_faction_label' => 'Фракция',
+ 'admin_enemy_pack_teeming_label' => 'Кишащий',
+ 'admin_enemy_pack_label_label' => 'Метка',
+ 'brushline_color_label' => 'Цвет',
+ 'brushline_color_animated_label' => 'Анимированный цвет',
+ 'brushline_weight_label' => 'Толщина',
+ 'path_color_label' => 'Цвет',
+ 'path_color_animated_label' => 'Анимированный цвет',
+ 'path_weight_label' => 'Толщина',
+ 'enemypatrol_faction_label' => 'Фракция',
+ 'enemypatrol_teeming_label' => 'Кишащий',
+ 'enemypatrol_color_label' => 'Цвет',
+ 'enemypatrol_color_animated_label' => 'Анимированный цвет',
+ 'enemypatrol_weight_label' => 'Толщина',
+ 'enemypack_faction_label' => 'Фракция',
+ 'enemypack_teeming_label' => 'Кишащий',
+ 'dungeonfloorswitchmarker_faction_label' => 'Фракция',
+ 'dungeonfloorswitchmarker_teeming_label' => 'Кишащий',
+ 'dungeonfloorswitchmarker_target_floor_id_label' => 'Цель на уровне',
+ 'dungeonfloorswitchmarker_target_floor_id_select_default_label' => 'Выбрать уровень',
+ 'dungeonfloorswitchmarker_direction_label' => 'Направление',
+ 'actions_label' => 'Действия',
+ 'add_to_team_label' => 'Добавить в команду ...',
+ 'view_label' => 'Показать',
+ 'collaborator_label' => 'Редактировать',
+ 'moderator_label' => 'Модерировать',
+ 'admin_label' => 'Собственный',
+ 'change_role_success' => 'Разрешения обновлены',
+ 'change_default_role_success' => 'Роль по умолчанию обновлена',
+ 'team_admin' => 'Управление командой',
+ 'team_moderator' => 'Модерировать команду',
+ 'team_collaborator' => 'Редактировать маршрут',
+ 'team_member' => 'Показать маршрут',
+ 'remove_label' => 'Удалить',
+ 'team_add_route_successful' => 'Маршрут успешно добавлен в команду',
+ 'team_remove_route_successful' => 'Маршрут успешно удален из команды',
+ 'datatable_no_teams_in_table' => 'Вы еще не состоите ни в одной команде',
+ 'datatable_no_members_in_table' => 'В этой команде пока нет участников',
+ 'preview_label' => 'Предварительный просмотр',
+ 'title_label' => 'Название',
+ 'dungeon_label' => 'Подземелье',
+ 'features_label' => 'Функции',
+ 'author_label' => 'Автор',
+ 'metrics_label' => 'Метрики',
+ 'rating_label' => 'Рейтинг',
+ 'published_label' => 'Опубликовано',
+ 'add_route_label' => 'Добавить',
+ 'remove_route_label' => 'Удалить',
+ 'yes_label' => 'Да',
+ 'no_label' => 'Нет',
+ 'cancel_label' => 'Отменить',
+ 'finished_label' => 'Завершить',
+ 'remove_member_confirm_label' => 'Вы действительно хотите удалить этого пользователя из команды?',
+ 'remove_member_success' => 'Участник успешно удален',
+ 'leave_team_confirm_label' => 'Вы уверены, что хотите покинуть эту команду?',
+ 'leave_team_disband_confirm_label' => 'Вы уверены, что хотите покинуть эту команду? ВНИМАНИЕ: это распустит команду.',
+ 'name_label' => 'Имя',
+ 'email_label' => 'Электронный адрес',
+ 'join_date_label' => 'Дате вступления',
+ 'role_label' => 'Роль',
+ 'assignable_roles_label' => 'Назначаемые роли',
+ 'leave_label' => 'Покинуть',
+ 'delete_team_confirm_label' => 'Вы уверены, что хотите НЕОБРАТИМО удалить эту команду, ее пользователей и маршруты?',
+ 'invite_link_refreshed' => 'Ссылка для приглашения обновлена.',
+ 'echo_connecting_label' => 'Подключение ...',
+ 'echo_connected_label' => 'Подключено',
+ 'connected_users_label' => 'Пользователи',
+ 'connecting_title_label' => 'Подключение к сервису синхронизации редактирования маршрута ...',
+ 'connected_title_label' => 'Подключен к сервису синхронизации редактирования маршрута. Все ваши действия по редактированию маршрута будут доступны всем членам вашей команды, просматривающим этот маршрут!',
+ 'members_title_label' => 'Ваши действия по редактированию маршрута видны этим пользователям, которые в данный момент просматривают / редактируют ваш маршрут!',
+ 'member_self_title_label' => 'Вы можете изменить свой цвет в профиле.',
+ 'echo_object_deleted_notification' => '{object} удален пользователем {user}',
+ 'connected_users_hide_cursors_label' => 'Скрыть курсоры',
+ 'connected_users_show_cursors_label' => 'Показать курсоры',
+ 'connected_user_follow_label' => 'Подписаться',
+ 'connected_user_unfollow_label' => 'Отписаться',
+ 'connected_user_view_profile_label' => 'Показать профиль',
+ 'echo_following_user_label' => 'Вы подписаны',
+ 'echo_unfollow_user_label' => 'Отписаться',
+ 'echo_following_user_stopped_label' => 'Вы отписались',
+ 'echo_refollow_user_label' => 'Подписаться заново',
+ 'echo_refollow_user_stop_label' => 'Стоп',
+ 'overpull_select_enemy_label' => 'Выберите одного или нескольких врагов, которых вы будете пулить',
+ 'overpull_selection_finished_label' => 'Завершить',
+ 'filters' => 'Фильтры',
+ 'filter_enemy_forces_header_incomplete' => 'Отряд противника: Неполный',
+ 'filter_enemy_forces_header_complete' => 'Отряд противника: Завершенный',
+ 'filter_image_select_affixes_header' => 'Аффиксы: :number выбрано',
+ 'filter_image_select_dungeons_header' => 'Подземелье: :number выбрано',
+ 'filter_input_affix_group_header' => 'Группы аффиксов: :number выбрано',
+ 'filter_input_level_header' => 'Уровень: :value',
+ 'filter_input_rating_header' => 'Рейтинг: :value и выше',
+ 'filter_input_title_header' => 'Название: :value',
+ 'filter_input_expansion_header' => 'Дополнение: :value',
+ 'filter_input_user_header' => 'Пользователь: :value',
+ 'specialization_select' => 'Специализация ...',
+ 'class_select' => 'Класс...',
+ 'race_select' => 'Раса...',
+
+];
diff --git a/lang/ru_RU/logic.php b/lang/ru_RU/logic.php
new file mode 100644
index 0000000000..6633a66a25
--- /dev/null
+++ b/lang/ru_RU/logic.php
@@ -0,0 +1,37 @@
+ [
+ 'io' => [
+ 'export_string' => [
+ 'category' => [
+ 'pull' => 'Пулл %d',
+ 'title' => 'Название',
+ 'map_icon' => 'Иконки карты',
+ ],
+ 'unable_to_find_mdt_enemy_for_kg_enemy' => 'Невозможно найти врага в MDT антологичного для Keystone.guru с NPC %s (id_вгара: %d, npc_id: %d)',
+ 'unable_to_find_mdt_enemy_for_kg_enemy_details' => 'Ваш маршрут содержит врага, который известен MDT, но Keystone.guru еще не связал этого врага с его аналогом в MDT (или его нет в MDT).',
+ 'unable_to_find_mdt_enemy_for_kg_caused_empty_pull' => 'Пул был удален так как все выбранные враги не найдены в MDT, в противном случае это пустой пул.',
+ 'route_title_contains_non_ascii_char_bug' => 'Название вашего маршрута содержит символы, отличные от ascii, которые, как известно, вызывают еще не устраненную ошибку кодирования в Keystone.guru. В названии вашего маршрута удалены все неподдерживаемые символы. Приносим извинения за неудобства и надеемся вскоре решить эту проблему.',
+ 'route_title_contains_non_ascii_char_bug_details' => 'Старое название: %s, Новое название: %s',
+ 'map_icon_contains_non_ascii_char_bug' => 'Один из ваших комментариев к иконке на карте содержит символы, отличные от ascii, которые, как известно, вызывают еще не устраненную ошибку кодирования в Keystone.guru. В вашем комментарии к иконке на карте удалены все неподдерживаемые символы. Приносим извинения за неудобства и надеемся вскоре решить эту проблему.',
+ 'map_icon_contains_non_ascii_char_bug_details' => 'Старый комментарий: "%s", Новый комментарий: "%s"',
+ ],
+ 'import_string' => [
+ 'category' => [
+ 'pull' => 'Пулл %s',
+ ],
+ 'unable_to_find_mdt_enemy_for_clone_index' => 'Невозможно найти врага MDT для клона индекса %s и NPC индекса %s.',
+ 'unable_to_find_mdt_enemy_for_clone_index_details' => 'MDT нанес на карту врага, который еще не известен в Keystone.guru.',
+ 'unable_to_find_kg_equivalent_for_mdt_enemy' => 'Невозможно найти аналог врага %s Keystone.guru для MDT NPC %s (id:%s)',
+ 'unable_to_find_kg_equivalent_for_mdt_enemy_details' => 'В вашем маршруте выбран враг, который известен Keystone.guru, но Keystone.guru еще не нанес на карту этого врага на карту.',
+ 'unable_to_find_awakened_enemy_for_final_boss' => 'Невозможно найти Пробужденного врага %s (%s) у последнего босса в %s',
+ 'unable_to_find_awakened_enemy_for_final_boss_details' => 'В Keystone.guru есть ошибка сопоставления, которую необходимо исправить. Отправьте администратору вышеприведенное предупреждение, чтоб исправить его.',
+ 'unable_to_find_enemies_pull_skipped' => 'Ошибка в поиске врагов привела к пропуску пака.',
+ 'unable_to_find_enemies_pull_skipped_details' => 'Эта ошибка может означать, что у MDT недавно было обновление, которое еще не интегрировано в Keystone.guru.',
+ ],
+ ],
+ ],
+
+];
diff --git a/lang/ru-RU/mapicontypes.php b/lang/ru_RU/mapicontypes.php
similarity index 100%
rename from lang/ru-RU/mapicontypes.php
rename to lang/ru_RU/mapicontypes.php
diff --git a/lang/ru_RU/mapping.php b/lang/ru_RU/mapping.php
new file mode 100644
index 0000000000..646d4f1fcc
--- /dev/null
+++ b/lang/ru_RU/mapping.php
@@ -0,0 +1,89 @@
+ [
+ 'legion' => [
+ 'court_of_stars' => [
+ 'unlocks_after_patrol_captain_gerdo' => 'Открывается после убийства Капитана патруля Гердо.',
+ 'arcane_beacon' => 'Чародейский маяк',
+ 'flask_of_the_solemn_night' => 'Настой священной ночи',
+ ],
+ 'neltharions_lair' => [
+ 'hidden_pack_in_cave' => 'Пак находится в пещере под водой за водопадом.',
+ ],
+ ],
+ 'shadowlands' => [
+ 'de_other_side' => [
+ 'start' => 'Начало',
+ 'graveyard_ardenweald' => 'Активируется после входа в Арденвальд',
+ 'graveyard_mechagon' => 'Активируется после входа в Мехагон',
+ 'graveyard_zulgurub' => 'Активируется после входа в Зул\'Гуруб',
+ 'haunted_urn' => 'Ночной Народец: АоЕ Оглушение - оглушает всех противников в радиусе 30 метров на 10 секунд.',
+ 'engineer_blob_button' => 'Инженеры могут отключить реку из капель на несколько минут, нажав красную кнопку.',
+ 'exit' => 'Выход',
+ ],
+ 'halls_of_atonement' => [
+ 'start' => 'Начало',
+ 'exit' => 'Выход',
+ ],
+ 'mists_of_tirna_scithe' => [
+ 'start' => 'Начало',
+ 'brambles' => 'Ночной Народец: Открывает короткий путь.',
+ 'depleted_anima_seed' => 'Истощенное анимасемя: Ночной Народец активирует дополнительные точки возрождения.',
+ 'map_missing_wall' => 'Стена, которой нет на карте',
+ 'savory_statshroom' => 'Деликатесный лютогриб – мгновенно восполняет 100% здоровья и повышает силу, ловкость и интеллект на 10% на 10 мин.',
+ 'tasty_toughshroom' => 'Вкусный жесткогриб (5 шт.) – мгновенно восполняет 100% здоровья и повышает выносливость на 10% на 10 мин.',
+ 'door_unlock_after_ingra_maloch' => 'Открывается после убийства Ингра Малоха.',
+ 'exit' => 'Выход',
+ ],
+ 'plaguefall' => [
+ 'start' => 'Начало',
+ 'graveyard_dr_ickus' => 'Активируется после убийства Доктора Икуса',
+ 'gushing_slime' => 'Некролорды: АоЕ прок Аура - Использование Скульптора плоти на Хлещущей слизи на 2 минуты повесит на игрока ауру Разъедающая жижа. Все союзники в радиусе 10 метров получают эффект Разъедающая жижа, который периодически наносит урон всем противникам в радиусе 10 метров.',
+ 'congealed_slime' => 'Некролорды: Ауоа снижения урона на 10% - Использование Скульптора плоти на Сгустке слизи на 2 минуты повесит на игрока ауру Сгустившаяся зараза. Все союзники в радиусе 10 метров получают эффект Сгустившаяся зараза, уменьшающий получаемый урон.',
+ 'pestilence_slime' => 'Некролорды: Ауоа скорости на 25% - Использование Скульптора плоти на Моровой слизи на 2 минуты повесит на игрока ауру Быстрая инфекция. Все союзники в радиусе 10 метров получают эффект Быстрая инфекция, повышающий показатель скорости. Кроме того, после смерти Заразный слизнюк оставляет лужу Быстрая инфекция, которая также повышает показатель скорости, если в ней стоять. Оба эффекта суммируются.',
+ 'landing' => 'приземление',
+ 'exit' => 'Выход',
+ ],
+ 'sanguine_depths' => [
+ 'start' => 'Начало',
+ 'anima_cage' => 'Вентиры: Клетки с анимой, всего их четыре на весь данж. Активировав её, на всех противников в радиусе 40 метров будет наложен эффект Похищение анимы. Через 20 секунд клетка отключается и на всю группу накладывается эффект Благословение Грехопада, сила которого зависит от того, сколько противников было убито во время действия клетки и под действием её дебафа.',
+ 'tick_bug' => 'Бывает этот клещ застревает в текстурах , но он будет спулен, когда начнется бой с боссом.',
+ 'graveyard_kryxis_the_voracious' => 'Активируется после убийства Криксиса Прожорливого',
+ 'graveyard_executor_tarvold' => 'Активируется после убийства Вершителя Тарвольда',
+ 'graveyard_grand_proctor_beryllia' => 'Активируется после убийства Верховной надзирательницы Бериллии',
+ 'chamber_sentinel' => 'Каменные горгульи могут активироваться и стать Часовым чертогов. Активация случайна.',
+ 'gauntlet_explanation' => 'Волны собак будут появляться постоянно в коридоре. Генерал Кааль будет переходить к новому паку мобов каждые 10% здоровья, а когда у нее будет 70% она уйдет в комнату где мы будем вести с ней бой.',
+ 'zrali_essence' => 'Сущность З\'рали: щит который уменьшает урона на 65% для всех, кто стоит внутри него. Создает щит вокруг игрока, который его несет/активирует',
+ 'exit' => 'Выход',
+ ],
+ 'spires_of_ascension' => [
+ 'start' => 'Начало',
+ 'spear_of_destiny' => 'Кирии: Копье Судьбы - Бросает копье, оглушающее противников в радиусе 8 м и увеличивающее получаемый ими урон на 20% на 10 сек.',
+ 'exit' => 'Выход',
+ ],
+ 'the_necrotic_wake' => [
+ 'start' => 'Начало',
+ 'bloody_javelin' => 'Кровавое копье: Бросает в цель кирийский дротик, нанося пронзенным противникам на линии физический урон мгновенно и дополнительный физический урон раз в 2 сек. в течение 16 сек. Пораженные противники в течение 16 сек. получают на 20% больше урона.',
+ 'forgotten_forgehammer' => 'Забытый кузнечный молот: Бросает в цель кирийский молот, нанося физический урон и оглушая цель на 8 сек.',
+ 'malfunctioning_goliath' => 'Брошенный щит: ',
+ 'discharged_anima' => 'Кирии: Призыв распорядителя - Выхлоп анимы, полученный от неисправных голиафов, повышает скорость передвижения на 20% и раз в 4 сек. в течение 1 мин. вызывает вокруг игрока взрывы, которые наносят находящимся рядом противникам урон от тайной магии и восстанавливают находящимся рядом союзникам здоровье.',
+ 'discarded_shield' => 'Брошенный щит: При активации уменьшает урон, получаемый союзниками в радиусе 8м, на 50% на 6сек.',
+ 'anima_crystal_shard' => 'Освобожденная анима: Высвобождает накопленную аниму, нанося находящимся рядом противникам урон от тайной магии и раз в 1 сек. в течение 8 сек. прерывая применение заклинаний.',
+ 'grisly_curio' => 'Мрачная диковина',
+ 'exit' => 'Выход',
+ ],
+ 'theater_of_pain' => [
+ 'start' => 'Начало',
+ 'necrolord_banner' => 'Некролорды: Знамёна Некролордов - активация знамен повышает универсальность союзников на 10%, а скорость передвижения – на 10%.',
+ 'graveyard_gorechop' => 'Активируется после убийства Кроворуб',
+ 'pack_jump_from_sides' => 'Мобы выпрыгивают с обеих сторон моста, когда вы на его зайдете.',
+ 'miniboss_pick_one' => 'Возможно выбрать только один вариант - выберите один, а не оба',
+ 'teleporter' => 'Телепорт',
+ 'exit' => 'Выход',
+ ],
+ ],
+ ],
+
+];
diff --git a/lang/ru_RU/models.php b/lang/ru_RU/models.php
new file mode 100644
index 0000000000..4936b92529
--- /dev/null
+++ b/lang/ru_RU/models.php
@@ -0,0 +1,15 @@
+ [
+ 'title_temporary_route' => ':dungeonName Временный Маршрут',
+ 'title_clone' => ':routeTitle (Клонировать)',
+ 'subtitle_clone_of' => 'Клон :routeLink',
+ 'permission_dratnos' => 'Используется с разрешения Дратноса',
+ 'permission_petko' => 'Используется с разрешения Петко',
+ 'subtitle_temporary_route' => 'Временный Маршрут',
+ 'subtitle_author' => 'Автор %s',
+ ],
+
+];
diff --git a/lang/ru-RU/npcaggressiveness.php b/lang/ru_RU/npcaggressiveness.php
similarity index 100%
rename from lang/ru-RU/npcaggressiveness.php
rename to lang/ru_RU/npcaggressiveness.php
diff --git a/lang/ru-RU/npcclasses.php b/lang/ru_RU/npcclasses.php
similarity index 100%
rename from lang/ru-RU/npcclasses.php
rename to lang/ru_RU/npcclasses.php
diff --git a/lang/ru_RU/npcclassifications.php b/lang/ru_RU/npcclassifications.php
new file mode 100644
index 0000000000..7afb85a96e
--- /dev/null
+++ b/lang/ru_RU/npcclassifications.php
@@ -0,0 +1,10 @@
+ 'Обычный',
+ 'elite' => 'Элитный',
+ 'boss' => 'Босс',
+ 'finalboss' => 'Последний босс',
+
+];
diff --git a/lang/ru_RU/pagination.php b/lang/ru_RU/pagination.php
new file mode 100644
index 0000000000..727f876325
--- /dev/null
+++ b/lang/ru_RU/pagination.php
@@ -0,0 +1,8 @@
+ '« Предыдущая',
+ 'next' => 'Далее »',
+
+];
diff --git a/lang/ru_RU/passwords.php b/lang/ru_RU/passwords.php
new file mode 100644
index 0000000000..9f7ec32048
--- /dev/null
+++ b/lang/ru_RU/passwords.php
@@ -0,0 +1,11 @@
+ 'Пароли должны соответствовать и состоять минимум из шести символов',
+ 'reset' => 'Ваш пароль был сброшен!',
+ 'sent' => 'На ваш электронный адрес отправлено письмо с ссылкой для сброса пароля!',
+ 'token' => 'Этот токен сброса пароля больше недействителен.',
+ 'user' => 'Пользователь с таким адресом электронной почты не найден.',
+
+];
diff --git a/lang/ru-RU/patreonbenefits.php b/lang/ru_RU/patreonbenefits.php
similarity index 100%
rename from lang/ru-RU/patreonbenefits.php
rename to lang/ru_RU/patreonbenefits.php
diff --git a/lang/ru-RU/policy.php b/lang/ru_RU/policy.php
similarity index 100%
rename from lang/ru-RU/policy.php
rename to lang/ru_RU/policy.php
diff --git a/lang/ru_RU/races.php b/lang/ru_RU/races.php
new file mode 100644
index 0000000000..772e312bb2
--- /dev/null
+++ b/lang/ru_RU/races.php
@@ -0,0 +1,30 @@
+ 'Люди',
+ 'dwarf' => 'Дворфы',
+ 'night_elf' => 'Ночные эльфы',
+ 'gnome' => 'Гномы',
+ 'draenei' => 'Дренеи',
+ 'worgen' => 'Воргены',
+ 'pandarenalliance' => 'Пандарены Альянс',
+ 'void_elf' => 'Эльфы Бездны',
+ 'lightforged_draenei' => 'Озарённые дренеи',
+ 'dark_iron_dwarf' => 'Дворфы из клана Чёрного Железа',
+ 'orc' => 'Орки',
+ 'undead' => 'Отрёкшиеся',
+ 'tauren' => 'Таурены',
+ 'troll' => 'Тролли',
+ 'blood_elf' => 'Эльфы крови',
+ 'goblin' => 'Гоблины',
+ 'pandarenhorde' => 'Пандарены Орда',
+ 'nightborne' => 'Ночнорождённые',
+ 'highmountain_tauren' => 'Таурены Крутогорья',
+ 'maghar_orc' => 'Маг’хары',
+ 'kul_tiran_human' => 'Култирасцы',
+ 'zandalari_troll' => 'Зандалары',
+ 'mechagnome' => 'Механогномы',
+ 'vulpera' => 'Вульперы',
+
+];
diff --git a/lang/ru-RU/releasechangelogcategories.php b/lang/ru_RU/releasechangelogcategories.php
similarity index 100%
rename from lang/ru-RU/releasechangelogcategories.php
rename to lang/ru_RU/releasechangelogcategories.php
diff --git a/lang/ru-RU/routeattributes.php b/lang/ru_RU/routeattributes.php
similarity index 100%
rename from lang/ru-RU/routeattributes.php
rename to lang/ru_RU/routeattributes.php
diff --git a/lang/ru-RU/rules.php b/lang/ru_RU/rules.php
similarity index 100%
rename from lang/ru-RU/rules.php
rename to lang/ru_RU/rules.php
diff --git a/lang/ru-RU/seasons.php b/lang/ru_RU/seasons.php
similarity index 100%
rename from lang/ru-RU/seasons.php
rename to lang/ru_RU/seasons.php
diff --git a/lang/ru-RU/services.php b/lang/ru_RU/services.php
similarity index 100%
rename from lang/ru-RU/services.php
rename to lang/ru_RU/services.php
diff --git a/lang/ru_RU/specializations.php b/lang/ru_RU/specializations.php
new file mode 100644
index 0000000000..0735dbf2fa
--- /dev/null
+++ b/lang/ru_RU/specializations.php
@@ -0,0 +1,66 @@
+ [
+ 'blood' => 'Кровь',
+ 'frost' => 'Лед',
+ 'unholy' => 'Нечестивость',
+ ],
+ 'demon_hunter' => [
+ 'havoc' => 'Истребление',
+ 'vengeance' => 'Месть',
+ ],
+ 'druid' => [
+ 'balance' => 'Баланс',
+ 'feral' => 'Сила зверя',
+ 'guardian' => 'Страж',
+ 'restoration' => 'Исцеление',
+ ],
+ 'hunter' => [
+ 'beast_mastery' => 'Повелитель зверей',
+ 'marksman' => 'Стрельба',
+ 'survival' => 'Выживание',
+ ],
+ 'mage' => [
+ 'arcane' => 'Тайная магия',
+ 'fire' => 'Огонь',
+ 'frost' => 'Лед',
+ ],
+ 'monk' => [
+ 'brewmaster' => 'Хмелевар',
+ 'mistweaver' => 'Ткач туманов',
+ 'windwalker' => 'Танцующий с ветром',
+ ],
+ 'paladin' => [
+ 'holy' => 'Свет',
+ 'protection' => 'Защита',
+ 'retribution' => 'Воздаяние',
+ ],
+ 'priest' => [
+ 'discipline' => 'Послушание',
+ 'holy' => 'Свет',
+ 'shadow' => 'Тьма',
+ ],
+ 'rogue' => [
+ 'assassination' => 'Ликвидация',
+ 'outlaw' => 'Головорез',
+ 'subtlety' => 'Скрытность',
+ ],
+ 'shaman' => [
+ 'elemental' => 'Стихии',
+ 'enhancement' => 'Совершествование',
+ 'restoration' => 'Исцеление',
+ ],
+ 'warlock' => [
+ 'affliction' => 'Колдовство',
+ 'demonology' => 'Демонология',
+ 'destruction' => 'Разрушение',
+ ],
+ 'warrior' => [
+ 'arms' => 'Оружие',
+ 'fury' => 'Неистовство',
+ 'protection' => 'Защита',
+ ],
+
+];
diff --git a/lang/ru-RU/spells.php b/lang/ru_RU/spells.php
similarity index 100%
rename from lang/ru-RU/spells.php
rename to lang/ru_RU/spells.php
diff --git a/lang/ru_RU/teamroles.php b/lang/ru_RU/teamroles.php
new file mode 100644
index 0000000000..f28ad44089
--- /dev/null
+++ b/lang/ru_RU/teamroles.php
@@ -0,0 +1,10 @@
+ 'Участник',
+ 'collaborator' => 'Коллаборатор',
+ 'moderator' => 'Модератор',
+ 'admin' => 'Администратор',
+
+];
diff --git a/lang/ru_RU/validation.php b/lang/ru_RU/validation.php
new file mode 100644
index 0000000000..0247882e98
--- /dev/null
+++ b/lang/ru_RU/validation.php
@@ -0,0 +1,83 @@
+ ':attribute должен быть принят',
+ 'active_url' => ':attribute недопустимым URL.',
+ 'after' => ':attribute должен быть датой после :date.',
+ 'after_or_equal' => ':attribute должен быть датой после или равной :date.',
+ 'alpha' => ':attribute может содержать только буквы.',
+ 'alpha_dash' => ':attribute может содержать только буквы, цифры и тире.',
+ 'alpha_num' => ':attribute может содержать только буквы и цифры.',
+ 'array' => ':attribute должен быть массивом.',
+ 'before' => ':attribute должен быть датой после :date.',
+ 'before_or_equal' => ':attribute должен быть датой до или равной :date.',
+ 'between' => [
+ 'numeric' => ':attribute должно быть между :min и :max.',
+ 'file' => ':attribute должно быть между :min и :max килобайт.',
+ 'string' => ':attribute должно быть между :min и :max символов',
+ 'array' => ':attribute должно быть между :min и :max предметов',
+ ],
+ 'boolean' => ':attribute поле должно быть истинным или ложным.',
+ 'confirmed' => ':attribute подтверждение не совпадает.',
+ 'date' => ':attribute не действительная дата.',
+ 'date_format' => ':attribute не соответствует формату :format.',
+ 'different' => ':attribute и :other должны быть другими',
+ 'digits' => ':attribute должен иметь :digits цифры.',
+ 'digits_between' => ':attribute должно быть между :min и :max цифры.',
+ 'dimensions' => ':attribute имеет недопустимые размеры изображения.',
+ 'distinct' => ':attribute поле имеет повторяющееся значение.',
+ 'email' => ':attribute Адрес эл. почты должен быть действительным.',
+ 'exists' => 'Выбранный :attribute недействителен.',
+ 'file' => ':attribute должен быть файлом.',
+ 'filled' => 'Поле :attribute, обязательное для заполнения.',
+ 'image' => ':attribute должно быть изображением.',
+ 'in' => 'Выбранный :attribute недействителен',
+ 'in_array' => 'Поле :attribute не существует в :other.',
+ 'integer' => ':attribute должно быть целым числом.',
+ 'ip' => ':attribute должен быть действующий IP-адрес',
+ 'json' => ':attribute должен быть действительной строкой JSON',
+ 'max' => [
+ 'numeric' => ':attribute не может быть больше чем :max.',
+ 'file' => ':attribute не может быть больше чем :max килобайт',
+ 'string' => ':attribute не может быть больше чем :max символов',
+ 'array' => ':attribute не может быть больше :max предметов',
+ ],
+ 'mimes' => ':attribute должен быть файл типа: :values.',
+ 'mimetypes' => ':attribute должен быть файл типа: :values.',
+ 'min' => [
+ 'numeric' => ':attribute должен быть не менее :min.',
+ 'file' => ':attribute должен быть не менее :min килобайт.',
+ 'string' => ':attribute должен быть не менее :min символов.',
+ 'array' => ':attribute должен иметь как минимум :min предметов.',
+ ],
+ 'not_in' => 'Выбранный :attribute недействителен.',
+ 'numeric' => ':attribute должен быть числом.',
+ 'present' => 'Поле :attribute должно присутствовать.',
+ 'regex' => 'Неверный формат :attribute',
+ 'required' => 'Поле :attribute, обязательное для заполнения.',
+ 'required_if' => 'Поле :attribute обязательно, когда :other является :value.',
+ 'required_unless' => 'Поле :attribute является обязательным, если только :other не указано в :values.',
+ 'required_with' => 'Поле :attribute обязательно, когда присутствует в :values.',
+ 'required_with_all' => 'Поле :attribute обязательно, когда присутствует в :values.',
+ 'required_without' => 'Поле :attribute обязательно, когда не присутствует в :values.',
+ 'required_without_all' => 'Поле :attribute является обязательным, если ни один из :values присутствуют.',
+ 'same' => ':attribute и :other должны совпадать.',
+ 'size' => [
+ 'numeric' => ':attribute должен быть :size.',
+ 'file' => ':attribute должен быть :size килобайт.',
+ 'string' => ':attribute должен быть :size символов.',
+ 'array' => ':attribute должен содержать :size предметов',
+ ],
+ 'string' => ':attribute должен быть строкой.',
+ 'timezone' => ':attribute должна быть действующая зона.',
+ 'unique' => ':attribute уже использовано.',
+ 'uploaded' => ':attribute не удалось загрузить.',
+ 'url' => 'Формат :attribute недействителен.',
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'Сообщение',
+ ],
+ ],
+
+];
diff --git a/lang/ru-RU/views/admin.php b/lang/ru_RU/views/admin.php
similarity index 100%
rename from lang/ru-RU/views/admin.php
rename to lang/ru_RU/views/admin.php
diff --git a/lang/ru-RU/views/app.php b/lang/ru_RU/views/app.php
similarity index 100%
rename from lang/ru-RU/views/app.php
rename to lang/ru_RU/views/app.php
diff --git a/lang/ru-RU/views/auth.php b/lang/ru_RU/views/auth.php
similarity index 100%
rename from lang/ru-RU/views/auth.php
rename to lang/ru_RU/views/auth.php
diff --git a/lang/ru-RU/views/common.php b/lang/ru_RU/views/common.php
similarity index 100%
rename from lang/ru-RU/views/common.php
rename to lang/ru_RU/views/common.php
diff --git a/lang/ru-RU/views/dungeon.php b/lang/ru_RU/views/dungeon.php
similarity index 100%
rename from lang/ru-RU/views/dungeon.php
rename to lang/ru_RU/views/dungeon.php
diff --git a/lang/ru-RU/views/dungeonroute.php b/lang/ru_RU/views/dungeonroute.php
similarity index 100%
rename from lang/ru-RU/views/dungeonroute.php
rename to lang/ru_RU/views/dungeonroute.php
diff --git a/lang/ru-RU/views/errors.php b/lang/ru_RU/views/errors.php
similarity index 100%
rename from lang/ru-RU/views/errors.php
rename to lang/ru_RU/views/errors.php
diff --git a/lang/ru-RU/views/home.php b/lang/ru_RU/views/home.php
similarity index 100%
rename from lang/ru-RU/views/home.php
rename to lang/ru_RU/views/home.php
diff --git a/lang/ru-RU/views/layouts.php b/lang/ru_RU/views/layouts.php
similarity index 100%
rename from lang/ru-RU/views/layouts.php
rename to lang/ru_RU/views/layouts.php
diff --git a/lang/ru-RU/views/legal.php b/lang/ru_RU/views/legal.php
similarity index 100%
rename from lang/ru-RU/views/legal.php
rename to lang/ru_RU/views/legal.php
diff --git a/lang/ru-RU/views/misc.php b/lang/ru_RU/views/misc.php
similarity index 100%
rename from lang/ru-RU/views/misc.php
rename to lang/ru_RU/views/misc.php
diff --git a/lang/ru-RU/views/profile.php b/lang/ru_RU/views/profile.php
similarity index 100%
rename from lang/ru-RU/views/profile.php
rename to lang/ru_RU/views/profile.php
diff --git a/lang/ru-RU/views/release.php b/lang/ru_RU/views/release.php
similarity index 100%
rename from lang/ru-RU/views/release.php
rename to lang/ru_RU/views/release.php
diff --git a/lang/ru-RU/views/team.php b/lang/ru_RU/views/team.php
similarity index 100%
rename from lang/ru-RU/views/team.php
rename to lang/ru_RU/views/team.php
diff --git a/lang/zh-CN/affixes.php b/lang/zh_CN/affixes.php
similarity index 100%
rename from lang/zh-CN/affixes.php
rename to lang/zh_CN/affixes.php
diff --git a/lang/zh-CN/auth.php b/lang/zh_CN/auth.php
similarity index 100%
rename from lang/zh-CN/auth.php
rename to lang/zh_CN/auth.php
diff --git a/lang/zh-CN/breadcrumbs.php b/lang/zh_CN/breadcrumbs.php
similarity index 100%
rename from lang/zh-CN/breadcrumbs.php
rename to lang/zh_CN/breadcrumbs.php
diff --git a/lang/zh-CN/classes.php b/lang/zh_CN/classes.php
similarity index 100%
rename from lang/zh-CN/classes.php
rename to lang/zh_CN/classes.php
diff --git a/lang/zh-CN/controller.php b/lang/zh_CN/controller.php
similarity index 100%
rename from lang/zh-CN/controller.php
rename to lang/zh_CN/controller.php
diff --git a/lang/zh-CN/dungeons.php b/lang/zh_CN/dungeons.php
similarity index 100%
rename from lang/zh-CN/dungeons.php
rename to lang/zh_CN/dungeons.php
diff --git a/lang/zh-CN/exceptions.php b/lang/zh_CN/exceptions.php
similarity index 100%
rename from lang/zh-CN/exceptions.php
rename to lang/zh_CN/exceptions.php
diff --git a/lang/zh-CN/expansions.php b/lang/zh_CN/expansions.php
similarity index 100%
rename from lang/zh-CN/expansions.php
rename to lang/zh_CN/expansions.php
diff --git a/lang/zh-CN/factions.php b/lang/zh_CN/factions.php
similarity index 100%
rename from lang/zh-CN/factions.php
rename to lang/zh_CN/factions.php
diff --git a/lang/zh-CN/gameserverregions.php b/lang/zh_CN/gameserverregions.php
similarity index 100%
rename from lang/zh-CN/gameserverregions.php
rename to lang/zh_CN/gameserverregions.php
diff --git a/lang/zh-CN/gameversions.php b/lang/zh_CN/gameversions.php
similarity index 100%
rename from lang/zh-CN/gameversions.php
rename to lang/zh_CN/gameversions.php
diff --git a/lang/zh-CN/js.php b/lang/zh_CN/js.php
similarity index 100%
rename from lang/zh-CN/js.php
rename to lang/zh_CN/js.php
diff --git a/lang/zh-CN/logic.php b/lang/zh_CN/logic.php
similarity index 100%
rename from lang/zh-CN/logic.php
rename to lang/zh_CN/logic.php
diff --git a/lang/zh-CN/mapicontypes.php b/lang/zh_CN/mapicontypes.php
similarity index 100%
rename from lang/zh-CN/mapicontypes.php
rename to lang/zh_CN/mapicontypes.php
diff --git a/lang/zh-CN/mapping.php b/lang/zh_CN/mapping.php
similarity index 100%
rename from lang/zh-CN/mapping.php
rename to lang/zh_CN/mapping.php
diff --git a/lang/zh-CN/models.php b/lang/zh_CN/models.php
similarity index 100%
rename from lang/zh-CN/models.php
rename to lang/zh_CN/models.php
diff --git a/lang/zh-CN/npcaggressiveness.php b/lang/zh_CN/npcaggressiveness.php
similarity index 100%
rename from lang/zh-CN/npcaggressiveness.php
rename to lang/zh_CN/npcaggressiveness.php
diff --git a/lang/zh-CN/npcclasses.php b/lang/zh_CN/npcclasses.php
similarity index 100%
rename from lang/zh-CN/npcclasses.php
rename to lang/zh_CN/npcclasses.php
diff --git a/lang/zh-CN/npcclassifications.php b/lang/zh_CN/npcclassifications.php
similarity index 100%
rename from lang/zh-CN/npcclassifications.php
rename to lang/zh_CN/npcclassifications.php
diff --git a/lang/zh-CN/pagination.php b/lang/zh_CN/pagination.php
similarity index 100%
rename from lang/zh-CN/pagination.php
rename to lang/zh_CN/pagination.php
diff --git a/lang/zh-CN/passwords.php b/lang/zh_CN/passwords.php
similarity index 100%
rename from lang/zh-CN/passwords.php
rename to lang/zh_CN/passwords.php
diff --git a/lang/zh-CN/patreonbenefits.php b/lang/zh_CN/patreonbenefits.php
similarity index 100%
rename from lang/zh-CN/patreonbenefits.php
rename to lang/zh_CN/patreonbenefits.php
diff --git a/lang/zh-CN/policy.php b/lang/zh_CN/policy.php
similarity index 100%
rename from lang/zh-CN/policy.php
rename to lang/zh_CN/policy.php
diff --git a/lang/zh-CN/races.php b/lang/zh_CN/races.php
similarity index 100%
rename from lang/zh-CN/races.php
rename to lang/zh_CN/races.php
diff --git a/lang/zh-CN/releasechangelogcategories.php b/lang/zh_CN/releasechangelogcategories.php
similarity index 100%
rename from lang/zh-CN/releasechangelogcategories.php
rename to lang/zh_CN/releasechangelogcategories.php
diff --git a/lang/zh-CN/routeattributes.php b/lang/zh_CN/routeattributes.php
similarity index 100%
rename from lang/zh-CN/routeattributes.php
rename to lang/zh_CN/routeattributes.php
diff --git a/lang/zh-CN/rules.php b/lang/zh_CN/rules.php
similarity index 100%
rename from lang/zh-CN/rules.php
rename to lang/zh_CN/rules.php
diff --git a/lang/zh-CN/seasons.php b/lang/zh_CN/seasons.php
similarity index 100%
rename from lang/zh-CN/seasons.php
rename to lang/zh_CN/seasons.php
diff --git a/lang/zh-CN/services.php b/lang/zh_CN/services.php
similarity index 100%
rename from lang/zh-CN/services.php
rename to lang/zh_CN/services.php
diff --git a/lang/zh-CN/specializations.php b/lang/zh_CN/specializations.php
similarity index 100%
rename from lang/zh-CN/specializations.php
rename to lang/zh_CN/specializations.php
diff --git a/lang/zh-CN/spells.php b/lang/zh_CN/spells.php
similarity index 100%
rename from lang/zh-CN/spells.php
rename to lang/zh_CN/spells.php
diff --git a/lang/zh-CN/teamroles.php b/lang/zh_CN/teamroles.php
similarity index 100%
rename from lang/zh-CN/teamroles.php
rename to lang/zh_CN/teamroles.php
diff --git a/lang/zh-CN/validation.php b/lang/zh_CN/validation.php
similarity index 100%
rename from lang/zh-CN/validation.php
rename to lang/zh_CN/validation.php
diff --git a/lang/zh-CN/views/admin.php b/lang/zh_CN/views/admin.php
similarity index 100%
rename from lang/zh-CN/views/admin.php
rename to lang/zh_CN/views/admin.php
diff --git a/lang/zh-CN/views/app.php b/lang/zh_CN/views/app.php
similarity index 100%
rename from lang/zh-CN/views/app.php
rename to lang/zh_CN/views/app.php
diff --git a/lang/zh-CN/views/auth.php b/lang/zh_CN/views/auth.php
similarity index 100%
rename from lang/zh-CN/views/auth.php
rename to lang/zh_CN/views/auth.php
diff --git a/lang/zh-CN/views/common.php b/lang/zh_CN/views/common.php
similarity index 100%
rename from lang/zh-CN/views/common.php
rename to lang/zh_CN/views/common.php
diff --git a/lang/zh-CN/views/dungeon.php b/lang/zh_CN/views/dungeon.php
similarity index 100%
rename from lang/zh-CN/views/dungeon.php
rename to lang/zh_CN/views/dungeon.php
diff --git a/lang/zh-CN/views/dungeonroute.php b/lang/zh_CN/views/dungeonroute.php
similarity index 100%
rename from lang/zh-CN/views/dungeonroute.php
rename to lang/zh_CN/views/dungeonroute.php
diff --git a/lang/zh-CN/views/errors.php b/lang/zh_CN/views/errors.php
similarity index 100%
rename from lang/zh-CN/views/errors.php
rename to lang/zh_CN/views/errors.php
diff --git a/lang/zh-CN/views/home.php b/lang/zh_CN/views/home.php
similarity index 100%
rename from lang/zh-CN/views/home.php
rename to lang/zh_CN/views/home.php
diff --git a/lang/zh-CN/views/layouts.php b/lang/zh_CN/views/layouts.php
similarity index 100%
rename from lang/zh-CN/views/layouts.php
rename to lang/zh_CN/views/layouts.php
diff --git a/lang/zh-CN/views/legal.php b/lang/zh_CN/views/legal.php
similarity index 100%
rename from lang/zh-CN/views/legal.php
rename to lang/zh_CN/views/legal.php
diff --git a/lang/zh-CN/views/misc.php b/lang/zh_CN/views/misc.php
similarity index 100%
rename from lang/zh-CN/views/misc.php
rename to lang/zh_CN/views/misc.php
diff --git a/lang/zh-CN/views/profile.php b/lang/zh_CN/views/profile.php
similarity index 100%
rename from lang/zh-CN/views/profile.php
rename to lang/zh_CN/views/profile.php
diff --git a/lang/zh-CN/views/release.php b/lang/zh_CN/views/release.php
similarity index 100%
rename from lang/zh-CN/views/release.php
rename to lang/zh_CN/views/release.php
diff --git a/lang/zh-CN/views/team.php b/lang/zh_CN/views/team.php
similarity index 100%
rename from lang/zh-CN/views/team.php
rename to lang/zh_CN/views/team.php
diff --git a/lang/zh-TW/affixes.php b/lang/zh_TW/affixes.php
similarity index 100%
rename from lang/zh-TW/affixes.php
rename to lang/zh_TW/affixes.php
diff --git a/lang/zh-TW/auth.php b/lang/zh_TW/auth.php
similarity index 100%
rename from lang/zh-TW/auth.php
rename to lang/zh_TW/auth.php
diff --git a/lang/zh-TW/breadcrumbs.php b/lang/zh_TW/breadcrumbs.php
similarity index 100%
rename from lang/zh-TW/breadcrumbs.php
rename to lang/zh_TW/breadcrumbs.php
diff --git a/lang/zh-TW/classes.php b/lang/zh_TW/classes.php
similarity index 100%
rename from lang/zh-TW/classes.php
rename to lang/zh_TW/classes.php
diff --git a/lang/zh-TW/controller.php b/lang/zh_TW/controller.php
similarity index 100%
rename from lang/zh-TW/controller.php
rename to lang/zh_TW/controller.php
diff --git a/lang/zh-TW/dungeons.php b/lang/zh_TW/dungeons.php
similarity index 100%
rename from lang/zh-TW/dungeons.php
rename to lang/zh_TW/dungeons.php
diff --git a/lang/zh-TW/exceptions.php b/lang/zh_TW/exceptions.php
similarity index 100%
rename from lang/zh-TW/exceptions.php
rename to lang/zh_TW/exceptions.php
diff --git a/lang/zh-TW/expansions.php b/lang/zh_TW/expansions.php
similarity index 100%
rename from lang/zh-TW/expansions.php
rename to lang/zh_TW/expansions.php
diff --git a/lang/zh-TW/factions.php b/lang/zh_TW/factions.php
similarity index 100%
rename from lang/zh-TW/factions.php
rename to lang/zh_TW/factions.php
diff --git a/lang/zh-TW/gameserverregions.php b/lang/zh_TW/gameserverregions.php
similarity index 100%
rename from lang/zh-TW/gameserverregions.php
rename to lang/zh_TW/gameserverregions.php
diff --git a/lang/zh-TW/gameversions.php b/lang/zh_TW/gameversions.php
similarity index 100%
rename from lang/zh-TW/gameversions.php
rename to lang/zh_TW/gameversions.php
diff --git a/lang/zh-TW/js.php b/lang/zh_TW/js.php
similarity index 100%
rename from lang/zh-TW/js.php
rename to lang/zh_TW/js.php
diff --git a/lang/zh-TW/logic.php b/lang/zh_TW/logic.php
similarity index 100%
rename from lang/zh-TW/logic.php
rename to lang/zh_TW/logic.php
diff --git a/lang/zh-TW/mapicontypes.php b/lang/zh_TW/mapicontypes.php
similarity index 100%
rename from lang/zh-TW/mapicontypes.php
rename to lang/zh_TW/mapicontypes.php
diff --git a/lang/zh-TW/mapping.php b/lang/zh_TW/mapping.php
similarity index 100%
rename from lang/zh-TW/mapping.php
rename to lang/zh_TW/mapping.php
diff --git a/lang/zh-TW/models.php b/lang/zh_TW/models.php
similarity index 100%
rename from lang/zh-TW/models.php
rename to lang/zh_TW/models.php
diff --git a/lang/zh-TW/npcaggressiveness.php b/lang/zh_TW/npcaggressiveness.php
similarity index 100%
rename from lang/zh-TW/npcaggressiveness.php
rename to lang/zh_TW/npcaggressiveness.php
diff --git a/lang/zh-TW/npcclasses.php b/lang/zh_TW/npcclasses.php
similarity index 100%
rename from lang/zh-TW/npcclasses.php
rename to lang/zh_TW/npcclasses.php
diff --git a/lang/zh-TW/npcclassifications.php b/lang/zh_TW/npcclassifications.php
similarity index 100%
rename from lang/zh-TW/npcclassifications.php
rename to lang/zh_TW/npcclassifications.php
diff --git a/lang/zh-TW/pagination.php b/lang/zh_TW/pagination.php
similarity index 100%
rename from lang/zh-TW/pagination.php
rename to lang/zh_TW/pagination.php
diff --git a/lang/zh-TW/passwords.php b/lang/zh_TW/passwords.php
similarity index 100%
rename from lang/zh-TW/passwords.php
rename to lang/zh_TW/passwords.php
diff --git a/lang/zh-TW/patreonbenefits.php b/lang/zh_TW/patreonbenefits.php
similarity index 100%
rename from lang/zh-TW/patreonbenefits.php
rename to lang/zh_TW/patreonbenefits.php
diff --git a/lang/zh-TW/policy.php b/lang/zh_TW/policy.php
similarity index 100%
rename from lang/zh-TW/policy.php
rename to lang/zh_TW/policy.php
diff --git a/lang/zh-TW/races.php b/lang/zh_TW/races.php
similarity index 100%
rename from lang/zh-TW/races.php
rename to lang/zh_TW/races.php
diff --git a/lang/zh-TW/releasechangelogcategories.php b/lang/zh_TW/releasechangelogcategories.php
similarity index 100%
rename from lang/zh-TW/releasechangelogcategories.php
rename to lang/zh_TW/releasechangelogcategories.php
diff --git a/lang/zh-TW/routeattributes.php b/lang/zh_TW/routeattributes.php
similarity index 100%
rename from lang/zh-TW/routeattributes.php
rename to lang/zh_TW/routeattributes.php
diff --git a/lang/zh-TW/rules.php b/lang/zh_TW/rules.php
similarity index 100%
rename from lang/zh-TW/rules.php
rename to lang/zh_TW/rules.php
diff --git a/lang/zh-TW/seasons.php b/lang/zh_TW/seasons.php
similarity index 100%
rename from lang/zh-TW/seasons.php
rename to lang/zh_TW/seasons.php
diff --git a/lang/zh-TW/services.php b/lang/zh_TW/services.php
similarity index 100%
rename from lang/zh-TW/services.php
rename to lang/zh_TW/services.php
diff --git a/lang/zh-TW/specializations.php b/lang/zh_TW/specializations.php
similarity index 100%
rename from lang/zh-TW/specializations.php
rename to lang/zh_TW/specializations.php
diff --git a/lang/zh-TW/spells.php b/lang/zh_TW/spells.php
similarity index 100%
rename from lang/zh-TW/spells.php
rename to lang/zh_TW/spells.php
diff --git a/lang/zh-TW/teamroles.php b/lang/zh_TW/teamroles.php
similarity index 100%
rename from lang/zh-TW/teamroles.php
rename to lang/zh_TW/teamroles.php
diff --git a/lang/zh-TW/validation.php b/lang/zh_TW/validation.php
similarity index 100%
rename from lang/zh-TW/validation.php
rename to lang/zh_TW/validation.php
diff --git a/lang/zh-TW/views/admin.php b/lang/zh_TW/views/admin.php
similarity index 100%
rename from lang/zh-TW/views/admin.php
rename to lang/zh_TW/views/admin.php
diff --git a/lang/zh-TW/views/app.php b/lang/zh_TW/views/app.php
similarity index 100%
rename from lang/zh-TW/views/app.php
rename to lang/zh_TW/views/app.php
diff --git a/lang/zh-TW/views/auth.php b/lang/zh_TW/views/auth.php
similarity index 100%
rename from lang/zh-TW/views/auth.php
rename to lang/zh_TW/views/auth.php
diff --git a/lang/zh-TW/views/common.php b/lang/zh_TW/views/common.php
similarity index 100%
rename from lang/zh-TW/views/common.php
rename to lang/zh_TW/views/common.php
diff --git a/lang/zh-TW/views/dungeon.php b/lang/zh_TW/views/dungeon.php
similarity index 100%
rename from lang/zh-TW/views/dungeon.php
rename to lang/zh_TW/views/dungeon.php
diff --git a/lang/zh-TW/views/dungeonroute.php b/lang/zh_TW/views/dungeonroute.php
similarity index 100%
rename from lang/zh-TW/views/dungeonroute.php
rename to lang/zh_TW/views/dungeonroute.php
diff --git a/lang/zh-TW/views/errors.php b/lang/zh_TW/views/errors.php
similarity index 100%
rename from lang/zh-TW/views/errors.php
rename to lang/zh_TW/views/errors.php
diff --git a/lang/zh-TW/views/home.php b/lang/zh_TW/views/home.php
similarity index 100%
rename from lang/zh-TW/views/home.php
rename to lang/zh_TW/views/home.php
diff --git a/lang/zh-TW/views/layouts.php b/lang/zh_TW/views/layouts.php
similarity index 100%
rename from lang/zh-TW/views/layouts.php
rename to lang/zh_TW/views/layouts.php
diff --git a/lang/zh-TW/views/legal.php b/lang/zh_TW/views/legal.php
similarity index 100%
rename from lang/zh-TW/views/legal.php
rename to lang/zh_TW/views/legal.php
diff --git a/lang/zh-TW/views/misc.php b/lang/zh_TW/views/misc.php
similarity index 100%
rename from lang/zh-TW/views/misc.php
rename to lang/zh_TW/views/misc.php
diff --git a/lang/zh-TW/views/profile.php b/lang/zh_TW/views/profile.php
similarity index 100%
rename from lang/zh-TW/views/profile.php
rename to lang/zh_TW/views/profile.php
diff --git a/lang/zh-TW/views/release.php b/lang/zh_TW/views/release.php
similarity index 100%
rename from lang/zh-TW/views/release.php
rename to lang/zh_TW/views/release.php
diff --git a/lang/zh-TW/views/team.php b/lang/zh_TW/views/team.php
similarity index 100%
rename from lang/zh-TW/views/team.php
rename to lang/zh_TW/views/team.php
diff --git a/resources/assets/js/messages.js b/resources/assets/js/messages.js
index 739cf8fbbc..00bd335a38 100644
--- a/resources/assets/js/messages.js
+++ b/resources/assets/js/messages.js
@@ -1,78 +1,78 @@
export default {
// The key format should be: 'locale.filename'.
- 'en-US.messages': require('../../../lang/en-US/js.php'),
- 'en-US.affixes': require('../../../lang/en-US/affixes.php'),
- 'en-US.classes': require('../../../lang/en-US/classes.php'),
- 'en-US.dungeons': require('../../../lang/en-US/dungeons.php'),
- 'en-US.expansions': require('../../../lang/en-US/expansions.php'),
- 'en-US.factions': require('../../../lang/en-US/factions.php'),
- 'en-US.gameserverregions': require('../../../lang/en-US/gameserverregions.php'),
- 'en-US.mapicontypes': require('../../../lang/en-US/mapicontypes.php'),
- 'en-US.mapping': require('../../../lang/en-US/mapping.php'),
- 'en-US.npcclasses': require('../../../lang/en-US/npcclasses.php'),
- 'en-US.npcclassifications': require('../../../lang/en-US/npcclassifications.php'),
- 'en-US.patreonbenefits': require('../../../lang/en-US/patreonbenefits.php'),
- 'en-US.policy': require('../../../lang/en-US/policy.php'),
- 'en-US.races': require('../../../lang/en-US/races.php'),
- 'en-US.releasechangelogcategories': require('../../../lang/en-US/releasechangelogcategories.php'),
- 'en-US.routeattributes': require('../../../lang/en-US/routeattributes.php'),
- 'en-US.specializations': require('../../../lang/en-US/specializations.php'),
- 'en-US.teamroles': require('../../../lang/en-US/teamroles.php'),
+ 'en_US.messages': require('../../../lang/en_US/js.php'),
+ 'en_US.affixes': require('../../../lang/en_US/affixes.php'),
+ 'en_US.classes': require('../../../lang/en_US/classes.php'),
+ 'en_US.dungeons': require('../../../lang/en_US/dungeons.php'),
+ 'en_US.expansions': require('../../../lang/en_US/expansions.php'),
+ 'en_US.factions': require('../../../lang/en_US/factions.php'),
+ 'en_US.gameserverregions': require('../../../lang/en_US/gameserverregions.php'),
+ 'en_US.mapicontypes': require('../../../lang/en_US/mapicontypes.php'),
+ 'en_US.mapping': require('../../../lang/en_US/mapping.php'),
+ 'en_US.npcclasses': require('../../../lang/en_US/npcclasses.php'),
+ 'en_US.npcclassifications': require('../../../lang/en_US/npcclassifications.php'),
+ 'en_US.patreonbenefits': require('../../../lang/en_US/patreonbenefits.php'),
+ 'en_US.policy': require('../../../lang/en_US/policy.php'),
+ 'en_US.races': require('../../../lang/en_US/races.php'),
+ 'en_US.releasechangelogcategories': require('../../../lang/en_US/releasechangelogcategories.php'),
+ 'en_US.routeattributes': require('../../../lang/en_US/routeattributes.php'),
+ 'en_US.specializations': require('../../../lang/en_US/specializations.php'),
+ 'en_US.teamroles': require('../../../lang/en_US/teamroles.php'),
- 'de-DE.messages': require('../../../lang/de-DE/js.php'),
- 'de-DE.affixes': require('../../../lang/de-DE/affixes.php'),
- 'de-DE.classes': require('../../../lang/de-DE/classes.php'),
- 'de-DE.dungeons': require('../../../lang/de-DE/dungeons.php'),
- 'de-DE.expansions': require('../../../lang/de-DE/expansions.php'),
- 'de-DE.gameserverregions': require('../../../lang/de-DE/gameserverregions.php'),
- 'de-DE.factions': require('../../../lang/de-DE/factions.php'),
- 'de-DE.mapicontypes': require('../../../lang/de-DE/mapicontypes.php'),
- 'de-DE.mapping': require('../../../lang/de-DE/mapping.php'),
- 'de-DE.npcclasses': require('../../../lang/de-DE/npcclasses.php'),
- 'de-DE.npcclassifications': require('../../../lang/de-DE/npcclassifications.php'),
- 'de-DE.patreonbenefits': require('../../../lang/de-DE/patreonbenefits.php'),
- 'de-DE.policy': require('../../../lang/de-DE/policy.php'),
- 'de-DE.races': require('../../../lang/de-DE/races.php'),
- 'de-DE.releasechangelogcategories': require('../../../lang/de-DE/releasechangelogcategories.php'),
- 'de-DE.routeattributes': require('../../../lang/de-DE/routeattributes.php'),
- 'de-DE.specializations': require('../../../lang/de-DE/specializations.php'),
- 'de-DE.teamroles': require('../../../lang/de-DE/teamroles.php'),
+ 'de_DE.messages': require('../../../lang/de_DE/js.php'),
+ 'de_DE.affixes': require('../../../lang/de_DE/affixes.php'),
+ 'de_DE.classes': require('../../../lang/de_DE/classes.php'),
+ 'de_DE.dungeons': require('../../../lang/de_DE/dungeons.php'),
+ 'de_DE.expansions': require('../../../lang/de_DE/expansions.php'),
+ 'de_DE.gameserverregions': require('../../../lang/de_DE/gameserverregions.php'),
+ 'de_DE.factions': require('../../../lang/de_DE/factions.php'),
+ 'de_DE.mapicontypes': require('../../../lang/de_DE/mapicontypes.php'),
+ 'de_DE.mapping': require('../../../lang/de_DE/mapping.php'),
+ 'de_DE.npcclasses': require('../../../lang/de_DE/npcclasses.php'),
+ 'de_DE.npcclassifications': require('../../../lang/de_DE/npcclassifications.php'),
+ 'de_DE.patreonbenefits': require('../../../lang/de_DE/patreonbenefits.php'),
+ 'de_DE.policy': require('../../../lang/de_DE/policy.php'),
+ 'de_DE.races': require('../../../lang/de_DE/races.php'),
+ 'de_DE.releasechangelogcategories': require('../../../lang/de_DE/releasechangelogcategories.php'),
+ 'de_DE.routeattributes': require('../../../lang/de_DE/routeattributes.php'),
+ 'de_DE.specializations': require('../../../lang/de_DE/specializations.php'),
+ 'de_DE.teamroles': require('../../../lang/de_DE/teamroles.php'),
- 'ru-RU.messages': require('../../../lang/ru-RU/js.php'),
- 'ru-RU.affixes': require('../../../lang/ru-RU/affixes.php'),
- 'ru-RU.classes': require('../../../lang/ru-RU/classes.php'),
- 'ru-RU.dungeons': require('../../../lang/ru-RU/dungeons.php'),
- 'ru-RU.expansions': require('../../../lang/ru-RU/expansions.php'),
- 'ru-RU.gameserverregions': require('../../../lang/ru-RU/gameserverregions.php'),
- 'ru-RU.factions': require('../../../lang/ru-RU/factions.php'),
- 'ru-RU.mapicontypes': require('../../../lang/ru-RU/mapicontypes.php'),
- 'ru-RU.mapping': require('../../../lang/ru-RU/mapping.php'),
- 'ru-RU.npcclasses': require('../../../lang/ru-RU/npcclasses.php'),
- 'ru-RU.npcclassifications': require('../../../lang/ru-RU/npcclassifications.php'),
- 'ru-RU.patreonbenefits': require('../../../lang/ru-RU/patreonbenefits.php'),
- 'ru-RU.policy': require('../../../lang/ru-RU/policy.php'),
- 'ru-RU.races': require('../../../lang/ru-RU/races.php'),
- 'ru-RU.releasechangelogcategories': require('../../../lang/ru-RU/releasechangelogcategories.php'),
- 'ru-RU.routeattributes': require('../../../lang/ru-RU/routeattributes.php'),
- 'ru-RU.specializations': require('../../../lang/ru-RU/specializations.php'),
- 'ru-RU.teamroles': require('../../../lang/ru-RU/teamroles.php'),
+ 'ru_RU.messages': require('../../../lang/ru_RU/js.php'),
+ 'ru_RU.affixes': require('../../../lang/ru_RU/affixes.php'),
+ 'ru_RU.classes': require('../../../lang/ru_RU/classes.php'),
+ 'ru_RU.dungeons': require('../../../lang/ru_RU/dungeons.php'),
+ 'ru_RU.expansions': require('../../../lang/ru_RU/expansions.php'),
+ 'ru_RU.gameserverregions': require('../../../lang/ru_RU/gameserverregions.php'),
+ 'ru_RU.factions': require('../../../lang/ru_RU/factions.php'),
+ 'ru_RU.mapicontypes': require('../../../lang/ru_RU/mapicontypes.php'),
+ 'ru_RU.mapping': require('../../../lang/ru_RU/mapping.php'),
+ 'ru_RU.npcclasses': require('../../../lang/ru_RU/npcclasses.php'),
+ 'ru_RU.npcclassifications': require('../../../lang/ru_RU/npcclassifications.php'),
+ 'ru_RU.patreonbenefits': require('../../../lang/ru_RU/patreonbenefits.php'),
+ 'ru_RU.policy': require('../../../lang/ru_RU/policy.php'),
+ 'ru_RU.races': require('../../../lang/ru_RU/races.php'),
+ 'ru_RU.releasechangelogcategories': require('../../../lang/ru_RU/releasechangelogcategories.php'),
+ 'ru_RU.routeattributes': require('../../../lang/ru_RU/routeattributes.php'),
+ 'ru_RU.specializations': require('../../../lang/ru_RU/specializations.php'),
+ 'ru_RU.teamroles': require('../../../lang/ru_RU/teamroles.php'),
- 'ho-HO.messages': require('../../../lang/ho-HO/js.php'),
- 'ho-HO.affixes': require('../../../lang/ho-HO/affixes.php'),
- 'ho-HO.classes': require('../../../lang/ho-HO/classes.php'),
- 'ho-HO.dungeons': require('../../../lang/ho-HO/dungeons.php'),
- 'ho-HO.expansions': require('../../../lang/ho-HO/expansions.php'),
- 'ho-HO.gameserverregions': require('../../../lang/ho-HO/gameserverregions.php'),
- 'ho-HO.factions': require('../../../lang/ho-HO/factions.php'),
- 'ho-HO.mapicontypes': require('../../../lang/ho-HO/mapicontypes.php'),
- 'ho-HO.mapping': require('../../../lang/ho-HO/mapping.php'),
- 'ho-HO.npcclasses': require('../../../lang/ho-HO/npcclasses.php'),
- 'ho-HO.npcclassifications': require('../../../lang/ho-HO/npcclassifications.php'),
- 'ho-HO.patreonbenefits': require('../../../lang/ho-HO/patreonbenefits.php'),
- 'ho-HO.policy': require('../../../lang/ho-HO/policy.php'),
- 'ho-HO.races': require('../../../lang/ho-HO/races.php'),
- 'ho-HO.releasechangelogcategories': require('../../../lang/ho-HO/releasechangelogcategories.php'),
- 'ho-HO.routeattributes': require('../../../lang/ho-HO/routeattributes.php'),
- 'ho-HO.specializations': require('../../../lang/ho-HO/specializations.php'),
- 'ho-HO.teamroles': require('../../../lang/ho-HO/teamroles.php'),
+ 'ho_HO.messages': require('../../../lang/ho_HO/js.php'),
+ 'ho_HO.affixes': require('../../../lang/ho_HO/affixes.php'),
+ 'ho_HO.classes': require('../../../lang/ho_HO/classes.php'),
+ 'ho_HO.dungeons': require('../../../lang/ho_HO/dungeons.php'),
+ 'ho_HO.expansions': require('../../../lang/ho_HO/expansions.php'),
+ 'ho_HO.gameserverregions': require('../../../lang/ho_HO/gameserverregions.php'),
+ 'ho_HO.factions': require('../../../lang/ho_HO/factions.php'),
+ 'ho_HO.mapicontypes': require('../../../lang/ho_HO/mapicontypes.php'),
+ 'ho_HO.mapping': require('../../../lang/ho_HO/mapping.php'),
+ 'ho_HO.npcclasses': require('../../../lang/ho_HO/npcclasses.php'),
+ 'ho_HO.npcclassifications': require('../../../lang/ho_HO/npcclassifications.php'),
+ 'ho_HO.patreonbenefits': require('../../../lang/ho_HO/patreonbenefits.php'),
+ 'ho_HO.policy': require('../../../lang/ho_HO/policy.php'),
+ 'ho_HO.races': require('../../../lang/ho_HO/races.php'),
+ 'ho_HO.releasechangelogcategories': require('../../../lang/ho_HO/releasechangelogcategories.php'),
+ 'ho_HO.routeattributes': require('../../../lang/ho_HO/routeattributes.php'),
+ 'ho_HO.specializations': require('../../../lang/ho_HO/specializations.php'),
+ 'ho_HO.teamroles': require('../../../lang/ho_HO/teamroles.php'),
}