diff --git a/apps/web/app/locales/en.json b/apps/web/app/locales/en.json new file mode 100644 index 00000000000000..b7f7bf1a58182f --- /dev/null +++ b/apps/web/app/locales/en.json @@ -0,0 +1,4 @@ +{ + "404-page-not-found": "404 - Page Not Found", + "sorry-the-page-you-are-looking-for-does-not-exist": "Sorry, the page you are looking for does not exist." +} diff --git a/apps/web/app/not-found.tsx b/apps/web/app/not-found.tsx index a9a4bb5c9251f3..f3f33daf41a48b 100644 --- a/apps/web/app/not-found.tsx +++ b/apps/web/app/not-found.tsx @@ -1,10 +1,13 @@ +import { useTranslation } from "react-i18next"; import React from "react"; const NotFound = () => { +const { t } = useTranslation(); + return (
-

404 - Page Not Found

-

Sorry, the page you are looking for does not exist.

+

{t('404-page-not-found')}

+

{t('sorry-the-page-you-are-looking-for-does-not-exist')}

); }; diff --git a/apps/web/app/settings/(admin-layout)/admin/locales/en.json b/apps/web/app/settings/(admin-layout)/admin/locales/en.json new file mode 100644 index 00000000000000..7490971931f642 --- /dev/null +++ b/apps/web/app/settings/(admin-layout)/admin/locales/en.json @@ -0,0 +1,3 @@ +{ + "admin-index": "Admin index" +} diff --git a/apps/web/app/settings/(admin-layout)/admin/page.tsx b/apps/web/app/settings/(admin-layout)/admin/page.tsx index 4f4fb938eca887..00935e8684d82d 100644 --- a/apps/web/app/settings/(admin-layout)/admin/page.tsx +++ b/apps/web/app/settings/(admin-layout)/admin/page.tsx @@ -1,3 +1,4 @@ +import { useTranslation } from "react-i18next"; import { _generateMetadata } from "app/_utils"; export const generateMetadata = async () => @@ -6,5 +7,9 @@ export const generateMetadata = async () => () => "" ); -const Page = () =>

Admin index

; +const Page = () => { +const { t } = useTranslation(); + +return

{t('admin-index')}

+}; export default Page; diff --git a/apps/web/app/settings/(admin-layout)/admin/users/locales/en.json b/apps/web/app/settings/(admin-layout)/admin/users/locales/en.json new file mode 100644 index 00000000000000..0e8ec5d3612200 --- /dev/null +++ b/apps/web/app/settings/(admin-layout)/admin/users/locales/en.json @@ -0,0 +1,3 @@ +{ + "add-user": "Add user" +} diff --git a/apps/web/app/settings/(admin-layout)/admin/users/page.tsx b/apps/web/app/settings/(admin-layout)/admin/users/page.tsx index 178b22b6cc59b2..55a65172d4e69b 100644 --- a/apps/web/app/settings/(admin-layout)/admin/users/page.tsx +++ b/apps/web/app/settings/(admin-layout)/admin/users/page.tsx @@ -1,3 +1,4 @@ +import { useTranslation } from "react-i18next"; import { _generateMetadata, getTranslate } from "app/_utils"; import UsersListingView from "@calcom/features/ee/users/pages/users-listing-view"; @@ -11,6 +12,8 @@ export const generateMetadata = async () => ); const Page = async () => { +const { t } = useTranslation(); + const t = await getTranslate(); return ( {
{/* TODO: Add import users functionality */} {/* */} - +
}> diff --git a/apps/web/components/EnterprisePage.tsx b/apps/web/components/EnterprisePage.tsx index 43f2f202ba4555..2054002c972848 100644 --- a/apps/web/components/EnterprisePage.tsx +++ b/apps/web/components/EnterprisePage.tsx @@ -1,4 +1,6 @@ "use client"; +import { useTranslation } from "react-i18next"; + import { ShellMain } from "@calcom/features/shell/Shell"; import { UpgradeTip } from "@calcom/features/tips"; @@ -6,6 +8,8 @@ import { useLocale } from "@calcom/lib/hooks/useLocale"; import { Button, ButtonGroup, Icon } from "@calcom/ui"; export default function EnterprisePage() { +const { t } = useTranslation(); + const { t } = useLocale(); const features = [ @@ -61,7 +65,7 @@ export default function EnterprisePage() { }> - <>Create Org + <>{t('create-org')} diff --git a/apps/web/components/apps/AppPage.tsx b/apps/web/components/apps/AppPage.tsx index 8294a0dff77118..d8193840d1d98f 100644 --- a/apps/web/components/apps/AppPage.tsx +++ b/apps/web/components/apps/AppPage.tsx @@ -1,3 +1,4 @@ +import { useTranslation } from "react-i18next"; import Link from "next/link"; import { useRouter } from "next/navigation"; import type { IframeHTMLAttributes } from "react"; @@ -74,6 +75,8 @@ export const AppPage = ({ concurrentMeetings, paid, }: AppPageProps) => { +const { t } = useTranslation(); + const { t, i18n } = useLocale(); const router = useRouter(); const searchParams = useCompatSearchParams(); @@ -234,9 +237,7 @@ export const AppPage = ({ {isTemplate && ( - - Template - Available in Dev Environment only for testing - + {t('template-available-in-dev-environment-only-for-testing')} )} diff --git a/apps/web/components/apps/installation/ConfigureStepCard.tsx b/apps/web/components/apps/installation/ConfigureStepCard.tsx index 1df0c1490b58cc..6d1ca5cda989f5 100644 --- a/apps/web/components/apps/installation/ConfigureStepCard.tsx +++ b/apps/web/components/apps/installation/ConfigureStepCard.tsx @@ -1,3 +1,4 @@ +import { useTranslation } from "react-i18next"; import { zodResolver } from "@hookform/resolvers/zod"; import type { Dispatch, SetStateAction } from "react"; import type { FC } from "react"; @@ -60,6 +61,8 @@ type TUpdatedEventTypesStatus = { id: number; updated: boolean }[][]; const EventTypeAppSettingsForm = forwardRef( function EventTypeAppSettingsForm(props, ref) { +const { t } = useTranslation(); + const { handleDelete, onSubmit, eventType, loading, isConferencing } = props; const { t } = useLocale(); @@ -107,9 +110,7 @@ const EventTypeAppSettingsForm = forwardRef !loading && handleDelete()} /> - + @@ -186,6 +187,8 @@ const EventTypeGroup = ({ }; export const ConfigureStepCard: FC = (props) => { +const { t } = useTranslation(); + const { loading, formPortalRef, handleSetUpLater } = props; const { t } = useLocale(); const { control, watch } = useFormContext(); @@ -222,12 +225,15 @@ export const ConfigureStepCard: FC = (props) => { formPortalRef?.current && createPortal(
- {fields.map((group, groupIndex) => ( + {fields.map((group, groupIndex) => { +const { t } = useTranslation(); + +return (
{eventTypeGroups[groupIndex].eventTypes.some((eventType) => eventType.selected === true) && (
= (props) => { {...props} />
- ))} - + ) +})} +