2026-01-07 05:04:04 +05:00
|
|
|
|
# ### APP INFO
|
|
|
|
|
|
app-name = JARVIS
|
|
|
|
|
|
app-description = Голосовий асистент
|
|
|
|
|
|
|
|
|
|
|
|
# ### TRAY MENU
|
|
|
|
|
|
tray-restart = Перезапустити
|
|
|
|
|
|
tray-settings = Налаштування
|
|
|
|
|
|
tray-exit = Вихід
|
|
|
|
|
|
tray-tooltip = JARVIS - Голосовий асистент
|
2026-02-18 21:08:48 +05:00
|
|
|
|
tray-language = Мова
|
|
|
|
|
|
tray-voice = Голос
|
|
|
|
|
|
tray-wake-word = Рушій детекції
|
|
|
|
|
|
tray-noise-suppression = Шумозаглушення
|
|
|
|
|
|
tray-vad = Детекцiя голосу (VAD)
|
|
|
|
|
|
tray-gain-normalizer = Нормалізація гучності
|
2026-01-07 05:04:04 +05:00
|
|
|
|
|
|
|
|
|
|
# ### HEADER
|
|
|
|
|
|
header-commands = КОМАНДИ
|
|
|
|
|
|
header-settings = НАЛАШТУВАННЯ
|
|
|
|
|
|
|
|
|
|
|
|
# ### SEARCH
|
|
|
|
|
|
search-placeholder = Введіть команду вручну або скажіть «Джарвіс» ...
|
|
|
|
|
|
|
|
|
|
|
|
# ### MAIN PAGE
|
|
|
|
|
|
assistant-not-running = АСИСТЕНТ НЕ ЗАПУЩЕНО
|
|
|
|
|
|
assistant-offline-hint = Налаштувати його можна не запускаючи.
|
|
|
|
|
|
btn-start = ЗАПУСТИТИ
|
|
|
|
|
|
btn-starting = ЗАПУСК...
|
|
|
|
|
|
|
|
|
|
|
|
# ### STATUS
|
|
|
|
|
|
status-disconnected = Відключено
|
|
|
|
|
|
status-standby = Очікування
|
|
|
|
|
|
status-listening = Слухаю...
|
|
|
|
|
|
status-processing = Обробка...
|
|
|
|
|
|
|
|
|
|
|
|
# ### STATS
|
|
|
|
|
|
stats-microphone = МІКРОФОН
|
|
|
|
|
|
stats-neural-networks = НЕЙРОМЕРЕЖІ
|
|
|
|
|
|
stats-resources = РЕСУРСИ
|
|
|
|
|
|
stats-system-default = Системний
|
|
|
|
|
|
stats-not-selected = Не вибрано
|
|
|
|
|
|
stats-loading = Завантаження...
|
|
|
|
|
|
|
|
|
|
|
|
# ### 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
|
|
|
|
|
|
|
|
|
|
# ### SETTINGS
|
|
|
|
|
|
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 не підтримується. Він буде доданий у наступних оновленнях.
|
|
|
|
|
|
|
|
|
|
|
|
# ### COMMANDS PAGE
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
# ### ERRORS
|
|
|
|
|
|
error-generic = Сталася помилка
|
|
|
|
|
|
error-connection = Помилка підключення
|
|
|
|
|
|
error-not-found = Не знайдено
|
|
|
|
|
|
|
|
|
|
|
|
# ### NOTIFICATIONS
|
|
|
|
|
|
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
|
|
|
|
|
2026-02-11 07:21:50 +05:00
|
|
|
|
# ETC
|
2026-01-07 23:29:46 +05:00
|
|
|
|
search-error-not-running = Асистент не запущено
|
|
|
|
|
|
search-error-failed = Не вдалося виконати команду
|
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-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 = Скинути контекст
|
|
|
|
|
|
settings-profile = Профіль
|
|
|
|
|
|
|
|
|
|
|
|
# Header buttons
|
|
|
|
|
|
header-macros = Макроси
|
feat: GUI /memory page + disk/date_math/sleep_timer packs (10 new commands)
GUI: Memory management completes the management trio (/macros + /scheduler + /memory).
Tauri commands (crates/jarvis-gui/src/tauri_commands/memory.rs)
- memory_list → Vec<MemoryFact{key, value, created_at, last_used_at, use_count}>
- memory_remember(k, v) → persist new fact (or overwrite)
- memory_forget(key) → delete by exact key
- memory_search(q, limit) → substring search
GUI /memory page (frontend/src/routes/memory/index.svelte)
- Top: add-fact form (key + value inputs + "+Добавить" button)
- Substring filter input for the list
- Per-card: key + use_count badge + value (highlighted box) + timestamps +
"Забыть" button with confirm() guard
- Auto-sorted by recency (last_used_at desc)
- Empty state shows voice-hint: 'скажи Jarvis-у "запомни что я люблю чай улун"'
Header (frontend/src/components/Header.svelte)
- New "Память" button between /scheduler and /settings.
- i18n: header-memory in ru/en/ua FTL files.
New voice packs
resources/commands/disk/ (2 cmds)
- disk.free "сколько свободно на диске" / "сколько места на диске C"
PowerShell Get-PSDrive → speaks "Свободно X ГБ из Y, это N%"
- disk.list "какие у меня диски" → "C 120 ГБ, D 300 ГБ, E 50 ГБ"
resources/commands/date_math/ (2 cmds)
- date.days_until "сколько дней до нового года" / "сколько до 8 марта" /
"сколько до 15 марта" — recognises Russian months,
holidays (Новый год, Рождество, 8 марта, 9 мая).
Auto-rolls to next year if target already passed.
Russian-grammar pluralisation (день/дня/дней).
- date.day_of_week "какой сегодня день недели" — Zeller's congruence,
maps to ru day name.
resources/commands/sleep_timer/ (3 cmds)
- sleep_timer.pause_in "выключи музыку через 30 минут"
→ scheduler one-shot lua action that fires media
VK_MEDIA_PLAY_PAUSE via the existing media_keys helper.
(Auto-generates _fire_pause.lua wrapper if missing.)
- sleep_timer.shutdown_in "выключи компьютер через 1 час"
→ shutdown.exe /s /t <secs>. Caps at 24 hours.
Speaks "Скажите 'отмени таймер' чтобы передумать."
- sleep_timer.cancel "отмени таймер выключения" / "не выключай компьютер"
→ shutdown /a + scheduler.remove("sleep_timer_pause"),
idempotent.
Pack count: 64 → 67. Tests: 112/112 pass.
Build: cargo build --release -p jarvis-gui green.
2026-05-15 23:35:23 +03:00
|
|
|
|
header-scheduler = Розклад
|
2026-05-16 13:26:42 +03:00
|
|
|
|
header-memory = Пам'ять
|
|
|
|
|
|
header-plugins = Плагіни
|