gulp-i18n-csv
Create internationalized files from a CSV translations file
Install
$ npm install --save-dev gulp-i18n-csv
Usage
var gulp = ;var gulpi18nCsv = ; gulp;
API
gulpi18nCsv([ options ])
options
pretty
Type: boolean
Default: false
When true
, outputs human-readble JSON.
resource path (resPath)
Type: string
Default: locales/\__lng__/\__ns__.json
When specified, writes file to specified location.
Examples
_lng_ - language name _ns_ - namespace (defaults to 'translation')
'locales/en/translation.json'
'locales/fr/translation.json'
'locales/zh-Hans/translation.json'
...
Another one:
'locales/translation-en.json'
'locales/translation-fr.json'
'locales/translation-zh-Hans.json'
...
Formatting
If a superkey has subkeys after it , do not have the superkey as a key in the csv file at all.
(ie. if foo
has subkey foo.bar
, do not have foo
as a key in the csv file)
Deep-key nesting
gulp-i18n-csv provides deep key nesting when the key is separated by periods.
Example:
key | string |
---|---|
foo.bar.blah.dog | hello |
This about should become
Splitting
Allows for splitting top-level keys into separate files depending on the option specified.
Use this to split every top-level key into its own csv file:
Replace with an array to split only keys in array from the main translation file:
Replace with string to only split one key away from the main translation file:
If resPath is provided when splitting, the key being split will replace __ns__
in the file path.
Examples
Say you have the following .csv:
key | string |
---|---|
lang | ru |
tab.play | Tab Play |
tab.blar | Tab Blar |
help.one | Help One |
help.three | Help Two |
help.four | Help Three |
When the following is specified, will separate into 3 files: lang.json, tab.json, and help.json.
split: true
When the following is specified, will separate into 3 files: translation.json, tab.json, and help.json.
split: tab help
When the following is specified, will separate into 2 files: lang.json and translation.json.
split: lang
If resPath provided as well
resPath: 'locales/__lng__/__ns__.json' split: true
Will separate into 3 files at paths locales/ru/lang.json, locales/ru/tab.json, locales/ru/help.json.
License
MIT © Cynthia (Qingwei) Li