Awesome
Getatrex
Getatrex is a Gettext Automatic Translator written in Elixir, designed to facilitate the translation process of *.po
files generated by Gettext in your Elixir/Phoenix project.
Features
- Automatically translates Gettext
*.po
files - Simple integration with Elixir/Phoenix projects
- Utilizes Google Cloud Translation API for translations
Demo how it works
Watch a demonstration of Getatrex in action:
Installation
Add Getatrex as a dependency
To install Getatrex, add it to your list of dependencies in mix.exs:
def deps do
[{:getatrex, "~> 0.1", only: :dev, runtime: false}]
end
This will also install goth
package, which is required for Google automatic translations.
Configure Google Cloud Translation API Key for Goth
To use the Google Cloud Translation API, you'll need an API key. If you don't have one, obtain it from the Google Cloud Console.
Download the JSON file with your credentials and store it somewhere safe (avoid including it in your source control).
Next, open your config/config.exs file and add the following configuration:
# Google credentials
config :goth, json: "path/to/goth_credentials.json" |> File.read!
Replace path/to/goth_credentials.json
with the actual path to your credentials file.
Usage
- Follow instruction in the Workflow section of the Gettext library
- Generate a new locale, e.g., for Spanish, run:
$ mix gettext.merge priv/gettext --locale es
- IMPORTANT! Commit your changes to git with a message like "adding new Spanish locale". This ensures you have a previous version to revert to if necessary.
$ git commit -a -m 'adding new Spanish locale'
- Use Getatrex to translate the new Spanish locale:
$ mix getatrex es
Getatrex will generate a translated_default.po
file with translations.
Open this file in your IDE to review and correct any inaccurate translations.
Replace the original default.po
file with the corrected version when you're done.
Roadmap
- Automatically write translations to the original
default.po
file, eliminating the need for a copy-paste step. - Implement support for plural forms.
- Add translation support for
errors.po
files.