/localize-cli

CLI tool for translating strings and generating i18n files

Primary LanguageJavaScriptMIT LicenseMIT

Localize CLI

CLI tool for translating strings and generating i18n files using the Google Translate API.

Alt text

Installation

npm install --save localize-cli

Configure Google Translate API

To use this tool you'll need a Google Cloud Platform account to access the Google Translate API. It's not entirely painful to set up – I believe in you!

  1. Create a Google Cloud Platform project
  2. Enable billing
  3. Enable the Google Cloud Translation API
  4. Configure Google Cloud authentication on your local machine
    • Set up authentication with a service account

    • Move that json credentials file to somewhere like ~/.google/credentials.json

    • Update ~/.bash_profile with export GOOGLE_APPLICATION_CREDENTIALS=~/.google/credentials.json

    • Reload bash profile with source ~/.bash_profile

    • Copy the project_id for the next step

Configure Localize CLI

Create a config file in your root directory called localize.cli.js with the following:

module.exports = {

  base_locale: 'en',
  
  locales: ['en', 'ja'],

  output: './locales.json',

  google_cloud_project_id: 'MY_GOOGLE_PROJECT_ID'
}

Usage

Typing this command in your terminal...

localize base.hello "Hello world"

... will generate a locales.json file like this:

{
  "en": {
    "base": {
      "hello": "Hello World"
    }
  },
  "ja": {
    "base": {
      "hello": "こんにちは世界"
    }
  }
}

TODO

  • Publish to NPM – npm publish
  • Command for removing translations by JSON key
  • Allow config to exist in package.json or as CLI params
  • Option to break each locale into separate JSON files
  • Re-listen to Vespertine by Björk