Локализация
С помощью локализации вы можете настроить сообщения и текст в UI плагинов под разные языки ваших игроков.
Вы можете настроить любой поддерживаемый язык в RUST для своих плагинов, основными являются русский и английский
Нужна ли мне локализация?
Локализация играет ключевую роль, если ваш сервер Rust ориентирован на разноязычную аудиторию.
Она позволяет каждому игроку видеть интерфейс, сообщения и взаимодействия на своем родном языке, создавая комфортную и понятную игровую среду.
Основные преимущества локализации:
- Доступность для всех игроков – независимо от национальности, каждый сможет легко ориентироваться в интерфейсе и игровом процессе.
- Повышение вовлеченности – игроки чувствуют себя более комфортно и проводят больше времени на сервере, если все на их языке.
- Конкурентное преимущество – среди множества серверов игроки выберут тот, где им удобнее играть.
Локализация – это не просто перевод, а способ сделать ваш сервер дружелюбным, удобным и популярным среди игроков со всего мира.
Что такое языковые файлы?
Языковые файлы – это основа локализации в Oxide, позволяющая плагинам поддерживать различные языки.
Эти файлы содержат переводы текстов и сообщений, используемых в плагинах, и помогают адаптировать сервер Rust для игроков с разными языковыми предпочтениями.
Как работают языковые файлы?
- Каждый плагин с поддержкой локализации имеет свой набор языковых файлов.
- Для каждого языка создается отдельный файл с переведенными фразами.
- Файлы имеют формат JSON, что делает их удобными для редактирования.
Где находятся языковые файлы в системе плагинов Oxide?
Языковые файлы Oxide хранятся в каталоге установки сервера, в папке: /oxide/lang/
Внутри lang каждый поддерживаемый язык имеет свой собственный подкаталог, содержащий файлы переводов для различных плагинов.
oxide/
├── lang/
│ ├── en/ # Английские переводы
│ │ ├── Vanish.json
│ │ ├── AnotherPlugin.json
│ ├── ru/ # Русские переводы
│ │ ├── Vanish.json
│ │ ├── AnotherPlugin.json
│ ├── fr/ # Французские переводы
│ │ ├── Vanish.json
│ │ ├── AnotherPlugin.jsonВ этом примере:oxide/lang/en/Vanish.json – файл локализации плагина Vanish для английского языка.oxide/lang/ru/Vanish.json – файл того же плагина, но с переводами на русский язык.oxide/lang/fr/Vanish.json – перевод на французский язык.
Как редактировать языковой файл?
Открыть нужный JSON-файл в текстовом редакторе, например в SublimeText
Возьмем и рассмотрим пример английской локализации от плагина Vanish, перейдем по пути /oxide/lang/en/Vanish.json и откроем файл
{
"VanishCommand": "vanish",
"Vanished": "Vanish: <color=orange> Enabled </color>",
"Reappear": "Vanish: <color=orange> Disabled </color>",
"NoPerms": "You do not have permission to do this",
"PermanentVanish": "You are in a permanent vanish mode",
"NoPlayers": "No players found using id: {0}"
}Знакомая структура, вы должны помнить ее из статьи - синтаксис JSON
Мы видим в этом примере формат в виде ключ : значение, для файлов локализации вы должны менять только пункт значение, пункт с ключом мы не трогаем, эти данные использует плагин внутри кода и если изменить ключ то мы можем нарушить работу плагина Вся локализация состоит из строк.
Для примера изменим просто цвет, мы видим, что используется orange в качестве цвета, мы заменим его на red.
{
"VanishCommand": "vanish",
"Vanished": "Vanish: <color=red> Enabled </color>",
"Reappear": "Vanish: <color=red> Disabled </color>",
"NoPerms": "You do not have permission to do this",
"PermanentVanish": "You are in a permanent vanish mode",
"NoPlayers": "No players found using id: {0}"
}Сохранить файл и просто перезагрузим плагин с помощью o.reload Vanish, чтобы изменения вступили в силу.
WARNING
Помните, что мы меняли файл английской локализации, поэтому чтобы вы могли увидеть изменения - ваш клиент RUST должен быть на английском языке
Ключи-замены (плейсхолдеры)
Вы могли заметить, что в плагине есть необычное значение в одной из строк - {0}
{
"VanishCommand": "vanish",
"Vanished": "Vanish: <color=red> Enabled </color>",
"Reappear": "Vanish: <color=red> Disabled </color>",
"NoPerms": "You do not have permission to do this",
"PermanentVanish": "You are in a permanent vanish mode",
"NoPlayers": "No players found using id: {0}"
}В плагинах Oxide часто используются специальные ключи-замены (или плейсхолдеры)* в виде {0}, {1}, {2} и так далее.
Они позволяют подставлять динамические значения в текст.
Как это работает?
Эти значения идут в строгой последовательности и нумерация начинается с 0. Например:Hello {0}, welcome to the server! Если {0} заменится на "Alice", то итоговый текст будет:Hello Alice, welcome to the server!
Расположение в тексте не имеет значения, но порядок чисел должен быть логичным. Например:Hello {1}, player {0} – это правильный вариант.Hello {2}, player {0} – ошибочный вариант, так как {2} не определено.
Что делает плагин?
Плагин автоматически заменяет ключи-замены {...} на нужные данные.
Например, если в конфигурации указано:Welcome {0}, online players: {1}
То плагин подставит реальные данные, например:Welcome Alex, online players: 25
Дополнительная разметка
Вы можете использовать дополнительную разметку в строке в вашем JSON файле.
Поддерживаемая разметка :
/// Перекрасили сообщение в красный цвет
"Key0" : "<color=red>Test message</color>",
/// Тут тоже перекрасили сообщение в красный цвет, используя HEX-цвет
"Key1" : "<color=#FF0000>Test message</color>",
/// Сделали текст жирным
"Key2" : "<b>Test message</b>",
/// Увеличили размер текста до 30
"Key3" : "<size=30>Test message</size>",
/// Вы можете все комбинировать
"Key4" : "<size=30><color=red><b>Test message</b></color></size>",