transifex-api-es6

0.2.4 • Public • Published

view on npm Dependency Status

transifex-api-es6

A promise-based Transifex API client for node, written in es6. Promises are thenable using the q library.

The motivation behind this API is that there are no modern, promise-based JS API for Transifex out there that I could find. If found those that exist being difficult to overview or understand, so I started building on a new one.

Installation

npm install [--save] [--save-dev] transifex-api-es6

Usage

var TransifexApi = require('transifex-api-es6');
 
var api = new TransifexApi({
  user: 'username',
  password: 'password',
  projectName: 'my-project',
  resourceName: 'customer-area' // optional
});
 
// Get resource translation
api.getResourceTranslation('en')
.then((contents) => {
  // contents -> PO contents as a string
}, (err) => console.error(err));
 
// Get translation strings
api.getTranslationStrings('en', 'my_resource')
.then((strings) => {
  // strings -> Set of string objects for 'my_resource'
}, (err) => console.error(err))

API Reference

new TransifexApi(opts)

Param Type Description
opts Object An object with required projectName, user and password fields. Optionally takes a resourceName which is stored as the default resource.

transifexApi.setResourceName(resourceName)

Sets the default resource slug

Param Type Description
resourceName string A resource slug

transifexApi.getProject() ⇒ Object

Returns information about the project

Returns: Object - A project instance (wrapped in a promise)

transifexApi.getProjectLanguages() ⇒ Object

Returns an list of languages that belong to the project

Returns: Object - A list of languages (wrapped in a promise)

transifexApi.getResources() ⇒ array

Returns a list of resources in the project

Returns: array - A list of the project's resources (wrapped in a promise)

transifexApi.getResource(resourceName) ⇒ Object

Returns a resource

Param Type Description
resourceName string (Optional) The slug of the requested resource.

Returns: Object - A resource as JSON (wrapped in a promise)

transifexApi.createResource(resource) ⇒ Object

Creates a new resources in the project

Param Type Description
resource Object Dictionary with info about the resource

Returns: Object - A q promise

transifexApi.deleteResource(resourceName) ⇒ Object

Deletes a resource

Param Type Description
resourceName string (Optional) The slug of the resource

Returns: Object - A q promise

transifexApi.getResourceTranslation(langCode, resourceName) ⇒ string

Returns a translation of a given (or default) resource in a given language as .po contents.

Param Type Description
langCode string A language code, e.g. en_US
resourceName string (Optional) A resource slug

Returns: string - A PO file as a string (wrapped in a promise)

transifexApi.getTranslationStrings(langCode, resourceName) ⇒ string

Returns a set of translated strings of a given (or default) resource in a given language.

Param Type Description
langCode string A language code, e.g. en_US
resourceName string (Optional) A resource slug

Returns: string - A list of translation strings as JSON objects
(wrapped in a promise)

Contributing

This project is in early development. Issues and pull requests are more than welcome!

Readme

Keywords

Package Sidebar

Install

npm i transifex-api-es6

Weekly Downloads

5

Version

0.2.4

License

ISC

Unpacked Size

24.3 kB

Total Files

4

Last publish

Collaborators

  • alexander_wallin