DittoTranslator: source_lang -> sourceLang

This commit is contained in:
Alex Gleason 2025-02-20 10:39:31 -06:00
parent 2150259aba
commit 1afb09e604
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7
6 changed files with 10 additions and 10 deletions

View file

@ -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);

View file

@ -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');

View file

@ -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,
}; };
} }

View file

@ -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 }>;
} }

View file

@ -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');

View file

@ -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
}; };
} }