def t(word)
GeekDict.debugger options[:debug]
LocalHistory.save word
config = GeekDict::Config.load_config
provider = options[:provider]&.downcase || config[:provider] || GeekDict::Config::DEFAULT_PROVIDER
model = options[:model] || config[:model] || GeekDict::Config::DEFAULT_MODEL
unless GeekDict::Config::ALLOWED_PROVIDERS.include?(provider)
warn "Warning: Invalid provider '#{provider}' specified. Using default '#{GeekDict::Config::DEFAULT_PROVIDER}'."
provider = GeekDict::Config::DEFAULT_PROVIDER
model = options[:model] || GeekDict::Config::DEFAULT_MODEL
end
puts "Using provider: #{provider}, model: #{model}" if options[:debug]
result = case provider
when 'openai'
GeekDict::OpenAI.translate(word, model: model)
when 'openrouter'
GeekDict::OpenRouter.translate(word, model: model)
when 'youdao'
GeekDict::Youdao.translate(word)
else
warn "Internal Error: Unknown provider '#{provider}'. Aborting."
exit 1
end
puts result
end