diff --git a/src/main/resources/locales/ru.yml b/src/main/resources/locales/ru.yml
new file mode 100644
index 0000000..5735c5c
--- /dev/null
+++ b/src/main/resources/locales/ru.yml
@@ -0,0 +1,215 @@
+# ######################################################################################## #
+# Это YML файл. Будьте осторожны при редактировании. Проверяйте свои правки #
+# в YAML валидаторе, например, на http://yaml-online-parser.appspot.com #
+# ######################################################################################## #
+
+admin:
+ level:
+ parameters: <игрок>
+ description: рассчитать уровень острова для игрока
+ sethandicap:
+ parameters: <игрок> [+/-]<гандикап>
+ description: 'установить или изменить гандикап острова. Например, +10 уберёт 10 очков, 30 установит гандикап в 30, а -20 добавит 20 очков.'
+ changed: 'Начальный гандикап острова изменён с [number] на [new_number].'
+ invalid-level: 'Неверный гандикап. Используйте целое число.'
+ levelstatus:
+ description: показать, сколько островов находится в очереди на сканирование
+ islands-in-queue: 'Островов в очереди: [number]'
+ top:
+ description: открывает панель с десяткой лучших по уровню острова
+ unknown-world: 'Неизвестный мир!'
+ display: '[rank]. [name] - [level]'
+ remove:
+ description: удалить игрока из десятки лучших по уровню острова
+ parameters: <игрок>
+ stats:
+ description: показать статистику по островам на этом сервере
+ title: Статистика островов сервера
+ world: '[name]'
+ no-data: 'Нет данных для обработки.'
+ average-level: 'Средний уровень острова: [number]'
+ median-level: 'Медианный уровень острова: [number]'
+ mode-level: 'Модальный уровень острова: [number]'
+ highest-level: 'Наивысший уровень острова: [number]'
+ lowest-level: 'Низший уровень острова: [number]'
+ distribution: 'Распределение уровней островов:'
+ islands: остров(а)
+island:
+ level:
+ parameters: <игрок>
+ description: рассчитать уровень вашего острова
+ calculating: 'Вычисление уровня...'
+ estimated-wait: 'Предполагаемое ожидание: [number] секунд.'
+ in-queue: 'Вы номер [number] в очереди.'
+ island-level-is: 'Уровень острова: [level]'
+ required-points-to-next-level: 'Прогресс уровня: [progress]/[levelcost] очков.'
+ deaths: '([number] смертей)'
+ cooldown: 'Вы должны подождать [time] секунд, прежде чем повторить это.'
+ in-progress: 'Вычисление уровня острова уже выполняется...'
+ time-out: 'Вычисление уровня заняло слишком много времени. Пожалуйста, попробуйте позже.'
+ detail:
+ description: показать информацию о блоках на вашем острове
+ top:
+ description: показать десятку лучших по уровню острова
+ gui-title: 'Десятка лучших'
+ gui-heading: '[name]: [rank]'
+ island-level: 'Уровень [level]'
+ warp-to: 'Телепортация на остров [name]'
+
+ level-details:
+ above-sea-level-blocks: Блоки выше уровня моря
+ spawners: Спавнера
+ underwater-blocks: Подводные блоки
+ all-blocks: Все блоки
+ no-island: 'Нет острова!'
+ names-island: 'Остров [name]'
+ syntax: '[name] x [number]'
+ hint: 'Перейдите на уровень, чтобы просмотреть отчёт по блокам.'
+
+level:
+ commands:
+ value:
+ parameters: '[HAND|<материал>]'
+ description: показывает ценность блоков. Добавьте "HAND" в конце, чтобы отобразить ценность предмета в руке.
+ gui:
+ titles:
+ top: 'Топ островов'
+ detail-panel: 'Остров [name]'
+ value-panel: 'Ценность блоков'
+ buttons:
+ island:
+ empty: 'Место [name]'
+ name: '[name]'
+ description: |-
+ [owner]
+ [members]
+ [place]
+ [level]
+ # Текст, заменяющий [name], если у острова нет имени.
+ owners-island: 'Остров [player]'
+ # Текст для [owner] в описании.
+ owner: 'Владелец: [player]'
+ # Заголовок перед списком участников для [members] в описании
+ members-title: 'Участники:'
+ # Список каждого участника под заголовком для [members] в описании
+ member: ' - [player]'
+ # Имя неизвестного игрока.
+ unknown: неизвестно
+ # Секция для [place]
+ place: '[number]. место'
+ # Секция для [level]
+ level: 'Уровень: [number]'
+ material:
+ name: '[number] x [material]'
+ description: |-
+ [description]
+ [count]
+ [value]
+ [calculated]
+ [limit]
+ [id]
+ id: 'ID блока: [id]'
+ value: 'Ценность блока: [number]'
+ limit: 'Лимит блоков: [number]'
+ count: 'Количество блоков: [number]'
+ calculated: 'Общая ценность: [number]'
+ value_blocks:
+ name: 'Все блоки с ценностью'
+ description: |-
+ Показать все блоки имеющие
+ ценность на острове.
+ all_blocks:
+ name: 'Все блоки'
+ description: |-
+ Показать все блоки
+ на острове.
+ above_sea_level:
+ name: 'Блоки выше уровня моря'
+ description: |-
+ Показать блоки, которые находятся
+ выше уровня моря.
+ underwater:
+ name: 'Блоки ниже уровня моря'
+ description: |-
+ Показать блоки, которые находятся
+ ниже уровня моря.
+ spawner:
+ name: 'Спавнера'
+ description: 'Показать только спавнера.'
+ block-name: 'Спавнер'
+ filters:
+ name:
+ name: 'Сортировать по имени'
+ description: 'Сортировать все блоки по имени.'
+ value:
+ name: 'Сортировать по ценности'
+ description: 'Сортировать все блоки по их ценности.'
+ count:
+ name: 'Сортировать по количеству'
+ description: 'Сортировать все блоки по их количеству.'
+ value:
+ name: '[material]'
+ description: |-
+ [description]
+ [value]
+ [underwater]
+ [limit]
+ [id]
+ id: 'ID блока: [id]'
+ value: 'Ценность блока: [number]'
+ underwater: 'Ниже уровня моря: [number]'
+ limit: 'Лимит блоков: [number]'
+ # Кнопка для возврата на предыдущую страницу в многостраничных интерфейсах.
+ previous:
+ name: 'Предыдущая страница'
+ description: 'Переключиться на страницу [number]'
+ next:
+ name: 'Следующая страница'
+ description: 'Переключиться на страницу [number]'
+ search:
+ name: 'Поиск по ID'
+ description: |-
+ Вписывайте ID блока. Очистить
+ поиск можно нажав ПКМ.
+ search: 'Значение: [value]'
+ tips:
+ click-to-view: 'Нажмите для просмотра.'
+ click-to-previous: 'Нажмите для просмотра предыдущей страницы.'
+ click-to-next: 'Нажмите для просмотра следующей страницы.'
+ click-to-select: 'Нажмите для выбора.'
+ left-click-to-cycle-up: 'ЛКМ для перебора вверх.'
+ right-click-to-cycle-down: 'ПКМ для перебора вниз.'
+ left-click-to-change: 'ЛКМ для редактирования.'
+ right-click-to-clear: 'ПКМ для очистки.'
+ click-to-asc: 'Нажмите для сортировки по возрастанию.'
+ click-to-desc: 'Нажмите для сортировки по убыванию.'
+ click-to-warp: 'Нажмите для телепортации.'
+ click-to-visit: 'Нажмите для посещения.'
+ right-click-to-visit: 'ПКМ для посещения.'
+ conversations:
+ # Префикс для сообщений, отправляемых сервером.
+ prefix: '[BentoBox]: '
+ no-data: 'Запустите команду, чтобы просмотреть отчёт по блокам.'
+ # Строка для отмены ввода. (может быть только одна)
+ cancel-string: отмена
+ # Список строк для выхода из ввода. (разделяются запятыми)
+ exit-string: отмена, выход, выйти
+ # Сообщение с запросом ввода значения поиска.
+ write-search: 'Пожалуйста, введите значение поиска. (Напишите "отмена" для выхода)'
+ # Сообщение после обновления значения поиска.
+ search-updated: 'Значение поиска обновлено.'
+ # Сообщение, отправляемое пользователю при отмене ввода.
+ cancelled: 'Ввод отменён!'
+ # Сообщение, если у указанного материала нет ценности.
+ no-value: 'У этого предмета нет ценности.'
+ # Сообщение, если запрошенный материал не существует.
+ unknown-item: '"[material]" не существует в игре.'
+ # Сообщение при запросе ценности конкретного материала.
+ value: 'Ценность "[material]" составляет: [value] очков.'
+ value-underwater: 'Ценность "[material]" ниже уровня моря: [value]'
+ # Сообщение, если у игрока в руке нет предмета.
+ empty-hand: 'В вашей руке нет блока.'
+ # Сообщение о количестве размещённых блоков.
+ you-have: 'При последнем подсчёте у вас [number].'
+ # Сообщение о лимите.
+ you-can-place: 'Вы можете разместить до [number] блоков, и они будут учтены.'