diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-01 14:19:59 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-01 14:19:59 +0300 |
| commit | db5a777d3c2efafeed86e4b6f561a4ef45dbba22 (patch) | |
| tree | d4bc32761dd7bed0c37b0e899582a5c3de177f8f | |
| parent | bcdda1dcdff6afa42c3bf81b40413c2e6967ddc7 (diff) | |
zt: align GUI translation defaults with shared translator
| -rw-r--r-- | internal/gui/app.go | 13 | ||||
| -rw-r--r-- | internal/gui/app_test.go | 37 |
2 files changed, 31 insertions, 19 deletions
diff --git a/internal/gui/app.go b/internal/gui/app.go index 52fc044..6a7919f 100644 --- a/internal/gui/app.go +++ b/internal/gui/app.go @@ -127,7 +127,7 @@ func DefaultConfig() *Config { OutputDir: outputDir, AudioFormat: "mp3", ImageProvider: "openai", - TranslationProvider: translation.ProviderGemini, + TranslationProvider: translation.ProviderOpenAI, PhoneticProvider: phonetic.ProviderOpenAI, AutoPlay: true, // Auto-play enabled by default } @@ -208,9 +208,8 @@ func New(config *Config) *Application { } // translationConfigForApp normalizes the GUI translation settings. -// When no provider is explicitly configured, Gemini is preferred if a Google -// API key is available; otherwise the GUI falls back to OpenAI so existing -// OpenAI-only setups continue to work. +// The GUI follows the shared translator defaults and stays on OpenAI unless a +// provider is explicitly selected by the caller. func translationConfigForApp(config *Config) *translation.Config { if config == nil { config = DefaultConfig() @@ -218,11 +217,7 @@ func translationConfigForApp(config *Config) *translation.Config { provider := config.TranslationProvider if provider == "" { - if strings.TrimSpace(config.GoogleAPIKey) != "" { - provider = translation.ProviderGemini - } else { - provider = translation.ProviderOpenAI - } + provider = translation.ProviderOpenAI } return &translation.Config{ diff --git a/internal/gui/app_test.go b/internal/gui/app_test.go index c89ebee..446b8a7 100644 --- a/internal/gui/app_test.go +++ b/internal/gui/app_test.go @@ -6,11 +6,11 @@ import ( "codeberg.org/snonux/totalrecall/internal/translation" ) -func TestDefaultConfigPrefersGeminiTranslationProvider(t *testing.T) { +func TestDefaultConfigUsesOpenAITranslationProvider(t *testing.T) { config := DefaultConfig() - if config.TranslationProvider != translation.ProviderGemini { - t.Fatalf("DefaultConfig() translation provider = %q, want %q", config.TranslationProvider, translation.ProviderGemini) + if config.TranslationProvider != translation.ProviderOpenAI { + t.Fatalf("DefaultConfig() translation provider = %q, want %q", config.TranslationProvider, translation.ProviderOpenAI) } } @@ -25,22 +25,32 @@ func TestTranslationConfigForApp(t *testing.T) { wantGoogle string }{ { - name: "default to gemini when google key is available", + name: "default to openai when provider is unset and only openai key is available", config: &Config{ + OpenAIKey: "openai-key", + }, + wantProv: translation.ProviderOpenAI, + wantOpen: "openai-key", + wantGoogle: "", + }, + { + name: "default to openai when provider is unset and both keys are available", + config: &Config{ + OpenAIKey: "openai-key", GoogleAPIKey: "google-key", }, - wantProv: translation.ProviderGemini, - wantOpen: "", + wantProv: translation.ProviderOpenAI, + wantOpen: "openai-key", wantGoogle: "google-key", }, { - name: "fallback to openai when only openai key is available", + name: "default to openai when provider is unset and only google key is available", config: &Config{ - OpenAIKey: "openai-key", + GoogleAPIKey: "google-key", }, wantProv: translation.ProviderOpenAI, - wantOpen: "openai-key", - wantGoogle: "", + wantOpen: "", + wantGoogle: "google-key", }, { name: "honor explicit gemini provider", @@ -64,6 +74,13 @@ func TestTranslationConfigForApp(t *testing.T) { wantOpen: "openai-key", wantGoogle: "google-key", }, + { + name: "nil config still uses openai defaults", + config: nil, + wantProv: translation.ProviderOpenAI, + wantOpen: "", + wantGoogle: "", + }, } for _, tt := range tests { |
