Automatic status translation #187
|
@ -26,7 +26,9 @@ defmodule Akkoma.Translators.DeepL do
|
||||||
@impl Akkoma.Translator
|
@impl Akkoma.Translator
|
||||||
def translate(string, to_language) do
|
def translate(string, to_language) do
|
||||||
with {:ok, response} <- do_request(api_key(), tier(), string, to_language) do
|
with {:ok, response} <- do_request(api_key(), tier(), string, to_language) do
|
||||||
%{"translations" => [%{"text" => translated, "detected_source_language" => detected}]} = response.body
|
%{"translations" => [%{"text" => translated, "detected_source_language" => detected}]} =
|
||||||
|
response.body
|
||||||
|
|
||||||
{:ok, detected, translated}
|
{:ok, detected, translated}
|
||||||
else
|
else
|
||||||
{:error, reason} -> {:error, reason}
|
{:error, reason} -> {:error, reason}
|
||||||
|
|
|
@ -17,7 +17,9 @@ defmodule Akkoma.Translators.LibreTranslate do
|
||||||
@impl Akkoma.Translator
|
@impl Akkoma.Translator
|
||||||
def translate(string, to_language) do
|
def translate(string, to_language) do
|
||||||
with {:ok, response} <- do_request(string, to_language) do
|
with {:ok, response} <- do_request(string, to_language) do
|
||||||
%{"translatedText" => translated, "detectedLanguage" => %{"language" => detected}} = response.body
|
%{"translatedText" => translated, "detectedLanguage" => %{"language" => detected}} =
|
||||||
|
response.body
|
||||||
|
|
||||||
{:ok, detected, translated}
|
{:ok, detected, translated}
|
||||||
else
|
else
|
||||||
{:error, reason} -> {:error, reason}
|
{:error, reason} -> {:error, reason}
|
||||||
|
|
|
@ -593,7 +593,6 @@ defmodule Pleroma.Web.ApiSpec.StatusOperation do
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
defp translation do
|
defp translation do
|
||||||
%Schema{
|
%Schema{
|
||||||
|
@ -602,7 +601,10 @@ defmodule Pleroma.Web.ApiSpec.StatusOperation do
|
||||||
type: :object,
|
type: :object,
|
||||||
required: [:detected_language, :text],
|
required: [:detected_language, :text],
|
||||||
properties: %{
|
properties: %{
|
||||||
detected_language: %Schema{type: :string, description: "The detected language of the text"},
|
detected_language: %Schema{
|
||||||
|
type: :string,
|
||||||
|
description: "The detected language of the text"
|
||||||
|
},
|
||||||
text: %Schema{type: :string, description: "The translated text"}
|
text: %Schema{type: :string, description: "The translated text"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue