Skip to content

antony/lingohub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node LingoHub Client

Build Status

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

License

MIT License. Copyright 2017 Antony Jones