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の状態があります completedの翻訳でも、公開前に承認が必要となる場合があります- 複数の翻訳ジョブを監視する際の効率的なステータス確認に、この方法を使用してください
次のステップ
- このメソッドの使い方を一通り確認できるクイックスタートをご覧ください
- 完了した翻訳をダウンロードするには
downloadTranslatedFileを参照してください - 翻訳ジョブを作成するには
enqueueFilesを参照してください - ソースファイルと翻訳の詳細を取得するには
querySourceFileを参照してください
このガイドはいかがですか?