関数の説明
はじめに
Frenglish SDKは、開発者がアプリケーションに自動翻訳機能を組み込むための強力なツールです。このSDKは、翻訳依頼から翻訳結果の取得まで、翻訳プロセス全体を管理します。このドキュメントでは、SDK内の各メソッドの使い方を詳しく解説します。
インストール方法
インストール方法についてはクイックスタートガイドを参照してください。
SDKメソッド一覧
translate
translate(contents: string[], isFullTranslation: boolean, filenames: string[], partialConfig: PartialConfiguration): Promise<RequestTranslationResponse>
コンテンツを翻訳に送信します。このメソッドは自動的にポーリング処理を行い、翻訳が完了したら結果を返します。
パラメータ:
- content: string[] - 翻訳したいテキストの配列。各要素が個別のコンテンツを表します。
- fullTranslation: boolean(オプション、デフォルトはfalse)- 翻訳の挙動を制御します:
- false(デフォルト)の場合:データベース内の既存の翻訳をチェックして、新規または変更されたコンテンツのみを翻訳します。これにより、翻訳時間とコストを削減できます。
- trueの場合:既存の翻訳を無視して、すべてのコンテンツを強制的に再翻訳します。
- filenames: string[](オプション)- 各コンテンツに対応するファイル名の配列。プロジェクト内で翻訳を追跡・識別するために使います。指定する場合はcontent配列と同じ長さにしてください。ファイル名には拡張子(例:.json)を含めてください。
- partialConfig: PartialConfiguration(オプション)- この翻訳のデフォルト設定を上書きします。含められる内容:
{
originLanguage?: string, // Source language code
languages?: string[], // Target language codes
rules?: string, // General translation rules
autoMergeToBaseBranch?: boolean, // Auto-merge setting
implicitRules?: ImplicitRule[], // Array of implicit translation rules
rulesPerLanguage?: Rule[], // Language-specific rules
useThisConfig?: boolean, // Whether to use this config
keyFilters?: { // Filters for translation keys
includeFilters: string[],
excludeFilters: string[]
} | null
}
戻り値:
Promiseで、RequestTranslationResponseオブジェクト(以下を含む)を返します:
- translationId: number - 翻訳リクエストの一意なID。
- content?: TranslationResponse[] - 各言語ごとの翻訳結果を表すTranslationResponseオブジェクトの配列。
例:
const contents = [
'{"hello": "Hello, world!"}',
'{"goodbye": "Goodbye, world!"}'
];
const filenames = ['greetings.json', 'farewells.json'];
const partialConfig = {
languages: ['fr', 'es'],
rules: 'use an informal tone'
};
try {
const translation = await frenglish.translate(contents, false, filenames, partialConfig);
if (translation && translation.content) {
console.log('Translation completed:', translation.content);
} else {
console.log('Translation in progress or failed.');
}
} catch (error) {
console.error('Translation error:', error.message);
}
エラー:
- 翻訳リクエストが失敗した場合や、ポーリングが最大許容時間を超えた場合はエラーを投げます。
- 翻訳がキャンセルされた場合もエラーを投げます。
translateString
translateString(text: string, targetLanguage: string, partialConfig: PartialConfiguration): Promise<string>
パラメータ:
- content: string - 翻訳したいテキスト。
- lang: string - 対象言語のコード(例:フランス語なら 'fr')。
- partialConfig: PartialConfiguration(オプション)- この翻訳のデフォルト設定を上書きします。translate()メソッドと同じ構造です。
戻り値:
Promiseで、翻訳された文字列を返します。
例:
try {
const translatedText = await frenglish.translateString('Hello, world!', 'fr');
console.log('Translated text:', translatedText);
} catch (error) {
console.error('Error translating string:', error.message);
}
エラー:
- 対象言語がサポートされていない場合はエラーを投げます。
- 翻訳リクエストが失敗した場合や、ポーリングが最大許容時間を超えた場合はエラーを投げます。
upload
upload(content: string, filename: string): Promise<void>
翻訳のベース比較用としてファイルをアップロードします。これにより、コンテキストを提供して翻訳の最適化に役立ちます。
パラメータ:
files: FileContentWithLanguage[] - コンテンツと言語情報を含むファイルの配列。 戻り値:
ファイルのアップロードが成功したときに解決されるPromise。
例:
const files = [
{
language: 'en',
filename: 'app.json',
content: '{"welcome": "Welcome to the app!"}'
}
];
try {
await frenglish.upload(files);
console.log('Files uploaded successfully.');
} catch (error) {
console.error('Error uploading files:', error.message);
}
エラー:
- アップロードに失敗した場合はエラーを投げます。
getTranslationContent
getTranslationContent(translationId: number): Promise<TranslationResponse[]>
完了した翻訳リクエストの翻訳済みコンテンツを取得します。
パラメータ:
- translationId: number - 翻訳リクエストの一意なID。
戻り値:
PromiseでTranslationResponseオブジェクトの配列を返します。 例:
try {
const translationContent = await frenglish.getTranslationContent(translationId);
console.log('Translation content:', translationContent);
} catch (error) {
console.error('Error getting translation content:', error.message);
}
エラー:
- リクエストが失敗した場合はエラーを投げます。
getDefaultConfiguration
getDefaultConfiguration(): Promise<string>
Frenglish SDKのデフォルト設定を取得します。
パラメータ:
なし。
戻り値:
PromiseでConfigurationオブジェクトを返します。
例:
try {
const defaultConfig = await frenglish.getDefaultConfiguration();
console.log('Default configuration:', defaultConfig);
} catch (error) {
console.error('Error getting default configuration:', error.message);
}
エラー:
- リクエストが失敗した場合はエラーを投げます。
getSupportedLanguages
getSupportedLanguages(): Promise<string[]>
Frenglish APIでサポートされている言語一覧を取得します。
パラメータ:
なし。
戻り値:
Promiseでサポートされている言語コードの配列を返します。 例:
try {
const supportedLanguages = await frenglish.getSupportedLanguages();
console.log('Supported languages:', supportedLanguages);
} catch (error) {
console.error('Error getting supported languages:', error.message);
}
getSupportedFileTypes
getSupportedFileTypes(): Promise<string[]>
Frenglish APIでサポートされているファイルタイプ一覧を取得します。
パラメータ:
なし。
戻り値:
Promiseでサポートされているファイル拡張子の配列を返します。 例:
try {
const supportedFileTypes = await frenglish.getSupportedFileTypes();
console.log('Supported file types:', supportedFileTypes);
} catch (error) {
console.error('Error getting supported file types:', error.message);
}