169 lines
6.9 KiB
TypeScript
169 lines
6.9 KiB
TypeScript
|
|
export const ru = {
|
|||
|
|
app: {
|
|||
|
|
title: "AI RPG",
|
|||
|
|
subtitle: "Гибкая ролевая игра с ИИ",
|
|||
|
|
},
|
|||
|
|
nav: {
|
|||
|
|
home: "Главная",
|
|||
|
|
dashboard: "Мои миры",
|
|||
|
|
admin: "Админка",
|
|||
|
|
logout: "Выйти",
|
|||
|
|
login: "Войти",
|
|||
|
|
register: "Регистрация",
|
|||
|
|
language: "Язык",
|
|||
|
|
},
|
|||
|
|
auth: {
|
|||
|
|
login_title: "Вход",
|
|||
|
|
register_title: "Регистрация",
|
|||
|
|
email: "Email",
|
|||
|
|
username: "Имя пользователя",
|
|||
|
|
password: "Пароль",
|
|||
|
|
login_btn: "Войти",
|
|||
|
|
register_btn: "Зарегистрироваться",
|
|||
|
|
no_account: "Нет аккаунта? Зарегистрируйтесь",
|
|||
|
|
have_account: "Уже есть аккаунт? Войдите",
|
|||
|
|
admin_setup_title: "Создание администратора",
|
|||
|
|
admin_setup_desc: "Введите токен из консоли backend, чтобы создать первого администратора.",
|
|||
|
|
admin_setup_token: "Токен инициализации",
|
|||
|
|
setup_btn: "Создать администратора",
|
|||
|
|
},
|
|||
|
|
worlds: {
|
|||
|
|
title: "Ваши миры",
|
|||
|
|
new: "Создать новый мир",
|
|||
|
|
empty: "У вас пока нет ни одного мира.",
|
|||
|
|
preset_choice: "Выберите пресет или начните с нуля",
|
|||
|
|
use_preset: "Из пресета",
|
|||
|
|
from_scratch: "С нуля",
|
|||
|
|
name: "Название мира",
|
|||
|
|
language: "Язык мира",
|
|||
|
|
create: "Создать",
|
|||
|
|
cancel: "Отмена",
|
|||
|
|
start: "Начать игру",
|
|||
|
|
continue: "Продолжить",
|
|||
|
|
edit: "Редактировать",
|
|||
|
|
delete: "Удалить",
|
|||
|
|
builder_title: "Конструктор мира",
|
|||
|
|
builder_desc: "Опишите свой мир — ИИ поможет его достроить.",
|
|||
|
|
setting_brief: "Сеттинг",
|
|||
|
|
setting_brief_ph: "Тёмное фэнтези в духе позднего средневековья...",
|
|||
|
|
character_brief: "Персонаж",
|
|||
|
|
character_brief_ph: "Молодой авантюрист, ищущий славы...",
|
|||
|
|
rules_brief: "Правила мира",
|
|||
|
|
rules_brief_ph: "Система магии с маной, пошаговый бой d20...",
|
|||
|
|
notes: "Дополнительные заметки",
|
|||
|
|
notes_ph: "Хочу сложную систему репутации с фракциями...",
|
|||
|
|
start_builder: "Начать диалог с ИИ",
|
|||
|
|
builder_history: "История диалога",
|
|||
|
|
builder_message_ph: "Ваш ответ или правки...",
|
|||
|
|
send: "Отправить",
|
|||
|
|
accept: "Принять мир и создать",
|
|||
|
|
accepting: "Создаём мир...",
|
|||
|
|
status_draft: "Черновик",
|
|||
|
|
status_ready: "Готов",
|
|||
|
|
status_active: "Активен",
|
|||
|
|
status_archived: "В архиве",
|
|||
|
|
},
|
|||
|
|
session: {
|
|||
|
|
title: "Сессия",
|
|||
|
|
back: "Назад к мирам",
|
|||
|
|
glossary: "Глоссарий",
|
|||
|
|
character: "Персонаж",
|
|||
|
|
edit_world: "Редактировать мир",
|
|||
|
|
history: "История",
|
|||
|
|
action_placeholder: "Что вы делаете?",
|
|||
|
|
send: "Действие",
|
|||
|
|
sending: "Думаю...",
|
|||
|
|
options: "Варианты",
|
|||
|
|
custom_action: "Или своё действие",
|
|||
|
|
status_planning: "Планирование...",
|
|||
|
|
status_orchestrator_turn: "Ход GM...",
|
|||
|
|
status_writing_scene: "Пишем сцену...",
|
|||
|
|
world_time: "Время мира",
|
|||
|
|
triggers_panel: "Отложенные события",
|
|||
|
|
no_messages: "Начните с первого действия!",
|
|||
|
|
new_session: "Новая сессия",
|
|||
|
|
error_iter: "Ошибка при выполнении итерации",
|
|||
|
|
},
|
|||
|
|
admin: {
|
|||
|
|
title: "Панель администратора",
|
|||
|
|
settings: "Настройки LLM",
|
|||
|
|
base_url: "OpenAI-совместимый endpoint",
|
|||
|
|
api_key: "API ключ",
|
|||
|
|
model: "Модель",
|
|||
|
|
temperature: "Temperature (orchestrator)",
|
|||
|
|
step_temperature: "Temperature (step writer)",
|
|||
|
|
summary_temperature: "Temperature (summarizer)",
|
|||
|
|
max_tokens: "Max tokens",
|
|||
|
|
request_timeout: "Таймаут (сек)",
|
|||
|
|
streaming: "Стриминг",
|
|||
|
|
context_settings: "Контекстный менеджер",
|
|||
|
|
recent_messages: "Гарантированных сообщений",
|
|||
|
|
compress_threshold: "Порог сжатия",
|
|||
|
|
summary_messages: "Сообщений на сводку",
|
|||
|
|
max_tokens_total: "Бюджет токенов контекста",
|
|||
|
|
trigger_settings: "Отложенные триггеры",
|
|||
|
|
triggers_enabled: "Включены",
|
|||
|
|
triggers_check_interval: "Интервал проверки (сек)",
|
|||
|
|
embedding_settings: "Эмбеддинги (RAG)",
|
|||
|
|
embedding_provider: "Провайдер",
|
|||
|
|
embedding_provider_hash: "Hash (офлайн-фолбэк, без семантики)",
|
|||
|
|
embedding_provider_openai: "OpenAI-compatible /embeddings",
|
|||
|
|
embedding_base_url: "Endpoint (пусто = как у LLM)",
|
|||
|
|
embedding_api_key: "API ключ (пусто = как у LLM)",
|
|||
|
|
embedding_model: "Модель эмбеддингов",
|
|||
|
|
embedding_dim: "Размерность (0 = авто-проба)",
|
|||
|
|
embedding_timeout: "Таймаут (сек)",
|
|||
|
|
embedding_test: "Проверить эмбеддинги",
|
|||
|
|
embedding_testing: "Проверяю...",
|
|||
|
|
embedding_test_ok: "OK: {{provider}} | dim={{dim}} | norm={{norm}}",
|
|||
|
|
embedding_test_fail: "Ошибка: {{error}}",
|
|||
|
|
save: "Сохранить",
|
|||
|
|
saved: "Сохранено!",
|
|||
|
|
llm_logs: "Логи LLM",
|
|||
|
|
users: "Пользователи",
|
|||
|
|
back: "Назад",
|
|||
|
|
},
|
|||
|
|
glossary: {
|
|||
|
|
title: "Глоссарий мира",
|
|||
|
|
npc: "NPC",
|
|||
|
|
location: "Локации",
|
|||
|
|
item: "Предметы",
|
|||
|
|
lore: "Лор",
|
|||
|
|
event: "События",
|
|||
|
|
rule: "Правила",
|
|||
|
|
empty: "Пока пусто. ИИ заполнит глоссарий по ходу игры.",
|
|||
|
|
},
|
|||
|
|
character: {
|
|||
|
|
title: "Лист персонажа",
|
|||
|
|
name: "Имя",
|
|||
|
|
race: "Раса",
|
|||
|
|
class: "Класс",
|
|||
|
|
level: "Уровень",
|
|||
|
|
stats: "Характеристики",
|
|||
|
|
inventory: "Инвентарь",
|
|||
|
|
effects: "Эффекты",
|
|||
|
|
gold: "Золото",
|
|||
|
|
location: "Локация",
|
|||
|
|
empty: "Нет данных о персонаже.",
|
|||
|
|
},
|
|||
|
|
common: {
|
|||
|
|
save: "Сохранить",
|
|||
|
|
cancel: "Отмена",
|
|||
|
|
delete: "Удалить",
|
|||
|
|
edit: "Редактировать",
|
|||
|
|
confirm: "Подтвердить",
|
|||
|
|
yes: "Да",
|
|||
|
|
no: "Нет",
|
|||
|
|
loading: "Загрузка...",
|
|||
|
|
error: "Ошибка",
|
|||
|
|
success: "Готово",
|
|||
|
|
not_found: "Не найдено",
|
|||
|
|
forbidden: "Доступ запрещён",
|
|||
|
|
},
|
|||
|
|
errors: {
|
|||
|
|
network: "Сетевая ошибка. Проверьте подключение.",
|
|||
|
|
unauthorized: "Не авторизован.",
|
|||
|
|
unknown: "Неизвестная ошибка.",
|
|||
|
|
},
|
|||
|
|
};
|