# Переводы сценариев

Строки в сценарии можно переводить на другие языки.

По умолчанию, если у сценария нет перевода, для всех языков будет выводиться текст, прописанный в исходном сценарии.

### Подготовка сценария

Первое, что нужно сделать — это подготовить сценарий для перевода.

Следующие команды сценария поддерживают переводы:

- [Команда вывода текста](https://docs.lmr.su/books/komandy-scenariia/page/vyvod-teksta "Вывод текста")
- [menu](https://docs.lmr.su/books/komandy-scenariia/page/menu "menu")

Для каждой такой команды, текст которой нужно перевести, необходимо придумать уникальный идентификатор. Он прописывается в самом начале команды через двоеточие:

```
# пример сценария с локализируемыми командами
text1: "Эти падающие лепестки сакуры..."

menu 
{
    text2: "Опция 1"
    {
      "..."
    }

    text3: "Опция 2"
    {
      "..."
    }
}
```

Здесь `text1`, `text2` и `text3` — идентификаторы строк для переводов. Они необязательно должны называться именно так, можно написать любое название (однако оно подчиняется общим правилам составления имён — только латинские буквы, цифры и нижнее подчёркивание), но оно обязательно должно начинаться с буквы.

### Файл перевода

Переводы для сценариев хранятся в **.csv**-файлах.

Рассмотрим перевод первого дня игрового сценария:

[![image.png](https://docs.lmr.su/uploads/images/gallery/2023-08/scaled-1680-/uUUtOOdAZDDGx3A3-image.png)](https://docs.lmr.su/uploads/images/gallery/2023-08/uUUtOOdAZDDGx3A3-image.png)

Как можно увидеть из примера — в первом столбце прописываются идентификаторы, во втором — строки (включая кавычки), которые необходимо заменить в игре — со всеми тэгами.

Чтобы прописать в строке кавычку (т.е., чтобы она отображалась непосредственно в игре), нужно перед ней поставить символ `\` — обратный слэш:

[![image.png](https://docs.lmr.su/uploads/images/gallery/2023-08/scaled-1680-/621DVWty9Mfj9WlD-image.png)](https://docs.lmr.su/uploads/images/gallery/2023-08/621DVWty9Mfj9WlD-image.png)

По сути, строки из файла перевода просто заменяют текстовую часть строки в игровом сценарии — поэтому синтаксис у них должен совпадать. В переводах также можно использовать переменные.

После создания файла перевода, вы можете [прописать его в resources.yaml](https://docs.lmr.su/books/gaid-po-moddingu/page/scenarios "scenarios").

#### Разделитель

Можно использовать любой разделитель, поддерживаемый **.csv**-форматом. Однако мы рекомендуем использовать символ `;`.

#### Примеры

Вы можете посмотреть, как устроены игровые сценарии и их переводы **[на этой странице.](https://docs.lmr.su/books/igrovye-resursy/page/scenarii-scenarios "scenarios")**