23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/geekdict/cli.rb', line 23
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
|