OneSky API for Node
This Node.js module provides access to the OneSky API for managing website translations.Note: This module uses Onesky's "Classic API". Onesky has since released a new API called the Platform API. We should eventually migrate this module to the new API.
If you're looking for a service to order human translations, check out node-gengo.
Installation
Install via npmnpm install onesky --save
Usage
Initialize onesky with your public and private keys.var onesky = require('onesky')(publicKey, privateKey);
Example calls
Note: All callbacks are passed an error and data argument:callback(err, data)
.Create project with base locale
en_US
onesky.project.add('My app', 'en_US', callback);
Fetch projectonesky.project.details('My app', callback);
Add a platform to a projectonesky.platform.add('My app', { type: 'website' }, callback);
Add a phrase to a platform. Strings parameter can be an object, array of objects, string, or an array of stringsvar strings = [{
string: 'My webapp is cool',
stringKey: 'homepage.webapp_is_cool'
}, {
string: 'Another sentence, without a stringKey'
}];
onesky.string.input(platformId, strings, callback);
Order translationsonesky.translate.order({
platformId: platformId,
agencyId: 5,
toLocale: 'es_ES',
filter: 'ALL'
}, callback);
Fetch translationsonesky.string.output({
platformId: platformId,
locale: 'es_ES'
}, callback);
For additional methods, see Onesky's documentation. All endpoints and options listed in the official API docs are available here.Contribute
Forks and pull requests welcome!TODO
- Add tests
- Parse OneSky's response when approriate. OneSky often returns unnecessary nesting
- Design a better way of defining API keys to allow use of multiple onesky accounts