# generaltranslation: General Translation Core SDK: setupProject URL: https://generaltranslation.com/zh/docs/core/class/methods/translation/setup-project.mdx --- title: setupProject description: 用于初始化翻译项目设置的 setupProject 方法 API 参考 --- ## 概述 `setupProject` 方法会使用之前上传的文件,初始化翻译项目的设置流程。 这会创建一个异步设置任务,用于分析这些文件并为后续翻译工作流做好准备。 ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const setupResult = await gt.setupProject(fileRefs, { timeout: 30000 }); console.log(`Setup job created: ${setupResult.jobId}`); ``` 调用 `setupProject` 之前,你必须先使用 [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) 上传这些文件。 ## 参考 ### 参数 | 名称 | 类型 | 描述 | | ---------- | --------------------- | ---------------- | | `files` | `FileReference[]` | 由先前上传的源文件引用组成的数组 | | `options?` | `SetupProjectOptions` | 设置任务的可选设置 | #### FileReference 结构 ```typescript type FileReference = { fileId: string; versionId: string; branchId: string; fileName: string; fileFormat?: FileFormat; dataFormat?: DataFormat; } ``` #### SetupProjectOptions | 名称 | 类型 | 描述 | | ---------- | ---------- | ------------------- | | `locales?` | `string[]` | 可选的目标区域设置数组 | | `timeout?` | `number` | API 请求的可选超时时间 (毫秒) | ### 返回值 `Promise` - 包含设置任务标识符和初始状态。 ```typescript type SetupProjectResult = { jobId: string; status: 'queued'; } ``` | 属性 | 类型 | 描述 | | -------- | ---------- | -------------- | | `jobId` | `string` | 设置任务的唯一标识符 | | `status` | `'queued'` | 设置任务的初始状态 | *** ## 示例 ### 基本用法 使用已上传的文件进行项目设置: ```typescript title="index.ts" copy import { GT } from 'generaltranslation'; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); // 来自上次 upload 的文件引用 const fileRefs = [ { fileId: 'file-123', versionId: 'version-456', branchId: 'branch-789', fileName: 'app.json', fileFormat: 'JSON' }, { fileId: 'file-789', versionId: 'version-012', branchId: 'branch-789', fileName: 'content.md', fileFormat: 'MD' } ]; const setupResult = await gt.setupProject(fileRefs); console.log(`Setup 已启动,任务 ID:${setupResult.jobId}`); // 监控任务状态 const jobStatus = await gt.checkJobStatus([setupResult.jobId]); console.log(`任务状态:${jobStatus.jobs[0].status}`); ``` *** ## 注意事项 * 调用 `setupProject` 之前,必须先使用 [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) 上传文件 * 项目设置过程会分析文件内容和结构,以优化翻译工作流 * 设置任务会异步运行——请使用 [`checkJobStatus`](/docs/core/class/methods/translation/check-job-status) 监控进度 * 对于新项目,通常需要先完成设置,然后才能将翻译任务加入队列 * 文件引用包含 `branchId`,以便在支持 branch 的情况下正确进行版本控制 ## 后续步骤 * 如需在设置前上传文件,请参阅 [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) * 如需监控设置进度,请参阅 [`checkJobStatus`](/docs/core/class/methods/translation/check-job-status) * 如需在设置完成后开始翻译,请参阅 [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files)