GT ClassMethodsTranslation
querySourceFile
ソースファイルと翻訳情報を取得する querySourceFile メソッドのAPIリファレンス
概要
querySourceFile メソッドは、ソースファイルおよびそれに関連するすべての翻訳に関する詳細な情報を取得します。
これには、ファイルのメタデータ、すべての対応ロケールにおける翻訳ステータス、作成・完了・承認・公開の各タイムスタンプが含まれます。
const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });
const result = await gt.querySourceFile({
  fileId: 'file-123',
  versionId: 'version-456'
});
console.log(`ソースファイル: ${result.sourceFile.fileName}`);
console.log(`${result.translations.length} のロケールで利用可能`);リファレンス
パラメーター
| 名称 | 型 | 説明 | 
|---|---|---|
| data | FileQuery | 取得するファイルを指定するファイルクエリオブジェクト | 
| options? | CheckFileTranslationsOptions | リクエスト用の任意設定 | 
FileQuery
| 名前 | 型 | 説明 | 
|---|---|---|
| fileId | string | 照会対象のファイルを一意に識別するID | 
| versionId? | string | 特定のファイル版を指定するための任意のバージョンID | 
CheckFileTranslationsOptions
| 名前 | 型 | 説明 | 
|---|---|---|
| timeout? | number | リクエストのタイムアウト(ミリ秒) | 
戻り値
Promise<FileQueryResult> - すべての対応ロケールのソースファイル情報と翻訳ステータスを含みます。
type FileQueryResult = {
  sourceFile: {
    id: string;
    fileId: string;
    versionId: string;
    sourceLocale: string;
    fileName: string;
    fileFormat: string;
    dataFormat: string | null;
    createdAt: string;
    updatedAt: string;
    approvalRequiredAt: string | null;
    locales: string[];
  };
  translations: {
    locale: string;
    completedAt: string | null;
    approvedAt: string | null;
    publishedAt: string | null;
    createdAt: string | null;
    updatedAt: string | null;
  }[];
}ソースファイルのプロパティ
| プロパティ | 型 | 説明 | 
|---|---|---|
| id | string | 内部データベースID | 
| fileId | string | 一意のファイル識別子 | 
| versionId | string | バージョン識別子 | 
| sourceLocale | string | 元の言語ロケール | 
| fileName | string | 元のファイル名 | 
| fileFormat | string | ファイル形式(JSON、MD、MDX など) | 
| dataFormat | string | null | ファイル内のデータ形式(ICU、I18NEXT、JSX) | 
| createdAt | string | ファイル作成日時(ISO タイムスタンプ) | 
| updatedAt | string | 最終更新日時(ISO タイムスタンプ) | 
| approvalRequiredAt | string | null | 承認が要求された日時(ISO タイムスタンプ) | 
| locales | string[] | このファイルの対象ロケール一覧 | 
翻訳プロパティ
| プロパティ | 型 | 説明 | 
|---|---|---|
| locale | string | ターゲットのロケールコード | 
| completedAt | string | null | 翻訳完了日時(ISOタイムスタンプ) | 
| approvedAt | string | null | 翻訳承認日時(ISOタイムスタンプ) | 
| publishedAt | string | null | 翻訳公開日時(ISOタイムスタンプ) | 
| createdAt | string | null | 翻訳ジョブ作成日時(ISOタイムスタンプ) | 
| updatedAt | string | null | 最終更新日時(ISOタイムスタンプ) | 
例
import { GT } from 'generaltranslation';
const gt = new GT({
  projectId: 'your-project-id',
  apiKey: 'your-api-key'
});
async function getFileInfo(fileId: string, versionId?: string) {
  const result = await gt.querySourceFile({
    fileId,
    versionId
  });
  
  console.log('=== ソースファイル情報 ===');
  console.log(`ファイル名: ${result.sourceFile.fileName}`);
  console.log(`ファイル形式: ${result.sourceFile.fileFormat}`);
  console.log(`ソース言語: ${result.sourceFile.sourceLocale}`);
  console.log(`作成日時: ${new Date(result.sourceFile.createdAt).toLocaleString()}`);
  console.log(`更新日時: ${new Date(result.sourceFile.updatedAt).toLocaleString()}`);
  
  console.log('\n=== 翻訳ステータス ===');
  result.translations.forEach(translation => {
    console.log(`${translation.locale}:`);
    console.log(`  作成日時: ${translation.createdAt ? new Date(translation.createdAt).toLocaleString() : '未開始'}`);
    console.log(`  完了日時: ${translation.completedAt ? new Date(translation.completedAt).toLocaleString() : '進行中'}`);
    console.log(`  公開日時: ${translation.publishedAt ? new Date(translation.publishedAt).toLocaleString() : '未公開'}`);
  });
  
  return result;
}
const fileInfo = await getFileInfo('file-123', 'version-456');注意事項
- すべての対象ロケールについて、ソースファイルと翻訳ステータスを返します
- 翻訳タイムスタンプは次のライフサイクルに従います:createdAt→completedAt→approvedAt→publishedAt
- Null のタイムスタンプは、その段階にまだ到達していないことを示します
- ソースファイル内の locales配列には、翻訳対象として設定されたすべての対応ロケールが示されます
- 詳細なレポート、進捗の追跡、ファイル管理のワークフローにこのメソッドを使用します
次のステップ
- 特定の翻訳の軽量なステータス確認には checkFileTranslationsを参照してください
- 完了した翻訳をダウンロードするには downloadTranslatedFileを参照してください
- ファイルの翻訳ジョブを開始するには enqueueFilesを参照してください
- プロジェクト単位の情報については getProjectDataを参照してください
このガイドはどうでしたか?

