Implements Phases 1-8 of the TFTSR implementation plan. Rust backend (Tauri 2.x, src-tauri/): - Multi-provider AI: OpenAI-compatible, Anthropic, Gemini, Mistral, Ollama - PII detection engine: 11 regex patterns with overlap resolution - SQLCipher AES-256 encrypted database with 10 versioned migrations - 28 Tauri IPC commands for triage, analysis, document, and system ops - Ollama: hardware probe, model recommendations, pull/delete with events - RCA and blameless post-mortem Markdown document generators - PDF export via printpdf - Audit log: SHA-256 hash of every external data send - Integration stubs for Confluence, ServiceNow, Azure DevOps (v0.2) Frontend (React 18 + TypeScript + Vite, src/): - 9 pages: full triage workflow NewIssue→LogUpload→Triage→Resolution→RCA→Postmortem→History+Settings - 7 components: ChatWindow, TriageProgress, PiiDiffViewer, DocEditor, HardwareReport, ModelSelector, UI primitives - 3 Zustand stores: session, settings (persisted), history - Type-safe tauriCommands.ts matching Rust backend types exactly - 8 IT domain system prompts (Linux, Windows, Network, K8s, DB, Virt, HW, Obs) DevOps: - .woodpecker/test.yml: rustfmt, clippy, cargo test, tsc, vitest on every push - .woodpecker/release.yml: linux/amd64 + linux/arm64 builds, Gogs release upload Verified: - cargo check: zero errors - tsc --noEmit: zero errors - vitest run: 13/13 unit tests passing Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
52 lines
2.7 KiB
JSON
52 lines
2.7 KiB
JSON
{
|
||
"Commands:": "Команди:",
|
||
"Options:": "Опції:",
|
||
"Examples:": "Приклади:",
|
||
"boolean": "boolean",
|
||
"count": "кількість",
|
||
"string": "строка",
|
||
"number": "число",
|
||
"array": "масива",
|
||
"required": "обов'язково",
|
||
"default": "за замовчуванням",
|
||
"default:": "за замовчуванням:",
|
||
"choices:": "доступні варіанти:",
|
||
"aliases:": "псевдоніми:",
|
||
"generated-value": "згенероване значення",
|
||
"Not enough non-option arguments: got %s, need at least %s": {
|
||
"one": "Недостатньо аргументів: наразі %s, потрібно %s або більше",
|
||
"other": "Недостатньо аргументів: наразі %s, потрібно %s або більше"
|
||
},
|
||
"Too many non-option arguments: got %s, maximum of %s": {
|
||
"one": "Забагато аргументів: наразі %s, максимум %s",
|
||
"other": "Too many non-option arguments: наразі %s, максимум of %s"
|
||
},
|
||
"Missing argument value: %s": {
|
||
"one": "Відсутнє значення для аргументу: %s",
|
||
"other": "Відсутні значення для аргументу: %s"
|
||
},
|
||
"Missing required argument: %s": {
|
||
"one": "Відсутній обов'язковий аргумент: %s",
|
||
"other": "Відсутні обов'язкові аргументи: %s"
|
||
},
|
||
"Unknown argument: %s": {
|
||
"one": "Аргумент %s не підтримується",
|
||
"other": "Аргументи %s не підтримуються"
|
||
},
|
||
"Invalid values:": "Некоректні значення:",
|
||
"Argument: %s, Given: %s, Choices: %s": "Аргумент: %s, Введено: %s, Доступні варіанти: %s",
|
||
"Argument check failed: %s": "Аргумент не пройшов перевірку: %s",
|
||
"Implications failed:": "Відсутні залежні аргументи:",
|
||
"Not enough arguments following: %s": "Не достатньо аргументів після: %s",
|
||
"Invalid JSON config file: %s": "Некоректний JSON-файл конфігурації: %s",
|
||
"Path to JSON config file": "Шлях до JSON-файлу конфігурації",
|
||
"Show help": "Показати довідку",
|
||
"Show version number": "Показати версію",
|
||
"Did you mean %s?": "Можливо, ви мали на увазі %s?",
|
||
"Arguments %s and %s are mutually exclusive" : "Аргументи %s та %s взаємовиключні",
|
||
"Positionals:": "Позиційні:",
|
||
"command": "команда",
|
||
"deprecated": "застарілий",
|
||
"deprecated: %s": "застарілий: %s"
|
||
}
|