# Translator for gleam
[![Package Version](https://img.shields.io/hexpm/v/translate)](https://hex.pm/packages/translate)
[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/translate/)
[![Tests](https://github.com/andre-dasilva/translate/actions/workflows/test.yml/badge.svg)](https://github.com/andre-dasilva/translate/actions/workflows/test.yml)
Further documentation can be found at <https://hexdocs.pm/translate>.
## Getting Started
### Installation
```sh
gleam add translate
```
### Usage
Create a file for each locale in `src/`
```md
src/
└── locale/
└── de-CH/
└── lang.json
└── en-US/
└── lang.json
```
de-CH/lang.json
```json
{
"hello": {
"value": "Willkommen"
},
"amount_planets": {
"value": "Es gibt {AMOUNT} Planeten. Aber es waren mal {AMOUNT_BEFORE}."
}
}
```
en-US/lang.json
```json
{
"hello": {
"value": "Welcome"
},
"amount_planets": {
"value": "There are {CURRENT} planets"
}
}
```
And use the translator like this
```gleam
import translate/translator
let assert Ok(translator) =
translator.new_translator("de-CH")
|> translator.with_directory("src/locale")
|> translator.from_json()
let assert Ok(value) =
translator
|> translator.get_key("hello")
// value -> Willkommen
let assert Ok(value) =
translator
|> translator.get_key_with_args("amount_planets", [#("CURRENT", "7"), #("BEFORE", "8")])
// Es gibt 7 Planeten. Aber es waren mal 8.
```
## Development
Fork the project and clone it
You can run the tests with:
```sh
gleam test
```