扫描

扫描您的项目以查找可翻译内容

用法

npx gtx-cli scan

概述

gtx-cli scan 命令会扫描您的项目以查找可翻译内容。 它通过解析项目的文件树并使用 babel 将 <T> 组件包裹在静态内容周围来实现这一点。 任何动态内容将自动用 <Var> 组件包裹。

此命令类似于 setup 命令,但它更加直接,只是将 <T> 组件包裹在内容周围。

它不会添加其他组件,如 <GTProvider>。因此,我们建议定期运行此命令,以确保项目中的所有内容都是可翻译的。

首次将 General Translation 集成到您的项目中时,应该运行 setup

src/app/Home.js
import { T, Var } from 'gt-next'; 
 
export default function Home({ user }) {
  return (
    <div>
      <T id="app.home.0">
        Hello, World! My name is <Var>{ user.name }</Var>
      </T>
    </div>
  );
}

参数

参数描述类型可选默认值
--src <path>要扫描的源目录stringtrue./src && ./app && ./pages && ./components
--config <path>GT 配置文件的路径stringtrue"gt.config.json"
--disable-ids禁用 <T> 组件的自动 ID 生成flagtruefalse
--disable-formatting禁用自动格式化flagtruefalse

行为

配置文件

首次运行 CLI 工具时,它将尝试在项目根目录中创建一个 gt.config.json 文件。 此文件包含用于翻译内容的项目元数据。

了解更多关于 gt.config.json 文件的信息,请点击这里

id 属性

扫描命令将自动为您的 <T> 组件生成唯一 ID。 这对于使用大量 <T> 组件的项目很有用,可以避免手动为每个组件分配唯一 ID。

这个 id 对于在翻译编辑器和控制台中引用特定翻译很有用。

要禁用此行为,可以使用 --disable-ids 标志。

<T> 注入行为

基本情况

CLI 将在尽可能高的级别包裹 JSX 元素。 这意味着如果组件尚未被包裹,它将在整个组件外部包裹一个 <T> 组件。

<div>Hello, World!</div> -> <T id="SOME_ID"><div>Hello, World!</div></T>

有关 <T> 组件如何包裹的更多详细信息,请参阅参考文档

自动格式化

扫描命令将根据您项目的配置,使用 Prettier、Biome 或 ESLint 自动格式化对代码库所做的更改。

要禁用此行为,可以使用 --disable-formatting 标志。

在本页面