#typescript #string #gettext #extractor #line #command-line-tool #pot

程序 ts-gettext-extractor

从 Javascript/TypeScript 文件中提取 gettext 字符串

20 个版本

0.2.0 2024 年 6 月 15 日
0.1.0 2024 年 5 月 19 日
0.0.11 2024 年 5 月 19 日

命令行工具 中排名 1858

Download history 575/week @ 2024-05-11 283/week @ 2024-05-18 18/week @ 2024-05-25 165/week @ 2024-06-15 2/week @ 2024-06-22 11/week @ 2024-06-29 45/week @ 2024-07-06 60/week @ 2024-07-27

每月下载量 106

Apache-2.0

49KB
1.5K SLoC

TS Gettext Extractor

NPM Version Crates.io Version

一个命令行工具,用于从 Javascript/Typescript 代码生成 Gettext 模板文件(.pot)。

使用 SWC 解析 JS 文件。

用法

查看帮助以获取更多详细信息

$ ts-gettext-extractor --help
Generate Gettext template files from Javascript/Typescript code

Usage: ts-gettext-extractor [OPTIONS] --output-folder <OUTPUT_FOLDER>

Options:
      --exclude [<EXCLUDE>...]
          A list of patterns to exclude [default: /.git/ /node_modules/ /__tests__/ .test. /__mocks__/ .mock. .story. .cy.]
      --path <PATH>
          The path to the file to read. Defaults to current folder
      --output-folder <OUTPUT_FOLDER>
          The folder where pot files will be written. Each domain will have its own file
      --references-relative-to <REFERENCES_RELATIVE_TO>
          Which folder the references are relative to. Defaults to the output folder
      --default-domain <DEFAULT_DOMAIN>
          The default domain to use for strings that don't have a domain specified [default: default]
  -h, --help
          Print help

支持的功能

  • gettext__ — 例如 __('String')
  • ngettext__n — 例如 __n('1 item', '%n items', count)
  • pgettext__p — 例如 __p('context', 'String')
  • npgettext__np — 例如 __np('context', '1 item', '%n items', count)
  • dgettext__d — 例如 __d('domain', 'String')
  • dngettext__dn — 例如 __dn('domain', '1 item', '%n items', count)
  • dpgettext__dp — 例如:__dp('domain', 'context', 'String', ')
  • dnpgettext__dnp — 例如:__dnp('domain', 'context', '1 item', '%n items', count)

支持一个标记的模板字面量,即没有变量的 __。例如:__`My string`

元数据

此库在以下POT文件中生成一些元数据。

参考

代码的引用按照 po文件规范 生成。每个引用都提到了源文件名和行号。引用相对于 --references-relative-to 参数(或 --output-folder)。

注释

gettext 函数调用前后注释也被提取。这仅适用于直接在函数调用之前的注释,不适用于上一行的注释。

例如,这将被提取

const myText = /* ✅ A comment that will be extracted */ __('My text');

这不会被提取

/* ❌ A comment that won't be extracted */
const myText = __('My text');

依赖关系

~14–23MB
~397K SLoC