Skip to content

Repository files navigation

poeditor-utils

higher-level POEditor utilities for Node.js

Usage

import*asutilsfrom'poeditor-utils'import*asfsfrom'fs'constlanguageCodeOverrides={'pt-br': 'pt',}consttranslations=awaitutils.getTranslations('API token',['project A','project B',])consttranslationsByLanguage=utils.groupTranslations(translations,(translation)=>translation.languageCode)translationsByLanguage.forEach((translations,languageCode)=>{constlanguage=languageCodeOverrides[languageCode]||languageCodeconstdata=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-clientClient. 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-clientProject 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', ...]})

About

higher-level POEditor utilities for Node.js

Resources

Stars

1 star

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages