SDK-Schnellstart
Einführung
Das Frenglish SDK ist ein leistungsstarkes Werkzeug, mit dem Entwickler automatische Übersetzungen von Inhaltsdateien in ihre Anwendungen integrieren können. Das SDK übernimmt den gesamten Übersetzungsprozess – vom Einreichen der Dateien bis zum Abrufen der Übersetzungen.
Installation
npm install @frenglish/sdk
Schnellstart
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);
}
}
Kernfunktionen
Übersetzung
// 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
);
Projektverwaltung
// 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);
Konfiguration
// 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();
Dateiverwaltung
// 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-Methodenreferenz
Übersetzungsmethoden
-
translate
- Beschreibung: Übersetzt mehrere Strings oder Inhaltsblöcke in alle konfigurierten Zielsprachen
- Parameter:
content
: string[] – Array von Inhalten, die übersetzt werden sollenisFullTranslation
: boolean (optional) – Gibt an, ob eine vollständige Übersetzung durchgeführt werden sollfilenames
: string[] (optional) – Dateinamen für die InhaltepartialConfig
: PartialConfiguration (optional) – Konfigurationsüberschreibungen
- Rückgabewert:
Promise<{ translationId: number, content: TranslationResponse[] }>
-
translateString
- Beschreibung: Übersetzt einen einzelnen String in eine bestimmte Zielsprache
- Parameter:
content
: string | string [] – Einzelner String oder Array von Strings, die übersetzt werden sollenlang
: string – Sprachcode der ZielsprachepartialConfig
: PartialConfiguration (optional) – Konfigurationsüberschreibungen
- Rückgabewert:
Promise<string | string[] | undefined>
-
getTranslationStatus
- Beschreibung: Prüft den aktuellen Status einer Übersetzungsanfrage (z. B. abgeschlossen, in Bearbeitung, abgebrochen)
- Parameter:
translationId
: number – ID der zu prüfenden Übersetzung
- Rückgabewert:
Promise<TranslationStatus>
-
getTranslationContent
- Beschreibung: Ruft die übersetzten Inhalte für eine abgeschlossene Übersetzung ab
- Parameter:
translationId
: number – ID der abzurufenden Übersetzung
- Rückgabewert:
Promise<TranslationResponse[]>
Projektverwaltungs-Methoden
-
getProjectInformation
- Beschreibung: Ruft detaillierte Informationen zum aktuellen Projekt ab
- Rückgabewert:
Promise<Project>
-
updateProjectName
- Beschreibung: Aktualisiert den Namen des aktuellen Projekts
- Parameter:
updatedProjectName
: string – Neuer Projektname
- Rückgabewert:
Promise<Project>
-
setProjectActiveStatus
- Beschreibung: Aktiviert oder deaktiviert den Projektstatus
- Parameter:
isActive
: boolean – Neuer Aktivstatus
- Rückgabewert:
Promise<Project>
-
setTestMode
- Beschreibung: Schaltet den Testmodus für das Projekt um, n ützlich zum Testen ohne Verbrauch von API-Credits
- Parameter:
isTestMode
: boolean – Neuer Testmodus-Status
- Rückgabewert:
Promise<Project>
Konfigurationsmethoden
-
getDefaultConfiguration
- Beschreibung: Ruft die Standardkonfigurationseinstellungen für das Projekt ab
- Rückgabewert:
Promise<Configuration>
-
updateConfiguration
- Beschreibung: Aktualisiert die Konfigurationseinstellungen des Projekts
- Parameter:
partiallyUpdatedConfig
: PartialConfiguration – Konfigurationsaktualisierungen
- Rückgabewert:
Promise<Configuration>
-
getProjectSupportedLanguages
- Beschreibung: Ruft die Liste der vom Projekt unterstützten Sprachen sowie die Ursprungssprache ab
- Rückgabe:
Promise<{ languages: string[], originLanguage: string }>
-
getSupportedLanguages
- Beschreibung: Ruft alle vom Frenglish-Dienst unterstützten Sprachen ab
- Rückgabe:
Promise<string[]>
-
getSupportedFileTypes
- Beschreibung: Ruft alle Dateitypen ab, die für die Übersetzung verarbeitet werden können
- Rückgabe:
Promise<string[]>
Dateiverwaltungs-Methoden
-
upload
- Beschreibung: Lädt Dateien zur Übersetzung hoch, typischerweise als Basisdateien zum Vergleich
- Parameter:
files
: FileContentWithLanguage[] – Array der hochzuladenden Dateien
- Rückgabe:
Promise<{ message: string, originFilesInfo: Array<{ fileId: string, originS3Version: string }> }>
-
getTextMap
- Beschreibung: Ruft die Text-Map des Projekts ab, die Zuordnungen von Textinhalten für Konsistenz enthält
- Rückgabe:
Promise<{ content: FlatJSON[] } | null>
Domainverwaltungs-Methoden
-
getProjectDomain
- Beschreibung: Ruft die mit dem aktuellen Projekt verknüpfte Domain-URL ab
- Rückgabe:
Promise<string>
-
getPublicAPIKeyFromDomain
- Beschreibung: Ruft den öffentlichen API-Schlüssel für eine angegebene Domain ab
- Parameter:
domainURL
: string – Domain-URL, für die der API-Schlüssel abgerufen werden soll
- Rückgabe:
Promise<string>
Konfigurationstypen
// Define the PartialConfiguration type
type PartialConfiguration = {
originLanguage?: string;
languages?: string[];
rules?: string;
languageSpecificRules?: Record<string, string>;
// ... other configuration options
};