mirror of https://github.com/tootsuite/mastodon
Move translation service config to `config_for` yml (#30663)
parent
5a4f4f3e83
commit
35f008aa2a
|
@ -8,17 +8,27 @@ class TranslationService
|
|||
class UnexpectedResponseError < Error; end
|
||||
|
||||
def self.configured
|
||||
if ENV['DEEPL_API_KEY'].present?
|
||||
TranslationService::DeepL.new(ENV.fetch('DEEPL_PLAN', 'free'), ENV['DEEPL_API_KEY'])
|
||||
elsif ENV['LIBRE_TRANSLATE_ENDPOINT'].present?
|
||||
TranslationService::LibreTranslate.new(ENV['LIBRE_TRANSLATE_ENDPOINT'], ENV['LIBRE_TRANSLATE_API_KEY'])
|
||||
if configuration.deepl[:api_key].present?
|
||||
TranslationService::DeepL.new(
|
||||
configuration.deepl[:plan],
|
||||
configuration.deepl[:api_key]
|
||||
)
|
||||
elsif configuration.libre_translate[:endpoint].present?
|
||||
TranslationService::LibreTranslate.new(
|
||||
configuration.libre_translate[:endpoint],
|
||||
configuration.libre_translate[:api_key]
|
||||
)
|
||||
else
|
||||
raise NotConfiguredError
|
||||
end
|
||||
end
|
||||
|
||||
def self.configured?
|
||||
ENV['DEEPL_API_KEY'].present? || ENV['LIBRE_TRANSLATE_ENDPOINT'].present?
|
||||
configuration.deepl[:api_key].present? || configuration.libre_translate[:endpoint].present?
|
||||
end
|
||||
|
||||
def self.configuration
|
||||
Rails.configuration.x.translation
|
||||
end
|
||||
|
||||
def languages
|
||||
|
|
|
@ -109,6 +109,8 @@ module Mastodon
|
|||
end
|
||||
end
|
||||
|
||||
config.x.translation = config_for(:translation)
|
||||
|
||||
config.to_prepare do
|
||||
Doorkeeper::AuthorizationsController.layout 'modal'
|
||||
Doorkeeper::AuthorizedApplicationsController.layout 'admin'
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
shared:
|
||||
deepl:
|
||||
api_key: <%= ENV.fetch('DEEPL_API_KEY', nil) %>
|
||||
plan: <%= ENV.fetch('DEEPL_PLAN', 'free') %>
|
||||
libre_translate:
|
||||
api_key: <%= ENV.fetch('LIBRE_TRANSLATE_API_KEY', nil) %>
|
||||
endpoint: <%= ENV.fetch('LIBRE_TRANSLATE_ENDPOINT', nil) %>
|
Loading…
Reference in New Issue