SDKクイックスタート
はじめに
Frenglish SDKは、開発者がアプリケーションに自動翻訳機能を組み込むための強力なツールです。このSDKは、ファイルの翻訳依頼から翻訳結果の取得まで、翻訳プロセス全体を管理します。
インストール方法
npm install @frenglish/sdk
クイックスタート
import { FrenglishSDK } from '@frenglish/sdk';
// Initialize the SDK with your API key
const sdk = FrenglishSDK('your_api_key');
// Example: Translate content
async function translateContent() {
try {
const result = await sdk.translate(
['Hello world', 'Welcome to our app'],
true, // isFullTranslation
['welcome.txt', 'greeting.txt']
);
console.log('Translation result:', result);
} catch (error) {
console.error('Translation failed:', error);
}
}
主な機能
翻訳
// Translate multiple strings
const result = await sdk.translate(
content: string[], // Array of content to translate
isFullTranslation?: boolean, // Whether to perform a full translation
filenames?: string[], // Optional filenames for the content
partialConfig?: PartialConfiguration // Optional configuration overrides
);
// Translate a single string
const translated = await sdk.translateString(
content: string | string[], // String or string[] to translate
lang: string, // Target language code
partialConfig?: PartialConfiguration
);
プロジェクト管理
// Get project information
const project = await sdk.getProjectInformation();
// Update project name
await sdk.updateProjectName('New Project Name');
// Toggle project active status
await sdk.setProjectActiveStatus(true);
// Toggle test mode
await sdk.setTestMode(true);
設定
// Get default configuration
const config = await sdk.getDefaultConfiguration();
// Update configuration
await sdk.updateConfiguration({
originLanguage: 'en',
languages: ['fr', 'es'],
rules: 'Use a casual tone'
});
// Get supported languages
const languages = await sdk.getSupportedLanguages();
// Get supported file types
const fileTypes = await sdk.getSupportedFileTypes();
ファイル管理
// Upload files for translation
const uploadResult = await sdk.upload([
{
content: 'Hello world',
language: 'en'
}
]);
// Get project's text map
const textMap = await sdk.getTextMap();
SDKメソッドリファレンス
翻訳メソッド
-
translate
- 説明:複数の文字列やコンテンツブロックを、設定されたすべての対象言語に翻訳します
- パラメータ:
content
: string[] - 翻訳するコンテンツの配列isFullTranslation
: boolean(オプション)- 完全な再翻訳を行うかどうかfilenames
: string[](オプション)- コンテンツのファイル名partialConfig
: PartialConfiguration(オプション)- 設定の上書き
- 戻り値:
Promise<{ translationId: number, content: TranslationResponse[] }>
-
translateString
- 説明:単一の文字列を指定した対象言語に翻訳します
- パラメータ:
content
: string | string [] - 翻訳する単一の文字列、または複数文字列の配列lang
: string - 対象言語コードpartialConfig
: PartialConfiguration(オプション)- 設定の上書き
- 戻り値:
Promise<string | string[] | undefined>
-
getTranslationStatus
- 説明:翻訳リクエストの現在のステータス(例:完了、進行中、キャンセル済み)を確認します
- パラメータ:
translationId
: number - チェックしたい翻訳のID
- 戻り値:
Promise<TranslationStatus>
-
getTranslationContent
- 説明:完了した翻訳の翻訳済みコンテンツを取得します
- パラメータ:
translationId
: number - 取得したい翻訳のID
- 戻り値:
Promise<TranslationResponse[]>
プロジェクト管理メソッド
-
getProjectInformation
- 説明:現在のプロジェクトの詳細情報を取得します
- 戻り値:
Promise<Project>
-
updateProjectName
- 説明:現在のプロジェクト名を更 新します
- パラメータ:
updatedProjectName
: string - 新しいプロジェクト名
- 戻り値:
Promise<Project>
-
setProjectActiveStatus
- 説明:プロジェクトのアクティブ状態を有効または無効にします
- パラメータ:
isActive
: boolean - 新しいアクティブ状態
- 戻り値:
Promise<Project>
-
setTestMode
- 説明:テストモードを切り替えます。APIクレジットを消費せずにテストしたい場合に便利です。
- パラメータ:
isTestMode
: boolean - 新しいテストモード状態
- 戻り値:
Promise<Project>
設定メソッド
-
getDefaultConfiguration
- 説明:プロジェクトのデフォルト設定を取得します
- 戻り値:
Promise<Configuration>
-
updateConfiguration
- 説明:プロジェクトの設定を更新します
- パラメータ:
partiallyUpdatedConfig
: PartialConfiguration - 設定の更新内容
- 戻り値:
Promise<Configuration>
-
getProjectSupportedLanguages
- 説明:プロジェクトで対応している言語一覧と元の言語を取得します
- 戻り値:
Promise<{ languages: string[], originLanguage: string }>
-
getSupportedLanguages
- 説明:Frenglishサービスで対応している全ての言語を取得します
- 戻り値:
Promise<string[]>
-
getSupportedFileTypes
- 説明:翻訳処理が可能な全てのファイルタイプを取得します
- 戻り値:
Promise<string[]>
ファイル管理メソッド
-
upload
- 説明:翻訳用のファイルをアップロードします。通常は比較用のベースファイルとして使います
- パラメータ:
files
: FileContentWithLanguage[] - アップロードするファイルの配列
- 戻り値:
Promise<{ message: string, originFilesInfo: Array<{ fileId: string, originS3Version: string }> }>
-
getTextMap
- 説明:プロジェクトのテキストマップを取得します。これは一貫性のためのテキスト内容のマッピングです
- 戻り値:
Promise<{ content: FlatJSON[] } | null>
ドメイン管理メソッド
-
getProjectDomain
- 説明:現在のプロジェクトに紐づくドメインURLを取得します
- 戻り値:
Promise<string>
-
getPublicAPIKeyFromDomain
- 説明:指定したドメインに紐づくパブリックAPIキーを取得します
- パラメータ:
domainURL
: string - APIキーを取得したいドメインURL
- 戻り値:
Promise<string>
設定タイプ
// Define the PartialConfiguration type
type PartialConfiguration = {
originLanguage?: string;
languages?: string[];
rules?: string;
languageSpecificRules?: Record<string, string>;
// ... other configuration options
};