lingohub
v1.0.1
Published
Lingohub NodeJS client
Downloads
10
Readme
Node LingoHub Client
Unofficial client library to translate apps with LingoHub.
This library implements most common API functionality.
Install
npm install --save-dev lingohub
Configuration
Configuration is a plain javascript object
const config = {
api: {
url: 'https://api.lingohub.com'
version: 'v2'
},
auth: {
token: 'abcdef12345'
},
format: 'json',
account: 'your-account-name'
}
Configuration follows the following format:
| attribute | description | required | validation | default | |------------- |--------------------------------------------------------------- |---------- |------------------------- |-------------------------- | | api* | api config | false | - | - | | api.url | url to lingohub api (useful for mocking their api) | false | must be an url | https://api.lingohub.com | | api.version | lingohub api version | false | must be 'v1' | v1 | | auth.token | your lingohub api token | true | required | - | | format | translation download format | false | must be 'json' or 'xml' | json | | account | lingohub account id (account name, dash separated, lowercase) | true | regex: a-z0-9- | - |
- the whole api block is optional. Most people will want to leave it out entirely.
Usage
Usage of the api is like a waterfall. At any point you can call .get()
to call the API and return the result.
Getting project information
const LingoHub = require('lingohub')
const config = { ... }
const client = await LingoHub.create(config)
await client.project('project-id').get()
Where project-id
is the id of the project you want to get information for.
Getting project resources
const LingoHub = require('lingohub')
const config = { ... }
const client = await LingoHub.create(config)
await client.project('project-id').resources().get()
Where project-id
is the id of the project you want to get information for.
Downloading a project resource
const LingoHub = require('lingohub')
const config = { ... }
const client = await LingoHub.create(config)
await client.project('project-id').resources().download('filename').get()
Where project-id
is the id of the project you want to get information for, and filename
is the name of the file to download.
Developing
The project is laid out according to basic node conventions.
You can run the tests by doing:
npm test
Feel free to submit a PR, but please ensure any functionality comes with passing unit tests.
Maintainers
- Antony Jones (https://github.com/antony)
License
MIT License. Copyright 2017 Antony Jones