From db5a777d3c2efafeed86e4b6f561a4ef45dbba22 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 1 Apr 2026 14:19:59 +0300 Subject: zt: align GUI translation defaults with shared translator --- internal/gui/app.go | 13 ++++--------- internal/gui/app_test.go | 37 +++++++++++++++++++++++++++---------- 2 files changed, 31 insertions(+), 19 deletions(-) (limited to 'internal') 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 { -- cgit v1.2.3