recognition: глобальный переключатель языка вывода [general].language

- новое поле [general].language (ru|en, дефолт en) — единый источник языка
  локализованного title детектора и локали запросов к метабазам; original_title
  всегда на языке оригинала
- локаль TMDB (поиск + credits) выводится из него, [metadata.tmdb].language убран
- промпт LLM явно задаёт язык title с fallback на оригинал
This commit is contained in:
av
2026-07-24 14:09:04 +03:00
parent 8309ce0664
commit a2d8140e22
18 changed files with 556 additions and 48 deletions
+1
View File
@@ -95,6 +95,7 @@ func runRecognize(args []string) error {
rec := recognize.New(provider, providers, recognize.Config{
MaxRetries: cfg.LLM.MaxRetries,
AutoThreshold: cfg.Recognition.AutoConfidenceThreshold,
Language: cfg.ContentLanguage(),
}, logger)
in := recognize.Input{Name: t.Name, Context: *contextStr}
+3 -2
View File
@@ -104,8 +104,9 @@ func runServe(args []string) error {
recognizer = recognize.New(llmProvider, providers, recognize.Config{
MaxRetries: cfg.LLM.MaxRetries,
AutoThreshold: cfg.Recognition.AutoConfidenceThreshold,
Language: cfg.ContentLanguage(),
}, logger)
logger.Info("recognizer ready", "model", cfg.LLM.Model, "providers", len(providers))
logger.Info("recognizer ready", "model", cfg.LLM.Model, "providers", len(providers), "language", cfg.ContentLanguage())
} else {
logger.Warn("llm not configured, recognition disabled")
}
@@ -288,7 +289,7 @@ func metadataProviders(cfg *config.Config, logger *slog.Logger) ([]metadata.Prov
APIKey: cfg.Metadata.TMDB.APIKey,
Proxy: cfg.Metadata.TMDB.Proxy,
Timeout: cfg.Metadata.TMDB.Timeout.Std(),
Language: cfg.Metadata.TMDB.Language,
Language: cfg.ContentLanguage(),
}, logger)
if err != nil {
return nil, fmt.Errorf("tmdb provider: %w", err)