@biesbjerg/ngx-translate-extract

中文文档
7.0.4发布于 2021/04/14MITTypeScriptCommonJS近 30 天下载 9.3万

使用 ngx- translate 从工程中提取字符串

中文使用文档
文档目录6 节
  1. 安装
  2. 使用量
  3. JSON 缩进
  4. 标记函数
  5. 命令线参数
  6. GetText 用户的说明

如果这个工具能节省你的时间,请考虑为持续维持和发展捐款: https://donate.biesbjerg.com (中文(简体) )

Donate

ngx- 翻译- 摘录

提取可转换(ngx- translate)字符串并保存为JSON或Gettext pot文件. 如果输出文件已经存在, 则与已有字符串合并 .

安装

在您的工程中安装软件包 :

npm install @biesbjerg/ngx-translate-extract --save-dev

在您的工程中添加脚本 package.json数字 :

...
"scripts": {
  "i18n:init": "ngx-translate-extract --input ./src --output ./src/assets/i18n/template.json --key-as-default-value --replace --format json",
  "i18n:extract": "ngx-translate-extract --input ./src --output ./src/assets/i18n/{en,da,de,fi,nb,nl,sv}.json --clean --format json"
}
...

你现在可以跑了 npm run i18n:extract 它会从你的工程中提取字符串.

使用量

从 dir 取出并保存到文件

ngx-translate-extract --input ./src --output ./src/assets/i18n/strings.json

从多迪尔提取

ngx-translate-extract --input ./src-a ./src-b --output ./src/assets/i18n/strings.json

使用路径扩展提取并保存到多个文件

ngx-translate-extract --input ./src --output ./src/i18n/{da,en}.json

JSON 缩进

在 json 格式中保存已提取字符串时默认使用 Tab 缩进 :

如果您想要使用空格来代替, 您可以做以下操作 :

ngx-translate-extract --input ./src --output ./src/i18n/en.json --format-indentation ' '

标记函数

如果您想要提取未直接传递给 TranslateService是因为 get()编号 :instant()编号 :stream() 方法,您可以将其包裹在一个标记函数中以允许 ngx-translate-extract 知道你想取出他们.

安装标记函数 : npm install @biesbjerg/ngx-translate-extract-marker

import { marker } from '@biesbjerg/ngx-translate-extract-marker';

marker('Extract me');

如果需要, 您可以另名标记函数 :

import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';

_('Extract me');

说明: ngx-translate-extract 将自动检测导入名称

命令线参数

Usage:
ngx-translate-extract [options]

Output
  --format, -f                Format    [string] [choices: "json", "namespaced-json", "pot"] [default: "json"]
  --format-indentation, --fi  Format indentation (JSON/Namedspaced JSON)                [string] [default: "	"]
  --sort, -s                  Sort strings in alphabetical order                                     [boolean]
  --clean, -c                 Remove obsolete strings after merge                                    [boolean]
  --replace, -r               Replace the contents of output file if it exists (Merges by default)   [boolean]

Extracted key value (defaults to empty string)
  --key-as-default-value, -k     Use key as default value                                            [boolean]
  --null-as-default-value, -n    Use null as default value                                           [boolean]
  --string-as-default-value, -d  Use string as default value                                          [string]

Options:
  --version, -v  Show version number                                                                 [boolean]
  --help, -h     Show help                                                                           [boolean]
  --input, -i    Paths you would like to extract strings from. You can use path expansion, glob patterns and
                 multiple paths        [array] [required] [default: ["/Users/kim/apps/ngx-translate-extract"]]
  --output, -o   Paths where you would like to save extracted strings. You can use path expansion, glob
                 patterns and multiple paths                                                [array] [required]

Examples:
  ngx-translate-extract -i ./src-a/ -i ./src-b/ -o strings.json           Extract (ts, html) from multiple paths
  ngx-translate-extract -i './{src-a,src-b}/' -o strings.json             Extract (ts, html) from multiple paths using brace
                                                           expansion
  ngx-translate-extract -i ./src/ -o ./i18n/da.json -o ./i18n/en.json     Extract (ts, html) and save to da.json and en.json
  ngx-translate-extract -i ./src/ -o './i18n/{en,da}.json'                Extract (ts, html) and save to da.json and en.json
                                                           using brace expansion
  ngx-translate-extract -i './src/**/*.{ts,tsx,html}' -o strings.json     Extract from ts, tsx and html
  ngx-translate-extract -i './src/**/!(*.spec).{ts,html}' -o              Extract from ts, html, excluding files with ".spec"
  strings.json

GetText 用户的说明

请注意该手册的哪个版本 gettext-parser 你实际上在你的项目。 比如说, gettext-parser:1.2.2 不支持翻译密钥中的 HTML 标记.

版本与发布记录

@biesbjerg/ngx-translate-extract 共发布 37 个版本,首次发布于 2017/03/07;过去 12 个月发布了 0 个版本。

版本发布日期距今
7.0.4latest2021/04/145 年前
7.0.32020/09/296 年前
7.0.22020/06/256 年前
7.0.12020/06/256 年前
7.0.02020/05/286 年前
6.1.02020/05/206 年前

关于 @biesbjerg/ngx-translate-extract 的常见问题

@biesbjerg/ngx-translate-extract 是什么?

使用 ngx- translate 从工程中提取字符串

如何安装 @biesbjerg/ngx-translate-extract?

在项目目录运行 npm install @biesbjerg/ngx-translate-extract,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@angular/compiler(>=8.0.0)、typescript(>=3.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 ngx-translate-extract,可以用 npx ngx-translate-extract 直接运行。

@biesbjerg/ngx-translate-extract 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@biesbjerg/ngx-translate-extract 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@biesbjerg/ngx-translate-extract 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=11.15.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@biesbjerg/ngx-translate-extract 可以商用吗?

@biesbjerg/ngx-translate-extract 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@biesbjerg/ngx-translate-extract 的下载量有多少?

根据 npm 官方下载统计,@biesbjerg/ngx-translate-extract 在 2026/10/08 – 2026/11/06 这 30 天内被下载 92,849 次,日均约 3,095 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@biesbjerg/ngx-translate-extract 还在维护吗?

最新版本 7.0.4 发布于 2021/04/14(5 年前);至今共发布 37 个版本,其中过去 12 个月发布了 0 个;首次发布于 2017/03/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。