gulp-azure-translate
Version:
streaming translation tool using azure's congnitive services
83 lines (66 loc) • 2.34 kB
Markdown
### Gulp Azure Translate
Streaming Translation tool using Azure's Cognitive Services
## Installation
You know the drill...
```
$ npm i gulp-azure-translate
```
## Setup
To use this tool, you'll first need to create an instance of [Microsoft Azure's Cognitive Services](https://docs.microsoft.com/en-us/azure/cognitive-services/) in your Azure account.
This plugin calls the [v3 translate api](https://docs.microsoft.com/en-us/azure/cognitive-services/translator/reference/v3-0-reference).
## Api
```js
translateAzure(config)
```
The config is an object consisting of:
- `apiKey` - _required_ **_string_** - the api key from your azure congnitive services instance
- `region` - _required_ **_string_** - the region from your azure congnitive services instance
- `toLangs` - _required_ **_string[]_** - array of locale codes to translate the source content to
- `fromLang` - _optional_ **_string_** - the locale code that will be used as the source language (default: determined)
- `slowMode` - _optional_ **_boolean_** - requests all translations in series. (default: false)
- `showErrors` - _optional_ **_boolean_** - displays network errors when encountered. (default false)
_Note: `apiKey` and `region` are values from the Congnitive Services instance you create in your Azure account. Once created, Check the "Keys and Endpoint" tab to get these values._
A list of [supported languages can be found here](https://api.cognitive.microsofttranslator.com/languages?api-version=3.0).
## Example Gulp Usage
#### Gulpfile
```js
// gulpfile.js
const { task } = require('gulp');
const translateAzure = require('gulp-azure-translate');
task('translate', () => {
return src(['src/en.json'])
.pipe(translateAzure({
apiKey: '00000000-00000000-00000000-00000000-0000000000',
region: 'eastus',
fromLang: 'en',
toLangs: ['es', 'ja']
}))
.pipe(dest(`./src/translations`))
})
```
#### Source Language File
```js
// src/en.json
{
"org": "Organization",
"currOrg": "Current Organization",
"account": "Account"
}
```
#### Language Ouptut File(s)
```js
// src/translations/es.json
{
"org": "Organización",
"currOrg": "Organización actual",
"account": "Cuenta"
}
```
```js
// src/translations/ja.json
{
"org": "組織",
"currOrg": "現在の組織",
"account": "アカウント"
}
```