initial
This commit is contained in:
168
frontend/src/i18n/ru.ts
Normal file
168
frontend/src/i18n/ru.ts
Normal file
@@ -0,0 +1,168 @@
|
||||
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: "Неизвестная ошибка.",
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user