From 38c6a0741b54dc43b081b2eb1fa3d6deab9a4bdb Mon Sep 17 00:00:00 2001 From: Manuel Date: Tue, 1 Aug 2023 11:38:57 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=90=20Fix=20translations=20for=20prefe?= =?UTF-8?q?rences=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../settings/customization/accessibility.json | 11 ---------- public/locales/en/user/preferences.json | 20 +++++++++++++++++++ .../Accessibility/AccessibilitySettings.tsx | 9 ++------- src/pages/user/preferences.tsx | 10 +++++++--- src/tools/server/translation-namespaces.ts | 3 ++- 5 files changed, 31 insertions(+), 22 deletions(-) delete mode 100644 public/locales/en/settings/customization/accessibility.json create mode 100644 public/locales/en/user/preferences.json diff --git a/public/locales/en/settings/customization/accessibility.json b/public/locales/en/settings/customization/accessibility.json deleted file mode 100644 index ce1086664..000000000 --- a/public/locales/en/settings/customization/accessibility.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "disablePulse": { - "label": "Disable ping pulse", - "description": "By default, ping indicators in Homarr will pulse. This may be irritating. This slider will deactivate the animation" - }, - "replaceIconsWithDots": { - "label": "Replace ping dots with icons", - "description": "For colorblind users, ping dots may be unrecognizable. This will replace indicators with icons" - }, - "alert": "Are you missing something? We'll gladly extend the accessibility of Homarr" -} \ No newline at end of file diff --git a/public/locales/en/user/preferences.json b/public/locales/en/user/preferences.json new file mode 100644 index 000000000..ae9fda8bb --- /dev/null +++ b/public/locales/en/user/preferences.json @@ -0,0 +1,20 @@ +{ + "accessibility": { + "disablePulse": { + "label": "Disable ping pulse", + "description": "By default, ping indicators in Homarr will pulse. This may be irritating. This slider will deactivate the animation" + }, + "replaceIconsWithDots": { + "label": "Replace ping dots with icons", + "description": "For colorblind users, ping dots may be unrecognizable. This will replace indicators with icons" + } + }, + "localization": { + "language": { + "label": "Language" + }, + "firstDayOfWeek": { + "label": "First day of the week" + } + } +} \ No newline at end of file diff --git a/src/components/Settings/Customization/Accessibility/AccessibilitySettings.tsx b/src/components/Settings/Customization/Accessibility/AccessibilitySettings.tsx index 2a5bdddfe..618a45b0d 100644 --- a/src/components/Settings/Customization/Accessibility/AccessibilitySettings.tsx +++ b/src/components/Settings/Customization/Accessibility/AccessibilitySettings.tsx @@ -1,10 +1,9 @@ -import { Alert, Stack, Switch } from '@mantine/core'; -import { IconInfoCircle } from '@tabler/icons-react'; +import { Stack, Switch } from '@mantine/core'; import { useTranslation } from 'react-i18next'; import { useFormContext } from '~/pages/user/preferences'; export const AccessibilitySettings = () => { - const { t } = useTranslation('settings/customization/accessibility'); + const { t } = useTranslation('user/preferences'); const form = useFormContext(); @@ -21,10 +20,6 @@ export const AccessibilitySettings = () => { description={t('replaceIconsWithDots.description')} {...form.getInputProps('replaceDotsWithIcons', { type: 'checkbox' })} /> - - } color="blue"> - {t('alert')} - ); }; diff --git a/src/pages/user/preferences.tsx b/src/pages/user/preferences.tsx index 341283f7a..7f9652eb6 100644 --- a/src/pages/user/preferences.tsx +++ b/src/pages/user/preferences.tsx @@ -3,12 +3,14 @@ import { createFormContext } from '@mantine/form'; import type { InferGetServerSidePropsType } from 'next'; import { GetServerSidePropsContext } from 'next'; import { forwardRef } from 'react'; +import { useTranslation } from 'react-i18next'; import { z } from 'zod'; import { AccessibilitySettings } from '~/components/Settings/Customization/Accessibility/AccessibilitySettings'; import { MainLayout } from '~/components/layout/admin/main-admin.layout'; import { CommonHeader } from '~/components/layout/common-header'; import { languages } from '~/tools/language'; import { getServerSideTranslations } from '~/tools/server/getServerSideTranslations'; +import { manageNamespaces } from '~/tools/server/translation-namespaces'; import { RouterOutputs, api } from '~/utils/api'; import { useI18nZodResolver } from '~/utils/i18n-zod-resolver'; import { updateSettingsValidationSchema } from '~/validations/user'; @@ -44,6 +46,8 @@ const SettingsComponent = ({ country: language.country, })); + const { t } = useTranslation('user/preferences'); + const { i18nZodResolver } = useI18nZodResolver(); const form = useForm({ @@ -68,7 +72,7 @@ const SettingsComponent = ({
- Localization + {t('localization.language.label')} ( ); export async function getServerSideProps({ req, res, locale }: GetServerSidePropsContext) { - const translations = await getServerSideTranslations([], locale, undefined, undefined); + const translations = await getServerSideTranslations(manageNamespaces, locale, undefined, undefined); return { props: { ...translations, diff --git a/src/tools/server/translation-namespaces.ts b/src/tools/server/translation-namespaces.ts index 06e4da980..0d35a6833 100644 --- a/src/tools/server/translation-namespaces.ts +++ b/src/tools/server/translation-namespaces.ts @@ -14,7 +14,6 @@ export const dashboardNamespaces = [ 'settings/general/internationalization', 'settings/general/search-engine', 'settings/general/widget-positions', - 'settings/customization/accessibility', 'settings/customization/general', 'settings/customization/color-selector', 'settings/customization/page-appearance', @@ -49,6 +48,8 @@ export const dashboardNamespaces = [ 'widgets/location', ]; +export const manageNamespaces = ['user/preferences', 'zod']; + export const loginNamespaces = ['authentication/login', 'zod']; export const registerNamespaces = ['authentication/register', 'zod'];