{"_id":"@ammarrabie/ngx-translate-extract","name":"@ammarrabie/ngx-translate-extract","dist-tags":{"latest":"8.1.0"},"versions":{"8.1.0":{"name":"@ammarrabie/ngx-translate-extract","version":"8.1.0","description":"Extract strings from projects using ngx-translate","author":{"name":"Kim Biesbjerg","email":"kim@biesbjerg.com"},"license":"MIT","type":"module","scripts":{"build":"npm run clean && tsc","watch":"npm run clean && tsc --watch","clean":"rimraf ./dist","lint":"tslint --force './src/**/*.ts'","test":"cross-env TS_NODE_PROJECT=\"tsconfig.spec.json\" mocha -r ts-node/register tests/**/*.spec.ts","publish:next":"npm run build && npm publish --tag next --access public","prepare":"husky install"},"devDependencies":{"@types/braces":"^3.0.1","@types/chai":"^4.3.3","@types/flat":"^5.0.2","@types/gettext-parser":"4.0.1","@types/glob":"^8.0.0","@types/mocha":"^9.1.1","@types/node":"^16","braces":"^3.0.2","chai":"^4.3.6","cross-env":"^7.0.3","husky":"^8.0.1","mocha":"^10.0.0","prettier":"^2.7.1","pretty-quick":"^3.1.3","rimraf":"^3.0.2","ts-node":"^10.4.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","tslint-etc":"^1.13.10","typescript":"^4.5.2"},"dependencies":{"@angular/compiler":"^13.1.2","@phenomnomnominal/tsquery":"^4.1.1","boxen":"^6.2.1","colorette":"^2.0.16","flat":"^5.0.2","gettext-parser":"^4.2.0","glob":"^7.2.0","path":"^0.12.7","terminal-link":"^3.0.0","yargs":"^17.5.1"},"peerDependencies":{"@angular/compiler":">=13.0.0","typescript":">=4.4.0"},"main":"dist/index.js","typings":"dist/index.d.ts","bin":{"ngx-translate-extract":"bin/cli.js"},"prettier":{"trailingComma":"none","printWidth":145,"useTabs":true,"singleQuote":true},"repository":{"type":"git","url":"git+ssh://git@github.com/vendure-ecommerce/ngx-translate-extract.git"},"keywords":["angular","ionic","ngx-translate","extract","extractor","translate","translation","i18n","gettext"],"bugs":{"url":"https://github.com/AmmarRabie/ngx-translate-extract/issues"},"homepage":"https://github.com/AmmarRabie/ngx-translate-extract","engines":{"node":">=14"},"config":{},"publishConfig":{"registry":"https://registry.npmjs.org"},"gitHead":"bf29f0b9a9ac483c1f2dc94c06af00805cf06711","_id":"@ammarrabie/ngx-translate-extract@8.1.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"integrity":"sha512-gI9oxVz1PeoswtomfyXppHRWvWV4CBZVm7NKdlNfwK5MfrhVUIpdzce8W8Ei898UHy2FQUyL5SuDAGS+M+c7pg==","shasum":"54e32e31ee5d176745b1201b573f601cbab16bf7","tarball":"https://registry.npmjs.org/@ammarrabie/ngx-translate-extract/-/ngx-translate-extract-8.1.0.tgz","fileCount":83,"unpackedSize":108639,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuQNkXIQxrFgeScsWO5PDA8XkCarfjGZGStcUVn95dMwIhALgircXZNCofWieuKGIOqaJ8MYyhmWijZb8PAVGL5yJQ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtFLJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpz5Q//caevF6+7yhgUxiWl2r7zM5fJVzPMMquOWmfVL5Gua09PX4Da\r\nU2FyzzNqUR4hZkWj/liRXddPthFuriKDEtZp7g1KFKj3vz7sRp0tHFa+SNYn\r\nTIX3Br02DvPQbDT1rLi//Y7P9vjNyp9EZqXujIYwUYRCLshW8Da0Z+7IzFwo\r\nB9dz9VPi9gGYdpbad9q52mOz2yG/mrIyaH0UTcO7N/YquQ4uVofn+8mtcY+R\r\nfFNHHhP5C5CGUbDyPq9qjJRxerpfj1D+cK7M2uqg3YAOM+rV7nPsPaEQh73e\r\n7BXXmIjG+BVbAvSbEMqJXnoHqDIG3XiCQ3tIN86v3Y7m1DQCAMXBJmcgBjRr\r\n/4NAP/RXj1mS30Z44Ivky5HTCmZ/My+wPFvn+oFgyySWXkHpSSRKi+LWpDcX\r\nPTV1ligdEcmGFbBqKKbaaZMYkrzHfViuMiX+YU/zP7ZYANgh/cEE+vosQpZN\r\nFrbrFouDhMGWKmwSWlEGQj+PAgKOh1rNyCbGzLjNKTSc2ZdP6cfn8YdKdy8i\r\nhgusnUZ/d8Iz339Ta0C5nrwvEBVngx6tFv8zEzCvFpGrsRUIDe0LY4okgLOQ\r\nrqnByLiFRKHZjMCzcoe7Tppp8HZMna7SGLcIlFSWtfdiD2Pf+KWwVEw0QMO8\r\nQ6ASz9KN6r1eLqLl9WLXBzP69277Fm9rl1g=\r\n=/PsL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ammarrabie","email":"ammar.s.rabie@gmail.com"},"directories":{},"maintainers":[{"name":"ammarrabie","email":"ammar.s.rabie@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngx-translate-extract_8.1.0_1672762057108_0.21555345507618773"},"_hasShrinkwrap":false}},"time":{"created":"2023-01-03T16:07:37.043Z","8.1.0":"2023-01-03T16:07:37.334Z","modified":"2023-01-03T16:07:37.518Z"},"maintainers":[{"name":"ammarrabie","email":"ammar.s.rabie@gmail.com"}],"description":"Extract strings from projects using ngx-translate","homepage":"https://github.com/AmmarRabie/ngx-translate-extract","keywords":["angular","ionic","ngx-translate","extract","extractor","translate","translation","i18n","gettext"],"repository":{"type":"git","url":"git+ssh://git@github.com/vendure-ecommerce/ngx-translate-extract.git"},"author":{"name":"Kim Biesbjerg","email":"kim@biesbjerg.com"},"bugs":{"url":"https://github.com/AmmarRabie/ngx-translate-extract/issues"},"license":"MIT","readme":"# ngx-translate-extract\r\n\r\n> Angular translations extractor (plugin for [@ngx-translate](https://github.com/ngx-translate/core))\r\n\r\n> ✓ _Angular 14, Ivy and Angular Universal (SSR) compatible_\r\n\r\nExtract translatable (ngx-translate) strings and save as a JSON or Gettext pot file.\r\nMerges with existing strings if the output file already exists.\r\n\r\n## History\r\n\r\nThis project was originally created by [Kim Biesbjerg](https://github.com/biesbjerg/ngx-translate-extract). Unfortunately he was unable to continue to maintain it so the Vendure team agreed to take over maintenance of a fork.\r\n\r\n## Install\r\n\r\nInstall the package in your project:\r\n\r\n```bash\r\nnpm install @vendure/ngx-translate-extract --save-dev\r\n# yarn add @vendure/ngx-translate-extract --dev\r\n```\r\n\r\nChoose the version corresponding to your Angular version:\r\n\r\n| Angular    | ngx-translate-extract                                                                      |\r\n| ---------- | ------------------------------------------------------------------------------------------ |\r\n| 14         | 8.x+                                                                                       |\r\n| 13         | 8.x+                                                                                       |\r\n| 8.x – 12.x | [@biesbjerg/ngx-translate-extract](https://github.com/biesbjerg/ngx-translate-extract) 7.x |\r\n\r\nAdd a script to your project's `package.json`:\r\n\r\n```json\r\n...\r\n\"scripts\": {\r\n  \"i18n:init\": \"ngx-translate-extract --input ./src --output ./src/assets/i18n/template.json --key-as-default-value --replace --format json\",\r\n  \"i18n:extract\": \"ngx-translate-extract --input ./src --output ./src/assets/i18n/{en,da,de,fi,nb,nl,sv}.json --clean --format json\"\r\n}\r\n...\r\n```\r\n\r\nYou can now run `npm run i18n:extract` and it will extract strings from your project.\r\n\r\n## Usage\r\n\r\n**Extract from dir and save to file**\r\n\r\n```bash\r\nngx-translate-extract --input ./src --output ./src/assets/i18n/strings.json\r\n```\r\n\r\n**Extract from multiple dirs**\r\n\r\n```bash\r\nngx-translate-extract --input ./src-a ./src-b --output ./src/assets/i18n/strings.json\r\n```\r\n\r\n**Extract and save to multiple files using path expansion**\r\n\r\n```bash\r\nngx-translate-extract --input ./src --output ./src/i18n/{da,en}.json\r\n```\r\n\r\n### JSON indentation\r\n\r\nTabs are used by default for indentation when saving extracted strings in json formats:\r\n\r\nIf you want to use spaces instead, you can do the following:\r\n\r\n```bash\r\nngx-translate-extract --input ./src --output ./src/i18n/en.json --format-indentation ' '\r\n```\r\n\r\n### Marker function\r\n\r\nIf you want to extract strings that are not passed directly to `TranslateService`'s `get()`/`instant()`/`stream()` methods, you can wrap them in a marker function to let `ngx-translate-extract` know you want to extract them.\r\n\r\nInstall marker function:\r\n\r\n```bash\r\nnpm install @biesbjerg/ngx-translate-extract-marker\r\n```\r\n\r\n```ts\r\nimport { marker } from '@biesbjerg/ngx-translate-extract-marker';\r\n\r\nmarker('Extract me');\r\n```\r\n\r\nYou can alias the marker function if needed:\r\n\r\n```ts\r\nimport { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';\r\n\r\n_('Extract me');\r\n```\r\n\r\n_Note: `ngx-translate-extract` will automatically detect the import name_\r\n\r\n### Commandline arguments\r\n\r\n```\r\nUsage:\r\nngx-translate-extract [options]\r\n\r\nOutput\r\n  --format, -f                Format    [string] [choices: \"json\", \"namespaced-json\", \"pot\"] [default: \"json\"]\r\n  --format-indentation, --fi  Format indentation (JSON/Namedspaced JSON)                [string] [default: \"\t\"]\r\n  --sort, -s                  Sort strings in alphabetical order                                     [boolean]\r\n  --clean, -c                 Remove obsolete strings after merge                                    [boolean]\r\n  --replace, -r               Replace the contents of output file if it exists (Merges by default)   [boolean]\r\n\r\nExtracted key value (defaults to empty string)\r\n  --key-as-default-value, -k     Use key as default value                                            [boolean]\r\n  --null-as-default-value, -n    Use null as default value                                           [boolean]\r\n  --string-as-default-value, -d  Use string as default value                                          [string]\r\n\r\nOptions:\r\n  --version, -v  Show version number                                                                 [boolean]\r\n  --help, -h     Show help                                                                           [boolean]\r\n  --input, -i    Paths you would like to extract strings from. You can use path expansion, glob patterns and\r\n                 multiple paths        [array] [required] [default: [\"/Users/kim/apps/ngx-translate-extract\"]]\r\n  --output, -o   Paths where you would like to save extracted strings. You can use path expansion, glob\r\n                 patterns and multiple paths                                                [array] [required]\r\n\r\nExamples:\r\n  ngx-translate-extract -i ./src-a/ -i ./src-b/ -o strings.json           Extract (ts, html) from multiple paths\r\n  ngx-translate-extract -i './{src-a,src-b}/' -o strings.json             Extract (ts, html) from multiple paths using brace\r\n                                                           expansion\r\n  ngx-translate-extract -i ./src/ -o ./i18n/da.json -o ./i18n/en.json     Extract (ts, html) and save to da.json and en.json\r\n  ngx-translate-extract -i ./src/ -o './i18n/{en,da}.json'                Extract (ts, html) and save to da.json and en.json\r\n                                                           using brace expansion\r\n  ngx-translate-extract -i './src/**/*.{ts,tsx,html}' -o strings.json     Extract from ts, tsx and html\r\n  ngx-translate-extract -i './src/**/!(*.spec).{ts,html}' -o              Extract from ts, html, excluding files with \".spec\"\r\n  strings.json\r\n```\r\n\r\n## Note for GetText users\r\n\r\nPlease pay attention of which version of `gettext-parser` you actually use in your project. For instance, `gettext-parser:1.2.2` does not support HTML tags in translation keys.\r\n\r\n## Credits\r\n\r\n- Original library, idea and code: [Kim Biesbjerg](https://github.com/biesbjerg/ngx-translate-extract) ❤️\r\n- Further updates and improvements were then made by [bartholomej](https://github.com/bartholomej)\r\n","readmeFilename":"README.md"}