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} のロケールで利用可能`);

リファレンス

パラメーター

名称説明
dataFileQuery取得するファイルを指定するファイルクエリオブジェクト
options?CheckFileTranslationsOptionsリクエスト用の任意設定

FileQuery

名前説明
fileIdstring照会対象のファイルを一意に識別する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;
  }[];
}

ソースファイルのプロパティ

プロパティ説明
idstring内部データベースID
fileIdstring一意のファイル識別子
versionIdstringバージョン識別子
sourceLocalestring元の言語ロケール
fileNamestring元のファイル名
fileFormatstringファイル形式(JSON、MD、MDX など)
dataFormatstring | nullファイル内のデータ形式(ICU、I18NEXT、JSX)
createdAtstringファイル作成日時(ISO タイムスタンプ)
updatedAtstring最終更新日時(ISO タイムスタンプ)
approvalRequiredAtstring | null承認が要求された日時(ISO タイムスタンプ)
localesstring[]このファイルの対象ロケール一覧

翻訳プロパティ

プロパティ説明
localestringターゲットのロケールコード
completedAtstring | null翻訳完了日時(ISOタイムスタンプ)
approvedAtstring | null翻訳承認日時(ISOタイムスタンプ)
publishedAtstring | null翻訳公開日時(ISOタイムスタンプ)
createdAtstring | null翻訳ジョブ作成日時(ISOタイムスタンプ)
updatedAtstring | null最終更新日時(ISOタイムスタンプ)

index.ts
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');

注意事項

  • すべての対象ロケールについて、ソースファイルと翻訳ステータスを返します
  • 翻訳タイムスタンプは次のライフサイクルに従います:createdAtcompletedAtapprovedAtpublishedAt
  • Null のタイムスタンプは、その段階にまだ到達していないことを示します
  • ソースファイル内の locales 配列には、翻訳対象として設定されたすべての対応ロケールが示されます
  • 詳細なレポート、進捗の追跡、ファイル管理のワークフローにこのメソッドを使用します

次のステップ

  • 特定の翻訳の軽量なステータス確認には checkFileTranslations を参照してください
  • 完了した翻訳をダウンロードするには downloadTranslatedFile を参照してください
  • ファイルの翻訳ジョブを開始するには enqueueFiles を参照してください
  • プロジェクト単位の情報については getProjectData を参照してください

このガイドはどうでしたか?

querySourceFile