2019-06-17 23:52:08 +03:00
|
|
|
defmodule YandexTranslate do
|
2019-06-30 09:19:38 +03:00
|
|
|
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
|
|
|
|
})
|
2019-06-17 23:52:08 +03:00
|
|
|
end
|