Awesome
poeditor-service-provider
POEditor service provider for vue-i18n-locale-message
:cd: Installation
$ npm install -g poeditor-service-provider # or npm install --save-dev poeditor-service-provider
due to use this provider, you need to install vue-i18n-locale-message beforehand.
$ npm install -g vue-i18n-locale-message
:rocket: Usages
Configurations
Before you use this provider, you need to configure the following:
{
"provider": {
"id": "12345", // your POEditor project id
"token": "xxx..." // your POEditor API token, if it's ommitted, use the value of `POEDITOR_API_TOKEN` ENV
}
}
About details, See the POEditorProviderConfiguration
.
Push the locale messages to POEditor
$ vue-i18n-locale-message push --provider=poeditor-service-provider \
--conf ./poeditor-service-provider-conf.json \
--target-paths=./src/locales/*.json \
--filename-match=^([\\w]*)\\.json
Pull the locale messages from POEditor
$ vue-i18n-locale-message pull --provider=poeditor-service-provider \
--conf ./poeditor-service-provider-conf.json \
--output=./src/locales
Indicate translation status from POEditor
$ vue-i18n-locale-message status --provider=poeditor-service-provider \
--conf=poeditor-service-provider-conf.json
Diff locale messages between local and POEditor
vue-i18n-locale-message diff --provider=poeditor-service-provider \
--conf=poeditor-service-provider-conf.json \
--target-paths=./src/locales/*.json \
--filename-match=^([\\w]*)\\.json
Import the locale messages to POEditor
$ vue-i18n-locale-message import --provider=poeditor-service-provider \
--conf ./poeditor-service-provider-conf.json \
--target=./src/locales/ja.json \
--format=json
Export the locale messages from POEditor
$ vue-i18n-locale-message export --provider=poeditor-service-provider \
--conf ./poeditor-service-provider-conf.json \
--output=./src/locales
:warning: Do you have a hierarchical locale message?
POEditor will process locale messages with hierarchical structure as context
.
Therefore, we need to normalize with flat structure , and push it to POEditor.
$ vue-i18n-locale-message push --provider=poeditor-service-provider \
--conf ./poeditor-service-provider-conf.json \
--target-paths=./src/locales/*.json \
--nomalize=flat \
--filename-match=^([\\w]*)\\.json
And also, when pulling data from POEditor, it need to normalize from flat structure to hierarchical structure.
$ vue-i18n-locale-message pull --provider=poeditor-service-provider \
--conf ./poeditor-service-provider-conf.json \
--nomalize=hierarchy \
--output=./src/locales