feat(translation): refactor translation system to use useT hook for reactive updates

This commit is contained in:
alexsparkes
2026-01-24 17:18:29 +00:00
parent b8647538fd
commit c88b3cc03c
15 changed files with 218 additions and 127 deletions

View File

@@ -1,6 +1,6 @@
import variables from 'config/variables';
import { useState, useEffect, useRef } from 'react';
import { useMessage } from 'contexts/TranslationContext';
import { useT } from 'contexts/TranslationContext';
import variables from 'config/variables';
import { MdOutlineOpenInNew } from 'react-icons/md';
@@ -9,10 +9,11 @@ import { Radio } from 'components/Form/Settings';
import languages from '@/i18n/languages.json';
const LanguageOptions = () => {
const loadingText = useMessage('modals.main.loading');
const offlineText = useMessage('modals.main.marketplace.offline.description');
const languageTitle = useMessage('modals.main.settings.sections.language.title');
const quoteTitle = useMessage('modals.main.settings.sections.language.quote');
const t = useT();
const loadingText = t('modals.main.loading');
const offlineText = t('modals.main.marketplace.offline.description');
const languageTitle = t('modals.main.settings.sections.language.title');
const quoteTitle = t('modals.main.settings.sections.language.quote');
const [quoteLanguages, setQuoteLanguages] = useState([
{

View File

@@ -1,6 +1,5 @@
import variables from 'config/variables';
import { memo, useMemo } from 'react';
import { useTranslation } from 'contexts/TranslationContext';
import { useT } from 'contexts/TranslationContext';
import Tabs from 'components/Elements/MainModal/backend/Tabs';
@@ -90,15 +89,15 @@ const sections = [
];
function Settings(props) {
const { languagecode } = useTranslation();
const t = useT();
// Recalculate section labels when language changes
const translatedSections = useMemo(() =>
sections.map(section => ({
...section,
translatedLabel: variables.getMessage(section.label)
translatedLabel: t(section.label)
})),
[languagecode]
[t]
);
return (