Skip to content

alexfilatov/getatrex

Repository files navigation

Getatrex circleci

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:

IMAGE ALT TEXT HERE

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

  1. Follow instruction in the Workflow section of the Gettext library
  2. Generate a new locale, e.g., for Spanish, run:
$ mix gettext.merge priv/gettext --locale es
  1. 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'
  1. 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

  1. Automatically write translations to the original default.po file, eliminating the need for a copy-paste step.
  2. Implement support for plural forms.
  3. Add translation support for errors.po files.

Releases

No releases published

Packages

No packages published

Languages