README.md in aigu-0.3.1 vs README.md in aigu-0.4

- old
+ new

@@ -1,11 +1,19 @@ ## Introduction -Aigu processes Rails YAML localization files and generates a single JSON file -that can be imported into the Accent service. It can also process a JSON file -generated by Accent and convert it back to multiple YAML files. +Aigu is a set of utility to process localization files to genarate JSON files +to push to Accent service. Pulling from Accent to update localization files +is also supported. +The following localization file formats are supported: Rails YAML, Android +XML, Java Enum Core, iOS strings and stringsdict. + +Merge and unmerge commands allows to merge different source files into a +single JSON file to send as a single Accent project. + +Push and pull can be used to interact directly with Accent. + ## Installation Add these lines to your application’s Gemfile as development dependancies: ```ruby @@ -34,10 +42,17 @@ | `locale` | The locale used to find localization files. Files that match `*.<locale>.yml` in the input directory will be processed. | | `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`) +| Command | File format | +|-------------------|-------------------------------------------------------| +| `export` | Rails YAML | +| `andoird_export` | Android XML | +| `core_export` | Java Enum Core | +| `ios_export` | iOS strings & stringsdict | + ### Importing the JSON file from Accent The `import` command takes a generated JSON file from Accent and generates the original YAML file structure. @@ -51,22 +66,91 @@ |--------------------|---------------------------------------------------------------------------------------------------| | `locale` | The locale used to generate localization files. Files will be generated as `<file>.<locale>.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` +| Command | File format | +|-------------------|-------------------------------------------------------| +| `import` | Rails YAML | +| `andoird_import` | Android XML | +| `core_import` | Java Enum Core | +| `ios_import` | iOS strings & stringsdict | +### Merge + +The `merge` command will combine several JSON file into a single one to send into a single Accent project. It will prefix keys with +a pattern embedding the filename to allow later unmerging. It works from an input directory, mergin all json files in it. +A file can be named `default.json` to avoid prefixes in the resulting json. + +#### Options + +| Option | Description | +|--------------------|---------------------------------------------------------------------------------------------------| +| `input-directory` | The directory containing json files to merge | +| `output-file` | The path to the JSON file that will be written to | + + +### Unmerge + +The `unmerge` will split the Accent JSON file into several json files, for further processing. It will look for the prefix pattern +of the merge command and will extract the filename or use default.json if pattern is not found. + +#### Options + +| Option | Description | +|--------------------|---------------------------------------------------------------------------------------------------| +| `input-file` | The path to the Accent-generated JSON file | +| `output-directory` | The directory where the unmerged files will be written | + +### Sending to Accent + +The `push` command takes a JSON file exported by Aigu and send it to Accent + +#### Options + +| Option | Description | +|--------------------|---------------------------------------------------------------------------------------------------| +| `input-file` | The path to the Aigu-generated JSON file | +| `accent-api-key` | The API key of the Accent project. (See project config in Accent) | +| `accent-url` | The URL to the instance of Accent to use (Prod: http://accent.mirego.com, QA: https://mirego-accent-qa.herokuapp.com ) | + +### Pulling from Accent + +The `pull` command GET the Accent generated JSON file + +#### Options + +| Option | Description | +|--------------------|---------------------------------------------------------------------------------------------------| +| `output-file` | The path to write the Accent JSON file to | +| `accent-api-key` | The API key of the Accent project. (See project config in Accent) | +| `accent-url` | The URL to the instance of Accent to use (Prod: http://accent.mirego.com, QA: https://mirego-accent-qa.herokuapp.com ) | + +### 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 +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 [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.