Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/change/linguist
Elixir Internationalization library
https://github.com/change/linguist
elixir
Last synced: about 2 months ago
JSON representation
Elixir Internationalization library
- Host: GitHub
- URL: https://github.com/change/linguist
- Owner: change
- License: mit
- Created: 2014-06-23T19:23:42.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-04-11T08:40:03.000Z (2 months ago)
- Last Synced: 2024-04-14T04:10:23.761Z (2 months ago)
- Topics: elixir
- Language: Elixir
- Homepage:
- Size: 193 KB
- Stars: 179
- Watchers: 35
- Forks: 23
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Lists
- awesome-elixir - linguist - Elixir Internationalization library. (Translations and Internationalizations)
- fucking-awesome-elixir - linguist - Elixir Internationalization library. (Translations and Internationalizations)
README
# Linguist
> Linguist is a simple Elixir Internationalization library## Usage
```elixir
defmodule I18n do
use Linguist.Vocabulary
locale "en", [
flash: [
notice: [
hello: "hello %{first} %{last}",
bye: "bye now, %{name}!"
]
],
users: [
title: "Users",
profiles: [
title: "Profiles",
]
]
]
locale "fr", Path.join([__DIR__, "fr.exs"])end
# fr.exs
[
flash: [
notice: [
hello: "salut %{first} %{last}"
]
]
]iex> I18n.t!("en", "flash.notice.hello", first: "chris", last: "mccord")
"hello chris mccord"iex> I18n.t!("fr", "flash.notice.hello", first: "chris", last: "mccord")
"salut chris mccord"iex> I18n.t!("en", "users.title")
"Users"
```## Configuration
The key to use for pluralization is configurable, and should likely be an atom:
```elixir
config :linguist, pluralization_key: :count
```
will cause the system to pluralize based on the `count` parameter passed to the `t` function.