<img align="right" width="50" height="50" src="assets/yandex_translate.svg">
# YandexTranslate
A simple Elixir interface to Cloud Yandex Translate's translation API
## Installation
If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `yandex_translate` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:yandex_translate, "~> 0.1.0"}
]
end
```
## Get access to API
### Creating a Service Account in the Yandex.Cloud
To perform operations in Yandex.Cloud via the API, you need to [create Service Account](https://cloud.yandex.com/docs/iam/operations/sa/create) for Yandex Account. For security reasons this library doesn't support Yandex Account directly. After creating a service account, you have two options: use s or use IAM Tokens.
To perform operations in Yandex.Cloud via the API, you need API key or IAM token.
### Getting a API_KEY
[Create API key](https://cloud.yandex.com/docs/iam/operations/api-key/create) for a service account.
```elixir
config :yandex_translate,
api_key: "API_KEY"
```
### Getting a IAM Token (**from 0.2.0**)
[Get an IAM token](https://cloud.yandex.com/docs/iam/operations/iam-token/create-for-sa) for a service account.
In config/config.exs, add:
```elixir
config :yandex_translate,
service_account_id: "SERVICE_ACCOUNT_ID",
authorized_key_id: "AUTHORIZED_KEY_ID",
private_key: "PRIVATE_KEY"
```
## Usage
### Supported languages
Request for getting list of supported languages is #languages.
```elixir
YandexTranslate.languages()
```
### Language detection
Request for detecting language of text is #detect.
```elixir
YandexTranslate.detect("Hello")
```
### Translation
Request for translating text is #translate.
```elixir
YandexTranslate.translate("Hello", "uk")
```
## Contributing
Bug reports and pull requests are welcome on at https://gl.negrienko.com/negrienko/yandex_translate.
## License
The hex is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
## Disclaimer
Use this package at your own peril and risk.
## Documentation
Documentation generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at [https://hexdocs.pm/yandex_translate](https://hexdocs.pm/yandex_translate).