feat(config): internal/config (load/save atomik + validasi) — wiring bahasa/suara/animasi + doctor baca config
CI / test (push) Successful in 13m3s

This commit is contained in:
oxpoe committed 2026-10-15 13:27:16 +07:00
1 parent 36bc33f904
commit c65d2cb75d
8 files changed
+328 -15

No files matched your search

-4
View File
@@ -6,7 +6,6 @@ package i18n
import (
"embed"
"fmt"
"os"
"sort"
"sync"
"time"
@@ -34,9 +33,6 @@ func init() {
catalogs[lang] = c
}
}
if l := os.Getenv("TIA_LANG"); l != "" {
active = l
}
}
// shortcut: bahasa hanya dari TIA_LANG + default id — akan dibaca dari
+2
View File
@@ -61,6 +61,7 @@ toast:
demoTitle: "✔ [ SUCCESS ] Conversion Saved"
demoBody: "Stack 'web-app' saved to ~/.tia/stacks/web-app/"
dockerError: "✖ [ FAILED ] Docker"
configError: "⚠ [ WARNING ] Config problem — using defaults"
activity:
coming: "Docker events listener coming (Phase 2)."
@@ -84,6 +85,7 @@ doctor:
dockerDaemonUnreachable: "daemon not responding: %v"
dockerOk: "engine %s (API %s) · %d/%d containers running · %d images"
stacksMissing: "%s (missing — created during onboarding)"
configMissing: "%s (missing — using defaults)"
cli:
unknownCommand: "unknown command: %q"
+2
View File
@@ -61,6 +61,7 @@ toast:
demoTitle: "✔ [ SUKSES ] Konversi Berhasil Disimpan"
demoBody: "Stack 'web-app' tersimpan di ~/.tia/stacks/web-app/"
dockerError: "✖ [ GAGAL ] Docker"
configError: "⚠ [ PERINGATAN ] Config bermasalah — memakai default"
activity:
coming: "Listener Docker events menyusul (Phase 2)."
@@ -84,6 +85,7 @@ doctor:
dockerDaemonUnreachable: "daemon tidak merespons: %v"
dockerOk: "engine %s (API %s) · %d/%d kontainer berjalan · %d image"
stacksMissing: "%s (belum ada — dibuat saat onboarding)"
configMissing: "%s (belum ada — memakai default)"
cli:
unknownCommand: "perintah tidak dikenal: %q"