From a00e5dd724b136b072ad7efa22624b739aed6099 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Tue, 17 Mar 2026 13:20:02 -0500 Subject: [PATCH] Just align naming conventions --- src/components/Post/Translated/index.tsx | 8 +-- .../PostControls/PostMenu/PostMenuItems.tsx | 2 +- src/lib/translation/index.tsx | 51 ++++++++++++------- src/lib/translation/index.web.tsx | 29 ++++++++--- src/lib/translation/types.ts | 9 ++-- 5 files changed, 63 insertions(+), 36 deletions(-) diff --git a/src/components/Post/Translated/index.tsx b/src/components/Post/Translated/index.tsx index 4e137d0fc5..9aff552bbf 100644 --- a/src/components/Post/Translated/index.tsx +++ b/src/components/Post/Translated/index.tsx @@ -57,7 +57,7 @@ export function TranslatedPost({ const initialTranslationParams = useMemo(() => { return { text: record?.text || '', - targetLangCode: langPrefs.primaryLanguage, + expectedTargetLanguage: langPrefs.primaryLanguage, possibleSourceLanguages: getPostLanguageTags(post), } }, [post, record, langPrefs]) @@ -406,13 +406,13 @@ function TranslationLanguageSelect({ os: Platform.OS, possibleSourceLanguages: initialTranslationParams.possibleSourceLanguages, expectedSourceLanguage: sourceLangCode, - expectedTargetLanguage: initialTranslationParams.targetLangCode, + expectedTargetLanguage: initialTranslationParams.expectedTargetLanguage, resultSourceLanguage, }) void translate({ text: initialTranslationParams.text, - targetLangCode: initialTranslationParams.targetLangCode, - sourceLangCode, + expectedTargetLanguage: initialTranslationParams.expectedTargetLanguage, + expectedSourceLanguage: sourceLangCode, possibleSourceLanguages: initialTranslationParams.possibleSourceLanguages, }) } diff --git a/src/components/PostControls/PostMenu/PostMenuItems.tsx b/src/components/PostControls/PostMenu/PostMenuItems.tsx index fd5e09546e..257c1dcb41 100644 --- a/src/components/PostControls/PostMenu/PostMenuItems.tsx +++ b/src/components/PostControls/PostMenu/PostMenuItems.tsx @@ -277,7 +277,7 @@ let PostMenuItems = ({ const onPressTranslate = () => { void translate({ text: record.text, - targetLangCode: langPrefs.primaryLanguage, + expectedTargetLanguage: langPrefs.primaryLanguage, possibleSourceLanguages: getPostLanguageTags(post), }) } diff --git a/src/lib/translation/index.tsx b/src/lib/translation/index.tsx index d6a78707de..33d857369a 100644 --- a/src/lib/translation/index.tsx +++ b/src/lib/translation/index.tsx @@ -120,11 +120,15 @@ export function useTranslate({ const translate = useCallback( async (params: TranslationFunctionParams) => { - return context.translate({ - ...params, - key, - forceGoogleTranslate, - }) + return context.translate( + { + ...params, + }, + { + key, + forceGoogleTranslate, + }, + ) }, [context, forceGoogleTranslate, key], ) @@ -206,23 +210,32 @@ export function Provider({children}: React.PropsWithChildren) { }, []) const translate = useCallback( - async ({ - key, - text, - targetLangCode, - sourceLangCode: expectedSourceLanguage, - possibleSourceLanguages, - ...options - }) => { + async ( + { + text, + expectedTargetLanguage, + expectedSourceLanguage, + possibleSourceLanguages, + forceGoogleTranslate: forceGoogleTranslateOverride, + }, + {key, forceGoogleTranslate}, + ) => { ax.metric('translate', { os: Platform.OS, possibleSourceLanguages, - expectedTargetLanguage: targetLangCode, + expectedTargetLanguage: expectedTargetLanguage, textLength: text.length, }) - if (options?.forceGoogleTranslate || !HAS_ON_DEVICE_TRANSLATION) { - await googleTranslate(text, targetLangCode, expectedSourceLanguage) + const shouldForceGoogleTranslate = + forceGoogleTranslateOverride ?? forceGoogleTranslate + + if (shouldForceGoogleTranslate || !HAS_ON_DEVICE_TRANSLATION) { + await googleTranslate( + text, + expectedTargetLanguage, + expectedSourceLanguage, + ) return } @@ -236,7 +249,7 @@ export function Provider({children}: React.PropsWithChildren) { try { const result = await attemptTranslation( text, - targetLangCode, + expectedTargetLanguage, expectedSourceLanguage, ) ax.metric('translate:result', { @@ -244,7 +257,7 @@ export function Provider({children}: React.PropsWithChildren) { os: Platform.OS, possibleSourceLanguages, expectedSourceLanguage: expectedSourceLanguage ?? null, - expectedTargetLanguage: targetLangCode, + expectedTargetLanguage, resultSourceLanguage: result.sourceLanguage, resultTargetLanguage: result.targetLanguage, textLength: text.length, @@ -271,7 +284,7 @@ export function Provider({children}: React.PropsWithChildren) { os: Platform.OS, possibleSourceLanguages, expectedSourceLanguage: expectedSourceLanguage ?? null, - expectedTargetLanguage: targetLangCode, + expectedTargetLanguage, resultSourceLanguage: null, resultTargetLanguage: null, textLength: text.length, diff --git a/src/lib/translation/index.web.tsx b/src/lib/translation/index.web.tsx index 4935159e01..b202060800 100644 --- a/src/lib/translation/index.web.tsx +++ b/src/lib/translation/index.web.tsx @@ -33,11 +33,15 @@ export function useTranslate({key}: TranslationOptions) { // Always call hooks in consistent order const translate = useCallback( async (params: TranslationFunctionParams) => { - return context.translate({ - ...params, - key, - forceGoogleTranslate: true, - }) + return context.translate( + { + ...params, + }, + { + key, + forceGoogleTranslate: true, + }, + ) }, [key, context], ) @@ -60,14 +64,23 @@ export function Provider({children}: React.PropsWithChildren) { const googleTranslate = useGoogleTranslate() const translate = useCallback( - async ({text, targetLangCode, sourceLangCode, possibleSourceLanguages}) => { + async ({ + text, + expectedTargetLanguage, + expectedSourceLanguage, + possibleSourceLanguages, + }) => { ax.metric('translate', { os: 'web', possibleSourceLanguages, - expectedTargetLanguage: targetLangCode, + expectedTargetLanguage, textLength: text.length, }) - await googleTranslate(text, targetLangCode, sourceLangCode) + await googleTranslate( + text, + expectedTargetLanguage, + expectedSourceLanguage, + ) }, [ax, googleTranslate], ) diff --git a/src/lib/translation/types.ts b/src/lib/translation/types.ts index 8882d86505..c859148b0e 100644 --- a/src/lib/translation/types.ts +++ b/src/lib/translation/types.ts @@ -22,14 +22,14 @@ export type TranslationFunctionParams = { /** * The language to translate the text into. */ - targetLangCode: string + expectedTargetLanguage: string /** * We auto-detect the source language by default, but the user has the option * to specify a source language if they want to. If this value is present, it * means the user selected a source language, or we were certain of the * source language and want to specify it explicitly. */ - sourceLangCode?: string + expectedSourceLanguage?: string /** * The languages the content might be in, such as the user-supplied * language codes on posts. Currently only available on posts. @@ -53,13 +53,14 @@ export type TranslationOptions = { } export type TranslationFunction = ( - parameters: TranslationFunctionParams, + params: TranslationFunctionParams, ) => Promise export type ContextType = { translationState: Record translate: ( - parameters: TranslationFunctionParams & TranslationOptions, + params: TranslationFunctionParams, + options: TranslationOptions, ) => Promise clearTranslation: (key: string) => void acquireTranslation: (key: string) => () => void