Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

poeditor-utils

Package Overview
Dependencies
Maintainers
7
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

poeditor-utils

higher-level POEditor utilities for Node.js

  • 0.3.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
168
increased by236%
Maintainers
7
Weekly downloads
 
Created
Source

poeditor-utils

higher-level POEditor utilities for Node.js

  • uses POEditor API v1 via poeditor-client
  • API is still a subject to change

Usage

import * as utils from 'poeditor-utils'
import * as fs from 'fs'

const languageCodeOverrides = {
	'pt-br': 'pt',
}
const translations = await utils.getTranslations('API token', [
	'project A',
	'project B',
])
const translationsByLanguage = utils.groupTranslations(translations, (translation) => translation.languageCode)
translationsByLanguage.forEach((translations, languageCode) => {
	const language = languageCodeOverrides[languageCode] || languageCode
	const data = utils.formatTranslationsAsJson(translations, {
		indent: 2,
	})
	fs.writeFileSync(`./translations/${language}.json`, data)
})

utils.Translation

  • projectName: string
  • languageCode: string
  • term: string
  • value: string

Translation of a single term to a single language.

utils.getTranslations(apiToken, projectNames)

  • apiToken: string
  • projectNames: string[]
  • returns Promise<Translation[]>

Gets translations for multiple projects for all the project languages.

utils.groupTranslations(translations, grouper)

  • translations: Translation[]
  • grouper: (translation: Translation) => string
  • returns Map<string, Translation[]>

Groups translations by keys produced by grouper.

utils.formatTranslationsAsJson(translations[, options])

  • translations: Translation[]
  • options: Object
    • indent: number | string
  • returns string

Formats translations to string as stable sorted JSON.

Obsolete API

utils.Client(apiToken) [DEPRECATED]

  • apiToken: string - POEditor API token

Exposes the poeditor-client Client. See their docs for more.

utils.getProject(apiToken, projectName) [DEPRECATED]

  • apiToken: string - POEditor API token
  • projectName: string - POEditor project name

Returns a promise which resolves with a poeditor-client Project representation of the project. See their docs for more.

utils.pullTranslations(apiToken, projectName, getPathCallback) [DEPRECATED]

  • apiToken: string - POEditor API token
  • projectName: string - POEditor project name
  • getPathCallback: (translation: Translation) => string - produces destination file path for given translation

Gets translations for all the project languages and writes them to files by getPathCallback as a stable sorted JSON. Returns a promise which resolves with an array of file paths written.

utils.pullTranslations('API token', 'project name', (translation) => {
	return 'translations/' + translation.languageCode + '.json'
})
.then((paths) => {
	console.log(paths) // ['translations/en.json', ...]
})

Keywords

FAQs

Package last updated on 22 May 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc