diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/html/Contributors.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/html/Contributors.java
index 34a1e3593..09f74895d 100644
--- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/html/Contributors.java
+++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/html/Contributors.java
@@ -105,7 +105,8 @@ public class Contributors {
new Contributor("ringoXD", LANG),
new Contributor("yu_solt", LANG),
new Contributor("lis2a", LANG),
- new Contributor("ToxiWoxi", CODE)
+ new Contributor("ToxiWoxi", CODE),
+ new Contributor("xlanyleeet", LANG)
};
private Contributors() {
diff --git a/Plan/common/src/main/java/com/djrapitops/plan/settings/locale/LangCode.java b/Plan/common/src/main/java/com/djrapitops/plan/settings/locale/LangCode.java
index e2cdeb6fa..38940f191 100644
--- a/Plan/common/src/main/java/com/djrapitops/plan/settings/locale/LangCode.java
+++ b/Plan/common/src/main/java/com/djrapitops/plan/settings/locale/LangCode.java
@@ -37,6 +37,7 @@ public enum LangCode {
NL("Nederlands", "Sander0542"),
RU("русский", "Saph1s, Perhun_Pak, BratishkaErik & stashenko"),
TR("Türkçe", "TDJisvan, BruilsiozPro & EyuphanMandiraci"),
+ UK("українська мова", "xlanyleeet"),
PT_BR("Português", "jvmuller"),
ZH_TW("\u6F22\u8A9E", "\u6d1b\u4f0a & zisunny104");
diff --git a/Plan/common/src/main/resources/assets/plan/locale/locale_UK.yml b/Plan/common/src/main/resources/assets/plan/locale/locale_UK.yml
new file mode 100644
index 000000000..fb84de5ae
--- /dev/null
+++ b/Plan/common/src/main/resources/assets/plan/locale/locale_UK.yml
@@ -0,0 +1,763 @@
+403AccessDenied: "У доступі відмовлено"
+command:
+ argument:
+ backupFile:
+ description: "Назва резервної копії (чутливе до регістру)"
+ name: "Резервна копія"
+ code:
+ description: "Код, використаний для реєстрації."
+ name: "${code}"
+ dbBackup:
+ description: "Тип датабази для резервної копії. Поточна база даних, якщо не вказано."
+ dbRestore:
+ description: "Тип датабази для відновлення. Поточна база даних, якщо не вказано."
+ dbTypeHotswap:
+ description: "Тип датабази для початку використання."
+ dbTypeMoveFrom:
+ description: "Тип датабази для переміщення інформації з."
+ dbTypeMoveTo:
+ description: "Тип датабази для перемістити інформацію в. Може бути не однаковою з попередньою."
+ dbTypeRemove:
+ description: "Тип датабази для видалення всіх даних."
+ exportKind: "вид експорту"
+ feature:
+ description: "Тип датабази для відключення: ${0}"
+ name: "функція"
+ importKind: "вид імпорту"
+ nameOrUUID:
+ description: "Нікнейм чи UUID гравця"
+ name: "нікнейм/uuid"
+ removeDescription: "Ідентифікатор гравця, якого буде видалено з поточної бази даних."
+ server:
+ description: "Нікнейм, ID чи UUID серверу"
+ name: "сервер"
+ subcommand:
+ description: "Використовуйте команду без аргументів, для допомоги."
+ name: "під-команда"
+ username:
+ description: "Нікнейм іншого гравця. Якщо не вказано гравця, використовується пов'язаний користувач."
+ name: "нікнейм"
+ confirmation:
+ accept: "Прийняти"
+ cancelNoChanges: "Скасовано. Нічого не було змінено."
+ cancelNoUnregister: "Скасовано. '${0}' не було видалено"
+ confirm: "Підтвердити: "
+ dbClear: "Ви точно хочете видалити всю Plan-дату в ${0}"
+ dbOverwrite: "Ви точно хочете переписати всю інформацію ${0} на ${1}"
+ dbRemovePlayer: "Ви точно хочете видалити гравця ${0} з ${1}"
+ deny: "Скасувати"
+ expired: "Термін підтвердження закінчився, використовуйте команду заново"
+ unregister: "Ви точно хочете видалити '${0}', прив`язаного до ${1}"
+ database:
+ creatingBackup: "Створюємо резервну копію '${0}.db' з даними про ${1}"
+ failDbNotOpen: "§cБаза даних ${0} - Будь ласка, спробуйте знову трохи пізніше."
+ manage:
+ confirm: "> §cДодайте аргумент '-a' для підтвердження виконання: ${0}"
+ confirmOverwrite: "Дані в ${0} будуть перезаписані!"
+ confirmPartialRemoval: "Дані адреси приєднання для сервера ${0} в ${1} будуть видалені!"
+ confirmRemoval: "Дані в ${0} будуть видалені!"
+ fail: "> §cЩось пішло не так: ${0}"
+ failFileNotFound: "> §cФайл не знайдено в ${0}"
+ failIncorrectDB: "> §c'${0}' непідтримувана база даних."
+ failNoServer: "Сервер із цими параметрами не знайдено."
+ failSameDB: "> §cНе можна працювати з однією і тією ж базою даних!"
+ failSameServer: "Неможливо позначити цей сервер як видалений (Ви на ньому)"
+ hotswap: "§eНе забудьте змінити на нову базу даних (/plan db hotswap ${0}) і перезавантажити плагін."
+ importers: "Імпортери:"
+ preparing: "Підготовка..."
+ progress: "${0} / ${1} зроблено.."
+ start: "> §2Обробка даних.."
+ success: "> §aУспіх!"
+ playerRemoval: "Видаляємо гравця ${0} з ${1}.."
+ removal: "Видаляємо дату з ${0}.."
+ serverUninstalled: "§aЯкщо сервер все ще встановлений, він додасться як встановлений у базі даних."
+ unregister: "Видаляємо '${0}'.."
+ warnDbNotOpen: "§eБаза даних ${0} - Це може зайняти більше часу, ніж очікувалося."
+ write: "Записуємо в ${0}.."
+ fail:
+ emptyString: "Рядок для пошуку не може бути порожнім"
+ invalidArguments: "Приймає таке як ${0}: ${1}"
+ invalidUsername: "§cКористувач не має UUID."
+ missingArguments: "§cПотрібен аргумент (${0}) ${1}"
+ missingFeature: "§eВизначте функцію для вимкнення! (в даний час підтримує ${0})"
+ missingLink: "Користувач не пов'язаний з вашим обліковим записом, і у вас немає прав на видалення облікових записів інших користувачів."
+ noPermission: "§cУ вас немає необхідних прав."
+ onAccept: "Під час виконання підтвердженої дії виникла помилка: ${0}"
+ onDeny: "Під час виконання скасованої дії виникла помилка: ${0}"
+ playerNotFound: "Гравець '${0}' не був знайдений, він не має UUID."
+ playerNotInDatabase: "Гравець '${0}' не був знайдений у базі даних."
+ seeConfig: "дивіться '${0}' в config.yml"
+ serverNotFound: "Сервер '${0}' не був знайдений у базі даних."
+ tooManyArguments: "§cПотрібен тільки один аргумент ${1}"
+ unknownUsername: "§cКористувач не був помічений на цьому сервері"
+ webUserExists: "§cКористувач уже існує!"
+ webUserNotFound: "§cКористувача не існує!"
+ footer:
+ help: "§7Наведіть вказівник миші на команду або аргументи, або використовуйте '/${0} ?' для довідки."
+ general:
+ failNoExporter: "§eЕкспортера '${0}' не існує"
+ failNoImporter: "§eІмпортера '${0}' не існує"
+ featureDisabled: "§aТимчасово відключено '${0}' до наступного перезавантаження плагіна."
+ noAddress: "§eАдреса недоступна - використовується localhost як запасний IP. Налаштуйте 'Alternative_IP'."
+ noWebuser: "Можливо, ви не маєте веб-користувача, використовуйте /plan register <пароль>"
+ notifyWebUserRegister: "Зареєстровано нового користувача: '${0}' Рівень прав: ${1}"
+ pluginDisabled: "§aPlan зараз вимкнено. Ви все ще можете використовувати reload для перезавантаження плагіна."
+ reloadComplete: "§aПерезавантаження завершено"
+ reloadFailed: "§cЩось пішло не так під час перезавантаження плагіна, рекомендується перезапуск сервера."
+ successWebUserRegister: "§aНового користувача (${0}) успішно додано!"
+ webPermissionLevels: ">\§70: Доступ до всіх сторінок\§71: Доступ до '/players' і всіх сторінок гравців\§72: Доступ до сторінки гравця з тим самим ім'ям користувача, що й для веб-користувача\§73+: Немає прав"
+ webUserList: " §2${0} §7: §f${1}"
+ header:
+ analysis: "> §2Результати аналізу"
+ help: "> §2/${0} Допомога"
+ info: "> §2Аналітика гравця"
+ inspect: "> §2Гравець: §f${0}"
+ network: "> §2Мережева сторінка"
+ players: "> §2Гравці"
+ search: "> §2${0} Результати для §f${1}§2:"
+ serverList: "id::назва::uuid::version"
+ servers: "> §2Сервери"
+ webUserList: "ім`я користувача::прив`язаний до::рівень прав"
+ webUsers: "> §2${0} Веб-користувачі"
+ help:
+ database:
+ description: "Управління датабазою Plan"
+ inDepth: "Використовуйте різні аргументи, щоб змінити базу даних."
+ dbBackup:
+ description: "Зробити резервну копію бази даних у файл"
+ inDepth: "Використовує SQLite для резервної копії потрібної бази даних у файл."
+ dbClear:
+ description: "Видалити ВСЮ Plan інформацію з бази даних"
+ inDepth: "Очищає всі таблиці Plan, видаляючи всі дані Plan у процесі."
+ dbHotswap:
+ description: "Швидка зміна бази даних"
+ inDepth: "Перезавантажує плагін з іншою базою даних і змінює конфігурацію відповідно."
+ dbMove:
+ description: "Переміщення даних між базами даних"
+ inDepth: "Перезаписує вміст однієї бази даних вмістом іншої бази даних."
+ dbRemove:
+ description: "Видалити гравців із поточної датабази"
+ inDepth: "Видаляє всі дані, пов'язані з гравцем, з поточної бази даних."
+ dbRestore:
+ description: "Відновити інформацію з файлу в базу даних"
+ inDepth: "Використовує файл резервної копії SQLite і перезаписує вміст цільової бази даних."
+ dbUninstalled:
+ description: "Встановити сервер як не встановлений."
+ inDepth: "Позначає сервер у базі даних Plan як видалений, щоб він не відображався в запитах сервера."
+ disable:
+ description: "Вимкнути плагін або його частину"
+ inDepth: "Вимкніть плагін або його частину до наступного перезавантаження/перезапуску."
+ export:
+ description: "Експортувати HTML або JSON файли самостійно"
+ inDepth: "Виконує експорт у місце експорту, вказане в конфігурації."
+ import:
+ description: "Імпортувати дату"
+ inDepth: "Виконує імпорт для завантаження даних у дата базу."
+ info:
+ description: "Інформація про плагін"
+ inDepth: "Показати поточний статус плагіна."
+ ingame:
+ description: "Перегляд інформації про гравця в грі"
+ inDepth: "Відображає деяку інформацію про гравця в грі."
+ json:
+ description: "Подивитися дані гравця у вигляді JSON."
+ inDepth: "Дає змогу завантажувати дані гравця у форматі JSON. На цьому все!"
+ logout:
+ description: "Розлогінити інших користувачів панелі."
+ inDepth: "Вкажіть аргумент імені користувача для його примусового виходу з панелі, або вкажіть аргумент * (для всіх)."
+ migrateToOnlineUuids:
+ description: "Перенесення офлайн-даних uuid в онлайн-uuid"
+ network:
+ description: "Перегляд веб-сторінки"
+ inDepth: "Отримати посилання на сторінку /network, тільки в мережах."
+ player:
+ description: "Перегляд сторінки гравця"
+ inDepth: "Отримайте посилання на сторінку /player певного гравця або поточного гравця."
+ players:
+ description: "Перегляд сторінки з гравцями"
+ inDepth: "Отримайте посилання на сторінку /players, щоб побачити список гравців."
+ register:
+ description: "Зареєструвати веб-користувача"
+ inDepth: "Використовуйте без аргументів, щоб отримати посилання на сторінку реєстрації. Використовуйте --code [код] після реєстрації, щоб отримати користувача."
+ reload:
+ description: "Перезавантажити Plan"
+ inDepth: "Перезавантажити плагін, щоб перепрочитати конфігурацію."
+ removejoinaddresses:
+ description: "Видалити адреси приєднання зазначеного сервера"
+ search:
+ description: "Пошук за іменем гравця"
+ inDepth: "Перелічіть усі імена гравців, що відповідають заданій частині імені."
+ server:
+ description: "Перегляд сторінки сервера"
+ inDepth: "Отримайте посилання на сторінку /server, певного сервера або на поточний сервер, якщо не вказані аргументи."
+ servers:
+ description: "Список серверів у базі даних"
+ inDepth: "Список айді, нікнеймів і UUID серверів у базі даних."
+ unregister:
+ description: "Видалити веб-користувача"
+ inDepth: "Використовуйте без аргументів, щоб скасувати реєстрацію користувача."
+ users:
+ description: "Список усіх веб-користувачів"
+ inDepth: "Список веб-користувачів у вигляді таблиці."
+ ingame:
+ activePlaytime: " §2Активний час гри: §f${0}"
+ activityIndex: " §2Індекс активності: §f${0} | ${1}"
+ afkPlaytime: " §2Час AFK: §f${0}"
+ deaths: " §2Смерті: §f${0}"
+ geolocation: " §2Приєднався з: §f${0}"
+ lastSeen: " §2Останнє відвідування: §f${0}"
+ longestSession: " §2Найдовша сесія: §f${0}"
+ mobKills: " §2Вбито мобів: §f${0}"
+ playerKills: " §2Вбито гравців: §f${0}"
+ playtime: " §2Час гри: §f${0}"
+ registered: " §2Зареєструвався: §f${0}"
+ timesKicked: " §2Кількість кіків: §f${0}"
+ link:
+ clickMe: "Натисни на мене"
+ link: "Посилання"
+ network: "Сторінка мережі: "
+ noNetwork: "Сервер не підключений до мережі. Посилання перенаправляє на головну сторінку."
+ player: "Сторінка гравця: "
+ playerJson: "JSON Сторінка гравця: "
+ players: "Сторінка гравців: "
+ register: "Реєстраційна сторінка: "
+ server: "Сторінка серверів: "
+ subcommand:
+ info:
+ database: " §2Поточна база даних: §f${0}"
+ proxy: " §2Підключений до проксі: §f${0}"
+ serverUUID: " §2Сервер UUID: §f${0}"
+ update: " §2Доступне оновлення: §f${0}"
+ version: " §2Версія: §f${0}"
+generic:
+ noData: "Немає даних"
+html:
+ button:
+ nightMode: "Нічний режим"
+ calendar:
+ new: "Нове:"
+ unique: "Унікальних:"
+ description:
+ newPlayerRetention: "Це значення є прогнозом, заснованим на попередніх гравцях."
+ noData24h: "Сервер не надсилав дані більше 24 годин."
+ noData30d: "Сервер не надсилав дані більше 30 днів."
+ noData7d: "Сервер не надсилав дані більше 7 днів."
+ noGameServers: "Для деяких даних потрібне встановлення Plan на ігрові сервери."
+ noGeolocations: "Збір геолокації має бути ввімкнений у конфігурації (ПРОЧИТАЙТЕ і прийміть GeoLite2 EULA)."
+ noServerOnlinActivity: "Немає сервера для відображення онлайн активності"
+ noServers: "У базі даних не знайдено жодного сервера"
+ noServersLong: 'Схоже, що Plan не встановлено на жодному ігровому сервері або не підключено до тієї самої бази даних. Дивіться вікі для допомоги.'
+ noSpongeChunks: "Чанки не доступні на Sponge"
+ performanceNoGameServers: "Дані TPS, Entity або Chunk не збираються з проксі-серверів, оскільки вони не мають ігрового циклу."
+ predictedNewPlayerRetention: "Це значення є прогнозом на основі попередніх гравців"
+ error:
+ 401Unauthorized: "Не авторизований"
+ 403Forbidden: "Заборонено"
+ 404NotFound: "Не виявлено"
+ 404PageNotFound: "Сторінка не існує."
+ 404UnknownPage: "Переконайтеся, що ви отримуєте доступ до посилання, заданого командою, Приклади:
/player/{uuid/name}
/server/{uuid/name/id}
"
+ UUIDNotFound: "UUID гравця не знайдено в базі даних."
+ auth:
+ dbClosed: "База даних не відкрита, перевірте статус БД за допомогою /plan info"
+ emptyForm: "Ім`я користувача та пароль не вказані"
+ expiredCookie: "Термін дії файлу cookie користувача закінчився"
+ generic: "Помилка під час авторизації"
+ loginFailed: "Користувач і пароль не збігаються"
+ noCookie: "Користувацький файл cookie відсутній"
+ registrationFailed: "Реєстрація не вдалася, спробуйте ще раз (Код перестане діяти через 15 хвилин)"
+ userNotFound: "Користувач не існує"
+ authFailed: "Помилка аутентифікації."
+ authFailedTips: "- Переконайтеся, що ви зареєстрували користувача за допомогою /plan register
- Перевірте правильність імені користувача та пароля
- Ім`я користувача та пароль чутливі до регістру
Якщо ви забули ваш пароль, попросіть співробітника видалити вашого старого користувача і перереєструвати вас."
+ noServersOnline: "Немає серверів у мережі для виконання запиту."
+ playerNotSeen: "Plan ще не бачив цього гравця."
+ serverNotExported: "Сервер не існує, можливо, його дані ще не були експортовані."
+ serverNotSeen: "Сервер не існує"
+ generic:
+ none: "Ніхто"
+ label:
+ active: "Активний"
+ activePlaytime: "Активний час гри"
+ activityIndex: "Індекс активності"
+ afk: "AFK"
+ afkTime: "Час AFK"
+ all: "Всі"
+ allTime: "Весь час"
+ alphabetical: "За алфавітом"
+ apply: "Застосувати"
+ asNumbers: "В числах"
+ average: "Середня тривалість першого сеансу"
+ averageActivePlaytime: "Середній час активної гри"
+ averageAfkTime: "Середній час AFK"
+ averageChunks: "Серед. Чанків"
+ averageCpuUsage: "Середнє завантаження ЦП"
+ averageEntities: "Серед. Істот"
+ averageKdr: "Серед. KDR"
+ averageMobKdr: "Серед. моб KDR"
+ averagePing: "Середній пінг"
+ averagePlayers: "Середня кількість гравців"
+ averagePlaytime: "Середній час гри"
+ averageRamUsage: "Середнє використання пам'яті"
+ averageServerDowntime: "Середній час простою / сервер"
+ averageSessionLength: "Середня тривалість сесії"
+ averageSessions: "Середня сесія"
+ averageTps: "Середній TPS"
+ averageTps7days: "Середній TPS (7 днів)"
+ banned: "Заблокований"
+ bestPeak: "Максимальний Пік"
+ bestPing: "Найкращий пінг"
+ calendar: "Календар"
+ comparing7days: "Порівняння 7 днів"
+ connectionInfo: "Інформація про з`єднання"
+ country: "Країна"
+ cpu: "ЦП"
+ cpuRam: "ЦП & ОЗП"
+ cpuUsage: "Використання ЦП"
+ currentPlayerbase: "Поточна база гравців"
+ currentUptime: "Час безвідмовної роботи"
+ dayByDay: "Статистика за днями"
+ dayOfweek: "День тижня"
+ deadliestWeapon: "Найсмертоносніша зброя в PvP"
+ deaths: "Смерті"
+ disk: "Дисковий простір"
+ diskSpace: "Вільний дисковий простір"
+ downtime: "Час простою"
+ duringLowTps: "Під час низького TPS:"
+ entities: "Об`єкти"
+ exported: "Час експорту даних"
+ favoriteServer: "Улюблений сервер"
+ firstSession: "Перша сесія"
+ firstSessionLength:
+ average: "Середня тривалість першої сесії"
+ median: "Медіана тривалості першої сесії"
+ geoProjection:
+ dropdown: "Виберіть проекцію"
+ equalEarth: "Рівна Земля"
+ mercator: "Меркатор"
+ miller: "Міллер"
+ ortographic: "Орфографічний"
+ geolocations: "Геолокація"
+ help:
+ activityIndexBasis: "Індекс активності базується на ігровому часі за останні 3 тижні (21 день). Кожен тиждень розглядається окремо."
+ activityIndexExample1: "Якщо хтось грає більше порогу щотижня, він отримує індекс активності ~3."
+ activityIndexExample2: "Дуже активні - це ~2x поріг (y ≥ 3.75)."
+ activityIndexExample3: "Індекс наближається до 5 нескінченно."
+ activityIndexVisual: "Ось візуалізація кривої, де y - індекс активності, а x - час гри на тиждень / поріг."
+ activityIndexWeek: "Тиждень {}"
+ examples: "Приклади"
+ graph:
+ labels: "Ви можете приховати/показати групу, натиснувши на ярлик внизу."
+ title: "Графік"
+ zoom: "Ви можете збільшити масштаб, клацнувши і перетягнувши графік."
+ playtimeUnit: "годин"
+ retention:
+ calculationStep1: "Спочатку дані фільтруються за допомогою опції '<>'. Гравці з параметром 'registerDate' за межами часового діапазону ігноруються."
+ calculationStep2: "Потім вони групуються в групи гравців за допомогою опції '<0>', наприклад, з '<1>': Всі гравці, які зареєструвалися в січні 2023 року, лютому 2023 року і т.д."
+ calculationStep3: "Потім за допомогою опцій '<0>' і '<1>' виберіть візуалізацію, яку потрібно відобразити."
+ calculationStep4: "'<>' контролює кількість точок на графіку, наприклад, 'Дні' має одну точку на день."
+ calculationStep5: "На кожній розрахованій точці всі гравці перевіряються на виконання умови."
+ calculationStep6: "Виберіть вісь X нижче, щоб побачити умови."
+ calculationStepDate: "Ця візуалізація показує різні групи гравців, які все ще грають на вашому сервері. Візуалізація використовує дату останнього відвідування. Якщо x < lastSeenDate, гравця видно на графіку."
+ calculationStepDeltas: "Ця візуалізація є найбільш ефективною, якщо використовувати кількість гравців як вісь Y. Візуалізація показує чистий приріст гравців (скільки гравців приєдналося мінус гравці, які припинили грати). Візуалізація використовує як дату реєстрації, так і дату останнього відвідування. Якщо registerDate < x < lastSeenDate, гравця видно на графіку."
+ calculationStepPlaytime: "Ця візуалізація показує, як довго цикл гри утримує гравців на вашому сервері. Візуалізація використовує час гри. Якщо x < playtime, гравець відображається на графіку."
+ calculationStepTime: "Ця візуалізація показує, як довго люди продовжують грати на сервері після того, як вони приєдналися до нього вперше. Візуалізація використовує timeDifference. Якщо x < timeDifference, гравця видно на графіку."
+ compareJoinAddress: "Групування за адресою приєднання дозволяє вимірювати рекламні кампанії на різних сайтах."
+ compareMonths: "Ви можете порівняти різні місяці, змінивши опцію '<0>' на '<1>'"
+ examples:
+ adCampaign: "Порівняння виграшу гравців у різних рекламних кампаніях з використанням різних адрес приєднання (анонімно)"
+ deltas: "<> показує чистий виграш гравців."
+ pattern: "Загальна закономірність з'являється, коли всі гравці починають залишати сервер одночасно"
+ plateau: "Порівняння приросту гравців за різні місяці. Плато вказують на те, що були гравці, про яких Plan не знає. У цьому прикладі Plan було встановлено у січні 2022 року."
+ playtime: "Час гри показує, як довго цикл гри утримує гравців на вашому сервері."
+ stack: "Кумулятивний виграш гравця можна перевірити за допомогою стекового рахунку гравців на осі Y"
+ howIsItCalculated: "Як це розраховується"
+ howIsItCalculatedData: "Графік генерується на основі даних гравців:"
+ options: "Виберіть опції для аналізу різних аспектів утримання гравців."
+ retentionBasis: "Утримання нових гравців розраховується на основі даних сесії. Якщо зареєстрований гравець грав протягом другої половини часового інтервалу, він вважається утриманим."
+ testPrompt: "Перевірте це:"
+ testResult: "Результат тесту"
+ threshold: "Поріг"
+ thresholdUnit: "годин / тиждень"
+ tips: "Поради"
+ usingTheGraph: "Використання графіка"
+ hourByHour: "Статистика по годинах"
+ inactive: "Неактивний"
+ indexInactive: "Неактивний"
+ indexRegular: "Регулярний"
+ information: "Інформація"
+ insights: "Інсайти"
+ insights30days: "Статистика за 30 днів"
+ irregular: "Нерегулярний"
+ joinAddress: "Адреса входу"
+ joinAddresses: "Адреси входу"
+ kdr: "KDR"
+ killed: "Убитий"
+ last24hours: "Останні 24 години"
+ last30days: "Останні 30 днів"
+ last7days: "Останні 7 днів"
+ lastConnected: "Останнє підключення"
+ lastPeak: "Останній Пік"
+ lastSeen: "Останнє відвідування"
+ latestJoinAddresses: "Останні адреси приєднання"
+ length: "Довжина"
+ links: "Посилання"
+ loadedChunks: "Завантажені чанки"
+ loadedEntities: "Завантажені об'єкти"
+ loneJoins: "Одинак приєднався"
+ loneNewbieJoins: "Самотній новачок приєднується"
+ longestSession: "Найдовша сесія"
+ lowTpsSpikes: "Низький TPS"
+ lowTpsSpikes7days: "Низькі піки TPS (7 днів)"
+ maxFreeDisk: "Макс. вільний диск"
+ medianSessionLength: "Середня тривалість сеансу"
+ minFreeDisk: "Мін. вільний диск"
+ mobDeaths: "Смерть через мобів"
+ mobKdr: "Моб KDR"
+ mobKills: "Вбивства мобів"
+ mostActiveGamemode: "Найактивніший ігровий режим"
+ mostPlayedWorld: "Найпопулярніший світ"
+ name: "Ім'я"
+ network: "Мережа"
+ networkAsNumbers: "Мережа в числах"
+ networkOnlineActivity: "Мережева активність"
+ networkOverview: "Огляд мережі"
+ networkPage: "Мережева сторінка"
+ new: "Новий"
+ newPlayerRetention: "Збереження нового гравця"
+ newPlayers: "Нові гравці"
+ newPlayers7days: "Нові гравці (7 днів)"
+ nickname: "Нікнейм"
+ noDataToDisplay: "Немає даних для відображення"
+ now: "Зараз"
+ onlineActivity: "Мережева активність"
+ onlineActivityAsNumbers: "Мережева активність у числах"
+ onlineOnFirstJoin: "Кількість гравців онлайн при першому приєднанні"
+ operator: "Оператор"
+ overview: "Огляд"
+ perDay: "/ День"
+ perPlayer: "/ Гравець"
+ perRegularPlayer: "/ Постійний гравець"
+ performance: "Продуктивність"
+ performanceAsNumbers: "Продуктивність у числах"
+ ping: "Пінг"
+ player: "Гравець"
+ playerDeaths: "Смерть через гравців"
+ playerKills: "Вбито гравців"
+ playerKillsVictimIndicator: "Гравця було вбито протягом 24 годин після того, як його було вперше помічено (Час з моменту реєстрації: <>)."
+ playerList: "Список гравців"
+ playerOverview: "Огляд гравця"
+ playerPage: "Сторінка гравця"
+ playerRetention: "Утримання гравця"
+ playerbase: "База гравців"
+ playerbaseDevelopment: "Розвиток бази гравців"
+ playerbaseOverview: "Огляд бази гравців"
+ players: "Гравці"
+ playersOnline: "Гравці онлайн"
+ playersOnlineNow: "Гравці онлайн (зараз)"
+ playersOnlineOverview: "Огляд мережевої активності"
+ playtime: "Час гри"
+ plugins: "Плагіни"
+ pluginsOverview: "Огляд плагінів"
+ punchcard: "Перфокарти"
+ punchcard30days: "30-денна перфокарта"
+ pvpPve: "PvP та PvE"
+ pvpPveAsNumbers: "PvP та PvE в числах"
+ query: "Зробити запит"
+ quickView: "Швидкий перегляд"
+ ram: "Пам'ять"
+ ramUsage: "Використання пам'яті"
+ recentKills: "Нещодавні вбивства"
+ recentPvpDeaths: "Нещодавні PvP смерті"
+ recentPvpKills: "Нещодавні PvP вбивства"
+ recentSessions: "Нещодавні сесії"
+ registered: "Зареєстровано"
+ registeredPlayers: "Зареєстровані гравці"
+ regular: "Постійний"
+ regularPlayers: "Постійні гравці"
+ relativeJoinActivity: "Порівняльна активність приєднання"
+ retention:
+ groupByNone: "Без групування"
+ groupByTime: "Група зареєстрована"
+ inAnytime: "в будь-який час"
+ inLast180d: "за останні 6 місяців"
+ inLast30d: "за останні 30 днів"
+ inLast365d: "за останні 12 місяців"
+ inLast730d: "за останні 24 місяці"
+ inLast7d: "за останні 7 днів"
+ inLast90d: "за останні 3 місяці"
+ playersRegisteredInTime: "Гравці, які зареєструвалися"
+ retainedPlayersPercentage: "Збережені гравці %"
+ timeSinceRegistered: "Час з моменту реєстрації"
+ timeStep: "Часовий крок"
+ secondDeadliestWeapon: "2-га PvP зброя"
+ seenNicknames: "Побачені нікнейми"
+ server: "Сервер"
+ serverAnalysis: "Аналіз сервера"
+ serverAsNumberse: "Сервер у числах"
+ serverCalendar: "Календар сервера"
+ serverDowntime: "Час простою сервера"
+ serverOccupied: "Сервер зайнятий"
+ serverOverview: "Огляд сервера"
+ serverPage: "Сторінка сервера"
+ serverPlaytime: "Час гри на сервері"
+ serverPlaytime30days: "Час гри на сервері за 30 днів"
+ serverSelector: "Вибір сервера"
+ servers: "Сервери"
+ serversTitle: "Сервери"
+ session: "Сесія"
+ sessionCalendar: "Календар сесії"
+ sessionEnded: "Кінець сесії"
+ sessionMedian: "Середня сесія"
+ sessionStart: "Сесія розпочалася"
+ sessions: "Сесії"
+ sortBy: "Сортувати за"
+ stacked: "Складено"
+ themeSelect: "Вибір теми"
+ thirdDeadliestWeapon: "3-тя PvP зброя"
+ thirtyDays: "30 днів"
+ thirtyDaysAgo: "30 днів тому"
+ time:
+ date: "Дата"
+ day: "День"
+ days: "Дні"
+ hours: "Години"
+ month: "Місяць"
+ months: "Місяці"
+ week: "Тиждень"
+ weeks: "Тижні"
+ year: "Рік"
+ timesKicked: "Кількість кіків"
+ toMainPage: "На головну сторінку"
+ total: "Загалом"
+ totalActive: "Загальна активність"
+ totalAfk: "Загалом AFK"
+ totalPlayers: "Загалом гравців"
+ totalPlayersOld: "Всього гравців"
+ totalPlaytime: "Загальний час гри"
+ totalServerDowntime: "Загальний час простою сервера"
+ tps: "TPS"
+ trend: "Тенденція"
+ trends30days: "Тенденція за 30 днів"
+ uniquePlayers: "Унікальні гравці"
+ uniquePlayers7days: "Унікальні гравці (7 днів)"
+ unit:
+ percentage: "Відсоток"
+ playerCount: "Кількість гравців"
+ veryActive: "Дуже активний"
+ weekComparison: "Порівняння за тиждень"
+ weekdays: "'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П`ятниця', 'Субота', 'Неділя'"
+ world: "Завантаження світу"
+ worldPlaytime: "Час гри у світі"
+ worstPing: "Найгірший пінг"
+ xAxis: "Вісь X"
+ yAxis: "Вісь Y"
+ login:
+ failed: "Логін невдалий: "
+ forgotPassword: "Забули пароль?"
+ forgotPassword1: "Забули пароль? Видаліть себе і зареєструйтеся заново."
+ forgotPassword2: "Використовуйте таку команду в грі, щоб видалити поточного користувача:"
+ forgotPassword3: "Або використовуйте консоль:"
+ forgotPassword4: "Після використання команди, "
+ login: "Вхід"
+ logout: "Вихід"
+ password: "Пароль"
+ register: "Створіть акаунт!"
+ username: "Ім'я користувача"
+ modal:
+ info:
+ bugs: "Повідомити про проблеми"
+ contributors:
+ bugreporters: "& Баг репортери!"
+ code: "автор коду"
+ donate: "Особлива подяка тим, хто надав фінансову підтримку."
+ text: 'Крім того, дані чудові люди зробили свій внесок:'
+ translator: "перекладач"
+ developer: "розроблено"
+ discord: "Загальна підтримка в Discord"
+ license: "Player Analytics розроблений і ліцензований під"
+ metrics: "bStats метрики"
+ text: "Інформація про плагін"
+ wiki: "Plan Вікі, туторіали та документація"
+ version:
+ available: "доступний"
+ changelog: "Перегляд журналу змін"
+ dev: "Ця версія є DEV релізом."
+ download: "Завантажити"
+ text: "Нову версію було випущено і тепер вона доступна для скачування."
+ title: "Версія"
+ query:
+ filter:
+ activity:
+ text: "в Активних групах"
+ banStatus:
+ name: "Блок статус"
+ banned: "Заблокований"
+ country:
+ text: "приєднався з"
+ generic:
+ allPlayers: "Усі гравці"
+ and: "додати "
+ start: "з гравців, хто "
+ hasPlayedOnServers:
+ name: "Грав на одному з серверів"
+ text: "грали хоча б на одному з"
+ hasPluginBooleanValue:
+ name: "Має булеве значення плагіна"
+ text: "мають булеве значення плагіна"
+ joinAddress:
+ text: "зайшов за адресою"
+ nonOperators: "Немає операторів"
+ notBanned: "Немає заблокованих"
+ operatorStatus:
+ name: "Оп-статус"
+ operators: "Оператори"
+ playedBetween:
+ text: "Грав між"
+ pluginGroup:
+ name: "Група: "
+ text: "в ${plugin} ${group} Групах"
+ registeredBetween:
+ text: "Зареєструвався між"
+ skipped: "Пропущено"
+ title:
+ activityGroup: "Група поточної діяльності"
+ view: " Перегляд:"
+ filters:
+ add: "Додати фільтр.."
+ loading: "Завантаження фільтрів.."
+ generic:
+ are: "``"
+ label:
+ from: ">з"
+ makeAnother: "Зробити інший запит"
+ servers:
+ all: "використовуючи дані всіх серверів"
+ many: "з використанням даних {number} серверів"
+ single: "з використанням даних 1 сервера"
+ two: "з використанням даних 2 серверів"
+ to: ">в"
+ view: "Показувати результат"
+ performQuery: "Виконати запит!"
+ results:
+ match: "знайдено ${resultCount} гравців"
+ none: "Запит дав 0 результатів"
+ title: "Результати запиту"
+ title:
+ activity: "Активність обраних гравців"
+ activityOnDate: 'Активність на '
+ sessionsWithinView: "Сеанси в межах видимості"
+ text: "Запит<"
+ register:
+ completion: "Реєстрація завершена"
+ completion1: "Ви маєте закінчити реєстрацію користувача."
+ completion2: "Код перестане діяти через 15 хвилин"
+ completion3: "Використовуйте таку команду для закінчення реєстрації:"
+ completion4: "Або використовуйте консоль:"
+ createNewUser: "Створюємо нового користувача"
+ disabled: "У конфігурації вимкнено реєстрацію нових користувачів."
+ error:
+ checkFailed: "Не вдалося перевірити статус реєстрації: "
+ failed: "Реєстрація не вдалася: "
+ noPassword: "Вам потрібно вказати пароль"
+ noUsername: "Вам потрібно вказати ім'я користувача"
+ usernameLength: "Нікнейм має бути не довшим за 50 символів, у вас "
+ login: "Уже є акаунт? Увійдіть!"
+ passwordTip: "Пароль має бути не менше 8 символів."
+ register: "Реєстрація"
+ success: "Ви успішно зареєстрували нового користувача! Тепер ви можете увійти в систему."
+ usernameTip: "Нікнейм має бути не довшим за 50 символів."
+ text:
+ clickToExpand: "Натисніть, щоб розгорнути"
+ comparing15days: "Порівняння 15 днів"
+ comparing30daysAgo: "Порівняння 30 днів тому і зараз"
+ noExtensionData: "Немає даних про розширення"
+ noLowTps: "Немає низьких TPS"
+ unit:
+ chunks: "Чанки"
+ players: "Гравці"
+ value:
+ localMachine: "Локальна машина"
+ noKills: "Немає вбивств"
+ offline: " Не в мережі"
+ online: " У мережі"
+ with: "З"
+ version:
+ changelog: "Переглянути журнал змін"
+ current: "Версія ${0}"
+ download: "Завантажити Plan-${0}.jar"
+ isDev: "Це DEV версія."
+ updateButton: "Оновити"
+ updateModal:
+ text: "Вийшла нова версія, вона доступна для завантаження."
+ title: "Версія ${0} доступна!"
+plugin:
+ apiCSSAdded: "Розширення сторінки: ${0} додав таблиці стилів у ${1}, ${2}"
+ apiJSAdded: "Розширення сторінки: ${0} додав JavaScript(и) до ${1}, ${2}"
+ disable:
+ database: "Обробка критичних необроблених завдань. (${0})"
+ disabled: "Аналітику гравця вимкнено."
+ processingComplete: "Обробку завершено."
+ savingSessions: "Збереження незавершених сесій.."
+ savingSessionsTimeout: "Перевищено тайм-аут, натомість незавершені сеанси зберігаються під час наступного ввімкнення."
+ waitingDb: "Чекаємо закінчення запитів, щоб SQLite не крашнув JVM..."
+ waitingDbComplete: "Закрито SQLite з'єднання."
+ waitingTransactions: "Очікування незавершених транзакцій, щоб уникнути втрати даних."
+ waitingTransactionsComplete: "Запити транзакцій закрито."
+ webserver: "Веб-сервер було вимкнено."
+ enable:
+ database: "${0}-з'єднання з базою даних встановлено."
+ enabled: "Аналітику гравця ввімкнено."
+ fail:
+ database: "${0}-Помилка підключення до бази даних: ${1}"
+ databasePatch: "Помилка оновлення бази даних, плагін має бути вимкнено. Будь ласка, повідомте про цю проблему"
+ databaseType: "${0} непідтримувана база даних"
+ geoDBWrite: "Щось пішло не так під час збереження завантаженої бази геолокації GeoLite2"
+ webServer: "Веб-сервер не ініціалізовано!"
+ notify:
+ badIP: "0.0.0.0 не є допустимою адресою, налаштуйте параметри Alternative_IP. Можуть бути дані невірні посилання!"
+ emptyIP: "IP в server.properties пустий, а Alternative_IP не використовується. Можуть бути дані невірні посилання!"
+ geoDisabled: "Геолокаційний збір не активний. (Data.Geolocations: false)"
+ geoInternetRequired: "Plan'у Потрібен доступ в Інтернет під час першого запуску, щоб завантажити базу геолокації GeoLite2."
+ storeSessions: "Зберігання сеансів, які були збережені до попереднього вимкнення."
+ webserverDisabled: "Веб-сервер не було ініціалізовано. (WebServer.DisableWebServer: true)"
+ webserver: "Веб-сервер працює на порті ${0} ( ${1} )"
+ generic:
+ dbApplyingPatch: "Застосування виправлень: ${0}.."
+ dbFaultyLaunchOptions: "Параметри запуску були помилковими, використовуються стандартні (${0})"
+ dbNotifyClean: "Видалено дані ${0} гравців."
+ dbNotifySQLiteWAL: "Режим SQLite WAL не підтримується на цій версії сервера, використовується стандартний. Можливо, це вплине на продуктивність."
+ dbPatchesAlreadyApplied: "Усі виправлення бази даних уже застосовано."
+ dbPatchesApplied: "Усі виправлення бази даних успішно застосовано."
+ dbSchemaPatch: "База даних: переконайтеся, що схема оновлена."
+ loadedServerInfo: "Ідентифікатор сервера завантажено: ${0}"
+ loadingServerInfo: "Завантаження ідентифікаційної інформації сервера"
+ no: "Ні"
+ today: "'Сьогодні'"
+ unavailable: "Недоступний"
+ unknown: "Невідомий"
+ yes: "Так"
+ yesterday: "'Вчора'"
+ version:
+ checkFail: "Не вдалося перевірити номер останньої версії"
+ checkFailGithub: "Інформація про версію не може бути завантажена з Github/versions.txt"
+ isDev: " Це DEV реліз."
+ isLatest: "Ви використовуєте останню версію."
+ updateAvailable: "Новий реліз (${0}) доступний ${1}"
+ updateAvailableSpigot: "Нова версія доступна на ${0}"
+ webserver:
+ fail:
+ SSLContext: "Веб-сервер: збій ініціалізації контексту SSL."
+ certFileEOF: "Веб-сервер: EOF під час читання файлу сертифіката. (Переконайтеся, що файл не порожній)"
+ certStoreLoad: "Веб-сервер: збій завантаження сертифіката SSL."
+ portInUse: "Веб-сервер не було успішно ініціалізовано. Порт (${0}) використовується?"
+ notify:
+ authDisabledConfig: "Веб-сервер: авторизацію користувача вимкнено! (Вимкнено в конфігурації)"
+ authDisabledNoHTTPS: "Веб-сервер: авторизацію користувача відключено! (Не захищений через HTTP)"
+ certificateExpiresOn: "Веб-сервер: завантажений сертифікат дійсний до ${0}."
+ certificateExpiresPassed: "Веб-сервер: Термін дії сертифіката закінчився, розгляньте можливість продовження сертифіката."
+ certificateExpiresSoon: "Веб-сервер: термін дії сертифіката закінчується через ${0}, розгляньте можливість продовження сертифіката."
+ certificateNoSuchAlias: "Веб-сервер: сертифікат із псевдонімом '${0}' не знайдений у файлі сховища ключів '${1}'."
+ http: "Веб-сервер: Немає сертифіката -> Використання HTTP-сервера для візуалізації."
+ ipWhitelist: "Веб-сервер: Білий список IP адрес увімкнено."
+ ipWhitelistBlock: "Веб-сервер: ${0} було відмовлено в доступі до '${1}'. (не в білому списку)"
+ noCertFile: "Веб-сервер: файл сховища ключів сертифіката не знайдено: ${0}"
+ reverseProxy: "Веб-сервер: HTTPS у режимі проксі ввімкнено, переконайтеся, що ваш зворотний проксі-сервер виконує маршрутизацію з використанням HTTPS, і Plan Alternative_IP.Address вказує на проксі"
|