Merge with main

This commit is contained in:
Alan 2023-05-02 12:17:43 +01:00
commit 8860fa0cae
570 changed files with 19049 additions and 10654 deletions

View File

@ -1,42 +0,0 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-outside-of-docker
{
"name": "Docker outside of Docker",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/base:bullseye",
"features": {
"ghcr.io/devcontainers/features/docker-from-docker:1": {
"version": "latest",
"enableNonRootDocker": "true",
"moby": "true"
},
"ghcr.io/devcontainers/features/node:1": {},
"ghcr.io/devcontainers-contrib/features/npm-package:1": {},
"ghcr.io/devcontainers-contrib/features/jest:2": {},
"ghcr.io/devcontainers-contrib/features/prisma:2": {},
"ghcr.io/guiyomh/features/vim:0": {}
},
// Use this environment variable if you need to bind mount your local source code into a new container.
"remoteEnv": {
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
},
"hostRequirements": {
"cpus": 4,
"memory": "8gb"
},
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "./deploy/install.sh"
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Configure tool-specific properties.
// "customizations": {},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}

View File

@ -178,4 +178,4 @@ CSP_POLICY=
# Vercel Edge Config
EDGE_CONFIG=
NEXT_PUBLIC_MINUTES_TO_BOOK=5 # Minutes
NEXT_PUBLIC_MINUTES_TO_BOOK=5 # Minutes

View File

@ -1,7 +1,6 @@
const https = require("https");
async function applyLabelFromLinkedIssueToPR(pr, token) {
// Get the labels from issues linked to the PR
const query = `
query GetLinkedIssues($owner: String!, $repo: String!, $prNumber: Int!) {
@ -38,7 +37,7 @@ async function applyLabelFromLinkedIssueToPR(pr, token) {
headers: {
"Content-Type": "application/json",
"Content-Length": graphqlData.length,
"Authorization": "Bearer " + token,
Authorization: "Bearer " + token,
"User-Agent": "Node.js",
},
};
@ -52,14 +51,7 @@ async function applyLabelFromLinkedIssueToPR(pr, token) {
responseBody += chunk;
});
response.on("end", () => {
resolve(
JSON.parse(responseBody)
?.data
?.repository
?.pullRequest
?.closingIssuesReferences
?.nodes
);
resolve(JSON.parse(responseBody)?.data?.repository?.pullRequest?.closingIssuesReferences?.nodes);
});
});
@ -96,7 +88,7 @@ async function applyLabelFromLinkedIssueToPR(pr, token) {
headers: {
"Content-Type": "application/json",
"Content-Length": labelsData.length,
"Authorization": "Bearer " + token,
Authorization: "Bearer " + token,
"User-Agent": "Node.js",
},
};
@ -126,11 +118,9 @@ async function applyLabelFromLinkedIssueToPR(pr, token) {
console.log(`Error labelling PR: ${labelResult.message}`);
continue;
}
console.log(
`Applied labels: ${labels.join(", ")} to PR #${
pr.number
} from linked issue #${issue.number}`
`Applied labels: ${labels.join(", ")} to PR #${pr.number} from linked issue #${issue.number}`
);
}
}

View File

@ -6,6 +6,6 @@
},
"typescript.preferences.importModuleSpecifier": "non-relative",
"spellright.language": ["en"],
"spellright.documentTypes": ["markdown", "typescript"],
"spellright.documentTypes": ["markdown", "typescript", "typescriptreact"],
"tailwindCSS.experimental.classRegex": [["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"]]
}

View File

@ -4,6 +4,7 @@ module.exports = {
stories: [
"../intro.stories.mdx",
"../../../packages/ui/components/**/*.stories.mdx",
"../../../packages/atoms/**/*.stories.mdx",
"../../../packages/features/**/*.stories.mdx",
"../../../packages/ui/components/**/*.stories.@(js|jsx|ts|tsx)",
],
@ -70,4 +71,5 @@ module.exports = {
return config;
},
typescript: { reactDocgen: "react-docgen" },
};

View File

@ -11,7 +11,7 @@ import useMediaQuery from "@calcom/lib/hooks/useMediaQuery";
import { TimeFormat } from "@calcom/lib/timeFormat";
import { nameOfDay } from "@calcom/lib/weekday";
import { trpc } from "@calcom/trpc/react";
import type { Slot } from "@calcom/trpc/server/routers/viewer/slots";
import type { Slot } from "@calcom/trpc/server/routers/viewer/slots/types";
import { SkeletonContainer, SkeletonText, ToggleGroup } from "@calcom/ui";
import classNames from "@lib/classNames";

View File

