diff --git a/src/components/status.jsx b/src/components/status.jsx
index 628e203d..1831e195 100644
--- a/src/components/status.jsx
+++ b/src/components/status.jsx
@@ -222,6 +222,8 @@ function Status({
const [forceTranslate, setForceTranslate] = useState(false);
const targetLanguage = getTranslateTargetLanguage(true);
+ const contentTranslationHideLanguages =
+ snapStates.settings.contentTranslationHideLanguages || [];
if (!snapStates.settings.contentTranslation) enableTranslate = false;
const [showEdited, setShowEdited] = useState(false);
@@ -907,7 +909,10 @@ function Status({
!!content.trim() &&
language &&
language !== targetLanguage &&
- !match([language], [targetLanguage])) ||
+ !match([language], [targetLanguage]) &&
+ !contentTranslationHideLanguages.find(
+ (l) => language === l || match([language], [l]),
+ )) ||
forceTranslate) && (
+
+ Hide "Translate" button for
+ {snapStates.settings.contentTranslationHideLanguages
+ .length > 0 && (
+ <>
+ {' '}
+ (
+ {
+ snapStates.settings.contentTranslationHideLanguages
+ .length
+ }
+ )
+ >
+ )}
+ :
+
+
Note: This feature uses an external API to translate, diff --git a/src/utils/states.js b/src/utils/states.js index fbe3aff4..40839b84 100644 --- a/src/utils/states.js +++ b/src/utils/states.js @@ -48,6 +48,8 @@ const states = proxy({ store.account.get('settings-contentTranslation') ?? true, contentTranslationTargetLanguage: store.account.get('settings-contentTranslationTargetLanguage') || null, + contentTranslationHideLanguages: + store.account.get('settings-contentTranslationHideLanguages') || [], }, }); @@ -76,6 +78,12 @@ subscribe(states, (changes) => { console.log('SET', value); store.account.set('settings-contentTranslationTargetLanguage', value); } + if (/^settings\.contentTranslationHideLanguages/i.test(path.join('.'))) { + store.account.set( + 'settings-contentTranslationHideLanguages', + states.settings.contentTranslationHideLanguages, + ); + } if (path?.[0] === 'shortcuts') { store.account.set('shortcuts', states.shortcuts); }