mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
DittoTranslator: source_lang -> sourceLang
This commit is contained in:
parent
2150259aba
commit
1afb09e604
6 changed files with 10 additions and 10 deletions
|
|
@ -132,7 +132,7 @@ const translateController: AppController = async (c) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mastodonTranslation.detected_source_language = data.source_lang;
|
mastodonTranslation.detected_source_language = data.sourceLang;
|
||||||
|
|
||||||
translationCache.set(cacheKey, mastodonTranslation);
|
translationCache.set(cacheKey, mastodonTranslation);
|
||||||
cachedTranslationsSizeGauge.set(translationCache.size);
|
cachedTranslationsSizeGauge.set(translationCache.size);
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ Deno.test('DeepL translation with source language omitted', async () => {
|
||||||
'en',
|
'en',
|
||||||
);
|
);
|
||||||
|
|
||||||
assertEquals(data.source_lang, 'pt');
|
assertEquals(data.sourceLang, 'pt');
|
||||||
assertEquals(detectLanguage(data.results[0], 0), 'en');
|
assertEquals(detectLanguage(data.results[0], 0), 'en');
|
||||||
assertEquals(detectLanguage(data.results[1], 0), 'en');
|
assertEquals(detectLanguage(data.results[1], 0), 'en');
|
||||||
assertEquals(detectLanguage(data.results[2], 0), 'en');
|
assertEquals(detectLanguage(data.results[2], 0), 'en');
|
||||||
|
|
@ -55,7 +55,7 @@ Deno.test('DeepL translation with source language set', async () => {
|
||||||
'en',
|
'en',
|
||||||
);
|
);
|
||||||
|
|
||||||
assertEquals(data.source_lang, 'pt');
|
assertEquals(data.sourceLang, 'pt');
|
||||||
assertEquals(detectLanguage(data.results[0], 0), 'en');
|
assertEquals(detectLanguage(data.results[0], 0), 'en');
|
||||||
assertEquals(detectLanguage(data.results[1], 0), 'en');
|
assertEquals(detectLanguage(data.results[1], 0), 'en');
|
||||||
assertEquals(detectLanguage(data.results[2], 0), 'en');
|
assertEquals(detectLanguage(data.results[2], 0), 'en');
|
||||||
|
|
|
||||||
|
|
@ -32,12 +32,12 @@ export class DeepLTranslator implements DittoTranslator {
|
||||||
source: LanguageCode | undefined,
|
source: LanguageCode | undefined,
|
||||||
dest: LanguageCode,
|
dest: LanguageCode,
|
||||||
opts?: { signal?: AbortSignal },
|
opts?: { signal?: AbortSignal },
|
||||||
): Promise<{ results: string[]; source_lang: LanguageCode }> {
|
): Promise<{ results: string[]; sourceLang: LanguageCode }> {
|
||||||
const { translations } = await this.translateMany(texts, source, dest, opts);
|
const { translations } = await this.translateMany(texts, source, dest, opts);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
results: translations.map((value) => value.text),
|
results: translations.map((value) => value.text),
|
||||||
source_lang: translations[0]?.detected_source_language,
|
sourceLang: translations[0]?.detected_source_language,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,5 +14,5 @@ export interface DittoTranslator {
|
||||||
targetLanguage: LanguageCode,
|
targetLanguage: LanguageCode,
|
||||||
/** Custom options. */
|
/** Custom options. */
|
||||||
opts?: { signal?: AbortSignal },
|
opts?: { signal?: AbortSignal },
|
||||||
): Promise<{ results: string[]; source_lang: LanguageCode }>;
|
): Promise<{ results: string[]; sourceLang: LanguageCode }>;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ Deno.test('LibreTranslate translation with source language omitted', {
|
||||||
'ca',
|
'ca',
|
||||||
);
|
);
|
||||||
|
|
||||||
assertEquals(data.source_lang, 'pt');
|
assertEquals(data.sourceLang, 'pt');
|
||||||
assertEquals(detectLanguage(data.results[0], 0), 'ca');
|
assertEquals(detectLanguage(data.results[0], 0), 'ca');
|
||||||
assertEquals(detectLanguage(data.results[1], 0), 'ca');
|
assertEquals(detectLanguage(data.results[1], 0), 'ca');
|
||||||
assertEquals(detectLanguage(data.results[2], 0), 'ca');
|
assertEquals(detectLanguage(data.results[2], 0), 'ca');
|
||||||
|
|
@ -48,7 +48,7 @@ Deno.test('LibreTranslate translation with source language set', {
|
||||||
'ca',
|
'ca',
|
||||||
);
|
);
|
||||||
|
|
||||||
assertEquals(data.source_lang, 'pt');
|
assertEquals(data.sourceLang, 'pt');
|
||||||
assertEquals(detectLanguage(data.results[0], 0), 'ca');
|
assertEquals(detectLanguage(data.results[0], 0), 'ca');
|
||||||
assertEquals(detectLanguage(data.results[1], 0), 'ca');
|
assertEquals(detectLanguage(data.results[1], 0), 'ca');
|
||||||
assertEquals(detectLanguage(data.results[2], 0), 'ca');
|
assertEquals(detectLanguage(data.results[2], 0), 'ca');
|
||||||
|
|
|
||||||
|
|
@ -32,14 +32,14 @@ export class LibreTranslateTranslator implements DittoTranslator {
|
||||||
source: LanguageCode | undefined,
|
source: LanguageCode | undefined,
|
||||||
dest: LanguageCode,
|
dest: LanguageCode,
|
||||||
opts?: { signal?: AbortSignal },
|
opts?: { signal?: AbortSignal },
|
||||||
): Promise<{ results: string[]; source_lang: LanguageCode }> {
|
): Promise<{ results: string[]; sourceLang: LanguageCode }> {
|
||||||
const translations = await Promise.all(
|
const translations = await Promise.all(
|
||||||
texts.map((text) => this.translateOne(text, source, dest, 'html', { signal: opts?.signal })),
|
texts.map((text) => this.translateOne(text, source, dest, 'html', { signal: opts?.signal })),
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
results: translations.map((value) => value.translatedText),
|
results: translations.map((value) => value.translatedText),
|
||||||
source_lang: (translations[0]?.detectedLanguage?.language ?? source) as LanguageCode, // cast is ok
|
sourceLang: (translations[0]?.detectedLanguage?.language ?? source) as LanguageCode, // cast is ok
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue