82 lines
3.7 KiB
Markdown
82 lines
3.7 KiB
Markdown
# Chat Translator
|
||
|
||
[English](README.md) | **Русский**
|
||
|
||
Мод для NeoForge (Minecraft **1.21.1**), который автоматически переводит чат так, чтобы каждый игрок видел сообщения на своём языке. Использует [LibreTranslate](https://libretranslate.com).
|
||
|
||
## Возможности
|
||
|
||
- Перевод для каждого игрока: каждый получатель видит сообщение на своём языке
|
||
- Поддержка ванильных клиентов: они просто видят оригинальный текст (для перевода нужен мод и на клиенте)
|
||
- Язык игрока: из локали клиента с модом, из настроек ванильного клиента или автодетект текста сообщения (`/detect`)
|
||
- GUI настроек в игре (клавиша по умолчанию не назначена)
|
||
- Кеш переводов с настраиваемым временем жизни
|
||
- Опциональный показ оригинала под переводом
|
||
|
||
## Требования
|
||
|
||
| Сторона | Нужен мод | Результат |
|
||
|---------|-----------|-----------|
|
||
| Сервер + Клиент | да | Полный перевод |
|
||
| Только сервер | сервер | Игроки видят оригинал |
|
||
| Только клиент | клиент | Ничего не делает |
|
||
|
||
- Minecraft 1.21.1
|
||
- NeoForge 21.1.x
|
||
- Доступный инстанс LibreTranslate
|
||
|
||
## Установка
|
||
|
||
1. Положите `chattranslator-x.y.z.jar` в папку `mods/` **на сервере и/или клиенте**.
|
||
2. Убедитесь, что доступен LibreTranslate (см. ниже).
|
||
3. На сервере отредактируйте `config/chattranslator-server.toml`:
|
||
|
||
```toml
|
||
[server]
|
||
enabled = true
|
||
libretranslate_url = "http://localhost:5000"
|
||
api_key = ""
|
||
show_original = true
|
||
autodetect_language = false
|
||
cache_minutes = 30
|
||
request_timeout_ms = 5000
|
||
```
|
||
|
||
### Запуск LibreTranslate
|
||
|
||
Локально через Docker:
|
||
|
||
```bash
|
||
docker run -p 5000:5000 libretranslate/libretranslate
|
||
```
|
||
|
||
`https://libretranslate.com` тоже подходит, но требует API-ключ.
|
||
|
||
## Использование
|
||
|
||
Откройте GUI настроек назначенной клавишей (**Настройки → Управление → Клавиши → Chat Translator**). Там можно выбрать свой язык, проверить соединение с LibreTranslate и включить/выключить показ оригинала.
|
||
|
||
> Примечание: GUI меняет *серверный* конфиг, поэтому реально работает только в одиночной игре. На выделенном сервере используйте конфиг-файл или команды ниже.
|
||
|
||
### Команды (для операторов)
|
||
|
||
| Команда | Описание |
|
||
|---------|----------|
|
||
| `/chattranslate status` | Статус и текущий URL |
|
||
| `/chattranslate enable` / `disable` | Включить / выключить перевод глобально |
|
||
| `/chattranslate seturl <url>` | Задать адрес LibreTranslate |
|
||
| `/chattranslate setkey <key>` | Задать API-ключ |
|
||
| `/chattranslate showoriginal <true\|false>` | Показывать оригинал под переводом |
|
||
| `/chattranslate clearcache` | Очистить кеш переводов |
|
||
|
||
## Сборка из исходников
|
||
|
||
```bash
|
||
gradlew build
|
||
```
|
||
|
||
Готовый jar появится в `build/libs/chattranslator-1.0.0.jar`.
|
||
|
||
## Лицензия
|
||
|
||
[MIT](LICENSE)
|