yandex_translate/lib/yandex_translate.ex

23 lines
904 B
Elixir
Executable File

defmodule YandexTranslate do
alias YandexTranslate.Client
def languages(), do: Client.call(:listLanguages, %{})
def detect(params) when is_map(params), do: Client.call(:detectLanguage, params)
def detect(text) when is_binary(text), do: Client.call(:detectLanguage, %{text: text})
def translate(params) when is_map(params), do: Client.call(:translate, params)
def translate(text, targetLanguageCode) when is_binary(text) and is_binary(targetLanguageCode),
do: Client.call(:translate, %{texts: [text], targetLanguageCode: targetLanguageCode})
def translate(text, targetLanguageCode, sourceLanguageCode)
when is_binary(text) and is_binary(targetLanguageCode) and is_binary(sourceLanguageCode),
do:
Client.call(:translate, %{
texts: [text],
targetLanguageCode: targetLanguageCode,
sourceLanguageCode: sourceLanguageCode
})
end