+ className="bg-default border-subtle dark:bg-muted dark:hover:bg-emphasis hover:bg-muted group relative border-b first:rounded-t-md last:rounded-b-md last:border-b-0">
{/* Don't prefetch till the time we drop the amount of javascript in [user][type] page which is impacting score for [user] page */}
diff --git a/apps/web/pages/[user]/book.tsx b/apps/web/pages/[user]/book.tsx
index 1a914ef05d..741f35882d 100644
--- a/apps/web/pages/[user]/book.tsx
+++ b/apps/web/pages/[user]/book.tsx
@@ -5,6 +5,8 @@ import type { LocationObject } from "@calcom/app-store/locations";
import { privacyFilteredLocations } from "@calcom/app-store/locations";
import { getAppFromSlug } from "@calcom/app-store/utils";
import dayjs from "@calcom/dayjs";
+import getBooking from "@calcom/features/bookings/lib/get-booking";
+import type { GetBookingType } from "@calcom/features/bookings/lib/get-booking";
import { getBookingFieldsWithSystemFields } from "@calcom/features/bookings/lib/getBookingFields";
import { parseRecurringEvent } from "@calcom/lib";
import {
@@ -13,8 +15,6 @@ import {
getGroupName,
getUsernameList,
} from "@calcom/lib/defaultEvents";
-import getBooking from "@calcom/lib/getBooking";
-import type { GetBookingType } from "@calcom/lib/getBooking";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { markdownToSafeHTML } from "@calcom/lib/markdownToSafeHTML";
import prisma, { bookEventTypeSelect } from "@calcom/prisma";
diff --git a/apps/web/pages/_error.tsx b/apps/web/pages/_error.tsx
index 59869c4697..fb0ce29505 100644
--- a/apps/web/pages/_error.tsx
+++ b/apps/web/pages/_error.tsx
@@ -8,10 +8,9 @@ import NextError from "next/error";
import React from "react";
import { getErrorFromUnknown } from "@calcom/lib/errors";
+import { HttpError } from "@calcom/lib/http-error";
import logger from "@calcom/lib/logger";
-import { HttpError } from "@lib/core/http/error";
-
import { ErrorPage } from "@components/error/error-page";
// Adds HttpException to the list of possible error types.
diff --git a/apps/web/pages/api/auth/oidc.ts b/apps/web/pages/api/auth/oidc.ts
index f8cd8799eb..0e65b2b551 100644
--- a/apps/web/pages/api/auth/oidc.ts
+++ b/apps/web/pages/api/auth/oidc.ts
@@ -1,8 +1,7 @@
import type { NextApiRequest, NextApiResponse } from "next";
import jackson from "@calcom/features/ee/sso/lib/jackson";
-
-import { HttpError } from "@lib/core/http/error";
+import { HttpError } from "@calcom/lib/http-error";
// This is the callback endpoint for the OIDC provider
// A team must set this endpoint in the OIDC provider's configuration
diff --git a/apps/web/pages/api/auth/saml/authorize.ts b/apps/web/pages/api/auth/saml/authorize.ts
index 8d42bec42e..337406cb4f 100644
--- a/apps/web/pages/api/auth/saml/authorize.ts
+++ b/apps/web/pages/api/auth/saml/authorize.ts
@@ -2,8 +2,7 @@ import type { OAuthReq } from "@boxyhq/saml-jackson";
import type { NextApiRequest, NextApiResponse } from "next";
import jackson from "@calcom/features/ee/sso/lib/jackson";
-
-import type { HttpError } from "@lib/core/http/error";
+import type { HttpError } from "@calcom/lib/http-error";
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
const { oauthController } = await jackson();
diff --git a/apps/web/pages/api/integrations/[...args].ts b/apps/web/pages/api/integrations/[...args].ts
index 228b896125..5b789e8ffd 100644
--- a/apps/web/pages/api/integrations/[...args].ts
+++ b/apps/web/pages/api/integrations/[...args].ts
@@ -4,12 +4,11 @@ import type { Session } from "next-auth";
import getInstalledAppPath from "@calcom/app-store/_utils/getInstalledAppPath";
import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
import { deriveAppDictKeyFromType } from "@calcom/lib/deriveAppDictKeyFromType";
+import { HttpError } from "@calcom/lib/http-error";
import { revalidateCalendarCache } from "@calcom/lib/server/revalidateCalendarCache";
import prisma from "@calcom/prisma";
import type { AppDeclarativeHandler, AppHandler } from "@calcom/types/AppHandler";
-import { HttpError } from "@lib/core/http/error";
-
const defaultIntegrationAddHandler = async ({
slug,
supportsMultipleInstalls,
diff --git a/apps/web/pages/api/link.ts b/apps/web/pages/api/link.ts
index 9b692d95de..33a9e87ca2 100644
--- a/apps/web/pages/api/link.ts
+++ b/apps/web/pages/api/link.ts
@@ -7,7 +7,7 @@ import { defaultResponder } from "@calcom/lib/server";
import prisma from "@calcom/prisma";
import { TRPCError } from "@calcom/trpc/server";
import { createContext } from "@calcom/trpc/server/createContext";
-import { viewerRouter } from "@calcom/trpc/server/routers/viewer";
+import { viewerRouter } from "@calcom/trpc/server/routers/viewer/_router";
enum DirectAction {
ACCEPT = "accept",
@@ -51,7 +51,8 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
try {
/** @see https://trpc.io/docs/server-side-calls */
const ctx = await createContext({ req, res }, sessionGetter);
- const caller = viewerRouter.createCaller(ctx);
+ const caller = viewerRouter.createCaller({ ...ctx, req, res });
+
await caller.bookings.confirm({
bookingId: booking.id,
recurringEventId: booking.recurringEventId || undefined,
diff --git a/apps/web/pages/api/newbooker/[status].tsx b/apps/web/pages/api/newbooker/[status].tsx
new file mode 100644
index 0000000000..13bc1db346
--- /dev/null
+++ b/apps/web/pages/api/newbooker/[status].tsx
@@ -0,0 +1,26 @@
+import type { NextApiRequest, NextApiResponse } from "next";
+import { z } from "zod";
+
+import { defaultResponder } from "@calcom/lib/server";
+
+const newBookerSchema = z.object({
+ status: z.enum(["enable", "disable"]),
+});
+
+/**
+ * Very basic temporary api route to enable/disable new booker access.
+ */
+async function handler(req: NextApiRequest, res: NextApiResponse) {
+ const { status } = newBookerSchema.parse(req.query);
+
+ if (status === "enable") {
+ const expires = new Date();
+ expires.setFullYear(expires.getFullYear() + 1);
+ res.setHeader("Set-Cookie", `new-booker-enabled=true; path=/; expires=${expires.toUTCString()}`);
+ } else {
+ res.setHeader("Set-Cookie", "new-booker-enabled=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT");
+ }
+ res.send({ status: 200, body: `Done – ${status}` });
+}
+
+export default defaultResponder(handler);
diff --git a/apps/web/pages/apps/[slug]/index.tsx b/apps/web/pages/apps/[slug]/index.tsx
index adc35ee727..c961f547e2 100644
--- a/apps/web/pages/apps/[slug]/index.tsx
+++ b/apps/web/pages/apps/[slug]/index.tsx
@@ -6,6 +6,7 @@ import path from "path";
import { z } from "zod";
import { getAppWithMetadata } from "@calcom/app-store/_appRegistry";
+import { getAppAssetFullPath } from "@calcom/app-store/getAppAssetFullPath";
import prisma from "@calcom/prisma";
import type { inferSSRProps } from "@lib/types/inferSSRProps";
@@ -108,9 +109,11 @@ export const getStaticProps = async (ctx: GetStaticPropsContext) => {
const { content, data } = sourceSchema.parse({ content: result.content, data: result.data });
if (data.items) {
data.items = data.items.map((item) => {
- if (typeof item === "string" && !item.includes("/api/app-store")) {
- // Make relative paths absolute
- return `/api/app-store/${appDirname}/${item}`;
+ if (typeof item === "string") {
+ return getAppAssetFullPath(item, {
+ dirName: singleApp.dirName,
+ isTemplate: singleApp.isTemplate,
+ });
}
return item;
});
diff --git a/apps/web/pages/apps/[slug]/setup.tsx b/apps/web/pages/apps/[slug]/setup.tsx
index c53b61aea1..ca9b08138b 100644
--- a/apps/web/pages/apps/[slug]/setup.tsx
+++ b/apps/web/pages/apps/[slug]/setup.tsx
@@ -4,6 +4,7 @@ import { useRouter } from "next/router";
import { AppSetupPage } from "@calcom/app-store/_pages/setup";
import { getStaticProps } from "@calcom/app-store/_pages/setup/_getStaticProps";
+import { HeadSeo } from "@calcom/ui";
import PageWrapper from "@components/PageWrapper";
@@ -25,7 +26,13 @@ export default function SetupInformation(props: InferGetStaticPropsType;
+ return (
+ <>
+ {/* So that the set up page does not get indexed by search engines */}
+
+
+ >
+ );
}
SetupInformation.PageWrapper = PageWrapper;
diff --git a/apps/web/pages/availability/[schedule].tsx b/apps/web/pages/availability/[schedule].tsx
index b019cb9594..aa25e7e84b 100644
--- a/apps/web/pages/availability/[schedule].tsx
+++ b/apps/web/pages/availability/[schedule].tsx
@@ -10,6 +10,7 @@ import { availabilityAsString } from "@calcom/lib/availability";
import { yyyymmdd } from "@calcom/lib/date-fns";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { useTypedQuery } from "@calcom/lib/hooks/useTypedQuery";
+import { HttpError } from "@calcom/lib/http-error";
import { trpc } from "@calcom/trpc/react";
import useMeQuery from "@calcom/trpc/react/hooks/useMeQuery";
import type { Schedule as ScheduleType, TimeRange, WorkingHours } from "@calcom/types/schedule";
@@ -35,8 +36,6 @@ import {
} from "@calcom/ui";
import { Info, Plus, Trash, MoreHorizontal } from "@calcom/ui/components/icon";
-import { HttpError } from "@lib/core/http/error";
-
import PageWrapper from "@components/PageWrapper";
import { SelectSkeletonLoader } from "@components/availability/SkeletonLoader";
import EditableHeading from "@components/ui/EditableHeading";
diff --git a/apps/web/pages/availability/index.tsx b/apps/web/pages/availability/index.tsx
index 093992eaf7..8c0cb069d7 100644
--- a/apps/web/pages/availability/index.tsx
+++ b/apps/web/pages/availability/index.tsx
@@ -3,13 +3,13 @@ import { useAutoAnimate } from "@formkit/auto-animate/react";
import { NewScheduleButton, ScheduleListItem } from "@calcom/features/schedules";
import Shell from "@calcom/features/shell/Shell";
import { useLocale } from "@calcom/lib/hooks/useLocale";
+import { HttpError } from "@calcom/lib/http-error";
import type { RouterOutputs } from "@calcom/trpc/react";
import { trpc } from "@calcom/trpc/react";
import { EmptyScreen, showToast } from "@calcom/ui";
import { Clock } from "@calcom/ui/components/icon";
import { withQuery } from "@lib/QueryCell";
-import { HttpError } from "@lib/core/http/error";
import PageWrapper from "@components/PageWrapper";
import SkeletonLoader from "@components/availability/SkeletonLoader";
diff --git a/apps/web/pages/booking/[uid].tsx b/apps/web/pages/booking/[uid].tsx
index ca02ce8376..20a5bd6141 100644
--- a/apps/web/pages/booking/[uid].tsx
+++ b/apps/web/pages/booking/[uid].tsx
@@ -24,6 +24,7 @@ import {
useIsEmbed,
} from "@calcom/embed-core/embed-iframe";
import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
+import { getBookingWithResponses } from "@calcom/features/bookings/lib/get-booking";
import {
SystemField,
getBookingFieldsWithSystemFields,
@@ -36,7 +37,6 @@ import {
formatToLocalizedTimezone,
} from "@calcom/lib/date-fns";
import { getDefaultEvent } from "@calcom/lib/defaultEvents";
-import { getBookingWithResponses } from "@calcom/lib/getBooking";
import useGetBrandingColours from "@calcom/lib/getBrandColours";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import useTheme from "@calcom/lib/hooks/useTheme";
diff --git a/apps/web/pages/d/[link]/[slug].tsx b/apps/web/pages/d/[link]/[slug].tsx
index 4ab511ec1b..3017918cdb 100644
--- a/apps/web/pages/d/[link]/[slug].tsx
+++ b/apps/web/pages/d/[link]/[slug].tsx
@@ -3,9 +3,9 @@ import { z } from "zod";
import type { LocationObject } from "@calcom/core/location";
import { privacyFilteredLocations } from "@calcom/core/location";
+import type { GetBookingType } from "@calcom/features/bookings/lib/get-booking";
import { parseRecurringEvent } from "@calcom/lib";
import { getWorkingHours } from "@calcom/lib/availability";
-import type { GetBookingType } from "@calcom/lib/getBooking";
import { markdownToSafeHTML } from "@calcom/lib/markdownToSafeHTML";
import { availiblityPageEventTypeSelect } from "@calcom/prisma";
import prisma from "@calcom/prisma";
diff --git a/apps/web/pages/event-types/[type]/index.tsx b/apps/web/pages/event-types/[type]/index.tsx
index c40404e61d..6786481aed 100644
--- a/apps/web/pages/event-types/[type]/index.tsx
+++ b/apps/web/pages/event-types/[type]/index.tsx
@@ -136,6 +136,13 @@ const EventTypePage = (props: EventTypeSetupProps) => {
const updateMutation = trpc.viewer.eventTypes.update.useMutation({
onSuccess: async () => {
+ formMethods.setValue(
+ "children",
+ formMethods.getValues().children.map((child) => ({
+ ...child,
+ created: true,
+ }))
+ );
showToast(
t("event_type_updated_successfully", {
eventTypeTitle: eventType.title,
diff --git a/apps/web/pages/event-types/index.tsx b/apps/web/pages/event-types/index.tsx
index e2ec5c7043..0f679ea447 100644
--- a/apps/web/pages/event-types/index.tsx
+++ b/apps/web/pages/event-types/index.tsx
@@ -17,6 +17,7 @@ import { APP_NAME, CAL_URL, WEBAPP_URL } from "@calcom/lib/constants";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import useMediaQuery from "@calcom/lib/hooks/useMediaQuery";
import { useTypedQuery } from "@calcom/lib/hooks/useTypedQuery";
+import { HttpError } from "@calcom/lib/http-error";
import type { RouterOutputs } from "@calcom/trpc/react";
import { trpc, TRPCClientError } from "@calcom/trpc/react";
import {
@@ -59,7 +60,6 @@ import {
} from "@calcom/ui/components/icon";
import { withQuery } from "@lib/QueryCell";
-import { HttpError } from "@lib/core/http/error";
import { EmbedButton, EmbedDialog } from "@components/Embed";
import PageWrapper from "@components/PageWrapper";
diff --git a/apps/web/pages/new-booker/[user]/[type].tsx b/apps/web/pages/new-booker/[user]/[type].tsx
new file mode 100644
index 0000000000..6a6db3e0e8
--- /dev/null
+++ b/apps/web/pages/new-booker/[user]/[type].tsx
@@ -0,0 +1,112 @@
+import type { GetServerSidePropsContext } from "next";
+import { z } from "zod";
+
+import { Booker } from "@calcom/atoms";
+import { getBookingByUidOrRescheduleUid } from "@calcom/features/bookings/lib/get-booking";
+import type { GetBookingType } from "@calcom/features/bookings/lib/get-booking";
+import { getUsernameList } from "@calcom/lib/defaultEvents";
+import prisma from "@calcom/prisma";
+
+import type { inferSSRProps } from "@lib/types/inferSSRProps";
+
+import PageWrapper from "@components/PageWrapper";
+
+type PageProps = inferSSRProps;
+
+export default function Type({ slug, user, booking, away }: PageProps) {
+ return (
+
+
+
+ );
+}
+
+Type.PageWrapper = PageWrapper;
+
+async function getDynamicGroupPageProps(context: GetServerSidePropsContext) {
+ const { user, type: slug } = paramsSchema.parse(context.params);
+ const { rescheduleUid } = context.query;
+
+ const { ssgInit } = await import("@server/lib/ssg");
+ const ssg = await ssgInit(context);
+ const usernameList = getUsernameList(user);
+
+ const users = await prisma.user.findMany({
+ where: {
+ username: {
+ in: usernameList,
+ },
+ },
+ select: {
+ allowDynamicBooking: true,
+ },
+ });
+
+ if (!users.length) {
+ return {
+ notFound: true,
+ };
+ }
+
+ let booking: GetBookingType | null = null;
+ if (rescheduleUid) {
+ booking = await getBookingByUidOrRescheduleUid(`${rescheduleUid}`);
+ }
+
+ return {
+ props: {
+ booking,
+ user,
+ slug,
+ away: false,
+ trpcState: ssg.dehydrate(),
+ },
+ };
+}
+
+async function getUserPageProps(context: GetServerSidePropsContext) {
+ const { user: username, type: slug } = paramsSchema.parse(context.params);
+ const { rescheduleUid } = context.query;
+ const { ssgInit } = await import("@server/lib/ssg");
+ const ssg = await ssgInit(context);
+ const user = await prisma.user.findUnique({
+ where: {
+ username,
+ },
+ select: {
+ away: true,
+ },
+ });
+
+ if (!user) {
+ return {
+ notFound: true,
+ };
+ }
+
+ let booking: GetBookingType | null = null;
+ if (rescheduleUid) {
+ booking = await getBookingByUidOrRescheduleUid(`${rescheduleUid}`);
+ }
+
+ return {
+ props: {
+ booking,
+ away: user?.away,
+ user: username,
+ slug,
+ trpcState: ssg.dehydrate(),
+ },
+ };
+}
+
+const paramsSchema = z.object({ type: z.string(), user: z.string() });
+
+// Booker page fetches a tiny bit of data server side, to determine early
+// whether the page should show an away state or dynamic booking not allowed.
+export const getServerSideProps = async (context: GetServerSidePropsContext) => {
+ const { user } = paramsSchema.parse(context.params);
+ const isDynamicGroup = user.includes("+");
+
+ return isDynamicGroup ? await getDynamicGroupPageProps(context) : await getUserPageProps(context);
+};
diff --git a/apps/web/pages/new-booker/team/[slug]/[type].tsx b/apps/web/pages/new-booker/team/[slug]/[type].tsx
new file mode 100644
index 0000000000..46a91e6890
--- /dev/null
+++ b/apps/web/pages/new-booker/team/[slug]/[type].tsx
@@ -0,0 +1,65 @@
+import type { GetServerSidePropsContext } from "next";
+import { z } from "zod";
+
+import { Booker } from "@calcom/atoms";
+import { getBookingByUidOrRescheduleUid } from "@calcom/features/bookings/lib/get-booking";
+import type { GetBookingType } from "@calcom/features/bookings/lib/get-booking";
+import prisma from "@calcom/prisma";
+
+import type { inferSSRProps } from "@lib/types/inferSSRProps";
+
+import PageWrapper from "@components/PageWrapper";
+
+type PageProps = inferSSRProps;
+
+export default function Type({ slug, user, booking, away }: PageProps) {
+ return (
+
+
+
+ );
+}
+
+Type.PageWrapper = PageWrapper;
+
+const paramsSchema = z.object({ type: z.string(), slug: z.string() });
+
+// Booker page fetches a tiny bit of data server side:
+// 1. Check if team exists, to show 404
+// 2. If rescheduling, get the booking details
+export const getServerSideProps = async (context: GetServerSidePropsContext) => {
+ const { slug: teamSlug, type: meetingSlug } = paramsSchema.parse(context.params);
+ const { rescheduleUid } = context.query;
+ const { ssgInit } = await import("@server/lib/ssg");
+ const ssg = await ssgInit(context);
+
+ const team = await prisma.team.findFirst({
+ where: {
+ slug: teamSlug,
+ },
+ select: {
+ id: true,
+ },
+ });
+
+ if (!team) {
+ return {
+ notFound: true,
+ };
+ }
+
+ let booking: GetBookingType | null = null;
+ if (rescheduleUid) {
+ booking = await getBookingByUidOrRescheduleUid(`${rescheduleUid}`);
+ }
+
+ return {
+ props: {
+ booking,
+ away: false,
+ user: teamSlug,
+ slug: meetingSlug,
+ trpcState: ssg.dehydrate(),
+ },
+ };
+};
diff --git a/apps/web/pages/settings/security/password.tsx b/apps/web/pages/settings/security/password.tsx
index e57d853e0d..28c0326087 100644
--- a/apps/web/pages/settings/security/password.tsx
+++ b/apps/web/pages/settings/security/password.tsx
@@ -199,6 +199,7 @@ const PasswordView = () => {
color="primary"
className="mt-8"
type="submit"
+ onClick={() => formMethods.clearErrors("apiError")}
disabled={isDisabled || passwordMutation.isLoading || sessionMutation.isLoading}>
{t("update")}
diff --git a/apps/web/pages/settings/security/two-factor-auth.tsx b/apps/web/pages/settings/security/two-factor-auth.tsx
index 5d8f6373cf..811f9d2d03 100644
--- a/apps/web/pages/settings/security/two-factor-auth.tsx
+++ b/apps/web/pages/settings/security/two-factor-auth.tsx
@@ -46,10 +46,10 @@ const TwoFactorAuthView = () => {
user?.twoFactorEnabled ? setDisableModalOpen(true) : setEnableModalOpen(true)
}
/>
-
diff --git a/apps/web/pages/team/[slug]/[type].tsx b/apps/web/pages/team/[slug]/[type].tsx
index 59da20570f..1eeb235b24 100644
--- a/apps/web/pages/team/[slug]/[type].tsx
+++ b/apps/web/pages/team/[slug]/[type].tsx
@@ -2,10 +2,10 @@ import type { GetServerSidePropsContext } from "next";
import type { LocationObject } from "@calcom/core/location";
import { privacyFilteredLocations } from "@calcom/core/location";
+import type { GetBookingType } from "@calcom/features/bookings/lib/get-booking";
+import getBooking from "@calcom/features/bookings/lib/get-booking";
import { parseRecurringEvent } from "@calcom/lib";
import { getWorkingHours } from "@calcom/lib/availability";
-import getBooking from "@calcom/lib/getBooking";
-import type { GetBookingType } from "@calcom/lib/getBooking";
import { markdownToSafeHTML } from "@calcom/lib/markdownToSafeHTML";
import prisma from "@calcom/prisma";
import { EventTypeMetaDataSchema } from "@calcom/prisma/zod-utils";
diff --git a/apps/web/pages/team/[slug]/book.tsx b/apps/web/pages/team/[slug]/book.tsx
index 35d73d6553..6f85ead949 100644
--- a/apps/web/pages/team/[slug]/book.tsx
+++ b/apps/web/pages/team/[slug]/book.tsx
@@ -3,10 +3,10 @@ import { z } from "zod";
import type { LocationObject } from "@calcom/app-store/locations";
import { privacyFilteredLocations } from "@calcom/app-store/locations";
+import getBooking from "@calcom/features/bookings/lib/get-booking";
+import type { GetBookingType } from "@calcom/features/bookings/lib/get-booking";
import { getBookingFieldsWithSystemFields } from "@calcom/features/bookings/lib/getBookingFields";
import { parseRecurringEvent } from "@calcom/lib";
-import type { GetBookingType } from "@calcom/lib/getBooking";
-import getBooking from "@calcom/lib/getBooking";
import { markdownToSafeHTML } from "@calcom/lib/markdownToSafeHTML";
import prisma from "@calcom/prisma";
import { customInputSchema, eventTypeBookingFields, EventTypeMetaDataSchema } from "@calcom/prisma/zod-utils";
diff --git a/apps/web/pages/video/[uid].tsx b/apps/web/pages/video/[uid].tsx
index 1e09536fe5..c148a4bb05 100644
--- a/apps/web/pages/video/[uid].tsx
+++ b/apps/web/pages/video/[uid].tsx
@@ -263,7 +263,7 @@ export function VideoMeetingInfo(props: VideoMeetingInfo) {
);
}
-VideoMeetingInfo.PageWrapper = PageWrapper;
+JoinCall.PageWrapper = PageWrapper;
export async function getServerSideProps(context: GetServerSidePropsContext) {
const { req, res } = context;
diff --git a/apps/web/playwright/booking-pages.e2e.ts b/apps/web/playwright/booking-pages.e2e.ts
index 7a956a3871..985125be5a 100644
--- a/apps/web/playwright/booking-pages.e2e.ts
+++ b/apps/web/playwright/booking-pages.e2e.ts
@@ -1,6 +1,7 @@
import { expect } from "@playwright/test";
import { test } from "./lib/fixtures";
+import { testBothBookers } from "./lib/new-booker";
import {
bookFirstEvent,
bookOptinEvent,
@@ -12,7 +13,7 @@ import {
test.describe.configure({ mode: "parallel" });
test.afterEach(async ({ users }) => users.deleteAll());
-test.describe("free user", () => {
+testBothBookers.describe("free user", (bookerVariant) => {
test.beforeEach(async ({ page, users }) => {
const free = await users.create();
await page.goto(`/${free.username}`);
@@ -24,12 +25,18 @@ test.describe("free user", () => {
await selectFirstAvailableTimeSlotNextMonth(page);
- // Navigate to book page
- await page.waitForNavigation({
- url(url) {
- return url.pathname.endsWith("/book");
- },
- });
+ // Kept in if statement here, since it's only temporary
+ // until the old booker isn't used anymore, and I wanted
+ // to change the test as little as possible.
+ // eslint-disable-next-line playwright/no-conditional-in-test
+ if (bookerVariant !== "new-booker") {
+ // Navigate to book page
+ await page.waitForNavigation({
+ url(url) {
+ return url.pathname.endsWith("/book");
+ },
+ });
+ }
// save booking url
const bookingUrl: string = page.url();
@@ -51,7 +58,7 @@ test.describe("free user", () => {
});
});
-test.describe("pro user", () => {
+testBothBookers.describe("pro user", () => {
test.beforeEach(async ({ page, users }) => {
const pro = await users.create();
await page.goto(`/${pro.username}`);
diff --git a/apps/web/playwright/booking-seats.e2e.ts b/apps/web/playwright/booking-seats.e2e.ts
index 35619f9409..2a872151d6 100644
--- a/apps/web/playwright/booking-seats.e2e.ts
+++ b/apps/web/playwright/booking-seats.e2e.ts
@@ -7,6 +7,7 @@ import prisma from "@calcom/prisma";
import type { Fixtures } from "./lib/fixtures";
import { test } from "./lib/fixtures";
+import { testBothBookers } from "./lib/new-booker";
import {
bookTimeSlot,
createNewSeatedEventType,
@@ -46,7 +47,7 @@ async function createUserWithSeatedEventAndAttendees(
return { user, eventType, booking };
}
-test.describe("Booking with Seats", () => {
+testBothBookers.describe("Booking with Seats", (bookerVariant) => {
test("User can create a seated event (2 seats as example)", async ({ users, page }) => {
const user = await users.create({ name: "Seated event" });
await user.login();
@@ -64,11 +65,19 @@ test.describe("Booking with Seats", () => {
});
await page.goto(`/${user.username}/${slug}`);
await selectFirstAvailableTimeSlotNextMonth(page);
- await page.waitForNavigation({
- url(url) {
- return url.pathname.endsWith("/book");
- },
- });
+
+ // Kept in if statement here, since it's only temporary
+ // until the old booker isn't used anymore, and I wanted
+ // to change the test as little as possible.
+ // eslint-disable-next-line playwright/no-conditional-in-test
+ if (bookerVariant === "old-booker") {
+ await page.waitForNavigation({
+ url(url) {
+ return url.pathname.endsWith("/book");
+ },
+ });
+ }
+
const bookingUrl = page.url();
await test.step("Attendee #1 can book a seated event time slot", async () => {
await page.goto(bookingUrl);
@@ -93,7 +102,7 @@ test.describe("Booking with Seats", () => {
// TODO: Make E2E test: All attendees canceling should delete the booking for the User
// todo("All attendees canceling should delete the booking for the User");
- test.describe("Reschedule for booking with seats", () => {
+ testBothBookers.describe("Reschedule for booking with seats", () => {
test("Should reschedule booking with seats", async ({ page, users, bookings }) => {
const { booking } = await createUserWithSeatedEventAndAttendees({ users, bookings }, [
{ name: "John First", email: "first+seats@cal.com", timeZone: "Europe/Berlin" },
diff --git a/apps/web/playwright/event-types.e2e.ts b/apps/web/playwright/event-types.e2e.ts
index bdfe43ae69..d3a12f1622 100644
--- a/apps/web/playwright/event-types.e2e.ts
+++ b/apps/web/playwright/event-types.e2e.ts
@@ -4,12 +4,13 @@ import { WEBAPP_URL } from "@calcom/lib/constants";
import { randomString } from "@calcom/lib/random";
import { test } from "./lib/fixtures";
+import { testBothBookers } from "./lib/new-booker";
import { bookTimeSlot, createNewEventType, selectFirstAvailableTimeSlotNextMonth } from "./lib/testUtils";
test.describe.configure({ mode: "parallel" });
test.describe("Event Types tests", () => {
- test.describe("user", () => {
+ testBothBookers.describe("user", (bookerVariant) => {
test.beforeEach(async ({ page, users }) => {
const user = await users.create();
await user.login();
@@ -147,11 +148,17 @@ test.describe("Event Types tests", () => {
await selectFirstAvailableTimeSlotNextMonth(page);
// Navigate to book page
- await page.waitForNavigation({
- url(url) {
- return url.pathname.endsWith("/book");
- },
- });
+ // Kept in if statement here, since it's only temporary
+ // until the old booker isn't used anymore, and I wanted
+ // to change the test as little as possible.
+ // eslint-disable-next-line playwright/no-conditional-in-test
+ if (bookerVariant === "old-booker") {
+ await page.waitForNavigation({
+ url(url) {
+ return url.pathname.endsWith("/book");
+ },
+ });
+ }
for (const location of locationData) {
await page.locator(`span:has-text("${location}")`).click();
diff --git a/apps/web/playwright/lib/fixtures.ts b/apps/web/playwright/lib/fixtures.ts
index 2868cc1c0d..7b86f34f75 100644
--- a/apps/web/playwright/lib/fixtures.ts
+++ b/apps/web/playwright/lib/fixtures.ts
@@ -1,3 +1,4 @@
+import type { Page } from "@playwright/test";
import { test as base } from "@playwright/test";
import prisma from "@calcom/prisma";
@@ -10,6 +11,7 @@ import { createServersFixture } from "../fixtures/servers";
import { createUsersFixture } from "../fixtures/users";
export interface Fixtures {
+ page: Page;
users: ReturnType;
bookings: ReturnType;
payments: ReturnType;
diff --git a/apps/web/playwright/lib/new-booker.ts b/apps/web/playwright/lib/new-booker.ts
new file mode 100644
index 0000000000..7d9fea6057
--- /dev/null
+++ b/apps/web/playwright/lib/new-booker.ts
@@ -0,0 +1,31 @@
+import { test } from "./fixtures";
+
+export type BookerVariants = "new-booker" | "old-booker";
+
+const bookerVariants = ["new-booker", "old-booker"];
+
+/**
+ * Small wrapper around test.describe().
+ * When using testbothBookers.describe() instead of test.describe(), this will run the specified
+ * tests twice. One with the old booker, and one with the new booker. It will also add the booker variant
+ * name to the test name for easier debugging.
+ * Finally it also adds a parameter bookerVariant to your testBothBooker.describe() callback, which
+ * can be used to do any conditional rendering in the test for a specific booker variant (should be as little
+ * as possible).
+ *
+ * See apps/web/playwright/booking-pages.e2e.ts for an example.
+ */
+export const testBothBookers = {
+ describe: (testName: string, testFn: (bookerVariant: BookerVariants) => void) => {
+ bookerVariants.forEach((bookerVariant) => {
+ test.describe(`${testName} -- ${bookerVariant}`, () => {
+ if (bookerVariant === "new-booker") {
+ test.beforeEach(({ context }) => {
+ context.addCookies([{ name: "new-booker-enabled", value: "true", url: "http://localhost:3000" }]);
+ });
+ }
+ testFn(bookerVariant as BookerVariants);
+ });
+ });
+ },
+};
diff --git a/apps/web/playwright/manage-booking-questions.e2e.ts b/apps/web/playwright/manage-booking-questions.e2e.ts
index bb19dd2d6b..7aa5706999 100644
--- a/apps/web/playwright/manage-booking-questions.e2e.ts
+++ b/apps/web/playwright/manage-booking-questions.e2e.ts
@@ -7,6 +7,8 @@ import { uuid } from "short-uuid";
import prisma from "@calcom/prisma";
import { test } from "./lib/fixtures";
+import { testBothBookers } from "./lib/new-booker";
+import type { BookerVariants } from "./lib/new-booker";
import { createHttpServer, waitFor, selectFirstAvailableTimeSlotNextMonth } from "./lib/testUtils";
async function getLabelText(field: Locator) {
@@ -18,7 +20,7 @@ test.describe("Manage Booking Questions", () => {
await users.deleteAll();
});
- test.describe("For User EventType", () => {
+ testBothBookers.describe("For User EventType", (bookerVariant) => {
test("Do a booking with a user added question and verify a few thing in b/w", async ({
page,
users,
@@ -37,11 +39,11 @@ test.describe("Manage Booking Questions", () => {
await firstEventTypeElement.click();
});
- await runTestStepsCommonForTeamAndUserEventType(page, context, webhookReceiver);
+ await runTestStepsCommonForTeamAndUserEventType(page, context, webhookReceiver, bookerVariant);
});
});
- test.describe("For Team EventType", () => {
+ testBothBookers.describe("For Team EventType", (bookerVariant) => {
test("Do a booking with a user added question and verify a few thing in b/w", async ({
page,
users,
@@ -60,7 +62,7 @@ test.describe("Manage Booking Questions", () => {
await firstEventTypeElement.click();
});
- await runTestStepsCommonForTeamAndUserEventType(page, context, webhookReceiver);
+ await runTestStepsCommonForTeamAndUserEventType(page, context, webhookReceiver, bookerVariant);
});
});
});
@@ -73,7 +75,8 @@ async function runTestStepsCommonForTeamAndUserEventType(
close: () => import("http").Server;
requestList: (import("http").IncomingMessage & { body?: unknown })[];
url: string;
- }
+ },
+ bookerVariant: BookerVariants
) {
await page.click('[href$="tabName=advanced"]');
@@ -89,7 +92,7 @@ async function runTestStepsCommonForTeamAndUserEventType(
},
});
- await doOnFreshPreview(page, context, async (page) => {
+ await doOnFreshPreview(page, context, bookerVariant, async (page) => {
const allFieldsLocator = await expectSystemFieldsToBeThere(page);
const userFieldLocator = allFieldsLocator.nth(5);
@@ -105,7 +108,7 @@ async function runTestStepsCommonForTeamAndUserEventType(
name: "how_are_you",
page,
});
- await doOnFreshPreview(page, context, async (page) => {
+ await doOnFreshPreview(page, context, bookerVariant, async (page) => {
const formBuilderFieldLocator = page.locator('[data-fob-field-name="how_are_you"]');
await expect(formBuilderFieldLocator).toBeHidden();
});
@@ -119,7 +122,7 @@ async function runTestStepsCommonForTeamAndUserEventType(
});
await test.step('Try to book without providing "How are you?" response', async () => {
- await doOnFreshPreview(page, context, async (page) => {
+ await doOnFreshPreview(page, context, bookerVariant, async (page) => {
await bookTimeSlot({ page, name: "Booker", email: "booker@example.com" });
await expectErrorToBeThereFor({ page, name: "how_are_you" });
});
@@ -138,6 +141,7 @@ async function runTestStepsCommonForTeamAndUserEventType(
return await doOnFreshPreview(
page,
context,
+ bookerVariant,
async (page) => {
const formBuilderFieldLocator = page.locator('[data-fob-field-name="how_are_you"]');
await expect(formBuilderFieldLocator).toBeVisible();
@@ -196,8 +200,7 @@ async function runTestStepsCommonForTeamAndUserEventType(
await test.step("Do a reschedule and notice that we can't book without giving a value for rescheduleReason", async () => {
const page = previewTabPage;
- await rescheduleFromTheLinkOnPage({ page });
- await page.pause();
+ await rescheduleFromTheLinkOnPage({ page, bookerVariant });
await expectErrorToBeThereFor({ page, name: "rescheduleReason" });
});
}
@@ -304,10 +307,11 @@ async function expectErrorToBeThereFor({ page, name }: { page: Page; name: strin
async function doOnFreshPreview(
page: Page,
context: PlaywrightTestArgs["context"],
+ bookerVariant: BookerVariants,
callback: (page: Page) => Promise,
persistTab = false
) {
- const previewTabPage = await openBookingFormInPreviewTab(context, page);
+ const previewTabPage = await openBookingFormInPreviewTab(context, page, bookerVariant);
await callback(previewTabPage);
if (!persistTab) {
await previewTabPage.close();
@@ -347,25 +351,39 @@ async function createAndLoginUserWithEventTypes({ users }: { users: ReturnType url.pathname.endsWith("/book"),
- });
+ if (bookerVariant === "old-booker") {
+ await page.waitForNavigation({
+ url: (url) => url.pathname.endsWith("/book"),
+ });
+ }
await page.click('[data-testid="confirm-reschedule-button"]');
}
-async function openBookingFormInPreviewTab(context: PlaywrightTestArgs["context"], page: Page) {
+async function openBookingFormInPreviewTab(
+ context: PlaywrightTestArgs["context"],
+ page: Page,
+ bookerVariant: BookerVariants
+) {
const previewTabPromise = context.waitForEvent("page");
await page.locator('[data-testid="preview-button"]').click();
const previewTabPage = await previewTabPromise;
await previewTabPage.waitForLoadState();
await selectFirstAvailableTimeSlotNextMonth(previewTabPage);
- await previewTabPage.waitForNavigation({
- url: (url) => url.pathname.endsWith("/book"),
- });
+ if (bookerVariant === "old-booker") {
+ await previewTabPage.waitForNavigation({
+ url: (url) => url.pathname.endsWith("/book"),
+ });
+ }
return previewTabPage;
}
diff --git a/apps/web/playwright/reschedule.e2e.ts b/apps/web/playwright/reschedule.e2e.ts
index 70a648345f..6bab7bd4b6 100644
--- a/apps/web/playwright/reschedule.e2e.ts
+++ b/apps/web/playwright/reschedule.e2e.ts
@@ -4,6 +4,7 @@ import { BookingStatus } from "@prisma/client";
import prisma from "@calcom/prisma";
import { test } from "./lib/fixtures";
+import { testBothBookers } from "./lib/new-booker";
import { selectFirstAvailableTimeSlotNextMonth } from "./lib/testUtils";
const IS_STRIPE_ENABLED = !!(
@@ -16,7 +17,7 @@ test.describe.configure({ mode: "parallel" });
test.afterEach(({ users }) => users.deleteAll());
-test.describe("Reschedule Tests", async () => {
+testBothBookers.describe("Reschedule Tests", async () => {
test("Should do a booking request reschedule from /bookings", async ({ page, users, bookings }) => {
const user = await users.create();
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
diff --git a/apps/web/public/static/locales/ar/common.json b/apps/web/public/static/locales/ar/common.json
index ff82e8d4f8..cb9fe945bd 100644
--- a/apps/web/public/static/locales/ar/common.json
+++ b/apps/web/public/static/locales/ar/common.json
@@ -1,4 +1,5 @@
{
+ "identity_provider": "موفر الهوية",
"trial_days_left": "يتبقى لديك $t(day, {\"count\": {{days}} }) في الفترة التجريبية من PRO",
"day_one": "{{count}} يوم",
"day_other": "{{count}} يوم",
@@ -69,6 +70,8 @@
"event_awaiting_approval_subject": "في انتظار الموافقة: {{title}} في {{date}}",
"event_still_awaiting_approval": "الحدث لا يزال في انتظار موافقتك",
"booking_submitted_subject": "تم إرسال الحجز: {{title}} في {{date}}",
+ "download_recording_subject": "تنزيل التسجيل: {{title}} في {{date}}",
+ "download_your_recording": "تنزيل تسجيلك",
"your_meeting_has_been_booked": "لقد تم حجز الاجتماع الخاص بك",
"event_type_has_been_rescheduled_on_time_date": "تم إعادة جدولة {{title}} إلى {{date}}.",
"event_has_been_rescheduled": "تم التحديث - تم إعادة جدولة الحدث الخاص بك",
@@ -111,7 +114,7 @@
"hidden_team_owner_message": "تحتاج إلى حساب Pro لاستخدام خدمة الفرق، وأنت حاليًا في الوضع الخفي حتى تقوم بالترقية.",
"link_expires": "ملاحظة: تنتهي الصلاحية في غضون {{expiresIn}} من الساعات.",
"upgrade_to_per_seat": "الترقية إلى \"كل مقعد بشكل منفرد\"",
- "seat_options_doesnt_support_confirmation": "لا يدعم خيار المقاعد متطلبات التأكيد",
+ "seat_options_doesnt_support_confirmation": "الحجز الذي يتطلب التأكيد لا يدعم خيار حجز المقاعد",
"team_upgrade_seats_details": "من بين {{memberCount}} من الأعضاء في فريقك، لم يتم الدفع مقابل {{unpaidCount}} من المقاعد. بما أن سعر المقعد ${{seatPrice}} شهريًا، تبلغ التكلفة الإجمالية المقدرة لعضويتك ${{totalCost}} شهريًا.",
"team_upgrade_banner_description": "شكراً لك على تجربة خطة الفريق الجديدة التي نقدمها. لقد لاحظنا أن فريقك \"{{teamName}}\" بحاجة إلى الترقية.",
"team_upgrade_banner_action": "قم بالترقية هنا",
@@ -224,6 +227,7 @@
"done": "تم",
"all_done": "اكتمل كل شيء!",
"all_apps": "الكل",
+ "available_apps": "التطبيقات المتوفرة",
"check_email_reset_password": "تحقق من البريد الإلكتروني. لقد أرسلنا رابطًا لإعادة تعيين كلمة المرور.",
"finish": "إنهاء",
"few_sentences_about_yourself": "اكتب بضع جمل عن نفسك. سيظهر هذا على صفحة عنوان URL الشخصية لديك.",
@@ -404,6 +408,7 @@
"add_time_availability": "إضافة فتحة زمنية جديدة",
"add_an_extra_layer_of_security": "أضف إلى حسابك طبقة أمان إضافية للاحتياط من سرقة كلمة المرور الخاصة بك.",
"2fa": "المصادقة من عاملين",
+ "2fa_disabled": "يمكن تمكين المصادقة الثنائية فقط لمصادقة البريد الإلكتروني وكلمة المرور",
"enable_2fa": "تمكين المصادقة من عاملين",
"disable_2fa": "تعطيل المصادقة من عاملين",
"disable_2fa_recommendation": "إذا كنت بحاجة إلى تعطيل المصادقة من عاملين، فنوصيك بإعادة تمكينها في أقرب وقت ممكن.",
@@ -433,7 +438,7 @@
"password_hint_min": "7 أحرف كحد أدنى",
"password_hint_admin_min": "15 محرفًا كحد أدنى",
"password_hint_num": "يحتوي على رقم واحد على الأقل",
- "max_limit_allowed_hint": "يجب أن يكون بعدد محارف هو {{limit}} أو أقل",
+ "max_limit_allowed_hint": "يجب أن يكون عدد الأحرف {{limit}} أو أقل",
"invalid_password_hint": "يجب أن تتألف كلمة المرور على الأقل من {{passwordLength}} أحرف، ورقم واحد على الأقل، ومزيج من الحروف الكبيرة والصغيرة",
"incorrect_password": "كلمة المرور غير صحيحة.",
"incorrect_username_password": "اسم المستخدم أو كلمة المرور غير صحيحة.",
@@ -460,7 +465,6 @@
"friday": "الجمعة",
"saturday": "السبت",
"sunday": "الأحد",
- "all_booked_today": "تم حجز الكل اليوم.",
"slots_load_fail": "تعذر تحميل الفترات الزمنية المتاحة.",
"additional_guests": "إضافة ضيوف",
"your_name": "اسمك",
@@ -585,6 +589,20 @@
"minutes": "الدقائق",
"round_robin": "الترتيب الدوري",
"round_robin_description": "نقل الاجتماعات بشكل دوري بين أعضاء الفريق المتعددين.",
+ "managed_event": "الحدث المدار",
+ "username_placeholder": "اسم المستخدم",
+ "managed_event_description": "إنشاء وتوزيع أنواع الأحداث بكميات كبيرة على أعضاء الفريق",
+ "managed": "مدارة",
+ "managed_event_url_clarification": "سيتم ملء \"اسم المستخدم\" باسم المستخدم للأعضاء المعينين",
+ "assign_to": "تعيين إلى",
+ "add_members": "إضافة أعضاء...",
+ "count_members_one": "{{count}} عضو",
+ "count_members_other": "{{count}} أعضاء",
+ "no_assigned_members": "لا يوجد أعضاء معينين",
+ "assigned_to": "تم تعيينه إلى",
+ "start_assigning_members_above": "بدء تعيين الأعضاء أعلاه",
+ "locked_fields_admin_description": "لن يتمكن الأعضاء من تعديل هذا",
+ "locked_fields_member_description": "قام مشرف الفريق بقفل هذا الخيار",
"url": "URL",
"hidden": "مخفي",
"readonly": "للقراءة فقط",
@@ -736,6 +754,11 @@
"minimum_booking_notice": "الحد الأدنى من الوقت للحجز",
"slot_interval": "الفترات الزمنية بين عمليات الحجز",
"slot_interval_default": "استخدام طول الحدث (الوضع الافتراضي)",
+ "delete_event_type": "حذف نوع الحدث؟",
+ "delete_managed_event_type": "حذف نوع الحدث المُدار؟",
+ "delete_event_type_description": "لن يكون بإمكان أي شخص قمت بمشاركة الرابط معه الوصول إلى الرابط.",
+ "delete_managed_event_type_description": "
سيتم أيضًا حذف أنواع الأحداث الخاصة بالأعضاء المعينين في هذا النوع من الأحداث.
لن يتمكن أي شخص شاركوا رابطهم معه من الحجز باستخدامه.
",
+ "confirm_delete_event_type": "نعم، قم بالحذف",
"delete_account": "حذف الحساب",
"confirm_delete_account": "نعم، احذف الحساب",
"delete_account_confirmation_message": "هل تريد بالتأكيد حذف حسابك على {{appName}}؟ أي شخص شاركت رابط حسابك معه لن يستطيع بعد الآن الحجز باستخدامه، وستفقد أي تفضيلات حفظتها.",
@@ -860,7 +883,7 @@
"add_new_calendar": "إضافة تقويم جديد",
"set_calendar": "حدد أين سيتم إضافة الأحداث الجديدة عند الحجز.",
"delete_schedule": "حذف الجدول",
- "delete_schedule_description": "سيؤدي حذف الجدول الزمني إلى إزالته من جميع أنواع الفعاليات، ولا يمكن التراجع عن هذا الإجراء.",
+ "delete_schedule_description": "سيؤدي حذف الجدول الزمني إلى إزالته من جميع أنواع الأحداث، ولا يمكن التراجع عن هذا الإجراء.",
"schedule_created_successfully": "تم إنشاء جدول {{scheduleName}} بنجاح",
"availability_updated_successfully": "تم تحديث جدول {{scheduleName}} بنجاح",
"schedule_deleted_successfully": "تم حذف الجدول بنجاح",
@@ -1126,11 +1149,13 @@
"current_username": "اسم المستخدم الحالي",
"example_1": "مثال 1",
"example_2": "مثال 2",
+ "booking_question_identifier": "معرّف سؤال الحجز",
"company_size": "حجم الشركة",
"what_help_needed": "ما الذي تحتاج إلى مساعدة بشأنه؟",
"variable_format": "تنسيق المتغير",
"webhook_subscriber_url_reserved": "رابط مشترك Webhook معرّف بالفعل",
"custom_input_as_variable_info": "تجاهل جميع الأحرف الخاصة من تسمية الإدخال الإضافي (استخدم الأحرف والأرقام فقط)، واستخدم الحروف الكبيرة لجميع الأحرف واستبدل المساحات البيضاء بالشرط.",
+ "using_booking_questions_as_variables": "كيف يمكنني استخدام أسئلة الحجز كمتغيرات؟",
"download_desktop_app": "تحميل تطبيق سطح المكتب",
"set_ping_link": "تعيين رابط Ping",
"rate_limit_exceeded": "تم تجاوز حد السعر",
@@ -1154,7 +1179,7 @@
"event_setup_multiple_duration_error": "إعداد الحدث: تستلزم فترات متعددة خيارًا واحدًا على الأقل.",
"event_setup_multiple_duration_default_error": "إعداد الحدث: الرجاء تحديد مدة افتراضية صالحة.",
"event_setup_booking_limits_error": "يجب أن تكون حدود الحجز بترتيب تصاعدي. [يوم،أسبوع،شهر،سنة]",
- "event_setup_duration_limits_error": "يجب أن تكون حدود الحجز بترتيب تصاعدي. [يوم، أسبوع، شهر، سنة]",
+ "event_setup_duration_limits_error": "يجب أن تكون حدود المدة بترتيب تصاعدي. [يوم، أسبوع، شهر، سنة]",
"select_which_cal": "اختر أي رزنامة تريد إضافة الحجز إليها",
"custom_event_name": "اسم حدث مخصص",
"custom_event_name_description": "إنشاء أسماء أحداث مخصصة لعرضها في حدث الرزنامة",
@@ -1176,6 +1201,7 @@
"start_of_week": "بداية الأسبوع",
"recordings_title": "التسجيلات",
"recording": "التسجيل",
+ "happy_scheduling": "جدولة سعيدة",
"select_calendars": "حدد الرزنامات التي تريد التحقق منها بحثًا عن تضاربات لمنع الحجوزات المزدوجة.",
"check_for_conflicts": "التحقق من وجود تضاربات",
"view_recordings": "عرض التسجيلات",
@@ -1213,6 +1239,7 @@
"impersonation": "انتحال الشخصية",
"impersonation_description": "إعدادات إدارة انتحال شخصية مستخدم",
"users": "المستخدمون",
+ "user": "المستخدم",
"profile_description": "إدارة الإعدادات لملفك الشخصي على {{appName}}",
"users_description": "هنا يمكنك العثور على قائمة بجميع المستخدمين",
"users_listing": "قائمة المستخدمين",
@@ -1253,6 +1280,8 @@
"download_responses": "تنزيل الردود",
"download_responses_description": "تنزيل جميع الردود إلى النموذج بتنسيق CSV.",
"download": "التنزيل",
+ "download_recording": "تنزيل التسجيل",
+ "recording_from_your_recent_call": "تسجيل من مكالمتك الأخيرة على Cal.com جاهز للتنزيل",
"create_your_first_form": "إنشاء أول استمارة",
"create_your_first_form_description": "باستخدام نماذج المسارات، يمكنك طرح أسئلة التأهيل والتوجيه إلى الشخص/نوع الحدث المناسب.",
"create_your_first_webhook": "إنشاء أول Webhook",
@@ -1289,6 +1318,15 @@
"exchange_authentication_standard": "المصادقة الأساسية",
"exchange_authentication_ntlm": "مصادقة NTLM",
"exchange_compression": "ضغط Gzip",
+ "exchange_version": "نسخة التبادل",
+ "exchange_version_2007_SP1": "2007 SP1",
+ "exchange_version_2010": "2010",
+ "exchange_version_2010_SP1": "2010 SP1",
+ "exchange_version_2010_SP2": "2010 SP2",
+ "exchange_version_2013": "2013",
+ "exchange_version_2013_SP1": "2013 SP1",
+ "exchange_version_2015": "2015",
+ "exchange_version_2016": "2016",
"routing_forms_description": "يمكنك رؤية جميع النماذج والتوجيهات التي أنشأتها هنا.",
"routing_forms_send_email_owner": "إرسال رسالة إلكترونية إلى المالك",
"routing_forms_send_email_owner_description": "يرسل رسالة بريد إلكتروني إلى المالك عند إرسال النموذج",
@@ -1339,10 +1377,11 @@
"limit_booking_frequency": "الحد من تواتر الحجز",
"limit_booking_frequency_description": "الحد من عدد مرات حجز هذا الحدث",
"limit_total_booking_duration": "الحد من مدة الحجز الإجمالية",
- "limit_total_booking_duration_description": "الحد من الوقت المخصص الذي يمكن حجزه لهذه الفعالية",
+ "limit_total_booking_duration_description": "الحد من إجمالي الوقت المخصص الذي يمكن حجزه لهذا الحدث",
"add_limit": "إضافة حد",
"team_name_required": "اسم الفريق مطلوب",
"show_attendees": "مشاركة معلومات الحضور مع الضيوف",
+ "how_booking_questions_as_variables": "كيف يمكن استخدام أسئلة الحجز كمتغيرات؟",
"format": "التنسيق",
"uppercase_for_letters": "استخدم الحروف الكبيرة لجميع الأحرف",
"replace_whitespaces_underscores": "استبدل المساحات البيضاء بالشرطات السفلية",
@@ -1357,6 +1396,7 @@
"billing_help_title": "هل تحتاج إلى أي شيء آخر؟",
"billing_help_description": "إذا كنت تحتاج إلى أي مساعدة إضافية بخصوص الفوترة، فإن فريق الدعم لدينا في انتظارك لتقديم المساعدة.",
"billing_help_cta": "الاتصال بالدعم",
+ "ignore_special_characters_booking_questions": "تجاهل المحارف الخاصة في معرّف سؤال الحجز لديك. استخدم فقط الأحرف والأرقام",
"retry": "إعادة المحاولة",
"fetching_calendars_error": "حدثت مشكلة أثناء جلب التقويمات الخاصة بك. يرجى <1>إعادة المحاولة1> أو الاتصال بدعم العملاء.",
"calendar_connection_fail": "فشل الاتصال بالتقويم",
@@ -1439,11 +1479,17 @@
"fixed_round_robin": "جدولة دوارة",
"add_one_fixed_attendee": "أضف حاضرًا ثابتًا وجدولة دوارة عبر عدد من الحاضرين.",
"calcom_is_better_with_team": "يعمل Cal.com أفضل مع الفرق",
+ "the_calcom_team": "فريق Cal.com",
"add_your_team_members": "أضف أعضاء فريقك إلى أنواع الأحداث الخاصة بك. استخدم الجدولة الجماعية لإدراج الجميع أو العثور على أنسب شخص باستخدام الجدولة الدوارة.",
"booking_limit_reached": "تم الوصول إلى الحد الأقصى للحجز لهذا النوع من الأحداث",
- "duration_limit_reached": "تم الوصول إلى الحد الأقصى للحجز لهذا النوع من الفعاليات",
+ "duration_limit_reached": "تم الوصول إلى الحد الأقصى لمدة الحجز لهذا النوع من الأحداث",
"admin_has_disabled": "قام مشرفًا بتعطيل {{appName}}",
"disabled_app_affects_event_type": "قام مشرفًا بتعطيل {{appName}} مما يؤثر على نوع الحدث {{eventType}} لديك",
+ "event_replaced_notice": "استبدل المشرف أحد أنواع الأحداث لديك",
+ "email_subject_slug_replacement": "استبدل مسؤول فريق الحدث لديك /{{slug}}",
+ "email_body_slug_replacement_notice": "استبدل مسؤول في فريق {{teamName}} نوع الحدث لديك/{{slug}} بنوع الحدث المُدار الذي يتحكم فيه.",
+ "email_body_slug_replacement_info": "سيستمر رابطك في العمل، ولكن بعض إعداداته قد تغيرت. يمكنك مراجعتها في أنواع الأحداث.",
+ "email_body_slug_replacement_suggestion": "يرجى الاتصال بالمسؤول إذا كان لديك أي أسئلة حول نوع الحدث.
جدولة سعيدة، فريق Cal.com",
"disable_payment_app": "قام المشرف بتعطيل {{appName}} الذي يؤثر على نوع الحدث {{title}} لديك. لا يزال بإمكان الحاضرين حجز هذا النوع من الأحداث، ولكن لن يُطالبوا بالدفع. يمكنك إخفاء نوع الحدث لمنع حدوث هذا إلى أن يقوم المشرف بتغيير طريقة الدفع لك.",
"payment_disabled_still_able_to_book": "لا يزال بإمكان الحاضرين حجز هذا النوع من الأحداث، ولكن لن يُطالبوا بالدفع. يمكنك إخفاء نوع الحدث لمنع حدوث هذا إلى أن يقوم المشرف بتغيير طريقة الدفع لك.",
"app_disabled_with_event_type": "عطّل المشرف {{appName}} مما يؤثر على نوع الحدث {{title}} لديك.",
@@ -1492,6 +1538,7 @@
"date_overrides_update_btn": "تحديث التجاوز",
"event_type_duplicate_copy_text": "{{slug}}-نسخ",
"set_as_default": "تعيين كافتراضي",
+ "hide_eventtype_details": "إخفاء تفاصيل نوع الحدث",
"show_navigation": "إظهار التنقل",
"hide_navigation": "إخفاء التنقل",
"verification_code_sent": "تم إرسال رمز التحقق",
@@ -1505,6 +1552,7 @@
"create_your_first_team_webhook_description": "قم بإنشاء أول شبكة ويب هوك لهذا النوع من فعاليات الفريق",
"create_webhook_team_event_type": "قم بإنشاء ويب هوك لهذا النوع من فعاليات الفريق",
"disable_success_page": "تعطيل صفحة النجاح (يعمل فقط إذا كان لديك رابط إعادة توجيه)",
+ "invalid_admin_password": "تم تعيينك كمشرف ولكن ليس لديك كلمة مرور بطول 15 مِحرَفاً على الأقل",
"change_password_admin": "قم بتغيير كلمة المرور للحصول على وصول المشرف",
"username_already_taken": "اسم المستخدم هذا مستخدم مسبقًا",
"assignment": "تعيين",
@@ -1537,6 +1585,7 @@
"ee_enterprise_license": "رخصة المؤسسة \"/ee\"",
"enterprise_booking_fee": "بدءًا من {{enterprise_booking_fee}}/ الشهر",
"enterprise_license_includes": "كل شيء لأغراض الاستخدام التجاري",
+ "no_need_to_keep_your_code_open_source": "لا حاجة للحفاظ على تعليماتك البرمجية مفتوحة المصدر",
"repackage_rebrand_resell": "يمكنك إعادة التعبئة وإعادة الترويج وإعادة البيع بسهولة",
"a_vast_suite_of_enterprise_features": "مجموعة كبيرة من ميزات المؤسسة",
"free_license_fee": "0.00 دولار أمريكي/شهر",
@@ -1582,27 +1631,28 @@
"available_variables": "المتغيرات المتوفرة",
"scheduler": "{Scheduler}",
"no_workflows": "لا يوجد أي سير عمل",
- "change_filter": "قم بتغيير عامل الفرز لمشاهدة سير عملك وفريقك.",
+ "change_filter": "قم بتغيير عامل التصفية لمشاهدة سير العمل الشخصي وفريقك.",
"recommended_next_steps": "الخطوات التالية الموصى بها",
"create_a_managed_event": "إنشاء نوع من الأحداث المُدارة",
"meetings_are_better_with_the_right": "الاجتماعات أفضل مع وجود أعضاء الفريق المناسبين. قم بدعوتهم الآن.",
- "create_a_one_one_template": "إنشاء قالب فردي واحد لنوع الفعالية وتوزيعه على عدة أعضاء.",
+ "create_a_one_one_template": "إنشاء قالب فردي واحد لنوع الحدث وتوزيعه على عدة أعضاء.",
"collective_or_roundrobin": "جماعية أو دوارة",
"book_your_team_members": "احجز أعضاء فريقك والأحداث الجماعية أو تمكن من الوصول إلى الشخص المناسب باستخدام الجدولة الدوارة.",
"event_no_longer_attending_subject": "لن يتم حضور {{title}} في {{date}}",
- "no_longer_attending": "لن تحضر هذا الحدث بعد الآن",
+ "no_longer_attending": "لن تحضر هذا الحدث",
"attendee_no_longer_attending_subject": "أحد الحضور لن يحضر {{title}} في {{date}}",
- "attendee_no_longer_attending": "أحد الحضور لن يحضر فعاليتك بعد الآن",
- "attendee_no_longer_attending_subtitle": "تم إلغاء الفعالية {{name}}، وهو ما يعني توافر معقد شاغر في هذا التوقيت",
- "create_event_on": "إنشاء أحداث في",
+ "attendee_no_longer_attending": "أحد الحضور لن يحضر الحدث الخاص بك",
+ "attendee_no_longer_attending_subtitle": "تم إلغاء الحدث {{name}}، وهو ما يعني توافر معقد شاغر في هذا التوقيت",
+ "create_event_on": "إنشاء حدث في",
"default_app_link_title": "تعيين رابط تطبيق افتراضي",
"default_app_link_description": "يسمح تعيين رابط التطبيق الافتراضي لجميع أنواع الأحداث التي تم إنشاؤها حديثًا باستخدام رابط التطبيق الذي عينته.",
"change_default_conferencing_app": "تعيين كافتراضي",
+ "organizer_default_conferencing_app": "تطبيق المنظمة الافتراضي",
"under_maintenance": "معطل للصيانة",
"under_maintenance_description": "يجري فريق {{appName}} صيانة مجدولة. إذا كان لديك أي أسئلة، يرجى الاتصال بالدعم.",
"event_type_seats": "{{numberOfSeats}} من المقاعد",
"booking_questions_title": "أسئلة حول الحجز",
- "booking_questions_description": "اعمل على تخصيص الأسئلة المطروحة في صفحة الحجز",
+ "booking_questions_description": "يمكنك تخصيص الأسئلة المطروحة في صفحة الحجز",
"add_a_booking_question": "اطرح سؤالاً",
"duplicate_email": "البريد الإلكتروني مكرر",
"booking_with_payment_cancelled": "لم يعد الدفع لهذا الحدث ممكنًا",
@@ -1610,20 +1660,21 @@
"booking_with_payment_cancelled_refunded": "تم استرداد مبلغ هذا الحجز.",
"booking_confirmation_failed": "فشل تأكيد الحجز",
"not_enough_seats": "لا توجد مقاعد كافية",
- "form_builder_field_already_exists": "ثمة حقل بهذا الاسم موجود بالفعل",
- "form_builder_field_add_subtitle": "اعمل على تخصيص الأسئلة المطروحة في صفحة الحجز",
+ "form_builder_field_already_exists": "يوجد حقل بهذا الاسم بالفعل",
+ "form_builder_field_add_subtitle": "يمكنك تخصيص الأسئلة المطروحة في صفحة الحجز",
+ "show_on_booking_page": "إظهار في صفحة الحجز",
"get_started_zapier_templates": "البدء في استخدام قوالب Zapier",
"team_is_unpublished": "لم يُنشر {{team}}",
- "team_is_unpublished_description": "رابط هذا الفريق غير متوفر حالياً. يرجى الاتصال بمالك الفريق أو الطلب منهم نشره.",
+ "team_is_unpublished_description": "رابط هذا الفريق غير متاح حاليًا. يرجى الاتصال بمالك الفريق أو طلب نشره منه.",
"team_member": "عضو الفريق",
"a_routing_form": "نموذج توجيه",
"form_description_placeholder": "وصف النموذج",
"keep_me_connected_with_form": "ابقني متصلاً بالنموذج",
"fields_in_form_duplicated": "أي تغييرات في جهاز التوجيه والحقول الخاصة بالنموذج المكرر، ستنعكس في النسخة المكررة.",
"form_deleted": "تم حذف النموذج",
- "delete_form": "حذف النموذج",
+ "delete_form": "هل أنت متأكد من أنك تريد حذف هذا القالب؟",
"delete_form_action": "نعم، حذف النموذج",
- "delete_form_confirmation": "هل أنت متأكد من أنك تريد حذف هذا النموذج؟ لن يتمكن أي شخص تشارك الرابط معه من الحجز بعد الآن. كما ستحذف جميع الردود المرتبطة بذلك.",
+ "delete_form_confirmation": "أي شخص قمت بمشاركة الرابط معه لن يكون قادرًا على الوصول إليه.",
"delete_form_confirmation_2": "سيتم حذف جميع الردود ذات الصلة.",
"typeform_redirect_url_copied": "تم نسخ رابط Typeform Redirect! يمكنك الانتقال وتعيين الرابط في نموذج Typeform.",
"modifications_in_fields_warning": "ستنعكس التعديلات في الحقول والمسارات للنماذج التالية في هذا النموذج.",
@@ -1635,19 +1686,102 @@
"add_1_option_per_line": "إضافة خيار واحد لكل سطر",
"select_a_router": "حدد مساراً",
"add_a_new_route": "إضافة مسار جديد",
+ "make_informed_decisions": "اتخاذ قرارات على اطّلاع باستخدام الرؤى",
+ "make_informed_decisions_description": "تقدّم لوحة الرؤى لدينا جميع الأنشطة لفريقك وتظهر لك الاتجاهات السائدة التي تمكّنك من جدولة الفريق واتخاذ القرار بشكل أفضل.",
+ "view_bookings_across": "عرض الحجز أمام جميع الأعضاء",
+ "view_bookings_across_description": "شاهد من يتلقى معظم الحجوزات وتأكد من إجراء أفضل عملية توزيع عبر فريقك",
+ "identify_booking_trends": "تحديد الاتجاهات السائدة للحجز",
+ "identify_booking_trends_description": "شاهد أي الأوقات في الأسبوع وخلال اليوم تحظى بشعبية لدى من يقومون بالحجز لديك",
+ "spot_popular_event_types": "أنواع الأحداث الشائعة",
+ "spot_popular_event_types_description": "شاهد أي من نوع من الأحداث لديك يتلقى معظم النقرات والحجز",
"no_responses_yet": "لا توجد ردود بعد",
"this_will_be_the_placeholder": "سيكون هذا هو العنصر النائب",
"this_meeting_has_not_started_yet": "لم يبدأ هذا الاجتماع بعد",
"this_app_requires_connected_account": "{{appName}} يتطلب حساب {{dependencyName}} متصل",
- "connect_app": "الاتصال {{dependencyName}}",
+ "connect_app": "اتصال {{dependencyName}}",
"app_is_connected": "{{dependencyName}} متصل",
"requires_app": "يتطلب {{dependencyName}}",
"verification_code": "رمز التحقق",
- "can_you_try_again": "هلّا جربت المحاولة ثانيةً في وقت مختلف؟",
+ "can_you_try_again": "هل يمكنك المحاولة مرة أخرى في وقت مختلف؟",
"verify": "التحقق",
"timezone_variable": "المنطقة الزمنية",
- "invalid_event_name_variables": "ثمة متغيّر غير غير صالح في اسم فعاليتك",
- "select_all": "اختيار الكل",
- "default_conferencing_bulk_title": "التحديث الجماعي لمجموعة أنواع الفعاليات الحالية",
- "default_conferencing_bulk_description": "تحديث المواقع لأنواع الفعاليات المحددة"
+ "timezone_info": "المنطقة الزمنية للشخص المتلقي",
+ "event_end_time_variable": "وقت انتهاء الحدث",
+ "event_end_time_info": "زمن نهاية الحدث",
+ "cancel_url_variable": "إلغاء عنوان URL",
+ "cancel_url_info": "عنوان URL لإلغاء الحجز",
+ "reschedule_url_variable": "إعادة جدولة عنوان URL",
+ "reschedule_url_info": "عنوان URL لإعادة جدولة الحجز",
+ "invalid_event_name_variables": "هناك متغيّر غير صالح في اسم الحدث",
+ "select_all": "تحديد الكل",
+ "default_conferencing_bulk_title": "التحديث الجماعي لمجموعة أنواع الأحداث الحالية",
+ "members_default_schedule": "الجدول الزمني الافتراضي للعضو",
+ "set_by_admin": "تعيين بواسطة مشرف الفريق",
+ "members_default_location": "الموقع الافتراضي للعضو",
+ "members_default_schedule_description": "سنستخدم جدول الإتاحة الافتراضي لكل عضو، وسيكون بإمكانه تعديله أو تغييره.",
+ "requires_at_least_one_schedule": "يجب أن يكون لديك جدول واحد على الأقل",
+ "default_conferencing_bulk_description": "تحديث المواقع لأنواع الأحداث المحددة",
+ "locked_for_members": "مقفل أمام الأعضاء",
+ "locked_apps_description": "سيكون الأعضاء قادرين على رؤية التطبيقات النشطة، ولكن من دون القدرة على تعديل أي إعدادات للتطبيق",
+ "locked_webhooks_description": "سيكون الأعضاء قادرين على رؤية قوالب الويب النشطة، ولكن من دون القدرة على تعديل أي إعدادات للقوالب",
+ "locked_workflows_description": "سيكون الأعضاء قادرين على رؤية مسارات العمل النشطة، ولكن من دون القدرة على تعديل أي إعدادات لمسار العمل",
+ "locked_by_admin": "مقفل من قبل المشرف",
+ "app_not_connected": "أنت غير متصل بحساب {{appName}}.",
+ "connect_now": "اتصل الآن",
+ "managed_event_dialog_confirm_button_one": "استبدال وإشعار العضو {{count}}",
+ "managed_event_dialog_confirm_button_other": "استبدال وإشعار الأعضاء {{count}}",
+ "managed_event_dialog_title_one": "عنوان url /{{slug}} موجود بالفعل من أجل {{count}} عضو. هل تريد استبداله؟",
+ "managed_event_dialog_title_other": "عنوان url /{{slug}} موجود بالفعل لـ {{count}} أعضاء. هل تريد استبداله؟",
+ "managed_event_dialog_information_one": "{{names}} يستخدم بالفعل عنوان url /{{slug}}.",
+ "managed_event_dialog_information_other": "{{names}} يستخدم بالفعل عنوان url /{{slug}}.",
+ "managed_event_dialog_clarification": "سنقوم بإعلامهم إذا اخترت استبداله. قم بالعودة وإزالتهم إذا كنت لا تريد الكتابة فوقها.",
+ "review_event_type": "مراجعة نوع الحدث",
+ "looking_for_more_analytics": "هل تبحث عن تحليلات إضافية؟",
+ "looking_for_more_insights": "هل تبحث عن رؤى أكثر؟",
+ "add_filter": "إضافة عامل فرز",
+ "select_user": "اختر مستخدم",
+ "select_event_type": "اختر نوع الحدث",
+ "select_date_range": "اختر نطاق التاريخ",
+ "popular_events": "الأحداث الشائعة",
+ "no_event_types_found": "لم يتم العثور على أنواع الأحداث",
+ "average_event_duration": "متوسط مدة الحدث",
+ "most_booked_members": "أكثر الأعضاء حجزاً",
+ "least_booked_members": "أقل الأعضاء حجزاً",
+ "events_created": "تم إنشاء الأحداث",
+ "events_completed": "تم اكتمال الأحداث",
+ "events_cancelled": "تم إلغاء الأحداث",
+ "events_rescheduled": "تم إعادة جدولة الأحداث",
+ "from_last_period": "من آخر فترة",
+ "from_to_date_period": "من: {{startDate}} إلى: {{endDate}}",
+ "analytics_for_organisation": "الرؤى",
+ "subtitle_analytics": "اعرف المزيد عن نشاط فريقك",
+ "redirect_url_warning": "سيؤدي إضافة إعادة توجيه إلى تعطيل صفحة النجاح. تأكد من ذكر \"تأكيد الحجز\" في صفحة النجاح المخصصة.",
+ "event_trends": "الاتجاهات السائدة للحدث",
+ "clear_filters": "مسح عوامل الفرز",
+ "hold": "تعليق",
+ "on_booking_option": "تحصيل الدفعة عن الحجز",
+ "hold_option": "فرض رسوم لقاء عدم الحضور",
+ "card_held": "تم تعليق البطاقة",
+ "charge_card": "الدفع باستخدام البطاقة",
+ "card_charged": "تم استقطاع الدفعة من البطاقة",
+ "no_show_fee_amount": "رسم عدم الحضور {{amount, currency}}",
+ "no_show_fee": "رسم عدم الحضور",
+ "submit_card": "تقديم بطاقة",
+ "submit_payment_information": "تقديم معلومات الدفع",
+ "meeting_awaiting_payment_method": "اجتماعك في انتظار طريقة الدفع",
+ "no_show_fee_charged_email_subject": "تم تحصيل رسم عدم حضور مقداره {{amount, currency}} من أجل {{title}} في {{date}}",
+ "no_show_fee_charged_text_body": "تم تحصيل رسم عدم حضور",
+ "no_show_fee_charged_subtitle": "تم تحصيل رسم عدم حضور مقداره {{amount, currency}} من أجل الحدث التالي",
+ "error_charging_card": "حدثت مشكلة في استقطاع رسم عدم الحضور. يرجى المحاولة مرة أخرى لاحقاً.",
+ "collect_no_show_fee": "تحصيل رسم عدم الحضور",
+ "no_show_fee_charged": "لم يتم تحصيل رسوم عدم حضور",
+ "insights": "الرؤى",
+ "testing_workflow_info_message": "عند اختبار مسار العمل هذا، كن على علم بأنه يمكن جدولة رسائل البريد الإلكتروني والرسائل القصيرة فقط قبل ساعة واحدة على الأقل",
+ "insights_no_data_found_for_filter": "لم يتم العثور على بيانات لعامل الفرز المحدد أو التواريخ المحددة.",
+ "acknowledge_booking_no_show_fee": "أقر بأنه إذا لم أحضر هذا الحدث فإنه لن يتم استخدام بطاقتي للدقع لرسوم الحدث {{amount, currency}}.",
+ "card_details": "تفاصيل البطاقة",
+ "seats_and_no_show_fee_error": "لا يمكن حالياً تمكين المقاعد وفرض رسوم عدم الحضور",
+ "complete_your_booking": "أكمل الحجز",
+ "complete_your_booking_subject": "أكمل الحجز: {{title}} في {{date}}",
+ "email_invite_team": "تم دعوة {{email}}"
}
diff --git a/apps/web/public/static/locales/cs/common.json b/apps/web/public/static/locales/cs/common.json
index fa99e41f51..6013b44a2f 100644
--- a/apps/web/public/static/locales/cs/common.json
+++ b/apps/web/public/static/locales/cs/common.json
@@ -1,4 +1,5 @@
{
+ "identity_provider": "Poskytovatel identity",
"trial_days_left": "V PRO verzi na zkoušku vám zbývají $t(day, {\"count\": {{days}} })",
"day_one": "{{count}} den",
"day_other": "{{count}} dny/dní",
@@ -69,6 +70,8 @@
"event_awaiting_approval_subject": "Čeká se na schválení: {{title}} dne {{date}}",
"event_still_awaiting_approval": "Událost stále čeká na schválení",
"booking_submitted_subject": "Rezervace odeslána: {{title}} během {{date}}",
+ "download_recording_subject": "Stáhnout nahrávku: {{title}}, den {{date}}",
+ "download_your_recording": "Stáhněte si nahrávku",
"your_meeting_has_been_booked": "Vaše schůzka byla rezervována",
"event_type_has_been_rescheduled_on_time_date": "Váš {{title}} byl přeplánován na {{date}}.",
"event_has_been_rescheduled": "Změna - Vaše událost byla přesunuta na jindy",
@@ -224,6 +227,7 @@
"done": "Hotovo",
"all_done": "Hotovo!",
"all_apps": "Všechny aplikace",
+ "available_apps": "Dostupné aplikace",
"check_email_reset_password": "Podívejte se do e-mailu. Poslali jsme vám odkaz pro obnovení hesla.",
"finish": "Dokončit",
"few_sentences_about_yourself": "Pár vět o vás. Budou se zobrazovat na URL vaší osobní stránky.",
@@ -404,6 +408,7 @@
"add_time_availability": "Přidat nový časový interval",
"add_an_extra_layer_of_security": "Přidejte do svého účtu další úroveň zabezpečení pro případ, že by vaše heslo bylo odcizeno.",
"2fa": "Dvoufázové ověření",
+ "2fa_disabled": "Dvoufaktorové ověřování lze povolit pouze pro ověřování e-mailem a heslem",
"enable_2fa": "Povolit dvoufázové ověření",
"disable_2fa": "Vypnout dvoufázové ověřování",
"disable_2fa_recommendation": "Pokud potřebujete dvoufázové ověřování vypnout, doporučujeme ho co nejdříve zase zapnout.",
@@ -460,7 +465,6 @@
"friday": "pátek",
"saturday": "sobota",
"sunday": "neděle",
- "all_booked_today": "Všechen čas dnes rezervován.",
"slots_load_fail": "Nepodařilo se načíst dostupné časové sloty.",
"additional_guests": "Přidat hosty",
"your_name": "Vaše jméno",
@@ -585,6 +589,20 @@
"minutes": "min",
"round_robin": "Plánování Round Robin",
"round_robin_description": "Schůzky v řadě mezi několika členy týmu.",
+ "managed_event": "Spravovaná událost",
+ "username_placeholder": "uživatelské jméno",
+ "managed_event_description": "Hromadné vytváření a distribuce typů událostí členům týmu",
+ "managed": "Spravované",
+ "managed_event_url_clarification": "„uživatelské jméno“ bude vyplněno uživatelským jménem přiřazených členů",
+ "assign_to": "Přiřadit k",
+ "add_members": "Přidat členy...",
+ "count_members_one": "Počet členů: {{count}}",
+ "count_members_other": "Počet členů: {{count}}",
+ "no_assigned_members": "Žádní přiřazení členové",
+ "assigned_to": "Přiřazeno k",
+ "start_assigning_members_above": "Začněte přiřazovat členy výše",
+ "locked_fields_admin_description": "Členové to nebudou mít možnost upravovat",
+ "locked_fields_member_description": "Tato možnost byla uzamčena správcem týmu",
"url": "URL",
"hidden": "Skrytý",
"readonly": "Jen pro čtení",
@@ -736,6 +754,11 @@
"minimum_booking_notice": "Minimální potřebná doba",
"slot_interval": "Časové intervaly",
"slot_interval_default": "Použít délku události (výchozí)",
+ "delete_event_type": "Odstranit typ události?",
+ "delete_managed_event_type": "Odstranit typ spravované události?",
+ "delete_event_type_description": "Každý, komu jste tento odkaz nasdíleli, pomocí něj již nebude moci provádět rezervace.",
+ "delete_managed_event_type_description": "
Členům přiřazeným k tomuto typu události budou odstraněny i příslušné typy událostí.
Každý, komu jste tento odkaz nasdíleli, pomocí něj již ńebude moci moci provádět rezervace.
",
+ "confirm_delete_event_type": "Ano, odstranit",
"delete_account": "Smazat účet",
"confirm_delete_account": "Ano, smazat účet",
"delete_account_confirmation_message": "Opravdu chcete odstranit svůj účet na {{appName}}? Všichni, se kterými jste sdíleli odkaz na účet, přijdou o možnost vytvářet rezervace a vy přijdete o uložené předvolby.",
@@ -1126,11 +1149,13 @@
"current_username": "Současné uživatelské jméno",
"example_1": "Příklad 1",
"example_2": "Příklad 2",
+ "booking_question_identifier": "Identifikátor rezervační otázky",
"company_size": "Velikost společnosti",
"what_help_needed": "S čím potřebujete pomoci?",
"variable_format": "Formát proměnné",
"webhook_subscriber_url_reserved": "Adresa URL odběratele webhooku je již definována",
"custom_input_as_variable_info": "Ignorujte všechny speciální znaky doplňkového vstupního štítku (používejte pouze písmena a číslice), používejte velká písmena a bílé znaky nahraďte podtržítky.",
+ "using_booking_questions_as_variables": "Jak používat rezervační otázky jako proměnné?",
"download_desktop_app": "Stáhněte si aplikaci pro stolní počítače",
"set_ping_link": "Nastavení odkazu Ping",
"rate_limit_exceeded": "Byl překročen limit rychlosti",
@@ -1176,6 +1201,7 @@
"start_of_week": "Začátek týdne",
"recordings_title": "Nahrávky",
"recording": "Nahrávka",
+ "happy_scheduling": "Veselé plánování",
"select_calendars": "Vyberte kalendáře, u kterých chcete kontrolovat konflikty v zájmu prevence dvojích rezervací.",
"check_for_conflicts": "Zkontrolovat konflikty",
"view_recordings": "Zobrazit nahrávky",
@@ -1213,6 +1239,7 @@
"impersonation": "Ztotožnění",
"impersonation_description": "Nastavení správy ztotožnění uživatele",
"users": "Uživatelé",
+ "user": "Uživatel",
"profile_description": "Správa nastavení profilu {{appName}}",
"users_description": "Tady najdete seznam všech uživatelů",
"users_listing": "Výpis uživatelů",
@@ -1253,6 +1280,8 @@
"download_responses": "Stáhnout odpovědi",
"download_responses_description": "Stáhněte si všechny odpovědi do formuláře ve formátu CSV.",
"download": "Stáhnout",
+ "download_recording": "Stáhnout nahrávku",
+ "recording_from_your_recent_call": "Nahrávka z vašeho nedávného hovoru na Cal.com je připravena ke stažení.",
"create_your_first_form": "Vytvořte svůj první formulář",
"create_your_first_form_description": "Pomocí adresných formulářů můžete klást kvalifikační otázky a adresovat je správné osobě nebo typu události.",
"create_your_first_webhook": "Vytvořte svůj první webhook",
@@ -1289,6 +1318,15 @@
"exchange_authentication_standard": "Základní ověřování",
"exchange_authentication_ntlm": "Ověřování NTLM",
"exchange_compression": "Komprese GZip",
+ "exchange_version": "Verze Exchange",
+ "exchange_version_2007_SP1": "2007 SP1",
+ "exchange_version_2010": "2010",
+ "exchange_version_2010_SP1": "2010 SP1",
+ "exchange_version_2010_SP2": "2010 SP2",
+ "exchange_version_2013": "2013",
+ "exchange_version_2013_SP1": "2013 SP1",
+ "exchange_version_2015": "2015",
+ "exchange_version_2016": "2016",
"routing_forms_description": "Zde si můžete prohlédnout všechny vytvořené formuláře a trasy.",
"routing_forms_send_email_owner": "Odeslat e-mail vlastníkovi",
"routing_forms_send_email_owner_description": "Po odeslání formuláře bude vlastníkovi odeslán e-mail",
@@ -1343,6 +1381,7 @@
"add_limit": "Přidat limit",
"team_name_required": "Je vyžadován název týmu",
"show_attendees": "Sdílet informace o účastnících",
+ "how_booking_questions_as_variables": "Jak používat rezervační otázky jako proměnné?",
"format": "Formát",
"uppercase_for_letters": "Použít velká písmena pro všechna písmena",
"replace_whitespaces_underscores": "Nahradit mezery podtržítky",
@@ -1357,6 +1396,7 @@
"billing_help_title": "Potřebujete ještě něco?",
"billing_help_description": "Pokud potřebujete jakoukoliv pomoc s fakturací, náš tým zákaznické podpory je tu pro Vás.",
"billing_help_cta": "Kontaktovat podporu",
+ "ignore_special_characters_booking_questions": "Ignorujte speciální znaky v identifikátoru rezervační otázky. Používejte pouze písmena a číslice",
"retry": "Opakovat",
"fetching_calendars_error": "Při ukládání vašich údajů došlo k problému. Zkuste to znovu, <1>případně1> se obraťte na zákaznickou podporu.",
"calendar_connection_fail": "Připojení kalendáře se nezdařilo",
@@ -1439,11 +1479,17 @@
"fixed_round_robin": "Pevný „round robin“",
"add_one_fixed_attendee": "Přidejte jednoho pevně stanoveného účastníka a „round robin“ přes daný počet účastníků.",
"calcom_is_better_with_team": "Cal.com je s týmy lepší",
+ "the_calcom_team": "Tým Cal.com",
"add_your_team_members": "Přidejte členy týmu k typům událostí. Použijte kolektivní plánování, abyste zahrnuli všechny, případně vyhledejte tu nejvhodnější osobu s plánováním „round robin“.",
"booking_limit_reached": "Byl dosažen limit rezervací pro tento typ události",
"duration_limit_reached": "Byl dosažen limit doby trvání pro tento typ události",
"admin_has_disabled": "Administrátor zakázal {{appName}}",
"disabled_app_affects_event_type": "Administrátor zakázal {{appName}}, což ovlivňuje váš typ události {{eventType}}",
+ "event_replaced_notice": "Správce nahradil jeden z typů vašich událostí",
+ "email_subject_slug_replacement": "Správce týmu nahradil vaši událost /{{slug}}",
+ "email_body_slug_replacement_notice": "Správce v týmu {{teamName}} nahradil váš typ události /{{slug}} spravovaným typem události, který ovládá.",
+ "email_body_slug_replacement_info": "Váš odkaz bude dále fungovat, ale některá příslušná nastavení se mohla změnit. Můžete si je prohlédnout v části Typy událostí.",
+ "email_body_slug_replacement_suggestion": "Pokud máte k typu události případné dotazy, obraťte se na svého správce.
Veselé plánování, tým Cal.com",
"disable_payment_app": "Administrátor zakázal {{appName}}, což ovlivňuje váš typ události {{title}}. Účastníci si stále mohou rezervovat tento typ události, ale nebudou vyzváni k platbě. Abyste tomu zabránili, můžete tento typ události skrýt, dokud správce tento způsob platby znovu nepovolí.",
"payment_disabled_still_able_to_book": "Účastníci si stále mohou rezervovat tento typ události, ale nebudou vyzváni k platbě. Abyste tomu zabránili, můžete tento typ události skrýt, dokud správce tento způsob platby znovu nepovolí.",
"app_disabled_with_event_type": "Administrátor zakázal {{appName}}, což ovlivňuje váš typ události {{title}}.",
@@ -1492,6 +1538,7 @@
"date_overrides_update_btn": "Aktualizovat změnu",
"event_type_duplicate_copy_text": "{{slug}} – kopie",
"set_as_default": "Nastavit jako výchozí",
+ "hide_eventtype_details": "Skrýt podrobnosti o typu události",
"show_navigation": "Zobrazit navigaci",
"hide_navigation": "Skrýt navigaci",
"verification_code_sent": "Ověřovací kód odeslán",
@@ -1505,6 +1552,7 @@
"create_your_first_team_webhook_description": "Vytvořte svůj první webhook pro tento typ týmové události",
"create_webhook_team_event_type": "Vytvořte webhook pro tento typ týmové události",
"disable_success_page": "Zakázat stránku s informací o úspěšném provedení (funguje pouze v případě, že máte přesměrovanou adresu URL)",
+ "invalid_admin_password": "Jste správce, ale nemáte heslo dlouhé alespoň 15 znaků, případně ještě nemáte dvoufaktorové ověřování",
"change_password_admin": "Změňte heslo, abyste získali administrátorský přístup",
"username_already_taken": "Uživatelské jméno je již obsazeno",
"assignment": "Přiřazení",
@@ -1537,6 +1585,7 @@
"ee_enterprise_license": "„/ee“ Licence Enterprise",
"enterprise_booking_fee": "Od {{{enterprise_booking_fee}}/měsíc",
"enterprise_license_includes": "Vše pro komerční použití",
+ "no_need_to_keep_your_code_open_source": "Není nutné, aby váš kód byl otevřený",
"repackage_rebrand_resell": "Snadné přebalení, rebranding a přeprodej",
"a_vast_suite_of_enterprise_features": "Rozsáhlá sada firemních funkcí",
"free_license_fee": "0,00 $/měsíc",
@@ -1598,6 +1647,7 @@
"default_app_link_title": "Nastavte výchozí odkaz na aplikaci",
"default_app_link_description": "Nastavení výchozího odkazu na aplikaci umožní, aby všechny nově vytvořené typy událostí používaly vámi nastavený odkaz na aplikaci.",
"change_default_conferencing_app": "Nastavit jako výchozí",
+ "organizer_default_conferencing_app": "Výchozí aplikace organizátora",
"under_maintenance": "Odstávka z důvodu údržby",
"under_maintenance_description": "Tým {{appName}} provádí plánovanou údržbu. V případě dotazů se obraťte na podporu.",
"event_type_seats": "Počet míst: {{numberOfSeats}}",
@@ -1612,6 +1662,7 @@
"not_enough_seats": "Nedostatek míst",
"form_builder_field_already_exists": "Pole s tímto názvem již existuje",
"form_builder_field_add_subtitle": "Přizpůsobte otázky položené na stránce rezervace",
+ "show_on_booking_page": "Zobrazit na stránce rezervace",
"get_started_zapier_templates": "Začněte používat šablony Zapier",
"team_is_unpublished": "Tým {{team}} není zveřejněn",
"team_is_unpublished_description": "Tento týmový odkaz není v současné době k dispozici. Kontaktujte vlastníka týmu nebo ho požádejte o jeho zveřejnění.",
@@ -1635,6 +1686,14 @@
"add_1_option_per_line": "Přidejte 1 možnost na řádek",
"select_a_router": "Vyberte směrování",
"add_a_new_route": "Přidejte nové směrování",
+ "make_informed_decisions": "Rozhodujte se na základě informací pomocí funkce přehledů",
+ "make_informed_decisions_description": "Náš panel Přehledy zobrazuje všechny aktivity vašeho týmu a trendy, které v rámci týmu umožňují lepší plánování a rozhodování.",
+ "view_bookings_across": "Zobrazení rezervací všech členů",
+ "view_bookings_across_description": "Podívejte se, kdo přijímá nejvíce rezervací, a zajistěte co nejlepší rozložení v rámci celého týmu",
+ "identify_booking_trends": "Identifikujte trendy v rezervacích",
+ "identify_booking_trends_description": "Zjistěte, které části týdne a které časy během dne jsou u vašich rezervací oblíbené",
+ "spot_popular_event_types": "Vytipujete si oblíbené typy událostí",
+ "spot_popular_event_types_description": "Zjistěte, které typy vašich událostí získávají nejvíce kliknutí a rezervací",
"no_responses_yet": "Zatím žádné odpovědi",
"this_will_be_the_placeholder": "Toto bude zástupný znak",
"this_meeting_has_not_started_yet": "Tato schůzka ještě nezačala",
@@ -1646,8 +1705,83 @@
"can_you_try_again": "Můžete to zkusit znovu a použít jiný čas?",
"verify": "Ověřit",
"timezone_variable": "Časová zóna",
+ "timezone_info": "Časové pásmo přijímající osoby",
+ "event_end_time_variable": "Čas ukončení události",
+ "event_end_time_info": "Čas ukončení události",
+ "cancel_url_variable": "Adresa URL pro zrušení",
+ "cancel_url_info": "Adresa URL pro zrušení rezervace",
+ "reschedule_url_variable": "Adresa URL pro změnu termínu",
+ "reschedule_url_info": "Adresa URL pro změnu termínu rezervace",
"invalid_event_name_variables": "V názvu události je neplatná proměnná",
"select_all": "Vybrat vše",
"default_conferencing_bulk_title": "Hromadná aktualizace stávajících typů událostí",
- "default_conferencing_bulk_description": "Aktualizujte místa pro vybrané typy událostí"
+ "members_default_schedule": "Výchozí rozvrh člena",
+ "set_by_admin": "Nastaveno správcem týmu",
+ "members_default_location": "Výchozí umístění člena",
+ "members_default_schedule_description": "Použijeme výchozí rozvrh dostupnosti každého člena. Bude ho moct upravovat nebo měnit.",
+ "requires_at_least_one_schedule": "Musíte mít alespoň jeden rozvrh",
+ "default_conferencing_bulk_description": "Aktualizujte místa pro vybrané typy událostí",
+ "locked_for_members": "Zamčeno pro členy",
+ "locked_apps_description": "Členové budou vidět aktivní aplikace, ale nastavení aplikací upravovat moci nebudou",
+ "locked_webhooks_description": "Členové budou vidět aktivní webhooky, ale nastavení webhooků upravovat moci nebudou",
+ "locked_workflows_description": "Členové budou vidět aktivní pracovní postupy, ale nastavení pracovních postupů upravovat moci nebudou",
+ "locked_by_admin": "Uzamčeno správcem",
+ "app_not_connected": "Nemáte připojený účet {{appName}}.",
+ "connect_now": "Připojte se",
+ "managed_event_dialog_confirm_button_one": "Nahradit a upozornit {{count}} člena",
+ "managed_event_dialog_confirm_button_other": "Nahradit a upozornit členy ({{count}})",
+ "managed_event_dialog_title_one": "Adresa URL /{{slug}} již existuje pro {{count}} člena. Chcete ji nahradit?",
+ "managed_event_dialog_title_other": "Adresa URL /{{slug}} již existuje pro členy ({{count}}). Chcete ji nahradit?",
+ "managed_event_dialog_information_one": "{{names}} již používá adresa URL /{{slug}}.",
+ "managed_event_dialog_information_other": "{{names}} již používá adresa URL /{{slug}}.",
+ "managed_event_dialog_clarification": "Pokud se rozhodnete ji nahradit, pošleme jim upozornění. Pokud ji nechcete přepsat, vraťte se a odstraňte ji.",
+ "review_event_type": "Revidovat typ události",
+ "looking_for_more_analytics": "Hledáte další analytické informace?",
+ "looking_for_more_insights": "Hledáte další přehledy?",
+ "add_filter": "Přidat filtr",
+ "select_user": "Vybrat uživatele",
+ "select_event_type": "Vybrat typ události",
+ "select_date_range": "Vybrat rozpětí dat",
+ "popular_events": "Oblíbené události",
+ "no_event_types_found": "Nenalezeny žádné typy událostí",
+ "average_event_duration": "Průměrná doba trvání události",
+ "most_booked_members": "Nejvíce rezervovaných členů",
+ "least_booked_members": "Nejméně rezervovaných členů",
+ "events_created": "Události vytvořeny",
+ "events_completed": "Události dokončeny",
+ "events_cancelled": "Události zrušeny",
+ "events_rescheduled": "Události přesunuty",
+ "from_last_period": "z posledního období",
+ "from_to_date_period": "Od: {{startDate}} do: {{endDate}}",
+ "analytics_for_organisation": "Přehledy",
+ "subtitle_analytics": "Zjistěte více o činnosti vašeho týmu",
+ "redirect_url_warning": "Přidáním přesměrování se stránka úspěchu vypne. Nezapomeňte na vlastní stránce úspěchu uvést „Rezervace potvrzena“.",
+ "event_trends": "Trendy událostí",
+ "clear_filters": "Vymazat filtry",
+ "hold": "Pozastavit",
+ "on_booking_option": "Vybrat platbu při rezervaci",
+ "hold_option": "Účtovat poplatek za nedostavení se",
+ "card_held": "Karta pozastavena",
+ "charge_card": "Strhnout z karty",
+ "card_charged": "Strženo z karty",
+ "no_show_fee_amount": "Poplatek {{amount, currency}} za nedostavení se",
+ "no_show_fee": "Poplatek za nedostavení se",
+ "submit_card": "Předložit kartu",
+ "submit_payment_information": "Odeslat platební údaje",
+ "meeting_awaiting_payment_method": "Vaše schůzka čeká na způsob platby",
+ "no_show_fee_charged_email_subject": "Poplatek za nedostavení se ve výši {{amount, currency}} stržen za {{title} dne {{date}}.",
+ "no_show_fee_charged_text_body": "Byl stržen poplatek za nedostavení se",
+ "no_show_fee_charged_subtitle": "V souvislosti s následující událostí byl stržen poplatek za nedostavení se ve výši {{amount, currency}}",
+ "error_charging_card": "Při strhávání poplatku za nedostavení se došlo k chybě. Zkuste to prosím později.",
+ "collect_no_show_fee": "Vybrat poplatek za nedostavení se",
+ "no_show_fee_charged": "Poplatek za nedostavení se stržen",
+ "insights": "Přehledy",
+ "testing_workflow_info_message": "Při testování tohoto pracovního postupu mějte na paměti, že e-maily a SMS lze naplánovat pouze nejméně 1 hodinu předem.",
+ "insights_no_data_found_for_filter": "Pro vybraný filtr nebo vybraná data nebyla nalezena žádná data.",
+ "acknowledge_booking_no_show_fee": "Beru na vědomí, že pokud se této události nezúčastním, bude z mé karty stržen poplatek za nedostavení se ve výši {{amount, currency}}.",
+ "card_details": "Údaje o kartě",
+ "seats_and_no_show_fee_error": "V současné době nelze povolit místa a strhnout poplatek za nedostavení se",
+ "complete_your_booking": "Dokončete svou rezervaci",
+ "complete_your_booking_subject": "Dokončete svou rezervaci: {{title}} dne {{date}}",
+ "email_invite_team": "Pozvánka pro uživatele {{email}} odeslána"
}
diff --git a/apps/web/public/static/locales/da/common.json b/apps/web/public/static/locales/da/common.json
index 6670ce2a5b..a350252427 100644
--- a/apps/web/public/static/locales/da/common.json
+++ b/apps/web/public/static/locales/da/common.json
@@ -457,7 +457,6 @@
"friday": "Fredag",
"saturday": "Lørdag",
"sunday": "Søndag",
- "all_booked_today": "Alle booket i dag.",
"slots_load_fail": "Kunne ikke indlæse de tilgængelige tidsrum.",
"additional_guests": "Tilføj gæster",
"your_name": "Dit navn",
diff --git a/apps/web/public/static/locales/de/common.json b/apps/web/public/static/locales/de/common.json
index 7cd87c33ed..6a37639d4d 100644
--- a/apps/web/public/static/locales/de/common.json
+++ b/apps/web/public/static/locales/de/common.json
@@ -1,4 +1,5 @@
{
+ "identity_provider": "Identitätsanbieter",
"trial_days_left": "Sie haben noch $t(Tage, {\"count\": {{days}} }) im Testzeitraum der PRO-Version",
"day_one": "{{count}} Tag",
"day_other": "{{count}} Tage",
@@ -69,6 +70,8 @@
"event_awaiting_approval_subject": "Warte auf Bestätigung: {{title}} um {{date}}",
"event_still_awaiting_approval": "Ein Termin wartet noch auf Ihre Bestätigung",
"booking_submitted_subject": "Buchung eingereicht: {{title}} am {{date}}",
+ "download_recording_subject": "Aufnahme herunterladen: {{title}} am {{date}}",
+ "download_your_recording": "Ihre Aufnahme herunterladen",
"your_meeting_has_been_booked": "Dein Termin wurde gebucht",
"event_type_has_been_rescheduled_on_time_date": "Ihr {{title}} wurde auf den {{date}} verschoben.",
"event_has_been_rescheduled": "Ihr Termin wurde verschoben.",
@@ -224,6 +227,7 @@
"done": "Erledigt",
"all_done": "Erledigt!",
"all_apps": "Alle Apps",
+ "available_apps": "Verfügbare Apps",
"check_email_reset_password": "Überprüfen Sie Ihre E-Mail. Wir haben Ihnen einen Link zum Zurücksetzen Ihres Passworts gesendet.",
"finish": "Fertig",
"few_sentences_about_yourself": "Schreiben Sie eine kurze Beschreibung, welche auf Ihrer persönlichen URL-Seite erscheinen wird.",
@@ -404,6 +408,7 @@
"add_time_availability": "Neues Zeitfenster hinzufügen",
"add_an_extra_layer_of_security": "Fügen Sie Ihrem Konto eine zusätzliche Sicherheitsstufe hinzu, falls Ihr Passwort gestohlen wird.",
"2fa": "Zwei-Faktor-Authentifizierung",
+ "2fa_disabled": "Zwei-Faktor-Authentifizierung kann nur für E-Mail- und Passwort-Authentifizierung aktiviert werden",
"enable_2fa": "Zwei-Faktor-Authentifizierung aktivieren",
"disable_2fa": "Zwei-Faktor-Authentifizierung deaktivieren",
"disable_2fa_recommendation": "Falls Sie 2FA deaktivieren müssen, empfehlen wir, es so schnell wie möglich wieder zu aktivieren.",
@@ -460,7 +465,6 @@
"friday": "Freitag",
"saturday": "Samstag",
"sunday": "Sonntag",
- "all_booked_today": "Ausgebucht für heute.",
"slots_load_fail": "Die verfügbaren Zeitfenster konnten nicht geladen werden.",
"additional_guests": "+ Weitere Gäste",
"your_name": "Ihr Name",
@@ -585,6 +589,20 @@
"minutes": "Minuten",
"round_robin": "Round Robin",
"round_robin_description": "Treffen zwischen mehreren Teammitgliedern durchwechseln.",
+ "managed_event": "Verwaltetes Ereignis",
+ "username_placeholder": "Benutzername",
+ "managed_event_description": "Erstellen und verteilen Sie Ereignistypen im Block an Teammitglieder",
+ "managed": "Verwaltet",
+ "managed_event_url_clarification": "„Benutzername“ wird mit dem Benutzernamen der zugewiesenen Mitglieder ausgefüllt",
+ "assign_to": "Zuordnen zu",
+ "add_members": "Mitglieder hinzufügen...",
+ "count_members_one": "{{count}} Mitglied",
+ "count_members_other": "{{count}} Mitglieder",
+ "no_assigned_members": "Keine zugeordneten Mitglieder",
+ "assigned_to": "Zugeordnet zu",
+ "start_assigning_members_above": "Mit der Zuordnung von Mitgliedern oben beginnen",
+ "locked_fields_admin_description": "Mitglieder werden dies nicht bearbeiten können",
+ "locked_fields_member_description": "Diese Option wurde vom Team-Admin gesperrt",
"url": "URL",
"hidden": "Versteckt",
"readonly": "Schreibgeschützt",
@@ -736,6 +754,11 @@
"minimum_booking_notice": "Mindesvorlaufzeit für eine Buchung",
"slot_interval": "Zeit-Slot-Intervalle",
"slot_interval_default": "Verwende Terminlänge (Standard)",
+ "delete_event_type": "Ereignistyp löschen?",
+ "delete_managed_event_type": "Verwalteten Ereignistyp löschen?",
+ "delete_event_type_description": "Jede Person, mit der Sie diesen Link geteilt haben, kann nicht mehr über den Link buchen.",
+ "delete_managed_event_type_description": "
Diesem Ereignistypen zugewiesene Mitglieder werden ebenfalls ihre Ereignistypen gelöscht bekommen.
Jeder, mit dem sie ihren Link geteilt haben, wird nicht mehr über diesen Link buchen können.
",
+ "confirm_delete_event_type": "Ja, löschen",
"delete_account": "Account löschen",
"confirm_delete_account": "Ja, Account löschen",
"delete_account_confirmation_message": "Sind Sie sicher, dass Sie Ihr {{appName}}-Konto löschen möchten? Sie können dann nicht mehr über Ihre geteilten Links gebucht werden und alle Einstellungen werden gelöscht.",
@@ -1126,11 +1149,13 @@
"current_username": "Aktueller Benutzername",
"example_1": "Beispiel 1",
"example_2": "Beispiel 2",
+ "booking_question_identifier": "Buchungsfragenbezeichner",
"company_size": "Unternehmensgröße",
"what_help_needed": "Wobei benötigen Sie Hilfe?",
"variable_format": "Variablenformat",
"webhook_subscriber_url_reserved": "Webhook Abonnenten-URL ist bereits definiert",
"custom_input_as_variable_info": "Ignorieren Sie alle Sonderzeichen der zusätzlichen Eingabebezeichnung (verwenden Sie nur Buchstaben und Zahlen), schreiben Sie alle Buchstaben groß und ersetzen Sie Leerzeichen durch Unterstriche.",
+ "using_booking_questions_as_variables": "Wie verwende ich Buchungsfragen als Variablen?",
"download_desktop_app": "Desktop-App herunterladen",
"set_ping_link": "Ping-Link festlegen",
"rate_limit_exceeded": "Anmeldeversuchsgrenze überschritten",
@@ -1176,6 +1201,7 @@
"start_of_week": "Wochenstart",
"recordings_title": "Aufnahmen",
"recording": "Aufnahme",
+ "happy_scheduling": "Fröhliche Terminplanung",
"select_calendars": "Wählen Sie aus, in welchen Kalendern Sie nach Konflikten suchen wollen, um Doppelbuchungen zu vermeiden.",
"check_for_conflicts": "Auf Konflikte prüfen",
"view_recordings": "Aufnahmen anzeigen",
@@ -1213,6 +1239,7 @@
"impersonation": "Benutzeridentitätswechsel",
"impersonation_description": "Einstellungen zur Verwaltung der Benutzeridentifikation",
"users": "Benutzer",
+ "user": "Benutzer",
"profile_description": "Einstellungen für Ihr {{appName}} Profil verwalten",
"users_description": "Hier finden Sie eine Liste aller Benutzer",
"users_listing": "Benutzer-Listing",
@@ -1253,6 +1280,8 @@
"download_responses": "Antworten herunterladen",
"download_responses_description": "Laden Sie alle Antworten zu Ihrem Formular im CSV-Format herunter.",
"download": "Herunterladen",
+ "download_recording": "Aufnahme herunterladen",
+ "recording_from_your_recent_call": "Eine Aufnahme von Ihrem letzten Anruf auf Cal.com steht zum Download bereit",
"create_your_first_form": "Erstellen Sie Ihr erstes Formular",
"create_your_first_form_description": "Mithilfe von Leitungsformularen können Sie qualifizierende Fragen stellen und zur richtigen Person oder zum richtigen Veranstaltungstyp weiterleiten.",
"create_your_first_webhook": "Erstellen Sie Ihren ersten Webhook",
@@ -1289,6 +1318,15 @@
"exchange_authentication_standard": "Basisauthentifizierung",
"exchange_authentication_ntlm": "NTLM-Authentifizierung",
"exchange_compression": "GZip-Kompression",
+ "exchange_version": "Exchange Version",
+ "exchange_version_2007_SP1": "2007 SP1",
+ "exchange_version_2010": "2010",
+ "exchange_version_2010_SP1": "2010 SP1",
+ "exchange_version_2010_SP2": "2010 SP2",
+ "exchange_version_2013": "2013",
+ "exchange_version_2013_SP1": "2013 SP1",
+ "exchange_version_2015": "2015",
+ "exchange_version_2016": "2016",
"routing_forms_description": "Hier sehen Sie alle Formulare und Weiterleitungen, die Sie erstellt haben.",
"routing_forms_send_email_owner": "E-Mail an Eigentümer senden",
"routing_forms_send_email_owner_description": "Sendet eine E-Mail an den Eigentümer, wenn das Formular abgeschickt wird",
@@ -1343,6 +1381,7 @@
"add_limit": "Begrenzung hinzufügen",
"team_name_required": "Teamname erforderlich",
"show_attendees": "Teilnehmerinformationen zwischen Gästen teilen",
+ "how_booking_questions_as_variables": "Wie verwendet man Buchungsfragen als Variablen?",
"format": "Format",
"uppercase_for_letters": "Großbuchstaben für alle Buchstaben verwenden",
"replace_whitespaces_underscores": "Leerzeichen durch Unterstriche ersetzen",
@@ -1357,6 +1396,7 @@
"billing_help_title": "Brauchen Sie etwas anderes?",
"billing_help_description": "Wenn Sie weitere Hilfe bei der Rechnungsstellung benötigen, hilft Ihnen unser Support-Team gerne weiter.",
"billing_help_cta": "Support kontaktieren",
+ "ignore_special_characters_booking_questions": "Ignorieren Sie Sonderzeichen in Ihrem Buchungsfragenbezeichner. Verwenden Sie nur Buchstaben und Zahlen",
"retry": "Erneut versuchen",
"fetching_calendars_error": "Beim Abrufen Ihrer Kalender ist ein Problem aufgetreten. Bitte <1>versuchen Sie es erneut1> oder wenden Sie sich an den Support.",
"calendar_connection_fail": "Kalenderverbindung fehlgeschlagen",
@@ -1439,11 +1479,17 @@
"fixed_round_robin": "Festgelegter Round Robin",
"add_one_fixed_attendee": "Fügen Sie einen festen Teilnehmer und einen Round Robin mit einer Reihe von Teilnehmern hinzu.",
"calcom_is_better_with_team": "Cal.com ist mit Teams besser",
+ "the_calcom_team": "Das Cal.com Team",
"add_your_team_members": "Fügen Sie Ihre Teammitglieder zu Ihren Termintypen hinzu. Nutzen Sie kollektive Planung, um alle einzubinden oder finden Sie die geeignetste Person mit der Round Robin Planung.",
"booking_limit_reached": "Das Buchungslimit für diesen Termintyp wurde erreicht",
"duration_limit_reached": "Das Zeitlimit für diesen Termintyp wurde erreicht",
"admin_has_disabled": "Ein Admin hat {{appName}} deaktiviert",
"disabled_app_affects_event_type": "Ein Admin hat {{appName}} deaktiviert, was Ihren Termintyp {{eventType}} betrifft",
+ "event_replaced_notice": "Ein Admin hat einen Ihrer Ereignistypen ersetzt",
+ "email_subject_slug_replacement": "Ein Teamadministrator hat Ihr Ereignis ersetzt /{{slug}}",
+ "email_body_slug_replacement_notice": "Ein Administrator im {{teamName}}-Team hat Ihren Ereignistyp /{{slug}} durch einen verwalteten Ereignistyp ersetzt, den er steuert.",
+ "email_body_slug_replacement_info": "Ihr Link wird weiterhin funktionieren, aber einige Einstellungen werden möglicherweise geändert. Sie können ihn bei Ereignistypen überprüfen.",
+ "email_body_slug_replacement_suggestion": "Wenn Sie Fragen zum Ereignistyp haben, wenden Sie sich bitte an Ihren Administrator.
Fröhliche Terminplanung, Das Cal.com-Team",
"disable_payment_app": "Der Admin hat {{appName}} deaktiviert, wodurch Ihr Termintyp {{title}} beeinflusst wurde. Die Teilnehmer können diesen Termintyp immer noch buchen, werden aber nicht zur Zahlung aufgefordert. Sie können den Termintyp ausblenden, um dies zu verhindern, bis Ihr Administrator Ihre Zahlungsmethode wieder aktiviert.",
"payment_disabled_still_able_to_book": "Die Teilnehmer können diesen Termintyp immer noch buchen, werden aber nicht zur Zahlung aufgefordert. Sie können den Termintyp ausblenden, um dies zu verhindern, bis Ihr Administrator Ihre Zahlungsmethode wieder aktiviert.",
"app_disabled_with_event_type": "Der Admin hat {{appName}} deaktiviert, was Ihren Termintyp {{title}} beeinflusst.",
@@ -1492,6 +1538,7 @@
"date_overrides_update_btn": "Überschreiben aktualisieren",
"event_type_duplicate_copy_text": "{{slug}}-Kopie",
"set_as_default": "Als Standard festlegen",
+ "hide_eventtype_details": "Ereignistyp-Einzelheiten ausblenden",
"show_navigation": "Navigation anzeigen",
"hide_navigation": "Navigation ausblenden",
"verification_code_sent": "Bestätigungscode gesendet",
@@ -1505,6 +1552,7 @@
"create_your_first_team_webhook_description": "Erstellen Sie Ihren ersten Webhook für diesen Team-Ereignistyp",
"create_webhook_team_event_type": "Einen Webhook für diesen Team-Ereignistyp erstellen",
"disable_success_page": "Erfolgsseite deaktivieren (funktioniert nur, wenn eine Weiterleitungs-URL vorhanden ist)",
+ "invalid_admin_password": "Sie sind als Admin festgelegt, benutzen allerdings ein Passwort, das kürzer als 15 Zeichen ist oder verwenden noch keine 2FA",
"change_password_admin": "Passwort ändern, um Adminzugriff zu erhalten",
"username_already_taken": "Benutzername ist bereits vergeben",
"assignment": "Zuordnung",
@@ -1537,6 +1585,7 @@
"ee_enterprise_license": "„/ee“ Enterprise-Lizenz",
"enterprise_booking_fee": "Ab {{enterprise_booking_fee}}/Monat",
"enterprise_license_includes": "Alles für einen kommerziellen Anwendungsfall",
+ "no_need_to_keep_your_code_open_source": "Ihr Code muss nicht open-source bleiben",
"repackage_rebrand_resell": "Einfaches Neuverpacken, Rebranding und Weiterverkaufen",
"a_vast_suite_of_enterprise_features": "Eine große Auswahl an Enterprise-Funktionen",
"free_license_fee": "0,00 €/Monat",
@@ -1598,6 +1647,7 @@
"default_app_link_title": "Standard-App-Link festlegen",
"default_app_link_description": "Mit dem Festlegen eines Standard-App-Links können alle neu erstellten Ereignistypen den App-Link verwenden, den Sie gesetzt haben.",
"change_default_conferencing_app": "Als Standard festlegen",
+ "organizer_default_conferencing_app": "Standard-App des Organisators",
"under_maintenance": "Wartungsarbeiten",
"under_maintenance_description": "Das {{appName}} Team führt geplante Wartungsarbeiten durch. Wenn Sie Fragen haben, wenden Sie sich bitte an den Support.",
"event_type_seats": "{{numberOfSeats}} Sitze",
@@ -1612,6 +1662,7 @@
"not_enough_seats": "Nicht genügend Plätze",
"form_builder_field_already_exists": "Ein Feld mit diesem Namen ist bereits vorhanden",
"form_builder_field_add_subtitle": "Passen Sie die Fragen an, die auf der Buchungsseite gefragt werden",
+ "show_on_booking_page": "Auf der Buchungsseite anzeigen",
"get_started_zapier_templates": "Legen Sie mit Zapier-Vorlagen los",
"team_is_unpublished": "{{team}} ist unveröffentlicht",
"team_is_unpublished_description": "Dieser Team-Link ist derzeit nicht verfügbar. Bitte kontaktieren Sie den Team-Besitzer oder fragen Sie ihn, ob er ihn veröffentlicht.",
@@ -1635,6 +1686,14 @@
"add_1_option_per_line": "1 Option pro Zeile hinzufügen",
"select_a_router": "Weiterleitungsformular auswählen",
"add_a_new_route": "Neue Route hinzufügen",
+ "make_informed_decisions": "Treffen Sie mit Einblicke fundierte Entscheidungen",
+ "make_informed_decisions_description": "Unser Einsichten-Dashboard deckt alle Aktivitäten in Ihrem Team ab und zeigt Ihnen Trends, die eine bessere Teamplanung und Entscheidungsfindung ermöglichen.",
+ "view_bookings_across": "Buchungen für alle Mitglieder anzeigen",
+ "view_bookings_across_description": "Sehen Sie, wer am häufigsten gebucht wird und sorgen Sie für die beste Verteilung in Ihrem Team",
+ "identify_booking_trends": "Buchungstrends erkennen",
+ "identify_booking_trends_description": "Sehen Sie, welche Wochenzeiten und welche Tageszeiten bei Ihren Buchern beliebt sind",
+ "spot_popular_event_types": "Machen Sie beliebte Ereignistypen ausfindig",
+ "spot_popular_event_types_description": "Sehen Sie, welche Ihrer Ereignistypen die meisten Klicks und Buchungen erhalten",
"no_responses_yet": "Noch keine Antworten",
"this_will_be_the_placeholder": "Dies wird der Platzhalter sein",
"this_meeting_has_not_started_yet": "Dieses Meeting hat noch nicht begonnen",
@@ -1646,8 +1705,83 @@
"can_you_try_again": "Können Sie es zu einem anderen Zeitpunkt erneut versuchen?",
"verify": "Bestätigen",
"timezone_variable": "Zeitzone",
+ "timezone_info": "Die Zeitzone der empfangenen Person",
+ "event_end_time_variable": "Ereignis-Endzeitpunkt",
+ "event_end_time_info": "Der Endzeitpunkt des Termins",
+ "cancel_url_variable": "Absage-URL",
+ "cancel_url_info": "Die URL, um die Buchung abzusagen",
+ "reschedule_url_variable": "Umplanungs-URL",
+ "reschedule_url_info": "Die URL, um die Buchung umzuplanen",
"invalid_event_name_variables": "Es gibt eine ungültige Variable in Ihrem Terminnamen",
"select_all": "Alle auswählen",
"default_conferencing_bulk_title": "Massenaktualisierung vorhandener Termintypen",
- "default_conferencing_bulk_description": "Orte für die ausgewählten Termintypen aktualisieren"
+ "members_default_schedule": "Standardverfügbarkeitsplan des Mitglieds",
+ "set_by_admin": "Vom Team-Admin festgelegt",
+ "members_default_location": "Standardstandort des Mitglieds",
+ "members_default_schedule_description": "Wir werden den Standardverfügbarkeitsplan jedes Mitglieds verwenden. Sie können ihn bearbeiten oder ändern.",
+ "requires_at_least_one_schedule": "Sie müssen mindestens einen Verfügbarkeitsplan haben",
+ "default_conferencing_bulk_description": "Orte für die ausgewählten Termintypen aktualisieren",
+ "locked_for_members": "Für Mitglieder gesperrt",
+ "locked_apps_description": "Mitglieder können die aktiven Apps sehen, können aber keine App-Einstellungen anpassen",
+ "locked_webhooks_description": "Mitglieder können die aktiven Webhooks sehen, können aber keine Webhook-Einstellungen anpassen",
+ "locked_workflows_description": "Mitglieder können die aktiven Workflows sehen, können aber keine Workflow-Einstellungen anpassen",
+ "locked_by_admin": "Von Admin gesperrt",
+ "app_not_connected": "Sie haben kein {{appName}}-Konto verbunden.",
+ "connect_now": "Jetzt verbinden",
+ "managed_event_dialog_confirm_button_one": "{{count}} Mitglied ersetzen & benachrichtigen",
+ "managed_event_dialog_confirm_button_other": "{{count}} Mitglieder ersetzen & benachrichtigen",
+ "managed_event_dialog_title_one": "Die URL /{{slug}} ist bereits für {{count}} Mitglied vorhanden. Möchten Sie sie ersetzen?",
+ "managed_event_dialog_title_other": "Die URL /{{slug}} ist bereits für {{count}} Mitglieder vorhanden. Möchten Sie sie ersetzen?",
+ "managed_event_dialog_information_one": "{{names}} verwendet bereits die /{{slug}}-URL.",
+ "managed_event_dialog_information_other": "{{names}} verwenden bereits die /{{slug}}-URL.",
+ "managed_event_dialog_clarification": "Wenn Sie ihn ersetzen, werden wir sie benachrichtigen. Gehen Sie zurück und entfernen Sie sie, wenn Sie ihn nicht überschreiben möchten.",
+ "review_event_type": "Ereignistyp überprüfen",
+ "looking_for_more_analytics": "Suchen Sie nach weiteren Analysedaten?",
+ "looking_for_more_insights": "Suchen Sie nach weiteren Einsichten?",
+ "add_filter": "Filter hinzufügen",
+ "select_user": "Benutzer auswählen",
+ "select_event_type": "Ereignistyp auswählen",
+ "select_date_range": "Datumsbereich auswählen",
+ "popular_events": "Beliebte Ereignisse",
+ "no_event_types_found": "Keine Ereignistypen gefunden",
+ "average_event_duration": "Durchschnittliche Ereignisdauer",
+ "most_booked_members": "Meistgebuchte Mitglieder",
+ "least_booked_members": "Am wenigsten gebuchte Mitglieder",
+ "events_created": "Ereignisse erstellt",
+ "events_completed": "Ereignisse abgeschlossen",
+ "events_cancelled": "Ereignisse abgesagt",
+ "events_rescheduled": "Ereignisse neu geplant",
+ "from_last_period": "vom letzten Zeitraum",
+ "from_to_date_period": "Von: {{startDate}} Bis: {{endDate}}",
+ "analytics_for_organisation": "Einsichten",
+ "subtitle_analytics": "Erfahren Sie mehr über die Aktivität Ihres Teams",
+ "redirect_url_warning": "Das Hinzufügen einer Umleitung wird die Erfolgsseite deaktivieren. Erwähnen Sie \"Buchung bestätigt\" auf Ihrer benutzerdefinierten Erfolgsseite.",
+ "event_trends": "Ereignistrends",
+ "clear_filters": "Filter löschen",
+ "hold": "Halten",
+ "on_booking_option": "Zahlung bei Buchung erhalten",
+ "hold_option": "Gebühr für das Nichterscheinen berechnen",
+ "card_held": "Karte gehalten",
+ "charge_card": "Karte belasten",
+ "card_charged": "Karte belastet",
+ "no_show_fee_amount": "{{amount, currency}} Gebühr für das Nichterscheinen",
+ "no_show_fee": "Gebühr für das Nichterscheinen",
+ "submit_card": "Karte senden",
+ "submit_payment_information": "Zahlungsinformationen senden",
+ "meeting_awaiting_payment_method": "Ihr Meeting wartet auf eine Zahlungsmethode",
+ "no_show_fee_charged_email_subject": "Gebühr für das Nichterscheinen in Höhe von {{amount, currency}} für {{title}} am {{date}} berechnet",
+ "no_show_fee_charged_text_body": "Die Gebühr für das Nichterscheinen wurde berechnet",
+ "no_show_fee_charged_subtitle": "Gebühr für das Nichterscheinen in Höhe von {{amount, currency}} wurde für das folgende Ereignis berechnet",
+ "error_charging_card": "Beim Berechnen der Nichterscheinungsgebühr ist etwas schiefgelaufen. Bitte versuchen Sie es später erneut.",
+ "collect_no_show_fee": "Gebühr für das Nichterscheinen anfordern",
+ "no_show_fee_charged": "Gebühr für das Nichterscheinen berechnet",
+ "insights": "Einsichten",
+ "testing_workflow_info_message": "Bitte beachten Sie beim Testen dieses Workflows, dass E-Mails und SMS spätestens 1 Stunde im Voraus geplant werden können",
+ "insights_no_data_found_for_filter": "Keine Daten für den ausgewählten Filter oder das ausgewählte Datum gefunden.",
+ "acknowledge_booking_no_show_fee": "Ich bestätige, dass meiner Karte eine Gebühr von {{amount, currency}} berechnet wird, sofern ich nicht an diesem Ereignis teilnehme.",
+ "card_details": "Karteninformationen",
+ "seats_and_no_show_fee_error": "Aktuell können keine Plätze aktiviert werden oder eine Gebühr für das Nichterscheinen berechnet werden",
+ "complete_your_booking": "Schließen Sie Ihre Buchung ab",
+ "complete_your_booking_subject": "Schließen Sie Ihre Buchung ab: {{title}} am {{date}}",
+ "email_invite_team": "{{email}} wurde eingeladen"
}
diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json
index 5514bdd3eb..7ebe03beed 100644
--- a/apps/web/public/static/locales/en/common.json
+++ b/apps/web/public/static/locales/en/common.json
@@ -465,7 +465,7 @@
"friday": "Friday",
"saturday": "Saturday",
"sunday": "Sunday",
- "all_booked_today": "All booked today.",
+ "all_booked_today": "All booked.",
"slots_load_fail": "Could not load the available time slots.",
"additional_guests": "Add guests",
"your_name": "Your name",
@@ -1697,6 +1697,15 @@
"spot_popular_event_types_description": "See which of your event types are receiving the most clicks and bookings",
"no_responses_yet": "No responses yet",
"this_will_be_the_placeholder": "This will be the placeholder",
+ "error_booking_event": "An error occured when booking the event, please refresh the page and try again",
+ "timeslot_missing_title": "No timeslot selected",
+ "timeslot_missing_description": "Please select a timeslot to book the event.",
+ "timeslot_missing_cta": "Select timeslot",
+ "switch_monthly": "Switch to monthly view",
+ "switch_weekly": "Switch to weekly view",
+ "switch_multiday": "Switch to day view",
+ "num_locations": "{{num}} location options",
+ "select_on_next_step": "Select on the next step",
"this_meeting_has_not_started_yet": "This meeting has not started yet",
"this_app_requires_connected_account": "{{appName}} requires a connected {{dependencyName}} account",
"connect_app": "Connect {{dependencyName}}",
@@ -1784,11 +1793,13 @@
"seats_and_no_show_fee_error": "Currently cannot enable seats and charge a no-show fee",
"complete_your_booking": "Complete your booking",
"complete_your_booking_subject": "Complete your booking: {{title}} on {{date}}",
+ "confirm_your_details": "Confirm your details",
"currency_string": "{{amount, currency}}",
"charge_card_dialog_body": "You are about to charge the attendee {{amount, currency}}. Are you sure you want to continue?",
"charge_attendee": "Charge attendee {{amount, currency}}",
"payment_app_commission": "Require payment ({{paymentFeePercentage}}% + {{fee, currency}} commission per transaction)",
"email_invite_team": "{{email}} has been invited",
"image_size_limit_exceed": "Uploaded image shouldn't exceed 5mb size limit",
- "currency": "Currency"
+ "currency": "Currency",
+ "error_collecting_card": "Error collecting card"
}
diff --git a/apps/web/public/static/locales/es/common.json b/apps/web/public/static/locales/es/common.json
index 501d7a08b0..6de616c589 100644
--- a/apps/web/public/static/locales/es/common.json
+++ b/apps/web/public/static/locales/es/common.json
@@ -1,4 +1,5 @@
{
+ "identity_provider": "Proveedor de identidad",
"trial_days_left": "Tienes $t(day, {\"count\": {{days}} }) restantes en tu prueba PRO",
"day_one": "{{count}} día",
"day_other": "{{count}} días",
@@ -69,6 +70,8 @@
"event_awaiting_approval_subject": "Esperando aprobación: {{title}} en {{date}}",
"event_still_awaiting_approval": "Un evento aún está esperando su aprobación",
"booking_submitted_subject": "Reserva enviada:{{title}} el {{date}}",
+ "download_recording_subject": "Descargar grabación: {{title}} el {{date}}",
+ "download_your_recording": "Descargue su grabación",
"your_meeting_has_been_booked": "Su reunión ha sido reservada",
"event_type_has_been_rescheduled_on_time_date": "Tu {{title}} ha sido reprogramado para el {{date}}.",
"event_has_been_rescheduled": "Tu evento ha sido reprogramado.",
@@ -111,7 +114,7 @@
"hidden_team_owner_message": "Necesitas una cuenta Pro para gestionar equipos, permanecerás oculto hasta que se realice la mejora.",
"link_expires": "p.s. Expira en {{expiresIn}} horas.",
"upgrade_to_per_seat": "Actualiza a Por-Asiento",
- "seat_options_doesnt_support_confirmation": "La opción de cupos no admite el requisito de confirmación",
+ "seat_options_doesnt_support_confirmation": "La opción de plazas no admite el requisito de confirmación",
"team_upgrade_seats_details": "De los {{memberCount}} miembros de su equipo, no se han pagado {{unpaidCount}} licencia(s). A {{seatPrice}} $/m por licencia, el coste total estimado de su membresía es de {{totalCost}} $/mes.",
"team_upgrade_banner_description": "Gracias por probar nuestro nuevo plan de equipo. Notamos que su equipo \"{{teamName}}\" necesita actualizarse.",
"team_upgrade_banner_action": "Actualizar aquí",
@@ -224,6 +227,7 @@
"done": "Hecho",
"all_done": "¡Todo listo!",
"all_apps": "Todas las aplicaciones",
+ "available_apps": "Aplicaciones disponibles",
"check_email_reset_password": "Revisa tu email. Te hemos enviado un enlace para restablecer tu contraseña.",
"finish": "Terminar",
"few_sentences_about_yourself": "Unas pocas frases sobre ti mismo. Esto aparecerá en tu página de url personal.",
@@ -404,6 +408,7 @@
"add_time_availability": "Añadir nuevo intervalo de tiempo",
"add_an_extra_layer_of_security": "Agregue una capa adicional de seguridad a su cuenta en caso de que le roben su contraseña.",
"2fa": "Autorización de dos factores",
+ "2fa_disabled": "La autenticación de dos factores solo se puede habilitar para la autenticación por correo electrónico y contraseña",
"enable_2fa": "Habilitar la autenticación de dos factores",
"disable_2fa": "Deshabilitar la autenticación de dos factores",
"disable_2fa_recommendation": "Si necesita deshabilitar 2FA, le recomendamos que lo vuelva a habilitar lo antes posible.",
@@ -433,7 +438,7 @@
"password_hint_min": "Mínimo 7 caracteres",
"password_hint_admin_min": "Longitud mínima de 15 caracteres",
"password_hint_num": "Debe contener al menos 1 número",
- "max_limit_allowed_hint": "Debe tener {{limit}} o menos caracteres de largo",
+ "max_limit_allowed_hint": "Debe tener {{limit}} o menos caracteres",
"invalid_password_hint": "La contraseña debe tener un mínimo de {{passwordLength}} caracteres que contengan al menos un número y una mezcla de letras mayúsculas y minúsculas",
"incorrect_password": "La Contraseña es Incorrecta.",
"incorrect_username_password": "El nombre de usuario o la contraseña son incorrectos.",
@@ -460,7 +465,6 @@
"friday": "Viernes",
"saturday": "Sábado",
"sunday": "Domingo",
- "all_booked_today": "Todo Reservado Hoy.",
"slots_load_fail": "No se pudo cargar el intervalo de tiempo disponible.",
"additional_guests": "Añadir invitados",
"your_name": "Tu Nombre",
@@ -585,6 +589,20 @@
"minutes": "Minutos",
"round_robin": "Petición Firmada por Turnos",
"round_robin_description": "Ciclo de reuniones entre varios miembros del equipo.",
+ "managed_event": "Evento gestionado",
+ "username_placeholder": "nombre de usuario",
+ "managed_event_description": "Cree distribuya tipos de eventos de forma masiva a los miembros del equipo",
+ "managed": "Gestionado",
+ "managed_event_url_clarification": "El \"nombre de usuario\" se completará con el nombre de usuario de los miembros asignados",
+ "assign_to": "Asignar a",
+ "add_members": "Agregar miembros...",
+ "count_members_one": "{{count}} miembro",
+ "count_members_other": "{{count}} miembros",
+ "no_assigned_members": "No hay miembros asignados",
+ "assigned_to": "Asignado a",
+ "start_assigning_members_above": "Empezar a asignar miembros arriba",
+ "locked_fields_admin_description": "Los miembros no podrán editar esto",
+ "locked_fields_member_description": "El administrador del equipo bloqueó esta opción",
"url": "URL",
"hidden": "Oculto",
"readonly": "Sólo Lectura",
@@ -736,6 +754,11 @@
"minimum_booking_notice": "Aviso de Reserva",
"slot_interval": "Intervalos de tiempo",
"slot_interval_default": "Usar duración del evento (por defecto)",
+ "delete_event_type": "¿Eliminar tipo de evento?",
+ "delete_managed_event_type": "¿Eliminar tipo de evento administrado?",
+ "delete_event_type_description": "Cualquier persona con la que hayas compartido este enlace ya no podrá reservar con él.",
+ "delete_managed_event_type_description": "
Los miembros asignados a este tipo de evento también verán eliminados sus tipos de evento.
Cualquier persona con la que hayan compartido su enlace ya no podrá reservar mediante su uso.
",
+ "confirm_delete_event_type": "Sí, eliminar",
"delete_account": "Eliminar cuenta",
"confirm_delete_account": "Sí, eliminar cuenta",
"delete_account_confirmation_message": "¿Estás seguro de que quieres eliminar tu cuenta de {{appName}}? Cualquier persona con la que hayas compartido el enlace de tu cuenta ya no podrá agendar con ella y cualquier preferencia que hayas guardado se perderá.",
@@ -860,7 +883,7 @@
"add_new_calendar": "Añadir un calendario nuevo",
"set_calendar": "Especifica dónde se añadirán los eventos nuevos cuando haya reservas.",
"delete_schedule": "Eliminar agenda",
- "delete_schedule_description": "Eliminar un horario lo eliminará de todos los tipos de eventos. Esta acción no se puede deshacer.",
+ "delete_schedule_description": "Al borrar un horario se eliminará de todos los tipos de eventos. Esta acción no se puede deshacer.",
"schedule_created_successfully": "Horario {{scheduleName}} creado con éxito",
"availability_updated_successfully": "El horario de {{scheduleName}} se actualizó correctamente",
"schedule_deleted_successfully": "Programación eliminada exitosamente",
@@ -1126,11 +1149,13 @@
"current_username": "Nombre de usuario actual",
"example_1": "Ejemplo 1",
"example_2": "Ejemplo 2",
+ "booking_question_identifier": "Identificador de preguntas de reserva",
"company_size": "Tamaño de la empresa",
"what_help_needed": "¿Con qué necesitas ayuda?",
"variable_format": "Formato variable",
"webhook_subscriber_url_reserved": "La URL del suscriptor de Webhook ya está definida",
"custom_input_as_variable_info": "Ignore todos los caracteres especiales de la etiqueta de entrada adicional (utilice solo letras y números), utilice mayúsculas para todas las letras y sustituya los espacios en blanco por guiones bajos.",
+ "using_booking_questions_as_variables": "¿Cómo uso las preguntas de reserva como variables?",
"download_desktop_app": "Descargar la aplicación de escritorio",
"set_ping_link": "Establecer enlace Ping",
"rate_limit_exceeded": "Límite de tasa excedido",
@@ -1176,6 +1201,7 @@
"start_of_week": "Inicio de la semana",
"recordings_title": "Grabaciones",
"recording": "Grabación",
+ "happy_scheduling": "Feliz programación",
"select_calendars": "Seleccione los calendarios en los que desee comprobar conflictos para evitar reservas dobles.",
"check_for_conflicts": "Comprobar conflictos",
"view_recordings": "Ver grabaciones",
@@ -1213,6 +1239,7 @@
"impersonation": "Suplantación",
"impersonation_description": "Configuración para administrar la suplantación del usuario",
"users": "Usuarios",
+ "user": "Usuario",
"profile_description": "Administra los ajustes para tu perfil de {{appName}}",
"users_description": "Aquí puede encontrar una lista de todos los usuarios",
"users_listing": "Lista de usuarios",
@@ -1253,6 +1280,8 @@
"download_responses": "Descargar respuestas",
"download_responses_description": "Descargue todas las respuestas de su formulario en formato CSV.",
"download": "Descargar",
+ "download_recording": "Descargar grabación",
+ "recording_from_your_recent_call": "Una grabación de su llamada reciente en Cal.com está lista para su descarga",
"create_your_first_form": "Crea tu primer formulario",
"create_your_first_form_description": "Con los formularios de orientación puedes hacer preguntas calificadoras y encaminarte hacia la persona o tipo de evento correctos.",
"create_your_first_webhook": "Crea tu primer Webhook",
@@ -1289,6 +1318,15 @@
"exchange_authentication_standard": "Autenticación básica",
"exchange_authentication_ntlm": "Autenticación NTLM",
"exchange_compression": "Compresión GZip",
+ "exchange_version": "Versión de Exchange",
+ "exchange_version_2007_SP1": "2007 SP1",
+ "exchange_version_2010": "2010",
+ "exchange_version_2010_SP1": "2010 SP1",
+ "exchange_version_2010_SP2": "2010 SP2",
+ "exchange_version_2013": "2013",
+ "exchange_version_2013_SP1": "2013 SP1",
+ "exchange_version_2015": "2015",
+ "exchange_version_2016": "2016",
"routing_forms_description": "Aquí puedes ver todos los formularios y rutas que has creado.",
"routing_forms_send_email_owner": "Enviar correo electrónico al propietario",
"routing_forms_send_email_owner_description": "Mande un correo electrónico al propietario cuando se envía el formulario",
@@ -1338,11 +1376,12 @@
"report_app": "Denunciar aplicación",
"limit_booking_frequency": "Limite la frecuencia de reserva",
"limit_booking_frequency_description": "Limite la cantidad de veces que se puede reservar este evento",
- "limit_total_booking_duration": "Limite la duración total de la reserva",
- "limit_total_booking_duration_description": "Limite la cantidad total de tiempo que se puede reservar este evento",
+ "limit_total_booking_duration": "Limitar la duración total de la reserva",
+ "limit_total_booking_duration_description": "Limitar la cantidad total de tiempo que se puede reservar este evento",
"add_limit": "Agregue un límite",
"team_name_required": "Nombre de equipo requerido",
"show_attendees": "Comparta información de los asistentes entre los invitados",
+ "how_booking_questions_as_variables": "¿Cómo se utilizan las preguntas de reserva como variables?",
"format": "Formato",
"uppercase_for_letters": "Use mayúsculas para todas las letras",
"replace_whitespaces_underscores": "Reemplace espacios en blanco con guiones bajos",
@@ -1357,6 +1396,7 @@
"billing_help_title": "¿Necesitas algo más?",
"billing_help_description": "Si necesitas más ayuda con la facturación, nuestro equipo de soporte está a tu disposición.",
"billing_help_cta": "Contacte con soporte",
+ "ignore_special_characters_booking_questions": "Ignore los caracteres especiales en su identificador de pregunta de reserva. Use solo letras y números",
"retry": "Reintentar",
"fetching_calendars_error": "Se produjo un problema al recuperar sus calendarios. <1>Inténtelo de nuevo1> o contacte con el servicio de atención al cliente.",
"calendar_connection_fail": "Error de conexión con el calendario",
@@ -1439,11 +1479,17 @@
"fixed_round_robin": "Rotación fija por turnos",
"add_one_fixed_attendee": "Agregue un asistente fijo y realice rotación por turnos a través de un número de asistentes.",
"calcom_is_better_with_team": "Cal.com funciona mejor con equipos",
+ "the_calcom_team": "El equipo de Cal.com",
"add_your_team_members": "Añada los miembros de su equipo a sus tipos de eventos. Utilice la programación colectiva para incluir a todos o encuentre a la persona más adecuada con programación de rotación por turnos.",
"booking_limit_reached": "Se ha alcanzado el límite de reserva para este tipo de evento",
"duration_limit_reached": "Se ha alcanzado el límite de duración para este tipo de evento",
"admin_has_disabled": "Un administrador desactivó {{appName}}",
"disabled_app_affects_event_type": "Un administrador desactivó {{appName}}, lo que afecta a su tipo de evento {{eventType}}",
+ "event_replaced_notice": "Un administrador ha reemplazado uno de sus tipos de eventos",
+ "email_subject_slug_replacement": "Un administrador del equipo ha reemplazado su evento /{{slug}}",
+ "email_body_slug_replacement_notice": "Un administrador del equipo {{teamName}} reemplazó su tipo de evento /{{slug}} con un tipo de evento administrado que él controla.",
+ "email_body_slug_replacement_info": "Su enlace seguirá funcionando, pero algunas configuraciones pueden haber cambiado. Puede revisarlo en tipos de eventos.",
+ "email_body_slug_replacement_suggestion": "Si tiene alguna pregunta sobre el tipo de evento, comuníquese con su administrador.
Feliz programación, El equipo de Cal.com",
"disable_payment_app": "El administrador ha deshabilitado {{appName}}, lo que afecta a su tipo de evento {{title}}. Los asistentes todavía pueden reservar este tipo de evento, pero no se les pedirá que paguen. Puede ocultar el tipo de evento para evitar esto hasta que su administrador habilite de nuevo su método de pago.",
"payment_disabled_still_able_to_book": "Los asistentes todavía pueden reservar este tipo de evento, pero no se les pedirá que paguen. Puede ocultar el tipo de evento para evitarlo hasta que su administrador reactive su método de pago.",
"app_disabled_with_event_type": "El administrador desactivó {{appName}}, lo que afecta a su tipo de evento {{title}}.",
@@ -1492,6 +1538,7 @@
"date_overrides_update_btn": "Actualizar anulación",
"event_type_duplicate_copy_text": "{{slug}}-copia",
"set_as_default": "Establecer como predeterminado",
+ "hide_eventtype_details": "Ocultar detalles del tipo de evento",
"show_navigation": "Mostrar navegación",
"hide_navigation": "Ocultar navegación",
"verification_code_sent": "Se envió el código de verificación",
@@ -1505,6 +1552,7 @@
"create_your_first_team_webhook_description": "Cree su primer webhook para este tipo de evento de equipo",
"create_webhook_team_event_type": "Crear un webhook para este tipo de evento de equipo",
"disable_success_page": "Desactivar página de éxito (solo funciona si tiene una URL de redireccionamiento)",
+ "invalid_admin_password": "Usted es administrador pero no tiene una contraseña de al menos 15 caracteres o ni autenticación de 2 factores",
"change_password_admin": "Cambie la contraseña para obtener acceso de administrador",
"username_already_taken": "Este nombre de usuario ya está en uso",
"assignment": "Asignación",
@@ -1537,6 +1585,7 @@
"ee_enterprise_license": "Licencia Empresarial \"/ee\"",
"enterprise_booking_fee": "A partir de {{enterprise_booking_fee}}/mes",
"enterprise_license_includes": "Todo para un caso de uso comercial",
+ "no_need_to_keep_your_code_open_source": "No es necesario mantener su código abierto",
"repackage_rebrand_resell": "Vuelva a empaquetar, cambie la marca y revenda fácilmente",
"a_vast_suite_of_enterprise_features": "Un amplio conjunto de funciones empresariales",
"free_license_fee": "$0,00/mes",
@@ -1593,11 +1642,12 @@
"no_longer_attending": "Ya no asistirá a este evento",
"attendee_no_longer_attending_subject": "Un asistente ya no asistirá a {{title}} a las {{date}}",
"attendee_no_longer_attending": "Un asistente ya no asistirá a su evento",
- "attendee_no_longer_attending_subtitle": "{{name}} ha cancelado. Esto significa que está disponible un cupo para esta franja horaria",
+ "attendee_no_longer_attending_subtitle": "{{name}} ha cancelado. Esto significa que está disponible una plaza para esta franja horaria",
"create_event_on": "Crear evento en",
"default_app_link_title": "Establecer un enlace de aplicación predeterminado",
"default_app_link_description": "Establecer un enlace de aplicación predeterminado permite que todos los tipos de eventos recién creados utilicen el enlace de aplicación que establezca.",
"change_default_conferencing_app": "Establecer como predeterminado",
+ "organizer_default_conferencing_app": "Aplicación por defecto del organizador",
"under_maintenance": "Fuera de servicio por mantenimiento",
"under_maintenance_description": "El equipo de {{appName}} está realizando un mantenimiento programado. Si tiene alguna pregunta, comuníquese con soporte.",
"event_type_seats": "{{numberOfSeats}} plazas",
@@ -1609,9 +1659,10 @@
"booking_with_payment_cancelled_already_paid": "Un reembolso por el pago de esta reserva está en camino.",
"booking_with_payment_cancelled_refunded": "El pago de esta reserva se ha reembolsado.",
"booking_confirmation_failed": "Error al confirmar la reserva",
- "not_enough_seats": "No hay suficientes cupos",
+ "not_enough_seats": "No hay suficientes plazas",
"form_builder_field_already_exists": "Ya existe un campo con este nombre",
"form_builder_field_add_subtitle": "Personalice las preguntas que se hacen en la página de reservas",
+ "show_on_booking_page": "Mostrar en la página de reserva",
"get_started_zapier_templates": "Comience con las plantillas de Zapier",
"team_is_unpublished": "{{team}} no está publicado",
"team_is_unpublished_description": "Este enlace del equipo no está disponible actualmente. Póngase en contacto con el propietario del equipo o pídale que lo publique.",
@@ -1621,9 +1672,9 @@
"keep_me_connected_with_form": "Mantenerme conectado con el formulario",
"fields_in_form_duplicated": "Cualquier cambio en el enrutador y los campos del formulario que se está duplicando se reflejará en el duplicado.",
"form_deleted": "Formulario eliminado",
- "delete_form": "Eliminar formulario",
+ "delete_form": "¿Está seguro de que desea eliminar este formulario?",
"delete_form_action": "Sí, eliminar formulario",
- "delete_form_confirmation": "¿Está seguro de que desea eliminar este formulario? Cualquier persona con la que haya compartido el enlace ya no podrá reservar con él. Además, se eliminarían todas las respuestas asociadas.",
+ "delete_form_confirmation": "Cualquier persona con la que hayas compartido el enlace ya no podrá acceder a él.",
"delete_form_confirmation_2": "Se eliminarán todas las respuestas asociadas.",
"typeform_redirect_url_copied": "¡Se copió la URL de redireccionamiento de Typeform! Puede ir y establecer la URL en el formulario Typeform.",
"modifications_in_fields_warning": "Las modificaciones en los campos y rutas de los siguientes formularios se reflejarán en este formulario.",
@@ -1635,6 +1686,14 @@
"add_1_option_per_line": "Agregue 1 opción por línea",
"select_a_router": "Seleccione un enrutador",
"add_a_new_route": "Agregar una ruta nueva",
+ "make_informed_decisions": "Tome decisiones informadas con Insights",
+ "make_informed_decisions_description": "Nuestro panel de Insights muestra toda la actividad de su equipo y le muestra las tendencias que permiten una mejor programación y toma de decisiones del equipo.",
+ "view_bookings_across": "Ver reservas entre todos los miembros",
+ "view_bookings_across_description": "Vea quién recibe la mayor cantidad de reservas y garantice la mejor distribución en su equipo",
+ "identify_booking_trends": "Identificar tendencias de reserva",
+ "identify_booking_trends_description": "Consultar qué horas de la semana y qué horas durante el día son populares para sus reservas",
+ "spot_popular_event_types": "Detectar tipos de eventos populares",
+ "spot_popular_event_types_description": "Consulte cuál de sus tipos de eventos están recibiendo más clics y reservas",
"no_responses_yet": "Aún no hay respuestas",
"this_will_be_the_placeholder": "Este será el marcador de posición",
"this_meeting_has_not_started_yet": "Esta reunión aún no ha comenzado",
@@ -1646,8 +1705,83 @@
"can_you_try_again": "¿Puede intentarlo de nuevo con una hora diferente?",
"verify": "Verificar",
"timezone_variable": "Zona Horaria",
+ "timezone_info": "La zona horaria de la persona que recibe",
+ "event_end_time_variable": "Hora de finalización del evento",
+ "event_end_time_info": "La hora de finalización del evento",
+ "cancel_url_variable": "URL de cancelación",
+ "cancel_url_info": "La URL para cancelar la reserva",
+ "reschedule_url_variable": "URL de reprogramación",
+ "reschedule_url_info": "La URL para reprogramar la reserva",
"invalid_event_name_variables": "Hay una variable no válida en el nombre de su evento",
"select_all": "Seleccionar todo",
- "default_conferencing_bulk_title": "Actualización masiva de tipos de eventos existentes",
- "default_conferencing_bulk_description": "Actualizar las ubicaciones para los tipos de eventos seleccionados"
+ "default_conferencing_bulk_title": "Actualización masiva de los tipos de eventos existentes",
+ "members_default_schedule": "Horario predeterminado del miembro",
+ "set_by_admin": "Establecido por el administrador del equipo",
+ "members_default_location": "Ubicación predeterminada del miembro",
+ "members_default_schedule_description": "Usaremos el horario de disponibilidad predeterminado de cada miembro. Podrán editarlo o cambiarlo.",
+ "requires_at_least_one_schedule": "Es necesario tener al menos un horario",
+ "default_conferencing_bulk_description": "Actualizar las ubicaciones para los tipos de eventos seleccionados",
+ "locked_for_members": "Bloqueado para miembros",
+ "locked_apps_description": "Los miembros podrán ver las aplicaciones activas pero no podrán editar ninguna configuración de la aplicación",
+ "locked_webhooks_description": "Los miembros podrán ver los webhooks activos, pero no podrán editar ninguna configuración de webhooks",
+ "locked_workflows_description": "Los miembros podrán ver los flujos de trabajo activos, pero no podrán editar ninguna configuración de flujo de trabajo",
+ "locked_by_admin": "Bloqueado por el administrador",
+ "app_not_connected": "No ha conectado una cuenta de {{appName}}.",
+ "connect_now": "Conectar ahora",
+ "managed_event_dialog_confirm_button_one": "Reemplazar y notificar a {{count}} miembro",
+ "managed_event_dialog_confirm_button_other": "Reemplazar y notificar a {{count}} miembros",
+ "managed_event_dialog_title_one": "La url /{{slug}} ya existe para {{count}} miembro. ¿Desea reemplazarla?",
+ "managed_event_dialog_title_other": "La url /{{slug}} ya existe para {{count}} miembros. ¿Desea reemplazarla?",
+ "managed_event_dialog_information_one": "{{names}} ya usa la url /{{slug}}.",
+ "managed_event_dialog_information_other": "{{names}} ya usan la url /{{slug}}.",
+ "managed_event_dialog_clarification": "Si elige reemplazarlo, se lo notificaremos. Regrese y elimínelos si no desea sobrescribirlo.",
+ "review_event_type": "Revisar tipo de evento",
+ "looking_for_more_analytics": "¿Busca más datos de análisis?",
+ "looking_for_more_insights": "¿Busca más perspectivas?",
+ "add_filter": "Añadir filtro",
+ "select_user": "Seleccionar usuario",
+ "select_event_type": "Seleccionar tipo de evento",
+ "select_date_range": "Seleccionar rango de fechas",
+ "popular_events": "Eventos populares",
+ "no_event_types_found": "No se encontraron tipos de eventos",
+ "average_event_duration": "Duración promedio del evento",
+ "most_booked_members": "Miembros con más reservas",
+ "least_booked_members": "Miembros con menos reservas",
+ "events_created": "Eventos creados",
+ "events_completed": "Eventos completados",
+ "events_cancelled": "Eventos cancelados",
+ "events_rescheduled": "Eventos reprogramados",
+ "from_last_period": "desde el último período",
+ "from_to_date_period": "Desde: {{startDate}} Hasta: {{endDate}}",
+ "analytics_for_organisation": "Perspectivas",
+ "subtitle_analytics": "Obtenga más información sobre la actividad de su equipo",
+ "redirect_url_warning": "Agregar una redirección deshabilitará la página de éxito. Asegúrese de mencionar \"Reserva confirmada\" en su página de éxito personalizada.",
+ "event_trends": "Tendencias del evento",
+ "clear_filters": "Eliminar filtros",
+ "hold": "Retener",
+ "on_booking_option": "Cobrar el pago durante la reserva",
+ "hold_option": "Cobrar comisión por no presentarse",
+ "card_held": "Tarjeta retenida",
+ "charge_card": "Cargar la tarjeta",
+ "card_charged": "Se le cobró a la tarjeta",
+ "no_show_fee_amount": "{{amount, currency}} cargo por no presentarse",
+ "no_show_fee": "Comisión por no presentarse",
+ "submit_card": "Enviar tarjeta",
+ "submit_payment_information": "Enviar información de pago",
+ "meeting_awaiting_payment_method": "Su reunión está esperando un método de pago",
+ "no_show_fee_charged_email_subject": "Comisión por no presentarse de {{amount, currency}} cobrada para {{title}} el {{date}}",
+ "no_show_fee_charged_text_body": "Se cobró una tarifa por no presentarse",
+ "no_show_fee_charged_subtitle": "Se cobró una comisión de {{amount, currency}} por no presentarse al siguiente evento",
+ "error_charging_card": "Algo salió mal al cobrar la tarifa por no presentarse. Inténtelo de nuevo más tarde.",
+ "collect_no_show_fee": "Cobrar comisión por no presentarse",
+ "no_show_fee_charged": "Comisión por no presentarse cobrada",
+ "insights": "Insights",
+ "testing_workflow_info_message": "Al probar este flujo de trabajo, tenga en cuenta que los correos electrónicos y los SMS solo se pueden programar con al menos 1 hora de anticipación",
+ "insights_no_data_found_for_filter": "No se encontraron datos para el filtro seleccionado o las fechas seleccionadas.",
+ "acknowledge_booking_no_show_fee": "Reconozco que si no asisto a este evento, se aplicará a mi tarjeta una tarifa de {{amount, currency}} por no presentarse.",
+ "card_details": "Detalles de la tarjeta",
+ "seats_and_no_show_fee_error": "Actualmente no se pueden habilitar cupos ni cobrar una tarifa por no presentarse",
+ "complete_your_booking": "Complete su reserva",
+ "complete_your_booking_subject": "Complete su reserva: {{title}} el {{date}}",
+ "email_invite_team": "Se ha invitado a {{email}}"
}
diff --git a/apps/web/public/static/locales/fr/common.json b/apps/web/public/static/locales/fr/common.json
index eb08828587..27e2df620f 100644
--- a/apps/web/public/static/locales/fr/common.json
+++ b/apps/web/public/static/locales/fr/common.json
@@ -465,7 +465,7 @@
"friday": "Vendredi",
"saturday": "Samedi",
"sunday": "Dimanche",
- "all_booked_today": "Tout est réservé pour aujourd'hui.",
+ "all_booked_today": "Tout est réservé.",
"slots_load_fail": "Impossible de charger les créneaux disponibles.",
"additional_guests": "Ajouter des invités",
"your_name": "Votre nom",
@@ -1697,6 +1697,15 @@
"spot_popular_event_types_description": "Découvrez lesquels de vos types d'événements reçoivent le plus de clics et de réservations.",
"no_responses_yet": "Aucune réponse pour l'instant",
"this_will_be_the_placeholder": "Ce sera le texte de substitution",
+ "error_booking_event": "Une erreur s'est produite lors de la réservation de l'événement, veuillez actualiser la page et réessayer",
+ "timeslot_missing_title": "Aucun créneau sélectionné",
+ "timeslot_missing_description": "Veuillez sélectionner un créneau pour réserver l'événement.",
+ "timeslot_missing_cta": "Sélectionner un créneau",
+ "switch_monthly": "Passer en vue mensuelle",
+ "switch_weekly": "Passer en vue hebdomadaire",
+ "switch_multiday": "Passer en vue journalière",
+ "num_locations": "{{num}} options de lieu",
+ "select_on_next_step": "Sélectionner à l'étape suivante",
"this_meeting_has_not_started_yet": "Ce rendez-vous n'a pas encore commencé",
"this_app_requires_connected_account": "{{appName}} requiert un compte {{dependencyName}} connecté",
"connect_app": "Connecter {{dependencyName}}",
@@ -1784,10 +1793,12 @@
"seats_and_no_show_fee_error": "Il n'est pas possible d'activer les places et de facturer des frais d'absence pour le moment",
"complete_your_booking": "Terminer votre réservation",
"complete_your_booking_subject": "Terminer votre réservation : {{title}} le {{date}}",
+ "confirm_your_details": "Confirmez vos coordonnées",
"currency_string": "{{amount, currency}}",
"charge_card_dialog_body": "Vous êtes sur le point de facturer {{amount, currency}} au participant. Voulez-vous vraiment continuer ?",
"charge_attendee": "Facturer {{amount, currency}} au participant",
"payment_app_commission": "Exiger un paiement ({{paymentFeePercentage}} % + {{fee, currency}} de commission par transaction)",
"email_invite_team": "{{email}} a été invité",
+ "error_collecting_card": "Erreur lors de la collecte de la carte",
"image_size_limit_exceed": "L'image téléchargée ne doit pas dépasser 5 Mo"
}
diff --git a/apps/web/public/static/locales/he/common.json b/apps/web/public/static/locales/he/common.json
index d3057426a7..ab7893257a 100644
--- a/apps/web/public/static/locales/he/common.json
+++ b/apps/web/public/static/locales/he/common.json
@@ -460,7 +460,6 @@
"friday": "יום שישי",
"saturday": "יום שבת",
"sunday": "יום ראשון",
- "all_booked_today": "כל חלונות הזמן להיום הוזמנו.",
"slots_load_fail": "לא ניתן לטעון את חלונות הזמן הזמינים.",
"additional_guests": "הוספת אורחים",
"your_name": "שמך",
diff --git a/apps/web/public/static/locales/it/common.json b/apps/web/public/static/locales/it/common.json
index 2927e22ef7..3b41e78f5e 100644
--- a/apps/web/public/static/locales/it/common.json
+++ b/apps/web/public/static/locales/it/common.json
@@ -465,7 +465,6 @@
"friday": "Venerdì",
"saturday": "Sabato",
"sunday": "Domenica",
- "all_booked_today": "Tutto prenotato oggi.",
"slots_load_fail": "Impossibile caricare gli intervalli di tempo disponibili.",
"additional_guests": "Aggiungi ospiti",
"your_name": "Il tuo nome",
@@ -1636,15 +1635,15 @@
"recommended_next_steps": "Passaggi successivi consigliati",
"create_a_managed_event": "Crea un tipo di evento gestito",
"meetings_are_better_with_the_right": "Le riunioni sono efficaci quando sono presenti le persone giuste. Invitale adesso.",
- "create_a_one_one_template": "Crea un modello di incontro uno a uno per un tipo di evento e distribuiscilo a più membri.",
+ "create_a_one_one_template": "Crea un modello uno a uno per un tipo di evento e distribuiscilo a più membri.",
"collective_or_roundrobin": "Di gruppo o round robin",
"book_your_team_members": "Usa eventi di gruppo per riunire tutti i membri del team o eventi round robin per fare partecipare a rotazione le persone giuste.",
"event_no_longer_attending_subject": "Non partecipa più a {{title}} con il seguente orario: {{date}}",
"no_longer_attending": "Non partecipi più a questo evento",
"attendee_no_longer_attending_subject": "Un partecipante non partecipa più a {{title}} con il seguente orario {{date}}",
"attendee_no_longer_attending": "Un partecipante non partecipa più al tuo evento",
- "attendee_no_longer_attending_subtitle": "{{name}} ha cancellato. Di conseguenza, si è liberato un posto in questa fascia oraria",
- "create_event_on": "Crea evento in data",
+ "attendee_no_longer_attending_subtitle": "{{name}} ha disdetto. Di conseguenza, si è liberato un posto in questa fascia oraria",
+ "create_event_on": "Crea evento in",
"default_app_link_title": "Imposta il link dell'app predefinita",
"default_app_link_description": "L'impostazione di un link dell'app predefinita permette a tutti i nuovi tipi di eventi di usare il link dell'app impostato.",
"change_default_conferencing_app": "Imposta come predefinito",
@@ -1652,7 +1651,7 @@
"under_maintenance": "Inattivo per manutenzione",
"under_maintenance_description": "Il team di {{appName}} sta eseguendo la manutenzione programmata. Per qualsiasi domanda, contattare il supporto.",
"event_type_seats": "{{numberOfSeats}} posti",
- "booking_questions_title": "Domande al momento della prenotazione",
+ "booking_questions_title": "Domande per la prenotazione",
"booking_questions_description": "Personalizza le domande poste nella pagina di prenotazione",
"add_a_booking_question": "Aggiungi una domanda",
"duplicate_email": "Indirizzo e-mail duplicato",
@@ -1673,9 +1672,9 @@
"keep_me_connected_with_form": "Mantieni la connessione con il modulo",
"fields_in_form_duplicated": "Le eventuali modifiche all'instradatore e ai campi del modulo da duplicare si rifletteranno nel duplicato.",
"form_deleted": "Modulo eliminato",
- "delete_form": "Elimina modulo",
+ "delete_form": "Confermi l'eliminazione del modulo?",
"delete_form_action": "Sì, elimina modulo",
- "delete_form_confirmation": "Eliminare questo modulo? Gli utenti con cui hai condiviso il link non saranno più in grado di usarlo per prenotare. Inoltre, verranno eliminate tutte le risposte a esso associate.",
+ "delete_form_confirmation": "Gli utenti con cui hai condiviso il link non potranno più accedervi.",
"delete_form_confirmation_2": "Tutte le risposte associate verranno eliminate.",
"typeform_redirect_url_copied": "URL di reindirizzamento Typeform copiato! È possibile andare a impostare l'URL ne modulo Typeform.",
"modifications_in_fields_warning": "Le eventuali modifiche apportate ai campi e ai percorsi dei seguenti moduli si rifletteranno in questo modulo.",
diff --git a/apps/web/public/static/locales/ja/common.json b/apps/web/public/static/locales/ja/common.json
index 6f2dabb204..7b6d78164d 100644
--- a/apps/web/public/static/locales/ja/common.json
+++ b/apps/web/public/static/locales/ja/common.json
@@ -438,7 +438,7 @@
"password_hint_min": "7 文字以上入力してください",
"password_hint_admin_min": "15 文字以上入力してください",
"password_hint_num": "少なくとも 1 文字は数字を含めてください",
- "max_limit_allowed_hint": "{{limit}} 文字以下でなくてはいけません",
+ "max_limit_allowed_hint": "{{limit}} 文字以下で入力してください",
"invalid_password_hint": "パスワードには少なくとも 1 文字以上数字を含め、アルファベットの大文字と小文字を両方使用した上で {{passwordLength}} 文字以上の長さに設定してください",
"incorrect_password": "パスワードが正しくありません。",
"incorrect_username_password": "ユーザー名またはパスワードが正しくありません。",
@@ -465,7 +465,6 @@
"friday": "金曜日",
"saturday": "土曜日",
"sunday": "日曜日",
- "all_booked_today": "今日はすべて予約されています。",
"slots_load_fail": "利用可能な時間帯を読み込めませんでした。",
"additional_guests": "ゲストを追加",
"your_name": "あなたの名前",
@@ -884,7 +883,7 @@
"add_new_calendar": "新しいカレンダーを追加",
"set_calendar": "予約時に新しいイベントを追加する場所を設定します。",
"delete_schedule": "スケジュールを削除",
- "delete_schedule_description": "スケジュールを削除すると、すべてのイベントタイプから削除されます。このアクションは元に戻せません。",
+ "delete_schedule_description": "スケジュールを削除すると、すべてのイベントの種類から削除されます。この操作は元に戻せません。",
"schedule_created_successfully": "{{scheduleName}} のスケジュールが正常に作成されました",
"availability_updated_successfully": "{{scheduleName}} スケジュールが正常に更新されました",
"schedule_deleted_successfully": "スケジュールが正常に削除されました",
@@ -1180,7 +1179,7 @@
"event_setup_multiple_duration_error": "イベント設定:複数の期間には少なくとも1つのオプションが必要です。",
"event_setup_multiple_duration_default_error": "イベント設定:有効なデフォルト期間を選択してください。",
"event_setup_booking_limits_error": "予約の上限の日時表記は昇順にする必要があります。[日、週、月、年]",
- "event_setup_duration_limits_error": "時間の上限の表記は昇順にする必要があります。[日、週、月、年]",
+ "event_setup_duration_limits_error": "期間の上限は昇順にする必要があります。[日、週、月、年]",
"select_which_cal": "予約を追加するカレンダーを選択してください",
"custom_event_name": "カスタムイベント名",
"custom_event_name_description": "カレンダーのイベントに表示するカスタマイズされたイベント名を作成します",
@@ -1377,7 +1376,7 @@
"report_app": "アプリを報告",
"limit_booking_frequency": "予約の頻度に上限を設定する",
"limit_booking_frequency_description": "このイベントを予約できる回数に上限を設定する",
- "limit_total_booking_duration": "総予約時間の上限を設定",
+ "limit_total_booking_duration": "総予約期間に上限を設定する",
"limit_total_booking_duration_description": "このイベントを予約できる時間の合計に上限を設定する",
"add_limit": "上限を追加する",
"team_name_required": "チーム名が必要です",
@@ -1483,7 +1482,7 @@
"the_calcom_team": "Cal.com チーム",
"add_your_team_members": "イベントの種類にチームメンバーを追加します。一括スケジューリングで全員を参加させたり、ラウンドロビンスケジューリングで最適な人を設定したりすることができます。",
"booking_limit_reached": "このイベントタイプの予約上限に達しました",
- "duration_limit_reached": "このイベントタイプの時間上限に達しました",
+ "duration_limit_reached": "このイベントの種類の期間の上限に達しました",
"admin_has_disabled": "管理者が {{appName}} を無効にしています",
"disabled_app_affects_event_type": "管理者が {{appName}} を無効にしているため、あなたのイベントの種類 {{eventType}} に影響を与える可能性があります",
"event_replaced_notice": "管理者があなたのイベントタイプの1つを置き換えました",
@@ -1574,7 +1573,7 @@
"sender_name": "送信者の名前",
"already_invited": "すでに招待されている出席者です",
"no_recordings_found": "録音が見つかりません",
- "new_workflow_subtitle": "...の新しいワークフロー",
+ "new_workflow_subtitle": "以下に関する新しいワークフロー...",
"reporting": "報告",
"reporting_feature": "すべての受信データを表示し、CSV 形式でダウンロード",
"teams_plan_required": "チームプランが必要です",
@@ -1636,15 +1635,15 @@
"recommended_next_steps": "推奨される次のステップ",
"create_a_managed_event": "管理されたイベントの種類を作成",
"meetings_are_better_with_the_right": "ミーティングは適切なチームメンバーの参加によってより良いものになります。今すぐ彼らを招待しましょう。",
- "create_a_one_one_template": "イベントタイプにマンツーマンテンプレートを作成して複数のメンバーに配布します。",
+ "create_a_one_one_template": "イベントの種類に 1 対 1 のテンプレートを作成して複数のメンバーに配布します。",
"collective_or_roundrobin": "共有またはラウンドロビン",
"book_your_team_members": "共有イベントでチームメンバーを一緒に予約するか、ラウンドロビンで持ち回りにして適切なユーザーを確保します。",
"event_no_longer_attending_subject": "{{date}} の {{title}} には出席しなくなりました",
"no_longer_attending": "このイベントには出席しなくなりました",
"attendee_no_longer_attending_subject": "出席者は {{date}} の {{title}} には出席しなくなりました",
"attendee_no_longer_attending": "出席者はあなたのイベントに出席しなくなりました",
- "attendee_no_longer_attending_subtitle": "{{name}} はキャンセルしました。つまりこの時間帯の座席が 1 つ利用可能になりました",
- "create_event_on": "にイベントを作成",
+ "attendee_no_longer_attending_subtitle": "{{name}} がキャンセルしました。これにより、この時間帯の座席が 1 つ利用可能になりました",
+ "create_event_on": "次のカレンダーにイベントを作成",
"default_app_link_title": "デフォルトのアプリリンクを設定",
"default_app_link_description": "デフォルトのアプリリンクを設定することで、新たに作成するすべてのイベントの種類が設定したアプリリンクを使用できるようになります。",
"change_default_conferencing_app": "デフォルトとして設定",
@@ -1660,7 +1659,7 @@
"booking_with_payment_cancelled_already_paid": "この予約に関するお支払いの払い戻しについては、現在処理中です。",
"booking_with_payment_cancelled_refunded": "この予約に関するお支払いは、返金されています。",
"booking_confirmation_failed": "予約の確認に失敗しました",
- "not_enough_seats": "座席が足りません",
+ "not_enough_seats": "座席が不足しています",
"form_builder_field_already_exists": "この名前のフィールドは既に存在します",
"form_builder_field_add_subtitle": "予約ページで尋ねる質問をカスタマイズする",
"show_on_booking_page": "予約ページに表示",
@@ -1673,10 +1672,10 @@
"keep_me_connected_with_form": "フォームに接続したままにする",
"fields_in_form_duplicated": "ルーティングフォームとフォームフィールドの変更内容は複製され、複製に反映されます。",
"form_deleted": "フォームを削除しました",
- "delete_form": "フォームを削除",
+ "delete_form": "このフォームを削除してもよろしいですか?",
"delete_form_action": "はい。フォームを削除します",
- "delete_form_confirmation": "このフォームを削除してもよろしいですか?これまでにリンクを共有した相手の人はリンクを使って予約することができなくなります。また、関連する回答はすべて削除されます。",
- "delete_form_confirmation_2": "関連するすべての回答が削除されます。",
+ "delete_form_confirmation": "これまでにリンクを共有したユーザーは今後このフォームにアクセスできなくなります。",
+ "delete_form_confirmation_2": "また、関連するすべての回答が削除されます。",
"typeform_redirect_url_copied": "Typeform のリダイレクト URL をコピーしました!URL は Typeform のフォームで設定できます。",
"modifications_in_fields_warning": "以下のフォームのフィールドとルートへの変更は、このフォームに反映されます。",
"connected_forms": "接続されているフォーム",
@@ -1703,7 +1702,7 @@
"app_is_connected": "{{dependencyName}} が接続されました",
"requires_app": "{{dependencyName}} が必要です",
"verification_code": "確認コード",
- "can_you_try_again": "別の時間帯でもう1度お試しください",
+ "can_you_try_again": "別の時間帯でもう 1 度お試しください",
"verify": "確認する",
"timezone_variable": "タイムゾーン",
"timezone_info": "受け取る人のタイムゾーン",
@@ -1714,14 +1713,14 @@
"reschedule_url_variable": "スケジュール変更 URL",
"reschedule_url_info": "予約をスケジュール変更するための URL",
"invalid_event_name_variables": "イベント名に無効な変数があります",
- "select_all": "すべてを選択",
- "default_conferencing_bulk_title": "既存のイベントタイプを一括更新する",
+ "select_all": "すべて選択",
+ "default_conferencing_bulk_title": "既存のイベントの種類を一括更新する",
"members_default_schedule": "メンバーのデフォルトスケジュール",
"set_by_admin": "チーム管理者により設定",
"members_default_location": "メンバーのデフォルトの場所",
"members_default_schedule_description": "各メンバーのデフォルトの空き状況スケジュールを使用します。メンバーはスケジュールを編集したり、変更したりできます。",
"requires_at_least_one_schedule": "少なくとも 1 つのスケジュールが必要です",
- "default_conferencing_bulk_description": "選択したイベントタイプの場所を更新します",
+ "default_conferencing_bulk_description": "選択したイベントの種類の場所を更新します",
"locked_for_members": "メンバーにはロックされています",
"locked_apps_description": "メンバーは有効なアプリを確認できますが、アプリの設定を編集することはできません",
"locked_webhooks_description": "メンバーは有効なウェブフックを確認できますが、ウェブフックの設定を編集することはできません",
diff --git a/apps/web/public/static/locales/ko/common.json b/apps/web/public/static/locales/ko/common.json
index 1a8602c799..11041ce161 100644
--- a/apps/web/public/static/locales/ko/common.json
+++ b/apps/web/public/static/locales/ko/common.json
@@ -114,7 +114,7 @@
"hidden_team_owner_message": "팀을 사용하려면 Pro 계정이 필요합니다. 귀하의 계정은 업그레이드할 때까지 숨겨졌습니다.",
"link_expires": "{{expiresIn}} 시간 안에 만료됩니다.",
"upgrade_to_per_seat": "시트 단위로 업그레이드",
- "seat_options_doesnt_support_confirmation": "좌석 옵션은 확인 요구 사항을 지원하지 않습니다",
+ "seat_options_doesnt_support_confirmation": "좌석 옵션이 확인 요구 사항을 지원하지 않습니다",
"team_upgrade_seats_details": "귀하의 팀원 {{memberCount}}명 중 {{unpaidCount}}명의 시트 비용이 미지급되었습니다. 시트당 ${{seatPrice}}/m로 계산시, 예상 총 멤버십 비용은 ${{totalCost}}/m입니다.",
"team_upgrade_banner_description": "당사의 새로운 팀 플랜을 사용해 주셔서 감사합니다. 귀하의 \"{{teamName}}\" 팀에 업그레이드가 필요한 것으로 확인되었습니다.",
"team_upgrade_banner_action": "여기서 업그레이드",
@@ -438,7 +438,7 @@
"password_hint_min": "최소 7자 길이",
"password_hint_admin_min": "최소 15자 길이",
"password_hint_num": "1개 이상 숫자 포함",
- "max_limit_allowed_hint": "반드시 {{limit}}자 이하여야 합니다",
+ "max_limit_allowed_hint": "{{limit}}자 이하여야 합니다",
"invalid_password_hint": "비밀번호는 7자 이상이어야 하고 숫자가 하나 이상 포함되어야 하며 대문자와 소문자가 혼합되어야 합니다",
"incorrect_password": "비밀번호가 잘못되었습니다",
"incorrect_username_password": "사용자 이름 또는 비밀번호가 잘못되었습니다.",
@@ -465,7 +465,6 @@
"friday": "금요일",
"saturday": "토요일",
"sunday": "일요일",
- "all_booked_today": "오늘 모두 예약되었습니다.",
"slots_load_fail": "사용 가능한 시간 슬롯을 로드할 수 없습니다.",
"additional_guests": "게스트 추가",
"your_name": "당신의 이름",
@@ -1574,7 +1573,7 @@
"sender_name": "발신자 이름",
"already_invited": "이미 초대된 참석자",
"no_recordings_found": "기록 없음",
- "new_workflow_subtitle": "새 워크플로...",
+ "new_workflow_subtitle": "새 워크플로 대상...",
"reporting": "보고",
"reporting_feature": "데이터에서 들어오는 모든 것을 확인하고 CSV 파일로 다운로드",
"teams_plan_required": "Teams 플랜이 필요함",
@@ -1636,14 +1635,14 @@
"recommended_next_steps": "권장하는 다음 단계",
"create_a_managed_event": "관리형 이벤트 유형 생성",
"meetings_are_better_with_the_right": "회의는 그 위치에서 해당 팀원과 함께 하는 것이 더 좋습니다. 지금 초대하세요.",
- "create_a_one_one_template": "이벤트 유형에 대한 일대일 템플릿을 만들어 여러 일원에게 배포하십시오.",
+ "create_a_one_one_template": "이벤트 타입에 대한 일대일 템플릿을 만들어 여러 회원에게 배포하십시오.",
"collective_or_roundrobin": "단체 또는 라운드로빈",
"book_your_team_members": "단체 이벤트를 통해 팀원을 함께 예약하거나 라운드로빈으로 돌아가며 해당 팀원을 초대하세요.",
- "event_no_longer_attending_subject": "더 이상 {{date}}자 {{title}}에 참석하지 않고 있습니다",
+ "event_no_longer_attending_subject": "더 이상 {{date}} 날짜에 {{title}}에 참석하지 않음",
"no_longer_attending": "더 이상 이 이벤트에 참석하지 않고 계십니다",
- "attendee_no_longer_attending_subject": "참석자가 더 이상 {{date}}자 {{title}}에 참석하고 있지 않습니다",
+ "attendee_no_longer_attending_subject": "참석자가 더 이상 {{date}} 날짜에 {{title}}에 참석하지 않습니다",
"attendee_no_longer_attending": "참석자가 더 이상 이벤트에 참석하고 있지 않습니다",
- "attendee_no_longer_attending_subtitle": "{{name}}이(가) 취소되었습니다. 즉, 이 시간대에 좌석이 비었다는 의미입니다",
+ "attendee_no_longer_attending_subtitle": "{{name}}이(가) 취소되었습니다. 즉, 이 시간 슬롯에 좌석이 비어 있습니다",
"create_event_on": "이벤트 생성일:",
"default_app_link_title": "기본 앱 링크 설정",
"default_app_link_description": "기본 앱 링크를 설정하면 새로 생성된 모든 이벤트 유형에서 설정된 앱 링크를 사용할 수 있습니다.",
@@ -1673,10 +1672,10 @@
"keep_me_connected_with_form": "양식과 연결 상태 유지",
"fields_in_form_duplicated": "복제되는 양식에 있는 라우터 및 필드의 변경 사항은 복제본에 반영됩니다.",
"form_deleted": "양식 삭제됨",
- "delete_form": "양식 삭제",
+ "delete_form": "이 양식을 삭제하시겠습니까?",
"delete_form_action": "예, 양식을 삭제하겠습니다",
- "delete_form_confirmation": "이 양식을 삭제하시겠습니까? 링크를 공유한 사용자는 더 이상 링크를 사용하여 예약할 수 없습니다. 또한 모든 관련 응답도 삭제됩니다.",
- "delete_form_confirmation_2": "모든 연결된 응답은 삭제됩니다.",
+ "delete_form_confirmation": "링크를 공유한 모든 사람이 더 이상 여기에 액세스할 수 없게 됩니다.",
+ "delete_form_confirmation_2": "연결된 모든 응답이 삭제됩니다.",
"typeform_redirect_url_copied": "Typeform Redirect URL이 복사되었습니다! Typeform 양식으로 이동하여 URL을 설정할 수 있습니다.",
"modifications_in_fields_warning": "다음 양식의 필드 및 경로에 대한 수정 사항은 이 양식에 반영됩니다.",
"connected_forms": "연결된 양식",
@@ -1698,7 +1697,7 @@
"no_responses_yet": "아직 응답 없음",
"this_will_be_the_placeholder": "이것은 자리 표시자가 됩니다",
"this_meeting_has_not_started_yet": "이 회의는 아직 시작되지 않았습니다",
- "this_app_requires_connected_account": "{{appName}}에서 연결된 {{dependencyName}} 계정이 필요합니다",
+ "this_app_requires_connected_account": "{{appName}}에 연결된 {{dependencyName}} 계정이 필요합니다",
"connect_app": "{{dependencyName}} 연결",
"app_is_connected": "{{dependencyName}} 연결됨",
"requires_app": "{{dependencyName}} 필요",
@@ -1715,13 +1714,13 @@
"reschedule_url_info": "예약 일정 변경 URL",
"invalid_event_name_variables": "이벤트 이름에 유효하지 않은 변수가 있습니다",
"select_all": "모두 선택",
- "default_conferencing_bulk_title": "기존 이벤트 유형 일괄 업데이트",
+ "default_conferencing_bulk_title": "기존 이벤트 타입을 일괄 업데이트",
"members_default_schedule": "회원의 기본 일정",
"set_by_admin": "팀 관리자에 의해 설정됨",
"members_default_location": "회원의 기본 위치",
"members_default_schedule_description": "각 회원의 기본 사용 가능 일정을 사용합니다. 편집 또는 변경할 수 있습니다.",
"requires_at_least_one_schedule": "적어도 한 개 이상의 스케줄이 필요합니다",
- "default_conferencing_bulk_description": "선택한 이벤트 유형의 위치 업데이트",
+ "default_conferencing_bulk_description": "선택한 이벤트 타입의 위치 업데이트",
"locked_for_members": "회원에 대해 잠김",
"locked_apps_description": "회원은 활성 앱을 볼 수 있지만 앱 설정을 편집할 수는 없습니다",
"locked_webhooks_description": "회원은 활성 웹훅을 볼 수 있지만 웹훅 설정을 편집할 수는 없습니다",
diff --git a/apps/web/public/static/locales/nl/common.json b/apps/web/public/static/locales/nl/common.json
index 4bfc4bdd19..1ed87b97fa 100644
--- a/apps/web/public/static/locales/nl/common.json
+++ b/apps/web/public/static/locales/nl/common.json
@@ -1,4 +1,5 @@
{
+ "identity_provider": "Identiteitsprovider",
"trial_days_left": "U heeft nog $t(day, {\"count\": {{days}} }) over van uw PRO-proefperiode",
"day_one": "{{count}} dag",
"day_other": "{{count}} dagen",
@@ -69,6 +70,8 @@
"event_awaiting_approval_subject": "In afwachting van goedkeuring: {{title}} om {{date}}",
"event_still_awaiting_approval": "Een gebeurtenis wacht nog op uw goedkeuring",
"booking_submitted_subject": "Boeking verzonden: {{title}} om {{date}}",
+ "download_recording_subject": "Opname downloaden: {{title}} op {{date}}",
+ "download_your_recording": "Download uw opname",
"your_meeting_has_been_booked": "Uw afspraak is geboekt",
"event_type_has_been_rescheduled_on_time_date": "Uw {{title}} is verplaatst naar {{date}}.",
"event_has_been_rescheduled": "Bijgewerkt - Uw gebeurtenis is verplaatst",
@@ -224,6 +227,7 @@
"done": "Voltooid",
"all_done": "Helemaal klaar!",
"all_apps": "Alle apps",
+ "available_apps": "Beschikbare apps",
"check_email_reset_password": "Controleer uw e-mail. We hebben u een link gestuurd om uw wachtwoord opnieuw in te stellen.",
"finish": "Voltooien",
"few_sentences_about_yourself": "Een korte introductie over uzelf. Dit wordt weergegeven op uw persoonlijke pagina.",
@@ -404,6 +408,7 @@
"add_time_availability": "Nieuw tijdslot toevoegen",
"add_an_extra_layer_of_security": "Voeg een extra beveiligingslaag toe aan uw account in het geval uw wachtwoord gestolen wordt.",
"2fa": "Tweestapsverificatie",
+ "2fa_disabled": "Tweestapsverificatie kan alleen worden ingeschakeld voor e-mail- en wachtwoordverificatie",
"enable_2fa": "Tweestapsverificatie inschakelen",
"disable_2fa": "Tweestapsverificatie uitschakelen",
"disable_2fa_recommendation": "Als u tweestapsverificatie wilt deactiveren, raden wij aan om dit zo snel mogelijk ongedaan te maken.",
@@ -460,7 +465,6 @@
"friday": "Vrijdag",
"saturday": "Zaterdag",
"sunday": "Zondag",
- "all_booked_today": "Deze dag is volgeboekt.",
"slots_load_fail": "De beschikbare tijdsperiodes konden niet worden geladen.",
"additional_guests": "Gasten toevoegen",
"your_name": "Uw naam",
@@ -585,6 +589,20 @@
"minutes": "Minuten",
"round_robin": "Round Robin",
"round_robin_description": "Afspraken wisselen tussen meerdere teamleden.",
+ "managed_event": "Beheerde gebeurtenis",
+ "username_placeholder": "gebruikersnaam",
+ "managed_event_description": "Maak en distribueer gebeurtenistypen in bulk naar teamleden",
+ "managed": "Beheerd",
+ "managed_event_url_clarification": "\"gebruikersnaam\" wordt gevuld met de gebruikersnaam van de toegewezen leden",
+ "assign_to": "Toewijzen aan",
+ "add_members": "Leden toevoegen...",
+ "count_members_one": "{{count}} lid",
+ "count_members_other": "{{count}} leden",
+ "no_assigned_members": "Geen toegewezen leden",
+ "assigned_to": "Toegewezen aan",
+ "start_assigning_members_above": "Begin met het toewijzen van leden hierboven",
+ "locked_fields_admin_description": "Leden kunnen dit niet bewerken",
+ "locked_fields_member_description": "Deze optie is vergrendeld door de teambeheerder",
"url": "Link",
"hidden": "Verborgen",
"readonly": "Enkel-lezen",
@@ -736,6 +754,11 @@
"minimum_booking_notice": "Minimale kennisgevingstermijn",
"slot_interval": "Tijdslot intervallen",
"slot_interval_default": "Gebruik evenement lengte (standaard)",
+ "delete_event_type": "Gebeurtenistype verwijderen?",
+ "delete_managed_event_type": "Beheerd gebeurtenistype verwijderen?",
+ "delete_event_type_description": "Iedereen met wie u deze link hebt gedeeld, kan niet meer boeken via deze link.",
+ "delete_managed_event_type_description": "
De gebeurtenistypen van leden die aan dit gebeurtenistype zijn toegewezen, worden ook verwijderd.
Iedereen met wie zij hun link hebben gedeeld, kan niet meer boeken via deze link.
",
+ "confirm_delete_event_type": "Ja, verwijderen",
"delete_account": "Account verwijderen",
"confirm_delete_account": "Ja, account verwijderen",
"delete_account_confirmation_message": "Weet u zeker dat u uw {{appName}}-account wilt verwijderen? Iedereen met wie u uw accountlink gedeeld heeft, kan er niet meer mee boeken en alle voorkeuren die u opgeslagen heeft gaan verloren.",
@@ -1126,11 +1149,13 @@
"current_username": "Huidige gebruikersnaam",
"example_1": "Voorbeeld 1",
"example_2": "Voorbeeld 2",
+ "booking_question_identifier": "Boekingsvraagidentificatiecode",
"company_size": "Bedrijfsgrootte",
"what_help_needed": "Waar heeft u hulp bij nodig?",
"variable_format": "Variabele indeling",
"webhook_subscriber_url_reserved": "De abonnee-URL voor Webhook is al gedefinieerd",
"custom_input_as_variable_info": "Negeer alle speciale tekens van het label voor aanvullende invoer (gebruik alleen letters en cijfers) en gebruik hoofdletters voor alle letters en vervang spaties door onderstrepingstekens.",
+ "using_booking_questions_as_variables": "Hoe gebruik ik boekingsvragen als variabelen?",
"download_desktop_app": "Desktop-app downloaden",
"set_ping_link": "Ping-link instellen",
"rate_limit_exceeded": "Tariefgrenswaarde overschreden",
@@ -1176,6 +1201,7 @@
"start_of_week": "Begin van de week",
"recordings_title": "Opnames",
"recording": "Opname",
+ "happy_scheduling": "Veel plezier met plannen",
"select_calendars": "Selecteer de agenda's die u wilt controleren op conflicten om dubbele boekingen te voorkomen.",
"check_for_conflicts": "Controleer op conflicten",
"view_recordings": "Opnames weergeven",
@@ -1213,6 +1239,7 @@
"impersonation": "Imitatie",
"impersonation_description": "Instellingen voor imitatie van gebruiker beheren",
"users": "Gebruikers",
+ "user": "Gebruiker",
"profile_description": "Beheer de instellingen van uw {{appName}}-profiel",
"users_description": "Hier vindt u een lijst met alle gebruikers",
"users_listing": "Gebruikersbeschrijving",
@@ -1253,6 +1280,8 @@
"download_responses": "Reacties downloaden",
"download_responses_description": "Download alle reacties op uw formulier in CSV-indeling.",
"download": "Downloaden",
+ "download_recording": "Opname downloaden",
+ "recording_from_your_recent_call": "Een opname van uw recente gesprek op Cal.com is klaar voor download",
"create_your_first_form": "Maak uw eerste formulier",
"create_your_first_form_description": "Met routeringsformulieren kunt u kwalificerende vragen stellen en doorverwijzen naar de juiste persoon of het juiste type gebeurtenis.",
"create_your_first_webhook": "Maak uw eerste webhook",
@@ -1289,6 +1318,15 @@
"exchange_authentication_standard": "Basisverificatie",
"exchange_authentication_ntlm": "NTLM-verificatie",
"exchange_compression": "GZip-compressie",
+ "exchange_version": "Exchange-versie",
+ "exchange_version_2007_SP1": "2007 SP1",
+ "exchange_version_2010": "2010",
+ "exchange_version_2010_SP1": "2010 SP1",
+ "exchange_version_2010_SP2": "2010 SP2",
+ "exchange_version_2013": "2013",
+ "exchange_version_2013_SP1": "2013 SP1",
+ "exchange_version_2015": "2015",
+ "exchange_version_2016": "2016",
"routing_forms_description": "U kunt hier alle formulieren en routes zien die u heeft gemaakt.",
"routing_forms_send_email_owner": "E-mail naar eigenaar versturen",
"routing_forms_send_email_owner_description": "Verstuurt een e-mail naar de eigenaar wanneer het formulier is verzonden",
@@ -1343,6 +1381,7 @@
"add_limit": "Voeg een limiet toe",
"team_name_required": "Teamnaam verplicht",
"show_attendees": "Deel de deelnemersinformatie met de gasten",
+ "how_booking_questions_as_variables": "Hoe gebruik ik boekingsvragen als variabelen?",
"format": "Formatteren",
"uppercase_for_letters": "Gebruik hoofdletters voor alle letters",
"replace_whitespaces_underscores": "Vervang spaties door onderstrepingstekens",
@@ -1357,6 +1396,7 @@
"billing_help_title": "Nog iets nodig?",
"billing_help_description": "Als u verder nog hulp nodig heeft bij de facturering, is ons ondersteuningsteam er om u te helpen.",
"billing_help_cta": "Contact opnemen met de ondersteuning",
+ "ignore_special_characters_booking_questions": "Negeer speciale tekens in uw boekingsvraagidentificatiecode. Gebruik alleen letters en cijfers",
"retry": "Opnieuw proberen",
"fetching_calendars_error": "Er is een probleem opgetreden bij het ophalen van uw agenda's. <1>Probeer het opnieuw1> of neem contact op met de klantenservice.",
"calendar_connection_fail": "Agendaverbinding mislukt",
@@ -1439,11 +1479,17 @@
"fixed_round_robin": "Vaste round-robin",
"add_one_fixed_attendee": "Voeg één vaste deelnemer en round-robin toe via een aantal deelnemers.",
"calcom_is_better_with_team": "Cal.com is beter met teams",
+ "the_calcom_team": "Het Cal.com-team",
"add_your_team_members": "Voeg uw teamleden toe aan uw gebeurtenistypes. Gebruik collectieve planning om iedereen op te nemen of zoek de meest geschikte persoon met round robin-planning.",
"booking_limit_reached": "Boekingslimiet voor dit gebeurtenistype is bereikt",
"duration_limit_reached": "Duurlimiet voor dit gebeurtenistype is bereikt",
"admin_has_disabled": "Een beheerder heeft {{appName}} uitgeschakeld",
"disabled_app_affects_event_type": "Een beheerder heeft {{appName}} uitgeschakeld die van invloed is op uw gebeurtenistype {{eventType}}",
+ "event_replaced_notice": "Een beheerder heeft een van uw gebeurtenistypen vervangen",
+ "email_subject_slug_replacement": "Een teambeheerder heeft uw gebeurtenis vervangen /{{slug}}",
+ "email_body_slug_replacement_notice": "Een beheerder van het team {{teamName}} heeft uw gebeurtenistype /{{slug}} vervangen door een beheerd gebeurtenistype dat de beheerder beheert.",
+ "email_body_slug_replacement_info": "Uw link blijft werken, maar sommige instellingen ervoor kunnen gewijzigd zijn. U kunt deze bekijken in gebeurtenistypen.",
+ "email_body_slug_replacement_suggestion": "Neem contact op met uw beheerder als u vragen heeft over het gebeurtenistype.
Veel plezier met plannen, Het Cal.com-team",
"disable_payment_app": "De beheerder heeft {{appName}} uitgeschakeld die van invloed is op uw gebeurtenistype {{title}}. Deelnemers kunnen dit tyoe gebeurtenissen nog steeds boeken, maar worden niet gevraagd te betalen. U kunt het gebeurtenistype verbergen om dit te voorkomen totdat uw beheerde de betaalmethode opnieuw inschakelt.",
"payment_disabled_still_able_to_book": "Deelnemers kunnen dit type gebeurtenis nog steeds boeken, maar worden niet gevraagd te betalen. U kunt het gebeurtenistype verbergen om dit te voorkomen totdat uw beheerde de betaalmethode opnieuw inschakelt.",
"app_disabled_with_event_type": "De beheerder heeft {{appName}} uitgeschakeld die van invloed is op uw gebeurtenistype {{title}}.",
@@ -1492,6 +1538,7 @@
"date_overrides_update_btn": "Overschrijving bijwerken",
"event_type_duplicate_copy_text": "{{slug}}-kopie",
"set_as_default": "Als standaard instellen",
+ "hide_eventtype_details": "Gebeurtenistypegegevens verbergen",
"show_navigation": "Navigatie weergeven",
"hide_navigation": "Navigatie verbergen",
"verification_code_sent": "Verificatiecode verzonden",
@@ -1505,6 +1552,7 @@
"create_your_first_team_webhook_description": "Maak uw eerste webhook voor dit teamgebeurtenistype",
"create_webhook_team_event_type": "Maak een webhook voor dit teamgebeurtenistype",
"disable_success_page": "Succespagina uitschakelen (werkt alleen als u een omleidings-URL heeft)",
+ "invalid_admin_password": "U bent beheerder, maar u heeft geen wachtwoord van minimaal 15 tekens of nog geen tweestapsverificatie",
"change_password_admin": "Wijzig het wachtwoord om beheerderstoegang te krijgen",
"username_already_taken": "De gebruikersnaam is al in gebruik",
"assignment": "Toewijzing",
@@ -1537,6 +1585,7 @@
"ee_enterprise_license": "“/ee” Enterprise-licentie",
"enterprise_booking_fee": "Vanaf {{enterprise_booking_fee}}/maand",
"enterprise_license_includes": "Alles voor een commerciële toepassing",
+ "no_need_to_keep_your_code_open_source": "Uw code hoeft niet open source te zijn",
"repackage_rebrand_resell": "Gemakkelijk opnieuw verpakken, rebranden en doorverkopen",
"a_vast_suite_of_enterprise_features": "Een uitgebreid pakket bedrijfsfuncties",
"free_license_fee": "$ 0,00/maand",
@@ -1586,7 +1635,7 @@
"recommended_next_steps": "Aanbevolen volgende stappen",
"create_a_managed_event": "Maak een beheerd gebeurtenistype",
"meetings_are_better_with_the_right": "Vergaderingen zijn beter met de juiste teamleden erbij. Nodig ze nu uit.",
- "create_a_one_one_template": "Maak een een-op-eensjabloon voor een gebeurtenistype en verspreid het onder meerdere leden.",
+ "create_a_one_one_template": "Maak een een-op-een sjabloon voor een gebeurtenistype en verspreid het onder meerdere leden.",
"collective_or_roundrobin": "Collectief of round-robin",
"book_your_team_members": "Boek uw teamleden samen met collectieve gebeurtenissen of blader voor de juiste persoon met round-robin.",
"event_no_longer_attending_subject": "Neemt niet langer deel aan {{title}} op {{date}}",
@@ -1594,24 +1643,26 @@
"attendee_no_longer_attending_subject": "Een deelnemer neemt niet langer deel aan {{title}} op {{date}}",
"attendee_no_longer_attending": "Een deelnemer neemt niet langer deel aan uw gebeurtenis",
"attendee_no_longer_attending_subtitle": "{{name}} heeft geannuleerd. Dit betekent dat er een plaats is vrijgekomen voor dit tijdslot",
- "create_event_on": "Maak gebeurtenis op",
+ "create_event_on": "Gebeurtenis aanmaken op",
"default_app_link_title": "Stel een standaard app-link in",
"default_app_link_description": "Door een standaard app-link in te stellen kunnen alle nieuw gemaakte gebeurtenistypes de door u ingestelde app-link gebruiken.",
"change_default_conferencing_app": "Als standaard instellen",
+ "organizer_default_conferencing_app": "Standaardapp organisator",
"under_maintenance": "Onbereikbaar wegens onderhoud",
"under_maintenance_description": "Het {{appName}}-team voert gepland onderhoud uit. Neem contact op met de ondersteuning als u vragen heeft.",
"event_type_seats": "{{numberOfSeats}} plaatsen",
"booking_questions_title": "Boekingsvragen",
- "booking_questions_description": "De gestelde vragen op de boekingspagina aanpassen",
- "add_a_booking_question": "Een vraag toevoegen",
- "duplicate_email": "E-mail is duplicaat",
+ "booking_questions_description": "Pas de gestelde vragen op de boekingspagina aan",
+ "add_a_booking_question": "Vraag toevoegen",
+ "duplicate_email": "E-mailadres dubbel",
"booking_with_payment_cancelled": "Betalen voor deze gebeurtenis is niet meer mogelijk",
"booking_with_payment_cancelled_already_paid": "Een terugbetaling voor deze boeking is onderweg.",
"booking_with_payment_cancelled_refunded": "Deze boekingsbetaling is terugbetaald.",
"booking_confirmation_failed": "Boekingsbevestiging mislukt",
"not_enough_seats": "Onvoldoende plaatsen",
"form_builder_field_already_exists": "Een veld met deze naam bestaat al",
- "form_builder_field_add_subtitle": "De gestelde vragen op de boekingspagina aanpassen",
+ "form_builder_field_add_subtitle": "Pas de gestelde vragen op de boekingspagina aan",
+ "show_on_booking_page": "Op boekingspagina weergeven",
"get_started_zapier_templates": "Aan de slag met Zapier-sjablonen",
"team_is_unpublished": "{{team}} is niet gepubliceerd",
"team_is_unpublished_description": "Deze teamlink is momenteel niet beschikbaar. Neem contact op met de teameigenaar of vraag hem het te publiceren.",
@@ -1621,9 +1672,9 @@
"keep_me_connected_with_form": "Houd me verbonden met het formulier",
"fields_in_form_duplicated": "Wijzigingen in router en velden van het formulier die worden gedupliceerd, worden in het duplicaat verwerkt.",
"form_deleted": "Formulier verwijderd",
- "delete_form": "Formulier verwijderen",
+ "delete_form": "Weet u zeker dat u dit formulier wilt verwijderen?",
"delete_form_action": "Ja, verwijder het formulier",
- "delete_form_confirmation": "Weet u zeker dat u dit formulier wilt verwijderen? Iedereen met wie u de link heeft gedeeld kan dan niet meer boeken. Ook worden alle bijbehorende reacties verwijderd.",
+ "delete_form_confirmation": "Iedereen met wie u de link heeft gedeeld heeft dan geen toegang meer ertoe.",
"delete_form_confirmation_2": "Alle bijbehorende reacties worden verwijderd.",
"typeform_redirect_url_copied": "Typeform-omleidings-URL gekopieerd! U kunt de URL instellen in het Typeform-formulier.",
"modifications_in_fields_warning": "Wijzigingen in velden en routes van de volgende formulieren worden in dit formulier verwerkt.",
@@ -1635,6 +1686,14 @@
"add_1_option_per_line": "Voeg 1 optie per regel toe",
"select_a_router": "Selecteer een router",
"add_a_new_route": "Voeg een nieuwe route toe",
+ "make_informed_decisions": "Maak geïnformeerde beslissingen met Inzichten",
+ "make_informed_decisions_description": "Ons Inzichten-dashboard geeft alle activiteiten in uw team weer en toont u trends die betere teamplanning en besluitvorming mogelijk maken.",
+ "view_bookings_across": "Boekingen van alle leden weergeven",
+ "view_bookings_across_description": "Bekijk wie het meest geboekt wordt en zorg voor de beste verdeling over uw team",
+ "identify_booking_trends": "Boekingstrends identificeren",
+ "identify_booking_trends_description": "Bekijk welke tijden van de week en welke tijden overdag populair zijn voor uw boekers",
+ "spot_popular_event_types": "Populaire gebeurtenistypen spotten",
+ "spot_popular_event_types_description": "Bekijk welke van uw gebeurtenistypen de meeste kliks en boekingen ontvangen",
"no_responses_yet": "Nog geen reacties",
"this_will_be_the_placeholder": "Dit wordt de plaatshouder",
"this_meeting_has_not_started_yet": "Deze vergadering is nog niet begonnen",
@@ -1646,8 +1705,83 @@
"can_you_try_again": "Kunt u het opnieuw proberen met een andere tijd?",
"verify": "Verifiëren",
"timezone_variable": "Tijdzone",
+ "timezone_info": "De tijdzone van de ontvanger",
+ "event_end_time_variable": "Eindtijd gebeurtenis",
+ "event_end_time_info": "De eindtijd van de gebeurtenis",
+ "cancel_url_variable": "Annulerings-URL",
+ "cancel_url_info": "De URL om de boeking te annuleren",
+ "reschedule_url_variable": "Verplaatsings-URL",
+ "reschedule_url_info": "De URL om de boeking te verplaatsen",
"invalid_event_name_variables": "Uw gebeurtenisnaam bevat een ongeldige variabele",
"select_all": "Alles selecteren",
"default_conferencing_bulk_title": "Bestaande gebeurtenistypen in bulk bijwerken",
- "default_conferencing_bulk_description": "Werk de locaties voor de geselecteerde gebeurtenistypen bij"
+ "members_default_schedule": "Standaardschema lid",
+ "set_by_admin": "Ingesteld door teambeheerder",
+ "members_default_location": "Standaardlocatie lid",
+ "members_default_schedule_description": "Wij gebruiken de standaard beschikbaarheidsplanning van elk lid. Ze kunnen dit bewerken of wijzigen.",
+ "requires_at_least_one_schedule": "U moet ten minste één planning hebben",
+ "default_conferencing_bulk_description": "Werk de locaties voor de geselecteerde gebeurtenistypen bij",
+ "locked_for_members": "Vergrendeld voor leden",
+ "locked_apps_description": "Leden kunnen de actieve apps zien, maar kunnen geen appinstellingen bewerken",
+ "locked_webhooks_description": "Leden kunnen de actieve webhooks zien, maar kunnen geen webhookinstellingen bewerken",
+ "locked_workflows_description": "Leden kunnen de actieve werkstromen zien, maar kunnen geen werkstroominstellingen bewerken",
+ "locked_by_admin": "Vergrendeld door beheerder",
+ "app_not_connected": "U heeft geen {{appName}}-account gekoppeld.",
+ "connect_now": "Nu koppelen",
+ "managed_event_dialog_confirm_button_one": "{{count}} lid vervangen en informeren",
+ "managed_event_dialog_confirm_button_other": "{{count}} leden vervangen en informeren",
+ "managed_event_dialog_title_one": "De URL /{{slug}} bestaat al voor {{count}} lid. Wilt u deze vervangen?",
+ "managed_event_dialog_title_other": "De URL /{{slug}} bestaat al voor {{count}} leden. Wilt u deze vervangen?",
+ "managed_event_dialog_information_one": "{{names}} gebruikt al de URL /{{slug}}.",
+ "managed_event_dialog_information_other": "{{names}} gebruiken al de URL /{{slug}}.",
+ "managed_event_dialog_clarification": "Als u ervoor kiest om het te vervangen, informeren wij hen daar over. Ga terug en verwijder ze als u ze niet wilt overschrijven.",
+ "review_event_type": "Gebeurtenistype bekijken",
+ "looking_for_more_analytics": "Op zoek naar meer analyses?",
+ "looking_for_more_insights": "Op zoek naar meer inzichten?",
+ "add_filter": "Filter toevoegen",
+ "select_user": "Gebruiker selecteren",
+ "select_event_type": "Gebeurtenistype selecteren",
+ "select_date_range": "Datumbereik selecteren",
+ "popular_events": "Populaire gebeurtenissen",
+ "no_event_types_found": "Geen gebeurtenistypen gevonden",
+ "average_event_duration": "Gemiddelde gebeurtenisduur",
+ "most_booked_members": "Meest geboekte leden",
+ "least_booked_members": "Minst geboekte leden",
+ "events_created": "Gemaakt gebeurtenissen",
+ "events_completed": "Voltooide gebeurtenissen",
+ "events_cancelled": "Geannuleerde gebeurtenissen",
+ "events_rescheduled": "Verplaatste gebeurtenissen",
+ "from_last_period": "van afgelopen periode",
+ "from_to_date_period": "Van: {{startDate}} Tot: {{endDate}}",
+ "analytics_for_organisation": "Inzichten",
+ "subtitle_analytics": "Meer informatie over de activiteit van uw team",
+ "redirect_url_warning": "Als u een omleiding toevoegt, wordt de succespagina uitgeschakeld. Zorg ervoor dat u op uw aangepaste succespagina \"Boeking bevestigd\" vermeldt.",
+ "event_trends": "Gebeurtenistrends",
+ "clear_filters": "Filters wissen",
+ "hold": "Vasthouden",
+ "on_booking_option": "Ontvang betaling bij boeking",
+ "hold_option": "Afwezigheidsvergoeding in rekening brengen",
+ "card_held": "Kaart vastgehouden",
+ "charge_card": "In rekening brengen op kaart",
+ "card_charged": "In rekening gebracht op kaart",
+ "no_show_fee_amount": "{{amount, currency}} afwezigheidsvergoeding",
+ "no_show_fee": "Afwezigheidsvergoeding",
+ "submit_card": "Kaart versturen",
+ "submit_payment_information": "Betaalgegevens versturen",
+ "meeting_awaiting_payment_method": "Uw vergadering wacht op een betaalmethode",
+ "no_show_fee_charged_email_subject": "Afwezigheidsvergoeding van {{amount, currency}} in rekening gebracht voor {{title}} om {{date}}",
+ "no_show_fee_charged_text_body": "Afwezigheidsvergoeding is in rekening gebracht",
+ "no_show_fee_charged_subtitle": "Er is een afwezigheidsvergoeding van {{amount, currency}} in rekening gebracht voor de volgende gebeurtenis",
+ "error_charging_card": "Er is iets misgegaan met het in rekening brengen van de afwezigheidsvergoeding. Probeer het later opnieuw.",
+ "collect_no_show_fee": "Afwezigheidsvergoeding ontvangen",
+ "no_show_fee_charged": "Afwezigheidsvergoeding in rekening gebracht",
+ "insights": "Inzichten",
+ "testing_workflow_info_message": "Let er bij het testen van deze werkstroom op dat e-mails en sms minimaal 1 uur van tevoren kunnen gepland moeten worden",
+ "insights_no_data_found_for_filter": "Geen gegevens gevonden voor het geselecteerde filter of de geselecteerde datums.",
+ "acknowledge_booking_no_show_fee": "Ik erken dat als ik deze gebeurtenis niet bijwoon, er {{amount, currency}} aan afwezigheidsvergoeding van mijn kaart worden afgeschreven.",
+ "card_details": "Kaartgegevens",
+ "seats_and_no_show_fee_error": "Kan op dit moment geen plaatsen inschakelen en afwezigheidsvergoeding in rekening brengen",
+ "complete_your_booking": "Voltooi uw boeking",
+ "complete_your_booking_subject": "Voltooi uw boeking: {{title}} op {{date}}",
+ "email_invite_team": "{{email}} is uitgenodigd"
}
diff --git a/apps/web/public/static/locales/no/common.json b/apps/web/public/static/locales/no/common.json
index 26a0992d11..fc12c0fc14 100644
--- a/apps/web/public/static/locales/no/common.json
+++ b/apps/web/public/static/locales/no/common.json
@@ -451,7 +451,6 @@
"friday": "Fredag",
"saturday": "Lørdag",
"sunday": "Søndag",
- "all_booked_today": "Alt booket i dag.",
"slots_load_fail": "Kunne ikke laste de tilgjengelige tidslukene.",
"additional_guests": "Legg til gjester",
"your_name": "Ditt navn",
diff --git a/apps/web/public/static/locales/pl/common.json b/apps/web/public/static/locales/pl/common.json
index aa7f98c847..ac9ebb5f2e 100644
--- a/apps/web/public/static/locales/pl/common.json
+++ b/apps/web/public/static/locales/pl/common.json
@@ -1,4 +1,5 @@
{
+ "identity_provider": "Dostawca tożsamości",
"trial_days_left": "Pozostało Ci $t(day, {\"count\": {{days}} }) w wersji próbnej PRO",
"day_one": "{{count}} dzień",
"day_other": "{{count}} dni",
@@ -407,7 +408,7 @@
"add_time_availability": "Dodaj nowy przedział czasowy",
"add_an_extra_layer_of_security": "Dodaj dodatkową warstwę zabezpieczeń do swojego konta na wypadek kradzieży hasła.",
"2fa": "Uwierzytelnianie dwuetapowe",
- "2fa_disabled": "Uwierzytelnianie dwuetapowe może zostać włączone tylko do uwierzytelniania adresu e-mail i hasła",
+ "2fa_disabled": "Uwierzytelnianie dwuskładnikowe może zostać włączone tylko do uwierzytelniania adresu e-mail i hasła.",
"enable_2fa": "Włącz uwierzytelnianie dwuskładnikowe",
"disable_2fa": "Wyłącz uwierzytelnianie dwuetapowe",
"disable_2fa_recommendation": "Jeśli chcesz wyłączyć 2FA, zalecamy ponowne włączenie go tak szybko, jak to możliwe.",
@@ -464,7 +465,6 @@
"friday": "Piątek",
"saturday": "Sobota",
"sunday": "Niedziela",
- "all_booked_today": "Wszystko zarezerwowane dziś.",
"slots_load_fail": "Nie można załadować dostępnych przedziałów czasu.",
"additional_guests": "Dodaj gości",
"your_name": "Twoje imię",
@@ -589,10 +589,11 @@
"minutes": "Minuty",
"round_robin": "Round Robin",
"round_robin_description": "Cykl spotkań między wieloma członkami zespołu.",
+ "managed_event": "Zarządzane wydarzenie",
"username_placeholder": "nazwa użytkownika",
- "managed_event_description": "Masowo twórz i udostępniaj rodzaje wydarzeń członkom zespołu",
+ "managed_event_description": "Masowo twórz i udostępniaj typy wydarzeń członkom zespołu",
"managed": "Zarządzane",
- "managed_event_url_clarification": "Pole \"nazwa użytkownika\" zostanie uzupełnione nazwami przypisanych użytkowników",
+ "managed_event_url_clarification": "Pole „nazwa użytkownika” zostanie uzupełnione nazwami przypisanych użytkowników.",
"assign_to": "Przypisz do",
"add_members": "Dodaj członków...",
"count_members_one": "Liczba członków: {{count}}",
@@ -600,8 +601,8 @@
"no_assigned_members": "Brak przypisanych członków",
"assigned_to": "Przypisano do:",
"start_assigning_members_above": "Rozpocznij przypisywanie członków powyżej",
- "locked_fields_admin_description": "Członkowie nie będą mogli tego edytować",
- "locked_fields_member_description": "Ta opcja została zablokowana przez administratora zespołu",
+ "locked_fields_admin_description": "Członkowie nie będą mogli tego edytować.",
+ "locked_fields_member_description": "Ta opcja została zablokowana przez administratora zespołu.",
"url": "Adres URL",
"hidden": "Ukryte",
"readonly": "Tylko do odczytu",
@@ -756,7 +757,7 @@
"delete_event_type": "Usunąć typ wydarzenia?",
"delete_managed_event_type": "Usunąć typ zarządzanego wydarzenia?",
"delete_event_type_description": "Osoby, którym udostępniono ten link, nie będą już mogły dokonać rezerwacji za jego pomocą.",
- "delete_managed_event_type_description": "
Typy wydarzeń członków przypisanych do tego typu wydarzenia również zostaną usunięte.
Osoby, którym udostępniono linki, nie będą już mogły dokonać rezerwacji za ich pomocą.
",
+ "delete_managed_event_type_description": "
Typy wydarzeń należące do członków przypisanych do tego typu wydarzenia również zostaną usunięte.
Osoby, którym udostępniono linki, nie będą już mogły dokonać rezerwacji za ich pomocą.
",
"confirm_delete_event_type": "Tak, usuń",
"delete_account": "Usuń konto",
"confirm_delete_account": "Tak, usuń konto",
@@ -1148,11 +1149,13 @@
"current_username": "Bieżąca nazwa użytkownika",
"example_1": "Przykład 1",
"example_2": "Przykład 2",
+ "booking_question_identifier": "Identyfikator pytania dotyczącego rezerwacji",
"company_size": "Wielkość firmy",
"what_help_needed": "W czym potrzebujesz pomocy?",
"variable_format": "Format zmiennej",
"webhook_subscriber_url_reserved": "Adres URL subskrybenta Webhook jest już zdefiniowany.",
"custom_input_as_variable_info": "Ignoruj wszystkie znaki specjalne etykiety dodatkowych danych wejściowych (używaj tylko liter i cyfr), użyj wielkich liter w przypadku wszystkich liter i zastąp spacje znakami podkreślenia.",
+ "using_booking_questions_as_variables": "Jak mogę używać pytań dotyczących rezerwacji jako zmiennych?",
"download_desktop_app": "Pobierz aplikację komputerową",
"set_ping_link": "Ustaw link do aplikacji Ping",
"rate_limit_exceeded": "Przekroczono limit prób",
@@ -1278,7 +1281,7 @@
"download_responses_description": "Pobierz wszystkie odpowiedzi do formularza w formacie CSV.",
"download": "Pobierz",
"download_recording": "Pobierz nagranie",
- "recording_from_your_recent_call": "Nagranie z ostatniego połączenia na Cal.com jest gotowe do pobrania",
+ "recording_from_your_recent_call": "Nagranie z ostatniego połączenia w witrynie Cal.com jest gotowe do pobrania.",
"create_your_first_form": "Utwórz pierwszy formularz",
"create_your_first_form_description": "Za pomocą formularzy przekierowujących możesz zadawać pytania profilujące i przekierowywać użytkowników do odpowiednich osób lub typów wydarzeń.",
"create_your_first_webhook": "Utwórz pierwszy Webhook",
@@ -1315,6 +1318,7 @@
"exchange_authentication_standard": "Uwierzytelnianie podstawowe",
"exchange_authentication_ntlm": "Uwierzytelnianie NTLM",
"exchange_compression": "Kompresja gzip",
+ "exchange_version": "Wersja Exchange",
"exchange_version_2007_SP1": "2007 SP1",
"exchange_version_2010": "2010",
"exchange_version_2010_SP1": "2010 SP1",
@@ -1377,6 +1381,7 @@
"add_limit": "Dodaj limit",
"team_name_required": "Wymagana nazwa zespołu",
"show_attendees": "Udostępniaj gościom informacje o uczestnikach",
+ "how_booking_questions_as_variables": "Jak używać pytań dotyczących rezerwacji jako zmiennych?",
"format": "Formatowanie",
"uppercase_for_letters": "Użyj wielkich liter w przypadku wszystkich liter",
"replace_whitespaces_underscores": "Zastąp spacje podkreśleniami",
@@ -1391,6 +1396,7 @@
"billing_help_title": "Potrzebujesz czegoś innego?",
"billing_help_description": "Jeśli potrzebujesz dodatkowej pomocy w rozliczaniu, nasz zespół pomocy technicznej chętnie jej udzieli.",
"billing_help_cta": "Skontaktuj się z pomocą techniczną",
+ "ignore_special_characters_booking_questions": "Ignoruj znaki specjalne w identyfikatorze pytania dotyczącego rezerwacji. Używaj tylko liter i cyfr",
"retry": "Spróbuj ponownie",
"fetching_calendars_error": "Podczas pobierania kalendarzy wystąpił problem. <1>Spróbuj ponownie1> lub skontaktuj się z pomocą techniczną.",
"calendar_connection_fail": "Połączenie z kalendarzem nie powiodło się",
@@ -1479,10 +1485,11 @@
"duration_limit_reached": "Osiągnięto limit czasu trwania tego typu wydarzenia",
"admin_has_disabled": "Administrator wyłączył aplikację {{appName}}",
"disabled_app_affects_event_type": "Administrator wyłączył aplikację {{appName}}, która ma wpływ na Twój typ wydarzenia ({{eventType}})",
- "event_replaced_notice": "Administrator zastąpił jeden z Twoich typów wydarzeń",
+ "event_replaced_notice": "Administrator zastąpił jeden z Twoich typów wydarzeń.",
"email_subject_slug_replacement": "Administrator zespołu zastąpił Twoje wydarzenie /{{slug}}",
- "email_body_slug_replacement_info": "Twój link nadal będzie działał, ale niektóre z jego ustawień mogły ulec zmianie. Możesz zobaczyć szczegóły w typach zdarzeń.",
- "email_body_slug_replacement_suggestion": "Jeśli masz jakiekolwiek pytania dotyczące typu wydarzenia, skontaktuj się z administratorem.
Miłego planowania, zespół Cal.com",
+ "email_body_slug_replacement_notice": "Administrator zespołu {{teamName}} zastąpił Twój typ wydarzenia /{{slug}} kontrolowanym przez siebie typem zarządzanego wydarzenia.",
+ "email_body_slug_replacement_info": "Twój link nadal będzie działał, ale niektóre z jego ustawień mogły ulec zmianie. Możesz zobaczyć szczegóły w typach wydarzeń.",
+ "email_body_slug_replacement_suggestion": "Jeśli masz jakiekolwiek pytania dotyczące typu wydarzenia, skontaktuj się z administratorem.
Miłego planowania Zespół Cal.com",
"disable_payment_app": "Administrator wyłączył aplikację {{appName}}, która ma wpływ na Twój typ wydarzenia ({{title}}). Uczestnicy nadal mogą rezerwować wydarzenie tego typu, ale nie zostaną poproszeni o płatność. Możesz ukryć ten typ wydarzenia, aby temu zapobiec, póki administrator nie włączy ponownie Twojej metody płatności.",
"payment_disabled_still_able_to_book": "Uczestnicy nadal mogą rezerwować wydarzenie tego typu, ale nie zostaną poproszeni o płatność. Możesz ukryć ten typ wydarzenia, aby temu zapobiec, póki administrator nie włączy ponownie Twojej metody płatności.",
"app_disabled_with_event_type": "Administrator wyłączył aplikację {{appName}}, która ma wpływ na Twój typ wydarzenia ({{title}}).",
@@ -1545,7 +1552,7 @@
"create_your_first_team_webhook_description": "Utwórz swój pierwszy element webhook dla tego typu wydarzenia zespołowego",
"create_webhook_team_event_type": "Utwórz element webhook dla tego typu wydarzenia zespołowego",
"disable_success_page": "Wyłącz stronę powodzenia (działa tylko wtedy, gdy masz adres URL przekierowania)",
- "invalid_admin_password": "Jesteś administratorem, ale Twoje hasło jest krótsze niż 15 znaków lub nie używasz jeszcze uwierzytelniania dwuetapowego",
+ "invalid_admin_password": "Jesteś administratorem, ale Twoje hasło jest krótsze niż 15 znaków lub nie używasz jeszcze uwierzytelniania dwuskładnikowego.",
"change_password_admin": "Zmień hasło, aby uzyskać uprawnienia dostępu administratora",
"username_already_taken": "Nazwa użytkownika jest już zajęta",
"assignment": "Przypisanie",
@@ -1578,6 +1585,7 @@
"ee_enterprise_license": "Licencja dla przedsiębiorstw „/ee”",
"enterprise_booking_fee": "Od {{enterprise_booking_fee}}/miesiąc",
"enterprise_license_includes": "Wszystko, co niezbędne do zastosowań komercyjnych",
+ "no_need_to_keep_your_code_open_source": "Twój kod nie musi pozostawać otwarty.",
"repackage_rebrand_resell": "Łatwa modyfikacja wyglądu, marki i możliwość odsprzedaży",
"a_vast_suite_of_enterprise_features": "Duży wybór funkcji dla przedsiębiorstw",
"free_license_fee": "0,00 USD/miesiąc",
@@ -1678,14 +1686,14 @@
"add_1_option_per_line": "Dodaj 1 opcję w każdym wierszu",
"select_a_router": "Wybierz formularz przekierowania",
"add_a_new_route": "Dodaj nowe przekierowanie",
- "make_informed_decisions": "Dokonuj świadomych decyzji dzięki funkcji Insights",
- "make_informed_decisions_description": "Panel Insights wyświetla całą aktywność zespołu i pokazuje trendy umożliwiające lepsze planowanie i podejmowanie decyzji w zespole.",
+ "make_informed_decisions": "Podejmuj świadome decyzje dzięki funkcji Statystyki",
+ "make_informed_decisions_description": "Panel Statystyki zawiera informacje o całej aktywności zespołu i trendach umożliwiających lepsze planowanie i podejmowanie decyzji w zespole.",
"view_bookings_across": "Zobacz rezerwacje wszystkich członków",
- "view_bookings_across_description": "Zobacz, kto zapewnia najwięcej rezerwacji i upewnij się, że Twój zespół działa równomiernie",
- "identify_booking_trends": "Identyfikuj trendy rezerwacji",
- "identify_booking_trends_description": "Zobacz, jakie dni tygodnia i pory dnia są popularne wśród rezerwujących",
+ "view_bookings_across_description": "Zobacz, kto ma najwięcej rezerwacji i upewnij się, że Twój zespół jest równomiernie obciążony pracą.",
+ "identify_booking_trends": "Identyfikuj trendy w rezerwacjach",
+ "identify_booking_trends_description": "Zobacz, które dni tygodnia i pory dnia są popularne wśród rezerwujących.",
"spot_popular_event_types": "Przekonaj się, które typy wydarzeń są popularne",
- "spot_popular_event_types_description": "Zobacz, które typy wydarzeń są najczęściej oglądane i rezerwowane",
+ "spot_popular_event_types_description": "Zobacz, które typy wydarzeń są najczęściej klikane i rezerwowane.",
"no_responses_yet": "Nie ma jeszcze odpowiedzi",
"this_will_be_the_placeholder": "To będzie symbol zastępczy",
"this_meeting_has_not_started_yet": "To spotkanie jeszcze się nie rozpoczęło",
@@ -1702,23 +1710,23 @@
"event_end_time_info": "Czas zakończenia wydarzenia",
"cancel_url_variable": "Adres URL do anulowania",
"cancel_url_info": "Adres URL do anulowania rezerwacji",
- "reschedule_url_variable": "Adres URL do zmiany harmonogramu",
+ "reschedule_url_variable": "Adres URL do zmiany terminu",
"reschedule_url_info": "Adres URL do zmiany terminu rezerwacji",
"invalid_event_name_variables": "W Twojej nazwie wydarzenia występuje nieprawidłowa zmienna.",
"select_all": "Zaznacz wszystko",
"default_conferencing_bulk_title": "Zbiorcza aktualizacja istniejących typów wydarzeń",
"members_default_schedule": "Domyślny harmonogram użytkownika",
- "set_by_admin": "Ustalono przez administratora zespołu",
+ "set_by_admin": "Ustalone przez administratora zespołu",
"members_default_location": "Domyślna lokalizacja członka",
"members_default_schedule_description": "Będziemy używać domyślnego harmonogramu dostępności każdego członka. Każdy z nich będzie mógł go edytować lub zmienić.",
- "requires_at_least_one_schedule": "Musisz mieć co najmniej jeden harmonogram",
+ "requires_at_least_one_schedule": "Musisz mieć co najmniej jeden harmonogram.",
"default_conferencing_bulk_description": "Aktualizuj lokalizacje wybranych typów wydarzeń",
"locked_for_members": "Zablokowane dla członków",
- "locked_apps_description": "Członkowie będą mogli zobaczyć aktywne aplikacje, ale nie będą mogli zmieniać ustawień aplikacji",
- "locked_webhooks_description": "Członkowie będą mogli zobaczyć aktywne webhooki, ale nie będą mogli zmieniać żadnych ustawień webhooków",
- "locked_workflows_description": "Członkowie będą mogli zobaczyć aktywne plany pracy, ale nie będą mogli zmieniać żadnych ustawień planów pracy",
+ "locked_apps_description": "Członkowie będą mogli zobaczyć aktywne aplikacje, ale nie będą mogli zmieniać ich ustawień.",
+ "locked_webhooks_description": "Członkowie będą mogli zobaczyć aktywne webhooki, ale nie będą mogli zmieniać ich ustawień.",
+ "locked_workflows_description": "Członkowie będą mogli zobaczyć aktywne przepływy pracy, ale nie będą mogli zmieniać ich ustawień.",
"locked_by_admin": "Zablokowane przez administratora",
- "app_not_connected": "Konto {{appName}} nie zostało połączone.",
+ "app_not_connected": "Nie połączono konta aplikacji {{appName}}.",
"connect_now": "Połącz teraz",
"managed_event_dialog_confirm_button_one": "Zastąp i poinformuj {{count}} członka",
"managed_event_dialog_confirm_button_other": "Zastąp i poinformuj {{count}} członków",
@@ -1726,9 +1734,10 @@
"managed_event_dialog_title_other": "Adres URL /{{slug}} już istnieje dla {{count}} członków. Czy chcesz go zastąpić?",
"managed_event_dialog_information_one": "{{names}} używa już adresu URL /{{slug}}.",
"managed_event_dialog_information_other": "{{names}} używają już adresu URL /{{slug}}.",
- "managed_event_dialog_clarification": "Jeśli zdecydujesz go zastąpić, powiadomimy ich. Jeśli nie chcesz nadpisywać adresu, wróć i usuń ich.",
+ "managed_event_dialog_clarification": "Jeśli zdecydujesz się go zastąpić, powiadomimy te osoby. Wróć i usuń je, jeśli nie chcesz nadpisywać adresu.",
"review_event_type": "Zobacz szczegóły typu wydarzenia",
- "looking_for_more_analytics": "Szukasz większej ilości danych analitycznych?",
+ "looking_for_more_analytics": "Szukasz dokładniejszych danych analitycznych?",
+ "looking_for_more_insights": "Potrzebujesz dokładniejszych Statystyk?",
"add_filter": "Dodaj filtr",
"select_user": "Wybierz użytkownika",
"select_event_type": "Wybierz typ wydarzenia",
@@ -1742,30 +1751,36 @@
"events_completed": "Zakończone wydarzenia",
"events_cancelled": "Anulowane wydarzenia",
"events_rescheduled": "Przełożone wydarzenia",
+ "from_last_period": "w ostatnim okresie",
"from_to_date_period": "Od: {{startDate}} Do: {{endDate}}",
+ "analytics_for_organisation": "Statystyki",
"subtitle_analytics": "Dowiedz się więcej o aktywności Twojego zespołu",
- "redirect_url_warning": "Dodanie przekierowania sprawi, że strona potwierdzenia zostanie wyłączona. Upewnij się, że na swojej spersonalizowanej stronie potwierdzenia umieścisz informację o potwierdzeniu rezerwacji.",
+ "redirect_url_warning": "Dodanie przekierowania sprawi, że strona powodzenia zostanie wyłączona. Upewnij się, że na Twojej niestandardowej stronie powodzenia umieścisz informację o potwierdzeniu rezerwacji.",
"event_trends": "Trendy wydarzeń",
"clear_filters": "Wyczyść filtry",
- "on_booking_option": "Pobieraj płatność przy rezerwacji",
+ "hold": "Wstrzymaj",
+ "on_booking_option": "Pobierz płatność przy rezerwacji",
"hold_option": "Pobierz opłatę za niestawienie się",
+ "card_held": "Posiadana karta",
"charge_card": "Obciąż kartę płatniczą",
"card_charged": "Obciążono kartę płatniczą",
"no_show_fee_amount": "Opłata za niestawienie się w wysokości {{amount, currency}}",
"no_show_fee": "Opłata za niestawienie się",
"submit_card": "Prześlij dane karty",
"submit_payment_information": "Prześlij informacje o płatności",
- "no_show_fee_charged_email_subject": "Pobrano opłatę za niestawienie się na wydarzeniu: {{title}} dnia {{date}}",
+ "meeting_awaiting_payment_method": "Twoje spotkanie nie ma jeszcze przypisanej metody płatności.",
+ "no_show_fee_charged_email_subject": "Pobrano opłatę w wysokości {{amount, currency}} za niestawienie się na wydarzeniu {{title}} dnia {{date}}",
"no_show_fee_charged_text_body": "Pobrano opłatę za niestawienie się",
- "no_show_fee_charged_subtitle": "Za następujęce wydarzenie pobrano opłatę za niestawienie się w wysokości {{amount, currency}}",
+ "no_show_fee_charged_subtitle": "Za następujące wydarzenie pobrano opłatę za niestawienie się w wysokości {{amount, currency}}",
"error_charging_card": "Coś poszło nie tak podczas pobierania opłaty za niestawienie się. Spróbuj ponownie później.",
"collect_no_show_fee": "Pobierz opłatę za niestawienie się",
"no_show_fee_charged": "Pobrano opłatę za niestawienie się",
- "testing_workflow_info_message": "Podczas testowania tego planu pracy pamiętaj, że wiadomości e-mail i SMS mogą zostać zaplanowane najpóźniej godzinę przed ich dostarczeniem",
- "insights_no_data_found_for_filter": "Nie znaleziono danych dla wybranego filtra lub dat.",
+ "insights": "Statystyki",
+ "testing_workflow_info_message": "Podczas testowania tego przepływu pracy pamiętaj, że wiadomości e-mail i SMS mogą zostać zaplanowane najpóźniej godzinę przed terminem ich dostarczenia.",
+ "insights_no_data_found_for_filter": "Nie znaleziono danych dotyczących wybranego filtra lub wskazanych dat.",
"acknowledge_booking_no_show_fee": "Rozumiem, że jeśli nie wezmę udziału w wydarzeniu, z mojej karty pobrana zostanie opłata w wysokości {{amount, currency}}.",
- "card_details": "Dane karty",
- "seats_and_no_show_fee_error": "Obecnie nie można udostępnić miejsc siedzących ani naliczyć opłaty za niestawienie się",
+ "card_details": "Dane karty płatniczej",
+ "seats_and_no_show_fee_error": "Obecnie nie można udostępnić miejsc ani naliczyć opłaty za niestawienie się.",
"complete_your_booking": "Ukończ rezerwację",
"complete_your_booking_subject": "Ukończ rezerwację: {{title}} dnia {{date}}",
"email_invite_team": "Zaproszono {{email}}"
diff --git a/apps/web/public/static/locales/pt-BR/common.json b/apps/web/public/static/locales/pt-BR/common.json
index c45cae12c5..be40472ffe 100644
--- a/apps/web/public/static/locales/pt-BR/common.json
+++ b/apps/web/public/static/locales/pt-BR/common.json
@@ -1,4 +1,5 @@
{
+ "identity_provider": "Provedor de identidade",
"trial_days_left": "Você tem $t(day, {\"count\": {{days}} }) restantes no seu período de testes da versão PRO",
"day_one": "{{count}} dia",
"day_other": "{{count}} dias",
@@ -69,6 +70,8 @@
"event_awaiting_approval_subject": "Aguardando aprovação: {{title}} em {{date}}",
"event_still_awaiting_approval": "Um evento está aguardando a sua aprovação",
"booking_submitted_subject": "Reserva enviada: {{title}} em {{date}}",
+ "download_recording_subject": "Baixar gravação: {{title}} à(s) {{date}}",
+ "download_your_recording": "Baixe sua gravação",
"your_meeting_has_been_booked": "A sua reunião foi agendada",
"event_type_has_been_rescheduled_on_time_date": "Seu {{title}} foi remarcado para {{date}}.",
"event_has_been_rescheduled": "Atualização - O seu evento foi reagendado",
@@ -224,6 +227,7 @@
"done": "Concluído",
"all_done": "Tudo pronto!",
"all_apps": "Todos os apps",
+ "available_apps": "Aplicativos disponíveis",
"check_email_reset_password": "Verifique o seu email. Enviamos um link para redefinir a sua senha.",
"finish": "Finalizar",
"few_sentences_about_yourself": "Fale um pouco sobre você. Isto será exibido em sua página pessoal.",
@@ -404,6 +408,7 @@
"add_time_availability": "Adicionar novo horário",
"add_an_extra_layer_of_security": "Adicione uma camada extra de segurança à sua conta, caso sua senha seja comprometida.",
"2fa": "Autenticação de dois fatores",
+ "2fa_disabled": "A autenticação de dois fatores pode ser habilitada para autenticação de senha e e-mail",
"enable_2fa": "Ativar autenticação de dois fatores",
"disable_2fa": "Desativar autenticação de dois fatores",
"disable_2fa_recommendation": "Se precisar desativar a autenticação de dois fatores, recomendamos reativá-la o mais rápido possível.",
@@ -433,7 +438,7 @@
"password_hint_min": "Mínimo de oito caracteres",
"password_hint_admin_min": "No mínimo 15 caracteres",
"password_hint_num": "Contém pelo menos um número",
- "max_limit_allowed_hint": "O tamanho deve ter {{limit}} ou menos caracteres",
+ "max_limit_allowed_hint": "O tamanho deve ser de {{limit}} ou menos caracteres",
"invalid_password_hint": "A senha precisa ter pelo menos sete caracteres com pelo menos um número e ser uma combinação de letras maiúsculas e minúsculas",
"incorrect_password": "Senha incorreta.",
"incorrect_username_password": "A senha ou o nome de usuário estão incorretos.",
@@ -460,7 +465,6 @@
"friday": "Sexta-feira",
"saturday": "Sábado",
"sunday": "Domingo",
- "all_booked_today": "Tudo reservado hoje.",
"slots_load_fail": "Não foi possível carregar os horários disponíveis.",
"additional_guests": "+ Participantes Adicionais",
"your_name": "Seu nome",
@@ -585,6 +589,20 @@
"minutes": "Minutos",
"round_robin": "Round Robin",
"round_robin_description": "Reuniões recorrentes entre vários membros da equipe.",
+ "managed_event": "Evento gerenciado",
+ "username_placeholder": "nome de usuário",
+ "managed_event_description": "Crie e distribua tipos de eventos em massa para os membros da equipe",
+ "managed": "Gerenciado",
+ "managed_event_url_clarification": "o \"nome de usuário\" será preenchido com o nome de usuário dos membros atribuídos",
+ "assign_to": "Atribuir a",
+ "add_members": "Adicionar membros...",
+ "count_members_one": "{{count}} membro",
+ "count_members_other": "{{count}} membros",
+ "no_assigned_members": "Nenhum membro atribuído",
+ "assigned_to": "Atribuído a",
+ "start_assigning_members_above": "Começar a atribuir os membros acima",
+ "locked_fields_admin_description": "Os membros não poderão editar isto",
+ "locked_fields_member_description": "Esta opção foi bloqueada pelo administrador da equipe",
"url": "URL",
"hidden": "Esconder",
"readonly": "Somente leitura",
@@ -736,6 +754,11 @@
"minimum_booking_notice": "Aviso mínimo",
"slot_interval": "Intervalos de tempo",
"slot_interval_default": "Usar a duração do evento (padrão)",
+ "delete_event_type": "Excluir tipo de evento?",
+ "delete_managed_event_type": "Excluir tipo de evento gerenciado?",
+ "delete_event_type_description": "Este link não poderá mais ser usado para fazer reserva por qualquer pessoa com quem tenha sido compartilhado.",
+ "delete_managed_event_type_description": "
Membros atribuídos a este tipo de evento também terão seus tipos de evento excluídos.
Este link não poderá mais ser usado para fazer reserva por qualquer pessoa com quem tenha sido compartilhado.
",
+ "confirm_delete_event_type": "Sim, excluir",
"delete_account": "Apagar conta",
"confirm_delete_account": "Sim, apagar conta",
"delete_account_confirmation_message": "Você tem certeza de que deseja apagar sua conta {{appName}}? Qualquer pessoa que você compartilhou seu link de reservas não poderá mais utilizá-lo para agendar novos eventos e todas as suas preferências serão perdidas.",
@@ -860,7 +883,7 @@
"add_new_calendar": "Adicionar um novo calendário",
"set_calendar": "Definir onde adicionar novos eventos quando você estiver com a reserva feita.",
"delete_schedule": "Excluir agenda",
- "delete_schedule_description": "A exclusão da agenda irá removê-la de todos os tipos de evento. Essa ação não pode ser desfeita.",
+ "delete_schedule_description": "A exclusão da agenda vai removê-la de todos os tipos de evento. Essa ação não pode ser desfeita.",
"schedule_created_successfully": "Agenda {{scheduleName}} criada com êxito",
"availability_updated_successfully": "Agenda {{scheduleName}} criada com êxito",
"schedule_deleted_successfully": "Agenda removida com êxito",
@@ -1126,11 +1149,13 @@
"current_username": "Nome de usuário atual",
"example_1": "Exemplo 1",
"example_2": "Exemplo 2",
+ "booking_question_identifier": "Identificador de pergunta de reserva",
"company_size": "Tamanho da empresa",
"what_help_needed": "Em que você precisa de ajuda?",
"variable_format": "Formato variável",
"webhook_subscriber_url_reserved": "URL de assinante de webhook já está definida",
"custom_input_as_variable_info": "Ignore todos os caracteres especiais da etiqueta de entrada adicional (use apenas letras e números), use todas as letras maiúsculas e substitua espaços em branco por sublinhados.",
+ "using_booking_questions_as_variables": "Como usar perguntas de reserva como variáveis?",
"download_desktop_app": "Baixar app para desktop",
"set_ping_link": "Definir link do Ping",
"rate_limit_exceeded": "Limite excedido",
@@ -1176,6 +1201,7 @@
"start_of_week": "Início da semana",
"recordings_title": "Gravações",
"recording": "Gravação",
+ "happy_scheduling": "Bom agendamento",
"select_calendars": "Selecionar em quais calendários você deseja verificar se há conflitos para evitar dupla reserva.",
"check_for_conflicts": "Verificar se há conflitos",
"view_recordings": "Ver gravações",
@@ -1213,6 +1239,7 @@
"impersonation": "Representação",
"impersonation_description": "Configurações para gerenciar representação de usuário",
"users": "Usuários",
+ "user": "Usuário",
"profile_description": "Gerencie as configurações para o seu perfil {{appName}}",
"users_description": "Aqui você poderá encontrar uma lista de todos os usuários",
"users_listing": "Listagem de usuários",
@@ -1253,6 +1280,8 @@
"download_responses": "Baixar respostas",
"download_responses_description": "Baixe todas as respostas para seu formulário em formato CSV.",
"download": "Baixar",
+ "download_recording": "Baixar gravação",
+ "recording_from_your_recent_call": "Uma gravação da sua chamada recente no Cal.com está pronta para ser baixada",
"create_your_first_form": "Criar seu primeiro formulário",
"create_your_first_form_description": "Com os Formulários de roteamento, você pode fazer perguntas e encaminhar para a pessoa correta ou o tipo de evento.",
"create_your_first_webhook": "Criar seu primeiro Webhook",
@@ -1289,6 +1318,15 @@
"exchange_authentication_standard": "Autenticação básica",
"exchange_authentication_ntlm": "Autenticação NTLM",
"exchange_compression": "Compressão GZip",
+ "exchange_version": "Versão do Exchange",
+ "exchange_version_2007_SP1": "2007 SP1",
+ "exchange_version_2010": "2010",
+ "exchange_version_2010_SP1": "2010 SP1",
+ "exchange_version_2010_SP2": "2010 SP2",
+ "exchange_version_2013": "2013",
+ "exchange_version_2013_SP1": "2013 SP1",
+ "exchange_version_2015": "2015",
+ "exchange_version_2016": "2016",
"routing_forms_description": "Você pode ver todos os formulários e rotas que criou aqui.",
"routing_forms_send_email_owner": "Enviar e-mail ao proprietário",
"routing_forms_send_email_owner_description": "Envia um e-mail ao proprietário após o envio do formulário",
@@ -1343,6 +1381,7 @@
"add_limit": "Adicione limite",
"team_name_required": "Nome da equipe obrigatório",
"show_attendees": "Compartilhe informações do participante entre convidados",
+ "how_booking_questions_as_variables": "Como usar perguntas de reserva como variáveis?",
"format": "Formato",
"uppercase_for_letters": "Use letras maiúsculas para todas as letras",
"replace_whitespaces_underscores": "Substituir espaços em branco com sublinhados",
@@ -1357,6 +1396,7 @@
"billing_help_title": "Precisa de algo mais?",
"billing_help_description": "Se precisar de mais ajuda com o faturamento, o nosso time de suporte está aqui para ajudar.",
"billing_help_cta": "Falar com o suporte",
+ "ignore_special_characters_booking_questions": "Ignore caracteres especiais no seu identificador de pergunta de reserva. Use apenas letras e números",
"retry": "Repetir",
"fetching_calendars_error": "Houve um problema ao buscar suas agendas. <1>Tente novamente1> ou entre em contato com o suporte ao cliente.",
"calendar_connection_fail": "Falha na conexão com a agenda",
@@ -1439,11 +1479,17 @@
"fixed_round_robin": "Round-robin fixo",
"add_one_fixed_attendee": "Adicione um participante fixo e utilize o round-robin em uma determinada quantidade de participantes.",
"calcom_is_better_with_team": "Cal.com é melhor com equipes",
+ "the_calcom_team": "Equipe do Cal.com",
"add_your_team_members": "Adicione membros da sua equipe aos seus tipos de evento. Use programação coletiva para incluir todos ou encontre a pessoa mais apropriada pela programação com round-robin.",
"booking_limit_reached": "O limite de reseva para este tipo de evento foi atingido",
"duration_limit_reached": "O limite de duração para este tipo de evento foi atingido",
"admin_has_disabled": "Um administrador desativou {{appName}}",
"disabled_app_affects_event_type": "Um administrador desativou {{appName}}, afetando seu tipo de evento {{eventType}}",
+ "event_replaced_notice": "Um administrador substituiu um dos seus tipos de evento",
+ "email_subject_slug_replacement": "Um administrador de equipe substituiu seu evento /{{slug}}",
+ "email_body_slug_replacement_notice": "Um administrador na equipe {{teamName}} substituiu seu tipo de evento /{{slug}} por um tipo de evento controlado por ele.",
+ "email_body_slug_replacement_info": "Seu link continuará a funcionar, mas algumas configurações podem ter sido alteradas. Você pode revisar nos tipos de evento.",
+ "email_body_slug_replacement_suggestion": "Se tiver alguma pergunta sobre o tipo de evento, fale com o seu administrador.
Bom agendamento, Equipe do Cal.com",
"disable_payment_app": "O administrador desativou {{appName}}, afetando o seu tipo de evento {{title}}. Os participantes ainda poderão reservar este tipo de evento, mas não será solicitado pagamento. Você poderá ocultar o tipo de evento para impedir isso até o adiministrador reativar seu método de pagamento.",
"payment_disabled_still_able_to_book": "Os participantes ainda poderão reservar este tipo de evento, mas não será solicitado pagamento. Você poderá ocultar o tipo de evento para impedir isso até o adiministrador reativar seu método de pagamento.",
"app_disabled_with_event_type": "O administrador desativou {{appName}}, afetando seu tipo de evento {{title}}.",
@@ -1492,6 +1538,7 @@
"date_overrides_update_btn": "Atualizar substituição",
"event_type_duplicate_copy_text": "Cópia de {{slug}}",
"set_as_default": "Definir como padrão",
+ "hide_eventtype_details": "Ocultar detalhes do tipo de evento",
"show_navigation": "Mostrar navegação",
"hide_navigation": "Ocultar navegação",
"verification_code_sent": "Código de verificação enviado",
@@ -1505,6 +1552,7 @@
"create_your_first_team_webhook_description": "Crie seu primeiro webhook para este tipo de evento em equipe",
"create_webhook_team_event_type": "Crie um webhook para este tipo de evento em equipe",
"disable_success_page": "Desativar página de reserva bem-sucedida (funciona apenas se você tiver uma URL de redirecionamento)",
+ "invalid_admin_password": "Você é administrador, mas ainda não tem uma senha de pelo menos 15 caracteres ou 2FA",
"change_password_admin": "Altere a senha para obter acesso de administrador",
"username_already_taken": "O nome do usuário já está em uso",
"assignment": "Atribuição",
@@ -1537,6 +1585,7 @@
"ee_enterprise_license": "“/ee” Licença Enterprise",
"enterprise_booking_fee": "A partir de {{enterprise_booking_fee}}/mês",
"enterprise_license_includes": "Tudo para um caso de uso comercial",
+ "no_need_to_keep_your_code_open_source": "Não precisa manter seu código em código aberto",
"repackage_rebrand_resell": "Reempacote, troque de marca e revenda com facilidade",
"a_vast_suite_of_enterprise_features": "Uma ampla variedade de recursos empresariais",
"free_license_fee": "$0,00/mês",
@@ -1589,15 +1638,16 @@
"create_a_one_one_template": "Crie um modelo um a um para um tipo de evento e distribua para vários membros.",
"collective_or_roundrobin": "Coletivo ou round-robin",
"book_your_team_members": "Reúna os membros da sua equipe com eventos coletivos, ou selecione a pessoa certa com o round-robin.",
- "event_no_longer_attending_subject": "Não está mais participando de {{title}} à(s) {{date}}",
+ "event_no_longer_attending_subject": "Não está mais participando de {{title}} às {{date}}",
"no_longer_attending": "Você não está mais participando deste evento",
- "attendee_no_longer_attending_subject": "Um partipante não está mais participando de {{title}} à(s) {{date}}",
- "attendee_no_longer_attending": "Um partipante não está mais participando do seu evento",
- "attendee_no_longer_attending_subtitle": "{{name}} cancelou. Quer dizer que um assento foi liberado para este espaço de tempo",
+ "attendee_no_longer_attending_subject": "Um participante não está mais participando de {{title}} às {{date}}",
+ "attendee_no_longer_attending": "Um participante não está mais participando do seu evento",
+ "attendee_no_longer_attending_subtitle": "{{name}} cancelou. Quer dizer que um assento foi liberado para este período de tempo",
"create_event_on": "Criar evento em",
"default_app_link_title": "Defina um link padrão para o app",
"default_app_link_description": "Definir um link padrão para o app permite que todos os tipos de evento recém-criados usem o link definido para o app.",
"change_default_conferencing_app": "Definir como padrão",
+ "organizer_default_conferencing_app": "Aplicativo padrão do organizador",
"under_maintenance": "Serviço interrompido para manutenção",
"under_maintenance_description": "A equipe do {{appName}} está realizando uma manutenção programada. Se tiver alguma dúvida, fale com o suporte.",
"event_type_seats": "{{numberOfSeats}} assentos",
@@ -1612,9 +1662,10 @@
"not_enough_seats": "Sem assentos suficientes",
"form_builder_field_already_exists": "Já existe um campo com este nome",
"form_builder_field_add_subtitle": "Personalize as perguntas feitas na página de reservas",
+ "show_on_booking_page": "Mostrar na página de reservas",
"get_started_zapier_templates": "Comece agora com modelos do Zapier",
"team_is_unpublished": "Publicação de {{team}} cancelada",
- "team_is_unpublished_description": "Este link de equipe não está dispoível por enquanto. Fale com o proprietário da equipe ou peça que seja publicado.",
+ "team_is_unpublished_description": "Este link de equipe não está disponível por enquanto. Fale com o proprietário da equipe ou peça que seja publicado.",
"team_member": "Membro da equipe",
"a_routing_form": "Formulário de roteamento",
"form_description_placeholder": "Descrição do formulário",
@@ -1635,6 +1686,14 @@
"add_1_option_per_line": "Adiciona uma opção por linha",
"select_a_router": "Selecione um formulário de roteamento",
"add_a_new_route": "Adicione uma nova Rota",
+ "make_informed_decisions": "Tome decisões conscientes com o Insights",
+ "make_informed_decisions_description": "Nosso painel de informações do Insights traz à tona todas as atividades da sua equipe e mostra as tendências que permitem melhor tomada de decisão e agendamento da equipe.",
+ "view_bookings_across": "Ver reservas em todos os membros",
+ "view_bookings_across_description": "Veja quem está recebendo a maioria das reservas e garanta a melhor distribuição para a sua equipe",
+ "identify_booking_trends": "Identificar tendências de reserva",
+ "identify_booking_trends_description": "Veja quais são os horários da semana e do dia mais procurados pelos reservantes",
+ "spot_popular_event_types": "Localizar tipos de evento populares",
+ "spot_popular_event_types_description": "Veja quais tipos de eventos estão recebendo a maioria dos cliques e reservas",
"no_responses_yet": "Sem respostas por enquanto",
"this_will_be_the_placeholder": "Este será o espaço reservado",
"this_meeting_has_not_started_yet": "Esta reunião ainda não começou",
@@ -1646,8 +1705,83 @@
"can_you_try_again": "Poderia tentar novamente em um horário diferente?",
"verify": "Verificar",
"timezone_variable": "Fuso Horário",
+ "timezone_info": "O fuso horário do destinatário",
+ "event_end_time_variable": "Horário de término do evento",
+ "event_end_time_info": "O horário de término do evento",
+ "cancel_url_variable": "Cancelar URL",
+ "cancel_url_info": "A URL para cancelar a reserva",
+ "reschedule_url_variable": "URL de reagendamento",
+ "reschedule_url_info": "A URL para reagendar a reserva",
"invalid_event_name_variables": "Há uma variável inválida no seu nome do evento",
"select_all": "Selecionar tudo",
"default_conferencing_bulk_title": "Atualize em massa os tipos de evento existentes",
- "default_conferencing_bulk_description": "Atualize as localizações para os tipos de evento selecionados"
+ "members_default_schedule": "Agenda padrão do membro",
+ "set_by_admin": "Definido pelo administrador da equipe",
+ "members_default_location": "Local padrão do membro",
+ "members_default_schedule_description": "Usaremos a agenda de disponibilidade padrão de cada membro. Não será possível editar ou alterar.",
+ "requires_at_least_one_schedule": "Você precisa ter pelo menos uma agenda",
+ "default_conferencing_bulk_description": "Atualize as localizações para os tipos de evento selecionados",
+ "locked_for_members": "Bloqueado para membros",
+ "locked_apps_description": "Os membros poderão ver os aplicativos ativos, mas não poderão editar as configurações",
+ "locked_webhooks_description": "Os membros poderão ver os webhooks ativos, mas não poderão editar as configurações",
+ "locked_workflows_description": "Os membros poderão ver os fluxos de trabalho ativos, mas não poderão editar as configurações",
+ "locked_by_admin": "Bloqueado pelo administrador",
+ "app_not_connected": "Você não conectou uma conta do {{appName}}.",
+ "connect_now": "Conectar agora",
+ "managed_event_dialog_confirm_button_one": "Substituir e notificar {{count}} membro",
+ "managed_event_dialog_confirm_button_other": "Substituir e notificar {{count}} membros",
+ "managed_event_dialog_title_one": "A url/{{slug}} já existe para {{count}} membro. Deseja substituir?",
+ "managed_event_dialog_title_other": "A url/{{slug}} já existe para {{count}} membros. Deseja substituir?",
+ "managed_event_dialog_information_one": "{{names}} já está usando a url /{{slug}}.",
+ "managed_event_dialog_information_other": "{{names}} já estão usando a url /{{slug}}.",
+ "managed_event_dialog_clarification": "Se você escolher substituir, serão enviadas notificações. Volte e remova caso não queira sobrescrever.",
+ "review_event_type": "Revisar tipo de evento",
+ "looking_for_more_analytics": "Procurando mais análises?",
+ "looking_for_more_insights": "Procurando mais Insights?",
+ "add_filter": "Adicionar filtro",
+ "select_user": "Selecionar usuário",
+ "select_event_type": "Selecionar tipo de evento",
+ "select_date_range": "Selecionar intervalo de data",
+ "popular_events": "Eventos populares",
+ "no_event_types_found": "Nenhum tipo de evento encontrado",
+ "average_event_duration": "Duração média de evento",
+ "most_booked_members": "Membros com mais reservas",
+ "least_booked_members": "Membros com menos reservas",
+ "events_created": "Eventos criados",
+ "events_completed": "Eventos concluídos",
+ "events_cancelled": "Eventos cancelados",
+ "events_rescheduled": "Eventos reagendados",
+ "from_last_period": "do último período",
+ "from_to_date_period": "De: {{startDate}} Para: {{endDate}}",
+ "analytics_for_organisation": "Insights",
+ "subtitle_analytics": "Saiba mais sobre as atividades da sua equipe",
+ "redirect_url_warning": "A página de sucesso será desabilitada ao adicionar um redirecionamento. Não se esqueça de mencionar \"Reserva confirmada\" na sua página de sucesso personalizada.",
+ "event_trends": "Tendências de evento",
+ "clear_filters": "Limpar filtros",
+ "hold": "Segurar",
+ "on_booking_option": "Coletar pagamento na reserva",
+ "hold_option": "Carregar taxa de não comparecimento",
+ "card_held": "Cartão em posse",
+ "charge_card": "Carregar cartão",
+ "card_charged": "Cartão carregado",
+ "no_show_fee_amount": "{{amount, currency}} de taxa de não comparecimento",
+ "no_show_fee": "Taxa de não comparecimento",
+ "submit_card": "Enviar cartão",
+ "submit_payment_information": "Enviar informações de pagamento",
+ "meeting_awaiting_payment_method": "Sua reunião está aguardando um método de pagamento",
+ "no_show_fee_charged_email_subject": "Foi cobrada uma taxa de não comparecimento de {{amount, currency}} para {{title}} à(s) {{date}}",
+ "no_show_fee_charged_text_body": "Taxa de não comparecimento cobrada",
+ "no_show_fee_charged_subtitle": "Foi cobrada uma taxa de não comparecimento de {{amount, currency}} para o evento seguinte",
+ "error_charging_card": "Algo deu errado ao cobrar a taxa de não comparecimento. Tente novamente mais tarde.",
+ "collect_no_show_fee": "Coletar taxa de não comparecimento",
+ "no_show_fee_charged": "Taxa de não comparecimento cobrada",
+ "insights": "Insights",
+ "testing_workflow_info_message": "Ao testar este fluxo de trabalho, não se esqueça de que e-mails e SMS só podem ser reprogramados com pelo menos uma hora de antecedência",
+ "insights_no_data_found_for_filter": "Nenhum dado encontrado para o filtro ou dados selecionados.",
+ "acknowledge_booking_no_show_fee": "Estou ciente de que, se eu não comparecer a este evento, será cobrada no meu cartão uma taxa de não comparecimento de {{amount, currency}}.",
+ "card_details": "Detalhes do cartão",
+ "seats_and_no_show_fee_error": "Neste momento, não é possível habilitar assentos e cobrar taxa de não comparecimento",
+ "complete_your_booking": "Conclua sua reserva",
+ "complete_your_booking_subject": "Conclua sua reserva: {{title}} à(s) {{date}}",
+ "email_invite_team": "{{email}} recebeu um convite"
}
diff --git a/apps/web/public/static/locales/pt/common.json b/apps/web/public/static/locales/pt/common.json
index 8793cbc5de..6947ffde8c 100644
--- a/apps/web/public/static/locales/pt/common.json
+++ b/apps/web/public/static/locales/pt/common.json
@@ -1,4 +1,5 @@
{
+ "identity_provider": "Fornecedor de identidade",
"trial_days_left": "Restam $t(day, {\"count\": {{days}} }) da sua avaliação da versão PRO",
"day_one": "{{count}} dia",
"day_other": "{{count}} dias",
@@ -69,6 +70,8 @@
"event_awaiting_approval_subject": "A aguardar aprovação: {{title}} em {{date}}",
"event_still_awaiting_approval": "Um evento ainda aguarda a sua aprovação",
"booking_submitted_subject": "Reserva submetida: {{title}} em {{date}}",
+ "download_recording_subject": "Transferir gravação: {{title}} em {{date}}",
+ "download_your_recording": "Transferir a sua gravação",
"your_meeting_has_been_booked": "A sua reunião foi reservada",
"event_type_has_been_rescheduled_on_time_date": "Seu {{title}} foi remarcado para {{date}}.",
"event_has_been_rescheduled": "O seu evento foi reagendado.",
@@ -224,6 +227,7 @@
"done": "Concluído",
"all_done": "Tudo pronto!",
"all_apps": "Todos as aplicações",
+ "available_apps": "Aplicações disponíveis",
"check_email_reset_password": "Verifique o seu email. Enviámos uma ligação para redefinir a sua senha.",
"finish": "Terminar",
"few_sentences_about_yourself": "Algumas frases sobre si. Isto será mostrado na sua página pessoal.",
@@ -404,6 +408,7 @@
"add_time_availability": "Adicionar novo horário",
"add_an_extra_layer_of_security": "Adicione uma camada extra de segurança à sua conta, caso a sua senha seja roubada.",
"2fa": "Autenticação com dois fatores",
+ "2fa_disabled": "A autenticação de dois fatores só pode ser ativada para autenticação por e-mail e palavra-passe",
"enable_2fa": "Ativar autenticação de dois fatores",
"disable_2fa": "Desativar autenticação de dois fatores",
"disable_2fa_recommendation": "Se precisar desativar o 2FA, recomendamos reativá-lo o mais rápido possível.",
@@ -460,7 +465,6 @@
"friday": "Sexta-Feira",
"saturday": "Sábado",
"sunday": "Domingo",
- "all_booked_today": "Todo o Dia Reservado.",
"slots_load_fail": "Não foi possível carregar os horários disponíveis.",
"additional_guests": "+ Convidados Adicionais",
"your_name": "O seu nome",
@@ -585,6 +589,20 @@
"minutes": "Minutos",
"round_robin": "Round Robin",
"round_robin_description": "Reuniões de ciclo entre vários membros da equipa.",
+ "managed_event": "Evento gerido",
+ "username_placeholder": "nome de utilizador",
+ "managed_event_description": "Criar e distribuir tipos de eventos em conjunto para os membros da equipa",
+ "managed": "Gerido",
+ "managed_event_url_clarification": "\"nome de utilizador\" será substituído pelo nome de utilizador dos membros atribuídos",
+ "assign_to": "Atribuir a",
+ "add_members": "Adicionar membros...",
+ "count_members_one": "{{count}} membro",
+ "count_members_other": "{{count}} membros",
+ "no_assigned_members": "Sem membros atribuídos",
+ "assigned_to": "Atribuído a",
+ "start_assigning_members_above": "Comece a atribuir membros acima",
+ "locked_fields_admin_description": "Os membros não poderão editar isto",
+ "locked_fields_member_description": "Esta opção foi bloqueada pelo administrador da equipa",
"url": "URL",
"hidden": "Oculto",
"readonly": "Somente Leitura",
@@ -736,6 +754,11 @@
"minimum_booking_notice": "Aviso de mínimo",
"slot_interval": "Intervalos do horário",
"slot_interval_default": "Usar duração do evento (por omissão)",
+ "delete_event_type": "Eliminar tipo de evento?",
+ "delete_managed_event_type": "Eliminar tipo de evento gerido?",
+ "delete_event_type_description": "Qualquer pessoa com quem tiver partilhado a ligação deixará de poder fazer reservas com a mesma.",
+ "delete_managed_event_type_description": "
Também serão eliminados os tipos de eventos dos membros atribuídos a este tipo de evento.
Quaisquer pessoas com quem estes membros tenham partilhado as respetivas ligações deixarão de poder fazer reservas recorrendo às mesmas.
",
+ "confirm_delete_event_type": "Sim, eliminar",
"delete_account": "Eliminar conta",
"confirm_delete_account": "Sim, eliminar conta",
"delete_account_confirmation_message": "De certeza que quer eliminar a sua conta {{appName}}? Qualquer pessoa com quem tenha partilhado esta ligação de equipa deixará de poder fazer reservas através da respetiva ligação, e quaisquer preferências que tenha guardado serão perdidas.",
@@ -1126,11 +1149,13 @@
"current_username": "Nome de utilizador atual",
"example_1": "Exemplo 1",
"example_2": "Exemplo 2",
+ "booking_question_identifier": "Identificador de questão sobre a reserva",
"company_size": "Tamanho da empresa",
"what_help_needed": "Em que precisa de ajuda?",
"variable_format": "Formato da variável",
"webhook_subscriber_url_reserved": "O endereço webhook de subscrição já está definido",
"custom_input_as_variable_info": "Ignora todos os caracteres especiais da etiqueta de entrada adicional (utiliza apenas letras e números), utiliza maiúsculas para todas as letras e substitui espaços em branco por carateres de sublinhado.",
+ "using_booking_questions_as_variables": "Como posso utilizar questões sobre a reserva como variáveis?",
"download_desktop_app": "Descarregar a aplicação para o computador",
"set_ping_link": "Definir ligação do Ping",
"rate_limit_exceeded": "Limite de transações excedido",
@@ -1176,6 +1201,7 @@
"start_of_week": "Início da semana",
"recordings_title": "Gravações",
"recording": "Gravação",
+ "happy_scheduling": "Votos de bons agendamentos",
"select_calendars": "Selecione os calendários nos quais pretende procurar por conflitos para evitar sobreposição de reservas.",
"check_for_conflicts": "Verificar se existem conflitos",
"view_recordings": "Ver gravações",
@@ -1213,6 +1239,7 @@
"impersonation": "Representação",
"impersonation_description": "Definições para gerir a personificação de utilizadores",
"users": "Utilizadores",
+ "user": "Utilizador",
"profile_description": "Gerir as definições para o seu perfil {{appName}}",
"users_description": "Aqui pode encontrar uma lista de todos os utilizadores",
"users_listing": "Lista de utilizadores",
@@ -1253,6 +1280,8 @@
"download_responses": "Descarregar respostas",
"download_responses_description": "Descarregue todas as respostas ao seu formulário em formato CSV.",
"download": "Descarregar",
+ "download_recording": "Transferir gravação",
+ "recording_from_your_recent_call": "Uma gravação da sua chamada recente no Cal.com está pronta para ser transferida",
"create_your_first_form": "Crie o seu primeiro formulário",
"create_your_first_form_description": "Com os Formulários de encaminhamento, pode fazer questões qualitativas e encaminhar para a pessoa ou o tipo de evento correto.",
"create_your_first_webhook": "Crie o seu primeiro Webhook",
@@ -1289,6 +1318,15 @@
"exchange_authentication_standard": "Autenticação básica",
"exchange_authentication_ntlm": "Autenticação NTLM",
"exchange_compression": "Compressão GZip",
+ "exchange_version": "Versão do Exchange",
+ "exchange_version_2007_SP1": "2007 SP1",
+ "exchange_version_2010": "2010",
+ "exchange_version_2010_SP1": "2010 SP1",
+ "exchange_version_2010_SP2": "2010 SP2",
+ "exchange_version_2013": "2013",
+ "exchange_version_2013_SP1": "2013 SP1",
+ "exchange_version_2015": "2015",
+ "exchange_version_2016": "2016",
"routing_forms_description": "Aqui pode ver todos os formulários e rotas que criou.",
"routing_forms_send_email_owner": "Enviar e-mail ao proprietário",
"routing_forms_send_email_owner_description": "Envia um e-mail ao proprietário quando o formulário for submetido",
@@ -1343,6 +1381,7 @@
"add_limit": "Adicionar limite",
"team_name_required": "É necessário um nome para a equipa",
"show_attendees": "Partilhar informações dos participantes entre os convidados",
+ "how_booking_questions_as_variables": "Como utilizar perguntas de agendamento como variáveis?",
"format": "Formato",
"uppercase_for_letters": "Utilize letras maiúsculas para todas as letras",
"replace_whitespaces_underscores": "Substituir espaços em branco com carateres de sublinhado",
@@ -1357,6 +1396,7 @@
"billing_help_title": "Precisa de outra coisa?",
"billing_help_description": "Se precisar de mais ajuda com a faturação, a nossa equipa de apoio está aqui para ajudar.",
"billing_help_cta": "Contactar o apoio",
+ "ignore_special_characters_booking_questions": "Ignorar caracteres especiais no seu identificador de questões sobre a reserva. Utilizar apenas letras e números",
"retry": "Repetir",
"fetching_calendars_error": "Ocorreu um problema ao obter os seus calendários. Por favor, <1>tente novamente1> ou contacte o apoio ao cliente.",
"calendar_connection_fail": "A ligação ao calendário falhou",
@@ -1439,11 +1479,17 @@
"fixed_round_robin": "Distribuição equilibrada fixa",
"add_one_fixed_attendee": "Adicione um participante fixo e distribua de forma equilibrada a partir de um número de participantes.",
"calcom_is_better_with_team": "Cal.com funciona melhor com equipas",
+ "the_calcom_team": "A equipa Cal.com",
"add_your_team_members": "Adicione os membros da sua equipa aos seus tipos de eventos. Utilize o agendamento coletivo para incluir todos os membros ou encontre a pessoa mais adequada com o agendamento baseado numa distribuição equilibrada.",
"booking_limit_reached": "O limite de reservas para este tipo de evento foi atingido",
"duration_limit_reached": "O limite de duração para este tipo de evento foi atingido",
"admin_has_disabled": "{{appName}} foi desativada por um administrador",
"disabled_app_affects_event_type": "{{appName}} foi desativada por um administrador, o que afeta o seu tipo de evento {{eventType}}",
+ "event_replaced_notice": "Um administrador substituiu um dos seus tipos de eventos",
+ "email_subject_slug_replacement": "Um administrador da equipa substituiu o seu evento /{{slug}}",
+ "email_body_slug_replacement_notice": "Um administrador na equipa {{teamName}} substituiu o seu tipo de evento /{{slug}} por um tipo de evento gerido, controlado por eles.",
+ "email_body_slug_replacement_info": "A sua ligação vai continuar a funcionar, mas algumas das configurações podem ter sido alteradas. Pode rever a mesma nos tipos de eventos.",
+ "email_body_slug_replacement_suggestion": "Se tiver quaisquer questões sobre o tipo de evento, por favor, entre em contacto com o seu administrador.
Votos de bons agendamentos, da equipa Cal.com",
"disable_payment_app": "O administrador desativou {{appName}}, que afeta o seu tipo de evento {{title}}. Os participantes ainda podem reservar este tipo de evento, mas não será pedido que façam qualquer pagamento. Pode ocultar o tipo de evento para evitar esta situação até que o administrador reative o seu método de pagamento.",
"payment_disabled_still_able_to_book": "Os participantes ainda podem reservar este tipo de evento, mas não será solicitado que façam qualquer pagamento. Pode ocultar o tipo de evento para evitar esta situação até que o seu administrador reative o método de pagamento.",
"app_disabled_with_event_type": "O administrador desativou {{appName}}, o que afeta o seu tipo de evento {{title}}.",
@@ -1492,6 +1538,7 @@
"date_overrides_update_btn": "Atualizar sobreposição",
"event_type_duplicate_copy_text": "cópia de {{slug}}",
"set_as_default": "Predefinir",
+ "hide_eventtype_details": "Ocultar detalhes do tipo de evento",
"show_navigation": "Mostrar navegação",
"hide_navigation": "Ocultar navegação",
"verification_code_sent": "Código de verificação enviado",
@@ -1505,6 +1552,7 @@
"create_your_first_team_webhook_description": "Crie o seu primeiro webhook para este tipo de evento de equipa",
"create_webhook_team_event_type": "Crie um webhook para este tipo de evento de equipa",
"disable_success_page": "Desativar a Página de sucesso (só funciona se tiver um URL de redirecionamento)",
+ "invalid_admin_password": "Você é um administrador, mas ainda não tem uma palavra-passe com pelo menos 15 caracteres",
"change_password_admin": "Altere a palavra-passe para ter acesso de administrador",
"username_already_taken": "O nome de utilizador já está a ser utilizado",
"assignment": "Atribuição",
@@ -1537,6 +1585,7 @@
"ee_enterprise_license": "Licença Enterprise “/ee”",
"enterprise_booking_fee": "A partir de {{enterprise_booking_fee}}/mês",
"enterprise_license_includes": "Tudo para uma utilização comercial",
+ "no_need_to_keep_your_code_open_source": "Não há necessidade de manter o seu código aberto",
"repackage_rebrand_resell": "Republique, personalize a marca e revenda com facilidade",
"a_vast_suite_of_enterprise_features": "Um vasto conjunto de funcionalidades empresariais",
"free_license_fee": "$0,00/mês",
@@ -1598,6 +1647,7 @@
"default_app_link_title": "Definir uma ligação predefinida de aplicação",
"default_app_link_description": "Ao definir uma ligação predefinida da aplicação, permite que todos os tipos de eventos recém-criados utilizem a ligação de aplicação que definiu.",
"change_default_conferencing_app": "Predefinir",
+ "organizer_default_conferencing_app": "Aplicação predefinida do organizador",
"under_maintenance": "Em manutenção",
"under_maintenance_description": "A equipa {{appName}} está a executar uma operação de manutenção programada. Se tiver alguma dúvida, por favor, entre em contacto com o suporte.",
"event_type_seats": "{{numberOfSeats}} lugares",
@@ -1612,6 +1662,7 @@
"not_enough_seats": "Não existem lugares suficientes",
"form_builder_field_already_exists": "Já existe um campo com este nome",
"form_builder_field_add_subtitle": "Personalize as questões colocadas na página da reserva",
+ "show_on_booking_page": "Mostrar na página de reservas",
"get_started_zapier_templates": "Comece a utilizar os modelos Zapier",
"team_is_unpublished": "A equipa {{team}} ainda não está publicada",
"team_is_unpublished_description": "Esta ligação de equipa não está disponível neste momento. Por favor, entre em contacto com o responsável pela equipa ou solicite-lhe a respetiva publicação.",
@@ -1635,6 +1686,14 @@
"add_1_option_per_line": "Adicionar 1 opção por linha",
"select_a_router": "Selecionar um roteador",
"add_a_new_route": "Adicionar uma nova Rota",
+ "make_informed_decisions": "Tome decisões informadas com base em Insights",
+ "make_informed_decisions_description": "O nosso painel Insights apresenta toda a atividade da sua equipa e mostra as tendências que permitem melhorar o agendamento e os processos de decisão da equipa.",
+ "view_bookings_across": "Ver reservas de todos os membros",
+ "view_bookings_across_description": "Veja quem está a receber mais reservas e assegure a melhor distribuição em toda a sua equipa",
+ "identify_booking_trends": "Identifique tendências de reservas",
+ "identify_booking_trends_description": "Veja quais os horários da semana e do dia que são mais populares para os seus clientes",
+ "spot_popular_event_types": "Identifique tipos de eventos populares",
+ "spot_popular_event_types_description": "Veja quais os tipos de eventos que estão a receber mais cliques e reservas",
"no_responses_yet": "Ainda sem respostas",
"this_will_be_the_placeholder": "Isto será o marcador de posição",
"this_meeting_has_not_started_yet": "Esta reunião ainda não começou",
@@ -1646,8 +1705,83 @@
"can_you_try_again": "Pode tentar novamente noutra altura?",
"verify": "Verificar",
"timezone_variable": "Fuso Horário",
+ "timezone_info": "O fuso horário da pessoa que recebe",
+ "event_end_time_variable": "Hora de fim do evento",
+ "event_end_time_info": "A hora de fim do evento",
+ "cancel_url_variable": "URL de cancelamento",
+ "cancel_url_info": "A URL para cancelar a reserva",
+ "reschedule_url_variable": "URL de reagendamento",
+ "reschedule_url_info": "A URL para reagendar a reserva",
"invalid_event_name_variables": "Existe uma variável inválida no nome do seu evento",
"select_all": "Selecionar tudo",
"default_conferencing_bulk_title": "Atualizar os tipos de evento existentes em conjunto",
- "default_conferencing_bulk_description": "Atualizar os locais para os tipos de evento selecionados"
+ "members_default_schedule": "Agenda predefinida do membro",
+ "set_by_admin": "Definido pelo administrador da equipa",
+ "members_default_location": "Localização predefinida do membro",
+ "members_default_schedule_description": "Vamos utilizar a agenda de disponibilidades predefinida de cada membro. Eles poderão editar ou alterar a mesma.",
+ "requires_at_least_one_schedule": "É necessário que tenha pelo menos uma agenda",
+ "default_conferencing_bulk_description": "Atualizar os locais para os tipos de evento selecionados",
+ "locked_for_members": "Bloqueado para os membros",
+ "locked_apps_description": "Os membros poderão ver as aplicações ativas, mas não poderão editar quaisquer configurações das aplicações",
+ "locked_webhooks_description": "Os membros poderão ver os webhooks ativos, mas não poderão editar quaisquer configurações dos webhooks",
+ "locked_workflows_description": "Os membros poderão ver os fluxos de trabalho ativos, mas não poderão editar quaisquer configurações dos fluxos de trabalho",
+ "locked_by_admin": "Bloqueado pelo administrador",
+ "app_not_connected": "Não associou uma conta {{appName}}.",
+ "connect_now": "Associar agora",
+ "managed_event_dialog_confirm_button_one": "Substituir e notificar {{count}} membro",
+ "managed_event_dialog_confirm_button_other": "Substituir e notificar {{count}} membros",
+ "managed_event_dialog_title_one": "A URL /{{slug}} já existe para {{count}} membro. Pretende substituir a mesma?",
+ "managed_event_dialog_title_other": "A URL /{{slug}} já existe para {{count}} membros. Pretende substituir a mesma?",
+ "managed_event_dialog_information_one": "{{names}} já está a utilizar a URL /{{slug}}.",
+ "managed_event_dialog_information_other": "{{names}} já estão a utilizar a URL /{{slug}}.",
+ "managed_event_dialog_clarification": "Se optar pela substituição, iremos notificá-los. Retroceda e remova-os se não quiser substituir.",
+ "review_event_type": "Rever Tipo de Evento",
+ "looking_for_more_analytics": "À procura de mais análises?",
+ "looking_for_more_insights": "À procura de mais Insights?",
+ "add_filter": "Adicionar filtro",
+ "select_user": "Selecionar utilizador",
+ "select_event_type": "Selecionar tipo de evento",
+ "select_date_range": "Selecionar intervalo de datas",
+ "popular_events": "Eventos populares",
+ "no_event_types_found": "Não foram encontrados tipos de eventos",
+ "average_event_duration": "Duração média do evento",
+ "most_booked_members": "Membros mais reservados",
+ "least_booked_members": "Membros menos reservados",
+ "events_created": "Eventos criados",
+ "events_completed": "Eventos concluídos",
+ "events_cancelled": "Eventos cancelados",
+ "events_rescheduled": "Eventos reagendados",
+ "from_last_period": "do último período",
+ "from_to_date_period": "De: {{startDate}} A: {{endDate}}",
+ "analytics_for_organisation": "Insights",
+ "subtitle_analytics": "Saiba mais sobre as atividades da sua equipa",
+ "redirect_url_warning": "Ao adicionar um redirecionamento irá desativar a página de sucesso. Certifique-se que indica que \"A reserva foi confirmada\" na sua página de sucesso personalizada.",
+ "event_trends": "Tendências de evento",
+ "clear_filters": "Limpar filtros",
+ "hold": "Reter",
+ "on_booking_option": "Receber o pagamento na reserva",
+ "hold_option": "Cobrar taxa de não-comparência",
+ "card_held": "Cartão retido",
+ "charge_card": "Debitar no cartão",
+ "card_charged": "Cartão debitado",
+ "no_show_fee_amount": "Taxa de não-comparência de {{amount, currency}}",
+ "no_show_fee": "Taxa de não-comparência",
+ "submit_card": "Submeter cartão",
+ "submit_payment_information": "Enviar informações de pagamento",
+ "meeting_awaiting_payment_method": "A sua reunião aguarda por um método de pagamento",
+ "no_show_fee_charged_email_subject": "Taxa de não-comparência de {{amount, currency}} debitada para {{title}} a {{date}}",
+ "no_show_fee_charged_text_body": "A taxa de não-comparência foi debitada",
+ "no_show_fee_charged_subtitle": "A taxa de não-comparência de {{amount, currency}} foi debitada para o seguinte evento",
+ "error_charging_card": "Algo não correu bem no débito da taxa de não-comparência. Por favor, tente novamente mais tarde.",
+ "collect_no_show_fee": "Cobrar taxa de não-comparência",
+ "no_show_fee_charged": "A taxa de não-comparência debitada",
+ "insights": "Insights",
+ "testing_workflow_info_message": "Ao testar este fluxo de trabalho tenha em consideração que e-mails e SMS só podem ser agendados com, pelo menos, 1 hora de antecedência",
+ "insights_no_data_found_for_filter": "Não foram encontrados dados para as datas ou filtros selecionados.",
+ "acknowledge_booking_no_show_fee": "Eu aceito que caso eu não compareça a este evento, será cobrada uma taxa de não-comparência de {{amount, currency}} no meu cartão.",
+ "card_details": "Detalhes do cartão",
+ "seats_and_no_show_fee_error": "Atualmente, não é possível ativar lugares e cobrar uma taxa de não-comparência",
+ "complete_your_booking": "Concluir a sua reserva",
+ "complete_your_booking_subject": "Concluir a sua reserva: {{title}} a {{date}}",
+ "email_invite_team": "{{email}} foi convidado/a"
}
diff --git a/apps/web/public/static/locales/ro/common.json b/apps/web/public/static/locales/ro/common.json
index 1e82875bf1..199d5b4c77 100644
--- a/apps/web/public/static/locales/ro/common.json
+++ b/apps/web/public/static/locales/ro/common.json
@@ -1,4 +1,5 @@
{
+ "identity_provider": "Furnizor de identitate",
"trial_days_left": "Aveți $t(zi, {\"count\": {{days}} }) rămase din perioada de probă PRO",
"day_one": "{{count}} zi",
"day_other": "{{count}} (de) zile",
@@ -69,6 +70,8 @@
"event_awaiting_approval_subject": "Se așteaptă aprobarea: {{title}} în {{date}}",
"event_still_awaiting_approval": "Un eveniment încă așteaptă aprobarea dvs.",
"booking_submitted_subject": "Rezervare transmisă: {{title}} în {{date}}",
+ "download_recording_subject": "Descărcare înregistrare: {{title}}, pe {{date}}",
+ "download_your_recording": "Descărcați-vă înregistrarea",
"your_meeting_has_been_booked": "Întâlnirea dvs. a fost programată",
"event_type_has_been_rescheduled_on_time_date": "{{title}} dvs. a fost reprogramat la {{date}}.",
"event_has_been_rescheduled": "Evenimentul dvs. a fost reprogramat.",
@@ -224,6 +227,7 @@
"done": "Adoptat",
"all_done": "Gata!",
"all_apps": "Toate aplicațiile",
+ "available_apps": "Aplicații disponibile",
"check_email_reset_password": "Verificați adresa de e-mail. V-am trimis un link pentru resetarea parolei.",
"finish": "Finalizeaza",
"few_sentences_about_yourself": "Câteva propoziții despre tine. Aceasta va apărea pe pagina de url personală.",
@@ -404,6 +408,7 @@
"add_time_availability": "Adăugați un interval de timp nou",
"add_an_extra_layer_of_security": "Adaugă un nivel suplimentar de securitate contului tău în cazul în care parola este furată.",
"2fa": "Autentificare cu doi factori",
+ "2fa_disabled": "Autentificarea cu doi factori poate fi activată numai pentru autentificare prin e-mail și parolă",
"enable_2fa": "Activează autentificarea cu doi factori",
"disable_2fa": "Dezactivează autentificarea cu doi factori",
"disable_2fa_recommendation": "Dacă aveţi nevoie să dezactivaţi 2FA, vă recomandăm reactivarea cât mai curând posibil.",
@@ -460,7 +465,6 @@
"friday": "Vineri",
"saturday": "Sâmbătă",
"sunday": "Duminică",
- "all_booked_today": "Azi e totul rezervat.",
"slots_load_fail": "Nu s-au putut încărca intervalele de timp disponibile.",
"additional_guests": "Adăugați vizitatori",
"your_name": "Numele tău",
@@ -585,6 +589,20 @@
"minutes": "Minute",
"round_robin": "Round Robin",
"round_robin_description": "Întâlniri ciclice între mai mulţi membri ai echipei.",
+ "managed_event": "Eveniment gestionat",
+ "username_placeholder": "nume de utilizator",
+ "managed_event_description": "Creați și distribuiți membrilor echipei tipuri de evenimente în masă",
+ "managed": "Gestionat",
+ "managed_event_url_clarification": "Câmpul „nume de utilizator” va fi completat cu numele de utilizator ale membrilor desemnați",
+ "assign_to": "Atribuiți către",
+ "add_members": "Adăugare membri...",
+ "count_members_one": "{{count}} membru",
+ "count_members_other": "{{count}} (de) membri",
+ "no_assigned_members": "Niciun membru desemnat",
+ "assigned_to": "Atribuit către",
+ "start_assigning_members_above": "Începeți să desemnați membri mai sus",
+ "locked_fields_admin_description": "Membrii nu vor putea modifica acest câmp",
+ "locked_fields_member_description": "Această opțiune a fost blocată de administratorul echipei",
"url": "URL",
"hidden": "Ascuns",
"readonly": "Needitabil",
@@ -736,6 +754,11 @@
"minimum_booking_notice": "Aviz minim de rezervare",
"slot_interval": "Intervale de timp",
"slot_interval_default": "Folosiți durata evenimentului (implicit)",
+ "delete_event_type": "Ștergeți tipul de eveniment?",
+ "delete_managed_event_type": "Ștergeți tipul de eveniment gestionat?",
+ "delete_event_type_description": "Nicio persoană căreia i-ați transmis acest link nu va mai putea efectua rezervări prin intermediul lui.",
+ "delete_managed_event_type_description": "
Membrii alocați acestui tip de eveniment își vor vedea și tipurile de evenimente șterse.
Nicio persoană căreia i-au transmis linkul nu va mai putea efectua rezervări prin intermediul lui.
",
+ "confirm_delete_event_type": "Da, șterge",
"delete_account": "Ștergeți contul",
"confirm_delete_account": "Da, ștergeți contul",
"delete_account_confirmation_message": "Sigur doriți să vă ștergeți contul {{appName}}? Persoanele cărora le-ați transmis linkul contului dvs. nu vor mai putea rezerva folosindu-l și orice preferințe pe care le-ați salvat se vor pierde.",
@@ -1126,11 +1149,13 @@
"current_username": "Nume de utilizator actual",
"example_1": "Exemplul 1",
"example_2": "Exemplul 2",
+ "booking_question_identifier": "Identificator întrebări despre rezervare",
"company_size": "Mărime companie",
"what_help_needed": "Pentru ce anume aveți nevoie de ajutor?",
"variable_format": "Format variabile",
"webhook_subscriber_url_reserved": "URL-ul abonatului Webhook este deja definit",
"custom_input_as_variable_info": "Ignorați toate caracterele speciale de pe eticheta de introducere suplimentară (utilizați numai litere și cifre), utilizați majuscule pentru toate literele și înlocuiți spațiile goale cu caractere de subliniere.",
+ "using_booking_questions_as_variables": "Cum pot utiliza ca variabile întrebările despre rezervare?",
"download_desktop_app": "Descărcați aplicația pentru desktop",
"set_ping_link": "Setare link Ping",
"rate_limit_exceeded": "Limită rată depășită",
@@ -1176,6 +1201,7 @@
"start_of_week": "Începutul săptămânii",
"recordings_title": "Înregistrări",
"recording": "Înregistrare",
+ "happy_scheduling": "Programări cu spor",
"select_calendars": "Selectați pe ce calendare vreți să verificați dacă există conflicte pentru a preveni rezervările suprapuse.",
"check_for_conflicts": "Verifică dacă există conflicte",
"view_recordings": "Vezi înregistrările",
@@ -1213,6 +1239,7 @@
"impersonation": "Reprezentare",
"impersonation_description": "Setări pentru gestionarea reprezentării utilizatorului",
"users": "Utilizatori",
+ "user": "Utilizator",
"profile_description": "Gestionați setările profilului dvs. {{appName}}",
"users_description": "Aici poți găsi o listă a tuturor utilizatorilor",
"users_listing": "Listare utilizatori",
@@ -1253,6 +1280,8 @@
"download_responses": "Descărcați răspunsurile",
"download_responses_description": "Descărcați în format CSV toate răspunsurile la formularul dvs.",
"download": "Descarcă",
+ "download_recording": "Descărcați înregistrarea",
+ "recording_from_your_recent_call": "O înregistrare a apelului dvs. recent de pe Cal.com poate fi acum descărcată",
"create_your_first_form": "Creați primul dvs. formular",
"create_your_first_form_description": "Cu ajutorul formularelor de direcționare, puteți adresa întrebări de calificare și le puteți redirecționa persoanei sau tipului de eveniment potrivit.",
"create_your_first_webhook": "Creați primul dvs. webhook",
@@ -1289,6 +1318,15 @@
"exchange_authentication_standard": "Autentificare de bază",
"exchange_authentication_ntlm": "Autentificare NTLM",
"exchange_compression": "Compresie GZip",
+ "exchange_version": "Versiune Exchange",
+ "exchange_version_2007_SP1": "2007 SP1",
+ "exchange_version_2010": "2010",
+ "exchange_version_2010_SP1": "2010 SP1",
+ "exchange_version_2010_SP2": "2010 SP2",
+ "exchange_version_2013": "2013",
+ "exchange_version_2013_SP1": "2013 SP1",
+ "exchange_version_2015": "2015",
+ "exchange_version_2016": "2016",
"routing_forms_description": "Puteți vedea aici toate formularele și parcursurile pe care le-ați creat.",
"routing_forms_send_email_owner": "Trimiteți un e-mail către proprietar",
"routing_forms_send_email_owner_description": "Trimite un e-mail către proprietar atunci când este trimis formularul",
@@ -1343,6 +1381,7 @@
"add_limit": "Adăugați o limită",
"team_name_required": "Este necesar numele echipei",
"show_attendees": "Distribuiți informațiile despre participanți între invitați",
+ "how_booking_questions_as_variables": "Cum puteți utiliza ca variabile întrebările despre rezervare?",
"format": "Format",
"uppercase_for_letters": "Utilizați majuscule pentru toate literele",
"replace_whitespaces_underscores": "Înlocuiți spațiile cu caractere de subliniere",
@@ -1357,6 +1396,7 @@
"billing_help_title": "Aveți nevoie de altceva?",
"billing_help_description": "Dacă aveți nevoie de ajutor suplimentar pentru facturare, echipa noastră de asistență este aici pentru a vă ajuta.",
"billing_help_cta": "Contactați serviciul de asistență",
+ "ignore_special_characters_booking_questions": "Ignorați caracterele speciale din identificatorul de întrebări despre rezervare. Utilizați doar litere și cifre",
"retry": "Reîncercați",
"fetching_calendars_error": "A survenit o problemă legată de recuperarea calendarelor dvs. <1>Încercați din nou1> sau contactați serviciul de asistență pentru clienți.",
"calendar_connection_fail": "Conexiune calendar nereușită",
@@ -1439,11 +1479,17 @@
"fixed_round_robin": "Sistem „round-robin” fix",
"add_one_fixed_attendee": "Adaugă un participant fix şi unul din sistemul „round-robin” dintr-un număr de participanţi.",
"calcom_is_better_with_team": "Cal.com funcționează mai bine cu echipe",
+ "the_calcom_team": "Echipa Cal.com",
"add_your_team_members": "Adaugă membrii echipei tale la tipurile tale de evenimente. Folosește programarea colectivă pentru a include pe toată lumea sau găsește persoana cea mai potrivită cu programarea „round-robin”.",
"booking_limit_reached": "A fost atinsă limita de rezervare pentru acest tip de eveniment",
"duration_limit_reached": "Durata limită pentru acest tip de eveniment a fost atinsă",
"admin_has_disabled": "Un administrator a dezactivat {{appName}}",
"disabled_app_affects_event_type": "Un administrator a dezactivat {{appName}} care afectează tipul tău de eveniment {{eventType}}",
+ "event_replaced_notice": "Un administrator a înlocuit unul dintre tipurile dvs. de evenimente",
+ "email_subject_slug_replacement": "Un administrator al echipei v-a înlocuit evenimentul /{{slug}}",
+ "email_body_slug_replacement_notice": "Un administrator din echipa {{teamName}} v-a înlocuit tipul de eveniment /{{slug}} cu un tip de eveniment gestionat pe care îl controlează.",
+ "email_body_slug_replacement_info": "Linkul dvs. va funcționa în continuare, dar este posibil ca unele setări să se fi schimbat. Îl puteți examina în tipurile de evenimente.",
+ "email_body_slug_replacement_suggestion": "Dacă aveți întrebări despre tipul de eveniment, luați legătura cu administratorul dvs.
Programări cu spor, Echipa Cal.com",
"disable_payment_app": "Administratorul a dezactivat {{appName}} care afectează tipul tău de eveniment {{title}}. Participanții încă pot să facă rezervări pentru acest tip de eveniment, dar nu li se va solicita să plătească. Poți ascunde tipul de eveniment pentru a preveni acest lucru până când administratorul tău reactivează metoda ta de plată.",
"payment_disabled_still_able_to_book": "Participanții încă pot să facă rezervări pentru acest tip de eveniment, dar nu li se va solicita să plătească. Poți ascunde tipul de eveniment pentru a preveni acest lucru până când administratorul tău reactivează metoda ta de plată.",
"app_disabled_with_event_type": "Administratorul a dezactivat {{appName}} care afectează tipul tău de eveniment {{title}}.",
@@ -1492,6 +1538,7 @@
"date_overrides_update_btn": "Actualizează suprascrierea",
"event_type_duplicate_copy_text": "{{slug}}-copie",
"set_as_default": "Setează ca implicit",
+ "hide_eventtype_details": "Ascundere detalii despre tipul de eveniment",
"show_navigation": "Arată navigarea",
"hide_navigation": "Ascunde navigarea",
"verification_code_sent": "Cod de verificare trimis",
@@ -1505,6 +1552,7 @@
"create_your_first_team_webhook_description": "Creează primul tău webhook pentru acest tip de eveniment pentru echipă",
"create_webhook_team_event_type": "Creează un webhook pentru acest tip de eveniment pentru echipă",
"disable_success_page": "Dezactivează pagina cu mesajul de succes (funcționează numai dacă ai un URL de redirecționare)",
+ "invalid_admin_password": "Sunteți administrator, dar nu aveți încă o parolă de cel puțin 15 caractere sau autentificare cu doi factori (2FA)",
"change_password_admin": "Schimbă parola pentru a obține acces ca administrator",
"username_already_taken": "Numele de utilizator este deja folosit",
"assignment": "Alocare",
@@ -1537,6 +1585,7 @@
"ee_enterprise_license": "Licență Enterprise „/ee”",
"enterprise_booking_fee": "Începând de la {{enterprise_booking_fee}}/lună",
"enterprise_license_includes": "Totul pentru uz comercial",
+ "no_need_to_keep_your_code_open_source": "Nu este nevoie să vă păstrați codul open-source",
"repackage_rebrand_resell": "Restructurați și revindeți cu ușurință, sub o nouă marcă",
"a_vast_suite_of_enterprise_features": "O gamă largă de caracteristici specifice întreprinderilor",
"free_license_fee": "0,00 USD/lună",
@@ -1598,6 +1647,7 @@
"default_app_link_title": "Setați un link implicit pentru aplicații",
"default_app_link_description": "Setarea unui link implicit pentru aplicații permite tuturor tipurilor de evenimente nou-create să utilizeze linkul pentru aplicații pe care l-ați setat.",
"change_default_conferencing_app": "Setează ca implicit",
+ "organizer_default_conferencing_app": "Aplicația implicită a organizatorului",
"under_maintenance": "Serviciu întrerupt pentru întreținere",
"under_maintenance_description": "Echipa {{appName}} efectuează lucrări de întreținere programate. Dacă aveți întrebări, contactați serviciul de asistență.",
"event_type_seats": "{{numberOfSeats}} (de) locuri",
@@ -1612,6 +1662,7 @@
"not_enough_seats": "Nu sunt suficiente locuri",
"form_builder_field_already_exists": "Există deja un câmp cu acest nume",
"form_builder_field_add_subtitle": "Personalizați întrebările adresate pe pagina de rezervare",
+ "show_on_booking_page": "Afișare pe pagina de rezervare",
"get_started_zapier_templates": "Faceți primii pași cu șabloanele Zapier",
"team_is_unpublished": "Echipa {{team}} nu este publicată",
"team_is_unpublished_description": "Acest link de echipă nu este disponibil momentan. Contactați proprietarul echipei sau rugați-l să îl publice.",
@@ -1654,11 +1705,39 @@
"can_you_try_again": "Puteți încerca din nou cu o oră diferită?",
"verify": "Verificare",
"timezone_variable": "Timezone",
+ "timezone_info": "Fusul orar al persoanei care primește",
+ "event_end_time_variable": "Oră de încheiere eveniment",
+ "event_end_time_info": "Ora de încheiere a evenimentului",
+ "cancel_url_variable": "URL de anulare",
+ "cancel_url_info": "URL-ul pentru anularea rezervării",
+ "reschedule_url_variable": "URL de reprogramare",
+ "reschedule_url_info": "URL-ul pentru reprogramarea rezervării",
"invalid_event_name_variables": "Numele evenimentului include o variabilă nevalidă",
"select_all": "Selectare tot",
"default_conferencing_bulk_title": "Actualizare în masă tipuri de evenimente existente",
+ "members_default_schedule": "Programul implicit al membrului",
+ "set_by_admin": "Setat de administratorul echipei",
+ "members_default_location": "Localizarea implicită a membrului",
+ "members_default_schedule_description": "Vom utiliza programul implicit de disponibilitate al fiecărui membru. Aceștia îl vor putea edita sau schimba.",
+ "requires_at_least_one_schedule": "Este necesar să aveți cel puțin un program",
"default_conferencing_bulk_description": "Actualizați locațiile pentru tipurile de evenimente selectate",
+ "locked_for_members": "Blocat pentru membri",
+ "locked_apps_description": "Membrii vor putea vedea aplicațiile active, însă nu le vor putea modifica deloc setările",
+ "locked_webhooks_description": "Membrii vor putea vedea webhook-urile active, însă nu le vor putea modifica deloc setările",
+ "locked_workflows_description": "Membrii vor putea vedea fluxurile de lucru active, însă nu le vor putea modifica deloc setările",
+ "locked_by_admin": "Blocat de administrator",
+ "app_not_connected": "Nu ați conectat un cont {{appName}}.",
+ "connect_now": "Conectați-l acum",
+ "managed_event_dialog_confirm_button_one": "Înlocuiți și anunțați {{count}} membru",
+ "managed_event_dialog_confirm_button_other": "Înlocuiți și anunțați {{count}} (de) membri",
+ "managed_event_dialog_title_one": "URL-ul /{{slug}} există deja pentru {{count}} membru. Doriți să îl înlocuiți?",
+ "managed_event_dialog_title_other": "URL-ul /{{slug}} există deja pentru {{count}} (de) membri. Doriți să îl înlocuiți?",
+ "managed_event_dialog_information_one": "{{names}} folosește deja URL-ul /{{slug}}.",
+ "managed_event_dialog_information_other": "{{names}} folosesc deja URL-ul /{{slug}}.",
+ "managed_event_dialog_clarification": "Îi vom anunța dacă alegeți să îl înlocuiți. Reveniți și ștergeți-i dacă nu doriți să îl suprascrieți.",
+ "review_event_type": "Evaluați tipul de eveniment",
"looking_for_more_analytics": "Cauți mai multe analize?",
+ "looking_for_more_insights": "Căutați mai multe perspective?",
"add_filter": "Adaugă filtru",
"select_user": "Selectează utilizatorul",
"select_event_type": "Selectează tipul de eveniment",
@@ -1674,5 +1753,35 @@
"events_rescheduled": "Evenimente reprogramate",
"from_last_period": "din ultima perioadă",
"from_to_date_period": "De la: {{startDate}} La: {{endDate}}",
- "event_trends": "Tendințe eveniment"
+ "analytics_for_organisation": "Insights",
+ "subtitle_analytics": "Aflați mai multe despre activitatea echipei dvs.",
+ "redirect_url_warning": "Adăugarea unei redirecționări va dezactiva pagina cu mesajul de succes. Nu uitați să menționați „Rezervare confirmată” pe pagina cu mesajul de succes personalizat.",
+ "event_trends": "Tendințe eveniment",
+ "clear_filters": "Ștergere filtre",
+ "hold": "Așteptare",
+ "on_booking_option": "Percepere plată pentru rezervare",
+ "hold_option": "Percepere taxă de neprezentare",
+ "card_held": "Card reținut",
+ "charge_card": "Debitare card",
+ "card_charged": "Card debitat",
+ "no_show_fee_amount": "Taxă de neprezentare în valoare de {{amount, currency}}",
+ "no_show_fee": "Taxă de neprezentare",
+ "submit_card": "Trimiteți cardul",
+ "submit_payment_information": "Trimiteți informațiile de plată",
+ "meeting_awaiting_payment_method": "Ședința dvs. este în așteptarea unei metode de plată",
+ "no_show_fee_charged_email_subject": "Taxă de neprezentare în valoare de {{amount, currency}}, percepută pentru {{title}}, pe {{date}}",
+ "no_show_fee_charged_text_body": "Taxa de neprezentare a fost percepută",
+ "no_show_fee_charged_subtitle": "Taxa de neprezentare în valoare de {{amount, currency}} a fost percepută pentru următorul eveniment",
+ "error_charging_card": "A survenit o eroare la perceperea taxei de neprezentare. Încercați din nou mai târziu.",
+ "collect_no_show_fee": "Colectare taxă de neprezentare",
+ "no_show_fee_charged": "Taxă de neprezentare percepută",
+ "insights": "Insights",
+ "testing_workflow_info_message": "La testarea acestui flux de lucru, țineți cont de faptul că e-mailurile și SMS-urile pot fi programate cu cel puțin o oră în prealabil",
+ "insights_no_data_found_for_filter": "Nu s-au găsit date pentru filtrul selectat sau pentru datele selectate.",
+ "acknowledge_booking_no_show_fee": "Dacă nu particip la acest eveniment, accept să mi se perceapă de pe card o taxă de neprezentare în valoare de {{amount, currency}}.",
+ "card_details": "Detalii card",
+ "seats_and_no_show_fee_error": "Momentan, nu se pot elibera locuri și nici nu se poate percepe o taxă de neprezentare",
+ "complete_your_booking": "Finalizați rezervarea",
+ "complete_your_booking_subject": "Finalizați rezervarea: {{title}}, pe {{date}}",
+ "email_invite_team": "{{email}} a fost invitat"
}
diff --git a/apps/web/public/static/locales/ru/common.json b/apps/web/public/static/locales/ru/common.json
index 7a2f3132c4..71596041c2 100644
--- a/apps/web/public/static/locales/ru/common.json
+++ b/apps/web/public/static/locales/ru/common.json
@@ -1,4 +1,5 @@
{
+ "identity_provider": "Поставщик удостоверений",
"trial_days_left": "У вас осталось $t(day, {\"count\": {{days}} }) пробной версии PRO",
"day_one": "{{count}} день",
"day_other": "{{count}} дн.",
@@ -69,6 +70,8 @@
"event_awaiting_approval_subject": "Ожидает подтверждения: {{title}} на {{date}}",
"event_still_awaiting_approval": "Событие все еще ждет вашего подтверждения",
"booking_submitted_subject": "Бронирование отправлено: {{title}}, {{date}}",
+ "download_recording_subject": "Скачать запись: {{title}} от {{date}}",
+ "download_your_recording": "Скачать запись",
"your_meeting_has_been_booked": "Ваша встреча была забронирована",
"event_type_has_been_rescheduled_on_time_date": "Ваше {{title}} было перенесено на {{date}}.",
"event_has_been_rescheduled": "Ваше событие было перенесено.",
@@ -111,7 +114,7 @@
"hidden_team_owner_message": "Чтобы работать с командами, необходим аккаунт Pro. До перехода на этот тариф Вы остаетесь скрытым пользователем.",
"link_expires": "p.s. Это истекает через {{expiresIn}} часов.",
"upgrade_to_per_seat": "Перейти на оплату из расчета за количество мест",
- "seat_options_doesnt_support_confirmation": "Для параметра \"Места\" не требуется подтверждение",
+ "seat_options_doesnt_support_confirmation": "При использовании обязательного подтверждения параметр «Места» не поддерживается",
"team_upgrade_seats_details": "В вашей команде {{memberCount}} пользователей; из них не оплачено еще {{unpaidCount}} мест. При оплате ${{seatPrice}} в месяц за место общая сумма к оплате составляет ${{totalCost}} в месяц.",
"team_upgrade_banner_description": "Спасибо, что попробовали наш новый тариф Team. Для работы с командой «{{teamName}}» необходимо изменить тариф.",
"team_upgrade_banner_action": "Изменить",
@@ -224,6 +227,7 @@
"done": "Готово",
"all_done": "Готово!",
"all_apps": "Все приложения",
+ "available_apps": "Доступные приложения",
"check_email_reset_password": "Проверьте вашу электронную почту, мы отправили вам ссылку для сброса пароля.",
"finish": "Завершить",
"few_sentences_about_yourself": "Напишите несколько предложений о себе. Они будут отображаться на вашей публичной странице.",
@@ -404,6 +408,7 @@
"add_time_availability": "Добавить новый интервал времени",
"add_an_extra_layer_of_security": "Добавьте дополнительный уровень безопасности в свою учетную запись на случай кражи пароля.",
"2fa": "Двухфакторная авторизация",
+ "2fa_disabled": "Двухфакторную аутентификацию можно включить только для аутентификации по электронной почте и паролю",
"enable_2fa": "Включить двухфакторную авторизацию",
"disable_2fa": "Отключить двухфакторную авторизацию",
"disable_2fa_recommendation": "Если вам нужно отключить двухфакторную авторизацию, мы рекомендуем включить её как можно скорее.",
@@ -460,7 +465,6 @@
"friday": "Пятница",
"saturday": "Суббота",
"sunday": "Воскресенье",
- "all_booked_today": "Сегодня всё забронировано.",
"slots_load_fail": "Не удалось загрузить доступные временные интервалы.",
"additional_guests": "Добавить гостей",
"your_name": "Ваше имя",
@@ -585,6 +589,20 @@
"minutes": "мин.",
"round_robin": "По кругу",
"round_robin_description": "Цикл встреч между несколькими членами команды.",
+ "managed_event": "Управляемое событие",
+ "username_placeholder": "имя пользователя",
+ "managed_event_description": "Создавайте пакеты типов событий и рассылайте их участнкиам команды",
+ "managed": "Управляемые",
+ "managed_event_url_clarification": "в \"username\" указывается имя пользователя, присвоенное участнику",
+ "assign_to": "Назначить",
+ "add_members": "Добавить участников...",
+ "count_members_one": "{{count}} участник",
+ "count_members_other": "{{count}} участника(ов)",
+ "no_assigned_members": "Нет назначенных участников",
+ "assigned_to": "Назначено",
+ "start_assigning_members_above": "Начните назначать участников",
+ "locked_fields_admin_description": "Участники не смогут это редактировать",
+ "locked_fields_member_description": "Эта опция заблокирована администратором команды",
"url": "URL",
"hidden": "Скрытый",
"readonly": "Только для чтения",
@@ -736,6 +754,11 @@
"minimum_booking_notice": "Минимальный срок уведомления о встрече",
"slot_interval": "Интервалы времени",
"slot_interval_default": "Использовать длину события (по умолчанию)",
+ "delete_event_type": "Удалить тип события?",
+ "delete_managed_event_type": "Удалить тип управляемого события?",
+ "delete_event_type_description": "Если вы поделились с кем-то ссылкой, с ее помощью больше нельзя оформлять бронирование.",
+ "delete_managed_event_type_description": "
У участников, назначенных для этого типа события, будут удалены их типы событий.
Если они поделились с кем-то ссылкой, с ее помощью больше нельзя будет оформлять бронирование.
",
+ "confirm_delete_event_type": "Да, удалить",
"delete_account": "Удалить аккаунт",
"confirm_delete_account": "Да, удалить аккаунт",
"delete_account_confirmation_message": "Вы уверены, что хотите удалить свой {{appName}}-аккаунт? Любой, кто имеет ссылку на вашу учетную запись, больше не сможет забронировать встречу, и сохраненные настройки будут потеряны.",
@@ -860,7 +883,7 @@
"add_new_calendar": "Добавить новый календарь",
"set_calendar": "Укажите, куда следует добавлять новые события при бронировании.",
"delete_schedule": "Удалить расписание",
- "delete_schedule_description": "При удалении расписания оно удалится из всех типов событий. Это действие нельзя отменить.",
+ "delete_schedule_description": "Если вы удалите расписание, оно удалится из всех типов событий. Это действие нельзя отменить.",
"schedule_created_successfully": "Расписание {{scheduleName}} успешно создано",
"availability_updated_successfully": "Расписание {{scheduleName}} успешно обновлено",
"schedule_deleted_successfully": "Расписание успешно удалено",
@@ -1126,11 +1149,13 @@
"current_username": "Текущее имя пользователя",
"example_1": "Пример 1",
"example_2": "Пример 2",
+ "booking_question_identifier": "Идентификатор вопроса о бронировании",
"company_size": "Размер компании",
"what_help_needed": "Какая помощь вам нужна?",
"variable_format": "Формат переменной",
"webhook_subscriber_url_reserved": "URL вебхука для подписчика уже определен",
"custom_input_as_variable_info": "Игнорировать все специальные символы в дополнительной метке ввода (использовать только буквы и цифры), использовать верхний регистр для всех букв и заменить пробелы подчеркиванием.",
+ "using_booking_questions_as_variables": "Как использовать вопросы о бронировании в качестве переменных?",
"download_desktop_app": "Скачать приложение для компьютера",
"set_ping_link": "Ссылка на Ping",
"rate_limit_exceeded": "Превышен лимит",
@@ -1154,7 +1179,7 @@
"event_setup_multiple_duration_error": "Настройка события: чтобы выбрать несколько вариантов продолжительности, требуется как минимум 1 параметр.",
"event_setup_multiple_duration_default_error": "Настройка события: выберите допустимую продолжительность по умолчанию.",
"event_setup_booking_limits_error": "Лимиты бронирования должны указываться по возрастанию [день, неделя, месяц, год].",
- "event_setup_duration_limits_error": "Продолжительность бронирования должна указываться по возрастанию [день, неделя, месяц, год]",
+ "event_setup_duration_limits_error": "Продолжительность бронирования должна указываться от меньшей единицы к большей [день, неделя, месяц, год]",
"select_which_cal": "Выберите, в какой календарь добавить бронирование",
"custom_event_name": "Пользовательское имя события",
"custom_event_name_description": "Создавайте пользовательские названия событий, которые будут отображаться в событии в календаре",
@@ -1176,6 +1201,7 @@
"start_of_week": "Начало недели",
"recordings_title": "Записи",
"recording": "Запись",
+ "happy_scheduling": "Счастливого планирования",
"select_calendars": "Выберите, в каких календарях нужно проверить наличие конфликтов и дублированного бронирования.",
"check_for_conflicts": "Проверить наличие конфликтов",
"view_recordings": "Просмотреть записи",
@@ -1213,6 +1239,7 @@
"impersonation": "Вход от вашего имени",
"impersonation_description": "Настройки для управления входом в аккаунт от имени пользователя",
"users": "Пользователи",
+ "user": "Пользователь",
"profile_description": "Настройка вашего профиля в {{appName}}",
"users_description": "Здесь представлен список всех пользователей",
"users_listing": "Список пользователей",
@@ -1253,6 +1280,8 @@
"download_responses": "Скачивайте ответы",
"download_responses_description": "Скачивайте все ответы пользователей, заполнивших форму, в формате CSV.",
"download": "Скачать",
+ "download_recording": "Скачать запись",
+ "recording_from_your_recent_call": "Запись вашего недавнего звонка на Cal.com готова для загрузки",
"create_your_first_form": "Создайте первую форму",
"create_your_first_form_description": "Формы маршрутизации позволяют задавать пользователям уточняющие вопросы, чтобы перенаправлять их к соответствующему лицу или типу события.",
"create_your_first_webhook": "Создайте свой первый вебхук",
@@ -1289,6 +1318,15 @@
"exchange_authentication_standard": "Базовая авторизация",
"exchange_authentication_ntlm": "Авторизация при помощи NTLM",
"exchange_compression": "Сжатие GZip",
+ "exchange_version": "Версия Exchange",
+ "exchange_version_2007_SP1": "2007 SP1",
+ "exchange_version_2010": "2010",
+ "exchange_version_2010_SP1": "2010 SP1",
+ "exchange_version_2010_SP2": "2010 SP2",
+ "exchange_version_2013": "2013",
+ "exchange_version_2013_SP1": "2013 SP1",
+ "exchange_version_2015": "2015",
+ "exchange_version_2016": "2016",
"routing_forms_description": "Здесь показываются все созданные вами формы и маршруты.",
"routing_forms_send_email_owner": "Отправляйте письма владельцу",
"routing_forms_send_email_owner_description": "Отправляйте владельцу формы электронное письмо, когда пользователь ее заполняет",
@@ -1338,11 +1376,12 @@
"report_app": "Пожаловаться на приложение",
"limit_booking_frequency": "Ограничивать периодичность бронирования",
"limit_booking_frequency_description": "Ограничивать количество бронирований для данного типа событий",
- "limit_total_booking_duration": "Ограничить общую продолжительность бронирования",
- "limit_total_booking_duration_description": "Ограничить период времени, в течение которого можно забронировать это событие",
+ "limit_total_booking_duration": "Ограничить общую продолжительность забронированных событий",
+ "limit_total_booking_duration_description": "Ограничить общую продолжительность забронированных событий данного типа",
"add_limit": "Добавить ограничение",
"team_name_required": "Требуется название команды",
"show_attendees": "Предоставлять гостям информацию об участниках",
+ "how_booking_questions_as_variables": "Как использовать вопросы о бронировании в качестве переменных?",
"format": "Формат",
"uppercase_for_letters": "Использовать только прописные буквы",
"replace_whitespaces_underscores": "Заменить пробелы подчеркиванием",
@@ -1357,6 +1396,7 @@
"billing_help_title": "Нужно что-нибудь еще?",
"billing_help_description": "Если вам нужна дальнейшая помощь с оплатой счета, наша служба поддержки готова помочь.",
"billing_help_cta": "Обратиться в службу поддержки",
+ "ignore_special_characters_booking_questions": "Не используйте специальные символы в идентификаторе вопроса о бронировании. Используйте только буквы и цифры",
"retry": "Повторить",
"fetching_calendars_error": "Ошибка при загрузке календарей. <1>Попробуйте еще раз1> или обратитесь в службу поддержки.",
"calendar_connection_fail": "Не удалось подключиться к календарю",
@@ -1439,11 +1479,17 @@
"fixed_round_robin": "Фиксированная очередность",
"add_one_fixed_attendee": "Добавьте одного фиксированного участника и назначайте участников по очереди.",
"calcom_is_better_with_team": "Cal.com отлично подходит для командной работы",
+ "the_calcom_team": "Команда Cal.com",
"add_your_team_members": "Добавьте участников команды к типам мероприятий. Благодаря совместному планированию можно включить в мероприятие всех пользователей или найти наиболее подходящего пользователя с циклическим планированием.",
"booking_limit_reached": "Достигнут лимит бронирования для этого типа события",
- "duration_limit_reached": "Время бронирования для этого типа события истекло",
+ "duration_limit_reached": "Достигнут лимит продолжительности бронирования для этого типа события",
"admin_has_disabled": "Администратор отключил {{appName}}",
"disabled_app_affects_event_type": "Администратор отключил {{appName}}, которое влияет на тип мероприятия {{eventType}}",
+ "event_replaced_notice": "Администратор заменил вам один из типов событий",
+ "email_subject_slug_replacement": "Администратор команды заменил вам событие /{{slug}}",
+ "email_body_slug_replacement_notice": "Администратор команды {{teamName}} заменил вам тип события /{{slug}} на тип управляемого им события.",
+ "email_body_slug_replacement_info": "Ваша ссылка работает, но, возможно, для нее изменились некоторые настройки. Вы можете просмотреть ее в типах событий.",
+ "email_body_slug_replacement_suggestion": "Если у вас есть вопросы о типе события, свяжитесь с администратором.
Счастливого планирования, команда Cal.com",
"disable_payment_app": "Приложение {{appName}}, используемое для событий типа «{{title}}», отключено администратором. Участники по-прежнему могут бронировать данный тип событий, но не будут получать сообщение о необходимости произвести оплату. Чтобы этого избежать, вы можете скрыть тип событий до тех пор, пока администратор снова не активирует способ оплаты.",
"payment_disabled_still_able_to_book": "Участники все еще могут забронировать этот тип мероприятия, но они не получат сообщение о том, что нужно произвести оплату. Чтобы этого избежать, можно скрыть тип мероприятия, пока администратор не активирует способ оплаты снова.",
"app_disabled_with_event_type": "Администратор отключил {{appName}}, которое влияет на тип мероприятия {{title}}.",
@@ -1492,6 +1538,7 @@
"date_overrides_update_btn": "Обновить переопределение",
"event_type_duplicate_copy_text": "{{slug}}-копия",
"set_as_default": "Использовать по умолчанию",
+ "hide_eventtype_details": "Скрыть информацию о типе события",
"show_navigation": "Показать навигацию",
"hide_navigation": "Скрыть навигацию",
"verification_code_sent": "Код подтверждения отправлен",
@@ -1505,6 +1552,7 @@
"create_your_first_team_webhook_description": "Создайте первый вебхук для этого командного типа событий",
"create_webhook_team_event_type": "Создать вебхук для этого командного типа событий",
"disable_success_page": "Отключить страницу успешного бронирования (работает, только если у вас есть URL-адрес перенаправления)",
+ "invalid_admin_password": "У вас есть права администратора, но ваш пароль короче 15 символов, либо у вас еще нет 2FA",
"change_password_admin": "Измените пароль, чтобы получить административный доступ",
"username_already_taken": "Имя пользователя уже занято",
"assignment": "Назначение",
@@ -1537,6 +1585,7 @@
"ee_enterprise_license": "Enterprise-лицензия «/ee»",
"enterprise_booking_fee": "От {{enterprise_booking_fee}}/месяц",
"enterprise_license_includes": "Всё для коммерческого использования",
+ "no_need_to_keep_your_code_open_source": "Необязательно оставлять исходный код открытым",
"repackage_rebrand_resell": "Простая переупаковка, ребрендинг и перепродажа",
"a_vast_suite_of_enterprise_features": "Множество функций для предприятий",
"free_license_fee": "0,00 $/месяц",
@@ -1582,39 +1631,41 @@
"available_variables": "Доступные переменные",
"scheduler": "{Scheduler}",
"no_workflows": "Нет рабочих процессов",
- "change_filter": "Измените фильтр, чтобы видеть свои и командные рабочие процессы.",
+ "change_filter": "Измените фильтр, чтобы видеть свои рабочие процессы и рабочие процессы своей команды.",
"recommended_next_steps": "Рекомендуемые следующие шаги",
"create_a_managed_event": "Создайте тип событий, которыми вы будете управлять",
"meetings_are_better_with_the_right": "Встречи проходят эффективнее, когда на них присутствуют подходящие участники команды. Пригласите их сейчас.",
- "create_a_one_one_template": "Создайте единый шаблон для данного типа события и распространите его среди нескольких участников.",
+ "create_a_one_one_template": "Создайте шаблон индивидуальных встреч для данного типа событий и распространите его среди нескольких участников.",
"collective_or_roundrobin": "Коллективное событие или событие с назначением участников по очереди",
"book_your_team_members": "Бронируйте встречи с несколькими участниками команды или назначайте участников по очереди.",
- "event_no_longer_attending_subject": "Посещение {{title}} в {{date}} не планируется",
- "no_longer_attending": "Вы не идете на это мероприятие",
- "attendee_no_longer_attending_subject": "Пользователь не планирует посетить {{title}} в {{date}}",
- "attendee_no_longer_attending": "Пользователь не участвует в вашем мероприятии",
- "attendee_no_longer_attending_subtitle": "{{name}} отменил посещение мероприятия. Этот промежуток времени снова свободен",
- "create_event_on": "Создать события",
+ "event_no_longer_attending_subject": "Вы отказались от посещения мероприятия {{title}} в {{date}}",
+ "no_longer_attending": "Вы отказались от посещения этого мероприятия",
+ "attendee_no_longer_attending_subject": "Участник отказался от посещения мероприятия {{title}} в {{date}}",
+ "attendee_no_longer_attending": "Участник отказался от посещения вашего мероприятия",
+ "attendee_no_longer_attending_subtitle": "{{name}} отказался(-ась) от посещения мероприятия. Этот промежуток времени снова свободен",
+ "create_event_on": "Создать событие в календаре",
"default_app_link_title": "Установить ссылку на приложение по умолчанию",
"default_app_link_description": "Если установить ссылку на приложение по умолчанию, она будет присваиваться всем вновь создаваемым событиям.",
"change_default_conferencing_app": "Использовать по умолчанию",
+ "organizer_default_conferencing_app": "Приложение организатора по умолчанию",
"under_maintenance": "Идет техническое обслуживание",
"under_maintenance_description": "Команда {{appName}} выполняет плановое техобслуживание. По вопросам обращайтесь в службу поддержки.",
"event_type_seats": "Мест: {{numberOfSeats}}",
"booking_questions_title": "Вопросы при бронировании",
- "booking_questions_description": "Настроить вопросы, задаваемые на странице бронирования",
+ "booking_questions_description": "Настройка вопросов, задаваемых пользователю на странице бронирования",
"add_a_booking_question": "Добавить вопрос",
- "duplicate_email": "Адрес электронной почты дублируется",
+ "duplicate_email": "Адрес электронной почты уже существует",
"booking_with_payment_cancelled": "Оплата этого события больше невозможна",
"booking_with_payment_cancelled_already_paid": "Выполняется возврат оплаты за бронирование.",
"booking_with_payment_cancelled_refunded": "Возврат оплаты за бронирование выполнен.",
"booking_confirmation_failed": "Не удалось подтвердить бронирование",
"not_enough_seats": "Недостаточно мест",
"form_builder_field_already_exists": "Поле с таким именем уже существует",
- "form_builder_field_add_subtitle": "Настроить вопросы, задаваемые на странице бронирования",
+ "form_builder_field_add_subtitle": "Настройка вопросов, задаваемых пользователю на странице бронирования",
+ "show_on_booking_page": "Показывать на странице бронирования",
"get_started_zapier_templates": "Начать работу с шаблонами Zapier",
- "team_is_unpublished": "{{team}} не опубликовано",
- "team_is_unpublished_description": "Эта ссылка команды в настоящее время недоступна. Пожалуйста, свяжитесь с владельцем команды или попросите его опубликовать ссылку.",
+ "team_is_unpublished": "Команда {{team}} снята с публикации",
+ "team_is_unpublished_description": "Ссылка на команду в настоящее время недоступна. Свяжитесь с владельцем команды и попросите его опубликовать ее.",
"team_member": "Участник команды",
"a_routing_form": "Форма маршрутизации",
"form_description_placeholder": "Описание формы",
@@ -1623,7 +1674,7 @@
"form_deleted": "Форма удалена",
"delete_form": "Удалить эту форму?",
"delete_form_action": "Да, удалить форму",
- "delete_form_confirmation": "Если вы поделились с кем-то ссылкой, он(а) больше не сможет получить к ней доступ.",
+ "delete_form_confirmation": "Пользователи, с которыми вы поделились ссылкой, больше не смогут воспользоваться ей.",
"delete_form_confirmation_2": "Все связанные ответы будут удалены.",
"typeform_redirect_url_copied": "URL-адрес перенаправления для Typeform скопирован. Теперь вы можете перейти в форму Typeform и указать в ней этот URL-адрес.",
"modifications_in_fields_warning": "Изменения в полях и маршрутах форм, перечисленных ниже, будут отражены в этой форме.",
@@ -1635,19 +1686,102 @@
"add_1_option_per_line": "1 вариант на строку",
"select_a_router": "Выбрать форму маршрутизации",
"add_a_new_route": "Добавить новый маршрут",
+ "make_informed_decisions": "Принимайте обоснованные решения с помощью Insights",
+ "make_informed_decisions_description": "На нашей панели мониторинга Insights видна вся работа вашей команды, а выявленные ею тенденции позволяют лучше планировать и принимать решения.",
+ "view_bookings_across": "Просмотреть бронирования для всех участников",
+ "view_bookings_across_description": "Выясните, кто участвует в мероприятиях больше всех, и обеспечьте оптимальное распределение задач в команде",
+ "identify_booking_trends": "Определяйте тренды бронирования",
+ "identify_booking_trends_description": "Посмотрите, в какое время и в какие дни бронирование оформляют чаще всего",
+ "spot_popular_event_types": "Находите популярные типы событий",
+ "spot_popular_event_types_description": "Узнайте, какие типы событий собирают больше всего кликов и бронирований",
"no_responses_yet": "Ответов пока нет",
"this_will_be_the_placeholder": "Это текст-заполнитель",
"this_meeting_has_not_started_yet": "Эта встреча еще не началась",
- "this_app_requires_connected_account": "Для {{appName}} требуется подключенная учётная запись {{dependencyName}}",
+ "this_app_requires_connected_account": "Для {{appName}} требуется подключенный аккаунт {{dependencyName}}",
"connect_app": "Подключить {{dependencyName}}",
- "app_is_connected": "{{dependencyName}} подключено",
+ "app_is_connected": "Приложение {{dependencyName}} подключено",
"requires_app": "Требуется {{dependencyName}}",
"verification_code": "Код подтверждения",
- "can_you_try_again": "Попробуйте пожалуйста позже",
+ "can_you_try_again": "Попробуйте указать другое время встречи.",
"verify": "Подтвердить",
"timezone_variable": "Часовой пояс",
- "invalid_event_name_variables": "В названии события недопустимая переменная",
+ "timezone_info": "Часовой пояс получателя",
+ "event_end_time_variable": "Время окончания события",
+ "event_end_time_info": "Время окончания события",
+ "cancel_url_variable": "URL отмены бронирования",
+ "cancel_url_info": "URL для отмены бронирования",
+ "reschedule_url_variable": "URL переноса бронирования",
+ "reschedule_url_info": "URL для переноса бронирования",
+ "invalid_event_name_variables": "В названии события используется недопустимая переменная",
"select_all": "Выбрать все",
"default_conferencing_bulk_title": "Массовое обновление существующих типов событий",
- "default_conferencing_bulk_description": "Обновить местоположение для выбранных типов событий"
+ "members_default_schedule": "Расписание участника по умолчанию",
+ "set_by_admin": "Устанавливается администратором команды",
+ "members_default_location": "Местоположение участника по умолчанию",
+ "members_default_schedule_description": "Для каждого участника мы используем установленный по умолчанию график доступности. Пользователи могут редактировать или менять его.",
+ "requires_at_least_one_schedule": "У вас должно быть по крайней мере одно расписание",
+ "default_conferencing_bulk_description": "Обновить местоположение для выбранных типов событий",
+ "locked_for_members": "Заблокировано для участников",
+ "locked_apps_description": "Участники смогут видеть активные приложения, но не смогут редактировать их настройки",
+ "locked_webhooks_description": "Участники смогут видеть активные вебхуки, но не смогут редактировать их настройки",
+ "locked_workflows_description": "Участники смогут видеть активные рабочие процессы, но не смогут редактировать их настройки",
+ "locked_by_admin": "Заблокировано администратором",
+ "app_not_connected": "Вы не подключили аккаунт {{appName}}.",
+ "connect_now": "Подключить сейчас",
+ "managed_event_dialog_confirm_button_one": "Заменить и уведомить {{count}} участника",
+ "managed_event_dialog_confirm_button_other": "Заменить и уведомить {{count}} участников",
+ "managed_event_dialog_title_one": "URL /{{slug}} для {{count}} участника уже существует. Заменить?",
+ "managed_event_dialog_title_other": "URL /{{slug}} для {{count}} участников уже существует. Заменить?",
+ "managed_event_dialog_information_one": "{{names}} уже используют /{{slug}} url.",
+ "managed_event_dialog_information_other": "{{names}} уже используют /{{slug}} url.",
+ "managed_event_dialog_clarification": "В случае замены мы уведомим пользователей. Чтобы не выполнять перезапись, вернитесь назад и удалите их.",
+ "review_event_type": "Пересмотреть тип события",
+ "looking_for_more_analytics": "Нужно больше аналитики?",
+ "looking_for_more_insights": "Нужно больше Insights?",
+ "add_filter": "Добавить фильтр",
+ "select_user": "Выбрать пользователя",
+ "select_event_type": "Выбрать тип события",
+ "select_date_range": "Выбрать диапазон дат",
+ "popular_events": "Популярные события",
+ "no_event_types_found": "Типы событий не найдены",
+ "average_event_duration": "Средняя продолжительность события",
+ "most_booked_members": "Участники с максимальным числом бронирований",
+ "least_booked_members": "Участники с минимальным числом бронирований",
+ "events_created": "Созданные события",
+ "events_completed": "Завершенные события",
+ "events_cancelled": "Отмененные события",
+ "events_rescheduled": "Перенесенные события",
+ "from_last_period": "с последнего периода",
+ "from_to_date_period": "С: {{startDate}} До: {{endDate}}",
+ "analytics_for_organisation": "Insights",
+ "subtitle_analytics": "Узнайте больше о работе команды",
+ "redirect_url_warning": "При добавлении перенаправления страница успешного бронирования будет отключена. Не забудьте упомянуть «Бронирование подтверждено» на пользовательской странице успешного бронирования.",
+ "event_trends": "Тренды событий",
+ "clear_filters": "Очистить фильтры",
+ "hold": "Подождите",
+ "on_booking_option": "Получить оплату при бронировании",
+ "hold_option": "Взимать комиссию за отсутствие на событии",
+ "card_held": "Карта сохранена",
+ "charge_card": "Изменить карту",
+ "card_charged": "Оплата с карты списана",
+ "no_show_fee_amount": "{{amount, currency}} комиссия за отсутствие на событии",
+ "no_show_fee": "Комиссия за отсутствие на событии",
+ "submit_card": "Ввести карту",
+ "submit_payment_information": "Отправить платежную информацию",
+ "meeting_awaiting_payment_method": "Выберите способ оплаты для встречи",
+ "no_show_fee_charged_email_subject": "Комиссия за отсутствие на событии {{amount, currency}} списана с {{title}} от {{date}}",
+ "no_show_fee_charged_text_body": "Комиссия за отсутствие на событии зачислена",
+ "no_show_fee_charged_subtitle": "Комиссия за отсутствие на следующем событии зачислена в размере {{amount, currency}}",
+ "error_charging_card": "Не удалось зачислить комиссию за отсутствие на событии. Повторите попытку позже.",
+ "collect_no_show_fee": "Получить комиссию за отсуствие на событии",
+ "no_show_fee_charged": "Зачислена комиссия за отсутствие на событии",
+ "insights": "Insights",
+ "testing_workflow_info_message": "При тестировании этого рабочего процесса помните, что отправку писем и SMS можно запланировать только за 1 час до начала",
+ "insights_no_data_found_for_filter": "Не найдены данные для выбранного фильтра или выбранных дат.",
+ "acknowledge_booking_no_show_fee": "Я понимаю, что в случае моего отказа посетить это мероприятие с моей карты будет списана комиссия за отсутствие на мероприятии в размере {{amount, currency}}.",
+ "card_details": "Реквизиты карты",
+ "seats_and_no_show_fee_error": "В данный момент не удается активировать места и зачислить комиссию за отсутствие на событии",
+ "complete_your_booking": "Завершите бронирование",
+ "complete_your_booking_subject": "Завершите бронирование: {{title}} от {{date}}",
+ "email_invite_team": "{{email}} приглашен(а)"
}
diff --git a/apps/web/public/static/locales/sr/common.json b/apps/web/public/static/locales/sr/common.json
index 2ad73c10b3..d2a32c772a 100644
--- a/apps/web/public/static/locales/sr/common.json
+++ b/apps/web/public/static/locales/sr/common.json
@@ -114,7 +114,7 @@
"hidden_team_owner_message": "Potreban je Pro nalog za korišćenje timova, sakriveni ste dok se ne pretplatite.",
"link_expires": "p.s. Ističe za {{expiresIn}} sati.",
"upgrade_to_per_seat": "Pretplati se na Po-Mestu",
- "seat_options_doesnt_support_confirmation": "Opcija za sedenje ne podržava zahtev za potvrdu",
+ "seat_options_doesnt_support_confirmation": "Opcija mesta ne podržava zahtev za potvrdu",
"team_upgrade_seats_details": "Od {{memberCount}} članova u vašem timu, {{unpaidCount}} mesta/o nisu plaćena. Za ${{seatPrice}}/mesečno po mestu procenjena celokupna cena vašeg članstva je ${{totalCost}}/mesečno.",
"team_upgrade_banner_description": "Hvala vam što isprobavate naš novi plan za timove. Primetili smo da vaš tim „{{teamName}}“ treba da se nadogradi.",
"team_upgrade_banner_action": "Nadogradite ovde",
@@ -438,7 +438,7 @@
"password_hint_min": "Dugačka minimalno 7 znakova",
"password_hint_admin_min": "Dugačka minimalno 15 znakova",
"password_hint_num": "Sadrži barem 1 broj",
- "max_limit_allowed_hint": "Mora da ima {{limit}} karaktera ili manje",
+ "max_limit_allowed_hint": "Mora da ima {{limit}} znakova ili manje",
"invalid_password_hint": "Lozinka mora da bude dugačka najmanje {{passwordLength}} znakova, da sadrži najmanje jedan broj i da ima mešavinu velikih i malih slova",
"incorrect_password": "Lozinka je netačna.",
"incorrect_username_password": "Korisničko ime ili lozinka su netačni.",
@@ -465,7 +465,6 @@
"friday": "Petak",
"saturday": "Subota",
"sunday": "Nedelja",
- "all_booked_today": "Svi termini rezervisani za danas.",
"slots_load_fail": "Problem pri učitavanju dostupnih termina.",
"additional_guests": "+ Dodatni Gosti",
"your_name": "Vaše ime",
@@ -884,7 +883,7 @@
"add_new_calendar": "Dodajte novi kalendar",
"set_calendar": "Podesite gde da dodate nove događaje kada ste rezervisani.",
"delete_schedule": "Izbriši raspored",
- "delete_schedule_description": "Brisanje rasporeda će ga ukloniti iz svih vrsti događaja. Ova radnja ne može da se opozove.",
+ "delete_schedule_description": "Brisanje rasporeda će ga ukloniti iz svih tipova događaja. Ova radnja ne može da se opozove.",
"schedule_created_successfully": "Raspored {{scheduleName}} je uspešno izbrisan",
"availability_updated_successfully": "Распоред {{scheduleName}} је успешно ажуриран",
"schedule_deleted_successfully": "Raspored uspešno izbrisan",
@@ -1377,7 +1376,7 @@
"report_app": "Prijavite aplikaciju",
"limit_booking_frequency": "Ograničite učestalost rezervacija",
"limit_booking_frequency_description": "Ograničite koliko puta ovaj događaj može da se rezerviše",
- "limit_total_booking_duration": "Ograničite ukupno trajanje zakazivanja",
+ "limit_total_booking_duration": "Ograničite ukupno trajanje rezervacije",
"limit_total_booking_duration_description": "Ograničite ukupnu količinu vremena za koje ovaj događaj može da se rezerviše",
"add_limit": "Dodajte ograničenje",
"team_name_required": "Ime tima je potrebno",
@@ -1574,7 +1573,7 @@
"sender_name": "Ime pošiljaoca",
"already_invited": "Učesnik je već pozvan",
"no_recordings_found": "Nisu pronađeni zapisi",
- "new_workflow_subtitle": "Novi radni tok...",
+ "new_workflow_subtitle": "Novi tok posla za...",
"reporting": "Prijavljivanje",
"reporting_feature": "Pogledajte sve dolazne podatke i preuzmite ih u CSV formatu",
"teams_plan_required": "Potreban je Plan za timove",
@@ -1631,12 +1630,12 @@
"impersonation_user_tip": "Predstavljaćete se kao korisnik, što znači da možete da unosite promene u njegovo ime. Budite pažljivi.",
"available_variables": "Dostupne promenljive",
"scheduler": "{Scheduler}",
- "no_workflows": "Bez radnih tokova",
- "change_filter": "Promenite filter da biste videli svoje radne tokove i radne tokove timova.",
+ "no_workflows": "Bez tokova posla",
+ "change_filter": "Promenite filter da biste videli svoje tokove posla i tokove posla timova.",
"recommended_next_steps": "Preporučeni sledeći koraci",
"create_a_managed_event": "Kreirajte upravljani tip događaja",
"meetings_are_better_with_the_right": "Sastanci su bolji kada su prisutni pravi članovi tima. Pozovite ih odmah.",
- "create_a_one_one_template": "Kreirajte jedan posebni obrazac za tip događaja i podelite različitim članovima.",
+ "create_a_one_one_template": "Kreirajte „jedan na jedan” obrazac za tip događaja i distribuirajte ga većem broju članova.",
"collective_or_roundrobin": "Kolektivno ili kružno dodeljivanje",
"book_your_team_members": "Rezevišite članove tima zajedno za kolektivne događaje ili prođite kroz njih da biste dobili pravu osobu za kružno dodeljivanje.",
"event_no_longer_attending_subject": "Više ne pohađate {{title}} dana {{date}}",
@@ -1665,18 +1664,18 @@
"form_builder_field_add_subtitle": "Prilagodite pitanja postavljana na stranici za zakazivanje",
"show_on_booking_page": "Prikaži na stranici zakazivanja",
"get_started_zapier_templates": "Započnite sa Zapier predlošcima",
- "team_is_unpublished": "{{team}} više nije objavljen",
- "team_is_unpublished_description": "Ova veza tima više nije dostupna. Obratite se vlasniku tima ili ih zamolite da ga objave.",
+ "team_is_unpublished": "Opozvano je objavljivanje tima {{team}}",
+ "team_is_unpublished_description": "Ova veza tima više nije dostupna. Obratite se vlasniku tima ili ga zamolite da je objave.",
"team_member": "Član tima",
"a_routing_form": "Obrazac za usmeravanje",
"form_description_placeholder": "Opis formulara",
"keep_me_connected_with_form": "Držite me povezanim sa formularom",
"fields_in_form_duplicated": "Bilo koje promene rutera i polja u formularu koje su duplirane, pokazaće se u duplikatu.",
"form_deleted": "Formular je izbrisan",
- "delete_form": "Obriši formular",
+ "delete_form": "Da li ste sigurni da želite da izbrišete ovaj obrazac?",
"delete_form_action": "Da, izbriši formular",
- "delete_form_confirmation": "Da li ste sigurni da želilte da obrišete ovaj formular? Niko sa kime ste podelili link neće više moći da rezerviše pomoću njega. Takođe, svi odgovori u vezi sa njim će biti obrisani.",
- "delete_form_confirmation_2": "Svi povezani odgovori će biti obrisani.",
+ "delete_form_confirmation": "Svako sa kim ste podelili vezu više neće moći da joj pristupi.",
+ "delete_form_confirmation_2": "Svi povezani odgovori će biti izbrisani.",
"typeform_redirect_url_copied": "Kopiran je Typeform URL za preusmeravanje! Možete otići i podesiti URL u formularu Typeform.",
"modifications_in_fields_warning": "Izmene u poljima i putanjama sledećih formulara će se prikazati u ovom formularu.",
"connected_forms": "Povezani formulari",
@@ -1714,8 +1713,8 @@
"reschedule_url_variable": "URL za promenu termina",
"reschedule_url_info": "URL za promenu termina",
"invalid_event_name_variables": "U nazivu vašeg događaja se nalazi nevažeća promenljiva",
- "select_all": "Izaberite sve",
- "default_conferencing_bulk_title": "Masovno ažuriranje postojećih vrsti događaja",
+ "select_all": "Izaberi sve",
+ "default_conferencing_bulk_title": "Masovno ažuriranje postojećih tipova događaja",
"members_default_schedule": "Podrazumevani raspored članova",
"set_by_admin": "Postavio administrator tima",
"members_default_location": "Podrazumevana lokacija članova",
diff --git a/apps/web/public/static/locales/sv/common.json b/apps/web/public/static/locales/sv/common.json
index 5d5ba8f6a4..2227e4b0d6 100644
--- a/apps/web/public/static/locales/sv/common.json
+++ b/apps/web/public/static/locales/sv/common.json
@@ -114,7 +114,7 @@
"hidden_team_owner_message": "Du behöver ett pro-konto för att använda team, du är dold tills du uppgraderar.",
"link_expires": "p.s. Den går ut om {{expiresIn}} timmar.",
"upgrade_to_per_seat": "Uppgradera till Per-Seat",
- "seat_options_doesnt_support_confirmation": "Platsalternativ stöder inte kravet på bekräftelse",
+ "seat_options_doesnt_support_confirmation": "Platsalternativ stöder inte krav på bekräftelse",
"team_upgrade_seats_details": "Av {{memberCount}} medlemmar i ditt lag är {{unpaidCount}} plats(er) obetalda. Vid ${{seatPrice}}/m per plats är den uppskattade totala kostnaden för ditt medlemskap ${{totalCost}}/m.",
"team_upgrade_banner_description": "Tack för att du testade vår nya teamplan. Vi märkte att ditt team \"{{teamName}}\" måste uppgraderas.",
"team_upgrade_banner_action": "Uppgradera här",
@@ -465,7 +465,6 @@
"friday": "Fredag",
"saturday": "Lördag",
"sunday": "Söndag",
- "all_booked_today": "Alla är redan bokade idag.",
"slots_load_fail": "Det gick inte att ladda tillgängliga tidsluckor.",
"additional_guests": "Lägg till gäster",
"your_name": "Ditt namn",
@@ -884,7 +883,7 @@
"add_new_calendar": "Lägg till en ny kalender",
"set_calendar": "Ange var du vill lägga till nya händelser när du är bokad.",
"delete_schedule": "Ta bort schema",
- "delete_schedule_description": "Borttagning av ett schema kommer att ta bort det från alla händelsetyper. Denna åtgärd kan inte ångras.",
+ "delete_schedule_description": "Om du tar bort ett schema, tas det bort från alla händelsetyper. Åtgärden kan inte ångras.",
"schedule_created_successfully": "{{scheduleName}}-schemat har skapats",
"availability_updated_successfully": "Schemat för {{scheduleName}} har uppdaterats",
"schedule_deleted_successfully": "Schemat har tagits bort",
@@ -1284,7 +1283,7 @@
"download_recording": "Ladda ner inspelning",
"recording_from_your_recent_call": "En inspelning från ditt senaste samtal på Cal.com är redo för nedladdning",
"create_your_first_form": "Skapa ditt första formulär",
- "create_your_first_form_description": "Med Dirigeringsformulär kan du ställa kvalificerade frågor och dirigera till rätt person eller händelsetyp.",
+ "create_your_first_form_description": "Med omdirigeringsformulär kan du ställa kvalificerade frågor och dirigera till rätt person eller händelsetyp.",
"create_your_first_webhook": "Skapa din första webhook",
"create_your_first_webhook_description": "Med webhooks kan du få mötesdata i realtid när något händer i {{appName}}.",
"for_a_maximum_of": "Maximalt",
@@ -1389,7 +1388,7 @@
"manage_billing": "Hantera fakturering",
"manage_billing_description": "Hantera allt som faktureras",
"billing_freeplan_title": "Du använder för närvarande GRATIS-prenumerationen",
- "billing_freeplan_description": "Vi arbetar bättre i team. Utöka dina arbetsflöden med round-robin och kollektiva händelser och skapa avancerade routingformulär",
+ "billing_freeplan_description": "Vi arbetar bättre i team. Utöka dina arbetsflöden med Round Robin och kollektiva händelser och skapa avancerade omdirigeringsformulär",
"billing_freeplan_cta": "Testa nu",
"billing_manage_details_title": "Visa och hantera dina faktureringsuppgifter",
"billing_manage_details_description": "Visa och redigera dina faktureringsuppgifter samt avsluta din prenumeration.",
@@ -1467,10 +1466,10 @@
"reason": "Orsak",
"sender_id": "Avsändar-ID",
"sender_id_error_message": "Endast bokstäver, siffror och mellanslag tillåts (maximalt 11 tecken)",
- "test_routing_form": "Testa routingformulär",
+ "test_routing_form": "Testa omdirigeringsformulär",
"test_preview": "Testa förhandsgranskning",
"route_to": "Dirigera till",
- "test_preview_description": "Testa ditt routingformulär utan att skicka data",
+ "test_preview_description": "Testa ditt omdirigeringsformulär utan att skicka data",
"test_routing": "Testa routing",
"payment_app_disabled": "En administratör har inaktiverat en betalningsapp",
"edit_event_type": "Redigera händelsetyp",
@@ -1574,7 +1573,7 @@
"sender_name": "Avsändarens namn",
"already_invited": "Deltagaren är redan inbjuden",
"no_recordings_found": "Inga inspelningar hittades",
- "new_workflow_subtitle": "Nytt arbetsflöde för...",
+ "new_workflow_subtitle": "Nytt arbetsflöde för ...",
"reporting": "Rapportering",
"reporting_feature": "Se alla inkommande från data och ladda ned som CSV",
"teams_plan_required": "Teams-plan krävs",
@@ -1632,14 +1631,14 @@
"available_variables": "Tillgängliga variabler",
"scheduler": "{Scheduler}",
"no_workflows": "Inga arbetsflöden",
- "change_filter": "Ändra filter för att se dina personliga arbetsflöden och arbetsflöden i teamet.",
+ "change_filter": "Ändra filter för att se dina personliga arbetsflöden och teamarbetsflöden.",
"recommended_next_steps": "Nästa steg som rekommenderas",
"create_a_managed_event": "Skapa en hanterad händelsetyp",
"meetings_are_better_with_the_right": "Möten är bättre när rätt teammedlemmar är närvarande. Bjud in dem nu.",
- "create_a_one_one_template": "Skapa en en-en-mall för en evenemangstyp och distribuera den till flera medlemmar.",
+ "create_a_one_one_template": "Skapa en mall för personliga möten för en händelsetyp och distribuera den till flera medlemmar.",
"collective_or_roundrobin": "Kollektiv eller Round Robin",
"book_your_team_members": "Boka dina teammedlemmar tillsammans med gemensamma händelser eller gå igenom för att få rätt person med Round Robin.",
- "event_no_longer_attending_subject": "Deltar inte längre i {{title}} kl. {{date}}",
+ "event_no_longer_attending_subject": "Deltar inte längre i {{title}} {{date}}",
"no_longer_attending": "Du deltar inte längre i denna händelse",
"attendee_no_longer_attending_subject": "En deltagare deltar inte längre i {{title}} den {{date}}",
"attendee_no_longer_attending": "En deltagare deltar inte längre i din händelse",
@@ -1653,7 +1652,7 @@
"under_maintenance_description": "{{appName}}-teamet genomför planerat underhåll. Om du har några frågor kan du kontakta supporten.",
"event_type_seats": "{{numberOfSeats}} platser",
"booking_questions_title": "Bokningsfrågor",
- "booking_questions_description": "Anpassa de frågor som ställs på bokningssidan",
+ "booking_questions_description": "Anpassa frågorna som ställs på bokningssidan",
"add_a_booking_question": "Lägg till en fråga",
"duplicate_email": "E-postadressen är duplicerad",
"booking_with_payment_cancelled": "Det går inte längre att betala för den här händelsen",
@@ -1661,22 +1660,22 @@
"booking_with_payment_cancelled_refunded": "Den här bokningsbetalningen har återbetalats.",
"booking_confirmation_failed": "Bokningsbekräftelsen misslyckades",
"not_enough_seats": "Inte tillräckligt med platser",
- "form_builder_field_already_exists": "Ett fält med detta namn finns redan",
- "form_builder_field_add_subtitle": "Anpassa de frågor som ställs på bokningssidan",
+ "form_builder_field_already_exists": "Det finns redan ett fält med det här namnet",
+ "form_builder_field_add_subtitle": "Anpassa frågorna som ställs på bokningssidan",
"show_on_booking_page": "Visa på bokningssidan",
"get_started_zapier_templates": "Kom igång med Zapier-mallar",
"team_is_unpublished": "{{team}} har avpublicerats",
- "team_is_unpublished_description": "Den här teamlänken är för närvarande inte tillgänglig. Kontakta teamets ägare eller be dem publicera den.",
+ "team_is_unpublished_description": "Den här teamlänken är inte tillgänglig för närvarande. Kontakta teamets ägare eller be dem att publicera den.",
"team_member": "Teammedlem",
"a_routing_form": "Ett omdirigeringsformulär",
"form_description_placeholder": "Formulärbeskrivning",
"keep_me_connected_with_form": "Håll mig ansluten med formuläret",
"fields_in_form_duplicated": "Alla ändringar i omdirigering och fält i formuläret som dupliceras återspeglas i dubbletten.",
"form_deleted": "Formulär borttaget",
- "delete_form": "Ta bort formulär",
+ "delete_form": "Vill du verkligen ta bort formuläret?",
"delete_form_action": "Ja, ta bort formulär",
- "delete_form_confirmation": "Är du säker på att du vill ta bort det här formuläret? Alla som du har delat länken med kommer inte längre att kunna boka med hjälp av den. Dessutom raderas alla tillhörande svar.",
- "delete_form_confirmation_2": "Alla associerade svar kommer tas bort.",
+ "delete_form_confirmation": "Alla som du delat länken med kommer inte längre att ha tillgång till det.",
+ "delete_form_confirmation_2": "Alla tillhörande svar tas bort.",
"typeform_redirect_url_copied": "Omdirigerings-URL för Typeform kopierad! Du kan ange URL:en i Typeform-formuläret.",
"modifications_in_fields_warning": "Ändringar i fält och omdirigeringar i följande formulär kommer att återspeglas i detta formulär.",
"connected_forms": "Anslutna formulär",
@@ -1697,7 +1696,7 @@
"spot_popular_event_types_description": "Se vilka av dina händelsetyper som får flest klick och bokningar",
"no_responses_yet": "Inga svar ännu",
"this_will_be_the_placeholder": "Det här blir platshållaren",
- "this_meeting_has_not_started_yet": "Det här mötet har inte startat ännu",
+ "this_meeting_has_not_started_yet": "Mötet har inte startat än",
"this_app_requires_connected_account": "{{appName}} kräver ett anslutet {{dependencyName}}-konto",
"connect_app": "Anslut {{dependencyName}}",
"app_is_connected": "{{dependencyName}} är ansluten",
@@ -1715,7 +1714,7 @@
"reschedule_url_info": "Webbadressen för att ändra bokningen",
"invalid_event_name_variables": "Det finns en ogiltig variabel i ditt händelsenamn",
"select_all": "Välj alla",
- "default_conferencing_bulk_title": "Uppdatera befintliga händelsetyper i bulk",
+ "default_conferencing_bulk_title": "Massuppdatering av befintliga händelsetyper",
"members_default_schedule": "Medlemmens standardschema",
"set_by_admin": "Ställ in av teamadministratör",
"members_default_location": "Medlemmens förvalda plats",
diff --git a/apps/web/public/static/locales/tr/common.json b/apps/web/public/static/locales/tr/common.json
index beff7fb565..7924302c35 100644
--- a/apps/web/public/static/locales/tr/common.json
+++ b/apps/web/public/static/locales/tr/common.json
@@ -1,4 +1,5 @@
{
+ "identity_provider": "Kimlik sağlayıcı",
"trial_days_left": "PRO denemenizde $t(day, {\"count\": {{days}} }) gün kaldı",
"day_one": "{{count}} gün",
"day_other": "{{count}} gün",
@@ -69,6 +70,8 @@
"event_awaiting_approval_subject": "Onay Bekleniyor: {{date}} tarihinde {{title}}",
"event_still_awaiting_approval": "Bir etkinlik hâlâ onayınızı bekliyor",
"booking_submitted_subject": "Rezervasyon Gönderildi: {{title}}, {{date}} tarihinde",
+ "download_recording_subject": "Kaydı İndir: {{title}} / {{date}}",
+ "download_your_recording": "Kaydınızı indirin",
"your_meeting_has_been_booked": "Toplantı rezervasyonunuz yapıldı",
"event_type_has_been_rescheduled_on_time_date": "{{title}}, {{date}} olarak yeniden planlandı.",
"event_has_been_rescheduled": "Güncellendi - Etkinliğiniz yeniden planlandı",
@@ -224,6 +227,7 @@
"done": "Tamam",
"all_done": "Hepsi tamam!",
"all_apps": "Tümü",
+ "available_apps": "Mevcut Uygulamalar",
"check_email_reset_password": "E-posta adresinizi kontrol edin. Size şifrenizi sıfırlamanız için bir bağlantı göndereceğiz.",
"finish": "Bitir",
"few_sentences_about_yourself": "Birkaç cümleyle kendinizden bahsedin. Bu, kişisel URL sayfanızda görünecektir.",
@@ -404,6 +408,7 @@
"add_time_availability": "Yeni zaman aralığı ekle",
"add_an_extra_layer_of_security": "Şifrenizin çalınmasına karşı hesabınıza ekstra bir güvenlik katmanı ekleyin.",
"2fa": "İki Adımlı Kimlik Doğrulama",
+ "2fa_disabled": "İki Adımlı Kimlik Doğrulama, yalnızca e-posta ve şifre kimlik doğrulaması için etkinleştirilebilir",
"enable_2fa": "İki adımlı kimlik doğrulamayı etkinleştir",
"disable_2fa": "İki adımlı kimlik doğrulamayı devre dışı bırak",
"disable_2fa_recommendation": "İki adımlı kimlik doğrulamayı devre dışı bırakmanız gerekiyorsa mümkün olan en kısa sürede yeniden etkinleştirmenizi öneririz.",
@@ -460,7 +465,6 @@
"friday": "Cuma",
"saturday": "Cumartesi",
"sunday": "Pazar",
- "all_booked_today": "Bugün tüm zaman aralıkları rezerve edildi.",
"slots_load_fail": "Kullanılabilir zaman aralıkları yüklenemedi.",
"additional_guests": "Misafir ekle",
"your_name": "Adınız",
@@ -585,6 +589,20 @@
"minutes": "Dakika",
"round_robin": "Round Robin",
"round_robin_description": "Toplantıları birden fazla ekip üyesi arasında döndürün.",
+ "managed_event": "Yönetilen Etkinlik",
+ "username_placeholder": "kullanıcı adı",
+ "managed_event_description": "Etkinlik türlerini toplu olarak oluşturun ve ekip üyelerine dağıtın",
+ "managed": "Yönetildi",
+ "managed_event_url_clarification": "\"username\" alanı, atanan üyelerin kullanıcı adı ile doldurulacaktır",
+ "assign_to": "Şuraya ata:",
+ "add_members": "Üye ekle...",
+ "count_members_one": "{{count}} üye",
+ "count_members_other": "{{count}} üye",
+ "no_assigned_members": "Atanan üye yok",
+ "assigned_to": "Şuraya atandı:",
+ "start_assigning_members_above": "Üyeleri en üstten itibaren atamaya başlayın",
+ "locked_fields_admin_description": "Üyeler bunu düzenleyemez",
+ "locked_fields_member_description": "Bu seçenek ekip yöneticisi tarafından kilitlendi",
"url": "URL",
"hidden": "Gizli",
"readonly": "Salt okunur",
@@ -736,6 +754,11 @@
"minimum_booking_notice": "Minimum Bildirim",
"slot_interval": "Zaman dilimi aralıkları",
"slot_interval_default": "Etkinlik uzunluğunu kullan (varsayılan)",
+ "delete_event_type": "Etkinlik türü silinsin mi?",
+ "delete_managed_event_type": "Yönetilen etkinlik türü silinsin mi?",
+ "delete_event_type_description": "Bağlantıyı paylaştığınız kullanıcıların hiçbiri artık rezervasyon yapmak için bu bağlantıyı kullanamayacak.",
+ "delete_managed_event_type_description": "
Bu etkinlik türüne atanan üyelerin etkinlik türleri de silinecek.
Bağlantıyı paylaşan üyelerin hiçbiri artık rezervasyon yapmak için bu bağlantıyı kullanamayacak.
",
+ "confirm_delete_event_type": "Evet, sil",
"delete_account": "Hesabı sil",
"confirm_delete_account": "Evet, hesabı sil",
"delete_account_confirmation_message": "{{appName}} hesabınızı silmek istediğinizden emin misiniz? Hesap bağlantısı paylaştığınız herkes artık bu bağlantıyı kullanarak rezervasyon yapamayacak ve kaydettiğiniz tüm tercihler kaybolacak.",
@@ -860,7 +883,7 @@
"add_new_calendar": "Yeni takvim ekle",
"set_calendar": "Size rezervasyon yapıldığında yeni etkinliklerin nereye ekleneceğini belirleyin.",
"delete_schedule": "Planı sil",
- "delete_schedule_description": "Bir planın silinmesi onu tüm etkinlik türlerinden kaldırır. Bu işlem geri alınamaz.",
+ "delete_schedule_description": "Plan silindiğinde tüm etkinlik türlerinden kaldırılır. Bu işlem geri alınamaz.",
"schedule_created_successfully": "{{scheduleName}} planı başarıyla oluşturuldu",
"availability_updated_successfully": "{{scheduleName}} planı başarıyla güncellendi",
"schedule_deleted_successfully": "Plan başarıyla silindi",
@@ -1126,11 +1149,13 @@
"current_username": "Mevcut kullanıcı adı",
"example_1": "Örnek 1",
"example_2": "Örnek 2",
+ "booking_question_identifier": "Rezervasyon Sorusu Tanımlayıcısı",
"company_size": "Şirket büyüklüğü",
"what_help_needed": "Hangi konuda yardıma ihtiyacınız var?",
"variable_format": "Değişken biçimi",
"webhook_subscriber_url_reserved": "Web kancası abone URL'si zaten tanımlı",
"custom_input_as_variable_info": "Ek giriş etiketindeki tüm özel karakterleri yok sayın (yalnızca harfler ve rakamlar kullanın), tüm harfler için büyük harfleri kullanın ve boşlukları alt çizgilerle değiştirin.",
+ "using_booking_questions_as_variables": "Rezervasyon sorularını değişken olarak nasıl kullanabilirim?",
"download_desktop_app": "Masaüstü uygulamasını indirin",
"set_ping_link": "Ping bağlantısını ayarla",
"rate_limit_exceeded": "Deneme sayısı aşıldı",
@@ -1153,7 +1178,7 @@
"event_advanced_tab_title": "Gelişmiş",
"event_setup_multiple_duration_error": "Etkinlik Kurulumu: Birden çok süre için en az 1 seçenek gereklidir.",
"event_setup_multiple_duration_default_error": "Etkinlik Kurulumu: Lütfen geçerli bir varsayılan süre seçin.",
- "event_setup_booking_limits_error": "Rezervasyon limitleri artan sırada olmalıdır. [gün,hafta,ay,yıl]",
+ "event_setup_booking_limits_error": "Rezervasyon limitleri artan sırada olmalıdır. [gün, hafta, ay, yıl]",
"event_setup_duration_limits_error": "Süre limitleri artan sırada olmalıdır. [gün, hafta, ay, yıl]",
"select_which_cal": "Rezervasyonların hangi takvime ekleneceğini seçin",
"custom_event_name": "Özel etkinlik adı",
@@ -1176,6 +1201,7 @@
"start_of_week": "Haftanın başlangıcı",
"recordings_title": "Kayıtlar",
"recording": "Kayıt",
+ "happy_scheduling": "Mutlu Planlama",
"select_calendars": "Çifte rezervasyonu önlemek için çakışmaları kontrol etmek istediğiniz takvimleri seçin.",
"check_for_conflicts": "Çakışmaları kontrol edin",
"view_recordings": "Kayıtları görüntüle",
@@ -1213,6 +1239,7 @@
"impersonation": "Kimliğe bürünme",
"impersonation_description": "Kullanıcı kimliğine bürünmeyi yönetmek için ayarlar",
"users": "Kullanıcılar",
+ "user": "Kullanıcı",
"profile_description": "{{appName}} profiliniz için ayarları yönetin",
"users_description": "Burada tüm kullanıcıların listesini bulabilirsiniz",
"users_listing": "Kullanıcı listesi",
@@ -1253,6 +1280,8 @@
"download_responses": "Yanıtları İndir",
"download_responses_description": "Formunuza gelen tüm yanıtları CSV formatında indirin.",
"download": "İndir",
+ "download_recording": "Kaydı İndir",
+ "recording_from_your_recent_call": "Cal.com'daki son görüşmenize ait bir kayıt indirilmeye hazır",
"create_your_first_form": "İlk formunuzu oluşturun",
"create_your_first_form_description": "Yönlendirme Formları ile yeterlik soruları sorabilir ve bunları doğru kişiye veya etkinlik türüne yönlendirebilirsiniz.",
"create_your_first_webhook": "İlk Web kancanızı oluşturun",
@@ -1289,7 +1318,16 @@
"exchange_authentication_standard": "Temel kimlik doğrulama",
"exchange_authentication_ntlm": "NTLM kimlik doğrulama",
"exchange_compression": "GZip sıkıştırma",
- "routing_forms_description": "Oluşturduğunuz tüm formları ve rotaları burada görebilirsiniz.",
+ "exchange_version": "Exchange Sürümü",
+ "exchange_version_2007_SP1": "2007 SP1",
+ "exchange_version_2010": "2010",
+ "exchange_version_2010_SP1": "2010 SP1",
+ "exchange_version_2010_SP2": "2010 SP2",
+ "exchange_version_2013": "2013",
+ "exchange_version_2013_SP1": "2013 SP1",
+ "exchange_version_2015": "2015",
+ "exchange_version_2016": "2016",
+ "routing_forms_description": "Katılımcıları doğru destinasyonlara yönlendirmek için form oluşturun",
"routing_forms_send_email_owner": "Sahibine E-posta Gönderin",
"routing_forms_send_email_owner_description": "Form gönderildiğinde sahibine bir e-posta gönderir",
"add_new_form": "Yeni form ekle",
@@ -1343,6 +1381,7 @@
"add_limit": "Kısıtlama Ekleyin",
"team_name_required": "Ekip adı gereklidir",
"show_attendees": "Katılımcı bilgilerini misafirler arasında paylaşın",
+ "how_booking_questions_as_variables": "Rezervasyonla ilgili sorular değişken olarak nasıl kullanılır?",
"format": "Biçim",
"uppercase_for_letters": "Tüm harfleri büyük harf olarak kullanın",
"replace_whitespaces_underscores": "Boşlukları alt çizgi ile değiştir",
@@ -1357,6 +1396,7 @@
"billing_help_title": "Başka bir şeye ihtiyacınız var mı?",
"billing_help_description": "Faturalandırma konusunda daha fazla yardıma ihtiyacınız olursa destek ekibimiz size yardımcı olmaya hazır.",
"billing_help_cta": "Destek ekibimize ulaşın",
+ "ignore_special_characters_booking_questions": "Rezervasyon sorusu tanımlayıcınızdaki özel karakterleri kullanmayın. Yalnızca harfler ve sayılar kullanın",
"retry": "Yeniden dene",
"fetching_calendars_error": "Takvimleriniz alınırken bir sorun oluştu. Lütfen <1>tekrar deneyin1> veya müşteri destek ekibiyle iletişme geçin.",
"calendar_connection_fail": "Takvim bağlantısı yapılamadı",
@@ -1439,11 +1479,17 @@
"fixed_round_robin": "Sabit döngü",
"add_one_fixed_attendee": "Bir sabit katılımcı ekleyin ve katılımcı sayısına göre rotasyon yapın.",
"calcom_is_better_with_team": "Cal.com ekiplerle daha iyidir",
+ "the_calcom_team": "Cal.com ekibi",
"add_your_team_members": "Ekip üyelerinizi etkinlik türlerinize ekleyin. Herkesi eklemek için toplu planlamayı kullanın veya döngüsel planlama ile en uygun kişiyi bulun.",
"booking_limit_reached": "Bu etkinlik türü için Rezervasyon Sınırına ulaşıldı",
"duration_limit_reached": "Bu etkinlik türü için Süre Sınırına ulaşıldı",
"admin_has_disabled": "Bir yönetici {{appName}} adlı uygulamayı devre dışı bıraktı",
"disabled_app_affects_event_type": "Bir yönetici {{eventType}} etkinlik türünüzü etkileyen {{appName}} adlı uygulamayı devre dışı bıraktı",
+ "event_replaced_notice": "Bir yönetici, etkinlik türlerinizden birini değiştirdi",
+ "email_subject_slug_replacement": "Bir ekip yöneticisi etkinliğinizi /{{slug}} değiştirdi",
+ "email_body_slug_replacement_notice": "{{teamName}} ekibindeki bir yönetici, /{{slug}} etkinlik türünüzü kontrol ettiği yönetilen bir etkinlik türüyle değiştirdi.",
+ "email_body_slug_replacement_info": "Bağlantınız çalışmaya devam edecek, ancak bazı ayarları değişmiş olabilir. Bağlantıyı etkinlik kategorilerinde inceleyebilirsiniz.",
+ "email_body_slug_replacement_suggestion": "Etkinlik türüyle ilgili herhangi bir sorunuz varsa lütfen yöneticinizle iletişime geçin.
Mutlu planlama, Cal.com ekibi",
"disable_payment_app": "Yönetici, {{title}} etkinlik türünüzü etkileyebilecek {{appName}} uygulamasını devre dışı bıraktı. Katılımcılar yine de bu tür bir etkinlik için rezervasyon yaptırabilirler ancak herhangi bir ödeme yapmalarına gerek yoktur. Bu durumu önlemek için yöneticiniz ödeme yönteminizi yeniden etkinleştirene kadar etkinlik türünü gizleyebilirsiniz.",
"payment_disabled_still_able_to_book": "Katılımcılar yine de bu tür bir etkinlik için rezervasyon yaptırabilirler, ancak herhangi bir ödeme yapmalarına gerek yoktur. Bu durumu önlemek için yöneticiniz ödeme yönteminizi yeniden etkinleştirene kadar etkinlik türünü gizleyebilirsiniz.",
"app_disabled_with_event_type": "Yönetici, etkinlik {{title}} türünüzü etkileyen {{appName}} uygulamasını devre dışı bıraktı.",
@@ -1492,6 +1538,7 @@
"date_overrides_update_btn": "Üzerine Yazmayı Güncelle",
"event_type_duplicate_copy_text": "{{slug}}-kopya",
"set_as_default": "Varsayılan olarak ayarla",
+ "hide_eventtype_details": "Etkinlik türü ayrıntılarını gizle",
"show_navigation": "Navigasyonu göster",
"hide_navigation": "Navigasyonu gizle",
"verification_code_sent": "Doğrulama kodu gönderildi",
@@ -1505,6 +1552,7 @@
"create_your_first_team_webhook_description": "Bu ekip etkinliği türü için ilk web kancanızı oluşturun",
"create_webhook_team_event_type": "Bu ekip etkinliği türü için bir web kancası oluşturun",
"disable_success_page": "Başarılı Sayfasını Devre Dışı Bırak (yalnızca yönlendirme URL'niz varsa çalışır)",
+ "invalid_admin_password": "Yöneticisiniz, ancak henüz en az 15 karakterden oluşan bir şifreniz veya 2 Adımlı Kimlik Doğrulamanız yok",
"change_password_admin": "Yönetici erişimi kazanmak için Şifreyi değiştirin",
"username_already_taken": "Kullanıcı adı zaten alınmış",
"assignment": "Atama",
@@ -1525,7 +1573,7 @@
"sender_name": "Gönderenin adı",
"already_invited": "Katılımcı zaten davet edildi",
"no_recordings_found": "Kayıt bulunamadı",
- "new_workflow_subtitle": "Yeni iş akışı...",
+ "new_workflow_subtitle": "Şunun için yeni iş akışı...",
"reporting": "Raporlama",
"reporting_feature": "Gelen tüm verileri görüntüleyin ve CSV olarak indirin",
"teams_plan_required": "Ekip planı gerekli",
@@ -1537,6 +1585,7 @@
"ee_enterprise_license": "“/ee” Enterprise Lisansı",
"enterprise_booking_fee": "Ayda {{enterprise_booking_fee}} başlangıç fiyatıyla",
"enterprise_license_includes": "Ticari bir kullanım durumu için her şey",
+ "no_need_to_keep_your_code_open_source": "Kodunuzu açık kaynak olarak tutmanıza gerek yok",
"repackage_rebrand_resell": "Kolayca yeniden paketleyin, yeniden markalalayın ve yeniden satın",
"a_vast_suite_of_enterprise_features": "Kapsamlı kurumsal özellikler paketi",
"free_license_fee": "0,00 $/ay",
@@ -1591,29 +1640,31 @@
"book_your_team_members": "Ekip üyelerinizi toplu etkinliklerle bir araya getirmek için rezervasyon yapın veya döngüsel planlamayla en uygun doğru kişiyi bulmak için rotasyon yapın.",
"event_no_longer_attending_subject": "Artık {{date}} tarihindeki {{title}} etkinliğine katılmıyorsunuz",
"no_longer_attending": "Artık bu etkinliğe katılmıyorsunuz",
- "attendee_no_longer_attending_subject": "Bir katılımcı, artık {{date}} tarihindeki {{title}} etkinliğine katılmıyor",
+ "attendee_no_longer_attending_subject": "Bir katılımcı, {{date}} tarihli {{title}} etkinliğine artık katılmıyor",
"attendee_no_longer_attending": "Bir katılımcı artık etkinliğinize katılmıyor",
"attendee_no_longer_attending_subtitle": "{{name}} etkinlik katılımını iptal etti. Bu, bu zaman aralığı için bir yerin açıldığı anlamına gelir",
"create_event_on": "Şu tarih için etkinlik oluşturun:",
"default_app_link_title": "Varsayılan uygulama bağlantısını ayarlayın",
"default_app_link_description": "Varsayılan uygulama bağlantısını ayarlamak, yeni oluşturulan tüm etkinlik türlerinin ayarladığınız uygulama bağlantısını kullanmasına olanak tanır.",
"change_default_conferencing_app": "Varsayılan olarak ayarla",
+ "organizer_default_conferencing_app": "Organizatörün varsayılan uygulaması",
"under_maintenance": "Bakımda",
"under_maintenance_description": "{{appName}} ekibi planlı bir bakım çalışması gerçekleştiriyor. Herhangi bir sorunuz varsa lütfen destek ekibiyle iletişime geçin.",
"event_type_seats": "{{numberOfSeats}} yer",
"booking_questions_title": "Rezervasyon soruları",
"booking_questions_description": "Rezervasyon sayfasında sorulan soruları özelleştirin",
"add_a_booking_question": "Soru ekle",
- "duplicate_email": "E-posta yineleniyor",
+ "duplicate_email": "E-posta yinelenmiş",
"booking_with_payment_cancelled": "Artık bu etkinlik için ödeme yapılamıyor",
"booking_with_payment_cancelled_already_paid": "Bu rezervasyon ödemesi için iade yolda.",
"booking_with_payment_cancelled_refunded": "Bu rezervasyon ödemesi iade edildi.",
"booking_confirmation_failed": "Rezervasyon onayı yapılamadı",
- "not_enough_seats": "Yeterli koltuk yok",
+ "not_enough_seats": "Yeterli yer yok",
"form_builder_field_already_exists": "Bu ada sahip bir alan zaten var",
"form_builder_field_add_subtitle": "Rezervasyon sayfasında sorulan soruları özelleştirin",
+ "show_on_booking_page": "Rezervasyon sayfasında göster",
"get_started_zapier_templates": "Zapier şablonlarını kullanmaya başlayın",
- "team_is_unpublished": "{{team}} bağlantısı paylaşılmadı",
+ "team_is_unpublished": "{{team}} paylaşılmadı",
"team_is_unpublished_description": "Bu ekip bağlantısı şu anda kullanılamıyor. Lütfen ekip sahibiyle iletişime geçin veya ondan bir bağlantı paylaşmasını isteyin.",
"team_member": "Ekip üyesi",
"a_routing_form": "Yönlendirme Formu",
@@ -1621,9 +1672,9 @@
"keep_me_connected_with_form": "Formla bağlantımı sürdür",
"fields_in_form_duplicated": "Kopyalanan formun Yönlendirici ve Alanlarındaki tüm değişiklikler de kopyaya yansıtılır.",
"form_deleted": "Form silindi",
- "delete_form": "Formu sil",
+ "delete_form": "Bu formu silmek istediğinizden emin misiniz?",
"delete_form_action": "Evet, Formu sil",
- "delete_form_confirmation": "Bu formu silmek istediğinizden emin misiniz? Bağlantıyı paylaştığınız hiç kimse artık bu formu kullanarak rezervasyon yapamayacak. Ayrıca, tüm ilişkili yanıtlar silinecek.",
+ "delete_form_confirmation": "Bağlantıyı paylaştığınız hiç kimse artık bu formu kullanarak buna erişemeyecek.",
"delete_form_confirmation_2": "İlişkili tüm yanıtlar silinecek.",
"typeform_redirect_url_copied": "Typeform Yönlendirme URL'si kopyalandı! Adrese giderek Typeform formundaki URL'yi ayarlayabilirsiniz.",
"modifications_in_fields_warning": "Aşağıdaki formların alan ve yönlendirme seçeneklerindeki değişiklikler bu forma yansıtılacak.",
@@ -1635,19 +1686,102 @@
"add_1_option_per_line": "Satır başına 1 seçenek ekle",
"select_a_router": "Yönlendirici seçin",
"add_a_new_route": "Yeni bir Yönlendirme ekle",
+ "make_informed_decisions": "Öngörüler ile bilinçli kararlar verin",
+ "make_informed_decisions_description": "Öngörüler panomuz, ekibinizdeki tüm etkinlikleri analiz eder ve size daha iyi ekip planlaması yapma ve karar verme imkanı sağlayan eğilimleri gösterir.",
+ "view_bookings_across": "Tüm üyelerin rezervasyonlarını görüntüleyin",
+ "view_bookings_across_description": "En çok rezervasyonu kimin aldığını görün ve tüm ekibiniz için en iyi dağılımı sağlayın",
+ "identify_booking_trends": "Rezervasyon trendlerini belirleyin",
+ "identify_booking_trends_description": "Rezervasyon yapan kullanıcılarınız için haftanın ve günün hangi zamanlarının revaçta olduğunu görün",
+ "spot_popular_event_types": "Popüler etkinlik türlerini tespit edin",
+ "spot_popular_event_types_description": "Hangi etkinlik türünüzün en çok tıklandığını ve rezervasyon aldığını görün",
"no_responses_yet": "Henüz yanıt yok",
"this_will_be_the_placeholder": "Bu, yer tutucu olacak",
"this_meeting_has_not_started_yet": "Bu toplantı henüz başlamadı",
- "this_app_requires_connected_account": "{{appName}} uygulaması için bağlı bir {{dependencyName}} hesabı gereklidir",
+ "this_app_requires_connected_account": "{{appName}} bağlı bir {{dependencyName}} hesabı gerektirir",
"connect_app": "{{dependencyName}} hesabını bağla",
- "app_is_connected": "{{dependencyName}} hesabı bağlandı",
- "requires_app": "{{dependencyName}} hesabı gereklidir",
+ "app_is_connected": "{{dependencyName}} bağlandı",
+ "requires_app": "{{dependencyName}} gerektirir",
"verification_code": "Doğrulama kodu",
- "can_you_try_again": "Başka bir zaman tekrar deneyebilir misiniz?",
+ "can_you_try_again": "Başka bir saatle tekrar deneyebilir misiniz?",
"verify": "Doğrula",
"timezone_variable": "Saat dilimi",
+ "timezone_info": "Alıcının saat dilimi",
+ "event_end_time_variable": "Etkinlik bitiş saati",
+ "event_end_time_info": "Etkinlik bitiş saati",
+ "cancel_url_variable": "URL'yi iptal et",
+ "cancel_url_info": "Rezervasyonu iptal etme URL'si",
+ "reschedule_url_variable": "Yeniden Planlama URL'si",
+ "reschedule_url_info": "Rezervasyonu yeniden planlama URL'si",
"invalid_event_name_variables": "Etkinlik adınızda geçersiz bir değişken var",
"select_all": "Tümünü Seç",
"default_conferencing_bulk_title": "Mevcut etkinlik türlerini toplu olarak güncelleyin",
- "default_conferencing_bulk_description": "Seçilen etkinlik türleri için konumları güncelleyin"
+ "members_default_schedule": "Üyenin varsayılan programı",
+ "set_by_admin": "Ekip yöneticisi tarafından belirlendi",
+ "members_default_location": "Üyenin varsayılan konumu",
+ "members_default_schedule_description": "Her üyenin varsayılan uygunluk planını kullanacağız. Bunu düzenleyebilir veya değiştirebilir.",
+ "requires_at_least_one_schedule": "En az bir plana sahip olmanız gerekiyor",
+ "default_conferencing_bulk_description": "Seçilen etkinlik türleri için konumları güncelleyin",
+ "locked_for_members": "Üyeler için kilitli",
+ "locked_apps_description": "Üyeler aktif uygulamaları görebilir, ancak hiçbir uygulama ayarını düzenleyemez",
+ "locked_webhooks_description": "Üyeler aktif web kancalarını görebilir, ancak hiçbir web kancası ayarını düzenleyemez",
+ "locked_workflows_description": "Üyeler aktif iş akışlarını görebilir, ancak hiçbir iş akışı ayarını düzenleyemez",
+ "locked_by_admin": "Yönetici tarafından kilitlendi",
+ "app_not_connected": "Bir {{appName}} hesabı bağlamadınız.",
+ "connect_now": "Hemen bağlan",
+ "managed_event_dialog_confirm_button_one": "{{count}} üyeyi değiştirin ve bilgilendirin",
+ "managed_event_dialog_confirm_button_other": "{{count}} üyeyi değiştirin ve bilgilendirin",
+ "managed_event_dialog_title_one": "URL /{{slug}}, {{count}} üye için zaten mevcut. Bunu değiştirmek istiyor musunuz?",
+ "managed_event_dialog_title_other": "URL /{{slug}}, {{count}} üye için zaten mevcut. Bunu değiştirmek istiyor musunuz?",
+ "managed_event_dialog_information_one": "{{names}} zaten /{{slug}} URL'sini kullanıyor.",
+ "managed_event_dialog_information_other": "{{names}} zaten /{{slug}} URL'sini kullanıyor.",
+ "managed_event_dialog_clarification": "Değiştirmeyi seçmeniz durumunda kullanıcıları bilgilendireceğiz. Üzerine yazmak istemiyorsanız geri dönerek onları kaldırın.",
+ "review_event_type": "Etkinlik Türünü inceleyin",
+ "looking_for_more_analytics": "Daha fazla analiz mi arıyorsunuz?",
+ "looking_for_more_insights": "Daha fazla Öngörü mü arıyorsunuz?",
+ "add_filter": "Filtre ekle",
+ "select_user": "Kullanıcı seç",
+ "select_event_type": "Etkinlik Türü seç",
+ "select_date_range": "Tarih Aralığı seçin",
+ "popular_events": "Popüler Etkinlikler",
+ "no_event_types_found": "Etkinlik türü bulunamadı",
+ "average_event_duration": "Ortalama Etkinlik Süresi",
+ "most_booked_members": "En Çok Rezerve Edilen Üyeler",
+ "least_booked_members": "En Az Rezerve Edilen Üyeler",
+ "events_created": "Oluşturulan Etkinlikler",
+ "events_completed": "Tamamlanan Etkinlikler",
+ "events_cancelled": "İptal Edilen Etkinlikler",
+ "events_rescheduled": "Yeniden Planlanan Etkinlikler",
+ "from_last_period": "son dönemden itibaren",
+ "from_to_date_period": "İlk tarih: {{startDate}} Son tarih: {{endDate}}",
+ "analytics_for_organisation": "Öngörüler",
+ "subtitle_analytics": "Ekibinizin aktivitesi hakkında daha fazla bilgi edinin",
+ "redirect_url_warning": "Yönlendirme eklemek başarı sayfasını devre dışı bırakır. Özel başarı sayfanızda \"Rezervasyon Onaylandı\" ifadesinden bahsetmeyi unutmayın.",
+ "event_trends": "Etkinlik Trendleri",
+ "clear_filters": "Filtreleri Temizle",
+ "hold": "Tut",
+ "on_booking_option": "Ödemeyi rezervasyon sırasında alın",
+ "hold_option": "Rezervasyonu kullanmama ücreti kesin",
+ "card_held": "Kart tutuldu",
+ "charge_card": "Karttan ücret alın",
+ "card_charged": "Karttan tahsil edildi",
+ "no_show_fee_amount": "{{amount, currency}} katılmama ücreti",
+ "no_show_fee": "Katılmama ücreti",
+ "submit_card": "Kart gönderin",
+ "submit_payment_information": "Ödeme bilgilerini gönderin",
+ "meeting_awaiting_payment_method": "Toplantınız için bir ödeme yöntemi bekleniyor",
+ "no_show_fee_charged_email_subject": "{{date}} tarihindeki {{title}} adlı etkinlik için {{amount, currency}} katılmama ücreti alındı",
+ "no_show_fee_charged_text_body": "Katılmama ücreti tahsil edildi",
+ "no_show_fee_charged_subtitle": "Aşağıdaki etkinlik için {{amount, currency}} katılmama ücreti tahsil edildi",
+ "error_charging_card": "Katılmama ücreti alınırken bir sorun oluştu. Lütfen daha sonra tekrar deneyin.",
+ "collect_no_show_fee": "Katılmama ücretini tahsil edin",
+ "no_show_fee_charged": "Katılmama ücreti tahsil edildi",
+ "insights": "Öngörüler",
+ "testing_workflow_info_message": "Bu iş akışını test ederken, E-postaların ve SMS'lerin yalnızca en az 1 saat önceden planlanabileceğini unutmayın",
+ "insights_no_data_found_for_filter": "Seçili filtre veya tarihler için veri bulunamadı.",
+ "acknowledge_booking_no_show_fee": "Bu etkinliğe katılmadığım takdirde kartımdan {{amount, currency}} tutarında katılmama ücreti alınmasını kabul ediyorum.",
+ "card_details": "Kart bilgileri",
+ "seats_and_no_show_fee_error": "Şu anda koltuklar etkinleştirilemiyor ve katılmama ücreti tahsil edilemiyor",
+ "complete_your_booking": "Rezervasyonunuzu tamamlayın",
+ "complete_your_booking_subject": "Rezervasyonunuzu tamamlayın: {{title}}, {{date}}",
+ "email_invite_team": "{{email}} davet edildi"
}
diff --git a/apps/web/public/static/locales/uk/common.json b/apps/web/public/static/locales/uk/common.json
index 25076f30f1..4f3d3a1a63 100644
--- a/apps/web/public/static/locales/uk/common.json
+++ b/apps/web/public/static/locales/uk/common.json
@@ -465,7 +465,6 @@
"friday": "П’ятниця",
"saturday": "Субота",
"sunday": "Неділя",
- "all_booked_today": "Сьогодні все заброньовано.",
"slots_load_fail": "Не вдалося завантажити доступні часові вікна.",
"additional_guests": "Додати гостей",
"your_name": "Ваше ім’я",
diff --git a/apps/web/public/static/locales/vi/common.json b/apps/web/public/static/locales/vi/common.json
index 52155d5185..b687744502 100644
--- a/apps/web/public/static/locales/vi/common.json
+++ b/apps/web/public/static/locales/vi/common.json
@@ -114,7 +114,7 @@
"hidden_team_owner_message": "Bạn cần tài khoản Pro để sử dụng nhóm, bạn sẽ bị ẩn cho đến khi bạn thanh toán.",
"link_expires": "p.s. Link hết hạn trong vòng {{expiresIn}} tiếng.",
"upgrade_to_per_seat": "Nâng cấp từng tài khoản",
- "seat_options_doesnt_support_confirmation": "Tuỳ chọn chỗ ngồi không thể chọn cho yêu cầu xác nhận đặt lịch",
+ "seat_options_doesnt_support_confirmation": "Tuỳ chọn chỗ ngồi không hỗ trợ yêu cầu xác nhận",
"team_upgrade_seats_details": "Trong tổng {{memberCount}} thành viên của nhóm bạn, {{unpaidCount}} thành viên chưa được thanh toán. Với {{seatPrice}}$/tháng mỗi thành viên, tổng chi phí cho nhóm bạn là {{totalCost}}$/tháng.",
"team_upgrade_banner_description": "Cám ơn bạn đã dùng thử gói kế hoạch mới dành cho nhóm. Chúng tôi để ý thấy nhóm \"{{teamName}}\" của bạn cần được nâng cấp.",
"team_upgrade_banner_action": "Nâng cấp tại đây",
@@ -438,7 +438,7 @@
"password_hint_min": "Dài tối thiểu 7 ký tự",
"password_hint_admin_min": "Dài tối thiểu 15 ký tự",
"password_hint_num": "Chứa ít nhất 1 con số",
- "max_limit_allowed_hint": "Phải có độ dài {{limit}} ký tự trở xuống",
+ "max_limit_allowed_hint": "Phải dài {{limit}} ký tự trở xuống",
"invalid_password_hint": "Mật khẩu phải có tối thiểu {{passwordLength}} ký tự chứa ít nhất một con số và phải kết hợp chữ cái in hoa lẫn in thường",
"incorrect_password": "Mật khẩu không đúng.",
"incorrect_username_password": "Sai tên người dùng hoặc sai mật khẩu.",
@@ -465,7 +465,6 @@
"friday": "Thứ Sáu",
"saturday": "Thứ Bảy",
"sunday": "Chủ Nhật",
- "all_booked_today": "Tất cả đã đặt xong hôm nay.",
"slots_load_fail": "Không thể tải thời gian có thể đặt lịch.",
"additional_guests": "Thêm khách",
"your_name": "Tên của bạn",
@@ -884,7 +883,7 @@
"add_new_calendar": "Thêm một lịch mới",
"set_calendar": "Đặt chỗ cần thêm sự kiện mới khi bạn được đặt lịch.",
"delete_schedule": "Xóa lịch",
- "delete_schedule_description": "Theo tác xoá một lịch hẹn sẽ xoá bỏ đi lịch hẹn đó ra khỏi tất cả các loại sự kiện. Thao tác này không thể hồi lại được.",
+ "delete_schedule_description": "Theo tác xóa một lịch hẹn sẽ xóa bỏ đi lịch hẹn đó ra khỏi tất cả các loại sự kiện. Thao tác này không thể hồi lại được.",
"schedule_created_successfully": "Đã tạo thành công lịch {{scheduleName}}",
"availability_updated_successfully": "Đã cập nhật thành công lịch {{scheduleName}}",
"schedule_deleted_successfully": "Đã xóa lịch thành công",
@@ -1574,7 +1573,7 @@
"sender_name": "Tên người gửi",
"already_invited": "Người tham dự đã được mời",
"no_recordings_found": "Không tìm thấy bản ghi âm nào",
- "new_workflow_subtitle": "Tiến độ công việc mới cho...",
+ "new_workflow_subtitle": "Dòng công việc mới cho...",
"reporting": "Báo cáo",
"reporting_feature": "Xem tất cả dữ liệu đầu vào và tải xuống dưới dạng CSV",
"teams_plan_required": "Cần có gói Teams",
@@ -1631,19 +1630,19 @@
"impersonation_user_tip": "Bạn sắp giả làm một người dùng, nghĩa là bạn có thể thay mặt họ mà thực hiện một số thay đổi. Hãy cẩn trọng.",
"available_variables": "Các biến số khả dụng",
"scheduler": "{Scheduler}",
- "no_workflows": "Không có tiến độ công việc",
- "change_filter": "Đổi bộ lọc để xem tiến độ công việc cá nhân và của nhóm.",
+ "no_workflows": "Không có dòng công việc",
+ "change_filter": "Đổi bộ lọc để xem dòng công việc của cá nhân và của nhóm.",
"recommended_next_steps": "Những bước tiếp theo được đề xuất",
"create_a_managed_event": "Tạo một loại sự kiện được quản lý",
"meetings_are_better_with_the_right": "Các cuộc họp sẽ ổn hơn khi có những thành viên nhóm phù hợp ở đó. Hãy mời họ ngay.",
- "create_a_one_one_template": "Tạo một mẫu họp 1: 1 cho một loại sự kiện và phân bổ nó cho nhiều thành viên.",
+ "create_a_one_one_template": "Tạo một khuôn mẫu 1:1 cho một loại sự kiện và phân bổ nó cho nhiều thành viên.",
"collective_or_roundrobin": "Tập thể hoặc round-robin",
"book_your_team_members": "Đặt hẹn những thành viên nhóm bạn cùng nhau với những sự kiện tập thể hoặc xoay vòng để có người phù hợp với round-robin.",
"event_no_longer_attending_subject": "Không còn tham dự {{title}} vào {{date}}",
"no_longer_attending": "Bạn không còn tham gia sự kiện này nữa",
"attendee_no_longer_attending_subject": "Một người tham dự không còn tham dự {{title}} vào {{date}}",
"attendee_no_longer_attending": "Một người tham dự không còn tham dự sự kiện của bạn",
- "attendee_no_longer_attending_subtitle": "{{name}} đã huỷ. Điều này nghĩa là còn lại một suất cho thời điểm này",
+ "attendee_no_longer_attending_subtitle": "{{name}} đã hủy. Điều này nghĩa là còn lại một suất cho thời điểm này",
"create_event_on": "Tạo sự kiện vào",
"default_app_link_title": "Đặt một liên kết ứng dụng mặc định",
"default_app_link_description": "Thao tác đặt liên kết ứng dụng mặc định sẽ giúp cho phép tất cả các loại sự kiện mới tạo có thể dùng liên kết ứng dụng mà bạn đã đặt.",
@@ -1673,9 +1672,9 @@
"keep_me_connected_with_form": "Duy trì trạng thái kết nối của tôi với biểu mẫu",
"fields_in_form_duplicated": "Mọi thay đổi trong Định hướng và Trường của biểu mẫu được sao chép đều sẽ được thể hiện trong bản sao.",
"form_deleted": "Biểu mẫu đã xoá",
- "delete_form": "Xoá biểu mẫu",
+ "delete_form": "Bạn có chắc bạn muốn xóa biểu mẫu này?",
"delete_form_action": "Có, xoá Biểu mẫu",
- "delete_form_confirmation": "Bạn có chắc là mình muốn xoá biểu mẫu này? Những người mà bạn chia sẻ liên kết họ sẽ không thể đặt lịch hẹn bằng liên kết đó được nữa. Ngoài ra, tất cả những hồi đáp có liên quan cũng sẽ bị xoá.",
+ "delete_form_confirmation": "Bạn có chắc là mình muốn xóa biểu mẫu này? Những người mà bạn chia sẻ liên kết họ sẽ không thể đặt lịch hẹn bằng liên kết đó được nữa. Ngoài ra, tất cả những hồi đáp có liên quan cũng sẽ bị xóa.",
"delete_form_confirmation_2": "Tất cả các phản hồi liên quan sẽ bị xóa.",
"typeform_redirect_url_copied": "Đã sao chép URL Chuyển hướng Typeform! Bạn có thể đi đặt URL trong biểu mẫu Typeform.",
"modifications_in_fields_warning": "Khi sửa đổi trong các trường và định hướng của những biểu mẫu sau thì những thay đổi đó sẽ được thể hiện trong biểu mẫu này.",
@@ -1715,7 +1714,7 @@
"reschedule_url_info": "URL để đặt lịch hẹn lại",
"invalid_event_name_variables": "Có biến số không hợp lệ trong tên sự kiện của bạn",
"select_all": "Chọn tất cả",
- "default_conferencing_bulk_title": "Cập nhật hàng loại những loại sự kiện hiện có",
+ "default_conferencing_bulk_title": "Cập nhật hàng loạt những loại sự kiện hiện có",
"members_default_schedule": "Lịch biểu mặc định của thành viên",
"set_by_admin": "Đặt bởi quản trị viên của nhóm",
"members_default_location": "Vị trí mặc định của thành viên",
diff --git a/apps/web/public/static/locales/zh-CN/common.json b/apps/web/public/static/locales/zh-CN/common.json
index 0ecbfe8d4e..0d9846be4e 100644
--- a/apps/web/public/static/locales/zh-CN/common.json
+++ b/apps/web/public/static/locales/zh-CN/common.json
@@ -465,7 +465,6 @@
"friday": "周五",
"saturday": "周六",
"sunday": "周日",
- "all_booked_today": "今天已约满。",
"slots_load_fail": "无法加载可用的时间段。",
"additional_guests": "添加访客",
"your_name": "您的姓名",
diff --git a/apps/web/public/static/locales/zh-TW/common.json b/apps/web/public/static/locales/zh-TW/common.json
index 02d1c1dad8..0a170f6ea7 100644
--- a/apps/web/public/static/locales/zh-TW/common.json
+++ b/apps/web/public/static/locales/zh-TW/common.json
@@ -465,7 +465,6 @@
"friday": "星期五",
"saturday": "星期六",
"sunday": "星期日",
- "all_booked_today": "今天已全數預約。",
"slots_load_fail": "無法讀取剩下的時間區間。",
"additional_guests": "新增賓客",
"your_name": "名字",
@@ -590,19 +589,19 @@
"minutes": "分鐘",
"round_robin": "循環制",
"round_robin_description": "與多位團隊成員進行週期會議。",
- "managed_event": "受控活動",
+ "managed_event": "受管活動",
"username_placeholder": "使用者名稱",
"managed_event_description": "大量建立並分配活動類型給團隊成員",
- "managed": "受控",
- "managed_event_url_clarification": "「使用者名稱」會填入指派成員的使用者名稱",
+ "managed": "受管",
+ "managed_event_url_clarification": "「使用者名稱」會填入獲指派成員的使用者名稱",
"assign_to": "指派給",
"add_members": "新增成員……",
"count_members_one": "{{count}} 名成員",
"count_members_other": "{{count}} 名成員",
- "no_assigned_members": "沒有已指派的成員",
+ "no_assigned_members": "未指派成員",
"assigned_to": "已指派給",
"start_assigning_members_above": "開始指派以上成員",
- "locked_fields_admin_description": "成員將無法編輯此資訊",
+ "locked_fields_admin_description": "成員將無法編輯此欄位",
"locked_fields_member_description": "此選項已被團隊管理員鎖定",
"url": "網址",
"hidden": "隱藏",
@@ -756,9 +755,9 @@
"slot_interval": "時間單位",
"slot_interval_default": "使用活動長度(預設)",
"delete_event_type": "要刪除活動類型嗎?",
- "delete_managed_event_type": "要建立受管活動類型嗎?",
- "delete_event_type_description": "與您共用此連結的任何使用者將無法再使用此表單預約。",
- "delete_managed_event_type_description": "
+ );
+};
+
+const getError = (
+ globalError: FieldError | undefined,
+ // It feels like an implementation detail to reimplement the types of useMutation here.
+ // Since they don't matter for this function, I'd rather disable them then giving you
+ // the cognitive overload of thinking to update them here when anything changes.
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ bookingMutation: UseMutationResult,
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ recurringBookingMutation: UseMutationResult,
+ t: TFunction
+) => {
+ if (globalError) return globalError.message;
+
+ const error = bookingMutation.error || recurringBookingMutation.error;
+
+ return error instanceof HttpError || error instanceof Error ? (
+ <>{t("can_you_try_again")}>
+ ) : (
+ "Unknown error"
+ );
+};
diff --git a/packages/features/bookings/Booker/components/BookEventForm/BookFormAsModal.tsx b/packages/features/bookings/Booker/components/BookEventForm/BookFormAsModal.tsx
new file mode 100644
index 0000000000..0165803cb0
--- /dev/null
+++ b/packages/features/bookings/Booker/components/BookEventForm/BookFormAsModal.tsx
@@ -0,0 +1,39 @@
+import { Calendar, Clock } from "lucide-react";
+
+import dayjs from "@calcom/dayjs";
+import { useLocale } from "@calcom/lib/hooks/useLocale";
+import { Badge, Dialog, DialogContent } from "@calcom/ui";
+
+import { useBookerStore } from "../../store";
+import { useEvent } from "../../utils/event";
+import { BookEventForm } from "./BookEventForm";
+
+export function BookFormAsModal({ visible, onCancel }: { visible: boolean; onCancel: () => void }) {
+ const { t } = useLocale();
+ const selectedTimeslot = useBookerStore((state) => state.selectedTimeslot);
+ const selectedDuration = useBookerStore((state) => state.selectedDuration);
+ const { data } = useEvent();
+ const parsedSelectedTimeslot = dayjs(selectedTimeslot);
+
+ return (
+
+ );
+}
diff --git a/packages/features/bookings/Booker/components/BookEventForm/BookingFields.tsx b/packages/features/bookings/Booker/components/BookEventForm/BookingFields.tsx
new file mode 100644
index 0000000000..6ba16a63e1
--- /dev/null
+++ b/packages/features/bookings/Booker/components/BookEventForm/BookingFields.tsx
@@ -0,0 +1,119 @@
+import { useFormContext } from "react-hook-form";
+
+import type { LocationObject } from "@calcom/app-store/locations";
+import getLocationOptionsForSelect from "@calcom/features/bookings/lib/getLocationOptionsForSelect";
+import { FormBuilderField } from "@calcom/features/form-builder";
+import { useLocale } from "@calcom/lib/hooks/useLocale";
+import type { RouterOutputs } from "@calcom/trpc/react";
+
+import { SystemField } from "../../../lib/getBookingFields";
+
+export const BookingFields = ({
+ fields,
+ locations,
+ rescheduleUid,
+ isDynamicGroupBooking,
+}: {
+ fields: NonNullable["bookingFields"];
+ locations: LocationObject[];
+ rescheduleUid?: string;
+ isDynamicGroupBooking: boolean;
+}) => {
+ const { t } = useLocale();
+ const { watch, setValue } = useFormContext();
+ const locationResponse = watch("responses.location");
+ const currentView = rescheduleUid ? "reschedule" : "";
+
+ return (
+ // TODO: It might make sense to extract this logic into BookingFields config, that would allow to quickly configure system fields and their editability in fresh booking and reschedule booking view
+
+ {fields.map((field, index) => {
+ // During reschedule by default all system fields are readOnly. Make them editable on case by case basis.
+ // Allowing a system field to be edited might require sending emails to attendees, so we need to be careful
+ let readOnly =
+ (field.editable === "system" || field.editable === "system-but-optional") && !!rescheduleUid;
+
+ let noLabel = false;
+ let hidden = !!field.hidden;
+ const fieldViews = field.views;
+
+ if (fieldViews && !fieldViews.find((view) => view.id === currentView)) {
+ return null;
+ }
+
+ if (field.name === SystemField.Enum.rescheduleReason) {
+ // rescheduleReason is a reschedule specific field and thus should be editable during reschedule
+ readOnly = false;
+ }
+
+ if (field.name === SystemField.Enum.smsReminderNumber) {
+ // `smsReminderNumber` and location.optionValue when location.value===phone are the same data point. We should solve it in a better way in the Form Builder itself.
+ // I think we should have a way to connect 2 fields together and have them share the same value in Form Builder
+ if (locationResponse?.value === "phone") {
+ setValue(`responses.${SystemField.Enum.smsReminderNumber}`, locationResponse?.optionValue);
+ // Just don't render the field now, as the value is already connected to attendee phone location
+ return null;
+ }
+ // `smsReminderNumber` can be edited during reschedule even though it's a system field
+ readOnly = false;
+ }
+
+ if (field.name === SystemField.Enum.guests) {
+ // No matter what user configured for Guests field, we don't show it for dynamic group booking as that doesn't support guests
+ hidden = isDynamicGroupBooking ? true : !!field.hidden;
+ }
+
+ // We don't show `notes` field during reschedule
+ if (
+ (field.name === SystemField.Enum.notes || field.name === SystemField.Enum.guests) &&
+ !!rescheduleUid
+ ) {
+ return null;
+ }
+
+ // Dynamically populate location field options
+ if (field.name === SystemField.Enum.location && field.type === "radioInput") {
+ if (!field.optionsInputs) {
+ throw new Error("radioInput must have optionsInputs");
+ }
+ const optionsInputs = field.optionsInputs;
+
+ // TODO: Instead of `getLocationOptionsForSelect` options should be retrieved from dataStore[field.getOptionsAt]. It would make it agnostic of the `name` of the field.
+ const options = getLocationOptionsForSelect(locations, t);
+ options.forEach((option) => {
+ const optionInput = optionsInputs[option.value as keyof typeof optionsInputs];
+ if (optionInput) {
+ optionInput.placeholder = option.inputPlaceholder;
+ }
+ });
+
+ field.options = options.filter(
+ (location): location is NonNullable<(typeof options)[number]> => !!location
+ );
+ // If we have only one option and it has an input, we don't show the field label because Option name acts as label.
+ // e.g. If it's just Attendee Phone Number option then we don't show `Location` label
+ if (field.options.length === 1) {
+ if (field.optionsInputs[field.options[0].value]) {
+ noLabel = true;
+ } else {
+ // If there's only one option and it doesn't have an input, we don't show the field at all because it's visible in the left side bar
+ hidden = true;
+ }
+ }
+ }
+
+ const label = noLabel ? "" : field.label || t(field.defaultLabel || "");
+ const placeholder = field.placeholder || t(field.defaultPlaceholder || "");
+
+ return (
+
+ );
+ })}
+
+ );
+};
+
+/**
+ * Component that renders event meta data in a structured way, with icons and labels.
+ * The component can be configured to show only specific blocks by overriding the
+ * `blocks` prop. The blocks prop takes in an array of block names, defined
+ * in the `EventDetailBlocks` enum. See the `defaultEventDetailsBlocks` const
+ * for the default order in which the blocks will be rendered.
+ *
+ * As part of the blocks array you can also decide to render a custom React Component,
+ * which will then also be rendered.
+ *
+ * Example:
+ * const MyCustomBlock = () =>
Something nice
;
+ *
+ */
+export const EventDetails = ({ event, blocks = defaultEventDetailsBlocks }: EventDetailsProps) => {
+ const { t } = useLocale();
+
+ return (
+ <>
+ {blocks.map((block) => {
+ if (typeof block === "function") {
+ return {block(event)};
+ }
+
+ switch (block) {
+ case EventDetailBlocks.DESCRIPTION:
+ if (!event.description) return null;
+ return (
+
+
+
+ );
+
+ case EventDetailBlocks.DURATION:
+ return (
+
+
+
+ );
+
+ case EventDetailBlocks.LOCATION:
+ if (!event?.locations?.length) return null;
+ return (
+
+
+
+ );
+
+ case EventDetailBlocks.REQUIRES_CONFIRMATION:
+ if (!event.requiresConfirmation) return null;
+
+ return (
+
+ {t("requires_confirmation")}
+
+ );
+
+ case EventDetailBlocks.OCCURENCES:
+ if (!event.requiresConfirmation || !event.recurringEvent) return null;
+
+ return (
+
+
+
+ );
+
+ case EventDetailBlocks.PRICE:
+ if (event.price === 0) return null;
+
+ return (
+
+
+
+ );
+ }
+ })}
+ >
+ );
+};
diff --git a/packages/features/bookings/components/event-meta/Duration.tsx b/packages/features/bookings/components/event-meta/Duration.tsx
new file mode 100644
index 0000000000..f3965a9b6f
--- /dev/null
+++ b/packages/features/bookings/components/event-meta/Duration.tsx
@@ -0,0 +1,37 @@
+import { useEffect } from "react";
+
+import { useBookerStore } from "@calcom/features/bookings/Booker/store";
+import classNames from "@calcom/lib/classNames";
+import { useLocale } from "@calcom/lib/hooks/useLocale";
+import { Badge } from "@calcom/ui";
+
+import type { PublicEvent } from "../../types";
+
+export const EventDuration = ({ event }: { event: PublicEvent }) => {
+ const { t } = useLocale();
+ const [selectedDuration, setSelectedDuration] = useBookerStore((state) => [
+ state.selectedDuration,
+ state.setSelectedDuration,
+ ]);
+
+ // Sets initial value of selected duration to the default duration.
+ useEffect(() => {
+ // Only store event duration in url if event has multiple durations.
+ if (!selectedDuration && event.metadata?.multipleDuration) setSelectedDuration(event.length);
+ }, [selectedDuration, setSelectedDuration, event.length, event.metadata?.multipleDuration]);
+
+ if (!event?.metadata?.multipleDuration) return <>{t("multiple_duration_mins", { count: event.length })}>;
+
+ return (
+