2026-02-18 21:08:48 +05:00
|
|
|
|
# APP INFO
|
2026-01-07 05:04:04 +05:00
|
|
|
|
app-name = JARVIS
|
|
|
|
|
|
app-description = Голосовой ассистент
|
|
|
|
|
|
|
2026-02-18 21:08:48 +05:00
|
|
|
|
# TRAY MENU
|
2026-01-07 05:04:04 +05:00
|
|
|
|
tray-restart = Перезапустить
|
|
|
|
|
|
tray-settings = Настройки
|
|
|
|
|
|
tray-exit = Выход
|
|
|
|
|
|
tray-tooltip = JARVIS - Голосовой ассистент
|
2026-02-18 21:08:48 +05:00
|
|
|
|
tray-language = Язык
|
|
|
|
|
|
tray-voice = Голос
|
|
|
|
|
|
tray-wake-word = Движок wake-word
|
|
|
|
|
|
tray-noise-suppression = Шумоподавление
|
|
|
|
|
|
tray-vad = Детекция голоса (VAD)
|
|
|
|
|
|
tray-gain-normalizer = Нормализация громкости
|
|
|
|
|
|
|
|
|
|
|
|
# HEADER
|
2026-01-07 05:04:04 +05:00
|
|
|
|
header-commands = КОМАНДЫ
|
|
|
|
|
|
header-settings = НАСТРОЙКИ
|
|
|
|
|
|
|
2026-02-18 21:08:48 +05:00
|
|
|
|
# SEARCH
|
2026-01-07 05:04:04 +05:00
|
|
|
|
search-placeholder = Введите команду вручную или произнесите «Джарвис» ...
|
|
|
|
|
|
|
2026-02-18 21:08:48 +05:00
|
|
|
|
# MAIN PAGE
|
2026-01-07 05:04:04 +05:00
|
|
|
|
assistant-not-running = АССИСТЕНТ НЕ ЗАПУЩЕН
|
|
|
|
|
|
assistant-offline-hint = Настроить его можно не запуская.
|
|
|
|
|
|
btn-start = ЗАПУСТИТЬ
|
|
|
|
|
|
btn-starting = ЗАПУСК...
|
|
|
|
|
|
|
2026-02-18 21:08:48 +05:00
|
|
|
|
# STATUS
|
2026-01-07 05:04:04 +05:00
|
|
|
|
status-disconnected = Отключен
|
|
|
|
|
|
status-standby = Ожидание
|
|
|
|
|
|
status-listening = Слушаю...
|
|
|
|
|
|
status-processing = Обработка...
|
|
|
|
|
|
|
2026-02-18 21:08:48 +05:00
|
|
|
|
# STATS
|
2026-01-07 05:04:04 +05:00
|
|
|
|
stats-microphone = МИКРОФОН
|
|
|
|
|
|
stats-neural-networks = НЕЙРОСЕТИ
|
|
|
|
|
|
stats-resources = РЕСУРСЫ
|
|
|
|
|
|
stats-system-default = Системный
|
|
|
|
|
|
stats-not-selected = Не выбран
|
|
|
|
|
|
stats-loading = Загрузка...
|
|
|
|
|
|
|
2026-02-18 21:08:48 +05:00
|
|
|
|
# FOOTER
|
chore(gui): rebrand — strip TG/Boosty/Patreon/feedback-bot, keep CC BY-NC-SA attribution
The previous feature/gui-rebrand-polish work only updated the appInfo store
keys; Footer.svelte, settings, and the commands page were still rendering
upstream's Telegram channel, Boosty/Patreon support links, feedback bot,
and the original author byline. This finishes the job.
Rust side (applies after `cargo build` — currently a no-op until MSVC Build
Tools are reinstalled):
- Cargo.toml: authors = ["Bossiara13"], repository = J.A.R.V.I.S-rust fork.
Original attribution stays in LICENSE.txt per CC BY-NC-SA 4.0; the UI
no longer renders an author byline.
- config.rs: dropped TG_OFFICIAL_LINK / FEEDBACK_LINK / SUPPORT_BOOSTY_LINK
/ SUPPORT_PATREON_LINK. Added UPSTREAM_REPOSITORY_LINK (Priler/jarvis for
the licence attribution), ISSUES_LINK (this fork's GH issues), and
PYTHON_FORK_LINK.
- tauri_commands/etc.rs: dropped get_tg_official_link/get_boosty_link/
get_patreon_link/get_feedback_link. Added get_upstream_link, get_issues_link,
get_python_fork_link. Tidied up the Option<&str> -> String boilerplate
with unwrap_or.
- main.rs: invoke_handler updated to match.
Frontend side (visible only after Rust rebuild — Tauri bundles the dist into
the exe):
- stores.ts: appInfo shape reduced to repositoryLink / upstreamLink /
issuesLink / pythonForkLink / logFilePath. loadAppInfo() uses fetchOr()
with hardcoded fallbacks so the UI still populates correctly when run
against an un-rebuilt binary; fetchRepoOr() additionally overrides
CARGO_PKG_REPOSITORY if it still resolves to upstream's Priler/jarvis.
- Footer.svelte: rewritten — © year + "J.A.R.V.I.S." + repo link + issues
link + small "fork of Priler/jarvis · CC BY-NC-SA 4.0" attribution line.
No author byline (it's in LICENSE.txt).
- routes/settings/index.svelte: feedback link now points to GitHub Issues.
- routes/commands/index.svelte: TG-channel reference replaced with a link
to the Python fork (where the command builder lives) plus a pointer to
resources/commands/ in this repo. Bruh GIF removed.
- locales/{ru,en,ua}.ftl: removed footer-author / footer-telegram /
footer-support, added footer-issues / footer-fork-of, rewrote
commands-wip-* strings, retargeted settings-beta-bot to "GitHub Issues".
Bundle identifier (com.priler.jarvis) kept intact to avoid moving the app
data directory.
2026-05-15 01:09:14 +03:00
|
|
|
|
footer-github = Репозиторий проекта
|
|
|
|
|
|
footer-issues = Сообщить о баге
|
|
|
|
|
|
footer-fork-of = Форк
|
2026-01-07 05:04:04 +05:00
|
|
|
|
|
2026-02-18 21:08:48 +05:00
|
|
|
|
# SETTINGS
|
2026-01-07 05:04:04 +05:00
|
|
|
|
settings-title = Настройки
|
|
|
|
|
|
settings-general = Основные
|
|
|
|
|
|
settings-devices = Устройства
|
|
|
|
|
|
settings-neural-networks = Нейросети
|
|
|
|
|
|
settings-audio = Аудио
|
|
|
|
|
|
settings-recognition = Распознавание
|
|
|
|
|
|
settings-about = О программе
|
|
|
|
|
|
settings-language = Язык
|
|
|
|
|
|
settings-microphone = Микрофон
|
|
|
|
|
|
settings-microphone-desc = Его будет слушать ассистент.
|
|
|
|
|
|
settings-mic-default = По умолчанию (Система)
|
|
|
|
|
|
settings-voice = Голос ассистента
|
2026-01-07 23:29:46 +05:00
|
|
|
|
settings-voice-desc =
|
|
|
|
|
|
Не все команды работают со всеми звуковыми пакетами.
|
|
|
|
|
|
Кликните, чтобы прослушать как звучит голос.
|
2026-01-07 05:04:04 +05:00
|
|
|
|
settings-wake-word-engine = Движок активации
|
|
|
|
|
|
settings-wake-word-desc = Выберите нейросеть для распознавания активационной фразы.
|
|
|
|
|
|
settings-stt-engine = Распознавание речи
|
|
|
|
|
|
settings-intent-engine = Определение намерения
|
|
|
|
|
|
settings-intent-engine-desc = Выберите нейросеть для распознавания команд.
|
|
|
|
|
|
settings-noise-suppression = Шумоподавление
|
2026-01-08 00:35:21 +05:00
|
|
|
|
settings-noise-suppression-desc = Уменьшает фоновый шум. Может негативно влиять на распознавание.
|
2026-01-07 05:04:04 +05:00
|
|
|
|
settings-vad = Определение голоса (VAD)
|
|
|
|
|
|
settings-vad-desc = Пропускает тишину, экономит ресурсы CPU.
|
|
|
|
|
|
settings-gain-normalizer = Нормализация громкости
|
|
|
|
|
|
settings-gain-normalizer-desc = Автоматически регулирует уровень громкости.
|
|
|
|
|
|
settings-api-keys = API Ключи
|
|
|
|
|
|
settings-save = Сохранить
|
|
|
|
|
|
settings-cancel = Отмена
|
|
|
|
|
|
settings-back = Назад
|
|
|
|
|
|
settings-enabled = Включено
|
|
|
|
|
|
settings-disabled = Отключено
|
|
|
|
|
|
|
|
|
|
|
|
# settings - beta notice
|
|
|
|
|
|
settings-beta-title = БЕТА версия!
|
|
|
|
|
|
settings-beta-desc = Часть функций может работать некорректно.
|
chore(gui): rebrand — strip TG/Boosty/Patreon/feedback-bot, keep CC BY-NC-SA attribution
The previous feature/gui-rebrand-polish work only updated the appInfo store
keys; Footer.svelte, settings, and the commands page were still rendering
upstream's Telegram channel, Boosty/Patreon support links, feedback bot,
and the original author byline. This finishes the job.
Rust side (applies after `cargo build` — currently a no-op until MSVC Build
Tools are reinstalled):
- Cargo.toml: authors = ["Bossiara13"], repository = J.A.R.V.I.S-rust fork.
Original attribution stays in LICENSE.txt per CC BY-NC-SA 4.0; the UI
no longer renders an author byline.
- config.rs: dropped TG_OFFICIAL_LINK / FEEDBACK_LINK / SUPPORT_BOOSTY_LINK
/ SUPPORT_PATREON_LINK. Added UPSTREAM_REPOSITORY_LINK (Priler/jarvis for
the licence attribution), ISSUES_LINK (this fork's GH issues), and
PYTHON_FORK_LINK.
- tauri_commands/etc.rs: dropped get_tg_official_link/get_boosty_link/
get_patreon_link/get_feedback_link. Added get_upstream_link, get_issues_link,
get_python_fork_link. Tidied up the Option<&str> -> String boilerplate
with unwrap_or.
- main.rs: invoke_handler updated to match.
Frontend side (visible only after Rust rebuild — Tauri bundles the dist into
the exe):
- stores.ts: appInfo shape reduced to repositoryLink / upstreamLink /
issuesLink / pythonForkLink / logFilePath. loadAppInfo() uses fetchOr()
with hardcoded fallbacks so the UI still populates correctly when run
against an un-rebuilt binary; fetchRepoOr() additionally overrides
CARGO_PKG_REPOSITORY if it still resolves to upstream's Priler/jarvis.
- Footer.svelte: rewritten — © year + "J.A.R.V.I.S." + repo link + issues
link + small "fork of Priler/jarvis · CC BY-NC-SA 4.0" attribution line.
No author byline (it's in LICENSE.txt).
- routes/settings/index.svelte: feedback link now points to GitHub Issues.
- routes/commands/index.svelte: TG-channel reference replaced with a link
to the Python fork (where the command builder lives) plus a pointer to
resources/commands/ in this repo. Bruh GIF removed.
- locales/{ru,en,ua}.ftl: removed footer-author / footer-telegram /
footer-support, added footer-issues / footer-fork-of, rewrote
commands-wip-* strings, retargeted settings-beta-bot to "GitHub Issues".
Bundle identifier (com.priler.jarvis) kept intact to avoid moving the app
data directory.
2026-05-15 01:09:14 +03:00
|
|
|
|
settings-beta-feedback = Сообщайте обо всех найденных багах через
|
|
|
|
|
|
settings-beta-bot = GitHub Issues
|
2026-01-07 05:04:04 +05:00
|
|
|
|
settings-open-logs = Открыть папку с логами
|
|
|
|
|
|
|
|
|
|
|
|
# settings - picovoice
|
|
|
|
|
|
settings-attention = Внимание!
|
|
|
|
|
|
settings-picovoice-warning = Эта нейросеть работает не у всех!
|
|
|
|
|
|
settings-picovoice-waiting = Мы ждем официального патча от разработчиков.
|
|
|
|
|
|
settings-picovoice-key-desc = Введите сюда свой ключ Picovoice. Он выдается бесплатно при регистрации в
|
|
|
|
|
|
settings-picovoice-key = Ключ Picovoice
|
|
|
|
|
|
|
|
|
|
|
|
# settings - vosk
|
|
|
|
|
|
settings-auto-detect = Авто-определение
|
|
|
|
|
|
settings-vosk-model = Модель распознавания речи (Vosk)
|
2026-01-13 02:21:59 +05:00
|
|
|
|
settings-vosk-model-desc =
|
|
|
|
|
|
Выберите модель Vosk для распознавания речи.
|
|
|
|
|
|
Вы можете скачать модели здесь: https://alphacephei.com/vosk/models
|
2026-01-07 05:04:04 +05:00
|
|
|
|
settings-models-not-found = Модели не найдены
|
|
|
|
|
|
settings-models-hint = Поместите модели Vosk в папку resources/vosk
|
|
|
|
|
|
|
|
|
|
|
|
# settings - openai
|
|
|
|
|
|
settings-openai-key = Ключ OpenAI
|
|
|
|
|
|
settings-openai-not-supported = В данный момент ChatGPT не поддерживается. Он будет добавлен в ближайших обновлениях.
|
|
|
|
|
|
|
2026-02-18 21:08:48 +05:00
|
|
|
|
# COMMANDS PAGE
|
2026-01-07 05:04:04 +05:00
|
|
|
|
commands-title = Команды
|
|
|
|
|
|
commands-search = Поиск команд...
|
|
|
|
|
|
commands-count = { $count } команд
|
chore(gui): rebrand — strip TG/Boosty/Patreon/feedback-bot, keep CC BY-NC-SA attribution
The previous feature/gui-rebrand-polish work only updated the appInfo store
keys; Footer.svelte, settings, and the commands page were still rendering
upstream's Telegram channel, Boosty/Patreon support links, feedback bot,
and the original author byline. This finishes the job.
Rust side (applies after `cargo build` — currently a no-op until MSVC Build
Tools are reinstalled):
- Cargo.toml: authors = ["Bossiara13"], repository = J.A.R.V.I.S-rust fork.
Original attribution stays in LICENSE.txt per CC BY-NC-SA 4.0; the UI
no longer renders an author byline.
- config.rs: dropped TG_OFFICIAL_LINK / FEEDBACK_LINK / SUPPORT_BOOSTY_LINK
/ SUPPORT_PATREON_LINK. Added UPSTREAM_REPOSITORY_LINK (Priler/jarvis for
the licence attribution), ISSUES_LINK (this fork's GH issues), and
PYTHON_FORK_LINK.
- tauri_commands/etc.rs: dropped get_tg_official_link/get_boosty_link/
get_patreon_link/get_feedback_link. Added get_upstream_link, get_issues_link,
get_python_fork_link. Tidied up the Option<&str> -> String boilerplate
with unwrap_or.
- main.rs: invoke_handler updated to match.
Frontend side (visible only after Rust rebuild — Tauri bundles the dist into
the exe):
- stores.ts: appInfo shape reduced to repositoryLink / upstreamLink /
issuesLink / pythonForkLink / logFilePath. loadAppInfo() uses fetchOr()
with hardcoded fallbacks so the UI still populates correctly when run
against an un-rebuilt binary; fetchRepoOr() additionally overrides
CARGO_PKG_REPOSITORY if it still resolves to upstream's Priler/jarvis.
- Footer.svelte: rewritten — © year + "J.A.R.V.I.S." + repo link + issues
link + small "fork of Priler/jarvis · CC BY-NC-SA 4.0" attribution line.
No author byline (it's in LICENSE.txt).
- routes/settings/index.svelte: feedback link now points to GitHub Issues.
- routes/commands/index.svelte: TG-channel reference replaced with a link
to the Python fork (where the command builder lives) plus a pointer to
resources/commands/ in this repo. Bruh GIF removed.
- locales/{ru,en,ua}.ftl: removed footer-author / footer-telegram /
footer-support, added footer-issues / footer-fork-of, rewrote
commands-wip-* strings, retargeted settings-beta-bot to "GitHub Issues".
Bundle identifier (com.priler.jarvis) kept intact to avoid moving the app
data directory.
2026-05-15 01:09:14 +03:00
|
|
|
|
commands-wip-title = Раздел в разработке
|
|
|
|
|
|
commands-wip-desc = Здесь будет редактор команд и список установленных пакетов.
|
|
|
|
|
|
commands-wip-builder = Пока что используй Python-форк с конструктором команд —
|
|
|
|
|
|
commands-wip-builder-link = открыть репозиторий
|
|
|
|
|
|
commands-wip-or-fork = Или загляни в Rust-репозиторий и правь команды напрямую в
|
|
|
|
|
|
commands-wip-fork-link = resources/commands/
|
2026-01-07 05:04:04 +05:00
|
|
|
|
|
2026-02-18 21:08:48 +05:00
|
|
|
|
# ERRORS
|
2026-01-07 05:04:04 +05:00
|
|
|
|
error-generic = Произошла ошибка
|
|
|
|
|
|
error-connection = Ошибка подключения
|
|
|
|
|
|
error-not-found = Не найдено
|
|
|
|
|
|
|
2026-02-18 21:08:48 +05:00
|
|
|
|
# NOTIFICATIONS
|
2026-01-07 05:04:04 +05:00
|
|
|
|
notification-saved = Настройки сохранены!
|
|
|
|
|
|
notification-error = Ошибка
|
|
|
|
|
|
notification-assistant-started = Ассистент запущен
|
|
|
|
|
|
notification-assistant-stopped = Ассистент остановлен
|
2026-01-07 23:29:46 +05:00
|
|
|
|
|
2026-02-11 07:21:50 +05:00
|
|
|
|
# SLOTS EXTRACTION
|
|
|
|
|
|
settings-slot-engine = Извлечение параметров
|
|
|
|
|
|
settings-slot-engine-desc = Извлекает параметры из голосовых команд (напр. название города, число).
|
|
|
|
|
|
settings-gliner-model = Модель GLiNER ONNX
|
|
|
|
|
|
settings-gliner-model-desc =
|
|
|
|
|
|
Выберите вариант модели.
|
|
|
|
|
|
Квантизированные модели (int8, uint8) быстрее, но менее точны.
|
|
|
|
|
|
settings-gliner-models-hint = Модели GLiNER не найдены.
|
|
|
|
|
|
|
2026-01-07 23:29:46 +05:00
|
|
|
|
# ETC
|
|
|
|
|
|
search-error-not-running = Ассистент не запущен
|
|
|
|
|
|
search-error-failed = Не удалось выполнить команду
|
feat(gui): footer backend chips + Settings 'AI Backends' tab + i18n
Surfaces the LLM/TTS hot-swap UX in the GUI so the user doesn't need env vars
or voice commands. Tauri commands for this landed in b243e67; this commit
wires them to Svelte.
Footer (frontend/src/components/Footer.svelte)
- Poll get_active_backends() every 5 s, show TTS / LLM / Profile chips.
- Chips have border accents by kind (cyan = TTS, lime = LLM, orange = Profile).
- Friendly title tooltips with full backend + model names.
- Silent if jarvis-gui can't reach the command (e.g. cold start) — no UI flicker.
Settings — new "AI Backends" tab (frontend/src/routes/settings/index.svelte)
- Status banner showing active LLM (with model name) + TTS + Profile.
- LLM selector: Auto / Groq / Ollama → calls set_llm_backend on change
(hot-swap, persisted to DB).
- TTS selector: Auto / SAPI / Piper / Silero → calls set_tts_backend
(persisted, effective on next jarvis-app restart).
- "Reset context" button → llm_reset_context Tauri command.
- Error toast for swap failures (e.g. Groq selected but no GROQ_TOKEN).
- Tips alert: how to install Ollama / Piper / voice commands.
- Loads prefs via db_read('llm_backend' / 'tts_backend') on mount.
i18n strings (ru/en/ua, .ftl files)
- 14 new keys: settings-ai-backends, settings-ai-active, settings-ai-auto,
settings-ai-applying, settings-ai-error, settings-ai-tips,
settings-llm-backend{,-desc}, settings-tts-backend{,-desc},
settings-llm-context{,-desc}, settings-llm-reset, settings-profile.
Build glue (crates/jarvis-gui/Cargo.toml)
- jarvis-core dep now includes the `llm` feature so backends.rs can resolve
`jarvis_core::llm::*` (was failing to compile after the global LLM module).
.gitignore
- tools/piper/*.dll, piper.exe, voices/, espeak-ng-data/ — locally
installed binaries from tools/piper/install.ps1, not committed.
Build: cargo build --release -p jarvis-gui green (4m, includes npm/Vite).
Test path: rebuild + launch jarvis-gui, /settings → "AI Backends" tab.
2026-05-15 17:06:46 +03:00
|
|
|
|
settings-no-voices = Голоса не найдены
|
|
|
|
|
|
|
|
|
|
|
|
# AI Backends tab
|
|
|
|
|
|
settings-ai-backends = ИИ-движки
|
|
|
|
|
|
settings-ai-active = Активный движок
|
|
|
|
|
|
settings-ai-auto = Авто
|
|
|
|
|
|
settings-ai-applying = Применяю...
|
|
|
|
|
|
settings-ai-error = Ошибка переключения
|
|
|
|
|
|
settings-ai-tips = Подсказки
|
|
|
|
|
|
settings-llm-backend = LLM движок
|
|
|
|
|
|
settings-llm-backend-desc = Где исполнять LLM-запросы. Hot-swap, без рестарта.
|
|
|
|
|
|
settings-tts-backend = TTS движок
|
|
|
|
|
|
settings-tts-backend-desc = Применится при следующем запуске jarvis-app.
|
|
|
|
|
|
settings-llm-context = Контекст разговора
|
|
|
|
|
|
settings-llm-context-desc = LLM помнит предыдущие реплики. Сбросить, если ответы становятся странными.
|
|
|
|
|
|
settings-llm-reset = Сбросить контекст
|
feat(gui): /macros + /scheduler pages + README rewrite
Surfaces voice macros and scheduled tasks in the GUI, so the user doesn't
have to remember voice commands or grep schedule.json by hand.
Tauri commands (crates/jarvis-gui/src/tauri_commands/)
- macros.rs: macros_list, macros_replay, macros_delete, macros_is_recording,
macros_recording_name, macros_start_recording, macros_save_recording,
macros_cancel_recording (8 commands).
- scheduler.rs: scheduler_list, scheduler_remove, scheduler_clear (3 commands).
- Both exposed in main.rs invoke_handler.
GUI pages (frontend/src/routes/)
- macros/index.svelte:
* Lists all macros with name, steps_count, first 5 step previews,
created/last_run timestamps.
* Top: TextInput + "Начать запись" button. While recording shows orange
banner with "Сохранить"/"Отменить" buttons + polls is_recording every 2s.
* Per-card: "Запустить" (with busy state for replay duration), "Удалить".
* confirm() before delete.
- scheduler/index.svelte:
* Lists tasks with name, schedule_human (e.g. "каждые 2 ч"), action body,
ID, timestamps, action_kind badge.
* "Отменить" per task + "Очистить всё (N)" bottom button.
* Auto-polls every 5s (so the list updates as scheduler ticks fire tasks).
Header (frontend/src/components/Header.svelte)
- Two new buttons: "Макросы" → /macros, "Расписание" → /scheduler.
- Beside existing /commands and /settings buttons.
i18n
- ru/en/ua FTL: settings-ai-backends, settings-llm-*, settings-tts-*,
settings-profile, header-macros, header-scheduler.
- Re-applied AI Backends keys for ua.ftl (earlier edit hadn't taken).
README.md (full rewrite)
- Old README was 178 lines mostly explaining LLM-trigger flow and VAD config.
- New README is ~190 lines covering: features (LLM hot-swap, memory, profiles,
vision, scheduler, macros, utilities table), quick start, env vars table,
build steps with vcvars setup, test command, structure tree, voice workflow
diagram, license, roadmap.
- Up to date for 59 packs and all new infra.
Build: cargo build --release -p jarvis-gui green (2m). 55/55 tests pass.
2026-05-15 17:28:22 +03:00
|
|
|
|
settings-profile = Профиль
|
|
|
|
|
|
|
|
|
|
|
|
# Header buttons
|
|
|
|
|
|
header-macros = Макросы
|
|
|
|
|
|
header-scheduler = Расписание
|