Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a8a10c0f35 | ||
|
|
5f7d904349 | ||
|
|
abce20824f | ||
|
|
76a8c89d33 | ||
|
|
fc9360d99a | ||
|
|
a5c21d5e3e | ||
|
|
3960c8a954 | ||
|
|
0cbcda7430 | ||
|
|
ff12e35748 | ||
|
|
15d967b1d2 | ||
|
|
b309be1d94 | ||
|
|
94dc2643f2 | ||
|
|
6440d3da6a | ||
|
|
9e08cf88f4 | ||
|
|
8b3eb986df | ||
|
|
8a6a7524cc | ||
|
|
1dbdb8a4d4 | ||
|
|
4fb0852505 | ||
|
|
0815ab715b | ||
|
|
944ff68463 | ||
|
|
676254e96b | ||
|
|
207bcb9a97 | ||
|
|
4d825672db | ||
|
|
ba86e7f540 | ||
|
|
3206e4ea12 | ||
|
|
dbcebec31b | ||
|
|
f427c09e88 | ||
|
|
ded838881f | ||
|
|
08da9d805a | ||
|
|
7cd0d5c3c3 | ||
|
|
b018ee34a7 | ||
|
|
17345f9326 | ||
|
|
a1d7b30d51 | ||
|
|
87dbfba5df | ||
|
|
e5d44d029a |
No files matched your search
@@ -17,8 +17,8 @@ runs:
|
|||||||
with:
|
with:
|
||||||
path: ${{ inputs.path }}
|
path: ${{ inputs.path }}
|
||||||
key: ${{ runner.os }}-${{ env.cache-name }}-${{ inputs.path }}-${{ github.sha }}
|
key: ${{ runner.os }}-${{ env.cache-name }}-${{ inputs.path }}-${{ github.sha }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-${{ env.cache-name }}-${{ inputs.path }}-
|
${{ runner.os }}-${{ env.cache-name }}-${{ inputs.path }}-${{ github.sha }}
|
||||||
- name: Postgres Dump Backup
|
- name: Postgres Dump Backup
|
||||||
if: steps.cache-db.outputs.cache-hit != 'true'
|
if: steps.cache-db.outputs.cache-hit != 'true'
|
||||||
uses: tj-actions/pg-dump@v2.3
|
uses: tj-actions/pg-dump@v2.3
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
name: cleanup caches by a branch
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- closed
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
cleanup:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Cleanup
|
||||||
|
run: |
|
||||||
|
gh extension install actions/gh-actions-cache
|
||||||
|
|
||||||
|
REPO=${{ github.repository }}
|
||||||
|
BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge"
|
||||||
|
|
||||||
|
echo "Fetching list of cache key"
|
||||||
|
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1 )
|
||||||
|
|
||||||
|
## Setting this to not fail the workflow while deleting cache keys.
|
||||||
|
set +e
|
||||||
|
echo "Deleting caches..."
|
||||||
|
for cacheKey in $cacheKeysForPR
|
||||||
|
do
|
||||||
|
gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
|
||||||
|
done
|
||||||
|
echo "Done"
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@@ -3,7 +3,7 @@ on:
|
|||||||
workflow_call:
|
workflow_call:
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
runs-on: buildjet-4vcpu-ubuntu-2204
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|||||||
@@ -9,10 +9,12 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Production build
|
name: Production build
|
||||||
|
if: ${{ github.event_name == 'push' }}
|
||||||
uses: ./.github/workflows/production-build.yml
|
uses: ./.github/workflows/production-build.yml
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
analyze:
|
analyze:
|
||||||
needs: build
|
needs: build
|
||||||
|
if: always()
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|||||||
@@ -85,3 +85,12 @@ jobs:
|
|||||||
needs: build
|
needs: build
|
||||||
uses: ./.github/workflows/nextjs-bundle-analysis.yml
|
uses: ./.github/workflows/nextjs-bundle-analysis.yml
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
|
required:
|
||||||
|
needs: [lint, type-check, test, build, e2e]
|
||||||
|
if: always()
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: fail if conditional jobs failed
|
||||||
|
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'skipped') || contains(needs.*.result, 'cancelled')
|
||||||
|
run: exit 1
|
||||||
@@ -10,7 +10,7 @@ import NavTabs from "./NavTabs";
|
|||||||
const tabs = [
|
const tabs = [
|
||||||
{
|
{
|
||||||
name: "profile",
|
name: "profile",
|
||||||
href: "/settings/profile",
|
href: "/settings/my-account/profile",
|
||||||
icon: FiUser,
|
icon: FiUser,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -303,6 +303,11 @@ const Component = ({
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const ShellHeading = () => {
|
||||||
|
const { t } = useLocale();
|
||||||
|
return <span className="block py-2">{t("app_store")}</span>;
|
||||||
|
};
|
||||||
|
|
||||||
export default function App(props: {
|
export default function App(props: {
|
||||||
name: string;
|
name: string;
|
||||||
description: AppType["description"];
|
description: AppType["description"];
|
||||||
@@ -328,10 +333,8 @@ export default function App(props: {
|
|||||||
images?: string[];
|
images?: string[];
|
||||||
isTemplate?: boolean;
|
isTemplate?: boolean;
|
||||||
}) {
|
}) {
|
||||||
const { t } = useLocale();
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Shell smallHeading isPublic heading={t("app_store")} backPath="/apps" withoutSeo>
|
<Shell smallHeading isPublic heading={<ShellHeading />} backPath="/apps" withoutSeo>
|
||||||
<HeadSeo
|
<HeadSeo
|
||||||
title={props.name}
|
title={props.name}
|
||||||
description={props.description}
|
description={props.description}
|
||||||
|
|||||||
@@ -2,11 +2,12 @@ import { useAutoAnimate } from "@formkit/auto-animate/react";
|
|||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import type { FC } from "react";
|
import type { FC } from "react";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState, useCallback } from "react";
|
||||||
|
|
||||||
import type { Dayjs } from "@calcom/dayjs";
|
import type { Dayjs } from "@calcom/dayjs";
|
||||||
import dayjs from "@calcom/dayjs";
|
import dayjs from "@calcom/dayjs";
|
||||||
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
||||||
|
import useMediaQuery from "@calcom/lib/hooks/useMediaQuery";
|
||||||
import { TimeFormat } from "@calcom/lib/timeFormat";
|
import { TimeFormat } from "@calcom/lib/timeFormat";
|
||||||
import { nameOfDay } from "@calcom/lib/weekday";
|
import { nameOfDay } from "@calcom/lib/weekday";
|
||||||
import type { Slot } from "@calcom/trpc/server/routers/viewer/slots";
|
import type { Slot } from "@calcom/trpc/server/routers/viewer/slots";
|
||||||
@@ -50,6 +51,15 @@ const AvailableTimes: FC<AvailableTimesProps> = ({
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setBrand(getComputedStyle(document.documentElement).getPropertyValue("--brand-color").trim());
|
setBrand(getComputedStyle(document.documentElement).getPropertyValue("--brand-color").trim());
|
||||||
}, []);
|
}, []);
|
||||||
|
const isMobile = useMediaQuery("(max-width: 768px)");
|
||||||
|
const ref = useCallback(
|
||||||
|
(node: HTMLDivElement) => {
|
||||||
|
if (isMobile) {
|
||||||
|
node?.scrollIntoView({ behavior: "smooth" });
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[isMobile]
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div ref={slotPickerRef}>
|
<div ref={slotPickerRef}>
|
||||||
@@ -75,7 +85,7 @@ const AvailableTimes: FC<AvailableTimesProps> = ({
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex-grow overflow-y-auto sm:block md:h-[364px]">
|
<div ref={ref} className="flex-grow overflow-y-auto sm:block md:h-[364px]">
|
||||||
{slots.length > 0 &&
|
{slots.length > 0 &&
|
||||||
slots.map((slot) => {
|
slots.map((slot) => {
|
||||||
type BookingURL = {
|
type BookingURL = {
|
||||||
|
|||||||
@@ -82,13 +82,14 @@ export const EventAdvancedTab = ({ eventType, team }: Pick<EventTypeSetupProps,
|
|||||||
setCustomInputs([...customInputs]);
|
setCustomInputs([...customInputs]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const replaceEventNamePlaceholder = (eventNameObject: EventNameObjectType, previewEventName: string) =>
|
||||||
|
previewEventName
|
||||||
|
.replace("{Event type title}", eventNameObject.eventType)
|
||||||
|
.replace("{Scheduler}", eventNameObject.attendeeName)
|
||||||
|
.replace("{Organiser}", eventNameObject.host);
|
||||||
|
|
||||||
const changePreviewText = (eventNameObject: EventNameObjectType, previewEventName: string) => {
|
const changePreviewText = (eventNameObject: EventNameObjectType, previewEventName: string) => {
|
||||||
setPreviewText(
|
setPreviewText(replaceEventNamePlaceholder(eventNameObject, previewEventName));
|
||||||
previewEventName
|
|
||||||
.replace("{Event type title}", eventNameObject.eventType)
|
|
||||||
.replace("{Scheduler}", eventNameObject.attendeeName)
|
|
||||||
.replace("{Organiser}", eventNameObject.host)
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -101,6 +102,8 @@ export const EventAdvancedTab = ({ eventType, team }: Pick<EventTypeSetupProps,
|
|||||||
}
|
}
|
||||||
}, [eventType.customInputs]);
|
}, [eventType.customInputs]);
|
||||||
|
|
||||||
|
const eventNamePlaceholder = replaceEventNamePlaceholder(eventNameObject, t("meeting_with_user"));
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex flex-col space-y-8">
|
<div className="flex flex-col space-y-8">
|
||||||
{/**
|
{/**
|
||||||
@@ -141,7 +144,7 @@ export const EventAdvancedTab = ({ eventType, team }: Pick<EventTypeSetupProps,
|
|||||||
<TextField
|
<TextField
|
||||||
label={t("event_name_in_calendar")}
|
label={t("event_name_in_calendar")}
|
||||||
type="text"
|
type="text"
|
||||||
placeholder={t("meeting_with_user")}
|
placeholder={eventNamePlaceholder}
|
||||||
defaultValue={eventType.eventName || ""}
|
defaultValue={eventType.eventName || ""}
|
||||||
{...formMethods.register("eventName", {
|
{...formMethods.register("eventName", {
|
||||||
onChange: (e) => {
|
onChange: (e) => {
|
||||||
@@ -413,7 +416,7 @@ export const EventAdvancedTab = ({ eventType, team }: Pick<EventTypeSetupProps,
|
|||||||
<TextField
|
<TextField
|
||||||
label={t("event_name_in_calendar")}
|
label={t("event_name_in_calendar")}
|
||||||
type="text"
|
type="text"
|
||||||
placeholder={t("meeting_with_user")}
|
placeholder={eventNamePlaceholder}
|
||||||
defaultValue={eventType.eventName || ""}
|
defaultValue={eventType.eventName || ""}
|
||||||
{...formMethods.register("eventName", {
|
{...formMethods.register("eventName", {
|
||||||
onChange: (e) => {
|
onChange: (e) => {
|
||||||
|
|||||||
@@ -246,7 +246,7 @@ export const EventSetupTab = (
|
|||||||
</Trans>
|
</Trans>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{validLocations.length > 0 && validLocations.length !== locationOptions.length && (
|
{validLocations.length > 0 && (
|
||||||
<li>
|
<li>
|
||||||
<Button
|
<Button
|
||||||
data-testid="add-location"
|
data-testid="add-location"
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ function EventTypeSingleLayout({
|
|||||||
heading={eventType.title}
|
heading={eventType.title}
|
||||||
CTA={
|
CTA={
|
||||||
<div className="flex items-center justify-end">
|
<div className="flex items-center justify-end">
|
||||||
<div className="hidden items-center rounded-md px-2 sm:flex sm:hover:bg-gray-100">
|
<div className="hidden items-center rounded-md px-2 sm:hover:bg-gray-100 lg:flex">
|
||||||
<Skeleton
|
<Skeleton
|
||||||
as={Label}
|
as={Label}
|
||||||
htmlFor="hiddenSwitch"
|
htmlFor="hiddenSwitch"
|
||||||
@@ -206,7 +206,7 @@ function EventTypeSingleLayout({
|
|||||||
</Skeleton>
|
</Skeleton>
|
||||||
<Switch
|
<Switch
|
||||||
id="hiddenSwitch"
|
id="hiddenSwitch"
|
||||||
defaultChecked={formMethods.getValues("hidden")}
|
checked={formMethods.watch("hidden")}
|
||||||
onCheckedChange={(e) => {
|
onCheckedChange={(e) => {
|
||||||
formMethods.setValue("hidden", e);
|
formMethods.setValue("hidden", e);
|
||||||
}}
|
}}
|
||||||
@@ -261,7 +261,7 @@ function EventTypeSingleLayout({
|
|||||||
<DropdownMenuTrigger asChild>
|
<DropdownMenuTrigger asChild>
|
||||||
<Button className="lg:hidden" StartIcon={FiMoreHorizontal} variant="icon" color="secondary" />
|
<Button className="lg:hidden" StartIcon={FiMoreHorizontal} variant="icon" color="secondary" />
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuContent>
|
<DropdownMenuContent style={{ minWidth: "200px" }}>
|
||||||
<DropdownMenuItem className="focus:ring-gray-100">
|
<DropdownMenuItem className="focus:ring-gray-100">
|
||||||
<DropdownItem
|
<DropdownItem
|
||||||
target="_blank"
|
target="_blank"
|
||||||
@@ -293,17 +293,17 @@ function EventTypeSingleLayout({
|
|||||||
{t("delete")}
|
{t("delete")}
|
||||||
</DropdownItem>
|
</DropdownItem>
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
<DropdownMenuSeparator className="block sm:hidden" />
|
<DropdownMenuSeparator />
|
||||||
<div className="flex items-center rounded-md py-1.5 px-4 sm:hidden sm:hover:bg-gray-100">
|
<div className="flex h-9 flex-row items-center justify-between py-2 px-4 sm:hover:bg-gray-100">
|
||||||
<Skeleton
|
<Skeleton
|
||||||
as={Label}
|
as={Label}
|
||||||
htmlFor="hiddenSwitch"
|
htmlFor="hiddenSwitch"
|
||||||
className="mt-2 inline cursor-pointer self-center pr-2 sm:hidden">
|
className="mt-2 inline cursor-pointer self-center pr-2 ">
|
||||||
{t("hide_from_profile")}
|
{t("hide_from_profile")}
|
||||||
</Skeleton>
|
</Skeleton>
|
||||||
<Switch
|
<Switch
|
||||||
id="hiddenSwitch"
|
id="hiddenSwitch"
|
||||||
defaultChecked={formMethods.getValues("hidden")}
|
checked={formMethods.watch("hidden")}
|
||||||
onCheckedChange={(e) => {
|
onCheckedChange={(e) => {
|
||||||
formMethods.setValue("hidden", e);
|
formMethods.setValue("hidden", e);
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
export function isBrandingHidden(hideBrandingSetting: boolean, belongsToActiveTeam: boolean) {
|
export function isBrandingHidden(hideBrandingSetting: boolean, hasPaidPlan: boolean) {
|
||||||
return belongsToActiveTeam && hideBrandingSetting;
|
return hasPaidPlan && hideBrandingSetting;
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@calcom/web",
|
"name": "@calcom/web",
|
||||||
"version": "2.6.4",
|
"version": "2.6.6",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"analyze": "ANALYZE=true next build",
|
"analyze": "ANALYZE=true next build",
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { z } from "zod";
|
|||||||
|
|
||||||
import type { LocationObject } from "@calcom/app-store/locations";
|
import type { LocationObject } from "@calcom/app-store/locations";
|
||||||
import { IS_TEAM_BILLING_ENABLED, WEBAPP_URL } from "@calcom/lib/constants";
|
import { IS_TEAM_BILLING_ENABLED, WEBAPP_URL } from "@calcom/lib/constants";
|
||||||
|
import hasKeyInMetadata from "@calcom/lib/hasKeyInMetadata";
|
||||||
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
||||||
import type { User } from "@calcom/prisma/client";
|
import type { User } from "@calcom/prisma/client";
|
||||||
|
|
||||||
@@ -82,6 +83,7 @@ async function getUserPageProps(context: GetStaticPropsContext) {
|
|||||||
weekStart: true,
|
weekStart: true,
|
||||||
brandColor: true,
|
brandColor: true,
|
||||||
darkBrandColor: true,
|
darkBrandColor: true,
|
||||||
|
metadata: true,
|
||||||
eventTypes: {
|
eventTypes: {
|
||||||
where: {
|
where: {
|
||||||
// Many-to-many relationship causes inclusion of the team events - cool -
|
// Many-to-many relationship causes inclusion of the team events - cool -
|
||||||
@@ -157,7 +159,7 @@ async function getUserPageProps(context: GetStaticPropsContext) {
|
|||||||
locations: privacyFilteredLocations(locations),
|
locations: privacyFilteredLocations(locations),
|
||||||
descriptionAsSafeHTML: eventType.description ? md.render(eventType.description) : null,
|
descriptionAsSafeHTML: eventType.description ? md.render(eventType.description) : null,
|
||||||
});
|
});
|
||||||
// Check if the user you are logging into has any active teams
|
// Check if the user you are logging into has any active teams or premium user name
|
||||||
const hasActiveTeam =
|
const hasActiveTeam =
|
||||||
user.teams.filter((m) => {
|
user.teams.filter((m) => {
|
||||||
if (!IS_TEAM_BILLING_ENABLED) return true;
|
if (!IS_TEAM_BILLING_ENABLED) return true;
|
||||||
@@ -166,6 +168,8 @@ async function getUserPageProps(context: GetStaticPropsContext) {
|
|||||||
return false;
|
return false;
|
||||||
}).length > 0;
|
}).length > 0;
|
||||||
|
|
||||||
|
const hasPremiumUserName = hasKeyInMetadata(user, "isPremium");
|
||||||
|
|
||||||
return {
|
return {
|
||||||
props: {
|
props: {
|
||||||
eventType: eventTypeObject,
|
eventType: eventTypeObject,
|
||||||
@@ -182,7 +186,7 @@ async function getUserPageProps(context: GetStaticPropsContext) {
|
|||||||
away: user?.away,
|
away: user?.away,
|
||||||
isDynamic: false,
|
isDynamic: false,
|
||||||
trpcState: ssg.dehydrate(),
|
trpcState: ssg.dehydrate(),
|
||||||
isBrandingHidden: isBrandingHidden(user.hideBranding, hasActiveTeam),
|
isBrandingHidden: isBrandingHidden(user.hideBranding, hasActiveTeam || hasPremiumUserName),
|
||||||
},
|
},
|
||||||
revalidate: 10, // seconds
|
revalidate: 10, // seconds
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import { useAutoAnimate } from "@formkit/auto-animate/react";
|
import { useAutoAnimate } from "@formkit/auto-animate/react";
|
||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
|
|
||||||
import { NewScheduleButton, ScheduleListItem } from "@calcom/features/schedules";
|
import { NewScheduleButton, ScheduleListItem } from "@calcom/features/schedules";
|
||||||
import Shell from "@calcom/features/shell/Shell";
|
import Shell from "@calcom/features/shell/Shell";
|
||||||
@@ -14,8 +13,6 @@ import { HttpError } from "@lib/core/http/error";
|
|||||||
|
|
||||||
import SkeletonLoader from "@components/availability/SkeletonLoader";
|
import SkeletonLoader from "@components/availability/SkeletonLoader";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
export function AvailabilityList({ schedules }: RouterOutputs["viewer"]["availability"]["list"]) {
|
export function AvailabilityList({ schedules }: RouterOutputs["viewer"]["availability"]["list"]) {
|
||||||
const { t } = useLocale();
|
const { t } = useLocale();
|
||||||
const utils = trpc.useContext();
|
const utils = trpc.useContext();
|
||||||
@@ -118,13 +115,3 @@ export default function AvailabilityPage() {
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -442,17 +442,19 @@ export default function Success(props: SuccessProps) {
|
|||||||
<div className="mt-3">
|
<div className="mt-3">
|
||||||
<p className="text-gray-600 dark:text-gray-300">{getTitle()}</p>
|
<p className="text-gray-600 dark:text-gray-300">{getTitle()}</p>
|
||||||
</div>
|
</div>
|
||||||
{props.paymentStatus && (
|
{props.paymentStatus &&
|
||||||
<h4>
|
(bookingInfo.status === BookingStatus.CANCELLED ||
|
||||||
{!props.paymentStatus.success &&
|
bookingInfo.status === BookingStatus.REJECTED) && (
|
||||||
!props.paymentStatus.refunded &&
|
<h4>
|
||||||
t("booking_with_payment_cancelled")}
|
{!props.paymentStatus.success &&
|
||||||
{props.paymentStatus.success &&
|
!props.paymentStatus.refunded &&
|
||||||
!props.paymentStatus.refunded &&
|
t("booking_with_payment_cancelled")}
|
||||||
t("booking_with_payment_cancelled_already_paid")}
|
{props.paymentStatus.success &&
|
||||||
{props.paymentStatus.refunded && t("booking_with_payment_cancelled_refunded")}
|
!props.paymentStatus.refunded &&
|
||||||
</h4>
|
t("booking_with_payment_cancelled_already_paid")}
|
||||||
)}
|
{props.paymentStatus.refunded && t("booking_with_payment_cancelled_refunded")}
|
||||||
|
</h4>
|
||||||
|
)}
|
||||||
|
|
||||||
<div className="border-bookinglightest text-bookingdark dark:border-darkgray-200 mt-8 grid grid-cols-3 border-t pt-8 text-left dark:text-gray-300">
|
<div className="border-bookinglightest text-bookingdark dark:border-darkgray-200 mt-8 grid grid-cols-3 border-t pt-8 text-left dark:text-gray-300">
|
||||||
{(isCancelled || reschedule) && cancellationReason && (
|
{(isCancelled || reschedule) && cancellationReason && (
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import { useAutoAnimate } from "@formkit/auto-animate/react";
|
import { useAutoAnimate } from "@formkit/auto-animate/react";
|
||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import type { FC } from "react";
|
import type { FC } from "react";
|
||||||
@@ -60,8 +59,6 @@ import { HttpError } from "@lib/core/http/error";
|
|||||||
import { EmbedButton, EmbedDialog } from "@components/Embed";
|
import { EmbedButton, EmbedDialog } from "@components/Embed";
|
||||||
import SkeletonLoader from "@components/eventtype/SkeletonLoader";
|
import SkeletonLoader from "@components/eventtype/SkeletonLoader";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
type EventTypeGroups = RouterOutputs["viewer"]["eventTypes"]["getByViewer"]["eventTypeGroups"];
|
type EventTypeGroups = RouterOutputs["viewer"]["eventTypes"]["getByViewer"]["eventTypeGroups"];
|
||||||
type EventTypeGroupProfile = EventTypeGroups[number]["profile"];
|
type EventTypeGroupProfile = EventTypeGroups[number]["profile"];
|
||||||
|
|
||||||
@@ -73,6 +70,7 @@ interface EventTypeListHeadingProps {
|
|||||||
|
|
||||||
type EventTypeGroup = EventTypeGroups[number];
|
type EventTypeGroup = EventTypeGroups[number];
|
||||||
type EventType = EventTypeGroup["eventTypes"][number];
|
type EventType = EventTypeGroup["eventTypes"][number];
|
||||||
|
|
||||||
interface EventTypeListProps {
|
interface EventTypeListProps {
|
||||||
group: EventTypeGroup;
|
group: EventTypeGroup;
|
||||||
groupIndex: number;
|
groupIndex: number;
|
||||||
@@ -134,11 +132,9 @@ const Item = ({ type, group, readOnly }: { type: EventType; group: EventTypeGrou
|
|||||||
data-testid={"event-type-slug-" + type.id}>
|
data-testid={"event-type-slug-" + type.id}>
|
||||||
{`/${group.profile.slug}/${type.slug}`}
|
{`/${group.profile.slug}/${type.slug}`}
|
||||||
</small>
|
</small>
|
||||||
) : (
|
) : null}
|
||||||
<></>
|
|
||||||
)}
|
|
||||||
{readOnly && (
|
{readOnly && (
|
||||||
<span className="inline items-center rounded-sm bg-gray-100 px-1.5 py-0.5 text-xs font-medium text-gray-800 ltr:ml-2 ltr:mr-2 rtl:ml-2">
|
<span className="items-center rounded-sm bg-gray-100 px-1.5 py-0.5 text-xs font-medium text-gray-800 ltr:ml-2 ltr:mr-2 rtl:ml-2">
|
||||||
{t("readonly")}
|
{t("readonly")}
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
@@ -695,14 +691,4 @@ const EventTypesPage = () => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default EventTypesPage;
|
export default EventTypesPage;
|
||||||
@@ -1,13 +1,9 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
|
|
||||||
import AdminAppsList from "@calcom/features/apps/AdminAppsList";
|
import AdminAppsList from "@calcom/features/apps/AdminAppsList";
|
||||||
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
||||||
import { Meta } from "@calcom/ui";
|
import { Meta } from "@calcom/ui";
|
||||||
|
|
||||||
import { getLayout } from "@components/auth/layouts/AdminLayout";
|
import { getLayout } from "@components/auth/layouts/AdminLayout";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
function AdminAppsView() {
|
function AdminAppsView() {
|
||||||
const { t } = useLocale();
|
const { t } = useLocale();
|
||||||
return (
|
return (
|
||||||
@@ -20,14 +16,4 @@ function AdminAppsView() {
|
|||||||
|
|
||||||
AdminAppsView.getLayout = getLayout;
|
AdminAppsView.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AdminAppsView;
|
export default AdminAppsView;
|
||||||
@@ -1,2 +1 @@
|
|||||||
export { getServerSideProps } from "./[category]";
|
|
||||||
export { default } from "./[category]";
|
export { default } from "./[category]";
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
import { signIn } from "next-auth/react";
|
import { signIn } from "next-auth/react";
|
||||||
import { useRef } from "react";
|
import { useRef } from "react";
|
||||||
|
|
||||||
@@ -7,8 +6,6 @@ import { Button, Meta, TextField } from "@calcom/ui";
|
|||||||
|
|
||||||
import { getLayout } from "@components/auth/layouts/AdminLayout";
|
import { getLayout } from "@components/auth/layouts/AdminLayout";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
function AdminView() {
|
function AdminView() {
|
||||||
const { t } = useLocale();
|
const { t } = useLocale();
|
||||||
const usernameRef = useRef<HTMLInputElement>(null);
|
const usernameRef = useRef<HTMLInputElement>(null);
|
||||||
@@ -41,14 +38,4 @@ function AdminView() {
|
|||||||
|
|
||||||
AdminView.getLayout = getLayout;
|
AdminView.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AdminView;
|
export default AdminView;
|
||||||
@@ -1,11 +1,7 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
|
|
||||||
import { Meta } from "@calcom/ui";
|
import { Meta } from "@calcom/ui";
|
||||||
|
|
||||||
import { getLayout } from "@components/auth/layouts/AdminLayout";
|
import { getLayout } from "@components/auth/layouts/AdminLayout";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
function AdminAppsView() {
|
function AdminAppsView() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -17,14 +13,4 @@ function AdminAppsView() {
|
|||||||
|
|
||||||
AdminAppsView.getLayout = getLayout;
|
AdminAppsView.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AdminAppsView;
|
export default AdminAppsView;
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { HelpScout, useChat } from "react-live-chat-loader";
|
import { HelpScout, useChat } from "react-live-chat-loader";
|
||||||
@@ -10,8 +9,6 @@ import { useLocale } from "@calcom/lib/hooks/useLocale";
|
|||||||
import { Button, Meta } from "@calcom/ui";
|
import { Button, Meta } from "@calcom/ui";
|
||||||
import { FiExternalLink } from "@calcom/ui/components/icon";
|
import { FiExternalLink } from "@calcom/ui/components/icon";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
interface CtaRowProps {
|
interface CtaRowProps {
|
||||||
title: string;
|
title: string;
|
||||||
description: string;
|
description: string;
|
||||||
@@ -72,14 +69,4 @@ const BillingView = () => {
|
|||||||
|
|
||||||
BillingView.getLayout = getLayout;
|
BillingView.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default BillingView;
|
export default BillingView;
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
import type { TApiKeys } from "@calcom/ee/api-keys/components/ApiKeyListItem";
|
import type { TApiKeys } from "@calcom/ee/api-keys/components/ApiKeyListItem";
|
||||||
@@ -19,8 +18,6 @@ import {
|
|||||||
} from "@calcom/ui";
|
} from "@calcom/ui";
|
||||||
import { FiLink, FiPlus } from "@calcom/ui/components/icon";
|
import { FiLink, FiPlus } from "@calcom/ui/components/icon";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
const ApiKeysView = () => {
|
const ApiKeysView = () => {
|
||||||
const { t } = useLocale();
|
const { t } = useLocale();
|
||||||
|
|
||||||
@@ -96,14 +93,4 @@ const ApiKeysView = () => {
|
|||||||
|
|
||||||
ApiKeysView.getLayout = getLayout;
|
ApiKeysView.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default ApiKeysView;
|
export default ApiKeysView;
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
import { Controller, useForm } from "react-hook-form";
|
import { Controller, useForm } from "react-hook-form";
|
||||||
|
|
||||||
import ThemeLabel from "@calcom/features/settings/ThemeLabel";
|
import ThemeLabel from "@calcom/features/settings/ThemeLabel";
|
||||||
@@ -20,8 +19,6 @@ import {
|
|||||||
UpgradeTeamsBadge,
|
UpgradeTeamsBadge,
|
||||||
} from "@calcom/ui";
|
} from "@calcom/ui";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
const SkeletonLoader = ({ title, description }: { title: string; description: string }) => {
|
const SkeletonLoader = ({ title, description }: { title: string; description: string }) => {
|
||||||
return (
|
return (
|
||||||
<SkeletonContainer>
|
<SkeletonContainer>
|
||||||
@@ -215,14 +212,4 @@ const AppearanceView = () => {
|
|||||||
|
|
||||||
AppearanceView.getLayout = getLayout;
|
AppearanceView.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AppearanceView;
|
export default AppearanceView;
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
import { Trans } from "next-i18next";
|
import { Trans } from "next-i18next";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
@@ -30,8 +29,6 @@ import { QueryCell } from "@lib/QueryCell";
|
|||||||
|
|
||||||
import { CalendarSwitch } from "@components/settings/CalendarSwitch";
|
import { CalendarSwitch } from "@components/settings/CalendarSwitch";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
const SkeletonLoader = () => {
|
const SkeletonLoader = () => {
|
||||||
return (
|
return (
|
||||||
<SkeletonContainer>
|
<SkeletonContainer>
|
||||||
@@ -228,14 +225,4 @@ const CalendarsView = () => {
|
|||||||
|
|
||||||
CalendarsView.getLayout = getLayout;
|
CalendarsView.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default CalendarsView;
|
export default CalendarsView;
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { useMemo } from "react";
|
import { useMemo } from "react";
|
||||||
import { Controller, useForm } from "react-hook-form";
|
import { Controller, useForm } from "react-hook-form";
|
||||||
@@ -23,8 +22,6 @@ import {
|
|||||||
|
|
||||||
import { withQuery } from "@lib/QueryCell";
|
import { withQuery } from "@lib/QueryCell";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
const SkeletonLoader = ({ title, description }: { title: string; description: string }) => {
|
const SkeletonLoader = ({ title, description }: { title: string; description: string }) => {
|
||||||
return (
|
return (
|
||||||
<SkeletonContainer>
|
<SkeletonContainer>
|
||||||
@@ -223,14 +220,4 @@ const GeneralView = ({ localeProp, user }: GeneralViewProps) => {
|
|||||||
|
|
||||||
GeneralQueryView.getLayout = getLayout;
|
GeneralQueryView.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default GeneralQueryView;
|
export default GeneralQueryView;
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
import { IdentityProvider } from "@prisma/client";
|
import { IdentityProvider } from "@prisma/client";
|
||||||
import crypto from "crypto";
|
import crypto from "crypto";
|
||||||
import MarkdownIt from "markdown-it";
|
import MarkdownIt from "markdown-it";
|
||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
import { signOut } from "next-auth/react";
|
import { signOut } from "next-auth/react";
|
||||||
import type { BaseSyntheticEvent } from "react";
|
import type { BaseSyntheticEvent } from "react";
|
||||||
import { useRef, useState } from "react";
|
import { useRef, useState } from "react";
|
||||||
@@ -42,8 +41,6 @@ import { FiAlertTriangle, FiTrash2 } from "@calcom/ui/components/icon";
|
|||||||
import TwoFactor from "@components/auth/TwoFactor";
|
import TwoFactor from "@components/auth/TwoFactor";
|
||||||
import { UsernameAvailabilityField } from "@components/ui/UsernameAvailability";
|
import { UsernameAvailabilityField } from "@components/ui/UsernameAvailability";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
const md = new MarkdownIt("default", { html: true, breaks: true });
|
const md = new MarkdownIt("default", { html: true, breaks: true });
|
||||||
|
|
||||||
const SkeletonLoader = ({ title, description }: { title: string; description: string }) => {
|
const SkeletonLoader = ({ title, description }: { title: string; description: string }) => {
|
||||||
@@ -385,14 +382,4 @@ const ProfileForm = ({
|
|||||||
|
|
||||||
ProfileView.getLayout = getLayout;
|
ProfileView.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default ProfileView;
|
export default ProfileView;
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
import { IdentityProvider } from "@prisma/client";
|
import { IdentityProvider } from "@prisma/client";
|
||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
import { signOut, useSession } from "next-auth/react";
|
import { signOut, useSession } from "next-auth/react";
|
||||||
import { useForm } from "react-hook-form";
|
import { useForm } from "react-hook-form";
|
||||||
|
|
||||||
@@ -10,8 +9,6 @@ import { userMetadata } from "@calcom/prisma/zod-utils";
|
|||||||
import { trpc } from "@calcom/trpc/react";
|
import { trpc } from "@calcom/trpc/react";
|
||||||
import { Alert, Button, Form, Meta, PasswordField, Select, SettingsToggle, showToast } from "@calcom/ui";
|
import { Alert, Button, Form, Meta, PasswordField, Select, SettingsToggle, showToast } from "@calcom/ui";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
type ChangePasswordSessionFormValues = {
|
type ChangePasswordSessionFormValues = {
|
||||||
oldPassword: string;
|
oldPassword: string;
|
||||||
newPassword: string;
|
newPassword: string;
|
||||||
@@ -209,14 +206,4 @@ const PasswordView = () => {
|
|||||||
|
|
||||||
PasswordView.getLayout = getLayout;
|
PasswordView.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default PasswordView;
|
export default PasswordView;
|
||||||
@@ -1,15 +1 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
export { default } from "@calcom/features/ee/sso/page/user-sso-view";
|
export { default } from "@calcom/features/ee/sso/page/user-sso-view";
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
import { getLayout } from "@calcom/features/settings/layouts/SettingsLayout";
|
import { getLayout } from "@calcom/features/settings/layouts/SettingsLayout";
|
||||||
@@ -9,8 +8,6 @@ import { Badge, Meta, Switch, SkeletonButton, SkeletonContainer, SkeletonText }
|
|||||||
import DisableTwoFactorModal from "@components/settings/DisableTwoFactorModal";
|
import DisableTwoFactorModal from "@components/settings/DisableTwoFactorModal";
|
||||||
import EnableTwoFactorModal from "@components/settings/EnableTwoFactorModal";
|
import EnableTwoFactorModal from "@components/settings/EnableTwoFactorModal";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
const SkeletonLoader = () => {
|
const SkeletonLoader = () => {
|
||||||
return (
|
return (
|
||||||
<SkeletonContainer>
|
<SkeletonContainer>
|
||||||
@@ -85,14 +82,4 @@ const TwoFactorAuthView = () => {
|
|||||||
|
|
||||||
TwoFactorAuthView.getLayout = getLayout;
|
TwoFactorAuthView.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TwoFactorAuthView;
|
export default TwoFactorAuthView;
|
||||||
@@ -1,15 +1 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
export { default } from "@calcom/features/ee/teams/pages/team-appearance-view";
|
export { default } from "@calcom/features/ee/teams/pages/team-appearance-view";
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -1,15 +1 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
export { default } from "@calcom/features/ee/teams/pages/team-billing-view";
|
export { default } from "@calcom/features/ee/teams/pages/team-billing-view";
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -1,15 +1 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
export { default } from "@calcom/features/ee/teams/pages/team-members-view";
|
export { default } from "@calcom/features/ee/teams/pages/team-members-view";
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -1,15 +1 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
export { default } from "@calcom/features/ee/teams/pages/team-profile-view";
|
export { default } from "@calcom/features/ee/teams/pages/team-profile-view";
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -1,15 +1 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
export { default } from "@calcom/features/ee/sso/page/teams-sso-view";
|
export { default } from "@calcom/features/ee/sso/page/teams-sso-view";
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
import Head from "next/head";
|
import Head from "next/head";
|
||||||
|
|
||||||
import { CreateANewTeamForm } from "@calcom/features/ee/teams/components";
|
import { CreateANewTeamForm } from "@calcom/features/ee/teams/components";
|
||||||
@@ -6,8 +5,6 @@ import { useLocale } from "@calcom/lib/hooks/useLocale";
|
|||||||
|
|
||||||
import { getLayout } from "@components/layouts/WizardLayout";
|
import { getLayout } from "@components/layouts/WizardLayout";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
const CreateNewTeamPage = () => {
|
const CreateNewTeamPage = () => {
|
||||||
const { t } = useLocale();
|
const { t } = useLocale();
|
||||||
return (
|
return (
|
||||||
@@ -23,14 +20,4 @@ const CreateNewTeamPage = () => {
|
|||||||
|
|
||||||
CreateNewTeamPage.getLayout = getLayout;
|
CreateNewTeamPage.getLayout = getLayout;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default CreateNewTeamPage;
|
export default CreateNewTeamPage;
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
|
|
||||||
import { TeamsListing } from "@calcom/features/ee/teams/components";
|
import { TeamsListing } from "@calcom/features/ee/teams/components";
|
||||||
import Shell from "@calcom/features/shell/Shell";
|
import Shell from "@calcom/features/shell/Shell";
|
||||||
import { WEBAPP_URL } from "@calcom/lib/constants";
|
import { WEBAPP_URL } from "@calcom/lib/constants";
|
||||||
@@ -7,8 +5,6 @@ import { useLocale } from "@calcom/lib/hooks/useLocale";
|
|||||||
import { Button } from "@calcom/ui";
|
import { Button } from "@calcom/ui";
|
||||||
import { FiPlus } from "@calcom/ui/components/icon";
|
import { FiPlus } from "@calcom/ui/components/icon";
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
function Teams() {
|
function Teams() {
|
||||||
const { t } = useLocale();
|
const { t } = useLocale();
|
||||||
return (
|
return (
|
||||||
@@ -31,14 +27,4 @@ function Teams() {
|
|||||||
|
|
||||||
Teams.requiresLicense = false;
|
Teams.requiresLicense = false;
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export default Teams;
|
export default Teams;
|
||||||
@@ -1,15 +1 @@
|
|||||||
import type { GetServerSidePropsContext } from "next";
|
|
||||||
|
|
||||||
import { ssrInit } from "@server/lib/ssr";
|
|
||||||
|
|
||||||
export { default } from "@calcom/features/ee/workflows/pages/index";
|
export { default } from "@calcom/features/ee/workflows/pages/index";
|
||||||
|
|
||||||
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
|
|
||||||
const ssr = await ssrInit(context);
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {
|
|
||||||
trpcState: ssr.dehydrate(),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -10,7 +10,7 @@ test("Can delete user account", async ({ page, users }) => {
|
|||||||
|
|
||||||
await page.waitForSelector("[data-testid=dashboard-shell]");
|
await page.waitForSelector("[data-testid=dashboard-shell]");
|
||||||
|
|
||||||
await page.goto(`/settings/profile`);
|
await page.goto(`/settings/my-account/profile`);
|
||||||
await page.click("[data-testid=delete-account]");
|
await page.click("[data-testid=delete-account]");
|
||||||
if (!user.username) throw Error(`Test user doesn't have a username`);
|
if (!user.username) throw Error(`Test user doesn't have a username`);
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large.
Load diff
@@ -7,6 +7,7 @@
|
|||||||
"upgrade_now": "Jetzt upgraden",
|
"upgrade_now": "Jetzt upgraden",
|
||||||
"accept_invitation": "Einladung annehmen",
|
"accept_invitation": "Einladung annehmen",
|
||||||
"calcom_explained": "{{appName}} stellt die Planungsinfrastruktur für absolut jeden bereit.",
|
"calcom_explained": "{{appName}} stellt die Planungsinfrastruktur für absolut jeden bereit.",
|
||||||
|
"calcom_explained_new_user": "Beenden Sie die Einrichtung Ihres {{appName}} -Kontos! Sie sind nur ein paar Schritte von der Lösung aller Probleme in der Zeitplanung entfernt.",
|
||||||
"have_any_questions": "Haben Sie Fragen? Wir sind hier um Ihnen zu helfen.",
|
"have_any_questions": "Haben Sie Fragen? Wir sind hier um Ihnen zu helfen.",
|
||||||
"reset_password_subject": "{{appName}}: Anleitung zum Zurücksetzen des Passworts",
|
"reset_password_subject": "{{appName}}: Anleitung zum Zurücksetzen des Passworts",
|
||||||
"event_declined_subject": "Abgelehnt: {{title}} am {{date}}",
|
"event_declined_subject": "Abgelehnt: {{title}} am {{date}}",
|
||||||
@@ -23,6 +24,8 @@
|
|||||||
"rejection_reason_description": "Sind Sie sicher, dass Sie die Buchung ablehnen möchten? Wir werden die Person, die versucht hat zu buchen, informieren. Sie können einen Grund angeben.",
|
"rejection_reason_description": "Sind Sie sicher, dass Sie die Buchung ablehnen möchten? Wir werden die Person, die versucht hat zu buchen, informieren. Sie können einen Grund angeben.",
|
||||||
"rejection_confirmation": "Buchung ablehnen",
|
"rejection_confirmation": "Buchung ablehnen",
|
||||||
"manage_this_event": "Diesen Termin verwalten",
|
"manage_this_event": "Diesen Termin verwalten",
|
||||||
|
"invite_team_member": "Teammitglied einladen",
|
||||||
|
"invite_team_notifcation_badge": "Inv.",
|
||||||
"your_event_has_been_scheduled": "Ihr Termin wurde gebucht",
|
"your_event_has_been_scheduled": "Ihr Termin wurde gebucht",
|
||||||
"your_event_has_been_scheduled_recurring": "Ihr wiederkehrender Termin wurde gebucht",
|
"your_event_has_been_scheduled_recurring": "Ihr wiederkehrender Termin wurde gebucht",
|
||||||
"accept_our_license": "Akzeptieren Sie unsere Lizenz, indem Sie die .env-Variable <1>NEXT_PUBLIC_LICENSE_CONSENT</1> auf '{{agree}} ' ändern.",
|
"accept_our_license": "Akzeptieren Sie unsere Lizenz, indem Sie die .env-Variable <1>NEXT_PUBLIC_LICENSE_CONSENT</1> auf '{{agree}} ' ändern.",
|
||||||
@@ -410,6 +413,8 @@
|
|||||||
"password_updated_successfully": "Passwort erfolgreich aktualisiert",
|
"password_updated_successfully": "Passwort erfolgreich aktualisiert",
|
||||||
"password_has_been_changed": "Ihr Passwort wurde erfolgreich geändert.",
|
"password_has_been_changed": "Ihr Passwort wurde erfolgreich geändert.",
|
||||||
"error_changing_password": "Fehler beim Ändern des Passworts",
|
"error_changing_password": "Fehler beim Ändern des Passworts",
|
||||||
|
"session_timeout_changed": "Ihre Session Konfiguration wurde erfolgreich aktualisiert.",
|
||||||
|
"session_timeout_change_error": "Fehler beim Aktualisieren der Session Konfiguration",
|
||||||
"something_went_wrong": "Etwas ist schief gelaufen",
|
"something_went_wrong": "Etwas ist schief gelaufen",
|
||||||
"something_doesnt_look_right": "Irgendwas sieht nicht richtig aus?",
|
"something_doesnt_look_right": "Irgendwas sieht nicht richtig aus?",
|
||||||
"please_try_again": "Bitte erneut versuchen",
|
"please_try_again": "Bitte erneut versuchen",
|
||||||
@@ -428,6 +433,7 @@
|
|||||||
"password_hint_num": "Enthält mindestens 1 Zahl",
|
"password_hint_num": "Enthält mindestens 1 Zahl",
|
||||||
"invalid_password_hint": "Das Passwort muss mindestens {{passwordLength}} Zeichen lang sein und mindestens eine Nummer beinhalten, sowie eine Mischung aus Groß- und Kleinbuchstaben sein",
|
"invalid_password_hint": "Das Passwort muss mindestens {{passwordLength}} Zeichen lang sein und mindestens eine Nummer beinhalten, sowie eine Mischung aus Groß- und Kleinbuchstaben sein",
|
||||||
"incorrect_password": "Passwort ist falsch",
|
"incorrect_password": "Passwort ist falsch",
|
||||||
|
"incorrect_username_password": "Benutzername oder Passwort ist falsch.",
|
||||||
"24_h": "24 Std",
|
"24_h": "24 Std",
|
||||||
"use_setting": "Benutze Einstellung",
|
"use_setting": "Benutze Einstellung",
|
||||||
"am_pm": "am/pm",
|
"am_pm": "am/pm",
|
||||||
@@ -455,6 +461,7 @@
|
|||||||
"slots_load_fail": "Die verfügbaren Zeitfenster konnten nicht geladen werden.",
|
"slots_load_fail": "Die verfügbaren Zeitfenster konnten nicht geladen werden.",
|
||||||
"additional_guests": "+ Weitere Gäste",
|
"additional_guests": "+ Weitere Gäste",
|
||||||
"your_name": "Ihr Name",
|
"your_name": "Ihr Name",
|
||||||
|
"your_full_name": "Ihr vollständiger Name",
|
||||||
"email_address": "E-Mail Adresse",
|
"email_address": "E-Mail Adresse",
|
||||||
"enter_valid_email": "Bitte geben Sie eine gültige Emaildresse ein",
|
"enter_valid_email": "Bitte geben Sie eine gültige Emaildresse ein",
|
||||||
"location": "Ort",
|
"location": "Ort",
|
||||||
@@ -508,6 +515,8 @@
|
|||||||
"admin": "Administrator",
|
"admin": "Administrator",
|
||||||
"administrator_user": "Administrator Benutzer",
|
"administrator_user": "Administrator Benutzer",
|
||||||
"lets_create_first_administrator_user": "Lass uns als erstes den Administrator Benutzer anlegen.",
|
"lets_create_first_administrator_user": "Lass uns als erstes den Administrator Benutzer anlegen.",
|
||||||
|
"admin_user_created": "Administrator-Benutzereinstellungen",
|
||||||
|
"admin_user_created_description": "Sie haben bereits einen Administrator-Benutzer erstellt. Sie können sich nun in Ihr Konto einloggen.",
|
||||||
"new_member": "Neues Mitglied",
|
"new_member": "Neues Mitglied",
|
||||||
"invite": "Einladen",
|
"invite": "Einladen",
|
||||||
"add_team_members": "Teammitglieder hinzufügen",
|
"add_team_members": "Teammitglieder hinzufügen",
|
||||||
@@ -658,6 +667,7 @@
|
|||||||
"edit_availability": "Verfügbarkeit bearbeiten",
|
"edit_availability": "Verfügbarkeit bearbeiten",
|
||||||
"configure_availability": "Konfigurieren Sie die Zeiten, in denen Sie für Buchungen zur Verfügung stehen.",
|
"configure_availability": "Konfigurieren Sie die Zeiten, in denen Sie für Buchungen zur Verfügung stehen.",
|
||||||
"copy_times_to": "Zeiten kopieren in",
|
"copy_times_to": "Zeiten kopieren in",
|
||||||
|
"copy_times_to_tooltip": "Kopiere Zeiten nach …",
|
||||||
"change_weekly_schedule": "Wöchentliche Termine ändern",
|
"change_weekly_schedule": "Wöchentliche Termine ändern",
|
||||||
"logo": "Logo",
|
"logo": "Logo",
|
||||||
"error": "Fehler",
|
"error": "Fehler",
|
||||||
@@ -669,6 +679,7 @@
|
|||||||
"add_attendees": "Teilnehmende hinzufügen",
|
"add_attendees": "Teilnehmende hinzufügen",
|
||||||
"show_advanced_settings": "Erweiterte Einstellungen anzeigen",
|
"show_advanced_settings": "Erweiterte Einstellungen anzeigen",
|
||||||
"event_name": "Termin-Name",
|
"event_name": "Termin-Name",
|
||||||
|
"event_name_in_calendar": "Ereignisname im Kalender",
|
||||||
"event_name_tooltip": "Der Name, der in Kalendern angezeigt wird",
|
"event_name_tooltip": "Der Name, der in Kalendern angezeigt wird",
|
||||||
"meeting_with_user": "Meeting mit {{attendeeName}}",
|
"meeting_with_user": "Meeting mit {{attendeeName}}",
|
||||||
"additional_inputs": "Zusätzliche Notizen",
|
"additional_inputs": "Zusätzliche Notizen",
|
||||||
@@ -787,6 +798,7 @@
|
|||||||
"number_apps_one": "{{count}} Apps",
|
"number_apps_one": "{{count}} Apps",
|
||||||
"number_apps_other": "{{count}} Apps",
|
"number_apps_other": "{{count}} Apps",
|
||||||
"trending_apps": "Angesagte Apps",
|
"trending_apps": "Angesagte Apps",
|
||||||
|
"most_popular": "Am beliebtesten",
|
||||||
"explore_apps": "{{category}} Apps",
|
"explore_apps": "{{category}} Apps",
|
||||||
"installed_apps": "Installierte Apps",
|
"installed_apps": "Installierte Apps",
|
||||||
"free_to_use_apps": "Kostenlos",
|
"free_to_use_apps": "Kostenlos",
|
||||||
@@ -797,12 +809,14 @@
|
|||||||
"no_category_apps_description_analytics": "Fügen Sie eine Analyse-App für Ihre Buchungsseiten hinzu",
|
"no_category_apps_description_analytics": "Fügen Sie eine Analyse-App für Ihre Buchungsseiten hinzu",
|
||||||
"no_category_apps_description_automation": "Fügen Sie eine Automatisierungs-App hinzu, die verwendet werden soll",
|
"no_category_apps_description_automation": "Fügen Sie eine Automatisierungs-App hinzu, die verwendet werden soll",
|
||||||
"no_category_apps_description_other": "Füge jede beliebige andere Art von App hinzu, um alle möglichen Dinge zu tun",
|
"no_category_apps_description_other": "Füge jede beliebige andere Art von App hinzu, um alle möglichen Dinge zu tun",
|
||||||
|
"no_category_apps_description_web3": "Fügen Sie eine web3-App für Ihre Buchungsseiten hinzu",
|
||||||
"installed_app_calendar_description": "Legen Sie den/die Kalender in denen nach Konflikten gesucht werden sollen fest, um Doppelbuchungen zu vermeiden.",
|
"installed_app_calendar_description": "Legen Sie den/die Kalender in denen nach Konflikten gesucht werden sollen fest, um Doppelbuchungen zu vermeiden.",
|
||||||
"installed_app_conferencing_description": "Fügen Sie Ihre liebsten Videokonferenz-Apps für Ihre Meetings hinzu",
|
"installed_app_conferencing_description": "Fügen Sie Ihre liebsten Videokonferenz-Apps für Ihre Meetings hinzu",
|
||||||
"installed_app_payment_description": "Konfigurieren Sie die Zahlungsdienstleister, welcher bei der Belastung Ihrer Kunden verwendet werden sollen.",
|
"installed_app_payment_description": "Konfigurieren Sie die Zahlungsdienstleister, welcher bei der Belastung Ihrer Kunden verwendet werden sollen.",
|
||||||
"installed_app_analytics_description": "Konfigurieren Sie, welche Analyse-Apps für Ihre Buchungsseiten verwendet werden sollen",
|
"installed_app_analytics_description": "Konfigurieren Sie, welche Analyse-Apps für Ihre Buchungsseiten verwendet werden sollen",
|
||||||
"installed_app_other_description": "Alle von Ihnen installierten Apps aus anderen Kategorien.",
|
"installed_app_other_description": "Alle von Ihnen installierten Apps aus anderen Kategorien.",
|
||||||
"installed_app_automation_description": "Konfigurieren Sie, welche Automatisierungs-Apps verwendet werden sollen",
|
"installed_app_automation_description": "Konfigurieren Sie, welche Automatisierungs-Apps verwendet werden sollen",
|
||||||
|
"installed_app_web3_description": "Konfigurieren Sie, welche Web3-Apps für Ihre Buchungsseiten verwendet werden sollen",
|
||||||
"analytics": "Analyse",
|
"analytics": "Analyse",
|
||||||
"empty_installed_apps_headline": "Keine Apps installiert",
|
"empty_installed_apps_headline": "Keine Apps installiert",
|
||||||
"empty_installed_apps_description": "Apps erlauben es Ihnen, Ihren Arbeitsfluss zu verbessern und Ihre Planung viel besser zu gestalten.",
|
"empty_installed_apps_description": "Apps erlauben es Ihnen, Ihren Arbeitsfluss zu verbessern und Ihre Planung viel besser zu gestalten.",
|
||||||
@@ -930,6 +944,11 @@
|
|||||||
"current_location": "Aktueller Ort",
|
"current_location": "Aktueller Ort",
|
||||||
"user_phone": "Ihre Telefonnummer",
|
"user_phone": "Ihre Telefonnummer",
|
||||||
"new_location": "Neuer Ort",
|
"new_location": "Neuer Ort",
|
||||||
|
"session": "Session",
|
||||||
|
"session_description": "Verwalten Sie Ihre Account-Session",
|
||||||
|
"session_timeout_after": "Timeout Session nach",
|
||||||
|
"session_timeout": "Session Timeout",
|
||||||
|
"session_timeout_description": "Nach einer bestimmten Zeit die Session löschen.",
|
||||||
"no_location": "Kein Ort definiert",
|
"no_location": "Kein Ort definiert",
|
||||||
"set_location": "Ort festlegen",
|
"set_location": "Ort festlegen",
|
||||||
"update_location": "Ort aktualisieren",
|
"update_location": "Ort aktualisieren",
|
||||||
@@ -1073,6 +1092,7 @@
|
|||||||
"broken_video_action": "Wir konnten den <1>{{location}}</1> Meeting-Link nicht zu Ihrem geplanten Ereignis hinzufügen. Kontaktieren Sie Ihre Eingeladenen oder aktualisieren Sie Ihr Kalenderereignis, um die Einzelheiten hinzuzufügen. Sie können entweder <3> Ihren Standort im Ereignistyp ändern</3> oder <5>die App entfernen und erneut hinzufügen.</5>",
|
"broken_video_action": "Wir konnten den <1>{{location}}</1> Meeting-Link nicht zu Ihrem geplanten Ereignis hinzufügen. Kontaktieren Sie Ihre Eingeladenen oder aktualisieren Sie Ihr Kalenderereignis, um die Einzelheiten hinzuzufügen. Sie können entweder <3> Ihren Standort im Ereignistyp ändern</3> oder <5>die App entfernen und erneut hinzufügen.</5>",
|
||||||
"broken_calendar_action": "Wir konnten Ihren <1>{{calendar}}</1> nicht aktualisieren. <2> Bitte überprüfen Sie die Kalendereinstellungen oder entfernen Sie Ihren Kalender und fügen Sie Ihren Kalender erneut hinzu </2>",
|
"broken_calendar_action": "Wir konnten Ihren <1>{{calendar}}</1> nicht aktualisieren. <2> Bitte überprüfen Sie die Kalendereinstellungen oder entfernen Sie Ihren Kalender und fügen Sie Ihren Kalender erneut hinzu </2>",
|
||||||
"attendee_name": "Name des Teilnehmenden",
|
"attendee_name": "Name des Teilnehmenden",
|
||||||
|
"scheduler_full_name": "Der vollständige Name der buchenden Person",
|
||||||
"broken_integration": "Defekte Integration",
|
"broken_integration": "Defekte Integration",
|
||||||
"problem_adding_video_link": "Beim Hinzufügen eines Video-Links ist ein Problem aufgetreten",
|
"problem_adding_video_link": "Beim Hinzufügen eines Video-Links ist ein Problem aufgetreten",
|
||||||
"problem_updating_calendar": "Es gab ein Problem beim Aktualisieren Ihres Kalenders",
|
"problem_updating_calendar": "Es gab ein Problem beim Aktualisieren Ihres Kalenders",
|
||||||
@@ -1215,6 +1235,7 @@
|
|||||||
"connect_automation_apps": "Automatisierungs-Apps verbinden",
|
"connect_automation_apps": "Automatisierungs-Apps verbinden",
|
||||||
"connect_analytics_apps": "Analyse-Apps verbinden",
|
"connect_analytics_apps": "Analyse-Apps verbinden",
|
||||||
"connect_other_apps": "Andere Apps verbinden",
|
"connect_other_apps": "Andere Apps verbinden",
|
||||||
|
"connect_web3_apps": "Web3-Apps verbinden",
|
||||||
"current_step_of_total": "Schritt {{currentStep}} von {{maxSteps}}",
|
"current_step_of_total": "Schritt {{currentStep}} von {{maxSteps}}",
|
||||||
"add_variable": "Variable hinzufügen",
|
"add_variable": "Variable hinzufügen",
|
||||||
"custom_phone_number": "Benutzerdefinierte Telefonnummer",
|
"custom_phone_number": "Benutzerdefinierte Telefonnummer",
|
||||||
@@ -1231,6 +1252,7 @@
|
|||||||
"to": "An",
|
"to": "An",
|
||||||
"workflow_turned_on_successfully": "{{workflowName}} Workflow erfolgreich {{offOn}}geschaltet",
|
"workflow_turned_on_successfully": "{{workflowName}} Workflow erfolgreich {{offOn}}geschaltet",
|
||||||
"download_responses": "Antworten herunterladen",
|
"download_responses": "Antworten herunterladen",
|
||||||
|
"download_responses_description": "Laden Sie alle Antworten zu Ihrem Formular im CSV-Format herunter.",
|
||||||
"download": "Herunterladen",
|
"download": "Herunterladen",
|
||||||
"create_your_first_form": "Erstellen Sie Ihr erstes Formular",
|
"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_form_description": "Mithilfe von Leitungsformularen können Sie qualifizierende Fragen stellen und zur richtigen Person oder zum richtigen Veranstaltungstyp weiterleiten.",
|
||||||
@@ -1272,6 +1294,8 @@
|
|||||||
"routing_forms_send_email_owner": "E-Mail an Eigentümer senden",
|
"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",
|
"routing_forms_send_email_owner_description": "Sendet eine E-Mail an den Eigentümer, wenn das Formular abgeschickt wird",
|
||||||
"add_new_form": "Neues Formular hinzufügen",
|
"add_new_form": "Neues Formular hinzufügen",
|
||||||
|
"create_your_first_route": "Erstellen Sie Ihre erste Route",
|
||||||
|
"route_to_the_right_person": "Route an die richtige Person anhand der Formularantworten",
|
||||||
"form_description": "Erstellen Sie Ihr Formular, um einen Bucher zu anzuleiten",
|
"form_description": "Erstellen Sie Ihr Formular, um einen Bucher zu anzuleiten",
|
||||||
"copy_link_to_form": "Link in Formular kopieren",
|
"copy_link_to_form": "Link in Formular kopieren",
|
||||||
"theme": "Theme",
|
"theme": "Theme",
|
||||||
@@ -1302,6 +1326,7 @@
|
|||||||
"password_reset_leading": "Falls Sie nicht bald eine E-Mail erhalten, überprüfen Sie, ob die eingegebene E-Mail-Adresse korrekt ist. Überprüfen Sie außerdem Ihren Spam-Ordner oder wenden Sie sich an den Support, wenn das Problem weiterhin besteht.",
|
"password_reset_leading": "Falls Sie nicht bald eine E-Mail erhalten, überprüfen Sie, ob die eingegebene E-Mail-Adresse korrekt ist. Überprüfen Sie außerdem Ihren Spam-Ordner oder wenden Sie sich an den Support, wenn das Problem weiterhin besteht.",
|
||||||
"password_updated": "Passwort aktualisiert!",
|
"password_updated": "Passwort aktualisiert!",
|
||||||
"pending_payment": "Zahlung ausstehend",
|
"pending_payment": "Zahlung ausstehend",
|
||||||
|
"pending_invites": "Offene Einladungen",
|
||||||
"confirmation_page_rainbow": "Sperren Sie Ihr Ereignis hinter Tokens oder NFTs auf Ethereum, Polygon und mehr.",
|
"confirmation_page_rainbow": "Sperren Sie Ihr Ereignis hinter Tokens oder NFTs auf Ethereum, Polygon und mehr.",
|
||||||
"not_on_cal": "Nicht auf {{appName}}",
|
"not_on_cal": "Nicht auf {{appName}}",
|
||||||
"no_calendar_installed": "Kein Kalender installiert",
|
"no_calendar_installed": "Kein Kalender installiert",
|
||||||
@@ -1428,6 +1453,9 @@
|
|||||||
"disabled_calendar": "Wenn Sie einen anderen Kalender installiert haben, werden neue Buchungen zu dem Kalender hinzugefügt. Verbinden Sie andernfalls einen neuen Kalender, damit Sie keine neuen Buchungen verpassen.",
|
"disabled_calendar": "Wenn Sie einen anderen Kalender installiert haben, werden neue Buchungen zu dem Kalender hinzugefügt. Verbinden Sie andernfalls einen neuen Kalender, damit Sie keine neuen Buchungen verpassen.",
|
||||||
"enable_apps": "Apps aktivieren",
|
"enable_apps": "Apps aktivieren",
|
||||||
"enable_apps_description": "Apps aktivieren, die Benutzer mit Cal.com integrieren können",
|
"enable_apps_description": "Apps aktivieren, die Benutzer mit Cal.com integrieren können",
|
||||||
|
"purchase_license": "Lizenz kaufen",
|
||||||
|
"already_have_key": "Ich habe bereits einen Key:",
|
||||||
|
"already_have_key_suggestion": "Bitte fügen Sie Ihre vorhandene CALCOM_LICENSE_KEY Lizenz hier ein.",
|
||||||
"app_is_enabled": "{{appName}} ist aktiviert",
|
"app_is_enabled": "{{appName}} ist aktiviert",
|
||||||
"app_is_disabled": "{{appName}} ist deaktiviert",
|
"app_is_disabled": "{{appName}} ist deaktiviert",
|
||||||
"keys_have_been_saved": "Schlüssel wurden gespeichert",
|
"keys_have_been_saved": "Schlüssel wurden gespeichert",
|
||||||
@@ -1448,6 +1476,7 @@
|
|||||||
"individual": "Person",
|
"individual": "Person",
|
||||||
"all_bookings_filter_label": "Alle Buchungen",
|
"all_bookings_filter_label": "Alle Buchungen",
|
||||||
"all_users_filter_label": "Alle Benutzer",
|
"all_users_filter_label": "Alle Benutzer",
|
||||||
|
"your_bookings_filter_label": "Ihre Buchungen",
|
||||||
"meeting_url_variable": "Meeting-URL",
|
"meeting_url_variable": "Meeting-URL",
|
||||||
"meeting_url_info": "Die URL der Meeting-Konferenz",
|
"meeting_url_info": "Die URL der Meeting-Konferenz",
|
||||||
"date_overrides": "Datumsüberschreibungen",
|
"date_overrides": "Datumsüberschreibungen",
|
||||||
@@ -1486,6 +1515,7 @@
|
|||||||
"round_robin_hosts": "Round-Robin-Veranstalter",
|
"round_robin_hosts": "Round-Robin-Veranstalter",
|
||||||
"minimum_round_robin_hosts_count": "Anzahl der Veranstalter, die teilnehmen müssen",
|
"minimum_round_robin_hosts_count": "Anzahl der Veranstalter, die teilnehmen müssen",
|
||||||
"hosts": "Veranstalter",
|
"hosts": "Veranstalter",
|
||||||
|
"upgrade_to_enable_feature": "Sie müssen ein Team erstellen, um diese Funktion zu aktivieren. Klicken Sie hier, um ein Team zu erstellen.",
|
||||||
"new_attendee": "Neuer Teilnehmer",
|
"new_attendee": "Neuer Teilnehmer",
|
||||||
"awaiting_approval": "Wartet auf Genehmigung",
|
"awaiting_approval": "Wartet auf Genehmigung",
|
||||||
"requires_google_calendar": "Diese App erfordert eine Verbindung mit Google Calendar",
|
"requires_google_calendar": "Diese App erfordert eine Verbindung mit Google Calendar",
|
||||||
@@ -1494,9 +1524,99 @@
|
|||||||
"continue_to_install_google_calendar": "Installation von Google Calender fortsetzen",
|
"continue_to_install_google_calendar": "Installation von Google Calender fortsetzen",
|
||||||
"install_google_meet": "Google Meet installieren",
|
"install_google_meet": "Google Meet installieren",
|
||||||
"install_google_calendar": "Google Calendar installieren",
|
"install_google_calendar": "Google Calendar installieren",
|
||||||
|
"sender_name": "Absendername",
|
||||||
|
"already_invited": "Teilnehmer bereits eingeladen",
|
||||||
|
"no_recordings_found": "Keine Aufzeichnungen gefunden",
|
||||||
|
"reporting": "Berichte",
|
||||||
|
"reporting_feature": "Alle Daten anzeigen und als CSV herunterladen",
|
||||||
|
"teams_plan_required": "Teamplan benötigt",
|
||||||
|
"routing_forms_are_a_great_way": "Routing-Formulare sind eine gute Möglichkeit, Ihre eingehenden Leads zur richtigen Person zu leiten. Upgrade auf einen Teamplan, um auf diese Funktion zuzugreifen.",
|
||||||
|
"choose_a_license": "Wählen Sie eine Lizenz",
|
||||||
|
"choose_license_description": "Cal.com enthält eine kostenlose AGPLv3-Lizenz, die einige Einschränkungen enthält, die jederzeit auf eine Enterprise-Lizenz aktualisiert werden können. Sie können später jederzeit upgraden.",
|
||||||
|
"license": "Lizenz",
|
||||||
|
"agplv3_license": "AGPLv3 Lizenz",
|
||||||
|
"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": "Sie müssen Ihren Code nicht Open-Source lassen",
|
||||||
|
"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",
|
||||||
|
"forever_open_and_free": "Für immer offen & kostenlos",
|
||||||
|
"required_to_keep_your_code_open_source": "Ihr Code muss Open-Source bleiben",
|
||||||
|
"cannot_repackage_and_resell": "Kann nicht einfach neu verpackt, gerebrandet und weiterverkauft werden",
|
||||||
|
"no_enterprise_features": "Keine Enterprise-Funktionen",
|
||||||
|
"step_enterprise_license": "Enterprise-Lizenz",
|
||||||
|
"step_enterprise_license_description": "Alles für einen kommerziellen Einsatzfall mit privatem Hosting, Umverpackung, Rebranding, Wiederverkauf und Zugriff auf exklusive Enterprise Komponenten.",
|
||||||
|
"setup": "Einrichtung",
|
||||||
|
"setup_description": "Cal.com Instanz einrichten",
|
||||||
"configure": "Konfigurieren",
|
"configure": "Konfigurieren",
|
||||||
"sso_configuration": "SAML-Konfiguration",
|
"sso_configuration": "SAML-Konfiguration",
|
||||||
|
"sso_configuration_description": "SAML/OIDC SSO konfigurieren und Teammitgliedern erlauben, sich mit einem Identity Provider anzumelden",
|
||||||
|
"sso_oidc_heading": "SSO mit OIDC",
|
||||||
|
"sso_oidc_description": "Konfigurieren Sie OIDC SSO mit einem Identity Provider Ihrer Wahl.",
|
||||||
|
"sso_oidc_configuration_title": "OIDC-Konfiguration",
|
||||||
|
"sso_oidc_configuration_description": "Konfigurieren Sie die OIDC-Verbindung zu Ihrem Identitätsanbieter. Sie finden die erforderlichen Informationen in Ihrem Identitätsanbieter.",
|
||||||
|
"sso_oidc_callback_copied": "Callback-URL kopiert",
|
||||||
|
"sso_saml_heading": "SSO mit SAML",
|
||||||
|
"sso_saml_description": "Konfigurieren Sie SAML SSO mit Identity Provider Ihrer Wahl.",
|
||||||
|
"sso_saml_configuration_title": "SAML-Konfiguration",
|
||||||
|
"sso_saml_configuration_description": "Konfigurieren Sie SAML-Verbindung zu Ihrem Identitätsanbieter. Sie finden die erforderlichen Informationen in Ihrem Identitätsanbieter.",
|
||||||
|
"sso_saml_acsurl_copied": "ACS-URL kopiert",
|
||||||
|
"sso_saml_entityid_copied": "Entitäts-ID kopiert",
|
||||||
|
"sso_connection_created_successfully": "{{connectionType}} Konfiguration erfolgreich erstellt",
|
||||||
|
"sso_connection_deleted_successfully": "{{connectionType}} Konfiguration erfolgreich gelöscht",
|
||||||
|
"delete_sso_configuration": "Lösche {{connectionType}} Konfiguration",
|
||||||
|
"delete_sso_configuration_confirmation": "Ja, {{connectionType}} Konfiguration löschen",
|
||||||
|
"delete_sso_configuration_confirmation_description": "Sind Sie sicher, dass Sie die {{connectionType}} -Konfiguration löschen möchten? Ihre Teammitglieder, die {{connectionType}} anmelden, werden keinen Zugriff mehr auf Cal.com haben.",
|
||||||
|
"organizer_timezone": "Zeitzone des Veranstalters",
|
||||||
"email_no_user_cta": "Erstellen Sie Ihr Konto",
|
"email_no_user_cta": "Erstellen Sie Ihr Konto",
|
||||||
|
"email_user_cta": "Einladung anzeigen",
|
||||||
|
"email_no_user_invite_heading": "Sie wurden eingeladen dem Team {{appName}} beizutreten",
|
||||||
|
"email_no_user_invite_subheading": "{{invitedBy}} hat Sie eingeladen, dem Team {{appName}} beizutreten. {{appName}} ist der Event-Planer, der es Ihnen und Ihrem Team ermöglicht, Meetings ohne E-Mail Tennis zu planen.",
|
||||||
|
"email_no_user_invite_steps_intro": "Wir begleiten Sie durch ein paar Schritte und Sie genießen stressfreie Planung mit Ihrem Team in kürzester Zeit.",
|
||||||
|
"email_no_user_step_one": "Benutzernamen auswählen",
|
||||||
|
"email_no_user_step_two": "Kalenderkonto verbinden",
|
||||||
|
"email_no_user_step_three": "Verfügbarkeit festlegen",
|
||||||
|
"email_no_user_step_four": "{{teamName}} beitreten",
|
||||||
|
"email_no_user_signoff": "Glückliche Terminplanung wünscht das {{appName}} Team",
|
||||||
|
"impersonation_user_tip": "Sie sind dabei einen Benutzer zu identifizieren, was bedeutet, dass Sie Änderungen in ihrem Namen vornehmen können. Bitte seien Sie vorsichtig.",
|
||||||
|
"scheduler": "{Scheduler}",
|
||||||
|
"available_variables": "Verfügbare Variablen",
|
||||||
|
"recommended_next_steps": "Empfohlene nächste Schritte",
|
||||||
|
"create_a_managed_event": "Erstellen Sie ein verwalteten Ereignistyp",
|
||||||
|
"meetings_are_better_with_the_right": "Treffen sind besser mit den richtigen Teammitgliedern. Laden Sie sie jetzt ein.",
|
||||||
|
"collective_or_roundrobin": "Kollektiv oder Round-Robin",
|
||||||
|
"book_your_team_members": "Buchen Sie Ihre Teammitglieder zusammen mit Kollektivveranstaltungen oder wählen Sie anhand Round-Robin die richtige Person.",
|
||||||
|
"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",
|
"change_default_conferencing_app": "Als Standard festlegen",
|
||||||
"booking_confirmation_failed": "Buchungsbestätigung fehlgeschlagen"
|
"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",
|
||||||
|
"booking_with_payment_cancelled": "Zahlung für dieses Ereignis ist nicht mehr möglich",
|
||||||
|
"booking_with_payment_cancelled_already_paid": "Eine Rückerstattung für diese Buchungszahlung ist auf dem Weg.",
|
||||||
|
"booking_with_payment_cancelled_refunded": "Diese Buchungszahlung wurde zurückerstattet.",
|
||||||
|
"booking_confirmation_failed": "Buchungsbestätigung fehlgeschlagen",
|
||||||
|
"get_started_zapier_templates": "Beginnen Sie mit Zapier-Templates",
|
||||||
|
"a_routing_form": "Ein Routing-Formular",
|
||||||
|
"form_description_placeholder": "Formularbeschreibung",
|
||||||
|
"keep_me_connected_with_form": "Mich mit dem Formular verbunden lassen",
|
||||||
|
"fields_in_form_duplicated": "Alle Änderungen in Router und Felder des Formulars, die dupliziert werden, werden auch im Duplikat wiedergegeben.",
|
||||||
|
"form_deleted": "Formular gelöscht",
|
||||||
|
"delete_form": "Formular löschen",
|
||||||
|
"delete_form_action": "Ja, Formular löschen",
|
||||||
|
"delete_form_confirmation": "Sind Sie sicher, dass Sie dieses Formular löschen möchten? Jede Person, mit dem Link kann nicht mehr mit dem Formular buchen. Außerdem wurden alle zugehörigen Antworten gelöscht.",
|
||||||
|
"typeform_redirect_url_copied": "Typeform Umleitungs-URL kopiert! Sie können die URL in Typeform einstellen.",
|
||||||
|
"modifications_in_fields_warning": "Änderungen in den Feldern und Routen der folgenden Formulare werden in diesem Formular reflektiert.",
|
||||||
|
"connected_forms": "Verbundene Formulare",
|
||||||
|
"form_modifications_warning": "Folgende Formulare wären betroffen, wenn Sie hier Felder oder Routen ändern.",
|
||||||
|
"responses_collection_waiting_description": "Warten Sie einige Zeit, bis Antworten gesammelt werden. Sie können das Formular auch selbst abschicken.",
|
||||||
|
"this_is_what_your_users_would_see": "Dies ist, was Ihre Benutzer sehen würden",
|
||||||
|
"identifies_name_field": "Identifiziert Feld mit diesem Namen.",
|
||||||
|
"add_1_option_per_line": "1 Option pro Zeile hinzufügen",
|
||||||
|
"select_a_router": "Router auswählen",
|
||||||
|
"add_a_new_route": "Neue Route hinzufügen",
|
||||||
|
"no_responses_yet": "Noch keine Antworten",
|
||||||
|
"this_will_be_the_placeholder": "Dies wird der Platzhalter sein"
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
"upgrade_now": "Mettre à niveau maintenant",
|
"upgrade_now": "Mettre à niveau maintenant",
|
||||||
"accept_invitation": "Accepter l'invitation",
|
"accept_invitation": "Accepter l'invitation",
|
||||||
"calcom_explained": "{{appName}} fournit une infrastructure de planification pour absolument tout le monde.",
|
"calcom_explained": "{{appName}} fournit une infrastructure de planification pour absolument tout le monde.",
|
||||||
|
"calcom_explained_new_user": "Terminez la configuration de votre compte {{appName}} ! Vous n'êtes qu'à quelques pas de résoudre tous vos problèmes de planification.",
|
||||||
"have_any_questions": "Vous avez des questions ? Nous sommes là pour vous aider.",
|
"have_any_questions": "Vous avez des questions ? Nous sommes là pour vous aider.",
|
||||||
"reset_password_subject": "{{appName}} : Instructions de réinitialisation de mot de passe",
|
"reset_password_subject": "{{appName}} : Instructions de réinitialisation de mot de passe",
|
||||||
"event_declined_subject": "Refusé : {{title}} à {{date}}",
|
"event_declined_subject": "Refusé : {{title}} à {{date}}",
|
||||||
@@ -20,9 +21,11 @@
|
|||||||
"cancellation_reason_placeholder": "Pourquoi annulez-vous ?",
|
"cancellation_reason_placeholder": "Pourquoi annulez-vous ?",
|
||||||
"rejection_reason": "Motif de refus",
|
"rejection_reason": "Motif de refus",
|
||||||
"rejection_reason_title": "Refuser la demande de réservation ?",
|
"rejection_reason_title": "Refuser la demande de réservation ?",
|
||||||
"rejection_reason_description": "Êtes-vous sûr(e) de vouloir refuser la réservation ? Nous informerons la personne qui a tenté de réserver. Vous pouvez fournir un motif ci-dessous.",
|
"rejection_reason_description": "Voulez-vous vraiment refuser la réservation ? Nous informerons la personne qui a tenté de réserver. Vous pouvez fournir un motif ci-dessous.",
|
||||||
"rejection_confirmation": "Refuser la réservation",
|
"rejection_confirmation": "Refuser la réservation",
|
||||||
"manage_this_event": "Gérer cet événement",
|
"manage_this_event": "Gérer cet événement",
|
||||||
|
"invite_team_member": "Inviter un membre d'équipe",
|
||||||
|
"invite_team_notifcation_badge": "Inv.",
|
||||||
"your_event_has_been_scheduled": "Votre événement a été planifié",
|
"your_event_has_been_scheduled": "Votre événement a été planifié",
|
||||||
"your_event_has_been_scheduled_recurring": "Votre événement récurrent a été planifié",
|
"your_event_has_been_scheduled_recurring": "Votre événement récurrent a été planifié",
|
||||||
"accept_our_license": "Acceptez notre licence en changeant la variable .env <1>NEXT_PUBLIC_LICENSE_CONSENT</1> en « {{agree}} ».",
|
"accept_our_license": "Acceptez notre licence en changeant la variable .env <1>NEXT_PUBLIC_LICENSE_CONSENT</1> en « {{agree}} ».",
|
||||||
@@ -108,13 +111,13 @@
|
|||||||
"link_expires": "p.s. Il expire dans {{expiresIn}} heures.",
|
"link_expires": "p.s. Il expire dans {{expiresIn}} heures.",
|
||||||
"upgrade_to_per_seat": "Mise à niveau vers la place",
|
"upgrade_to_per_seat": "Mise à niveau vers la place",
|
||||||
"team_upgrade_seats_details": "Parmi les {{memberCount}} membres de votre équipe, {{unpaidCount}} place(s) sont impayées. À {{seatPrice}} $/mois par place, le coût total estimé de votre abonnement est de {{totalCost}} $/mois.",
|
"team_upgrade_seats_details": "Parmi les {{memberCount}} membres de votre équipe, {{unpaidCount}} place(s) sont impayées. À {{seatPrice}} $/mois par place, le coût total estimé de votre abonnement est de {{totalCost}} $/mois.",
|
||||||
"team_upgrade_banner_description": "Merci d'avoir essayé notre nouveau plan d'équipe. Nous avons remarqué que votre équipe « {{teamName}} » doit être mise à niveau.",
|
"team_upgrade_banner_description": "Merci d'avoir essayé notre nouveau plan Équipes. Nous avons remarqué que votre équipe « {{teamName}} » doit être mise à niveau.",
|
||||||
"team_upgrade_banner_action": "Mettre à niveau",
|
"team_upgrade_banner_action": "Mettre à niveau",
|
||||||
"team_upgraded_successfully": "Votre équipe a été mise à niveau avec succès !",
|
"team_upgraded_successfully": "Votre équipe a été mise à niveau avec succès !",
|
||||||
"use_link_to_reset_password": "Utilisez le lien ci-dessous pour réinitialiser votre mot de passe",
|
"use_link_to_reset_password": "Utilisez le lien ci-dessous pour réinitialiser votre mot de passe",
|
||||||
"hey_there": "Salut,",
|
"hey_there": "Salut,",
|
||||||
"forgot_your_password_calcom": "Mot de passe oublié ? - {{appName}}",
|
"forgot_your_password_calcom": "Mot de passe oublié ? - {{appName}}",
|
||||||
"delete_webhook_confirmation_message": "Êtes-vous sûr(e) de vouloir supprimer ce webhook ? Vous ne recevrez plus les données de rendez-vous de {{appName}} à un lien spécifié, en temps réel, lorsqu'un événement est planifié ou annulé.",
|
"delete_webhook_confirmation_message": "Voulez-vous vraiment supprimer ce webhook ? Vous ne recevrez plus les données de rendez-vous de {{appName}} à un lien spécifié, en temps réel, lorsqu'un événement est planifié ou annulé.",
|
||||||
"confirm_delete_webhook": "Oui, supprimer le webhook",
|
"confirm_delete_webhook": "Oui, supprimer le webhook",
|
||||||
"edit_webhook": "Modifier le webhook",
|
"edit_webhook": "Modifier le webhook",
|
||||||
"delete_webhook": "Supprimer le webhook",
|
"delete_webhook": "Supprimer le webhook",
|
||||||
@@ -410,6 +413,8 @@
|
|||||||
"password_updated_successfully": "Mot de passe mis à jour avec succès",
|
"password_updated_successfully": "Mot de passe mis à jour avec succès",
|
||||||
"password_has_been_changed": "Votre mot de passe a été modifié avec succès.",
|
"password_has_been_changed": "Votre mot de passe a été modifié avec succès.",
|
||||||
"error_changing_password": "Erreur lors de la modification du mot de passe",
|
"error_changing_password": "Erreur lors de la modification du mot de passe",
|
||||||
|
"session_timeout_changed": "La configuration de votre session a été mise à jour avec succès.",
|
||||||
|
"session_timeout_change_error": "Erreur lors de la mise à jour de la configuration de la session",
|
||||||
"something_went_wrong": "Une erreur s'est produite.",
|
"something_went_wrong": "Une erreur s'est produite.",
|
||||||
"something_doesnt_look_right": "Quelque chose ne va pas ?",
|
"something_doesnt_look_right": "Quelque chose ne va pas ?",
|
||||||
"please_try_again": "Veuillez réessayer.",
|
"please_try_again": "Veuillez réessayer.",
|
||||||
@@ -423,11 +428,12 @@
|
|||||||
"forgotten_secret_description": "Vous pouvez modifier ce secret si vous l'avez perdu ou oublié. Soyez cependant conscient que toutes les intégrations l'utilisant devront être mises à jour.",
|
"forgotten_secret_description": "Vous pouvez modifier ce secret si vous l'avez perdu ou oublié. Soyez cependant conscient que toutes les intégrations l'utilisant devront être mises à jour.",
|
||||||
"current_incorrect_password": "Le mot de passe actuel est incorrect",
|
"current_incorrect_password": "Le mot de passe actuel est incorrect",
|
||||||
"password_hint_caplow": "Mélange de lettres majuscules et minuscules",
|
"password_hint_caplow": "Mélange de lettres majuscules et minuscules",
|
||||||
"password_hint_min": "Minimum 7 caractères",
|
"password_hint_min": "7 caractères minimum",
|
||||||
"password_hint_admin_min": "Minimum 15 caractères",
|
"password_hint_admin_min": "Minimum 15 caractères",
|
||||||
"password_hint_num": "Contient au moins 1 chiffre",
|
"password_hint_num": "Contient au moins 1 chiffre",
|
||||||
"invalid_password_hint": "Le mot de passe doit contenir au moins {{passwordLength}} caractères, un chiffre et un mélange de lettres, majuscules et minuscules.",
|
"invalid_password_hint": "Le mot de passe doit contenir au moins {{passwordLength}} caractères, un chiffre et un mélange de lettres majuscules et minuscules.",
|
||||||
"incorrect_password": "Le mot de passe est incorrect.",
|
"incorrect_password": "Le mot de passe est incorrect.",
|
||||||
|
"incorrect_username_password": "Le nom d'utilisateur ou le mot de passe est incorrect.",
|
||||||
"24_h": "24 h",
|
"24_h": "24 h",
|
||||||
"use_setting": "Utiliser le paramètre",
|
"use_setting": "Utiliser le paramètre",
|
||||||
"am_pm": "AM/PM",
|
"am_pm": "AM/PM",
|
||||||
@@ -455,6 +461,7 @@
|
|||||||
"slots_load_fail": "Impossible de charger les créneaux disponibles.",
|
"slots_load_fail": "Impossible de charger les créneaux disponibles.",
|
||||||
"additional_guests": "Ajouter des invités",
|
"additional_guests": "Ajouter des invités",
|
||||||
"your_name": "Votre nom",
|
"your_name": "Votre nom",
|
||||||
|
"your_full_name": "Votre nom complet",
|
||||||
"email_address": "Adresse e-mail",
|
"email_address": "Adresse e-mail",
|
||||||
"enter_valid_email": "Veuillez saisir une adresse e-mail valide",
|
"enter_valid_email": "Veuillez saisir une adresse e-mail valide",
|
||||||
"location": "Lieu",
|
"location": "Lieu",
|
||||||
@@ -508,6 +515,8 @@
|
|||||||
"admin": "Administrateur",
|
"admin": "Administrateur",
|
||||||
"administrator_user": "Utilisateur administrateur",
|
"administrator_user": "Utilisateur administrateur",
|
||||||
"lets_create_first_administrator_user": "Nous allons créer le premier utilisateur administrateur.",
|
"lets_create_first_administrator_user": "Nous allons créer le premier utilisateur administrateur.",
|
||||||
|
"admin_user_created": "Utilisateur administrateur configuré",
|
||||||
|
"admin_user_created_description": "Vous avez déjà créé un utilisateur administrateur. Vous pouvez maintenant vous connecter à votre compte.",
|
||||||
"new_member": "Nouveau membre",
|
"new_member": "Nouveau membre",
|
||||||
"invite": "Inviter",
|
"invite": "Inviter",
|
||||||
"add_team_members": "Ajouter des membres d'équipe",
|
"add_team_members": "Ajouter des membres d'équipe",
|
||||||
@@ -531,8 +540,8 @@
|
|||||||
"confirm": "Confirmer",
|
"confirm": "Confirmer",
|
||||||
"confirm_all": "Confirmer tout",
|
"confirm_all": "Confirmer tout",
|
||||||
"disband_team": "Dissoudre l'équipe",
|
"disband_team": "Dissoudre l'équipe",
|
||||||
"disband_team_confirmation_message": "Êtes-vous sûr(e) de vouloir dissoudre cette équipe ? Toute personne avec qui vous avez partagé ce lien d'équipe ne pourra plus faire de réservation en l'utilisant.",
|
"disband_team_confirmation_message": "Voulez-vous vraiment dissoudre cette équipe ? Toute personne avec qui vous avez partagé ce lien d'équipe ne pourra plus faire de réservation en l'utilisant.",
|
||||||
"remove_member_confirmation_message": "Êtes-vous sûr de vouloir retirer ce membre de l'équipe ?",
|
"remove_member_confirmation_message": "Voulez-vous vraiment supprimer ce membre de l'équipe ?",
|
||||||
"confirm_disband_team": "Oui, dissoudre l'équipe",
|
"confirm_disband_team": "Oui, dissoudre l'équipe",
|
||||||
"confirm_remove_member": "Oui, retirer le membre",
|
"confirm_remove_member": "Oui, retirer le membre",
|
||||||
"remove_member": "Supprimer le membre",
|
"remove_member": "Supprimer le membre",
|
||||||
@@ -551,7 +560,7 @@
|
|||||||
"copy_link_team": "Copier le lien vers l'équipe",
|
"copy_link_team": "Copier le lien vers l'équipe",
|
||||||
"leave_team": "Quitter l'équipe",
|
"leave_team": "Quitter l'équipe",
|
||||||
"confirm_leave_team": "Oui, quitter l'équipe",
|
"confirm_leave_team": "Oui, quitter l'équipe",
|
||||||
"leave_team_confirmation_message": "Êtes-vous sûr(e) de vouloir quitter cette équipe ? Vous ne pourrez plus l'utiliser pour effectuer des réservations.",
|
"leave_team_confirmation_message": "Voulez-vous vraiment quitter cette équipe ? Vous ne pourrez plus l'utiliser pour effectuer des réservations.",
|
||||||
"user_from_team": "{{user}} de {{team}}",
|
"user_from_team": "{{user}} de {{team}}",
|
||||||
"preview": "Aperçu",
|
"preview": "Aperçu",
|
||||||
"link_copied": "Lien copié !",
|
"link_copied": "Lien copié !",
|
||||||
@@ -658,6 +667,7 @@
|
|||||||
"edit_availability": "Modifier les disponibilités",
|
"edit_availability": "Modifier les disponibilités",
|
||||||
"configure_availability": "Définissez les moments où vous êtes disponible pour les réservations.",
|
"configure_availability": "Définissez les moments où vous êtes disponible pour les réservations.",
|
||||||
"copy_times_to": "Copier les créneaux vers",
|
"copy_times_to": "Copier les créneaux vers",
|
||||||
|
"copy_times_to_tooltip": "Copier les horaires dans…",
|
||||||
"change_weekly_schedule": "Modifier votre planning hebdomadaire",
|
"change_weekly_schedule": "Modifier votre planning hebdomadaire",
|
||||||
"logo": "Logo",
|
"logo": "Logo",
|
||||||
"error": "Erreur",
|
"error": "Erreur",
|
||||||
@@ -669,8 +679,9 @@
|
|||||||
"add_attendees": "Ajouter des participants",
|
"add_attendees": "Ajouter des participants",
|
||||||
"show_advanced_settings": "Afficher les paramètres avancés",
|
"show_advanced_settings": "Afficher les paramètres avancés",
|
||||||
"event_name": "Nom de l'événement",
|
"event_name": "Nom de l'événement",
|
||||||
|
"event_name_in_calendar": "Nom de l'événement dans le calendrier",
|
||||||
"event_name_tooltip": "Le nom qui apparaîtra dans les calendriers",
|
"event_name_tooltip": "Le nom qui apparaîtra dans les calendriers",
|
||||||
"meeting_with_user": "Rendez-vous avec {{attendeeName}}",
|
"meeting_with_user": "{Event type title} entre {Organiser} et {Scheduler}",
|
||||||
"additional_inputs": "Champs supplémentaires",
|
"additional_inputs": "Champs supplémentaires",
|
||||||
"additional_input_description": "Exiger que le planificateur saisisse des champs supplémentaires avant la confirmation de la réservation.",
|
"additional_input_description": "Exiger que le planificateur saisisse des champs supplémentaires avant la confirmation de la réservation.",
|
||||||
"label": "Libellé",
|
"label": "Libellé",
|
||||||
@@ -723,12 +734,12 @@
|
|||||||
"minimum_booking_notice": "Préavis minimum",
|
"minimum_booking_notice": "Préavis minimum",
|
||||||
"slot_interval": "Fréquence de créneaux horaires",
|
"slot_interval": "Fréquence de créneaux horaires",
|
||||||
"slot_interval_default": "Utiliser la durée de l'événement (par défaut)",
|
"slot_interval_default": "Utiliser la durée de l'événement (par défaut)",
|
||||||
"delete_event_type_description": "Êtes-vous sûr(e) de vouloir supprimer ce type d'événement ? Toute personne avec qui vous avez partagé ce lien ne pourra plus faire de réservation en l'utilisant.",
|
"delete_event_type_description": "Voulez-vous vraiment supprimer ce type d'événement ? Toute personne avec qui vous avez partagé ce lien ne pourra plus faire de réservation en l'utilisant.",
|
||||||
"delete_event_type": "Supprimer le type d'événement",
|
"delete_event_type": "Supprimer le type d'événement",
|
||||||
"confirm_delete_event_type": "Oui, supprimer le type d'événement",
|
"confirm_delete_event_type": "Oui, supprimer le type d'événement",
|
||||||
"delete_account": "Supprimer le compte",
|
"delete_account": "Supprimer le compte",
|
||||||
"confirm_delete_account": "Oui, supprimer le compte",
|
"confirm_delete_account": "Oui, supprimer le compte",
|
||||||
"delete_account_confirmation_message": "Êtes-vous sûr(e) de vouloir supprimer votre compte {{appName}} ? Toute personne avec qui vous avez partagé le lien de votre compte ne pourra plus réserver en utilisant ce lien et toutes les préférences que vous avez sauvegardées seront perdues.",
|
"delete_account_confirmation_message": "Voulez-vous vraiment supprimer votre compte {{appName}} ? Toute personne avec qui vous avez partagé le lien de votre compte ne pourra plus réserver en utilisant ce lien et toutes les préférences que vous avez sauvegardées seront perdues.",
|
||||||
"integrations": "Intégrations",
|
"integrations": "Intégrations",
|
||||||
"apps": "Applications",
|
"apps": "Applications",
|
||||||
"apps_description": "Vous trouverez ici une liste de vos applications.",
|
"apps_description": "Vous trouverez ici une liste de vos applications.",
|
||||||
@@ -787,6 +798,7 @@
|
|||||||
"number_apps_one": "{{count}} Application",
|
"number_apps_one": "{{count}} Application",
|
||||||
"number_apps_other": "{{count}} applications",
|
"number_apps_other": "{{count}} applications",
|
||||||
"trending_apps": "Applications populaires",
|
"trending_apps": "Applications populaires",
|
||||||
|
"most_popular": "Le plus populaire",
|
||||||
"explore_apps": "Applications {{category}}",
|
"explore_apps": "Applications {{category}}",
|
||||||
"installed_apps": "Applications installées",
|
"installed_apps": "Applications installées",
|
||||||
"free_to_use_apps": "Gratuit",
|
"free_to_use_apps": "Gratuit",
|
||||||
@@ -797,12 +809,14 @@
|
|||||||
"no_category_apps_description_analytics": "Ajoutez une application d'analyse pour vos pages de réservation.",
|
"no_category_apps_description_analytics": "Ajoutez une application d'analyse pour vos pages de réservation.",
|
||||||
"no_category_apps_description_automation": "Ajoutez une application d'automatisation.",
|
"no_category_apps_description_automation": "Ajoutez une application d'automatisation.",
|
||||||
"no_category_apps_description_other": "Ajoutez n'importe quel autre type d'application pour faire toutes sortes de choses.",
|
"no_category_apps_description_other": "Ajoutez n'importe quel autre type d'application pour faire toutes sortes de choses.",
|
||||||
|
"no_category_apps_description_web3": "Ajoutez une application Web3 pour vos pages de réservation.",
|
||||||
"installed_app_calendar_description": "Définissez les calendriers pour vérifier les conflits afin d'éviter les réservations en double.",
|
"installed_app_calendar_description": "Définissez les calendriers pour vérifier les conflits afin d'éviter les réservations en double.",
|
||||||
"installed_app_conferencing_description": "Ajoutez vos applications de visioconférence préférées pour vos rendez-vous.",
|
"installed_app_conferencing_description": "Ajoutez vos applications de visioconférence préférées pour vos rendez-vous.",
|
||||||
"installed_app_payment_description": "Configurez les services de traitement de paiement à utiliser lors de la facturation de vos clients.",
|
"installed_app_payment_description": "Configurez les services de traitement de paiement à utiliser lors de la facturation de vos clients.",
|
||||||
"installed_app_analytics_description": "Configurez les applications d'analyse à utiliser pour vos pages de réservation.",
|
"installed_app_analytics_description": "Configurez les applications d'analyse à utiliser pour vos pages de réservation.",
|
||||||
"installed_app_other_description": "Toutes vos applications installées à partir d'autres catégories.",
|
"installed_app_other_description": "Toutes vos applications installées à partir d'autres catégories.",
|
||||||
"installed_app_automation_description": "Configurez les applications d'automatisation à utiliser.",
|
"installed_app_automation_description": "Configurez les applications d'automatisation à utiliser.",
|
||||||
|
"installed_app_web3_description": "Configurez les applications Web3 à utiliser pour vos pages de réservation.",
|
||||||
"analytics": "Analytiques",
|
"analytics": "Analytiques",
|
||||||
"empty_installed_apps_headline": "Aucune application installée",
|
"empty_installed_apps_headline": "Aucune application installée",
|
||||||
"empty_installed_apps_description": "Les applications vous permettent d'améliorer votre workflow et votre processus de planification de façon significative.",
|
"empty_installed_apps_description": "Les applications vous permettent d'améliorer votre workflow et votre processus de planification de façon significative.",
|
||||||
@@ -829,7 +843,7 @@
|
|||||||
"connect_metamask": "Connecter MetaMask",
|
"connect_metamask": "Connecter MetaMask",
|
||||||
"create_events_on": "Créer des événements dans :",
|
"create_events_on": "Créer des événements dans :",
|
||||||
"enterprise_license": "Il s'agit d'une fonctionnalité d'entreprise",
|
"enterprise_license": "Il s'agit d'une fonctionnalité d'entreprise",
|
||||||
"enterprise_license_description": "Pour activer cette fonctionnalité, obtenez une clé de déploiement sur la console {{consoleUrl}} et ajoutez-la à votre fichier .env en tant que CALCOM_LICENSE_KEY. Si votre équipe a déjà une licence, veuillez contacter {{supportMail}} pour obtenir de l'aide.",
|
"enterprise_license_description": "Pour activer cette fonctionnalité, demandez à un administrateur d'accéder à {{setupUrl}} pour saisir une clé de licence. Si une clé de licence est déjà en place, veuillez contacter {{supportMail}} pour obtenir de l'aide.",
|
||||||
"missing_license": "Licence manquante",
|
"missing_license": "Licence manquante",
|
||||||
"signup_requires": "Licence commerciale requise",
|
"signup_requires": "Licence commerciale requise",
|
||||||
"signup_requires_description": "{{companyName}} ne propose actuellement pas de version open source gratuite de la page d'inscription. Pour recevoir un accès complet aux composants d'inscription, vous devez acquérir une licence commerciale. Pour un usage personnel, nous recommandons la plateforme de données Prisma ou toute autre interface Postgres pour créer des comptes.",
|
"signup_requires_description": "{{companyName}} ne propose actuellement pas de version open source gratuite de la page d'inscription. Pour recevoir un accès complet aux composants d'inscription, vous devez acquérir une licence commerciale. Pour un usage personnel, nous recommandons la plateforme de données Prisma ou toute autre interface Postgres pour créer des comptes.",
|
||||||
@@ -930,6 +944,11 @@
|
|||||||
"current_location": "Lieu actuel",
|
"current_location": "Lieu actuel",
|
||||||
"user_phone": "Votre numéro de téléphone",
|
"user_phone": "Votre numéro de téléphone",
|
||||||
"new_location": "Nouveau lieu",
|
"new_location": "Nouveau lieu",
|
||||||
|
"session": "Session",
|
||||||
|
"session_description": "Contrôlez la session de votre compte.",
|
||||||
|
"session_timeout_after": "Expiration de la session après",
|
||||||
|
"session_timeout": "Expiration de la session",
|
||||||
|
"session_timeout_description": "Invalidez votre session après un certain temps.",
|
||||||
"no_location": "Aucun lieu défini",
|
"no_location": "Aucun lieu défini",
|
||||||
"set_location": "Définir le lieu",
|
"set_location": "Définir le lieu",
|
||||||
"update_location": "Mettre à jour le lieu",
|
"update_location": "Mettre à jour le lieu",
|
||||||
@@ -1010,7 +1029,7 @@
|
|||||||
"workflow_name": "Nom du workflow",
|
"workflow_name": "Nom du workflow",
|
||||||
"custom_workflow": "Workflow personnalisé",
|
"custom_workflow": "Workflow personnalisé",
|
||||||
"workflow_created_successfully": "{{workflowName}} créé avec succès",
|
"workflow_created_successfully": "{{workflowName}} créé avec succès",
|
||||||
"delete_workflow_description": "Êtes-vous sûr(e) de vouloir supprimer ce workflow ?",
|
"delete_workflow_description": "Voulez-vous vraiment supprimer ce workflow ?",
|
||||||
"delete_workflow": "Supprimer le workflow",
|
"delete_workflow": "Supprimer le workflow",
|
||||||
"confirm_delete_workflow": "Oui, supprimer le workflow",
|
"confirm_delete_workflow": "Oui, supprimer le workflow",
|
||||||
"workflow_deleted_successfully": "Workflow supprimé avec succès",
|
"workflow_deleted_successfully": "Workflow supprimé avec succès",
|
||||||
@@ -1034,7 +1053,7 @@
|
|||||||
"trial_expired": "Votre période d'essai a expiré",
|
"trial_expired": "Votre période d'essai a expiré",
|
||||||
"remove_app": "Supprimer l'application",
|
"remove_app": "Supprimer l'application",
|
||||||
"yes_remove_app": "Oui, supprimer l'application",
|
"yes_remove_app": "Oui, supprimer l'application",
|
||||||
"are_you_sure_you_want_to_remove_this_app": "Êtes-vous sûr(e) de vouloir supprimer cette application ?",
|
"are_you_sure_you_want_to_remove_this_app": "Voulez-vous vraiment supprimer cette application ?",
|
||||||
"app_removed_successfully": "Application supprimée avec succès",
|
"app_removed_successfully": "Application supprimée avec succès",
|
||||||
"error_removing_app": "Erreur lors de la suppression de l'application",
|
"error_removing_app": "Erreur lors de la suppression de l'application",
|
||||||
"web_conference": "Visioconférence",
|
"web_conference": "Visioconférence",
|
||||||
@@ -1073,6 +1092,7 @@
|
|||||||
"broken_video_action": "Nous n'avons pas pu ajouter le lien <1>{{location}}</1> à votre événement planifié. Contactez vos invités ou mettez à jour votre événement de calendrier pour ajouter les détails. Vous pouvez <3> changer le lieu sur le type d'événement</3> ou essayer <5>de supprimer et d'ajouter à nouveau l'application.</5>",
|
"broken_video_action": "Nous n'avons pas pu ajouter le lien <1>{{location}}</1> à votre événement planifié. Contactez vos invités ou mettez à jour votre événement de calendrier pour ajouter les détails. Vous pouvez <3> changer le lieu sur le type d'événement</3> ou essayer <5>de supprimer et d'ajouter à nouveau l'application.</5>",
|
||||||
"broken_calendar_action": "Nous n'avons pas pu mettre à jour votre <1>{{calendar}}</1>. <2> Veuillez vérifier les paramètres de votre calendrier ou supprimer et ajouter votre calendrier à nouveau </2>",
|
"broken_calendar_action": "Nous n'avons pas pu mettre à jour votre <1>{{calendar}}</1>. <2> Veuillez vérifier les paramètres de votre calendrier ou supprimer et ajouter votre calendrier à nouveau </2>",
|
||||||
"attendee_name": "Nom du participant",
|
"attendee_name": "Nom du participant",
|
||||||
|
"scheduler_full_name": "Le nom complet de la personne qui effectue la réservation",
|
||||||
"broken_integration": "Intégration défaillante",
|
"broken_integration": "Intégration défaillante",
|
||||||
"problem_adding_video_link": "Un problème est survenu lors de l'ajout d'un lien vidéo",
|
"problem_adding_video_link": "Un problème est survenu lors de l'ajout d'un lien vidéo",
|
||||||
"problem_updating_calendar": "Un problème est survenu lors de la mise à jour de votre calendrier",
|
"problem_updating_calendar": "Un problème est survenu lors de la mise à jour de votre calendrier",
|
||||||
@@ -1098,8 +1118,8 @@
|
|||||||
"upgrade_to_access_recordings_title": "Mettez à niveau pour accéder aux enregistrements",
|
"upgrade_to_access_recordings_title": "Mettez à niveau pour accéder aux enregistrements",
|
||||||
"upgrade_to_access_recordings_description": "Les enregistrements ne sont disponibles que dans le plan d'équipes. Mettez à niveau pour commencer à enregistrer vos appels.",
|
"upgrade_to_access_recordings_description": "Les enregistrements ne sont disponibles que dans le plan d'équipes. Mettez à niveau pour commencer à enregistrer vos appels.",
|
||||||
"recordings_are_part_of_the_teams_plan": "Les enregistrements font partie du plan d'équipes",
|
"recordings_are_part_of_the_teams_plan": "Les enregistrements font partie du plan d'équipes",
|
||||||
"team_feature_teams": "Ceci est une fonctionnalité d'équipe. Mettez à jour vers le plan Team pour voir les disponibilités de votre équipe.",
|
"team_feature_teams": "Ceci est une fonctionnalité d'équipe. Mettez à jour vers le plan Équipes pour voir les disponibilités de votre équipe.",
|
||||||
"team_feature_workflows": "Ceci est une fonctionnalité d'équipe. Mettez à jour vers le plan Team pour automatiser vos notifications et rappels d'événements avec les workflows.",
|
"team_feature_workflows": "Ceci est une fonctionnalité d'équipe. Mettez à jour vers le plan Équipes pour automatiser vos notifications et rappels d'événements avec les workflows.",
|
||||||
"show_eventtype_on_profile": "Afficher sur le profil",
|
"show_eventtype_on_profile": "Afficher sur le profil",
|
||||||
"embed": "Intégrer",
|
"embed": "Intégrer",
|
||||||
"new_username": "Nouveau nom d'utilisateur",
|
"new_username": "Nouveau nom d'utilisateur",
|
||||||
@@ -1123,7 +1143,7 @@
|
|||||||
"no_input": "Aucun champ",
|
"no_input": "Aucun champ",
|
||||||
"test_workflow_action": "Tester l'action du workflow",
|
"test_workflow_action": "Tester l'action du workflow",
|
||||||
"send_sms": "Envoyer un SMS",
|
"send_sms": "Envoyer un SMS",
|
||||||
"send_sms_to_number": "Êtes-vous sûr(e) de vouloir envoyer un SMS au {{number}} ?",
|
"send_sms_to_number": "Voulez-vous vraiment envoyer un SMS au {{number}} ?",
|
||||||
"missing_connected_calendar": "Aucun calendrier par défaut connecté",
|
"missing_connected_calendar": "Aucun calendrier par défaut connecté",
|
||||||
"connect_your_calendar_and_link": "Vous pouvez connecter votre calendrier depuis <1>ici</1>.",
|
"connect_your_calendar_and_link": "Vous pouvez connecter votre calendrier depuis <1>ici</1>.",
|
||||||
"default_calendar_selected": "Calendrier par défaut",
|
"default_calendar_selected": "Calendrier par défaut",
|
||||||
@@ -1152,7 +1172,7 @@
|
|||||||
"personal_cal_url": "Mon lien {{appName}} personnel",
|
"personal_cal_url": "Mon lien {{appName}} personnel",
|
||||||
"bio_hint": "Quelques mots à propos de vous. Ces informations apparaîtront sur votre page publique.",
|
"bio_hint": "Quelques mots à propos de vous. Ces informations apparaîtront sur votre page publique.",
|
||||||
"delete_account_modal_title": "Supprimer le compte",
|
"delete_account_modal_title": "Supprimer le compte",
|
||||||
"confirm_delete_account_modal": "Êtes-vous sûr(e) de vouloir supprimer votre compte {{appName}} ?",
|
"confirm_delete_account_modal": "Voulez-vous vraiment supprimer votre compte {{appName}} ?",
|
||||||
"delete_my_account": "Supprimer mon compte",
|
"delete_my_account": "Supprimer mon compte",
|
||||||
"start_of_week": "Début de la semaine",
|
"start_of_week": "Début de la semaine",
|
||||||
"recordings_title": "Enregistrements",
|
"recordings_title": "Enregistrements",
|
||||||
@@ -1215,6 +1235,7 @@
|
|||||||
"connect_automation_apps": "Connecter des applications d'automatisation",
|
"connect_automation_apps": "Connecter des applications d'automatisation",
|
||||||
"connect_analytics_apps": "Connecter des applications analytiques",
|
"connect_analytics_apps": "Connecter des applications analytiques",
|
||||||
"connect_other_apps": "Connecter d'autres applications",
|
"connect_other_apps": "Connecter d'autres applications",
|
||||||
|
"connect_web3_apps": "Connecter des apps Web3",
|
||||||
"current_step_of_total": "Étape {{currentStep}} sur {{maxSteps}}",
|
"current_step_of_total": "Étape {{currentStep}} sur {{maxSteps}}",
|
||||||
"add_variable": "Ajouter une variable",
|
"add_variable": "Ajouter une variable",
|
||||||
"custom_phone_number": "Numéro de téléphone personnalisé",
|
"custom_phone_number": "Numéro de téléphone personnalisé",
|
||||||
@@ -1231,6 +1252,7 @@
|
|||||||
"to": "À",
|
"to": "À",
|
||||||
"workflow_turned_on_successfully": "Le workflow {{workflowName}} a été {{offOn}} avec succès",
|
"workflow_turned_on_successfully": "Le workflow {{workflowName}} a été {{offOn}} avec succès",
|
||||||
"download_responses": "Télécharger les réponses",
|
"download_responses": "Télécharger les réponses",
|
||||||
|
"download_responses_description": "Téléchargez toutes les réponses à votre formulaire au format CSV.",
|
||||||
"download": "Télécharger",
|
"download": "Télécharger",
|
||||||
"create_your_first_form": "Créez votre premier formulaire",
|
"create_your_first_form": "Créez votre premier formulaire",
|
||||||
"create_your_first_form_description": "Avec les formulaires de routage, vous pouvez poser des questions de qualification et rediriger vers la bonne personne ou le bon type d'événement.",
|
"create_your_first_form_description": "Avec les formulaires de routage, vous pouvez poser des questions de qualification et rediriger vers la bonne personne ou le bon type d'événement.",
|
||||||
@@ -1268,10 +1290,12 @@
|
|||||||
"exchange_authentication_standard": "Authentification de base",
|
"exchange_authentication_standard": "Authentification de base",
|
||||||
"exchange_authentication_ntlm": "Authentification NTLM",
|
"exchange_authentication_ntlm": "Authentification NTLM",
|
||||||
"exchange_compression": "Compression GZip",
|
"exchange_compression": "Compression GZip",
|
||||||
"routing_forms_description": "Vous pouvez voir tous les formulaires et parcours que vous avez créés ici.",
|
"routing_forms_description": "Vous pouvez voir tous les formulaires et routes que vous avez créés ici.",
|
||||||
"routing_forms_send_email_owner": "Envoyer un e-mail au propriétaire",
|
"routing_forms_send_email_owner": "Envoyer un e-mail au propriétaire",
|
||||||
"routing_forms_send_email_owner_description": "Envoie un e-mail au propriétaire lorsque le formulaire est soumis",
|
"routing_forms_send_email_owner_description": "Envoie un e-mail au propriétaire lorsque le formulaire est soumis",
|
||||||
"add_new_form": "Ajouter un nouveau formulaire",
|
"add_new_form": "Ajouter un nouveau formulaire",
|
||||||
|
"create_your_first_route": "Créez votre première route",
|
||||||
|
"route_to_the_right_person": "Acheminez vers la bonne personne en fonction des réponses à votre formulaire.",
|
||||||
"form_description": "Créez votre formulaire pour acheminer un organisateur",
|
"form_description": "Créez votre formulaire pour acheminer un organisateur",
|
||||||
"copy_link_to_form": "Copier le lien vers le formulaire",
|
"copy_link_to_form": "Copier le lien vers le formulaire",
|
||||||
"theme": "Apparence",
|
"theme": "Apparence",
|
||||||
@@ -1302,6 +1326,7 @@
|
|||||||
"password_reset_leading": "Si vous ne recevez pas d'e-mail bientôt, vérifiez que l'adresse e-mail que vous avez saisie est correcte, vérifiez vos spams ou contactez l'assistance si le problème persiste.",
|
"password_reset_leading": "Si vous ne recevez pas d'e-mail bientôt, vérifiez que l'adresse e-mail que vous avez saisie est correcte, vérifiez vos spams ou contactez l'assistance si le problème persiste.",
|
||||||
"password_updated": "Mot de passe mis à jour !",
|
"password_updated": "Mot de passe mis à jour !",
|
||||||
"pending_payment": "Paiement en attente",
|
"pending_payment": "Paiement en attente",
|
||||||
|
"pending_invites": "Invitations en attente",
|
||||||
"confirmation_page_rainbow": "Le token protège votre événement avec des tokens ou des NFT sur Ethereum, Polygon et plus encore.",
|
"confirmation_page_rainbow": "Le token protège votre événement avec des tokens ou des NFT sur Ethereum, Polygon et plus encore.",
|
||||||
"not_on_cal": "Pas sur {{appName}}",
|
"not_on_cal": "Pas sur {{appName}}",
|
||||||
"no_calendar_installed": "Aucun calendrier installé",
|
"no_calendar_installed": "Aucun calendrier installé",
|
||||||
@@ -1404,7 +1429,7 @@
|
|||||||
"sender_id_error_message": "Seules les lettres, chiffres et espaces sont autorisés (max. 11 caractères)",
|
"sender_id_error_message": "Seules les lettres, chiffres et espaces sont autorisés (max. 11 caractères)",
|
||||||
"test_routing_form": "Tester le formulaire de routage",
|
"test_routing_form": "Tester le formulaire de routage",
|
||||||
"test_preview": "Tester l'aperçu",
|
"test_preview": "Tester l'aperçu",
|
||||||
"route_to": "Router vers",
|
"route_to": "Rediriger vers",
|
||||||
"test_preview_description": "Tester votre formulaire de routage sans envoyer de données",
|
"test_preview_description": "Tester votre formulaire de routage sans envoyer de données",
|
||||||
"test_routing": "Tester le routage",
|
"test_routing": "Tester le routage",
|
||||||
"payment_app_disabled": "Un administrateur a désactivé une application de paiement",
|
"payment_app_disabled": "Un administrateur a désactivé une application de paiement",
|
||||||
@@ -1428,6 +1453,9 @@
|
|||||||
"disabled_calendar": "Si un autre calendrier est installé, les nouvelles réservations y seront ajoutées. Si ce n'est pas le cas, connectez un nouveau calendrier pour ne pas manquer de nouvelles réservations.",
|
"disabled_calendar": "Si un autre calendrier est installé, les nouvelles réservations y seront ajoutées. Si ce n'est pas le cas, connectez un nouveau calendrier pour ne pas manquer de nouvelles réservations.",
|
||||||
"enable_apps": "Activer les applications",
|
"enable_apps": "Activer les applications",
|
||||||
"enable_apps_description": "Activer les applications que les utilisateurs peuvent intégrer à Cal.com",
|
"enable_apps_description": "Activer les applications que les utilisateurs peuvent intégrer à Cal.com",
|
||||||
|
"purchase_license": "Acheter une licence",
|
||||||
|
"already_have_key": "J'ai déjà une clé :",
|
||||||
|
"already_have_key_suggestion": "Veuillez copier votre variable d'environnement CALCOM_LICENSE_KEY existante ici.",
|
||||||
"app_is_enabled": "{{appName}} est activé",
|
"app_is_enabled": "{{appName}} est activé",
|
||||||
"app_is_disabled": "{{appName}} est désactivé",
|
"app_is_disabled": "{{appName}} est désactivé",
|
||||||
"keys_have_been_saved": "Les clés ont été sauvegardées",
|
"keys_have_been_saved": "Les clés ont été sauvegardées",
|
||||||
@@ -1448,6 +1476,7 @@
|
|||||||
"individual": "Individuel",
|
"individual": "Individuel",
|
||||||
"all_bookings_filter_label": "Toutes les réservations",
|
"all_bookings_filter_label": "Toutes les réservations",
|
||||||
"all_users_filter_label": "Tous les utilisateurs",
|
"all_users_filter_label": "Tous les utilisateurs",
|
||||||
|
"your_bookings_filter_label": "Vos réservations",
|
||||||
"meeting_url_variable": "Lien du rendez-vous",
|
"meeting_url_variable": "Lien du rendez-vous",
|
||||||
"meeting_url_info": "Lien de la visioconférence du rendez-vous",
|
"meeting_url_info": "Lien de la visioconférence du rendez-vous",
|
||||||
"date_overrides": "Superpositions de dates",
|
"date_overrides": "Superpositions de dates",
|
||||||
@@ -1486,7 +1515,7 @@
|
|||||||
"round_robin_hosts": "Hôtes round-robin",
|
"round_robin_hosts": "Hôtes round-robin",
|
||||||
"minimum_round_robin_hosts_count": "Nombre d'hôtes requis pour participer",
|
"minimum_round_robin_hosts_count": "Nombre d'hôtes requis pour participer",
|
||||||
"hosts": "Hôtes",
|
"hosts": "Hôtes",
|
||||||
"upgrade_to_enable_feature": "Vous devez mettre à niveau pour activer cette fonctionnalité. Cliquez pour mettre à niveau.",
|
"upgrade_to_enable_feature": "Vous devez créer une équipe pour activer cette fonctionnalité. Cliquez pour créer une équipe.",
|
||||||
"new_attendee": "Nouveau participant",
|
"new_attendee": "Nouveau participant",
|
||||||
"awaiting_approval": "En attente de validation",
|
"awaiting_approval": "En attente de validation",
|
||||||
"requires_google_calendar": "Cette application nécessite une connexion à Google Agenda",
|
"requires_google_calendar": "Cette application nécessite une connexion à Google Agenda",
|
||||||
@@ -1495,9 +1524,100 @@
|
|||||||
"continue_to_install_google_calendar": "Continuer à installer Google Agenda",
|
"continue_to_install_google_calendar": "Continuer à installer Google Agenda",
|
||||||
"install_google_meet": "Installer Google Meet",
|
"install_google_meet": "Installer Google Meet",
|
||||||
"install_google_calendar": "Installer Google Agenda",
|
"install_google_calendar": "Installer Google Agenda",
|
||||||
|
"sender_name": "Nom de l'expéditeur",
|
||||||
|
"already_invited": "Participant déjà invité",
|
||||||
|
"no_recordings_found": "Aucun enregistrement trouvé",
|
||||||
|
"reporting": "Rapports",
|
||||||
|
"reporting_feature": "Voir toutes les données entrantes et les télécharger au format CSV.",
|
||||||
|
"teams_plan_required": "Plan Équipes requis",
|
||||||
|
"routing_forms_are_a_great_way": "Les formulaires de routage sont un excellent moyen d'acheminer vos prospects entrants vers la bonne personne. Passez au plan Équipes pour accéder à cette fonctionnalité.",
|
||||||
|
"choose_a_license": "Choisir une licence",
|
||||||
|
"choose_license_description": "Cal.com est fourni avec licence AGPLv3 accessible et gratuite (avec certaines limitations) qui peut être mis à niveau vers une licence Entreprise à tout moment. Vous pouvez mettre à niveau à tout moment plus tard.",
|
||||||
|
"license": "Licence",
|
||||||
|
"agplv3_license": "Licence AGPLv3",
|
||||||
|
"ee_enterprise_license": "Licence Entreprise « /ee »",
|
||||||
|
"enterprise_booking_fee": "À partir de {{enterprise_booking_fee}}/mois",
|
||||||
|
"enterprise_license_includes": "Tout pour un usage commercial",
|
||||||
|
"no_need_to_keep_your_code_open_source": "Pas besoin de garder votre code open source",
|
||||||
|
"repackage_rebrand_resell": "Restructurez, changez de marque et revendez facilement",
|
||||||
|
"a_vast_suite_of_enterprise_features": "Une vaste suite de fonctionnalités d'entreprise",
|
||||||
|
"free_license_fee": "0,00 $/mois",
|
||||||
|
"forever_open_and_free": "Ouvert et gratuit pour toujours",
|
||||||
|
"required_to_keep_your_code_open_source": "Votre code doit rester open source",
|
||||||
|
"cannot_repackage_and_resell": "Impossible de restructurer, changer de marque et revendre facilement",
|
||||||
|
"no_enterprise_features": "Aucune fonctionnalité d'entreprise",
|
||||||
|
"step_enterprise_license": "Licence Entreprise",
|
||||||
|
"step_enterprise_license_description": "Tout pour une utilisation commerciale avec hébergement privé, restructuration, changement de marque, revente et accès à des composants d'entreprise exclusifs.",
|
||||||
|
"setup": "Configurer",
|
||||||
|
"setup_description": "Configurez l'instance Cal.com.",
|
||||||
"configure": "Configurer",
|
"configure": "Configurer",
|
||||||
"sso_configuration": "Authentification unique",
|
"sso_configuration": "Authentification unique",
|
||||||
|
"sso_configuration_description": "Configurez le SSO SAML/OIDC et autorisez les membres d'équipe à se connecter à l'aide d'un fournisseur d'identité.",
|
||||||
|
"sso_oidc_heading": "SSO avec OIDC",
|
||||||
|
"sso_oidc_description": "Configurez le SSO OIDC avec le fournisseur d'identité de votre choix.",
|
||||||
|
"sso_oidc_configuration_title": "Configuration OIDC",
|
||||||
|
"sso_oidc_configuration_description": "Configurez la connexion OIDC à votre fournisseur d'identité. Vous pouvez trouver les informations requises dans votre fournisseur d'identité.",
|
||||||
|
"sso_oidc_callback_copied": "Lien de rappel copié",
|
||||||
|
"sso_saml_heading": "SSO avec SAML",
|
||||||
|
"sso_saml_description": "Configurez le SSO SAML avec le fournisseur d'identité de votre choix.",
|
||||||
|
"sso_saml_configuration_title": "Configuration SAML",
|
||||||
|
"sso_saml_configuration_description": "Configurez la connexion SAML à votre fournisseur d'identité. Vous pouvez trouver les informations requises dans votre fournisseur d'identité.",
|
||||||
|
"sso_saml_acsurl_copied": "Lien ACS copié",
|
||||||
|
"sso_saml_entityid_copied": "ID d'entité copié",
|
||||||
|
"sso_connection_created_successfully": "Configuration {{connectionType}} créée avec succès",
|
||||||
|
"sso_connection_deleted_successfully": "Configuration {{connectionType}} supprimée avec succès",
|
||||||
|
"delete_sso_configuration": "Supprimer la configuration {{connectionType}}",
|
||||||
|
"delete_sso_configuration_confirmation": "Oui, supprimer la configuration {{connectionType}}",
|
||||||
|
"delete_sso_configuration_confirmation_description": "Voulez-vous vraiment supprimer la configuration {{connectionType}} ? Les membres de votre équipe utilisant la connexion {{connectionType}} ne pourront plus accéder à Cal.com.",
|
||||||
|
"organizer_timezone": "Fuseau horaire de l'organisateur",
|
||||||
"email_no_user_cta": "Créez votre compte",
|
"email_no_user_cta": "Créez votre compte",
|
||||||
|
"email_user_cta": "Voir l'invitation",
|
||||||
|
"email_no_user_invite_heading": "Vous avez été invité(e) à rejoindre une équipe sur {{appName}}",
|
||||||
|
"email_no_user_invite_subheading": "{{invitedBy}} a été invité à rejoindre son équipe sur {{appName}}. {{appName}} est le planificateur d'événements qui vous permet, à vous et à votre équipe, de planifier des rendez-vous sans les allers-retours par e-mail.",
|
||||||
|
"email_no_user_invite_steps_intro": "Nous vous guiderons à travers quelques étapes courtes et vous profiterez d'une planification sans stress avec votre équipe en un rien de temps.",
|
||||||
|
"email_no_user_step_one": "Choisissez votre nom d'utilisateur",
|
||||||
|
"email_no_user_step_two": "Connectez votre compte de calendrier",
|
||||||
|
"email_no_user_step_three": "Définissez vos disponibilités",
|
||||||
|
"email_no_user_step_four": "Rejoignez {{teamName}}",
|
||||||
|
"email_no_user_signoff": "Bonne planification de la part de l'équipe {{appName}}",
|
||||||
|
"impersonation_user_tip": "Vous êtes sur le point d'emprunter l'identité d'un utilisateur, ce qui signifie que vous pouvez effectuer des modifications en son nom. S'il vous plaît, soyez prudent(e).",
|
||||||
|
"scheduler": "{Scheduler}",
|
||||||
|
"available_variables": "Variables disponibles",
|
||||||
|
"recommended_next_steps": "Étapes suivantes recommandées",
|
||||||
|
"create_a_managed_event": "Créer un type d'événement géré",
|
||||||
|
"meetings_are_better_with_the_right": "Les rendez-vous sont meilleurs avec les bons membres d'équipe. Invitez-les maintenant.",
|
||||||
|
"create_a_one_one_template": "Créez un modèle unique pour un type d'événement et distribuez-le à plusieurs membres.",
|
||||||
|
"collective_or_roundrobin": "Collective ou round-robin",
|
||||||
|
"book_your_team_members": "Réservez les membres de votre équipe entre eux avec des événements collectifs ou mettez en place un cycle pour obtenir la bonne personne avec le round-robin.",
|
||||||
|
"default_app_link_title": "Définir un lien d'application par défaut",
|
||||||
|
"default_app_link_description": "Définir un lien d'application par défaut permet à tous les nouveaux types d'événements d'utiliser le lien d'application que vous avez défini.",
|
||||||
"change_default_conferencing_app": "Définir par défaut",
|
"change_default_conferencing_app": "Définir par défaut",
|
||||||
"booking_confirmation_failed": "Échec de la confirmation de la réservation"
|
"under_maintenance": "En cours de maintenance",
|
||||||
|
"under_maintenance_description": "L'équipe {{appName}} effectue une maintenance planifiée. Si vous avez des questions, veuillez contacter l'assistance.",
|
||||||
|
"event_type_seats": "{{numberOfSeats}} places",
|
||||||
|
"booking_with_payment_cancelled": "Payer pour cet événement n'est plus possible",
|
||||||
|
"booking_with_payment_cancelled_already_paid": "Un remboursement pour ce paiement de réservation est en route.",
|
||||||
|
"booking_with_payment_cancelled_refunded": "Ce paiement de réservation a été remboursé.",
|
||||||
|
"booking_confirmation_failed": "Échec de la confirmation de la réservation",
|
||||||
|
"get_started_zapier_templates": "Démarrer avec les modèles Zapier",
|
||||||
|
"a_routing_form": "Un formulaire de routage",
|
||||||
|
"form_description_placeholder": "Description du formulaire",
|
||||||
|
"keep_me_connected_with_form": "Rester connecté avec le formulaire",
|
||||||
|
"fields_in_form_duplicated": "Toute modification du routeur et des champs du formulaire dupliqué se répercutera dans la duplication.",
|
||||||
|
"form_deleted": "Formulaire supprimé",
|
||||||
|
"delete_form": "Supprimer le formulaire",
|
||||||
|
"delete_form_action": "Oui, supprimer le formulaire",
|
||||||
|
"delete_form_confirmation": "Voulez-vous vraiment supprimer ce formulaire ? Toute personne avec qui vous avez partagé le lien ne pourra plus passer de réservation en l'utilisant. De plus, toutes les réponses associées seraient supprimées.",
|
||||||
|
"typeform_redirect_url_copied": "Lien de redirection Typeform copié ! Vous pouvez aller définir le lien dans le formulaire Typeform.",
|
||||||
|
"modifications_in_fields_warning": "Les modifications dans les champs et les routes des formulaires suivants seront répercutées dans ce formulaire.",
|
||||||
|
"connected_forms": "Formulaires connectés",
|
||||||
|
"form_modifications_warning": "Les formulaires suivants seraient affectés lorsque vous modifieriez des champs ou des routes ici.",
|
||||||
|
"responses_collection_waiting_description": "Attendez un certain temps que les réponses soient collectées. Vous pouvez également envoyer le formulaire vous-même.",
|
||||||
|
"this_is_what_your_users_would_see": "Voici ce que vos utilisateurs verraient",
|
||||||
|
"identifies_name_field": "Identifie le champ par ce nom.",
|
||||||
|
"add_1_option_per_line": "Ajouter une option par ligne",
|
||||||
|
"select_a_router": "Sélectionner un routeur",
|
||||||
|
"add_a_new_route": "Ajouter une nouvelle route",
|
||||||
|
"no_responses_yet": "Aucune réponse pour l'instant",
|
||||||
|
"this_will_be_the_placeholder": "Ce sera le texte de substitution"
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
"upgrade_now": "지금 업그레이드",
|
"upgrade_now": "지금 업그레이드",
|
||||||
"accept_invitation": "초대 수락",
|
"accept_invitation": "초대 수락",
|
||||||
"calcom_explained": "{{appName}}은(는) 모든 사람을 위한 일정 관리 인프라를 제공합니다.",
|
"calcom_explained": "{{appName}}은(는) 모든 사람을 위한 일정 관리 인프라를 제공합니다.",
|
||||||
|
"calcom_explained_new_user": "{{appName}} 계정 설정을 완료하세요! 몇 단계만 거치면 모든 일정 문제를 해결할 수 있습니다.",
|
||||||
"have_any_questions": "질문이 있나요? 도와드릴게요.",
|
"have_any_questions": "질문이 있나요? 도와드릴게요.",
|
||||||
"reset_password_subject": "{{appName}}: 비밀번호 재설정 방법",
|
"reset_password_subject": "{{appName}}: 비밀번호 재설정 방법",
|
||||||
"event_declined_subject": "거절됨: {{date}} {{title}}",
|
"event_declined_subject": "거절됨: {{date}} {{title}}",
|
||||||
@@ -23,6 +24,8 @@
|
|||||||
"rejection_reason_description": "예약을 거부하시겠습니까? 예약하려고 시도하셨던 다른 분께 알려드릴 것입니다. 해당 사유는 아래에서 제공하실 수 있습니다.",
|
"rejection_reason_description": "예약을 거부하시겠습니까? 예약하려고 시도하셨던 다른 분께 알려드릴 것입니다. 해당 사유는 아래에서 제공하실 수 있습니다.",
|
||||||
"rejection_confirmation": "예약 취소",
|
"rejection_confirmation": "예약 취소",
|
||||||
"manage_this_event": "이 이벤트 관리",
|
"manage_this_event": "이 이벤트 관리",
|
||||||
|
"invite_team_member": "팀원 초대",
|
||||||
|
"invite_team_notifcation_badge": "초대",
|
||||||
"your_event_has_been_scheduled": "귀하의 이벤트가 예약되었습니다.",
|
"your_event_has_been_scheduled": "귀하의 이벤트가 예약되었습니다.",
|
||||||
"your_event_has_been_scheduled_recurring": "되풀이 이벤트가 예약되었습니다",
|
"your_event_has_been_scheduled_recurring": "되풀이 이벤트가 예약되었습니다",
|
||||||
"accept_our_license": "<1>NEXT_PUBLIC_LICENSE_CONSENT</1> 환경 변수를 '{{agree}}'로 바꾸어 라이선스를 허용해주십시오.",
|
"accept_our_license": "<1>NEXT_PUBLIC_LICENSE_CONSENT</1> 환경 변수를 '{{agree}}'로 바꾸어 라이선스를 허용해주십시오.",
|
||||||
@@ -410,6 +413,8 @@
|
|||||||
"password_updated_successfully": "비밀번호가 성공적으로 업데이트되었습니다.",
|
"password_updated_successfully": "비밀번호가 성공적으로 업데이트되었습니다.",
|
||||||
"password_has_been_changed": "비밀번호가 성공적으로 변경되었습니다.",
|
"password_has_been_changed": "비밀번호가 성공적으로 변경되었습니다.",
|
||||||
"error_changing_password": "비밀번호 변경 오류",
|
"error_changing_password": "비밀번호 변경 오류",
|
||||||
|
"session_timeout_changed": "세션 구성이 성공적으로 업데이트되었습니다.",
|
||||||
|
"session_timeout_change_error": "세션 구성 업데이트 중 오류 발생",
|
||||||
"something_went_wrong": "문제가 발생했습니다.",
|
"something_went_wrong": "문제가 발생했습니다.",
|
||||||
"something_doesnt_look_right": "문제가 있습니다.",
|
"something_doesnt_look_right": "문제가 있습니다.",
|
||||||
"please_try_again": "다시 시도하십시오.",
|
"please_try_again": "다시 시도하십시오.",
|
||||||
@@ -428,6 +433,7 @@
|
|||||||
"password_hint_num": "1개 이상 숫자 포함",
|
"password_hint_num": "1개 이상 숫자 포함",
|
||||||
"invalid_password_hint": "비밀번호는 7자 이상이어야 하고 숫자가 하나 이상 포함되어야 하며 대문자와 소문자가 혼합되어야 합니다",
|
"invalid_password_hint": "비밀번호는 7자 이상이어야 하고 숫자가 하나 이상 포함되어야 하며 대문자와 소문자가 혼합되어야 합니다",
|
||||||
"incorrect_password": "비밀번호가 잘못되었습니다",
|
"incorrect_password": "비밀번호가 잘못되었습니다",
|
||||||
|
"incorrect_username_password": "사용자 이름 또는 비밀번호가 잘못되었습니다.",
|
||||||
"24_h": "24시간",
|
"24_h": "24시간",
|
||||||
"use_setting": "사용 설정",
|
"use_setting": "사용 설정",
|
||||||
"am_pm": "am/pm",
|
"am_pm": "am/pm",
|
||||||
@@ -455,6 +461,7 @@
|
|||||||
"slots_load_fail": "사용 가능한 시간 슬롯을 로드할 수 없습니다.",
|
"slots_load_fail": "사용 가능한 시간 슬롯을 로드할 수 없습니다.",
|
||||||
"additional_guests": "게스트 추가",
|
"additional_guests": "게스트 추가",
|
||||||
"your_name": "당신의 이름",
|
"your_name": "당신의 이름",
|
||||||
|
"your_full_name": "본인 성명",
|
||||||
"email_address": "이메일 주소",
|
"email_address": "이메일 주소",
|
||||||
"enter_valid_email": "유효한 이메일을 입력하세요",
|
"enter_valid_email": "유효한 이메일을 입력하세요",
|
||||||
"location": "위치",
|
"location": "위치",
|
||||||
@@ -508,6 +515,8 @@
|
|||||||
"admin": "관리",
|
"admin": "관리",
|
||||||
"administrator_user": "관리자 사용자",
|
"administrator_user": "관리자 사용자",
|
||||||
"lets_create_first_administrator_user": "첫 번째 관리자 사용자를 생성해 보겠습니다.",
|
"lets_create_first_administrator_user": "첫 번째 관리자 사용자를 생성해 보겠습니다.",
|
||||||
|
"admin_user_created": "관리자 사용자 설정",
|
||||||
|
"admin_user_created_description": "이미 관리자 사용자를 생성하셨습니다. 이제 계정에 로그인할 수 있습니다.",
|
||||||
"new_member": "새 회원",
|
"new_member": "새 회원",
|
||||||
"invite": "초대",
|
"invite": "초대",
|
||||||
"add_team_members": "팀원 추가",
|
"add_team_members": "팀원 추가",
|
||||||
@@ -658,6 +667,7 @@
|
|||||||
"edit_availability": "가용성 편집",
|
"edit_availability": "가용성 편집",
|
||||||
"configure_availability": "예약 가능한 시간을 구성하십시오.",
|
"configure_availability": "예약 가능한 시간을 구성하십시오.",
|
||||||
"copy_times_to": "횟수 복사:",
|
"copy_times_to": "횟수 복사:",
|
||||||
|
"copy_times_to_tooltip": "복사 횟수...",
|
||||||
"change_weekly_schedule": "주간 일정 변경",
|
"change_weekly_schedule": "주간 일정 변경",
|
||||||
"logo": "로고",
|
"logo": "로고",
|
||||||
"error": "오류",
|
"error": "오류",
|
||||||
@@ -669,6 +679,7 @@
|
|||||||
"add_attendees": "참석자 추가하기",
|
"add_attendees": "참석자 추가하기",
|
||||||
"show_advanced_settings": "고급 설정 표시",
|
"show_advanced_settings": "고급 설정 표시",
|
||||||
"event_name": "이벤트 이름",
|
"event_name": "이벤트 이름",
|
||||||
|
"event_name_in_calendar": "캘린더의 이벤트 이름",
|
||||||
"event_name_tooltip": "캘린더에 표시될 이름",
|
"event_name_tooltip": "캘린더에 표시될 이름",
|
||||||
"meeting_with_user": "{{attendeeName}} 님과의 회의",
|
"meeting_with_user": "{{attendeeName}} 님과의 회의",
|
||||||
"additional_inputs": "추가 입력",
|
"additional_inputs": "추가 입력",
|
||||||
@@ -787,6 +798,7 @@
|
|||||||
"number_apps_one": "{{count}}개 앱",
|
"number_apps_one": "{{count}}개 앱",
|
||||||
"number_apps_other": "앱 {{count}}개",
|
"number_apps_other": "앱 {{count}}개",
|
||||||
"trending_apps": "트랜드 앱",
|
"trending_apps": "트랜드 앱",
|
||||||
|
"most_popular": "인기 항목",
|
||||||
"explore_apps": "{{category}} 앱",
|
"explore_apps": "{{category}} 앱",
|
||||||
"installed_apps": "설치된 앱",
|
"installed_apps": "설치된 앱",
|
||||||
"free_to_use_apps": "무료",
|
"free_to_use_apps": "무료",
|
||||||
@@ -797,12 +809,14 @@
|
|||||||
"no_category_apps_description_analytics": "예약 페이지에 대한 분석 앱 추가",
|
"no_category_apps_description_analytics": "예약 페이지에 대한 분석 앱 추가",
|
||||||
"no_category_apps_description_automation": "사용할 자동화 앱 추가",
|
"no_category_apps_description_automation": "사용할 자동화 앱 추가",
|
||||||
"no_category_apps_description_other": "모든 종류의 작업을 수행하는 다른 유형의 앱을 추가합니다",
|
"no_category_apps_description_other": "모든 종류의 작업을 수행하는 다른 유형의 앱을 추가합니다",
|
||||||
|
"no_category_apps_description_web3": "예약 페이지에 web3 앱 추가",
|
||||||
"installed_app_calendar_description": "중복 예약을 방지하기 위해 충돌을 확인하도록 캘린더를 설정합니다.",
|
"installed_app_calendar_description": "중복 예약을 방지하기 위해 충돌을 확인하도록 캘린더를 설정합니다.",
|
||||||
"installed_app_conferencing_description": "회의에 즐겨 사용하는 화상 회의 앱을 추가합니다",
|
"installed_app_conferencing_description": "회의에 즐겨 사용하는 화상 회의 앱을 추가합니다",
|
||||||
"installed_app_payment_description": "고객에게 요금 청구 시 사용할 결제 처리 서비스를 구성합니다.",
|
"installed_app_payment_description": "고객에게 요금 청구 시 사용할 결제 처리 서비스를 구성합니다.",
|
||||||
"installed_app_analytics_description": "예약 페이지에 사용할 분석 앱 구성",
|
"installed_app_analytics_description": "예약 페이지에 사용할 분석 앱 구성",
|
||||||
"installed_app_other_description": "기타 카테고리에서 설치된 모든 앱.",
|
"installed_app_other_description": "기타 카테고리에서 설치된 모든 앱.",
|
||||||
"installed_app_automation_description": "사용할 자동화 앱 구성",
|
"installed_app_automation_description": "사용할 자동화 앱 구성",
|
||||||
|
"installed_app_web3_description": "예약 페이지에 사용할 web3 앱 구성",
|
||||||
"analytics": "분석",
|
"analytics": "분석",
|
||||||
"empty_installed_apps_headline": "설치된 앱 없음",
|
"empty_installed_apps_headline": "설치된 앱 없음",
|
||||||
"empty_installed_apps_description": "앱을 통해 워크플로를 강화하고 일정 관리 수명을 대폭 향상할 수 있습니다.",
|
"empty_installed_apps_description": "앱을 통해 워크플로를 강화하고 일정 관리 수명을 대폭 향상할 수 있습니다.",
|
||||||
@@ -930,6 +944,11 @@
|
|||||||
"current_location": "현재 위치",
|
"current_location": "현재 위치",
|
||||||
"user_phone": "본인 전화 번호",
|
"user_phone": "본인 전화 번호",
|
||||||
"new_location": "새 위치",
|
"new_location": "새 위치",
|
||||||
|
"session": "세션",
|
||||||
|
"session_description": "계정 세션 제어",
|
||||||
|
"session_timeout_after": "시간 초과 세션 시작",
|
||||||
|
"session_timeout": "세션 시간 초과",
|
||||||
|
"session_timeout_description": "일정 시간이 지나면 세션을 무효화합니다.",
|
||||||
"no_location": "정의된 위치 없음",
|
"no_location": "정의된 위치 없음",
|
||||||
"set_location": "위치 설정",
|
"set_location": "위치 설정",
|
||||||
"update_location": "위치 업데이트",
|
"update_location": "위치 업데이트",
|
||||||
@@ -1073,6 +1092,7 @@
|
|||||||
"broken_video_action": "예약된 이벤트에 <1>{{location}}</1> 회의 링크를 추가할 수 없습니다. 초대받은 사람에게 연락하거나 캘린더 일정을 업데이트하여 세부 정보를 추가하세요. <3> 이벤트 유형에서 위치를 변경</3>하거나 <5>앱을 제거했다가 다시 추가</5>할 수 있습니다.",
|
"broken_video_action": "예약된 이벤트에 <1>{{location}}</1> 회의 링크를 추가할 수 없습니다. 초대받은 사람에게 연락하거나 캘린더 일정을 업데이트하여 세부 정보를 추가하세요. <3> 이벤트 유형에서 위치를 변경</3>하거나 <5>앱을 제거했다가 다시 추가</5>할 수 있습니다.",
|
||||||
"broken_calendar_action": "<1>{{calendar}}</1>을(를) 업데이트를 할 수 없습니다. <2> 캘린더 설정을 확인하거나 캘린더를 제거했다가 다시 추가하세요.</2>",
|
"broken_calendar_action": "<1>{{calendar}}</1>을(를) 업데이트를 할 수 없습니다. <2> 캘린더 설정을 확인하거나 캘린더를 제거했다가 다시 추가하세요.</2>",
|
||||||
"attendee_name": "참석자 이름",
|
"attendee_name": "참석자 이름",
|
||||||
|
"scheduler_full_name": "예약하는 당사자의 성명",
|
||||||
"broken_integration": "단절된 통합",
|
"broken_integration": "단절된 통합",
|
||||||
"problem_adding_video_link": "비디오 링크를 추가하는 중 문제가 발생했습니다",
|
"problem_adding_video_link": "비디오 링크를 추가하는 중 문제가 발생했습니다",
|
||||||
"problem_updating_calendar": "캘린더를 업데이트하는 중 문제가 발생했습니다",
|
"problem_updating_calendar": "캘린더를 업데이트하는 중 문제가 발생했습니다",
|
||||||
@@ -1215,6 +1235,7 @@
|
|||||||
"connect_automation_apps": "자동화 앱 연결",
|
"connect_automation_apps": "자동화 앱 연결",
|
||||||
"connect_analytics_apps": "분석 앱 연결",
|
"connect_analytics_apps": "분석 앱 연결",
|
||||||
"connect_other_apps": "기타 앱 연결",
|
"connect_other_apps": "기타 앱 연결",
|
||||||
|
"connect_web3_apps": "web3 앱 연결",
|
||||||
"current_step_of_total": "{{maxSteps}} 중 {{currentStep}} 단계",
|
"current_step_of_total": "{{maxSteps}} 중 {{currentStep}} 단계",
|
||||||
"add_variable": "변수 추가",
|
"add_variable": "변수 추가",
|
||||||
"custom_phone_number": "사용자 정의 전화 번호",
|
"custom_phone_number": "사용자 정의 전화 번호",
|
||||||
@@ -1231,6 +1252,7 @@
|
|||||||
"to": "대상",
|
"to": "대상",
|
||||||
"workflow_turned_on_successfully": "{{workflowName}} 워크플로 {{offOn}} 설정 완료",
|
"workflow_turned_on_successfully": "{{workflowName}} 워크플로 {{offOn}} 설정 완료",
|
||||||
"download_responses": "다운로드 응답",
|
"download_responses": "다운로드 응답",
|
||||||
|
"download_responses_description": "양식에 대한 모든 응답을 CSV 형식으로 다운로드합니다.",
|
||||||
"download": "다운로드",
|
"download": "다운로드",
|
||||||
"create_your_first_form": "첫 양식 작성",
|
"create_your_first_form": "첫 양식 작성",
|
||||||
"create_your_first_form_description": "라우팅 양식을 사용하면 적격성 질문을 올리고 올바른 사람 또는 이벤트 유형으로 라우팅할 수 있습니다.",
|
"create_your_first_form_description": "라우팅 양식을 사용하면 적격성 질문을 올리고 올바른 사람 또는 이벤트 유형으로 라우팅할 수 있습니다.",
|
||||||
@@ -1272,6 +1294,8 @@
|
|||||||
"routing_forms_send_email_owner": "소유자에게 이메일 보내기",
|
"routing_forms_send_email_owner": "소유자에게 이메일 보내기",
|
||||||
"routing_forms_send_email_owner_description": "양식이 제출되면 소유자에게 이메일을 발송합니다",
|
"routing_forms_send_email_owner_description": "양식이 제출되면 소유자에게 이메일을 발송합니다",
|
||||||
"add_new_form": "새 양식 추가",
|
"add_new_form": "새 양식 추가",
|
||||||
|
"create_your_first_route": "첫 번째 경로 작성",
|
||||||
|
"route_to_the_right_person": "양식에 대한 답변을 토대로 올바른 당사자에게 전달",
|
||||||
"form_description": "예약자를 라우팅할 양식 생성",
|
"form_description": "예약자를 라우팅할 양식 생성",
|
||||||
"copy_link_to_form": "양식에 링크 복사",
|
"copy_link_to_form": "양식에 링크 복사",
|
||||||
"theme": "테마",
|
"theme": "테마",
|
||||||
@@ -1302,6 +1326,7 @@
|
|||||||
"password_reset_leading": "이메일을 아직 받지 못한 경우 입력한 이메일 주소가 올바른지 확인하고 스팸 폴더를 확인하거나 문제가 지속되면 지원팀에 문의하세요.",
|
"password_reset_leading": "이메일을 아직 받지 못한 경우 입력한 이메일 주소가 올바른지 확인하고 스팸 폴더를 확인하거나 문제가 지속되면 지원팀에 문의하세요.",
|
||||||
"password_updated": "비밀번호가 업데이트되었습니다!",
|
"password_updated": "비밀번호가 업데이트되었습니다!",
|
||||||
"pending_payment": "진행 중인 결제",
|
"pending_payment": "진행 중인 결제",
|
||||||
|
"pending_invites": "진행 중 초대 건",
|
||||||
"confirmation_page_rainbow": "이더리움, 폴리곤 등의 토큰 또는 NFT를 사용하여 이벤트를 토큰 게이트합니다.",
|
"confirmation_page_rainbow": "이더리움, 폴리곤 등의 토큰 또는 NFT를 사용하여 이벤트를 토큰 게이트합니다.",
|
||||||
"not_on_cal": "{{appName}}에 없음",
|
"not_on_cal": "{{appName}}에 없음",
|
||||||
"no_calendar_installed": "설치된 캘린더 없음",
|
"no_calendar_installed": "설치된 캘린더 없음",
|
||||||
@@ -1428,6 +1453,9 @@
|
|||||||
"disabled_calendar": "다른 캘린더를 설치한 경우 새 예약이 여기에 추가됩니다. 그렇지 않은 경우 새로운 예약을 놓치지 않도록 새 캘린더를 연결하세요.",
|
"disabled_calendar": "다른 캘린더를 설치한 경우 새 예약이 여기에 추가됩니다. 그렇지 않은 경우 새로운 예약을 놓치지 않도록 새 캘린더를 연결하세요.",
|
||||||
"enable_apps": "앱 활성화",
|
"enable_apps": "앱 활성화",
|
||||||
"enable_apps_description": "사용자가 Cal.com과 통합할 수 있는 앱 활성화",
|
"enable_apps_description": "사용자가 Cal.com과 통합할 수 있는 앱 활성화",
|
||||||
|
"purchase_license": "라이선스 구매",
|
||||||
|
"already_have_key": "이미 키가 있습니다:",
|
||||||
|
"already_have_key_suggestion": "기존 CALCOM_LICENSE_KEY 환경 변수를 여기에 복사하십시오.",
|
||||||
"app_is_enabled": "{{appName}} 앱이 활성화되었습니다",
|
"app_is_enabled": "{{appName}} 앱이 활성화되었습니다",
|
||||||
"app_is_disabled": "{{appName}} 앱이 비활성화되었습니다",
|
"app_is_disabled": "{{appName}} 앱이 비활성화되었습니다",
|
||||||
"keys_have_been_saved": "키가 저장되었습니다",
|
"keys_have_been_saved": "키가 저장되었습니다",
|
||||||
@@ -1448,6 +1476,7 @@
|
|||||||
"individual": "개인",
|
"individual": "개인",
|
||||||
"all_bookings_filter_label": "모든 예약",
|
"all_bookings_filter_label": "모든 예약",
|
||||||
"all_users_filter_label": "모든 사용자",
|
"all_users_filter_label": "모든 사용자",
|
||||||
|
"your_bookings_filter_label": "내 예약",
|
||||||
"meeting_url_variable": "회의 URL",
|
"meeting_url_variable": "회의 URL",
|
||||||
"meeting_url_info": "이벤트 회의 컨퍼런스 URL",
|
"meeting_url_info": "이벤트 회의 컨퍼런스 URL",
|
||||||
"date_overrides": "날짜 재정의",
|
"date_overrides": "날짜 재정의",
|
||||||
@@ -1486,6 +1515,7 @@
|
|||||||
"round_robin_hosts": "라운드 로빈 호스트",
|
"round_robin_hosts": "라운드 로빈 호스트",
|
||||||
"minimum_round_robin_hosts_count": "참석에 필요한 호스트 수",
|
"minimum_round_robin_hosts_count": "참석에 필요한 호스트 수",
|
||||||
"hosts": "호스트",
|
"hosts": "호스트",
|
||||||
|
"upgrade_to_enable_feature": "이 기능을 사용하려면 팀을 만들어야 합니다. 팀을 만들려면 클릭하세요.",
|
||||||
"new_attendee": "새 참석자",
|
"new_attendee": "새 참석자",
|
||||||
"awaiting_approval": "승인 기다리는 중",
|
"awaiting_approval": "승인 기다리는 중",
|
||||||
"requires_google_calendar": "이 앱은 Google Calendar 연결이 필요합니다",
|
"requires_google_calendar": "이 앱은 Google Calendar 연결이 필요합니다",
|
||||||
@@ -1494,9 +1524,100 @@
|
|||||||
"continue_to_install_google_calendar": "Google Calendar 설치 계속하기",
|
"continue_to_install_google_calendar": "Google Calendar 설치 계속하기",
|
||||||
"install_google_meet": "Google Meet 설치",
|
"install_google_meet": "Google Meet 설치",
|
||||||
"install_google_calendar": "Google Calendar 설치",
|
"install_google_calendar": "Google Calendar 설치",
|
||||||
|
"sender_name": "발신자 이름",
|
||||||
|
"already_invited": "이미 초대된 참석자입니다",
|
||||||
|
"no_recordings_found": "기록 없음",
|
||||||
|
"reporting": "보고",
|
||||||
|
"reporting_feature": "데이터에서 들어오는 모든 것을 확인하고 CSV 파일로 다운로드",
|
||||||
|
"teams_plan_required": "Teams 플랜 필수",
|
||||||
|
"routing_forms_are_a_great_way": "라우팅 양식은 들어오는 리드를 올바른 당사자에게 전달하는 좋은 방법입니다. 이 기능에 액세스하려면 Teams 플랜으로 업그레이드하세요.",
|
||||||
|
"choose_a_license": "라이선스 선택",
|
||||||
|
"choose_license_description": "Cal.com은 액세스 가능한 무료 AGPLv3 라이선스와 함께 제공되며 일부 제한 사항은 언제든지 Enterprise 라이선스로 업그레이드할 수 있습니다. 나중에 언제든지 업그레이드할 수 있습니다.",
|
||||||
|
"license": "라이선스",
|
||||||
|
"agplv3_license": "AGPLv3 라이선스",
|
||||||
|
"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/월",
|
||||||
|
"forever_open_and_free": "무제한 사용 및 무료",
|
||||||
|
"required_to_keep_your_code_open_source": "코드를 오픈 소스로 유지 필수",
|
||||||
|
"cannot_repackage_and_resell": "쉽게 재포장, 리브랜딩 및 재판매 불가",
|
||||||
|
"no_enterprise_features": "엔터프라이즈 기능 없음",
|
||||||
|
"step_enterprise_license": "Enterprise 라이선스",
|
||||||
|
"step_enterprise_license_description": "개인 호스팅, 리패키징, 리브랜딩, 재판매 및 독점 엔터프라이즈 구성 요소에 액세스하는 상업적 사용 사례를 위한 것들이 모두 다 있습니다.",
|
||||||
|
"setup": "설정",
|
||||||
|
"setup_description": "Cal.com 인스턴스 설정",
|
||||||
"configure": "구성",
|
"configure": "구성",
|
||||||
"sso_configuration": "싱글 사인온",
|
"sso_configuration": "싱글 사인온",
|
||||||
|
"sso_configuration_description": "SAML/OIDC SSO를 구성하고 팀원이 ID 공급자를 사용하여 로그인하도록 허용",
|
||||||
|
"sso_oidc_heading": "SSO 및 OIDC",
|
||||||
|
"sso_oidc_description": "선택한 ID 공급자로 OIDC SSO를 구성합니다.",
|
||||||
|
"sso_oidc_configuration_title": "OIDC 구성",
|
||||||
|
"sso_oidc_configuration_description": "ID 공급자에 대한 OIDC 연결을 구성합니다. 필수 정보는 ID 공급자에서 찾을 수 있습니다.",
|
||||||
|
"sso_oidc_callback_copied": "콜백 URL이 복사되었습니다",
|
||||||
|
"sso_saml_heading": "SSO 및 SAML",
|
||||||
|
"sso_saml_description": "선택한 ID 공급자로 SAML SSO를 구성합니다.",
|
||||||
|
"sso_saml_configuration_title": "SAML 구성",
|
||||||
|
"sso_saml_configuration_description": "ID 공급자에 대한 SAML 연결을 구성합니다. 필수 정보는 ID 공급자에서 찾을 수 있습니다.",
|
||||||
|
"sso_saml_acsurl_copied": "ACS URL이 복사되었습니다",
|
||||||
|
"sso_saml_entityid_copied": "엔터티 ID가 복사되었습니다",
|
||||||
|
"sso_connection_created_successfully": "{{connectionType}} 구성이 생성되었습니다",
|
||||||
|
"sso_connection_deleted_successfully": "{{connectionType}} 구성이 삭제되었습니다",
|
||||||
|
"delete_sso_configuration": "{{connectionType}} 구성 삭제",
|
||||||
|
"delete_sso_configuration_confirmation": "예, {{connectionType}} 구성을 삭제합니다",
|
||||||
|
"delete_sso_configuration_confirmation_description": "{{connectionType}} 구성을 삭제하시겠습니까? {{connectionType}} 로그인을 사용하는 팀원은 더 이상 Cal.com에 액세스할 수 없습니다.",
|
||||||
|
"organizer_timezone": "주최자 시간대",
|
||||||
"email_no_user_cta": "계정 만들기",
|
"email_no_user_cta": "계정 만들기",
|
||||||
|
"email_user_cta": "초대 보기",
|
||||||
|
"email_no_user_invite_heading": "{{appName}} 팀에 초대되셨습니다",
|
||||||
|
"email_no_user_invite_subheading": "{{invitedBy}} 님이 귀하를 {{appName}}에서 자신의 팀에 초대했습니다. {{appName}} 앱은 귀하와 귀하의 팀이 이메일을 주고 받지 않고 회의 일정을 잡을 수 있게 해주는 이벤트 정리 스케줄러입니다.",
|
||||||
|
"email_no_user_invite_steps_intro": "몇 가지 간단한 단계를 안내해 드릴 것이며 곧 팀과 함께 스트레스 없는 일정 관리를 누리시게 될 것입니다.",
|
||||||
|
"email_no_user_step_one": "사용자 이름 선택",
|
||||||
|
"email_no_user_step_two": "캘린더 계정 연결하기",
|
||||||
|
"email_no_user_step_three": "언제 여유가 있는지 설정하세요",
|
||||||
|
"email_no_user_step_four": "{{teamName}} 가입",
|
||||||
|
"email_no_user_signoff": "{{appName}} 팀의 행복한 일정",
|
||||||
|
"impersonation_user_tip": "사용자를 가장하려고 합니다. 즉, 사용자를 대신하여 변경할 수 있는 것입니다. 조심하세요.",
|
||||||
|
"scheduler": "{Scheduler}",
|
||||||
|
"available_variables": "사용 가능 변수",
|
||||||
|
"recommended_next_steps": "추천 다음 단계",
|
||||||
|
"create_a_managed_event": "관리형 이벤트 유형 작성",
|
||||||
|
"meetings_are_better_with_the_right": "회의는 그곳에서 올바른 팀원과 함께 하는 것이 더 낫습니다. 지금 초대하세요.",
|
||||||
|
"create_a_one_one_template": "이벤트 유형에 대한 일대일 템플릿을 만들어 여러 일원에게 배포하십시오.",
|
||||||
|
"collective_or_roundrobin": "집단 또는 라운드 로빈",
|
||||||
|
"book_your_team_members": "집단 이벤트를 통해 팀원을 함께 예약하거나 라운드 로빈으로 적합한 일원을 찾기 위해 차례대로 둘러봅니다.",
|
||||||
|
"default_app_link_title": "기본 앱 링크 설정",
|
||||||
|
"default_app_link_description": "기본 앱 링크를 설정하면 새로 생성된 모든 이벤트 유형에서 설정한 앱 링크를 사용할 수 있습니다.",
|
||||||
"change_default_conferencing_app": "기본값으로 설정",
|
"change_default_conferencing_app": "기본값으로 설정",
|
||||||
"booking_confirmation_failed": "예약 확인 실패"
|
"under_maintenance": "아래로 밀어 유지관리",
|
||||||
|
"under_maintenance_description": "{{appName}} 팀에서 예정된 유지관리를 수행하고 있습니다. 궁금한 점이 있으면 지원팀에 문의하세요.",
|
||||||
|
"event_type_seats": "{{numberOfSeats}}석",
|
||||||
|
"booking_with_payment_cancelled": "이 이벤트는 더 이상 결제할 수 없습니다",
|
||||||
|
"booking_with_payment_cancelled_already_paid": "이 예약 결제에 대한 환불 처리가 진행 중입니다.",
|
||||||
|
"booking_with_payment_cancelled_refunded": "이 예약 결제는 환불 처리되었습니다.",
|
||||||
|
"booking_confirmation_failed": "예약 확인 실패",
|
||||||
|
"get_started_zapier_templates": "Zapier 템플릿 시작하기",
|
||||||
|
"a_routing_form": "라우팅 양식",
|
||||||
|
"form_description_placeholder": "양식 설명",
|
||||||
|
"keep_me_connected_with_form": "양식과 연결 유지",
|
||||||
|
"fields_in_form_duplicated": "복제되는 양식의 라우터 및 필드의 변경 사항은 복제본에 반영됩니다.",
|
||||||
|
"form_deleted": "양식 삭제됨",
|
||||||
|
"delete_form": "양식 삭제",
|
||||||
|
"delete_form_action": "예, 양식을 삭제하겠습니다",
|
||||||
|
"delete_form_confirmation": "이 양식을 삭제하시겠습니까? 링크를 공유한 사용자는 더 이상 링크를 사용하여 예약할 수 없습니다. 또한 모든 관련 응답도 삭제됩니다.",
|
||||||
|
"typeform_redirect_url_copied": "Typeform Redirect URL이 복사되었습니다! Typeform 형식으로 이동하여 URL을 설정할 수 있습니다.",
|
||||||
|
"modifications_in_fields_warning": "다음 양식의 필드 및 경로 수정은 이 양식에 반영됩니다.",
|
||||||
|
"connected_forms": "연결된 양식",
|
||||||
|
"form_modifications_warning": "여기에서 필드 또는 경로를 수정하면 다음 양식이 영향을 받습니다.",
|
||||||
|
"responses_collection_waiting_description": "응답이 수집될 때까지 잠시 기다리십시오. 직접 가서 양식을 제출할 수도 있습니다.",
|
||||||
|
"this_is_what_your_users_would_see": "이것은 사용자에게 표시됩니다",
|
||||||
|
"identifies_name_field": "이 이름으로 필드를 식별합니다.",
|
||||||
|
"add_1_option_per_line": "한 줄에 옵션 1개 추가",
|
||||||
|
"select_a_router": "라우터 선택",
|
||||||
|
"add_a_new_route": "새 경로 추가",
|
||||||
|
"no_responses_yet": "아직 응답 없음",
|
||||||
|
"this_will_be_the_placeholder": "이것은 자리 표시자가 됩니다"
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
"upgrade_now": "Uppgradera nu",
|
"upgrade_now": "Uppgradera nu",
|
||||||
"accept_invitation": "Acceptera inbjudan",
|
"accept_invitation": "Acceptera inbjudan",
|
||||||
"calcom_explained": "{{appName}} erbjuder en infrastruktur för schemaläggning för alla.",
|
"calcom_explained": "{{appName}} erbjuder en infrastruktur för schemaläggning för alla.",
|
||||||
|
"calcom_explained_new_user": "Slutför konfigureringen av ditt {{appName}}-konto! Du är bara några steg från att lösa alla dina schemaläggningsproblem.",
|
||||||
"have_any_questions": "Har du frågor? Vi är här för att hjälpa till.",
|
"have_any_questions": "Har du frågor? Vi är här för att hjälpa till.",
|
||||||
"reset_password_subject": "{{appName}}: Instruktioner för att återställa ditt lösenord",
|
"reset_password_subject": "{{appName}}: Instruktioner för att återställa ditt lösenord",
|
||||||
"event_declined_subject": "Avvisades: {{title}} kl. {{date}}",
|
"event_declined_subject": "Avvisades: {{title}} kl. {{date}}",
|
||||||
@@ -23,6 +24,8 @@
|
|||||||
"rejection_reason_description": "Är du säker på att du vill avböja bokningen? Vi kommer att meddela personen som försökte boka. Du kan ange en anledning nedan.",
|
"rejection_reason_description": "Är du säker på att du vill avböja bokningen? Vi kommer att meddela personen som försökte boka. Du kan ange en anledning nedan.",
|
||||||
"rejection_confirmation": "Avböj bokningen",
|
"rejection_confirmation": "Avböj bokningen",
|
||||||
"manage_this_event": "Hantera denna bokning",
|
"manage_this_event": "Hantera denna bokning",
|
||||||
|
"invite_team_member": "Bjud in teammedlem",
|
||||||
|
"invite_team_notifcation_badge": "Inv.",
|
||||||
"your_event_has_been_scheduled": "Din bokning har schemalagts",
|
"your_event_has_been_scheduled": "Din bokning har schemalagts",
|
||||||
"your_event_has_been_scheduled_recurring": "Din återkommande händelseförfrågan har schemalagts",
|
"your_event_has_been_scheduled_recurring": "Din återkommande händelseförfrågan har schemalagts",
|
||||||
"accept_our_license": "Acceptera vår licens genom att ändra .env variabeln <1>NEXT_PUBLIC_LICENSE_CONSENT</1> till '{{agree}}'.",
|
"accept_our_license": "Acceptera vår licens genom att ändra .env variabeln <1>NEXT_PUBLIC_LICENSE_CONSENT</1> till '{{agree}}'.",
|
||||||
@@ -410,6 +413,8 @@
|
|||||||
"password_updated_successfully": "Lösenordet har uppdaterats",
|
"password_updated_successfully": "Lösenordet har uppdaterats",
|
||||||
"password_has_been_changed": "Ditt lösenord har ändrats.",
|
"password_has_been_changed": "Ditt lösenord har ändrats.",
|
||||||
"error_changing_password": "Fel vid ändring av lösenord",
|
"error_changing_password": "Fel vid ändring av lösenord",
|
||||||
|
"session_timeout_changed": "Din sessionskonfiguration har uppdaterats.",
|
||||||
|
"session_timeout_change_error": "Fel vid uppdatering av sessionskonfiguration",
|
||||||
"something_went_wrong": "Något gick snett.",
|
"something_went_wrong": "Något gick snett.",
|
||||||
"something_doesnt_look_right": "Något ser inte rätt ut?",
|
"something_doesnt_look_right": "Något ser inte rätt ut?",
|
||||||
"please_try_again": "Vänligen försök igen.",
|
"please_try_again": "Vänligen försök igen.",
|
||||||
@@ -428,6 +433,7 @@
|
|||||||
"password_hint_num": "Innehåller minst 1 siffra",
|
"password_hint_num": "Innehåller minst 1 siffra",
|
||||||
"invalid_password_hint": "Lösenordet måste innehålla minst {{passwordLength}} tecken och har minst en siffra samt en blandning av versaler och gemener",
|
"invalid_password_hint": "Lösenordet måste innehålla minst {{passwordLength}} tecken och har minst en siffra samt en blandning av versaler och gemener",
|
||||||
"incorrect_password": "Lösenordet är felaktigt.",
|
"incorrect_password": "Lösenordet är felaktigt.",
|
||||||
|
"incorrect_username_password": "Felaktigt användarnamn eller lösenord.",
|
||||||
"24_h": "24 timmar",
|
"24_h": "24 timmar",
|
||||||
"use_setting": "Använd inställning",
|
"use_setting": "Använd inställning",
|
||||||
"am_pm": "am/pm",
|
"am_pm": "am/pm",
|
||||||
@@ -455,6 +461,7 @@
|
|||||||
"slots_load_fail": "Det gick inte att ladda tillgängliga tidsluckor.",
|
"slots_load_fail": "Det gick inte att ladda tillgängliga tidsluckor.",
|
||||||
"additional_guests": "Lägg till gäster",
|
"additional_guests": "Lägg till gäster",
|
||||||
"your_name": "Ditt namn",
|
"your_name": "Ditt namn",
|
||||||
|
"your_full_name": "Ditt fullständiga namn",
|
||||||
"email_address": "E-postadress",
|
"email_address": "E-postadress",
|
||||||
"enter_valid_email": "Ange en giltig e-postadress",
|
"enter_valid_email": "Ange en giltig e-postadress",
|
||||||
"location": "Plats",
|
"location": "Plats",
|
||||||
@@ -508,6 +515,8 @@
|
|||||||
"admin": "Administratör",
|
"admin": "Administratör",
|
||||||
"administrator_user": "Administratörsanvändare",
|
"administrator_user": "Administratörsanvändare",
|
||||||
"lets_create_first_administrator_user": "Vi skapar den första administratörsanvändaren.",
|
"lets_create_first_administrator_user": "Vi skapar den första administratörsanvändaren.",
|
||||||
|
"admin_user_created": "Inställning av administratörsanvändare",
|
||||||
|
"admin_user_created_description": "Du har redan skapat en administratörsanvändare. Du kan nu logga in på ditt konto.",
|
||||||
"new_member": "Ny medlem",
|
"new_member": "Ny medlem",
|
||||||
"invite": "Bjud in",
|
"invite": "Bjud in",
|
||||||
"add_team_members": "Lägg till teammedlemmar",
|
"add_team_members": "Lägg till teammedlemmar",
|
||||||
@@ -658,6 +667,7 @@
|
|||||||
"edit_availability": "Redigera tillgänglighet",
|
"edit_availability": "Redigera tillgänglighet",
|
||||||
"configure_availability": "Ställ in de tider du är tillgänglig för bokningar.",
|
"configure_availability": "Ställ in de tider du är tillgänglig för bokningar.",
|
||||||
"copy_times_to": "Kopiera tider till",
|
"copy_times_to": "Kopiera tider till",
|
||||||
|
"copy_times_to_tooltip": "Kopiera tider till …",
|
||||||
"change_weekly_schedule": "Ändra ditt veckoschema",
|
"change_weekly_schedule": "Ändra ditt veckoschema",
|
||||||
"logo": "Logotyp",
|
"logo": "Logotyp",
|
||||||
"error": "Fel",
|
"error": "Fel",
|
||||||
@@ -669,6 +679,7 @@
|
|||||||
"add_attendees": "Lägg till deltagare",
|
"add_attendees": "Lägg till deltagare",
|
||||||
"show_advanced_settings": "Visa avancerade inställningar",
|
"show_advanced_settings": "Visa avancerade inställningar",
|
||||||
"event_name": "Händelsenamn",
|
"event_name": "Händelsenamn",
|
||||||
|
"event_name_in_calendar": "Händelsenamn i kalender",
|
||||||
"event_name_tooltip": "Namnet som kommer visas i kalendrar",
|
"event_name_tooltip": "Namnet som kommer visas i kalendrar",
|
||||||
"meeting_with_user": "Möte med {{attendeeName}}",
|
"meeting_with_user": "Möte med {{attendeeName}}",
|
||||||
"additional_inputs": "Ytterligare inmatningar",
|
"additional_inputs": "Ytterligare inmatningar",
|
||||||
@@ -787,6 +798,7 @@
|
|||||||
"number_apps_one": "{{count}} app",
|
"number_apps_one": "{{count}} app",
|
||||||
"number_apps_other": "{{count}} appar",
|
"number_apps_other": "{{count}} appar",
|
||||||
"trending_apps": "Trendande appar",
|
"trending_apps": "Trendande appar",
|
||||||
|
"most_popular": "Mest populärt",
|
||||||
"explore_apps": "{{category}}-appar",
|
"explore_apps": "{{category}}-appar",
|
||||||
"installed_apps": "Installerade appar",
|
"installed_apps": "Installerade appar",
|
||||||
"free_to_use_apps": "Gratis",
|
"free_to_use_apps": "Gratis",
|
||||||
@@ -797,12 +809,14 @@
|
|||||||
"no_category_apps_description_analytics": "Lägg till en analysapp för dina bokningssidor",
|
"no_category_apps_description_analytics": "Lägg till en analysapp för dina bokningssidor",
|
||||||
"no_category_apps_description_automation": "Lägg till en automationsapp att använda",
|
"no_category_apps_description_automation": "Lägg till en automationsapp att använda",
|
||||||
"no_category_apps_description_other": "Lägg till en annan typ av app för att göra alla möjliga saker",
|
"no_category_apps_description_other": "Lägg till en annan typ av app för att göra alla möjliga saker",
|
||||||
|
"no_category_apps_description_web3": "Lägg itll web3-app för dina bokningssidor",
|
||||||
"installed_app_calendar_description": "Ställ in kalendrar att söka efter konflikter för att undvika dubbelbokningar.",
|
"installed_app_calendar_description": "Ställ in kalendrar att söka efter konflikter för att undvika dubbelbokningar.",
|
||||||
"installed_app_conferencing_description": "Lägg till dina favoritappar för videokonferenser för dina möten",
|
"installed_app_conferencing_description": "Lägg till dina favoritappar för videokonferenser för dina möten",
|
||||||
"installed_app_payment_description": "Konfigurera vilka betalningstjänster som ska användas när du debiterar dina kunder.",
|
"installed_app_payment_description": "Konfigurera vilka betalningstjänster som ska användas när du debiterar dina kunder.",
|
||||||
"installed_app_analytics_description": "Konfigurera vilka analysappar som ska användas för dina bokningssidor",
|
"installed_app_analytics_description": "Konfigurera vilka analysappar som ska användas för dina bokningssidor",
|
||||||
"installed_app_other_description": "Alla dina installerade appar från andra kategorier.",
|
"installed_app_other_description": "Alla dina installerade appar från andra kategorier.",
|
||||||
"installed_app_automation_description": "Konfigurera vilka automationsappar som ska användas",
|
"installed_app_automation_description": "Konfigurera vilka automationsappar som ska användas",
|
||||||
|
"installed_app_web3_description": "Konfigurera vilka web3-appar som ska användas för dina bokningssidor",
|
||||||
"analytics": "Analys",
|
"analytics": "Analys",
|
||||||
"empty_installed_apps_headline": "Inga appar installerade",
|
"empty_installed_apps_headline": "Inga appar installerade",
|
||||||
"empty_installed_apps_description": "Med appar kan du förbättra ditt arbetsflöde och din schemaläggning avsevärt.",
|
"empty_installed_apps_description": "Med appar kan du förbättra ditt arbetsflöde och din schemaläggning avsevärt.",
|
||||||
@@ -930,6 +944,11 @@
|
|||||||
"current_location": "Nuvarande plats",
|
"current_location": "Nuvarande plats",
|
||||||
"user_phone": "Ditt telefonnummer",
|
"user_phone": "Ditt telefonnummer",
|
||||||
"new_location": "Ny plats",
|
"new_location": "Ny plats",
|
||||||
|
"session": "Session",
|
||||||
|
"session_description": "Kontrollera din kontosession",
|
||||||
|
"session_timeout_after": "Timeout-session efter",
|
||||||
|
"session_timeout": "Sessions-timeout",
|
||||||
|
"session_timeout_description": "Ogiltigförklara din session efter en viss tid.",
|
||||||
"no_location": "Ingen plats definierad",
|
"no_location": "Ingen plats definierad",
|
||||||
"set_location": "Ställ in plats",
|
"set_location": "Ställ in plats",
|
||||||
"update_location": "Uppdatera plats",
|
"update_location": "Uppdatera plats",
|
||||||
@@ -1073,6 +1092,7 @@
|
|||||||
"broken_video_action": "Det gick inte att lägga till möteslänken <1>{{location}}</1> i din planerade händelse. Kontakta personerna du bjudit in eller uppdatera din kalenderhändelse för att lägga till informationen. Du kan antingen <3>ändra din plats i händelsetypen </3> eller prova <5>att ta bort och lägga till appen igen.</5>",
|
"broken_video_action": "Det gick inte att lägga till möteslänken <1>{{location}}</1> i din planerade händelse. Kontakta personerna du bjudit in eller uppdatera din kalenderhändelse för att lägga till informationen. Du kan antingen <3>ändra din plats i händelsetypen </3> eller prova <5>att ta bort och lägga till appen igen.</5>",
|
||||||
"broken_calendar_action": "Det gick inte att uppdatera din <1>{{calendar}}</1>. <2> Kontrollera dina kalenderinställningar eller ta bort och lägg till din kalender igen </2>",
|
"broken_calendar_action": "Det gick inte att uppdatera din <1>{{calendar}}</1>. <2> Kontrollera dina kalenderinställningar eller ta bort och lägg till din kalender igen </2>",
|
||||||
"attendee_name": "Deltagarens namn",
|
"attendee_name": "Deltagarens namn",
|
||||||
|
"scheduler_full_name": "Fullständigt namn på personen som bokar",
|
||||||
"broken_integration": "Trasig integration",
|
"broken_integration": "Trasig integration",
|
||||||
"problem_adding_video_link": "Det gick inte att lägga till en videolänk",
|
"problem_adding_video_link": "Det gick inte att lägga till en videolänk",
|
||||||
"problem_updating_calendar": "Det gick inte att uppdatera din kalender",
|
"problem_updating_calendar": "Det gick inte att uppdatera din kalender",
|
||||||
@@ -1215,6 +1235,7 @@
|
|||||||
"connect_automation_apps": "Anslut automationsappar",
|
"connect_automation_apps": "Anslut automationsappar",
|
||||||
"connect_analytics_apps": "Anslut analysappar",
|
"connect_analytics_apps": "Anslut analysappar",
|
||||||
"connect_other_apps": "Anslut andra appar",
|
"connect_other_apps": "Anslut andra appar",
|
||||||
|
"connect_web3_apps": "Anslut web3-appar",
|
||||||
"current_step_of_total": "Steg {{currentStep}} av {{maxSteps}}",
|
"current_step_of_total": "Steg {{currentStep}} av {{maxSteps}}",
|
||||||
"add_variable": "Lägg till variabel",
|
"add_variable": "Lägg till variabel",
|
||||||
"custom_phone_number": "Anpassa telefonnummer",
|
"custom_phone_number": "Anpassa telefonnummer",
|
||||||
@@ -1231,6 +1252,7 @@
|
|||||||
"to": "Till",
|
"to": "Till",
|
||||||
"workflow_turned_on_successfully": "Arbetsflödet {{workflowName}} är {{offOn}}",
|
"workflow_turned_on_successfully": "Arbetsflödet {{workflowName}} är {{offOn}}",
|
||||||
"download_responses": "Ladda ned svar",
|
"download_responses": "Ladda ned svar",
|
||||||
|
"download_responses_description": "Ladda ner alla svar till ditt formulär i CSV-format.",
|
||||||
"download": "Ladda ned",
|
"download": "Ladda ned",
|
||||||
"create_your_first_form": "Skapa ditt första formulär",
|
"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 Dirigeringsformulär kan du ställa kvalificerade frågor och dirigera till rätt person eller händelsetyp.",
|
||||||
@@ -1272,6 +1294,8 @@
|
|||||||
"routing_forms_send_email_owner": "Skicka e-post till ägare",
|
"routing_forms_send_email_owner": "Skicka e-post till ägare",
|
||||||
"routing_forms_send_email_owner_description": "Skickar ett e-postmeddelande till ägaren när formuläret skickas",
|
"routing_forms_send_email_owner_description": "Skickar ett e-postmeddelande till ägaren när formuläret skickas",
|
||||||
"add_new_form": "Lägg till nytt formulär",
|
"add_new_form": "Lägg till nytt formulär",
|
||||||
|
"create_your_first_route": "Skapa din första rutt",
|
||||||
|
"route_to_the_right_person": "Skicka vidare till rätt person baserat på svaren i formuläret",
|
||||||
"form_description": "Skapa ditt formulär för att dirigera en bokare",
|
"form_description": "Skapa ditt formulär för att dirigera en bokare",
|
||||||
"copy_link_to_form": "Kopiera länk till formulär",
|
"copy_link_to_form": "Kopiera länk till formulär",
|
||||||
"theme": "Tema",
|
"theme": "Tema",
|
||||||
@@ -1302,6 +1326,7 @@
|
|||||||
"password_reset_leading": "Om du inte fick e-postmeddelandet snart, kontrollera att e-postadressen du angav är korrekt, kontrollera din skräppostmapp eller kontakta kundsupport om problemet kvarstår.",
|
"password_reset_leading": "Om du inte fick e-postmeddelandet snart, kontrollera att e-postadressen du angav är korrekt, kontrollera din skräppostmapp eller kontakta kundsupport om problemet kvarstår.",
|
||||||
"password_updated": "Lösenord uppdaterat!",
|
"password_updated": "Lösenord uppdaterat!",
|
||||||
"pending_payment": "Väntande betalning",
|
"pending_payment": "Väntande betalning",
|
||||||
|
"pending_invites": "Väntande inbjudningar",
|
||||||
"confirmation_page_rainbow": "Tokenskydda din händelse med tokens eller NFT:er på Ethereum, Polygon med mera.",
|
"confirmation_page_rainbow": "Tokenskydda din händelse med tokens eller NFT:er på Ethereum, Polygon med mera.",
|
||||||
"not_on_cal": "Inte på {{appName}}",
|
"not_on_cal": "Inte på {{appName}}",
|
||||||
"no_calendar_installed": "Ingen kalender installerad",
|
"no_calendar_installed": "Ingen kalender installerad",
|
||||||
@@ -1428,6 +1453,9 @@
|
|||||||
"disabled_calendar": "Om du har en annan kalender installerad läggs nya bokningar till i den. Anslut annars en ny kalender så att du inte missar nya bokningar.",
|
"disabled_calendar": "Om du har en annan kalender installerad läggs nya bokningar till i den. Anslut annars en ny kalender så att du inte missar nya bokningar.",
|
||||||
"enable_apps": "Aktivera appar",
|
"enable_apps": "Aktivera appar",
|
||||||
"enable_apps_description": "Aktivera appar som användare kan integrera med Cal.com",
|
"enable_apps_description": "Aktivera appar som användare kan integrera med Cal.com",
|
||||||
|
"purchase_license": "Köp en licens",
|
||||||
|
"already_have_key": "Jag har redan en nyckel:",
|
||||||
|
"already_have_key_suggestion": "Kopiera din befintliga CALCOM_LICENSE_KEY-miljövariabel här.",
|
||||||
"app_is_enabled": "{{appName}} har aktiverats",
|
"app_is_enabled": "{{appName}} har aktiverats",
|
||||||
"app_is_disabled": "{{appName}} har inaktiverats",
|
"app_is_disabled": "{{appName}} har inaktiverats",
|
||||||
"keys_have_been_saved": "Nycklar har sparats",
|
"keys_have_been_saved": "Nycklar har sparats",
|
||||||
@@ -1448,6 +1476,7 @@
|
|||||||
"individual": "Individ",
|
"individual": "Individ",
|
||||||
"all_bookings_filter_label": "Alla bokningar",
|
"all_bookings_filter_label": "Alla bokningar",
|
||||||
"all_users_filter_label": "Alla användare",
|
"all_users_filter_label": "Alla användare",
|
||||||
|
"your_bookings_filter_label": "Dina bokningar",
|
||||||
"meeting_url_variable": "Mötes-URL",
|
"meeting_url_variable": "Mötes-URL",
|
||||||
"meeting_url_info": "URL till evenemangets möteskonferens",
|
"meeting_url_info": "URL till evenemangets möteskonferens",
|
||||||
"date_overrides": "Åsidosättningar av datum",
|
"date_overrides": "Åsidosättningar av datum",
|
||||||
@@ -1486,6 +1515,7 @@
|
|||||||
"round_robin_hosts": "Round Robin-värdar",
|
"round_robin_hosts": "Round Robin-värdar",
|
||||||
"minimum_round_robin_hosts_count": "Antal värdar som krävs för att delta",
|
"minimum_round_robin_hosts_count": "Antal värdar som krävs för att delta",
|
||||||
"hosts": "Värdar",
|
"hosts": "Värdar",
|
||||||
|
"upgrade_to_enable_feature": "Du måste skapa ett team för att aktivera den här funktionen. Klicka för att skapa ett team.",
|
||||||
"new_attendee": "Ny deltagare",
|
"new_attendee": "Ny deltagare",
|
||||||
"awaiting_approval": "Väntar på godkännande",
|
"awaiting_approval": "Väntar på godkännande",
|
||||||
"requires_google_calendar": "Den här appen kräver en Google Kalender-anslutning",
|
"requires_google_calendar": "Den här appen kräver en Google Kalender-anslutning",
|
||||||
@@ -1494,9 +1524,100 @@
|
|||||||
"continue_to_install_google_calendar": "Fortsätt att installera Google Kalender",
|
"continue_to_install_google_calendar": "Fortsätt att installera Google Kalender",
|
||||||
"install_google_meet": "Installera Google Meet",
|
"install_google_meet": "Installera Google Meet",
|
||||||
"install_google_calendar": "Installera Google Kalender",
|
"install_google_calendar": "Installera Google Kalender",
|
||||||
|
"sender_name": "Avsändarens namn",
|
||||||
|
"already_invited": "Deltagare redan inbjuden",
|
||||||
|
"no_recordings_found": "Inga poster hittades",
|
||||||
|
"reporting": "Rapportering",
|
||||||
|
"reporting_feature": "Se alla inkommande från data och ladda ner som CSV",
|
||||||
|
"teams_plan_required": "Teams-abonnemang krävs",
|
||||||
|
"routing_forms_are_a_great_way": "Omdirigeringsformulär är ett bra sätt att dirigera inkommande leads till rätt person. Uppgradera till ett Teams-abonnemang för att få tillgång till den här funktionen.",
|
||||||
|
"choose_a_license": "Välj en licens",
|
||||||
|
"choose_license_description": "Cal.com har en tillgänglig och gratis AGPLv3-licens med vissa begränsningar som när som helst kan uppgraderas till en företagslicens. Du kan uppgradera när som helst senare.",
|
||||||
|
"license": "Licens",
|
||||||
|
"agplv3_license": "AGPLv3-licens",
|
||||||
|
"ee_enterprise_license": "“/ee” företagslicens",
|
||||||
|
"enterprise_booking_fee": "Från {{enterprise_booking_fee}}/månad",
|
||||||
|
"enterprise_license_includes": "Allt för ett kommersiellt användarfall",
|
||||||
|
"no_need_to_keep_your_code_open_source": "Inget behov av att behålla din kod som öppen källkod",
|
||||||
|
"repackage_rebrand_resell": "Lätt att ompaketera, omprofilera och återsälja",
|
||||||
|
"a_vast_suite_of_enterprise_features": "En omfattande uppsättning företagsfunktioner",
|
||||||
|
"free_license_fee": "$0.00/månad",
|
||||||
|
"forever_open_and_free": "Öppen och gratis för alltid",
|
||||||
|
"required_to_keep_your_code_open_source": "Behövs för att hålla din kod som öppen källkod",
|
||||||
|
"cannot_repackage_and_resell": "Det går inte att omförpacka, pmprofilera och återsälja",
|
||||||
|
"no_enterprise_features": "Inga företagsfunktioner",
|
||||||
|
"step_enterprise_license": "Företagslicens",
|
||||||
|
"step_enterprise_license_description": "Allt för kommersiellt bruk med privat hosting, ompaketering, omprofilering och återförsäljning samt tillgång till exklusiva företagskomponenter.",
|
||||||
|
"setup": "Konfiguration",
|
||||||
|
"setup_description": "Installera Cal.com-instans",
|
||||||
"configure": "Konfigurera",
|
"configure": "Konfigurera",
|
||||||
"sso_configuration": "Enkel inloggning",
|
"sso_configuration": "Enkel inloggning",
|
||||||
|
"sso_configuration_description": "Konfigurera SAML/OIDC SSO och låt teammedlemmar logga in med hjälp av en identitetsleverantör",
|
||||||
|
"sso_oidc_heading": "SSO med OIDC",
|
||||||
|
"sso_oidc_description": "Konfigurera OIDC SSO med identitetsleverantör som du väljer.",
|
||||||
|
"sso_oidc_configuration_title": "OIDC-konfiguration",
|
||||||
|
"sso_oidc_configuration_description": "Konfigurera OIDC-anslutningen till din identitetsleverantör. Du hittar den nödvändiga informationen i din identitetsleverantör.",
|
||||||
|
"sso_oidc_callback_copied": "URL för återkallelse kopierad",
|
||||||
|
"sso_saml_heading": "SSO med SAML",
|
||||||
|
"sso_saml_description": "Konfigurera SAML SSO med identitetsleverantör som du väljer.",
|
||||||
|
"sso_saml_configuration_title": "SAML-konfiguration",
|
||||||
|
"sso_saml_configuration_description": "Konfigurera SAML-anslutningen till din identitetsleverantör. Du hittar den nödvändiga informationen i din identitetsleverantör.",
|
||||||
|
"sso_saml_acsurl_copied": "ACS-URL",
|
||||||
|
"sso_saml_entityid_copied": "Enhets-ID kopierat",
|
||||||
|
"sso_connection_created_successfully": "{{connectionType}}-konfiguration har skapats",
|
||||||
|
"sso_connection_deleted_successfully": "{{connectionType}}-konfiguration togs bort",
|
||||||
|
"delete_sso_configuration": "Ta bort {{connectionType}}-konfiguration",
|
||||||
|
"delete_sso_configuration_confirmation": "Ja, ta bort {{connectionType}}-konfiguration",
|
||||||
|
"delete_sso_configuration_confirmation_description": "Är du säker på att du vill ta bort konfigurationen {{connectionType}}? Dina teammedlemmar som använder {{connectionType}}-inloggning kommer inte längre att kunna komma åt Cal.com.",
|
||||||
|
"organizer_timezone": "Arrangörens tidszon",
|
||||||
"email_no_user_cta": "Skapa ditt konto",
|
"email_no_user_cta": "Skapa ditt konto",
|
||||||
|
"email_user_cta": "Visa inbjudan",
|
||||||
|
"email_no_user_invite_heading": "Du har blivit inbjuden att gå med i ett team på {{appName}}",
|
||||||
|
"email_no_user_invite_subheading": "{{invitedBy}} har bjudit in dig att gå med i sitt team på {{appName}}. {{appName}} är den jonglerande schemaläggaren som gör det möjligt för dig och ditt team att planera möten utan e-posttennis.",
|
||||||
|
"email_no_user_invite_steps_intro": "Vi går igenom några korta steg så att du kan njuta av stressfri schemaläggning med ditt team på nolltid.",
|
||||||
|
"email_no_user_step_one": "Välj ditt användarnamn",
|
||||||
|
"email_no_user_step_two": "Anslut ditt kalenderkonto",
|
||||||
|
"email_no_user_step_three": "Ställ in din tillgänglighet",
|
||||||
|
"email_no_user_step_four": "Gå med i {{teamName}}",
|
||||||
|
"email_no_user_signoff": "Glad schemaläggning från {{appName}}-teamet",
|
||||||
|
"impersonation_user_tip": "Du är på väg att uppträda som en användare, vilket innebär att du kan göra ändringar för dennes räkning. Var försiktig.",
|
||||||
|
"scheduler": "{Scheduler}",
|
||||||
|
"available_variables": "Tillgängliga variabler",
|
||||||
|
"recommended_next_steps": "Rekommenderade nästa steg",
|
||||||
|
"create_a_managed_event": "Skapa en hanterad händelsetyp",
|
||||||
|
"meetings_are_better_with_the_right": "Mötena blir bättre när rätt gruppmedlemmar ä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.",
|
||||||
|
"collective_or_roundrobin": "Kollektiv eller round-robin",
|
||||||
|
"book_your_team_members": "Boka dina teammedlemmar tillsammans med kollektiva evenemang eller gå igenom för att få rätt person med round-robin.",
|
||||||
|
"default_app_link_title": "Skapa en standardlänk för appen",
|
||||||
|
"default_app_link_description": "Om du skapar en standardapplänk kan alla nyss skapade händelsetyper använda den applänk som du har angett.",
|
||||||
"change_default_conferencing_app": "Ange som standard",
|
"change_default_conferencing_app": "Ange som standard",
|
||||||
"booking_confirmation_failed": "Bokningsbekräftelsen misslyckades"
|
"under_maintenance": "Nere för underhåll",
|
||||||
|
"under_maintenance_description": "{{appName}}-teamet utför planerat underhåll. Om du har några frågor kan du kontakta supporten.",
|
||||||
|
"event_type_seats": "{{numberOfSeats}} platser",
|
||||||
|
"booking_with_payment_cancelled": "Det går inte längre att betala för det här evenemanget",
|
||||||
|
"booking_with_payment_cancelled_already_paid": "En återbetalning för den här bokningsbetalningen är på väg.",
|
||||||
|
"booking_with_payment_cancelled_refunded": "Den här bokningsbetalningen har återbetalats.",
|
||||||
|
"booking_confirmation_failed": "Bokningsbekräftelsen misslyckades",
|
||||||
|
"get_started_zapier_templates": "Kom igång med Zapier-mallar",
|
||||||
|
"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 duplikatet.",
|
||||||
|
"form_deleted": "Formulär borttaget",
|
||||||
|
"delete_form": "Ta bort formulär",
|
||||||
|
"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.",
|
||||||
|
"typeform_redirect_url_copied": "Typeform Redirect URL kopierad! Du kan ange URL:n i Typeform-formuläret.",
|
||||||
|
"modifications_in_fields_warning": "Ändringar i fält och omdirigeringar av följande formulär kommer att återspeglas i detta formulär.",
|
||||||
|
"connected_forms": "Anslutna formulär",
|
||||||
|
"form_modifications_warning": "Följande formulär skulle påverkas när du ändrar fält eller omdirigeringar här.",
|
||||||
|
"responses_collection_waiting_description": "Vänta en stund tills svaren samlas in. Du kan också skicka in formuläret själv.",
|
||||||
|
"this_is_what_your_users_would_see": "Detta är vad dina användare skulle se",
|
||||||
|
"identifies_name_field": "Identifierar fält med detta namn.",
|
||||||
|
"add_1_option_per_line": "Lägg till 1 alternativ per rad",
|
||||||
|
"select_a_router": "Välj en router",
|
||||||
|
"add_a_new_route": "Lägg till ny omdirigering",
|
||||||
|
"no_responses_yet": "Inga svar ännu",
|
||||||
|
"this_will_be_the_placeholder": "Det här blir platshållaren"
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
"upgrade_now": "Nâng cấp ngay",
|
"upgrade_now": "Nâng cấp ngay",
|
||||||
"accept_invitation": "Chấp Nhận Lời Mời",
|
"accept_invitation": "Chấp Nhận Lời Mời",
|
||||||
"calcom_explained": "{{appName}} là Calendly mã nguồn mở, giúp bạn quản lý dữ liệu, ngoại hình và cách làm việc của mình.",
|
"calcom_explained": "{{appName}} là Calendly mã nguồn mở, giúp bạn quản lý dữ liệu, ngoại hình và cách làm việc của mình.",
|
||||||
|
"calcom_explained_new_user": "Hoàn tất thiết lập tài khoản của bạn trong {{appName}}! Bạn chỉ còn vài bước nữa là giải quyết được mọi vấn đề về việc lên lịch kế hoạch.",
|
||||||
"have_any_questions": "Có câu hỏi? Chúng tôi luôn ở đây để giúp bạn.",
|
"have_any_questions": "Có câu hỏi? Chúng tôi luôn ở đây để giúp bạn.",
|
||||||
"reset_password_subject": "{{appName}}: Hướng dẫn thay đổi mật khẩu",
|
"reset_password_subject": "{{appName}}: Hướng dẫn thay đổi mật khẩu",
|
||||||
"event_declined_subject": "Đã từ chối: {{title}} tại {{date}}",
|
"event_declined_subject": "Đã từ chối: {{title}} tại {{date}}",
|
||||||
@@ -23,6 +24,8 @@
|
|||||||
"rejection_reason_description": "Bạn có chắc bạn muốn từ chối đặt lịch hẹn? Chúng tôi sẽ cho người đặt biết. Bạn có thể cho người dùng biết lý do từ chối dưới đây.",
|
"rejection_reason_description": "Bạn có chắc bạn muốn từ chối đặt lịch hẹn? Chúng tôi sẽ cho người đặt biết. Bạn có thể cho người dùng biết lý do từ chối dưới đây.",
|
||||||
"rejection_confirmation": "Từ chối lịch hẹn",
|
"rejection_confirmation": "Từ chối lịch hẹn",
|
||||||
"manage_this_event": "Quản lý sự kiện này",
|
"manage_this_event": "Quản lý sự kiện này",
|
||||||
|
"invite_team_member": "Mời thành viên nhóm",
|
||||||
|
"invite_team_notifcation_badge": "Mời",
|
||||||
"your_event_has_been_scheduled": "Sự kiện của bạn đã được lên lịch",
|
"your_event_has_been_scheduled": "Sự kiện của bạn đã được lên lịch",
|
||||||
"your_event_has_been_scheduled_recurring": "Sự kiện định kỳ của bạn đã được lên lịch",
|
"your_event_has_been_scheduled_recurring": "Sự kiện định kỳ của bạn đã được lên lịch",
|
||||||
"accept_our_license": "Chấp nhận giấy phép của chúng tôi bằng cách thay đổi biến .env <1>NEXT_PUBLIC_LICENSE_CONSENT</1> thành '{{agree}}'.",
|
"accept_our_license": "Chấp nhận giấy phép của chúng tôi bằng cách thay đổi biến .env <1>NEXT_PUBLIC_LICENSE_CONSENT</1> thành '{{agree}}'.",
|
||||||
@@ -410,6 +413,8 @@
|
|||||||
"password_updated_successfully": "Đã cập nhật mật khẩu thành công",
|
"password_updated_successfully": "Đã cập nhật mật khẩu thành công",
|
||||||
"password_has_been_changed": "Mật khẩu của bạn đã được thay đổi thành công.",
|
"password_has_been_changed": "Mật khẩu của bạn đã được thay đổi thành công.",
|
||||||
"error_changing_password": "Lỗi khi thay đổi mật khẩu",
|
"error_changing_password": "Lỗi khi thay đổi mật khẩu",
|
||||||
|
"session_timeout_changed": "Đã cập nhật thành công cấu hình phiên của bạn.",
|
||||||
|
"session_timeout_change_error": "Lỗi khi cập nhật cấu hình phiên",
|
||||||
"something_went_wrong": "Đã xảy ra lỗi.",
|
"something_went_wrong": "Đã xảy ra lỗi.",
|
||||||
"something_doesnt_look_right": "Có gì đó không ổn?",
|
"something_doesnt_look_right": "Có gì đó không ổn?",
|
||||||
"please_try_again": "Vui lòng thử lại.",
|
"please_try_again": "Vui lòng thử lại.",
|
||||||
@@ -428,6 +433,7 @@
|
|||||||
"password_hint_num": "Chứa ít nhất 1 con số",
|
"password_hint_num": "Chứa ít nhất 1 con số",
|
||||||
"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",
|
"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_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.",
|
||||||
"24_h": "24h",
|
"24_h": "24h",
|
||||||
"use_setting": "Sử dụng cài đặt",
|
"use_setting": "Sử dụng cài đặt",
|
||||||
"am_pm": "\u001dam/pm",
|
"am_pm": "\u001dam/pm",
|
||||||
@@ -455,6 +461,7 @@
|
|||||||
"slots_load_fail": "Không thể tải thời gian có thể đặt lịch.",
|
"slots_load_fail": "Không thể tải thời gian có thể đặt lịch.",
|
||||||
"additional_guests": "Thêm khách",
|
"additional_guests": "Thêm khách",
|
||||||
"your_name": "Tên của bạn",
|
"your_name": "Tên của bạn",
|
||||||
|
"your_full_name": "Tên đầy đủ của bạn",
|
||||||
"email_address": "Địa chỉ email",
|
"email_address": "Địa chỉ email",
|
||||||
"enter_valid_email": "Vui lòng điền vào email hợp lệ",
|
"enter_valid_email": "Vui lòng điền vào email hợp lệ",
|
||||||
"location": "Vị trí",
|
"location": "Vị trí",
|
||||||
@@ -508,6 +515,8 @@
|
|||||||
"admin": "Quản trị viên",
|
"admin": "Quản trị viên",
|
||||||
"administrator_user": "Người dùng quản trị viên",
|
"administrator_user": "Người dùng quản trị viên",
|
||||||
"lets_create_first_administrator_user": "Hãy tạo người dùng đầu tiên ở vai trò quản trị viên.",
|
"lets_create_first_administrator_user": "Hãy tạo người dùng đầu tiên ở vai trò quản trị viên.",
|
||||||
|
"admin_user_created": "Thiết lập người dùng quản trị",
|
||||||
|
"admin_user_created_description": "Bạn đã tạo một người dùng quản trị. Giờ bạn có thể đăng nhập tài khoản của mình.",
|
||||||
"new_member": "Thành viên mới",
|
"new_member": "Thành viên mới",
|
||||||
"invite": "Mời",
|
"invite": "Mời",
|
||||||
"add_team_members": "Thêm thành viên nhóm",
|
"add_team_members": "Thêm thành viên nhóm",
|
||||||
@@ -658,6 +667,7 @@
|
|||||||
"edit_availability": "Sửa tình trạng trống lịch",
|
"edit_availability": "Sửa tình trạng trống lịch",
|
||||||
"configure_availability": "Định cấu hình thời gian mà mọi người có thể đặt lịch hẹn.",
|
"configure_availability": "Định cấu hình thời gian mà mọi người có thể đặt lịch hẹn.",
|
||||||
"copy_times_to": "Sao chép thời gian đến",
|
"copy_times_to": "Sao chép thời gian đến",
|
||||||
|
"copy_times_to_tooltip": "Sao chép thời gian đến …",
|
||||||
"change_weekly_schedule": "Thay đổi lịch hàng tuần của bạn",
|
"change_weekly_schedule": "Thay đổi lịch hàng tuần của bạn",
|
||||||
"logo": "Logo",
|
"logo": "Logo",
|
||||||
"error": "Lỗi",
|
"error": "Lỗi",
|
||||||
@@ -669,6 +679,7 @@
|
|||||||
"add_attendees": "Thêm người tham dự",
|
"add_attendees": "Thêm người tham dự",
|
||||||
"show_advanced_settings": "Hiển thị cài đặt nâng cao",
|
"show_advanced_settings": "Hiển thị cài đặt nâng cao",
|
||||||
"event_name": "Tên sự kiện",
|
"event_name": "Tên sự kiện",
|
||||||
|
"event_name_in_calendar": "Tên sự kiện trong lịch",
|
||||||
"event_name_tooltip": "Tên sẽ xuất hiện trong lịch",
|
"event_name_tooltip": "Tên sẽ xuất hiện trong lịch",
|
||||||
"meeting_with_user": "Gặp gỡ với {{attendeeName}}",
|
"meeting_with_user": "Gặp gỡ với {{attendeeName}}",
|
||||||
"additional_inputs": "Trường bổ sung",
|
"additional_inputs": "Trường bổ sung",
|
||||||
@@ -787,6 +798,7 @@
|
|||||||
"number_apps_one": "{{count}} ứng dụng",
|
"number_apps_one": "{{count}} ứng dụng",
|
||||||
"number_apps_other": "{{count}} ứng dụng",
|
"number_apps_other": "{{count}} ứng dụng",
|
||||||
"trending_apps": "Ứng dụng thịnh hành",
|
"trending_apps": "Ứng dụng thịnh hành",
|
||||||
|
"most_popular": "Phổ biến nhất",
|
||||||
"explore_apps": "{{category}} ứng dụng",
|
"explore_apps": "{{category}} ứng dụng",
|
||||||
"installed_apps": "Ứng dụng đã cài đặt",
|
"installed_apps": "Ứng dụng đã cài đặt",
|
||||||
"free_to_use_apps": "Miễn phí",
|
"free_to_use_apps": "Miễn phí",
|
||||||
@@ -797,12 +809,14 @@
|
|||||||
"no_category_apps_description_analytics": "Thêm một ứng dụng phân tích cho những trang lịch hẹn của bạn",
|
"no_category_apps_description_analytics": "Thêm một ứng dụng phân tích cho những trang lịch hẹn của bạn",
|
||||||
"no_category_apps_description_automation": "Thêm một ứng dụng tự động hoá để sử dụng",
|
"no_category_apps_description_automation": "Thêm một ứng dụng tự động hoá để sử dụng",
|
||||||
"no_category_apps_description_other": "Thêm loại ứng dụng khác để làm mọi loại công việc",
|
"no_category_apps_description_other": "Thêm loại ứng dụng khác để làm mọi loại công việc",
|
||||||
|
"no_category_apps_description_web3": "Thêm một ứng dụng web3 cho những trang lịch hẹn của bạn",
|
||||||
"installed_app_calendar_description": "Đặt (các) lịch làm nhiệm vụ kiểm tra xung đột nhằm ngăn tình trạng đặt lịch trùng.",
|
"installed_app_calendar_description": "Đặt (các) lịch làm nhiệm vụ kiểm tra xung đột nhằm ngăn tình trạng đặt lịch trùng.",
|
||||||
"installed_app_conferencing_description": "Thêm ứng dụng hội nghị video mà bạn yêu thích để phục vụ cho các cuộc họp",
|
"installed_app_conferencing_description": "Thêm ứng dụng hội nghị video mà bạn yêu thích để phục vụ cho các cuộc họp",
|
||||||
"installed_app_payment_description": "Cấu hình loại dịch vụ xử lí thanh toán nào sẽ được dùng đến khi thu phí khách hàng.",
|
"installed_app_payment_description": "Cấu hình loại dịch vụ xử lí thanh toán nào sẽ được dùng đến khi thu phí khách hàng.",
|
||||||
"installed_app_analytics_description": "Cấu hình ứng dụng phân tích nào để sử dụng cho những trang lịch hẹn của bạn",
|
"installed_app_analytics_description": "Cấu hình ứng dụng phân tích nào để sử dụng cho những trang lịch hẹn của bạn",
|
||||||
"installed_app_other_description": "Tất cả những ứng dụng bạn đã cài từ những danh mục khác.",
|
"installed_app_other_description": "Tất cả những ứng dụng bạn đã cài từ những danh mục khác.",
|
||||||
"installed_app_automation_description": "Cấu hình ứng dụng tự động hoá nên dùng",
|
"installed_app_automation_description": "Cấu hình ứng dụng tự động hoá nên dùng",
|
||||||
|
"installed_app_web3_description": "Cấu hình ứng dụng web3 nào cần để sử dụng cho những trang lịch hẹn của bạn",
|
||||||
"analytics": "Phân tích",
|
"analytics": "Phân tích",
|
||||||
"empty_installed_apps_headline": "Chưa cài ứng dụng nào",
|
"empty_installed_apps_headline": "Chưa cài ứng dụng nào",
|
||||||
"empty_installed_apps_description": "Ứng dụng cho phép bạn cải thiện tiến độ công việc và cải thiện đáng kể việc sắp xếp tổ chức.",
|
"empty_installed_apps_description": "Ứng dụng cho phép bạn cải thiện tiến độ công việc và cải thiện đáng kể việc sắp xếp tổ chức.",
|
||||||
@@ -930,6 +944,11 @@
|
|||||||
"current_location": "Địa điểm hiện tại",
|
"current_location": "Địa điểm hiện tại",
|
||||||
"user_phone": "Số điện thoại của bạn",
|
"user_phone": "Số điện thoại của bạn",
|
||||||
"new_location": "Địa điểm mới",
|
"new_location": "Địa điểm mới",
|
||||||
|
"session": "Phiên",
|
||||||
|
"session_description": "Kiểm soát phiên tài khoản của bạn",
|
||||||
|
"session_timeout_after": "Phiên hết hạn sau",
|
||||||
|
"session_timeout": "Hết hạn phiên",
|
||||||
|
"session_timeout_description": "Vô hiệu hoá phiên của bạn sau một khoảng thời gian nhất định.",
|
||||||
"no_location": "Chưa xác định địa điểm",
|
"no_location": "Chưa xác định địa điểm",
|
||||||
"set_location": "Đặt địa điểm",
|
"set_location": "Đặt địa điểm",
|
||||||
"update_location": "Cập nhật địa điểm",
|
"update_location": "Cập nhật địa điểm",
|
||||||
@@ -1073,6 +1092,7 @@
|
|||||||
"broken_video_action": "Chúng tôi không thể thêm liên kết cuộc họp ở <1>{{location}}</1> vào sự kiện đã lên lịch của bạn. Hãy liên hệ người được mời hoặc cập nhật sự kiện lịch để thêm chi tiết. Bạn có thể <3>thay đổi vị trí của bạn trên loại sự kiện</3> hoặc thử <5>gỡ và cài lại ứng dụng.</5>",
|
"broken_video_action": "Chúng tôi không thể thêm liên kết cuộc họp ở <1>{{location}}</1> vào sự kiện đã lên lịch của bạn. Hãy liên hệ người được mời hoặc cập nhật sự kiện lịch để thêm chi tiết. Bạn có thể <3>thay đổi vị trí của bạn trên loại sự kiện</3> hoặc thử <5>gỡ và cài lại ứng dụng.</5>",
|
||||||
"broken_calendar_action": "Chúng tôi không thể cập nhật <1>{{calendar}}</1>. <2>Vui lòng kiểm tra thiết lập lịch hoặc gỡ và cài lại lịch </2>",
|
"broken_calendar_action": "Chúng tôi không thể cập nhật <1>{{calendar}}</1>. <2>Vui lòng kiểm tra thiết lập lịch hoặc gỡ và cài lại lịch </2>",
|
||||||
"attendee_name": "Tên người tham dự",
|
"attendee_name": "Tên người tham dự",
|
||||||
|
"scheduler_full_name": "Tên đầy đủ của người đặt hẹn",
|
||||||
"broken_integration": "Tích hợp bị hỏng",
|
"broken_integration": "Tích hợp bị hỏng",
|
||||||
"problem_adding_video_link": "Có vấn đề khi thêm vào một liên kết video",
|
"problem_adding_video_link": "Có vấn đề khi thêm vào một liên kết video",
|
||||||
"problem_updating_calendar": "Có một vấn đề khi cập nhật lịch của bạn",
|
"problem_updating_calendar": "Có một vấn đề khi cập nhật lịch của bạn",
|
||||||
@@ -1215,6 +1235,7 @@
|
|||||||
"connect_automation_apps": "Kết nối các ứng dụng tự động hoá",
|
"connect_automation_apps": "Kết nối các ứng dụng tự động hoá",
|
||||||
"connect_analytics_apps": "Kết nối các ứng dụng phân tích",
|
"connect_analytics_apps": "Kết nối các ứng dụng phân tích",
|
||||||
"connect_other_apps": "Kết nối các ứng dụng khác",
|
"connect_other_apps": "Kết nối các ứng dụng khác",
|
||||||
|
"connect_web3_apps": "Kết nối các ứng dụng web3",
|
||||||
"current_step_of_total": "Bước {{currentStep}}/{{maxSteps}}",
|
"current_step_of_total": "Bước {{currentStep}}/{{maxSteps}}",
|
||||||
"add_variable": "Thêm biến số",
|
"add_variable": "Thêm biến số",
|
||||||
"custom_phone_number": "Số điện thoại tùy chỉnh",
|
"custom_phone_number": "Số điện thoại tùy chỉnh",
|
||||||
@@ -1231,6 +1252,7 @@
|
|||||||
"to": "Đến",
|
"to": "Đến",
|
||||||
"workflow_turned_on_successfully": "Đã {{offOn}} thành công dòng công việc {{workflowName}}",
|
"workflow_turned_on_successfully": "Đã {{offOn}} thành công dòng công việc {{workflowName}}",
|
||||||
"download_responses": "Tải xuống Phản hồi",
|
"download_responses": "Tải xuống Phản hồi",
|
||||||
|
"download_responses_description": "Tải xuống tất cả phản hồi vào biểu mẫu của bạn ở định dạng CSV.",
|
||||||
"download": "Tải về",
|
"download": "Tải về",
|
||||||
"create_your_first_form": "Tạo biểu mẫu đầu tiên",
|
"create_your_first_form": "Tạo biểu mẫu đầu tiên",
|
||||||
"create_your_first_form_description": "Với Biểu mẫu định hướng, bạn có thể hỏi một số câu sơ tuyển và định hướng đến đúng người hay đúng loại sự kiện.",
|
"create_your_first_form_description": "Với Biểu mẫu định hướng, bạn có thể hỏi một số câu sơ tuyển và định hướng đến đúng người hay đúng loại sự kiện.",
|
||||||
@@ -1272,6 +1294,8 @@
|
|||||||
"routing_forms_send_email_owner": "Gửi email đến chủ sở hữu",
|
"routing_forms_send_email_owner": "Gửi email đến chủ sở hữu",
|
||||||
"routing_forms_send_email_owner_description": "Gửi một email đến chủ sở hữu khi biểu mẫu được gửi đi",
|
"routing_forms_send_email_owner_description": "Gửi một email đến chủ sở hữu khi biểu mẫu được gửi đi",
|
||||||
"add_new_form": "Thêm biểu mẫu mới",
|
"add_new_form": "Thêm biểu mẫu mới",
|
||||||
|
"create_your_first_route": "Tạo định hướng đầu tiên của bạn",
|
||||||
|
"route_to_the_right_person": "Định hướng đến người phù hợp dựa trên những câu trả lời cho biểu mẫu của bạn",
|
||||||
"form_description": "Tạo biểu mẫu của bạn để định hướng người đặt lịch hẹn",
|
"form_description": "Tạo biểu mẫu của bạn để định hướng người đặt lịch hẹn",
|
||||||
"copy_link_to_form": "Sao chép liên kết vào biểu mẫu",
|
"copy_link_to_form": "Sao chép liên kết vào biểu mẫu",
|
||||||
"theme": "Chủ đề",
|
"theme": "Chủ đề",
|
||||||
@@ -1302,6 +1326,7 @@
|
|||||||
"password_reset_leading": "Nếu sau một lúc mà bạn không nhận được email, hãy kiểm tra liệu bạn có nhập địa chỉ email chính xác không, kiểm tra thư mục spam hoặc liên hệ nhờ hỗ trợ nếu vẫn còn gặp sự cố.",
|
"password_reset_leading": "Nếu sau một lúc mà bạn không nhận được email, hãy kiểm tra liệu bạn có nhập địa chỉ email chính xác không, kiểm tra thư mục spam hoặc liên hệ nhờ hỗ trợ nếu vẫn còn gặp sự cố.",
|
||||||
"password_updated": "Mật khẩu đã được cập nhật!",
|
"password_updated": "Mật khẩu đã được cập nhật!",
|
||||||
"pending_payment": "Thanh toán đang chờ xử lí",
|
"pending_payment": "Thanh toán đang chờ xử lí",
|
||||||
|
"pending_invites": "Lời mời đang chờ xử lý",
|
||||||
"confirmation_page_rainbow": "Yêu cầu token để truy cập sự kiện của bạn, với các token hoặc NFT trên Ethereum, Polygon, v.v.",
|
"confirmation_page_rainbow": "Yêu cầu token để truy cập sự kiện của bạn, với các token hoặc NFT trên Ethereum, Polygon, v.v.",
|
||||||
"not_on_cal": "Không phải trên {{appName}}",
|
"not_on_cal": "Không phải trên {{appName}}",
|
||||||
"no_calendar_installed": "Chưa cài đặt lịch nào",
|
"no_calendar_installed": "Chưa cài đặt lịch nào",
|
||||||
@@ -1428,6 +1453,9 @@
|
|||||||
"disabled_calendar": "Nếu bạn có lịch khác được cài đặt, những mục đặt hẹn mới sẽ được thêm vào đó. Nếu không thì hãy kết nối với lịch mới để bạn không bỏ lỡ bất cứ mục đặt hẹn mới nào.",
|
"disabled_calendar": "Nếu bạn có lịch khác được cài đặt, những mục đặt hẹn mới sẽ được thêm vào đó. Nếu không thì hãy kết nối với lịch mới để bạn không bỏ lỡ bất cứ mục đặt hẹn mới nào.",
|
||||||
"enable_apps": "Kích hoạt ứng dụng",
|
"enable_apps": "Kích hoạt ứng dụng",
|
||||||
"enable_apps_description": "Kích hoạt những ứng dụng mà người dùng có thể tích hợp với Cal.com",
|
"enable_apps_description": "Kích hoạt những ứng dụng mà người dùng có thể tích hợp với Cal.com",
|
||||||
|
"purchase_license": "Mua một giấy phép",
|
||||||
|
"already_have_key": "Tôi đã có một khoá:",
|
||||||
|
"already_have_key_suggestion": "Vui lòng sao chép biến số môi trường CALCOM_LICENSE_KEY hiện có của bạn tại đây.",
|
||||||
"app_is_enabled": "{{appName}} đã được kích hoạt",
|
"app_is_enabled": "{{appName}} đã được kích hoạt",
|
||||||
"app_is_disabled": "{{appName}} đã được vô hiệu hoá",
|
"app_is_disabled": "{{appName}} đã được vô hiệu hoá",
|
||||||
"keys_have_been_saved": "Các khoá đã được lưu lại",
|
"keys_have_been_saved": "Các khoá đã được lưu lại",
|
||||||
@@ -1448,6 +1476,7 @@
|
|||||||
"individual": "Cá nhân",
|
"individual": "Cá nhân",
|
||||||
"all_bookings_filter_label": "Tất cả lịch hẹn",
|
"all_bookings_filter_label": "Tất cả lịch hẹn",
|
||||||
"all_users_filter_label": "Tất cả người dùng",
|
"all_users_filter_label": "Tất cả người dùng",
|
||||||
|
"your_bookings_filter_label": "Lịch hẹn của bạn",
|
||||||
"meeting_url_variable": "Url cuộc họp",
|
"meeting_url_variable": "Url cuộc họp",
|
||||||
"meeting_url_info": "URL hội nghị cuộc họp sự kiện",
|
"meeting_url_info": "URL hội nghị cuộc họp sự kiện",
|
||||||
"date_overrides": "Ngày ghi đè",
|
"date_overrides": "Ngày ghi đè",
|
||||||
@@ -1486,6 +1515,7 @@
|
|||||||
"round_robin_hosts": "Chủ tọa xoay vòng",
|
"round_robin_hosts": "Chủ tọa xoay vòng",
|
||||||
"minimum_round_robin_hosts_count": "Số chủ tọa cần thiết để tham dự",
|
"minimum_round_robin_hosts_count": "Số chủ tọa cần thiết để tham dự",
|
||||||
"hosts": "Chủ tọa",
|
"hosts": "Chủ tọa",
|
||||||
|
"upgrade_to_enable_feature": "Bạn cần tạo một nhóm để bật tính năng này. Nhấp để tạo một nhóm.",
|
||||||
"new_attendee": "Người tham dự mới",
|
"new_attendee": "Người tham dự mới",
|
||||||
"awaiting_approval": "Đang chờ duyệt",
|
"awaiting_approval": "Đang chờ duyệt",
|
||||||
"requires_google_calendar": "Ứng dụng này yêu cầu bạn liên kết với Google Calendar",
|
"requires_google_calendar": "Ứng dụng này yêu cầu bạn liên kết với Google Calendar",
|
||||||
@@ -1494,6 +1524,16 @@
|
|||||||
"continue_to_install_google_calendar": "Tiếp tục kết nối với Google Calendar",
|
"continue_to_install_google_calendar": "Tiếp tục kết nối với Google Calendar",
|
||||||
"install_google_meet": "Cài Google Meet",
|
"install_google_meet": "Cài Google Meet",
|
||||||
"install_google_calendar": "Cài Google Calendar",
|
"install_google_calendar": "Cài Google Calendar",
|
||||||
|
"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",
|
||||||
|
"reporting": "Báo cáo",
|
||||||
|
"reporting_feature": "Xem tất cả những sự kiện sắp tới từ dữ liệu và tải nó xuống ở dạng CSV",
|
||||||
|
"teams_plan_required": "Cần có gói Teams",
|
||||||
|
"routing_forms_are_a_great_way": "Biểu mẫu định hướng là một cách tuyệt hảo để định hướng những người dẫn đầu sắp tới vào đúng người phù hợp. Nâng cấp lên gói Teams để truy cập tính năng này.",
|
||||||
|
"choose_a_license": "Chọn một giấy phép",
|
||||||
|
"choose_license_description": "Cal.com đi kèm một giấy phép dễ tiếp cận và miễn phí là AGPLv3 có một số hạn chế mà có thể nâng cấp lên giấy phép Doanh nghiệp vào bất cứ lúc nào. Bạn có thể nâng cấp sau bất cứ lúc nào.",
|
||||||
|
"license": "Giấy phép",
|
||||||
"configure": "Cấu hình",
|
"configure": "Cấu hình",
|
||||||
"sso_configuration": "Cấu hình Đăng nhập một lần",
|
"sso_configuration": "Cấu hình Đăng nhập một lần",
|
||||||
"email_no_user_cta": "Tạo tài khoản của bạn",
|
"email_no_user_cta": "Tạo tài khoản của bạn",
|
||||||
|
|||||||
@@ -3,5 +3,5 @@ import React from "react";
|
|||||||
import { AppForm } from "../components/AppCreateUpdateForm";
|
import { AppForm } from "../components/AppCreateUpdateForm";
|
||||||
|
|
||||||
export default function Create(props: Omit<React.ComponentProps<typeof AppForm>, "action">) {
|
export default function Create(props: Omit<React.ComponentProps<typeof AppForm>, "action">) {
|
||||||
return <AppForm action="create-template" {...props} />;
|
return <AppForm action="create" {...props} />;
|
||||||
}
|
}
|
||||||
@@ -29,7 +29,7 @@ export default function AppCard({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={`mb-4 mt-2 rounded-md border border-gray-200 ${!app.enabled && "grayscale"}`}>
|
<div className={`mb-4 mt-2 rounded-md border border-gray-200 ${!app.enabled && "grayscale"}`}>
|
||||||
<div className="p-4 text-sm sm:p-8">
|
<div className="p-4 text-sm sm:p-6">
|
||||||
<div className="flex w-full flex-col gap-2 sm:flex-row sm:gap-0">
|
<div className="flex w-full flex-col gap-2 sm:flex-row sm:gap-0">
|
||||||
{/* Don't know why but w-[42px] isn't working, started happening when I started using next/dynamic */}
|
{/* Don't know why but w-[42px] isn't working, started happening when I started using next/dynamic */}
|
||||||
<Link href={"/apps/" + app.slug} className="mr-3 h-auto w-10 rounded-sm">
|
<Link href={"/apps/" + app.slug} className="mr-3 h-auto w-10 rounded-sm">
|
||||||
@@ -37,7 +37,7 @@ export default function AppCard({
|
|||||||
</Link>
|
</Link>
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<span className="text-base font-semibold leading-4 text-black">{app?.name}</span>
|
<span className="text-base font-semibold leading-4 text-black">{app?.name}</span>
|
||||||
<p className="pt-2 text-sm font-normal leading-4 text-gray-600">
|
<p className="mb-2 pt-2 text-sm font-normal text-gray-600 ltr:pr-2 rtl:pl-2">
|
||||||
{description || app?.description}
|
{description || app?.description}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
category: "other",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
dirName: "around",
|
|
||||||
appData: {
|
|
||||||
location: {
|
|
||||||
linkType: "static",
|
|
||||||
type: "integrations:around_video",
|
|
||||||
label: "Around Video",
|
|
||||||
urlRegExp: "^http(s)?:\\/\\/(www\\.)?around.co\\/[a-zA-Z0-9]*",
|
|
||||||
organizerInputPlaceholder: "https://www.around.co/rick",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
dirName: "caldavcalendar",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
import type { App } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
category: "other",
|
|
||||||
// FIXME: Currently for an app to be shown as installed, it must have this variable set. Either hardcoded or if it depends on some env variable, that should be checked here
|
|
||||||
installed: true,
|
|
||||||
rating: 0,
|
|
||||||
reviews: 0,
|
|
||||||
trending: true,
|
|
||||||
verified: true,
|
|
||||||
licenseRequired: true,
|
|
||||||
isProOnly: true,
|
|
||||||
dirName: "closecom",
|
|
||||||
...config,
|
|
||||||
} as App;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,3 +1,2 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export * as lib from "./lib";
|
export * as lib from "./lib";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
items:
|
||||||
|
- /api/app-store/ee/routing-forms/1.jpg
|
||||||
|
- /api/app-store/ee/routing-forms/2.jpg
|
||||||
|
- /api/app-store/ee/routing-forms/3.jpg
|
||||||
|
---
|
||||||
|
|
||||||
|
It would allow a booker to connect with the right person or choose the right event, faster. It would work by taking inputs from the booker and using that data to route to the correct booker/event as configured by Cal user
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
category: "other",
|
|
||||||
// FIXME: Currently for an app to be shown as installed, it must have this variable set. Either hardcoded or if it depends on some env variable, that should be checked here
|
|
||||||
installed: true,
|
|
||||||
rating: 0,
|
|
||||||
reviews: 0,
|
|
||||||
trending: true,
|
|
||||||
verified: true,
|
|
||||||
licenseRequired: true,
|
|
||||||
isProOnly: true,
|
|
||||||
dirName: "routing-forms",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 132 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 285 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 154 KiB |
@@ -1,16 +0,0 @@
|
|||||||
import type { App } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
category: "calendar",
|
|
||||||
installed: true,
|
|
||||||
rating: 0,
|
|
||||||
reviews: 0,
|
|
||||||
trending: true,
|
|
||||||
verified: true,
|
|
||||||
dirName: "exchangecalendar",
|
|
||||||
...config,
|
|
||||||
} as App;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,3 +1,2 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export * as lib from "./lib";
|
export * as lib from "./lib";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
category: "analytics",
|
|
||||||
dirName: "fathom",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
dirName: "ga4",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
category: "automation",
|
|
||||||
dirName: "n8n",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
import type { Calendar as OfficeCalendar, User } from "@microsoft/microsoft-graph-types-beta";
|
import type { Calendar as OfficeCalendar, User } from "@microsoft/microsoft-graph-types-beta";
|
||||||
|
|
||||||
|
import dayjs from "@calcom/dayjs";
|
||||||
import { getLocation, getRichDescription } from "@calcom/lib/CalEventParser";
|
import { getLocation, getRichDescription } from "@calcom/lib/CalEventParser";
|
||||||
import { handleErrorsJson, handleErrorsRaw } from "@calcom/lib/errors";
|
import { handleErrorsJson, handleErrorsRaw } from "@calcom/lib/errors";
|
||||||
import logger from "@calcom/lib/logger";
|
import logger from "@calcom/lib/logger";
|
||||||
@@ -239,6 +240,7 @@ export default class Office365CalendarService implements Calendar {
|
|||||||
};
|
};
|
||||||
|
|
||||||
private translateEvent = (event: CalendarEvent) => {
|
private translateEvent = (event: CalendarEvent) => {
|
||||||
|
const utcOffset = dayjs(event.startTime, event.organizer.timeZone).utcOffset() / 60;
|
||||||
return {
|
return {
|
||||||
subject: event.title,
|
subject: event.title,
|
||||||
body: {
|
body: {
|
||||||
@@ -246,11 +248,11 @@ export default class Office365CalendarService implements Calendar {
|
|||||||
content: getRichDescription(event),
|
content: getRichDescription(event),
|
||||||
},
|
},
|
||||||
start: {
|
start: {
|
||||||
dateTime: event.startTime,
|
dateTime: dayjs(event.startTime).utcOffset(utcOffset).format(),
|
||||||
timeZone: event.organizer.timeZone,
|
timeZone: event.organizer.timeZone,
|
||||||
},
|
},
|
||||||
end: {
|
end: {
|
||||||
dateTime: event.endTime,
|
dateTime: dayjs(event.endTime).utcOffset(utcOffset).format(),
|
||||||
timeZone: event.organizer.timeZone,
|
timeZone: event.organizer.timeZone,
|
||||||
},
|
},
|
||||||
attendees: event.attendees.map((attendee) => ({
|
attendees: event.attendees.map((attendee) => ({
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
dirName: "office365video",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,3 +1,2 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export * as lib from "./lib";
|
export * as lib from "./lib";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
// FIXME: Currently for an app to be shown as installed, it must have this variable set. Either hardcoded or if it depends on some env variable, that should be checked here
|
|
||||||
installed: true,
|
|
||||||
rating: 0,
|
|
||||||
reviews: 0,
|
|
||||||
trending: true,
|
|
||||||
verified: true,
|
|
||||||
appData: {
|
|
||||||
location: {
|
|
||||||
linkType: "static",
|
|
||||||
type: "integrations:ping_video",
|
|
||||||
label: "Ping.gg",
|
|
||||||
organizerInputPlaceholder: "https://www.ping.gg/call/theo",
|
|
||||||
urlRegExp: "^http(s)?:\\/\\/(www\\.)?ping.gg\\/call\\/[a-zA-Z0-9]*",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
dirName: "ping",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
dirName: "pipedream",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
category: "analytics",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
category: "other",
|
|
||||||
dirName: "qr_code",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
dirName: "rainbow",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
category: "other",
|
|
||||||
dirName: "raycast",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
// FIXME: Currently for an app to be shown as installed, it must have this variable set. Either hardcoded or if it depends on some env variable, that should be checked here
|
|
||||||
installed: true,
|
|
||||||
rating: 0,
|
|
||||||
reviews: 0,
|
|
||||||
trending: true,
|
|
||||||
verified: true,
|
|
||||||
locationPlaceholder: "https://www.riverside.fm/studio/rick",
|
|
||||||
appData: {
|
|
||||||
location: {
|
|
||||||
label: "Riverside Video",
|
|
||||||
urlRegExp: "^http(s)?:\\/\\/(www\\.)?riverside.fm\\/studio\\/[a-zA-Z0-9]*",
|
|
||||||
type: "integrations:riverside_video",
|
|
||||||
linkType: "static",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
dirName: "riverside",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
dirName: "salesforce",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,3 +1,2 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export * as lib from "./lib";
|
export * as lib from "./lib";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
dirName: "sendgrid",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,3 +1,2 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export * as lib from "./lib";
|
export * as lib from "./lib";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
dirName: "signal",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
dirName: "sirius_video",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
export { default as InstallAppButton } from "./InstallAppButton";
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
dirName: "telegram",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
category: "other",
|
|
||||||
dirName: "typeform",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
@@ -1,2 +1 @@
|
|||||||
export * as api from "./api";
|
export * as api from "./api";
|
||||||
export { metadata } from "./_metadata";
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import type { AppMeta } from "@calcom/types/App";
|
|
||||||
|
|
||||||
import config from "./config.json";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
category: "other",
|
|
||||||
...config,
|
|
||||||
} as AppMeta;
|
|
||||||
|
|
||||||
export default metadata;
|
|
||||||
Loaded 100 of 126 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user