扫描

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

使用方法

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

行为

id 属性

scan 命令会自动为你的 <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> 组件如何被包装的详细信息。

自动格式化

scan 命令会根据你项目的配置,使用 Prettier、Biome 或 ESLint 自动格式化它对代码库所做的更改。

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

这份指南怎么样?