Node.js utils for working with OneSky translation service.
Example
getFile
var onesky = ; var options = language: 'en_EN' secret: '1234567' apiKey: 'abcdefg' projectId: '123' fileName: 'translations.po'; onesky;
getMultilingualFile
var onesky = ; var options = language: 'en_EN' secret: '1234567' apiKey: 'abcdefg' projectId: '123' fileName: 'translations.po' format: 'I18NEXT_MULTILINGUAL_JSON'; onesky;
postFile
var onesky = ; var options = language: 'en-US' secret: '1234567' apiKey: 'abcdefg' projectId: '123' fileName: 'translations.json' format: 'HIERARCHICAL_JSON' content: JSON keepStrings: true; onesky;
getLanguages
var onesky = ; var options = apiKey: 'abcdefg' secret: '1234567' projectId: '123'; onesky;
Install
$ npm install onesky-utils
API
getFile(options)
Downloads translation file from OneSky.
Returns file content via promise.
The options
object is required. Options include:
- options.projectId - Numerical ID of the project
- options.fileName - Name of the translation file
- options.language - Language version
- options.secret -
secret
andapiKey
are used for authentication - options.apiKey
getMultilingualFile(options)
Downloads multi-language translations from OneSky.
Returns file content via promise.
The options
object is required. Options include:
- options.projectId - Numerical ID of the project
- options.fileName - Name of the translation file
- options.format - Response file format (Optional. Defaults to
I18NEXT_MULTILINGUAL_JSON
) - options.language - Language version
- options.secret -
secret
andapiKey
are used for authentication - options.apiKey
postFile(options)
Uploads translation file to OneSky.
The options
object is required. Options include:
- options.projectId - Numerical ID of the project
- options.fileName - Name of the translation file
- options.language - Language version
- options.format - File format (list here)
- options.content String with the content of the file
- options.keepStrings Boolean saying if already uploaded strings not present on this file should be deprecated or keept
- options.allowSameAsOriginal Keep the translations that are the same as source text (Optional. Defaults to
false
) - options.secret -
secret
andapiKey
are used for authentication - options.apiKey
Returns JSON API response content via promise. Example:
{ "meta": { "status": 200, "record_count": 16 }, "data": [ { "name": "translations.json", "string_count": 236, "last_import": { "id": 123, "status": "in-progress" }, "uploaded_at": "2013-10-07T15:27:10+0000", "uploaded_at_timestamp": 1381159630 } ]}
getLanguages(options)
Get list of project languages.
The options
object is required. Options include:
- options.projectId - Numerical ID of the project
- options.secret -
secret
andapiKey
are used for authentication - options.apiKey
Returns JSON API response content via promise. Example:
{ "meta": { "status": 200, "record_count": 2 }, "data": [ { "code": "en-US", "english_name": "English (United States)", "local_name": "English (United States)", "locale": "en", "region": "US", "is_base_language": true, "is_ready_to_publish": true, "translation_progress": "100%", "uploaded_at": "2013-10-07T15:27:10+0000", "uploaded_at_timestamp": 1381159630 }, { "code": "ja-JP", "english_name": "Japanese", "local_name": "日本語", "locale": "ja", "region": "JP", "is_base_language": false, "is_ready_to_publish": true, "translation_progress": "98%", "uploaded_at": "2013-10-07T15:27:10+0000", "uploaded_at_timestamp": 1381159630 } ]}
Tests
$ npm test