Package Exports
- @nutgaard/i18n-tools
- @nutgaard/i18n-tools/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@nutgaard/i18n-tools) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
I18N-tools
Utility for building and compiling I18N bundles.
The project uses tools from FormatJS, if your project uses other tools it may not work for you.
Install globally:
npm install @nutgaard/i18n-tools -g
Install in project:
npm install @nutgaard/i18n-tools --save-dev
Usage
Usage: i18n-tool [options] [command]
Utility for building and compiling I18N bundles
Options:
-h, --help display help for command
Commands:
build [options] <srcDir> <outDir> Bundles files in <srcDir> into i18n files
watch [options] <srcDir> <outDir> Starts watching and rebundling files in <srcDir> into i18n files
validate <srcDir> Validate that every locale contains the same set of keys
fix <srcDir> Attempts to fix validation issues by creating missing files
help [command] display help for command
Build/Watch: package and compile intl files
Usage: i18n-tool build [options] <srcDir> <outDir>
Bundles files in <srcDir> into i18n files
Arguments:
srcDir source folder of your i18n files
outDir output folder for your i18n bundles
Options:
-f, --format <format> Output format (choices: "script", "json", "jsonlut", "formatjs", default: "formatjs")
--typescript Output script files with typescript (default: false)
--strict Run validation before bundling (default: false)
--ast Compile generated bundles (only availble with formatjs) (default: false)
--lut Generate look-up-table (only availble with formatjs) (default: false)
-t, --timeZone <timezone> Inject timezone into date/time skeletons
-h, --help display help for command
Examples:
- Bundle files into a json file following the formatjs-format
i18n-tool build example/messages example/compiled --ast --lut --typescript
The different formats;
script generates bundle_[locale].js
const texts = {
'group-by-page/title': 'The folder structure is preserved in the look-up-table.',
};
export default texts;
Use --typescript
to change the file extension
json generates bundle_[locale].json
{
"group-by-page/title": "The folder structure is preserved in the look-up-table."
}
jsonlut generates bundle_[locale].json
{
"group-by-page": {
"title": "The folder structure is preserved in the look-up-table."
}
}
formatjs generates bundle_[locale].json
{
"group-by-page/title": {
"defaultMessage": "The folder structure is preserved in the look-up-table."
}
}
Validate: check if all files are present for all locales
Usage: i18n-tool validate [options] <srcDir>
Validate that every locale contains the same set of keys
Arguments:
srcDir source folder of your i18n files
Options:
-h, --help display help for command
Fix: create missing files
Usage: i18n-tool fix [options] <srcDir>
Attempts to fix validation issues by creating missing files
Arguments:
srcDir source folder of your i18n files
Options:
-h, --help display help for command