Babel Gettext Extractor banner
getsentry getsentry

Babel Gettext Extractor

Development community

Description

A fork of babel-gettext-plugin that works with older versions of node and supports comment and location extraction

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

[![Build Status](https://travis-ci.com/getsentry/babel-gettext-extractor.svg?branch=master)](https://travis-ci.org/getsentry/babel-gettext-extractor) [![npm version](https://img.shields.io/npm/v/babel-gettext-extractor.svg)](https://www.npmjs.com/package/babel-gettext-extractor)

babel-gettext-extractor

Extract gettext string with babel support syntax JSX, ES6, ... It is based on node-gettext. This is a fork of the npm module `babel-gettext-plugin` which adds support for references and runs on earlier versions of node.

Supports babel 7.

Install

`yarn add babel-gettext-extractor` or `npm install --save babel-gettext-extractor`

Node use

var babel = require("babel");

babel.transform(code, { plugins:["babel-gettext-extractor"]});

Command line use

babel --plugins babel-gettext-extractor code.js

Options

"plugins": [
  [ "babel-gettext-extractor", {
    "headers": ,
    "functionNames": ,
    "fileName": ,
    "baseDirectory": ,
    "stripTemplateLiteralIndent": 
  }]
]

headers

The headers to put in the po file.

headers: {
  "content-type": "text/plain; charset=UTF-8",
  "plural-forms": "nplurals=2; plural=(n!=1);"
}

functionNames

A list of function names to extract. The list is the definition of the parameters: `"domain"`, `"msgctxt"`, `"msgid"`, `"msgid_plural"` and `"count"`

example:

functionNames: {
  myfunction: ["msgid"]
}

fileName

The filename where the end result is placed. If you supply a function, it will receive the current file babel is working on and you can return the full path to where you want to save your translation template for this particular file.

example:

[
    require("babel-gettext-extractor"),
    {
        fileName: (file) => {
            const sourceFile = file.opts.sourceFileName;
            if (/^node_modules\//.test(sourceFile)) {