Skip to content

Локализация

С помощью локализации вы можете настроить сообщения и текст в UI плагинов под разные языки ваших игроков.
Вы можете настроить любой поддерживаемый язык в RUST для своих плагинов, основными являются русский и английский

Нужна ли мне локализация?

Локализация играет ключевую роль, если ваш сервер Rust ориентирован на разноязычную аудиторию.
Она позволяет каждому игроку видеть интерфейс, сообщения и взаимодействия на своем родном языке, создавая комфортную и понятную игровую среду.

Основные преимущества локализации:

  1. Доступность для всех игроков – независимо от национальности, каждый сможет легко ориентироваться в интерфейсе и игровом процессе.
  2. Повышение вовлеченности – игроки чувствуют себя более комфортно и проводят больше времени на сервере, если все на их языке.
  3. Конкурентное преимущество – среди множества серверов игроки выберут тот, где им удобнее играть.

Локализация – это не просто перевод, а способ сделать ваш сервер дружелюбным, удобным и популярным среди игроков со всего мира.

Что такое языковые файлы?

Языковые файлы – это основа локализации в Oxide, позволяющая плагинам поддерживать различные языки.
Эти файлы содержат переводы текстов и сообщений, используемых в плагинах, и помогают адаптировать сервер Rust для игроков с разными языковыми предпочтениями.

Как работают языковые файлы?

  1. Каждый плагин с поддержкой локализации имеет свой набор языковых файлов.
  2. Для каждого языка создается отдельный файл с переведенными фразами.
  3. Файлы имеют формат JSON, что делает их удобными для редактирования.

Где находятся языковые файлы в системе плагинов Oxide?

Языковые файлы Oxide хранятся в каталоге установки сервера, в папке: /oxide/lang/

Внутри lang каждый поддерживаемый язык имеет свой собственный подкаталог, содержащий файлы переводов для различных плагинов.

text
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 и откроем файл

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.

json
{
  "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}

json
{
  "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 файле.
Поддерживаемая разметка :

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>",

Опубликовано под лицензией MIT.
Данный проект не является официальной документацией Facepunch/Rust.
Это общественная база знаний, созданная для удобства администраторов и игроков.