diff --git a/config/description.exs b/config/description.exs
index 1598973df3..fed4f0ac99 100644
--- a/config/description.exs
+++ b/config/description.exs
@@ -3558,9 +3558,37 @@
description: "Translation providers",
children: [
%{
- key: Pleroma.Translation,
- type: :service,
- suggestions: [Pleroma.Translation.DeepL, Pleroma.Translation.LibreTranslate]
+ key: :service,
+ type: :module,
+ suggestions: [Pleroma.Translation.Deepl, Pleroma.Translation.Libretranslate]
+ },
+ %{
+ group: {:subgroup, Pleroma.Translation.Deepl},
+ key: :plan,
+ label: "DeepL plan",
+ type: {:dropdown, :atom},
+ suggestions: [:free, :pro]
+ },
+ %{
+ group: {:subgroup, Pleroma.Translation.Deepl},
+ key: :api_key,
+ label: "DeepL API Key",
+ type: :string,
+ suggestions: ["YOUR_API_KEY"]
+ },
+ %{
+ group: {:subgroup, Pleroma.Translation.Libretranslate},
+ key: :base_url,
+ label: "LibreTranslate plan",
+ type: :string,
+ suggestions: ["https://libretranslate.com"]
+ },
+ %{
+ group: {:subgroup, Pleroma.Translation.Libretranslate},
+ key: :api_key,
+ label: "LibreTranslate API Key",
+ type: :string,
+ suggestions: ["YOUR_API_KEY"]
}
]
}
diff --git a/lib/pleroma/translation/deepl.ex b/lib/pleroma/translation/deepl.ex
index 76fff46931..944dab8ec8 100644
--- a/lib/pleroma/translation/deepl.ex
+++ b/lib/pleroma/translation/deepl.ex
@@ -2,7 +2,7 @@
# Copyright © 2017-2022 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
-defmodule Pleroma.Translation.DeepL do
+defmodule Pleroma.Translation.Deepl do
import Pleroma.Web.Utils.Guards, only: [not_empty_string: 1]
alias Pleroma.Translation.Service
@@ -60,7 +60,7 @@ def translate(content, source_language, target_language) do
defp endpoint_url do
case get_plan() do
- "free" -> "https://api-free.deepl.com/v2/translate"
+ :free -> "https://api-free.deepl.com/v2/translate"
_ -> "https://api.deepl.com/v2/translate"
end
end
diff --git a/lib/pleroma/translation/libretranslate.ex b/lib/pleroma/translation/libretranslate.ex
index 049053d430..9c9b4b9b5d 100644
--- a/lib/pleroma/translation/libretranslate.ex
+++ b/lib/pleroma/translation/libretranslate.ex
@@ -2,7 +2,7 @@
# Copyright © 2017-2022 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
-defmodule Pleroma.Translation.LibreTranslate do
+defmodule Pleroma.Translation.Libretranslate do
import Pleroma.Web.Utils.Guards, only: [not_empty_string: 1]
alias Pleroma.Translation.Service