- Remove outdated CODE_REVIEW_RU.md and REFACTORING_SERVICES.md documentation - Add badwords.txt resource file for swear filter functionality - Rebuild compiled classes with updated filter and configuration logic - Update all configuration files (appearance, discord, filters, messages) - Rebuild core components: ConfigManager, PluginInitializer, SwearFilter, GradientModule, PrefixService, PlayerEventListener, EnhancedChatRenderer - Consolidate build artifacts with source changes for consistency
225 lines
19 KiB
YAML
225 lines
19 KiB
YAML
# ╔══════════════════════════════════════════════════════════════════════════════╗
|
||
# ║ LoChat — messages.yml ║
|
||
# ║ Default palette (Spacelegacy): #7858E9 (dusty rose) → #7858E9 (violet) ║
|
||
# ╚══════════════════════════════════════════════════════════════════════════════╝
|
||
#
|
||
# Color roles (reference when editing strings below):
|
||
# ẲE9 — primary labels / body (dusty rose)
|
||
# ⚖C9 — accents / separators (mid violet)
|
||
# ẲE9 — emphasis / values (deep violet)
|
||
# &f / #E8E0F0 — message body white
|
||
# &#CF6679 — errors (muted red, fits the palette)
|
||
|
||
prefix: "ẲE9[⚖C9LB6BD6oẲE9CⅵDChB6BD6a⚖C9tẲE9]"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Global chat (toggle messages, server-disabled notice) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
global:
|
||
toggled-on: "⚖C9Глобальный чат ẲE9включён"
|
||
toggled-off: "⚖C9Глобальный чат ẲE9отключён"
|
||
disabled: "&#CF6679Глобальный чат отключён на этом сервере"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Local chat (no recipients nearby) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
local:
|
||
no-players: "ẲE9Рядом нет игроков"
|
||
nobody-heard: "⚖C9Вас никто не услышал ẲE9— рядом нет игроков"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Private messages (/msg, /reply) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
pm:
|
||
format-sent: "ẲE9[⚖C9→ẲE9] ⚖C9Вы ẲE9→ {receiver_display}ẲE9: &f{message}"
|
||
format-received: "ẲE9[⚖C9←ẲE9] {sender_display} ẲE9→ ⚖C9ВыẲE9: &f{message}"
|
||
use-gradient-names: true
|
||
sent: "ẲE9[⚖C9→ẲE9] ⚖C9Вы ẲE9→ &f{player}ẲE9: &f{message}"
|
||
received: "ẲE9[⚖C9←ẲE9] &f{player} ẲE9→ ⚖C9ВыẲE9: &f{message}"
|
||
no-reply: "&#CF6679Некому ответить"
|
||
ignored: "&#CF6679Этот игрок вас игнорирует"
|
||
player-offline: "&#CF6679Игрок не в сети"
|
||
self: "&#CF6679Нельзя писать самому себе"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Ignore list │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
ignore:
|
||
added: "⚖C9Игрок ẲE9{player} ⚖C9добавлен в игнор"
|
||
removed: "⚖C9Игрок ẲE9{player} ⚖C9убран из игнора"
|
||
already-ignored: "ẲE9Игрок ẲE9{player} ẲE9уже в игноре"
|
||
not-ignored: "ẲE9Игрок ẲE9{player} ẲE9не в игноре"
|
||
self: "&#CF6679Нельзя игнорировать самого себя"
|
||
list-empty: "ẲE9Ваш список игнора пуст"
|
||
list-header: "ẲE9▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬"
|
||
list-footer: "ẲE9Всего: ẲE9{count} ẲE9игроков"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Announcements │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
announce:
|
||
reloaded: "⚖C9Конфигурация ẲE9перезагружена"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Chat spy (moderation) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
spy:
|
||
enabled: "⚖C9Режим шпиона ẲE9включён"
|
||
disabled: "⚖C9Режим шпиона ẲE9отключён"
|
||
format: "ẲE9[⚖C9SPYẲE9] ẲE9{sender} ẲE9→ ⚖C9{receiver}ẲE9: &f{message}"
|
||
chat-format: "ẲE9[⚖C9SPYẲE9] ẲE9{type} ẲE9{sender}ẲE9: &f{message}"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Message filters │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
filter:
|
||
blocked: "&#CF6679Сообщение заблокировано"
|
||
warning: "ẲE9Предупреждение"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Cooldowns │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
cooldown:
|
||
wait: "ẲE9Подождите ẲE9{time} ẲE9сек"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Anti-spam (caps, repeat, similar messages) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
antispam:
|
||
caps: "&#CF6679Не кричите в чате"
|
||
repeat: "&#CF6679Не повторяйте символы"
|
||
similar: "&#CF6679Не отправляйте одинаковые сообщения"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Clear chat │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
clearchat:
|
||
cleared: "⚖C9Чат очищен ẲE9администратором ẲE9{player}"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Command / usage errors │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
errors:
|
||
no-permission: "&#CF6679Нет прав"
|
||
player-not-found: "&#CF6679Игрок не найден"
|
||
invalid-usage: "ẲE9Использование: ẲE9{usage}"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ General (permissions, reload, hub, etc.) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
general:
|
||
no-permission: "&#CF6679У вас нет прав!"
|
||
players-only: "&#CF6679Только для игроков!"
|
||
config-reloaded: "⚖C9Конфиг ẲE9перезагружен!"
|
||
invalid-player: "&#CF6679Игрок ẲE9{player} &#CF6679не найден!"
|
||
cooldown-active: "ẲE9Подождите ẲE9{time}с"
|
||
command-disabled: "&#CF6679Команда отключена!"
|
||
|
||
hub:
|
||
connecting: "⚖C9Подключение к ẲE9{server}⚖C9..."
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Mutes │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
mute:
|
||
muted: "⚖C9Игрок ẲE9{player} ⚖C9замучен на ẲE9{time}"
|
||
unmuted: "⚖C9Игрок ẲE9{player} ⚖C9размучен"
|
||
already-muted: "ẲE9Игрок ẲE9{player} ẲE9уже замучен"
|
||
not-muted: "ẲE9Игрок ẲE9{player} ẲE9не замучен"
|
||
you-muted: "&#CF6679Вы замучены! ẲE9Осталось: ẲE9{time}"
|
||
permanent: "&#CF6679Вы замучены навсегда!"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Gradient nick module (LoPreff) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
gradient:
|
||
color-set: "⚖C9Градиент ẲE9установлен!"
|
||
color-enabled: "⚖C9Градиентный ник ẲE9включён"
|
||
color-disabled: "ẲE9Градиентный ник ⚖C9отключён"
|
||
color-reset: "ẲE9Градиент сброшен"
|
||
prefix-set: "⚖C9Префикс ẲE9установлен!"
|
||
prefix-reset: "ẲE9Префикс сброшен"
|
||
prefix-reset-success: "⚖C9Префикс успешно ẲE9сброшен!"
|
||
prefix-enabled: "⚖C9Префикс ẲE9включён"
|
||
prefix-disabled: "ẲE9Префикс ⚖C9отключён"
|
||
invalid-hex: "&#CF6679Неверный HEX цвет: ẲE9{color}"
|
||
invalid-color: "&#CF6679Неверный цвет: ẲE9{color}"
|
||
too-many-colors: "&#CF6679Слишком много цветов! Максимум: ẲE9{max}"
|
||
too-few-colors: "&#CF6679Слишком мало цветов! Минимум: ẲE9{min}"
|
||
not-enough-colors: "&#CF6679Слишком мало цветов! Минимум: ẲE9{min}"
|
||
cooldown: "ẲE9Подождите ẲE9{time} ẲE9сек"
|
||
not-enough-points: "&#CF6679Недостаточно поинтов! Нужно: ẲE9{price}"
|
||
not-enough-points-color: "&#CF6679Недостаточно поинтов! Нужно: ẲE9{price}"
|
||
not-enough-points-prefix: "&#CF6679Недостаточно поинтов! Нужно: ẲE9{price}"
|
||
player-not-found: "&#CF6679Игрок не найден"
|
||
color-help: "ẲE9Использование: ẲE9/color <HEX1> <HEX2>"
|
||
color-success: "⚖C9Градиент успешно ẲE9установлен!"
|
||
color-no-colors: "ẲE9У вас нет установленных цветов"
|
||
color-copy-usage: "ẲE9Использование: ẲE9/color copy <игрок>"
|
||
color-copy-no-colors: "ẲE9У игрока ẲE9{player} ẲE9нет цветов"
|
||
prefix-help: "ẲE9Использование: ẲE9/prefix <текст> ẲE9или ẲE9/prefix reset"
|
||
prefix-success: "⚖C9Префикс установлен! ẲE9Стоимость: ẲE9{price} ẲE9поинтов"
|
||
prefix-success-free: "⚖C9Префикс ẲE9установлен!"
|
||
prefix-no-prefix: "ẲE9У вас нет префикса"
|
||
prefix-too-long: "&#CF6679Префикс слишком длинный! Максимум: ẲE9{max}"
|
||
prefix-no-colors: "&#CF6679Префикс не может содержать цветовые коды!"
|
||
prefix-invalid-chars: "&#CF6679Недопустимые символы в префиксе!"
|
||
prefix-blacklisted: "&#CF6679Этот префикс запрещён!"
|
||
only-player: "&#CF6679Только для игроков!"
|
||
no-permission: "&#CF6679Нет прав!"
|
||
reload-success: "⚖C9Конфигурация ẲE9перезагружена!"
|
||
info-header: "ẲE9▬▬▬▬▬▬▬▬ ẲE9{player} ẲE9▬▬▬▬▬▬▬▬"
|
||
info-prefix: "ẲE9Префикс: &f{prefix}"
|
||
info-prefix-enabled: "ẲE9Префикс активен: &f{enabled}"
|
||
info-colors: "ẲE9Цвета: &f{colors}"
|
||
info-color-enabled: "ẲE9Цвет активен: &f{enabled}"
|
||
info-prefix-purchased: "ẲE9Куплен: &f{purchased}"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Custom nicknames (/nick) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
nick:
|
||
current: "ẲE9Ваш ник: ẲE9{nick}"
|
||
usage: "ẲE9Использование: ẲE9/nick <ник> ẲE9или ẲE9/nick reset"
|
||
reset-usage: "ẲE9Используйте ẲE9/nick reset ẲE9для сброса"
|
||
set-usage: "ẲE9Используйте ẲE9/nick <ник> ẲE9для установки"
|
||
no-nick: "ẲE9У вас нет кастомного ника"
|
||
reset-success: "⚖C9Ник ẲE9сброшен!"
|
||
set-success: "⚖C9Ник изменён на: &f{nick}"
|
||
invalid: "&#CF6679Невалидный ник!"
|
||
requirements-header: "ẲE9Требования:"
|
||
requirements-length: "⚖C9◆ &fДлина: 3-16 символов"
|
||
requirements-chars: "⚖C9◆ &fБуквы, цифры, _, русские буквы"
|
||
requirements-colors: "⚖C9◆ &fЦвета: ẲE9&#RRGGBBẲE9текст"
|
||
taken: "&#CF6679Этот ник уже занят!"
|
||
error: "&#CF6679Не удалось установить ник!"
|
||
|
||
# ┌─────────────────────────────────────────────────────────────────────────────┐
|
||
# │ Roleplay commands (/me, /try, /do, /roll) │
|
||
# └─────────────────────────────────────────────────────────────────────────────┘
|
||
|
||
rp:
|
||
me: "<color:#7858E9>* {player} {action}</color>"
|
||
try-format: "<color:#7858E9>* {player} пытается {action}...</color> {result}"
|
||
try-success: "<color:#9878C9><bold>[Успех!]</bold></color>"
|
||
try-fail: "<color:#CF6679><bold>[Провал!]</bold></color>"
|
||
do-format: "<color:#7858E9>[<color:#7858E9>Сцена</color>]</color> <white>{description}</white> <color:#9878C9>({player})</color>"
|
||
roll-format: "<color:#7858E9>* {player} бросает кубик и получает </color><color:#7858E9><bold>{result}</bold></color><color:#7858E9> из </color><color:#9878C9>{max}</color>"
|
||
roll-min-error: "<color:#CF6679>Минимальное значение кубика: 2</color>"
|
||
roll-max-error: "<color:#CF6679>Максимальное значение: 1000000</color>"
|
||
roll-invalid-number: "<color:#CF6679>Укажите число: /roll [максимум]</color>"
|