GT ClassMethodsTranslation
checkFileTranslations
ファイルをダウンロードせずに翻訳状況を確認できる checkFileTranslations メソッドのAPIリファレンス
概要
checkFileTranslations メソッドは、ファイルの内容をダウンロードせずに翻訳状況を確認します。
翻訳の進捗監視、完了状況の把握、利用可能な翻訳の判別に役立ちます。
const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });
const status = await gt.checkFileTranslations([
  {
    versionId: 'version-123',
    fileName: 'app.json',
    locale: 'es'
  }
]);リファレンス
パラメータ
| 名称 | 型 | 説明 | 
|---|---|---|
| data | FileTranslationQuery[] | チェック対象のファイル翻訳クエリの配列 | 
| options? | CheckFileTranslationsOptions | リクエストのための任意の設定 | 
FileTranslationQuery
| 名称 | 型 | 説明 | 
|---|---|---|
| versionId | string | 確認対象のファイルの versionId | 
| fileName? | string | ファイルの名称( fileIdが未指定の場合は必須) | 
| fileId? | string | ファイルの ID( fileNameが未指定の場合は必須) | 
| locale | string | 翻訳ステータスを確認する対象の locale | 
CheckFileTranslationsOptions
| 名称 | 型 | 説明 | 
|---|---|---|
| timeout? | number | リクエストのタイムアウト(ミリ秒) | 
返り値
Promise<CheckFileTranslationsResult> - 翻訳ステータスに関する情報を含みます。
type CheckFileTranslationsResult = {
  translations: CompletedFileTranslationData[];
}| プロパティ | 型 | 説明 | 
|---|---|---|
| translations | CompletedFileTranslationData[] | 翻訳ステータスデータの配列 | 
CompletedFileTranslationData のデータ構造
type CompletedFileTranslationData = {
  id: string;
  fileId: string;
  versionId: string;
  fileName: string;
  locale: string;
  status: 'completed' | 'pending' | 'failed';
  completedAt: string | null;
  approvedAt: string | null;
  publishedAt: string | null;
  createdAt: string;
  updatedAt: string;
}例
基本的な使い方
特定の files と対応ロケールの翻訳ステータスを確認します:
// (1) GTインスタンスを作成
const targetLocales = ['es', 'fr', 'de'];
const gt = new GT({
  projectId: 'your-project-id',
  apiKey: 'your-api-key',
});
// (2) ファイルをアップロード
const fileUpload = {
  content: fileContents,
  fileName: filePath,
  fileFormat: 'JSON',
  locale: 'en',
};
const files = [ { source: fileUpload } ];
const { uploadedFiles } = await gt.uploadSourceFiles(
  files,
  { sourceLocale: 'en' }
);
// (3) ファイル翻訳ジョブをキューに追加
const enqueueResult = await gt.enqueueFiles(
  uploadedFiles,
  {
  sourceLocale: 'en',
  targetLocales: targetLocales,
});
// (4) すべての翻訳が完了するまで待機
let translationIds = [];
const statusQuery = Object.values(enqueueResult.data).flatMap(({fileName, versionId}) => {
  return targetLocales.map((locale) => ({locale, fileName, versionId}));
});
while (true) {
  const status = await gt.checkFileTranslations(statusQuery);
  if (status.translations.length === statusQuery.length) {
    translationIds = status.translations.map(translation => translation.id);
    break;
  }
  await new Promise(resolve => setTimeout(resolve, 1000));
}注意事項
- 翻訳ステータスには pending、completed、failedの各状態が含まれます
- 完了した翻訳でも、公開前に承認が必要となる場合があります
- 複数の翻訳ジョブを監視する際は、効率的にステータスを確認するためにこの方法を使用してください
次のステップ
- この方法の使い方を通しで示したクイックスタートをチェックする
- 完了した翻訳をダウンロードするにはdownloadTranslatedFileを参照
- 翻訳ジョブを作成するにはenqueueFilesを参照
- ソースファイルと翻訳の情報を取得するにはquerySourceFileを参照
このガイドはどうでしたか?

