Socket
Socket
Sign inDemoInstall

poeditor-utils

Package Overview
Dependencies
2
Maintainers
7
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

poeditor-utils


Version published
Maintainers
7
Created

Readme

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[, options])

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

Gets translations for multiple projects. Gets translations for all the project languages or only languages specified with options.languageCodes.

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

Last updated on 05 Jun 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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc