Accent CLI
Usage
$ npm install -g accent-cli
$ accent COMMAND
running command...
$ accent (-v|--version|version)
accent-cli/0.13.2 darwin-arm64 node-v16.15.1
$ accent --help [COMMAND]
USAGE
$ accent COMMAND
...
Configuration
accent-cli reads from a accent.json
file. The file should contain valid JSON representing the configuration of your project.
Example
{
"apiUrl": "http://your.accent.instance",
"apiKey": "2nziVSaa8yUJxLkwoZA",
"files": [
{
"format": "json",
"source": "localization/fr/*.json",
"target": "localization/%slug%/%document_path%.json",
"hooks": {
"afterSync": "touch sync-done.txt"
}
}
]
}
Document configuration
Each operation section sync
and addTranslations
can contain the following object:
language
: The identifier of the document’s languageformat
: The format of the documentsource
: The path of the document. This can contain glob pattern (See [the node glob library] used as a dependancy (https://github.com/isaacs/node-glob))target
: Path of the target languageshooks
: List of hooks to be run
Hooks
Here is a list of available hooks. Those are self-explanatory
beforeSync
afterSync
beforeExport
afterExport
Commands
accent export
Export files from Accent and write them to your local filesystem
USAGE
$ accent export
OPTIONS
--config=config [default: accent.json] Path to the config file
--order-by=index|key [default: index] Order of the keys
--version=version Fetch a specific version
EXAMPLES
$ accent export
$ accent export --order-by=key --version=build.myapp.com:0.12.345
See code: src/commands/export.ts
accent format
Format local files from server. Exit code is 1 if there are errors.
USAGE
$ accent format
OPTIONS
--config=config [default: accent.json] Path to the config file
--order-by=index|key|-index|-key [default: index] Order of the keys
EXAMPLE
$ accent format
See code: src/commands/format.ts
accent help [COMMAND]
display help for accent
USAGE
$ accent help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
accent jipt PSEUDOLANGUAGENAME
Export jipt files from Accent and write them to your local filesystem
USAGE
$ accent jipt PSEUDOLANGUAGENAME
ARGUMENTS
PSEUDOLANGUAGENAME The pseudo language for in-place-translation-editing
OPTIONS
--config=config [default: accent.json] Path to the config file
EXAMPLE
$ accent jipt
See code: src/commands/jipt.ts
accent lint
Lint local files and display errors if any. Exit code is 1 if there are errors.
USAGE
$ accent lint
OPTIONS
--config=config [default: accent.json] Path to the config file
EXAMPLE
$ accent lint
See code: src/commands/lint.ts
accent stats
Fetch stats from the API and display it beautifully
USAGE
$ accent stats
OPTIONS
--config=config [default: accent.json] Path to the config file
EXAMPLE
$ accent stats
See code: src/commands/stats.ts
accent sync
Sync files in Accent and write them to your local filesystem
USAGE
$ accent sync
OPTIONS
--add-translations Add translations in Accent to help translators if you already have translated
strings locally
--config=config [default: accent.json] Path to the config file
--dry-run Do not write the file from the export _after_ the operation
--merge-type=smart|passive|force [default: passive] Algorithm to use on existing strings when adding translation
--order-by=index|key [default: index] Will be used in the export call as the order of the keys
--sync-type=smart|passive [default: smart] Algorithm to use on existing strings when syncing the main language
--version=version Sync a specific version, the tag needs to exists in Accent first
EXAMPLES
$ accent sync
$ accent sync --dry-run --sync-type=force
$ accent sync --add-translations --merge-type=smart --order-key=key --version=v0.23
See code: src/commands/sync.ts
GitHub Actions
In addition to syncing the translations manually, you can add a GitHub Actions workflow to your project in order to automate the process.
Example
name: Accent
on:
schedule:
- cron: "0 4 * * *"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- run: npm install -g accent-cli
- run: accent sync --add-translations --merge-type=passive --order-by=key
- uses: peter-evans/create-pull-request@v4
with:
add-paths: "*.json"
commit-message: Update translations
committer: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
branch: accent
draft: false
delete-branch: true
title: New translations are available to merge
body: The translation files have been updated, feel free to merge this pull request after review.
In this example the translations will be synchronized daily at midnight eastern time. Using a pull request gives you the opportunity to review the changes before merging them in your codebase.
License
accent-cli
is © 2019 Mirego and may be freely distributed under the New BSD license. See the LICENSE.md
file.
About Mirego
Mirego 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 who imagine and build beautiful Web and mobile applications. We come together to share ideas and change the world.
We also love open-source software and we try to give back to the community as much as we can.