扫描
扫描您的项目以查找可翻译的内容
使用方法
npx gtx-cli scan
概述
gtx-cli scan
命令扫描您的项目以查找可翻译的内容。
它通过解析项目的文件树并使用 babel 将 <T>
组件包装在静态内容周围来实现这一点。
任何动态内容都会自动用 <Var>
组件包装。
此命令类似于 setup
命令,但更加直接,只是将 <T>
组件包装在内容周围。
它不会添加其他组件,如 <GTProvider>
。因此,我们建议偶尔运行此命令以确保项目中的所有内容都是可翻译的。
当您第一次将 General Translation 集成到项目中时,应该运行 setup
。
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> | 要扫描的源目录 | string | true | ./src && ./app && ./pages && ./components |
--config <path> | GT 配置文件的路径 | string | true | "gt.config.json" |
--disable-ids | 禁用 <T> 组件的 ID 自动生成 | flag | true | false |
--disable-formatting | 禁用自动格式化 | flag | true | false |
行为
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
标志。
这份指南怎么样?