## Introduction Aigu is a set of utility to process localization files to generate JSON files to send to Accent as well as taking JSON files from Accent and convert them back to localization files. ## Installation Add these lines to your application’s Gemfile as development dependancies: ```ruby group :development do gem 'aigu' end ``` ## Usage Aigu provides an executable named `aigu`. ### Exporting the JSON file for Accent The `export` command looks for localization files and generates a JSON file. This file will then be compatible with Accent. ```bash $ aigu --locale=fr --input-directory=config/locales --output-file=my-project.json ``` #### Commands | Command | File format | |-----------------------|----------------------------| | `rails-export` | Rails YAML | | `android-export` | Android XML | | `core-export` | Java Enum Core | | `ios-export` | iOS strings & stringsdict | | `ember-export` | Ember.js JavaScript | | `ember-pod-export ` | Ember.js pods JSON | | `ember-engine-export` | Ember.js Engine JavaScript | #### Options | Option | Description | |-------------------|-----------------------------------------------------------------------| | `locale` | The locale used to find localization files. | | `input-directory` | The directory used to find localization files | | `output-file` | The path to the JSON file that will be written by `aigu` | | `ignore` | The patterns `aigu` will use to skip ignored files (eg. `routes.yml`) | ### Importing the JSON file from Accent The `import` command takes a generated JSON file from Accent and generates localization files in the output directory. ```bash $ aigu --locale=fr --input-file=file-from-accent.json --output-directory=config/locales ``` #### Commands | Command | File format | |-----------------------|----------------------------| | `rails-import` | Rails YAML | | `android-import` | Android XML | | `core-import` | Java Enum Core | | `ios-import` | iOS strings & stringsdict | | `ember-import` | Ember.js JavaScript | | `ember-pod-import` | Ember.js pods JSON | | `ember-engine-import` | Ember.js Engine JavaScript | #### Options | Option | Description | |--------------------|--------------------------------------------------------------------------------------------------| | `locale` | The locale used to generate localization files. Files will be generated as `..yml` | | `input-file` | The path to the Accent-generated JSON file | | `output-directory` | The directory where the localization YAML files will be generated | ### Using `.aigu.yml` Instead of using command-line arguments when running the `aigu` command, you can create a `.aigu.yml` file at the root of your project and hard-code options in that file. ```yaml ignore: - routes.yml - rails/**/*.yml output-directory: config/locales input-directory: config/locales ``` ## Contributing We’re using `phare` to make sure all Ruby code adheres to our coding style guide. The best way to use `phare` is as a pre-commit hook: ```bash $ ln -s "`pwd`/bin/phare" .git/hooks/pre-commit ``` That way, whenever `git commit` is ran, `phare` will be executed and will abort the commit if there are errors. ## License `Aigu` is © 2014-2017 [Mirego](http://www.mirego.com) and may be freely distributed under the [New BSD license](http://opensource.org/licenses/BSD-3-Clause). See the [`LICENSE.md`](https://github.com/mirego/aigu/blob/master/LICENSE.md) file. ## About Mirego [Mirego](http://mirego.com) is a team of passionate people who believe that work is a place where you can innovate and have fun. We're a team of [talented people](http://life.mirego.com) who imagine and build beautiful Web and mobile applications. We come together to share ideas and [change the world](http://mirego.org). We also [love open-source software](http://open.mirego.com) and we try to give back to the community as much as we can.