@ -10,6 +10,7 @@ import "@calcom/dayjs/locales";
import ViewRecordingsDialog from "@calcom/features/ee/video/ViewRecordingsDialog";
import classNames from "@calcom/lib/classNames";
import { formatTime } from "@calcom/lib/date-fns";
import getPaymentAppData from "@calcom/lib/getPaymentAppData";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { getEveryFreqFor } from "@calcom/lib/recurringStrings";
import type { RouterInputs, RouterOutputs } from "@calcom/trpc/react";
@ -86,6 +87,8 @@ function BookingListItem(booking: BookingItemProps) {
const isTabRecurring = booking.listingStatus === "recurring";
const isTabUnconfirmed = booking.listingStatus === "unconfirmed";
const paymentAppData = getPaymentAppData(booking.eventType);
const bookingConfirm = async (confirm: boolean) => {
let body = {
bookingId: booking.id,
@ -277,13 +280,13 @@ function BookingListItem(booking: BookingItemProps) {
isOpenDialog={isOpenSetLocationDialog}
setShowLocationModal={setIsOpenLocationDialog}
/>
{booking.paid && (
{booking.paid && booking.payment[0] && (
<ChargeCardDialog
isOpenDialog={chargeCardDialogIsOpen}
setIsOpenDialog={setChargeCardDialogIsOpen}
bookingId={booking.id}
paymentAmount={booking?.payment[0].amount}
paymentCurrency={booking?.payment[0].currency}
paymentAmount={booking.payment[0].amount}
paymentCurrency={booking.payment[0].currency}
/>
)}
{showRecordingsButtons && (
@ -351,11 +354,15 @@ function BookingListItem(booking: BookingItemProps) {
{booking.eventType.team.name}
</Badge>
)}
{booking.paid && (
{booking.paid && !booking.payment[0] ? (
<Badge className="ltr:mr-2 rtl:ml-2" variant="orange">
{t("error_collecting_card")}
</Badge>
) : booking.paid ? (
<Badge className="ltr:mr-2 rtl:ml-2" variant="green">
{booking.payment[0].paymentOption === "HOLD" ? t("card_held") : t("paid")}
</Badge>
)}
) : null}
{recurringDates !== undefined && (
<div className="text-muted mt-2 text-sm">
<RecurringBookingsTooltip booking={booking} recurringDates={recurringDates} />
@ -413,7 +420,7 @@ function BookingListItem(booking: BookingItemProps) {
{title}
<span> </span>
{!!booking?.eventType?.price && !booking.paid && (
{paymentAppData.enabled && !booking.paid && booking.payment.length && (
<Badge className="ms-2 me-2 hidden sm:inline-flex" variant="orange">
{t("pending_payment")}
</Badge>
@ -455,7 +462,7 @@ function BookingListItem(booking: BookingItemProps) {
<RequestSentMessage />
</div>
)}
{booking.status === "ACCEPTED" && booking.paid && booking?.payment[0]?.paymentOption === "HOLD" && (
{booking.status === "ACCEPTED" && booking.paid && booking.payment[0]?.paymentOption === "HOLD" && (
<div className="ml-2">
<TableActions actions={chargeCardActions} />
</div>
@ -480,12 +487,12 @@ const RecurringBookingsTooltip = ({ booking, recurringDates }: RecurringBookings
i18n: { language },
} = useLocale();
const now = new Date();
const recurringCount = recurringDates.filter((date) => {
const recurringCount = recurringDates.filter((recurringDate) => {
return (
date >= now &&
recurringDate >= now &&
!booking.recurringInfo?.bookings[BookingStatus.CANCELLED]
.map((date) => date.toDateString())
.includes(date.toDateString())
.includes(recurringDate.toDateString())
);
}).length;

View File

@ -29,7 +29,7 @@ const TimeOptions: FC<Props> = ({ onSelectTimeZone }) => {
classNames={{
singleValue: () => "text-default",
dropdownIndicator: () => "text-default",
menu: () => "!w-64 max-w-[90vw]",
menu: () => "!w-64 max-w-[90vw] shadow-dropdown bg-default border-subtle border rounded-md mt-1",
}}
variant="minimal"
value={selectedTimeZone}

View File

@ -36,7 +36,7 @@ import type { AvailabilityPageProps } from "../../../pages/[user]/[type]";
import type { DynamicAvailabilityPageProps } from "../../../pages/d/[link]/[slug]";
import type { AvailabilityTeamPageProps } from "../../../pages/team/[slug]/[type]";
const PoweredByCal = dynamic(() => import("@components/ui/PoweredByCal"));
const PoweredBy = dynamic(() => import("@calcom/ee/components/PoweredBy"));
const Toaster = dynamic(() => import("react-hot-toast").then((mod) => mod.Toaster), { ssr: false });
/*const SlotPicker = dynamic(() => import("../SlotPicker").then((mod) => mod.SlotPicker), {
@ -301,7 +301,7 @@ const AvailabilityPage = ({ profile, eventType, ...restProps }: Props) => {
</div>
</div>
{/* FIXME: We don't show branding in Embed yet because we need to place branding on top of the main content. Keeping it outside the main content would have visibility issues because outside main content background is transparent */}
{!restProps.isBrandingHidden && !isEmbed && <PoweredByCal />}
{!restProps.isBrandingHidden && !isEmbed && <PoweredBy />}
</div>
</main>
</div>

View File

@ -21,6 +21,7 @@ import {
useIsBackgroundTransparent,
useIsEmbed,
} from "@calcom/embed-core/embed-iframe";
import { createBooking, createRecurringBooking } from "@calcom/features/bookings/lib";
import {
getBookingFieldsWithSystemFields,
SystemField,
@ -38,6 +39,7 @@ import { useLocale } from "@calcom/lib/hooks/useLocale";
import useTheme from "@calcom/lib/hooks/useTheme";
import { useTypedQuery } from "@calcom/lib/hooks/useTypedQuery";
import { HttpError } from "@calcom/lib/http-error";
import { parseDate, parseRecurringDates } from "@calcom/lib/parse-dates";
import { getEveryFreqFor } from "@calcom/lib/recurringStrings";
import { telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry";
import { TimeFormat } from "@calcom/lib/timeFormat";
@ -47,9 +49,6 @@ import { AlertTriangle, Calendar, RefreshCw, User } from "@calcom/ui/components/
import { timeZone } from "@lib/clock";
import useRouterQuery from "@lib/hooks/useRouterQuery";
import createBooking from "@lib/mutations/bookings/create-booking";
import createRecurringBooking from "@lib/mutations/bookings/create-recurring-booking";
import { parseRecurringDates, parseDate } from "@lib/parseDate";
import type { Gate, GateState } from "@components/Gates";
import Gates from "@components/Gates";
@ -433,7 +432,6 @@ const BookingPage = ({
// Calculate the booking date(s)
let recurringStrings: string[] = [],
recurringDates: Date[] = [];
if (eventType.recurringEvent?.freq && recurringEventCount !== null) {
[recurringStrings, recurringDates] = parseRecurringDates(
{
@ -443,7 +441,7 @@ const BookingPage = ({
recurringCount: parseInt(recurringEventCount.toString()),
selectedTimeFormat: timeFormat,
},
i18n
i18n.language
);
}
@ -572,7 +570,7 @@ const BookingPage = ({
<div className="text-sm font-medium">
{isClientTimezoneAvailable &&
(rescheduleUid || !eventType.recurringEvent?.freq) &&
`${parseDate(date, i18n, timeFormat)}`}
`${parseDate(date, i18n.language, { selectedTimeFormat: timeFormat })}`}
{isClientTimezoneAvailable &&
!rescheduleUid &&
eventType.recurringEvent?.freq &&
@ -602,7 +600,9 @@ const BookingPage = ({
<Calendar className="ml-[2px] -mt-1 inline-block h-4 w-4 ltr:mr-[10px] rtl:ml-[10px]" />
{isClientTimezoneAvailable &&
typeof booking.startTime === "string" &&
parseDate(dayjs(booking.startTime), i18n, timeFormat)}
parseDate(dayjs(booking.startTime), i18n.language, {
selectedTimeFormat: timeFormat,
})}
</p>
</div>
)}

View File

@ -1,6 +1,6 @@
import React from "react";
import { HttpError } from "@lib/core/http/error";
import { HttpError } from "@calcom/lib/http-error";
type Props = {
statusCode?: number | null;

View File

@ -1,29 +0,0 @@
import Link from "next/link";
import { useIsEmbed } from "@calcom/embed-core/embed-iframe";
import { POWERED_BY_URL } from "@calcom/lib/constants";
import { useLocale } from "@calcom/lib/hooks/useLocale";
const PoweredByCal = () => {
const { t } = useLocale();
const isEmbed = useIsEmbed();
return (
<div className={"p-2 text-center text-xs sm:text-right" + (isEmbed ? " max-w-3xl" : "")}>
<Link href={POWERED_BY_URL} target="_blank" className="text-subtle opacity-50 hover:opacity-100">
{t("powered_by")}{" "}
<img
className="relative -mt-px inline h-[10px] w-auto dark:hidden"
src="/cal-logo-word.svg"
alt="Cal.com Logo"
/>
<img
className="relativ -mt-px hidden h-[10px] w-auto dark:inline"
src="/cal-logo-word-dark.svg"
alt="Cal.com Logo"
/>
</Link>
</div>
);
};
export default PoweredByCal;

View File

@ -19,6 +19,8 @@ import { MetaProvider } from "@calcom/ui";
import usePublicPage from "@lib/hooks/usePublicPage";
import type { WithNonceProps } from "@lib/withNonce";
import { useViewerI18n } from "@components/I18nLanguageHandler";
const I18nextAdapter = appWithTranslation<NextJsAppProps<SSRConfig> & { children: React.ReactNode }>(
({ children }) => <>{children}</>
);
@ -46,9 +48,7 @@ const CustomI18nextProvider = (props: AppPropsWithChildren) => {
* i18n should never be clubbed with other queries, so that it's caching can be managed independently.
* We intend to not cache i18n query
**/
const { i18n, locale } = trpc.viewer.public.i18n.useQuery(undefined, {
trpc: { context: { skipBatch: true } },
}).data ?? {
const { i18n, locale } = useViewerI18n().data ?? {
locale: "en",
};

View File

@ -1,13 +0,0 @@
import type { BookingCreateBody } from "@calcom/prisma/zod-utils";
import * as fetch from "@lib/core/http/fetch-wrapper";
import type { BookingResponse } from "@lib/types/booking";
type BookingCreateBodyForMutation = Omit<BookingCreateBody, "location">;
const createBooking = async (data: BookingCreateBodyForMutation) => {
const response = await fetch.post<BookingCreateBodyForMutation, BookingResponse>("/api/book/event", data);
return response;
};
export default createBooking;

View File

@ -1,6 +1,7 @@
require("dotenv").config({ path: "../../.env" });
const CopyWebpackPlugin = require("copy-webpack-plugin");
const os = require("os");
const glob = require("glob");
const { withAxiom } = require("next-axiom");
const { i18n } = require("./next-i18next.config");
@ -66,6 +67,18 @@ if (process.env.ANALYZE === "true") {
}
plugins.push(withAxiom);
/** Needed to rewrite public booking page, gets all static pages but [user] */
const pages = glob
.sync("pages/**/[^_]*.{tsx,js,ts}", { cwd: __dirname })
.map((filename) =>
filename
.substr(6)
.replace(/(\.tsx|\.js|\.ts)/, "")
.replace(/\/.*/, "")
)
.filter((v, i, self) => self.indexOf(v) === i && !v.startsWith("[user]"));
/** @type {import("next").NextConfig} */
const nextConfig = {
i18n,
@ -198,6 +211,16 @@ const nextConfig = {
source: "/embed/embed.js",
destination: process.env.NEXT_PUBLIC_EMBED_LIB_URL?,
}, */
{
source: `/:user((?!${pages.join("|")}).*)/:type`,
destination: "/new-booker/:user/:type",
has: [{ type: "cookie", key: "new-booker-enabled" }],
},
{
source: "/team/:slug/:type",
destination: "/new-booker/team/:slug/:type",
has: [{ type: "cookie", key: "new-booker-enabled" }],
},
];
},
async headers() {

View File

@ -1,6 +1,6 @@
{
"name": "@calcom/web",
"version": "2.8.8",
"version": "2.8.10",
"private": true,
"scripts": {
"analyze": "ANALYZE=true next build",

View File

@ -161,7 +161,7 @@ export default function User(props: inferSSRProps<typeof getServerSideProps> & E
<div
key={type.id}
style={{ display: "flex", ...eventTypeListItemEmbedStyles }}
className="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">
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">
<ArrowRight className="text-emphasis absolute right-4 top-4 h-4 w-4 opacity-0 transition-opacity group-hover:opacity-100" />
{/* Don't prefetch till the time we drop the amount of javascript in [user][type] page which is impacting score for [user] page */}
<div className="block w-full p-5">

View File

@ -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";

View File

@ -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.

View File

@ -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

View File

@ -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();

View File

@ -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,

View File

@ -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<Response>) {
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,

View File

@ -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);

View File

@ -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;
});

View File

@ -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<typeof g
});
}
return <AppSetupPage slug={slug} {...props} />;
return (
<>
{/* So that the set up page does not get indexed by search engines */}
<HeadSeo nextSeoProps={{ noindex: true, nofollow: true }} title={`${slug} | Cal.com`} description="" />
<AppSetupPage slug={slug} {...props} />
</>
);
}
SetupInformation.PageWrapper = PageWrapper;

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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,

View File

@ -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";

View File

@ -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<typeof getServerSideProps>;
export default function Type({ slug, user, booking, away }: PageProps) {
return (
<main className="flex justify-center">
<Booker username={user} eventSlug={slug} rescheduleBooking={booking} isAway={away} />
</main>
);
}
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);
};

View File

@ -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<typeof getServerSideProps>;
export default function Type({ slug, user, booking, away }: PageProps) {
return (
<main className="flex justify-center">
<Booker username={user} eventSlug={slug} rescheduleBooking={booking} isAway={away} />
</main>
);
}
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(),
},
};
};

View File

@ -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")}
</Button>

View File

@ -46,10 +46,10 @@ const TwoFactorAuthView = () => {
user?.twoFactorEnabled ? setDisableModalOpen(true) : setEnableModalOpen(true)
}
/>
<div>
<div className="!mx-4">
<div className="flex">
<p className="text-default font-semibold">{t("two_factor_auth")}</p>
<Badge className="ml-2 text-xs" variant={user?.twoFactorEnabled ? "success" : "gray"}>
<Badge className="mx-2 text-xs" variant={user?.twoFactorEnabled ? "success" : "gray"}>
{user?.twoFactorEnabled ? t("enabled") : t("disabled")}
</Badge>
</div>

View File

@ -56,12 +56,12 @@ function TeamPage({ team, isUnpublished }: TeamPageProps) {
}
const EventTypes = () => (
<ul className="border-subtle border-subtle rounded-md border">
<ul className="border-subtle rounded-md border">
{team.eventTypes.map((type, index) => (
<li
key={index}
className={classNames(
"dark:bg-darkgray-100 border-subtle bg-default hover:bg-muted border-subtle group relative border-b first:rounded-t-md last:rounded-b-md last:border-b-0",
"dark:bg-darkgray-100 bg-default hover:bg-muted border-subtle group relative border-b first:rounded-t-md last:rounded-b-md last:border-b-0",
!isEmbed && "bg-default"
)}>
<div className="px-6 py-4 ">
@ -105,7 +105,7 @@ function TeamPage({ team, isUnpublished }: TeamPageProps) {
}}
/>
<main className="dark:bg-darkgray-50 bg-subtle mx-auto max-w-3xl rounded-md px-4 pt-12 pb-12">
<div className="max-w-96 mx-auto mb-8 text-center">
<div className="mx-auto mb-8 max-w-3xl text-center">
<Avatar alt={teamName} imageSrc={getPlaceholderAvatar(team.logo, team.name)} size="lg" />
<p className="font-cal text-emphasis mb-2 text-2xl tracking-wider">{teamName}</p>
{!isBioEmpty && (
@ -126,7 +126,7 @@ function TeamPage({ team, isUnpublished }: TeamPageProps) {
<div>
<div className="relative mt-12">
<div className="absolute inset-0 flex items-center" aria-hidden="true">
<div className="border-subtle border-subtle w-full border-t" />
<div className="border-subtle w-full border-t" />
</div>
<div className="relative flex justify-center">
<span className="dark:bg-darkgray-50 bg-subtle text-subtle dark:text-inverted px-2 text-sm">

View File

@ -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";

View File

@ -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";

View File

@ -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;

View File

@ -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}`);

View File

@ -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" },

View File

@ -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();

View File

@ -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<typeof createUsersFixture>;
bookings: ReturnType<typeof createBookingsFixture>;
payments: ReturnType<typeof createPaymentsFixture>;

View File

@ -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);
});
});
},
};

View File

@ -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<void>,
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<t
return user;
}
async function rescheduleFromTheLinkOnPage({ page }: { page: Page }) {
async function rescheduleFromTheLinkOnPage({
page,
bookerVariant,
}: {
page: Page;
bookerVariant: BookerVariants;
}) {
await page.locator('[data-testid="reschedule-link"]').click();
await page.waitForLoadState();
await selectFirstAvailableTimeSlotNextMonth(page);
await page.waitForNavigation({
url: (url) => 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;
}

View File

@ -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

View File

@ -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": "<ul><li>سيتم أيضًا حذف أنواع الأحداث الخاصة بالأعضاء المعينين في هذا النوع من الأحداث.</li><li>لن يتمكن أي شخص شاركوا رابطهم معه من الحجز باستخدامه.</li></ul>",
"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": "استبدل مسؤول في فريق <strong>{{teamName}}</strong> نوع الحدث لديك<strong>/{{slug}}</strong> بنوع الحدث المُدار الذي يتحكم فيه.",
"email_body_slug_replacement_info": "سيستمر رابطك في العمل، ولكن بعض إعداداته قد تغيرت. يمكنك مراجعتها في أنواع الأحداث.",
"email_body_slug_replacement_suggestion": "يرجى الاتصال بالمسؤول إذا كان لديك أي أسئلة حول نوع الحدث.<br /><br />جدولة سعيدة، <br />فريق 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": "<strong>{{names}}</strong> يستخدم بالفعل عنوان url <strong>/{{slug}}</strong>.",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> يستخدم بالفعل عنوان url <string>/{{slug}}</strong>.",
"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}}"
}

View File

@ -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": "<ul><li>Členům přiřazeným k tomuto typu události budou odstraněny i příslušné typy událostí.</li><li>Každý, komu jste tento odkaz nasdíleli, pomocí něj již ńebude moci moci provádět rezervace.</li></ul>",
"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 <strong>{{teamName}}</strong> nahradil váš typ události <strong>/{{slug}}</strong> 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.<br /><br />Veselé plánování, <br />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": "<strong>{{names}}</strong> již používá adresa URL <strong>/{{slug}}</strong>.",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> již používá adresa URL <string>/{{slug}}</strong>.",
"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"
}

View File

@ -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",

View File

@ -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": "<ul><li>Diesem Ereignistypen zugewiesene Mitglieder werden ebenfalls ihre Ereignistypen gelöscht bekommen.</li><li>Jeder, mit dem sie ihren Link geteilt haben, wird nicht mehr über diesen Link buchen können.</li></ul>",
"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 erneut</1> 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 <strong>{{teamName}}</strong>-Team hat Ihren Ereignistyp <strong>/{{slug}}</strong> 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.<br /><br />Fröhliche Terminplanung, <br />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": "<strong>{{names}}</strong> verwendet bereits die <strong>/{{slug}}</strong>-URL.",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> verwenden bereits die <string>/{{slug}}</strong>-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"
}

View File

@ -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"
}

View File

@ -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": "<ul><li>Los miembros asignados a este tipo de evento también verán eliminados sus tipos de evento.</li><li>Cualquier persona con la que hayan compartido su enlace ya no podrá reservar mediante su uso.</li> </ul>",
"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 nuevo</1> 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 <strong>{{teamName}}</strong> reemplazó su tipo de evento <strong>/{{slug}}</strong> 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.<br /><br />Feliz programación, <br />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": "<strong>{{names}}</strong> ya usa la url <strong>/{{slug}}</strong>.",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> ya usan la url <string>/{{slug}}</strong>.",
"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}}"
}

View File

@ -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"
}

View File

@ -460,7 +460,6 @@
"friday": "יום שישי",
"saturday": "יום שבת",
"sunday": "יום ראשון",
"all_booked_today": "כל חלונות הזמן להיום הוזמנו.",
"slots_load_fail": "לא ניתן לטעון את חלונות הזמן הזמינים.",
"additional_guests": "הוספת אורחים",
"your_name": "שמך",

View File

@ -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.",

View File

@ -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": "メンバーは有効なウェブフックを確認できますが、ウェブフックの設定を編集することはできません",

View File

@ -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": "회원은 활성 웹훅을 볼 수 있지만 웹훅 설정을 편집할 수는 없습니다",

View File

@ -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": "<ul><li>De gebeurtenistypen van leden die aan dit gebeurtenistype zijn toegewezen, worden ook verwijderd.</li><li>Iedereen met wie zij hun link hebben gedeeld, kan niet meer boeken via deze link.</li></ul>",
"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 opnieuw</1> 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 <strong>{{teamName}}</strong> heeft uw gebeurtenistype <strong>/{{slug}}</strong> 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.<br /><br />Veel plezier met plannen, <br />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": "<strong>{{names}}</strong> gebruikt al de URL <strong>/{{slug}}</strong>.",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> gebruiken al de URL <string>/{{slug}}</strong>.",
"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"
}

View File

@ -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",

View File

@ -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": "<ul><li>Typy wydarzeń członków przypisanych do tego typu wydarzenia również zostaną usunięte.</li><li>Osoby, którym udostępniono linki, nie będą już mogły dokonać rezerwacji za ich pomocą.</li></ul>",
"delete_managed_event_type_description": "<ul><li>Typy wydarzeń należące do członków przypisanych do tego typu wydarzenia również zostaną usunięte.</li><li>Osoby, którym udostępniono linki, nie będą już mogły dokonać rezerwacji za ich pomocą.</li></ul>",
"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 ponownie</1> 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.<br /><br />Miłego planowania, <br />zespół Cal.com",
"email_body_slug_replacement_notice": "Administrator zespołu <strong>{{teamName}}</strong> zastąpił Twój typ wydarzenia <strong>/{{slug}}</strong> 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.<br /><br />Miłego planowania<br />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": "<strong>{{names}}</strong> używa już adresu URL <strong>/{{slug}}</strong>.",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> używają już adresu URL <strong>/{{slug}}</strong>.",
"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}}"

View File

@ -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": "<ul><li>Membros atribuídos a este tipo de evento também terão seus tipos de evento excluídos.</li><li>Este link não poderá mais ser usado para fazer reserva por qualquer pessoa com quem tenha sido compartilhado.</li></ul>",
"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 i 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 novamente</1> 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 <strong>{{teamName}}</strong> substituiu seu tipo de evento <strong>/{{slug}}</strong> 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.<br /><br />Bom agendamento, <br/>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": "<strong>{{names}}</strong> já está usando a url <strong>/{{slug}}</strong>.",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> já estão usando a url <string>/{{slug}}</strong>.",
"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"
}

View File

@ -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": "<ul><li>Também serão eliminados os tipos de eventos dos membros atribuídos a este tipo de evento.</li><li>Quaisquer pessoas com quem estes membros tenham partilhado as respetivas ligações deixarão de poder fazer reservas recorrendo às mesmas.</li></ul>",
"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 novamente</1> 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 <strong>{{teamName}}</strong> substituiu o seu tipo de evento <strong>/{{slug}}</strong> 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.<br /><br />Votos de bons agendamentos, <br />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": "<strong>{{names}}</strong> já está a utilizar a URL <strong>/{{slug}}</strong>.",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> já estão a utilizar a URL <string>/{{slug}}</strong>.",
"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"
}

View File

@ -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": "<ul><li>Membrii alocați acestui tip de eveniment își vor vedea și tipurile de evenimente șterse.</li><li>Nicio persoană căreia i-au transmis linkul nu va mai putea efectua rezervări prin intermediul lui.</li></ul>",
"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 nou</1> 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 <strong>{{teamName}}</strong> v-a înlocuit tipul de eveniment <strong>/{{slug}}</strong> 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.<br /><br />Programări cu spor, <br />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": "<strong>{{names}}</strong> folosește deja URL-ul <strong>/{{slug}}</strong>.",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> folosesc deja URL-ul <string>/{{slug}}</strong>.",
"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"
}

View File

@ -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": "<ul><li>У участников, назначенных для этого типа события, будут удалены их типы событий.</li><li>Если они поделились с кем-то ссылкой, с ее помощью больше нельзя будет оформлять бронирование.</li></ul>",
"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": "Администратор команды <strong>{{teamName}}</strong> заменил вам тип события <strong>/{{slug}}</strong> на тип управляемого им события.",
"email_body_slug_replacement_info": "Ваша ссылка работает, но, возможно, для нее изменились некоторые настройки. Вы можете просмотреть ее в типах событий.",
"email_body_slug_replacement_suggestion": "Если у вас есть вопросы о типе события, свяжитесь с администратором.<br /><br />Счастливого планирования, <br />команда 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": "<strong>{{names}}</strong> уже используют <strong>/{{slug}}</strong> url.",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> уже используют <string>/{{slug}}</strong> 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}} приглашен(а)"
}

View File

@ -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",

View File

@ -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",

View File

@ -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": "<ul><li>Bu etkinlik türüne atanan üyelerin etkinlik türleri de silinecek.</li><li>Bağlantıyı paylaşan üyelerin hiçbiri artık rezervasyon yapmak için bu bağlantıyı kullanamayacak.</li> </ul>",
"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ıı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 deneyin</1> 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": "<strong>{{teamName}}</strong> ekibindeki bir yönetici, <strong>/{{slug}}</strong> 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.<br /><br />Mutlu planlama, <br />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": "<strong>{{names}}</strong> zaten <strong>/{{slug}}</strong> URL'sini kullanıyor.",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> zaten <strong>/{{slug}}</strong> 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"
}

View File

@ -465,7 +465,6 @@
"friday": "П’ятниця",
"saturday": "Субота",
"sunday": "Неділя",
"all_booked_today": "Сьогодні все заброньовано.",
"slots_load_fail": "Не вдалося завантажити доступні часові вікна.",
"additional_guests": "Додати гостей",
"your_name": "Ваше ім’я",

View File

@ -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 x 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.",
"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",

View File

@ -465,7 +465,6 @@
"friday": "周五",
"saturday": "周六",
"sunday": "周日",
"all_booked_today": "今天已约满。",
"slots_load_fail": "无法加载可用的时间段。",
"additional_guests": "添加访客",
"your_name": "您的姓名",

View File

@ -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": "<ul><li>獲指派此活動類型的成員的活動類型也將被刪除。</li><li>與他們共用此連結的任何使用者將無法再使用此連結預約。</li></ul>",
"delete_managed_event_type": "要刪除受管活動類型嗎?",
"delete_event_type_description": "與您共用此連結的任何使用者將無法再使用此連結預約。",
"delete_managed_event_type_description": "<ul><li>對於獲指派此活動類型的成員,他們的活動類型也將遭到刪除。</li><li>與他們共用此連結的任何使用者將無法再使用此連結預約。</li></ul>",
"confirm_delete_event_type": "是,刪除",
"delete_account": "刪除帳號",
"confirm_delete_account": "是,刪除帳號",
@ -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": "成功刪除行程表",
@ -1150,7 +1149,7 @@
"current_username": "目前使用者名稱",
"example_1": "範例 1",
"example_2": "範例 2",
"booking_question_identifier": "預約問題識別",
"booking_question_identifier": "預約問題識別",
"company_size": "公司規模",
"what_help_needed": "您需要什麼協助?",
"variable_format": "變數格式",
@ -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": "建立自訂活動名稱,以在行事曆活動上顯示",
@ -1202,7 +1201,7 @@
"start_of_week": "一週開始",
"recordings_title": "錄製",
"recording": "錄製",
"happy_scheduling": "排程愉快",
"happy_scheduling": "排程愉快",
"select_calendars": "選擇您想要檢查衝突的行事曆來避免重複預約。",
"check_for_conflicts": "檢查衝突",
"view_recordings": "檢視錄製內容",
@ -1282,7 +1281,7 @@
"download_responses_description": "以 CSV 格式下載您表單的所有回覆。",
"download": "下載",
"download_recording": "下載錄製內容",
"recording_from_your_recent_call": "來自您最近在 Cal.com 的通話錄製內容已可供下載",
"recording_from_your_recent_call": "您最近在 Cal.com 的通話錄製內容已可供下載",
"create_your_first_form": "建立您的第一份表單",
"create_your_first_form_description": "您可使用引導表單提出符合條件的問題,並引導至適當的人員或活動類型。",
"create_your_first_webhook": "建立您的第一個 Webhook",
@ -1397,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": "行事曆連線失敗",
@ -1479,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": "已達此活動類型的時間上限",
"admin_has_disabled": "管理員已停用 {{appName}}",
"disabled_app_affects_event_type": "管理員已停用會影響 {{eventType}} 活動類型的 {{appName}}",
"event_replaced_notice": "管理員已取代您其中一個活動類型",
"email_subject_slug_replacement": "團隊管理員已取代您的活動/{{slug}}",
"email_body_slug_replacement_notice": "<strong>{{teamName}}</strong> 團隊管理員已使用其所控管的受管活動類型來取代您的活動類型<strong>/{{slug}}</strong>。",
"email_body_slug_replacement_info": "您的連結會繼續正常運作,但該連結的部分設定可能已變更。您可以在活動類型中檢閱相關設定。",
"email_body_slug_replacement_suggestion": "若您對於活動類型有任何疑問,請聯絡您的管理員。<br /><br />祝排程愉快。<br />Cal.com 團隊",
"disable_payment_app": "管理員已停用會影響 {{title}} 活動類型的 {{appName}}。與會者仍可預約此類型活動,但不會收到付費提示。您也可以隱藏此活動類型來避免這種情況,直到管理員再次啟用您的付款方式為止。",
"payment_disabled_still_able_to_book": "與會者仍可預約此類型活動,但不會收到付費提示。您也可以隱藏此活動類型來避免這種情況,直到管理員再次啟用您的付款方式。",
"app_disabled_with_event_type": "管理員已停用會影響 {{title}} 活動類型的 {{appName}}。",
@ -1532,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": "已傳送驗證碼",
@ -1545,6 +1552,7 @@
"create_your_first_team_webhook_description": "為此團隊活動類型建立第一個 Webhook",
"create_webhook_team_event_type": "為此團隊活動類型建立 Webhook",
"disable_success_page": "停用「成功」頁面 (只適用於您有重新導向網址時)",
"invalid_admin_password": "您是管理員,但您的密碼長度未符合至少 15 個字元的限制,或還未啟用兩階段驗證",
"change_password_admin": "變更密碼以獲得管理員存取權",
"username_already_taken": "已有人使用此使用者名稱",
"assignment": "指派",
@ -1565,7 +1573,7 @@
"sender_name": "傳送者名稱",
"already_invited": "與會者已獲邀",
"no_recordings_found": "找不到錄製內容",
"new_workflow_subtitle": "新工作流程,適用於…",
"new_workflow_subtitle": "新工作流程,適用於…",
"reporting": "報表",
"reporting_feature": "查看所有傳入的資料,並以 CSV 檔案格式下載",
"teams_plan_required": "需要團隊方案",
@ -1577,6 +1585,7 @@
"ee_enterprise_license": "「/ee」Enterprise 授權",
"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/月",
@ -1621,7 +1630,7 @@
"impersonation_user_tip": "您即將模擬某位使用者,這表示您可以代表對方進行變更。請謹慎操作。",
"available_variables": "可用的變數",
"scheduler": "{Scheduler}",
"no_workflows": "沒有工作流程",
"no_workflows": "工作流程",
"change_filter": "變更篩選條件,即可查看您個人和團隊的工作流程。",
"recommended_next_steps": "建議的後續步驟",
"create_a_managed_event": "建立受管活動類型",
@ -1629,15 +1638,16 @@
"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": "與會者不再參加您的活動",
"attendee_no_longer_attending_subtitle": "{{name}} 已取消,這表示這時段空出了一個座位",
"attendee_no_longer_attending_subject": "一位與會者不再參加 {{date}} 的 {{title}}",
"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}} 個座位",
@ -1652,6 +1662,7 @@
"not_enough_seats": "座位不足",
"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": "此團隊連結目前無法使用。請聯絡團隊擁有者,或請對方發佈。",
@ -1661,9 +1672,9 @@
"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 重新導向網址!您可以在 Typeform 表單中設定網址。",
"modifications_in_fields_warning": "欄位與以下表單的引導路由如有任何修改之處,也會反映在此表單中。",
@ -1675,6 +1686,14 @@
"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": "此會議尚未開始",
@ -1686,8 +1705,83 @@
"can_you_try_again": "您可以再試試其他時間嗎?",
"verify": "驗證",
"timezone_variable": "時區",
"timezone_info": "接收人的時區",
"event_end_time_variable": "活動結束時間",
"event_end_time_info": "活動結束時間",
"cancel_url_variable": "取消網址",
"cancel_url_info": "取消此預約的網址",
"reschedule_url_variable": "重新預定網址",
"reschedule_url_info": "重新預定此預約的網址",
"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": "成員將能查看啟用的 Webhook但無法編輯任何 Webhook 設定",
"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": "{{count}} 位成員已有網址/{{slug}}。您要取代嗎?",
"managed_event_dialog_title_other": "{{count}} 位成員已有網址/{{slug}}。您要取代嗎?",
"managed_event_dialog_information_one": "<strong>{{names}}</strong> 已在使用 <strong>/{{slug}}</strong> 網址。",
"managed_event_dialog_information_other": "<strong>{{names}}</strong> 已在使用 <string>/{{slug}}</strong> 網址。",
"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": "已針對 {{date}} 的 {{title}} 收取 {{amount, currency}} 的缺席費",
"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": "測試此工作流程時,請注意電子郵件和簡訊只能提前至少 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": "完成您的預約:{{date}} 的 {{title}}",
"email_invite_team": "已邀請 {{email}}"
}

View File

@ -166,16 +166,16 @@ html.todesktop aside {
margin: 0px -6px;
}
html.todesktop .desktop-transparent{
html.todesktop-platform-darwin .desktop-transparent{
background: transparent !important;
border: none !important;
}
html.todesktop.dark main.bg-default{
html.todesktop-platform-darwin.dark main.bg-default{
background: rgba(0,0,0,0.6) !important
}
html.todesktop.light main.bg-default{
html.todesktop-platform-darwin.light main.bg-default{
background: rgba(255,255,255,0.8) !important
}

View File

@ -15,15 +15,14 @@ import { v4 as uuidv4 } from "uuid";
import logger from "@calcom/lib/logger";
import prisma from "@calcom/prisma";
import type { BookingStatus } from "@calcom/prisma/client";
import type { Slot } from "@calcom/trpc/server/routers/viewer/slots";
import { getSchedule } from "@calcom/trpc/server/routers/viewer/slots";
import type { Slot } from "@calcom/trpc/server/routers/viewer/slots/types";
import { getSchedule } from "@calcom/trpc/server/routers/viewer/slots/util";
import { prismaMock, CalendarManagerMock } from "../../../../tests/config/singleton";
// TODO: Mock properly
prismaMock.eventType.findUnique.mockResolvedValue(null);
prismaMock.user.findMany.mockResolvedValue([]);
prismaMock.selectedSlots.findMany.mockResolvedValue([]);
jest.mock("@calcom/lib/constants", () => ({
IS_PRODUCTION: true,
@ -271,16 +270,13 @@ describe("getSchedule", () => {
end: `${plus2DateString}T23:00:00.000Z`,
},
]);
const scheduleForDayWithAGoogleCalendarBooking = await getSchedule(
{
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForDayWithAGoogleCalendarBooking = await getSchedule({
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
// As per Google Calendar Availability, only 4PM(4-4:45PM) GMT slot would be available
expect(scheduleForDayWithAGoogleCalendarBooking).toHaveTimeSlots([`04:00:00.000Z`], {
@ -357,17 +353,14 @@ describe("getSchedule", () => {
});
// Day Plus 2 is completely free - It only has non accepted bookings
const scheduleOnCompletelyFreeDay = await getSchedule(
{
eventTypeId: 1,
// EventTypeSlug doesn't matter for non-dynamic events
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleOnCompletelyFreeDay = await getSchedule({
eventTypeId: 1,
// EventTypeSlug doesn't matter for non-dynamic events
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
// getSchedule returns timeslots in GMT
expect(scheduleOnCompletelyFreeDay).toHaveTimeSlots(
@ -390,16 +383,13 @@ describe("getSchedule", () => {
);
// Day plus 3
const scheduleForDayWithOneBooking = await getSchedule(
{
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus2DateString}T18:30:00.000Z`,
endTime: `${plus3DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForDayWithOneBooking = await getSchedule({
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus2DateString}T18:30:00.000Z`,
endTime: `${plus3DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
expect(scheduleForDayWithOneBooking).toHaveTimeSlots(
[
@ -455,16 +445,13 @@ describe("getSchedule", () => {
});
const { dateString: plus1DateString } = getDate({ dateIncrement: 1 });
const { dateString: plus2DateString } = getDate({ dateIncrement: 2 });
const scheduleForEventWith30Length = await getSchedule(
{
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForEventWith30Length = await getSchedule({
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
expect(scheduleForEventWith30Length).toHaveTimeSlots(
[
`04:00:00.000Z`,
@ -490,16 +477,13 @@ describe("getSchedule", () => {
}
);
const scheduleForEventWith30minsLengthAndSlotInterval2hrs = await getSchedule(
{
eventTypeId: 2,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForEventWith30minsLengthAndSlotInterval2hrs = await getSchedule({
eventTypeId: 2,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
// `slotInterval` takes precedence over `length`
expect(scheduleForEventWith30minsLengthAndSlotInterval2hrs).toHaveTimeSlots(
[`04:00:00.000Z`, `06:00:00.000Z`, `08:00:00.000Z`, `10:00:00.000Z`, `12:00:00.000Z`],
@ -553,16 +537,13 @@ describe("getSchedule", () => {
});
const { dateString: todayDateString } = getDate();
const { dateString: minus1DateString } = getDate({ dateIncrement: -1 });
const scheduleForEventWithBookingNotice13Hrs = await getSchedule(
{
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${minus1DateString}T18:30:00.000Z`,
endTime: `${todayDateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForEventWithBookingNotice13Hrs = await getSchedule({
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${minus1DateString}T18:30:00.000Z`,
endTime: `${todayDateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
expect(scheduleForEventWithBookingNotice13Hrs).toHaveTimeSlots(
[
/*`04:00:00.000Z`, `06:00:00.000Z`, - Minimum time slot is 07:30 UTC*/ `08:00:00.000Z`,
@ -574,16 +555,13 @@ describe("getSchedule", () => {
}
);
const scheduleForEventWithBookingNotice10Hrs = await getSchedule(
{
eventTypeId: 2,
eventTypeSlug: "",
startTime: `${minus1DateString}T18:30:00.000Z`,
endTime: `${todayDateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForEventWithBookingNotice10Hrs = await getSchedule({
eventTypeId: 2,
eventTypeSlug: "",
startTime: `${minus1DateString}T18:30:00.000Z`,
endTime: `${todayDateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
expect(scheduleForEventWithBookingNotice10Hrs).toHaveTimeSlots(
[
/*`04:00:00.000Z`, - Minimum bookable time slot is 04:30 UTC but next available is 06:00*/
@ -639,16 +617,13 @@ describe("getSchedule", () => {
},
]);
const scheduleForEventOnADayWithNonCalBooking = await getSchedule(
{
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus2DateString}T18:30:00.000Z`,
endTime: `${plus3DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForEventOnADayWithNonCalBooking = await getSchedule({
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus2DateString}T18:30:00.000Z`,
endTime: `${plus3DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
expect(scheduleForEventOnADayWithNonCalBooking).toHaveTimeSlots(
[
@ -714,16 +689,13 @@ describe("getSchedule", () => {
},
]);
const scheduleForEventOnADayWithCalBooking = await getSchedule(
{
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForEventOnADayWithCalBooking = await getSchedule({
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
expect(scheduleForEventOnADayWithCalBooking).toHaveTimeSlots(
[
@ -767,16 +739,13 @@ describe("getSchedule", () => {
createBookingScenario(scenarioData);
const scheduleForEventOnADayWithDateOverride = await getSchedule(
{
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForEventOnADayWithDateOverride = await getSchedule({
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
expect(scheduleForEventOnADayWithDateOverride).toHaveTimeSlots(
["08:30:00.000Z", "09:30:00.000Z", "10:30:00.000Z", "11:30:00.000Z"],
@ -853,16 +822,13 @@ describe("getSchedule", () => {
// Requesting this user's availability for their
// individual Event Type
const thisUserAvailability = await getSchedule(
{
eventTypeId: 2,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const thisUserAvailability = await getSchedule({
eventTypeId: 2,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
expect(thisUserAvailability).toHaveTimeSlots(
[
@ -951,16 +917,13 @@ describe("getSchedule", () => {
hosts: [],
});
const scheduleForTeamEventOnADayWithNoBooking = await getSchedule(
{
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${todayDateString}T18:30:00.000Z`,
endTime: `${plus1DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForTeamEventOnADayWithNoBooking = await getSchedule({
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${todayDateString}T18:30:00.000Z`,
endTime: `${plus1DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
expect(scheduleForTeamEventOnADayWithNoBooking).toHaveTimeSlots(
[
@ -981,16 +944,13 @@ describe("getSchedule", () => {
}
);
const scheduleForTeamEventOnADayWithOneBookingForEachUser = await getSchedule(
{
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForTeamEventOnADayWithOneBookingForEachUser = await getSchedule({
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
// A user with blocked time in another event, still affects Team Event availability
// It's a collective availability, so both user 101 and 102 are considered for timeslots
expect(scheduleForTeamEventOnADayWithOneBookingForEachUser).toHaveTimeSlots(
@ -1088,16 +1048,13 @@ describe("getSchedule", () => {
],
hosts: [],
});
const scheduleForTeamEventOnADayWithOneBookingForEachUserButOnDifferentTimeslots = await getSchedule(
{
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForTeamEventOnADayWithOneBookingForEachUserButOnDifferentTimeslots = await getSchedule({
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus1DateString}T18:30:00.000Z`,
endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
// A user with blocked time in another event, still affects Team Event availability
expect(scheduleForTeamEventOnADayWithOneBookingForEachUserButOnDifferentTimeslots).toHaveTimeSlots(
[
@ -1116,16 +1073,13 @@ describe("getSchedule", () => {
{ dateString: plus2DateString }
);
const scheduleForTeamEventOnADayWithOneBookingForEachUserOnSameTimeSlot = await getSchedule(
{
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus2DateString}T18:30:00.000Z`,
endTime: `${plus3DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
},
ctx
);
const scheduleForTeamEventOnADayWithOneBookingForEachUserOnSameTimeSlot = await getSchedule({
eventTypeId: 1,
eventTypeSlug: "",
startTime: `${plus2DateString}T18:30:00.000Z`,
endTime: `${plus3DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"],
});
// A user with blocked time in another event, still affects Team Event availability
expect(scheduleForTeamEventOnADayWithOneBookingForEachUserOnSameTimeSlot).toHaveTimeSlots(
[

View File

@ -1,4 +1,4 @@
import { parseZone } from "@lib/parseZone";
import { parseZone } from "@calcom/lib/parse-zone";
const EXPECTED_DATE_STRING = "2021-06-20T11:59:59+02:00";

View File

@ -1,5 +1,8 @@
import type { Config } from "jest";
// Added +2 to ensure we need to do some conversions in our tests
process.env.TZ = "GMT+2";
const config: Config = {
preset: "ts-jest",
verbose: true,
@ -66,6 +69,22 @@ const config: Config = {
transformIgnorePatterns: ["/node_modules/", "^.+\\.module\\.(css|sass|scss)$"],
testEnvironment: "jsdom",
},
{
displayName: "@calcom/features",
roots: ["<rootDir>/packages/features"],
testMatch: ["**/*.(spec|test).(ts|tsx|js)"],
transform: {
"^.+\\.ts?$": "ts-jest",
},
transformIgnorePatterns: ["/node_modules/", "^.+\\.module\\.(css|sass|scss)$"],
testEnvironment: "jsdom",
moduleDirectories: ["node_modules", "<rootDir>"],
globals: {
"ts-jest": {
tsconfig: "<rootDir>/packages/features/tsconfig.json",
},
},
},
// FIXME: Prevent this breaking Jest when API module is missing
// {
// displayName: "@calcom/api",

View File

@ -11,10 +11,6 @@ export async function getAppWithMetadata(app: { dirName: string }) {
// Let's not leak api keys to the front end
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { key, ...metadata } = appMetadata;
if (metadata.logo && !metadata.logo.includes("/api/app-store/")) {
const appDirName = `${metadata.isTemplate ? "templates" : ""}/${app.dirName}`;
metadata.logo = `/api/app-store/${appDirName}/${metadata.logo}`;
}
return metadata;
}
@ -32,13 +28,8 @@ export async function getAppRegistry() {
/* This is now handled from the DB */
// if (!app.installed) return apps;
const { rating, reviews, trending, verified, ...remainingAppProps } = app;
apps.push({
rating: rating || 0,
reviews: reviews || 0,
trending: trending || true,
verified: verified || true,
...remainingAppProps,
...app,
category: app.category || "other",
installed:
true /* All apps from DB are considered installed by default. @TODO: Add and filter our by `enabled` property */,
@ -98,13 +89,8 @@ export async function getAppRegistryWithCredentials(userId: number) {
});
}
const { rating, reviews, trending, verified, ...remainingAppProps } = app;
apps.push({
rating: rating || 0,
reviews: reviews || 0,
trending: trending || true,
verified: verified || true,
...remainingAppProps,
...app,
categories: dbapp.categories,
credentials: dbapp.credentials,
installed: true,

View File

@ -29,7 +29,7 @@ export const getEventTypeAppData = <T extends EventTypeAppsList>(
// Migration isn't being done right now, to allow a revert if needed
const legacyAppsData = {
stripe: {
enabled: eventType.price > 0,
enabled: !!eventType.price,
// Price default is 0 in DB. So, it would always be non nullish.
price: eventType.price,
// Currency default is "usd" in DB.So, it would also be available always

View File

@ -1,8 +1,8 @@
---
items:
- /api/app-store/amie/1.jpg
- /api/app-store/amie/2.jpg
- /api/app-store/amie/3.jpg
- 1.jpg
- 2.jpg
- 3.jpg
---
<iframe class="w-full aspect-video -mx-2" width="560" height="315" src="https://www.youtube.com/embed/OGe1NYKhZE8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

View File

@ -3,8 +3,7 @@
"name": "Amie",
"slug": "amie",
"type": "amie_other",
"imageSrc": "/api/app-store/amie/icon.svg",
"logo": "/api/app-store/amie/icon.svg",
"logo": "icon.svg",
"url": "https://cal.com/apps/amie",
"variant": "other",
"categories": ["calendar"],

View File

@ -1,6 +1,7 @@
import type { AppMeta } from "@calcom/types/App";
import { appStoreMetadata as rawAppStoreMetadata } from "./apps.metadata.generated";
import { getAppAssetFullPath } from "./getAppAssetFullPath";
type RawAppStoreMetaData = typeof rawAppStoreMetadata;
type AppStoreMetaData = {
@ -8,12 +9,19 @@ type AppStoreMetaData = {
};
export const appStoreMetadata = {} as AppStoreMetaData;
for (const [key, value] of Object.entries(rawAppStoreMetadata)) {
appStoreMetadata[key as keyof typeof appStoreMetadata] = {
const dirName = "dirName" in value ? value.dirName : value.slug;
if (!dirName) {
throw new Error(`Couldn't derive dirName for app ${key}`);
}
const metadata = (appStoreMetadata[key as keyof typeof appStoreMetadata] = {
appData: null,
dirName: "dirName" in value ? value.dirName : value.slug,
dirName,
__template: "",
...value,
} as AppStoreMetaData[keyof AppStoreMetaData];
} as AppStoreMetaData[keyof AppStoreMetaData]);
metadata.logo = getAppAssetFullPath(metadata.logo, {
dirName,
isTemplate: metadata.isTemplate,
});
}

View File

@ -1,6 +1,6 @@
---
items:
- /api/app-store/applecalendar/1.jpg
- 1.jpg
---
Apple calendar runs both the macOS and iOS mobile operating systems. Offering online cloud backup of calendars using Apples iCloud service, it can sync with Google Calendar and Microsoft Exchange Server. Users can schedule events in their day that include time, location, duration, and extra notes.

View File

@ -8,18 +8,13 @@ export const metadata = {
installed: true,
type: "apple_calendar",
title: "Apple Calendar",
imageSrc: "/api/app-store/applecalendar/icon.svg",
variant: "calendar",
categories: ["calendar"],
category: "calendar",
logo: "/api/app-store/applecalendar/icon.svg",
logo: "icon.svg",
publisher: "Cal.com",
rating: 5,
reviews: 69,
slug: "apple-calendar",
trending: false,
url: "https://cal.com/",
verified: true,
email: "help@cal.com",
dirName: "applecalendar",
} as AppMeta;

View File

@ -25,6 +25,7 @@ export const EventTypeAddonMap = {
giphy: dynamic(() => import("./giphy/components/EventTypeAppCardInterface")),
gtm: dynamic(() => import("./gtm/components/EventTypeAppCardInterface")),
mercado_pago: dynamic(() => import("./mercado_pago/components/EventTypeAppCardInterface")),
metapixel: dynamic(() => import("./metapixel/components/EventTypeAppCardInterface")),
plausible: dynamic(() => import("./plausible/components/EventTypeAppCardInterface")),
qr_code: dynamic(() => import("./qr_code/components/EventTypeAppCardInterface")),
rainbow: dynamic(() => import("./rainbow/components/EventTypeAppCardInterface")),

View File

@ -11,6 +11,7 @@ import { appKeysSchema as gtm_zod_ts } from "./gtm/zod";
import { appKeysSchema as hubspot_zod_ts } from "./hubspot/zod";
import { appKeysSchema as larkcalendar_zod_ts } from "./larkcalendar/zod";
import { appKeysSchema as mercado_pago_zod_ts } from "./mercado_pago/zod";
import { appKeysSchema as metapixel_zod_ts } from "./metapixel/zod";
import { appKeysSchema as office365calendar_zod_ts } from "./office365calendar/zod";
import { appKeysSchema as office365video_zod_ts } from "./office365video/zod";
import { appKeysSchema as plausible_zod_ts } from "./plausible/zod";
@ -38,6 +39,7 @@ export const appKeysSchemas = {
hubspot: hubspot_zod_ts,
larkcalendar: larkcalendar_zod_ts,
mercado_pago: mercado_pago_zod_ts,
metapixel: metapixel_zod_ts,
office365calendar: office365calendar_zod_ts,
office365video: office365video_zod_ts,
plausible: plausible_zod_ts,

View File

@ -26,6 +26,7 @@ import { metadata as huddle01video__metadata_ts } from "./huddle01video/_metadat
import { metadata as jitsivideo__metadata_ts } from "./jitsivideo/_metadata";
import { metadata as larkcalendar__metadata_ts } from "./larkcalendar/_metadata";
import mercado_pago_config_json from "./mercado_pago/config.json";
import metapixel_config_json from "./metapixel/config.json";
import n8n_config_json from "./n8n/config.json";
import { metadata as office365calendar__metadata_ts } from "./office365calendar/_metadata";
import office365video_config_json from "./office365video/config.json";
@ -88,6 +89,7 @@ export const appStoreMetadata = {
jitsivideo: jitsivideo__metadata_ts,
larkcalendar: larkcalendar__metadata_ts,
mercado_pago: mercado_pago_config_json,
metapixel: metapixel_config_json,
n8n: n8n_config_json,
office365calendar: office365calendar__metadata_ts,
office365video: office365video_config_json,

View File

@ -11,6 +11,7 @@ import { appDataSchema as gtm_zod_ts } from "./gtm/zod";
import { appDataSchema as hubspot_zod_ts } from "./hubspot/zod";
import { appDataSchema as larkcalendar_zod_ts } from "./larkcalendar/zod";
import { appDataSchema as mercado_pago_zod_ts } from "./mercado_pago/zod";
import { appDataSchema as metapixel_zod_ts } from "./metapixel/zod";
import { appDataSchema as office365calendar_zod_ts } from "./office365calendar/zod";
import { appDataSchema as office365video_zod_ts } from "./office365video/zod";
import { appDataSchema as plausible_zod_ts } from "./plausible/zod";
@ -38,6 +39,7 @@ export const appDataSchemas = {
hubspot: hubspot_zod_ts,
larkcalendar: larkcalendar_zod_ts,
mercado_pago: mercado_pago_zod_ts,
metapixel: metapixel_zod_ts,
office365calendar: office365calendar_zod_ts,
office365video: office365video_zod_ts,
plausible: plausible_zod_ts,

View File

@ -26,6 +26,7 @@ export const apiHandlers = {
jitsivideo: import("./jitsivideo/api"),
larkcalendar: import("./larkcalendar/api"),
mercado_pago: import("./mercado_pago/api"),
metapixel: import("./metapixel/api"),
n8n: import("./n8n/api"),
office365calendar: import("./office365calendar/api"),
office365video: import("./office365video/api"),

View File

@ -1,13 +1,13 @@
---
items:
- /api/app-store/around/1.jpg
- /api/app-store/around/2.jpg
- /api/app-store/around/3.jpg
- /api/app-store/around/4.jpg
- /api/app-store/around/5.jpg
- /api/app-store/around/6.jpg
- /api/app-store/around/7.jpg
- /api/app-store/around/8.jpg
- 1.jpg
- 2.jpg
- 3.jpg
- 4.jpg
- 5.jpg
- 6.jpg
- 7.jpg
- 8.jpg
---
Discover radically unique video calls designed to help hybrid-remote teams create, collaborate and celebrate together.

View File

@ -4,7 +4,7 @@
"title": "Around",
"slug": "around",
"type": "around_video",
"logo": "/api/app-store/around/icon.svg",
"logo": "icon.svg",
"url": "https://cal.com/apps/around",
"variant": "conferencing",
"categories": ["video"],

View File

@ -1,6 +1,6 @@
---
items:
- /api/app-store/caldavcalendar/1.jpg
- 1.jpg
---
Caldav is a protocol that allows different clients/servers to access scheduling information on remote servers as well as schedule meetings with other users on the same server or other servers. It extends WebDAV specification and uses iCalendar format for the data.

View File

@ -8,19 +8,15 @@ export const metadata = {
installed: true,
type: "caldav_calendar",
title: "CalDav (Beta)",
imageSrc: "/api/app-store/caldavcalendar/icon.svg",
variant: "calendar",
category: "calendar",
categories: ["calendar"],
logo: "/api/app-store/caldavcalendar/icon.svg",
logo: "icon.svg",
publisher: "Cal.com",
rating: 5,
reviews: 69,
slug: "caldav-calendar",
trending: false,
url: "https://cal.com/",
verified: true,
email: "ali@cal.com",
dirName: "caldavcalendar",
} as AppMeta;
export default metadata;

View File

@ -8,18 +8,13 @@ export const metadata = {
installed: true,
type: "caldav_calendar",
title: "CalDav (Beta)",
imageSrc: "/api/app-store/caldavcalendar/icon.svg",
variant: "calendar",
category: "calendar",
categories: ["calendar"],
logo: "/api/app-store/caldavcalendar/icon.svg",
logo: "icon.svg",
publisher: "Cal.com",
rating: 5,
reviews: 69,
slug: "caldav-calendar",
trending: false,
url: "https://cal.com/",
verified: true,
email: "help@cal.com",
dirName: "caldavcalendar",
} as App;

View File

@ -1,12 +1,12 @@
---
items:
- /api/app-store/campfire/1.jpg
- /api/app-store/campfire/2.jpg
- /api/app-store/campfire/3.jpg
- /api/app-store/campfire/4.jpg
- 1.jpg
- 2.jpg
- 3.jpg
- 4.jpg
---
<iframe class="w-full aspect-video -mx-2" width="560" height="315" src="https://player.vimeo.com/video/683733529?app_id=122963&h=025a2fae94&referrer=https%3A%2F%2Fwww.campfire.to%2F" />
<iframe class="w-full aspect-video -mx-2" width="560" height="315" src="https://player.vimeo.com/video/683733529?app_id=122963&h=025a2fae94&referrer=https%3A%2F%2Fwww.campfire.to%2F" ></iframe>
## Feel connected with your remote team

View File

@ -3,8 +3,7 @@
"name": "Campfire",
"slug": "campfire",
"type": "campfire_video",
"imageSrc": "/api/app-store/campfire/icon.svg",
"logo": "/api/app-store/campfire/icon.svg",
"logo": "icon.svg",
"url": "https://cal.com/apps/campfire",
"variant": "conferencing",
"categories": ["video"],

View File

@ -1,10 +1,10 @@
---
items:
- /api/app-store/closecom/1.jpg
- /api/app-store/closecom/2.jpg
- /api/app-store/closecom/3.jpg
- /api/app-store/closecom/4.jpg
- /api/app-store/closecom/5.jpg
- 1.jpg
- 2.jpg
- 3.jpg
- 4.jpg
- 5.jpg
---
- Close is a modern CRM with build-in sales communication tools for email, phone, SMS, and meetings.

View File

@ -4,8 +4,7 @@
"title": "Close.com",
"slug": "closecom",
"type": "closecom_other_calendar",
"imageSrc": "/api/app-store/closecom/icon.svg",
"logo": "/api/app-store/closecom/icon.svg",
"logo": "icon.svg",
"url": "https://cal.com/apps/closecom",
"variant": "other",
"categories": ["other"],

View File

@ -3,7 +3,6 @@
"name": "Cron",
"slug": "cron",
"type": "cron_other",
"imageSrc": "logo.png",
"logo": "logo.png",
"url": "https://cal.com/apps/cron",
"variant": "other",

View File

@ -1,8 +1,8 @@
---
items:
- /api/app-store/dailyvideo/1.jpg
- /api/app-store/dailyvideo/2.jpg
- /api/app-store/dailyvideo/3.jpg
- 1.jpg
- 2.jpg
- 3.jpg
---
- **Recordings require a team plan**

View File

@ -7,16 +7,11 @@ export const metadata = {
description: _package.description,
installed: !!process.env.DAILY_API_KEY,
type: "daily_video",
imageSrc: "/api/app-store/dailyvideo/icon.svg",
variant: "conferencing",
url: "https://daily.co",
categories: ["video"],
trending: true,
logo: "/api/app-store/dailyvideo/icon.svg",
logo: "icon.svg",
publisher: "Cal.com",
verified: true,
rating: 4.3, // TODO: placeholder for now, pull this from TrustPilot or G2
reviews: 69, // TODO: placeholder for now, pull this from TrustPilot or G2
category: "video",
slug: "daily-video",
title: "Cal Video",

Some files were not shown because too many files have changed in this diff Show More