Gettext Automatic Translator in Elixir
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.
*.po
filesWatch a demonstration of Getatrex in action:
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.
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.
$ 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.
default.po
file, eliminating the need for a copy-paste step.errors.po
files.