{"id":26576645,"url":"https://github.com/getsentry/babel-gettext-extractor","last_synced_at":"2025-03-23T03:24:18.417Z","repository":{"id":48001115,"uuid":"46486993","full_name":"getsentry/babel-gettext-extractor","owner":"getsentry","description":"A fork of babel-gettext-plugin that works with older versions of node and supports comment and location extraction","archived":false,"fork":false,"pushed_at":"2023-07-11T21:48:50.000Z","size":234,"stargazers_count":43,"open_issues_count":13,"forks_count":22,"subscribers_count":57,"default_branch":"master","last_synced_at":"2025-03-22T06:47:06.197Z","etag":null,"topics":["tag-production"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/getsentry.png","metadata":{"funding":{"custom":["https://sentry.io/pricing/","https://sentry.io/"]},"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-19T11:06:47.000Z","updated_at":"2024-03-29T19:09:45.000Z","dependencies_parsed_at":"2024-06-18T16:42:28.638Z","dependency_job_id":"52a8107b-750c-442b-8510-87ef4505f505","html_url":"https://github.com/getsentry/babel-gettext-extractor","commit_stats":{"total_commits":90,"total_committers":16,"mean_commits":5.625,"dds":0.8,"last_synced_commit":"254985d4d9912e698287a57702f4f43d19482efe"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getsentry%2Fbabel-gettext-extractor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getsentry%2Fbabel-gettext-extractor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getsentry%2Fbabel-gettext-extractor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getsentry%2Fbabel-gettext-extractor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getsentry","download_url":"https://codeload.github.com/getsentry/babel-gettext-extractor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244918586,"owners_count":20531686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["tag-production"],"created_at":"2025-03-23T03:24:17.598Z","updated_at":"2025-03-23T03:24:18.419Z","avatar_url":"https://github.com/getsentry.png","language":"JavaScript","readme":"[![Build Status](https://travis-ci.com/getsentry/babel-gettext-extractor.svg?branch=master)](https://travis-ci.org/getsentry/babel-gettext-extractor)\n[![npm version](https://img.shields.io/npm/v/babel-gettext-extractor.svg)](https://www.npmjs.com/package/babel-gettext-extractor)\n\n# babel-gettext-extractor\n\nExtract gettext string with babel support syntax JSX, ES6, ... It is based on\nnode-gettext.  This is a fork of the npm module `babel-gettext-plugin` which\nadds support for references and runs on earlier versions of node.\n\nSupports babel 7.\n\nInstall\n========\n`yarn add babel-gettext-extractor`\nor\n`npm install --save babel-gettext-extractor`\n\nNode use\n========\n\n```js\nvar babel = require(\"babel\");\n\nbabel.transform(code, { plugins:[\"babel-gettext-extractor\"]});\n```\n\nCommand line use\n================\n\n```\nbabel --plugins babel-gettext-extractor code.js\n```\n\nOptions\n=======\n\n\n```js\n\"plugins\": [\n  [ \"babel-gettext-extractor\", {\n    \"headers\": \u003cObject\u003e,\n    \"functionNames\": \u003cObject\u003e,\n    \"fileName\": \u003cString|Function\u003e,\n    \"baseDirectory\": \u003cString\u003e,\n    \"stripTemplateLiteralIndent\": \u003cBoolean\u003e\n  }]\n]\n```\n\n### headers ###\nThe headers to put in the po file.\n\n```js\nheaders: {\n  \"content-type\": \"text/plain; charset=UTF-8\",\n  \"plural-forms\": \"nplurals=2; plural=(n!=1);\"\n}\n```\n\n### functionNames ###\n\nA list of function names to extract.  The list is the definition of the\nparameters: `\"domain\"`, `\"msgctxt\"`, `\"msgid\"`, `\"msgid_plural\"` and\n`\"count\"`\n\nexample:\n```js\nfunctionNames: {\n  myfunction: [\"msgid\"]\n}\n```\n\n### fileName ###\n\nThe filename where the end result is placed. If you supply a function, it will receive the current file babel is working\non and you can return the full path to where you want to save your translation template for this particular file.\n\nexample:\n```javascript\n[\n    require(\"babel-gettext-extractor\"),\n    {\n        fileName: (file) =\u003e {\n            const sourceFile = file.opts.sourceFileName;\n            if (/^node_modules\\//.test(sourceFile)) {\n                return false;\n            }\n            return sourceFile\n                .split(/[\\/\\\\.]/)\n                .filter(name =\u003e !['src', 'packages', 'js'].includes(name))\n                .slice(0, 2)\n                .join('-') + '-template.pot';\n        },\n    },\n]\n```\n\n### baseDirectory ###\n\nIf provided, then file names are chopped off in relation to this base path\nif filenames start with that path.\n\n### stripTemplateLiteralIndent ###\n\nIf true this will strip leading indents from multiline strings. Note: this\nrequires gettext function implementations to do the same leading indent removal.\nUseful if you want to use Template literals for multiline strings to be passed\ninto to gettext functions.\n\nLicense\n=======\n\n[MIT License](LICENSE).\n","funding_links":["https://sentry.io/pricing/","https://sentry.io/"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetsentry%2Fbabel-gettext-extractor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetsentry%2Fbabel-gettext-extractor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetsentry%2Fbabel-gettext-extractor/lists"}