Compare commits

...
136 Commits
Author SHA1 Message Date
Omar López 37f01db0da v3.3.2
release.yml / release (push) Canceled after 0s
2023-09-19 14:03:20 -07:00
Omar López 560ec244e8 feat: Setups prisma accelerate (#11324) 2023-09-19 21:02:57 +00:00
Crowdin Bot 21a0b67b5a New Crowdin translations by Github Action 2023-09-19 20:49:32 +00:00
824145b0e2 feat: Sync app credentials between Cal.com & self-hosted platforms (#11059)
* Add credential sync .env variables

* Add webhook to send app credentials

* Upsert credentials when webhook called

* Refresh oauth token from a specific endpoint

* Pass appSlug

* Add credential encryption

* Move oauth helps into a folder

* Create parse token response wrapper

* Add OAuth helpers to apps

* Clean up

* Refactor `appDirName` to `appSlug`

* Address feedback

* Change to safe parse

* Remove console.log

---------

Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
2023-09-19 20:46:50 +00:00
Leo Giovanetti bc89fe00ea fix: unpublished org/team avatar and i18n (#11429)
* fix: unpublished org/team avatar and i18n

* Fixing e2e
2023-09-20 01:45:39 +05:30
Crowdin Bot 64850b54f0 New Crowdin translations by Github Action 2023-09-19 20:04:11 +00:00
405a4cc850 fix: Time Buttons Should be Scroll not the Whole Right Side (#11412)
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
2023-09-19 22:01:26 +02:00
Crowdin Bot eccab37607 New Crowdin translations by Github Action 2023-09-19 14:24:18 +00:00
786c1c2ba3 feat: monthly email digest (#10621)
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2023-09-19 16:19:36 +02:00
Udit TakkarandLeo Giovanetti 50970dc249 fix: org invite (#11356)
Co-authored-by: Leo Giovanetti <hello@leog.me>
2023-09-19 15:46:33 +05:30
Crowdin Bot 45cded6b48 New Crowdin translations by Github Action 2023-09-19 10:02:00 +00:00
Crowdin Bot b139ec8994 New Crowdin translations by Github Action 2023-09-19 09:58:12 +00:00
Peer Richelsen d058d322bc chore: slow caldav hint in description (#11438) 2023-09-19 11:54:51 +02:00
Leo Giovanetti 72907e5e1b feat: resend invitation (#11428) 2023-09-19 00:24:43 +00:00
Kevin Crimi d9c3c184c4 fix: Return all responses in booking api (#11284) 2023-09-18 16:39:25 -07:00
Crowdin Bot b1fff71c91 New Crowdin translations by Github Action 2023-09-18 23:38:32 +00:00
alannnc 56b1243e59 fix: re-render on insights with orgs (#11395) 2023-09-18 16:36:07 -07:00
Crowdin Bot a3413216f6 New Crowdin translations by Github Action 2023-09-18 19:19:24 +00:00
Shivam KalraandSyed Ali Shahbaz fd507f1d12 test: e2e oidc (#11129)
Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
2023-09-18 21:16:32 +02:00
Peer RichelsenandLeo Giovanetti c820a3937a chore: send comment about merge conflict (#11345)
Co-authored-by: Leo Giovanetti <hello@leog.me>
2023-09-18 21:16:22 +02:00
aar2dee2andPeer Richelsen 5c24ed2ef7 chore: app contribution guidelines (#11416)
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2023-09-18 21:16:02 +02:00
GitStart-Cal.comandgitstart-calcom 8d9d7bbb25 fix: Required "Add guests" button isn't required on attendee's end (#11381)
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
2023-09-18 21:15:40 +02:00
Crowdin Bot 837bf5d604 New Crowdin translations by Github Action 2023-09-18 16:01:33 +00:00
Hariom Balhara c9c634cceb Support firstName and lastName query params (#11420) 2023-09-18 21:28:07 +05:30
Hariom BalharaandJoe Au-Yeung 8ba09ce04d Fix messaging apps listing in installed (#11167)
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
2023-09-18 21:26:49 +05:30
Crowdin Bot 65d4a4f40e New Crowdin translations by Github Action 2023-09-18 07:55:08 +00:00
Crowdin Bot 581d8ff4ae New Crowdin translations by Github Action 2023-09-18 07:51:56 +00:00
Pradip Chaudhary c562f45904 fix: "scrollbar-gutter: stable" on html to prevent layout shift (#11413) 2023-09-18 09:49:01 +02:00
zomars b413f0a609 fix: add missing await 2023-09-15 17:22:50 -07:00
Crowdin Bot ffcf9b770d New Crowdin translations by Github Action 2023-09-15 19:27:35 +00:00
Hariom Balhara ab77531167 fix: Email Embed slots not showing up (#11379) 2023-09-15 12:24:20 -07:00
Crowdin Bot f59f4ca26c New Crowdin translations by Github Action 2023-09-15 16:22:47 +00:00
Crowdin Bot ca13eec4c9 New Crowdin translations by Github Action 2023-09-15 16:18:56 +00:00
Crowdin Bot bf1ff9bd71 New Crowdin translations by Github Action 2023-09-15 16:14:12 +00:00
Crowdin Bot caefa93e14 New Crowdin translations by Github Action 2023-09-15 16:10:36 +00:00
Leo Giovanetti 7154349e9e fix: org username check for dynamic and signup (#11390) 2023-09-15 13:06:56 -03:00
Crowdin Bot 7beb9568ba New Crowdin translations by Github Action 2023-09-15 15:56:09 +00:00
Crowdin Bot 2251d5a4be New Crowdin translations by Github Action 2023-09-15 15:53:15 +00:00
Crowdin Bot f1bdff9679 New Crowdin translations by Github Action 2023-09-15 15:50:25 +00:00
Crowdin Bot c433e0c74c New Crowdin translations by Github Action 2023-09-15 15:46:48 +00:00
Crowdin Bot fb940a1023 New Crowdin translations by Github Action 2023-09-15 15:43:05 +00:00
Crowdin Bot 73366e4152 New Crowdin translations by Github Action 2023-09-15 15:39:48 +00:00
Crowdin Bot 9d7da10744 New Crowdin translations by Github Action 2023-09-15 15:36:02 +00:00
Crowdin Bot c4f091debf New Crowdin translations by Github Action 2023-09-15 15:32:25 +00:00
Alex van Andel 29923fe304 v3.3.1
release.yml / release (push) Canceled after 0s
2023-09-15 16:28:09 +01:00
Richard PoelderlandAlex van Andel e8998414fc feat(i18n): changed Japanese translations on booking page (#11388)
* regen yarn.lock?

* chore: enable i18n-unused GH action in `website`

* Generated yarn.lock with submodules

* Added yarn.lock auth

* add datocms webhook secret

* update crowdin to latest version

* cherry-picked https://github.com/calcom/cal.com/pull/10416/files

---------

Co-authored-by: Alex van Andel <me@alexvanandel.com>
2023-09-15 16:25:49 +01:00
Richard PoelderlandAlex van Andel 2e58e73e95 chore: Update GH action from crowdin to latest version (#11387)
* regen yarn.lock?

* chore: enable i18n-unused GH action in `website`

* Generated yarn.lock with submodules

* Added yarn.lock auth

* add datocms webhook secret

* update crowdin to latest version

---------

Co-authored-by: Alex van Andel <me@alexvanandel.com>
2023-09-15 14:43:49 +00:00
Crowdin Bot b7168948ca New Crowdin translations by Github Action 2023-09-15 14:01:21 +00:00
sean-brydon c188a91d64 fix: Safari overflowing issues (#11385) 2023-09-15 15:57:49 +02:00
Crowdin Bot 4724b1312c New Crowdin translations by Github Action 2023-09-15 13:57:43 +00:00
Hariom Balhara d349f6536a fix: Embed - app.cal.com instead of cal.com (#11384)
* Fix yarn.lock

* Force app.cal.com because Safari and rewrites using referrer

* Add comment
2023-09-15 14:54:25 +01:00
Crowdin Bot f35f506ddf New Crowdin translations by Github Action 2023-09-15 13:43:44 +00:00
Crowdin Bot 46d0b67f81 New Crowdin translations by Github Action 2023-09-15 13:40:27 +00:00
Crowdin Bot 7000cf7581 New Crowdin translations by Github Action 2023-09-15 13:36:53 +00:00
Crowdin Bot 1c0faf4eb6 New Crowdin translations by Github Action 2023-09-15 13:33:26 +00:00
Alex van Andel 6d0f0d6bdd fix: Include returns all credential fields, select excludes (#11383) 2023-09-15 13:29:44 +00:00
Crowdin Bot cb4a3dd2a6 New Crowdin translations by Github Action 2023-09-15 13:25:56 +00:00
Crowdin Bot fc623fc511 New Crowdin translations by Github Action 2023-09-15 13:22:33 +00:00
Crowdin Bot 9db0834b50 New Crowdin translations by Github Action 2023-09-15 13:18:41 +00:00
Crowdin Bot 7a3cc7d263 New Crowdin translations by Github Action 2023-09-15 13:14:24 +00:00
Crowdin Bot f1381d8a82 New Crowdin translations by Github Action 2023-09-15 13:11:06 +00:00
Crowdin Bot 5c136df1bb New Crowdin translations by Github Action 2023-09-15 13:07:33 +00:00
Crowdin Bot e18f08249b New Crowdin translations by Github Action 2023-09-15 13:04:29 +00:00
Crowdin Bot 5b8b165a3b New Crowdin translations by Github Action 2023-09-15 13:01:21 +00:00
Somay ChauhanandShivam Kalra ab39c8f581 fix: a new email can signin with any password once it's invited to a team (#11359)
Co-authored-by: Shivam Kalra <shivamkalra98@gmail.com>
2023-09-15 12:57:41 +00:00
Crowdin Bot abc077bfb6 New Crowdin translations by Github Action 2023-09-15 12:55:16 +00:00
Crowdin Bot bb167e7763 New Crowdin translations by Github Action 2023-09-15 12:52:03 +00:00
Crowdin Bot 3b92ff607a New Crowdin translations by Github Action 2023-09-15 12:47:56 +00:00
Crowdin Bot 129d00a69d New Crowdin translations by Github Action 2023-09-15 12:44:42 +00:00
Crowdin Bot c86e766aee New Crowdin translations by Github Action 2023-09-15 12:41:46 +00:00
Leo Giovanetti a2873c740b fix: team page data (#11382) 2023-09-15 13:38:55 +01:00
Crowdin Bot 6e3a1369f8 New Crowdin translations by Github Action 2023-09-15 11:55:51 +00:00
Chiranjeev Vishnoi e44e24ca42 fix: 2FA password visibility toggle show/hide state (#11361) 2023-09-15 17:22:58 +05:30
Somay Chauhan 768a3132fb fix: settings/organization/members table filtering issue (#11313) 2023-09-15 17:20:40 +05:30
Crowdin Bot 41812bb280 New Crowdin translations by Github Action 2023-09-15 10:19:46 +00:00
alannnc cb1d3487af chore: edit and update paypal setup instructions (#11325) 2023-09-15 15:46:28 +05:30
Omar López c95917cceb feat: Calendar Cache (#11185) 2023-09-14 15:19:39 -07:00
Omar López 9bc40a3eb6 v3.3.0
release.yml / release (push) Canceled after 0s
2023-09-14 12:50:43 -07:00
Keith Williamsandzomars bd21b2dfe1 fix: Import prisma (#11369)
Co-authored-by: zomars <zomars@me.com>
2023-09-14 19:47:25 +00:00
Crowdin Bot d60fb081c9 New Crowdin translations by Github Action 2023-09-14 16:56:47 +00:00
197b435b6f fix: Duplicate calendar events (#11327)
Co-authored-by: Shivam Kalra <shivamkalra98@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Alan <alannnc@gmail.com>
2023-09-14 09:53:58 -07:00
dihedral add297b09a fix: use selected duration when checking for conflicts for new bookings (#10713) 2023-09-14 10:40:49 -04:00
Ujwal Kumar d65f0ee0e8 fix: Allow attendee first and last name from attendee name when name … (#11287) 2023-09-14 10:24:58 -04:00
Hariom Balhara 59c0a71db7 fix: Routing Forms - Forward Query Params and show the error message in case of validation error in headless router (#11338) 2023-09-14 10:05:22 -04:00
Hariom Balhara d50151fe08 Fix yarn.lock (#11364) 2023-09-14 13:41:56 +00:00
Kiran K d2b0dd8eab fix: SAML SSO - Stop relying on invitedTo column and use membership table instead (#11331) 2023-09-14 14:57:45 +02:00
Joe Au-Yeung bb0574dff8 chore: Outlook processBusyTimes iterate busy times once (#11350) 2023-09-14 14:56:31 +02:00
sean-brydon 49364eee9a Import prisma (#11358) 2023-09-14 09:18:19 -03:00
Peer Richelsen adb0530d69 feat: getalby.com app (#11347) 2023-09-14 08:35:13 -03:00
+18 a2d1dbebba feat: editmode availbility slider (#11197)
* Add loading data and banner

* [WIP] hasEditPerms middleware

* fix: type error in booker (#11011)

* New Crowdin translations by Github Action

* refactor: removed redundant test (#10785)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Shivam Kalra <shivamkalra98@gmail.com>

* feat: 2fa backup codes (#10600)

Co-authored-by: Peer Richelsen <peeroke@gmail.com>

* Delete add-PRs-to-project-reviewing-PRs.yml (#11008)

Co-authored-by: alannnc <alannnc@gmail.com>

* New Crowdin translations by Github Action

* fix: multiple duration when booking (#11032)

* fix: other reported issues (#11015)

* fix: weird margin top in avatar

* fix: pending users are shown on booking page

* fix: avatar and naming issues

* fix: toast alignment and removing unneeded titles

* missing changes from toast improvements

* feat: empty state for teams without event types

* Removing console.log

* feat: cal ai (#10992)

Co-authored-by: nicktrn <55853254+nicktrn@users.noreply.github.com>
Co-authored-by: tedspare <ted.spare@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>

* New Crowdin translations by Github Action

* fix: meeting ended trigger for webhooks and zapier sometimes not working (#10946)

Co-authored-by: mohammed gehad <mohammed.gehad.1998@gmail.com>
Co-authored-by: Monto <138862352+monto7926@users.noreply.github.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>

* feat: team admin: see connected apps of team members (#11036)

* added feature:team admin can see connected apps of members

* fixed the type error

* Update packages/lib/server/queries/teams/index.ts

* Minor fixes

---------

Co-authored-by: alannnc <alannnc@gmail.com>

* fix: lower case slugs in teams (#11026)

* fix: lower case slugs in teams

Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>

* fix: use slugify

Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>

---------

Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>

* refactor: improvements on german translation (#10898)

* fix: fix-tablet-menu-not-centered-sidebar (#11020)

Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>

* chore: add Popover in storybook (#11021)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>

* fix: Set mobile availability (#11027)

* chore: add ColorPicker in storybook (CALCOM-10760) (#10866)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>

* feat: adds next cold start profiler (#11014)

* Handle disabling of ORGANIZATIONS_ENABLED flag (#11041)

* New Crowdin translations by Github Action

* styles:dark mode color fix (#11004)

* chore: sheet darkmode and improve responsive (#11047)

* fix: handle collective multiple host on destinationCalendar (#10967)

* fix: include app data and credentials from DB (#11048)

* include app data and credentials from DB

* Improve performance

* fix: Error when running storybook (#11037)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>

* fix: broken company profile link on team booking page (#10978)

* chore: add ErrorBoundary in storybook (CALCOM-10760) (#10872)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>

* feat: sorting for workflow and routing forms (#10780)

Co-authored-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>

* resolve zod versions across child packages (#11052)

* fix: List storybook file is empty (fix-list) (#10965)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>

* fix: admin org list without members (#11051)

Co-authored-by: Peer Richelsen <peeroke@gmail.com>

* chore: add ToggleGroup in storybook (#10802)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>

* fix: add metadata to stripe payment intent (#11053)

* fix: Logo storybook file with invalid icons (fix-logo) (#11018)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>

* fix: Add controls for Select Field storybook file (#10936)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>

* fix: Fix tooltip control on ButtonPlayground storybook file (fix-ButtonTooltip) (#10937)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>

* fix: email embed – remove collapsible and permanently show times (#10996)

Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Mehul <mehulzr@gmail.com>

* chore: add Timezone Select in storybook (CALCOM-10760) (#10966)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>

* chore: add Switch in storybook (CALCOM-10760) (#10804)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>

* Sync packages

* fix: zod utils due to upgrade

* easy fix (#11054)

* fix sub quantity update stripe (#11057)

* v3.2.7

* Revert "feat: adds next cold start profiler (#11014)" (#11072)

This reverts commit 05631d093f.

* fix: Fixes username invite issue (#10998)

* Fixes username invite issue

* Ensure we only suggest email invites in org members

---------

Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>

* Fix sheet layout

* WIP permissions when userschedule doesnt match

* WIP get handler weird behaviour

* Update toast

* add disabled - handle membership overlap

* Handle permissions + perf improvments

* use input uid

* Remove Console.log

* Clean up

* Revert changes accidental

* Fix merge artifacts

* Remove dead code

* Remove code after return

* Update read permission check

* Revert avatar changes as fixed elsewhere

* Handle if user has not completed onboarding

* Disable button

* Update packages/lib/hasEditPermissionForUser.ts

* Correct Error throwing

* Update packages/features/timezone-buddy/components/AvailabilityEditSheet.tsx

* Fix type erro

* Add i18n

* Improve Spacing

* Update yarn.lock

---------

Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: GitStart-Cal.com <121884634+gitstart-calcom@users.noreply.github.com>
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Shivam Kalra <shivamkalra98@gmail.com>
Co-authored-by: nicktrn <55853254+nicktrn@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: Leo Giovanetti <hello@leog.me>
Co-authored-by: DexterStorey <36115192+DexterStorey@users.noreply.github.com>
Co-authored-by: tedspare <ted.spare@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Monto <138862352+montocoder@users.noreply.github.com>
Co-authored-by: mohammed gehad <mohammed.gehad.1998@gmail.com>
Co-authored-by: Monto <138862352+monto7926@users.noreply.github.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Abhijeet Singh <asingh9829@gmail.com>
Co-authored-by: Kamil B. Demirci <kamil.demirci@indyaner.ch>
Co-authored-by: Denzil Samuel <71846487+samueldenzil@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Sahil Padvi <71093044+Sahil25061999@users.noreply.github.com>
Co-authored-by: Patel Divyesh <pateldivyesh1323@gmail.com>
Co-authored-by: neo773 <62795688+neo773@users.noreply.github.com>
Co-authored-by: Mehul <mehulzr@gmail.com>
2023-09-14 09:45:13 +01:00
alannnc 605e744a58 fix: remove avatar form user select when loading insights (#11353) 2023-09-14 09:37:41 +02:00
alannnc aab0d6b18a fix: paypal save event type and payment (#11181)
* fix-paypal-save

* change type to use appId instead

* Remove duplicated code
2023-09-14 00:29:03 -07:00
WesleyandHariom Balhara dfde17111c test: verify embed helpers (#11318)
* test: add test cases to `window.getEmbedNamespace`

* test: add test cases when window.name doesn't have cal-embed=

* test: add test case to `getembedTheme` returning the theme from embedStore

* test: add test to `getEmbedTheme` returning the theme from query params

* Small refactor to reduce the time taken by tests and fix missing typings for embed functions on window

* Fix weird test failure

* Fix type import error caught by api.test.test

---------

Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
2023-09-14 07:14:54 +00:00
Hariom Balhara 2591ad12df chore: Enable prettier on vitest files without causing test failures (#11190) 2023-09-14 08:58:08 +02:00
Kevin Crimiandalannnc 3a05ae6f74 feat: Add more metadata to Stripe transaction (#11221)
* Add booker info, event type title, and organizer info into Stripe metadata

* Add back bookingTitle in addition to eventTitle

* Remove .tool-versions

* Fix typo

---------

Co-authored-by: alannnc <alannnc@gmail.com>
2023-09-14 04:10:42 +00:00
efcfd7bb9b fix: when creating new user, set email handle as username (#11238)
* When creating new user, set email handle as username

* Accounting for external invited users

---------

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Leo Giovanetti <hello@leog.me>
2023-09-13 20:46:41 -03:00
Leo Giovanetti bce62829b7 fix: org shell and org user settings avatars + org owner username (#11342) 2023-09-13 18:04:36 +00:00
Carina WollendorferandCarinaWolli f320e486a2 fix issue with duplicate children event types (#11337)
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
2023-09-13 17:04:14 +00:00
MeenuyD 8c96e04b51 fix: insights upgrade screen has no title and subtitle for upgrade screen (#11328) 2023-09-13 15:41:53 +02:00
9eb3698ea5 fix: multiple organizer address bug (#11299)
* fix: multiple organizer address bug

Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>

* fix: add inPerson condition

Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>

* fix: change options

Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>

* Send _type along with the response to be able to determine what input was it. We can use that later

* Revert "Send _type along with the response to be able to determine what input was it. We can use that later"

This reverts commit c75ba57ad14b07d629b218d6e3eaede93b99ebaa.

* Update multiple organizer address test to verify the test fix

* Add a test to ensure that sending label would correctly add that label as location

---------

Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
2023-09-13 04:19:01 +00:00
sean-brydonandPeer Richelsen 8ff07807f9 Fix overflow (#11320)
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2023-09-12 21:46:18 +00:00
Crowdin Bot 9c7f655329 New Crowdin translations by Github Action 2023-09-12 21:29:30 +00:00
Alex van Andel 5c72fca816 Revert "fix: improve UX of team invite by copy link (#11009)"
This reverts commit 0150041496.
2023-09-12 22:26:22 +01:00
Alex van Andel aeafa3ef0a v3.2.10 2023-09-12 18:17:53 +01:00
Joe Au-YeungandAlex van Andel 3d4a3c7a93 fix: Connect selected calendar to credential (#11283)
release.yml / release (push) Canceled after 0s
* Reduce the unhandled promise

* Connect selected calendar to credential

* Write credential to selected calendar

* Type fix

* Handle catching promises in separate threads

* Only call to list calendars if there are no credentialIds

* Changed type of IntegrationCalendar from undef to null

* Adding missing property to getting started

* Also add calendars.tsx

---------

Co-authored-by: Alex van Andel <me@alexvanandel.com>
2023-09-12 18:09:05 +01:00
alannnc 1c1625d3fc fix: org admin delete other teams (#11247)
* fix org-admin delete other teams

* Fix delete from teams to delete from orgs endpoint
2023-09-12 16:19:17 +00:00
alannnc 75f9f045b8 fix: payments on round-robin events (#11248)
* Fix condition when no users are found for event type

* fix for types
2023-09-12 08:59:32 -07:00
Leo Giovanetti 86af383f6c feat: autolink org on provider signup (#11267)
* feat: autolink org on provider signup

* Adding env var in example

* slugifying inferred org username

* Updated org README

* Optional env var for autolinking added to readme

* Typo

* md syntax correction

* Verifying user when autolinked

* Also verifying users invited to org

* Applying feedback

* Scoping to Google for now

* Updating comment

* Updating readme with Google scoping
2023-09-12 15:17:34 +00:00
Keith WilliamsandAlex van Andel 84408025ed perf: pre-load booking data for all users (#11243)
* perf: pre-load booking data for all users

* Fixing property issues

* Fixes

* Removed unwanted console.log

* Made comment for intention of refactor more clear

* fix: types

* _count is optional

* Assign to const bookings

* Added mock for prisma booking

* Fixed unit tests

* Added lint ignore for prisma field

* Update bookingScenario.ts

* Fix linting

---------

Co-authored-by: Alex van Andel <me@alexvanandel.com>
2023-09-12 14:12:25 +01:00
Hariom Balhara 9fba8c548b fix: Prefill not working if firstAndLastName variant enabled in name field and name doesn't have any space (#11289) 2023-09-12 13:00:14 +02:00
sean-brydon 56f3647ec2 Fix max w (#11294) 2023-09-12 09:59:40 +00:00
GitStart-Cal.comandgitstart-calcom a5cb3ce573 feat: Create VerifyCodeDialog storybook file (#11286)
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
2023-09-12 00:09:13 +02:00
Udit Takkar 7581f4d641 fix: add inline color in og image (#11280) 2023-09-12 00:08:27 +02:00
Crowdin Bot a1d67b256e New Crowdin translations by Github Action 2023-09-11 18:41:56 +00:00
Joe Au-Yeung 75f9dad16e fix: Selected calendar unhandled promise when removing calendars (#11281) 2023-09-11 14:39:27 -04:00
sean-brydonandLeo Giovanetti 0a0d212373 fix: Handle removing user from org (#11227)
* Handle removing user from org

* Address no password or username being set

---------

Co-authored-by: Leo Giovanetti <hello@leog.me>
2023-09-11 14:46:38 +00:00
b8794ba807 fix: Fixed team image not showing on event-types page (#11231)
Co-authored-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2023-09-11 11:37:42 +00:00
Ahsan AhmadandPeer Richelsen 9b8e4ed385 fix: README typo uppercase ID (#11254)
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2023-09-11 13:19:13 +02:00
Somay Chauhan 997b5d5290 fix: "no teams" text not visibl in organization's public url (#11257) 2023-09-11 13:10:36 +02:00
Yash d7080b41cb fix: text-emphasis removed (#11228) 2023-09-11 13:05:03 +02:00
Ujwal Kumar 32754bd120 fix: add hardcoded strings to locales so they can be translated (#11266) 2023-09-11 13:00:38 +02:00
Meet Mota 13fd02d174 fix: smaller date overwrite when no date is selected (#11250) 2023-09-11 12:49:27 +02:00
Crowdin Bot d6cbac54e0 New Crowdin translations by Github Action 2023-09-11 10:36:13 +00:00
Udit Takkar 489ffdf49a fix: hide book a team member (#11271) 2023-09-11 10:33:30 +00:00
Hariom BalharaandJoe Au-Yeung 37b22977ee fix: Booking and Cancellation related text changes (#10744)
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
2023-09-10 17:00:51 +00:00
Crowdin Bot 848a040162 New Crowdin translations by Github Action 2023-09-08 21:31:37 +00:00
Leo Giovanetti 350d84a047 fix: showing profile settings of other teams (#11245)
* fix: showing profile settings of other teams

* Updating URL
2023-09-08 18:29:06 -03:00
Shubham SinghandPeer Richelsen 9c3cbee363 feat: preference to show/hide available seats count in events (#11109)
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2023-09-08 11:37:26 -04:00
Peer RichelsenandUdit Takkar 7e2ad3cea9 fix: inverted location logo (#11233)
Co-authored-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
2023-09-08 15:59:05 +01:00
Alex van Andel 4ef52aa2c6 perf: Move query to get just the user email to the main get query (#11230) 2023-09-08 08:39:29 -03:00
Alex van Andel 3132c64205 perf: Improve getAggregatedAvailability by reducing reliance on Day.js (#11224) 2023-09-08 07:19:27 -03:00
Crowdin Bot f25f8e0909 New Crowdin translations by Github Action 2023-09-08 08:05:45 +00:00
Leo Giovanetti d8961f8eb9 fix: subteam invitation without teamId associated (#11222) 2023-09-08 09:02:12 +01:00
Crowdin Bot 9ff7cf650b New Crowdin translations by Github Action 2023-09-08 00:23:57 +00:00
ba4e717b59 chore: unify org data access (#11158)
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
2023-09-07 21:21:04 -03:00
Udit Takkar f326a9a620 fix: eventName variables (#10924) 2023-09-07 16:52:07 -04:00
303 changed files with 6722 additions and 1451 deletions
+32
View File
@@ -213,6 +213,10 @@ NEXT_PUBLIC_MINUTES_TO_BOOK=5 # Minutes
# use organizations # use organizations
ORGANIZATIONS_ENABLED= ORGANIZATIONS_ENABLED=
# This variable should only be set to 1 or true if you want to autolink external provider sing-ups with
# existing organizations based on email domain address
ORGANIZATIONS_AUTOLINK=
# Vercel Config to create subdomains for organizations # Vercel Config to create subdomains for organizations
# Get it from https://vercel.com/<TEAM_OR_USER_NAME>/<PROJECT_SLUG>/settings # Get it from https://vercel.com/<TEAM_OR_USER_NAME>/<PROJECT_SLUG>/settings
PROJECT_ID_VERCEL= PROJECT_ID_VERCEL=
@@ -225,3 +229,31 @@ AUTH_BEARER_TOKEN_VERCEL=
# Used for E2E tests on Apple Calendar # Used for E2E tests on Apple Calendar
E2E_TEST_APPLE_CALENDAR_EMAIL="" E2E_TEST_APPLE_CALENDAR_EMAIL=""
E2E_TEST_APPLE_CALENDAR_PASSWORD="" E2E_TEST_APPLE_CALENDAR_PASSWORD=""
# - APP CREDENTIAL SYNC ***********************************************************************************
# Used for self-hosters that are implementing Cal.com into their applications that already have certain integrations
# Under settings/admin/apps ensure that all app secrets are set the same as the parent application
# You can use: `openssl rand -base64 32` to generate one
CALCOM_WEBHOOK_SECRET=""
# This is the header name that will be used to verify the webhook secret. Should be in lowercase
CALCOM_WEBHOOK_HEADER_NAME="calcom-webhook-secret"
CALCOM_CREDENTIAL_SYNC_ENDPOINT=""
# Key should match on Cal.com and your application
# must be 32 bytes for AES256 encryption algorithm
# You can use: `openssl rand -base64 24` to generate one
CALCOM_APP_CREDENTIAL_ENCRYPTION_KEY=""
# - OIDC E2E TEST *******************************************************************************************
# Ensure this ADMIN EMAIL is present in the SAML_ADMINS list
E2E_TEST_SAML_ADMIN_EMAIL=
E2E_TEST_SAML_ADMIN_PASSWORD=
E2E_TEST_OIDC_CLIENT_ID=
E2E_TEST_OIDC_CLIENT_SECRET=
E2E_TEST_OIDC_PROVIDER_DOMAIN=
E2E_TEST_OIDC_USER_EMAIL=
E2E_TEST_OIDC_USER_PASSWORD=
# ***********************************************************************************************************
@@ -0,0 +1,33 @@
name: Cron - monthlyDigestEmail
on:
# "Scheduled workflows run on the latest commit on the default or base branch."
# — https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows#schedule
schedule:
# Runs on the 28th, 29th, 30th and 31st of every month (see https://crontab.guru)
- cron: "59 23 28-31 * *"
jobs:
cron-monthlyDigestEmail:
env:
APP_URL: ${{ secrets.APP_URL }}
CRON_API_KEY: ${{ secrets.CRON_API_KEY }}
runs-on: ubuntu-latest
steps:
- name: Check if today is the last day of the month
id: check-last-day
run: |
LAST_DAY=$(date -d tomorrow +%d)
if [ "$LAST_DAY" == "01" ]; then
echo "::set-output name=is_last_day::true"
else
echo "::set-output name=is_last_day::false"
fi
- name: cURL request
if: ${{ env.APP_URL && env.CRON_API_KEY && steps.check-last-day.outputs.is_last_day == 'true' }}
run: |
curl ${{ secrets.APP_URL }}/api/cron/monthlyDigestEmail \
-X POST \
-H 'content-type: application/json' \
-H 'authorization: ${{ secrets.CRON_API_KEY }}' \
--fail
+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
token: ${{ secrets.GH_ACCESS_TOKEN }} token: ${{ secrets.GH_ACCESS_TOKEN }}
- name: crowdin action - name: crowdin action
uses: crowdin/github-action@1.5.1 uses: crowdin/github-action@v1.13.0
with: with:
upload_sources: true upload_sources: true
upload_translations: true upload_translations: true
+18
View File
@@ -0,0 +1,18 @@
name: Auto Comment Merge Conflicts
on: push
permissions:
pull-requests: write
jobs:
auto-comment-merge-conflicts:
runs-on: ubuntu-latest
steps:
- uses: codytseng/auto-comment-merge-conflicts@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
comment-body: "Hey there, there is a merge conflict, can you take a look?"
wait-ms: 3000
max-retries: 5
label-name: "🚨 merge conflict"
ignore-authors: dependabot,otherAuthor
-1
View File
@@ -7,7 +7,6 @@ public
*.lock *.lock
*.log *.log
*.test.ts
.gitignore .gitignore
.npmignore .npmignore
+1
View File
@@ -135,3 +135,4 @@ If you get errors, be sure to fix them before committing.
- Be sure to [check the "Allow edits from maintainers" option](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork) while creating your PR. - Be sure to [check the "Allow edits from maintainers" option](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork) while creating your PR.
- If your PR refers to or fixes an issue, be sure to add `refs #XXX` or `fixes #XXX` to the PR description. Replacing `XXX` with the respective issue number. See more about [Linking a pull request to an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue). - If your PR refers to or fixes an issue, be sure to add `refs #XXX` or `fixes #XXX` to the PR description. Replacing `XXX` with the respective issue number. See more about [Linking a pull request to an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue).
- Be sure to fill the PR Template accordingly. - Be sure to fill the PR Template accordingly.
- Review [App Contribution Guidelines](./packages/app-store/CONTRIBUTING.md) when building integrations
+1 -1
View File
@@ -526,7 +526,7 @@ For example, `Cal.com (support@cal.com)`.
3. Copy Account SID to your `.env` file into the `TWILIO_SID` field 3. Copy Account SID to your `.env` file into the `TWILIO_SID` field
4. Copy Auth Token to your `.env` file into the `TWILIO_TOKEN` field 4. Copy Auth Token to your `.env` file into the `TWILIO_TOKEN` field
5. Copy your Twilio phone number to your `.env` file into the `TWILIO_PHONE_NUMBER` field 5. Copy your Twilio phone number to your `.env` file into the `TWILIO_PHONE_NUMBER` field
6. Add your own sender id to the `.env` file into the `NEXT_PUBLIC_SENDER_ID` field (fallback is Cal.com) 6. Add your own sender ID to the `.env` file into the `NEXT_PUBLIC_SENDER_ID` field (fallback is Cal.com)
7. Create a messaging service (Develop -> Messaging -> Services) 7. Create a messaging service (Develop -> Messaging -> Services)
8. Choose any name for the messaging service 8. Choose any name for the messaging service
9. Click 'Add Senders' 9. Click 'Add Senders'
+3 -3
View File
@@ -1,7 +1,7 @@
import { PrismaClient } from "@prisma/client";
import type { NextMiddleware } from "next-api-middleware"; import type { NextMiddleware } from "next-api-middleware";
import { CONSOLE_URL } from "@calcom/lib/constants"; import { CONSOLE_URL } from "@calcom/lib/constants";
import { customPrisma } from "@calcom/prisma";
const LOCAL_CONSOLE_URL = process.env.NEXT_PUBLIC_CONSOLE_URL || CONSOLE_URL; const LOCAL_CONSOLE_URL = process.env.NEXT_PUBLIC_CONSOLE_URL || CONSOLE_URL;
@@ -12,7 +12,7 @@ export const customPrismaClient: NextMiddleware = async (req, res, next) => {
} = req; } = req;
// If no custom api Id is provided, attach to request the regular cal.com prisma client. // If no custom api Id is provided, attach to request the regular cal.com prisma client.
if (!key) { if (!key) {
req.prisma = new PrismaClient(); req.prisma = customPrisma();
await next(); await next();
return; return;
} }
@@ -26,7 +26,7 @@ export const customPrismaClient: NextMiddleware = async (req, res, next) => {
res.status(400).json({ error: "no databaseUrl set up at your instance yet" }); res.status(400).json({ error: "no databaseUrl set up at your instance yet" });
return; return;
} }
req.prisma = new PrismaClient({ datasources: { db: { url: databaseUrl } } }); req.prisma = customPrisma({ datasources: { db: { url: databaseUrl } } });
/* @note: /* @note:
In order to skip verifyApiKey for customPrisma requests, In order to skip verifyApiKey for customPrisma requests,
we pass isAdmin true, and userId 0, if we detect them later, we pass isAdmin true, and userId 0, if we detect them later,
+1
View File
@@ -58,6 +58,7 @@ export const schemaBookingReadPublic = Booking.extend({
}) })
) )
.optional(), .optional(),
responses: z.record(z.any()),
}).pick({ }).pick({
id: true, id: true,
userId: true, userId: true,
+3
View File
@@ -70,6 +70,7 @@ const schemaEventTypeCreateParams = z
recurringEvent: recurringEventInputSchema.optional(), recurringEvent: recurringEventInputSchema.optional(),
seatsPerTimeSlot: z.number().optional(), seatsPerTimeSlot: z.number().optional(),
seatsShowAttendees: z.boolean().optional(), seatsShowAttendees: z.boolean().optional(),
seatsShowAvailabilityCount: z.boolean().optional(),
bookingFields: eventTypeBookingFields.optional(), bookingFields: eventTypeBookingFields.optional(),
scheduleId: z.number().optional(), scheduleId: z.number().optional(),
}) })
@@ -89,6 +90,7 @@ const schemaEventTypeEditParams = z
length: z.number().int().optional(), length: z.number().int().optional(),
seatsPerTimeSlot: z.number().optional(), seatsPerTimeSlot: z.number().optional(),
seatsShowAttendees: z.boolean().optional(), seatsShowAttendees: z.boolean().optional(),
seatsShowAvailabilityCount: z.boolean().optional(),
bookingFields: eventTypeBookingFields.optional(), bookingFields: eventTypeBookingFields.optional(),
scheduleId: z.number().optional(), scheduleId: z.number().optional(),
}) })
@@ -129,6 +131,7 @@ export const schemaEventTypeReadPublic = EventType.pick({
metadata: true, metadata: true,
seatsPerTimeSlot: true, seatsPerTimeSlot: true,
seatsShowAttendees: true, seatsShowAttendees: true,
seatsShowAvailabilityCount: true,
bookingFields: true, bookingFields: true,
bookingLimits: true, bookingLimits: true,
durationLimits: true, durationLimits: true,
+1 -1
View File
@@ -1,7 +1,7 @@
import type { Session } from "next-auth"; import type { Session } from "next-auth";
import type { NextApiRequest as BaseNextApiRequest } from "next/types"; import type { NextApiRequest as BaseNextApiRequest } from "next/types";
import type { PrismaClient } from "@calcom/prisma/client"; import type { PrismaClient } from "@calcom/prisma";
export type * from "next/types"; export type * from "next/types";
+3
View File
@@ -94,6 +94,9 @@ import { defaultResponder } from "@calcom/lib/server";
* seatsShowAttendees: * seatsShowAttendees:
* type: boolean * type: boolean
* description: 'Share Attendee information in seats' * description: 'Share Attendee information in seats'
* seatsShowAvailabilityCount:
* type: boolean
* description: 'Show the number of available seats'
* smsReminderNumber: * smsReminderNumber:
* type: number * type: number
* description: 'SMS reminder number' * description: 'SMS reminder number'
@@ -146,6 +146,9 @@ import checkTeamEventEditPermission from "../_utils/checkTeamEventEditPermission
* seatsShowAttendees: * seatsShowAttendees:
* type: boolean * type: boolean
* description: 'Share Attendee information in seats' * description: 'Share Attendee information in seats'
* seatsShowAvailabilityCount:
* type: boolean
* description: 'Show the number of available seats'
* locations: * locations:
* type: array * type: array
* description: A list of all available locations for the event type * description: A list of all available locations for the event type
+1 -1
View File
@@ -2,7 +2,7 @@ import type { NextApiRequest } from "next";
import { HttpError } from "@calcom/lib/http-error"; import { HttpError } from "@calcom/lib/http-error";
import { defaultResponder } from "@calcom/lib/server"; import { defaultResponder } from "@calcom/lib/server";
import type { PrismaClient } from "@calcom/prisma/client"; import type { PrismaClient } from "@calcom/prisma";
import { schemaEventTypeReadPublic } from "~/lib/validations/event-type"; import { schemaEventTypeReadPublic } from "~/lib/validations/event-type";
import { schemaQuerySingleOrMultipleUserIds } from "~/lib/validations/shared/queryUserId"; import { schemaQuerySingleOrMultipleUserIds } from "~/lib/validations/shared/queryUserId";
+1 -2
View File
@@ -1,2 +1 @@
public/embed public/embed
*.test.ts
@@ -116,6 +116,7 @@ function ConnectedCalendarsList(props: Props) {
type={item.integration.type} type={item.integration.type}
isChecked={cal.isSelected} isChecked={cal.isSelected}
destination={cal.externalId === props.destinationCalendarId} destination={cal.externalId === props.destinationCalendarId}
credentialId={cal.credentialId}
/> />
))} ))}
</ul> </ul>
@@ -377,6 +377,14 @@ export const EventAdvancedTab = ({ eventType, team }: Pick<EventTypeSetupProps,
defaultChecked={!!eventType.seatsShowAttendees} defaultChecked={!!eventType.seatsShowAttendees}
/> />
</div> </div>
<div className="mt-2">
<CheckboxField
description={t("show_available_seats_count")}
disabled={seatsLocked.disabled}
onChange={(e) => formMethods.setValue("seatsShowAvailabilityCount", e.target.checked)}
defaultChecked={!!eventType.seatsShowAvailabilityCount}
/>
</div>
</div> </div>
)} )}
/> />
@@ -53,6 +53,7 @@ const ConnectedCalendarItem = (prop: IConnectedCalendarItem) => {
<ul className="p-4"> <ul className="p-4">
{calendars?.map((calendar, i) => ( {calendars?.map((calendar, i) => (
<CalendarSwitch <CalendarSwitch
credentialId={calendar.credentialId}
key={calendar.externalId} key={calendar.externalId}
externalId={calendar.externalId} externalId={calendar.externalId}
title={calendar.name || "Nameless Calendar"} title={calendar.name || "Nameless Calendar"}
@@ -173,7 +173,6 @@ const EnableTwoFactorModal = ({ onEnable, onCancel, open, onOpenChange }: Enable
<div className="mb-4"> <div className="mb-4">
<PasswordField <PasswordField
label={t("password")} label={t("password")}
type="password"
name="password" name="password"
id="password" id="password"
required required
+1 -1
View File
@@ -9,7 +9,7 @@ import { Avatar } from "@calcom/ui";
type TeamType = Omit<NonNullable<TeamWithMembers>, "inviteToken">; type TeamType = Omit<NonNullable<TeamWithMembers>, "inviteToken">;
type MembersType = TeamType["members"]; type MembersType = TeamType["members"];
type MemberType = MembersType[number] & { safeBio: string | null }; type MemberType = Pick<MembersType[number], "id" | "name" | "bio" | "username"> & { safeBio: string | null };
type TeamTypeWithSafeHtml = Omit<TeamType, "members" | "inviteToken"> & { members: MemberType[] }; type TeamTypeWithSafeHtml = Omit<TeamType, "members" | "inviteToken"> & { members: MemberType[] };
const Member = ({ member, teamName }: { member: MemberType; teamName: string | null }) => { const Member = ({ member, teamName }: { member: MemberType; teamName: string | null }) => {
+1 -14
View File
@@ -14,7 +14,6 @@ import DynamicHelpscoutProvider from "@calcom/features/ee/support/lib/helpscout/
import DynamicIntercomProvider from "@calcom/features/ee/support/lib/intercom/providerDynamic"; import DynamicIntercomProvider from "@calcom/features/ee/support/lib/intercom/providerDynamic";
import { FeatureProvider } from "@calcom/features/flags/context/provider"; import { FeatureProvider } from "@calcom/features/flags/context/provider";
import { useFlags } from "@calcom/features/flags/hooks"; import { useFlags } from "@calcom/features/flags/hooks";
import { trpc } from "@calcom/trpc/react";
import { MetaProvider } from "@calcom/ui"; import { MetaProvider } from "@calcom/ui";
import useIsBookingPage from "@lib/hooks/useIsBookingPage"; import useIsBookingPage from "@lib/hooks/useIsBookingPage";
@@ -222,19 +221,7 @@ function FeatureFlagsProvider({ children }: { children: React.ReactNode }) {
function useOrgBrandingValues() { function useOrgBrandingValues() {
const session = useSession(); const session = useSession();
return session?.data?.user.org;
const res = trpc.viewer.organizations.getBrand.useQuery(undefined, {
// Only fetch if we have a session to avoid flooding logs with errors
enabled: session.status === "authenticated",
});
if (res.status === "loading") {
return undefined;
}
if (res.status === "error") return null;
return res.data;
} }
function OrgBrandProvider({ children }: { children: React.ReactNode }) { function OrgBrandProvider({ children }: { children: React.ReactNode }) {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@calcom/web", "name": "@calcom/web",
"version": "3.2.9", "version": "3.3.2",
"private": true, "private": true,
"scripts": { "scripts": {
"analyze": "ANALYZE=true next build", "analyze": "ANALYZE=true next build",
+1 -1
View File
@@ -154,7 +154,7 @@ export function UserPage(props: InferGetServerSidePropsType<typeof getServerSide
<div className="flex flex-wrap items-center"> <div className="flex flex-wrap items-center">
<h2 className=" text-default pr-2 text-sm font-semibold">{type.title}</h2> <h2 className=" text-default pr-2 text-sm font-semibold">{type.title}</h2>
</div> </div>
<EventTypeDescription eventType={type} isPublic={true} /> <EventTypeDescription eventType={type} isPublic={true} shortenDescription />
</Link> </Link>
</div> </div>
</div> </div>
+23 -21
View File
@@ -10,6 +10,7 @@ import { closeComUpsertTeamUser } from "@calcom/lib/sync/SyncServiceManager";
import { validateUsernameInTeam, validateUsername } from "@calcom/lib/validateUsername"; import { validateUsernameInTeam, validateUsername } from "@calcom/lib/validateUsername";
import prisma from "@calcom/prisma"; import prisma from "@calcom/prisma";
import { IdentityProvider } from "@calcom/prisma/enums"; import { IdentityProvider } from "@calcom/prisma/enums";
import { MembershipRole } from "@calcom/prisma/enums";
import { signupSchema } from "@calcom/prisma/zod-utils"; import { signupSchema } from "@calcom/prisma/zod-utils";
import { teamMetadataSchema } from "@calcom/prisma/zod-utils"; import { teamMetadataSchema } from "@calcom/prisma/zod-utils";
@@ -89,6 +90,10 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
} }
} }
// Identify the org id in an org context signup, either the invited team is an org
// or has a parentId, otherwise parentId will be null, making orgId null
const orgId = teamMetadata?.isOrganization ? team.id : team.parentId;
const user = await prisma.user.upsert({ const user = await prisma.user.upsert({
where: { email: userEmail }, where: { email: userEmail },
update: { update: {
@@ -96,49 +101,46 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
password: hashedPassword, password: hashedPassword,
emailVerified: new Date(Date.now()), emailVerified: new Date(Date.now()),
identityProvider: IdentityProvider.CAL, identityProvider: IdentityProvider.CAL,
organizationId: orgId,
}, },
create: { create: {
username, username,
email: userEmail, email: userEmail,
password: hashedPassword, password: hashedPassword,
identityProvider: IdentityProvider.CAL, identityProvider: IdentityProvider.CAL,
organizationId: orgId,
}, },
}); });
if (teamMetadata?.isOrganization) { const membership = await prisma.membership.upsert({
await prisma.user.update({
where: {
id: user.id,
},
data: {
organizationId: team.id,
},
});
}
const membership = await prisma.membership.update({
where: { where: {
userId_teamId: { userId: user.id, teamId: team.id }, userId_teamId: { userId: user.id, teamId: team.id },
}, },
data: { update: {
accepted: true, accepted: true,
}, },
create: {
userId: user.id,
teamId: team.id,
accepted: true,
role: MembershipRole.MEMBER,
},
}); });
closeComUpsertTeamUser(team, user, membership.role); closeComUpsertTeamUser(team, user, membership.role);
// Accept any child team invites for orgs. // Accept any child team invites for orgs and create a membership for the org itself
if (team.parentId) { if (team.parentId) {
// Join ORG // Create a membership for the organization itself
await prisma.user.update({ await prisma.membership.create({
where: {
id: user.id,
},
data: { data: {
organizationId: team.parentId, userId: user.id,
teamId: team.parentId,
accepted: true,
role: MembershipRole.MEMBER,
}, },
}); });
/** We do a membership update twice so we can join the ORG invite if the user is invited to a team witin a ORG. */ // We do a membership update twice so we can join the ORG invite if the user is invited to a team witin a ORG
await prisma.membership.updateMany({ await prisma.membership.updateMany({
where: { where: {
userId: user.id, userId: user.id,
+7 -2
View File
@@ -5,10 +5,12 @@ import { getCalendarCredentials, getConnectedCalendars } from "@calcom/core/Cale
import { getServerSession } from "@calcom/features/auth/lib/getServerSession"; import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
import notEmpty from "@calcom/lib/notEmpty"; import notEmpty from "@calcom/lib/notEmpty";
import prisma from "@calcom/prisma"; import prisma from "@calcom/prisma";
import { credentialForCalendarServiceSelect } from "@calcom/prisma/selects/credential";
const selectedCalendarSelectSchema = z.object({ const selectedCalendarSelectSchema = z.object({
integration: z.string(), integration: z.string(),
externalId: z.string(), externalId: z.string(),
credentialId: z.number().optional(),
}); });
export default async function handler(req: NextApiRequest, res: NextApiResponse) { export default async function handler(req: NextApiRequest, res: NextApiResponse) {
@@ -24,7 +26,9 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
id: session.user.id, id: session.user.id,
}, },
select: { select: {
credentials: true, credentials: {
select: credentialForCalendarServiceSelect,
},
timeZone: true, timeZone: true,
id: true, id: true,
selectedCalendars: true, selectedCalendars: true,
@@ -37,7 +41,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const { credentials, ...user } = userWithCredentials; const { credentials, ...user } = userWithCredentials;
if (req.method === "POST") { if (req.method === "POST") {
const { integration, externalId } = selectedCalendarSelectSchema.parse(req.body); const { integration, externalId, credentialId } = selectedCalendarSelectSchema.parse(req.body);
await prisma.selectedCalendar.upsert({ await prisma.selectedCalendar.upsert({
where: { where: {
userId_integration_externalId: { userId_integration_externalId: {
@@ -50,6 +54,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
userId: user.id, userId: user.id,
integration, integration,
externalId, externalId,
credentialId,
}, },
// already exists // already exists
update: {}, update: {},
@@ -0,0 +1,16 @@
import type { NextApiRequest, NextApiResponse } from "next";
import prisma from "@calcom/prisma";
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
const deleted = await prisma.calendarCache.deleteMany({
where: {
// Delete all cache entries that expired before now
expiresAt: {
lte: new Date(Date.now()),
},
},
});
res.json({ ok: true, count: deleted.count });
}
@@ -0,0 +1,340 @@
import type { Prisma } from "@prisma/client";
import type { NextApiRequest, NextApiResponse } from "next";
import { z } from "zod";
import dayjs from "@calcom/dayjs";
import { sendMonthlyDigestEmails } from "@calcom/emails/email-manager";
import { EventsInsights } from "@calcom/features/insights/server/events";
import { getTranslation } from "@calcom/lib/server";
import prisma from "@calcom/prisma";
const querySchema = z.object({
page: z.coerce.number().min(0).optional().default(0),
});
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
const apiKey = req.headers.authorization || req.query.apiKey;
if (process.env.CRON_API_KEY !== apiKey) {
res.status(401).json({ message: "Not authenticated" });
return;
}
if (req.method !== "POST") {
res.status(405).json({ message: "Invalid method" });
return;
}
const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
const pageSize = 90; // Adjust this value based on the total number of teams and the available processing time
let { page: pageNumber } = querySchema.parse(req.query);
const firstDateOfMonth = new Date();
firstDateOfMonth.setDate(1);
while (true) {
const teams = await prisma.team.findMany({
where: {
slug: {
not: null,
},
createdAt: {
// created before or on the first day of this month
lte: firstDateOfMonth,
},
},
select: {
id: true,
createdAt: true,
members: true,
name: true,
},
skip: pageNumber * pageSize,
take: pageSize,
});
if (teams.length === 0) {
break;
}
for (const team of teams) {
const EventData: {
Created: number;
Completed: number;
Rescheduled: number;
Cancelled: number;
mostBookedEvents: {
eventTypeId?: number | null;
eventTypeName?: string | null;
count?: number | null;
}[];
membersWithMostBookings: {
userId: number | null;
user: {
id: number;
name: string | null;
email: string;
avatar: string | null;
username: string | null;
};
count: number;
}[];
admin: { email: string; name: string };
team: {
name: string;
id: number;
};
} = {
Created: 0,
Completed: 0,
Rescheduled: 0,
Cancelled: 0,
mostBookedEvents: [],
membersWithMostBookings: [],
admin: { email: "", name: "" },
team: { name: team.name, id: team.id },
};
const userIdsFromTeams = team.members.map((u) => u.userId);
// Booking Events
const whereConditional: Prisma.BookingTimeStatusWhereInput = {
OR: [
{
teamId: team.id,
},
{
userId: {
in: userIdsFromTeams,
},
teamId: null,
},
],
};
const promisesResult = await Promise.all([
EventsInsights.getCreatedEventsInTimeRange(
{
start: dayjs(firstDateOfMonth),
end: dayjs(new Date()),
},
whereConditional
),
EventsInsights.getCompletedEventsInTimeRange(
{
start: dayjs(firstDateOfMonth),
end: dayjs(new Date()),
},
whereConditional
),
EventsInsights.getRescheduledEventsInTimeRange(
{
start: dayjs(firstDateOfMonth),
end: dayjs(new Date()),
},
whereConditional
),
EventsInsights.getCancelledEventsInTimeRange(
{
start: dayjs(firstDateOfMonth),
end: dayjs(new Date()),
},
whereConditional
),
]);
EventData["Created"] = promisesResult[0];
EventData["Completed"] = promisesResult[1];
EventData["Rescheduled"] = promisesResult[2];
EventData["Cancelled"] = promisesResult[3];
// Most Booked Event Type
const bookingWhere: Prisma.BookingTimeStatusWhereInput = {
createdAt: {
gte: dayjs(firstDateOfMonth).startOf("day").toDate(),
lte: dayjs(new Date()).endOf("day").toDate(),
},
OR: [
{
teamId: team.id,
},
{
userId: {
in: userIdsFromTeams,
},
teamId: null,
},
],
};
const bookingsFromSelected = await prisma.bookingTimeStatus.groupBy({
by: ["eventTypeId"],
where: bookingWhere,
_count: {
id: true,
},
orderBy: {
_count: {
id: "desc",
},
},
take: 10,
});
const eventTypeIds = bookingsFromSelected
.filter((booking) => typeof booking.eventTypeId === "number")
.map((booking) => booking.eventTypeId);
const eventTypeWhereConditional: Prisma.EventTypeWhereInput = {
id: {
in: eventTypeIds as number[],
},
};
const eventTypesFrom = await prisma.eventType.findMany({
select: {
id: true,
title: true,
teamId: true,
userId: true,
slug: true,
users: {
select: {
username: true,
},
},
team: {
select: {
slug: true,
},
},
},
where: eventTypeWhereConditional,
});
const eventTypeHashMap: Map<
number,
Prisma.EventTypeGetPayload<{
select: {
id: true;
title: true;
teamId: true;
userId: true;
slug: true;
users: {
select: {
username: true;
};
};
team: {
select: {
slug: true;
};
};
};
}>
> = new Map();
eventTypesFrom.forEach((eventType) => {
eventTypeHashMap.set(eventType.id, eventType);
});
EventData["mostBookedEvents"] = bookingsFromSelected.map((booking) => {
const eventTypeSelected = eventTypeHashMap.get(booking.eventTypeId ?? 0);
if (!eventTypeSelected) {
return {};
}
let eventSlug = "";
if (eventTypeSelected.userId) {
eventSlug = `${eventTypeSelected?.users[0]?.username}/${eventTypeSelected?.slug}`;
}
if (eventTypeSelected?.team && eventTypeSelected?.team?.slug) {
eventSlug = `${eventTypeSelected.team.slug}/${eventTypeSelected.slug}`;
}
return {
eventTypeId: booking.eventTypeId,
eventTypeName: eventSlug,
count: booking._count.id,
};
});
// Most booked members
const bookingsFromTeam = await prisma.bookingTimeStatus.groupBy({
by: ["userId"],
where: bookingWhere,
_count: {
id: true,
},
orderBy: {
_count: {
id: "desc",
},
},
take: 10,
});
const userIds = bookingsFromTeam
.filter((booking) => typeof booking.userId === "number")
.map((booking) => booking.userId);
if (userIds.length === 0) {
EventData["membersWithMostBookings"] = [];
} else {
const teamUsers = await prisma.user.findMany({
where: {
id: {
in: userIds as number[],
},
},
select: { id: true, name: true, email: true, avatar: true, username: true },
});
const userHashMap = new Map();
teamUsers.forEach((user) => {
userHashMap.set(user.id, user);
});
EventData["membersWithMostBookings"] = bookingsFromTeam.map((booking) => {
return {
userId: booking.userId,
user: userHashMap.get(booking.userId),
count: booking._count.id,
};
});
}
// Send mail to all Owners and Admins
const mailReceivers = team?.members?.filter(
(member) => member.role === "OWNER" || member.role === "ADMIN"
);
const mailsToSend = mailReceivers.map(async (receiver) => {
const owner = await prisma.user.findUnique({
where: {
id: receiver?.userId,
},
});
if (owner) {
const t = await getTranslation(owner?.locale ?? "en", "common");
// Only send email if user has allowed to receive monthly digest emails
if (owner.receiveMonthlyDigestEmail) {
await sendMonthlyDigestEmails({
...EventData,
admin: { email: owner?.email ?? "", name: owner?.name ?? "" },
language: t,
});
}
}
});
await Promise.all(mailsToSend);
await delay(100); // Adjust the delay as needed to avoid rate limiting
}
pageNumber++;
}
res.json({ ok: true });
}
+43 -7
View File
@@ -13,14 +13,50 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => {
res.setHeader("Content-Type", "text/html"); res.setHeader("Content-Type", "text/html");
res.setHeader("Cache-Control", "no-cache, no-store, private, must-revalidate"); res.setHeader("Cache-Control", "no-cache, no-store, private, must-revalidate");
res.write( res.write(
renderEmail("VerifyAccountEmail", { renderEmail("MonthlyDigestEmail", {
language: t, language: t,
user: { Created: 12,
name: "Pro Example", Completed: 13,
email: "pro@example.com", Rescheduled: 14,
}, Cancelled: 16,
verificationEmailLink: mostBookedEvents: [
"http://localhost:3000/api/auth/verify-email?token=b91af0eee5a9a24a8d83a3d3d6a58c1606496e94ced589441649273c66100f5b", {
eventTypeId: 3,
eventTypeName: "Test1",
count: 3,
},
{
eventTypeId: 4,
eventTypeName: "Test2",
count: 5,
},
],
membersWithMostBookings: [
{
userId: 4,
user: {
id: 4,
name: "User1 name",
email: "email.com",
avatar: "none",
username: "User1",
},
count: 4,
},
{
userId: 6,
user: {
id: 6,
name: "User2 name",
email: "email2.com",
avatar: "none",
username: "User2",
},
count: 8,
},
],
admin: { email: "admin.com", name: "admin" },
team: { name: "Team1", id: 4 },
}) })
); );
res.end(); res.end();
@@ -0,0 +1,93 @@
import type { NextApiRequest, NextApiResponse } from "next";
import z from "zod";
import { appStoreMetadata } from "@calcom/app-store/appStoreMetaData";
import { APP_CREDENTIAL_SHARING_ENABLED } from "@calcom/lib/constants";
import { symmetricDecrypt } from "@calcom/lib/crypto";
import prisma from "@calcom/prisma";
const appCredentialWebhookRequestBodySchema = z.object({
// UserId of the cal.com user
userId: z.number().int(),
appSlug: z.string(),
// Keys should be AES256 encrypted with the CALCOM_APP_CREDENTIAL_ENCRYPTION_KEY
keys: z.string(),
});
/** */
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
// Check that credential sharing is enabled
if (!APP_CREDENTIAL_SHARING_ENABLED) {
return res.status(403).json({ message: "Credential sharing is not enabled" });
}
// Check that the webhook secret matches
if (
req.headers[process.env.CALCOM_WEBHOOK_HEADER_NAME || "calcom-webhook-secret"] !==
process.env.CALCOM_WEBHOOK_SECRET
) {
return res.status(403).json({ message: "Invalid webhook secret" });
}
const reqBody = appCredentialWebhookRequestBodySchema.parse(req.body);
// Check that the user exists
const user = await prisma.user.findUnique({ where: { id: reqBody.userId } });
if (!user) {
return res.status(404).json({ message: "User not found" });
}
const app = await prisma.app.findUnique({
where: { slug: reqBody.appSlug },
select: { slug: true },
});
if (!app) {
return res.status(404).json({ message: "App not found" });
}
// Search for the app's slug and type
const appMetadata = appStoreMetadata[app.slug as keyof typeof appStoreMetadata];
if (!appMetadata) {
return res.status(404).json({ message: "App not found. Ensure that you have the correct app slug" });
}
// Decrypt the keys
const keys = JSON.parse(
symmetricDecrypt(reqBody.keys, process.env.CALCOM_APP_CREDENTIAL_ENCRYPTION_KEY || "")
);
// Can't use prisma upsert as we don't know the id of the credential
const appCredential = await prisma.credential.findFirst({
where: {
userId: reqBody.userId,
appId: appMetadata.slug,
},
select: {
id: true,
},
});
if (appCredential) {
await prisma.credential.update({
where: {
id: appCredential.id,
},
data: {
key: keys,
},
});
return res.status(200).json({ message: `Credentials updated for userId: ${reqBody.userId}` });
} else {
await prisma.credential.create({
data: {
key: keys,
userId: reqBody.userId,
appId: appMetadata.slug,
type: appMetadata.type,
},
});
return res.status(200).json({ message: `Credentials created for userId: ${reqBody.userId}` });
}
}
+1 -8
View File
@@ -52,8 +52,6 @@ export default function Login({
totpEmail, totpEmail,
}: inferSSRProps<typeof _getServerSideProps> & WithNonceProps) { }: inferSSRProps<typeof _getServerSideProps> & WithNonceProps) {
const searchParams = useSearchParams(); const searchParams = useSearchParams();
const isTeamInvite = searchParams.get("teamInvite");
const { t } = useLocale(); const { t } = useLocale();
const router = useRouter(); const router = useRouter();
const formSchema = z const formSchema = z
@@ -97,9 +95,7 @@ export default function Login({
callbackUrl = safeCallbackUrl || ""; callbackUrl = safeCallbackUrl || "";
const LoginFooter = ( const LoginFooter = (
<a <a href={`${WEBSITE_URL}/signup`} className="text-brand-500 font-medium">
href={callbackUrl !== "" ? `${WEBSITE_URL}/signup?callbackUrl=${callbackUrl}` : `${WEBSITE_URL}/signup`}
className="text-brand-500 font-medium">
{t("dont_have_an_account")} {t("dont_have_an_account")}
</a> </a>
); );
@@ -188,9 +184,6 @@ export default function Login({
? LoginFooter ? LoginFooter
: null : null
}> }>
{isTeamInvite && (
<Alert severity="info" message={t("signin_or_signup_to_accept_invite")} className="mb-4 mt-4" />
)}
<FormProvider {...methods}> <FormProvider {...methods}>
<form onSubmit={methods.handleSubmit(onSubmit)} noValidate data-testid="login-form"> <form onSubmit={methods.handleSubmit(onSubmit)} noValidate data-testid="login-form">
<div> <div>
+3 -8
View File
@@ -7,13 +7,8 @@ import { getPremiumMonthlyPlanPriceId } from "@calcom/app-store/stripepayment/li
import { getServerSession } from "@calcom/features/auth/lib/getServerSession"; import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
import { orgDomainConfig } from "@calcom/features/ee/organizations/lib/orgDomains"; import { orgDomainConfig } from "@calcom/features/ee/organizations/lib/orgDomains";
import stripe from "@calcom/features/ee/payments/server/stripe"; import stripe from "@calcom/features/ee/payments/server/stripe";
import { import { hostedCal, isSAMLLoginEnabled, samlProductID, samlTenantID } from "@calcom/features/ee/sso/lib/saml";
hostedCal, import { ssoTenantProduct } from "@calcom/features/ee/sso/lib/sso";
isSAMLLoginEnabled,
samlProductID,
samlTenantID,
samlTenantProduct,
} from "@calcom/features/ee/sso/lib/saml";
import { checkUsername } from "@calcom/lib/server/checkUsername"; import { checkUsername } from "@calcom/lib/server/checkUsername";
import prisma from "@calcom/prisma"; import prisma from "@calcom/prisma";
@@ -111,7 +106,7 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) =>
error = "Email not provided"; error = "Email not provided";
} else { } else {
try { try {
const ret = await samlTenantProduct(prisma, emailParam); const ret = await ssoTenantProduct(prisma, emailParam);
tenant = ret.tenant; tenant = ret.tenant;
product = ret.product; product = ret.product;
} catch (e) { } catch (e) {
+3 -1
View File
@@ -461,7 +461,7 @@ export default function Success(props: SuccessProps) {
{locationToDisplay && !isCancelled && ( {locationToDisplay && !isCancelled && (
<> <>
<div className="mt-3 font-medium">{t("where")}</div> <div className="mt-3 font-medium">{t("where")}</div>
<div className="col-span-2 mt-3"> <div className="col-span-2 mt-3" data-testid="where">
{locationToDisplay.startsWith("http") ? ( {locationToDisplay.startsWith("http") ? (
<a <a
href={locationToDisplay} href={locationToDisplay}
@@ -917,6 +917,7 @@ const getEventTypesFromDB = async (id: number) => {
metadata: true, metadata: true,
seatsPerTimeSlot: true, seatsPerTimeSlot: true,
seatsShowAttendees: true, seatsShowAttendees: true,
seatsShowAvailabilityCount: true,
periodStartDate: true, periodStartDate: true,
periodEndDate: true, periodEndDate: true,
}, },
@@ -940,6 +941,7 @@ const handleSeatsEventTypeOnBooking = async (
eventType: { eventType: {
seatsPerTimeSlot?: number | null; seatsPerTimeSlot?: number | null;
seatsShowAttendees: boolean | null; seatsShowAttendees: boolean | null;
seatsShowAvailabilityCount: boolean | null;
[x: string | number | symbol]: unknown; [x: string | number | symbol]: unknown;
}, },
bookingInfo: Partial< bookingInfo: Partial<
@@ -113,6 +113,7 @@ export type FormValues = {
periodDates: { startDate: Date; endDate: Date }; periodDates: { startDate: Date; endDate: Date };
seatsPerTimeSlot: number | null; seatsPerTimeSlot: number | null;
seatsShowAttendees: boolean | null; seatsShowAttendees: boolean | null;
seatsShowAvailabilityCount: boolean | null;
seatsPerTimeSlotEnabled: boolean; seatsPerTimeSlotEnabled: boolean;
minimumBookingNotice: number; minimumBookingNotice: number;
minimumBookingNoticeInDurationType: number; minimumBookingNoticeInDurationType: number;
@@ -360,6 +361,7 @@ const EventTypePage = (props: EventTypeSetupProps) => {
afterBufferTime, afterBufferTime,
seatsPerTimeSlot, seatsPerTimeSlot,
seatsShowAttendees, seatsShowAttendees,
seatsShowAvailabilityCount,
bookingLimits, bookingLimits,
durationLimits, durationLimits,
recurringEvent, recurringEvent,
@@ -426,6 +428,7 @@ const EventTypePage = (props: EventTypeSetupProps) => {
durationLimits, durationLimits,
seatsPerTimeSlot, seatsPerTimeSlot,
seatsShowAttendees, seatsShowAttendees,
seatsShowAvailabilityCount,
metadata, metadata,
customInputs, customInputs,
children, children,
@@ -460,6 +463,7 @@ const EventTypePage = (props: EventTypeSetupProps) => {
afterBufferTime, afterBufferTime,
seatsPerTimeSlot, seatsPerTimeSlot,
seatsShowAttendees, seatsShowAttendees,
seatsShowAvailabilityCount,
bookingLimits, bookingLimits,
durationLimits, durationLimits,
recurringEvent, recurringEvent,
@@ -516,6 +520,7 @@ const EventTypePage = (props: EventTypeSetupProps) => {
durationLimits, durationLimits,
seatsPerTimeSlot, seatsPerTimeSlot,
seatsShowAttendees, seatsShowAttendees,
seatsShowAvailabilityCount,
metadata, metadata,
customInputs, customInputs,
}); });
+4 -2
View File
@@ -715,14 +715,16 @@ const EventTypeListHeading = ({
}, },
}); });
const bookerUrl = useBookerUrl(); const bookerUrl = useBookerUrl();
return ( return (
<div className="mb-4 flex items-center space-x-2"> <div className="mb-4 flex items-center space-x-2">
<Avatar <Avatar
alt={profile?.name || ""} alt={profile?.name || ""}
href={teamId ? `/settings/teams/${teamId}/profile` : "/settings/my-account/profile"} href={teamId ? `/settings/teams/${teamId}/profile` : "/settings/my-account/profile"}
imageSrc={ imageSrc={
`${orgBranding?.fullDomain ?? WEBAPP_URL}${teamId ? "/team" : ""}/${profile.slug}/avatar.png` || orgBranding?.fullDomain
undefined ? `${orgBranding.fullDomain}${teamId ? "/team" : ""}/${profile.slug}/avatar.png`
: profile.image
} }
size="md" size="md"
className="mt-1 inline-flex justify-center" className="mt-1 inline-flex justify-center"
+1 -18
View File
@@ -20,19 +20,6 @@ import { RefreshCcw, UserPlus, Users } from "@calcom/ui/components/icon";
import PageWrapper from "@components/PageWrapper"; import PageWrapper from "@components/PageWrapper";
const Heading = () => {
const { t } = useLocale();
return (
<div className="min-w-52 hidden md:block">
<h3 className="font-cal max-w-28 sm:max-w-72 md:max-w-80 text-emphasis truncate text-xl font-semibold tracking-wide xl:max-w-full">
{t("insights")}
</h3>
<p className="text-default mt-2 hidden text-sm md:block">{t("insights_subtitle")}</p>
</div>
);
};
export default function InsightsPage() { export default function InsightsPage() {
const { t } = useLocale(); const { t } = useLocale();
const { data: user } = trpc.viewer.me.useQuery(); const { data: user } = trpc.viewer.me.useQuery();
@@ -57,7 +44,7 @@ export default function InsightsPage() {
return ( return (
<div> <div>
<ShellMain hideHeadingOnMobile> <ShellMain heading="Insights" subtitle={t("insights_subtitle")}>
<UpgradeTip <UpgradeTip
title={t("make_informed_decisions")} title={t("make_informed_decisions")}
description={t("make_informed_decisions_description")} description={t("make_informed_decisions_description")}
@@ -79,10 +66,6 @@ export default function InsightsPage() {
<></> <></>
) : ( ) : (
<FiltersProvider> <FiltersProvider>
<div className="ml-auto mt-0">
<Heading />
</div>
<Filters /> <Filters />
<div className="mb-4 space-y-6"> <div className="mb-4 space-y-6">
@@ -182,6 +182,7 @@ const CalendarsView = () => {
{item.calendars.map((cal) => ( {item.calendars.map((cal) => (
<CalendarSwitch <CalendarSwitch
key={cal.externalId} key={cal.externalId}
credentialId={cal.credentialId}
externalId={cal.externalId} externalId={cal.externalId}
title={cal.name || "Nameless calendar"} title={cal.name || "Nameless calendar"}
name={cal.name || "Nameless calendar"} name={cal.name || "Nameless calendar"}
@@ -107,6 +107,7 @@ const GeneralView = ({ localeProp, user }: GeneralViewProps) => {
}, },
allowDynamicBooking: user.allowDynamicBooking ?? true, allowDynamicBooking: user.allowDynamicBooking ?? true,
allowSEOIndexing: user.allowSEOIndexing ?? true, allowSEOIndexing: user.allowSEOIndexing ?? true,
receiveMonthlyDigestEmail: user.receiveMonthlyDigestEmail ?? true,
}, },
}); });
const { const {
@@ -235,6 +236,23 @@ const GeneralView = ({ localeProp, user }: GeneralViewProps) => {
/> />
</div> </div>
<div className="mt-8">
<Controller
name="receiveMonthlyDigestEmail"
control={formMethods.control}
render={() => (
<SettingsToggle
title={t("monthly_digest_email")}
description={t("monthly_digest_email_for_teams")}
checked={formMethods.getValues("receiveMonthlyDigestEmail")}
onCheckedChange={(checked) => {
formMethods.setValue("receiveMonthlyDigestEmail", checked, { shouldDirty: true });
}}
/>
)}
/>
</div>
<Button <Button
loading={mutation.isLoading} loading={mutation.isLoading}
disabled={isDisabled} disabled={isDisabled}
+64 -32
View File
@@ -13,7 +13,6 @@ import { isSAMLLoginEnabled } from "@calcom/features/ee/sso/lib/saml";
import { useFlagMap } from "@calcom/features/flags/context/provider"; import { useFlagMap } from "@calcom/features/flags/context/provider";
import { getFeatureFlagMap } from "@calcom/features/flags/server/utils"; import { getFeatureFlagMap } from "@calcom/features/flags/server/utils";
import { IS_SELF_HOSTED, WEBAPP_URL } from "@calcom/lib/constants"; import { IS_SELF_HOSTED, WEBAPP_URL } from "@calcom/lib/constants";
import { getSafeRedirectUrl } from "@calcom/lib/getSafeRedirectUrl";
import { useLocale } from "@calcom/lib/hooks/useLocale"; import { useLocale } from "@calcom/lib/hooks/useLocale";
import slugify from "@calcom/lib/slugify"; import slugify from "@calcom/lib/slugify";
import { collectPageParameters, telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry"; import { collectPageParameters, telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry";
@@ -35,24 +34,25 @@ type FormValues = z.infer<typeof signupSchema>;
type SignupProps = inferSSRProps<typeof getServerSideProps>; type SignupProps = inferSSRProps<typeof getServerSideProps>;
const getSafeCallbackUrl = (url: string | null) => { const checkValidEmail = (email: string) => z.string().email().safeParse(email).success;
if (!url) return null;
let callbackUrl = url; const getOrgUsernameFromEmail = (email: string, autoAcceptEmailDomain: string) => {
const [emailUser, emailDomain] = email.split("@");
const username =
emailDomain === autoAcceptEmailDomain
? slugify(emailUser)
: slugify(`${emailUser}-${emailDomain.split(".")[0]}`);
if (/"\//.test(callbackUrl)) callbackUrl = callbackUrl.substring(1); return username;
// If not absolute URL, make it absolute
if (!/^https?:\/\//.test(callbackUrl)) {
callbackUrl = `${WEBAPP_URL}/${callbackUrl}`;
}
const safeCallbackUrl = getSafeRedirectUrl(callbackUrl);
return safeCallbackUrl;
}; };
export default function Signup({ prepopulateFormValues, token, orgSlug }: SignupProps) { function addOrUpdateQueryParam(url: string, key: string, value: string) {
const separator = url.includes("?") ? "&" : "?";
const param = `${key}=${encodeURIComponent(value)}`;
return `${url}${separator}${param}`;
}
export default function Signup({ prepopulateFormValues, token, orgSlug, orgAutoAcceptEmail }: SignupProps) {
const searchParams = useSearchParams(); const searchParams = useSearchParams();
const telemetry = useTelemetry(); const telemetry = useTelemetry();
const { t, i18n } = useLocale(); const { t, i18n } = useLocale();
@@ -73,7 +73,8 @@ export default function Signup({ prepopulateFormValues, token, orgSlug }: Signup
throw new Error(err.message); throw new Error(err.message);
} }
}; };
const callbackUrl = getSafeCallbackUrl(searchParams.get("callbackUrl"));
const isOrgInviteByLink = orgSlug && !prepopulateFormValues?.username;
const signUp: SubmitHandler<FormValues> = async (data) => { const signUp: SubmitHandler<FormValues> = async (data) => {
await fetch("/api/auth/signup", { await fetch("/api/auth/signup", {
@@ -91,10 +92,17 @@ export default function Signup({ prepopulateFormValues, token, orgSlug }: Signup
.then(async () => { .then(async () => {
telemetry.event(telemetryEventTypes.signup, collectPageParameters()); telemetry.event(telemetryEventTypes.signup, collectPageParameters());
const verifyOrGettingStarted = flags["email-verification"] ? "auth/verify-email" : "getting-started"; const verifyOrGettingStarted = flags["email-verification"] ? "auth/verify-email" : "getting-started";
const callBackUrl = `${
searchParams?.get("callbackUrl")
? isOrgInviteByLink
? `${WEBAPP_URL}/${searchParams.get("callbackUrl")}`
: addOrUpdateQueryParam(`${WEBAPP_URL}/${searchParams.get("callbackUrl")}`, "from", "signup")
: `${WEBAPP_URL}/${verifyOrGettingStarted}?from=signup`
}`;
await signIn<"credentials">("credentials", { await signIn<"credentials">("credentials", {
...data, ...data,
callbackUrl: `${callbackUrl ? callbackUrl : `${WEBAPP_URL}/${verifyOrGettingStarted}`}?from=signup`, callbackUrl: callBackUrl,
}); });
}) })
.catch((err) => { .catch((err) => {
@@ -134,21 +142,31 @@ export default function Signup({ prepopulateFormValues, token, orgSlug }: Signup
if (methods.formState?.errors?.apiError) { if (methods.formState?.errors?.apiError) {
methods.clearErrors("apiError"); methods.clearErrors("apiError");
} }
if (methods.getValues().username === undefined && isOrgInviteByLink && orgAutoAcceptEmail) {
methods.setValue(
"username",
getOrgUsernameFromEmail(methods.getValues().email, orgAutoAcceptEmail)
);
}
methods.handleSubmit(signUp)(event); methods.handleSubmit(signUp)(event);
}} }}
className="bg-default space-y-6"> className="bg-default space-y-6">
{errors.apiError && <Alert severity="error" message={errors.apiError?.message} />} {errors.apiError && <Alert severity="error" message={errors.apiError?.message} />}
{}
<div className="space-y-4"> <div className="space-y-4">
<TextField {!isOrgInviteByLink && (
addOnLeading={ <TextField
orgSlug addOnLeading={
? `${getOrgFullDomain(orgSlug, { protocol: true })}/` orgSlug
: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/` ? `${getOrgFullDomain(orgSlug, { protocol: true })}/`
} : `${process.env.NEXT_PUBLIC_WEBSITE_URL}/`
{...register("username")} }
disabled={!!orgSlug} {...register("username")}
required disabled={!!orgSlug}
/> required
/>
)}
<EmailField <EmailField
{...register("email")} {...register("email")}
disabled={prepopulateFormValues?.email} disabled={prepopulateFormValues?.email}
@@ -173,7 +191,9 @@ export default function Signup({ prepopulateFormValues, token, orgSlug }: Signup
className="w-full justify-center" className="w-full justify-center"
onClick={() => onClick={() =>
signIn("Cal.com", { signIn("Cal.com", {
callbackUrl: callbackUrl ? callbackUrl : `${WEBAPP_URL}/getting-started`, callbackUrl: searchParams?.get("callbackUrl")
? `${WEBAPP_URL}/${searchParams.get("callbackUrl")}`
: `${WEBAPP_URL}/getting-started`,
}) })
}> }>
{t("login_instead")} {t("login_instead")}
@@ -227,6 +247,7 @@ export const getServerSideProps = async (ctx: GetServerSidePropsContext) => {
parent: { parent: {
select: { select: {
slug: true, slug: true,
metadata: true,
}, },
}, },
slug: true, slug: true,
@@ -292,15 +313,26 @@ export const getServerSideProps = async (ctx: GetServerSidePropsContext) => {
username = available ? username : suggestion || username; username = available ? username : suggestion || username;
} }
const isValidEmail = checkValidEmail(verificationToken.identifier);
const isOrgInviteByLink = isOrganization && !isValidEmail;
const parentMetaDataForSubteam = tokenTeam?.parent?.metadata
? teamMetadataSchema.parse(tokenTeam.parent.metadata)
: null;
return { return {
props: { props: {
...props, ...props,
token, token,
prepopulateFormValues: { prepopulateFormValues: !isOrgInviteByLink
email: verificationToken.identifier, ? {
username: slugify(username), email: verificationToken.identifier,
}, username: slugify(username),
}
: null,
orgSlug, orgSlug,
orgAutoAcceptEmail: isOrgInviteByLink
? tokenTeam?.metadata?.orgAutoAcceptEmail ?? parentMetaDataForSubteam?.orgAutoAcceptEmail ?? null
: null,
}, },
}; };
}; };
+11 -7
View File
@@ -153,11 +153,9 @@ function TeamPage({ team, isUnpublished, markdownStrippedBio, isValidOrgDomain }
) : ( ) : (
<div className="space-y-6" data-testid="event-types"> <div className="space-y-6" data-testid="event-types">
<div className="overflow-hidden rounded-sm border dark:border-gray-900"> <div className="overflow-hidden rounded-sm border dark:border-gray-900">
<div className="text-muted dark:text-inverted p-8 text-center"> <div className="text-muted p-8 text-center">
<h2 className="font-cal dark:text-inverted text-emphasis600 mb-2 text-3xl"> <h2 className="font-cal text-emphasis mb-2 text-3xl">{" " + t("org_no_teams_yet")}</h2>
{" " + t("org_no_teams_yet")} <p className="text-emphasis mx-auto max-w-md">{t("org_no_teams_yet_description")}</p>
</h2>
<p className="mx-auto max-w-md">{t("org_no_teams_yet_description")}</p>
</div> </div>
</div> </div>
</div> </div>
@@ -212,7 +210,7 @@ function TeamPage({ team, isUnpublished, markdownStrippedBio, isValidOrgDomain }
<EventTypes /> <EventTypes />
{/* Hide "Book a team member button when team is private or hideBookATeamMember is true" */} {/* Hide "Book a team member button when team is private or hideBookATeamMember is true" */}
{(!team.hideBookATeamMember || team.isPrivate) && ( {!team.hideBookATeamMember && !team.isPrivate && (
<div> <div>
<div className="relative mt-12"> <div className="relative mt-12">
<div className="absolute inset-0 flex items-center" aria-hidden="true"> <div className="absolute inset-0 flex items-center" aria-hidden="true">
@@ -314,7 +312,13 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) =>
const safeBio = markdownToSafeHTML(team.bio) || ""; const safeBio = markdownToSafeHTML(team.bio) || "";
const members = team.members.map((member) => { const members = team.members.map((member) => {
return { ...member, safeBio: markdownToSafeHTML(member.bio || "") }; return {
name: member.name,
id: member.id,
bio: member.bio,
username: member.username,
safeBio: markdownToSafeHTML(member.bio || ""),
};
}); });
const markdownStrippedBio = stripMarkdown(team?.bio || ""); const markdownStrippedBio = stripMarkdown(team?.bio || "");
+3 -5
View File
@@ -5,7 +5,6 @@ import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
import { TeamsListing } from "@calcom/features/ee/teams/components"; import { TeamsListing } from "@calcom/features/ee/teams/components";
import { ShellMain } from "@calcom/features/shell/Shell"; import { ShellMain } from "@calcom/features/shell/Shell";
import { WEBAPP_URL } from "@calcom/lib/constants"; import { WEBAPP_URL } from "@calcom/lib/constants";
import { getSafeRedirectUrl } from "@calcom/lib/getSafeRedirectUrl";
import { useLocale } from "@calcom/lib/hooks/useLocale"; import { useLocale } from "@calcom/lib/hooks/useLocale";
import { trpc } from "@calcom/trpc/react"; import { trpc } from "@calcom/trpc/react";
import { Button } from "@calcom/ui"; import { Button } from "@calcom/ui";
@@ -44,15 +43,14 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) =>
const ssr = await ssrInit(context); const ssr = await ssrInit(context);
await ssr.viewer.me.prefetch(); await ssr.viewer.me.prefetch();
const session = await getServerSession({ req: context.req, res: context.res }); const session = await getServerSession({ req: context.req, res: context.res });
const token = context.query?.token; const token = Array.isArray(context.query?.token) ? context.query.token[0] : context.query?.token;
const resolvedUrl = context.resolvedUrl;
const callbackUrl = token ? getSafeRedirectUrl(`${WEBAPP_URL}${resolvedUrl}`) : null; const callbackUrl = token ? `/teams?token=${encodeURIComponent(token)}` : null;
if (!session) { if (!session) {
return { return {
redirect: { redirect: {
destination: callbackUrl ? `/auth/login?callbackUrl=${callbackUrl}&teamInvite=true` : "/auth/login", destination: callbackUrl ? `/auth/login?callbackUrl=${callbackUrl}` : "/auth/login",
permanent: false, permanent: false,
}, },
props: {}, props: {},
+15 -7
View File
@@ -142,17 +142,25 @@ test.describe("Event Types tests", () => {
.first() .first()
.getAttribute("href"); .getAttribute("href");
/**
* Verify first organizer address
*/
await page.goto(previewLink ?? ""); await page.goto(previewLink ?? "");
await selectFirstAvailableTimeSlotNextMonth(page); await selectFirstAvailableTimeSlotNextMonth(page);
await page.locator(`span:has-text("${locationData[0]}")`).click();
for (const location of locationData) {
await page.locator(`span:has-text("${location}")`).click();
}
await bookTimeSlot(page); await bookTimeSlot(page);
await expect(page.locator("[data-testid=success-page]")).toBeVisible(); await expect(page.locator("[data-testid=success-page]")).toBeVisible();
await expect(page.locator(`[data-testid="where"]`)).toHaveText(locationData[0]);
/**
* Verify second organizer address
*/
await page.goto(previewLink ?? "");
await selectFirstAvailableTimeSlotNextMonth(page);
await page.locator(`span:has-text("${locationData[1]}")`).click();
await bookTimeSlot(page);
await expect(page.locator("[data-testid=success-page]")).toBeVisible();
await expect(page.locator(`[data-testid="where"]`)).toHaveText(locationData[1]);
}); });
test.describe("Different Locations Tests", () => { test.describe("Different Locations Tests", () => {
+2 -2
View File
@@ -438,7 +438,7 @@ const createUserFixture = (user: UserWithIncludes, page: Page) => {
type SupportedTestEventTypes = PrismaType.EventTypeCreateInput & { type SupportedTestEventTypes = PrismaType.EventTypeCreateInput & {
_bookings?: PrismaType.BookingCreateInput[]; _bookings?: PrismaType.BookingCreateInput[];
}; };
type CustomUserOptsKeys = "username" | "password" | "completedOnboarding" | "locale" | "name"; type CustomUserOptsKeys = "username" | "password" | "completedOnboarding" | "locale" | "name" | "email";
type CustomUserOpts = Partial<Pick<Prisma.User, CustomUserOptsKeys>> & { type CustomUserOpts = Partial<Pick<Prisma.User, CustomUserOptsKeys>> & {
timeZone?: TimeZoneEnum; timeZone?: TimeZoneEnum;
eventTypes?: SupportedTestEventTypes[]; eventTypes?: SupportedTestEventTypes[];
@@ -457,7 +457,7 @@ const createUser = (workerInfo: WorkerInfo, opts?: CustomUserOpts | null): Prism
return { return {
username: uname, username: uname,
name: opts?.name, name: opts?.name,
email: `${uname}@example.com`, email: opts?.email ?? `${uname}@example.com`,
password: hashPassword(uname), password: hashPassword(uname),
emailVerified: new Date(), emailVerified: new Date(),
completedOnboarding: opts?.completedOnboarding ?? true, completedOnboarding: opts?.completedOnboarding ?? true,
+3 -2
View File
@@ -4,6 +4,7 @@ import { authenticator } from "otplib";
import { symmetricDecrypt } from "@calcom/lib/crypto"; import { symmetricDecrypt } from "@calcom/lib/crypto";
import { totpAuthenticatorCheck } from "@calcom/lib/totp"; import { totpAuthenticatorCheck } from "@calcom/lib/totp";
import { prisma } from "@calcom/prisma";
import { test } from "./lib/fixtures"; import { test } from "./lib/fixtures";
@@ -61,7 +62,7 @@ test.describe("2FA Tests", async () => {
await test.step("Login with 2FA enabled", async () => { await test.step("Login with 2FA enabled", async () => {
await user.login(); await user.login();
const userWith2FaSecret = await prisma?.user.findFirst({ const userWith2FaSecret = await prisma.user.findFirst({
where: { where: {
id: user.id, id: user.id,
}, },
@@ -138,7 +139,7 @@ test.describe("2FA Tests", async () => {
await page.click(`[data-testid=two-factor-switch][data-state="checked"]`); await page.click(`[data-testid=two-factor-switch][data-state="checked"]`);
await page.fill('input[name="password"]', userPassword); await page.fill('input[name="password"]', userPassword);
const userWith2FaSecret = await prisma?.user.findFirst({ const userWith2FaSecret = await prisma.user.findFirst({
where: { where: {
id: user.id, id: user.id,
}, },
@@ -135,6 +135,43 @@ test.describe("Manage Booking Questions", () => {
}); });
}); });
}); });
await test.step("Verify that we can prefill name field with no lastname", async () => {
const searchParams = new URLSearchParams();
searchParams.append("name", "FirstName");
await doOnFreshPreviewWithSearchParams(searchParams, page, context, async (page) => {
await selectFirstAvailableTimeSlotNextMonth(page);
await expectSystemFieldsToBeThereOnBookingPage({
page,
isFirstAndLastNameVariant: true,
values: {
name: {
firstName: "FirstName",
lastName: "",
},
},
});
});
});
await test.step("Verify that we can prefill name field with firstName,lastName query params", async () => {
const searchParams = new URLSearchParams();
searchParams.append("firstName", "John");
searchParams.append("lastName", "Doe");
await doOnFreshPreviewWithSearchParams(searchParams, page, context, async (page) => {
await selectFirstAvailableTimeSlotNextMonth(page);
await expectSystemFieldsToBeThereOnBookingPage({
page,
isFirstAndLastNameVariant: true,
values: {
name: {
firstName: "John",
lastName: "Doe",
},
},
});
});
});
}); });
}); });
@@ -506,6 +543,27 @@ async function doOnFreshPreview(
return previewTabPage; return previewTabPage;
} }
async function doOnFreshPreviewWithSearchParams(
searchParams: URLSearchParams,
page: Page,
context: PlaywrightTestArgs["context"],
callback: (page: Page) => Promise<void>,
persistTab = false
) {
const previewUrl = (await page.locator('[data-testid="preview-button"]').getAttribute("href")) || "";
const previewUrlObj = new URL(previewUrl);
searchParams.forEach((value, key) => {
previewUrlObj.searchParams.append(key, value);
});
const previewTabPage = await context.newPage();
await previewTabPage.goto(previewUrlObj.toString());
await callback(previewTabPage);
if (!persistTab) {
await previewTabPage.close();
}
return previewTabPage;
}
async function toggleQuestionAndSave({ name, page }: { name: string; page: Page }) { async function toggleQuestionAndSave({ name, page }: { name: string; page: Page }) {
await page.locator(`[data-testid="field-${name}"]`).locator('[data-testid="toggle-field"]').click(); await page.locator(`[data-testid="field-${name}"]`).locator('[data-testid="toggle-field"]').click();
await saveEventType(page); await saveEventType(page);
+71
View File
@@ -0,0 +1,71 @@
/* eslint-disable @typescript-eslint/no-non-null-assertion */
import { test } from "./lib/fixtures";
const SAML_DATABASE_URL = process.env.SAML_DATABASE_URL!;
const SAML_ADMINS = process.env.SAML_ADMINS!;
const SAML_ADMIN_EMAIL = process.env.E2E_TEST_SAML_ADMIN_EMAIL!;
const SAML_ADMIN_PASSWORD = process.env.E2E_TEST_SAML_ADMIN_PASSWORD!;
const OIDC_CLIENT_ID = process.env.E2E_TEST_OIDC_CLIENT_ID!;
const OIDC_CLIENT_SECRET = process.env.E2E_TEST_OIDC_CLIENT_SECRET!;
const OIDC_PROVIDER_DOMAIN = process.env.E2E_TEST_OIDC_PROVIDER_DOMAIN!;
const OIDC_USER_EMAIL = process.env.E2E_TEST_OIDC_USER_EMAIL!;
const OIDC_USER_PASSWORD = process.env.E2E_TEST_OIDC_USER_PASSWORD!;
const SHOULD_SKIP_TESTS =
!SAML_DATABASE_URL ||
!SAML_ADMINS ||
!SAML_ADMIN_EMAIL ||
!SAML_ADMIN_PASSWORD ||
!OIDC_CLIENT_ID ||
!OIDC_CLIENT_SECRET ||
!OIDC_PROVIDER_DOMAIN ||
!OIDC_USER_EMAIL ||
!OIDC_USER_PASSWORD;
test.afterEach(({ users }) => users.deleteAll());
// TODO: Cleanup the OIDC connection after the tests with fixtures
test.describe("OIDC", () => {
// eslint-disable-next-line playwright/no-skipped-test
test.skip(SHOULD_SKIP_TESTS, "Skipping due to missing the testing variables");
test("Setup with SAML admin and login", async ({ page, users }) => {
// Add the admin user provided in the environment variables to the db
const samlAdminUser = await users.create({ email: SAML_ADMIN_EMAIL, password: SAML_ADMIN_PASSWORD });
await samlAdminUser.apiLogin();
await test.step("Connect with OIDC Provider", async () => {
await page.goto("/settings/security/sso");
await page.click('[data-testid="sso-oidc-configure"]');
await page.fill('[data-testid="sso-oidc-client-id"]', OIDC_CLIENT_ID);
await page.fill('[data-testid="sso-oidc-client-secret"]', OIDC_CLIENT_SECRET);
await page.fill(
'[data-testid="sso-oidc-well-known-url"]',
`https://${OIDC_PROVIDER_DOMAIN}/.well-known/openid-configuration`
);
await page.click('[data-testid="sso-oidc-save"]');
await page.waitForSelector('[data-testid="toast-success"]');
});
// Logout the SAML Admin
await samlAdminUser.logout();
await test.step("Login using the OIDC provider", async () => {
// Login a user using the OIDC provider.
// The credentials are handled by the provider, so we don't need to create a user in the db.
await page.goto("/auth/login");
await page.click('[data-testid="saml"]');
// Redirected outide of the app, the user would be redirected to the OIDC provider.
await page.waitForURL(/https:\/\/[^/]+\/oauth2\/v1\/authorize\?.*/);
await page.getByRole("textbox", { name: "Username" }).fill(OIDC_USER_EMAIL);
await page.getByRole("textbox", { name: "Password" }).fill(OIDC_USER_PASSWORD);
await page.getByRole("button", { name: "Sign in" }).click();
// The user is redirected back to the app.
await page.waitForURL("getting-started", { waitUntil: "load" });
});
// Logout the user.
await page.goto("/auth/logout");
await test.step("Disconnect OIDC Provider", async () => {
samlAdminUser.apiLogin();
await page.goto("/settings/security/sso", { waitUntil: "load" });
await page.getByTestId("delete-oidc-sso-connection").click();
await page.getByRole("button", { name: "Yes, delete OIDC configuration" }).click();
await page.waitForSelector('[data-testid="toast-success"]');
});
});
});
+6 -6
View File
@@ -9,7 +9,7 @@ test.describe.configure({ mode: "parallel" });
const title = (name: string) => `${name} is unpublished`; const title = (name: string) => `${name} is unpublished`;
const description = (entity: string) => const description = (entity: string) =>
`This ${entity} link is currently not available. Please contact the ${entity} owner or ask them to publish it.`; `This ${entity} link is currently not available. Please contact the ${entity} owner or ask them to publish it.`;
const avatar = (slug: string) => `/team/${slug}/avatar.png`; const avatar = (slug: string, entity = "team") => `/${entity}/${slug}/avatar.png`;
test.afterAll(async ({ users }) => { test.afterAll(async ({ users }) => {
await users.deleteAll(); await users.deleteAll();
@@ -52,7 +52,7 @@ test.describe("Unpublished", () => {
expect(await page.locator('[data-testid="empty-screen"]').count()).toBe(1); expect(await page.locator('[data-testid="empty-screen"]').count()).toBe(1);
expect(await page.locator(`h2:has-text("${title(org.name)}")`).count()).toBe(1); expect(await page.locator(`h2:has-text("${title(org.name)}")`).count()).toBe(1);
expect(await page.locator(`div:text("${description("organization")}")`).count()).toBe(1); expect(await page.locator(`div:text("${description("organization")}")`).count()).toBe(1);
await expect(page.locator(`img`)).toHaveAttribute("src", avatar(requestedSlug)); await expect(page.locator(`img`)).toHaveAttribute("src", avatar(requestedSlug, "org"));
}); });
test("Organization sub-team", async ({ users, page }) => { test("Organization sub-team", async ({ users, page }) => {
@@ -70,7 +70,7 @@ test.describe("Unpublished", () => {
expect(await page.locator('[data-testid="empty-screen"]').count()).toBe(1); expect(await page.locator('[data-testid="empty-screen"]').count()).toBe(1);
expect(await page.locator(`h2:has-text("${title(org.name)}")`).count()).toBe(1); expect(await page.locator(`h2:has-text("${title(org.name)}")`).count()).toBe(1);
expect(await page.locator(`div:text("${description("organization")}")`).count()).toBe(1); expect(await page.locator(`div:text("${description("organization")}")`).count()).toBe(1);
await expect(page.locator(`img`)).toHaveAttribute("src", avatar(requestedSlug)); await expect(page.locator(`img`)).toHaveAttribute("src", avatar(requestedSlug, "org"));
}); });
test("Organization sub-team event-type", async ({ users, page }) => { test("Organization sub-team event-type", async ({ users, page }) => {
@@ -90,7 +90,7 @@ test.describe("Unpublished", () => {
expect(await page.locator('[data-testid="empty-screen"]').count()).toBe(1); expect(await page.locator('[data-testid="empty-screen"]').count()).toBe(1);
expect(await page.locator(`h2:has-text("${title(org.name)}")`).count()).toBe(1); expect(await page.locator(`h2:has-text("${title(org.name)}")`).count()).toBe(1);
expect(await page.locator(`div:text("${description("organization")}")`).count()).toBe(1); expect(await page.locator(`div:text("${description("organization")}")`).count()).toBe(1);
await expect(page.locator(`img`)).toHaveAttribute("src", avatar(requestedSlug)); await expect(page.locator(`img`)).toHaveAttribute("src", avatar(requestedSlug, "org"));
}); });
test("Organization user", async ({ users, page }) => { test("Organization user", async ({ users, page }) => {
@@ -102,7 +102,7 @@ test.describe("Unpublished", () => {
expect(await page.locator('[data-testid="empty-screen"]').count()).toBe(1); expect(await page.locator('[data-testid="empty-screen"]').count()).toBe(1);
expect(await page.locator(`h2:has-text("${title(org.name)}")`).count()).toBe(1); expect(await page.locator(`h2:has-text("${title(org.name)}")`).count()).toBe(1);
expect(await page.locator(`div:text("${description("organization")}")`).count()).toBe(1); expect(await page.locator(`div:text("${description("organization")}")`).count()).toBe(1);
await expect(page.locator(`img`)).toHaveAttribute("src", avatar(requestedSlug)); await expect(page.locator(`img`)).toHaveAttribute("src", avatar(requestedSlug, "org"));
}); });
test("Organization user event-type", async ({ users, page }) => { test("Organization user event-type", async ({ users, page }) => {
@@ -115,6 +115,6 @@ test.describe("Unpublished", () => {
expect(await page.locator('[data-testid="empty-screen"]').count()).toBe(1); expect(await page.locator('[data-testid="empty-screen"]').count()).toBe(1);
expect(await page.locator(`h2:has-text("${title(org.name)}")`).count()).toBe(1); expect(await page.locator(`h2:has-text("${title(org.name)}")`).count()).toBe(1);
expect(await page.locator(`div:text("${description("organization")}")`).count()).toBe(1); expect(await page.locator(`div:text("${description("organization")}")`).count()).toBe(1);
await expect(page.locator(`img`)).toHaveAttribute("src", avatar(requestedSlug)); await expect(page.locator(`img`)).toHaveAttribute("src", avatar(requestedSlug, "org"));
}); });
}); });
@@ -17,9 +17,15 @@
"verify_email_banner_body": "قم بتأكيد عنوان بريدك الإلكتروني لضمان أفضل تسليم للبريد الإلكتروني والتقويم", "verify_email_banner_body": "قم بتأكيد عنوان بريدك الإلكتروني لضمان أفضل تسليم للبريد الإلكتروني والتقويم",
"verify_email_email_header": "تأكيد عنوان بريدك الإلكتروني", "verify_email_email_header": "تأكيد عنوان بريدك الإلكتروني",
"verify_email_email_button": "تأكيد البريد الإلكتروني", "verify_email_email_button": "تأكيد البريد الإلكتروني",
"copy_somewhere_safe": "احتفظ بمفتاح API هذا في مكانٍ آمن، لأنك لن تتمكن من الاطلاع عليه هنا ثانيةً.",
"verify_email_email_body": "الرجاء تأكيد عنوان بريدك الإلكتروني بالنقر فوق الزر أدناه.", "verify_email_email_body": "الرجاء تأكيد عنوان بريدك الإلكتروني بالنقر فوق الزر أدناه.",
"verify_email_by_code_email_body": "الرجاء تأكيد عنوان بريدك الإلكتروني عبر استخدام الرمز أدناه.",
"verify_email_email_link_text": "إليك الرابط في حال لم تكن ترغب بالنقر فوق أي أزرار:", "verify_email_email_link_text": "إليك الرابط في حال لم تكن ترغب بالنقر فوق أي أزرار:",
"email_verification_code": "الرجاء إدخال رمز التأكيد",
"email_verification_code_placeholder": "الرجاء إدخال رمز التأكيد الذي أُرسل إلى بريدك الإلكتروني",
"incorrect_email_verification_code": "رمز التأكيد غير صحيح.",
"email_sent": "تم إرسال الرسالة الإلكترونية بنجاح", "email_sent": "تم إرسال الرسالة الإلكترونية بنجاح",
"email_not_sent": "حدث خطأ أثناء إرسال الرسالة الإلكترونية",
"event_declined_subject": "تم الرفض: {{title}} في {{date}}", "event_declined_subject": "تم الرفض: {{title}} في {{date}}",
"event_cancelled_subject": "تم الإلغاء: {{title}} في {{date}}", "event_cancelled_subject": "تم الإلغاء: {{title}} في {{date}}",
"event_request_declined": "تم رفض طلب الحدث الخاص بك", "event_request_declined": "تم رفض طلب الحدث الخاص بك",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "الحدث المتكرر في انتظار موافقتك", "event_awaiting_approval_recurring": "الحدث المتكرر في انتظار موافقتك",
"someone_requested_an_event": "طلب شخص ما جدولة حدث في تقويمك.", "someone_requested_an_event": "طلب شخص ما جدولة حدث في تقويمك.",
"someone_requested_password_reset": "طلب شخص ما رابطا لتغيير كلمة المرور الخاصة بك.", "someone_requested_password_reset": "طلب شخص ما رابطا لتغيير كلمة المرور الخاصة بك.",
"password_reset_email_sent": "يجب أن تتلقى رسالة إلكترونية حول إعادة التعيين على هذا البريد الإلكتروني إذا كان موجوداً في نظامنا.",
"password_reset_instructions": "إذا لم تطلب هذا، يمكنك تجاهل هذا البريد الإلكتروني بأمان ولن يتم تغيير كلمة المرور الخاصة بك.", "password_reset_instructions": "إذا لم تطلب هذا، يمكنك تجاهل هذا البريد الإلكتروني بأمان ولن يتم تغيير كلمة المرور الخاصة بك.",
"event_awaiting_approval_subject": "في انتظار الموافقة: {{title}} في {{date}}", "event_awaiting_approval_subject": "في انتظار الموافقة: {{title}} في {{date}}",
"event_still_awaiting_approval": "الحدث لا يزال في انتظار موافقتك", "event_still_awaiting_approval": "الحدث لا يزال في انتظار موافقتك",
@@ -217,6 +224,10 @@
"already_have_an_account": "هل لديك حساب بالفعل؟", "already_have_an_account": "هل لديك حساب بالفعل؟",
"create_account": "إنشاء حساب", "create_account": "إنشاء حساب",
"confirm_password": "تأكيد كلمة المرور", "confirm_password": "تأكيد كلمة المرور",
"confirm_auth_change": "سيتسبب هذا في تغيير طريقة تسجيلك للدخول",
"confirm_auth_email_change": "سيتسبب تغيير عنوان بريدك الإلكتروني في إنهاء طريقة المصادقة الحالية لتسجيل الدخول إلى Cal.com. وسنطلب منك تأكيد عنوان بريدك الإلكتروني الجديد، ثم سيتم تسجيل الخروج وسيتوجب عليك استخدام عنوان البريد الإلكتروني الجديد لتسجيل الدخول بدلاً من طريقة المصادقة الحالية بعد إعادة ضبط كلمة المرور لديك باتباع التعليمات التي ستُرسل إلى بريدك الإلكتروني.",
"reset_your_password": "عيّن كلمة المرور الجديدة متبعاً الإرشادات المرسلة إلى عنوان بريدك الإلكتروني.",
"email_change": "سجّل الدخول ثانيةً باستخدام عنوان بريدك الإلكتروني الجديد وكلمة مرور.",
"create_your_account": "إنشاء حسابك", "create_your_account": "إنشاء حسابك",
"sign_up": "تسجيل الاشتراك", "sign_up": "تسجيل الاشتراك",
"youve_been_logged_out": "لقد قمت بتسجيل الخروج", "youve_been_logged_out": "لقد قمت بتسجيل الخروج",
@@ -243,6 +254,10 @@
"all": "الكل", "all": "الكل",
"yours": "حسابك", "yours": "حسابك",
"available_apps": "التطبيقات المتوفرة", "available_apps": "التطبيقات المتوفرة",
"available_apps_lower_case": "التطبيقات المتوفرة",
"available_apps_desc": "ليس لديك تطبيقات مثبّتة. تصفّح التطبيقات ذات الشعبية أدناه واستكشف المزيد في <1>متجر التطبيقات</1>",
"fixed_host_helper": "أضف أي شخص بحاجة إلى ارتياد الفعالية. <1>اعرف المزيد</1>",
"round_robin_helper": "سيتناوب الأشخاص ضمن المجموعة على الحضور بحيث سيحضر شخص واحد الفعالية في كل مرة.",
"check_email_reset_password": "تحقق من البريد الإلكتروني. لقد أرسلنا رابطًا لإعادة تعيين كلمة المرور.", "check_email_reset_password": "تحقق من البريد الإلكتروني. لقد أرسلنا رابطًا لإعادة تعيين كلمة المرور.",
"finish": "إنهاء", "finish": "إنهاء",
"organization_general_description": "إدارة الإعدادات للغة فريقك ومنطقته الزمنية", "organization_general_description": "إدارة الإعدادات للغة فريقك ومنطقته الزمنية",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "وأخيرًا، يساعدك الوصف الموجز عنك والصورة في الحصول على الحجوزات والسماح للأشخاص بمعرفة الشخص الذين يحجزون معه.", "nearly_there_instructions": "وأخيرًا، يساعدك الوصف الموجز عنك والصورة في الحصول على الحجوزات والسماح للأشخاص بمعرفة الشخص الذين يحجزون معه.",
"set_availability_instructions": "حدد الفترات الزمنية التي تكون متاحًا فيها بشكل متكرر. يمكنك لاحقًا تحديد المزيد منها وربطها مع تقاويم مختلفة.", "set_availability_instructions": "حدد الفترات الزمنية التي تكون متاحًا فيها بشكل متكرر. يمكنك لاحقًا تحديد المزيد منها وربطها مع تقاويم مختلفة.",
"set_availability": "تحديد الوقت الذي تكون فيه متاحًا", "set_availability": "تحديد الوقت الذي تكون فيه متاحًا",
"availability_settings": "إعدادات التوافرية",
"continue_without_calendar": "المتابعة من دون تقويم", "continue_without_calendar": "المتابعة من دون تقويم",
"connect_your_calendar": "ربط التقويم لديك", "connect_your_calendar": "ربط التقويم لديك",
"connect_your_video_app": "اربط تطبيقات الفيديو لديك", "connect_your_video_app": "اربط تطبيقات الفيديو لديك",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "روابط الحجز الجماعية التي يمكن إنشاؤها ديناميكيًا عن طريق إضافة أسماء مستخدمين متعددة باستخدام \"+\". مثال: \"{{appName}}/bailey+peer\"", "allow_dynamic_booking_tooltip": "روابط الحجز الجماعية التي يمكن إنشاؤها ديناميكيًا عن طريق إضافة أسماء مستخدمين متعددة باستخدام \"+\". مثال: \"{{appName}}/bailey+peer\"",
"allow_dynamic_booking": "السماح للحضور بالحجز لك عن طريق حجز المجموعات الديناميكي", "allow_dynamic_booking": "السماح للحضور بالحجز لك عن طريق حجز المجموعات الديناميكي",
"dynamic_booking": "روابط المجموعة الديناميكية", "dynamic_booking": "روابط المجموعة الديناميكية",
"allow_seo_indexing": "السماح لمحركات البحث بالوصول إلى المحتوى العام لديك",
"seo_indexing": "السماح بالفهرسة وفق SEO",
"email": "البريد الإلكتروني", "email": "البريد الإلكتروني",
"email_placeholder": "name@example.com", "email_placeholder": "name@example.com",
"full_name": "الاسم بالكامل", "full_name": "الاسم بالكامل",
@@ -406,6 +424,7 @@
"booking_requested": "تم طلب الحجز", "booking_requested": "تم طلب الحجز",
"meeting_ended": "انتهى الاجتماع", "meeting_ended": "انتهى الاجتماع",
"form_submitted": "تم إرسال النموذج", "form_submitted": "تم إرسال النموذج",
"booking_paid": "تم الدفع لقاء الحجز",
"event_triggers": "مشغلات الحدث", "event_triggers": "مشغلات الحدث",
"subscriber_url": "رابط المشترك", "subscriber_url": "رابط المشترك",
"create_new_webhook": "إنشاء ويب هوك جديد", "create_new_webhook": "إنشاء ويب هوك جديد",
@@ -477,6 +496,7 @@
"max_limit_allowed_hint": "يجب أن يكون عدد الأحرف {{limit}} أو أقل", "max_limit_allowed_hint": "يجب أن يكون عدد الأحرف {{limit}} أو أقل",
"invalid_password_hint": "يجب أن تتألف كلمة المرور على الأقل من {{passwordLength}} أحرف، ورقم واحد على الأقل، ومزيج من الحروف الكبيرة والصغيرة", "invalid_password_hint": "يجب أن تتألف كلمة المرور على الأقل من {{passwordLength}} أحرف، ورقم واحد على الأقل، ومزيج من الحروف الكبيرة والصغيرة",
"incorrect_password": "كلمة المرور غير صحيحة.", "incorrect_password": "كلمة المرور غير صحيحة.",
"incorrect_email_password": "اسم المستخدم أو كلمة المرور غير صحيحين.",
"use_setting": "استخدام الإعداد", "use_setting": "استخدام الإعداد",
"am_pm": "صباحًا/مساءً", "am_pm": "صباحًا/مساءً",
"time_options": "خيارات الوقت", "time_options": "خيارات الوقت",
@@ -505,6 +525,7 @@
"your_name": "اسمك", "your_name": "اسمك",
"your_full_name": "اسمك الكامل", "your_full_name": "اسمك الكامل",
"no_name": "لا يوجد اسم", "no_name": "لا يوجد اسم",
"enter_number_between_range": "الرجاء إدخال رقم بين 1 و {{maxOccurences}}",
"email_address": "عنوان البريد الإلكتروني", "email_address": "عنوان البريد الإلكتروني",
"enter_valid_email": "يرجى إدخال بريد إلكتروني صالح", "enter_valid_email": "يرجى إدخال بريد إلكتروني صالح",
"location": "الموقع", "location": "الموقع",
@@ -542,6 +563,7 @@
"leave": "خروج", "leave": "خروج",
"profile": "الملف الشخصي", "profile": "الملف الشخصي",
"my_team_url": "عنوان URL الخاص بفريقي", "my_team_url": "عنوان URL الخاص بفريقي",
"my_teams": "فِرَقي",
"team_name": "اسم الفريق", "team_name": "اسم الفريق",
"your_team_name": "اسم فريقك", "your_team_name": "اسم فريقك",
"team_updated_successfully": "تم تحديث الفريق بنجاح", "team_updated_successfully": "تم تحديث الفريق بنجاح",
@@ -569,6 +591,8 @@
"invite_new_member": "دعوة عضو جديد في الفريق", "invite_new_member": "دعوة عضو جديد في الفريق",
"invite_new_member_description": "ملاحظة: سيكلّف هذا <1>مقعداً إضافياً (15 دولاراً شهرياً)</1> زيادةً على اشتراكك.", "invite_new_member_description": "ملاحظة: سيكلّف هذا <1>مقعداً إضافياً (15 دولاراً شهرياً)</1> زيادةً على اشتراكك.",
"invite_new_team_member": "دعوة شخص ما إلى فريقك.", "invite_new_team_member": "دعوة شخص ما إلى فريقك.",
"upload_csv_file": "تحميل ملف بصيغة .csv",
"invite_via_email": "الدعوة عبر البريد الإلكتروني",
"change_member_role": "تغيير دور العضو في الفريق", "change_member_role": "تغيير دور العضو في الفريق",
"disable_cal_branding": "تعطيل علامات {{appName}} التجارية", "disable_cal_branding": "تعطيل علامات {{appName}} التجارية",
"disable_cal_branding_description": "إخفاء كل علامات {{appName}} التجارية من الصفحات العامة لديك.", "disable_cal_branding_description": "إخفاء كل علامات {{appName}} التجارية من الصفحات العامة لديك.",
@@ -841,6 +865,7 @@
"team_view_user_availability_disabled": "يحتاج المستخدم إلى قبول الدعوة لعرض الأوقات المتاحة", "team_view_user_availability_disabled": "يحتاج المستخدم إلى قبول الدعوة لعرض الأوقات المتاحة",
"set_as_away": "تغيير حالتك إلى \"ليس موجودًا\"", "set_as_away": "تغيير حالتك إلى \"ليس موجودًا\"",
"set_as_free": "تعطيل حالة \"ليس موجودًا\"", "set_as_free": "تعطيل حالة \"ليس موجودًا\"",
"toggle_away_error": "حديث خطأ في تحديث الحالة إلى \"بعيد\"",
"user_away": "هذا المستخدم ليس موجودًا حاليًا.", "user_away": "هذا المستخدم ليس موجودًا حاليًا.",
"user_away_description": "حالة الشخص الذي تحاول حجز خدماته \"ليس موجودًا\"، ولذا فهو لا يقبل عمليات حجز جديدة.", "user_away_description": "حالة الشخص الذي تحاول حجز خدماته \"ليس موجودًا\"، ولذا فهو لا يقبل عمليات حجز جديدة.",
"meet_people_with_the_same_tokens": "الاجتماع مع أشخاص بنفس ال tokens", "meet_people_with_the_same_tokens": "الاجتماع مع أشخاص بنفس ال tokens",
@@ -850,6 +875,7 @@
"account_managed_by_identity_provider_description": "لتغيير بريدك الإلكتروني وكلمة المرور وتمكين المصادقة من عاملين والمزيد، يُرجى زيارة إعدادات حساب {{provider}} لديك.", "account_managed_by_identity_provider_description": "لتغيير بريدك الإلكتروني وكلمة المرور وتمكين المصادقة من عاملين والمزيد، يُرجى زيارة إعدادات حساب {{provider}} لديك.",
"signin_with_google": "تسجيل الدخول عبر Google", "signin_with_google": "تسجيل الدخول عبر Google",
"signin_with_saml": "تسجيل الدخول عبر SAML", "signin_with_saml": "تسجيل الدخول عبر SAML",
"signin_with_saml_oidc": "تسجيل الدخول عبر SAML/OIDC",
"you_will_need_to_generate": "ستحتاج إلى إنشاء access token من أداة الجدولة القديمة لديك.", "you_will_need_to_generate": "ستحتاج إلى إنشاء access token من أداة الجدولة القديمة لديك.",
"import": "استيراد", "import": "استيراد",
"import_from": "الاستيراد من", "import_from": "الاستيراد من",
@@ -949,6 +975,8 @@
"offer_seats_description": "عرض مقاعد للحجز. هذا يعطل تلقائياً حجز الضيوف وحجز الاشتراك.", "offer_seats_description": "عرض مقاعد للحجز. هذا يعطل تلقائياً حجز الضيوف وحجز الاشتراك.",
"seats_available_one": "المقاعد المتاحة", "seats_available_one": "المقاعد المتاحة",
"seats_available_other": "المقاعد المتاحة", "seats_available_other": "المقاعد المتاحة",
"seats_nearly_full": "المقاعد ممتلئة تقريباً",
"seats_half_full": "المقاعد تُشغل بسرعة",
"number_of_seats": "عدد المقاعد لكل حجز", "number_of_seats": "عدد المقاعد لكل حجز",
"enter_number_of_seats": "أدخل عدد المقاعد", "enter_number_of_seats": "أدخل عدد المقاعد",
"you_can_manage_your_schedules": "يمكنك إدارة الجداول الخاصة بك في صفحة الأوقات المتاحة.", "you_can_manage_your_schedules": "يمكنك إدارة الجداول الخاصة بك في صفحة الأوقات المتاحة.",
@@ -1029,12 +1057,15 @@
"how_you_want_add_cal_site": "كيف تريد إضافة {{appName}} إلى موقعك الإلكتروني؟", "how_you_want_add_cal_site": "كيف تريد إضافة {{appName}} إلى موقعك الإلكتروني؟",
"choose_ways_put_cal_site": "اختر واحدة من الطرق التالية لوضع {{appName}} على موقعك الإلكتروني.", "choose_ways_put_cal_site": "اختر واحدة من الطرق التالية لوضع {{appName}} على موقعك الإلكتروني.",
"setting_up_zapier": "إعداد دمج Zapier الخاص بك", "setting_up_zapier": "إعداد دمج Zapier الخاص بك",
"setting_up_make": "إعداد دمج Make لديك",
"generate_api_key": "إنشاء مفتاح API", "generate_api_key": "إنشاء مفتاح API",
"generate_api_key_description": "إنشاء مفتاح API لاستخدامه مع {{appName}} على", "generate_api_key_description": "إنشاء مفتاح API لاستخدامه مع {{appName}} على",
"your_unique_api_key": "مفتاح API الفريد الخاص بك", "your_unique_api_key": "مفتاح API الفريد الخاص بك",
"copy_safe_api_key": "انسخ مفتاح API هذا واحفظه في مكان آمن. إذا فقدت هذا المفتاح، يتوجب عليك إنشاء مفتاح جديد.", "copy_safe_api_key": "انسخ مفتاح API هذا واحفظه في مكان آمن. إذا فقدت هذا المفتاح، يتوجب عليك إنشاء مفتاح جديد.",
"zapier_setup_instructions": "<0>سجل الدخول إلى حساب Zapier الخاص بك وأنشئ Zap جديد.</0><1>حدد Cal.com كتطبيق Trigger لديك. اختر أيضًا حدث Trigger.</1><2>اختر حسابك ثم أدخل مفتاح API الفريد الخاص بك.</2><3>اختبر Trigger الخاص بك.</3><4>أنت جاهز!</4>", "zapier_setup_instructions": "<0>سجل الدخول إلى حساب Zapier الخاص بك وأنشئ Zap جديد.</0><1>حدد Cal.com كتطبيق Trigger لديك. اختر أيضًا حدث Trigger.</1><2>اختر حسابك ثم أدخل مفتاح API الفريد الخاص بك.</2><3>اختبر Trigger الخاص بك.</3><4>أنت جاهز!</4>",
"make_setup_instructions": "<0>انتقل إلى <1><0>إنشاء رابط دعوة</0></1> وقم بتثبيت تطبيق Cal.com </0><1> ثم سجّل الدخول إلى حسابك وقم بإنشاء \"سيناريو جديد\".</1><2>اختر Cal.com على أنه أحد تطبيقات \"التشغيل\" لديك. اختر أيضا حدث تشغيل. </2><3>اختر حسابك ثم ادخل مفتاح API الفريد الخاص بك.</3><4>اختبر المشغل لديك.</4><5>لقد أتممت الأمر!</5>",
"install_zapier_app": "يرجى تثبيت تطبيق Zapier من App Store أولًا.", "install_zapier_app": "يرجى تثبيت تطبيق Zapier من App Store أولًا.",
"install_make_app": "يرجى تثبيت تطبيق Make من متجر التطبيقات أولًا.",
"connect_apple_server": "الاتصال بخادم Apple", "connect_apple_server": "الاتصال بخادم Apple",
"calendar_url": "رابط التقويم", "calendar_url": "رابط التقويم",
"apple_server_generate_password": "أنشئ كلمة مرور خاصة بالتطبيق لاستخدامها مع {{appName}} على", "apple_server_generate_password": "أنشئ كلمة مرور خاصة بالتطبيق لاستخدامها مع {{appName}} على",
@@ -1084,6 +1115,9 @@
"email_attendee_action": "إرسال رسالة إلكترونية إلى الحضور", "email_attendee_action": "إرسال رسالة إلكترونية إلى الحضور",
"sms_attendee_action": "إرسال رسالة نصية قصيرة إلى أحد الحضور", "sms_attendee_action": "إرسال رسالة نصية قصيرة إلى أحد الحضور",
"sms_number_action": "إرسال رسالة نصية قصيرة إلى رقم محدد", "sms_number_action": "إرسال رسالة نصية قصيرة إلى رقم محدد",
"send_reminder_sms": "إرسال تذكيرات بالاجتماعات إلى الحاضرين بيُسر عبر الرسائل النصية القصيرة",
"whatsapp_number_action": "إرسال رسالة WhatsApp إلى رقم محدد",
"whatsapp_attendee_action": "إرسال رسالة عبر WhatsApp إلى أحد الحاضرين",
"workflows": "سير العمل", "workflows": "سير العمل",
"new_workflow_btn": "سير عمل جديد", "new_workflow_btn": "سير عمل جديد",
"add_new_workflow": "إضافة سير عمل جديد", "add_new_workflow": "إضافة سير عمل جديد",
@@ -1147,6 +1181,8 @@
"choose_template": "اختيار قالب", "choose_template": "اختيار قالب",
"custom": "مخصص", "custom": "مخصص",
"reminder": "تذكير", "reminder": "تذكير",
"rescheduled": "تمت إعادة الجدولة",
"completed": "تمّ",
"reminder_email": "تذكر {{eventType}} مع {{name}} في {{date}}", "reminder_email": "تذكر {{eventType}} مع {{name}} في {{date}}",
"not_triggering_existing_bookings": "لن يتم تشغيل الحجوزات الموجودة مسبقاً حيث سيتم طلب رقم الهاتف عند حجز الحدث.", "not_triggering_existing_bookings": "لن يتم تشغيل الحجوزات الموجودة مسبقاً حيث سيتم طلب رقم الهاتف عند حجز الحدث.",
"minute_one": "{{count}} دقيقة", "minute_one": "{{count}} دقيقة",
@@ -1239,6 +1275,7 @@
"error_updating_settings": "خطأ في تحديث الإعدادات", "error_updating_settings": "خطأ في تحديث الإعدادات",
"personal_cal_url": "عنوان {{appName}} URL الخاص بي", "personal_cal_url": "عنوان {{appName}} URL الخاص بي",
"bio_hint": "اكتب بضع جمل عن نفسك، والتي ستظهر على صفحة عنوان Url الشخصية لديك.", "bio_hint": "اكتب بضع جمل عن نفسك، والتي ستظهر على صفحة عنوان Url الشخصية لديك.",
"user_has_no_bio": "لم يُضف هذا المستخدم لمحة عنه بعد.",
"delete_account_modal_title": "حذف الحساب", "delete_account_modal_title": "حذف الحساب",
"confirm_delete_account_modal": "هل أنت متأكد من أنك تريد حذف حساب {{appName}} الخاص بك؟", "confirm_delete_account_modal": "هل أنت متأكد من أنك تريد حذف حساب {{appName}} الخاص بك؟",
"delete_my_account": "حذف حسابي", "delete_my_account": "حذف حسابي",
@@ -1421,6 +1458,7 @@
"add_limit": "إضافة حد", "add_limit": "إضافة حد",
"team_name_required": "اسم الفريق مطلوب", "team_name_required": "اسم الفريق مطلوب",
"show_attendees": "مشاركة معلومات الحضور مع الضيوف", "show_attendees": "مشاركة معلومات الحضور مع الضيوف",
"show_available_seats_count": "إظهار عدد المقاعد المتاحة",
"how_booking_questions_as_variables": "كيف يمكن استخدام أسئلة الحجز كمتغيرات؟", "how_booking_questions_as_variables": "كيف يمكن استخدام أسئلة الحجز كمتغيرات؟",
"format": "التنسيق", "format": "التنسيق",
"uppercase_for_letters": "استخدم الحروف الكبيرة لجميع الأحرف", "uppercase_for_letters": "استخدم الحروف الكبيرة لجميع الأحرف",
@@ -1489,7 +1527,9 @@
"must_enter_team_name": "يجب إدخال اسم فريق", "must_enter_team_name": "يجب إدخال اسم فريق",
"team_url_required": "يجب إدخال عنوان URL للفريق", "team_url_required": "يجب إدخال عنوان URL للفريق",
"url_taken": "عنوان URL هذا مأخوذ بالفعل", "url_taken": "عنوان URL هذا مأخوذ بالفعل",
"problem_registering_domain": "حدثت مشكلة في تسجيل المجال الفرعي، يُرجى المحاولة لاحقاً أو الاتصال بالمشرف",
"team_publish": "نشر فريق", "team_publish": "نشر فريق",
"number_text_notifications": "رقم الهاتف (إشعارات الرسائل النصية)",
"attendee_email_variable": "اسم الحاضر", "attendee_email_variable": "اسم الحاضر",
"attendee_email_info": "البريد الإلكتروني للشخص الحجز", "attendee_email_info": "البريد الإلكتروني للشخص الحجز",
"kbar_search_placeholder": "اكتب أمرًا أو بحثًا...", "kbar_search_placeholder": "اكتب أمرًا أو بحثًا...",
@@ -1652,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "هل تريد بالتأكيد حذف تكوين {{connectionType}}؟ لن يتمكن أعضاء فريقك الذين يستخدمون معلومات تسجيل الدخول إلى {{connectionType}} من الوصول إلى Cal.com بعد الآن.", "delete_sso_configuration_confirmation_description": "هل تريد بالتأكيد حذف تكوين {{connectionType}}؟ لن يتمكن أعضاء فريقك الذين يستخدمون معلومات تسجيل الدخول إلى {{connectionType}} من الوصول إلى Cal.com بعد الآن.",
"organizer_timezone": "منظم المناطق الزمنية", "organizer_timezone": "منظم المناطق الزمنية",
"email_user_cta": "عرض الدعوة", "email_user_cta": "عرض الدعوة",
"email_no_user_invite_heading_team": "تمت دعوتك للانضمام إلى فريق {{appName}}",
"email_no_user_invite_heading_org": "تمت دعوتك للانضمام إلى منظمة {{appName}}",
"email_no_user_invite_subheading": "دعاك {{invitedBy}} للانضمام إلى فريقه على {{appName}}. إن {{appName}} هو برنامج جدولة الأحداث الذي يمكّنك أنت وفريقك من جدولة الاجتماعات دون الحاجة إلى المراسلة عبر البريد الإلكتروني.", "email_no_user_invite_subheading": "دعاك {{invitedBy}} للانضمام إلى فريقه على {{appName}}. إن {{appName}} هو برنامج جدولة الأحداث الذي يمكّنك أنت وفريقك من جدولة الاجتماعات دون الحاجة إلى المراسلة عبر البريد الإلكتروني.",
"email_user_invite_subheading_team": "دعاك {{invitedBy}} للانضمام إلى فريقه {{teamName}} على {{appName}}. إن {{appName}} هو برنامج جدولة الأحداث الذي يمكّنك أنت وفريقك من جدولة الاجتماعات دون الحاجة إلى المراسلة عبر البريد الإلكتروني.", "email_user_invite_subheading_team": "دعاك {{invitedBy}} للانضمام إلى فريقه {{teamName}} على {{appName}}. إن {{appName}} هو برنامج جدولة الأحداث الذي يمكّنك أنت وفريقك من جدولة الاجتماعات دون الحاجة إلى المراسلة عبر البريد الإلكتروني.",
"email_user_invite_subheading_org": "لقد دعاك {{invitedBy}} للانضمام إلى فريق {{teamName}} التابع لمنظمتهم على {{appName}}. إن {{appName}} هو برنامج جدولة للفعاليات يمنحك القدرة أنت ومؤسستك على جدولة الاجتماعات من دون الحاجة إلى التراسل الكثيف عبر البريد الإلكتروني.",
"email_no_user_invite_steps_intro": "سنرشدك خلال بضع خطوات قصيرة وستستمتع بجدول زمني خالٍ من التوتر مع {{entity}} في لمح البصر.", "email_no_user_invite_steps_intro": "سنرشدك خلال بضع خطوات قصيرة وستستمتع بجدول زمني خالٍ من التوتر مع {{entity}} في لمح البصر.",
"email_no_user_step_one": "اختر اسم المستخدم الخاص بك", "email_no_user_step_one": "اختر اسم المستخدم الخاص بك",
"email_no_user_step_two": "ربط حساب التقويم الخاص بك", "email_no_user_step_two": "ربط حساب التقويم الخاص بك",
@@ -1824,6 +1867,8 @@
"insights_no_data_found_for_filter": "لم يتم العثور على بيانات لعامل التصفية المحدد أو التواريخ المحددة.", "insights_no_data_found_for_filter": "لم يتم العثور على بيانات لعامل التصفية المحدد أو التواريخ المحددة.",
"acknowledge_booking_no_show_fee": "أقر بأنه إذا لم أحضر هذا الحدث فسيتم سحب رسوم عدم حضور من بطاقتي تبلغ {{amount, currency}}.", "acknowledge_booking_no_show_fee": "أقر بأنه إذا لم أحضر هذا الحدث فسيتم سحب رسوم عدم حضور من بطاقتي تبلغ {{amount, currency}}.",
"card_details": "تفاصيل البطاقة", "card_details": "تفاصيل البطاقة",
"something_went_wrong_on_our_end": "حدث خطأ ما من طرفنا. اتصل بفريق الدعم لدينا، وسنُصلحه لك فوراً.",
"please_provide_following_text_to_suppport": "يرجى تقديم النص التالي عند الاتصال بالدعم لمساعدتك بشكل أفضل",
"seats_and_no_show_fee_error": "لا يمكن حاليًا تمكين المقاعد وفرض رسوم عدم الحضور", "seats_and_no_show_fee_error": "لا يمكن حاليًا تمكين المقاعد وفرض رسوم عدم الحضور",
"complete_your_booking": "أكمل الحجز", "complete_your_booking": "أكمل الحجز",
"complete_your_booking_subject": "أكمل الحجز: {{title}} في {{date}}", "complete_your_booking_subject": "أكمل الحجز: {{title}} في {{date}}",
@@ -1857,6 +1902,9 @@
"open_dialog_with_element_click": "فتح مربع حوار Cal عندما ينقر شخص فوق عنصر ما.", "open_dialog_with_element_click": "فتح مربع حوار Cal عندما ينقر شخص فوق عنصر ما.",
"need_help_embedding": "هل أنت بحاجة إلى مساعدة؟ راجع أدلتنا لتضمين Cal على Wix، أو Squarespace، أو WordPress، راجع أسئلتنا الشائعة، أو استكشف خيارات التضمين المتقدمة.", "need_help_embedding": "هل أنت بحاجة إلى مساعدة؟ راجع أدلتنا لتضمين Cal على Wix، أو Squarespace، أو WordPress، راجع أسئلتنا الشائعة، أو استكشف خيارات التضمين المتقدمة.",
"book_my_cal": "تثبيت الحجز في Cal", "book_my_cal": "تثبيت الحجز في Cal",
"first_name": "الاسم الأول",
"last_name": "اسم العائلة",
"first_last_name": "الاسم الأول، اسم العائلة",
"invite_as": "دعوة باسم", "invite_as": "دعوة باسم",
"form_updated_successfully": "تم تحديث النموذج بنجاح.", "form_updated_successfully": "تم تحديث النموذج بنجاح.",
"disable_attendees_confirmation_emails": "تعطيل رسائل التأكيد الافتراضية للحضور", "disable_attendees_confirmation_emails": "تعطيل رسائل التأكيد الافتراضية للحضور",
@@ -1870,6 +1918,7 @@
"first_event_type_webhook_description": "قم بإنشاء أول شبكة ويب هوك لهذا النوع من الأحداث", "first_event_type_webhook_description": "قم بإنشاء أول شبكة ويب هوك لهذا النوع من الأحداث",
"install_app_on": "تثبيت التطبيق على", "install_app_on": "تثبيت التطبيق على",
"create_for": "إنشاء من أجل", "create_for": "إنشاء من أجل",
"currency": "العملة",
"organization_banner_description": "إنشاء بيئات حيث يمكن لفرقك إنشاء تطبيقات مشتركة ومهام سير العمل وأنواع الأحداث باستخدام الجدولة الدوارة والجماعية.", "organization_banner_description": "إنشاء بيئات حيث يمكن لفرقك إنشاء تطبيقات مشتركة ومهام سير العمل وأنواع الأحداث باستخدام الجدولة الدوارة والجماعية.",
"organization_banner_title": "إدارة المنظمات ذات الفرق المتعددة", "organization_banner_title": "إدارة المنظمات ذات الفرق المتعددة",
"set_up_your_organization": "إعداد منظمتك", "set_up_your_organization": "إعداد منظمتك",
@@ -1930,5 +1979,79 @@
"insights_team_filter": "الفريق: {{teamName}}", "insights_team_filter": "الفريق: {{teamName}}",
"insights_user_filter": "المستخدم: {{userName}}", "insights_user_filter": "المستخدم: {{userName}}",
"insights_subtitle": "عرض Insights الحجز عبر أحداثك", "insights_subtitle": "عرض Insights الحجز عبر أحداثك",
"location_options": "خيارات الموقع {{locationCount}}",
"custom_plan": "الخطة المخصصة",
"email_embed": "البريد الإلكتروني المضمن",
"add_times_to_your_email": "حدّد بعض الفترات المتاحة وأدرجها في رسالتك الإلكترونية",
"select_time": "اختيار الوقت",
"select_date": "اختيار التاريخ",
"see_all_available_times": "رؤية كل الأوقات المتاحة",
"org_team_names_example": "مثال، فريق التسويق",
"org_team_names_example_1": "مثال، فريق التسويق",
"org_team_names_example_2": "مثال، فريق المبيعات",
"org_team_names_example_3": "مثال، فريق التصميم",
"org_team_names_example_4": "مثال، الفريق الهندسي",
"org_team_names_example_5": "مثال، فريق تحليل البيانات",
"org_max_team_warnings": "ستكون قادراً على إضافة فرق إضافية في وقت لاحق.",
"what_is_this_meeting_about": "عمَّ تدور هذه الجلسة؟",
"add_to_team": "إضافة إلى الفريق",
"remove_users_from_org": "إزالة مستخدمين من مؤسسة",
"remove_users_from_org_confirm": "هل أنت متأكد من أنك تريد إزالة هذا العدد من المستخدمين {{userCount}} من هذه المؤسسة؟",
"user_has_no_schedules": "لم يقم هذا المستخدم بإعداد بأي جدولة حتى الآن",
"user_isnt_in_any_teams": "هذا المستخدم ليس في أي فريق",
"requires_booker_email_verification": "يتطلب ذلك تأكيد البريد الإلكتروني لمن يقوم بالحجز",
"description_requires_booker_email_verification": "لضمان تأكيد البريد الإلكتروني لمن يقوم بالحجز قبل جدولة الفعاليات",
"requires_confirmation_mandatory": "يمكن إرسال رسائل نصية فقط للحاضرين عندما يتطلب نوع الفعالية تأكيداً.",
"kyc_verification_information": "يجب عليك إثبات صحة {{teamOrAccount}} لديك قبل إرسال رسائل نصية للحضور بهدف ضمان الأمان. يرجى الاتصال بنا عبر البريد الإلكتروني <a>{{supportEmail}}</a> وتقديم المعلومات التالية:",
"kyc_verification_documents": "<ul><li> {{teamOrUser}}</li><li>للأعمال التجارية: إرفاق مستندات تأكيد الأعمال</li><li>للأفراد: إرفاق بطاقة تعريفية صادرة من جهة حكومية</li></ul>",
"verify_team_or_account": "تأكيد {{teamOrAccount}}",
"verify_account": "تأكيد الحساب",
"kyc_verification": "تأكيد KYC",
"organizations": "المؤسسات",
"org_admin_other_teams": "فرق أخرى",
"org_admin_other_teams_description": "يمكنك هنا رؤية الفرق ضمن مؤسستك والتي أنت لست جزءاً منها؛ ويمكنك إضافة نفسك إليها عند الحاجة.",
"no_other_teams_found": "لم يتم العثور على فرق أخرى",
"no_other_teams_found_description": "لا توجد فرق أخرى في هذه المؤسسة.",
"attendee_first_name_variable": "الاسم الأول للحاضر",
"attendee_last_name_variable": "اسم العائلة للحاضر",
"attendee_first_name_info": "الاسم الأول للشخص صاحب الحجز",
"attendee_last_name_info": "اسم العائلة للشخص صاحب الحجز",
"me": "أنا",
"verify_team_tooltip": "تأكيد فريقك لتمكين إرسال الرسائل إلى الحاضرين",
"member_removed": "تمت إزالة العضو",
"my_availability": "أوقاتي المتاحة",
"team_availability": "أوقات الفريق المتاحة",
"backup_code": "الرمز الاحتياطي",
"backup_codes": "الرموز الاحتياطية",
"backup_code_instructions": "يمكن استخدام كل رمز احتياطي لمرة واحدة فقط لمنح حق الوصول بدون مصادقة منك.",
"backup_codes_copied": "تم نسخ الرموز الاحتياطية!",
"incorrect_backup_code": "الرمز الاحتياطي غير صحيح.",
"lost_access": "فُقد الوصول",
"missing_backup_codes": "لم يُعثر على رموز احتياطية. الرجاء إنشاؤها في الإعدادات لديك.",
"admin_org_notification_email_subject": "تم إنشاء منظمة جديدة: في انتظار العمل",
"hi_admin": "مرحباً حضرة المشرف",
"admin_org_notification_email_title": "تحتاج منظمة إلى إعداد DNS",
"admin_org_notification_email_body_part1": "تم إنشاء منظمة بعيار \"{{orgSlug}}\".<br /><br />يرجى التأكد من تكوين سجل DNS الخاص بك لتحديد النطاق الفرعي المقابل للمنظمة الجديدة إلى حيث يعمل التطبيق الرئيسي. وإلا فلن تعمل المنظمة.<br /><br />هنا لديك فقط الخيارات الأساسية لتكوين نطاق فرعي للإشارة إلى تطبيقهم حتى يُحمّل صفحة الملف الشخصي للمنظمة.<br /><br />يمكنك القيام بذلك إما بواسطة السجل A:",
"admin_org_notification_email_body_part2": "أو سجل CNAME:",
"admin_org_notification_email_body_part3": "بمجرد تكوين النطاق الفرعي، يرجى وضع علامة على تكوين DNS كما تم في إعدادات مشرف المنظمات.",
"admin_org_notification_email_cta": "الذهاب إلى إعدادات مشرف المؤسسات",
"org_has_been_processed": "تم تجهيز المؤسسة",
"org_error_processing": "حدث خطأ أثناء تجهيز هذه المؤسسة",
"orgs_page_description": "قائمة بجميع المؤسسات. سيسمح قبول مؤسسة ما لجميع المستخدمين الذين لديهم عناوين بريد إلكتروني تنتهي بنطاق المؤسسة بالتسجيل من دون الحاجة إلى تأكيد بريدهم الإلكتروني.",
"unverified": "لم تتم عملية التأكيد",
"dns_missing": "DNS مفقود",
"mark_dns_configured": "وضع إشارة تكوين على DNS",
"value": "القيمة",
"your_organization_updated_sucessfully": "تم تحديث منظمتك بنجاح",
"team_no_event_types": "ليس لدى هذا الفريق أنواع من الفعاليات",
"seat_options_doesnt_multiple_durations": "لا يدعم خيار المقعد فترات متعددة",
"include_calendar_event": "إدراج فعاليات في التقويم",
"recently_added": "تمت الإضافة مؤخراً",
"no_members_found": "لم يُعثر على أعضاء",
"event_setup_length_error": "إعداد الفعالية: يجب أن تكون المدة لدقيقة على الأقل.",
"availability_schedules": "جدولة التوافر",
"view_only_edit_availability_not_onboarded": "لم يكمل هذا المستخدم عملية الانضمام. لن تتمكن من تعيين توافره حتى يكتمل انضمامه.",
"view_only_edit_availability": "أنت تشاهد توافر هذا المستخدم. يمكنك تعديل توافرك فقط.",
"edit_users_availability": "تعديل توافر المستخدم: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ أضف السلاسل الجديدة أعلاه هنا ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ أضف السلاسل الجديدة أعلاه هنا ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "Ověřte svoji e-mailovou adresu, abyste zaručili co nejlepší doručitelnost e-mailů a kalendáře", "verify_email_banner_body": "Ověřte svoji e-mailovou adresu, abyste zaručili co nejlepší doručitelnost e-mailů a kalendáře",
"verify_email_email_header": "Ověřte svoji e-mailovou adresu", "verify_email_email_header": "Ověřte svoji e-mailovou adresu",
"verify_email_email_button": "Ověřit e-mail", "verify_email_email_button": "Ověřit e-mail",
"copy_somewhere_safe": "Uložte si tento klíč API na bezpečné místo. Možnost dalšího zobrazení mít nebudete.",
"verify_email_email_body": "Ověřte svoji e-mailovou adresu kliknutím na tlačítko níže.", "verify_email_email_body": "Ověřte svoji e-mailovou adresu kliknutím na tlačítko níže.",
"verify_email_by_code_email_body": "Ověřte prosím svoji e-mailovou adresu pomocí níže uvedeného kódu.",
"verify_email_email_link_text": "Zde je odkaz pro případ, že nemáte rádi klikání na tlačítka:", "verify_email_email_link_text": "Zde je odkaz pro případ, že nemáte rádi klikání na tlačítka:",
"email_verification_code": "Zadejte ověřovací kód",
"email_verification_code_placeholder": "Zadejte ověřovací kód odeslaný na váš e-mail",
"incorrect_email_verification_code": "Ověřovací kód je nesprávný.",
"email_sent": "E-mail byl odeslán", "email_sent": "E-mail byl odeslán",
"email_not_sent": "Při odesílání e-mailu došlo k chybě",
"event_declined_subject": "Odmítnuto: {{title}} v {{date}}", "event_declined_subject": "Odmítnuto: {{title}} v {{date}}",
"event_cancelled_subject": "Zrušeno: {{title}} dne {{date}}", "event_cancelled_subject": "Zrušeno: {{title}} dne {{date}}",
"event_request_declined": "Žádost o událost byla zamítnuta", "event_request_declined": "Žádost o událost byla zamítnuta",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "Opakovaná událost čeká na schválení", "event_awaiting_approval_recurring": "Opakovaná událost čeká na schválení",
"someone_requested_an_event": "Někdo požádal o naplánování události ve vašem kalendáři.", "someone_requested_an_event": "Někdo požádal o naplánování události ve vašem kalendáři.",
"someone_requested_password_reset": "Někdo požádal o odkaz pro změnu vašeho hesla.", "someone_requested_password_reset": "Někdo požádal o odkaz pro změnu vašeho hesla.",
"password_reset_email_sent": "Pokud tento e-mail v našem systému existuje, měli byste obdržet obnovovací e-mail.",
"password_reset_instructions": "Pokud jste o obnovení hesla nepožádali, můžete tento e-mail ignorovat. Vaše heslo se nezmění.", "password_reset_instructions": "Pokud jste o obnovení hesla nepožádali, můžete tento e-mail ignorovat. Vaše heslo se nezmění.",
"event_awaiting_approval_subject": "Čeká se na schválení: {{title}} dne {{date}}", "event_awaiting_approval_subject": "Čeká se na schválení: {{title}} dne {{date}}",
"event_still_awaiting_approval": "Událost stále čeká na schválení", "event_still_awaiting_approval": "Událost stále čeká na schválení",
@@ -217,6 +224,10 @@
"already_have_an_account": "Už máte účet?", "already_have_an_account": "Už máte účet?",
"create_account": "Vytvořit účet", "create_account": "Vytvořit účet",
"confirm_password": "Potvrdit heslo", "confirm_password": "Potvrdit heslo",
"confirm_auth_change": "Tím se změní způsob přihlašování",
"confirm_auth_email_change": "Změnou e-mailové adresy dojde v souvislosti s přihlášením do Cal.com k odpojení vašeho současného způsobu ověřování. Budeme po vás chtít ověření nové e-mailové adresy. Následně budete odhlášeni a po nastavení hesla podle pokynů, které vám přijdou do pošty, se k přihlašování bude namísto stávajícího způsobu ověřování používat nová e-mailová adresa.",
"reset_your_password": "Nastavte si nové heslo podle pokynů odeslaných na vaši e-mailovou adresu.",
"email_change": "Přihlaste se znovu pomocí nové e-mailové adresy a hesla.",
"create_your_account": "Vytvořit účet", "create_your_account": "Vytvořit účet",
"sign_up": "Přihlásit se", "sign_up": "Přihlásit se",
"youve_been_logged_out": "Byli jste odhlášeni", "youve_been_logged_out": "Byli jste odhlášeni",
@@ -243,6 +254,10 @@
"all": "Všechny aplikace", "all": "Všechny aplikace",
"yours": "Váš účet", "yours": "Váš účet",
"available_apps": "Dostupné aplikace", "available_apps": "Dostupné aplikace",
"available_apps_lower_case": "Dostupné aplikace",
"available_apps_desc": "Nemáte nainstalované žádné aplikace. Níže si můžete prohlédnout oblíbené aplikace a další objevit v našem <1>obchodu s aplikacemi</1>",
"fixed_host_helper": "Přidejte každého, kdo se má zúčastnit události. <1>Další informace</1>",
"round_robin_helper": "Lidé ve skupině se střídají a na událost se dostaví pouze jedna osoba.",
"check_email_reset_password": "Podívejte se do e-mailu. Poslali jsme vám odkaz pro obnovení hesla.", "check_email_reset_password": "Podívejte se do e-mailu. Poslali jsme vám odkaz pro obnovení hesla.",
"finish": "Dokončit", "finish": "Dokončit",
"organization_general_description": "Správa nastavení jazyka a časového pásma vašeho týmu", "organization_general_description": "Správa nastavení jazyka a časového pásma vašeho týmu",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "Poslední věc... pár slov o vás a fotografie vám pomůžou získat rezervace a lidi aspoň budou vědět, koho si rezervují.", "nearly_there_instructions": "Poslední věc... pár slov o vás a fotografie vám pomůžou získat rezervace a lidi aspoň budou vědět, koho si rezervují.",
"set_availability_instructions": "Určete si časové intervaly, kdy jste pravidelně dostupní. Později můžete vytvořit další a přiřadit je různým kalendářům.", "set_availability_instructions": "Určete si časové intervaly, kdy jste pravidelně dostupní. Později můžete vytvořit další a přiřadit je různým kalendářům.",
"set_availability": "Nastavte, jak jste dostupní", "set_availability": "Nastavte, jak jste dostupní",
"availability_settings": "Nastavení dostupnosti",
"continue_without_calendar": "Pokračovat bez kalendáře", "continue_without_calendar": "Pokračovat bez kalendáře",
"connect_your_calendar": "Připojit svůj kalendář", "connect_your_calendar": "Připojit svůj kalendář",
"connect_your_video_app": "Propojte své video aplikace", "connect_your_video_app": "Propojte své video aplikace",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "Odkazy na skupinové rezervace, které lze vytvořit dynamicky přidáním více uživatelských jmen s „+“. příklad: „{{appName}}/bailey+peer“", "allow_dynamic_booking_tooltip": "Odkazy na skupinové rezervace, které lze vytvořit dynamicky přidáním více uživatelských jmen s „+“. příklad: „{{appName}}/bailey+peer“",
"allow_dynamic_booking": "Povolit účastníkům rezervovat vás prostřednictvím dynamických skupinových rezervací", "allow_dynamic_booking": "Povolit účastníkům rezervovat vás prostřednictvím dynamických skupinových rezervací",
"dynamic_booking": "Dynamické odkazy na skupiny", "dynamic_booking": "Dynamické odkazy na skupiny",
"allow_seo_indexing": "Povolte vyhledávačům přístup k vašemu veřejnému obsahu",
"seo_indexing": "Zapnout indexování SEO",
"email": "E-mailová adresa", "email": "E-mailová adresa",
"email_placeholder": "vas@email.cz", "email_placeholder": "vas@email.cz",
"full_name": "Jméno a příjmení", "full_name": "Jméno a příjmení",
@@ -406,6 +424,7 @@
"booking_requested": "Váš požadavek na rezervaci byl úspěšně odeslán", "booking_requested": "Váš požadavek na rezervaci byl úspěšně odeslán",
"meeting_ended": "Schůzka skončila", "meeting_ended": "Schůzka skončila",
"form_submitted": "Formulář byl odeslán", "form_submitted": "Formulář byl odeslán",
"booking_paid": "Rezervace uhrazena",
"event_triggers": "Eventy na základě akce", "event_triggers": "Eventy na základě akce",
"subscriber_url": "URL pro odběry", "subscriber_url": "URL pro odběry",
"create_new_webhook": "Vytvořit nový webhook", "create_new_webhook": "Vytvořit nový webhook",
@@ -506,6 +525,7 @@
"your_name": "Vaše jméno", "your_name": "Vaše jméno",
"your_full_name": "Vaše celé jméno", "your_full_name": "Vaše celé jméno",
"no_name": "Žádné jméno", "no_name": "Žádné jméno",
"enter_number_between_range": "Zadejte prosím číslo v rozpětí 1 a {{maxOccurences}}",
"email_address": "E-mailová adresa", "email_address": "E-mailová adresa",
"enter_valid_email": "Zadejte platný e-mail", "enter_valid_email": "Zadejte platný e-mail",
"location": "Místo", "location": "Místo",
@@ -543,6 +563,7 @@
"leave": "Opustit", "leave": "Opustit",
"profile": "Profil", "profile": "Profil",
"my_team_url": "URL adresa mého týmu", "my_team_url": "URL adresa mého týmu",
"my_teams": "Moje týmy",
"team_name": "Název týmu", "team_name": "Název týmu",
"your_team_name": "Název vašeho týmu", "your_team_name": "Název vašeho týmu",
"team_updated_successfully": "Tým byl úspěšně aktualizován", "team_updated_successfully": "Tým byl úspěšně aktualizován",
@@ -570,6 +591,8 @@
"invite_new_member": "Pozvat nového člena", "invite_new_member": "Pozvat nového člena",
"invite_new_member_description": "Poznámka: Ve vašem předplatném to bude <1>stát místo navíc (15 USD/měs.)</1> .", "invite_new_member_description": "Poznámka: Ve vašem předplatném to bude <1>stát místo navíc (15 USD/měs.)</1> .",
"invite_new_team_member": "Pozvat někoho do týmu.", "invite_new_team_member": "Pozvat někoho do týmu.",
"upload_csv_file": "Nahrajte soubor .csv",
"invite_via_email": "Pozvat e-mailem",
"change_member_role": "Změnit roli člena týmu", "change_member_role": "Změnit roli člena týmu",
"disable_cal_branding": "Vypnout branding {{appName}}", "disable_cal_branding": "Vypnout branding {{appName}}",
"disable_cal_branding_description": "Skrýt branding {{appName}} ze všech veřejných stránek.", "disable_cal_branding_description": "Skrýt branding {{appName}} ze všech veřejných stránek.",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "Uživatel musí přijmout pozvánku, aby mohl zobrazit dostupnost", "team_view_user_availability_disabled": "Uživatel musí přijmout pozvánku, aby mohl zobrazit dostupnost",
"set_as_away": "Nastavit status \"pryč\"", "set_as_away": "Nastavit status \"pryč\"",
"set_as_free": "Vypnout status \"pryč\"", "set_as_free": "Vypnout status \"pryč\"",
"toggle_away_error": "Chyba při aktualizaci statusu „pryč“",
"user_away": "Tento uživatel je právě \"pryč\".", "user_away": "Tento uživatel je právě \"pryč\".",
"user_away_description": "Osoba, kterou se snažíte rezervovat, má nastavený status \"pryč\" a nepřijímá tak nové rezervace.", "user_away_description": "Osoba, kterou se snažíte rezervovat, má nastavený status \"pryč\" a nepřijímá tak nové rezervace.",
"meet_people_with_the_same_tokens": "Seznamte se s lidmi se stejnými tokeny", "meet_people_with_the_same_tokens": "Seznamte se s lidmi se stejnými tokeny",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "Pro změnu e-mailu, hesla, dvoufázového ověřování apod. prosím přejděte do nastavení účtu {{provider}}.", "account_managed_by_identity_provider_description": "Pro změnu e-mailu, hesla, dvoufázového ověřování apod. prosím přejděte do nastavení účtu {{provider}}.",
"signin_with_google": "Přihlásit se pomocí Googlu", "signin_with_google": "Přihlásit se pomocí Googlu",
"signin_with_saml": "Přihlásit se pomocí SAML", "signin_with_saml": "Přihlásit se pomocí SAML",
"signin_with_saml_oidc": "Přihlášení pomocí SAML/OIDC",
"you_will_need_to_generate": "Budete muset vygenerovat přístupový token ve vašem dřívějším plánovacím nástroji.", "you_will_need_to_generate": "Budete muset vygenerovat přístupový token ve vašem dřívějším plánovacím nástroji.",
"import": "Importovat", "import": "Importovat",
"import_from": "Importovat z", "import_from": "Importovat z",
@@ -950,6 +975,8 @@
"offer_seats_description": "Nabídnout místa k rezervaci. Tím se vypnou rezervace hostů a volitelné rezervace.", "offer_seats_description": "Nabídnout místa k rezervaci. Tím se vypnou rezervace hostů a volitelné rezervace.",
"seats_available_one": "Dostupné místo", "seats_available_one": "Dostupné místo",
"seats_available_other": "Dostupná místa", "seats_available_other": "Dostupná místa",
"seats_nearly_full": "Místa jsou téměř obsazena",
"seats_half_full": "Místa se rychle zaplňují",
"number_of_seats": "Počet míst na rezervaci", "number_of_seats": "Počet míst na rezervaci",
"enter_number_of_seats": "Zadejte počet míst", "enter_number_of_seats": "Zadejte počet míst",
"you_can_manage_your_schedules": "Své plány můžete spravovat na stránce Dostupnost.", "you_can_manage_your_schedules": "Své plány můžete spravovat na stránce Dostupnost.",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "Jak chcete přidat {{appName}} na vaše stránky?", "how_you_want_add_cal_site": "Jak chcete přidat {{appName}} na vaše stránky?",
"choose_ways_put_cal_site": "Vyberte si některý z následujících způsobů, jak umístit {{appName}} na své stránky.", "choose_ways_put_cal_site": "Vyberte si některý z následujících způsobů, jak umístit {{appName}} na své stránky.",
"setting_up_zapier": "Nastavení integrace Zapier", "setting_up_zapier": "Nastavení integrace Zapier",
"setting_up_make": "Nastavení integrace s Make",
"generate_api_key": "Vygenerovat klíč API", "generate_api_key": "Vygenerovat klíč API",
"generate_api_key_description": "Vygenerujte klíč API pro použití s {{appName}} na adrese", "generate_api_key_description": "Vygenerujte klíč API pro použití s {{appName}} na adrese",
"your_unique_api_key": "Váš unikátní klíč API", "your_unique_api_key": "Váš unikátní klíč API",
"copy_safe_api_key": "Zkopírujte tento klíč API a uschovejte si ho na bezpečné místo. Pokud tento klíč ztratíte, musíte vygenerovat nový.", "copy_safe_api_key": "Zkopírujte tento klíč API a uschovejte si ho na bezpečné místo. Pokud tento klíč ztratíte, musíte vygenerovat nový.",
"zapier_setup_instructions": "<0>Přihlaste se ke svému účtu Zapier a vytvořte nový Zap.</0><1>Vyberte Cal.com jako svoji aplikaci Trigger. Také vyberte událost Trigger.</1><2>Vyberte svůj účet a pak zadejte svůj unikátní klíč API.</2><3>Otestujte svůj Trigger.</3><4>Všechno máte nastaveno!</4>", "zapier_setup_instructions": "<0>Přihlaste se ke svému účtu Zapier a vytvořte nový Zap.</0><1>Vyberte Cal.com jako svoji aplikaci Trigger. Také vyberte událost Trigger.</1><2>Vyberte svůj účet a pak zadejte svůj unikátní klíč API.</2><3>Otestujte svůj Trigger.</3><4>Všechno máte nastaveno!</4>",
"make_setup_instructions": "<0>Přejděte na <1><0>odkaz s pozvánkou pro Make</0></1> a nainstalujte aplikaci Cal.com.</0><1>Přihlaste se ke svému účtu Make a vytvořte nový scénář.</1><2>Jako spouštěcí aplikaci vyberte Cal.com. Dále vyberte událost spouštěče.</2><3>Vyberte svůj účet a následně zadejte svůj unikátní klíč API.</3><4>Otestujte svůj spouštěč.</4><5>Všechno je připraveno!</5>",
"install_zapier_app": "Nejdřív si z App Store nainstalujte aplikaci Zapier.", "install_zapier_app": "Nejdřív si z App Store nainstalujte aplikaci Zapier.",
"install_make_app": "Nejprve si nainstalujte aplikaci Make z obchodu s aplikacemi.",
"connect_apple_server": "Připojit se k serveru Apple", "connect_apple_server": "Připojit se k serveru Apple",
"calendar_url": "URL kalendáře", "calendar_url": "URL kalendáře",
"apple_server_generate_password": "Vygenerujte si specifické heslo pro aplikaci {{appName}} na", "apple_server_generate_password": "Vygenerujte si specifické heslo pro aplikaci {{appName}} na",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "odeslat e-mail účastníkům", "email_attendee_action": "odeslat e-mail účastníkům",
"sms_attendee_action": "Odeslat SMS účastníkovi", "sms_attendee_action": "Odeslat SMS účastníkovi",
"sms_number_action": "odeslání SMS na konkrétní číslo", "sms_number_action": "odeslání SMS na konkrétní číslo",
"send_reminder_sms": "Snadné zasílání připomenutí schůzek účastníkům přes SMS",
"whatsapp_number_action": "odeslat Whatsapp na konkrétní číslo", "whatsapp_number_action": "odeslat Whatsapp na konkrétní číslo",
"whatsapp_attendee_action": "odeslat Whatsapp účastníkovi", "whatsapp_attendee_action": "odeslat Whatsapp účastníkovi",
"workflows": "Pracovní postupy", "workflows": "Pracovní postupy",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "Chyba při aktualizaci nastavení", "error_updating_settings": "Chyba při aktualizaci nastavení",
"personal_cal_url": "Moje osobní adresa URL {{appName}}", "personal_cal_url": "Moje osobní adresa URL {{appName}}",
"bio_hint": "Několik vět o vás. Obsah se zobrazí se na vaší osobní stránce URL.", "bio_hint": "Několik vět o vás. Obsah se zobrazí se na vaší osobní stránce URL.",
"user_has_no_bio": "Tento uživatel zatím nepřidal životopis.",
"delete_account_modal_title": "Odstranit účet", "delete_account_modal_title": "Odstranit účet",
"confirm_delete_account_modal": "Opravdu chcete odstranit svůj účet {{appName}}?", "confirm_delete_account_modal": "Opravdu chcete odstranit svůj účet {{appName}}?",
"delete_my_account": "Odstranit můj účet", "delete_my_account": "Odstranit můj účet",
@@ -1426,6 +1458,7 @@
"add_limit": "Přidat limit", "add_limit": "Přidat limit",
"team_name_required": "Je vyžadován název týmu", "team_name_required": "Je vyžadován název týmu",
"show_attendees": "Sdílet informace o účastnících", "show_attendees": "Sdílet informace o účastnících",
"show_available_seats_count": "Zobrazení počtu volných míst",
"how_booking_questions_as_variables": "Jak používat rezervační otázky jako proměnné?", "how_booking_questions_as_variables": "Jak používat rezervační otázky jako proměnné?",
"format": "Formát", "format": "Formát",
"uppercase_for_letters": "Použít velká písmena pro všechna písmena", "uppercase_for_letters": "Použít velká písmena pro všechna písmena",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Opravdu chcete odstranit konfiguraci {{connectionType}}? Členové vašeho týmu, kteří používají přihlášení {{connectionType}}, ztratí přístup k webu Cal.com.", "delete_sso_configuration_confirmation_description": "Opravdu chcete odstranit konfiguraci {{connectionType}}? Členové vašeho týmu, kteří používají přihlášení {{connectionType}}, ztratí přístup k webu Cal.com.",
"organizer_timezone": "Časové pásmo organizátora", "organizer_timezone": "Časové pásmo organizátora",
"email_user_cta": "Zobrazit pozvánku", "email_user_cta": "Zobrazit pozvánku",
"email_no_user_invite_heading_team": "Byli jste pozváni do týmu {{appName}}",
"email_no_user_invite_heading_org": "Byli jste pozváni do organizace {{appName}}",
"email_no_user_invite_subheading": "Uživatel {{invitedBy}} vás pozval, abyste se připojili k jeho týmu v aplikaci {{appName}}. {{appName}} je plánovač událostí, který vám a vašemu týmu umožňuje plánovat schůzky bez e-mailového ping-pongu.", "email_no_user_invite_subheading": "Uživatel {{invitedBy}} vás pozval, abyste se připojili k jeho týmu v aplikaci {{appName}}. {{appName}} je plánovač událostí, který vám a vašemu týmu umožňuje plánovat schůzky bez e-mailového ping-pongu.",
"email_user_invite_subheading_team": "Uživatel {{invitedBy}} vás pozval, abyste se připojili k jeho týmu „{{teamName}}“ v aplikaci {{appName}}. {{appName}} je plánovač událostí, který vám a vašemu týmu umožňuje plánovat schůzky bez e-mailového pingpongu.", "email_user_invite_subheading_team": "Uživatel {{invitedBy}} vás pozval, abyste se připojili k jeho týmu „{{teamName}}“ v aplikaci {{appName}}. {{appName}} je plánovač událostí, který vám a vašemu týmu umožňuje plánovat schůzky bez e-mailového pingpongu.",
"email_user_invite_subheading_org": "Uživatel {{invitedBy}} vás pozval, abyste se připojili k týmu {{teamName}} jeho organizace v aplikaci {{appName}}. {{appName}} je plánovač událostí, který vám a vaší organizaci umožňuje plánovat schůzky bez e-mailového pingpongu.",
"email_no_user_invite_steps_intro": "Provedeme vás několika krátkými kroky a za malou chvíli si budete se svým subjektem {{entity}} užívat plánování bez stresu.", "email_no_user_invite_steps_intro": "Provedeme vás několika krátkými kroky a za malou chvíli si budete se svým subjektem {{entity}} užívat plánování bez stresu.",
"email_no_user_step_one": "Vyberte si uživatelské jméno", "email_no_user_step_one": "Vyberte si uživatelské jméno",
"email_no_user_step_two": "Připojte svůj účet kalendáře", "email_no_user_step_two": "Připojte svůj účet kalendáře",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "Pro vybraný filtr nebo vybraná data nebyla nalezena žádná data.", "insights_no_data_found_for_filter": "Pro vybraný filtr nebo vybraná data nebyla nalezena žádná data.",
"acknowledge_booking_no_show_fee": "Beru na vědomí, že pokud se této události nezúčastním, bude z mé karty stržen poplatek za nedostavení se ve výši {{amount, currency}}.", "acknowledge_booking_no_show_fee": "Beru na vědomí, že pokud se této události nezúčastním, bude z mé karty stržen poplatek za nedostavení se ve výši {{amount, currency}}.",
"card_details": "Údaje o kartě", "card_details": "Údaje o kartě",
"something_went_wrong_on_our_end": "Na naší straně se něco pokazilo. Spojte se s naší podporou a hned to napravíme.",
"please_provide_following_text_to_suppport": "Při kontaktování podpory uveďte v zájmu lepší efektivity následující",
"seats_and_no_show_fee_error": "V současné době nelze povolit místa a strhnout poplatek za nedostavení se", "seats_and_no_show_fee_error": "V současné době nelze povolit místa a strhnout poplatek za nedostavení se",
"complete_your_booking": "Dokončete svou rezervaci", "complete_your_booking": "Dokončete svou rezervaci",
"complete_your_booking_subject": "Dokončete svou rezervaci: {{title}} dne {{date}}", "complete_your_booking_subject": "Dokončete svou rezervaci: {{title}} dne {{date}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "Otevře dialogové okno Cal, pokud někdo klikne na prvek.", "open_dialog_with_element_click": "Otevře dialogové okno Cal, pokud někdo klikne na prvek.",
"need_help_embedding": "Potřebujete pomoc? Prohlédněte si naše průvodce pro vložení Cal do Wixu, Squarespace nebo WordPressu, podívejte se na naše nejčastější dotazy nebo prozkoumejte pokročilé možnosti vložení.", "need_help_embedding": "Potřebujete pomoc? Prohlédněte si naše průvodce pro vložení Cal do Wixu, Squarespace nebo WordPressu, podívejte se na naše nejčastější dotazy nebo prozkoumejte pokročilé možnosti vložení.",
"book_my_cal": "Zarezervovat na Cal", "book_my_cal": "Zarezervovat na Cal",
"first_name": "Jméno",
"last_name": "Příjmení",
"first_last_name": "Jméno, příjmení",
"invite_as": "Pozvat jako", "invite_as": "Pozvat jako",
"form_updated_successfully": "Formulář byl aktualizován.", "form_updated_successfully": "Formulář byl aktualizován.",
"disable_attendees_confirmation_emails": "Vypnutí výchozích potvrzovacích e-mailů pro účastníky", "disable_attendees_confirmation_emails": "Vypnutí výchozích potvrzovacích e-mailů pro účastníky",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "Vytvořte svůj první webhook pro tento typ události", "first_event_type_webhook_description": "Vytvořte svůj první webhook pro tento typ události",
"install_app_on": "Nainstalovat aplikaci v", "install_app_on": "Nainstalovat aplikaci v",
"create_for": "Vytvořit pro", "create_for": "Vytvořit pro",
"currency": "Měna",
"organization_banner_description": "Vytvořte prostředí, ve kterém budou moct vaše týmy vytvářet sdílené aplikace, pracovní postupy a typy událostí s kolektivním plánováním nebo plánováním typu round-robin.", "organization_banner_description": "Vytvořte prostředí, ve kterém budou moct vaše týmy vytvářet sdílené aplikace, pracovní postupy a typy událostí s kolektivním plánováním nebo plánováním typu round-robin.",
"organization_banner_title": "Správa organizace s více týmy", "organization_banner_title": "Správa organizace s více týmy",
"set_up_your_organization": "Nastavení organizace", "set_up_your_organization": "Nastavení organizace",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "Tým: {{teamName}}", "insights_team_filter": "Tým: {{teamName}}",
"insights_user_filter": "Uživatel: {{userName}}", "insights_user_filter": "Uživatel: {{userName}}",
"insights_subtitle": "Zobrazte si Insight rezervací napříč vašimi událostmi", "insights_subtitle": "Zobrazte si Insight rezervací napříč vašimi událostmi",
"location_options": "Možná místa konání: {{locationCount}}",
"custom_plan": "Vlastní plán", "custom_plan": "Vlastní plán",
"email_embed": "Vložení do e-mailu",
"add_times_to_your_email": "Vyberte několik dostupných časů a vložte je do e-mailu",
"select_time": "Vyberte čas",
"select_date": "Vyberte datum",
"see_all_available_times": "Zobrazit všechny dostupné časy",
"org_team_names_example": "Např. marketingový tým",
"org_team_names_example_1": "Např. marketingový tým",
"org_team_names_example_2": "Např. obchodní tým",
"org_team_names_example_3": "Např. designérský tým",
"org_team_names_example_4": "Např. inženýrský tým",
"org_team_names_example_5": "Např. tým datové analytiky",
"org_max_team_warnings": "Další týmy budete moct přidat později.",
"what_is_this_meeting_about": "Čeho se tato schůzka týká?",
"add_to_team": "Přidat do týmu",
"remove_users_from_org": "Odstranění uživatelů z organizace",
"remove_users_from_org_confirm": "Opravdu chcete odebrat uživatele ({{userCount}}) z této organizace?",
"user_has_no_schedules": "Tento uživatel zatím nenastavil žádné plány",
"user_isnt_in_any_teams": "Tento uživatel není v žádném týmu",
"requires_booker_email_verification": "Povinné ověření e-mailu rezervujícího",
"description_requires_booker_email_verification": "Zajištění ověření e-mailu rezervujícího před plánováním událostí",
"requires_confirmation_mandatory": "SMS zprávy lze účastníkům zasílat pouze v případě, že typ události vyžaduje potvrzení.",
"kyc_verification_information": "V zájmu zajištění bezpečnosti je nutné před odesláním SMS zpráv účastníkům ověřit {{teamOrAccount}}. Kontaktujte nás na adrese <a>{{supportEmail}}</a> a uveďte následující informace:",
"kyc_verification_documents": "<ul><li>{{teamOrUser}}</li><li>Pro firmy: Přiložte svou dokumentaci k ověření podnikání</li><li>Pro jednotlivce: Přiložte dokumentaci k ověření podnikání</li><li>: Přiložte vládou vydaný průkaz totožnosti</li></ul>.",
"verify_team_or_account": "Ověřte {{teamOrAccount}}",
"verify_account": "Ověřit účet",
"kyc_verification": "Ověření typu KYC",
"organizations": "Organizace",
"org_admin_other_teams": "Ostatní týmy",
"org_admin_other_teams_description": "Zde můžete vidět týmy uvnitř vaší organizace, kterých nejste součástí, a případně se do nich můžete přidat.",
"no_other_teams_found": "Nenalezeny žádné další týmy",
"no_other_teams_found_description": "V této organizaci nejsou žádné další týmy.",
"attendee_first_name_variable": "Jméno účastníka",
"attendee_last_name_variable": "Příjmení účastníka",
"attendee_first_name_info": "Jméno rezervující osoby",
"attendee_last_name_info": "Příjmení rezervující osoby",
"me": "Já",
"verify_team_tooltip": "Proveďte ověření svého týmu a zapněte odesílání zpráv účastníkům",
"member_removed": "Člen odstraněn",
"my_availability": "Moje dostupnost",
"team_availability": "Dostupnost týmu",
"backup_code": "Záložní kód",
"backup_codes": "Záložní kódy",
"backup_code_instructions": "Každý záložní kód lze použít právě jednou k udělení přístupu bez vašeho způsobu ověřování.",
"backup_codes_copied": "Záložní kódy zkopírovány!",
"incorrect_backup_code": "Záložní kód není správný.",
"lost_access": "Ztracený přístup",
"missing_backup_codes": "Nenalezeny žádné záložní kódy. Vygenerujte je v nastavení.",
"admin_org_notification_email_subject": "Vytvořena nová organizace: čekající akce",
"hi_admin": "Dobrý den, administrátore",
"admin_org_notification_email_title": "Organizace vyžaduje nastavení DNS",
"admin_org_notification_email_body_part1": "Byla vytvořena organizace se slugem „{{orgSlug}}“.<br /><br />Zkontrolujte prosím, zda máte nakonfigurovaný registr DNS tak, aby subdoména odpovídající nové organizaci směřovala na místo, kde je spuštěna hlavní aplikace. Jinak organizace nebude fungovat.<br /><br />Tady jsou jen zcela základní možnosti, jak nakonfigurovat subdoménu tak, aby směřovala na příslušnou aplikaci a načítala profilovou stránku organizace.<br /><br />Můžete to udělat buď pomocí záznamu typu A:",
"admin_org_notification_email_body_part2": "nebo záznamu typu CNAME:",
"admin_org_notification_email_body_part3": "Až subdoménu nakonfigurujete, označte konfiguraci DNS jako provedenou v nastavení správce organizací.",
"admin_org_notification_email_cta": "Přejděte do nastavení správce organizací",
"org_has_been_processed": "Organizace byla zpracována",
"org_error_processing": "Při zpracování této organizace došlo k chybě",
"orgs_page_description": "Seznam všech organizací. Přijetí organizace umožní všem uživatelům s touto e-mailovou doménou registraci BEZ ověření e-mailu.",
"unverified": "Neověřeno",
"dns_missing": "Chybí DNS",
"mark_dns_configured": "Označit jako s nakonfigurovaným DNS",
"value": "Hodnota",
"your_organization_updated_sucessfully": "Vaše organizace byla aktualizována",
"team_no_event_types": "Tento tým nemá žádné typy událostí",
"seat_options_doesnt_multiple_durations": "Volba místa nepodporuje více dob trvání",
"include_calendar_event": "Zahrnout událost kalendáře",
"recently_added": "Nedávno přidáno",
"no_members_found": "Nenalezeni žádní členové",
"event_setup_length_error": "Nastavení události: Doba trvání musí být alespoň 1 minuta.",
"availability_schedules": "Plány dostupnosti",
"view_only_edit_availability_not_onboarded": "Tento uživatel ještě nedokončil onboarding. Dokud nedokončí onboarding, dostupnost nebude možné nastavit.",
"view_only_edit_availability": "Právě máte zobrazenou dostupnost tohoto uživatele. Upravovat lze pouze vlastní dostupnost.",
"edit_users_availability": "Upravte dostupnost uživatele: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Přidejte své nové řetězce nahoru ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Přidejte své nové řetězce nahoru ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
+69 -2
View File
@@ -136,7 +136,7 @@
"team_upgrade_banner_description": "Vielen Dank, dass Sie unseren neuen Teamplan getestet haben. Wir haben festgestellt, dass Ihr Team „{{teamName}}“ aktualisiert werden muss.", "team_upgrade_banner_description": "Vielen Dank, dass Sie unseren neuen Teamplan getestet haben. Wir haben festgestellt, dass Ihr Team „{{teamName}}“ aktualisiert werden muss.",
"upgrade_banner_action": "Hier aufrüsten", "upgrade_banner_action": "Hier aufrüsten",
"team_upgraded_successfully": "Das Update für Ihr Team war erfolgreich!", "team_upgraded_successfully": "Das Update für Ihr Team war erfolgreich!",
"org_upgrade_banner_description": "Vielen Dank, dass Sie unseren neuen Organisationsplan getestet haben. Wir haben festgestellt, dass Ihre Organisation „{{teamName}}“ ein Upgrade benötigt.", "org_upgrade_banner_description": "Vielen Dank, dass Sie unseren neuen Tarif „Organization“ getestet haben. Wir haben festgestellt, dass Ihre Organization „{{teamName}}“ ein Upgrade benötigt.",
"org_upgraded_successfully": "Das Upgrade für Ihre Organization war erfolgreich!", "org_upgraded_successfully": "Das Upgrade für Ihre Organization war erfolgreich!",
"use_link_to_reset_password": "Benutzen Sie den Link, um Ihr Passwort zurückzusetzen", "use_link_to_reset_password": "Benutzen Sie den Link, um Ihr Passwort zurückzusetzen",
"hey_there": "Hallo,", "hey_there": "Hallo,",
@@ -257,6 +257,7 @@
"available_apps_lower_case": "Verfügbare Apps", "available_apps_lower_case": "Verfügbare Apps",
"available_apps_desc": "Sie haben keine Apps installiert. Sehen Sie sich beliebte Apps unten an und entdecken Sie noch mehr in unserem <1>App Store</1>", "available_apps_desc": "Sie haben keine Apps installiert. Sehen Sie sich beliebte Apps unten an und entdecken Sie noch mehr in unserem <1>App Store</1>",
"fixed_host_helper": "Füge jeden hinzu, der an der Veranstaltung teilnehmen muss. <1>Mehr erfahren</1>", "fixed_host_helper": "Füge jeden hinzu, der an der Veranstaltung teilnehmen muss. <1>Mehr erfahren</1>",
"round_robin_helper": "Die Leute in der Gruppe wechseln sich ab und nur eine Person wird für die Veranstaltung erscheinen.",
"check_email_reset_password": "Überprüfen Sie Ihre E-Mail. Wir haben Ihnen einen Link zum Zurücksetzen Ihres Passworts gesendet.", "check_email_reset_password": "Überprüfen Sie Ihre E-Mail. Wir haben Ihnen einen Link zum Zurücksetzen Ihres Passworts gesendet.",
"finish": "Fertig", "finish": "Fertig",
"organization_general_description": "Einstellungen für die Sprache und Zeitzone Ihres Teams verwalten", "organization_general_description": "Einstellungen für die Sprache und Zeitzone Ihres Teams verwalten",
@@ -265,6 +266,7 @@
"nearly_there_instructions": "Zu guter Letzt: Ein Foto und eine Kurzbeschreibung zu Ihnen helfen, öfter gebucht zu werden, da Kunden dann genauer wissen, bei wem sie einen Termin buchen.", "nearly_there_instructions": "Zu guter Letzt: Ein Foto und eine Kurzbeschreibung zu Ihnen helfen, öfter gebucht zu werden, da Kunden dann genauer wissen, bei wem sie einen Termin buchen.",
"set_availability_instructions": "Definieren Sie Zeiträume, wenn Sie wiederkehrend verfügbar sind. Sie können später weitere Zeiträume erstellen und verschiedenen Kalendern zuordnen.", "set_availability_instructions": "Definieren Sie Zeiträume, wenn Sie wiederkehrend verfügbar sind. Sie können später weitere Zeiträume erstellen und verschiedenen Kalendern zuordnen.",
"set_availability": "Verfügbarkeit festlegen", "set_availability": "Verfügbarkeit festlegen",
"availability_settings": "Verfügbarkeitseinstellungen",
"continue_without_calendar": "Ohne Kalender fortfahren", "continue_without_calendar": "Ohne Kalender fortfahren",
"connect_your_calendar": "Kalender verbinden", "connect_your_calendar": "Kalender verbinden",
"connect_your_video_app": "Verbinden Sie Ihre Video-Apps", "connect_your_video_app": "Verbinden Sie Ihre Video-Apps",
@@ -589,6 +591,8 @@
"invite_new_member": "Ein neues Mitglied einladen", "invite_new_member": "Ein neues Mitglied einladen",
"invite_new_member_description": "Hinweis: Dies wird <1>einen zusätzlichen Platz(15 $/m)</1> in Ihrem Abonnement kosten.", "invite_new_member_description": "Hinweis: Dies wird <1>einen zusätzlichen Platz(15 $/m)</1> in Ihrem Abonnement kosten.",
"invite_new_team_member": "Laden Sie jemanden in Ihr Team ein.", "invite_new_team_member": "Laden Sie jemanden in Ihr Team ein.",
"upload_csv_file": "Eine .csv-Datei hochladen",
"invite_via_email": "Per E-Mail einladen",
"change_member_role": "Rolle des Teammitglieds ändern", "change_member_role": "Rolle des Teammitglieds ändern",
"disable_cal_branding": "{{appName}}-Branding deaktivieren", "disable_cal_branding": "{{appName}}-Branding deaktivieren",
"disable_cal_branding_description": "Blendet alle {{appName}}-Werbung auf Ihren öffentlichen Seiten aus.", "disable_cal_branding_description": "Blendet alle {{appName}}-Werbung auf Ihren öffentlichen Seiten aus.",
@@ -871,6 +875,7 @@
"account_managed_by_identity_provider_description": "Um Ihre E-Mail-Adresse, Ihr Passwort, die Zwei-Faktor-Authentifizierung und sonstiges zu ändern, besuchen Sie bitte Ihre {{provider}} -Kontoeinstellungen.", "account_managed_by_identity_provider_description": "Um Ihre E-Mail-Adresse, Ihr Passwort, die Zwei-Faktor-Authentifizierung und sonstiges zu ändern, besuchen Sie bitte Ihre {{provider}} -Kontoeinstellungen.",
"signin_with_google": "Mit Google anmelden", "signin_with_google": "Mit Google anmelden",
"signin_with_saml": "Anmelden mit SAML", "signin_with_saml": "Anmelden mit SAML",
"signin_with_saml_oidc": "Anmelden mit SAML/OIDC",
"you_will_need_to_generate": "Sie müssen ein Zugriffstoken in ihrem alten Kalender-Tool erzeugen.", "you_will_need_to_generate": "Sie müssen ein Zugriffstoken in ihrem alten Kalender-Tool erzeugen.",
"import": "Importieren", "import": "Importieren",
"import_from": "Importieren von", "import_from": "Importieren von",
@@ -970,6 +975,8 @@
"offer_seats_description": "Bieten Sie Plätze für Buchungen an (dies deaktiviert Gäste & Opt-in-Buchungen)", "offer_seats_description": "Bieten Sie Plätze für Buchungen an (dies deaktiviert Gäste & Opt-in-Buchungen)",
"seats_available_one": "Verfügbarer Platz", "seats_available_one": "Verfügbarer Platz",
"seats_available_other": "Verfügbare Plätze", "seats_available_other": "Verfügbare Plätze",
"seats_nearly_full": "Plätze fast voll",
"seats_half_full": "Plätze werden schnell belegt",
"number_of_seats": "Anzahl der Plätze pro Termin", "number_of_seats": "Anzahl der Plätze pro Termin",
"enter_number_of_seats": "Anzahl der Plätze eingeben", "enter_number_of_seats": "Anzahl der Plätze eingeben",
"you_can_manage_your_schedules": "Sie können Ihren Verfügbarkeitsplan bei Ihren Verfügbarkeiten ändern.", "you_can_manage_your_schedules": "Sie können Ihren Verfügbarkeitsplan bei Ihren Verfügbarkeiten ändern.",
@@ -1050,12 +1057,15 @@
"how_you_want_add_cal_site": "Wie möchten Sie {{appName}} zu Ihrer Website hinzufügen?", "how_you_want_add_cal_site": "Wie möchten Sie {{appName}} zu Ihrer Website hinzufügen?",
"choose_ways_put_cal_site": "Wählen Sie eine der folgenden Möglichkeiten, um {{appName}} in Ihre Website zu integrieren.", "choose_ways_put_cal_site": "Wählen Sie eine der folgenden Möglichkeiten, um {{appName}} in Ihre Website zu integrieren.",
"setting_up_zapier": "Einrichtung Ihrer Zapier-Integration", "setting_up_zapier": "Einrichtung Ihrer Zapier-Integration",
"setting_up_make": "Einrichtung Ihrer Make-Integration",
"generate_api_key": "Api Key generieren", "generate_api_key": "Api Key generieren",
"generate_api_key_description": "Generieren Sie einen API-Schlüssel für {{appName}} unter", "generate_api_key_description": "Generieren Sie einen API-Schlüssel für {{appName}} unter",
"your_unique_api_key": "Ihr eindeutiger API-Key", "your_unique_api_key": "Ihr eindeutiger API-Key",
"copy_safe_api_key": "Kopieren Sie diesen API-Schlüssel und speichern Sie ihn an einem sicheren Ort. Wenn Sie diesen Schlüssel verlieren, müssen Sie einen neuen generieren.", "copy_safe_api_key": "Kopieren Sie diesen API-Schlüssel und speichern Sie ihn an einem sicheren Ort. Wenn Sie diesen Schlüssel verlieren, müssen Sie einen neuen generieren.",
"zapier_setup_instructions": "<0>Loggen Sie sich in Ihr Zapier-Konto ein und erstelle einen neuen Zap.</0><1>Wählen Sie Cal.com als ihre Trigger-App aus. Wählen Sie auch ein Auslöserereignis.</0><1>Wählen Sie ihr Konto aus und geben dann ihren eindeutigen API-Key ein.</2><3>Testen Sie den Trigger.</3><4>Alles fertig!</4>", "zapier_setup_instructions": "<0>Loggen Sie sich in Ihr Zapier-Konto ein und erstelle einen neuen Zap.</0><1>Wählen Sie Cal.com als ihre Trigger-App aus. Wählen Sie auch ein Auslöserereignis.</0><1>Wählen Sie ihr Konto aus und geben dann ihren eindeutigen API-Key ein.</2><3>Testen Sie den Trigger.</3><4>Alles fertig!</4>",
"make_setup_instructions": "<0>Gehen Sie zu: <1><0>Make-Einladungs-Link</0></1>und installieren Sie die Cal.com-App.</0><1> Loggen Sie sich in Ihr Make-Konto ein und erstellen Sie ein neues Szenario.</1><2>Wählen Sie Cal.com als ihre Auslöser-App aus. Wählen Sie auch ein Auslöserereignis aus.</2><3>Wählen Sie ihr Konto aus und geben Sie dann Ihren eindeutigen API-Key ein.</3><4>Probierne Sie den Auslöser aus.</4><5>Und fertig!</5>",
"install_zapier_app": "Bitte installieren Sie zuerst die Zapier-App im App Store.", "install_zapier_app": "Bitte installieren Sie zuerst die Zapier-App im App Store.",
"install_make_app": "Bitte installieren Sie zuerst die Make-App im App Store.",
"connect_apple_server": "Mit Apple-Server verbinden", "connect_apple_server": "Mit Apple-Server verbinden",
"calendar_url": "Kalender-URL", "calendar_url": "Kalender-URL",
"apple_server_generate_password": "Generieren Sie ein App-spezifisches Passwort für {{appName}} unter", "apple_server_generate_password": "Generieren Sie ein App-spezifisches Passwort für {{appName}} unter",
@@ -1105,6 +1115,7 @@
"email_attendee_action": "E-Mail an Teilnehmende senden", "email_attendee_action": "E-Mail an Teilnehmende senden",
"sms_attendee_action": "SMS an Teilnehmende senden", "sms_attendee_action": "SMS an Teilnehmende senden",
"sms_number_action": "SMS an eine bestimmte Nummer senden", "sms_number_action": "SMS an eine bestimmte Nummer senden",
"send_reminder_sms": "Senden Sie Meeting-Erinnerungen einfach per SMS an Ihre Teilnehmer",
"whatsapp_number_action": "WhatsApp-Nachricht an eine bestimmte Nummer senden", "whatsapp_number_action": "WhatsApp-Nachricht an eine bestimmte Nummer senden",
"whatsapp_attendee_action": "WhatsApp-Nachricht an Teilnehmer senden", "whatsapp_attendee_action": "WhatsApp-Nachricht an Teilnehmer senden",
"workflows": "Workflows", "workflows": "Workflows",
@@ -1264,6 +1275,7 @@
"error_updating_settings": "Fehler beim Aktualisieren der Einstellungen", "error_updating_settings": "Fehler beim Aktualisieren der Einstellungen",
"personal_cal_url": "Meine persönliche {{appName}}-URL", "personal_cal_url": "Meine persönliche {{appName}}-URL",
"bio_hint": "Schreiben Sie eine kurze Beschreibung, welche auf Ihrer persönlichen Profil-Seite erscheinen wird.", "bio_hint": "Schreiben Sie eine kurze Beschreibung, welche auf Ihrer persönlichen Profil-Seite erscheinen wird.",
"user_has_no_bio": "Dieser Benutzer hat noch keine Bio hinzugefügt.",
"delete_account_modal_title": "Account löschen", "delete_account_modal_title": "Account löschen",
"confirm_delete_account_modal": "Sind Sie sicher, dass Sie Ihr {{appName}}-Konto löschen möchten?", "confirm_delete_account_modal": "Sind Sie sicher, dass Sie Ihr {{appName}}-Konto löschen möchten?",
"delete_my_account": "Meinen Account löschen", "delete_my_account": "Meinen Account löschen",
@@ -1446,6 +1458,7 @@
"add_limit": "Begrenzung hinzufügen", "add_limit": "Begrenzung hinzufügen",
"team_name_required": "Teamname erforderlich", "team_name_required": "Teamname erforderlich",
"show_attendees": "Teilnehmerinformationen zwischen Gästen teilen", "show_attendees": "Teilnehmerinformationen zwischen Gästen teilen",
"show_available_seats_count": "Anzahl der verfügbaren Plätze anzeigen",
"how_booking_questions_as_variables": "Wie verwendet man Buchungsfragen als Variablen?", "how_booking_questions_as_variables": "Wie verwendet man Buchungsfragen als Variablen?",
"format": "Format", "format": "Format",
"uppercase_for_letters": "Großbuchstaben für alle Buchstaben verwenden", "uppercase_for_letters": "Großbuchstaben für alle Buchstaben verwenden",
@@ -1679,9 +1692,12 @@
"delete_sso_configuration_confirmation_description": "Sind Sie sicher, dass Sie die {{connectionType}}-Konfiguration löschen möchten? Ihre Teammitglieder, die sich über {{connectionType}} anmelden, werden keinen Zugriff mehr auf Cal.com haben.", "delete_sso_configuration_confirmation_description": "Sind Sie sicher, dass Sie die {{connectionType}}-Konfiguration löschen möchten? Ihre Teammitglieder, die sich über {{connectionType}} anmelden, werden keinen Zugriff mehr auf Cal.com haben.",
"organizer_timezone": "Zeitzone des Veranstalters", "organizer_timezone": "Zeitzone des Veranstalters",
"email_user_cta": "Einladung anzeigen", "email_user_cta": "Einladung anzeigen",
"email_no_user_invite_heading_team": "Sie wurden eingeladen, einem {{appName}}-Team beizutreten",
"email_no_user_invite_heading_org": "Sie wurden eingeladen, einer {{appName}}-Organisation beizutreten",
"email_no_user_invite_subheading": "{{invitedBy}} hat Sie eingeladen, dem Team in {{appName}} beizutreten. {{appName}} ist der Event-Planer, der es Ihnen und Ihrem Team ermöglicht, Meetings ohne ständiges hin und her zu planen.", "email_no_user_invite_subheading": "{{invitedBy}} hat Sie eingeladen, dem Team in {{appName}} beizutreten. {{appName}} ist der Event-Planer, der es Ihnen und Ihrem Team ermöglicht, Meetings ohne ständiges hin und her zu planen.",
"email_user_invite_subheading_team": "{{invitedBy}} hat Sie eingeladen, dem Team „{{teamName}}“ beizutreten. {{appName}} ist der Event-Planer, der es Ihnen und Ihrem Team ermöglicht, Meetings ohne Hin und Her zu planen.", "email_user_invite_subheading_team": "{{invitedBy}} hat Sie eingeladen, dem Team „{{teamName}}“ beizutreten. {{appName}} ist der Event-Planer, der es Ihnen und Ihrem Team ermöglicht, Meetings ohne Hin und Her zu planen.",
"email_no_user_invite_steps_intro": "Wir begleiten Sie durch ein paar Schritte, danach können Sie in kürzester Zeit stressfreie Planung mit Ihrem {{entity}} genießen.", "email_user_invite_subheading_org": "{{invitedBy}} hat Sie eingeladen, ihrer Organisation „{{teamName}}“ in {{appName}} beizutreten. {{appName}} ist der Terminplaner, der es Ihnen und Ihrer Organisation ermöglicht, Meetings ohne ständiges hin und her zu planen.",
"email_no_user_invite_steps_intro": "Wir begleiten Sie durch ein paar Schritte, danach können Sie in kürzester Zeit stressfreie Planung mit Ihrer {{entity}} genießen.",
"email_no_user_step_one": "Wählen Sie Ihren Benutzernamen", "email_no_user_step_one": "Wählen Sie Ihren Benutzernamen",
"email_no_user_step_two": "Verbinden Sie Ihr Kalenderkonto", "email_no_user_step_two": "Verbinden Sie Ihr Kalenderkonto",
"email_no_user_step_three": "Legen Sie Ihre Verfügbarkeit fest", "email_no_user_step_three": "Legen Sie Ihre Verfügbarkeit fest",
@@ -1851,6 +1867,8 @@
"insights_no_data_found_for_filter": "Keine Daten für den ausgewählten Filter oder das ausgewählte Datum gefunden.", "insights_no_data_found_for_filter": "Keine Daten für den ausgewählten Filter oder das ausgewählte Datum gefunden.",
"acknowledge_booking_no_show_fee": "Ich bestätige, dass meiner Karte eine Gebühr von {{amount, currency}} berechnet wird, sofern ich nicht an diesem Ereignis teilnehme.", "acknowledge_booking_no_show_fee": "Ich bestätige, dass meiner Karte eine Gebühr von {{amount, currency}} berechnet wird, sofern ich nicht an diesem Ereignis teilnehme.",
"card_details": "Karteninformationen", "card_details": "Karteninformationen",
"something_went_wrong_on_our_end": "Etwas ist auf unserer Seite schief gelaufen. Kontaktieren Sie unser Support-Team, wir werden es sofort für Sie reparieren.",
"please_provide_following_text_to_suppport": "Bitte geben Sie den folgenden Text an, wenn Sie den Support kontaktieren, damit wir Ihnen besser helfen können",
"seats_and_no_show_fee_error": "Aktuell können keine Plätze aktiviert oder eine Gebühr für das Nichterscheinen berechnet werden", "seats_and_no_show_fee_error": "Aktuell können keine Plätze aktiviert oder eine Gebühr für das Nichterscheinen berechnet werden",
"complete_your_booking": "Schließen Sie Ihre Buchung ab", "complete_your_booking": "Schließen Sie Ihre Buchung ab",
"complete_your_booking_subject": "Schließen Sie Ihre Buchung ab: {{title}} am {{date}}", "complete_your_booking_subject": "Schließen Sie Ihre Buchung ab: {{title}} am {{date}}",
@@ -1961,6 +1979,7 @@
"insights_team_filter": "Team: {{teamName}}", "insights_team_filter": "Team: {{teamName}}",
"insights_user_filter": "Benutzer: {{userName}}", "insights_user_filter": "Benutzer: {{userName}}",
"insights_subtitle": "Sehen Sie sich Buchungs-Insights zu Ihren Termine an", "insights_subtitle": "Sehen Sie sich Buchungs-Insights zu Ihren Termine an",
"location_options": "{{locationCount}} Veranstaltungsort-Optionen",
"custom_plan": "Maßgeschneiderter Tarif", "custom_plan": "Maßgeschneiderter Tarif",
"email_embed": "E-Mail Einbettung", "email_embed": "E-Mail Einbettung",
"add_times_to_your_email": "Zeiten zur E-Mail hinzufügen", "add_times_to_your_email": "Zeiten zur E-Mail hinzufügen",
@@ -1976,14 +1995,62 @@
"org_max_team_warnings": "Weitere Teams können Sie zu einem späteren Zeitpunkt hinzufügen.", "org_max_team_warnings": "Weitere Teams können Sie zu einem späteren Zeitpunkt hinzufügen.",
"what_is_this_meeting_about": "Worum geht es in diesem Termin?", "what_is_this_meeting_about": "Worum geht es in diesem Termin?",
"add_to_team": "Zum Team hinzufügen", "add_to_team": "Zum Team hinzufügen",
"remove_users_from_org": "Benutzer aus der Organisation entfernen",
"remove_users_from_org_confirm": "Sind Sie sicher, dass Sie {{userCount}} Benutzer aus dieser Organisation entfernen möchten?",
"user_has_no_schedules": "Dieser Benutzer hat noch keine Verfügbarkeitspläne eingerichtet",
"user_isnt_in_any_teams": "Dieser Benutzer ist in keinem Team", "user_isnt_in_any_teams": "Dieser Benutzer ist in keinem Team",
"requires_booker_email_verification": "Erfordert E-Mail-Verifizierung des Buchenden",
"description_requires_booker_email_verification": "Um sicherzustellen, dass die E-Mail des Buchenden vor der Terminplanung verifiziert ist",
"requires_confirmation_mandatory": "Textnachrichten können nur an Teilnehmer gesendet werden, wenn der Ereignistyp bestätigt werden muss.",
"kyc_verification_information": "Aus Sicherheitsgründen müssen Sie Ihren {{teamOrAccount}} verifizieren, bevor Sie Textnachrichten an die Teilnehmer senden können. Bitte kontaktieren Sie uns unter <a>{{supportEmail}}</a> und geben Sie folgende Informationen an:", "kyc_verification_information": "Aus Sicherheitsgründen müssen Sie Ihren {{teamOrAccount}} verifizieren, bevor Sie Textnachrichten an die Teilnehmer senden können. Bitte kontaktieren Sie uns unter <a>{{supportEmail}}</a> und geben Sie folgende Informationen an:",
"verify_team_or_account": "{{teamOrAccount}} verifizieren",
"verify_account": "Konto verifizieren",
"kyc_verification": "KYC-Verifizierung",
"organizations": "Organisationen",
"org_admin_other_teams": "Weitere Teams", "org_admin_other_teams": "Weitere Teams",
"org_admin_other_teams_description": "Hier können Sie Teams innerhalb Ihrer Organisation sehen, zu denen Sie nicht gehören. Sie können sich bei Bedarf selbst hinzufügen.",
"no_other_teams_found": "Keine weiteren Teams gefunden", "no_other_teams_found": "Keine weiteren Teams gefunden",
"no_other_teams_found_description": "Es gibt keine weiteren Teams in dieser Organisation.", "no_other_teams_found_description": "Es gibt keine weiteren Teams in dieser Organisation.",
"attendee_first_name_variable": "Vorname des Teilnehmers", "attendee_first_name_variable": "Vorname des Teilnehmers",
"attendee_last_name_variable": "Nachname des Teilnehmers", "attendee_last_name_variable": "Nachname des Teilnehmers",
"attendee_first_name_info": "Vorname der buchenden Person",
"attendee_last_name_info": "Nachname der buchenden Person",
"me": "Ich",
"verify_team_tooltip": "Verifizieren Sie Ihr Team, um das Senden von Nachrichten an Teilnehmer zu aktivieren",
"member_removed": "Mitglied entfernt",
"my_availability": "Meine Verfügbarkeit", "my_availability": "Meine Verfügbarkeit",
"team_availability": "Teamverfügbarkeit", "team_availability": "Teamverfügbarkeit",
"backup_code": "Backup-Code",
"backup_codes": "Backup-Codes",
"backup_code_instructions": "Jeder Backup-Code kann genau einmal verwendet werden, um Zugriff ohne Ihren Authentifikator zu gewähren.",
"backup_codes_copied": "Backup-Codes kopiert!",
"incorrect_backup_code": "Backup-Code ist falsch.",
"lost_access": "Zugriff verloren",
"missing_backup_codes": "Keine Backup-Codes gefunden. Bitte generieren Sie diese in Ihren Einstellungen.",
"admin_org_notification_email_subject": "Neue Organisation erstellt: Ausstehende Aktion",
"hi_admin": "Hallo, Administrator",
"admin_org_notification_email_title": "Eine Organisation benötigt DNS-Konfiguration",
"admin_org_notification_email_body_part1": "Eine Organisation mit slug \"{{orgSlug}}\" wurde erstellt.<br /><br />Bitte konfigurieren Sie Ihre DNS-Registry so, dass die Subdomain der neuen Organisation auf die Hauptanwendung verweist. Andernfalls wird die Organisation nicht funktionieren.<br /><br />Hier sind nur die grundlegenden Optionen, um eine Subdomain so zu konfigurieren, dass sie auf ihre App verweist, so dass sie die Organisationsprofilseite lädt.<br /><br />SIe können es entweder mit dem A Record machen:",
"admin_org_notification_email_body_part2": "Oder der CNAME-Eintrag:",
"admin_org_notification_email_body_part3": "Sobald Sie die Subdomain konfiguriert haben, markieren Sie bitte die DNS-Konfiguration wie in den Organisationen Admin-Einstellungen.",
"admin_org_notification_email_cta": "Zu den Organisationen Admin-Einstellungen wechseln",
"org_has_been_processed": "Org wurde verarbeitet",
"org_error_processing": "Beim Verarbeiten dieser Organisation ist ein Fehler aufgetreten",
"orgs_page_description": "Eine Liste aller Organisationen. Wenn Sie eine Organisation akzeptieren, können sich alle Benutzer mit dieser E-Mail-Domain OHNE E-Mail-Überprüfung registrieren.",
"unverified": "Nicht verifiziert",
"dns_missing": "DNS fehlt",
"mark_dns_configured": "Als DNS konfiguriert kennzeichnen",
"value": "Wert",
"your_organization_updated_sucessfully": "Ihre Organisation wurde erfolgreich aktualisiert",
"team_no_event_types": "Dieses Team hat keine Ereignistypen",
"seat_options_doesnt_multiple_durations": "Platzoption unterstützt mehrere Dauern nicht",
"include_calendar_event": "Kalenderereignis hinzufügen",
"recently_added": "Kürzlich hinzugefügt",
"no_members_found": "Keine Mitglieder gefunden",
"event_setup_length_error": "Ereignis-Einrichtung: Die Dauer muss mindestens 1 Minute betragen.",
"availability_schedules": "Verfügbarkeitspläne",
"view_only_edit_availability_not_onboarded": "Dieser Benutzer hat das Onboarding noch nicht abgeschlossen. Sie können seine Verfügbarkeit erst festlegen, wenn er das Onboarding abgeschlossen hat.",
"view_only_edit_availability": "Sie sehen die Verfügbarkeit dieses Benutzers. Sie können nur Ihre eigene Verfügbarkeit bearbeiten.",
"edit_users_availability": "Benutzerverfügbarkeit bearbeiten: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Fügen Sie Ihre neuen Code-Zeilen über dieser hinzu ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Fügen Sie Ihre neuen Code-Zeilen über dieser hinzu ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
+22 -6
View File
@@ -45,7 +45,6 @@
"invite_team_individual_segment": "Invite individual", "invite_team_individual_segment": "Invite individual",
"invite_team_bulk_segment": "Bulk import", "invite_team_bulk_segment": "Bulk import",
"invite_team_notifcation_badge": "Inv.", "invite_team_notifcation_badge": "Inv.",
"signin_or_signup_to_accept_invite": "You need to Sign in or Sign up to see team invitation.",
"your_event_has_been_scheduled": "Your event has been scheduled", "your_event_has_been_scheduled": "Your event has been scheduled",
"your_event_has_been_scheduled_recurring": "Your recurring event has been scheduled", "your_event_has_been_scheduled_recurring": "Your recurring event has been scheduled",
"accept_our_license": "Accept our license by changing the .env variable <1>NEXT_PUBLIC_LICENSE_CONSENT</1> to '{{agree}}'.", "accept_our_license": "Accept our license by changing the .env variable <1>NEXT_PUBLIC_LICENSE_CONSENT</1> to '{{agree}}'.",
@@ -292,9 +291,9 @@
"add_another_calendar": "Add another calendar", "add_another_calendar": "Add another calendar",
"other": "Other", "other": "Other",
"email_sign_in_subject": "Your sign-in link for {{appName}}", "email_sign_in_subject": "Your sign-in link for {{appName}}",
"emailed_you_and_attendees": "We emailed you and the other attendees a calendar invitation with all the details.", "emailed_you_and_attendees": "We sent an email with a calendar invitation with the details to everyone.",
"emailed_you_and_attendees_recurring": "We emailed you and the other attendees a calendar invitation for the first of these recurring events.", "emailed_you_and_attendees_recurring": "We sent an email with a calendar invitation with the details to everyone for the first of these recurring events.",
"emailed_you_and_any_other_attendees": "You and any other attendees have been emailed with this information.", "emailed_you_and_any_other_attendees": "We sent an email to everyone with this information.",
"needs_to_be_confirmed_or_rejected": "Your booking still needs to be confirmed or rejected.", "needs_to_be_confirmed_or_rejected": "Your booking still needs to be confirmed or rejected.",
"needs_to_be_confirmed_or_rejected_recurring": "Your recurring meeting still needs to be confirmed or rejected.", "needs_to_be_confirmed_or_rejected_recurring": "Your recurring meeting still needs to be confirmed or rejected.",
"user_needs_to_confirm_or_reject_booking": "{{user}} still needs to confirm or reject the booking.", "user_needs_to_confirm_or_reject_booking": "{{user}} still needs to confirm or reject the booking.",
@@ -592,6 +591,8 @@
"invite_new_member": "Invite a new team member", "invite_new_member": "Invite a new team member",
"invite_new_member_description": "Note: This will <1>cost an extra seat ($15/m)</1> on your subscription.", "invite_new_member_description": "Note: This will <1>cost an extra seat ($15/m)</1> on your subscription.",
"invite_new_team_member": "Invite someone to your team.", "invite_new_team_member": "Invite someone to your team.",
"upload_csv_file": "Upload a .csv file",
"invite_via_email": "Invite via email",
"change_member_role": "Change team member role", "change_member_role": "Change team member role",
"disable_cal_branding": "Disable {{appName}} branding", "disable_cal_branding": "Disable {{appName}} branding",
"disable_cal_branding_description": "Hide all {{appName}} branding from your public pages.", "disable_cal_branding_description": "Hide all {{appName}} branding from your public pages.",
@@ -974,6 +975,8 @@
"offer_seats_description": "Offer seats for booking. This automatically disables guest & opt-in bookings.", "offer_seats_description": "Offer seats for booking. This automatically disables guest & opt-in bookings.",
"seats_available_one": "Seat available", "seats_available_one": "Seat available",
"seats_available_other": "Seats available", "seats_available_other": "Seats available",
"seats_nearly_full": "Seats almost full",
"seats_half_full": "Seats filling fast",
"number_of_seats": "Number of seats per booking", "number_of_seats": "Number of seats per booking",
"enter_number_of_seats": "Enter number of seats", "enter_number_of_seats": "Enter number of seats",
"you_can_manage_your_schedules": "You can manage your schedules on the Availability page.", "you_can_manage_your_schedules": "You can manage your schedules on the Availability page.",
@@ -1100,7 +1103,7 @@
"reschedule_optional": "Reason for rescheduling (optional)", "reschedule_optional": "Reason for rescheduling (optional)",
"reschedule_placeholder": "Let others know why you need to reschedule", "reschedule_placeholder": "Let others know why you need to reschedule",
"event_cancelled": "This event is canceled", "event_cancelled": "This event is canceled",
"emailed_information_about_cancelled_event": "We emailed you and the other attendees to let them know.", "emailed_information_about_cancelled_event": "We sent an email to everyone to let them know.",
"this_input_will_shown_booking_this_event": "This input will be shown when booking this event", "this_input_will_shown_booking_this_event": "This input will be shown when booking this event",
"meeting_url_in_confirmation_email": "Meeting url is in the confirmation email", "meeting_url_in_confirmation_email": "Meeting url is in the confirmation email",
"url_start_with_https": "URL needs to start with http:// or https://", "url_start_with_https": "URL needs to start with http:// or https://",
@@ -1455,6 +1458,7 @@
"add_limit": "Add Limit", "add_limit": "Add Limit",
"team_name_required": "Team name required", "team_name_required": "Team name required",
"show_attendees": "Share attendee information between guests", "show_attendees": "Share attendee information between guests",
"show_available_seats_count": "Show the number of available seats",
"how_booking_questions_as_variables": "How to use booking questions as variables?", "how_booking_questions_as_variables": "How to use booking questions as variables?",
"format": "Format", "format": "Format",
"uppercase_for_letters": "Use uppercase for all letters", "uppercase_for_letters": "Use uppercase for all letters",
@@ -1739,7 +1743,8 @@
"show_on_booking_page": "Show on booking page", "show_on_booking_page": "Show on booking page",
"get_started_zapier_templates": "Get started with Zapier templates", "get_started_zapier_templates": "Get started with Zapier templates",
"team_is_unpublished": "{{team}} is unpublished", "team_is_unpublished": "{{team}} is unpublished",
"team_is_unpublished_description": "This {{entity}} link is currently not available. Please contact the {{entity}} owner or ask them to publish it.", "org_is_unpublished_description": "This organization link is currently not available. Please contact the organization owner or ask them to publish it.",
"team_is_unpublished_description": "This team link is currently not available. Please contact the team owner or ask them to publish it.",
"team_member": "Team member", "team_member": "Team member",
"a_routing_form": "A Routing Form", "a_routing_form": "A Routing Form",
"form_description_placeholder": "Form Description", "form_description_placeholder": "Form Description",
@@ -2012,7 +2017,13 @@
"attendee_last_name_variable": "Attendee last name", "attendee_last_name_variable": "Attendee last name",
"attendee_first_name_info": "The person booking's first name", "attendee_first_name_info": "The person booking's first name",
"attendee_last_name_info": "The person booking's last name", "attendee_last_name_info": "The person booking's last name",
"your_monthly_digest": "Your Monthly Digest",
"member_name": "Member Name",
"most_popular_events": "Most Popular Events",
"summary_of_events_for_your_team_for_the_last_30_days": "Here's your summary of popular events for your team {{teamName}} for the last 30 days",
"me": "Me", "me": "Me",
"monthly_digest_email":"Monthly Digest Email",
"monthly_digest_email_for_teams": "Monthly digest email for teams",
"verify_team_tooltip": "Verify your team to enable sending messages to attendees", "verify_team_tooltip": "Verify your team to enable sending messages to attendees",
"member_removed": "Member removed", "member_removed": "Member removed",
"my_availability": "My Availability", "my_availability": "My Availability",
@@ -2046,5 +2057,10 @@
"no_members_found": "No members found", "no_members_found": "No members found",
"event_setup_length_error":"Event Setup: The duration must be at least 1 minute.", "event_setup_length_error":"Event Setup: The duration must be at least 1 minute.",
"availability_schedules":"Availability Schedules", "availability_schedules":"Availability Schedules",
"view_only_edit_availability_not_onboarded":"This user has not completed onboarding. You will not be able to set their availability until they have completed onboarding.",
"view_only_edit_availability":"You are viewing this user's availability. You can only edit your own availability.",
"edit_users_availability":"Edit user's availability: {{username}}",
"resend_invitation": "Resend invitation",
"invitation_resent": "The invitation was resent.",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
+116 -1
View File
@@ -17,9 +17,15 @@
"verify_email_banner_body": "Verifique su dirección de correo electrónico para garantizar la mejor entrega de correo electrónico y calendario", "verify_email_banner_body": "Verifique su dirección de correo electrónico para garantizar la mejor entrega de correo electrónico y calendario",
"verify_email_email_header": "Verifique su dirección de correo electrónico", "verify_email_email_header": "Verifique su dirección de correo electrónico",
"verify_email_email_button": "Verificar correo electrónico", "verify_email_email_button": "Verificar correo electrónico",
"copy_somewhere_safe": "Guarde esta clave API en algún lugar seguro. No podrá volver a verla.",
"verify_email_email_body": "Verifique su dirección de correo electrónico al hacer clic en el botón a continuación.", "verify_email_email_body": "Verifique su dirección de correo electrónico al hacer clic en el botón a continuación.",
"verify_email_by_code_email_body": "Verifique su dirección de correo electrónico al hacer clic en el botón a continuación.",
"verify_email_email_link_text": "Este es el enlace en caso de que no prefiera hacer clic en los botones:", "verify_email_email_link_text": "Este es el enlace en caso de que no prefiera hacer clic en los botones:",
"email_verification_code": "Ingrese el código de verificación",
"email_verification_code_placeholder": "Ingrese el código de verificación enviado a su correo",
"incorrect_email_verification_code": "El código de verificación es incorrecto.",
"email_sent": "Correo electrónico enviado correctamente", "email_sent": "Correo electrónico enviado correctamente",
"email_not_sent": "Se produjo un error al enviar el correo electrónico",
"event_declined_subject": "Rechazado: {{title}} en {{date}}", "event_declined_subject": "Rechazado: {{title}} en {{date}}",
"event_cancelled_subject": "Cancelado: {{title}} el {{date}}", "event_cancelled_subject": "Cancelado: {{title}} el {{date}}",
"event_request_declined": "Su solicitud de reunión ha sido rechazada", "event_request_declined": "Su solicitud de reunión ha sido rechazada",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "Un nuevo evento está esperando su aprobación", "event_awaiting_approval_recurring": "Un nuevo evento está esperando su aprobación",
"someone_requested_an_event": "Alguien ha solicitado programar un evento en su calendario.", "someone_requested_an_event": "Alguien ha solicitado programar un evento en su calendario.",
"someone_requested_password_reset": "Alguien ha solicitado un enlace para cambiar su contraseña.", "someone_requested_password_reset": "Alguien ha solicitado un enlace para cambiar su contraseña.",
"password_reset_email_sent": "Si este correo electrónico existe en nuestro sistema, debería recibir un correo electrónico de restablecimiento.",
"password_reset_instructions": "Si usted no solicitó esto, puede ignorar este correo electrónico de forma segura y su contraseña no se cambiará.", "password_reset_instructions": "Si usted no solicitó esto, puede ignorar este correo electrónico de forma segura y su contraseña no se cambiará.",
"event_awaiting_approval_subject": "Esperando aprobación: {{title}} en {{date}}", "event_awaiting_approval_subject": "Esperando aprobación: {{title}} en {{date}}",
"event_still_awaiting_approval": "Un evento aún está esperando su aprobación", "event_still_awaiting_approval": "Un evento aún está esperando su aprobación",
@@ -217,6 +224,10 @@
"already_have_an_account": "¿Ya tienes una cuenta?", "already_have_an_account": "¿Ya tienes una cuenta?",
"create_account": "Crear Cuenta", "create_account": "Crear Cuenta",
"confirm_password": "Confirmar Contraseña", "confirm_password": "Confirmar Contraseña",
"confirm_auth_change": "Esto cambiará la forma de iniciar sesión",
"confirm_auth_email_change": "Cambiar la dirección de correo electrónico desconectará su método de autenticación actual para iniciar sesión en Cal.com. Le pediremos que verifique su nueva dirección de correo electrónico. En el futuro, se cerrará su sesión y utilizará su nueva dirección de correo electrónico para iniciar sesión en lugar de su método de autenticación actual después de configurar su contraseña siguiendo las instrucciones que se enviarán a su correo.",
"reset_your_password": "Establezca su nueva contraseña con las instrucciones enviadas a su dirección de correo electrónico.",
"email_change": "Vuelva a iniciar sesión con su nueva dirección de correo electrónico y contraseña.",
"create_your_account": "Crea tu Cuenta", "create_your_account": "Crea tu Cuenta",
"sign_up": "Regístrate", "sign_up": "Regístrate",
"youve_been_logged_out": "Has cerrado la sesión", "youve_been_logged_out": "Has cerrado la sesión",
@@ -243,6 +254,10 @@
"all": "Todas las aplicaciones", "all": "Todas las aplicaciones",
"yours": "Su cuenta", "yours": "Su cuenta",
"available_apps": "Aplicaciones disponibles", "available_apps": "Aplicaciones disponibles",
"available_apps_lower_case": "Aplicaciones disponibles",
"available_apps_desc": "No tiene aplicaciones instaladas. Vea las aplicaciones populares a continuación y explore más en nuestra <1>App Store</1>",
"fixed_host_helper": "Agregue a cualquier persona que necesite asistir al evento. <1>Más información</1>",
"round_robin_helper": "Las personas del grupo se turnan y solo una persona se presentará al evento.",
"check_email_reset_password": "Revisa tu email. Te hemos enviado un enlace para restablecer tu contraseña.", "check_email_reset_password": "Revisa tu email. Te hemos enviado un enlace para restablecer tu contraseña.",
"finish": "Terminar", "finish": "Terminar",
"organization_general_description": "Administre los ajustes para el idioma y la zona horaria de su equipo", "organization_general_description": "Administre los ajustes para el idioma y la zona horaria de su equipo",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "Lo último, una breve descripción sobre usted y una foto lo ayudan a obtener reservas y a que las personas sepan con quién están reservando.", "nearly_there_instructions": "Lo último, una breve descripción sobre usted y una foto lo ayudan a obtener reservas y a que las personas sepan con quién están reservando.",
"set_availability_instructions": "Defina los intervalos de tiempo cuando esté disponible de forma recurrente. Puede crear más tarde y asignarlos a diferentes calendarios.", "set_availability_instructions": "Defina los intervalos de tiempo cuando esté disponible de forma recurrente. Puede crear más tarde y asignarlos a diferentes calendarios.",
"set_availability": "Establecer Disponibilidad", "set_availability": "Establecer Disponibilidad",
"availability_settings": "Configuración de disponibilidad",
"continue_without_calendar": "Continuar sin calendario", "continue_without_calendar": "Continuar sin calendario",
"connect_your_calendar": "Conecta tu calendario", "connect_your_calendar": "Conecta tu calendario",
"connect_your_video_app": "Conecte sus aplicaciones favoritas", "connect_your_video_app": "Conecte sus aplicaciones favoritas",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "Los enlaces de reservas grupales se pueden crear dinámicamente añadiendo varios nombres de usuario con un '+'. Ejemplo: '{{appName}}/bailey+peer'", "allow_dynamic_booking_tooltip": "Los enlaces de reservas grupales se pueden crear dinámicamente añadiendo varios nombres de usuario con un '+'. Ejemplo: '{{appName}}/bailey+peer'",
"allow_dynamic_booking": "Permitir que los asistentes lo reserven a través de reservas dinámicas de grupo", "allow_dynamic_booking": "Permitir que los asistentes lo reserven a través de reservas dinámicas de grupo",
"dynamic_booking": "Enlaces dinámicos de grupo", "dynamic_booking": "Enlaces dinámicos de grupo",
"allow_seo_indexing": "Permita que los motores de búsqueda accedan a su contenido público",
"seo_indexing": "Permitir indexación SEO",
"email": "Correo electrónico", "email": "Correo electrónico",
"email_placeholder": "nombre@ejemplo.com", "email_placeholder": "nombre@ejemplo.com",
"full_name": "Nombre Completo", "full_name": "Nombre Completo",
@@ -406,6 +424,7 @@
"booking_requested": "Reserva solicitada", "booking_requested": "Reserva solicitada",
"meeting_ended": "Reunión finalizada", "meeting_ended": "Reunión finalizada",
"form_submitted": "Formulario enviado", "form_submitted": "Formulario enviado",
"booking_paid": "Reserva pagada",
"event_triggers": "Activadores de Eventos", "event_triggers": "Activadores de Eventos",
"subscriber_url": "URL del suscriptor", "subscriber_url": "URL del suscriptor",
"create_new_webhook": "Crear un nuevo Webhook", "create_new_webhook": "Crear un nuevo Webhook",
@@ -506,6 +525,7 @@
"your_name": "Tu Nombre", "your_name": "Tu Nombre",
"your_full_name": "Su nombre completo", "your_full_name": "Su nombre completo",
"no_name": "Sin nombre", "no_name": "Sin nombre",
"enter_number_between_range": "Introduzca un número entre 1 y {{maxOccurences}}",
"email_address": "Email", "email_address": "Email",
"enter_valid_email": "Ingresa un correo electrónico válido", "enter_valid_email": "Ingresa un correo electrónico válido",
"location": "Ubicación", "location": "Ubicación",
@@ -543,6 +563,7 @@
"leave": "Abandonar", "leave": "Abandonar",
"profile": "Perfil", "profile": "Perfil",
"my_team_url": "URL de Mi Equipo", "my_team_url": "URL de Mi Equipo",
"my_teams": "Mis equipos",
"team_name": "Nombre del equipo", "team_name": "Nombre del equipo",
"your_team_name": "Nombre de tu Equipo", "your_team_name": "Nombre de tu Equipo",
"team_updated_successfully": "Equipo Actualizado Correctamente", "team_updated_successfully": "Equipo Actualizado Correctamente",
@@ -570,6 +591,8 @@
"invite_new_member": "Invitar a un nuevo miembro", "invite_new_member": "Invitar a un nuevo miembro",
"invite_new_member_description": "Nota: Esto costará <1>una plaza adicional ($15/m)</1> en su suscripción.", "invite_new_member_description": "Nota: Esto costará <1>una plaza adicional ($15/m)</1> en su suscripción.",
"invite_new_team_member": "Invita a alguien a tu equipo.", "invite_new_team_member": "Invita a alguien a tu equipo.",
"upload_csv_file": "Cargar un archivo .csv",
"invite_via_email": "Invitar por correo electrónico",
"change_member_role": "Cambiar rol del miembro del equipo", "change_member_role": "Cambiar rol del miembro del equipo",
"disable_cal_branding": "Desactivar la marca de {{appName}}", "disable_cal_branding": "Desactivar la marca de {{appName}}",
"disable_cal_branding_description": "Ocultar todas las marcas de {{appName}} de sus páginas públicas.", "disable_cal_branding_description": "Ocultar todas las marcas de {{appName}} de sus páginas públicas.",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "El usuario necesita aceptar la invitación para ver su disponibilidad", "team_view_user_availability_disabled": "El usuario necesita aceptar la invitación para ver su disponibilidad",
"set_as_away": "Activar estado Ausente", "set_as_away": "Activar estado Ausente",
"set_as_free": "Desactivar estado Ausente", "set_as_free": "Desactivar estado Ausente",
"toggle_away_error": "Error al actualizar el estado ausente",
"user_away": "Este usuario se encuentra Ausente.", "user_away": "Este usuario se encuentra Ausente.",
"user_away_description": "La persona a la que estás intentando reservar se ha marcado a sí misma como Ausente, por lo tanto, no acepta nuevas reservas por ahora.", "user_away_description": "La persona a la que estás intentando reservar se ha marcado a sí misma como Ausente, por lo tanto, no acepta nuevas reservas por ahora.",
"meet_people_with_the_same_tokens": "Conoce personas con los mismos tokens", "meet_people_with_the_same_tokens": "Conoce personas con los mismos tokens",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "Para cambiar tu correo electrónico, contraseña, habilitar la autenticación de doble factor y más, por favor visita la configuración de tu cuenta de {{provider}}.", "account_managed_by_identity_provider_description": "Para cambiar tu correo electrónico, contraseña, habilitar la autenticación de doble factor y más, por favor visita la configuración de tu cuenta de {{provider}}.",
"signin_with_google": "Iniciar sesión con Google", "signin_with_google": "Iniciar sesión con Google",
"signin_with_saml": "Iniciar sesión con SAML", "signin_with_saml": "Iniciar sesión con SAML",
"signin_with_saml_oidc": "Inicie sesión con SAML/OIDC",
"you_will_need_to_generate": "Necesitarás generar un token de acceso desde tu antigua herramienta de programación.", "you_will_need_to_generate": "Necesitarás generar un token de acceso desde tu antigua herramienta de programación.",
"import": "Importar", "import": "Importar",
"import_from": "Importar desde", "import_from": "Importar desde",
@@ -950,6 +975,8 @@
"offer_seats_description": "Ofrecer plazas para las reservas (desactiva las reservas de invitados y las optativas)", "offer_seats_description": "Ofrecer plazas para las reservas (desactiva las reservas de invitados y las optativas)",
"seats_available_one": "Plazas disponibles", "seats_available_one": "Plazas disponibles",
"seats_available_other": "Plazas disponibles", "seats_available_other": "Plazas disponibles",
"seats_nearly_full": "Cupos casi llenos",
"seats_half_full": "Los cupos se están copando rápido",
"number_of_seats": "Número de plazas por reserva", "number_of_seats": "Número de plazas por reserva",
"enter_number_of_seats": "Introduzca el número de plazas", "enter_number_of_seats": "Introduzca el número de plazas",
"you_can_manage_your_schedules": "Puede administrar sus horarios en la página Disponibilidad.", "you_can_manage_your_schedules": "Puede administrar sus horarios en la página Disponibilidad.",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "¿Cómo quiere añadir {{appName}} a su sitio?", "how_you_want_add_cal_site": "¿Cómo quiere añadir {{appName}} a su sitio?",
"choose_ways_put_cal_site": "Elija una de las siguientes maneras de poner {{appName}} en su sitio.", "choose_ways_put_cal_site": "Elija una de las siguientes maneras de poner {{appName}} en su sitio.",
"setting_up_zapier": "Configurando su integración con Zapier", "setting_up_zapier": "Configurando su integración con Zapier",
"setting_up_make": "Configurando su integración Make",
"generate_api_key": "Generar clave API", "generate_api_key": "Generar clave API",
"generate_api_key_description": "Generar una clave API para usar con {{appName}} en", "generate_api_key_description": "Generar una clave API para usar con {{appName}} en",
"your_unique_api_key": "Su clave API única", "your_unique_api_key": "Su clave API única",
"copy_safe_api_key": "Copie esta clave API y guárdela en algún lugar seguro. Si pierde esta clave tendrá que generar una nueva.", "copy_safe_api_key": "Copie esta clave API y guárdela en algún lugar seguro. Si pierde esta clave tendrá que generar una nueva.",
"zapier_setup_instructions": "<0>Inicie sesión en su cuenta de Zapier y cree un nuevo Zap.</0><1>Seleccione Cal.com cómo su aplicación Trigger. También elija un evento Trigger.</1><2>Seleccione su cuenta e ingrese su Clave API única.</2><3>Pruebe su Trigger.</3><4>¡Listo!</4>", "zapier_setup_instructions": "<0>Inicie sesión en su cuenta de Zapier y cree un nuevo Zap.</0><1>Seleccione Cal.com cómo su aplicación Trigger. También elija un evento Trigger.</1><2>Seleccione su cuenta e ingrese su Clave API única.</2><3>Pruebe su Trigger.</3><4>¡Listo!</4>",
"make_setup_instructions": "<0>Vaya al <1><0>Enlace de invitación de Make</0></1> e instale la aplicación Cal.com.</0><1>Inicie sesión en su cuenta de Make y cree un nuevo escenario.</1><2>Seleccione Cal.com como su aplicación de activación. Elija también un evento de activación.</2><3>Elija su cuenta y luego ingrese su clave API única.</3><4>Pruebe su activador.</4><5>¡Ya está!</5 >",
"install_zapier_app": "Instale primero la aplicación Zapier desde la App Store.", "install_zapier_app": "Instale primero la aplicación Zapier desde la App Store.",
"install_make_app": "Instale primero la aplicación Make desde la App Store.",
"connect_apple_server": "Conectar con Apple Server", "connect_apple_server": "Conectar con Apple Server",
"calendar_url": "URL del calendario", "calendar_url": "URL del calendario",
"apple_server_generate_password": "Genere una contraseña específica de la aplicación para utilizarla con {{appName}} en", "apple_server_generate_password": "Genere una contraseña específica de la aplicación para utilizarla con {{appName}} en",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "enviar correo electrónico a los asistentes", "email_attendee_action": "enviar correo electrónico a los asistentes",
"sms_attendee_action": "Enviar un SMS al asistente", "sms_attendee_action": "Enviar un SMS al asistente",
"sms_number_action": "enviar SMS a un número específico", "sms_number_action": "enviar SMS a un número específico",
"send_reminder_sms": "Envíe fácilmente recordatorios de reuniones por SMS a sus asistentes",
"whatsapp_number_action": "enviar un mensaje de Whatsapp a un número específico", "whatsapp_number_action": "enviar un mensaje de Whatsapp a un número específico",
"whatsapp_attendee_action": "enviar un mensae de Whatsapp al asistente", "whatsapp_attendee_action": "enviar un mensae de Whatsapp al asistente",
"workflows": "Flujos de trabajo", "workflows": "Flujos de trabajo",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "Error al actualizar la configuración", "error_updating_settings": "Error al actualizar la configuración",
"personal_cal_url": "Mi URL personal de {{appName}}", "personal_cal_url": "Mi URL personal de {{appName}}",
"bio_hint": "Algunas frases sobre usted, esta información aparecerá en la página de su URL personal.", "bio_hint": "Algunas frases sobre usted, esta información aparecerá en la página de su URL personal.",
"user_has_no_bio": "Este usuario no ha añadido una biografía todavía.",
"delete_account_modal_title": "Eliminar cuenta", "delete_account_modal_title": "Eliminar cuenta",
"confirm_delete_account_modal": "¿Está seguro que desea eliminar su cuenta de {{appName}}?", "confirm_delete_account_modal": "¿Está seguro que desea eliminar su cuenta de {{appName}}?",
"delete_my_account": "Eliminar mi cuenta", "delete_my_account": "Eliminar mi cuenta",
@@ -1426,6 +1458,7 @@
"add_limit": "Agregue un límite", "add_limit": "Agregue un límite",
"team_name_required": "Nombre de equipo requerido", "team_name_required": "Nombre de equipo requerido",
"show_attendees": "Comparta información de los asistentes entre los invitados", "show_attendees": "Comparta información de los asistentes entre los invitados",
"show_available_seats_count": "Mostrar el número de cupos disponibles",
"how_booking_questions_as_variables": "¿Cómo utilizar las preguntas de reserva como variables?", "how_booking_questions_as_variables": "¿Cómo utilizar las preguntas de reserva como variables?",
"format": "Formato", "format": "Formato",
"uppercase_for_letters": "Use mayúsculas para todas las letras", "uppercase_for_letters": "Use mayúsculas para todas las letras",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "¿Está seguro de que desea eliminar la configuración de {{connectionType}}? Los miembros de su equipo que utilicen el inicio de sesión {{connectionType}} ya no podrán acceder a Cal.com.", "delete_sso_configuration_confirmation_description": "¿Está seguro de que desea eliminar la configuración de {{connectionType}}? Los miembros de su equipo que utilicen el inicio de sesión {{connectionType}} ya no podrán acceder a Cal.com.",
"organizer_timezone": "Zona horaria del organizador", "organizer_timezone": "Zona horaria del organizador",
"email_user_cta": "Ver la invitación", "email_user_cta": "Ver la invitación",
"email_no_user_invite_heading_team": "Lo han invitado a unirse a un equipo en {{appName}}",
"email_no_user_invite_heading_org": "Lo han invitado a unirse a una organización en {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} lo invitó a unirse a su equipo en {{appName}}. {{appName}} es el programador de eventos que les permite a usted y a su equipo programar reuniones sin necesidad de enviar correos electrónicos.", "email_no_user_invite_subheading": "{{invitedBy}} lo invitó a unirse a su equipo en {{appName}}. {{appName}} es el programador de eventos que les permite a usted y a su equipo programar reuniones sin necesidad de enviar correos electrónicos.",
"email_user_invite_subheading_team": "{{invitedBy}} lo ha invitado a unirse a su equipo \"{{teamName}}\" en {{appName}}. {{appName}} es el planificador de eventos que le permite a usted y a su equipo programar reuniones sin correos electrónicos de ida y vuelta.", "email_user_invite_subheading_team": "{{invitedBy}} lo ha invitado a unirse a su equipo \"{{teamName}}\" en {{appName}}. {{appName}} es el planificador de eventos que le permite a usted y a su equipo programar reuniones sin correos electrónicos de ida y vuelta.",
"email_user_invite_subheading_org": "{{invitedBy}} lo ha invitado a unirse a su organización \"{{teamName}}\" en {{appName}}. {{appName}} es el programador de eventos que le permite a usted y a su organización programar reuniones sin el tenis del correo electrónico.",
"email_no_user_invite_steps_intro": "Lo guiaremos a través de unos pocos pasos y disfrutará de una programación sin estrés con su {{entity}} en muy poco tiempo.", "email_no_user_invite_steps_intro": "Lo guiaremos a través de unos pocos pasos y disfrutará de una programación sin estrés con su {{entity}} en muy poco tiempo.",
"email_no_user_step_one": "Elija su nombre de usuario", "email_no_user_step_one": "Elija su nombre de usuario",
"email_no_user_step_two": "Conecte su cuenta de calendario", "email_no_user_step_two": "Conecte su cuenta de calendario",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "No se encontraron datos para el filtro seleccionado o las fechas seleccionadas.", "insights_no_data_found_for_filter": "No se encontraron datos para el filtro seleccionado o las fechas seleccionadas.",
"acknowledge_booking_no_show_fee": "Reconozco que si no asisto a este evento, se aplicará a mi tarjeta una tarifa de {{amount, currency}} por no presentarme.", "acknowledge_booking_no_show_fee": "Reconozco que si no asisto a este evento, se aplicará a mi tarjeta una tarifa de {{amount, currency}} por no presentarme.",
"card_details": "Detalles de la tarjeta", "card_details": "Detalles de la tarjeta",
"something_went_wrong_on_our_end": "Algo salió mal por nuestra parte. Póngase en contacto con nuestro equipo de soporte y lo solucionaremos de inmediato.",
"please_provide_following_text_to_suppport": "Proporcione el siguiente texto cuando se comunique con el soporte para ayudarlo mejor",
"seats_and_no_show_fee_error": "Actualmente, no se pueden habilitar cupos ni cobrar una tarifa por no presentarse", "seats_and_no_show_fee_error": "Actualmente, no se pueden habilitar cupos ni cobrar una tarifa por no presentarse",
"complete_your_booking": "Complete su reserva", "complete_your_booking": "Complete su reserva",
"complete_your_booking_subject": "Complete su reserva: {{title}} el {{date}}", "complete_your_booking_subject": "Complete su reserva: {{title}} el {{date}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "Abre su cuadro de diálogo Cal cuando alguien hace clic en un elemento.", "open_dialog_with_element_click": "Abre su cuadro de diálogo Cal cuando alguien hace clic en un elemento.",
"need_help_embedding": "¿Necesita ayuda? Consulte nuestras guías para incrustar Cal en Wix, Squarespace o WordPress, consulte nuestras preguntas comunes o explore las opciones avanzadas de incrustación.", "need_help_embedding": "¿Necesita ayuda? Consulte nuestras guías para incrustar Cal en Wix, Squarespace o WordPress, consulte nuestras preguntas comunes o explore las opciones avanzadas de incrustación.",
"book_my_cal": "Reservar mi Cal", "book_my_cal": "Reservar mi Cal",
"first_name": "Nombre",
"last_name": "Nombre",
"first_last_name": "Nombre, Apellido",
"invite_as": "Invitar como", "invite_as": "Invitar como",
"form_updated_successfully": "Formulario actualizado con éxito.", "form_updated_successfully": "Formulario actualizado con éxito.",
"disable_attendees_confirmation_emails": "Desactivar los correos electrónicos de confirmación predeterminados para los asistentes", "disable_attendees_confirmation_emails": "Desactivar los correos electrónicos de confirmación predeterminados para los asistentes",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "Cree su primer webhook para este tipo de evento", "first_event_type_webhook_description": "Cree su primer webhook para este tipo de evento",
"install_app_on": "Instalar aplicación en", "install_app_on": "Instalar aplicación en",
"create_for": "Crear para", "create_for": "Crear para",
"currency": "Moneda",
"organization_banner_description": "Cree entornos en los que sus equipos puedan crear aplicaciones, flujos de trabajo y tipos de eventos compartidos con programación por turnos y colectiva.", "organization_banner_description": "Cree entornos en los que sus equipos puedan crear aplicaciones, flujos de trabajo y tipos de eventos compartidos con programación por turnos y colectiva.",
"organization_banner_title": "Gestione organizaciones con varios equipos", "organization_banner_title": "Gestione organizaciones con varios equipos",
"set_up_your_organization": "Configure su organización", "set_up_your_organization": "Configure su organización",
@@ -1888,7 +1930,7 @@
"organization_name": "Nombre de la organización", "organization_name": "Nombre de la organización",
"organization_url": "URL de la organización", "organization_url": "URL de la organización",
"organization_verify_header": "Verifique el correo electrónico de su organización", "organization_verify_header": "Verifique el correo electrónico de su organización",
"organization_verify_email_body": "Utilice el código a continuación para verificar su dirección de correo electrónico para seguir configurando su organización.", "organization_verify_email_body": "Utilice el siguiente código para verificar su dirección de correo electrónico y continuar con la configuración de su organización.",
"additional_url_parameters": "Parámetros adicionales de URL", "additional_url_parameters": "Parámetros adicionales de URL",
"about_your_organization": "Acerca de su organización", "about_your_organization": "Acerca de su organización",
"about_your_organization_description": "Las organizaciones son entornos compartidos donde puede crear varios equipos con miembros, tipos de eventos, aplicaciones, flujos de trabajo compartidos y más.", "about_your_organization_description": "Las organizaciones son entornos compartidos donde puede crear varios equipos con miembros, tipos de eventos, aplicaciones, flujos de trabajo compartidos y más.",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "Equipo: {{teamName}}", "insights_team_filter": "Equipo: {{teamName}}",
"insights_user_filter": "Usuario: {{userName}}", "insights_user_filter": "Usuario: {{userName}}",
"insights_subtitle": "Mire información de insights en todos sus eventos", "insights_subtitle": "Mire información de insights en todos sus eventos",
"location_options": "{{locationCount}} opciones de ubicación",
"custom_plan": "Plan personalizado", "custom_plan": "Plan personalizado",
"email_embed": "Incrustado en el correo electrónico",
"add_times_to_your_email": "Seleccione algunos horarios disponibles e incrústelos en su correo electrónico",
"select_time": "Seleccione la hora",
"select_date": "Seleccione la fecha",
"see_all_available_times": "Ver todas las horas disponibles",
"org_team_names_example": "ej. Equipo de marketing",
"org_team_names_example_1": "ej. Equipo de marketing",
"org_team_names_example_2": "ej. Equipo de ventas",
"org_team_names_example_3": "ej. Equipo de diseño",
"org_team_names_example_4": "ej. Equipo de ingeniería",
"org_team_names_example_5": "ej. Equipo de análisis de datos",
"org_max_team_warnings": "Más adelante podrá añadir más equipos.",
"what_is_this_meeting_about": "¿De qué trata esta reunión?",
"add_to_team": "Agregar al equipo",
"remove_users_from_org": "Eliminar usuarios de la organización",
"remove_users_from_org_confirm": "¿Está seguro de que desea eliminar {{userCount}} usuarios de esta organización?",
"user_has_no_schedules": "Este usuario no ha configurado ningún horario todavía",
"user_isnt_in_any_teams": "Este usuario no está en ningún equipo",
"requires_booker_email_verification": "Requiere verificación por correo electrónico de quien reserva",
"description_requires_booker_email_verification": "Para asegurar la verificación del correo electrónico de quien reserva antes de programar eventos",
"requires_confirmation_mandatory": "Los mensajes de texto solo se pueden enviar a los asistentes cuando el tipo de evento requiere confirmación.",
"kyc_verification_information": "Para garantizar la seguridad, debe verificar su {{teamOrAccount}} antes de enviar mensajes de texto a los asistentes. Comuníquese con nosotros en <a>{{supportEmail}}</a> y proporcione la siguiente información:",
"kyc_verification_documents": "<ul><li>Su {{teamOrUser}}</li><li>Para empresas: adjunte su documentación de verificación comercial</li><li>Para individuos: adjunte una identificación emitida por el gobierno</li></ul >",
"verify_team_or_account": "Verificar {{teamOrAccount}}",
"verify_account": "Verificar cuenta",
"kyc_verification": "Verificación de KYC",
"organizations": "Organizaciones",
"org_admin_other_teams": "Otros equipos",
"org_admin_other_teams_description": "Aquí puede ver los equipos dentro de su organización de los que no forma parte. Puede agregarse a ellos si es necesario.",
"no_other_teams_found": "No se encontraron otros equipos",
"no_other_teams_found_description": "No hay otros equipos en esta organización.",
"attendee_first_name_variable": "Nombre del asistente",
"attendee_last_name_variable": "Apellido del asistente",
"attendee_first_name_info": "Nombre de la persona que reserva",
"attendee_last_name_info": "Apellido de la persona que reserva",
"me": "Yo",
"verify_team_tooltip": "Verifique su equipo para activar el envío de mensajes a los asistentes",
"member_removed": "Miembro eliminado",
"my_availability": "Mi disponibilidad",
"team_availability": "Disponibilidad del equipo",
"backup_code": "Código de respaldo",
"backup_codes": "Códigos de respaldo",
"backup_code_instructions": "Cada código de respaldo se puede utilizar exactamente una vez para conceder acceso sin su autenticador.",
"backup_codes_copied": "¡Códigos de respaldo copiados!",
"incorrect_backup_code": "El código de respaldo no es correcto.",
"lost_access": "Acceso perdido",
"missing_backup_codes": "No se encontraron códigos de respaldo. Genere los códigos en su configuración.",
"admin_org_notification_email_subject": "Nueva organización creada: acción pendiente",
"hi_admin": "Hola Administrador",
"admin_org_notification_email_title": "Una organización requiere la configuración DNS",
"admin_org_notification_email_body_part1": "Se creó una organización con slug \"{{orgSlug}}\".<br /><br />Asegúrese de configurar su registro DNS para que apunte el subdominio correspondiente a la nueva organización hacia donde se ejecuta la aplicación principal. De lo contrario, la organización no funcionará.<br /><br />Estas son solo las opciones muy básicas para configurar un subdominio para que apunte a su aplicación para que cargue la página de perfil de la organización.<br /><br />Puede hacerlo ya sea con el Registro A:",
"admin_org_notification_email_body_part2": "O el registro CNAME:",
"admin_org_notification_email_body_part3": "Una vez que configure el subdominio, marque la configuración DNS como se hace en la Configuración de administrador.",
"admin_org_notification_email_cta": "Ir a la Configuración del administrador de organizaciones",
"org_has_been_processed": "Se procesó la organización",
"org_error_processing": "Ocurrió un error al procesar esta organización",
"orgs_page_description": "Una lista de todas las organizaciones. Aceptar una organización permitirá que todos los usuarios con ese dominio de correo electrónico se registren SIN verificación de correo electrónico.",
"unverified": "Sin verificar",
"dns_missing": "Falta el DNS",
"mark_dns_configured": "Marcar como DNS configurado",
"value": "Valor",
"your_organization_updated_sucessfully": "Su organization se actualizó con éxito",
"team_no_event_types": "Este equipo no tiene tipos de eventos",
"seat_options_doesnt_multiple_durations": "La opción Cupo no soporta múltiples duraciones",
"include_calendar_event": "Incluir evento del calendario",
"recently_added": "Añadido recientemente",
"no_members_found": "No se encontraron miembros",
"event_setup_length_error": "Configuración del evento: la duración debe ser de al menos 1 minuto.",
"availability_schedules": "Horarios de disponibilidad",
"view_only_edit_availability_not_onboarded": "Este usuario no ha completado la incorporación. No podrá establecer su disponibilidad hasta que haya completado la incorporación.",
"view_only_edit_availability": "Está viendo la disponibilidad de este usuario. Sólo puede editar su propia disponibilidad.",
"edit_users_availability": "Editar disponibilidad del usuario: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Agregue sus nuevas cadenas arriba ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Agregue sus nuevas cadenas arriba ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
+15 -5
View File
@@ -45,7 +45,6 @@
"invite_team_individual_segment": "Inviter une personne", "invite_team_individual_segment": "Inviter une personne",
"invite_team_bulk_segment": "Importation multiple", "invite_team_bulk_segment": "Importation multiple",
"invite_team_notifcation_badge": "Inv.", "invite_team_notifcation_badge": "Inv.",
"signin_or_signup_to_accept_invite": "Vous devez vous connecter ou vous inscrire pour voir l'invitation d'équipe.",
"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}} ».",
@@ -292,9 +291,9 @@
"add_another_calendar": "Ajouter un autre calendrier", "add_another_calendar": "Ajouter un autre calendrier",
"other": "Autre", "other": "Autre",
"email_sign_in_subject": "Votre lien de connexion pour {{appName}}", "email_sign_in_subject": "Votre lien de connexion pour {{appName}}",
"emailed_you_and_attendees": "Vous et tous les autres participants avez reçu ces informations par e-mail.", "emailed_you_and_attendees": "Nous avons envoyé un e-mail avec une invitation de calendrier comprenant les détails à tout le monde.",
"emailed_you_and_attendees_recurring": "Vous et tous les autres participants avez reçu par e-mail les informations pour le premier de ces événements récurrents.", "emailed_you_and_attendees_recurring": "Nous avons envoyé un e-mail avec une invitation de calendrier comprenant les détails à tout le monde pour le premier de ces événements récurrents.",
"emailed_you_and_any_other_attendees": "Vous et tous les autres participants avez reçu ces informations par e-mail.", "emailed_you_and_any_other_attendees": "Nous avons envoyé cette information à tout le monde par e-mail.",
"needs_to_be_confirmed_or_rejected": "Votre réservation doit encore être confirmée ou refusée.", "needs_to_be_confirmed_or_rejected": "Votre réservation doit encore être confirmée ou refusée.",
"needs_to_be_confirmed_or_rejected_recurring": "Votre rendez-vous récurrent doit encore être confirmé ou refusé.", "needs_to_be_confirmed_or_rejected_recurring": "Votre rendez-vous récurrent doit encore être confirmé ou refusé.",
"user_needs_to_confirm_or_reject_booking": "{{user}} doit encore confirmer ou refuser la réservation.", "user_needs_to_confirm_or_reject_booking": "{{user}} doit encore confirmer ou refuser la réservation.",
@@ -592,6 +591,8 @@
"invite_new_member": "Inviter un nouveau membre d'équipe", "invite_new_member": "Inviter un nouveau membre d'équipe",
"invite_new_member_description": "Remarque : cela <1>coûtera une place supplémentaire (15 $/mois)</1> sur votre abonnement.", "invite_new_member_description": "Remarque : cela <1>coûtera une place supplémentaire (15 $/mois)</1> sur votre abonnement.",
"invite_new_team_member": "Invitez quelqu'un à rejoindre votre équipe.", "invite_new_team_member": "Invitez quelqu'un à rejoindre votre équipe.",
"upload_csv_file": "Télécharger un fichier .csv",
"invite_via_email": "Inviter par e-mail",
"change_member_role": "Changer le rôle du membre de l'équipe", "change_member_role": "Changer le rôle du membre de l'équipe",
"disable_cal_branding": "Désactiver les références à la marque {{appName}}", "disable_cal_branding": "Désactiver les références à la marque {{appName}}",
"disable_cal_branding_description": "Supprimez toutes les références à la marque {{appName}} de vos pages publiques.", "disable_cal_branding_description": "Supprimez toutes les références à la marque {{appName}} de vos pages publiques.",
@@ -974,6 +975,8 @@
"offer_seats_description": "Proposez des places de réservation. Cela désactive automatiquement les réservations d'invités et d'opt-in.", "offer_seats_description": "Proposez des places de réservation. Cela désactive automatiquement les réservations d'invités et d'opt-in.",
"seats_available_one": "Place disponible", "seats_available_one": "Place disponible",
"seats_available_other": "Places disponibles", "seats_available_other": "Places disponibles",
"seats_nearly_full": "Places presque toutes occupées",
"seats_half_full": "Les places partent vite",
"number_of_seats": "Nombre de places par réservation", "number_of_seats": "Nombre de places par réservation",
"enter_number_of_seats": "Saisir le nombre de sièges", "enter_number_of_seats": "Saisir le nombre de sièges",
"you_can_manage_your_schedules": "Vous pouvez gérer vos disponibilités sur la page Disponibilité.", "you_can_manage_your_schedules": "Vous pouvez gérer vos disponibilités sur la page Disponibilité.",
@@ -1100,7 +1103,7 @@
"reschedule_optional": "Raison de la replanification (facultatif)", "reschedule_optional": "Raison de la replanification (facultatif)",
"reschedule_placeholder": "Faites savoir aux autres pourquoi vous devez replanifier le rendez-vous.", "reschedule_placeholder": "Faites savoir aux autres pourquoi vous devez replanifier le rendez-vous.",
"event_cancelled": "Cet événement est annulé", "event_cancelled": "Cet événement est annulé",
"emailed_information_about_cancelled_event": "Nous vous avons envoyé un e-mail à vous et aux autres participants pour les en informer.", "emailed_information_about_cancelled_event": "Nous avons envoyé un e-mail à tout le monde pour les en informer.",
"this_input_will_shown_booking_this_event": "Ce champ sera affiché lors de la réservation de cet événement.", "this_input_will_shown_booking_this_event": "Ce champ sera affiché lors de la réservation de cet événement.",
"meeting_url_in_confirmation_email": "Le lien du rendez-vous est dans l'e-mail de confirmation", "meeting_url_in_confirmation_email": "Le lien du rendez-vous est dans l'e-mail de confirmation",
"url_start_with_https": "Le lien doit commencer par http:// ou https://", "url_start_with_https": "Le lien doit commencer par http:// ou https://",
@@ -1455,6 +1458,7 @@
"add_limit": "Ajouter une limite", "add_limit": "Ajouter une limite",
"team_name_required": "Nom d'équipe requis", "team_name_required": "Nom d'équipe requis",
"show_attendees": "Partagez les informations des participants entre les invités", "show_attendees": "Partagez les informations des participants entre les invités",
"show_available_seats_count": "Afficher le nombre de places disponibles",
"how_booking_questions_as_variables": "Comment utiliser les questions de réservation comme variables ?", "how_booking_questions_as_variables": "Comment utiliser les questions de réservation comme variables ?",
"format": "Format", "format": "Format",
"uppercase_for_letters": "Utilisez des majuscules pour toutes les lettres.", "uppercase_for_letters": "Utilisez des majuscules pour toutes les lettres.",
@@ -2012,7 +2016,13 @@
"attendee_last_name_variable": "Nom du participant", "attendee_last_name_variable": "Nom du participant",
"attendee_first_name_info": "Le prénom du participant", "attendee_first_name_info": "Le prénom du participant",
"attendee_last_name_info": "Le nom de famille du participant", "attendee_last_name_info": "Le nom de famille du participant",
"your_monthly_digest": "Votre résumé mensuel",
"member_name": "Nom du membre",
"most_popular_events": "Événements les plus populaires",
"summary_of_events_for_your_team_for_the_last_30_days": "Voici votre résumé des événements populaires pour votre équipe {{teamName}} au cours des 30 derniers jours",
"me": "Moi", "me": "Moi",
"monthly_digest_email": "E-mail de résumé mensuel",
"monthly_digest_email_for_teams": "E-mail de résumé mensuel pour les équipes",
"verify_team_tooltip": "Vérifiez votre équipe pour activer l'envoi de messages aux participants", "verify_team_tooltip": "Vérifiez votre équipe pour activer l'envoi de messages aux participants",
"member_removed": "Membre supprimé", "member_removed": "Membre supprimé",
"my_availability": "Mes disponibilités", "my_availability": "Mes disponibilités",
@@ -210,6 +210,8 @@
"done": "Učinjeno", "done": "Učinjeno",
"all_done": "Završeno!", "all_done": "Završeno!",
"all": "Sve", "all": "Sve",
"available_apps": "Dostupne Aplikacije",
"available_apps_lower_case": "Dostupne aplikacije",
"check_email_reset_password": "Provjerite svoju e-poštu. Poslali smo vam link za resetiranje lozinke.", "check_email_reset_password": "Provjerite svoju e-poštu. Poslali smo vam link za resetiranje lozinke.",
"finish": "Završi", "finish": "Završi",
"few_sentences_about_yourself": "Nekoliko rečenica o sebi. Ovo će se pojaviti na vašoj osobnoj stranici.", "few_sentences_about_yourself": "Nekoliko rečenica o sebi. Ovo će se pojaviti na vašoj osobnoj stranici.",
@@ -331,5 +333,6 @@
"dark": "Tamna", "dark": "Tamna",
"automatically_adjust_theme": "Automatski prilagodite temu na temelju preferencija pozvanih osoba", "automatically_adjust_theme": "Automatski prilagodite temu na temelju preferencija pozvanih osoba",
"user_dynamic_booking_disabled": "Neki od korisnika u grupi trenutno su onemogućili dinamičke grupne rezervacije", "user_dynamic_booking_disabled": "Neki od korisnika u grupi trenutno su onemogućili dinamičke grupne rezervacije",
"full_name": "Puno ime",
"insights_all_org_filter": "Sve" "insights_all_org_filter": "Sve"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "Verifica il tuo indirizzo e-mail per garantire la consegna delle e-mail e delle notifiche del calendario", "verify_email_banner_body": "Verifica il tuo indirizzo e-mail per garantire la consegna delle e-mail e delle notifiche del calendario",
"verify_email_email_header": "Verifica il tuo indirizzo e-mail", "verify_email_email_header": "Verifica il tuo indirizzo e-mail",
"verify_email_email_button": "Verifica l'e-mail", "verify_email_email_button": "Verifica l'e-mail",
"copy_somewhere_safe": "Salva questa chiave API in un posto sicuro. Non potrai visualizzarla in seguito.",
"verify_email_email_body": "Verifica il tuo indirizzo e-mail facendo clic sul pulsante qui sotto.", "verify_email_email_body": "Verifica il tuo indirizzo e-mail facendo clic sul pulsante qui sotto.",
"verify_email_by_code_email_body": "Verifica il tuo indirizzo e-mail utilizzando il codice sottostante.",
"verify_email_email_link_text": "Se non ti piacciono i pulsanti, puoi usare questo link:", "verify_email_email_link_text": "Se non ti piacciono i pulsanti, puoi usare questo link:",
"email_verification_code": "Inserisci il codice di verifica",
"email_verification_code_placeholder": "Inserisci il codice di verifica che hai ricevuto via e-mail",
"incorrect_email_verification_code": "Il codice di verifica è errato.",
"email_sent": "Email inviata", "email_sent": "Email inviata",
"email_not_sent": "Si è verificato un errore durante l'invito dell'e-mail",
"event_declined_subject": "Rifiutato: {{title}} il {{date}}", "event_declined_subject": "Rifiutato: {{title}} il {{date}}",
"event_cancelled_subject": "Cancellato: {{title}} il {{date}}", "event_cancelled_subject": "Cancellato: {{title}} il {{date}}",
"event_request_declined": "La tua richiesta per l'evento è stata rifiutata", "event_request_declined": "La tua richiesta per l'evento è stata rifiutata",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "Un evento ricorrente è in attesa della tua approvazione", "event_awaiting_approval_recurring": "Un evento ricorrente è in attesa della tua approvazione",
"someone_requested_an_event": "Qualcuno ha richiesto di programmare un evento sul tuo calendario.", "someone_requested_an_event": "Qualcuno ha richiesto di programmare un evento sul tuo calendario.",
"someone_requested_password_reset": "Qualcuno ha richiesto un link per cambiare la tua password.", "someone_requested_password_reset": "Qualcuno ha richiesto un link per cambiare la tua password.",
"password_reset_email_sent": "Se questo indirizzo e-mail esiste nel nostro sistema, riceverai un'e-mail per la reimpostazione.",
"password_reset_instructions": "Se non l'hai richiesto, puoi tranquillamente ignorare questa email e la tua password non verrà modificata.", "password_reset_instructions": "Se non l'hai richiesto, puoi tranquillamente ignorare questa email e la tua password non verrà modificata.",
"event_awaiting_approval_subject": "In attesa di approvazione: {{title}} il {{date}}", "event_awaiting_approval_subject": "In attesa di approvazione: {{title}} il {{date}}",
"event_still_awaiting_approval": "Un evento è ancora in attesa della tua approvazione", "event_still_awaiting_approval": "Un evento è ancora in attesa della tua approvazione",
@@ -217,6 +224,10 @@
"already_have_an_account": "Hai già un account?", "already_have_an_account": "Hai già un account?",
"create_account": "Crea Account", "create_account": "Crea Account",
"confirm_password": "Conferma password", "confirm_password": "Conferma password",
"confirm_auth_change": "Questo cambierà il modo il cui effettui l'accesso",
"confirm_auth_email_change": "Cambiando l'indirizzo e-mail disconnetterai il tuo metodo di autenticazione attuale che utilizzi per accedere a Cal.com. Ti verrà chiesto di verificare il tuo nuovo indirizzo e-mail. Continuando, verrai disconnesso e dovrai usare il nuovo indirizzo e-mail per accedere, al posto del tuo metodo di autenticazione attuale, dopo aver impostato la password seguendo le istruzioni che ti invieremo al tuo indirizzo e-mail.",
"reset_your_password": "Imposta la nuova password seguendo le istruzioni che ti sono state inviate via e-mail.",
"email_change": "Accedi di nuovo con il nuovo indirizzo e-mail e la nuova password.",
"create_your_account": "Crea il tuo account", "create_your_account": "Crea il tuo account",
"sign_up": "Registrati", "sign_up": "Registrati",
"youve_been_logged_out": "Hai fatto il log out", "youve_been_logged_out": "Hai fatto il log out",
@@ -243,6 +254,10 @@
"all": "Tutte le app", "all": "Tutte le app",
"yours": "Il tuo account", "yours": "Il tuo account",
"available_apps": "Applicazioni disponibili", "available_apps": "Applicazioni disponibili",
"available_apps_lower_case": "Applicazioni disponibili",
"available_apps_desc": "Non hai nessuna applicazione installata. Visualizza le applicazioni popolari qui sotto ed esplorane altre nel nostro <1>App Store</1>",
"fixed_host_helper": "Aggiungi chiunque abbia bisogno di partecipare all'evento. <1>Per saperne di più</1>",
"round_robin_helper": "Le persone nel gruppo fanno a turno e una sola persona si presenterà all'evento.",
"check_email_reset_password": "Controlla la tua email. Ti abbiamo inviato un link per reimpostare la password.", "check_email_reset_password": "Controlla la tua email. Ti abbiamo inviato un link per reimpostare la password.",
"finish": "Fine", "finish": "Fine",
"organization_general_description": "Gestisci le impostazioni della lingua e del fuso orario per il tuo team", "organization_general_description": "Gestisci le impostazioni della lingua e del fuso orario per il tuo team",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "Infine: qualche informazione su di te e una foto sono utili per ottenere prenotazioni e per far capire alle persone con chi stanno prenotando.", "nearly_there_instructions": "Infine: qualche informazione su di te e una foto sono utili per ottenere prenotazioni e per far capire alle persone con chi stanno prenotando.",
"set_availability_instructions": "Definisci intervalli di tempo di quando sei disponibile su una base ricorrente. Puoi crearne di più in seguito e assegnarli a calendari diversi.", "set_availability_instructions": "Definisci intervalli di tempo di quando sei disponibile su una base ricorrente. Puoi crearne di più in seguito e assegnarli a calendari diversi.",
"set_availability": "Imposta la tua disponibilità", "set_availability": "Imposta la tua disponibilità",
"availability_settings": "Impostazioni di disponibilità",
"continue_without_calendar": "Continua senza calendario", "continue_without_calendar": "Continua senza calendario",
"connect_your_calendar": "Collega il tuo calendario", "connect_your_calendar": "Collega il tuo calendario",
"connect_your_video_app": "Collega le tue applicazioni video", "connect_your_video_app": "Collega le tue applicazioni video",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "È possibile creare dinamicamente collegamenti a prenotazioni di gruppo inserendo più nomi utente separati da '+'. Esempio: '{{appName}}/bailey+peer'", "allow_dynamic_booking_tooltip": "È possibile creare dinamicamente collegamenti a prenotazioni di gruppo inserendo più nomi utente separati da '+'. Esempio: '{{appName}}/bailey+peer'",
"allow_dynamic_booking": "Consenti ai partecipanti di prenotare per te utilizzando le prenotazioni di gruppo dinamiche", "allow_dynamic_booking": "Consenti ai partecipanti di prenotare per te utilizzando le prenotazioni di gruppo dinamiche",
"dynamic_booking": "Collegamenti dinamici di gruppo", "dynamic_booking": "Collegamenti dinamici di gruppo",
"allow_seo_indexing": "Consenti ai motori di ricerca di accedere ai tuoi contenuti pubblici",
"seo_indexing": "Consenti l'indicizzazione SEO",
"email": "Email", "email": "Email",
"email_placeholder": "jdoe@example.com", "email_placeholder": "jdoe@example.com",
"full_name": "Nome completo", "full_name": "Nome completo",
@@ -406,6 +424,7 @@
"booking_requested": "Richiesta di prenotazione inviata", "booking_requested": "Richiesta di prenotazione inviata",
"meeting_ended": "Riunione terminata", "meeting_ended": "Riunione terminata",
"form_submitted": "Modulo inviato", "form_submitted": "Modulo inviato",
"booking_paid": "Prenotazione pagata",
"event_triggers": "Attivatori Evento", "event_triggers": "Attivatori Evento",
"subscriber_url": "URL abbonato", "subscriber_url": "URL abbonato",
"create_new_webhook": "Crea un nuovo webhook", "create_new_webhook": "Crea un nuovo webhook",
@@ -506,6 +525,7 @@
"your_name": "Il tuo nome", "your_name": "Il tuo nome",
"your_full_name": "Nome completo", "your_full_name": "Nome completo",
"no_name": "Nessun nome", "no_name": "Nessun nome",
"enter_number_between_range": "Insrisci un numero compreso tra 1 e {{maxOccurences}}",
"email_address": "Indirizzo email", "email_address": "Indirizzo email",
"enter_valid_email": "Immettere un indirizzo e-mail valido", "enter_valid_email": "Immettere un indirizzo e-mail valido",
"location": "Luogo", "location": "Luogo",
@@ -543,6 +563,7 @@
"leave": "Abbandona", "leave": "Abbandona",
"profile": "Profilo", "profile": "Profilo",
"my_team_url": "Url del mio team", "my_team_url": "Url del mio team",
"my_teams": "I miei team",
"team_name": "Nome del team", "team_name": "Nome del team",
"your_team_name": "Nome del tuo team", "your_team_name": "Nome del tuo team",
"team_updated_successfully": "Team aggiornato con successo", "team_updated_successfully": "Team aggiornato con successo",
@@ -570,6 +591,8 @@
"invite_new_member": "Invita un nuovo membro", "invite_new_member": "Invita un nuovo membro",
"invite_new_member_description": "Nota: Sul tuo abbonamento verrà addebitato <1>un posto aggiuntivo (15$/m)</1>.", "invite_new_member_description": "Nota: Sul tuo abbonamento verrà addebitato <1>un posto aggiuntivo (15$/m)</1>.",
"invite_new_team_member": "Invita qualcuno nel tuo team.", "invite_new_team_member": "Invita qualcuno nel tuo team.",
"upload_csv_file": "Carica un file .csv",
"invite_via_email": "Invita via e-mail",
"change_member_role": "Cambia il ruolo del membro del team", "change_member_role": "Cambia il ruolo del membro del team",
"disable_cal_branding": "Disabilita il branding {{appName}}", "disable_cal_branding": "Disabilita il branding {{appName}}",
"disable_cal_branding_description": "Nascondi tutti i brand {{appName}} dalle tue pagine pubbliche.", "disable_cal_branding_description": "Nascondi tutti i brand {{appName}} dalle tue pagine pubbliche.",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "L'utente deve accettare l'invito per visualizzare la disponibilità", "team_view_user_availability_disabled": "L'utente deve accettare l'invito per visualizzare la disponibilità",
"set_as_away": "Segnalati assente", "set_as_away": "Segnalati assente",
"set_as_free": "Disabilita lo stato \"assente\"", "set_as_free": "Disabilita lo stato \"assente\"",
"toggle_away_error": "Errore durante l'aggiornamento dello stato \"assente\"",
"user_away": "Questo utente è attualmente assente.", "user_away": "Questo utente è attualmente assente.",
"user_away_description": "La persona che stai cercando di prenotare si è segnalata assente, quindi non accetta nuove prenotazioni.", "user_away_description": "La persona che stai cercando di prenotare si è segnalata assente, quindi non accetta nuove prenotazioni.",
"meet_people_with_the_same_tokens": "Incontra persone con gli stessi token", "meet_people_with_the_same_tokens": "Incontra persone con gli stessi token",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "Per modificare la tua email o la tua password, per abilitare l'autenticazione a due fattori e altro ancora, consulta le impostazioni del tuo account {{provider}}.", "account_managed_by_identity_provider_description": "Per modificare la tua email o la tua password, per abilitare l'autenticazione a due fattori e altro ancora, consulta le impostazioni del tuo account {{provider}}.",
"signin_with_google": "Accedi con Google", "signin_with_google": "Accedi con Google",
"signin_with_saml": "Accedi con SAML", "signin_with_saml": "Accedi con SAML",
"signin_with_saml_oidc": "Accedi con SAML/OIDC",
"you_will_need_to_generate": "Dovrai generare un token di accesso con il tuo vecchio strumento di pianificazione.", "you_will_need_to_generate": "Dovrai generare un token di accesso con il tuo vecchio strumento di pianificazione.",
"import": "Importa", "import": "Importa",
"import_from": "Importa da", "import_from": "Importa da",
@@ -950,6 +975,8 @@
"offer_seats_description": "Indica i posti disponibili (ciò disabiliterà le prenotazioni ospite e le prenotazioni opt-in).", "offer_seats_description": "Indica i posti disponibili (ciò disabiliterà le prenotazioni ospite e le prenotazioni opt-in).",
"seats_available_one": "Posto disponibile", "seats_available_one": "Posto disponibile",
"seats_available_other": "Posti disponibili", "seats_available_other": "Posti disponibili",
"seats_nearly_full": "Quasi tutti i posti sono al completo",
"seats_half_full": "I posti si esauriscono in fretta",
"number_of_seats": "Numero di posti per prenotazione", "number_of_seats": "Numero di posti per prenotazione",
"enter_number_of_seats": "Immettere il numero di posti", "enter_number_of_seats": "Immettere il numero di posti",
"you_can_manage_your_schedules": "Puoi gestire i tuoi programmi dalla pagina Disponibilità.", "you_can_manage_your_schedules": "Puoi gestire i tuoi programmi dalla pagina Disponibilità.",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "Come desideri aggiungere {{appName}} al tuo sito?", "how_you_want_add_cal_site": "Come desideri aggiungere {{appName}} al tuo sito?",
"choose_ways_put_cal_site": "Scegli uno dei seguenti modi per inserire {{appName}} nel tuo sito.", "choose_ways_put_cal_site": "Scegli uno dei seguenti modi per inserire {{appName}} nel tuo sito.",
"setting_up_zapier": "Configurare l'integrazione con Zapier", "setting_up_zapier": "Configurare l'integrazione con Zapier",
"setting_up_make": "Configurare l'integrazione con Make",
"generate_api_key": "Genera una chiave API", "generate_api_key": "Genera una chiave API",
"generate_api_key_description": "Genera una chiave API da usare con {{appName}} su", "generate_api_key_description": "Genera una chiave API da usare con {{appName}} su",
"your_unique_api_key": "La tua chiave API univoca", "your_unique_api_key": "La tua chiave API univoca",
"copy_safe_api_key": "Copia questa chiave API e conservala in un posto sicuro. Se perdi la chiave, dovrai generarne una nuova.", "copy_safe_api_key": "Copia questa chiave API e conservala in un posto sicuro. Se perdi la chiave, dovrai generarne una nuova.",
"zapier_setup_instructions": "<0>Accedi al tuo account Zapier e crea un nuovo Zap.</0><1>Seleziona Cal.com come app trigger. Scegli l'evento trigger.</1><2>Seleziona il tuo account e immetti la tua chiave API univoca.</2><3>Fai una prova del tuo trigger.</3><4>Fatto!</4>", "zapier_setup_instructions": "<0>Accedi al tuo account Zapier e crea un nuovo Zap.</0><1>Seleziona Cal.com come app trigger. Scegli l'evento trigger.</1><2>Seleziona il tuo account e immetti la tua chiave API univoca.</2><3>Fai una prova del tuo trigger.</3><4>Fatto!</4>",
"make_setup_instructions": "<0>Segui il <1><0>link di invito Make</0></1> e installa l'applicazione Cal.com.</0><1>Accedi al tuo account Make e crea un nuovo Scenario.</1><2>Seleziona Cal.com come app trigger. Scegli l'evento trigger.</2><3>Seleziona il tuo account e immetti la tua chiave API unica.</3><4>Fai una prova del tuo trigger.</4><5>Fatto!</5>",
"install_zapier_app": "Prima è necessario installare l'app Zapier, disponibile nell'App Store.", "install_zapier_app": "Prima è necessario installare l'app Zapier, disponibile nell'App Store.",
"install_make_app": "Prima è necessario installare l'applicazione Make, disponibile nell'App Store.",
"connect_apple_server": "Connetti al server Apple", "connect_apple_server": "Connetti al server Apple",
"calendar_url": "URL del calendario", "calendar_url": "URL del calendario",
"apple_server_generate_password": "Genera una password specifica dell'app da usare con {{appName}} presso", "apple_server_generate_password": "Genera una password specifica dell'app da usare con {{appName}} presso",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "invia e-mail ai partecipanti", "email_attendee_action": "invia e-mail ai partecipanti",
"sms_attendee_action": "Invia SMS al partecipante", "sms_attendee_action": "Invia SMS al partecipante",
"sms_number_action": "invia SMS a un numero specifico", "sms_number_action": "invia SMS a un numero specifico",
"send_reminder_sms": "Invia facilmente dei promemoria di riunioni via SMS ai partecipanti",
"whatsapp_number_action": "invia un messaggio Whatsapp a un numero specifico", "whatsapp_number_action": "invia un messaggio Whatsapp a un numero specifico",
"whatsapp_attendee_action": "invia un messaggio Whatsapp al partecipante", "whatsapp_attendee_action": "invia un messaggio Whatsapp al partecipante",
"workflows": "Flussi di lavoro", "workflows": "Flussi di lavoro",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "Errore durante l'aggiornamento delle impostazioni", "error_updating_settings": "Errore durante l'aggiornamento delle impostazioni",
"personal_cal_url": "Il mio URL personale di {{appName}}", "personal_cal_url": "Il mio URL personale di {{appName}}",
"bio_hint": "Scrivi qualcosa di te. Queste informazioni appariranno nella tua pagina personale.", "bio_hint": "Scrivi qualcosa di te. Queste informazioni appariranno nella tua pagina personale.",
"user_has_no_bio": "Questo utente non ha ancora aggiunto una biografia.",
"delete_account_modal_title": "Elimina account", "delete_account_modal_title": "Elimina account",
"confirm_delete_account_modal": "Eliminare il tuo account {{appName}}?", "confirm_delete_account_modal": "Eliminare il tuo account {{appName}}?",
"delete_my_account": "Elimina il mio account", "delete_my_account": "Elimina il mio account",
@@ -1426,6 +1458,7 @@
"add_limit": "Aggiungi limite", "add_limit": "Aggiungi limite",
"team_name_required": "Nome del team richiesto", "team_name_required": "Nome del team richiesto",
"show_attendees": "Condividi le informazioni dei partecipanti tra gli ospiti", "show_attendees": "Condividi le informazioni dei partecipanti tra gli ospiti",
"show_available_seats_count": "Mostra il numero di posti disponibili",
"how_booking_questions_as_variables": "Come utilizzare le domande poste nella pagina di prenotazione come variabili?", "how_booking_questions_as_variables": "Come utilizzare le domande poste nella pagina di prenotazione come variabili?",
"format": "Formato", "format": "Formato",
"uppercase_for_letters": "Usa tutte lettere maiuscole", "uppercase_for_letters": "Usa tutte lettere maiuscole",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Eliminare la configurazione {{connectionType}}? I membri del tuo team che utilizzano l'accesso {{connectionType}} non saranno più in grado di accedere a Cal.com.", "delete_sso_configuration_confirmation_description": "Eliminare la configurazione {{connectionType}}? I membri del tuo team che utilizzano l'accesso {{connectionType}} non saranno più in grado di accedere a Cal.com.",
"organizer_timezone": "Fuso orario organizzatore", "organizer_timezone": "Fuso orario organizzatore",
"email_user_cta": "Visualizza invito", "email_user_cta": "Visualizza invito",
"email_no_user_invite_heading_team": "Hai ricevuto un invito a entrare a far parte del team di {{appName}}",
"email_no_user_invite_heading_org": "Hai ricevuto un invito a entrare a far parte dell'organizzazione {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} ti ha invitato a unirti al suo team su {{appName}}. {{appName}} è uno strumento di pianificazione di eventi che permette al tuo team di pianificare le riunioni senza scambiare decine di e-mail.", "email_no_user_invite_subheading": "{{invitedBy}} ti ha invitato a unirti al suo team su {{appName}}. {{appName}} è uno strumento di pianificazione di eventi che permette al tuo team di pianificare le riunioni senza scambiare decine di e-mail.",
"email_user_invite_subheading_team": "{{invitedBy}} ti ha invitato a unirti al suo team `{{teamName}}` su {{appName}}. {{appName}} è uno strumento di pianificazione di eventi che permette a te e al tuo team di pianificare le riunioni senza scambiare decine di e-mail.", "email_user_invite_subheading_team": "{{invitedBy}} ti ha invitato a unirti al suo team `{{teamName}}` su {{appName}}. {{appName}} è uno strumento di pianificazione di eventi che permette a te e al tuo team di pianificare le riunioni senza scambiare decine di e-mail.",
"email_user_invite_subheading_org": "{{invitedBy}} ti ha invitato a unirti alla sua organizzazione `{{teamName}}` su {{appName}}. {{appName}} è uno strumento di pianificazione di eventi che permette a te e alla tua organizzazione di pianificare le riunioni senza scambiare decine di e-mail.",
"email_no_user_invite_steps_intro": "Ti assisteremo nei passaggi iniziali e potrai rapidamente pianificare eventi per il/la {{entity}} senza fatica.", "email_no_user_invite_steps_intro": "Ti assisteremo nei passaggi iniziali e potrai rapidamente pianificare eventi per il/la {{entity}} senza fatica.",
"email_no_user_step_one": "Scegli il tuo nome utente", "email_no_user_step_one": "Scegli il tuo nome utente",
"email_no_user_step_two": "Collega il tuo account di calendario", "email_no_user_step_two": "Collega il tuo account di calendario",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "Nessun dato trovato per il filtro selezionato o le date selezionate.", "insights_no_data_found_for_filter": "Nessun dato trovato per il filtro selezionato o le date selezionate.",
"acknowledge_booking_no_show_fee": "Confermo che in caso di mia mancata partecipazione a questo evento, una penale per mancata presentazione di {{amount, currency}} verrà addebitata sulla mia carta.", "acknowledge_booking_no_show_fee": "Confermo che in caso di mia mancata partecipazione a questo evento, una penale per mancata presentazione di {{amount, currency}} verrà addebitata sulla mia carta.",
"card_details": "Dati della carta", "card_details": "Dati della carta",
"something_went_wrong_on_our_end": "Si è verificato un problema dal lato nostro. Contatta il nostro team di supporto e provvederemo subito a risolverlo.",
"please_provide_following_text_to_suppport": "Fornisci il seguente testo quando contatterai il team di supporto per permeterci di aiutarti meglio",
"seats_and_no_show_fee_error": "Attualmente non è possibile abilitare i posti e addebitare la penale per mancata presentazione", "seats_and_no_show_fee_error": "Attualmente non è possibile abilitare i posti e addebitare la penale per mancata presentazione",
"complete_your_booking": "Completa la prenotazione", "complete_your_booking": "Completa la prenotazione",
"complete_your_booking_subject": "Completa la prenotazione: {{title}} del {{date}}", "complete_your_booking_subject": "Completa la prenotazione: {{title}} del {{date}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "Apre la finestra di dialogo di Cal quando un utente fa clic su un elemento.", "open_dialog_with_element_click": "Apre la finestra di dialogo di Cal quando un utente fa clic su un elemento.",
"need_help_embedding": "Hai bisogno di aiuto? Consulta le nostre guide per integrare Cal su Wix, Squarespace o WordPress, leggi le risposte alle domande più frequenti o esplora le opzioni di incorporamento avanzate.", "need_help_embedding": "Hai bisogno di aiuto? Consulta le nostre guide per integrare Cal su Wix, Squarespace o WordPress, leggi le risposte alle domande più frequenti o esplora le opzioni di incorporamento avanzate.",
"book_my_cal": "Prenota su Cal", "book_my_cal": "Prenota su Cal",
"first_name": "Nome",
"last_name": "Cognome",
"first_last_name": "Nome, cognome",
"invite_as": "Invita come", "invite_as": "Invita come",
"form_updated_successfully": "Modulo aggiornato correttamente.", "form_updated_successfully": "Modulo aggiornato correttamente.",
"disable_attendees_confirmation_emails": "Disabilita le e-mail di conferma predefinite per i partecipanti", "disable_attendees_confirmation_emails": "Disabilita le e-mail di conferma predefinite per i partecipanti",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "Crea il primo webhook per questo tipo di evento", "first_event_type_webhook_description": "Crea il primo webhook per questo tipo di evento",
"install_app_on": "Installa l'app su", "install_app_on": "Installa l'app su",
"create_for": "Crea per", "create_for": "Crea per",
"currency": "Valuta",
"organization_banner_description": "Crea ambienti dove i tuoi team potranno creare e condividere applicazioni, flussi di lavoro e tipi di eventi con pianificazioni di gruppo e round robin.", "organization_banner_description": "Crea ambienti dove i tuoi team potranno creare e condividere applicazioni, flussi di lavoro e tipi di eventi con pianificazioni di gruppo e round robin.",
"organization_banner_title": "Gestisci organizzazioni con più team", "organization_banner_title": "Gestisci organizzazioni con più team",
"set_up_your_organization": "Imposta la tua organizzazione", "set_up_your_organization": "Imposta la tua organizzazione",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "Team: {{teamName}}", "insights_team_filter": "Team: {{teamName}}",
"insights_user_filter": "Utente: {{userName}}", "insights_user_filter": "Utente: {{userName}}",
"insights_subtitle": "Visualizza insight sulle prenotazioni per tutti i tuoi eventi", "insights_subtitle": "Visualizza insight sulle prenotazioni per tutti i tuoi eventi",
"location_options": "{{locationCount}} opzioni di luogo",
"custom_plan": "Piano personalizzato", "custom_plan": "Piano personalizzato",
"email_embed": "Incorporamento nell'e-mail",
"add_times_to_your_email": "Seleziona alcuni orari disponibili e incorporali nella tua e-mail",
"select_time": "Seleziona l'ora",
"select_date": "Seleziona la data",
"see_all_available_times": "Vedi tutti gli orari disponibili",
"org_team_names_example": "ad es., team di marketing",
"org_team_names_example_1": "ad es., Team di marketing",
"org_team_names_example_2": "ad es., team vendite",
"org_team_names_example_3": "ad es., team di progettazione",
"org_team_names_example_4": "ad es., team di ingegneria",
"org_team_names_example_5": "ad es., team di analisi dei dati",
"org_max_team_warnings": "Sarà possibile aggiungere altri team in un secondo momento.",
"what_is_this_meeting_about": "Qual è l'oggetto della riunione?",
"add_to_team": "Aggiungi al team",
"remove_users_from_org": "Rimuovi utenti dall'organizzazione",
"remove_users_from_org_confirm": "Rimuovere {{userCount}} utenti da questa organizzazione?",
"user_has_no_schedules": "Questo utente non ha ancora impostato alcuna pianificazione",
"user_isnt_in_any_teams": "Questo utente non fa parte di nessun team",
"requires_booker_email_verification": "Richiede la verifica dell'indirizzo e-mail della persona che prenota",
"description_requires_booker_email_verification": "Per garantire la verifica dell'indirizzo e-mail della persona che prenota prima di panificare eventi",
"requires_confirmation_mandatory": "I messaggi di testo possono solo essere inviati ai partecipanti quando il tipo di evento richiede una conferma.",
"kyc_verification_information": "Per garantire la sicurezza, è necessario verificare {{teamOrAccount}} prima di inviare messaggi di testo ai partecipanti. Contattaci all'indirizzo <a>{{supportEmail}}</a> fornendo le seguenti informazioni:",
"kyc_verification_documents": "<ul><li>Il tuo {{teamOrUser}}</li><li>Per le aziende: allegare la documentazione di verifica aziendale</li><li>Per gli utenti privati: allegare un documento di identità rilasciato dal governo</li></ul>",
"verify_team_or_account": "Verifica {{teamOrAccount}}",
"verify_account": "Verifica account",
"kyc_verification": "Verifica KYC",
"organizations": "Organizzazioni",
"org_admin_other_teams": "Atri team",
"org_admin_other_teams_description": "Qui puoi vedere i team di cui non fai parte all'interno della tua organizzazione. Puoi entrare a far parte di tali team se necessario.",
"no_other_teams_found": "Nessun altro team trovato",
"no_other_teams_found_description": "Non ci sono altri team in questa organizzazione.",
"attendee_first_name_variable": "Nome del partecipante",
"attendee_last_name_variable": "Cognome del partecipante",
"attendee_first_name_info": "Nome della persona che prenota",
"attendee_last_name_info": "Cognome della persona che prenota",
"me": "Io",
"verify_team_tooltip": "Effettua la verifica del tuo team per abilitare l'invio di messaggi ai partecipanti",
"member_removed": "Membro rimosso",
"my_availability": "La mia disponibilità",
"team_availability": "La disponibilità del team",
"backup_code": "Codice di backup",
"backup_codes": "Codici di backup",
"backup_code_instructions": "Ogni codice di backup può essere utilizzato soltanto una volta per concedere l'accesso senza l'autenticatore.",
"backup_codes_copied": "Codici di backup copiati!",
"incorrect_backup_code": "Il codice di backup è errato.",
"lost_access": "Accesso perso",
"missing_backup_codes": "Nessun codice di backup trovato. Puoi generarli nelle impostazioni.",
"admin_org_notification_email_subject": "Nuova organizzazione creata: azione in sospeso",
"hi_admin": "Ciao amministratore",
"admin_org_notification_email_title": "Un'organizzazione richiede la configurazione DNS",
"admin_org_notification_email_body_part1": "È stata creata un'organizzazione con lo slug \"{{orgSlug}}\".<br /><br />Assicurati di configurare il registro DNS in modo che il sottodominio corrispondente alla nuova organizzazione punti verso dov'è eseguita l'applicazione principale, altrimenti l'organizzazione non funzionerà.<br /><br />Ecco solo alcune opzioni molto basilari per configurare un sottodominio in modo che punti alla propria app e carichi la pagina del profilo dell'organizzazione.<br /><br />È possibile farlo utilizzando il record A:",
"admin_org_notification_email_body_part2": "O il record CNAME:",
"admin_org_notification_email_body_part3": "Dopo aver configurato il sottodominio, contrassegnare la configurazione del DNS come completata nelle impostazioni di amministrazione dell'organizzazione.",
"admin_org_notification_email_cta": "Vai alle impostazioni di amministrazione dell'organizzazione",
"org_has_been_processed": "Organizzazione elaborata",
"org_error_processing": "Si è verificato un errore durante l'elaborazione di questa organizzazione",
"orgs_page_description": "Un elenco di tutte le organizzazioni. Accettando un'organizzazione, tutti gli utenti con il rispettivo dominio e-mail potranno registrarsi SENZA verificare l'indirizzo e-mail.",
"unverified": "Non verificato",
"dns_missing": "DNS mancante",
"mark_dns_configured": "Contrassegna DNS come configurato",
"value": "Valore",
"your_organization_updated_sucessfully": "L'organizzazione è stata aggiornata correttamente",
"team_no_event_types": "Questo team non ha nessun tipo di evento",
"seat_options_doesnt_multiple_durations": "L'opzione di prenotazione dei posti non supporta durate multiple",
"include_calendar_event": "Includi evento del calendario",
"recently_added": "Aggiunti di recente",
"no_members_found": "Nessun membro trovato",
"event_setup_length_error": "Impostazione evento: la durata deve essere di almeno 1 minuto.",
"availability_schedules": "Calendario disponibilità",
"view_only_edit_availability_not_onboarded": "Questo utente non ha completato l'onboarding. Non sarai in grado di impostare la sua disponibilità fino a quando non avrà completato l'onboarding.",
"view_only_edit_availability": "Stai visualizzando la disponibilità di questo utente. Puoi solo modificare la tua disponibilità.",
"edit_users_availability": "Modifica la disponibilità dell'utente: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Aggiungi le tue nuove stringhe qui sopra ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Aggiungi le tue nuove stringhe qui sopra ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "メール配信とカレンダー通知が確実に機能するようにするには、メールアドレスをご確認ください。", "verify_email_banner_body": "メール配信とカレンダー通知が確実に機能するようにするには、メールアドレスをご確認ください。",
"verify_email_email_header": "メールアドレスをご確認ください", "verify_email_email_header": "メールアドレスをご確認ください",
"verify_email_email_button": "メールを確認する", "verify_email_email_button": "メールを確認する",
"copy_somewhere_safe": "この API キーを安全な場所に保存してください。再度表示することはできません。",
"verify_email_email_body": "以下のボタンをクリックして、メールアドレスをご確認ください。", "verify_email_email_body": "以下のボタンをクリックして、メールアドレスをご確認ください。",
"verify_email_by_code_email_body": "以下のコードを使って、メールアドレスを確認してください。",
"verify_email_email_link_text": "ボタンをクリックしたくない場合には、こちらのリンクをご利用ください。", "verify_email_email_link_text": "ボタンをクリックしたくない場合には、こちらのリンクをご利用ください。",
"email_verification_code": "確認コードを入力します",
"email_verification_code_placeholder": "メールに送信された確認コードを入力します",
"incorrect_email_verification_code": "確認コードが正しくありません。",
"email_sent": "メールが正常に送信されました", "email_sent": "メールが正常に送信されました",
"email_not_sent": "メール送信中にエラーが発生しました",
"event_declined_subject": "却下: {{title}} {{date}}", "event_declined_subject": "却下: {{title}} {{date}}",
"event_cancelled_subject": "{{date}} に {{title}} がキャンセルされました", "event_cancelled_subject": "{{date}} に {{title}} がキャンセルされました",
"event_request_declined": "イベントのリクエストが拒否されました", "event_request_declined": "イベントのリクエストが拒否されました",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "繰り返しイベントはあなたの承認待ちです", "event_awaiting_approval_recurring": "繰り返しイベントはあなたの承認待ちです",
"someone_requested_an_event": "別のユーザーがあなたのカレンダーにイベントを予定するリクエストしています。", "someone_requested_an_event": "別のユーザーがあなたのカレンダーにイベントを予定するリクエストしています。",
"someone_requested_password_reset": "別のユーザーがあなたのパスワードを変更するためのリンクをリクエストしています。", "someone_requested_password_reset": "別のユーザーがあなたのパスワードを変更するためのリンクをリクエストしています。",
"password_reset_email_sent": "このメールがシステムに存在する場合は、リセットメールを受信するはずです。",
"password_reset_instructions": "このリクエストをしていない場合は、このメールを無視しても大丈夫です。パスワードも変更されません。", "password_reset_instructions": "このリクエストをしていない場合は、このメールを無視しても大丈夫です。パスワードも変更されません。",
"event_awaiting_approval_subject": "承認を待っています: {{date}} の {{title}}", "event_awaiting_approval_subject": "承認を待っています: {{date}} の {{title}}",
"event_still_awaiting_approval": "イベントはまだあなたの承認待ちです", "event_still_awaiting_approval": "イベントはまだあなたの承認待ちです",
@@ -217,6 +224,10 @@
"already_have_an_account": "既にアカウントをお持ちですか?", "already_have_an_account": "既にアカウントをお持ちですか?",
"create_account": "アカウントを作成", "create_account": "アカウントを作成",
"confirm_password": "パスワードを確認", "confirm_password": "パスワードを確認",
"confirm_auth_change": "これによりログイン方法が変わります",
"confirm_auth_email_change": "メールアドレスを変更すると、Cal.com にログインするための現在の認証方法は解除されます。新しいメールアドレスの確認をお願いいたします。ログアウトした後は、メールに送信された手順に従ってパスワードを設定した後、現在の認証方法の代わりに新しいメールアドレスを使ってログインします。",
"reset_your_password": "メールアドレスに送信された手順に従って新しいパスワードを設定します。",
"email_change": "新しいメールアドレスとパスワードを使ってログインし直します。",
"create_your_account": "アカウントを作成", "create_your_account": "アカウントを作成",
"sign_up": "新規登録", "sign_up": "新規登録",
"youve_been_logged_out": "ログアウトしました", "youve_been_logged_out": "ログアウトしました",
@@ -243,6 +254,10 @@
"all": "すべて", "all": "すべて",
"yours": "ご利用のアカウント", "yours": "ご利用のアカウント",
"available_apps": "利用可能なアプリ", "available_apps": "利用可能なアプリ",
"available_apps_lower_case": "利用できるアプリ",
"available_apps_desc": "インストールされているアプリがありません。以下で人気アプリを確認して、さらに <1>App Store</1> でご覧ください",
"fixed_host_helper": "イベントに出席する必要がある人を追加します。<1>さらに詳しく</1>",
"round_robin_helper": "グループの人々は順番に交代し、イベントには1人だけが出席します。",
"check_email_reset_password": "メールをご確認ください。パスワードをリセットするためのリンクを送信しました。", "check_email_reset_password": "メールをご確認ください。パスワードをリセットするためのリンクを送信しました。",
"finish": "完了", "finish": "完了",
"organization_general_description": "チームの言語とタイムゾーンの設定を管理します", "organization_general_description": "チームの言語とタイムゾーンの設定を管理します",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "最後に、短い自己紹介と写真があれば、予約してもらったり、誰と予約しているのかを知らせるのに役立ちます。", "nearly_there_instructions": "最後に、短い自己紹介と写真があれば、予約してもらったり、誰と予約しているのかを知らせるのに役立ちます。",
"set_availability_instructions": "定期的に利用できる時間の範囲を定義します。後でこれらをさらに作成し、別のカレンダーに割り当てることができます。", "set_availability_instructions": "定期的に利用できる時間の範囲を定義します。後でこれらをさらに作成し、別のカレンダーに割り当てることができます。",
"set_availability": "利用可否の設定", "set_availability": "利用可否の設定",
"availability_settings": "利用できる設定",
"continue_without_calendar": "カレンダーなしで続行", "continue_without_calendar": "カレンダーなしで続行",
"connect_your_calendar": "カレンダーに接続", "connect_your_calendar": "カレンダーに接続",
"connect_your_video_app": "ビデオアプリを接続", "connect_your_video_app": "ビデオアプリを接続",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "\"+\" を使って複数のユーザー名を追加することで動的に作成できるグループ予約リンク。例: \"{{appName}}/bailey+peer\"", "allow_dynamic_booking_tooltip": "\"+\" を使って複数のユーザー名を追加することで動的に作成できるグループ予約リンク。例: \"{{appName}}/bailey+peer\"",
"allow_dynamic_booking": "出席者が動的なグループ予約を通じてあなたを予約できるようにする", "allow_dynamic_booking": "出席者が動的なグループ予約を通じてあなたを予約できるようにする",
"dynamic_booking": "ダイナミックグループリンク", "dynamic_booking": "ダイナミックグループリンク",
"allow_seo_indexing": "検索エンジンが公開コンテンツにアクセスできるようにする",
"seo_indexing": "SEO インデックス作成を許可",
"email": "Eメールアドレス", "email": "Eメールアドレス",
"email_placeholder": "jdoe@example.com", "email_placeholder": "jdoe@example.com",
"full_name": "フルネーム", "full_name": "フルネーム",
@@ -406,6 +424,7 @@
"booking_requested": "予約がリクエストされました", "booking_requested": "予約がリクエストされました",
"meeting_ended": "ミーティングが終了しました", "meeting_ended": "ミーティングが終了しました",
"form_submitted": "フォームが送信されました", "form_submitted": "フォームが送信されました",
"booking_paid": "予約の支払いが済みました",
"event_triggers": "イベントトリガー", "event_triggers": "イベントトリガー",
"subscriber_url": "登録者の URL", "subscriber_url": "登録者の URL",
"create_new_webhook": "新しいウェブフックを作成", "create_new_webhook": "新しいウェブフックを作成",
@@ -506,6 +525,7 @@
"your_name": "あなたの名前", "your_name": "あなたの名前",
"your_full_name": "あなたのフルネーム", "your_full_name": "あなたのフルネーム",
"no_name": "名前がありません", "no_name": "名前がありません",
"enter_number_between_range": "1 から {{maxOccurences}} の数字を入力してください",
"email_address": "メールアドレス", "email_address": "メールアドレス",
"enter_valid_email": "有効なメールアドレスを入力してください", "enter_valid_email": "有効なメールアドレスを入力してください",
"location": "所在地", "location": "所在地",
@@ -543,6 +563,7 @@
"leave": "退出", "leave": "退出",
"profile": "プロフィール", "profile": "プロフィール",
"my_team_url": "チームの URL", "my_team_url": "チームの URL",
"my_teams": "マイチーム",
"team_name": "チームの名前", "team_name": "チームの名前",
"your_team_name": "チーム名", "your_team_name": "チーム名",
"team_updated_successfully": "チームが正常に更新されました", "team_updated_successfully": "チームが正常に更新されました",
@@ -570,6 +591,8 @@
"invite_new_member": "新しいチームメンバーを招待", "invite_new_member": "新しいチームメンバーを招待",
"invite_new_member_description": "注: これにより、サブスクリプションに<1>追加の座席料金 (15 米ドル/メンバー) が加算されます。</1>", "invite_new_member_description": "注: これにより、サブスクリプションに<1>追加の座席料金 (15 米ドル/メンバー) が加算されます。</1>",
"invite_new_team_member": "チームに誰かを招待する。", "invite_new_team_member": "チームに誰かを招待する。",
"upload_csv_file": ".csv ファイルをアップロード",
"invite_via_email": "メールで招待",
"change_member_role": "チームメンバーの役割を変更する", "change_member_role": "チームメンバーの役割を変更する",
"disable_cal_branding": "{{appName}} のブランディングを無効化", "disable_cal_branding": "{{appName}} のブランディングを無効化",
"disable_cal_branding_description": "公開ページに表示される {{appName}} のブランディングをすべて非表示にする。", "disable_cal_branding_description": "公開ページに表示される {{appName}} のブランディングをすべて非表示にする。",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "状態を表示するには、招待を承認する必要があります", "team_view_user_availability_disabled": "状態を表示するには、招待を承認する必要があります",
"set_as_away": "自分を離席中に設定する", "set_as_away": "自分を離席中に設定する",
"set_as_free": "離席中状態を無効化する", "set_as_free": "離席中状態を無効化する",
"toggle_away_error": "離席中状態の更新中にエラーが発生しました",
"user_away": "このユーザーは現在離席中です。", "user_away": "このユーザーは現在離席中です。",
"user_away_description": "あなたが予約しようとしているユーザーは離席中です。そのため、新しい予約を承認することができません。", "user_away_description": "あなたが予約しようとしているユーザーは離席中です。そのため、新しい予約を承認することができません。",
"meet_people_with_the_same_tokens": "同じトークンを持っているユーザーに会う", "meet_people_with_the_same_tokens": "同じトークンを持っているユーザーに会う",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "メールアドレスやパスワードを変更したり、二段階認証を有効にしたりするには、{{provider}} のアカウント設定をご確認ください。", "account_managed_by_identity_provider_description": "メールアドレスやパスワードを変更したり、二段階認証を有効にしたりするには、{{provider}} のアカウント設定をご確認ください。",
"signin_with_google": "Google アカウントを使用してサインイン", "signin_with_google": "Google アカウントを使用してサインイン",
"signin_with_saml": "SAML を使用してサインイン", "signin_with_saml": "SAML を使用してサインイン",
"signin_with_saml_oidc": "SAML/OIDCでサインイン",
"you_will_need_to_generate": "従来のスケジュールツールからアクセストークンを生成する必要があります。", "you_will_need_to_generate": "従来のスケジュールツールからアクセストークンを生成する必要があります。",
"import": "インポートする", "import": "インポートする",
"import_from": "インポート元", "import_from": "インポート元",
@@ -950,6 +975,8 @@
"offer_seats_description": "予約可能な座席を設定します。これにより、ゲストおよびオプトイン予約は自動的に無効化されます。", "offer_seats_description": "予約可能な座席を設定します。これにより、ゲストおよびオプトイン予約は自動的に無効化されます。",
"seats_available_one": "座席あり", "seats_available_one": "座席あり",
"seats_available_other": "空席あり", "seats_available_other": "空席あり",
"seats_nearly_full": "座席はほとんど満員です",
"seats_half_full": "座席がすばやく埋まりつつあります",
"number_of_seats": "1予約あたりの座席数", "number_of_seats": "1予約あたりの座席数",
"enter_number_of_seats": "座席数を入力", "enter_number_of_seats": "座席数を入力",
"you_can_manage_your_schedules": "スケジュール管理は、「空き状況」ページで行えます。", "you_can_manage_your_schedules": "スケジュール管理は、「空き状況」ページで行えます。",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "{{appName}} をどうやってあなたのサイトに追加しますか?", "how_you_want_add_cal_site": "{{appName}} をどうやってあなたのサイトに追加しますか?",
"choose_ways_put_cal_site": "サイトに {{appName}} を設置する方法を、次の中から 1 つ選んでください。", "choose_ways_put_cal_site": "サイトに {{appName}} を設置する方法を、次の中から 1 つ選んでください。",
"setting_up_zapier": "Zapier 連携の設定", "setting_up_zapier": "Zapier 連携の設定",
"setting_up_make": "Make 連携の設定",
"generate_api_key": "API キーを生成", "generate_api_key": "API キーを生成",
"generate_api_key_description": "以下より {{appName}} で使用する API キーを生成する: ", "generate_api_key_description": "以下より {{appName}} で使用する API キーを生成する: ",
"your_unique_api_key": "あなた専用の API キー", "your_unique_api_key": "あなた専用の API キー",
"copy_safe_api_key": "この API キーをコピーして安全な場所に保存してください。このキーを紛失した場合は、新しいキーを生成する必要があります。", "copy_safe_api_key": "この API キーをコピーして安全な場所に保存してください。このキーを紛失した場合は、新しいキーを生成する必要があります。",
"zapier_setup_instructions": "<0>Zapier アカウントにログインし、新しい Zap を作成します。</0><1>Cal.com をトリガーアプリとして選択します。また、トリガーイベントも選択します。</1><2>アカウントを選択し、あなた専用の API キーを入力します。</2><3>トリガーをテストします。</3><4>これで設定は完了です!</4>", "zapier_setup_instructions": "<0>Zapier アカウントにログインし、新しい Zap を作成します。</0><1>Cal.com をトリガーアプリとして選択します。また、トリガーイベントも選択します。</1><2>アカウントを選択し、あなた専用の API キーを入力します。</2><3>トリガーをテストします。</3><4>これで設定は完了です!</4>",
"make_setup_instructions": "<0><1><0>Make の招待リンク</0></1>に移動して、Cal.com アプリをインストールします。</0><1>Make アカウントにログインして、新しいシナリオ作成します。</1><2>Cal.com をトリガーアプリとして選択します。またトリガーイベントを選びます。</2><3>アカウントを選んでから、あなた専用のAPIキーを入力します。</3><4>トリガーをテストします。</4><5>設定完了!</5>",
"install_zapier_app": "まず、アプリストアで Zapier アプリをインストールしてください。", "install_zapier_app": "まず、アプリストアで Zapier アプリをインストールしてください。",
"install_make_app": "まず、アプリストアで Make アプリをインストールしてください。",
"connect_apple_server": "Apple のサーバーに接続", "connect_apple_server": "Apple のサーバーに接続",
"calendar_url": "カレンダーの URL", "calendar_url": "カレンダーの URL",
"apple_server_generate_password": "以下で {{appName}} で使用するアプリ固有のパスワードを生成しましょう: ", "apple_server_generate_password": "以下で {{appName}} で使用するアプリ固有のパスワードを生成しましょう: ",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "出席者にメールを送る", "email_attendee_action": "出席者にメールを送る",
"sms_attendee_action": "出席者に SMS を送信する", "sms_attendee_action": "出席者に SMS を送信する",
"sms_number_action": "特定の番号に SMS を送信", "sms_number_action": "特定の番号に SMS を送信",
"send_reminder_sms": "SMS で簡単にミーティングのリマインダーを送信します",
"whatsapp_number_action": "特定の番号に Whatsapp メッセージを送信", "whatsapp_number_action": "特定の番号に Whatsapp メッセージを送信",
"whatsapp_attendee_action": "出席者に Whatsapp メッセージを送信", "whatsapp_attendee_action": "出席者に Whatsapp メッセージを送信",
"workflows": "ワークフロー", "workflows": "ワークフロー",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "設定の更新中にエラーが発生しました", "error_updating_settings": "設定の更新中にエラーが発生しました",
"personal_cal_url": "私の個人 {{appName}} URL", "personal_cal_url": "私の個人 {{appName}} URL",
"bio_hint": "あなたに関する簡潔な説明。これはあなたの個人 URL ページに表示されます。", "bio_hint": "あなたに関する簡潔な説明。これはあなたの個人 URL ページに表示されます。",
"user_has_no_bio": "このユーザーはまだ経歴を追加していません。",
"delete_account_modal_title": "アカウントを削除する", "delete_account_modal_title": "アカウントを削除する",
"confirm_delete_account_modal": "{{appName}} アカウントを削除してもよろしいですか?", "confirm_delete_account_modal": "{{appName}} アカウントを削除してもよろしいですか?",
"delete_my_account": "アカウントを削除する", "delete_my_account": "アカウントを削除する",
@@ -1426,6 +1458,7 @@
"add_limit": "上限を追加する", "add_limit": "上限を追加する",
"team_name_required": "チーム名が必要です", "team_name_required": "チーム名が必要です",
"show_attendees": "ゲスト間で出席者情報を共有する", "show_attendees": "ゲスト間で出席者情報を共有する",
"show_available_seats_count": "空席数を表示",
"how_booking_questions_as_variables": "予約時の質問を変数として使うにはどうすればいいですか?", "how_booking_questions_as_variables": "予約時の質問を変数として使うにはどうすればいいですか?",
"format": "書式", "format": "書式",
"uppercase_for_letters": "すべての文字に大文字を使用する", "uppercase_for_letters": "すべての文字に大文字を使用する",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "{{connectionType}} の構成を削除してもよろしいですか?{{connectionType}} でのログインを使用しているチームメンバーは、Cal.com にアクセスできなくなります。", "delete_sso_configuration_confirmation_description": "{{connectionType}} の構成を削除してもよろしいですか?{{connectionType}} でのログインを使用しているチームメンバーは、Cal.com にアクセスできなくなります。",
"organizer_timezone": "主催者のタイムゾーン", "organizer_timezone": "主催者のタイムゾーン",
"email_user_cta": "招待を表示", "email_user_cta": "招待を表示",
"email_no_user_invite_heading_team": "{{appName}} チームに参加するよう招待されました",
"email_no_user_invite_heading_org": "{{appName}} 組織に参加するよう招待されました",
"email_no_user_invite_subheading": "{{invitedBy}} は {{appName}} のチームに参加するようあなたを招待しました。{{appName}} は、イベント調整スケジューラーです。チームと延々とメールのやりとりをすることなくミーティングのスケジュール設定を行うことができます。", "email_no_user_invite_subheading": "{{invitedBy}} は {{appName}} のチームに参加するようあなたを招待しました。{{appName}} は、イベント調整スケジューラーです。チームと延々とメールのやりとりをすることなくミーティングのスケジュール設定を行うことができます。",
"email_user_invite_subheading_team": "{{invitedBy}}から{{appName}}の「{{teamName}}」に参加するよう招待されました。{{appName}}はイベント調整スケジューラーで、チーム内で延々とメールのやりとりをすることなく、ミーティングのスケジュールを設定できます。", "email_user_invite_subheading_team": "{{invitedBy}}から{{appName}}の「{{teamName}}」に参加するよう招待されました。{{appName}}はイベント調整スケジューラーで、チーム内で延々とメールのやりとりをすることなく、ミーティングのスケジュールを設定できます。",
"email_user_invite_subheading_org": "{{invitedBy}} は {{appName}} の組織の「{{teamName}}」に参加するようあなたを招待しました。{{appName}} はイベント調整スケジューラーで、組織内で延々とメールのやりとりをすることなく、ミーティングのスケジュールを設定できます。",
"email_no_user_invite_steps_intro": "いくつかの短い手順を踏むだけで、すぐに {{entity}} のストレスフリーなスケジュール設定をお楽しみいただけます。", "email_no_user_invite_steps_intro": "いくつかの短い手順を踏むだけで、すぐに {{entity}} のストレスフリーなスケジュール設定をお楽しみいただけます。",
"email_no_user_step_one": "ユーザー名を選択", "email_no_user_step_one": "ユーザー名を選択",
"email_no_user_step_two": "カレンダーアカウントを接続", "email_no_user_step_two": "カレンダーアカウントを接続",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "選択したフィルターまたは日付のデータが見つかりませんでした。", "insights_no_data_found_for_filter": "選択したフィルターまたは日付のデータが見つかりませんでした。",
"acknowledge_booking_no_show_fee": "このイベントに出席しなかった場合、不参加費用として {{amount, currency}} が私のカードに請求されることに同意します。", "acknowledge_booking_no_show_fee": "このイベントに出席しなかった場合、不参加費用として {{amount, currency}} が私のカードに請求されることに同意します。",
"card_details": "カードの詳細", "card_details": "カードの詳細",
"something_went_wrong_on_our_end": "こちらで問題が発生しました。サポートチームにお問い合わせいただければ、直ちに問題を解決いたします。",
"please_provide_following_text_to_suppport": "サポートにお問い合わせいただく際に次のテキストをご提供いただければ、解決に役立ちます。",
"seats_and_no_show_fee_error": "現在、座席の有効化と不参加費用の請求はできません", "seats_and_no_show_fee_error": "現在、座席の有効化と不参加費用の請求はできません",
"complete_your_booking": "予約を完了する", "complete_your_booking": "予約を完了する",
"complete_your_booking_subject": "次の予約を完了する: {{date}} の {{title}}", "complete_your_booking_subject": "次の予約を完了する: {{date}} の {{title}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "誰かが要素をクリックしたときに Cal ダイアログを開きます。", "open_dialog_with_element_click": "誰かが要素をクリックしたときに Cal ダイアログを開きます。",
"need_help_embedding": "サポートが必要ですか?Cal を Wix や Squarespace、WordPress に埋め込むためのガイドを読んだり、よくある質問をチェックしたり、高度な埋め込みオプションを試したりしてみてください。", "need_help_embedding": "サポートが必要ですか?Cal を Wix や Squarespace、WordPress に埋め込むためのガイドを読んだり、よくある質問をチェックしたり、高度な埋め込みオプションを試したりしてみてください。",
"book_my_cal": "Cal で予約", "book_my_cal": "Cal で予約",
"first_name": "名",
"last_name": "姓",
"first_last_name": "名、姓",
"invite_as": "次の役割で招待", "invite_as": "次の役割で招待",
"form_updated_successfully": "フォームは正常に更新されました。", "form_updated_successfully": "フォームは正常に更新されました。",
"disable_attendees_confirmation_emails": "出席者へのデフォルトの確認メールを無効にする", "disable_attendees_confirmation_emails": "出席者へのデフォルトの確認メールを無効にする",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "このイベントの種類の最初の Webhook を作成", "first_event_type_webhook_description": "このイベントの種類の最初の Webhook を作成",
"install_app_on": "次のアカウントにアプリをインストール", "install_app_on": "次のアカウントにアプリをインストール",
"create_for": "作成対象", "create_for": "作成対象",
"currency": "通貨",
"organization_banner_description": "チームがラウンドロビンスケジューリングや一括スケジューリングを活用して、共有アプリ、ワークフロー、イベントの種類を作成できる環境を作成します。", "organization_banner_description": "チームがラウンドロビンスケジューリングや一括スケジューリングを活用して、共有アプリ、ワークフロー、イベントの種類を作成できる環境を作成します。",
"organization_banner_title": "複数のチームを持つ組織を管理する", "organization_banner_title": "複数のチームを持つ組織を管理する",
"set_up_your_organization": "組織をセットアップする", "set_up_your_organization": "組織をセットアップする",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "チーム: {{teamName}}", "insights_team_filter": "チーム: {{teamName}}",
"insights_user_filter": "ユーザー: {{userName}}", "insights_user_filter": "ユーザー: {{userName}}",
"insights_subtitle": "イベント全体での予約に関する Insights を表示する", "insights_subtitle": "イベント全体での予約に関する Insights を表示する",
"location_options": "{{locationCount}} ヵ所の場所のオプション",
"custom_plan": "カスタムプラン", "custom_plan": "カスタムプラン",
"email_embed": "メールの埋め込み",
"add_times_to_your_email": "出席できる時間帯をいくつか選んで、メールに埋め込みます",
"select_time": "時間帯を選ぶ",
"select_date": "日付を選ぶ",
"see_all_available_times": "出席できる時間帯をすべて表示",
"org_team_names_example": "例:マーケティングチーム",
"org_team_names_example_1": "例:マーケティングチーム",
"org_team_names_example_2": "例:営業チーム",
"org_team_names_example_3": "例:デザインチーム",
"org_team_names_example_4": "例:エンジニアリングチーム",
"org_team_names_example_5": "例:データ分析チーム",
"org_max_team_warnings": "チームはあとでさらに追加できます。",
"what_is_this_meeting_about": "このミーティングの内容は?",
"add_to_team": "チームに追加",
"remove_users_from_org": "組織からユーザーを削除",
"remove_users_from_org_confirm": "この組織から {{userCount}} 人のユーザーを削除しますか?",
"user_has_no_schedules": "このユーザーはまだスケジュールを設定していません",
"user_isnt_in_any_teams": "このユーザーはどのチームにも所属していません",
"requires_booker_email_verification": "予約者のメール確認が必要です",
"description_requires_booker_email_verification": "イベントをスケジュール設定する前に、予約者のメールを確認しておくため",
"requires_confirmation_mandatory": "イベントタイプが確認を必要とする場合にのみ、出席者にテキストメッセージが送信されることがあります。",
"kyc_verification_information": "セキュリティを確保するため、出席者にテキストメッセージを送信する前に {{teamOrAccount}} を確認する必要があります。<a>{{supportEmail}}</a> まで連絡して、以下の情報をご提供ください:",
"kyc_verification_documents": "<ul><li>{{teamOrUser}}</li><li>企業の場合:企業確認書類を添付してください</li><li>個人の場合:政府発行の身分証明書を添付してください</li></ul>",
"verify_team_or_account": "{{teamOrAccount}}を確認",
"verify_account": "アカウントを確認",
"kyc_verification": "本人確認",
"organizations": "組織",
"org_admin_other_teams": "他のチーム",
"org_admin_other_teams_description": "こちらでは、組織内であなたが所属していないチームを確認できます。必要なら、これらのチームに自分自身を追加することができます。",
"no_other_teams_found": "他のチームは見つかりません",
"no_other_teams_found_description": "この組織には他のチームはありません。",
"attendee_first_name_variable": "出席者の名",
"attendee_last_name_variable": "出席者の姓",
"attendee_first_name_info": "予約者の名",
"attendee_last_name_info": "予約者の姓",
"me": "私",
"verify_team_tooltip": "出席者へのメッセージ送信ができるようにするには、チームを確認してください",
"member_removed": "メンバーが削除されました",
"my_availability": "私の空き状況",
"team_availability": "チームの空き状況",
"backup_code": "バックアップコード",
"backup_codes": "バックアップコード",
"backup_code_instructions": "各バックアップコードが使えるのは1回ずつで、認証ソフトを使わずにアクセスを許可します。",
"backup_codes_copied": "バックアップコードがコピーされました!",
"incorrect_backup_code": "バックアップコードが正しくありません。",
"lost_access": "アクセスが失われました",
"missing_backup_codes": "バックアップコードが見つかりません。設定でバックアップコードを生成してください。",
"admin_org_notification_email_subject": "新しい組織が作成されました:アクションは保留中です",
"hi_admin": "管理者様",
"admin_org_notification_email_title": "組織には DNS 設定が必要です",
"admin_org_notification_email_body_part1": "スラッグ「{{orgSlug}}」を持つ組織が作成されました。<br /><br />新しい組織に対応するサブドメインが必ずメインアプリを実行する場所を指すように DNS 登録を設定してください。そうでなければ、組織は機能しません。<br /><br />こちらはサブドメインが組織のアプリを指し示し、組織のプロフィールページを読み込むように設定するためのごく基本的なオプションです。<br /><br />これは次のいずれかで設定できます。A レコード:",
"admin_org_notification_email_body_part2": "または CNAMEレコード:",
"admin_org_notification_email_body_part3": "サブドメインを設定したら、組織の管理設定で DNS 設定を完了とマークしてください。",
"admin_org_notification_email_cta": "組織管理者設定へ移動",
"org_has_been_processed": "組織が処理されました",
"org_error_processing": "この組織の処理中にエラーが発生しました",
"orgs_page_description": "全組織の一覧です。組織を受け入れると、そのメールドメインを持つすべてのユーザーがメール確認なしでサインアップできるようになります。",
"unverified": "未確認",
"dns_missing": "DNS が見つかりません",
"mark_dns_configured": "DNS を設定済みとマークしました",
"value": "値",
"your_organization_updated_sucessfully": "組織は正常にアップデートされました",
"team_no_event_types": "このチームにはイベントタイプはありません",
"seat_options_doesnt_multiple_durations": "座席オプションは複数の期間をサポートしていません",
"include_calendar_event": "カレンダーのイベントを含める",
"recently_added": "最近追加されました",
"no_members_found": "メンバーが見つかりません",
"event_setup_length_error": "イベント設定:時間は 1 分以上でなくてはいけません。",
"availability_schedules": "空き状況一覧",
"view_only_edit_availability_not_onboarded": "このユーザーはオンボーディングを完了していません。オンボーディングを完了するまで、ユーザーの空き状況は設定できません。",
"view_only_edit_availability": "このユーザーの空き状況を表示しています。編集できるのは自分の空き状況だけです。",
"edit_users_availability": "ユーザーの空き状況を編集:{{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ この上に新しい文字列を追加してください ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ この上に新しい文字列を追加してください ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "이메일 및 일정을 가능한 한 차질 없이 보내드릴 수 있도록 이메일 주소를 인증하세요.", "verify_email_banner_body": "이메일 및 일정을 가능한 한 차질 없이 보내드릴 수 있도록 이메일 주소를 인증하세요.",
"verify_email_email_header": "이메일 주소 인증", "verify_email_email_header": "이메일 주소 인증",
"verify_email_email_button": "이메일 인증", "verify_email_email_button": "이메일 인증",
"copy_somewhere_safe": "이 API 키를 안전한 곳에 보관하세요. 이 키는 다시 볼 수 없게 됩니다.",
"verify_email_email_body": "아래 버튼을 클릭하여 이메일 주소를 인증하세요.", "verify_email_email_body": "아래 버튼을 클릭하여 이메일 주소를 인증하세요.",
"verify_email_by_code_email_body": "아래 코드를 사용하여 이메일 주소를 인증하세요.",
"verify_email_email_link_text": "버튼 클릭이 마음에 들지 않는 경우 다음 링크를 사용하세요.", "verify_email_email_link_text": "버튼 클릭이 마음에 들지 않는 경우 다음 링크를 사용하세요.",
"email_verification_code": "인증 코드 입력",
"email_verification_code_placeholder": "메일로 전송된 인증번호를 입력하세요",
"incorrect_email_verification_code": "인증 코드가 올바르지 않습니다.",
"email_sent": "이메일이 성공적으로 전송되었습니다", "email_sent": "이메일이 성공적으로 전송되었습니다",
"email_not_sent": "이메일을 보내는 중 오류가 발생했습니다",
"event_declined_subject": "거절됨: {{date}} {{title}}", "event_declined_subject": "거절됨: {{date}} {{title}}",
"event_cancelled_subject": "취소됨: {{title}}, 날짜 {{date}}", "event_cancelled_subject": "취소됨: {{title}}, 날짜 {{date}}",
"event_request_declined": "회의 요청이 거절되었습니다.", "event_request_declined": "회의 요청이 거절되었습니다.",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "되풀이 이벤트가 승인을 기다리고 있습니다", "event_awaiting_approval_recurring": "되풀이 이벤트가 승인을 기다리고 있습니다",
"someone_requested_an_event": "누군가 귀하의 캘린더에 일정을 예약하도록 요청했습니다.", "someone_requested_an_event": "누군가 귀하의 캘린더에 일정을 예약하도록 요청했습니다.",
"someone_requested_password_reset": "누군가 귀하의 비밀번호 변경을 위한 링크를 요청했습니다.", "someone_requested_password_reset": "누군가 귀하의 비밀번호 변경을 위한 링크를 요청했습니다.",
"password_reset_email_sent": "이 이메일이 당사 시스템에 존재하는 경우, 재설정 이메일을 받게 됩니다.",
"password_reset_instructions": "요청하지 않으셨다면 이 이메일을 무시하십시오. 비밀번호는 변경되지 않습니다.", "password_reset_instructions": "요청하지 않으셨다면 이 이메일을 무시하십시오. 비밀번호는 변경되지 않습니다.",
"event_awaiting_approval_subject": "승인을 기다리고 있습니다: {{date}} {{title}}", "event_awaiting_approval_subject": "승인을 기다리고 있습니다: {{date}} {{title}}",
"event_still_awaiting_approval": "이벤트가 아직 승인을 기다리고 있습니다.", "event_still_awaiting_approval": "이벤트가 아직 승인을 기다리고 있습니다.",
@@ -217,6 +224,10 @@
"already_have_an_account": "이미 계정이 있으신가요?", "already_have_an_account": "이미 계정이 있으신가요?",
"create_account": "계정 만들기", "create_account": "계정 만들기",
"confirm_password": "비밀번호 확인", "confirm_password": "비밀번호 확인",
"confirm_auth_change": "이것으로 로그인 방식이 변경됩니다",
"confirm_auth_email_change": "이메일 주소를 변경하면 Cal.com에 로그인하는 기존 인증 방법이 연결 해제됩니다. 새 이메일 주소를 인증하라는 메시지가 표시됩니다. 앞으로는 메일로 전송되는 지침에 따라 비밀번호를 설정한 후 로그아웃하고 기존 인증 방법 대신 새 이메일 주소를 사용하여 로그인하게 됩니다.",
"reset_your_password": "이메일 주소로 전송된 지침에 따라 새 비밀번호를 설정하십시오.",
"email_change": "새 이메일 주소와 비밀번호로 다시 로그인하십시오.",
"create_your_account": "계정 만들기", "create_your_account": "계정 만들기",
"sign_up": "가입하기", "sign_up": "가입하기",
"youve_been_logged_out": "로그아웃 되었습니다.", "youve_been_logged_out": "로그아웃 되었습니다.",
@@ -243,6 +254,10 @@
"all": "모두", "all": "모두",
"yours": "사용자 계정", "yours": "사용자 계정",
"available_apps": "사용 가능한 앱", "available_apps": "사용 가능한 앱",
"available_apps_lower_case": "사용 가능한 앱",
"available_apps_desc": "설치된 앱이 없습니다. 아래에서 인기 앱을 확인하고 <1>App Store</1>에서 더 많은 앱을 탐색해 보세요",
"fixed_host_helper": "이벤트에 참석해야 하는 인원을 추가하세요. <1>자세히 알아보기</1>",
"round_robin_helper": "그룹의 인원들은 차례로 돌아가며 한 명만 이벤트에 참석하게 됩니다.",
"check_email_reset_password": "이메일을 확인하세요. 비밀번호 재설정을 위한 링크를 보냈습니다.", "check_email_reset_password": "이메일을 확인하세요. 비밀번호 재설정을 위한 링크를 보냈습니다.",
"finish": "끝", "finish": "끝",
"organization_general_description": "팀 언어 및 시간대 설정 관리", "organization_general_description": "팀 언어 및 시간대 설정 관리",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "마지막으로, 예약에 도움이 되고 사람들이 본인에 대해 알 수 있도록 본인에 대한 간단한 소개와 사진을 올려주세요.", "nearly_there_instructions": "마지막으로, 예약에 도움이 되고 사람들이 본인에 대해 알 수 있도록 본인에 대한 간단한 소개와 사진을 올려주세요.",
"set_availability_instructions": "주기적으로 시간이 되는 때가 언제인지 알려주세요. 나중에 더 추가할 수 있습니다.", "set_availability_instructions": "주기적으로 시간이 되는 때가 언제인지 알려주세요. 나중에 더 추가할 수 있습니다.",
"set_availability": "언제 여유가 있는지 설정하세요.", "set_availability": "언제 여유가 있는지 설정하세요.",
"availability_settings": "사용 가능한 설정",
"continue_without_calendar": "캘린더 없이 계속하기", "continue_without_calendar": "캘린더 없이 계속하기",
"connect_your_calendar": "캘린더 연결하기", "connect_your_calendar": "캘린더 연결하기",
"connect_your_video_app": "비디오 앱 연결", "connect_your_video_app": "비디오 앱 연결",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "'+' 기호로 여러 사용자 이름을 추가하여 동적으로 생성할 수 있는 그룹 예약 링크. 예: '{{appName}}/bailey+peer'", "allow_dynamic_booking_tooltip": "'+' 기호로 여러 사용자 이름을 추가하여 동적으로 생성할 수 있는 그룹 예약 링크. 예: '{{appName}}/bailey+peer'",
"allow_dynamic_booking": "참석자가 동적 그룹 예약을 통해 귀하를 예약하도록 허용", "allow_dynamic_booking": "참석자가 동적 그룹 예약을 통해 귀하를 예약하도록 허용",
"dynamic_booking": "동적 그룹 링크", "dynamic_booking": "동적 그룹 링크",
"allow_seo_indexing": "검색 엔진이 공개 콘텐츠에 액세스하도록 허용",
"seo_indexing": "SEO 인덱싱 허용",
"email": "이메일", "email": "이메일",
"email_placeholder": "jdoe@example.com", "email_placeholder": "jdoe@example.com",
"full_name": "이름", "full_name": "이름",
@@ -406,6 +424,7 @@
"booking_requested": "예약 요청됨", "booking_requested": "예약 요청됨",
"meeting_ended": "회의 종료됨", "meeting_ended": "회의 종료됨",
"form_submitted": "양식 제출됨", "form_submitted": "양식 제출됨",
"booking_paid": "예약 결제됨",
"event_triggers": "이벤트 트리거", "event_triggers": "이벤트 트리거",
"subscriber_url": "구독자 URL", "subscriber_url": "구독자 URL",
"create_new_webhook": "새 웹훅 만들기", "create_new_webhook": "새 웹훅 만들기",
@@ -506,6 +525,7 @@
"your_name": "당신의 이름", "your_name": "당신의 이름",
"your_full_name": "전체 이름", "your_full_name": "전체 이름",
"no_name": "이름 없음", "no_name": "이름 없음",
"enter_number_between_range": "1에서 {{maxOccurences}} 사이의 숫자를 입력하세요",
"email_address": "이메일 주소", "email_address": "이메일 주소",
"enter_valid_email": "유효한 이메일을 입력하세요", "enter_valid_email": "유효한 이메일을 입력하세요",
"location": "위치", "location": "위치",
@@ -543,6 +563,7 @@
"leave": "떠나기", "leave": "떠나기",
"profile": "프로필", "profile": "프로필",
"my_team_url": "우리팀 URL", "my_team_url": "우리팀 URL",
"my_teams": "내 팀",
"team_name": "팀 이름", "team_name": "팀 이름",
"your_team_name": "팀 이름", "your_team_name": "팀 이름",
"team_updated_successfully": "팀이 성공적으로 업데이트되었습니다.", "team_updated_successfully": "팀이 성공적으로 업데이트되었습니다.",
@@ -570,6 +591,8 @@
"invite_new_member": "새 팀원 초대", "invite_new_member": "새 팀원 초대",
"invite_new_member_description": "참고: 이로 인해 해당 구독에 <1>추가 시트 비용($15/m)</1>이 발생합니다.", "invite_new_member_description": "참고: 이로 인해 해당 구독에 <1>추가 시트 비용($15/m)</1>이 발생합니다.",
"invite_new_team_member": "누군가를 팀에 초대하기", "invite_new_team_member": "누군가를 팀에 초대하기",
"upload_csv_file": ".csv 파일 업로드",
"invite_via_email": "이메일을 통한 초대",
"change_member_role": "팀원 역할 변경", "change_member_role": "팀원 역할 변경",
"disable_cal_branding": "{{appName}} 브랜딩 비활성화", "disable_cal_branding": "{{appName}} 브랜딩 비활성화",
"disable_cal_branding_description": "공개 페이지에서 모든 {{appName}} 브랜딩 숨기기", "disable_cal_branding_description": "공개 페이지에서 모든 {{appName}} 브랜딩 숨기기",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "사용 가능 여부를 보려면 사용자가 초대를 수락해야 합니다", "team_view_user_availability_disabled": "사용 가능 여부를 보려면 사용자가 초대를 수락해야 합니다",
"set_as_away": "본인을 공석으로 설정", "set_as_away": "본인을 공석으로 설정",
"set_as_free": "공석 상태 비활성화", "set_as_free": "공석 상태 비활성화",
"toggle_away_error": "부재중 상태를 업데이트하는 중 오류가 발생했습니다",
"user_away": "이 사용자는 현재 자리를 비웠습니다.", "user_away": "이 사용자는 현재 자리를 비웠습니다.",
"user_away_description": "예약하려는 사람이 자신을 공석으로 설정했기 때문에 새 예약을 받고 있지 않습니다.", "user_away_description": "예약하려는 사람이 자신을 공석으로 설정했기 때문에 새 예약을 받고 있지 않습니다.",
"meet_people_with_the_same_tokens": "같은 토큰을 가진 사람들을 만나세요", "meet_people_with_the_same_tokens": "같은 토큰을 가진 사람들을 만나세요",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "이메일, 비밀번호를 변경하고 이중 인증을 활성화하려면 {{provider}} 계정 설정을 방문하세요.", "account_managed_by_identity_provider_description": "이메일, 비밀번호를 변경하고 이중 인증을 활성화하려면 {{provider}} 계정 설정을 방문하세요.",
"signin_with_google": "Google로 로그인", "signin_with_google": "Google로 로그인",
"signin_with_saml": "SAML로 로그인", "signin_with_saml": "SAML로 로그인",
"signin_with_saml_oidc": "SAML/OIDC로 로그인",
"you_will_need_to_generate": "이전 일정 관리 도구에서 액세스 토큰을 생성해야 합니다.", "you_will_need_to_generate": "이전 일정 관리 도구에서 액세스 토큰을 생성해야 합니다.",
"import": "가져오기", "import": "가져오기",
"import_from": "가져오기 위치", "import_from": "가져오기 위치",
@@ -950,6 +975,8 @@
"offer_seats_description": "예약에 좌석 제공(게스트를 비활성화하고 예약을 선택함)", "offer_seats_description": "예약에 좌석 제공(게스트를 비활성화하고 예약을 선택함)",
"seats_available_one": "사용 가능한 좌석", "seats_available_one": "사용 가능한 좌석",
"seats_available_other": "사용 가능한 좌석", "seats_available_other": "사용 가능한 좌석",
"seats_nearly_full": "좌석이 거의 꽉 찼습니다",
"seats_half_full": "좌석이 빠르게 채워지는 중",
"number_of_seats": "예약당 좌석 수", "number_of_seats": "예약당 좌석 수",
"enter_number_of_seats": "좌석 수 입력", "enter_number_of_seats": "좌석 수 입력",
"you_can_manage_your_schedules": "가용성 페이지에서 자신의 일정을 관리할 수 있습니다.", "you_can_manage_your_schedules": "가용성 페이지에서 자신의 일정을 관리할 수 있습니다.",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "귀하의 사이트에 {{appName}}을 어떻게 추가하시겠습니까?", "how_you_want_add_cal_site": "귀하의 사이트에 {{appName}}을 어떻게 추가하시겠습니까?",
"choose_ways_put_cal_site": "귀하의 사이트에 {{appName}}을 추가하는 다음 방법 중 하나를 선택하십시오.", "choose_ways_put_cal_site": "귀하의 사이트에 {{appName}}을 추가하는 다음 방법 중 하나를 선택하십시오.",
"setting_up_zapier": "Zapier 통합을 설정하는 중", "setting_up_zapier": "Zapier 통합을 설정하는 중",
"setting_up_make": "Make 통합을 설정하는 중",
"generate_api_key": "API 키 생성", "generate_api_key": "API 키 생성",
"generate_api_key_description": "{{appName}}에서 사용할 API 키 생성 위치", "generate_api_key_description": "{{appName}}에서 사용할 API 키 생성 위치",
"your_unique_api_key": "귀하의 고유 API 키", "your_unique_api_key": "귀하의 고유 API 키",
"copy_safe_api_key": "이 API 키를 복사하여 안전한 곳에 보관하십시오. 이 키를 분실한 경우 새 키를 생성해야 합니다.", "copy_safe_api_key": "이 API 키를 복사하여 안전한 곳에 보관하십시오. 이 키를 분실한 경우 새 키를 생성해야 합니다.",
"zapier_setup_instructions": "<0>Zapier 계정에 로그인하고 새 Zap을 만듭니다.</0><1>Cal.com을 트리거 앱으로 선택합니다. 또한 트리거 이벤트를 선택합니다.</1><2>계정을 선택한 후 고유 API 키를 입력합니다.</2><3>트리거를 테스트합니다.</3><4>설정이 완료되었습니다!</4 >", "zapier_setup_instructions": "<0>Zapier 계정에 로그인하고 새 Zap을 만듭니다.</0><1>Cal.com을 트리거 앱으로 선택합니다. 또한 트리거 이벤트를 선택합니다.</1><2>계정을 선택한 후 고유 API 키를 입력합니다.</2><3>트리거를 테스트합니다.</3><4>설정이 완료되었습니다!</4 >",
"make_setup_instructions": "<0><1><0>초대 링크 만들기</0></1>로 이동하여 Cal.com 앱을 설치합니다.</0><1>Make 계정에 로그인하고 새 시나리오를 만듭니다.</1><2>Cal.com을 Trigger 앱으로 선택합니다. 트리거 이벤트도 선택합니다.</2><3>계정을 선택한 후 고유 API 키를 입력합니다.</3><4>트리거를 테스트합니다.</4><5>이제 준비되었습니다!</5 >",
"install_zapier_app": "먼저 앱 스토어에서 Zapier 앱을 설치하십시오.", "install_zapier_app": "먼저 앱 스토어에서 Zapier 앱을 설치하십시오.",
"install_make_app": "먼저 앱 스토어에서 Make 앱을 설치하십시오.",
"connect_apple_server": "Apple 서버에 연결하기", "connect_apple_server": "Apple 서버에 연결하기",
"calendar_url": "캘린더 URL", "calendar_url": "캘린더 URL",
"apple_server_generate_password": "{{appName}}에서 사용할 앱 비밀번호 생성:", "apple_server_generate_password": "{{appName}}에서 사용할 앱 비밀번호 생성:",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "참석자들에게 이메일 전송", "email_attendee_action": "참석자들에게 이메일 전송",
"sms_attendee_action": "참석자에게 SMS 발송", "sms_attendee_action": "참석자에게 SMS 발송",
"sms_number_action": "특정 번호로 SMS 발송", "sms_number_action": "특정 번호로 SMS 발송",
"send_reminder_sms": "SMS를 통해 참석자에게 회의 알림을 쉽게 보낼 수 있습니다",
"whatsapp_number_action": "특정 번호로 Whatsapp 발송", "whatsapp_number_action": "특정 번호로 Whatsapp 발송",
"whatsapp_attendee_action": "참석자에게 Whatsapp 발송", "whatsapp_attendee_action": "참석자에게 Whatsapp 발송",
"workflows": "워크플로", "workflows": "워크플로",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "설정 업데이트 중 오류 발생", "error_updating_settings": "설정 업데이트 중 오류 발생",
"personal_cal_url": "내 개인 {{appName}} URL", "personal_cal_url": "내 개인 {{appName}} URL",
"bio_hint": "자신에 대해 몇 마디를 써보세요. 개인 URL 페이지에 보이는 내용입니다.", "bio_hint": "자신에 대해 몇 마디를 써보세요. 개인 URL 페이지에 보이는 내용입니다.",
"user_has_no_bio": "이 사용자는 아직 사용자 정보를 추가하지 않았습니다.",
"delete_account_modal_title": "계정 삭제", "delete_account_modal_title": "계정 삭제",
"confirm_delete_account_modal": "{{appName}} 계정을 삭제하시겠습니까?", "confirm_delete_account_modal": "{{appName}} 계정을 삭제하시겠습니까?",
"delete_my_account": "내 계정 삭제", "delete_my_account": "내 계정 삭제",
@@ -1426,6 +1458,7 @@
"add_limit": "제한 추가", "add_limit": "제한 추가",
"team_name_required": "팀 이름 필수", "team_name_required": "팀 이름 필수",
"show_attendees": "게스트 간에 참석자 정보 공유", "show_attendees": "게스트 간에 참석자 정보 공유",
"show_available_seats_count": "사용 가능한 좌석 수 표시",
"how_booking_questions_as_variables": "예약 질문을 어떻게 변수로 사용합니까?", "how_booking_questions_as_variables": "예약 질문을 어떻게 변수로 사용합니까?",
"format": "형식", "format": "형식",
"uppercase_for_letters": "모든 문자에 대문자 사용", "uppercase_for_letters": "모든 문자에 대문자 사용",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "{{connectionType}} 구성을 삭제하시겠습니까? {{connectionType}} 로그인을 사용하는 팀원은 더 이상 Cal.com에 액세스할 수 없습니다.", "delete_sso_configuration_confirmation_description": "{{connectionType}} 구성을 삭제하시겠습니까? {{connectionType}} 로그인을 사용하는 팀원은 더 이상 Cal.com에 액세스할 수 없습니다.",
"organizer_timezone": "주최자 시간대", "organizer_timezone": "주최자 시간대",
"email_user_cta": "초대 보기", "email_user_cta": "초대 보기",
"email_no_user_invite_heading_team": "{{appName}} 팀에 참여 초대를 받으셨습니다",
"email_no_user_invite_heading_org": "{{appName}} 조직에 참여 초대를 받으셨습니다",
"email_no_user_invite_subheading": "{{invitedBy}} 님이 귀하를 {{appName}}에서 자신의 팀에 초대했습니다. {{appName}} 앱은 귀하와 귀하의 팀이 이메일을 주고 받지 않고 회의 일정을 잡을 수 있게 해주는 이벤트 정리 스케줄러입니다.", "email_no_user_invite_subheading": "{{invitedBy}} 님이 귀하를 {{appName}}에서 자신의 팀에 초대했습니다. {{appName}} 앱은 귀하와 귀하의 팀이 이메일을 주고 받지 않고 회의 일정을 잡을 수 있게 해주는 이벤트 정리 스케줄러입니다.",
"email_user_invite_subheading_team": "{{invitedBy}}님이 {{appName}}에서 자신의 `{{teamName}}` 팀에 가입하도록 당신을 초대했습니다. {{appName}}은 유저와 팀이 이메일을 주고 받지 않고도 회의 일정을 잡을 수 있게 하는 이벤트 조율 스케줄러입니다.", "email_user_invite_subheading_team": "{{invitedBy}}님이 {{appName}}에서 자신의 `{{teamName}}` 팀에 가입하도록 당신을 초대했습니다. {{appName}}은 유저와 팀이 이메일을 주고 받지 않고도 회의 일정을 잡을 수 있게 하는 이벤트 조율 스케줄러입니다.",
"email_user_invite_subheading_org": "{{invitedBy}} 님이 {{appName}}에서 자신의 조직의 `{{teamName}}`에 귀하의 참여를 초대했습니다. {{appName}}은(는) 사용자와 조직이 이메일을 주고 받지 않고도 회의 일정을 잡을 수 있게 해주는 이벤트 조정 스케줄러입니다.",
"email_no_user_invite_steps_intro": "안내해 드릴 몇 가지 간단한 단계만 거치면 곧 스트레스 없이 편리하게 {{entity}} 일정을 관리할 수 있게 될 것입니다.", "email_no_user_invite_steps_intro": "안내해 드릴 몇 가지 간단한 단계만 거치면 곧 스트레스 없이 편리하게 {{entity}} 일정을 관리할 수 있게 될 것입니다.",
"email_no_user_step_one": "사용자 이름 선택", "email_no_user_step_one": "사용자 이름 선택",
"email_no_user_step_two": "캘린더 계정 연결", "email_no_user_step_two": "캘린더 계정 연결",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "선택한 필터 또는 날짜에 대한 데이터를 찾을 수 없습니다.", "insights_no_data_found_for_filter": "선택한 필터 또는 날짜에 대한 데이터를 찾을 수 없습니다.",
"acknowledge_booking_no_show_fee": "본인은 이 이벤트에 참석하지 않을 경우 {{amount, currency}}에 대한 노쇼 수수료가 내 카드에 부과됨을 인정합니다.", "acknowledge_booking_no_show_fee": "본인은 이 이벤트에 참석하지 않을 경우 {{amount, currency}}에 대한 노쇼 수수료가 내 카드에 부과됨을 인정합니다.",
"card_details": "카드 세부정보", "card_details": "카드 세부정보",
"something_went_wrong_on_our_end": "문제가 발생했습니다. 지원팀에 연락하시면 즉시 문제를 해결해 드리겠습니다.",
"please_provide_following_text_to_suppport": "더 나은 도움을 받으려면 지원팀에 문의할 때 다음 텍스트를 제공해 주세요",
"seats_and_no_show_fee_error": "현재 좌석을 활성화할 수 없으므로 노쇼 수수료를 부과할 수 없습니다", "seats_and_no_show_fee_error": "현재 좌석을 활성화할 수 없으므로 노쇼 수수료를 부과할 수 없습니다",
"complete_your_booking": "예약을 완료하세요", "complete_your_booking": "예약을 완료하세요",
"complete_your_booking_subject": "예약 완료: {{title}} 날짜 {{date}}", "complete_your_booking_subject": "예약 완료: {{title}} 날짜 {{date}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "누군가 요소를 클릭하면 Cal 대화 상자를 엽니다.", "open_dialog_with_element_click": "누군가 요소를 클릭하면 Cal 대화 상자를 엽니다.",
"need_help_embedding": "도움이 필요하신가요? Wix, Squarespace, 또는 WordPress에서 Cal을 임베드하기 위한 가이드를 참조하거나, 자주 묻는 질문을 확인하거나, 고급 임베드 옵션을 살펴보세요.", "need_help_embedding": "도움이 필요하신가요? Wix, Squarespace, 또는 WordPress에서 Cal을 임베드하기 위한 가이드를 참조하거나, 자주 묻는 질문을 확인하거나, 고급 임베드 옵션을 살펴보세요.",
"book_my_cal": "내 Cal 예약", "book_my_cal": "내 Cal 예약",
"first_name": "이름",
"last_name": "성",
"first_last_name": "이름, 성",
"invite_as": "다른 이름으로 초대", "invite_as": "다른 이름으로 초대",
"form_updated_successfully": "양식이 성공적으로 업데이트되었습니다.", "form_updated_successfully": "양식이 성공적으로 업데이트되었습니다.",
"disable_attendees_confirmation_emails": "참석자에 대한 기본 확인 이메일 사용 안 함", "disable_attendees_confirmation_emails": "참석자에 대한 기본 확인 이메일 사용 안 함",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "이 이벤트 유형에 대한 첫 번째 웹훅 만들기", "first_event_type_webhook_description": "이 이벤트 유형에 대한 첫 번째 웹훅 만들기",
"install_app_on": "앱 설치 대상", "install_app_on": "앱 설치 대상",
"create_for": "작성 대상", "create_for": "작성 대상",
"currency": "통화",
"organization_banner_description": "팀이 라운드 로빈 및 공동 예약을 통해 공유 앱, 워크플로 및 이벤트 유형을 생성할 수 있는 환경을 만듭니다.", "organization_banner_description": "팀이 라운드 로빈 및 공동 예약을 통해 공유 앱, 워크플로 및 이벤트 유형을 생성할 수 있는 환경을 만듭니다.",
"organization_banner_title": "여러 팀으로 조직 관리", "organization_banner_title": "여러 팀으로 조직 관리",
"set_up_your_organization": "조직 설정", "set_up_your_organization": "조직 설정",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "팀: {{teamName}}", "insights_team_filter": "팀: {{teamName}}",
"insights_user_filter": "사용자: {{userName}}", "insights_user_filter": "사용자: {{userName}}",
"insights_subtitle": "이벤트 전반에 걸친 예약 Insights 보기", "insights_subtitle": "이벤트 전반에 걸친 예약 Insights 보기",
"location_options": "{{locationCount}}개의 위치 옵션",
"custom_plan": "사용자 정의 플랜", "custom_plan": "사용자 정의 플랜",
"email_embed": "이메일 포함",
"add_times_to_your_email": "사용 가능한 시간을 몇 개 선택하여 이메일에 포함시키세요",
"select_time": "시간 선택",
"select_date": "날짜 선택",
"see_all_available_times": "모든 사용 가능한 시간 보기",
"org_team_names_example": "예: 마케팅 팀",
"org_team_names_example_1": "예: 마케팅 팀",
"org_team_names_example_2": "예: 세일즈 팀",
"org_team_names_example_3": "예: 디자인 팀",
"org_team_names_example_4": "예: 엔지니어링 팀",
"org_team_names_example_5": "예: 데이터 분석 팀",
"org_max_team_warnings": "나중에 더 많은 팀을 추가할 수 있습니다.",
"what_is_this_meeting_about": "이 회의는 어떤 주제를 다루나요?",
"add_to_team": "팀에 추가",
"remove_users_from_org": "조직에서 사용자 제거",
"remove_users_from_org_confirm": "이 조직에서 {{userCount}}명의 사용자를 제거하시겠습니까?",
"user_has_no_schedules": "이 사용자는 아직 일정을 설정하지 않았습니다",
"user_isnt_in_any_teams": "이 사용자는 어떤 팀의 소속도 아닙니다",
"requires_booker_email_verification": "예약자 이메일 인증이 필요합니다",
"description_requires_booker_email_verification": "이벤트를 예약하기 전 예약자의 이메일 인증하기",
"requires_confirmation_mandatory": "문자 메시지는 이벤트 유형에 확인이 필요한 경우에만 참석자에게 보낼 수 있습니다.",
"kyc_verification_information": "보안이 되게 하려면 참석자에게 문자 메시지를 보내기 전에 {{teamOrAccount}} 인증은 필수입니다. <a>{{supportEmail}}</a>에 연락하여 다음 정보를 제공해 주시기 바랍니다.",
"kyc_verification_documents": "<ul><li>귀하의 {{teamOrUser}}</li><li>기업의 경우: 비즈니스 확인 서류 첨부</li><li>개인의 경우: 정부 발급 신분증 첨부</li></ul >",
"verify_team_or_account": "{{teamOrAccount}} 인증",
"verify_account": "계정 인증",
"kyc_verification": "KYC 인증",
"organizations": "조직",
"org_admin_other_teams": "다른 팀",
"org_admin_other_teams_description": "여기에서 귀하의 소속이 아닌 조직 내부의 팀을 볼 수 있습니다. 필요한 경우 여기에 자신을 추가할 수 있습니다.",
"no_other_teams_found": "다른 팀 없음",
"no_other_teams_found_description": "이 조직에는 다른 팀이 없습니다.",
"attendee_first_name_variable": "참석자 이름",
"attendee_last_name_variable": "참석자 성",
"attendee_first_name_info": "예약자 이름",
"attendee_last_name_info": "예약자 성",
"me": "나",
"verify_team_tooltip": "참석자에게 메시지를 보낼 수 있도록 팀을 인증하세요",
"member_removed": "구성원 제거됨",
"my_availability": "내 가용성",
"team_availability": "팀 가용성",
"backup_code": "백업 코드",
"backup_codes": "백업 코드",
"backup_code_instructions": "각 백업 코드는 인증자 없이 액세스 권한을 부여하기 위해 정확히 한 번만 사용할 수 있습니다.",
"backup_codes_copied": "백업 코드가 복사되었습니다!",
"incorrect_backup_code": "백업 코드가 올바르지 않습니다.",
"lost_access": "액세스 상실",
"missing_backup_codes": "백업 코드를 찾을 수 없습니다. 설정에서 생성하세요.",
"admin_org_notification_email_subject": "새 조직 생성됨: 작업 대기 중",
"hi_admin": "안녕하세요 관리자 님",
"admin_org_notification_email_title": "조직에 DNS 설정이 필요합니다",
"admin_org_notification_email_body_part1": "슬러그 \"{{orgSlug}}\" 있는 조직이 생성되었습니다.<br /><br />새 조직에 해당하는 하위 도메인이 기본 앱이 실행되는 위치를 가리키도록 DNS 레지스트리를 구성하십시오. 구성하지 않으면 조직은 작동하지 않습니다.<br /><br />다음은 하위 도메인이 앱을 가리키도록 구성하여 조직 프로필 페이지를 로드하는 매우 기본적인 옵션입니다.<br /><br />할 수 있는 작업은 A 레코드를 사용하는 것입니다:",
"admin_org_notification_email_body_part2": "또는 CNAME 레코드를 사용하는 것입니다:",
"admin_org_notification_email_body_part3": "하위 도메인을 구성한 후 조직 관리 설정에서 DNS 구성을 완료로 표시하십시오.",
"admin_org_notification_email_cta": "조직 관리자 설정으로 이동",
"org_has_been_processed": "조직이 처리되었습니다",
"org_error_processing": "이 조직을 처리하는 중 오류가 발생했습니다",
"orgs_page_description": "모든 조직의 목록입니다. 조직을 수락하면 해당 이메일 도메인을 가진 모든 사용자가 이메일 인증 없이 가입할 수 있습니다.",
"unverified": "미인증됨",
"dns_missing": "DNS 없음",
"mark_dns_configured": "DNS 구성됨으로 표시",
"value": "값",
"your_organization_updated_sucessfully": "조직이 업데이트되었습니다",
"team_no_event_types": "이 팀에는 이벤트 유형이 없습니다",
"seat_options_doesnt_multiple_durations": "좌석 옵션은 여러 기간을 지원하지 않습니다",
"include_calendar_event": "캘린더 이벤트 포함",
"recently_added": "최근 추가됨",
"no_members_found": "구성원 없음",
"event_setup_length_error": "이벤트 설정: 지속 시간은 1분 이상이어야 합니다.",
"availability_schedules": "사용 가능한 일정",
"view_only_edit_availability_not_onboarded": "이 사용자는 온보딩을 완료하지 않았습니다. 온보딩이 완료될 때까지는 가용성을 설정할 수 없습니다.",
"view_only_edit_availability": "이 사용자의 가용성을 보고 계십니다. 본인의 가용성만 편집할 수 있습니다.",
"edit_users_availability": "사용자 가용성 편집: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 여기에 새 문자열을 추가하세요 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 여기에 새 문자열을 추가하세요 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,11 +17,15 @@
"verify_email_banner_body": "Verifieer uw e-mailadres om de beste bezorgbaarheid van e-mails en agenda's te garanderen", "verify_email_banner_body": "Verifieer uw e-mailadres om de beste bezorgbaarheid van e-mails en agenda's te garanderen",
"verify_email_email_header": "Verifieer uw e-mailadres", "verify_email_email_header": "Verifieer uw e-mailadres",
"verify_email_email_button": "E-mailadres verifiëren", "verify_email_email_button": "E-mailadres verifiëren",
"copy_somewhere_safe": "Sla deze API-sleutel ergens veilig op. U kunt deze niet opnieuw bekijken.",
"verify_email_email_body": "Verifieer uw e-mailadres door op de onderstaande knop te klikken.", "verify_email_email_body": "Verifieer uw e-mailadres door op de onderstaande knop te klikken.",
"verify_email_by_code_email_body": "Verifieer je e-mailadres door onderstaande code te gebruiken.", "verify_email_by_code_email_body": "Verifieer je e-mailadres door onderstaande code te gebruiken.",
"verify_email_email_link_text": "Hier is de link voor het geval u niet graag op knoppen klikt:", "verify_email_email_link_text": "Hier is de link voor het geval u niet graag op knoppen klikt:",
"email_verification_code": "Voer verificatiecode in",
"email_verification_code_placeholder": "Voer de verificatiecode in die u per e-mail is toegestuurd",
"incorrect_email_verification_code": "Verificatiecode is onjuist.", "incorrect_email_verification_code": "Verificatiecode is onjuist.",
"email_sent": "E-mail verzonden", "email_sent": "E-mail verzonden",
"email_not_sent": "Fout opgetreden tijdens het versturen van e-mail",
"event_declined_subject": "Afgewezen: {{title}}", "event_declined_subject": "Afgewezen: {{title}}",
"event_cancelled_subject": "Geannuleerd: {{title}} op {{date}}", "event_cancelled_subject": "Geannuleerd: {{title}} op {{date}}",
"event_request_declined": "Uw gebeurtenisverzoek is geweigerd", "event_request_declined": "Uw gebeurtenisverzoek is geweigerd",
@@ -80,6 +84,7 @@
"event_awaiting_approval_recurring": "Een terugkerende gebeurtenis wacht op uw goedkeuring", "event_awaiting_approval_recurring": "Een terugkerende gebeurtenis wacht op uw goedkeuring",
"someone_requested_an_event": "Iemand heeft verzocht om een gebeurtenis op uw kalender te plannen.", "someone_requested_an_event": "Iemand heeft verzocht om een gebeurtenis op uw kalender te plannen.",
"someone_requested_password_reset": "Iemand heeft een link verzocht om uw wachtwoord te wijzigen.", "someone_requested_password_reset": "Iemand heeft een link verzocht om uw wachtwoord te wijzigen.",
"password_reset_email_sent": "Als dit e-mailadres in ons systeem bestaat, zou u een e-mail voor het opnieuw instellen van uw wachtwoord moeten ontvangen.",
"password_reset_instructions": "Als dit niet heeft verzocht, kunt u deze e-mail gerust negeren en wordt uw wachtwoord niet gewijzigd.", "password_reset_instructions": "Als dit niet heeft verzocht, kunt u deze e-mail gerust negeren en wordt uw wachtwoord niet gewijzigd.",
"event_awaiting_approval_subject": "In afwachting van goedkeuring: {{title}} om {{date}}", "event_awaiting_approval_subject": "In afwachting van goedkeuring: {{title}} om {{date}}",
"event_still_awaiting_approval": "Een gebeurtenis wacht nog op uw goedkeuring", "event_still_awaiting_approval": "Een gebeurtenis wacht nog op uw goedkeuring",
@@ -219,6 +224,10 @@
"already_have_an_account": "Heeft u al een account?", "already_have_an_account": "Heeft u al een account?",
"create_account": "Account Aanmaken", "create_account": "Account Aanmaken",
"confirm_password": "Wachtwoord bevestigen", "confirm_password": "Wachtwoord bevestigen",
"confirm_auth_change": "Dit wijzigt de manier waarop u inlogt",
"confirm_auth_email_change": "Als u het e-mailadres wijzigt, wordt uw huidige verificatiemethode om in te loggen op Cal.com ontkoppeld. We vragen u om uw nieuwe e-mailadres te verifiëren. In de toekomst wordt u uitgelogd en gebruikt u uw nieuwe e-mailadres om in te loggen in plaats van uw huidige verificatiemethode nadat u uw wachtwoord heeft ingesteld door de instructies te volgen die u oer e-mail worden toegestuurd.",
"reset_your_password": "Stel uw nieuwe wachtwoord in met de instructies die u per e-mail zijn toegestuurd.",
"email_change": "Log opnieuw in met uw nieuwe e-mailadres en wachtwoord.",
"create_your_account": "Uw account aanmaken", "create_your_account": "Uw account aanmaken",
"sign_up": "Registreer nu", "sign_up": "Registreer nu",
"youve_been_logged_out": "U bent uitgelogd", "youve_been_logged_out": "U bent uitgelogd",
@@ -246,6 +255,9 @@
"yours": "Uw account", "yours": "Uw account",
"available_apps": "Beschikbare apps", "available_apps": "Beschikbare apps",
"available_apps_lower_case": "Beschikbare apps", "available_apps_lower_case": "Beschikbare apps",
"available_apps_desc": "U heeft geen apps geïnstalleerd. Bekijk hieronder populaire apps en ontdek meer in onze <1>appstore</1>",
"fixed_host_helper": "Voeg iedereen toe die de gebeurtenis moet bijwonen. <1>Meer informatie</1>",
"round_robin_helper": "Mensen in de groep wisselen elkaar af en er komt maar één persoon opdagen voor de gebeurtenis.",
"check_email_reset_password": "Controleer uw e-mail. We hebben u een link gestuurd om uw wachtwoord opnieuw in te stellen.", "check_email_reset_password": "Controleer uw e-mail. We hebben u een link gestuurd om uw wachtwoord opnieuw in te stellen.",
"finish": "Voltooien", "finish": "Voltooien",
"organization_general_description": "Beheer de instellingen voor de taal en tijdzone van uw team", "organization_general_description": "Beheer de instellingen voor de taal en tijdzone van uw team",
@@ -254,6 +266,7 @@
"nearly_there_instructions": "Tot slot, een korte beschrijving van u en een foto helpt u echt boekingen te krijgen en laat iedereen weten bij wie ze boeken.", "nearly_there_instructions": "Tot slot, een korte beschrijving van u en een foto helpt u echt boekingen te krijgen en laat iedereen weten bij wie ze boeken.",
"set_availability_instructions": "Bepaal tijdbereiken waarin u periodiek beschikbaar bent. U kunt op een later tijdstip terugkomen en hier meer van aanmaken en toewijzen aan verschillende kalenders.", "set_availability_instructions": "Bepaal tijdbereiken waarin u periodiek beschikbaar bent. U kunt op een later tijdstip terugkomen en hier meer van aanmaken en toewijzen aan verschillende kalenders.",
"set_availability": "Beschikbaarheid bepalen", "set_availability": "Beschikbaarheid bepalen",
"availability_settings": "Beschikbaarheidsinstellingen",
"continue_without_calendar": "Doorgaan zonder kalender", "continue_without_calendar": "Doorgaan zonder kalender",
"connect_your_calendar": "Koppel uw agenda", "connect_your_calendar": "Koppel uw agenda",
"connect_your_video_app": "Koppel uw videoapps", "connect_your_video_app": "Koppel uw videoapps",
@@ -395,6 +408,8 @@
"allow_dynamic_booking_tooltip": "Groepsboekingslinks die dynamisch kunnen worden aangemaakt door meerdere gebruikersnamen toe te voegen met een \"+\", bijvoorbeeld: \"{{appName}}/bailey+peer", "allow_dynamic_booking_tooltip": "Groepsboekingslinks die dynamisch kunnen worden aangemaakt door meerdere gebruikersnamen toe te voegen met een \"+\", bijvoorbeeld: \"{{appName}}/bailey+peer",
"allow_dynamic_booking": "Sta deelnemers toe om u te boeken via dynamische groepsboekingen", "allow_dynamic_booking": "Sta deelnemers toe om u te boeken via dynamische groepsboekingen",
"dynamic_booking": "Dynamische groepslinks", "dynamic_booking": "Dynamische groepslinks",
"allow_seo_indexing": "Geef zoekmachines toegang tot uw openbare content",
"seo_indexing": "Sta SEO-indexering toe",
"email": "E-mailadres", "email": "E-mailadres",
"email_placeholder": "jjansen@voorbeeld.nl", "email_placeholder": "jjansen@voorbeeld.nl",
"full_name": "Volledige naam", "full_name": "Volledige naam",
@@ -510,6 +525,7 @@
"your_name": "Uw naam", "your_name": "Uw naam",
"your_full_name": "Uw volledige naam", "your_full_name": "Uw volledige naam",
"no_name": "Geen naam", "no_name": "Geen naam",
"enter_number_between_range": "Voer een getal in tussen 1 en {{maxOccurences}}",
"email_address": "E-mail adres", "email_address": "E-mail adres",
"enter_valid_email": "Voer een geldig e-mailadres in", "enter_valid_email": "Voer een geldig e-mailadres in",
"location": "Locatie", "location": "Locatie",
@@ -547,6 +563,7 @@
"leave": "Verlaat", "leave": "Verlaat",
"profile": "Profiel", "profile": "Profiel",
"my_team_url": "Mijn team URL", "my_team_url": "Mijn team URL",
"my_teams": "Mijn teams",
"team_name": "Teamnaam", "team_name": "Teamnaam",
"your_team_name": "Naam van uw team", "your_team_name": "Naam van uw team",
"team_updated_successfully": "Team bijgewerkt", "team_updated_successfully": "Team bijgewerkt",
@@ -574,6 +591,8 @@
"invite_new_member": "Nieuw teamlid uitnodigen", "invite_new_member": "Nieuw teamlid uitnodigen",
"invite_new_member_description": "Opmerking: dit <1>kost een extra plaats ($ 15/maand)</1> op uw abonnement.", "invite_new_member_description": "Opmerking: dit <1>kost een extra plaats ($ 15/maand)</1> op uw abonnement.",
"invite_new_team_member": "Nodig iemand uit tot uw team.", "invite_new_team_member": "Nodig iemand uit tot uw team.",
"upload_csv_file": "Upload een .csv-bestand",
"invite_via_email": "Uitnodigen via e-mail",
"change_member_role": "Rol teamlid wijzigen", "change_member_role": "Rol teamlid wijzigen",
"disable_cal_branding": "{{appName}}-merk uitschakelen", "disable_cal_branding": "{{appName}}-merk uitschakelen",
"disable_cal_branding_description": "Verberg alle {{appName}} branding op uw openbare pagina's.", "disable_cal_branding_description": "Verberg alle {{appName}} branding op uw openbare pagina's.",
@@ -846,6 +865,7 @@
"team_view_user_availability_disabled": "Gebruiker moet de uitnodiging accepteren om beschikbaarheid weer te geven", "team_view_user_availability_disabled": "Gebruiker moet de uitnodiging accepteren om beschikbaarheid weer te geven",
"set_as_away": "Zet uzelf op afwezig", "set_as_away": "Zet uzelf op afwezig",
"set_as_free": "Status afwezig uitschakelen", "set_as_free": "Status afwezig uitschakelen",
"toggle_away_error": "Fout bij het bijwerken van de status afwezig",
"user_away": "Deze gebruiker is momenteel afwezig.", "user_away": "Deze gebruiker is momenteel afwezig.",
"user_away_description": "De persoon die u probeert te boeken heeft zichzelf op afwezig gezet en accepteert dus geen nieuwe boekingen.", "user_away_description": "De persoon die u probeert te boeken heeft zichzelf op afwezig gezet en accepteert dus geen nieuwe boekingen.",
"meet_people_with_the_same_tokens": "Ontmoet mensen met dezelfde tokens", "meet_people_with_the_same_tokens": "Ontmoet mensen met dezelfde tokens",
@@ -855,6 +875,7 @@
"account_managed_by_identity_provider_description": "Ga naar uw accountinstellingen bij {{provider}} om uw e-mailadres en wachtwoord te wijzigen, tweestapsverificatie in te schakelen en meer.", "account_managed_by_identity_provider_description": "Ga naar uw accountinstellingen bij {{provider}} om uw e-mailadres en wachtwoord te wijzigen, tweestapsverificatie in te schakelen en meer.",
"signin_with_google": "Aanmelden met Google", "signin_with_google": "Aanmelden met Google",
"signin_with_saml": "Aanmelden met SAML", "signin_with_saml": "Aanmelden met SAML",
"signin_with_saml_oidc": "Aanmelden met SAML/OIDC",
"you_will_need_to_generate": "U moet een toegangstoken genereren van uw oude planningstool.", "you_will_need_to_generate": "U moet een toegangstoken genereren van uw oude planningstool.",
"import": "Importeren", "import": "Importeren",
"import_from": "Importeren van", "import_from": "Importeren van",
@@ -954,6 +975,8 @@
"offer_seats_description": "Bied beschikbare plaatsen aan voor boekingen. Hiermee worden gastboekingen en aanmeldingsboekingen automatisch uitgeschakeld.", "offer_seats_description": "Bied beschikbare plaatsen aan voor boekingen. Hiermee worden gastboekingen en aanmeldingsboekingen automatisch uitgeschakeld.",
"seats_available_one": "Plaats beschikbaar", "seats_available_one": "Plaats beschikbaar",
"seats_available_other": "Beschikbare zitplaatsen", "seats_available_other": "Beschikbare zitplaatsen",
"seats_nearly_full": "Plaatsen bijna vol",
"seats_half_full": "Plaatsen raken snel vol",
"number_of_seats": "Aantal zitplaatsen per boeking", "number_of_seats": "Aantal zitplaatsen per boeking",
"enter_number_of_seats": "Voer het aantal zitplaatsen in", "enter_number_of_seats": "Voer het aantal zitplaatsen in",
"you_can_manage_your_schedules": "U kunt uw schema's beheren op de beschikbaarheidspagina.", "you_can_manage_your_schedules": "U kunt uw schema's beheren op de beschikbaarheidspagina.",
@@ -1034,12 +1057,15 @@
"how_you_want_add_cal_site": "Hoe wilt u {{appName}} aan uw website toevoegen?", "how_you_want_add_cal_site": "Hoe wilt u {{appName}} aan uw website toevoegen?",
"choose_ways_put_cal_site": "Kies een van de volgende manieren om {{appName}} op uw website te plaatsen.", "choose_ways_put_cal_site": "Kies een van de volgende manieren om {{appName}} op uw website te plaatsen.",
"setting_up_zapier": "Uw Zapier-integratie configureren", "setting_up_zapier": "Uw Zapier-integratie configureren",
"setting_up_make": "Uw Make-integratie configureren",
"generate_api_key": "API-sleutel genereren", "generate_api_key": "API-sleutel genereren",
"generate_api_key_description": "Genereer een API-sleutel die gebruikt moet worden met {{appName}} op", "generate_api_key_description": "Genereer een API-sleutel die gebruikt moet worden met {{appName}} op",
"your_unique_api_key": "Uw unieke API-sleutel", "your_unique_api_key": "Uw unieke API-sleutel",
"copy_safe_api_key": "Kopieer deze API-sleutel en sla deze ergens veilig op. Als u deze sleutel verliest, moet u een nieuwe genereren.", "copy_safe_api_key": "Kopieer deze API-sleutel en sla deze ergens veilig op. Als u deze sleutel verliest, moet u een nieuwe genereren.",
"zapier_setup_instructions": "<0>Meld u aan op uw Zapier-account en maak een nieuwe Zap.</0><1>Selecteer {{appName}} als uw activatie-app. Kies ook een activatiegebeurtenis.</1><2>Kies uw account en voer vervolgens uw unieke API-sleutel in.</2><3>Test uw activatie.</3><4>U bent er klaar voor!</4>", "zapier_setup_instructions": "<0>Meld u aan op uw Zapier-account en maak een nieuwe Zap.</0><1>Selecteer {{appName}} als uw activatie-app. Kies ook een activatiegebeurtenis.</1><2>Kies uw account en voer vervolgens uw unieke API-sleutel in.</2><3>Test uw activatie.</3><4>U bent er klaar voor!</4>",
"make_setup_instructions": "<0>Ga naar <1><0>Make-uitnodigingslink</0></1> en installeer de Cal.com-app.</0><1>Log in bij uw Make-account en maak een nieuw scenario.</1><2>Selecteer Cal.com als uw activatie-app. Kies ook een activatiegebeurtenis.</2><3>Kies uw account en voer uw unieke API-sleutel in.</3><4>Test uw activatie.</4><5>U bent er klaar voor!</5>",
"install_zapier_app": "Installeer eerst de Zapier-app in de App Store.", "install_zapier_app": "Installeer eerst de Zapier-app in de App Store.",
"install_make_app": "Installeer eerst de Make-app uit de appstore.",
"connect_apple_server": "Verbinding maken met Apple Server", "connect_apple_server": "Verbinding maken met Apple Server",
"calendar_url": "Agenda-URL", "calendar_url": "Agenda-URL",
"apple_server_generate_password": "Genereer een appspecifiek wachtwoord voor gebruik met {{appName}} op", "apple_server_generate_password": "Genereer een appspecifiek wachtwoord voor gebruik met {{appName}} op",
@@ -1089,6 +1115,7 @@
"email_attendee_action": "e-mail naar deelnemers versturen", "email_attendee_action": "e-mail naar deelnemers versturen",
"sms_attendee_action": "Sms verzenden naar deelnemer", "sms_attendee_action": "Sms verzenden naar deelnemer",
"sms_number_action": "sms naar een specifiek nummer sturen", "sms_number_action": "sms naar een specifiek nummer sturen",
"send_reminder_sms": "Stuur eenvoudig vergaderherinneringen via sms naar uw deelnemers",
"whatsapp_number_action": "WhatsApp-bericht naar een specifiek nummer versturen", "whatsapp_number_action": "WhatsApp-bericht naar een specifiek nummer versturen",
"whatsapp_attendee_action": "WhatsApp-bericht naar deelnemer versturen", "whatsapp_attendee_action": "WhatsApp-bericht naar deelnemer versturen",
"workflows": "Werkstromen", "workflows": "Werkstromen",
@@ -1248,6 +1275,7 @@
"error_updating_settings": "Fout bij het bijwerken van de instellingen", "error_updating_settings": "Fout bij het bijwerken van de instellingen",
"personal_cal_url": "Mijn persoonlijke {{appName}}-URL", "personal_cal_url": "Mijn persoonlijke {{appName}}-URL",
"bio_hint": "Een korte introductie over uzelf. Dit wordt weergegeven op uw persoonlijke pagina.", "bio_hint": "Een korte introductie over uzelf. Dit wordt weergegeven op uw persoonlijke pagina.",
"user_has_no_bio": "Deze gebruiker heeft nog geen bio toegevoegd.",
"delete_account_modal_title": "Account verwijderen", "delete_account_modal_title": "Account verwijderen",
"confirm_delete_account_modal": "Weet u zeker dat u uw {{appName}}-account wilt verwijderen?", "confirm_delete_account_modal": "Weet u zeker dat u uw {{appName}}-account wilt verwijderen?",
"delete_my_account": "Verwijder mijn account", "delete_my_account": "Verwijder mijn account",
@@ -1430,6 +1458,7 @@
"add_limit": "Voeg een limiet toe", "add_limit": "Voeg een limiet toe",
"team_name_required": "Teamnaam verplicht", "team_name_required": "Teamnaam verplicht",
"show_attendees": "Deel de deelnemersinformatie met de gasten", "show_attendees": "Deel de deelnemersinformatie met de gasten",
"show_available_seats_count": "Aantal beschikbare plaatsen weergeven",
"how_booking_questions_as_variables": "Hoe gebruik ik boekingsvragen als variabelen?", "how_booking_questions_as_variables": "Hoe gebruik ik boekingsvragen als variabelen?",
"format": "Formatteren", "format": "Formatteren",
"uppercase_for_letters": "Gebruik hoofdletters voor alle letters", "uppercase_for_letters": "Gebruik hoofdletters voor alle letters",
@@ -1663,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Weet u zeker dat u de {{connectionType}}-configuratie wilt verwijderen? Uw teamleden die {{connectionType}}-aanmelding gebruiken hebben niet langer toegang tot Cal.com.", "delete_sso_configuration_confirmation_description": "Weet u zeker dat u de {{connectionType}}-configuratie wilt verwijderen? Uw teamleden die {{connectionType}}-aanmelding gebruiken hebben niet langer toegang tot Cal.com.",
"organizer_timezone": "Tijdzone organisator", "organizer_timezone": "Tijdzone organisator",
"email_user_cta": "Uitnodiging weergeven", "email_user_cta": "Uitnodiging weergeven",
"email_no_user_invite_heading_team": "U bent uitgenodigd om lid te worden van een {{appName}}-team",
"email_no_user_invite_heading_org": "U bent uitgenodigd om lid te worden van de {{appName}}-organisatie",
"email_no_user_invite_subheading": "{{invitedBy}} heeft u uitgenodigd om lid te worden van zijn team op {{appName}}. {{appName}} is de gebeurtenissenplanner die u en uw team in staat stelt vergaderingen te plannen zonder heen en weer te e-mailen.", "email_no_user_invite_subheading": "{{invitedBy}} heeft u uitgenodigd om lid te worden van zijn team op {{appName}}. {{appName}} is de gebeurtenissenplanner die u en uw team in staat stelt vergaderingen te plannen zonder heen en weer te e-mailen.",
"email_user_invite_subheading_team": "{{invitedBy}} heeft u uitgenodigd om lid te worden van zijn team '{{teamName}}' op {{appName}}. {{appName}} is de gebeurtenissenplanner die u en uw team in staat stelt afspraken te plannen zonder heen en weer te e-mailen.", "email_user_invite_subheading_team": "{{invitedBy}} heeft u uitgenodigd om lid te worden van zijn team '{{teamName}}' op {{appName}}. {{appName}} is de gebeurtenissenplanner die u en uw team in staat stelt afspraken te plannen zonder heen en weer te e-mailen.",
"email_user_invite_subheading_org": "{{invitedBy}} heeft u uitgenodigd om lid te worden van zijn organisatie '{{teamName}}' op {{appName}}. {{appName}} is de gebeurtenissenplanner die u en uw organisatie in staat stelt afspraken te plannen zonder heen en weer te e-mailen.",
"email_no_user_invite_steps_intro": "We doorlopen samen een paar korte stappen en in een mum van tijd kunt u genieten van een stressvrije planning met uw {{entity}}.", "email_no_user_invite_steps_intro": "We doorlopen samen een paar korte stappen en in een mum van tijd kunt u genieten van een stressvrije planning met uw {{entity}}.",
"email_no_user_step_one": "Kies uw gebruikersnaam", "email_no_user_step_one": "Kies uw gebruikersnaam",
"email_no_user_step_two": "Koppel uw agenda-account", "email_no_user_step_two": "Koppel uw agenda-account",
@@ -1835,6 +1867,8 @@
"insights_no_data_found_for_filter": "Geen gegevens gevonden voor het geselecteerde filter of de geselecteerde datums.", "insights_no_data_found_for_filter": "Geen gegevens gevonden voor het geselecteerde filter of de geselecteerde datums.",
"acknowledge_booking_no_show_fee": "Ik erken dat als ik deze gebeurtenis niet bijwoon, er {{amount, currency}} aan afwezigheidsvergoeding van mijn kaart worden afgeschreven.", "acknowledge_booking_no_show_fee": "Ik erken dat als ik deze gebeurtenis niet bijwoon, er {{amount, currency}} aan afwezigheidsvergoeding van mijn kaart worden afgeschreven.",
"card_details": "Kaartgegevens", "card_details": "Kaartgegevens",
"something_went_wrong_on_our_end": "Er is iets misgegaan aan onze kant. Neem contact op met ons ondersteuningsteam en we lossen het meteen voor u op.",
"please_provide_following_text_to_suppport": "Vermeld de volgende tekst wanneer u contact opneemt met ondersteuning, zodat we u beter kunnen helpen",
"seats_and_no_show_fee_error": "Kan op dit moment geen plaatsen inschakelen en afwezigheidsvergoeding in rekening brengen", "seats_and_no_show_fee_error": "Kan op dit moment geen plaatsen inschakelen en afwezigheidsvergoeding in rekening brengen",
"complete_your_booking": "Voltooi uw boeking", "complete_your_booking": "Voltooi uw boeking",
"complete_your_booking_subject": "Voltooi uw boeking: {{title}} op {{date}}", "complete_your_booking_subject": "Voltooi uw boeking: {{title}} op {{date}}",
@@ -1884,6 +1918,7 @@
"first_event_type_webhook_description": "Maak uw eerste webhook voor dit gebeurtenistype", "first_event_type_webhook_description": "Maak uw eerste webhook voor dit gebeurtenistype",
"install_app_on": "App installeren op", "install_app_on": "App installeren op",
"create_for": "Maken voor", "create_for": "Maken voor",
"currency": "Valuta",
"organization_banner_description": "Maak een omgeving waarin uw teams gedeelde apps, werkstromen en gebeurtenistypen kunnen maken met round-robin en collectieve planning.", "organization_banner_description": "Maak een omgeving waarin uw teams gedeelde apps, werkstromen en gebeurtenistypen kunnen maken met round-robin en collectieve planning.",
"organization_banner_title": "Beheer organisaties met meerdere teams", "organization_banner_title": "Beheer organisaties met meerdere teams",
"set_up_your_organization": "Stel uw organisatie in", "set_up_your_organization": "Stel uw organisatie in",
@@ -1944,11 +1979,79 @@
"insights_team_filter": "Team: {{teamName}}", "insights_team_filter": "Team: {{teamName}}",
"insights_user_filter": "Gebruiker: {{userName}}", "insights_user_filter": "Gebruiker: {{userName}}",
"insights_subtitle": "Bekijk boekingsinsights voor al uw gebeurtenissen", "insights_subtitle": "Bekijk boekingsinsights voor al uw gebeurtenissen",
"location_options": "{{locationCount}} locatieopties",
"custom_plan": "Aangepast abonnement", "custom_plan": "Aangepast abonnement",
"email_embed": "E-mail insluiten",
"add_times_to_your_email": "Selecteer enkele beschikbare tijden en voeg ze toe aan uw e-mail",
"select_time": "Tijd selecteren",
"select_date": "Datum selecteren",
"see_all_available_times": "Bekijk alle beschikbare tijden", "see_all_available_times": "Bekijk alle beschikbare tijden",
"org_team_names_example": "bijvoorbeeld Marketingteam",
"org_team_names_example_1": "bijvoorbeeld Marketingteam",
"org_team_names_example_2": "bijvoorbeeld Verkoopteam",
"org_team_names_example_3": "bijvoorbeeld Ontwerpteam",
"org_team_names_example_4": "bijvoorbeeld Engineeringteam",
"org_team_names_example_5": "bijvoorbeeld Gegevensanalyseteam",
"org_max_team_warnings": "U kunt later meer teams toevoegen.",
"what_is_this_meeting_about": "Waar gaat deze afspraak over?", "what_is_this_meeting_about": "Waar gaat deze afspraak over?",
"add_to_team": "Voeg toe aan team",
"remove_users_from_org": "Gebruikers verwijderen uit organisatie",
"remove_users_from_org_confirm": "Weet u zeker dat u {{userCount}} gebruikers uit deze organisatie wilt verwijderen?",
"user_has_no_schedules": "Deze gebruiker heeft nog geen planningen ingesteld",
"user_isnt_in_any_teams": "Deze gebruiker zit niet in een team",
"requires_booker_email_verification": "E-mailverificatie door boeker vereist",
"description_requires_booker_email_verification": "Om te zorgen voor de e-mailverificatie door de boeker voordat gebeurtenissen worden gepland",
"requires_confirmation_mandatory": "Sms-berichten kunnen alleen naar deelnemers worden verzonden als het gebeurtenistype bevestiging vereist.",
"kyc_verification_information": "Om de veiligheid te garanderen, moet u uw {{teamOrAccount}} verifiëren voordat u sms-berichten naar deelnemers verstuurd. Neem contact met ons op via <a>{{supportEmail}}</a> en verstrek de volgende gegevens:",
"kyc_verification_documents": "<ul><li>Uw {{teamOrUser}}</li><li>Voor bedrijven: voeg uw bedrijfsverificatiedocumentatie bij</li><li>Voor particulieren: voeg een door de overheid uitgegeven identiteitsbewijs bij</li></ul>",
"verify_team_or_account": "{{teamOrAccount}} verifiëren",
"verify_account": "Account verifiëren",
"kyc_verification": "KYC-verificatie",
"organizations": "Organisaties",
"org_admin_other_teams": "Andere teams", "org_admin_other_teams": "Andere teams",
"org_admin_other_teams_description": "Hier kunt u teams binnen uw organisatie zien waar u geen deel van uitmaakt. U kunt uzelf aan hen toevoegen indien nodig.",
"no_other_teams_found": "Geen andere teams gevonden", "no_other_teams_found": "Geen andere teams gevonden",
"no_other_teams_found_description": "Er zijn geen andere teams binnen deze organisatie.", "no_other_teams_found_description": "Er zijn geen andere teams binnen deze organisatie.",
"attendee_first_name_variable": "Voornaam deelnemer",
"attendee_last_name_variable": "Achternaam deelnemer",
"attendee_first_name_info": "De voornaam van de persoon die boekt",
"attendee_last_name_info": "De achternaam van de persoon die boekt",
"me": "Ik",
"verify_team_tooltip": "Verifieer uw team om het versturen van berichten naar deelnemers in te schakelen",
"member_removed": "Lid verwijderd",
"my_availability": "Mijn beschikbaarheid",
"team_availability": "Beschikbaarheid team",
"backup_code": "Back-upcode",
"backup_codes": "Back-upcodes",
"backup_code_instructions": "Elke back-upcode kan slechts één keer gebruikt worden om toegang te verlenen zonder uw authenticator.",
"backup_codes_copied": "Back-upcodes gekopieerd!",
"incorrect_backup_code": "De back-upcode is onjuist.",
"lost_access": "Toegang verloren",
"missing_backup_codes": "Geen back-upcodes gevonden. Genereer ze in uw instellingen.",
"admin_org_notification_email_subject": "Nieuwe organisatie gemaakt: in afwachting van actie",
"hi_admin": "Hallo beheerder",
"admin_org_notification_email_title": "Een organisatie vereist DNS-configuratie",
"admin_org_notification_email_body_part1": "Een organisatie met de slug \"{{orgSlug}}\" is gemaakt.<br /><br />Zorg ervoor dat u uw DNS-register configureert om het subdomein dat overeenkomt met de nieuwe organisatie te verwijzen naar waar de hoofd-app draait. Anders werkt de organisatie niet.<br /><br />Hier zijn slechts de basisopties om een subdomein te laten verwijzen naar de app, zodat de organisatieprofielpagina wordt geladen.<br /><br />U kunt dit doen met het A-record:",
"admin_org_notification_email_body_part2": "Of het CNAME-record:",
"admin_org_notification_email_body_part3": "Zodra u het subdomein heeft geconfigureerd, markeert u de DNS-configuratie als voltooid in Beheerdersinstellingen voor organisaties.",
"admin_org_notification_email_cta": "Naar Beheerdersinstellingen voor organisaties",
"org_has_been_processed": "Organisatie is verwerkt",
"org_error_processing": "Er is een fout opgetreden bij het verwerken van deze organisatie",
"orgs_page_description": "Een lijst met alle organisaties. Als u een organisatie accepteert, kunnen alle gebruikers met dat e-maildomein zich aanmelden ZONDER e-mailverificatie.",
"unverified": "Niet-geverifieerd",
"dns_missing": "DNS ontbreekt",
"mark_dns_configured": "Markeer als DNS geconfigureerd",
"value": "Waarde",
"your_organization_updated_sucessfully": "Uw organisatie is bijgewerkt",
"team_no_event_types": "Dit team heeft geen gebeurtenistypes",
"seat_options_doesnt_multiple_durations": "De plaatsoptie ondersteunt geen meerdere duren",
"include_calendar_event": "Agendagebeurtenis opnemen",
"recently_added": "Recent toegevoegd",
"no_members_found": "Geen leden gevonden",
"event_setup_length_error": "Gebeurtenisconfiguratie: de duur moet minimaal 1 minuut zijn.",
"availability_schedules": "Beschikbaarheidsschema's",
"view_only_edit_availability_not_onboarded": "Deze gebruiker heeft de onboarding nog niet voltooid. U kunt diens beschikbaarheid pas instellen nadat ze men de onboarding heeft voltooid.",
"view_only_edit_availability": "U bekijkt de beschikbaarheid van deze gebruiker. U kunt alleen uw eigen beschikbaarheid bewerken.",
"edit_users_availability": "Beschikbaarheid van gebruiker bewerken: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Voeg uw nieuwe strings hierboven toe ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Voeg uw nieuwe strings hierboven toe ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "Potwierdź adres e-mail, aby upewnić się, że wiadomości e-mail i powiadomienia z kalendarza będą do Ciebie docierać.", "verify_email_banner_body": "Potwierdź adres e-mail, aby upewnić się, że wiadomości e-mail i powiadomienia z kalendarza będą do Ciebie docierać.",
"verify_email_email_header": "Zweryfikuj swój adres e-mail", "verify_email_email_header": "Zweryfikuj swój adres e-mail",
"verify_email_email_button": "Zweryfikuj adres e-mail", "verify_email_email_button": "Zweryfikuj adres e-mail",
"copy_somewhere_safe": "Zapisz ten klucz API w bezpiecznym miejscu. Nie będzie można wyświetlić go ponownie.",
"verify_email_email_body": "Zweryfikuj swój adres e-mail, klikając poniższy przycisk.", "verify_email_email_body": "Zweryfikuj swój adres e-mail, klikając poniższy przycisk.",
"verify_email_by_code_email_body": "Zweryfikuj swój adres e-mail, używając kodu poniżej.",
"verify_email_email_link_text": "Oto link, jeśli nie lubisz klikać przycisków:", "verify_email_email_link_text": "Oto link, jeśli nie lubisz klikać przycisków:",
"email_verification_code": "Wprowadź kod weryfikacyjny",
"email_verification_code_placeholder": "Wprowadź kod weryfikacyjny wysłany na Twój adres e-mail",
"incorrect_email_verification_code": "Kod weryfikacyjny jest nieprawidłowy.",
"email_sent": "Wysłano wiadomość e-mail", "email_sent": "Wysłano wiadomość e-mail",
"email_not_sent": "Podczas wysyłania wiadomości e-mail wystąpił błąd.",
"event_declined_subject": "Odrzucono: {{title}} w dniu {{date}}", "event_declined_subject": "Odrzucono: {{title}} w dniu {{date}}",
"event_cancelled_subject": "Anulowano: {{title}}, {{date}}", "event_cancelled_subject": "Anulowano: {{title}}, {{date}}",
"event_request_declined": "Twoja prośba o wydarzenie została odrzucona", "event_request_declined": "Twoja prośba o wydarzenie została odrzucona",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "Wydarzenie cykliczne oczekuje na Twoje zatwierdzenie", "event_awaiting_approval_recurring": "Wydarzenie cykliczne oczekuje na Twoje zatwierdzenie",
"someone_requested_an_event": "Ktoś poprosił o zaplanowanie wydarzenia w Twoim kalendarzu.", "someone_requested_an_event": "Ktoś poprosił o zaplanowanie wydarzenia w Twoim kalendarzu.",
"someone_requested_password_reset": "Ktoś poprosił o link do zmiany Twojego hasła.", "someone_requested_password_reset": "Ktoś poprosił o link do zmiany Twojego hasła.",
"password_reset_email_sent": "Jeśli ten adres e-mail istnieje w naszym systemie, otrzymasz wiadomość e-mail do zresetowania hasła.",
"password_reset_instructions": "Jeśli nie poprosiłeś o to, możesz bezpiecznie zignorować ten e-mail, a Twoje hasło nie zostanie zmienione.", "password_reset_instructions": "Jeśli nie poprosiłeś o to, możesz bezpiecznie zignorować ten e-mail, a Twoje hasło nie zostanie zmienione.",
"event_awaiting_approval_subject": "Oczekiwanie na zatwierdzenie: {{title}} w {{date}}", "event_awaiting_approval_subject": "Oczekiwanie na zatwierdzenie: {{title}} w {{date}}",
"event_still_awaiting_approval": "Wydarzenie nadal oczekuje na Twoje zatwierdzenie", "event_still_awaiting_approval": "Wydarzenie nadal oczekuje na Twoje zatwierdzenie",
@@ -217,6 +224,10 @@
"already_have_an_account": "Masz już konto?", "already_have_an_account": "Masz już konto?",
"create_account": "Utwórz Konto", "create_account": "Utwórz Konto",
"confirm_password": "Potwierdź hasło", "confirm_password": "Potwierdź hasło",
"confirm_auth_change": "Spowoduje to zmianę sposobu logowania.",
"confirm_auth_email_change": "Zmiana adresu e-mail spowoduje odłączenie bieżącej metody uwierzytelnienia używanej do logowania do Cal.com. Poprosimy Cię o zweryfikowanie nowego adresu e-mail. Następnie wylogujemy Cię, a po skonfigurowaniu hasła zgodnie z instrukcjami, które otrzymasz w wiadomości e-mail, poprosimy Cię o zalogowanie się nowym adresem e-mail zamiast bieżącej metody uwierzytelnienia.",
"reset_your_password": "Ustaw nowe hasło zgodnie z instrukcjami wysłanymi na Twój adres e-mail.",
"email_change": "Zaloguj się ponownie za pomocą nowego adresu e-mail i hasła.",
"create_your_account": "Załóż swoje konto", "create_your_account": "Załóż swoje konto",
"sign_up": "Zarejestruj", "sign_up": "Zarejestruj",
"youve_been_logged_out": "Zostałeś wylogowany", "youve_been_logged_out": "Zostałeś wylogowany",
@@ -243,6 +254,10 @@
"all": "Wszystkie", "all": "Wszystkie",
"yours": "Twoje konto", "yours": "Twoje konto",
"available_apps": "Dostępne aplikacje", "available_apps": "Dostępne aplikacje",
"available_apps_lower_case": "Dostępne aplikacje",
"available_apps_desc": "Nie masz zainstalowanych aplikacji. Zobacz popularne aplikacje poniżej i odkryj ich więcej w naszym sklepie <1>App Store</1>.",
"fixed_host_helper": "Dodaj każdego, kto powinien wziąć udział w wydarzeniu. <1>Dowiedz się więcej</1>",
"round_robin_helper": "Osoby należące do grupy pracują na zmianę i w wydarzeniu weźmie udział tylko jedna z nich.",
"check_email_reset_password": "Sprawdź swój e-mail. Wysłaliśmy Ci link do zresetowania hasła.", "check_email_reset_password": "Sprawdź swój e-mail. Wysłaliśmy Ci link do zresetowania hasła.",
"finish": "Ukończ", "finish": "Ukończ",
"organization_general_description": "Zarządzaj ustawieniami języka i strefy czasowej Twojego zespołu.", "organization_general_description": "Zarządzaj ustawieniami języka i strefy czasowej Twojego zespołu.",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "Ostatnia wskazówka — krótka informacja na Twój temat i zdjęcie naprawdę pomogą Ci zwiększyć liczbę rezerwacji i ułatwią rezerwującym upewnienie się, u kogo dokonują rezerwacji.", "nearly_there_instructions": "Ostatnia wskazówka — krótka informacja na Twój temat i zdjęcie naprawdę pomogą Ci zwiększyć liczbę rezerwacji i ułatwią rezerwującym upewnienie się, u kogo dokonują rezerwacji.",
"set_availability_instructions": "Określ zakresy czasu, kiedy jesteś generalnie dostępny/a. Możesz utworzyć ich więcej później i przypisać je do różnych kalendarzy.", "set_availability_instructions": "Określ zakresy czasu, kiedy jesteś generalnie dostępny/a. Możesz utworzyć ich więcej później i przypisać je do różnych kalendarzy.",
"set_availability": "Ustaw swoją dostępność", "set_availability": "Ustaw swoją dostępność",
"availability_settings": "Ustawienia dostępności",
"continue_without_calendar": "Kontynuuj bez kalendarza", "continue_without_calendar": "Kontynuuj bez kalendarza",
"connect_your_calendar": "Połącz swój kalendarz", "connect_your_calendar": "Połącz swój kalendarz",
"connect_your_video_app": "Podłącz aplikacje wideo", "connect_your_video_app": "Podłącz aplikacje wideo",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "Grupuj linki do rezerwacji, które mogą być tworzone dynamicznie przez dodanie wielu nazw użytkowników z '+'. przykład: '{{appName}}/bailey+peer'", "allow_dynamic_booking_tooltip": "Grupuj linki do rezerwacji, które mogą być tworzone dynamicznie przez dodanie wielu nazw użytkowników z '+'. przykład: '{{appName}}/bailey+peer'",
"allow_dynamic_booking": "Pozwól uczestnikom rezerwować cię przez dynamiczne rezerwacje grupowe", "allow_dynamic_booking": "Pozwól uczestnikom rezerwować cię przez dynamiczne rezerwacje grupowe",
"dynamic_booking": "Dynamiczne linki grup", "dynamic_booking": "Dynamiczne linki grup",
"allow_seo_indexing": "Zezwól wyszukiwarkom na dostęp do Twoich publicznych treści",
"seo_indexing": "Zezwalaj na indeksowanie SEO",
"email": "E-mail", "email": "E-mail",
"email_placeholder": "jkowalski@przyklad.com", "email_placeholder": "jkowalski@przyklad.com",
"full_name": "Imię i nazwisko", "full_name": "Imię i nazwisko",
@@ -406,6 +424,7 @@
"booking_requested": "Poproszono o rezerwację", "booking_requested": "Poproszono o rezerwację",
"meeting_ended": "Spotkanie zakończone", "meeting_ended": "Spotkanie zakończone",
"form_submitted": "Przesłano formularz", "form_submitted": "Przesłano formularz",
"booking_paid": "Rezerwacja opłacona",
"event_triggers": "Wyzwalacze Zdarzeń", "event_triggers": "Wyzwalacze Zdarzeń",
"subscriber_url": "Adres URL subskrybenta", "subscriber_url": "Adres URL subskrybenta",
"create_new_webhook": "Utwórz nowy webhook", "create_new_webhook": "Utwórz nowy webhook",
@@ -506,6 +525,7 @@
"your_name": "Twoje imię", "your_name": "Twoje imię",
"your_full_name": "Twoje imię i nazwisko", "your_full_name": "Twoje imię i nazwisko",
"no_name": "Bez nazwy", "no_name": "Bez nazwy",
"enter_number_between_range": "Wprowadź liczbę od 1 do {{maxOccurences}}",
"email_address": "Adres e-mail", "email_address": "Adres e-mail",
"enter_valid_email": "Wprowadź prawidłowy adres e-mail", "enter_valid_email": "Wprowadź prawidłowy adres e-mail",
"location": "Lokalizacja", "location": "Lokalizacja",
@@ -543,6 +563,7 @@
"leave": "Opuść", "leave": "Opuść",
"profile": "Profil", "profile": "Profil",
"my_team_url": "Adres URL mojej drużyny", "my_team_url": "Adres URL mojej drużyny",
"my_teams": "Moje zespoły",
"team_name": "Nazwa zespołu", "team_name": "Nazwa zespołu",
"your_team_name": "Nazwa Twojego zespołu", "your_team_name": "Nazwa Twojego zespołu",
"team_updated_successfully": "Zespół został pomyślnie zaktualizowany", "team_updated_successfully": "Zespół został pomyślnie zaktualizowany",
@@ -570,6 +591,8 @@
"invite_new_member": "Zaproś nowego członka zespołu", "invite_new_member": "Zaproś nowego członka zespołu",
"invite_new_member_description": "Uwaga: będzie to <1>kosztowało dodatkowe miejsce (15 USD/miesiąc)</1>, które doliczymy do Twojej subskrypcji.", "invite_new_member_description": "Uwaga: będzie to <1>kosztowało dodatkowe miejsce (15 USD/miesiąc)</1>, które doliczymy do Twojej subskrypcji.",
"invite_new_team_member": "Zaproś kogoś do twojego zespołu.", "invite_new_team_member": "Zaproś kogoś do twojego zespołu.",
"upload_csv_file": "Prześlij plik .csv",
"invite_via_email": "Zaproś przez e-mail",
"change_member_role": "Zmień rolę członka zespołu", "change_member_role": "Zmień rolę członka zespołu",
"disable_cal_branding": "Wyłącz branding {{appName}}", "disable_cal_branding": "Wyłącz branding {{appName}}",
"disable_cal_branding_description": "Ukryj wszystkie marki {{appName}} na swoich stronach publicznych.", "disable_cal_branding_description": "Ukryj wszystkie marki {{appName}} na swoich stronach publicznych.",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "Użytkownik musi zaakceptować zaproszenie, aby wyświetlić dostępność", "team_view_user_availability_disabled": "Użytkownik musi zaakceptować zaproszenie, aby wyświetlić dostępność",
"set_as_away": "Ustaw się jako nieobecny", "set_as_away": "Ustaw się jako nieobecny",
"set_as_free": "Wyłącz status Nieobecny", "set_as_free": "Wyłącz status Nieobecny",
"toggle_away_error": "Błąd podczas aktualizacji niedostępności",
"user_away": "Ten użytkownik jest obecnie nieobecny.", "user_away": "Ten użytkownik jest obecnie nieobecny.",
"user_away_description": "Osoba, którą próbujesz zarezerwować, jest teraz nieobecna i dlatego nie akceptuje nowych rezerwacji.", "user_away_description": "Osoba, którą próbujesz zarezerwować, jest teraz nieobecna i dlatego nie akceptuje nowych rezerwacji.",
"meet_people_with_the_same_tokens": "Poznaj ludzi z tymi samymi tokenami", "meet_people_with_the_same_tokens": "Poznaj ludzi z tymi samymi tokenami",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "Aby zmienić swój adres e-mail, hasło, włącz uwierzytelnianie dwuetapowe i więcej, odwiedź swoje ustawienia konta {{provider}}.", "account_managed_by_identity_provider_description": "Aby zmienić swój adres e-mail, hasło, włącz uwierzytelnianie dwuetapowe i więcej, odwiedź swoje ustawienia konta {{provider}}.",
"signin_with_google": "Zaloguj się przez Google", "signin_with_google": "Zaloguj się przez Google",
"signin_with_saml": "Zaloguj się za pomocą SAML", "signin_with_saml": "Zaloguj się za pomocą SAML",
"signin_with_saml_oidc": "Zaloguj się za pomocą SAML/OIDC",
"you_will_need_to_generate": "Będziesz musiał wygenerować token dostępu ze strony integracji.", "you_will_need_to_generate": "Będziesz musiał wygenerować token dostępu ze strony integracji.",
"import": "Importuj", "import": "Importuj",
"import_from": "Importuj z", "import_from": "Importuj z",
@@ -950,6 +975,8 @@
"offer_seats_description": "Zaoferuj miejsca do zarezerwowania. To automatycznie wyłącza rezerwacje gości i rezerwacje wstępne.", "offer_seats_description": "Zaoferuj miejsca do zarezerwowania. To automatycznie wyłącza rezerwacje gości i rezerwacje wstępne.",
"seats_available_one": "Dostępne miejsce", "seats_available_one": "Dostępne miejsce",
"seats_available_other": "Dostępne miejsca", "seats_available_other": "Dostępne miejsca",
"seats_nearly_full": "Prawie wszystkie miejsca zajęte",
"seats_half_full": "Miejsca szybko znikają",
"number_of_seats": "Liczba miejsc na rezerwację", "number_of_seats": "Liczba miejsc na rezerwację",
"enter_number_of_seats": "Wprowadź liczbę miejsc", "enter_number_of_seats": "Wprowadź liczbę miejsc",
"you_can_manage_your_schedules": "Możesz zarządzać swoimi harmonogramami na stronie Dostępności.", "you_can_manage_your_schedules": "Możesz zarządzać swoimi harmonogramami na stronie Dostępności.",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "Jak chcesz dodać aplikację {{appName}} do swojej witryny?", "how_you_want_add_cal_site": "Jak chcesz dodać aplikację {{appName}} do swojej witryny?",
"choose_ways_put_cal_site": "Wybierz jeden z następujących sposobów, aby umieścić aplikację {{appName}} w swojej witrynie.", "choose_ways_put_cal_site": "Wybierz jeden z następujących sposobów, aby umieścić aplikację {{appName}} w swojej witrynie.",
"setting_up_zapier": "Konfiguracja integracji z Zapier", "setting_up_zapier": "Konfiguracja integracji z Zapier",
"setting_up_make": "Konfiguracja integracji z Make",
"generate_api_key": "Wygeneruj klucz interfejsu API", "generate_api_key": "Wygeneruj klucz interfejsu API",
"generate_api_key_description": "Wygeneruj klucz interfejsu API do użycia z aplikacją {{appName}} na", "generate_api_key_description": "Wygeneruj klucz interfejsu API do użycia z aplikacją {{appName}} na",
"your_unique_api_key": "Twój niepowtarzalny klucz API", "your_unique_api_key": "Twój niepowtarzalny klucz API",
"copy_safe_api_key": "Skopiuj ten klucz API i zapisz go w bezpiecznym miejscu. Jeśli stracisz ten klucz, trzeba będzie wygenerować nowy.", "copy_safe_api_key": "Skopiuj ten klucz API i zapisz go w bezpiecznym miejscu. Jeśli stracisz ten klucz, trzeba będzie wygenerować nowy.",
"zapier_setup_instructions": "<0>Zaloguj się do swojego konta Zapier i utwórz nowy Zap.</0><1>Wybierz Cal.com jako aplikację wyzwalającą. Wybierz również wydarzenie wyzwalające. </1><2>Wybierz konto, a następnie wprowadź niepowtarzalny klucz interfejsu API.</2><3>Przetestuj wyzwalanie.</3><4>Wszystko gotowe!</4>", "zapier_setup_instructions": "<0>Zaloguj się do swojego konta Zapier i utwórz nowy Zap.</0><1>Wybierz Cal.com jako aplikację wyzwalającą. Wybierz również wydarzenie wyzwalające. </1><2>Wybierz konto, a następnie wprowadź niepowtarzalny klucz interfejsu API.</2><3>Przetestuj wyzwalanie.</3><4>Wszystko gotowe!</4>",
"make_setup_instructions": "<0>Przejdź do sekcji <1><0>Link z zaproszeniem Make</0></1> i zainstaluj aplikację Cal.com.</0><1><0>Zaloguj się do swojego konta Make i utwórz nowy Scenariusz (Scenario).</1><2>Wybierz Cal.com jako aplikację wyzwalającą. Wybierz również wydarzenie wyzwalające. </2></2>Wybierz konto, a następnie wprowadź niepowtarzalny klucz interfejsu API.</3><4>Przetestuj wyzwalanie.</4><5>Wszystko gotowe!</5>",
"install_zapier_app": "Najpierw zainstaluj aplikację Zapier pobraną ze sklepu App Store.", "install_zapier_app": "Najpierw zainstaluj aplikację Zapier pobraną ze sklepu App Store.",
"install_make_app": "Najpierw zainstaluj aplikację Make pobraną ze sklepu App Store.",
"connect_apple_server": "Połącz z serwerem Apple", "connect_apple_server": "Połącz z serwerem Apple",
"calendar_url": "Adres URL kalendarza", "calendar_url": "Adres URL kalendarza",
"apple_server_generate_password": "Wygeneruj hasło aplikacji do użycia z {{appName}} w witrynie", "apple_server_generate_password": "Wygeneruj hasło aplikacji do użycia z {{appName}} w witrynie",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "wyślij wiadomość e-mail do uczestników", "email_attendee_action": "wyślij wiadomość e-mail do uczestników",
"sms_attendee_action": "Wyślij wiadomość SMS do uczestnika", "sms_attendee_action": "Wyślij wiadomość SMS do uczestnika",
"sms_number_action": "wyślij wiadomość SMS na określony numer", "sms_number_action": "wyślij wiadomość SMS na określony numer",
"send_reminder_sms": "Łatwo wysyłaj uczestnikom przypomnienia SMS o spotkaniu",
"whatsapp_number_action": "wyślij wiadomość w aplikacji Whatsapp na określony numer", "whatsapp_number_action": "wyślij wiadomość w aplikacji Whatsapp na określony numer",
"whatsapp_attendee_action": "wyślij wiadomość w aplikacji Whatsapp do uczestnika", "whatsapp_attendee_action": "wyślij wiadomość w aplikacji Whatsapp do uczestnika",
"workflows": "Przepływy pracy", "workflows": "Przepływy pracy",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "Błąd podczas aktualizacji ustawień", "error_updating_settings": "Błąd podczas aktualizacji ustawień",
"personal_cal_url": "Mój osobisty adres URL aplikacji {{appName}}", "personal_cal_url": "Mój osobisty adres URL aplikacji {{appName}}",
"bio_hint": "Kilka zdań o Tobie. Pojawią się one na Twojej osobistej stronie URL.", "bio_hint": "Kilka zdań o Tobie. Pojawią się one na Twojej osobistej stronie URL.",
"user_has_no_bio": "Ten użytkownik nie dodał jeszcze biogramu.",
"delete_account_modal_title": "Usuń konto", "delete_account_modal_title": "Usuń konto",
"confirm_delete_account_modal": "Czy na pewno chcesz usunąć swoje konto {{appName}}?", "confirm_delete_account_modal": "Czy na pewno chcesz usunąć swoje konto {{appName}}?",
"delete_my_account": "Usuń konto", "delete_my_account": "Usuń konto",
@@ -1426,6 +1458,7 @@
"add_limit": "Dodaj limit", "add_limit": "Dodaj limit",
"team_name_required": "Wymagana nazwa zespołu", "team_name_required": "Wymagana nazwa zespołu",
"show_attendees": "Udostępniaj gościom informacje o uczestnikach", "show_attendees": "Udostępniaj gościom informacje o uczestnikach",
"show_available_seats_count": "Pokaż liczbę dostępnych miejsc",
"how_booking_questions_as_variables": "Jak używać pytań dotyczących rezerwacji jako zmiennych?", "how_booking_questions_as_variables": "Jak używać pytań dotyczących rezerwacji jako zmiennych?",
"format": "Formatowanie", "format": "Formatowanie",
"uppercase_for_letters": "Użyj wielkich liter w przypadku wszystkich liter", "uppercase_for_letters": "Użyj wielkich liter w przypadku wszystkich liter",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Czy na pewno chcesz usunąć konfigurację {{connectionType}}? Członkowie zespołu, którzy używają logowania {{connectionType}} nie będą już mogli uzyskać dostępu do Cal.com.", "delete_sso_configuration_confirmation_description": "Czy na pewno chcesz usunąć konfigurację {{connectionType}}? Członkowie zespołu, którzy używają logowania {{connectionType}} nie będą już mogli uzyskać dostępu do Cal.com.",
"organizer_timezone": "Strefa czasowa organizatora", "organizer_timezone": "Strefa czasowa organizatora",
"email_user_cta": "Wyświetl zaproszenie", "email_user_cta": "Wyświetl zaproszenie",
"email_no_user_invite_heading_team": "Zaproszono Cię do dołączenia do zespołu {{appName}}",
"email_no_user_invite_heading_org": "Zaproszono Cię do dołączenia do organizacji {{appName}}",
"email_no_user_invite_subheading": "Użytkownik {{invitedBy}} zaprasza Cię do dołączenia do jego zespołu w aplikacji {{appName}}. Aplikacja {{appName}} to terminarz do planowania wydarzeń, który umożliwi Tobie i Twojemu zespołowi planowanie spotkań bez czasochłonnej wymiany wiadomości e-mail.", "email_no_user_invite_subheading": "Użytkownik {{invitedBy}} zaprasza Cię do dołączenia do jego zespołu w aplikacji {{appName}}. Aplikacja {{appName}} to terminarz do planowania wydarzeń, który umożliwi Tobie i Twojemu zespołowi planowanie spotkań bez czasochłonnej wymiany wiadomości e-mail.",
"email_user_invite_subheading_team": "Użytkownik {{invitedBy}} zaprasza Cię do dołączenia do jego zespołu „{{teamName}}” w aplikacji {{appName}}. Aplikacja {{appName}} to terminarz do planowania wydarzeń, który umożliwi Tobie i Twojemu zespołowi planowanie spotkań bez czasochłonnej wymiany wiadomości e-mail.", "email_user_invite_subheading_team": "Użytkownik {{invitedBy}} zaprasza Cię do dołączenia do jego zespołu „{{teamName}}” w aplikacji {{appName}}. Aplikacja {{appName}} to terminarz do planowania wydarzeń, który umożliwi Tobie i Twojemu zespołowi planowanie spotkań bez czasochłonnej wymiany wiadomości e-mail.",
"email_user_invite_subheading_org": "{{invitedBy}} zaprasza Cię do dołączenia do organizacji „{{teamName}}” w aplikacji {{appName}}. Aplikacja {{appName}} to terminarz do planowania wydarzeń, który umożliwi Tobie i Twojej organizacji planowanie spotkań bez czasochłonnej wymiany wiadomości e-mail.",
"email_no_user_invite_steps_intro": "Przeprowadzimy Cię przez kilka krótkich kroków i wkrótce w ramach {{entity}} zaczniesz z przyjemnością korzystać z bezstresowego planowania.", "email_no_user_invite_steps_intro": "Przeprowadzimy Cię przez kilka krótkich kroków i wkrótce w ramach {{entity}} zaczniesz z przyjemnością korzystać z bezstresowego planowania.",
"email_no_user_step_one": "Wybierz nazwę użytkownika", "email_no_user_step_one": "Wybierz nazwę użytkownika",
"email_no_user_step_two": "Połącz swoje konto kalendarza", "email_no_user_step_two": "Połącz swoje konto kalendarza",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "Nie znaleziono danych dotyczących wybranego filtru lub wskazanych dat.", "insights_no_data_found_for_filter": "Nie znaleziono danych dotyczących wybranego filtru lub wskazanych dat.",
"acknowledge_booking_no_show_fee": "Rozumiem, że jeśli nie wezmę udziału w wydarzeniu, z mojej karty pobrana zostanie opłata za niestawienie się w wysokości {{amount, currency}}.", "acknowledge_booking_no_show_fee": "Rozumiem, że jeśli nie wezmę udziału w wydarzeniu, z mojej karty pobrana zostanie opłata za niestawienie się w wysokości {{amount, currency}}.",
"card_details": "Dane karty", "card_details": "Dane karty",
"something_went_wrong_on_our_end": "Coś poszło nie tak po naszej stronie. Skontaktuj się z naszym zespołem pomocy technicznej, a zaraz rozwiążemy ten problem.",
"please_provide_following_text_to_suppport": "W razie kontaktu z pomocą techniczną podaj następujący tekst, abyśmy mogli lepiej Ci pomóc.",
"seats_and_no_show_fee_error": "Obecnie nie można udostępnić miejsc ani naliczyć opłaty za niestawienie się.", "seats_and_no_show_fee_error": "Obecnie nie można udostępnić miejsc ani naliczyć opłaty za niestawienie się.",
"complete_your_booking": "Ukończ rezerwację", "complete_your_booking": "Ukończ rezerwację",
"complete_your_booking_subject": "Ukończ rezerwację: {{title}} dnia {{date}}", "complete_your_booking_subject": "Ukończ rezerwację: {{title}} dnia {{date}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "Otwiera okno dialogowe Cal, gdy użytkownik kliknie odpowiedni element.", "open_dialog_with_element_click": "Otwiera okno dialogowe Cal, gdy użytkownik kliknie odpowiedni element.",
"need_help_embedding": "Potrzebujesz pomocy? Zapoznaj się z naszymi instrukcjami osadzania narzędzi Cal w stronach utworzonych w usługach Wix, Squarespace lub WordPress, sprawdź często zadawane pytania lub poznaj zaawansowane opcje osadzania.", "need_help_embedding": "Potrzebujesz pomocy? Zapoznaj się z naszymi instrukcjami osadzania narzędzi Cal w stronach utworzonych w usługach Wix, Squarespace lub WordPress, sprawdź często zadawane pytania lub poznaj zaawansowane opcje osadzania.",
"book_my_cal": "Zarezerwuj za pośrednictwem Cal", "book_my_cal": "Zarezerwuj za pośrednictwem Cal",
"first_name": "Imię",
"last_name": "Nazwisko",
"first_last_name": "Imię, nazwisko",
"invite_as": "Zaproś jako", "invite_as": "Zaproś jako",
"form_updated_successfully": "Formularz został zaktualizowany.", "form_updated_successfully": "Formularz został zaktualizowany.",
"disable_attendees_confirmation_emails": "Wyłącz domyślne wiadomości e-mail z potwierdzeniem dla uczestników", "disable_attendees_confirmation_emails": "Wyłącz domyślne wiadomości e-mail z potwierdzeniem dla uczestników",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "Utwórz swój pierwszy element webhook dla tego typu wydarzenia", "first_event_type_webhook_description": "Utwórz swój pierwszy element webhook dla tego typu wydarzenia",
"install_app_on": "Zainstaluj aplikację na koncie", "install_app_on": "Zainstaluj aplikację na koncie",
"create_for": "Utwórz dla", "create_for": "Utwórz dla",
"currency": "Waluta",
"organization_banner_description": "Utwórz środowisko, w którym zespoły będą mogły tworzyć wspólne aplikacje, przepływy pracy i typy wydarzeń przy użyciu algorytmu karuzelowego lub zbiorowego ustalania harmonogramu.", "organization_banner_description": "Utwórz środowisko, w którym zespoły będą mogły tworzyć wspólne aplikacje, przepływy pracy i typy wydarzeń przy użyciu algorytmu karuzelowego lub zbiorowego ustalania harmonogramu.",
"organization_banner_title": "Zarządzaj organizacjami z wieloma zespołami", "organization_banner_title": "Zarządzaj organizacjami z wieloma zespołami",
"set_up_your_organization": "Skonfiguruj swoją organizację", "set_up_your_organization": "Skonfiguruj swoją organizację",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "Zespół: {{teamName}}", "insights_team_filter": "Zespół: {{teamName}}",
"insights_user_filter": "Użytkownik: {{userName}}", "insights_user_filter": "Użytkownik: {{userName}}",
"insights_subtitle": "Wyświetl wskaźniki Insights rezerwacji z różnych wydarzeń", "insights_subtitle": "Wyświetl wskaźniki Insights rezerwacji z różnych wydarzeń",
"location_options": "Lokalizacje do wyboru: {{locationCount}}",
"custom_plan": "Plan niestandardowy", "custom_plan": "Plan niestandardowy",
"email_embed": "Osadź w wiadomości e-mail",
"add_times_to_your_email": "Wybierz kilka dostępnych terminów i osadź je w wiadomości e-mail",
"select_time": "Wybierz godzinę",
"select_date": "Wybierz datę",
"see_all_available_times": "Zobacz wszystkie dostępne godziny",
"org_team_names_example": "np. zespół marketingowy",
"org_team_names_example_1": "np. zespół marketingowy",
"org_team_names_example_2": "np. zespół ds. sprzedaży",
"org_team_names_example_3": "np. zespół projektowy",
"org_team_names_example_4": "np. zespół ds. inżynierii",
"org_team_names_example_5": "np. zespół ds. analityki danych",
"org_max_team_warnings": "Później będzie można dodać więcej zespołów.",
"what_is_this_meeting_about": "Czego dotyczy to spotkanie?",
"add_to_team": "Dodaj do zespołu",
"remove_users_from_org": "Usuń użytkowników z organizacji",
"remove_users_from_org_confirm": "Czy na pewno chcesz usunąć {{userCount}} użytkowników z tej organizacji?",
"user_has_no_schedules": "Ten użytkownik nie skonfigurował jeszcze żadnych typów harmonogramów.",
"user_isnt_in_any_teams": "Ten użytkownik nie należy do żadnego zespołu.",
"requires_booker_email_verification": "Wymaga weryfikacji adresu e-mail rezerwującego.",
"description_requires_booker_email_verification": "W celu weryfikacji adresu e-mail rezerwującego przed wydarzeniami z harmonogramu.",
"requires_confirmation_mandatory": "Wiadomości tekstowe można wysyłać do uczestników tylko wtedy, gdy typ zdarzenia wymaga potwierdzenia.",
"kyc_verification_information": "Ze względów bezpieczeństwa musisz zweryfikować {{teamOrAccount}}, zanim wyślesz wiadomości tekstowe do uczestników. Napisz na adres <a>{{supportEmail}}</a> i podaj następujące informacje:",
"kyc_verification_documents": "<ul><li>Twój adres: {{teamOrUser}}</li><li>Firmy: dołącz dokumenty weryfikacyjne firmy</li><li>Osoby fizyczne: dołącz skan dokumentu tożsamości</li></ul>",
"verify_team_or_account": "Zweryfikuj {{teamOrAccount}}",
"verify_account": "Zweryfikuj konto",
"kyc_verification": "Weryfikacja KYC",
"organizations": "Organizacje",
"org_admin_other_teams": "Inne zespoły",
"org_admin_other_teams_description": "Tutaj możesz zobaczyć zespoły wewnątrz organizacji, do których nie należy. W razie potrzeby możesz do nich dołączyć.",
"no_other_teams_found": "Nie znaleziono innych zespołów",
"no_other_teams_found_description": "W tej organizacji nie ma żadnych innych zespołów.",
"attendee_first_name_variable": "Imię uczestnika",
"attendee_last_name_variable": "Nazwisko uczestnika",
"attendee_first_name_info": "Imię osoby rezerwującej",
"attendee_last_name_info": "Nazwisko osoby rezerwującej",
"me": "Ja",
"verify_team_tooltip": "Zweryfikuj zespół, aby włączyć wysyłanie wiadomości do uczestników",
"member_removed": "Usunięto członka",
"my_availability": "Moja dostępność",
"team_availability": "Dostępność zespołu",
"backup_code": "Kod zapasowy",
"backup_codes": "Kody zapasowe",
"backup_code_instructions": "Każdy kod zapasowy można wykorzystać dokładnie raz, aby uzyskać dostęp bez uwierzytelniania.",
"backup_codes_copied": "Kody zapasowe skopiowane!",
"incorrect_backup_code": "Kod zapasowy jest nieprawidłowy.",
"lost_access": "Utracono dostęp",
"missing_backup_codes": "Nie znaleziono kodów zapasowych. Wygeneruj je w ustawieniach.",
"admin_org_notification_email_subject": "Utworzono nową organizację: oczekujące działanie",
"hi_admin": "Witaj, Administratorze",
"admin_org_notification_email_title": "Organizacja wymaga konfiguracji DNS",
"admin_org_notification_email_body_part1": "Utworzono organizację ze slugiem „{{orgSlug}}”.<br /><br />Pamiętaj o skonfigurowaniu rejestru DNS, aby wskazać subdomenę nowej organizacji, na górej jest uruchomiona główna aplikacja. W przeciwnym wypadku organizacja nie będzie działać.<br /><br />Poniżej podano kilka najbardziej podstawowych opcji do skonfigurowania subdomeny, by kierowała do aplikacji, która wczyta stronę profilową organizacji.<br /><br />Możesz zrobić to albo za pomocą rekordu A:",
"admin_org_notification_email_body_part2": "Albo rekordu CNAME:",
"admin_org_notification_email_body_part3": "Po skonfigurowaniu subdomeny,proszę oznaczyć konfigurację DNS jako gotową w ustawieniach administratora organizacji.",
"admin_org_notification_email_cta": "Przejdź do ustawień administratora organizacji",
"org_has_been_processed": "Organizacja została przetworzona.",
"org_error_processing": "Podczas przetwarzania tej organizacji wystąpił błąd.",
"orgs_page_description": "Lista wszystkich organizacji. Akceptacja organizacji pozwoli wszystkim użytkownikom z adresami e-mail z tej domeny rejestrację BEZ weryfikacji adresu e-mail.",
"unverified": "Niezweryfikowane",
"dns_missing": "Brak DNS",
"mark_dns_configured": "Oznacz jako DNS skonfigurowany",
"value": "Wartość",
"your_organization_updated_sucessfully": "Twoja organizacja została pomyślnie zaktualizowana.",
"team_no_event_types": "Ten zespół nie ma żadnych typów zdarzeń.",
"seat_options_doesnt_multiple_durations": "Opcja Miejsce nie obsługuje wielu czasów trwania.",
"include_calendar_event": "Uwzględnij wydarzenie z kalendarza",
"recently_added": "Niedawno dodane",
"no_members_found": "Nie znaleziono członków",
"event_setup_length_error": "Konfiguracja wydarzenia: czas trwania musi wynosić co najmniej minutę.",
"availability_schedules": "Harmonogramy dostępności",
"view_only_edit_availability_not_onboarded": "Ten użytkownik nie zakończył procesu wdrażania. Ustawienie jego dostępności będzie niedostępne, póki nie zakończy wdrażania.",
"view_only_edit_availability": "Wyświetlasz dostępność tego użytkownika. Możesz edytować tylko własną dostępność.",
"edit_users_availability": "Edytuj dostępność użytkownika: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Dodaj nowe ciągi powyżej ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Dodaj nowe ciągi powyżej ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -225,6 +225,7 @@
"create_account": "Criar Conta", "create_account": "Criar Conta",
"confirm_password": "Confirmar senha", "confirm_password": "Confirmar senha",
"confirm_auth_change": "Isso alterará a forma como você faz login", "confirm_auth_change": "Isso alterará a forma como você faz login",
"confirm_auth_email_change": "Ao alterar o endereço de e-mail, seu método de autenticação atual será desconectado para entrar no Cal.com. Será solicitado que você verifique seu novo endereço de e-mail. Em seguida, você sairá e seu novo endereço de e-mail será usado para entrar em vez do seu método de autenticação atual, depois que sua senha for definida segundo as instruções enviadas por e-mail.",
"reset_your_password": "Defina sua nova senha com as instruções enviadas para seu endereço de e-mail.", "reset_your_password": "Defina sua nova senha com as instruções enviadas para seu endereço de e-mail.",
"email_change": "Volte a entrar com seu novo endereço de e-mail e senha.", "email_change": "Volte a entrar com seu novo endereço de e-mail e senha.",
"create_your_account": "Criar sua conta", "create_your_account": "Criar sua conta",
@@ -256,6 +257,7 @@
"available_apps_lower_case": "Aplicativos disponíveis", "available_apps_lower_case": "Aplicativos disponíveis",
"available_apps_desc": "Você não tem nenhum aplicativo instalado. Veja apps populares abaixo e explore mais em nossa <1>App Store</1>", "available_apps_desc": "Você não tem nenhum aplicativo instalado. Veja apps populares abaixo e explore mais em nossa <1>App Store</1>",
"fixed_host_helper": "Adicione qualquer pessoa que precise participar do evento. <1>Saiba mais</1>", "fixed_host_helper": "Adicione qualquer pessoa que precise participar do evento. <1>Saiba mais</1>",
"round_robin_helper": "As pessoas do grupo se revezam, e apenas uma aparecerá para o evento.",
"check_email_reset_password": "Verifique o seu email. Enviamos um link para redefinir a sua senha.", "check_email_reset_password": "Verifique o seu email. Enviamos um link para redefinir a sua senha.",
"finish": "Finalizar", "finish": "Finalizar",
"organization_general_description": "Gerencie as configurações para o idioma e o fuso horário da sua equipe", "organization_general_description": "Gerencie as configurações para o idioma e o fuso horário da sua equipe",
@@ -264,6 +266,7 @@
"nearly_there_instructions": "Por último, uma breve descrição de você mesmo e uma foto ajudam a conseguir agendamentos e a mostrar às pessoas com quem elas estão agendando.", "nearly_there_instructions": "Por último, uma breve descrição de você mesmo e uma foto ajudam a conseguir agendamentos e a mostrar às pessoas com quem elas estão agendando.",
"set_availability_instructions": "Definir períodos em que você está disponível de forma recorrente. Mais tarde você poderá criar outros períodos e atribuí-los a diferentes calendários.", "set_availability_instructions": "Definir períodos em que você está disponível de forma recorrente. Mais tarde você poderá criar outros períodos e atribuí-los a diferentes calendários.",
"set_availability": "Definir disponibilidade", "set_availability": "Definir disponibilidade",
"availability_settings": "Configurações de disponibilidade",
"continue_without_calendar": "Continuar sem calendário", "continue_without_calendar": "Continuar sem calendário",
"connect_your_calendar": "Conectar seu calendário", "connect_your_calendar": "Conectar seu calendário",
"connect_your_video_app": "Conecte seus aplicativos de vídeo", "connect_your_video_app": "Conecte seus aplicativos de vídeo",
@@ -405,6 +408,8 @@
"allow_dynamic_booking_tooltip": "Agrupe links de reserva que podem ser criados dinamicamente ao adicionar vários nomes de usuário com \"+\", por exemplo: \"{{appName}}/bailey+peer\"", "allow_dynamic_booking_tooltip": "Agrupe links de reserva que podem ser criados dinamicamente ao adicionar vários nomes de usuário com \"+\", por exemplo: \"{{appName}}/bailey+peer\"",
"allow_dynamic_booking": "Permita que os participantes façam reservas com as reservas de grupo dinâmicas", "allow_dynamic_booking": "Permita que os participantes façam reservas com as reservas de grupo dinâmicas",
"dynamic_booking": "Links de grupo dinâmicos", "dynamic_booking": "Links de grupo dinâmicos",
"allow_seo_indexing": "Permitir que mecanismos de busca acessem seu conteúdo público",
"seo_indexing": "Pemitir indexação em SEO",
"email": "Email", "email": "Email",
"email_placeholder": "nome@exemplo.com", "email_placeholder": "nome@exemplo.com",
"full_name": "Nome Completo", "full_name": "Nome Completo",
@@ -558,6 +563,7 @@
"leave": "Sair", "leave": "Sair",
"profile": "Perfil", "profile": "Perfil",
"my_team_url": "URL do meu time", "my_team_url": "URL do meu time",
"my_teams": "Meus times",
"team_name": "Nome do time", "team_name": "Nome do time",
"your_team_name": "Nome do seu time", "your_team_name": "Nome do seu time",
"team_updated_successfully": "Time atualizado com sucesso", "team_updated_successfully": "Time atualizado com sucesso",
@@ -585,6 +591,8 @@
"invite_new_member": "Convidar um novo membro", "invite_new_member": "Convidar um novo membro",
"invite_new_member_description": "Observação: isso <1>custará um lugar extra ($15/m)</1> na sua assinatura.", "invite_new_member_description": "Observação: isso <1>custará um lugar extra ($15/m)</1> na sua assinatura.",
"invite_new_team_member": "Convidar alguém para seu time.", "invite_new_team_member": "Convidar alguém para seu time.",
"upload_csv_file": "Carregar arquivo .csv",
"invite_via_email": "Convidar via e-mail",
"change_member_role": "Alterar função de membro da equipe", "change_member_role": "Alterar função de membro da equipe",
"disable_cal_branding": "Remover a marca {{appName}}", "disable_cal_branding": "Remover a marca {{appName}}",
"disable_cal_branding_description": "Ocultar todas as marcas de {{appName}} de suas páginas públicas.", "disable_cal_branding_description": "Ocultar todas as marcas de {{appName}} de suas páginas públicas.",
@@ -867,6 +875,7 @@
"account_managed_by_identity_provider_description": "Para alterar o seu endereço de email, senha, ativar a autenticação de dois fatores e outras alterações, por favor utilize as configurações de seu provedor de identidade {{provider}}.", "account_managed_by_identity_provider_description": "Para alterar o seu endereço de email, senha, ativar a autenticação de dois fatores e outras alterações, por favor utilize as configurações de seu provedor de identidade {{provider}}.",
"signin_with_google": "Entrar com Google", "signin_with_google": "Entrar com Google",
"signin_with_saml": "Entrar com SAML", "signin_with_saml": "Entrar com SAML",
"signin_with_saml_oidc": "Entrar com SAML/OIDC",
"you_will_need_to_generate": "Você precisa gerar um token de acesso na ferramenta de agendamento antiga.", "you_will_need_to_generate": "Você precisa gerar um token de acesso na ferramenta de agendamento antiga.",
"import": "Importar", "import": "Importar",
"import_from": "Importar de", "import_from": "Importar de",
@@ -966,6 +975,8 @@
"offer_seats_description": "Oferecer assentos para reserva. Isto desativa automaticamente reservas de convidados e confirmações.", "offer_seats_description": "Oferecer assentos para reserva. Isto desativa automaticamente reservas de convidados e confirmações.",
"seats_available_one": "Assento disponível", "seats_available_one": "Assento disponível",
"seats_available_other": "Assentos disponíveis", "seats_available_other": "Assentos disponíveis",
"seats_nearly_full": "Assentos quase preenchidos",
"seats_half_full": "Assentos sendo preenchidos rapidamente",
"number_of_seats": "Número de assentos por reserva", "number_of_seats": "Número de assentos por reserva",
"enter_number_of_seats": "Insira a quantidade de assentos", "enter_number_of_seats": "Insira a quantidade de assentos",
"you_can_manage_your_schedules": "Você pode gerenciar suas agendas na página de Disponibilidade.", "you_can_manage_your_schedules": "Você pode gerenciar suas agendas na página de Disponibilidade.",
@@ -1046,12 +1057,15 @@
"how_you_want_add_cal_site": "Como deseja adicionar o {{appName}} ao seu site?", "how_you_want_add_cal_site": "Como deseja adicionar o {{appName}} ao seu site?",
"choose_ways_put_cal_site": "Escolha uma das maneiras a seguir para colocar o {{appName}} no seu site.", "choose_ways_put_cal_site": "Escolha uma das maneiras a seguir para colocar o {{appName}} no seu site.",
"setting_up_zapier": "Configurando a sua integração com o Zapier", "setting_up_zapier": "Configurando a sua integração com o Zapier",
"setting_up_make": "Configurando a sua integração com o Make",
"generate_api_key": "Gerar chave de API", "generate_api_key": "Gerar chave de API",
"generate_api_key_description": "Gerar uma chave de API para usar com o {{appName}} em", "generate_api_key_description": "Gerar uma chave de API para usar com o {{appName}} em",
"your_unique_api_key": "Sua chave de API única", "your_unique_api_key": "Sua chave de API única",
"copy_safe_api_key": "Copie esta chave de API e salve em um local seguro. Se perder a chave, será preciso gerar uma nova.", "copy_safe_api_key": "Copie esta chave de API e salve em um local seguro. Se perder a chave, será preciso gerar uma nova.",
"zapier_setup_instructions": "<0>Entre na conta do Zapier e crie um novo Zap.</0><1>Selecione {{appName}} como seu app de gatilho. Escolha também um evento de gatilho.</1><2>Escolha sua conta e insira sua chave de API única.</2><3>Teste seu gatilho.</3><4>Tudo pronto!</4>", "zapier_setup_instructions": "<0>Entre na conta do Zapier e crie um novo Zap.</0><1>Selecione {{appName}} como seu app de gatilho. Escolha também um evento de gatilho.</1><2>Escolha sua conta e insira sua chave de API única.</2><3>Teste seu gatilho.</3><4>Tudo pronto!</4>",
"make_setup_instructions": "<0>Vá para <1><0>Vincular convite do Make</0></1> e instale o aplicativo do Cal.com.</0><1>Entre na conta do Make e crie um novo Cenário.</1><2>Selecione Cal.com como seu aplicativo de gatilho. Escolha também um evento de gatilho.</2><3>Escolha sua conta e insira sua chave de API única.</3><4>Teste seu gatilho.</4><5>Tudo pronto!</5>",
"install_zapier_app": "Instale primeiro o app do Zapier na loja de apps.", "install_zapier_app": "Instale primeiro o app do Zapier na loja de apps.",
"install_make_app": "Instale primeiro o aplicativo do Make na loja de aplicativos.",
"connect_apple_server": "Conectar com o servidor da Apple", "connect_apple_server": "Conectar com o servidor da Apple",
"calendar_url": "URL do calendário", "calendar_url": "URL do calendário",
"apple_server_generate_password": "Gerar uma senha específica de app para usar com o {{appName}} em", "apple_server_generate_password": "Gerar uma senha específica de app para usar com o {{appName}} em",
@@ -1101,6 +1115,7 @@
"email_attendee_action": "enviar e-mail aos participantes", "email_attendee_action": "enviar e-mail aos participantes",
"sms_attendee_action": "Enviar SMS para participante", "sms_attendee_action": "Enviar SMS para participante",
"sms_number_action": "enviar SMS para um número específico", "sms_number_action": "enviar SMS para um número específico",
"send_reminder_sms": "Envie lembretes de reuniões facilmente aos participantes por SMS",
"whatsapp_number_action": "enviar mensagem por WhatsApp para um número específico", "whatsapp_number_action": "enviar mensagem por WhatsApp para um número específico",
"whatsapp_attendee_action": "enviar mensagem por WhatsApp para participante", "whatsapp_attendee_action": "enviar mensagem por WhatsApp para participante",
"workflows": "Fluxos de trabalho", "workflows": "Fluxos de trabalho",
@@ -1260,6 +1275,7 @@
"error_updating_settings": "Erro ao atualizar configurações", "error_updating_settings": "Erro ao atualizar configurações",
"personal_cal_url": "Meu URL pessoal da {{appName}}", "personal_cal_url": "Meu URL pessoal da {{appName}}",
"bio_hint": "Escreva algumas frases sobre você. Isso aparecerá no URL da sua página pessoal.", "bio_hint": "Escreva algumas frases sobre você. Isso aparecerá no URL da sua página pessoal.",
"user_has_no_bio": "Este usuário ainda não adicionou uma biografia.",
"delete_account_modal_title": "Excluir conta", "delete_account_modal_title": "Excluir conta",
"confirm_delete_account_modal": "Tem certeza de que deseja excluir sua conta {{appName}}?", "confirm_delete_account_modal": "Tem certeza de que deseja excluir sua conta {{appName}}?",
"delete_my_account": "Excluir minha conta", "delete_my_account": "Excluir minha conta",
@@ -1442,6 +1458,7 @@
"add_limit": "Adicione limite", "add_limit": "Adicione limite",
"team_name_required": "Nome da equipe obrigatório", "team_name_required": "Nome da equipe obrigatório",
"show_attendees": "Compartilhe informações do participante entre convidados", "show_attendees": "Compartilhe informações do participante entre convidados",
"show_available_seats_count": "Mostrar a quantidade de assentos disponíveis",
"how_booking_questions_as_variables": "Como usar perguntas de reserva como variáveis?", "how_booking_questions_as_variables": "Como usar perguntas de reserva como variáveis?",
"format": "Formato", "format": "Formato",
"uppercase_for_letters": "Use letras maiúsculas para todas as letras", "uppercase_for_letters": "Use letras maiúsculas para todas as letras",
@@ -1675,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Você tem certeza que deseja remover a configuração de {{connectionType}}? Os membros do seu time que utilizam {{connectionType}} para fazer login não conseguirão acessar o Cal.com.", "delete_sso_configuration_confirmation_description": "Você tem certeza que deseja remover a configuração de {{connectionType}}? Os membros do seu time que utilizam {{connectionType}} para fazer login não conseguirão acessar o Cal.com.",
"organizer_timezone": "Fuso horário do organizador", "organizer_timezone": "Fuso horário do organizador",
"email_user_cta": "Ver convite", "email_user_cta": "Ver convite",
"email_no_user_invite_heading_team": "Você recebeu um convite para ingressar em um time do {{appName}}",
"email_no_user_invite_heading_org": "Você recebeu um convite para ingressar em uma organização do {{appName}}",
"email_no_user_invite_subheading": "Você recebeu um convite de {{invitedBy}} para ingressar em sua equipe em {{appName}}. {{appName}} é um agendador que concilia eventos e permite que sua equipe agende reuniões sem precisar trocar e-mails.", "email_no_user_invite_subheading": "Você recebeu um convite de {{invitedBy}} para ingressar em sua equipe em {{appName}}. {{appName}} é um agendador que concilia eventos e permite que sua equipe agende reuniões sem precisar trocar e-mails.",
"email_user_invite_subheading_team": "Você recebeu um convite de {{invitedBy}} para ingressar na equipe \"{{teamName}}\" em {{appName}}. {{appName}} é um agendador que concilia eventos e permite que sua equipe agende reuniões sem precisar trocar e-mails.", "email_user_invite_subheading_team": "Você recebeu um convite de {{invitedBy}} para ingressar na equipe \"{{teamName}}\" em {{appName}}. {{appName}} é um agendador que concilia eventos e permite que sua equipe agende reuniões sem precisar trocar e-mails.",
"email_user_invite_subheading_org": "Você recebeu um convite de {{invitedBy}} para ingressar na organização \"{{teamName}}\" em {{appName}}. {{appName}} é um agendador que concilia eventos e permite que sua organização agende reuniões sem precisar trocar e-mails.",
"email_no_user_invite_steps_intro": "Orientaremos ao longo de alguns passos rápidos para que você comece logo a agendar eventos com {{entity}} sem preocupação.", "email_no_user_invite_steps_intro": "Orientaremos ao longo de alguns passos rápidos para que você comece logo a agendar eventos com {{entity}} sem preocupação.",
"email_no_user_step_one": "Escolha seu nome de usuário", "email_no_user_step_one": "Escolha seu nome de usuário",
"email_no_user_step_two": "Conecte com sua conta de calendário", "email_no_user_step_two": "Conecte com sua conta de calendário",
@@ -1847,6 +1867,8 @@
"insights_no_data_found_for_filter": "Nenhum dado encontrado para o filtro ou dados selecionados.", "insights_no_data_found_for_filter": "Nenhum dado encontrado para o filtro ou dados selecionados.",
"acknowledge_booking_no_show_fee": "Estou ciente de que, se eu não comparecer a este evento, será cobrada no meu cartão uma taxa de não comparecimento de {{amount, currency}}.", "acknowledge_booking_no_show_fee": "Estou ciente de que, se eu não comparecer a este evento, será cobrada no meu cartão uma taxa de não comparecimento de {{amount, currency}}.",
"card_details": "Detalhes do cartão", "card_details": "Detalhes do cartão",
"something_went_wrong_on_our_end": "Algo deu errado da nossa parte. Entre em contato com a equipe de suporte, solucionaremos o problema imediatamente.",
"please_provide_following_text_to_suppport": "Para obter mais ajuda, insira o texto a seguir ao entrar em contato com o suporte",
"seats_and_no_show_fee_error": "Neste momento, não é possível habilitar assentos e cobrar taxa de não comparecimento", "seats_and_no_show_fee_error": "Neste momento, não é possível habilitar assentos e cobrar taxa de não comparecimento",
"complete_your_booking": "Conclua sua reserva", "complete_your_booking": "Conclua sua reserva",
"complete_your_booking_subject": "Conclua sua reserva: {{title}} à(s) {{date}}", "complete_your_booking_subject": "Conclua sua reserva: {{title}} à(s) {{date}}",
@@ -1957,7 +1979,10 @@
"insights_team_filter": "Equipe: {{teamName}}", "insights_team_filter": "Equipe: {{teamName}}",
"insights_user_filter": "Usuário: {{userName}}", "insights_user_filter": "Usuário: {{userName}}",
"insights_subtitle": "Veja insights de reserva em seus eventos", "insights_subtitle": "Veja insights de reserva em seus eventos",
"location_options": "{{locationCount}} opções de local",
"custom_plan": "Plano personalizado", "custom_plan": "Plano personalizado",
"email_embed": "Incorporação de e-mail",
"add_times_to_your_email": "Selecione alguns horários disponíveis e incorpore-os no seu e-mail",
"select_time": "Selecione o horário", "select_time": "Selecione o horário",
"select_date": "Selecione a data", "select_date": "Selecione a data",
"see_all_available_times": "Veja todos os horários disponíveis", "see_all_available_times": "Veja todos os horários disponíveis",
@@ -1967,9 +1992,66 @@
"org_team_names_example_3": "ex: Time de Design", "org_team_names_example_3": "ex: Time de Design",
"org_team_names_example_4": "ex: Time de Engenharia", "org_team_names_example_4": "ex: Time de Engenharia",
"org_team_names_example_5": "ex: Time de Análise de Dados", "org_team_names_example_5": "ex: Time de Análise de Dados",
"org_max_team_warnings": "Você poderá adicionar mais equipes depois.",
"what_is_this_meeting_about": "De que se trata esta reunião?", "what_is_this_meeting_about": "De que se trata esta reunião?",
"add_to_team": "Adicionar à equipe",
"remove_users_from_org": "Remover usuários da organização",
"remove_users_from_org_confirm": "Tem certeza de que deseja remover {{userCount}} usuários desta organização?",
"user_has_no_schedules": "Este usuário ainda não definiu nenhuma agenda",
"user_isnt_in_any_teams": "Este usuário não está em nenhuma equipe",
"requires_booker_email_verification": "Requer verificação de e-mail do reservante", "requires_booker_email_verification": "Requer verificação de e-mail do reservante",
"description_requires_booker_email_verification": "Para assegurar a verificação do e-mail do reservante antes de agendar eventos",
"requires_confirmation_mandatory": "Mensagens de texto só podem ser enviadas a participantes quando este tipo de evento exigir confirmação.",
"kyc_verification_information": "Para assegurar a segurança, é preciso verificar {{teamOrAccount}} antes de enviar mensagens de texto aos participantes. Fale conosco via <a>{{supportEmail}}</a> e envie as seguintes informações:",
"kyc_verification_documents": "<ul><li>{{teamOrUser}}</li><li>para empresas: anexe a documentação de verificação da sua empresa</li><li>Para pessoas físicas: anexe um documento de identidade emitido pelo governo</li></ul>",
"verify_team_or_account": "Verificar {{teamOrAccount}}", "verify_team_or_account": "Verificar {{teamOrAccount}}",
"verify_account": "Verificar Conta", "verify_account": "Verificar Conta",
"kyc_verification": "Verificação \"conheça seu cliente\"",
"organizations": "Organizações",
"org_admin_other_teams": "Outros times",
"org_admin_other_teams_description": "Aqui você pode conferir os times da sua organização dos quais você não faz parte. Se necessário, você pode se adicionar a eles.",
"no_other_teams_found": "Nenhum outro time encontrado",
"no_other_teams_found_description": "Não há outros times nesta organização.",
"attendee_first_name_variable": "Nome do participante",
"attendee_last_name_variable": "Sobrenome do participante",
"attendee_first_name_info": "Nome da pessoa que fez a reserva",
"attendee_last_name_info": "O sobrenome da pessoa que fez a reserva",
"me": "Eu",
"verify_team_tooltip": "Verifique seu time para habilitar o envio de mensagens aos participantes",
"member_removed": "Membro removido",
"my_availability": "Minha disponibilidade",
"team_availability": "Disponibilidade da equipe",
"backup_code": "Código de reserva",
"backup_codes": "Códigos de reserva",
"backup_code_instructions": "Cada código de reserva pode ser usado exatamente uma vez para conceder acesso sem seu autenticador.",
"backup_codes_copied": "Códigos de reserva copiados!",
"incorrect_backup_code": "O código de reserva está incorreto.",
"lost_access": "Acesso perdido",
"missing_backup_codes": "Nenhum código de reserva encontrado. Gere nas suas configurações.",
"admin_org_notification_email_subject": "Nova organização criada: ação pendente",
"hi_admin": "Olá, administrador",
"admin_org_notification_email_title": "A organização exige uma configuração de DNS",
"admin_org_notification_email_body_part1": "Foi criada uma organização com um campo de dados dinâmicos \"{{orgSlug}}\".<br /><br />Configure seu registro de DNS para apontar o subdomínio correspondente da nova organização para onde o aplicativo principal está sendo executado. Se não fizer isso, a organização não funcionará.<br /><br />Confira algumas opções muito básicas de configuração para que o subdomínio aponte para seu aplicativo e a página do perfil da organização seja carregada.<br /><br />É possível fazer isso com um registro de endereço:",
"admin_org_notification_email_body_part2": "Ou o registro CNAME:",
"admin_org_notification_email_body_part3": "Após configurar o subdomínio, marque a configuração do DNS com concluída nas Configurações de administrador das organizações.",
"admin_org_notification_email_cta": "Ir para Configurações de administrador das organizações",
"org_has_been_processed": "A organização foi processada",
"org_error_processing": "Ocorreu um erro ao processar esta organização",
"orgs_page_description": "Uma lista de todas as organizações. Ao aceitar uma organização, todos os usuários com aquele domínio de e-mail poderão entrar SEM a verificação do e-mail.",
"unverified": "Sem verificação",
"dns_missing": "DNS ausente",
"mark_dns_configured": "Marcar como DNS configurado",
"value": "Valor",
"your_organization_updated_sucessfully": "Sua organização foi atualizada com êxito",
"team_no_event_types": "Sua equipe não tem tipos de evento",
"seat_options_doesnt_multiple_durations": "A opção de assento não é compatível com múltiplas durações",
"include_calendar_event": "Incluir evento do calendário",
"recently_added": "Adicionou recentemente",
"no_members_found": "Nenhum membro encontrado",
"event_setup_length_error": "Configuração do evento: deve ter pelo menos 1 minuto de duração.",
"availability_schedules": "Agendamentos de disponibilidade",
"view_only_edit_availability_not_onboarded": "Este usuário não concluiu a integração. Não será possível definir a disponibilidade antes de concluir a integração.",
"view_only_edit_availability": "Você está vendo a disponibilidade deste usuário. Você só pode editar sua disponibilidade.",
"edit_users_availability": "Editar disponibilidade do usuário: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Adicione suas novas strings aqui em cima ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Adicione suas novas strings aqui em cima ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "Confirme o seu endereço de e-mail para garantir a melhor entrega possível de e-mail e de agenda", "verify_email_banner_body": "Confirme o seu endereço de e-mail para garantir a melhor entrega possível de e-mail e de agenda",
"verify_email_email_header": "Confirme o seu endereço de e-mail", "verify_email_email_header": "Confirme o seu endereço de e-mail",
"verify_email_email_button": "Confirmar o seu e-mail", "verify_email_email_button": "Confirmar o seu e-mail",
"copy_somewhere_safe": "Guarde esta chave da API num local seguro. Não poderá consultar a mesma novamente.",
"verify_email_email_body": "Confirme o seu endereço de e-mail clicando no botão abaixo.", "verify_email_email_body": "Confirme o seu endereço de e-mail clicando no botão abaixo.",
"verify_email_by_code_email_body": "Confirme o seu endereço de e-mail utilizando o código abaixo.",
"verify_email_email_link_text": "Aqui está a ligação caso não goste de clicar em botões:", "verify_email_email_link_text": "Aqui está a ligação caso não goste de clicar em botões:",
"email_verification_code": "Introduza o código de verificação",
"email_verification_code_placeholder": "Introduza o código de verificação enviado para o seu e-mail",
"incorrect_email_verification_code": "O código de verificação está incorreto.",
"email_sent": "E-mail enviado com sucesso", "email_sent": "E-mail enviado com sucesso",
"email_not_sent": "Ocorreu um erro ao enviar o e-mail",
"event_declined_subject": "Declinado: {{title}} em {{date}}", "event_declined_subject": "Declinado: {{title}} em {{date}}",
"event_cancelled_subject": "Cancelado: {{title}} a {{date}}", "event_cancelled_subject": "Cancelado: {{title}} a {{date}}",
"event_request_declined": "O seu pedido de evento foi declinado", "event_request_declined": "O seu pedido de evento foi declinado",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "Um evento recorrente aguarda a sua aprovação", "event_awaiting_approval_recurring": "Um evento recorrente aguarda a sua aprovação",
"someone_requested_an_event": "Alguém pediu para agendar um evento no seu calendário.", "someone_requested_an_event": "Alguém pediu para agendar um evento no seu calendário.",
"someone_requested_password_reset": "Alguém pediu uma ligação para alterar a sua senha.", "someone_requested_password_reset": "Alguém pediu uma ligação para alterar a sua senha.",
"password_reset_email_sent": "Se este e-mail existir no nosso sistema, deverá receber uma mensagem de redefinição.",
"password_reset_instructions": "Se não fez este pedido, pode ignorar este email com segurança e a sua senha não será alterada.", "password_reset_instructions": "Se não fez este pedido, pode ignorar este email com segurança e a sua senha não será alterada.",
"event_awaiting_approval_subject": "A aguardar aprovação: {{title}} em {{date}}", "event_awaiting_approval_subject": "A aguardar aprovação: {{title}} em {{date}}",
"event_still_awaiting_approval": "Um evento ainda aguarda a sua aprovação", "event_still_awaiting_approval": "Um evento ainda aguarda a sua aprovação",
@@ -217,6 +224,10 @@
"already_have_an_account": "Já tem uma conta?", "already_have_an_account": "Já tem uma conta?",
"create_account": "Criar Conta", "create_account": "Criar Conta",
"confirm_password": "Confirmar senha", "confirm_password": "Confirmar senha",
"confirm_auth_change": "Isto irá alterar a forma como inicia sessão",
"confirm_auth_email_change": "A alteração do endereço de e-mail irá desassociar o seu método de autenticação atual para iniciar sessão no Cal.com. Vamos solicitar que confirme o seu novo endereço de e-mail. Ao continuar, a sua sessão será terminada e vai utilizar o seu novo endereço de e-mail para iniciar sessão em vez do seu método de autenticação atual, depois de definir a sua palavra-passe, de acordo com as instruções que serão enviadas para o seu e-mail.",
"reset_your_password": "Defina a sua nova palavra-passe seguindo as instruções enviadas para o seu endereço de e-mail.",
"email_change": "Inicie sessão novamente com o seu novo endereço de e-mail e palavra-passe.",
"create_your_account": "Crie a sua conta", "create_your_account": "Crie a sua conta",
"sign_up": "Registar", "sign_up": "Registar",
"youve_been_logged_out": "A sessão foi encerrada", "youve_been_logged_out": "A sessão foi encerrada",
@@ -243,6 +254,10 @@
"all": "Todos as aplicações", "all": "Todos as aplicações",
"yours": "A sua conta", "yours": "A sua conta",
"available_apps": "Aplicações disponíveis", "available_apps": "Aplicações disponíveis",
"available_apps_lower_case": "Aplicações disponíveis",
"available_apps_desc": "Não tem aplicações instaladas. Consulte as aplicações mais populares abaixo e explore mais na nossa <1>App Store</1>",
"fixed_host_helper": "Adicione qualquer pessoa que precise de participar no evento. <1>Saiba mais</1>",
"round_robin_helper": "As pessoas no grupo revezam-se e apenas uma pessoa aparecerá no evento.",
"check_email_reset_password": "Verifique o seu email. Enviámos uma ligação para redefinir a sua senha.", "check_email_reset_password": "Verifique o seu email. Enviámos uma ligação para redefinir a sua senha.",
"finish": "Terminar", "finish": "Terminar",
"organization_general_description": "Faça a gestão das definições do idioma e fuso horário da sua equipa", "organization_general_description": "Faça a gestão das definições do idioma e fuso horário da sua equipa",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "Por último, uma breve descrição sobre si e uma fotografia ajudam a obter reservas e a mostrar às pessoas com quem estão a reservar.", "nearly_there_instructions": "Por último, uma breve descrição sobre si e uma fotografia ajudam a obter reservas e a mostrar às pessoas com quem estão a reservar.",
"set_availability_instructions": "Definir períodos em que está disponível numa base recorrente. Mais tarde poderá criar mais destes, e atribuí-los a diferentes calendários.", "set_availability_instructions": "Definir períodos em que está disponível numa base recorrente. Mais tarde poderá criar mais destes, e atribuí-los a diferentes calendários.",
"set_availability": "Definir disponibilidade", "set_availability": "Definir disponibilidade",
"availability_settings": "Configurações de disponibilidade",
"continue_without_calendar": "Continuar sem calendário", "continue_without_calendar": "Continuar sem calendário",
"connect_your_calendar": "Ligar o seu calendário", "connect_your_calendar": "Ligar o seu calendário",
"connect_your_video_app": "Associar as suas aplicações de vídeo", "connect_your_video_app": "Associar as suas aplicações de vídeo",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "As ligações de reservas dinâmicas de grupos podem ser criadas dinamicamente ao adicionar múltiplos nomes de utilizador com um '+'. Por exemplo: '{{appName}}/duarte+marta'", "allow_dynamic_booking_tooltip": "As ligações de reservas dinâmicas de grupos podem ser criadas dinamicamente ao adicionar múltiplos nomes de utilizador com um '+'. Por exemplo: '{{appName}}/duarte+marta'",
"allow_dynamic_booking": "Permitir que os participantes façam reservas consigo através de reservas dinâmicas de grupos", "allow_dynamic_booking": "Permitir que os participantes façam reservas consigo através de reservas dinâmicas de grupos",
"dynamic_booking": "Ligações dinâmicas de grupos", "dynamic_booking": "Ligações dinâmicas de grupos",
"allow_seo_indexing": "Permitir que os motores de pesquisa acedam ao seu conteúdo público",
"seo_indexing": "Permitir indexação para SEO",
"email": "Email", "email": "Email",
"email_placeholder": "nome@exemplo.com", "email_placeholder": "nome@exemplo.com",
"full_name": "Nome Completo", "full_name": "Nome Completo",
@@ -406,6 +424,7 @@
"booking_requested": "Reserva solicitada", "booking_requested": "Reserva solicitada",
"meeting_ended": "A reunião terminou", "meeting_ended": "A reunião terminou",
"form_submitted": "Formulário enviado", "form_submitted": "Formulário enviado",
"booking_paid": "Reserva paga",
"event_triggers": "Causadores de eventos", "event_triggers": "Causadores de eventos",
"subscriber_url": "URL do assinante", "subscriber_url": "URL do assinante",
"create_new_webhook": "Criar um novo webhook", "create_new_webhook": "Criar um novo webhook",
@@ -506,6 +525,7 @@
"your_name": "O seu nome", "your_name": "O seu nome",
"your_full_name": "O seu nome completo", "your_full_name": "O seu nome completo",
"no_name": "Sem nome", "no_name": "Sem nome",
"enter_number_between_range": "Introduza um número entre 1 e {{maxOccurences}}",
"email_address": "Endereço de email", "email_address": "Endereço de email",
"enter_valid_email": "Insira um e-mail válido", "enter_valid_email": "Insira um e-mail válido",
"location": "Localização", "location": "Localização",
@@ -543,6 +563,7 @@
"leave": "Sair", "leave": "Sair",
"profile": "Perfil", "profile": "Perfil",
"my_team_url": "URL da Minha Equipa", "my_team_url": "URL da Minha Equipa",
"my_teams": "As minhas equipas",
"team_name": "Nome da Equipa", "team_name": "Nome da Equipa",
"your_team_name": "Nome da sua equipa", "your_team_name": "Nome da sua equipa",
"team_updated_successfully": "Equipa atualizada com sucesso", "team_updated_successfully": "Equipa atualizada com sucesso",
@@ -570,6 +591,8 @@
"invite_new_member": "Convidar um Novo Membro", "invite_new_member": "Convidar um Novo Membro",
"invite_new_member_description": "Nota: isto vai ter o <1>custo de um lugar adicional ($15/m)</1> na sua subscrição.", "invite_new_member_description": "Nota: isto vai ter o <1>custo de um lugar adicional ($15/m)</1> na sua subscrição.",
"invite_new_team_member": "Convide alguém para a sua equipa.", "invite_new_team_member": "Convide alguém para a sua equipa.",
"upload_csv_file": "Carregar um ficheiro .csv",
"invite_via_email": "Convidar por e-mail",
"change_member_role": "Alterar função de membro da equipa", "change_member_role": "Alterar função de membro da equipa",
"disable_cal_branding": "Desativar a marca {{appName}}", "disable_cal_branding": "Desativar a marca {{appName}}",
"disable_cal_branding_description": "Ocultar todas as marcas de {{appName}} das suas páginas públicas.", "disable_cal_branding_description": "Ocultar todas as marcas de {{appName}} das suas páginas públicas.",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "O utilizador tem de aceitar o convite para ver a disponibilidade", "team_view_user_availability_disabled": "O utilizador tem de aceitar o convite para ver a disponibilidade",
"set_as_away": "Defina o seu estado como ausente", "set_as_away": "Defina o seu estado como ausente",
"set_as_free": "Desactivar estado de ausência", "set_as_free": "Desactivar estado de ausência",
"toggle_away_error": "Erro ao atualizar o estado de ausência",
"user_away": "Este utilizador está ausente de momento.", "user_away": "Este utilizador está ausente de momento.",
"user_away_description": "A pessoa com quem está a tentar fazer uma reserva está ausente, pelo que não está a aceitar novas reservas.", "user_away_description": "A pessoa com quem está a tentar fazer uma reserva está ausente, pelo que não está a aceitar novas reservas.",
"meet_people_with_the_same_tokens": "Conheça pessoas com os mesmos tokens", "meet_people_with_the_same_tokens": "Conheça pessoas com os mesmos tokens",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "Para alterar o seu email ou a sua senha, para ativar a autenticação de dois fatores ou outras opções, vá às definições da sua conta {{provider}}.", "account_managed_by_identity_provider_description": "Para alterar o seu email ou a sua senha, para ativar a autenticação de dois fatores ou outras opções, vá às definições da sua conta {{provider}}.",
"signin_with_google": "Iniciar sessão com o Google", "signin_with_google": "Iniciar sessão com o Google",
"signin_with_saml": "Iniciar sessão com SAML", "signin_with_saml": "Iniciar sessão com SAML",
"signin_with_saml_oidc": "Iniciar sessão com SAML/OIDC",
"you_will_need_to_generate": "Precisará de gerar um token de acesso na página das integrações.", "you_will_need_to_generate": "Precisará de gerar um token de acesso na página das integrações.",
"import": "Importar", "import": "Importar",
"import_from": "Importar de", "import_from": "Importar de",
@@ -950,6 +975,8 @@
"offer_seats_description": "Oferecer lugares para reservas (isto desactiva os convidados e confirmações nas reservas)", "offer_seats_description": "Oferecer lugares para reservas (isto desactiva os convidados e confirmações nas reservas)",
"seats_available_one": "Lugar disponível", "seats_available_one": "Lugar disponível",
"seats_available_other": "Lugares disponíveis", "seats_available_other": "Lugares disponíveis",
"seats_nearly_full": "Lugares quase esgotados",
"seats_half_full": "Lugares rapidamente ocupados",
"number_of_seats": "Número de lugares por reserva", "number_of_seats": "Número de lugares por reserva",
"enter_number_of_seats": "Digite um número de lugares", "enter_number_of_seats": "Digite um número de lugares",
"you_can_manage_your_schedules": "Pode gerir os seus horários na página de Disponibilidade.", "you_can_manage_your_schedules": "Pode gerir os seus horários na página de Disponibilidade.",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "Como deseja adicionar o {{appName}} ao seu site?", "how_you_want_add_cal_site": "Como deseja adicionar o {{appName}} ao seu site?",
"choose_ways_put_cal_site": "Escolha uma das seguintes formas de colocar o {{appName}} no seu site.", "choose_ways_put_cal_site": "Escolha uma das seguintes formas de colocar o {{appName}} no seu site.",
"setting_up_zapier": "A configurar a sua integração com Zapier", "setting_up_zapier": "A configurar a sua integração com Zapier",
"setting_up_make": "A configurar a sua integração com Make",
"generate_api_key": "Gerar chave de API", "generate_api_key": "Gerar chave de API",
"generate_api_key_description": "Gerar uma chave da API para utilizar com {{appName}} em", "generate_api_key_description": "Gerar uma chave da API para utilizar com {{appName}} em",
"your_unique_api_key": "A sua chave de API única", "your_unique_api_key": "A sua chave de API única",
"copy_safe_api_key": "Copie esta chave da API e guarde-a num lugar seguro. Se perder esta chave, terá de gerar uma nova.", "copy_safe_api_key": "Copie esta chave da API e guarde-a num lugar seguro. Se perder esta chave, terá de gerar uma nova.",
"zapier_setup_instructions": "<0>Inicie sessão na sua conta Zapier e crie um novo Zap.</0><1>Seleccione {{appName}} como aplicação acionadora. Selecione também um evento acionador.</1><2>Seleccione a sua conta e insira a sua chave de API única.</2><3>Teste o seu accionador.</3><4>Está configurado!</4>", "zapier_setup_instructions": "<0>Inicie sessão na sua conta Zapier e crie um novo Zap.</0><1>Seleccione {{appName}} como aplicação acionadora. Selecione também um evento acionador.</1><2>Seleccione a sua conta e insira a sua chave de API única.</2><3>Teste o seu accionador.</3><4>Está configurado!</4>",
"make_setup_instructions": "<0>Aceda a <1><0>Criar ligação de convite</0></1> e instale a aplicação Cal.com.</0><1>Inicie sessão na sua conta Make e crie um novo Cenário.</1><2>Selecione Cal.com como a sua aplicação de Trigger. Escolha também um evento de Trigger.</2><3>Escolha a sua conta e depois introduza a sua Chave da API Única.</3><4>Teste o seu Trigger.</4><5>Está pronto!</5>",
"install_zapier_app": "Por favor, primeiro instale a aplicação Zapier da App Store.", "install_zapier_app": "Por favor, primeiro instale a aplicação Zapier da App Store.",
"install_make_app": "Instale primeiro a aplicação Make na app store.",
"connect_apple_server": "Ligar a Apple Server", "connect_apple_server": "Ligar a Apple Server",
"calendar_url": "URL do calendário", "calendar_url": "URL do calendário",
"apple_server_generate_password": "Crie uma palavra-passe de aplicação específica para utilizar com {{appName}} em", "apple_server_generate_password": "Crie uma palavra-passe de aplicação específica para utilizar com {{appName}} em",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "enviar e-mail aos participantes", "email_attendee_action": "enviar e-mail aos participantes",
"sms_attendee_action": "Enviar SMS ao participante", "sms_attendee_action": "Enviar SMS ao participante",
"sms_number_action": "enviar SMS para um número específico", "sms_number_action": "enviar SMS para um número específico",
"send_reminder_sms": "Envie com facilidade lembretes de reunião via SMS aos seus participantes",
"whatsapp_number_action": "enviar Whatsapp para um número específico", "whatsapp_number_action": "enviar Whatsapp para um número específico",
"whatsapp_attendee_action": "enviar Whatsapp ao participante", "whatsapp_attendee_action": "enviar Whatsapp ao participante",
"workflows": "Fluxos de trabalho", "workflows": "Fluxos de trabalho",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "Erro ao atualizar as definições", "error_updating_settings": "Erro ao atualizar as definições",
"personal_cal_url": "O meu endereço pessoal do {{appName}}", "personal_cal_url": "O meu endereço pessoal do {{appName}}",
"bio_hint": "Algumas frases sobre si. Isto irá ser mostrado no endereço da sua página pessoal.", "bio_hint": "Algumas frases sobre si. Isto irá ser mostrado no endereço da sua página pessoal.",
"user_has_no_bio": "Este utilizador ainda não adicionou uma biografia.",
"delete_account_modal_title": "Eliminar conta", "delete_account_modal_title": "Eliminar conta",
"confirm_delete_account_modal": "Tem a certeza que pretende eliminar a sua conta {{appName}}?", "confirm_delete_account_modal": "Tem a certeza que pretende eliminar a sua conta {{appName}}?",
"delete_my_account": "Eliminar a minha conta", "delete_my_account": "Eliminar a minha conta",
@@ -1426,6 +1458,7 @@
"add_limit": "Adicionar limite", "add_limit": "Adicionar limite",
"team_name_required": "É necessário um nome para a equipa", "team_name_required": "É necessário um nome para a equipa",
"show_attendees": "Partilhar informações dos participantes entre os convidados", "show_attendees": "Partilhar informações dos participantes entre os convidados",
"show_available_seats_count": "Mostrar o número de lugares disponíveis",
"how_booking_questions_as_variables": "Como utilizar perguntas de agendamento como variáveis?", "how_booking_questions_as_variables": "Como utilizar perguntas de agendamento como variáveis?",
"format": "Formato", "format": "Formato",
"uppercase_for_letters": "Utilize letras maiúsculas para todas as letras", "uppercase_for_letters": "Utilize letras maiúsculas para todas as letras",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Tem a certeza que pretende eliminar a configuração {{connectionType}}? Os membros da sua equipa que utilizem {{connectionType}} para o início de sessão deixarão de poder aceder a Cal.com.", "delete_sso_configuration_confirmation_description": "Tem a certeza que pretende eliminar a configuração {{connectionType}}? Os membros da sua equipa que utilizem {{connectionType}} para o início de sessão deixarão de poder aceder a Cal.com.",
"organizer_timezone": "Fuso horário do organizador", "organizer_timezone": "Fuso horário do organizador",
"email_user_cta": "Ver convite", "email_user_cta": "Ver convite",
"email_no_user_invite_heading_team": "Recebeu um convite para fazer parte de uma equipa {{appName}}",
"email_no_user_invite_heading_org": "Recebeu um convite para fazer parte de uma organização {{appName}}",
"email_no_user_invite_subheading": "Recebeu um convite de {{invitedBy}} para fazer parte da respetiva equipa em {{appName}}. {{appName}} é um ferramenta de conciliação e agendamento de eventos que lhe permite a si e à sua equipa agendar reuniões sem o pingue-pongue de e-mails.", "email_no_user_invite_subheading": "Recebeu um convite de {{invitedBy}} para fazer parte da respetiva equipa em {{appName}}. {{appName}} é um ferramenta de conciliação e agendamento de eventos que lhe permite a si e à sua equipa agendar reuniões sem o pingue-pongue de e-mails.",
"email_user_invite_subheading_team": "Recebeu um convite de {{invitedBy}} para fazer parte da equipa `{{teamName}}` em {{appName}}. {{appName}} é uma ferramenta de conciliação e agendamento de eventos que lhe permite a si e à sua equipa agendar reuniões sem o pingue-pongue de mensagens eletrónicas.", "email_user_invite_subheading_team": "Recebeu um convite de {{invitedBy}} para fazer parte da equipa `{{teamName}}` em {{appName}}. {{appName}} é uma ferramenta de conciliação e agendamento de eventos que lhe permite a si e à sua equipa agendar reuniões sem o pingue-pongue de mensagens eletrónicas.",
"email_user_invite_subheading_org": "Recebeu um convite de {{invitedBy}} para fazer parte de {{teamName}} da sua organização em {{appName}}. {{appName}} é a solução de agendamento de eventos que lhe permite a si e à sua organização agendar reuniões sem o pingue-pongue de e-mails.",
"email_no_user_invite_steps_intro": "Vamos ajudar com alguns pequenos passos para que você e a sua {{entity}} possam desfrutar rapidamente de uma gestão de agendamentos sem complicações.", "email_no_user_invite_steps_intro": "Vamos ajudar com alguns pequenos passos para que você e a sua {{entity}} possam desfrutar rapidamente de uma gestão de agendamentos sem complicações.",
"email_no_user_step_one": "Escolha o seu nome de utilizador", "email_no_user_step_one": "Escolha o seu nome de utilizador",
"email_no_user_step_two": "Associe a sua conta de calendário", "email_no_user_step_two": "Associe a sua conta de calendário",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "Não foram encontrados dados para as datas ou filtros selecionados.", "insights_no_data_found_for_filter": "Não foram encontrados dados para as datas ou filtros selecionados.",
"acknowledge_booking_no_show_fee": "Eu aceito que caso eu não compareça a este evento, será cobrada uma taxa de não-comparência de {{amount, currency}} no meu cartão.", "acknowledge_booking_no_show_fee": "Eu aceito que caso eu não compareça a este evento, será cobrada uma taxa de não-comparência de {{amount, currency}} no meu cartão.",
"card_details": "Detalhes do cartão", "card_details": "Detalhes do cartão",
"something_went_wrong_on_our_end": "Algo correu mal do nosso lado. Entre em contacto com a nossa equipa de apoio e resolveremos o problema imediatamente para si.",
"please_provide_following_text_to_suppport": "Forneça o seguinte texto ao contactar o apoio para conseguirmos prestar um melhor apoio",
"seats_and_no_show_fee_error": "Atualmente, não é possível ativar lugares e cobrar uma taxa de não-comparência", "seats_and_no_show_fee_error": "Atualmente, não é possível ativar lugares e cobrar uma taxa de não-comparência",
"complete_your_booking": "Concluir a sua reserva", "complete_your_booking": "Concluir a sua reserva",
"complete_your_booking_subject": "Concluir a sua reserva: {{title}} a {{date}}", "complete_your_booking_subject": "Concluir a sua reserva: {{title}} a {{date}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "Abrir a sua janela do Cal quando alguém clicar num elemento.", "open_dialog_with_element_click": "Abrir a sua janela do Cal quando alguém clicar num elemento.",
"need_help_embedding": "Precisa de ajuda? Consulte os nossos guias para incorporar o Cal no Wix, Squarespace, ou WordPress. Consulte ainda as nossas perguntas frequentes ou explore opções avançadas de incorporação.", "need_help_embedding": "Precisa de ajuda? Consulte os nossos guias para incorporar o Cal no Wix, Squarespace, ou WordPress. Consulte ainda as nossas perguntas frequentes ou explore opções avançadas de incorporação.",
"book_my_cal": "Reservar o meu Cal", "book_my_cal": "Reservar o meu Cal",
"first_name": "Primeiro nome",
"last_name": "Último nome",
"first_last_name": "Primeiro nome, Último nome",
"invite_as": "Convidar como", "invite_as": "Convidar como",
"form_updated_successfully": "Formulário atualizado com sucesso.", "form_updated_successfully": "Formulário atualizado com sucesso.",
"disable_attendees_confirmation_emails": "Desativar mensagens eletrónicas de confirmação predefinidas para participantes", "disable_attendees_confirmation_emails": "Desativar mensagens eletrónicas de confirmação predefinidas para participantes",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "Crie o seu primeiro webhook para este tipo de evento", "first_event_type_webhook_description": "Crie o seu primeiro webhook para este tipo de evento",
"install_app_on": "Instalar aplicação em", "install_app_on": "Instalar aplicação em",
"create_for": "Criar para", "create_for": "Criar para",
"currency": "Moeda",
"organization_banner_description": "Crie um ambiente onde as suas equipas possam criar aplicações partilhadas, fluxos de trabalho e tipos de eventos com distribuição equilibrada e agendamento coletivo.", "organization_banner_description": "Crie um ambiente onde as suas equipas possam criar aplicações partilhadas, fluxos de trabalho e tipos de eventos com distribuição equilibrada e agendamento coletivo.",
"organization_banner_title": "Faça a gestão de múltiplas organizações com múltiplas equipas", "organization_banner_title": "Faça a gestão de múltiplas organizações com múltiplas equipas",
"set_up_your_organization": "Configurar a sua organização", "set_up_your_organization": "Configurar a sua organização",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "Equipa: {{teamName}}", "insights_team_filter": "Equipa: {{teamName}}",
"insights_user_filter": "Utilizador: {{userName}}", "insights_user_filter": "Utilizador: {{userName}}",
"insights_subtitle": "Ver informações sobre reservas nos seus eventos", "insights_subtitle": "Ver informações sobre reservas nos seus eventos",
"location_options": "{{locationCount}} opções de localização",
"custom_plan": "Plano personalizado", "custom_plan": "Plano personalizado",
"email_embed": "Incorporação de e-mail",
"add_times_to_your_email": "Selecione alguns horários disponíveis e incorpore-os no seu E-mail",
"select_time": "Selecionar horário",
"select_date": "Selecionar data",
"see_all_available_times": "Ver todos os horários disponíveis",
"org_team_names_example": "Por exemplo, Equipa de Marketing",
"org_team_names_example_1": "Por exemplo, Equipa de Marketing",
"org_team_names_example_2": "Por exemplo, Equipa de Vendas",
"org_team_names_example_3": "Por exemplo, Equipa de Design",
"org_team_names_example_4": "Por exemplo, Equipa de Engenharia",
"org_team_names_example_5": "Por exemplo, Equipa de Análise de Dados",
"org_max_team_warnings": "Poderá adicionar mais equipas mais tarde.",
"what_is_this_meeting_about": "Sobre o que é esta reunião?",
"add_to_team": "Adicionar à equipa",
"remove_users_from_org": "Remover utilizadores da organização",
"remove_users_from_org_confirm": "Tem a certeza de que deseja remover {{userCount}} utilizadores desta organização?",
"user_has_no_schedules": "Este utilizador ainda não definiu nenhum horário",
"user_isnt_in_any_teams": "Este utilizador não está em nenhuma equipa",
"requires_booker_email_verification": "Requer a confirmação do e-mail do responsável pela reserva",
"description_requires_booker_email_verification": "Para garantir a confirmação do e-mail do responsável pela reserva antes de agendar eventos",
"requires_confirmation_mandatory": "As mensagens de texto só podem ser enviadas aos participantes quando o tipo de evento requerer confirmação.",
"kyc_verification_information": "Para garantir a segurança, tem de verificar {{teamOrAccount}} antes de enviar mensagens de texto aos participantes. Contacte-nos em <a>{{supportEmail}}</a> e forneça as seguintes informações:",
"kyc_verification_documents": "<ul><li>{{teamOrUser}}</li><li>Para empresas: anexe a sua documentação de verificação empresarial</li><li>Para indivíduos: anexe um documento de identificação emitido pelo governo</li></ul>",
"verify_team_or_account": "Verificar {{teamOrAccount}}",
"verify_account": "Verificar conta",
"kyc_verification": "Verificação KYC",
"organizations": "Organizações",
"org_admin_other_teams": "Outras equipas",
"org_admin_other_teams_description": "Aqui pode ver equipas dentro da sua organização e das quais não faz parte. Pode adicionar-se às mesmas, se necessário.",
"no_other_teams_found": "Não foram encontradas outras equipas",
"no_other_teams_found_description": "Não há outras equipas nesta organização.",
"attendee_first_name_variable": "Primeiro nome do participante",
"attendee_last_name_variable": "Último nome do participante",
"attendee_first_name_info": "Primeiro nome da pessoa da reserva",
"attendee_last_name_info": "Último nome da pessoa da reserva",
"me": "Eu",
"verify_team_tooltip": "Verifique a sua equipa para poder enviar mensagens aos participantes",
"member_removed": "Membro removido",
"my_availability": "A minha disponibilidade",
"team_availability": "Disponibilidade da equipa",
"backup_code": "Código alternativo",
"backup_codes": "Códigos alternativos",
"backup_code_instructions": "Cada código alternativo pode ser utilizado exatamente uma vez para conceder acesso sem o seu autenticador.",
"backup_codes_copied": "Códigos alternativos copiados!",
"incorrect_backup_code": "O código alternativo está incorreto.",
"lost_access": "Acesso perdido",
"missing_backup_codes": "Não foram encontrados códigos alternativos. Faça a gestão dos mesmos nas suas definições.",
"admin_org_notification_email_subject": "Nova organização criada: ação pendente",
"hi_admin": "Olá Administrador(a)",
"admin_org_notification_email_title": "Uma organização requer a configuração do DNS",
"admin_org_notification_email_body_part1": "Foi criada uma organização com o slug \"{{orgSlug}}\".<br /><br />Certifique-se que configura o seu registo de DNS, para apontar o subdomínio correspondente à nova organização para onde a aplicação principal está a funcionar. Caso contrário, a organização não vai funcionar.<br /><br />Aqui estão apenas as opções muito básicas para configurar um subdomínio, para que o mesmo aponte para a sua aplicação e para que esta carregue a página de perfil da organização.<br /><br />Pode fazer isto com o A Record:",
"admin_org_notification_email_body_part2": "Ou o registo CNAME:",
"admin_org_notification_email_body_part3": "Depois de configurar o subdomínio, marque a configuração DNS como concluída nas Definições de Administração de Organizações.",
"admin_org_notification_email_cta": "Ir para as Definições de Administração de Organizações",
"org_has_been_processed": "A organização foi processada",
"org_error_processing": "Ocorreu um erro ao processar esta organização",
"orgs_page_description": "Uma lista de todas as organizações. Aceitar uma organização permitirá que todos os utilizadores com esse domínio de e-mail se registem SEM a verificação de e-mail.",
"unverified": "Não verificada",
"dns_missing": "DNS em falta",
"mark_dns_configured": "Marcar como o DNS configurado",
"value": "Valor",
"your_organization_updated_sucessfully": "A sua organização foi atualizada com sucesso",
"team_no_event_types": "Esta equipa não tem tipos de evento",
"seat_options_doesnt_multiple_durations": "A opção lugar não suporta múltiplas durações",
"include_calendar_event": "Incluir evento no calendário",
"recently_added": "Adicionados recentemente",
"no_members_found": "Nenhum membro encontrado",
"event_setup_length_error": "Configuração do Evento: a duração deve ser de, pelo menos, 1 minuto.",
"availability_schedules": "Horários de Disponibilidade",
"view_only_edit_availability_not_onboarded": "Este utilizador ainda não completou o processo de integração. Não poderá definir a respetiva disponibilidade até que este procedimento esteja concluído para este utilizador.",
"view_only_edit_availability": "Está a visualizar a disponibilidade deste utilizador. Só pode editar a sua própria disponibilidade.",
"edit_users_availability": "Editar a disponibilidade do utilizador: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "Verificați-vă adresa de e-mail pentru a garanta cea mai bună furnizare a e-mailurilor și datelor de calendar", "verify_email_banner_body": "Verificați-vă adresa de e-mail pentru a garanta cea mai bună furnizare a e-mailurilor și datelor de calendar",
"verify_email_email_header": "Verificați-vă adresa de e-mail", "verify_email_email_header": "Verificați-vă adresa de e-mail",
"verify_email_email_button": "Verificare e-mail", "verify_email_email_button": "Verificare e-mail",
"copy_somewhere_safe": "Salvați această cheie API într-un loc sigur. Nu o veți mai putea vedea din nou.",
"verify_email_email_body": "Verificați-vă adresa de e-mail făcând clic pe butonul de mai jos.", "verify_email_email_body": "Verificați-vă adresa de e-mail făcând clic pe butonul de mai jos.",
"verify_email_by_code_email_body": "Verificați-vă adresa de e-mail utilizând codul de mai jos.",
"verify_email_email_link_text": "Iată linkul, în caz că nu vă place să apăsați butoane:", "verify_email_email_link_text": "Iată linkul, în caz că nu vă place să apăsați butoane:",
"email_verification_code": "Introduceți codul de verificare",
"email_verification_code_placeholder": "Introduceți codul de verificare trimis la adresa dvs. de e-mail",
"incorrect_email_verification_code": "Codul de verificare este incorect.",
"email_sent": "E-mail trimis cu succes", "email_sent": "E-mail trimis cu succes",
"email_not_sent": "A survenit o eroare la trimiterea e-mailului",
"event_declined_subject": "Refuzat: {{title}} în {{date}}", "event_declined_subject": "Refuzat: {{title}} în {{date}}",
"event_cancelled_subject": "Anulat: {{title}} pe {{date}}", "event_cancelled_subject": "Anulat: {{title}} pe {{date}}",
"event_request_declined": "Solicitarea pentru eveniment a fost refuzată", "event_request_declined": "Solicitarea pentru eveniment a fost refuzată",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "Un eveniment recurent așteaptă aprobarea dvs.", "event_awaiting_approval_recurring": "Un eveniment recurent așteaptă aprobarea dvs.",
"someone_requested_an_event": "Cineva a solicitat să programeze un eveniment în calendar.", "someone_requested_an_event": "Cineva a solicitat să programeze un eveniment în calendar.",
"someone_requested_password_reset": "Cineva a solicitat un link pentru a vă schimba parola.", "someone_requested_password_reset": "Cineva a solicitat un link pentru a vă schimba parola.",
"password_reset_email_sent": "Dacă această adresă există în sistemul nostru, ar trebui să primiți un e-mail de resetare.",
"password_reset_instructions": "Dacă nu ați solicitat acest lucru, puteți ignora acest e-mail, iar parola nu va fi schimbată.", "password_reset_instructions": "Dacă nu ați solicitat acest lucru, puteți ignora acest e-mail, iar parola nu va fi schimbată.",
"event_awaiting_approval_subject": "Se așteaptă aprobarea: {{title}} în {{date}}", "event_awaiting_approval_subject": "Se așteaptă aprobarea: {{title}} în {{date}}",
"event_still_awaiting_approval": "Un eveniment încă așteaptă aprobarea dvs.", "event_still_awaiting_approval": "Un eveniment încă așteaptă aprobarea dvs.",
@@ -217,6 +224,10 @@
"already_have_an_account": "Aveți deja un cont?", "already_have_an_account": "Aveți deja un cont?",
"create_account": "Creează un cont", "create_account": "Creează un cont",
"confirm_password": "Confirmă parola", "confirm_password": "Confirmă parola",
"confirm_auth_change": "Acest lucru va schimba modul în care vă conectați",
"confirm_auth_email_change": "Schimbarea adresei de e-mail va deconecta metoda actuală de conectare la Cal.com. Vă vom solicita să vă verificați noua adresă de e-mail. În continuare, veți fi deconectat și veți folosi noua dvs. adresă de e-mail pentru a vă conecta în locul metodei actuale de autentificare după setarea parolei, urmând instrucțiunile care vor fi trimise pe adresa dvs. de e-mail.",
"reset_your_password": "Setați noua parolă cu instrucțiunile trimise la adresa dvs. de e-mail.",
"email_change": "Conectați-vă din nou cu noua adresă de e-mail și parolă.",
"create_your_account": "Creează-ți contul", "create_your_account": "Creează-ți contul",
"sign_up": "Înregistrează-te", "sign_up": "Înregistrează-te",
"youve_been_logged_out": "Ai fost delogat", "youve_been_logged_out": "Ai fost delogat",
@@ -243,6 +254,10 @@
"all": "Toate aplicațiile", "all": "Toate aplicațiile",
"yours": "Contul dvs.", "yours": "Contul dvs.",
"available_apps": "Aplicații disponibile", "available_apps": "Aplicații disponibile",
"available_apps_lower_case": "Aplicații disponibile",
"available_apps_desc": "Nu aveți nicio aplicație instalată. Vizualizați aplicațiile populare de mai jos și explorați mai multe în <1>App Store</1>",
"fixed_host_helper": "Adăugați pe oricine trebuie să participe la eveniment. <1>Aflați mai multe</1>",
"round_robin_helper": "Persoanele din grup participă pe rând și doar o singură persoană va fi prezentă pentru eveniment.",
"check_email_reset_password": "Verificați adresa de e-mail. V-am trimis un link pentru resetarea parolei.", "check_email_reset_password": "Verificați adresa de e-mail. V-am trimis un link pentru resetarea parolei.",
"finish": "Finalizeaza", "finish": "Finalizeaza",
"organization_general_description": "Gestionați setările echipei pentru limbă și fus orar", "organization_general_description": "Gestionați setările echipei pentru limbă și fus orar",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "Nu în ultimul rând, o scurtă descriere despre dvs. și o fotografie vă ajută să obțineți rezervări și să le arătați celorlalți cu cine fac rezervarea.", "nearly_there_instructions": "Nu în ultimul rând, o scurtă descriere despre dvs. și o fotografie vă ajută să obțineți rezervări și să le arătați celorlalți cu cine fac rezervarea.",
"set_availability_instructions": "Definiți intervalele de timp atunci când sunteți disponibil în mod recurent. Puteți crea mai multe dintre acestea mai târziu și atribuiți-le calendarelor diferite.", "set_availability_instructions": "Definiți intervalele de timp atunci când sunteți disponibil în mod recurent. Puteți crea mai multe dintre acestea mai târziu și atribuiți-le calendarelor diferite.",
"set_availability": "Setează-ți disponibilitatea", "set_availability": "Setează-ți disponibilitatea",
"availability_settings": "Setări de disponibilitate",
"continue_without_calendar": "Continuă fără calendar", "continue_without_calendar": "Continuă fără calendar",
"connect_your_calendar": "Conectează-ți calendarul", "connect_your_calendar": "Conectează-ți calendarul",
"connect_your_video_app": "Conectați-vă aplicațiile video", "connect_your_video_app": "Conectați-vă aplicațiile video",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "Linkuri de rezervare în grup care pot fi create dinamic prin adăugarea mai multor nume de utilizator cu „+”. Exemplu: „{{appName}}/bailey+peer”", "allow_dynamic_booking_tooltip": "Linkuri de rezervare în grup care pot fi create dinamic prin adăugarea mai multor nume de utilizator cu „+”. Exemplu: „{{appName}}/bailey+peer”",
"allow_dynamic_booking": "Permiteți participanților să vă efectueze rezervări dinamice în grup", "allow_dynamic_booking": "Permiteți participanților să vă efectueze rezervări dinamice în grup",
"dynamic_booking": "Linkuri de grup dinamice", "dynamic_booking": "Linkuri de grup dinamice",
"allow_seo_indexing": "Permiteți motoarelor de căutare să acceseze conținutul dvs. public",
"seo_indexing": "Permiteți indexarea SEO",
"email": "E-mail", "email": "E-mail",
"email_placeholder": "jdoe@exemplu.com", "email_placeholder": "jdoe@exemplu.com",
"full_name": "Numele complet", "full_name": "Numele complet",
@@ -406,6 +424,7 @@
"booking_requested": "Rezervare solicitată", "booking_requested": "Rezervare solicitată",
"meeting_ended": "Ședință încheiată", "meeting_ended": "Ședință încheiată",
"form_submitted": "Formular trimis", "form_submitted": "Formular trimis",
"booking_paid": "Rezervare plătită",
"event_triggers": "Declanșatoare eveniment", "event_triggers": "Declanșatoare eveniment",
"subscriber_url": "URL abonat", "subscriber_url": "URL abonat",
"create_new_webhook": "Creează un nou webhook", "create_new_webhook": "Creează un nou webhook",
@@ -506,6 +525,7 @@
"your_name": "Numele tău", "your_name": "Numele tău",
"your_full_name": "Numele dvs. complet", "your_full_name": "Numele dvs. complet",
"no_name": "Niciun nume", "no_name": "Niciun nume",
"enter_number_between_range": "Introduceți un număr între 1 și {{maxOccurences}}",
"email_address": "Adresa de e-mail", "email_address": "Adresa de e-mail",
"enter_valid_email": "Introduceți un e-mail valid", "enter_valid_email": "Introduceți un e-mail valid",
"location": "Locaţie", "location": "Locaţie",
@@ -543,6 +563,7 @@
"leave": "Părăsește", "leave": "Părăsește",
"profile": "Profil", "profile": "Profil",
"my_team_url": "URL-ul echipei mele", "my_team_url": "URL-ul echipei mele",
"my_teams": "Echipele mele",
"team_name": "Denumirea echipei", "team_name": "Denumirea echipei",
"your_team_name": "Numele echipei tale", "your_team_name": "Numele echipei tale",
"team_updated_successfully": "Echipă actualizată cu succes", "team_updated_successfully": "Echipă actualizată cu succes",
@@ -570,6 +591,8 @@
"invite_new_member": "Invitați un nou membru în echipă", "invite_new_member": "Invitați un nou membru în echipă",
"invite_new_member_description": "Notă: acest lucru va <1>adăuga un loc suplimentar (15 USD/lună)</1> la abonamentul dvs.", "invite_new_member_description": "Notă: acest lucru va <1>adăuga un loc suplimentar (15 USD/lună)</1> la abonamentul dvs.",
"invite_new_team_member": "Invită pe cineva în echipa ta.", "invite_new_team_member": "Invită pe cineva în echipa ta.",
"upload_csv_file": "Încărcați un fișier .csv",
"invite_via_email": "Invitați prin e-mail",
"change_member_role": "Schimbați rolul de membru al echipei", "change_member_role": "Schimbați rolul de membru al echipei",
"disable_cal_branding": "Dezactivare branding {{appName}}", "disable_cal_branding": "Dezactivare branding {{appName}}",
"disable_cal_branding_description": "Ascunde tot branding-ul {{appName}} din paginile tale publice.", "disable_cal_branding_description": "Ascunde tot branding-ul {{appName}} din paginile tale publice.",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "Utilizatorul trebuie să accepte invitația pentru a vizualiza disponibilitatea", "team_view_user_availability_disabled": "Utilizatorul trebuie să accepte invitația pentru a vizualiza disponibilitatea",
"set_as_away": "Setați starea la Plecat", "set_as_away": "Setați starea la Plecat",
"set_as_free": "Dezactivați starea Plecat", "set_as_free": "Dezactivați starea Plecat",
"toggle_away_error": "Eroare la actualizarea stării Plecat",
"user_away": "Acest utilizator nu este momentan disponibil.", "user_away": "Acest utilizator nu este momentan disponibil.",
"user_away_description": "Persoana pentru care încercați să efectuați rezervare și-a setat starea la Plecat, prin urmare, nu acceptă rezervări noi.", "user_away_description": "Persoana pentru care încercați să efectuați rezervare și-a setat starea la Plecat, prin urmare, nu acceptă rezervări noi.",
"meet_people_with_the_same_tokens": "Cunoașteți persoane cu aceleași tokenuri", "meet_people_with_the_same_tokens": "Cunoașteți persoane cu aceleași tokenuri",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "Pentru a vă schimba adresa de e-mail sau parola, a activa autentificarea în doi pași și multe altele, accesați setările contului {{provider}}.", "account_managed_by_identity_provider_description": "Pentru a vă schimba adresa de e-mail sau parola, a activa autentificarea în doi pași și multe altele, accesați setările contului {{provider}}.",
"signin_with_google": "Conectați-vă cu Google", "signin_with_google": "Conectați-vă cu Google",
"signin_with_saml": "Conectați-vă cu SAML", "signin_with_saml": "Conectați-vă cu SAML",
"signin_with_saml_oidc": "Conectați-vă cu SAML/OIDC",
"you_will_need_to_generate": "Va trebui să generați un token de acces din vechiul instrument de programare.", "you_will_need_to_generate": "Va trebui să generați un token de acces din vechiul instrument de programare.",
"import": "Importare", "import": "Importare",
"import_from": "Importați din", "import_from": "Importați din",
@@ -950,6 +975,8 @@
"offer_seats_description": "Opțiunea oferă locuri pentru rezervare și dezactivează automat rezervările pentru oaspeți și cele la alegere.", "offer_seats_description": "Opțiunea oferă locuri pentru rezervare și dezactivează automat rezervările pentru oaspeți și cele la alegere.",
"seats_available_one": "Loc disponibil", "seats_available_one": "Loc disponibil",
"seats_available_other": "Locuri disponibile", "seats_available_other": "Locuri disponibile",
"seats_nearly_full": "Locuri aproape ocupate",
"seats_half_full": "Locurile se ocupă repede",
"number_of_seats": "Numărul de locuri per rezervare", "number_of_seats": "Numărul de locuri per rezervare",
"enter_number_of_seats": "Introduceți numărul de locuri", "enter_number_of_seats": "Introduceți numărul de locuri",
"you_can_manage_your_schedules": "Vă puteți gestiona programările pe pagina Disponibilitate.", "you_can_manage_your_schedules": "Vă puteți gestiona programările pe pagina Disponibilitate.",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "Cum doriți să adăugați {{appName}} pe site-ul dvs.?", "how_you_want_add_cal_site": "Cum doriți să adăugați {{appName}} pe site-ul dvs.?",
"choose_ways_put_cal_site": "Alegeți una dintre următoarele modalități de a include {{appName}} pe site-ul dvs.", "choose_ways_put_cal_site": "Alegeți una dintre următoarele modalități de a include {{appName}} pe site-ul dvs.",
"setting_up_zapier": "Configurarea integrării dvs. Zapier", "setting_up_zapier": "Configurarea integrării dvs. Zapier",
"setting_up_make": "Configurarea integrării dvs. Make",
"generate_api_key": "Generare cheie API", "generate_api_key": "Generare cheie API",
"generate_api_key_description": "Generați o cheie API pentru utilizare cu {{appName}} pe", "generate_api_key_description": "Generați o cheie API pentru utilizare cu {{appName}} pe",
"your_unique_api_key": "Cheia dvs. API unică", "your_unique_api_key": "Cheia dvs. API unică",
"copy_safe_api_key": "Copiați această cheie API și salvați-o într-un loc sigur. Dacă pierdeți această cheie, va trebui să generați una nouă.", "copy_safe_api_key": "Copiați această cheie API și salvați-o într-un loc sigur. Dacă pierdeți această cheie, va trebui să generați una nouă.",
"zapier_setup_instructions": "<0>Conectează-te la contul Zapier și creează un Zap nou.</0><1>Selectează Cal.com ca aplicație Trigger. Alege și un eveniment Trigger.</1><2>Alege contul, apoi introdu cheia API unică.</2><3>Testează Trigger-ul.</3><4>Ai terminat!</4>", "zapier_setup_instructions": "<0>Conectează-te la contul Zapier și creează un Zap nou.</0><1>Selectează Cal.com ca aplicație Trigger. Alege și un eveniment Trigger.</1><2>Alege contul, apoi introdu cheia API unică.</2><3>Testează Trigger-ul.</3><4>Ai terminat!</4>",
"make_setup_instructions": "<0>Mergeți la <1><0>linkul de invitație Make</0></1> și instalați aplicația Cal.com.</0><1>Conectați-vă la contul dvs. Make și creați un scenariu nou.</1><2>Selectați Cal.com ca aplicație declanșatoare. De asemenea, alegeți un eveniment de declanșare.</2><3>Selectați contul dvs. și introduceți cheia dvs. API unică.</3><4>Testați declanșatorul.</4><5>Sunteți gata!</5>",
"install_zapier_app": "Instalați mai întâi aplicația Zapier din App Store.", "install_zapier_app": "Instalați mai întâi aplicația Zapier din App Store.",
"install_make_app": "Instalați mai întâi aplicația Make din App Store.",
"connect_apple_server": "Conectați-vă la serverul Apple", "connect_apple_server": "Conectați-vă la serverul Apple",
"calendar_url": "URL calendar", "calendar_url": "URL calendar",
"apple_server_generate_password": "Generați o parolă specifică aplicației, pe care o veți utiliza cu {{appName}} la", "apple_server_generate_password": "Generați o parolă specifică aplicației, pe care o veți utiliza cu {{appName}} la",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "trimiteți e-mail participanților", "email_attendee_action": "trimiteți e-mail participanților",
"sms_attendee_action": "Trimiteți SMS către participant", "sms_attendee_action": "Trimiteți SMS către participant",
"sms_number_action": "trimiteți SMS la un anumit număr", "sms_number_action": "trimiteți SMS la un anumit număr",
"send_reminder_sms": "Trimiteți-le cu ușurință participanților mementouri pentru ședințe prin SMS",
"whatsapp_number_action": "trimiteți mesaj WhatsApp la un anumit număr", "whatsapp_number_action": "trimiteți mesaj WhatsApp la un anumit număr",
"whatsapp_attendee_action": "trimiteți mesaj WhatsApp căte participant", "whatsapp_attendee_action": "trimiteți mesaj WhatsApp căte participant",
"workflows": "Fluxuri de lucru", "workflows": "Fluxuri de lucru",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "Eroare la actualizarea setărilor", "error_updating_settings": "Eroare la actualizarea setărilor",
"personal_cal_url": "URL-ul meu personal {{appName}}", "personal_cal_url": "URL-ul meu personal {{appName}}",
"bio_hint": "Câteva propoziții despre dvs. Acestea vor apărea pe pagina URL-ului dvs. personal.", "bio_hint": "Câteva propoziții despre dvs. Acestea vor apărea pe pagina URL-ului dvs. personal.",
"user_has_no_bio": "Acest utilizator nu a adăugat încă o biografie.",
"delete_account_modal_title": "Ștergeți contul", "delete_account_modal_title": "Ștergeți contul",
"confirm_delete_account_modal": "Sigur doriți să vă ștergeți contul {{appName}}?", "confirm_delete_account_modal": "Sigur doriți să vă ștergeți contul {{appName}}?",
"delete_my_account": "Ștergeți contul meu", "delete_my_account": "Ștergeți contul meu",
@@ -1426,6 +1458,7 @@
"add_limit": "Adăugați o limită", "add_limit": "Adăugați o limită",
"team_name_required": "Este necesar numele echipei", "team_name_required": "Este necesar numele echipei",
"show_attendees": "Distribuiți informațiile despre participanți între invitați", "show_attendees": "Distribuiți informațiile despre participanți între invitați",
"show_available_seats_count": "Afișați numărul de locuri disponibile",
"how_booking_questions_as_variables": "Cum puteți utiliza ca variabile întrebările despre rezervare?", "how_booking_questions_as_variables": "Cum puteți utiliza ca variabile întrebările despre rezervare?",
"format": "Format", "format": "Format",
"uppercase_for_letters": "Utilizați majuscule pentru toate literele", "uppercase_for_letters": "Utilizați majuscule pentru toate literele",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Sigur doriți să ștergeți configurația {{connectionType}}? Membrii echipei dvs. care utilizează conectarea prin {{connectionType}} nu vor mai putea accesa Cal.com.", "delete_sso_configuration_confirmation_description": "Sigur doriți să ștergeți configurația {{connectionType}}? Membrii echipei dvs. care utilizează conectarea prin {{connectionType}} nu vor mai putea accesa Cal.com.",
"organizer_timezone": "Fusul orar al organizatorului", "organizer_timezone": "Fusul orar al organizatorului",
"email_user_cta": "Vizualizare invitație", "email_user_cta": "Vizualizare invitație",
"email_no_user_invite_heading_team": "Ați fost invitat să faceți parte dintr-o echipă {{appName}}",
"email_no_user_invite_heading_org": "Ați fost invitat să faceți parte dintr-o organizație {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} v-a invitat să faceți parte din echipa sa de pe {{appName}}. {{appName}} este un instrument de planificare a evenimentelor, care vă permite dvs. și echipei dvs. să programați ședințe fără a face ping-pong prin e-mail.", "email_no_user_invite_subheading": "{{invitedBy}} v-a invitat să faceți parte din echipa sa de pe {{appName}}. {{appName}} este un instrument de planificare a evenimentelor, care vă permite dvs. și echipei dvs. să programați ședințe fără a face ping-pong prin e-mail.",
"email_user_invite_subheading_team": "{{invitedBy}} v-a invitat să faceți parte din echipa sa „{{teamName}}” de pe {{appName}}. {{appName}} este un instrument de planificare a evenimentelor, care vă permite dvs. și echipei dvs. să programați ședințe fără a face ping-pong prin e-mail.", "email_user_invite_subheading_team": "{{invitedBy}} v-a invitat să faceți parte din echipa sa „{{teamName}}” de pe {{appName}}. {{appName}} este un instrument de planificare a evenimentelor, care vă permite dvs. și echipei dvs. să programați ședințe fără a face ping-pong prin e-mail.",
"email_user_invite_subheading_org": "{{invitedBy}} v-a invitat să faceți parte din organizația sa „{{teamName}}” de pe {{appName}}. {{appName}} este un instrument de planificare a evenimentelor, prin care dvs. și organizația dvs. puteți să programați ședințe fără a face ping-pong prin e-mail.",
"email_no_user_invite_steps_intro": "Vom parcurge împreună câțiva pași simpli și vă veți bucura alături de {{entity}} dvs. de programări fără probleme, în cel mai scurt timp.", "email_no_user_invite_steps_intro": "Vom parcurge împreună câțiva pași simpli și vă veți bucura alături de {{entity}} dvs. de programări fără probleme, în cel mai scurt timp.",
"email_no_user_step_one": "Alegeți-vă numele de utilizator", "email_no_user_step_one": "Alegeți-vă numele de utilizator",
"email_no_user_step_two": "Conectați-vă contul de calendar", "email_no_user_step_two": "Conectați-vă contul de calendar",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "Nu s-au găsit date pentru filtrul selectat sau pentru datele selectate.", "insights_no_data_found_for_filter": "Nu s-au găsit date pentru filtrul selectat sau pentru datele selectate.",
"acknowledge_booking_no_show_fee": "Dacă nu particip la acest eveniment, accept să mi se perceapă de pe card o taxă de neprezentare în valoare de {{amount, currency}}.", "acknowledge_booking_no_show_fee": "Dacă nu particip la acest eveniment, accept să mi se perceapă de pe card o taxă de neprezentare în valoare de {{amount, currency}}.",
"card_details": "Detalii card", "card_details": "Detalii card",
"something_went_wrong_on_our_end": "A survenit o eroare de partea noastră. Contactați echipa de asistență și vom soluționa imediat problema.",
"please_provide_following_text_to_suppport": "Furnizați următorul text atunci când contactați echipa de asistență pentru a vă putea ajuta mai bine",
"seats_and_no_show_fee_error": "Momentan, nu se pot elibera locuri și nici nu se poate percepe o taxă de neprezentare", "seats_and_no_show_fee_error": "Momentan, nu se pot elibera locuri și nici nu se poate percepe o taxă de neprezentare",
"complete_your_booking": "Finalizați rezervarea", "complete_your_booking": "Finalizați rezervarea",
"complete_your_booking_subject": "Finalizați rezervarea: {{title}}, pe {{date}}", "complete_your_booking_subject": "Finalizați rezervarea: {{title}}, pe {{date}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "Deschide o fereastră de dialog Cal atunci când cineva face clic pe un element.", "open_dialog_with_element_click": "Deschide o fereastră de dialog Cal atunci când cineva face clic pe un element.",
"need_help_embedding": "Aveți nevoie de ajutor? Consultați ghidurile noastre pentru încorporarea Cal pe Wix, Squarespace sau WordPress, citiți răspunsurile la întrebările noastre frecvente sau descoperiți opțiunile de încorporare avansate.", "need_help_embedding": "Aveți nevoie de ajutor? Consultați ghidurile noastre pentru încorporarea Cal pe Wix, Squarespace sau WordPress, citiți răspunsurile la întrebările noastre frecvente sau descoperiți opțiunile de încorporare avansate.",
"book_my_cal": "Rezervare în Cal", "book_my_cal": "Rezervare în Cal",
"first_name": "Prenume",
"last_name": "Nume de familie",
"first_last_name": "Prenume, nume de familie",
"invite_as": "Invitare ca", "invite_as": "Invitare ca",
"form_updated_successfully": "Formular actualizat cu succes.", "form_updated_successfully": "Formular actualizat cu succes.",
"disable_attendees_confirmation_emails": "Dezactivare e-mailuri de confirmare implicite pentru participanți", "disable_attendees_confirmation_emails": "Dezactivare e-mailuri de confirmare implicite pentru participanți",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "Creați primul dvs. webhook pentru acest tip de eveniment", "first_event_type_webhook_description": "Creați primul dvs. webhook pentru acest tip de eveniment",
"install_app_on": "Instalați aplicația în", "install_app_on": "Instalați aplicația în",
"create_for": "Creare pentru", "create_for": "Creare pentru",
"currency": "Monedă",
"organization_banner_description": "Dezvoltați medii în care echipele dvs. să poată crea aplicații, fluxuri de lucru și tipuri de evenimente comune, folosind programarea colectivă sau cu alocare prin rotație.", "organization_banner_description": "Dezvoltați medii în care echipele dvs. să poată crea aplicații, fluxuri de lucru și tipuri de evenimente comune, folosind programarea colectivă sau cu alocare prin rotație.",
"organization_banner_title": "Gestionați organizații cu mai multe echipe", "organization_banner_title": "Gestionați organizații cu mai multe echipe",
"set_up_your_organization": "Configurați organizația", "set_up_your_organization": "Configurați organizația",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "Echipă: {{teamName}}", "insights_team_filter": "Echipă: {{teamName}}",
"insights_user_filter": "Utilizator: {{userName}}", "insights_user_filter": "Utilizator: {{userName}}",
"insights_subtitle": "Vizualizați date Insights cu privire la rezervări pentru toate evenimentele dvs.", "insights_subtitle": "Vizualizați date Insights cu privire la rezervări pentru toate evenimentele dvs.",
"location_options": "{{locationCount}} (de) opțiuni privind locul",
"custom_plan": "Plan personalizat", "custom_plan": "Plan personalizat",
"email_embed": "Încorporare în e-mail",
"add_times_to_your_email": "Selectați câteva date disponibile și încorporați-le în e-mailul dvs.",
"select_time": "Selectați ora",
"select_date": "Selectați data",
"see_all_available_times": "Vedeți toate orele disponibile",
"org_team_names_example": "de ex. echipa de marketing",
"org_team_names_example_1": "de ex. echipa de marketing",
"org_team_names_example_2": "de ex. echipa de vânzări",
"org_team_names_example_3": "de ex. echipa de design",
"org_team_names_example_4": "de ex. echipa de inginerie",
"org_team_names_example_5": "de ex. echipa de analiză a datelor",
"org_max_team_warnings": "Veți putea adăuga mai multe echipe ulterior.",
"what_is_this_meeting_about": "Despre ce este vorba în această ședință?",
"add_to_team": "Adăugați la echipă",
"remove_users_from_org": "Eliminați utilizatori din organizație",
"remove_users_from_org_confirm": "Sigur doriți să eliminați {{userCount}} utilizatori din această organizație?",
"user_has_no_schedules": "Acest utilizator nu a configurat încă niciun program",
"user_isnt_in_any_teams": "Acest utilizator nu este în nicio echipă",
"requires_booker_email_verification": "Necesită verificarea e-mailului persoanei care efectuează rezervarea",
"description_requires_booker_email_verification": "Pentru a asigura verificarea de e-mailului persoanei care efectuează rezervarea înainte de programarea evenimentelor",
"requires_confirmation_mandatory": "Mesajele text pot fi trimise participanților doar atunci când tipul de eveniment necesită confirmare.",
"kyc_verification_information": "Din motive de securitate, trebuie să verificați {{teamOrAccount}} înainte de a trimite mesaje text participanților. Contactați-ne la <a>{{supportEmail}}</a> și furnizați următoarele informații:",
"kyc_verification_documents": "<ul><li>{{teamOrUser}} dvs.</li><li>Pentru companii: atașați documentele de verificare a companiei</li><li>Pentru persoane fizice: atașați un act de identitate emis de autorități</li></ul>",
"verify_team_or_account": "Verificați {{teamOrAccount}}",
"verify_account": "Verificați contul",
"kyc_verification": "Verificare KYC",
"organizations": "Organizații",
"org_admin_other_teams": "Alte echipe",
"org_admin_other_teams_description": "Aici puteți vedea echipe din cadrul organizației dvs. din care nu faceți parte. Vă puteți adăuga la acestea dacă este cazul.",
"no_other_teams_found": "Nu au fost găsite alte echipe",
"no_other_teams_found_description": "Nu există alte echipe în această organizație.",
"attendee_first_name_variable": "Prenumele participantului",
"attendee_last_name_variable": "Numele de familie al participantului",
"attendee_first_name_info": "Prenumele persoanei care efectuează rezervarea",
"attendee_last_name_info": "Numele de familie al persoanei care efectuează rezervarea",
"me": "Eu",
"verify_team_tooltip": "Verificați-vă echipa pentru a permite trimiterea de mesaje către participanți",
"member_removed": "Membru eliminat",
"my_availability": "Disponibilitatea mea",
"team_availability": "Disponibilitatea echipei",
"backup_code": "Cod de rezervă",
"backup_codes": "Coduri de rezervă",
"backup_code_instructions": "Fiecare cod de rezervă poate fi folosit exact o singură dată pentru a permite accesul fără autentificator.",
"backup_codes_copied": "Coduri de rezervă copiate!",
"incorrect_backup_code": "Codul de rezervă este incorect.",
"lost_access": "Acces pierdut",
"missing_backup_codes": "Nu s-a găsit niciun cod de rezervă. Generați-le din setări.",
"admin_org_notification_email_subject": "Organizație nouă creată: acțiune în așteptare",
"hi_admin": "Bună ziua, administrator",
"admin_org_notification_email_title": "O organizație necesită configurarea DNS",
"admin_org_notification_email_body_part1": "A fost creată o organizație cu slugul „{{orgSlug}}”.<br /><br />Aveți grijă să vă configurați registrul DNS astfel încât să indice subdomeniul aferent noii organizații pe care rulează aplicația principală. În caz contrar, organizația nu va funcționa.<br /><br />Aici găsiți doar opțiunile de bază pentru a configura unui subdomeniu să direcționeze către aplicația sa astfel încât să încarce pagina de profil a organizației.<br /><br />Puteți realiza acest lucru fie cu înregistrarea A:",
"admin_org_notification_email_body_part2": "Fie cu înregistrarea CNAME:",
"admin_org_notification_email_body_part3": "După ce configurați subdomeniul, marcați configurarea DNS ca finalizată în setările de administrare a organizațiilor.",
"admin_org_notification_email_cta": "Mergeți la Setări administrare organizații",
"org_has_been_processed": "Organizația a fost procesată",
"org_error_processing": "A survenit o eroare la procesarea organizației",
"orgs_page_description": "O listă cu toate organizațiile. Acceptarea unei organizații va permite tuturor utilizatorilor cu acel domeniu de e-mail să se înregistreze fără verificarea adresei de e-mail.",
"unverified": "Neverificat",
"dns_missing": "DNS lipsă",
"mark_dns_configured": "Marcați ca DNS configurat",
"value": "Valoare",
"your_organization_updated_sucessfully": "Organizația dvs. a fost actualizată cu succes",
"team_no_event_types": "Această echipă nu are niciun tip de eveniment",
"seat_options_doesnt_multiple_durations": "Opțiunea de loc nu acceptă mai multe durate",
"include_calendar_event": "Includeți eveniment din calendar",
"recently_added": "Adăugate recent",
"no_members_found": "Nu s-a găsit niciun membru",
"event_setup_length_error": "Configurare eveniment: Durata trebuie să fie de cel puțin 1 minut.",
"availability_schedules": "Programe de disponibilitate",
"view_only_edit_availability_not_onboarded": "Acest utilizator nu a finalizat integrarea. Nu-i veți putea seta disponibilitatea până când nu finalizează integrarea.",
"view_only_edit_availability": "Vizualizați disponibilitatea acestui utilizator. Nu puteți edita decât disponibilitatea dvs. personală.",
"edit_users_availability": "Editați disponibilitatea utilizatorului: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Adăugați stringurile noi deasupra acestui rând ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Adăugați stringurile noi deasupra acestui rând ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "Подтвердите адрес электронной почты для обеспечения гарантированной доставки уведомлений по электронной почте и в календаре", "verify_email_banner_body": "Подтвердите адрес электронной почты для обеспечения гарантированной доставки уведомлений по электронной почте и в календаре",
"verify_email_email_header": "Подтвердите свой адрес электронной почты", "verify_email_email_header": "Подтвердите свой адрес электронной почты",
"verify_email_email_button": "Подтвердить эл. почту", "verify_email_email_button": "Подтвердить эл. почту",
"copy_somewhere_safe": "Сохраните этот ключ API в надежном месте, сервис показывает его только один раз.",
"verify_email_email_body": "Подтвердите адрес электронной почты, нажав кнопку ниже.", "verify_email_email_body": "Подтвердите адрес электронной почты, нажав кнопку ниже.",
"verify_email_by_code_email_body": "Подтвердите адрес электронной почты с помощью приведенного ниже кода.",
"verify_email_email_link_text": "Вы также можете вручную перейти по следующей ссылке:", "verify_email_email_link_text": "Вы также можете вручную перейти по следующей ссылке:",
"email_verification_code": "Введите код подтверждения",
"email_verification_code_placeholder": "Введите код подтверждения, отправленный на ваш адрес электронной почты",
"incorrect_email_verification_code": "Неверный код подтверждения.",
"email_sent": "Письмо успешно отправлено", "email_sent": "Письмо успешно отправлено",
"email_not_sent": "При отправке письма произошла ошибка",
"event_declined_subject": "Отклонено: {{title}} {{date}}", "event_declined_subject": "Отклонено: {{title}} {{date}}",
"event_cancelled_subject": "Отмена: {{title}} {{date}}", "event_cancelled_subject": "Отмена: {{title}} {{date}}",
"event_request_declined": "Ваш запрос на встречу отклонен", "event_request_declined": "Ваш запрос на встречу отклонен",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "Повторяющееся событие ждет вашего одобрения", "event_awaiting_approval_recurring": "Повторяющееся событие ждет вашего одобрения",
"someone_requested_an_event": "Кто-то записался на встречу в вашем календаре.", "someone_requested_an_event": "Кто-то записался на встречу в вашем календаре.",
"someone_requested_password_reset": "Кто-то запросил ссылку для изменения вашего пароля.", "someone_requested_password_reset": "Кто-то запросил ссылку для изменения вашего пароля.",
"password_reset_email_sent": "Если этот адрес электронной почты зарегистрирован в нашей системе, вы получите письмо с инструкциями для сброса пароля.",
"password_reset_instructions": "Если вы не запрашивали это, проигнорируйте это письмо и пароль не будет изменен.", "password_reset_instructions": "Если вы не запрашивали это, проигнорируйте это письмо и пароль не будет изменен.",
"event_awaiting_approval_subject": "Ожидает подтверждения: {{title}} на {{date}}", "event_awaiting_approval_subject": "Ожидает подтверждения: {{title}} на {{date}}",
"event_still_awaiting_approval": "Событие все еще ждет вашего подтверждения", "event_still_awaiting_approval": "Событие все еще ждет вашего подтверждения",
@@ -217,6 +224,10 @@
"already_have_an_account": "Уже есть аккаунт?", "already_have_an_account": "Уже есть аккаунт?",
"create_account": "Создать аккаунт", "create_account": "Создать аккаунт",
"confirm_password": "Подтвердите пароль", "confirm_password": "Подтвердите пароль",
"confirm_auth_change": "После этого изменится способ авторизации",
"confirm_auth_email_change": "При изменении адреса электронной почты используемый способ авторизации для входа на Cal.com перестанет работать. Мы попросим вас подтвердить новый адрес электронной почты. Будет выполнен выход из вашего аккаунта. Затем вместо предыдущего способа авторизации вы войдете в Cal.com с помощью нового адреса электронной почты. Для этого нужно задать пароль. Инструкция о том, как это сделать, придет к вам на почту.",
"reset_your_password": "Задайте новый пароль. Инструкции о том, как это сделать, мы отправили на ваш адрес электронной почты.",
"email_change": "Войдите, используя новый адрес электронной почты и пароль.",
"create_your_account": "Создайте аккаунт", "create_your_account": "Создайте аккаунт",
"sign_up": "Регистрация", "sign_up": "Регистрация",
"youve_been_logged_out": "Вы вышли из аккаунта", "youve_been_logged_out": "Вы вышли из аккаунта",
@@ -243,6 +254,10 @@
"all": "Все приложения", "all": "Все приложения",
"yours": "Ваш аккаунт", "yours": "Ваш аккаунт",
"available_apps": "Доступные приложения", "available_apps": "Доступные приложения",
"available_apps_lower_case": "Доступные приложения",
"available_apps_desc": "У вас нет установленных приложений. Просмотрите популярные приложения ниже или найдите нужные вам приложения в нашем <1>App Store</1>",
"fixed_host_helper": "Добавьте любого пользователя, которому нужно принять участие в событии. <1>Подробнее</1>",
"round_robin_helper": "Участники группы действуют по очереди: только один пользователь посетит событие.",
"check_email_reset_password": "Проверьте вашу электронную почту, мы отправили вам ссылку для сброса пароля.", "check_email_reset_password": "Проверьте вашу электронную почту, мы отправили вам ссылку для сброса пароля.",
"finish": "Завершить", "finish": "Завершить",
"organization_general_description": "Настройте язык и часовой пояс для своей команды", "organization_general_description": "Настройте язык и часовой пояс для своей команды",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "И последнее: добавьте краткую информацию о себе и свою фотографию; так людям будет проще понять, с кем они бронируют встречу.", "nearly_there_instructions": "И последнее: добавьте краткую информацию о себе и свою фотографию; так людям будет проще понять, с кем они бронируют встречу.",
"set_availability_instructions": "Определите диапазон времени, в который вы обычно доступны. В дальнейшем можно будет добавить ещё диапазоны и назначить их разным календарям.", "set_availability_instructions": "Определите диапазон времени, в который вы обычно доступны. В дальнейшем можно будет добавить ещё диапазоны и назначить их разным календарям.",
"set_availability": "Задайте время в которое вы доступны", "set_availability": "Задайте время в которое вы доступны",
"availability_settings": "Настройки доступности",
"continue_without_calendar": "Продолжить без подключения календаря", "continue_without_calendar": "Продолжить без подключения календаря",
"connect_your_calendar": "Подключите календарь", "connect_your_calendar": "Подключите календарь",
"connect_your_video_app": "Подключите приложения для видеосвязи", "connect_your_video_app": "Подключите приложения для видеосвязи",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "Ссылки для группового бронирования, которые можно создавать динамически, указывая несколько имен пользователей при помощи знака «+». Пример: «{{appName}}/bailey+peer»", "allow_dynamic_booking_tooltip": "Ссылки для группового бронирования, которые можно создавать динамически, указывая несколько имен пользователей при помощи знака «+». Пример: «{{appName}}/bailey+peer»",
"allow_dynamic_booking": "Разрешить участникам бронировать встречи с вами при помощи динамического группового бронирования", "allow_dynamic_booking": "Разрешить участникам бронировать встречи с вами при помощи динамического группового бронирования",
"dynamic_booking": "Динамические ссылки для групп", "dynamic_booking": "Динамические ссылки для групп",
"allow_seo_indexing": "Разрешить поисковым системам доступ к публичному контенту",
"seo_indexing": "Разрешить SEO- индексацию",
"email": "Адрес электронной почты", "email": "Адрес электронной почты",
"email_placeholder": "jdoe@example.com", "email_placeholder": "jdoe@example.com",
"full_name": "Имя", "full_name": "Имя",
@@ -406,6 +424,7 @@
"booking_requested": "Запрос на бронирование отправлен", "booking_requested": "Запрос на бронирование отправлен",
"meeting_ended": "Встреча завершилась", "meeting_ended": "Встреча завершилась",
"form_submitted": "Форма отправлена", "form_submitted": "Форма отправлена",
"booking_paid": "Бронирование оплачено",
"event_triggers": "Триггеры событий", "event_triggers": "Триггеры событий",
"subscriber_url": "URL-адрес подписчика", "subscriber_url": "URL-адрес подписчика",
"create_new_webhook": "Создать новый веб-хук", "create_new_webhook": "Создать новый веб-хук",
@@ -506,6 +525,7 @@
"your_name": "Ваше имя", "your_name": "Ваше имя",
"your_full_name": "ФИО", "your_full_name": "ФИО",
"no_name": "Нет названия", "no_name": "Нет названия",
"enter_number_between_range": "Введите число от 1 до {{maxOccurences}}",
"email_address": "Адрес электронной почты", "email_address": "Адрес электронной почты",
"enter_valid_email": "Укажите допустимый адрес электронной почты", "enter_valid_email": "Укажите допустимый адрес электронной почты",
"location": "Местоположение", "location": "Местоположение",
@@ -543,6 +563,7 @@
"leave": "Покинуть", "leave": "Покинуть",
"profile": "Профиль", "profile": "Профиль",
"my_team_url": "URL-адрес моей команды", "my_team_url": "URL-адрес моей команды",
"my_teams": "Мои команды",
"team_name": "Название команды", "team_name": "Название команды",
"your_team_name": "Название вашей команды", "your_team_name": "Название вашей команды",
"team_updated_successfully": "Команда успешно обновлена", "team_updated_successfully": "Команда успешно обновлена",
@@ -570,6 +591,8 @@
"invite_new_member": "Пригласить нового участника команды", "invite_new_member": "Пригласить нового участника команды",
"invite_new_member_description": "Примечание: стоимость подписки увеличится на <1>15 $/месяц за дополнительное место</1>.", "invite_new_member_description": "Примечание: стоимость подписки увеличится на <1>15 $/месяц за дополнительное место</1>.",
"invite_new_team_member": "Пригласите кого-нибудь в вашу команду.", "invite_new_team_member": "Пригласите кого-нибудь в вашу команду.",
"upload_csv_file": "Загрузить файл .csv",
"invite_via_email": "Пригласить по электронной почте",
"change_member_role": "Изменить роль члена команды", "change_member_role": "Изменить роль члена команды",
"disable_cal_branding": "Отключить брендинг {{appName}}", "disable_cal_branding": "Отключить брендинг {{appName}}",
"disable_cal_branding_description": "Скрыть весь брендинг {{appName}} с ваших публичных страниц.", "disable_cal_branding_description": "Скрыть весь брендинг {{appName}} с ваших публичных страниц.",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "Пользователь должен принять приглашение для просмотра доступности", "team_view_user_availability_disabled": "Пользователь должен принять приглашение для просмотра доступности",
"set_as_away": "Установить статус «отошел»", "set_as_away": "Установить статус «отошел»",
"set_as_free": "Отключить статус «отошел»", "set_as_free": "Отключить статус «отошел»",
"toggle_away_error": "Ошибка при обновлении статуса «отошел»",
"user_away": "Этот пользователь в настоящее время отсутствует.", "user_away": "Этот пользователь в настоящее время отсутствует.",
"user_away_description": "Человек, с которым вы пытаетесь забронировать встречу - недоступен, поэтому он не принимает новых записей.", "user_away_description": "Человек, с которым вы пытаетесь забронировать встречу - недоступен, поэтому он не принимает новых записей.",
"meet_people_with_the_same_tokens": "Проводите встречи с пользователями с такими же токенами", "meet_people_with_the_same_tokens": "Проводите встречи с пользователями с такими же токенами",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "Чтобы изменить адрес электронной почты, пароль, включить двухфакторную авторизацию, пожалуйста, посетите настройки учетной записи {{provider}}.", "account_managed_by_identity_provider_description": "Чтобы изменить адрес электронной почты, пароль, включить двухфакторную авторизацию, пожалуйста, посетите настройки учетной записи {{provider}}.",
"signin_with_google": "Войти через Google", "signin_with_google": "Войти через Google",
"signin_with_saml": "Войти с помощью SAML", "signin_with_saml": "Войти с помощью SAML",
"signin_with_saml_oidc": "Войти с помощью SAML/OIDC",
"you_will_need_to_generate": "Вам нужно сгенерировать токен доступа на странице интеграции.", "you_will_need_to_generate": "Вам нужно сгенерировать токен доступа на странице интеграции.",
"import": "Импорт", "import": "Импорт",
"import_from": "Импортировать из", "import_from": "Импортировать из",
@@ -950,6 +975,8 @@
"offer_seats_description": "Предлагать места при бронировании (данная настройка автоматически отключает гостевой режим и бронирование с подтверждением).", "offer_seats_description": "Предлагать места при бронировании (данная настройка автоматически отключает гостевой режим и бронирование с подтверждением).",
"seats_available_one": "Доступное место", "seats_available_one": "Доступное место",
"seats_available_other": "Доступные места", "seats_available_other": "Доступные места",
"seats_nearly_full": "Свободных мест почти не осталось",
"seats_half_full": "Свободные места быстро разбирают",
"number_of_seats": "Количество мест на одну бронь", "number_of_seats": "Количество мест на одну бронь",
"enter_number_of_seats": "Укажите количество мест", "enter_number_of_seats": "Укажите количество мест",
"you_can_manage_your_schedules": "Расписаниями можно управлять на странице «Доступность».", "you_can_manage_your_schedules": "Расписаниями можно управлять на странице «Доступность».",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "Как вы хотите добавить {{appName}} на сайт?", "how_you_want_add_cal_site": "Как вы хотите добавить {{appName}} на сайт?",
"choose_ways_put_cal_site": "Выберите способ размещения {{appName}} на сайте.", "choose_ways_put_cal_site": "Выберите способ размещения {{appName}} на сайте.",
"setting_up_zapier": "Настройка интеграции с Zapier", "setting_up_zapier": "Настройка интеграции с Zapier",
"setting_up_make": "Настройка интеграции с Make",
"generate_api_key": "Сгенерировать ключ API", "generate_api_key": "Сгенерировать ключ API",
"generate_api_key_description": "Сгенерируйте ключ API, чтобы использовать его в {{appName}}, по адресу", "generate_api_key_description": "Сгенерируйте ключ API, чтобы использовать его в {{appName}}, по адресу",
"your_unique_api_key": "Ваш уникальный ключ API", "your_unique_api_key": "Ваш уникальный ключ API",
"copy_safe_api_key": "Скопируйте этот ключ API и сохраните его в надежном месте. Если ключ потеряется, вам придется создать новый.", "copy_safe_api_key": "Скопируйте этот ключ API и сохраните его в надежном месте. Если ключ потеряется, вам придется создать новый.",
"zapier_setup_instructions": "<0>Войдите в свой аккаунт Zapier и создайте новый Zap.</0><1>Выберите в качестве приложения-триггера Cal.com. Также выберите событие-триггер.</1><2>Выберите свою учетную запись и введите уникальный ключ API.</2><3>Проверьте триггер.</3><4>Готово!</4>", "zapier_setup_instructions": "<0>Войдите в свой аккаунт Zapier и создайте новый Zap.</0><1>Выберите в качестве приложения-триггера Cal.com. Также выберите событие-триггер.</1><2>Выберите свою учетную запись и введите уникальный ключ API.</2><3>Проверьте триггер.</3><4>Готово!</4>",
"make_setup_instructions": "<0>Перейдите по <1><0>пригласительной ссылке Make</0></1> и установите приложение Cal.com.</0><1>Войдите в аккаунт Make и создайте новый сценарий.</1><2>Выберите Cal.com в качестве приложения-триггера. Также выберите событие-триггер.</2><3>Выберите свою учетную запись и введите уникальный ключ API.</3><4>Проверьте триггер.</4><5>Готово!</5>",
"install_zapier_app": "Сначала установите приложение Zapier из App Store.", "install_zapier_app": "Сначала установите приложение Zapier из App Store.",
"install_make_app": "Сначала установите приложение Make из App Store.",
"connect_apple_server": "Подключиться к серверу Apple", "connect_apple_server": "Подключиться к серверу Apple",
"calendar_url": "URL-адрес календаря", "calendar_url": "URL-адрес календаря",
"apple_server_generate_password": "Сгенерируйте пароль для программы, чтобы использовать его в {{appName}}, по адресу", "apple_server_generate_password": "Сгенерируйте пароль для программы, чтобы использовать его в {{appName}}, по адресу",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "отправить письмо участникам", "email_attendee_action": "отправить письмо участникам",
"sms_attendee_action": "Отправить SMS-сообщение участнику", "sms_attendee_action": "Отправить SMS-сообщение участнику",
"sms_number_action": "отправка SMS-сообщение на указанный номер", "sms_number_action": "отправка SMS-сообщение на указанный номер",
"send_reminder_sms": "Отправляйте участникам напоминания о встрече по SMS",
"whatsapp_number_action": "отправка сообщение в Whatsapp на указанный номер", "whatsapp_number_action": "отправка сообщение в Whatsapp на указанный номер",
"whatsapp_attendee_action": "отправить участнику сообщение в Whatsapp", "whatsapp_attendee_action": "отправить участнику сообщение в Whatsapp",
"workflows": "Рабочие процессы", "workflows": "Рабочие процессы",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "Ошибка при обновлении настроек", "error_updating_settings": "Ошибка при обновлении настроек",
"personal_cal_url": "URL-адрес моего персонального {{appName}}", "personal_cal_url": "URL-адрес моего персонального {{appName}}",
"bio_hint": "Несколько предложений о себе. Они будут отображаться на вашей персональной странице.", "bio_hint": "Несколько предложений о себе. Они будут отображаться на вашей персональной странице.",
"user_has_no_bio": "Пользователь еще не указал данные о себе.",
"delete_account_modal_title": "Удалить аккаунт", "delete_account_modal_title": "Удалить аккаунт",
"confirm_delete_account_modal": "Удалить аккаунт {{appName}}?", "confirm_delete_account_modal": "Удалить аккаунт {{appName}}?",
"delete_my_account": "Удалить мой аккаунт", "delete_my_account": "Удалить мой аккаунт",
@@ -1426,6 +1458,7 @@
"add_limit": "Добавить ограничение", "add_limit": "Добавить ограничение",
"team_name_required": "Требуется название команды", "team_name_required": "Требуется название команды",
"show_attendees": "Предоставлять гостям информацию об участниках", "show_attendees": "Предоставлять гостям информацию об участниках",
"show_available_seats_count": "Показать количество доступных мест",
"how_booking_questions_as_variables": "Как использовать вопросы о бронировании в качестве переменных?", "how_booking_questions_as_variables": "Как использовать вопросы о бронировании в качестве переменных?",
"format": "Формат", "format": "Формат",
"uppercase_for_letters": "Использовать только прописные буквы", "uppercase_for_letters": "Использовать только прописные буквы",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Удалить конфигурацию {{connectionType}}? Участники команды, входящие в Cal.com через {{connectionType}}, больше не смогут получить к нему доступ.", "delete_sso_configuration_confirmation_description": "Удалить конфигурацию {{connectionType}}? Участники команды, входящие в Cal.com через {{connectionType}}, больше не смогут получить к нему доступ.",
"organizer_timezone": "Часовой пояс организатора", "organizer_timezone": "Часовой пояс организатора",
"email_user_cta": "Посмотреть приглашение", "email_user_cta": "Посмотреть приглашение",
"email_no_user_invite_heading_team": "Вас пригласили в команду {{appName}}",
"email_no_user_invite_heading_org": "Вас пригласили в организацию {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} пригласил(-а) вас в команду в {{appName}}. {{appName}} — это гибкий планировщик событий, с помощью которого пользователи и целые команды могут планировать встречи без утомительной переписки по электронной почте.", "email_no_user_invite_subheading": "{{invitedBy}} пригласил(-а) вас в команду в {{appName}}. {{appName}} — это гибкий планировщик событий, с помощью которого пользователи и целые команды могут планировать встречи без утомительной переписки по электронной почте.",
"email_user_invite_subheading_team": "{{invitedBy}} пригласил(а) вас в команду в `{{teamName}}` в приложении {{appName}}. {{appName}} — это гибкий планировщик событий, с помощью которого пользователи и целые команды могут планировать встречи без утомительной переписки по электронной почте.", "email_user_invite_subheading_team": "{{invitedBy}} пригласил(а) вас в команду в `{{teamName}}` в приложении {{appName}}. {{appName}} — это гибкий планировщик событий, с помощью которого пользователи и целые команды могут планировать встречи без утомительной переписки по электронной почте.",
"email_user_invite_subheading_org": "{{invitedBy}} пригласил(а) вас в организацию `{{teamName}}` в {{appName}}. {{appName}} — это гибкий планировщик событий, с помощью которого вы и ваша организация можете планировать встречи без утомительной переписки по электронной почте.",
"email_no_user_invite_steps_intro": "Всего несколько шагов — и вы сможете оперативно и без стресса планировать встречи в рамках вашей {{entity}}.", "email_no_user_invite_steps_intro": "Всего несколько шагов — и вы сможете оперативно и без стресса планировать встречи в рамках вашей {{entity}}.",
"email_no_user_step_one": "Выберите имя пользователя", "email_no_user_step_one": "Выберите имя пользователя",
"email_no_user_step_two": "Подключите аккаунт календаря", "email_no_user_step_two": "Подключите аккаунт календаря",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "Данные, соответствующие выбранному фильтру или диапазону дат, не найдены.", "insights_no_data_found_for_filter": "Данные, соответствующие выбранному фильтру или диапазону дат, не найдены.",
"acknowledge_booking_no_show_fee": "Я подтверждаю, что в случае моей неявки на событие с моей карты будет списана комиссия в размере {{amount, currency}}.", "acknowledge_booking_no_show_fee": "Я подтверждаю, что в случае моей неявки на событие с моей карты будет списана комиссия в размере {{amount, currency}}.",
"card_details": "Реквизиты карты", "card_details": "Реквизиты карты",
"something_went_wrong_on_our_end": "Что-то пошло не так. Свяжитесь с нашей службой поддержки, и мы быстро устраним проблему.",
"please_provide_following_text_to_suppport": "Чтобы специалисты техподдержки могли быстрее вам помочь, укажите следующую информацию",
"seats_and_no_show_fee_error": "Списание платы за неявку при использовании выбора места в настоящее время не поддерживается", "seats_and_no_show_fee_error": "Списание платы за неявку при использовании выбора места в настоящее время не поддерживается",
"complete_your_booking": "Завершить бронирование", "complete_your_booking": "Завершить бронирование",
"complete_your_booking_subject": "Завершите бронирование: {{title}}, {{date}}", "complete_your_booking_subject": "Завершите бронирование: {{title}}, {{date}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "Открыть диалог Cal при нажатии на элемент.", "open_dialog_with_element_click": "Открыть диалог Cal при нажатии на элемент.",
"need_help_embedding": "Нужна помощь? Ознакомьтесь с нашими руководствами по встраиванию Cal на Wix, Squarespace или WordPress, списком часто встречающих вопросов, а также информацией о расширенных возможностях встраивания.", "need_help_embedding": "Нужна помощь? Ознакомьтесь с нашими руководствами по встраиванию Cal на Wix, Squarespace или WordPress, списком часто встречающих вопросов, а также информацией о расширенных возможностях встраивания.",
"book_my_cal": "Забронировать в Cal", "book_my_cal": "Забронировать в Cal",
"first_name": "Имя",
"last_name": "Фамилия",
"first_last_name": "Имя, фамилия",
"invite_as": "Пригласить в качестве", "invite_as": "Пригласить в качестве",
"form_updated_successfully": "Форма успешно обновлена.", "form_updated_successfully": "Форма успешно обновлена.",
"disable_attendees_confirmation_emails": "Отключить стандартное подтверждение по электронной почте для участников", "disable_attendees_confirmation_emails": "Отключить стандартное подтверждение по электронной почте для участников",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "Создайте первый вебхук для этого типа событий", "first_event_type_webhook_description": "Создайте первый вебхук для этого типа событий",
"install_app_on": "Установить приложение в", "install_app_on": "Установить приложение в",
"create_for": "Создать для", "create_for": "Создать для",
"currency": "Валюта",
"organization_banner_description": "Создавайте рабочие среды, в рамках которых ваши команды смогут создавать общие приложения, рабочие процессы и типы событий с назначением участников по очереди и коллективным планированием.", "organization_banner_description": "Создавайте рабочие среды, в рамках которых ваши команды смогут создавать общие приложения, рабочие процессы и типы событий с назначением участников по очереди и коллективным планированием.",
"organization_banner_title": "Управляйте организациями с несколькими командами", "organization_banner_title": "Управляйте организациями с несколькими командами",
"set_up_your_organization": "Настройка профиля организации", "set_up_your_organization": "Настройка профиля организации",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "Команда: {{teamName}}", "insights_team_filter": "Команда: {{teamName}}",
"insights_user_filter": "Пользователь: {{userName}}", "insights_user_filter": "Пользователь: {{userName}}",
"insights_subtitle": "Insights: просматривайте информацию о бронировании по всем вашим событиям", "insights_subtitle": "Insights: просматривайте информацию о бронировании по всем вашим событиям",
"location_options": "Параметры местоположения {{locationCount}}",
"custom_plan": "Пользовательский тариф", "custom_plan": "Пользовательский тариф",
"email_embed": "Встроить электронную почту",
"add_times_to_your_email": "Выберите доступные промежутки времени и вставьте их в письмо",
"select_time": "Выбрать время",
"select_date": "Выбрать дату",
"see_all_available_times": "Посмотреть все доступные интервалы времени",
"org_team_names_example": "например, команда по маркетингу",
"org_team_names_example_1": "например, команда по маркетингу",
"org_team_names_example_2": "например, Отдел продаж",
"org_team_names_example_3": "например, отдел дизайна",
"org_team_names_example_4": "например, технический отдел",
"org_team_names_example_5": "например, отдел анализа данных",
"org_max_team_warnings": "Позже можно добавить другие команды.",
"what_is_this_meeting_about": "Чему посвязена эта встреча?",
"add_to_team": "Добавить в команду",
"remove_users_from_org": "Удалить пользователей из организации",
"remove_users_from_org_confirm": "Удалить {{userCount}} пользователей из этой организации?",
"user_has_no_schedules": "Этот пользователь еще не настроил ни одного расписания",
"user_isnt_in_any_teams": "Этот пользователь не относится ни к одной команде",
"requires_booker_email_verification": "Требуется подтверждение электронной почты пользователя, оформляющего бронирование",
"description_requires_booker_email_verification": "Чтобы подтвердить электронную почту пользователя, оформляющего бронирование, до планирования событий",
"requires_confirmation_mandatory": "Участникам можно отправлять сообщения, только если тип события предполагает подтверждение.",
"kyc_verification_information": "Из соображений безопасности вы сможете отправлять текстовые сообщения участникам только после верификации {{teamOrAccount}}. Свяжитесь с нами по <a>{{supportEmail}}</a> и предоставьте следующую информацию:",
"kyc_verification_documents": "<ul><li>{{teamOrUser}}</li><li>Для юридических лиц: Предоставьте документы о верификации компании</li><li>Для физических лиц: Предоставьте официальное удостоверение личности</li></ul>",
"verify_team_or_account": "Подтвердить {{teamOrAccount}}",
"verify_account": "Подтвердить аккаунт",
"kyc_verification": "Верификация KYC",
"organizations": "Организации",
"org_admin_other_teams": "Другие команды",
"org_admin_other_teams_description": "Это перечень команд вашей организации, в которые вы не входите. При необходимости можно добавить себя в эти команды.",
"no_other_teams_found": "Другие команды не найдены",
"no_other_teams_found_description": "В этой организации нет других команд.",
"attendee_first_name_variable": "Имя участника",
"attendee_last_name_variable": "Фамилия участника",
"attendee_first_name_info": "Имя участника, который оформляет бронирование",
"attendee_last_name_info": "Фамилия участника, который оформляет бронирование",
"me": "Я",
"verify_team_tooltip": "Подтвердите свою команду, чтобы отправлять участникам сообщения",
"member_removed": "Участник удален",
"my_availability": "Моя доступность",
"team_availability": "Доступность команды",
"backup_code": "Код бэкапа",
"backup_codes": "Коды бэкапа",
"backup_code_instructions": "Каждый код бэкапа можно использовать только один раз, чтобы предоставить доступ без аутентификатора.",
"backup_codes_copied": "Коды бэкапа скопированы!",
"incorrect_backup_code": "Неверный код бэкапа.",
"lost_access": "Доступ потерян",
"missing_backup_codes": "Коды бэкапа не найдены. Сгенерируйте их в настройках.",
"admin_org_notification_email_subject": "Создана новая организация: ожидается действие",
"hi_admin": "Привет, администратор",
"admin_org_notification_email_title": "Для организации требуется установка DNS",
"admin_org_notification_email_body_part1": "Создана организация со слагом \"{{orgSlug}}\".<br /><br />Обязательно настройте реестр DNS, указав поддомен, соответствующий новой организации, в котором выполняется основное приложение. В противном случае организация не сможет работать.<br /><br />Вот несколько базовых параметров для настройки поддомена, указывающих на приложение и позволяющих ему загрузить страницу профиля организации.<br /><br />Это также можно сделать с помощью записи A:",
"admin_org_notification_email_body_part2": "Или запись CNAME:",
"admin_org_notification_email_body_part3": "Настроив поддомен, в настройках администратора организаций поставьте «готово» рядом с конфигурацией DNS.",
"admin_org_notification_email_cta": "Перейти в настройки администратора организаций",
"org_has_been_processed": "Обработка для организации завершена",
"org_error_processing": "При обработке этой организации произошла ошибка",
"orgs_page_description": "Список всех организаций. При приеме организации все пользователи с этим доменом электронной почты смогут регистрироваться БЕЗ подтверждения электронной почты.",
"unverified": "Не подтверждено",
"dns_missing": "Отсутствует DNS",
"mark_dns_configured": "Отметить как \"конфигурация DNS завершена\"",
"value": "Значение",
"your_organization_updated_sucessfully": "Данные об организации успешно обновлены",
"team_no_event_types": "У этой команды нет типов событий",
"seat_options_doesnt_multiple_durations": "Параметр «место» не поддерживает несколько вариантов продолжительности",
"include_calendar_event": "Включить событие календаря",
"recently_added": "Недавно добавленные",
"no_members_found": "Участники не найдены",
"event_setup_length_error": "Настройка события: продолжительность должна быть не менее 1 минуты.",
"availability_schedules": "График с информацией о доступности",
"view_only_edit_availability_not_onboarded": "Этот пользователь не прошел онбординг. Вы сможете настроить для него информацию о доступность, только когда он пройдет онбординг.",
"view_only_edit_availability": "Вы просматриваете информацию о доступности этого пользователя. Вы можете редактировать только информацию о собственной доступности.",
"edit_users_availability": "Редактировать данные о доступности пользователя: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Добавьте строки выше ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Добавьте строки выше ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
+128 -14
View File
@@ -19,8 +19,13 @@
"verify_email_email_button": "Potvrdi adresu e-pošte", "verify_email_email_button": "Potvrdi adresu e-pošte",
"copy_somewhere_safe": "Čuvajte ovaj API ključ na bezbednom mestu. Nećete moći da ga ponovo vidite.", "copy_somewhere_safe": "Čuvajte ovaj API ključ na bezbednom mestu. Nećete moći da ga ponovo vidite.",
"verify_email_email_body": "Potvrdite svoju adresu e-pošte klikom na dugme ispod.", "verify_email_email_body": "Potvrdite svoju adresu e-pošte klikom na dugme ispod.",
"verify_email_by_code_email_body": "Potvrdite svoju imejl adresu korišćenjem kôda u nastavku.",
"verify_email_email_link_text": "U slučaju da ne volite da klikćete na dugmad, evo linka:", "verify_email_email_link_text": "U slučaju da ne volite da klikćete na dugmad, evo linka:",
"email_verification_code": "Unesite kôd za verifikaciju",
"email_verification_code_placeholder": "Unesite kôd za verifikaciju koji vam je poslat imejlom",
"incorrect_email_verification_code": "Verifikacioni kôd nije tačan.",
"email_sent": "Imejl je uspešno poslat", "email_sent": "Imejl je uspešno poslat",
"email_not_sent": "Desila se greška prilikom slanja imejla",
"event_declined_subject": "Odbijeno: {{title}} datuma {{date}}", "event_declined_subject": "Odbijeno: {{title}} datuma {{date}}",
"event_cancelled_subject": "Otkazano: {{title}} dana {{date}}", "event_cancelled_subject": "Otkazano: {{title}} dana {{date}}",
"event_request_declined": "Vaš zahtev za događaj je odbijen", "event_request_declined": "Vaš zahtev za događaj je odbijen",
@@ -79,6 +84,7 @@
"event_awaiting_approval_recurring": "Ponavljajući događaj čeka na vaše odobrenje", "event_awaiting_approval_recurring": "Ponavljajući događaj čeka na vaše odobrenje",
"someone_requested_an_event": "Neko zahteva da rezerviše dogadjaj na vašem kalendaru.", "someone_requested_an_event": "Neko zahteva da rezerviše dogadjaj na vašem kalendaru.",
"someone_requested_password_reset": "Neko zahteva link da promeni vašu lozinku.", "someone_requested_password_reset": "Neko zahteva link da promeni vašu lozinku.",
"password_reset_email_sent": "Ako ovaj imejl postoji našem sistemu, trebalo bi da primite imejl za resetovanje.",
"password_reset_instructions": "Ako niste pokrenuli ovaj zahtev, slobodno ignorišite ovu e-poštu i vaša lozinka se neće promeniti.", "password_reset_instructions": "Ako niste pokrenuli ovaj zahtev, slobodno ignorišite ovu e-poštu i vaša lozinka se neće promeniti.",
"event_awaiting_approval_subject": "Čeka na odobrenje: {{title}} datuma {{date}}", "event_awaiting_approval_subject": "Čeka na odobrenje: {{title}} datuma {{date}}",
"event_still_awaiting_approval": "Događaj još čeka na vaše odobrenje", "event_still_awaiting_approval": "Događaj još čeka na vaše odobrenje",
@@ -218,6 +224,10 @@
"already_have_an_account": "Već imate nalog?", "already_have_an_account": "Već imate nalog?",
"create_account": "Napravite Nalog", "create_account": "Napravite Nalog",
"confirm_password": "Potvrdite lozinku", "confirm_password": "Potvrdite lozinku",
"confirm_auth_change": "To će promeniti način na koji se prijavljujete",
"confirm_auth_email_change": "Promena imejl adrese će prekinuti trenutni način autentifikacije za prijavljivanje na Cal.com. Zatražićemo da verifikujete svoju novu imejl adresu. Nakon toga, bićete odjavljeni, i koristićete novu imejl adresu za prijavljivanje umesto trenutnog načina autentifikacije nakon što podesite lozinku prateći uputstva koja će vam biti poslata imejlom.",
"reset_your_password": "Podesite novu lozinku pomoću uputstva poslatim na vašu imejl adresu.",
"email_change": "Prijavite se ponovo sa novom imejl adresom i lozinkom.",
"create_your_account": "Napravite svoj nalog", "create_your_account": "Napravite svoj nalog",
"sign_up": "Prijavite se", "sign_up": "Prijavite se",
"youve_been_logged_out": "Odjavili ste se", "youve_been_logged_out": "Odjavili ste se",
@@ -244,6 +254,10 @@
"all": "Sve aplikacije", "all": "Sve aplikacije",
"yours": "Vaš nalog", "yours": "Vaš nalog",
"available_apps": "Dostupne aplikacije", "available_apps": "Dostupne aplikacije",
"available_apps_lower_case": "Dostupne aplikacije",
"available_apps_desc": "Nemate instaliranih aplikacija. Pogledajte popularne aplikacije ispod i dodatno istražite na našem <1>App Store-u</1>",
"fixed_host_helper": "Dodajte bilo koga ko treba da prisustvuje događaju. <1>Saznajte više</1>",
"round_robin_helper": "Ljudi u grupi se smenjuju i samo jedna osoba će doći na događaj.",
"check_email_reset_password": "Proverite vašu e-poštu. Poslali smo vam link za resetovanje lozinke.", "check_email_reset_password": "Proverite vašu e-poštu. Poslali smo vam link za resetovanje lozinke.",
"finish": "Završi", "finish": "Završi",
"organization_general_description": "Upravljajte podešavanjima tima za jezik i vremensku zonu", "organization_general_description": "Upravljajte podešavanjima tima za jezik i vremensku zonu",
@@ -252,6 +266,7 @@
"nearly_there_instructions": "Na kraju, kratak opis o vama i slika mogu vam pomoći oko rezervacija i da obavestite druge s kim zapravo rezervišu.", "nearly_there_instructions": "Na kraju, kratak opis o vama i slika mogu vam pomoći oko rezervacija i da obavestite druge s kim zapravo rezervišu.",
"set_availability_instructions": "Definišite periode kad ste stalno dostupni. Kasnije možete kreirati više njih i dodeliti ih različitim kalendarima.", "set_availability_instructions": "Definišite periode kad ste stalno dostupni. Kasnije možete kreirati više njih i dodeliti ih različitim kalendarima.",
"set_availability": "Podesite svoju dostupnost", "set_availability": "Podesite svoju dostupnost",
"availability_settings": "Podešavanja dostuposti",
"continue_without_calendar": "Nastavite bez kalendara", "continue_without_calendar": "Nastavite bez kalendara",
"connect_your_calendar": "Povežite vaš kalendar", "connect_your_calendar": "Povežite vaš kalendar",
"connect_your_video_app": "Povežite svoje video aplikacije", "connect_your_video_app": "Povežite svoje video aplikacije",
@@ -308,7 +323,7 @@
"layout": "Raspored", "layout": "Raspored",
"bookerlayout_default_title": "Podrazumevani prikaz", "bookerlayout_default_title": "Podrazumevani prikaz",
"bookerlayout_description": "Možete da izaberete više njih, a vaši učesnici mogu da menjaju prikaze.", "bookerlayout_description": "Možete da izaberete više njih, a vaši učesnici mogu da menjaju prikaze.",
"bookerlayout_user_settings_title": "Raspored zakazivanja", "bookerlayout_user_settings_title": "Režim prikaza rezervacija",
"bookerlayout_user_settings_description": "Možete da izaberete više njih, a učesnici mogu da menjaju prikaz. Ovo se može zameniti za svaki događaj.", "bookerlayout_user_settings_description": "Možete da izaberete više njih, a učesnici mogu da menjaju prikaz. Ovo se može zameniti za svaki događaj.",
"bookerlayout_month_view": "Mesec", "bookerlayout_month_view": "Mesec",
"bookerlayout_week_view": "Nedeljno", "bookerlayout_week_view": "Nedeljno",
@@ -393,6 +408,8 @@
"allow_dynamic_booking_tooltip": "Moguće je dinamičko kreiranje linkova za grupne rezervacije navođenjem više korisničkih imena sa znakom „+”. Na primer: „{{appName}}/bailey+peer”", "allow_dynamic_booking_tooltip": "Moguće je dinamičko kreiranje linkova za grupne rezervacije navođenjem više korisničkih imena sa znakom „+”. Na primer: „{{appName}}/bailey+peer”",
"allow_dynamic_booking": "Dozvolite učesnicima da rezervišu termin sa vama putem dinamičkih grupnih rezervacija", "allow_dynamic_booking": "Dozvolite učesnicima da rezervišu termin sa vama putem dinamičkih grupnih rezervacija",
"dynamic_booking": "Dinamični linkovi grupa", "dynamic_booking": "Dinamični linkovi grupa",
"allow_seo_indexing": "Dozvolite pretraživačima da pristupe vašem javnom sadržaju",
"seo_indexing": "Dozvolite SEO indeksiranje",
"email": "E-pošta", "email": "E-pošta",
"email_placeholder": "ppetrovic@example.com", "email_placeholder": "ppetrovic@example.com",
"full_name": "Ime i prezime", "full_name": "Ime i prezime",
@@ -404,9 +421,10 @@
"recording_ready": "Link za preuzimanje snimka je spreman", "recording_ready": "Link za preuzimanje snimka je spreman",
"booking_created": "Rezervacija Napravljena", "booking_created": "Rezervacija Napravljena",
"booking_rejected": "Rezevacija je odbijena", "booking_rejected": "Rezevacija je odbijena",
"booking_requested": "Rezervacija je zahtevana", "booking_requested": "Zahtev za rezervaciju je poslat",
"meeting_ended": "Sastanak se završio", "meeting_ended": "Sastanak se završio",
"form_submitted": "Formular poslat", "form_submitted": "Formular poslat",
"booking_paid": "Rezervacija je plaćena",
"event_triggers": "Okidači Dogadjaja", "event_triggers": "Okidači Dogadjaja",
"subscriber_url": "URL pretplatnika", "subscriber_url": "URL pretplatnika",
"create_new_webhook": "Napravite novi webhook", "create_new_webhook": "Napravite novi webhook",
@@ -507,6 +525,7 @@
"your_name": "Vaše ime", "your_name": "Vaše ime",
"your_full_name": "Ime i prezime", "your_full_name": "Ime i prezime",
"no_name": "Bez imena", "no_name": "Bez imena",
"enter_number_between_range": "Unesite broj između 1 i {{maxOccurences}}",
"email_address": "E-pošta", "email_address": "E-pošta",
"enter_valid_email": "Unesite važeću imejl adresu", "enter_valid_email": "Unesite važeću imejl adresu",
"location": "Lokacija", "location": "Lokacija",
@@ -544,6 +563,7 @@
"leave": "Napusti", "leave": "Napusti",
"profile": "Profil", "profile": "Profil",
"my_team_url": "URL mog tima", "my_team_url": "URL mog tima",
"my_teams": "Moji timovi",
"team_name": "Ime tima", "team_name": "Ime tima",
"your_team_name": "Ime vašeg tima", "your_team_name": "Ime vašeg tima",
"team_updated_successfully": "Tim uspešno ažuriran", "team_updated_successfully": "Tim uspešno ažuriran",
@@ -552,11 +572,11 @@
"team_description": "Par rečenica o vašem timu. Ovo će se pojaviti na stranici URL adrese vašeg tima.", "team_description": "Par rečenica o vašem timu. Ovo će se pojaviti na stranici URL adrese vašeg tima.",
"org_description": "Nekoliko rečenica o vašoj organizaciji. Ovo će se pojaviti na url stranici vaše organizacije.", "org_description": "Nekoliko rečenica o vašoj organizaciji. Ovo će se pojaviti na url stranici vaše organizacije.",
"members": "Članovi", "members": "Članovi",
"organization_members": "Članovi organizacije", "organization_members": "Korisnici uključeni u tarifni plan Organization",
"member": "Član", "member": "Član",
"number_member_one": "{{count}} član", "number_member_one": "{{count}} član",
"number_member_other": "{{count}} članova", "number_member_other": "{{count}} članova",
"number_selected": "{{count}} izabrano", "number_selected": "Izabrano: {{count}}",
"owner": "Vlasnik", "owner": "Vlasnik",
"admin": "Admin", "admin": "Admin",
"administrator_user": "Administrator", "administrator_user": "Administrator",
@@ -571,6 +591,8 @@
"invite_new_member": "Pozovite novog člana", "invite_new_member": "Pozovite novog člana",
"invite_new_member_description": "</1>Napomena: Ovo će <1>povećati vašu pretplatu za dodatno mesto (15 $/mesečno)</1>.", "invite_new_member_description": "</1>Napomena: Ovo će <1>povećati vašu pretplatu za dodatno mesto (15 $/mesečno)</1>.",
"invite_new_team_member": "Pozovite nekog u vaš tim.", "invite_new_team_member": "Pozovite nekog u vaš tim.",
"upload_csv_file": "Otpremite .csv datoteku",
"invite_via_email": "Pozovite putem imejla",
"change_member_role": "Promenite ulogu članu tima", "change_member_role": "Promenite ulogu članu tima",
"disable_cal_branding": "Onemogući brendiranje {{appName}}", "disable_cal_branding": "Onemogući brendiranje {{appName}}",
"disable_cal_branding_description": "Skrijte svako {{appName}} brendiranje sa svojih javnih stranica.", "disable_cal_branding_description": "Skrijte svako {{appName}} brendiranje sa svojih javnih stranica.",
@@ -843,6 +865,7 @@
"team_view_user_availability_disabled": "Korisnik mora da prihvati poziv da bi video dostupnost", "team_view_user_availability_disabled": "Korisnik mora da prihvati poziv da bi video dostupnost",
"set_as_away": "Postavite se da niste prisutni", "set_as_away": "Postavite se da niste prisutni",
"set_as_free": "Deaktiviraj status prisutnosti", "set_as_free": "Deaktiviraj status prisutnosti",
"toggle_away_error": "Greška pri ažuriranju statusa odsutan",
"user_away": "Ovaj korisnink nije prisutan.", "user_away": "Ovaj korisnink nije prisutan.",
"user_away_description": "Osoba sa kojom želite da rezervišete sastanak je postavila status da nije prisutna, tako da ne prihvata nove rezervacije.", "user_away_description": "Osoba sa kojom želite da rezervišete sastanak je postavila status da nije prisutna, tako da ne prihvata nove rezervacije.",
"meet_people_with_the_same_tokens": "Upoznajte ljude sa istim tokenima", "meet_people_with_the_same_tokens": "Upoznajte ljude sa istim tokenima",
@@ -852,6 +875,7 @@
"account_managed_by_identity_provider_description": "Da biste promenili svoju adresu e-pošte, lozinku, omogućili dvofaktorsku autentifikaciju itd., molimo vas posetite vaša {{provider}} podešavanja naloga.", "account_managed_by_identity_provider_description": "Da biste promenili svoju adresu e-pošte, lozinku, omogućili dvofaktorsku autentifikaciju itd., molimo vas posetite vaša {{provider}} podešavanja naloga.",
"signin_with_google": "Ulogujte sa pomoću Google-a", "signin_with_google": "Ulogujte sa pomoću Google-a",
"signin_with_saml": "Ulogujte se pomoću SAML", "signin_with_saml": "Ulogujte se pomoću SAML",
"signin_with_saml_oidc": "Prijavite se pomoću SAML/OIDC",
"you_will_need_to_generate": "Morate generisati token pristupnosti iz svog prošlog softvera za zakazivanje.", "you_will_need_to_generate": "Morate generisati token pristupnosti iz svog prošlog softvera za zakazivanje.",
"import": "Importuj", "import": "Importuj",
"import_from": "Importuj iz", "import_from": "Importuj iz",
@@ -951,6 +975,8 @@
"offer_seats_description": "Ponudite mesta za zakazivanje. Ovo automatski onemogućava gostujuća i opciona zakazivanja.", "offer_seats_description": "Ponudite mesta za zakazivanje. Ovo automatski onemogućava gostujuća i opciona zakazivanja.",
"seats_available_one": "Dostupno mesto", "seats_available_one": "Dostupno mesto",
"seats_available_other": "Slobodnih mesta", "seats_available_other": "Slobodnih mesta",
"seats_nearly_full": "Mesta su skoro zauzeta",
"seats_half_full": "Mesta se brzo popunjavaju",
"number_of_seats": "Broj mesta po zakazivanju", "number_of_seats": "Broj mesta po zakazivanju",
"enter_number_of_seats": "Unesite broj slobodnih mesta", "enter_number_of_seats": "Unesite broj slobodnih mesta",
"you_can_manage_your_schedules": "Svojim rasporedima možete upravljati na stranici Dostupnost.", "you_can_manage_your_schedules": "Svojim rasporedima možete upravljati na stranici Dostupnost.",
@@ -1031,12 +1057,15 @@
"how_you_want_add_cal_site": "Kako želite da dodate {{appName}} na vaš sajt?", "how_you_want_add_cal_site": "Kako želite da dodate {{appName}} na vaš sajt?",
"choose_ways_put_cal_site": "Izaberite jedan od sledećih načina za postavljanje {{appName}}-a na vaš sajt.", "choose_ways_put_cal_site": "Izaberite jedan od sledećih načina za postavljanje {{appName}}-a na vaš sajt.",
"setting_up_zapier": "Podešavanje vaše Zapier integracije", "setting_up_zapier": "Podešavanje vaše Zapier integracije",
"setting_up_make": "Podešavanje vaše Make integracije",
"generate_api_key": "Generiši API ključ", "generate_api_key": "Generiši API ključ",
"generate_api_key_description": "Generišite API ključ za upotrebu sa {{appName}} na", "generate_api_key_description": "Generišite API ključ za upotrebu sa {{appName}} na",
"your_unique_api_key": "Vaš jedinstveni API ključ", "your_unique_api_key": "Vaš jedinstveni API ključ",
"copy_safe_api_key": "Kopirajte ovaj API ključ i sačuvajte ga na bezbednom mestu. Ako izgubite ovaj ključ, moraćete da generište novi.", "copy_safe_api_key": "Kopirajte ovaj API ključ i sačuvajte ga na bezbednom mestu. Ako izgubite ovaj ključ, moraćete da generište novi.",
"zapier_setup_instructions": "<0>Prijavite se na vaš Zapier nalog i kreirajte novi Zap.</0><1>Izaberite Cal.com kao vašu Trigger aplikaciju. Takođe izaberite i Trigger događaj.</1><2>Izaberite svoj nalog i unesite vaš jedinstveni API ključ.</2><3>Testirajte svoj Trigger.</3><4>Završili ste!</4>", "zapier_setup_instructions": "<0>Prijavite se na vaš Zapier nalog i kreirajte novi Zap.</0><1>Izaberite Cal.com kao vašu Trigger aplikaciju. Takođe izaberite i Trigger događaj.</1><2>Izaberite svoj nalog i unesite vaš jedinstveni API ključ.</2><3>Testirajte svoj Trigger.</3><4>Završili ste!</4>",
"make_setup_instructions": "<0>Idite na <1><0>link Napravi pozivnicu</0></1> i instalirajte aplikaciju Cal.com.</0><1>Prijavite se u Napravi nalog i kreirajte novi Scenario.</1><2>Izaberite Cal.com kao vašu applikaciju Okidač. Takođe odaberite okidač događaja.</2><3>Izaberite svoj nalog i unesite svoj jedinstveni API ključ.</3><4>Testirajte svoj okidač.</4><5>Spremni ste!</5>",
"install_zapier_app": "Prvo instalirajte aplikaciju Zapier iz App Store.", "install_zapier_app": "Prvo instalirajte aplikaciju Zapier iz App Store.",
"install_make_app": "Prvo instalirajte aplikaciju Make iz App Store-a.",
"connect_apple_server": "Poveži se sa Apple serverom", "connect_apple_server": "Poveži se sa Apple serverom",
"calendar_url": "URL kalendara", "calendar_url": "URL kalendara",
"apple_server_generate_password": "Generišite posebnu lozinku aplikacije za korišćenje sa {{appName}} na", "apple_server_generate_password": "Generišite posebnu lozinku aplikacije za korišćenje sa {{appName}} na",
@@ -1086,6 +1115,7 @@
"email_attendee_action": "pošalji imejl učesnicima", "email_attendee_action": "pošalji imejl učesnicima",
"sms_attendee_action": "Pošalji SMS učesniku", "sms_attendee_action": "Pošalji SMS učesniku",
"sms_number_action": "pošalji SMS na određeni broj", "sms_number_action": "pošalji SMS na određeni broj",
"send_reminder_sms": "Učesnicima lako pošaljite podsetnike za sastanak putem poruke",
"whatsapp_number_action": "pošaljite Whatsapp poruku na određeni broj", "whatsapp_number_action": "pošaljite Whatsapp poruku na određeni broj",
"whatsapp_attendee_action": "pošaljite Whatsapp poruku učesniku", "whatsapp_attendee_action": "pošaljite Whatsapp poruku učesniku",
"workflows": "Radni tokovi", "workflows": "Radni tokovi",
@@ -1245,6 +1275,7 @@
"error_updating_settings": "Greška pri ažuriranju podešavanja", "error_updating_settings": "Greška pri ažuriranju podešavanja",
"personal_cal_url": "Moj lični {{appName}} URL", "personal_cal_url": "Moj lični {{appName}} URL",
"bio_hint": "Par rečenica o vama. Ovo će se pojaviti na vašoj ličnoj url stranici.", "bio_hint": "Par rečenica o vama. Ovo će se pojaviti na vašoj ličnoj url stranici.",
"user_has_no_bio": "Ovaj korisnik još nije dodao svoju biografiju.",
"delete_account_modal_title": "Izbriši nalog", "delete_account_modal_title": "Izbriši nalog",
"confirm_delete_account_modal": "Jeste li sigurni da želite da izbrišete vaš {{appName}} nalog?", "confirm_delete_account_modal": "Jeste li sigurni da želite da izbrišete vaš {{appName}} nalog?",
"delete_my_account": "Izbriši moj nalog", "delete_my_account": "Izbriši moj nalog",
@@ -1427,6 +1458,7 @@
"add_limit": "Dodajte ograničenje", "add_limit": "Dodajte ograničenje",
"team_name_required": "Ime tima je potrebno", "team_name_required": "Ime tima je potrebno",
"show_attendees": "Podelite informacije o učesnicima između gostiju", "show_attendees": "Podelite informacije o učesnicima između gostiju",
"show_available_seats_count": "Prikaži broj dostupnih mesta",
"how_booking_questions_as_variables": "Kako da koristite pitanja o zakazivanju kao promenljivu?", "how_booking_questions_as_variables": "Kako da koristite pitanja o zakazivanju kao promenljivu?",
"format": "Format", "format": "Format",
"uppercase_for_letters": "Koristite velika slova za sva slova", "uppercase_for_letters": "Koristite velika slova za sva slova",
@@ -1660,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Da li ste sigurni da želite da izbrišete {{connectionType}} konfiguraciju? Članovi vašeg tima koji koriste {{connectionType}} prijavljivanje više neće moći da pristupe Cal.com-u.", "delete_sso_configuration_confirmation_description": "Da li ste sigurni da želite da izbrišete {{connectionType}} konfiguraciju? Članovi vašeg tima koji koriste {{connectionType}} prijavljivanje više neće moći da pristupe Cal.com-u.",
"organizer_timezone": "Vremenska zona organizatora", "organizer_timezone": "Vremenska zona organizatora",
"email_user_cta": "Prikaži pozivnicu", "email_user_cta": "Prikaži pozivnicu",
"email_no_user_invite_heading_team": "Pozvani ste da se pridružite timu {{appName}}",
"email_no_user_invite_heading_org": "Pozvani ste da se pridružite organizaciji {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} vas je pozvao/la da se pridružite njihovom timu u {{appName}}. {{appName}} je planer za koordinaciju događaja koji omogućava vama i vašem timu da zakazujete sastanke bez dopisivanja imejlovima.", "email_no_user_invite_subheading": "{{invitedBy}} vas je pozvao/la da se pridružite njihovom timu u {{appName}}. {{appName}} je planer za koordinaciju događaja koji omogućava vama i vašem timu da zakazujete sastanke bez dopisivanja imejlovima.",
"email_user_invite_subheading_team": "{{invitedBy}} vas je pozvao/la da se pridružite njihovom timu `{{teamName}}` u {{appName}}. {{appName}} je planer za koordinaciju događaja koji omogućava vama i vašem timu da zakazujete sastanke bez dopisivanja imejlovima.", "email_user_invite_subheading_team": "{{invitedBy}} vas je pozvao/la da se pridružite njihovom timu `{{teamName}}` u {{appName}}. {{appName}} je planer za koordinaciju događaja koji omogućava vama i vašem timu da zakazujete sastanke bez dopisivanja imejlovima.",
"email_user_invite_subheading_org": "{{invitedBy}} vas je pozvao da se pridružite njihovoj organizaciji „{{teamName}}” na {{appName}}. {{appName}} je planer za zakazivanje događaja koji omogućava vama i vašoj organizaciji da zakažete sastanke bez dopisivanja imejlom.",
"email_no_user_invite_steps_intro": "Provešćemo vas u nekoliko kratkiih koraka i za tren ćete uživati u zakazivanju bez stresa sa vašim {{entity}}.", "email_no_user_invite_steps_intro": "Provešćemo vas u nekoliko kratkiih koraka i za tren ćete uživati u zakazivanju bez stresa sa vašim {{entity}}.",
"email_no_user_step_one": "Izaberite korisničko ime", "email_no_user_step_one": "Izaberite korisničko ime",
"email_no_user_step_two": "Povežite se sa nalogom kalendara", "email_no_user_step_two": "Povežite se sa nalogom kalendara",
@@ -1687,7 +1722,7 @@
"attendee_no_longer_attending": "Polaznik više ne pohađa vaš događaj", "attendee_no_longer_attending": "Polaznik više ne pohađa vaš događaj",
"attendee_no_longer_attending_subtitle": "Korisnik {{name}} je otkazao. To znači da se otvorilo mesto za ovaj vremenski period", "attendee_no_longer_attending_subtitle": "Korisnik {{name}} je otkazao. To znači da se otvorilo mesto za ovaj vremenski period",
"create_event_on": "Kreirajte događaj na", "create_event_on": "Kreirajte događaj na",
"create_routing_form_on": "Kreiraj obrazac za usmeravanje", "create_routing_form_on": "Kreiranje obrasca za usmeravanje za",
"default_app_link_title": "Podesite podrazumevani link aplikacije", "default_app_link_title": "Podesite podrazumevani link aplikacije",
"default_app_link_description": "Podešavanje podrazumevanog linka aplikacije omogućava novokreiranim tipovima događaja da koriste link aplikacije koji ste postavili.", "default_app_link_description": "Podešavanje podrazumevanog linka aplikacije omogućava novokreiranim tipovima događaja da koriste link aplikacije koji ste postavili.",
"organizer_default_conferencing_app": "Podrazumevana aplikacija organizatora", "organizer_default_conferencing_app": "Podrazumevana aplikacija organizatora",
@@ -1832,6 +1867,8 @@
"insights_no_data_found_for_filter": "Nisu pronađeni podaci za izabrani filter ili izabrane datume.", "insights_no_data_found_for_filter": "Nisu pronađeni podaci za izabrani filter ili izabrane datume.",
"acknowledge_booking_no_show_fee": "Jasno mi je da će mi biti naplaćena naknada za izostanak putem kartice u iznosu od {{amount, currency}} ukoliko ne prisustvujem ovom događaju.", "acknowledge_booking_no_show_fee": "Jasno mi je da će mi biti naplaćena naknada za izostanak putem kartice u iznosu od {{amount, currency}} ukoliko ne prisustvujem ovom događaju.",
"card_details": "Informacije o kartici", "card_details": "Informacije o kartici",
"something_went_wrong_on_our_end": "Nešto kod nas nije u redu. Obratite se korisničkoj podršci i mi ćemo to odmah popraviti za vas.",
"please_provide_following_text_to_suppport": "Prilikom kontaktiranja sa korisničkom službom, dostavite sledeći tekst kako bi vam bolje pomogli",
"seats_and_no_show_fee_error": "Trenutno nije moguće aktiviranje mesta i naplata naknade za izostanak", "seats_and_no_show_fee_error": "Trenutno nije moguće aktiviranje mesta i naplata naknade za izostanak",
"complete_your_booking": "Završite svoje zakazivanje", "complete_your_booking": "Završite svoje zakazivanje",
"complete_your_booking_subject": "Završite svoje zakazivanje: {{title}} dana {{date}}", "complete_your_booking_subject": "Završite svoje zakazivanje: {{title}} dana {{date}}",
@@ -1865,6 +1902,9 @@
"open_dialog_with_element_click": "Otvara Cal dijalog prozor kada neko klikne na element.", "open_dialog_with_element_click": "Otvara Cal dijalog prozor kada neko klikne na element.",
"need_help_embedding": "Potrebna vam je pomoć? Pogledajte naše vodiče za ugrađivanje Cal-a na Wix, Squarespace ili WordPress, pogledajte naša često postavljana pitanja ili istražite napredne opcije za ugrađivanje.", "need_help_embedding": "Potrebna vam je pomoć? Pogledajte naše vodiče za ugrađivanje Cal-a na Wix, Squarespace ili WordPress, pogledajte naša često postavljana pitanja ili istražite napredne opcije za ugrađivanje.",
"book_my_cal": "Zakaži moj Cal", "book_my_cal": "Zakaži moj Cal",
"first_name": "Ime",
"last_name": "Prezime",
"first_last_name": "Ime, prezime",
"invite_as": "Pozovi kao", "invite_as": "Pozovi kao",
"form_updated_successfully": "Formular je uspešno ažuriran.", "form_updated_successfully": "Formular je uspešno ažuriran.",
"disable_attendees_confirmation_emails": "Onemogući podrazumevane imejlove za potvrdu za učesnike", "disable_attendees_confirmation_emails": "Onemogući podrazumevane imejlove za potvrdu za učesnike",
@@ -1876,23 +1916,24 @@
"connect_google_workspace": "Poveži Google Workspace", "connect_google_workspace": "Poveži Google Workspace",
"google_workspace_admin_tooltip": "Morate da budete Workspace administrator da biste koristili ovu opciju", "google_workspace_admin_tooltip": "Morate da budete Workspace administrator da biste koristili ovu opciju",
"first_event_type_webhook_description": "Napravite svoj prvi webhook za ovaj tip događaja", "first_event_type_webhook_description": "Napravite svoj prvi webhook za ovaj tip događaja",
"install_app_on": "Instaliraj aplikaciju", "install_app_on": "Instaliraj aplikaciju za",
"create_for": "Napravi za", "create_for": "Napravi za",
"organization_banner_description": "Kreirajte okruženje gde vaši timovi mogu da postave deljene aplikacije, radne tokove i vrste događaja sa kružnom dodelom i zajedničko zakazivanje.", "currency": "Valuta",
"organization_banner_description": "Kreirajte okruženja gde vaši timovi mogu da postave deljene aplikacije, radne tokove i vrste događaja sa kružnom dodelom i zajedničko zakazivanje.",
"organization_banner_title": "Upravljajte organizacijama sa više timova", "organization_banner_title": "Upravljajte organizacijama sa više timova",
"set_up_your_organization": "Postavite svoju organizaciju", "set_up_your_organization": "Konfigurisanje profila organizacije",
"organizations_description": "Organizacije su deljena okruženja gde timovi mogu da kreiraju deljene vrste događaja, aplikacije, radne tokove i još mnogo toga.", "organizations_description": "Organizacije su deljena okruženja gde timovi mogu da kreiraju deljene vrste događaja, aplikacije, radne tokove i još mnogo toga.",
"must_enter_organization_name": "Morate da unesete naziv organizacije", "must_enter_organization_name": "Morate da unesete naziv organizacije",
"must_enter_organization_admin_email": "Morate da unesete adresu e-pošte vaše organizacije", "must_enter_organization_admin_email": "Morate da unesete adresu e-pošte vaše organizacije",
"admin_email": "Imejl adresa vaše organizacije", "admin_email": "Vaša adresa e-pošte u organizaciji",
"admin_username": "Korisničko ime administratora", "admin_username": "Korisničko ime administratora",
"organization_name": "Naziv organizacije", "organization_name": "Naziv organizacije",
"organization_url": "URL organizacije", "organization_url": "URL organizacije",
"organization_verify_header": "Potvrdite imejl vaše organizacije", "organization_verify_header": "Potvrdite svoju adresu e-pošte u organizaciji",
"organization_verify_email_body": "Koristite kôd u nastavku da potvrdite svoju adresu e-pošte kako biste nastavili sa podešavanjem svoje organizacije.", "organization_verify_email_body": "Koristite kôd u nastavku da potvrdite svoju adresu e-pošte kako biste nastavili sa podešavanjem svoje organizacije.",
"additional_url_parameters": "Dodatni URL parametri", "additional_url_parameters": "Dodatni URL parametri",
"about_your_organization": "O vašoj organizaciji", "about_your_organization": "O vašoj organizaciji",
"about_your_organization_description": "Organizacije su deljena okruženja gde možete da kreirate više timova sa deljenim članovima, vrste događaja, aplikacije, radne tokove i drugo.", "about_your_organization_description": "Organizacije su deljena okruženja gde možete da kreirate više timova sa deljenim članovima, vrstama događaja, aplikacijama, radnim tokovima i mnogim drugim stvarima.",
"create_your_teams": "Kreirajte svoje timove", "create_your_teams": "Kreirajte svoje timove",
"create_your_teams_description": "Počnite planiranje zajedno dodavanjem članova tima u svoju organizaciju", "create_your_teams_description": "Počnite planiranje zajedno dodavanjem članova tima u svoju organizaciju",
"invite_organization_admins": "Pozovite administratore vaše organizacije", "invite_organization_admins": "Pozovite administratore vaše organizacije",
@@ -1917,7 +1958,7 @@
"org_no_teams_yet_description": "Ako ste administrator, obavezno kreirajte timove koji će ovde biti prikazani.", "org_no_teams_yet_description": "Ako ste administrator, obavezno kreirajte timove koji će ovde biti prikazani.",
"set_up": "Podesi", "set_up": "Podesi",
"set_up_your_profile": "Podesite svoj profil", "set_up_your_profile": "Podesite svoj profil",
"set_up_your_profile_description": "Neka ljudi u organizaciji {{orgName}} znaju ko ste i kako da se povežu sa vama putem javnog linka.", "set_up_your_profile_description": "Unesite informacije o svojoj ulozi u organizaciji {{orgName}}. Te informacije će videti osobe koje kliknu na vaš javni link.",
"my_profile": "Moj profil", "my_profile": "Moj profil",
"my_settings": "Moja podešavanja", "my_settings": "Moja podešavanja",
"crm": "CRM", "crm": "CRM",
@@ -1925,7 +1966,7 @@
"sender_id_info": "Ime ili broj koji će biti prikazani kao pošiljalac SMS-a (neke zemlje ne dozvoljavaju alfanumeričke ID-ove pošiljaoca)", "sender_id_info": "Ime ili broj koji će biti prikazani kao pošiljalac SMS-a (neke zemlje ne dozvoljavaju alfanumeričke ID-ove pošiljaoca)",
"org_admins_can_create_new_teams": "Samo administrator vaše ogranizacije može da kreira nove timove", "org_admins_can_create_new_teams": "Samo administrator vaše ogranizacije može da kreira nove timove",
"google_new_spam_policy": "Google-ova nova politika neželjene pošte može da spreči da primate bilo koje imejlove ili obaveštenja kalendara u vezi sa ovom rezervacijom.", "google_new_spam_policy": "Google-ova nova politika neželjene pošte može da spreči da primate bilo koje imejlove ili obaveštenja kalendara u vezi sa ovom rezervacijom.",
"resolve": "Reši", "resolve": "Kako rešiti taj problem",
"no_organization_slug": "Desila se greška kod kreiranja timova za ovu organizaciju. Nedostaje URL slug.", "no_organization_slug": "Desila se greška kod kreiranja timova za ovu organizaciju. Nedostaje URL slug.",
"org_name": "Naziv organizacije", "org_name": "Naziv organizacije",
"org_url": "URL organizacije", "org_url": "URL organizacije",
@@ -1933,11 +1974,84 @@
"404_the_org": "Organizacija", "404_the_org": "Organizacija",
"404_the_team": "Tim", "404_the_team": "Tim",
"404_claim_entity_org": "Zatražite poddomen za svoju organizaciju", "404_claim_entity_org": "Zatražite poddomen za svoju organizaciju",
"404_claim_entity_team": "Zahtevajte ovaj tim i počnite da uređujete kolektivni raspored", "404_claim_entity_team": "Postanite deo ovog tima i počnite da uređujete kolektivni raspored",
"insights_all_org_filter": "Sve aplikacije", "insights_all_org_filter": "Sve aplikacije",
"insights_team_filter": "Tim: {{teamName}}", "insights_team_filter": "Tim: {{teamName}}",
"insights_user_filter": "Korisnik: {{userName}}", "insights_user_filter": "Korisnik: {{userName}}",
"insights_subtitle": "Pogledajte insights rezervacije za vaše događaje", "insights_subtitle": "Pogledajte insights rezervacije za vaše događaje",
"location_options": "{{locationCount}} opcije lokacije",
"custom_plan": "Prilagođeni plan", "custom_plan": "Prilagođeni plan",
"email_embed": "Ugradi u imejl",
"add_times_to_your_email": "Izaberite nekoliko dostupnih termina i ugradite ih u svoj imejl",
"select_time": "Izaberite vreme",
"select_date": "Izaberite datum",
"see_all_available_times": "Pogledajte sva dostupna vremena",
"org_team_names_example": "npr. Marketing tim",
"org_team_names_example_1": "npr. Marketing tim",
"org_team_names_example_2": "npr. Prodajni tim",
"org_team_names_example_3": "npr. Dizajnerski tim",
"org_team_names_example_4": "npr. Inženjerski tim",
"org_team_names_example_5": "npr. Tim analize podataka",
"org_max_team_warnings": "Kasnije ćete moći da dodate još timova.",
"what_is_this_meeting_about": "O čemu je sastanak?",
"add_to_team": "Dodajte timu",
"remove_users_from_org": "Uklonite korisnike iz organizacije",
"remove_users_from_org_confirm": "Da li ste sigurni da želite da uklonite {{userCount}} korisnika iz organizacije?",
"user_has_no_schedules": "Ovaj korisnik još uvek nije podesio nijedan raspored",
"user_isnt_in_any_teams": "Ovaj korisnik nije ni u jednom timu",
"requires_booker_email_verification": "Zahteva imejl verifikaciju rezervacije",
"description_requires_booker_email_verification": "Da biste obezbedili verifikaciju imejla osobe koja rezerviše pre zakazivanja događaja",
"requires_confirmation_mandatory": "Poruke mogu da se šalju samo učesnicima kada tip događaja zahteva potvrdu.",
"kyc_verification_information": "Da bi osigurali bezbednost, morate da verifikujete svoj {{teamOrAccount}} pre slanja poruka učesnicima. Obratite nam se putem <a>{{supportEmail}}</a> i dostavite sledeće podatke:",
"kyc_verification_documents": "<ul><li>Vaš {{teamOrUser}}</li><li> za firme: Priložite dokumentaciju za poslovnu verifikaciju</li><li>Za pojedince: Priložite zvaničnu ličnu ispravu</li></ul>",
"verify_team_or_account": "Verifikuj {{teamOrAccount}}",
"verify_account": "Verifikuj nalog",
"kyc_verification": "KYC verifikacija",
"organizations": "Organizacije",
"org_admin_other_teams": "Drugi timovi",
"org_admin_other_teams_description": "Ovde možete da vidite timove u vašoj organizaciji gde niste član. Možete da se dodate ako je potrebno.",
"no_other_teams_found": "Nisu pronađeni drugi timovi",
"no_other_teams_found_description": "U ovoj organizaciji nema drugih timova.",
"attendee_first_name_variable": "Ime učesnika",
"attendee_last_name_variable": "Prezime učesnika",
"attendee_first_name_info": "Ime osobe koja rezerviše",
"attendee_last_name_info": "Prezime osobe koja rezerviše",
"me": "Ja",
"verify_team_tooltip": "Verifikujte svoj tim da biste omogućili slanje poruka učesnicima",
"member_removed": "Član je uklonjen",
"my_availability": "Moja dostupnost",
"team_availability": "Dostupnost tima",
"backup_code": "Rezervna kopija kôda",
"backup_codes": "Kodovi za rezervnu kopiju",
"backup_code_instructions": "Svaki kôd za rezervnu kopiju može biti korišćen samo jednom da bi se obezbedio pristup bez vašeg autentifikatora.",
"backup_codes_copied": "Kopirani su kodovi za rezervnu kopiju!",
"incorrect_backup_code": "Kôd za rezervnu kopiju je netačan.",
"lost_access": "Izgubljen pristup",
"missing_backup_codes": "Nisu pronađeni kodovi za rezervnu kopiju. Generišite ih u svojim podešavanjima.",
"admin_org_notification_email_subject": "Kreirana je nova organizacija: čeka se radnja",
"hi_admin": "Zdravo administratore,",
"admin_org_notification_email_title": "Organizacija zahteva DNS podešavanja",
"admin_org_notification_email_body_part1": "Organizacija sa slug-om „{{orgSlug}}” je kreirana. <br /><br />Uverite se da je konfigurisan DNS registar koji vodi ka poddomenu koji odgovara novoj organizaciji kada je pokrenuta glavna aplikacija. U suprotnom organizacija neće raditi.<br /><br /> Ovo su osnovne mogućnosti za konfigurisanje poddomena koji vodi ka njihovoj aplikaciji da bi se učitala profilna strana organizacije.<br /><br />To možete takođe da uradite sa A zapisom:",
"admin_org_notification_email_body_part2": "Ili sa CNAME zapisom:",
"admin_org_notification_email_body_part3": "Kada konfigurišete poddomen, označite DNS konfiguraciju kao završenu u Podešavanjima administratora organizacije.",
"admin_org_notification_email_cta": "Idite na Podešavanja administratora organizacije",
"org_has_been_processed": "Org je obrađena",
"org_error_processing": "Desila se greška u obradi ove organizacije",
"orgs_page_description": "Spisak svih organzacija. Prihvatanjem organizacije omogućiće svim korisnicima sa tim imejl domenom da se prijave BEZ verifikacije imejlom.",
"unverified": "Neverifikovano",
"dns_missing": "Nedostaje DNS",
"mark_dns_configured": "Označite da je DNS konfigurisan",
"value": "Vrednost",
"your_organization_updated_sucessfully": "Vaša ogranizacija je uspešno ažurirana",
"team_no_event_types": "Ovaj tim nema tipove događaja",
"seat_options_doesnt_multiple_durations": "Opcije za mesta ne podržavaju višestruko trajanje",
"include_calendar_event": "Uključite događaj u kalendaru",
"recently_added": "Nedavno dodato",
"no_members_found": "Članovi nisu pronađeni",
"event_setup_length_error": "Podešavanje događaja: Trajanje mora da bude barem 1 minut.",
"availability_schedules": "Raspored dostupnosti",
"view_only_edit_availability_not_onboarded": "Ovaj korisnik nije završio uvodnu obuku. Nećete moći da podesite dostupnost dok ne dovrši uvodnu obuku.",
"view_only_edit_availability": "Pregledate dostupnost ovog korisnika. Možete da uredite samo svoju dostupnost.",
"edit_users_availability": "Uredi dostupnost korisnika: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Dodajte svoje nove stringove iznad ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Dodajte svoje nove stringove iznad ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "Verifiera din e-postadress för att garantera bästa e-post- och kalenderleverans", "verify_email_banner_body": "Verifiera din e-postadress för att garantera bästa e-post- och kalenderleverans",
"verify_email_email_header": "Verifiera din e-postadress", "verify_email_email_header": "Verifiera din e-postadress",
"verify_email_email_button": "Verifiera e-post", "verify_email_email_button": "Verifiera e-post",
"copy_somewhere_safe": "Spara denna API-nyckel någonstans säkert. Du kommer inte att kunna visa den igen.",
"verify_email_email_body": "Verifiera din e-postadress genom att klicka på knappen nedan.", "verify_email_email_body": "Verifiera din e-postadress genom att klicka på knappen nedan.",
"verify_email_by_code_email_body": "Verifiera din e-postadress genom att använda nedanstående kod.",
"verify_email_email_link_text": "Här är länken om du inte gillar att klicka på knappar:", "verify_email_email_link_text": "Här är länken om du inte gillar att klicka på knappar:",
"email_verification_code": "Ange verifieringskod",
"email_verification_code_placeholder": "Ange verifieringskoden som skickats till din e-post",
"incorrect_email_verification_code": "Vertifieringskoden är felaktig.",
"email_sent": "E-postmeddelandet har skickats", "email_sent": "E-postmeddelandet har skickats",
"email_not_sent": "Ett fel uppstod när e-post skulle skickas",
"event_declined_subject": "Avvisades: {{title}} kl. {{date}}", "event_declined_subject": "Avvisades: {{title}} kl. {{date}}",
"event_cancelled_subject": "Avbokad: {{title}} {{date}}", "event_cancelled_subject": "Avbokad: {{title}} {{date}}",
"event_request_declined": "Din bokningsförfrågan har avbjöts", "event_request_declined": "Din bokningsförfrågan har avbjöts",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "En återkommande händelse väntar på ditt godkännande", "event_awaiting_approval_recurring": "En återkommande händelse väntar på ditt godkännande",
"someone_requested_an_event": "Någon har begärt att schemalägga en händelse i din kalender.", "someone_requested_an_event": "Någon har begärt att schemalägga en händelse i din kalender.",
"someone_requested_password_reset": "Någon har begärt en länk för att ändra ditt lösenord.", "someone_requested_password_reset": "Någon har begärt en länk för att ändra ditt lösenord.",
"password_reset_email_sent": "Om denna e-postadress finns i vårt system bör du få ett återställningsmeddelande.",
"password_reset_instructions": "Om du inte begärde detta kan du ignorera detta e-postmeddelande och ditt lösenord kommer inte att ändras.", "password_reset_instructions": "Om du inte begärde detta kan du ignorera detta e-postmeddelande och ditt lösenord kommer inte att ändras.",
"event_awaiting_approval_subject": "Inväntar godkännande: {{title}} den {{date}}", "event_awaiting_approval_subject": "Inväntar godkännande: {{title}} den {{date}}",
"event_still_awaiting_approval": "En bokning väntar fortfarande på ditt godkännande", "event_still_awaiting_approval": "En bokning väntar fortfarande på ditt godkännande",
@@ -217,6 +224,10 @@
"already_have_an_account": "Har du redan ett konto?", "already_have_an_account": "Har du redan ett konto?",
"create_account": "Skapa konto", "create_account": "Skapa konto",
"confirm_password": "Bekräfta lösenord", "confirm_password": "Bekräfta lösenord",
"confirm_auth_change": "Detta kommer att ändra hur du loggar in",
"confirm_auth_email_change": "Att ändra e-postadressen kommer att koppla bort din nuvarande autentiseringsmetod för att logga in på Cal.com. Vi kommer att be dig verifiera din nya e-postadress. Framå kommer du att loggas ut och använda din nya e-postadress för att logga in istället för din nuvarande autentiseringsmetod efter att du ställt in ditt lösenord genom att följa instruktionerna som kommer att skickas till din e-post.",
"reset_your_password": "Konfigurera ditt nya lösenord med instruktionerna som skickas till din e-postadress.",
"email_change": "Logga in igen med din nya e-postadress och lösenord.",
"create_your_account": "Skapa ditt konto", "create_your_account": "Skapa ditt konto",
"sign_up": "Registrera dig", "sign_up": "Registrera dig",
"youve_been_logged_out": "Du har loggats ut", "youve_been_logged_out": "Du har loggats ut",
@@ -243,6 +254,10 @@
"all": "Alla", "all": "Alla",
"yours": "Ditt konto", "yours": "Ditt konto",
"available_apps": "Tillgängliga appar", "available_apps": "Tillgängliga appar",
"available_apps_lower_case": "Tillgängliga appar",
"available_apps_desc": "Du har inga appar installerade. Visa populära appar nedan och utforska mer i vår <1>App Store</1>",
"fixed_host_helper": "Lägg till alla som behöver delta i evenemanget. <1>Läs mer</1>",
"round_robin_helper": "Personer i gruppen turas om och endast en person kommer att dyka upp för evenemanget.",
"check_email_reset_password": "Kolla din e-post. Vi har skickat en länk till dig för att återställa ditt lösenord.", "check_email_reset_password": "Kolla din e-post. Vi har skickat en länk till dig för att återställa ditt lösenord.",
"finish": "Slutför", "finish": "Slutför",
"organization_general_description": "Hantera inställningar för ditt teams språk och tidszon", "organization_general_description": "Hantera inställningar för ditt teams språk och tidszon",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "Till sist så hjälper en kort beskrivning om dig själv och ett foto dig verkligen att få bokningar och andra kan veta vem de bokar med.", "nearly_there_instructions": "Till sist så hjälper en kort beskrivning om dig själv och ett foto dig verkligen att få bokningar och andra kan veta vem de bokar med.",
"set_availability_instructions": "Definiera tidsintervall när du är tillgänglig på en återkommande basis. Du kan skapa fler av dessa senare och tilldela dem till olika kalendrar.", "set_availability_instructions": "Definiera tidsintervall när du är tillgänglig på en återkommande basis. Du kan skapa fler av dessa senare och tilldela dem till olika kalendrar.",
"set_availability": "Ställ in din tillgänglighet", "set_availability": "Ställ in din tillgänglighet",
"availability_settings": "Tillgänglighetsinställningar",
"continue_without_calendar": "Fortsätt utan kalender", "continue_without_calendar": "Fortsätt utan kalender",
"connect_your_calendar": "Anslut din kalender", "connect_your_calendar": "Anslut din kalender",
"connect_your_video_app": "Anslut dina videoappar", "connect_your_video_app": "Anslut dina videoappar",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "Gruppbokningslänkar som kan skapas dynamiskt genom att lägga till flera användarnamn med ett '+'. Exempel: '{{appName}}/bailey+peer'", "allow_dynamic_booking_tooltip": "Gruppbokningslänkar som kan skapas dynamiskt genom att lägga till flera användarnamn med ett '+'. Exempel: '{{appName}}/bailey+peer'",
"allow_dynamic_booking": "Tillåt deltagare att boka dig via dynamiska gruppbokningar", "allow_dynamic_booking": "Tillåt deltagare att boka dig via dynamiska gruppbokningar",
"dynamic_booking": "Dynamiska grupplänkar", "dynamic_booking": "Dynamiska grupplänkar",
"allow_seo_indexing": "Tillåt sökmotorer att komma åt ditt publika innehåll",
"seo_indexing": "Tillåt SEO-indexering",
"email": "E-post", "email": "E-post",
"email_placeholder": "jdoe@exempel.se", "email_placeholder": "jdoe@exempel.se",
"full_name": "Fullständigt namn", "full_name": "Fullständigt namn",
@@ -406,6 +424,7 @@
"booking_requested": "Bokning begärd", "booking_requested": "Bokning begärd",
"meeting_ended": "Mötet avslutat", "meeting_ended": "Mötet avslutat",
"form_submitted": "Formulär skickat", "form_submitted": "Formulär skickat",
"booking_paid": "Bokning betald",
"event_triggers": "Händelseutlösare", "event_triggers": "Händelseutlösare",
"subscriber_url": "Prenumerantens URL", "subscriber_url": "Prenumerantens URL",
"create_new_webhook": "Skapa en ny webhook", "create_new_webhook": "Skapa en ny webhook",
@@ -506,6 +525,7 @@
"your_name": "Ditt namn", "your_name": "Ditt namn",
"your_full_name": "Ditt fullständiga namn", "your_full_name": "Ditt fullständiga namn",
"no_name": "Inget namn", "no_name": "Inget namn",
"enter_number_between_range": "Ange ett tal mellan 1 och {{maxOccurences}}",
"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",
@@ -543,6 +563,7 @@
"leave": "Lämna", "leave": "Lämna",
"profile": "Profil", "profile": "Profil",
"my_team_url": "Min team-URL", "my_team_url": "Min team-URL",
"my_teams": "Mina team",
"team_name": "Teamnamn", "team_name": "Teamnamn",
"your_team_name": "Ditt team-namn", "your_team_name": "Ditt team-namn",
"team_updated_successfully": "Teamet har uppdaterats", "team_updated_successfully": "Teamet har uppdaterats",
@@ -570,6 +591,8 @@
"invite_new_member": "Bjud in en ny teammedlem", "invite_new_member": "Bjud in en ny teammedlem",
"invite_new_member_description": "Obs! Detta kommer att <1>kosta en extra plats (150 kr/mån)</1> i din prenumeration.", "invite_new_member_description": "Obs! Detta kommer att <1>kosta en extra plats (150 kr/mån)</1> i din prenumeration.",
"invite_new_team_member": "Bjud in någon till ditt team.", "invite_new_team_member": "Bjud in någon till ditt team.",
"upload_csv_file": "Ladda upp en .csv-fil",
"invite_via_email": "Bjud in via e-post",
"change_member_role": "Ändra teammedlemmens roll", "change_member_role": "Ändra teammedlemmens roll",
"disable_cal_branding": "Inaktivera {{appName}}-varumärke", "disable_cal_branding": "Inaktivera {{appName}}-varumärke",
"disable_cal_branding_description": "Dölj all {{appName}} reklam från dina offentliga sidor.", "disable_cal_branding_description": "Dölj all {{appName}} reklam från dina offentliga sidor.",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "Användaren måste acceptera inbjudan för att visa tillgängligheten", "team_view_user_availability_disabled": "Användaren måste acceptera inbjudan för att visa tillgängligheten",
"set_as_away": "Ställ in dig själv som inte tillgänglig", "set_as_away": "Ställ in dig själv som inte tillgänglig",
"set_as_free": "Ställ av din status som inte tillgänglig", "set_as_free": "Ställ av din status som inte tillgänglig",
"toggle_away_error": "Fel vid uppdatering av frånvarostatus",
"user_away": "Den här användaren är för inte tillgänglig.", "user_away": "Den här användaren är för inte tillgänglig.",
"user_away_description": "Personen du försöker boka har satt sig som inte tillgänglig och accepterar därför inte nya bokningar.", "user_away_description": "Personen du försöker boka har satt sig som inte tillgänglig och accepterar därför inte nya bokningar.",
"meet_people_with_the_same_tokens": "Träffa personer med samma tokens", "meet_people_with_the_same_tokens": "Träffa personer med samma tokens",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "Besök dina {{provider}} -kontoinställningar för att ändra din e-post, lösenord, aktivera tvåfaktorsautentisering mm.", "account_managed_by_identity_provider_description": "Besök dina {{provider}} -kontoinställningar för att ändra din e-post, lösenord, aktivera tvåfaktorsautentisering mm.",
"signin_with_google": "Logga in med Google", "signin_with_google": "Logga in med Google",
"signin_with_saml": "Logga in med SAML", "signin_with_saml": "Logga in med SAML",
"signin_with_saml_oidc": "Logga in med SAML/OIDC",
"you_will_need_to_generate": "Du måste generera en åtkomsttoken från ditt gamla schemaläggningsverktyg.", "you_will_need_to_generate": "Du måste generera en åtkomsttoken från ditt gamla schemaläggningsverktyg.",
"import": "Importera", "import": "Importera",
"import_from": "Importera från", "import_from": "Importera från",
@@ -950,6 +975,8 @@
"offer_seats_description": "Erbjud platser till bokningar. Detta inaktiverar gäster och bokningar.", "offer_seats_description": "Erbjud platser till bokningar. Detta inaktiverar gäster och bokningar.",
"seats_available_one": "Tillgänglig plats", "seats_available_one": "Tillgänglig plats",
"seats_available_other": "Tillgängliga platser", "seats_available_other": "Tillgängliga platser",
"seats_nearly_full": "Sittplatser nästan fulla",
"seats_half_full": "Sittplatser fylls snabbt",
"number_of_seats": "Antal platser per bokning", "number_of_seats": "Antal platser per bokning",
"enter_number_of_seats": "Ange antal platser", "enter_number_of_seats": "Ange antal platser",
"you_can_manage_your_schedules": "Du kan hantera dina scheman på sidan Tillgänglighet.", "you_can_manage_your_schedules": "Du kan hantera dina scheman på sidan Tillgänglighet.",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "Hur vill du lägga till {{appName}} till din webbplats?", "how_you_want_add_cal_site": "Hur vill du lägga till {{appName}} till din webbplats?",
"choose_ways_put_cal_site": "Välj ett av följande sätt att lägga {{appName}} på din webbplats.", "choose_ways_put_cal_site": "Välj ett av följande sätt att lägga {{appName}} på din webbplats.",
"setting_up_zapier": "Ställa in din Zapier-integration", "setting_up_zapier": "Ställa in din Zapier-integration",
"setting_up_make": "Konfigurera din Make-integration",
"generate_api_key": "Generera API-nyckel", "generate_api_key": "Generera API-nyckel",
"generate_api_key_description": "Skapa en API-nyckel att använda med {{appName}} på", "generate_api_key_description": "Skapa en API-nyckel att använda med {{appName}} på",
"your_unique_api_key": "Din unika API-nyckel", "your_unique_api_key": "Din unika API-nyckel",
"copy_safe_api_key": "Kopiera denna API-nyckel och spara den någonstans säkert. Om du förlorar denna nyckel måste du skapa en ny.", "copy_safe_api_key": "Kopiera denna API-nyckel och spara den någonstans säkert. Om du förlorar denna nyckel måste du skapa en ny.",
"zapier_setup_instructions": "<0>Logga in på ditt Zapier-konto och skapa en ny Zap.</0><1>Välj {{appName}} som din Trigger-app. Välj också en Trigger-händelse. /1><2>Välj ditt konto och ange sedan din unika API-nyckel.</2><3>Testa din Trigger.</3><4>Du är klar!</4>", "zapier_setup_instructions": "<0>Logga in på ditt Zapier-konto och skapa en ny Zap.</0><1>Välj {{appName}} som din Trigger-app. Välj också en Trigger-händelse. /1><2>Välj ditt konto och ange sedan din unika API-nyckel.</2><3>Testa din Trigger.</3><4>Du är klar!</4>",
"make_setup_instructions": "<0>Gå till <1><0>Skapa inbjudningslänk</0></1> och installera Cal.com-appen.</0><1>Logga in på ditt Make-konto och skapa ett nytt Scenario.</1><2>Välj Cal.com som din Trigger-app. Välj också en triggerhändelse.</2><3>Välj ditt konto och ange sedan din unika API-nyckel.</3><4>Testa din trigger.</4><5>Du är redo!</5>",
"install_zapier_app": "Installera först Zapier-appen i appbutiken.", "install_zapier_app": "Installera först Zapier-appen i appbutiken.",
"install_make_app": "Installera först Make-appen i appbutiken.",
"connect_apple_server": "Anslut till Apple Server", "connect_apple_server": "Anslut till Apple Server",
"calendar_url": "Kalender-URL", "calendar_url": "Kalender-URL",
"apple_server_generate_password": "Skapa ett appspecifikt lösenord som du kan använda med {{appName}} på", "apple_server_generate_password": "Skapa ett appspecifikt lösenord som du kan använda med {{appName}} på",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "skicka e-post till deltagare", "email_attendee_action": "skicka e-post till deltagare",
"sms_attendee_action": "Skicka SMS till deltagare", "sms_attendee_action": "Skicka SMS till deltagare",
"sms_number_action": "skicka SMS till ett specifikt nummer", "sms_number_action": "skicka SMS till ett specifikt nummer",
"send_reminder_sms": "Skicka enkelt mötespåminnelser via SMS till dina deltagare",
"whatsapp_number_action": "skicka Whatsapp till ett specifikt nummer", "whatsapp_number_action": "skicka Whatsapp till ett specifikt nummer",
"whatsapp_attendee_action": "skicka Whatsapp till deltagare", "whatsapp_attendee_action": "skicka Whatsapp till deltagare",
"workflows": "Arbetsflöden", "workflows": "Arbetsflöden",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "Fel vid uppdatering av inställningar", "error_updating_settings": "Fel vid uppdatering av inställningar",
"personal_cal_url": "Min personliga {{appName}}-URL", "personal_cal_url": "Min personliga {{appName}}-URL",
"bio_hint": "Några meningar om dig själv. Detta kommer att visas på din personliga webbsida.", "bio_hint": "Några meningar om dig själv. Detta kommer att visas på din personliga webbsida.",
"user_has_no_bio": "Den här användaren har inte lagt till en biografi ännu.",
"delete_account_modal_title": "Radera konto", "delete_account_modal_title": "Radera konto",
"confirm_delete_account_modal": "Är du säker på att du vill radera ditt {{appName}}-konto?", "confirm_delete_account_modal": "Är du säker på att du vill radera ditt {{appName}}-konto?",
"delete_my_account": "Radera mitt konto", "delete_my_account": "Radera mitt konto",
@@ -1426,6 +1458,7 @@
"add_limit": "Lägg till gräns", "add_limit": "Lägg till gräns",
"team_name_required": "Teamnamn krävs", "team_name_required": "Teamnamn krävs",
"show_attendees": "Dela deltagarinformation mellan gäster", "show_attendees": "Dela deltagarinformation mellan gäster",
"show_available_seats_count": "Visa antalet lediga platser",
"how_booking_questions_as_variables": "Hur används bokningsfrågor som variabler?", "how_booking_questions_as_variables": "Hur används bokningsfrågor som variabler?",
"format": "Formatera", "format": "Formatera",
"uppercase_for_letters": "Använd versaler för alla bokstäver", "uppercase_for_letters": "Använd versaler för alla bokstäver",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Vill du verkligen ta bort {{connectionType}}-konfigurationen? Dina teammedlemmar som använder {{connectionType}}-inloggning kan inte längre komma åt Cal.com.", "delete_sso_configuration_confirmation_description": "Vill du verkligen ta bort {{connectionType}}-konfigurationen? Dina teammedlemmar som använder {{connectionType}}-inloggning kan inte längre komma åt Cal.com.",
"organizer_timezone": "Organisatörens tidszon", "organizer_timezone": "Organisatörens tidszon",
"email_user_cta": "Visa inbjudan", "email_user_cta": "Visa inbjudan",
"email_no_user_invite_heading_team": "Du har blivit inbjuden att gå med i ett {{appName}}-team",
"email_no_user_invite_heading_org": "Du har blivit inbjuden att gå med i en {{appName}}-organisation",
"email_no_user_invite_subheading": "{{invitedBy}} har bjudit in dig att gå med i sitt team på {{appName}}. {{appName}} är en händelsejonglerande schemaläggare som du och ditt team kan använda för att planera möten utan att skicka e-post fram och tillbaka.", "email_no_user_invite_subheading": "{{invitedBy}} har bjudit in dig att gå med i sitt team på {{appName}}. {{appName}} är en händelsejonglerande schemaläggare som du och ditt team kan använda för att planera möten utan att skicka e-post fram och tillbaka.",
"email_user_invite_subheading_team": "{{invitedBy}} har bjudit in dig att gå med i sitt team {{teamName}} den {{appName}}. {{appName}} är en händelsejonglerande schemaläggare som du och ditt team kan använda för att planera möten utan att skicka e-post fram och tillbaka.", "email_user_invite_subheading_team": "{{invitedBy}} har bjudit in dig att gå med i sitt team {{teamName}} den {{appName}}. {{appName}} är en händelsejonglerande schemaläggare som du och ditt team kan använda för att planera möten utan att skicka e-post fram och tillbaka.",
"email_user_invite_subheading_org": "{{invitedBy}} har bjudit in dig att gå med i deras organisation \"{{teamName}}\" på {{appName}}. {{appName}} är schemaläggaren som gör det möjligt för dig och din organisation att schemalägga möten utan e-posttennis.",
"email_no_user_invite_steps_intro": "Vi guidar dig genom några korta steg och du kommer att kunna schemalägga med din/ditt {{entity}} på nolltid utan stress.", "email_no_user_invite_steps_intro": "Vi guidar dig genom några korta steg och du kommer att kunna schemalägga med din/ditt {{entity}} på nolltid utan stress.",
"email_no_user_step_one": "Välj ditt användarnamn", "email_no_user_step_one": "Välj ditt användarnamn",
"email_no_user_step_two": "Anslut ditt kalenderkonto", "email_no_user_step_two": "Anslut ditt kalenderkonto",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "Inga data hittades för valt filter eller valda datum.", "insights_no_data_found_for_filter": "Inga data hittades för valt filter eller valda datum.",
"acknowledge_booking_no_show_fee": "Jag bekräftar att en avgift på {{amount, currency}} för utebliven närvaro debiteras mitt kort om jag inte deltar i händelsen.", "acknowledge_booking_no_show_fee": "Jag bekräftar att en avgift på {{amount, currency}} för utebliven närvaro debiteras mitt kort om jag inte deltar i händelsen.",
"card_details": "Kortuppgifter", "card_details": "Kortuppgifter",
"something_went_wrong_on_our_end": "Något gick fel från vår sida. Kontakta vårt supportteam så fixar vi det åt dig direkt.",
"please_provide_following_text_to_suppport": "Ange följande text när du kontaktar supporten så att vi kan hjälpa dig bättre",
"seats_and_no_show_fee_error": "För närvarande går det inte att aktivera platser och ta ut en avgift för utebliven närvaro", "seats_and_no_show_fee_error": "För närvarande går det inte att aktivera platser och ta ut en avgift för utebliven närvaro",
"complete_your_booking": "Slutför din bokning", "complete_your_booking": "Slutför din bokning",
"complete_your_booking_subject": "Slutför din bokning: {{title}} {{date}}", "complete_your_booking_subject": "Slutför din bokning: {{title}} {{date}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "Öppna din Cal-dialogruta när någon klickar på ett element.", "open_dialog_with_element_click": "Öppna din Cal-dialogruta när någon klickar på ett element.",
"need_help_embedding": "Behöver du hjälp? Se våra guider för inbäddning av Cal på Wix, Squarespace eller WordPress, kolla in våra vanliga frågor eller utforska avancerade inbäddningsalternativ.", "need_help_embedding": "Behöver du hjälp? Se våra guider för inbäddning av Cal på Wix, Squarespace eller WordPress, kolla in våra vanliga frågor eller utforska avancerade inbäddningsalternativ.",
"book_my_cal": "Boka i min Cal", "book_my_cal": "Boka i min Cal",
"first_name": "Förnamn",
"last_name": "Efternamn",
"first_last_name": "Förnamn, Efternamn",
"invite_as": "Bjud in som", "invite_as": "Bjud in som",
"form_updated_successfully": "Formuläret har uppdaterats.", "form_updated_successfully": "Formuläret har uppdaterats.",
"disable_attendees_confirmation_emails": "Inaktivera förinställda e-postbekräftelser för deltagare", "disable_attendees_confirmation_emails": "Inaktivera förinställda e-postbekräftelser för deltagare",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "Skapa din första webhook för denna händelsetyp", "first_event_type_webhook_description": "Skapa din första webhook för denna händelsetyp",
"install_app_on": "Installera appen på", "install_app_on": "Installera appen på",
"create_for": "Skapa för", "create_for": "Skapa för",
"currency": "Valuta",
"organization_banner_description": "Skapa miljöer där dina team kan skapa delade appar, arbetsflöden och händelsetyper med round-robin och kollektiv schemaläggning.", "organization_banner_description": "Skapa miljöer där dina team kan skapa delade appar, arbetsflöden och händelsetyper med round-robin och kollektiv schemaläggning.",
"organization_banner_title": "Hantera organisationer med flera team", "organization_banner_title": "Hantera organisationer med flera team",
"set_up_your_organization": "Konfigurera din organisation", "set_up_your_organization": "Konfigurera din organisation",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "Team: {{teamName}}", "insights_team_filter": "Team: {{teamName}}",
"insights_user_filter": "Användare: {{userName}}", "insights_user_filter": "Användare: {{userName}}",
"insights_subtitle": "Visa Insights-bokningar för dina händelser", "insights_subtitle": "Visa Insights-bokningar för dina händelser",
"location_options": "{{locationCount}} platsalternativ",
"custom_plan": "Anpassad plan", "custom_plan": "Anpassad plan",
"email_embed": "E-post inbäddad",
"add_times_to_your_email": "Välj några tillgängliga tider och bädda in dem i din e-post",
"select_time": "Välj tid",
"select_date": "Välj datum",
"see_all_available_times": "Se alla tillgängliga tider",
"org_team_names_example": "t.ex. marknadsföringsteam",
"org_team_names_example_1": "t.ex. marknadsföringsteam",
"org_team_names_example_2": "t.ex. säljteam",
"org_team_names_example_3": "t.ex. designteam",
"org_team_names_example_4": "t.ex. ingenjörsteam",
"org_team_names_example_5": "t.ex. dataanalytikerteam",
"org_max_team_warnings": "Du kommer att kunna lägga till fler team senare.",
"what_is_this_meeting_about": "Vad handlar det här mötet om?",
"add_to_team": "Lägg till i teamet",
"remove_users_from_org": "Ta bort användare från organisationen",
"remove_users_from_org_confirm": "Är du säker på att du vill ta bort {{userCount}} användare från denna organisation?",
"user_has_no_schedules": "Den här användaren har inte skapat några scheman ännu",
"user_isnt_in_any_teams": "Den här användaren är inte med i något team",
"requires_booker_email_verification": "Kräver e-postverifiering för bokare",
"description_requires_booker_email_verification": "För att säkerställa bokarens e-postverifiering före schemaläggning av evenemang",
"requires_confirmation_mandatory": "Textmeddelanden kan endast skickas till deltagare när evenemangstypen kräver bekräftelse.",
"kyc_verification_information": "För att garantera säkerheten måste du verifiera ditt {{teamOrAccount}} innan du skickar textmeddelanden till deltagare. Kontakta oss på <a>{{supportEmail}}</a> och ange följande information:",
"kyc_verification_documents": "<ul><li>Din {{teamOrUser}}</li><li>För företag: Bifoga din dokumentation för verifiering av företag</li><li>För privatpersoner: Bifoga ett statligt utfärdat ID-kort</li></ul>",
"verify_team_or_account": "Verifiera {{teamOrAccount}}",
"verify_account": "Verifiera konto",
"kyc_verification": "KYC-verifiering",
"organizations": "Organisationer",
"org_admin_other_teams": "Andra team",
"org_admin_other_teams_description": "Här kan du se team i din organisation som du inte är en del av. Du kan lägga till dem om det behövs.",
"no_other_teams_found": "Inga andra team hittades",
"no_other_teams_found_description": "Det finns inga andra team i denna organisation.",
"attendee_first_name_variable": "Deltagarens förnamn",
"attendee_last_name_variable": "Deltagarens efternamn",
"attendee_first_name_info": "Förnamnet på personen som bokat",
"attendee_last_name_info": "Efternamnet på personen som bokat",
"me": "Jag",
"verify_team_tooltip": "Verifiera ditt team för att aktivera att skicka meddelanden till deltagare",
"member_removed": "Medlem borttagen",
"my_availability": "Min tillgänglighet",
"team_availability": "Teamets tillgänglighet",
"backup_code": "Säkerhetskopiera kod",
"backup_codes": "Säkerhetskopiera koder",
"backup_code_instructions": "Varje säkerhetskopierad kod kan användas exakt en gång för att ge åtkomst utan din autentiserare.",
"backup_codes_copied": "Säkerhetskopierade koder kopierade!",
"incorrect_backup_code": "Den säkerhetskopierade koden är felaktig.",
"lost_access": "Förlorad åtkomst",
"missing_backup_codes": "Inga säkerhetskopieringskoder hittades. Generera dem i dina inställningar.",
"admin_org_notification_email_subject": "Ny organisation skapad: väntande åtgärd",
"hi_admin": "Hej administratör",
"admin_org_notification_email_title": "En organisation kräver DNS-inställning",
"admin_org_notification_email_body_part1": "En organisation med slug \"{{orgSlug}}\" skapades.<br /><br />Se till att konfigurera ditt DNS-register så att underdomänen motsvarar den nya organisationen där huvudappen körs. Annars kommer organisationen inte att fungera.<br /><br />Här är bara de allra grundläggande alternativen för att konfigurera en underdomän för att peka på deras app så den laddar organisationens profilsida.<br /><br />Du kan göra det antingen med A-posten:",
"admin_org_notification_email_body_part2": "Eller CNAME-posten:",
"admin_org_notification_email_body_part3": "När du har konfigurerat underdomänen, markera DNS-konfigurationen som gjort i organisationens admin-inställningar.",
"admin_org_notification_email_cta": "Gå till organisationens admin-inställningar",
"org_has_been_processed": "Org har behandlats",
"org_error_processing": "Det har uppstått ett fel vid behandlingen av denna organisation",
"orgs_page_description": "En lista över alla organisationer. Genom att acceptera en organisation kan alla användare med den e-postdomänen registrera sig UTAN e-postverifiering.",
"unverified": "Overifierad",
"dns_missing": "DNS saknas",
"mark_dns_configured": "Markera som DNS konfigurerad",
"value": "Värde",
"your_organization_updated_sucessfully": "Din organisation har uppdaterats",
"team_no_event_types": "Detta team har inga händelsetyper",
"seat_options_doesnt_multiple_durations": "Platsalternativet stöder inte flera varaktigheter",
"include_calendar_event": "Inkludera kalenderhändelse",
"recently_added": "Nyligen tillagda",
"no_members_found": "Inga medlemmar hittades",
"event_setup_length_error": "Konfigurering av evenemang: Längden måste vara minst 1 minut.",
"availability_schedules": "Scheman för tillgänglighet",
"view_only_edit_availability_not_onboarded": "Den här användaren har inte slutfört introduktionen. Du kommer inte att kunna ange deras tillgänglighet förrän de har slutfört introduktionen.",
"view_only_edit_availability": "Du tittar på användarens tillgänglighet. Du kan bara redigera din egen tillgänglighet.",
"edit_users_availability": "Redigera användarens tillgänglighet: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -950,6 +950,8 @@
"offer_seats_description": "Rezervasyonlar için yer teklif edin. Bu işlem, misafirleri ve rezervasyon onaylarını devre dışı bırakır.", "offer_seats_description": "Rezervasyonlar için yer teklif edin. Bu işlem, misafirleri ve rezervasyon onaylarını devre dışı bırakır.",
"seats_available_one": "Yer mevcut", "seats_available_one": "Yer mevcut",
"seats_available_other": "Yer mevcut", "seats_available_other": "Yer mevcut",
"seats_nearly_full": "Koltuklar neredeyse dolu",
"seats_half_full": "Koltuklar hızla doluyor",
"number_of_seats": "Rezervasyon başına yer sayısı", "number_of_seats": "Rezervasyon başına yer sayısı",
"enter_number_of_seats": "Yer sayısını girin", "enter_number_of_seats": "Yer sayısını girin",
"you_can_manage_your_schedules": "Müsaitlik durumu sayfasından planlarınızı yönetebilirsiniz.", "you_can_manage_your_schedules": "Müsaitlik durumu sayfasından planlarınızı yönetebilirsiniz.",
@@ -1030,6 +1032,7 @@
"how_you_want_add_cal_site": "{{appName}}'ı sitenize nasıl eklemek istersiniz?", "how_you_want_add_cal_site": "{{appName}}'ı sitenize nasıl eklemek istersiniz?",
"choose_ways_put_cal_site": "{{appName}}'ı sitenize eklemek için aşağıdaki seçeneklerden birini belirleyin.", "choose_ways_put_cal_site": "{{appName}}'ı sitenize eklemek için aşağıdaki seçeneklerden birini belirleyin.",
"setting_up_zapier": "Zapier entegrasyonunuzu ayarlama", "setting_up_zapier": "Zapier entegrasyonunuzu ayarlama",
"setting_up_make": "Make entegrasyonunuzu ayarlayın",
"generate_api_key": "API anahtarı oluştur", "generate_api_key": "API anahtarı oluştur",
"generate_api_key_description": "{{appName}} ile kullanmak için bir API anahtarı oluşturun:", "generate_api_key_description": "{{appName}} ile kullanmak için bir API anahtarı oluşturun:",
"your_unique_api_key": "Benzersiz API anahtarınız", "your_unique_api_key": "Benzersiz API anahtarınız",
@@ -1085,6 +1088,7 @@
"email_attendee_action": "katılımcılara e-posta gönder", "email_attendee_action": "katılımcılara e-posta gönder",
"sms_attendee_action": "Katılımcıya SMS gönder", "sms_attendee_action": "Katılımcıya SMS gönder",
"sms_number_action": "belirli bir numaraya SMS gönder", "sms_number_action": "belirli bir numaraya SMS gönder",
"send_reminder_sms": "Katılımcılarınıza toplantı hatırlatmalarını SMS ile kolayca gönderin",
"whatsapp_number_action": "belirli bir numaraya Whatsapp mesajı gönder", "whatsapp_number_action": "belirli bir numaraya Whatsapp mesajı gönder",
"whatsapp_attendee_action": "katılımcıya Whatsapp mesajı gönder", "whatsapp_attendee_action": "katılımcıya Whatsapp mesajı gönder",
"workflows": "İş akışları", "workflows": "İş akışları",
@@ -1659,6 +1663,7 @@
"delete_sso_configuration_confirmation_description": "{{connectionType}} yapılandırmasını silmek istediğinizden emin misiniz? {{connectionType}} girişini kullanan ekip üyeleriniz artık Cal.com'a erişemeyecek.", "delete_sso_configuration_confirmation_description": "{{connectionType}} yapılandırmasını silmek istediğinizden emin misiniz? {{connectionType}} girişini kullanan ekip üyeleriniz artık Cal.com'a erişemeyecek.",
"organizer_timezone": "Organizatörün saat dilimi", "organizer_timezone": "Organizatörün saat dilimi",
"email_user_cta": "Daveti görüntüle", "email_user_cta": "Daveti görüntüle",
"email_no_user_invite_heading_org": "{{appName}} grubuna katılmaya davet edildiniz",
"email_no_user_invite_subheading": "{{invitedBy}}, sizi {{appName}} ekibine katılmaya davet etti. {{appName}}, size ve ekibinize e-posta iletişimine ihtiyaç duymadan toplantı planlama yapma olanağı sağlayan bir etkinlik planlayıcıdır.", "email_no_user_invite_subheading": "{{invitedBy}}, sizi {{appName}} ekibine katılmaya davet etti. {{appName}}, size ve ekibinize e-posta iletişimine ihtiyaç duymadan toplantı planlama yapma olanağı sağlayan bir etkinlik planlayıcıdır.",
"email_user_invite_subheading_team": "{{invitedBy}}, sizi {{appName}} uygulamasındaki `{{teamName}}` ekibine katılmaya davet etti. {{appName}}, size ve ekibinize e-posta iletişimine ihtiyaç duymadan toplantı planlama yapma olanağı sağlayan bir etkinlik planlayıcıdır.", "email_user_invite_subheading_team": "{{invitedBy}}, sizi {{appName}} uygulamasındaki `{{teamName}}` ekibine katılmaya davet etti. {{appName}}, size ve ekibinize e-posta iletişimine ihtiyaç duymadan toplantı planlama yapma olanağı sağlayan bir etkinlik planlayıcıdır.",
"email_no_user_invite_steps_intro": "{{entity}} ekibinizle birlikte kısa sürede ve sorunsuz planlama yapmanın keyfini çıkarmanız için birkaç adımda size rehberlik edeceğiz.", "email_no_user_invite_steps_intro": "{{entity}} ekibinizle birlikte kısa sürede ve sorunsuz planlama yapmanın keyfini çıkarmanız için birkaç adımda size rehberlik edeceğiz.",
@@ -1938,5 +1943,8 @@
"insights_user_filter": "Kullanıcı: {{userName}}", "insights_user_filter": "Kullanıcı: {{userName}}",
"insights_subtitle": "Etkinliklerinizdeki rezervasyon insights'ı görüntüleyin", "insights_subtitle": "Etkinliklerinizdeki rezervasyon insights'ı görüntüleyin",
"custom_plan": "Özel Plan", "custom_plan": "Özel Plan",
"email_embed": "E-posta Yerleştirme",
"add_times_to_your_email": "Uygun zamanlardan bazılarını seçin ve bunları E-postanıza ekleyin",
"kyc_verification_information": "Güvenliği sağlamak için katılımcılara kısa mesaj göndermeden önce {{teamOrAccount}} hesabınızı doğrulamanız gereklidir. Lütfen <a>{{supportEmail}}</a> adresinden bizimle iletişime geçin ve aşağıdaki bilgileri sağlayın:",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Yeni dizelerinizi yukarıya ekleyin ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Yeni dizelerinizi yukarıya ekleyin ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "Підтвердьте свою електронну адресу, щоб уникнути проблем із доставкою листів і даних календаря", "verify_email_banner_body": "Підтвердьте свою електронну адресу, щоб уникнути проблем із доставкою листів і даних календаря",
"verify_email_email_header": "Підтвердьте свою електронну адресу", "verify_email_email_header": "Підтвердьте свою електронну адресу",
"verify_email_email_button": "Підтвердити ел. адресу", "verify_email_email_button": "Підтвердити ел. адресу",
"copy_somewhere_safe": "Збережіть цей ключ API у надійному місці. Ви не зможете знову його переглянути.",
"verify_email_email_body": "Підтвердьте свою електронну адресу, натиснувши кнопку нижче.", "verify_email_email_body": "Підтвердьте свою електронну адресу, натиснувши кнопку нижче.",
"verify_email_by_code_email_body": "Підтвердьте свою електронну адресу, використавши нижчезазначений код.",
"verify_email_email_link_text": "Можете скористатися цим посиланням, якщо не любите натискати кнопки:", "verify_email_email_link_text": "Можете скористатися цим посиланням, якщо не любите натискати кнопки:",
"email_verification_code": "Ведіть код перевірки",
"email_verification_code_placeholder": "Введіть код перевірки, надісланий на вашу пошту",
"incorrect_email_verification_code": "Код перевірки неправильний.",
"email_sent": "Лист надіслано", "email_sent": "Лист надіслано",
"email_not_sent": "Під час надсилання електронного листа сталася помилка",
"event_declined_subject": "Відхилено: {{title}}, {{date}}", "event_declined_subject": "Відхилено: {{title}}, {{date}}",
"event_cancelled_subject": "Скасовано: {{title}}, {{date}}", "event_cancelled_subject": "Скасовано: {{title}}, {{date}}",
"event_request_declined": "Ваш запит на захід відхилено", "event_request_declined": "Ваш запит на захід відхилено",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "Періодичний захід чекає на ваше схвалення", "event_awaiting_approval_recurring": "Періодичний захід чекає на ваше схвалення",
"someone_requested_an_event": "Хтось хоче запланувати захід у вашому календарі.", "someone_requested_an_event": "Хтось хоче запланувати захід у вашому календарі.",
"someone_requested_password_reset": "Хтось хоче змінити ваш пароль.", "someone_requested_password_reset": "Хтось хоче змінити ваш пароль.",
"password_reset_email_sent": "Якщо ця електронна адреса є в нашій системі, ви отримаєте електронний лист для скидання.",
"password_reset_instructions": "Якщо ви не надсилали цього запиту, можете не звертати уваги на цей лист. Пароль не зміниться.", "password_reset_instructions": "Якщо ви не надсилали цього запиту, можете не звертати уваги на цей лист. Пароль не зміниться.",
"event_awaiting_approval_subject": "Очікування на схвалення: {{title}}, {{date}}", "event_awaiting_approval_subject": "Очікування на схвалення: {{title}}, {{date}}",
"event_still_awaiting_approval": "Захід досі чекає на ваше схвалення", "event_still_awaiting_approval": "Захід досі чекає на ваше схвалення",
@@ -217,6 +224,10 @@
"already_have_an_account": "Уже маєте обліковий запис?", "already_have_an_account": "Уже маєте обліковий запис?",
"create_account": "Створити обліковий запис", "create_account": "Створити обліковий запис",
"confirm_password": "Підтвердити пароль", "confirm_password": "Підтвердити пароль",
"confirm_auth_change": "Це змінить спосіб входу",
"confirm_auth_email_change": "У результаті зміни електронної адреси буде від’єднано ваш поточний метод автентифікації для входу на Cal.com. Ми попросимо вас підтвердити вашу нову електронну адресу. Після налаштування пароля відповідно до інструкцій надісланих вам поштою вам потрібно буде вийти із системи й увійти за допомогою нової електронної адреси замість вашого поточного методу автентифікації.",
"reset_your_password": "Установіть новий пароль, дотримуючись інструкцій, надісланих на вашу електронну адресу.",
"email_change": "Увійдіть у систему за допомогою нової електронної адреси й пароля.",
"create_your_account": "Створіть власний обліковий запис", "create_your_account": "Створіть власний обліковий запис",
"sign_up": "Реєстрація", "sign_up": "Реєстрація",
"youve_been_logged_out": "Ви вийшли із системи", "youve_been_logged_out": "Ви вийшли із системи",
@@ -243,6 +254,10 @@
"all": "Усі", "all": "Усі",
"yours": "Ваш обліковий запис", "yours": "Ваш обліковий запис",
"available_apps": "Доступні додатки", "available_apps": "Доступні додатки",
"available_apps_lower_case": "Доступні додатки",
"available_apps_desc": "У вас немає встановлених додатків. Перегляньте популярні додатки нижче й дізнайтеся більше в <1>App Store</1>",
"fixed_host_helper": "Додайте осіб, які повинні бути присутніми на заході. <1>Докладніше</1>",
"round_robin_helper": "Учасники групи беруть участь по черзі, і на заході буде присутньою лише одна особа.",
"check_email_reset_password": "Перевірте електронну пошту. Ми надіслали вам посилання для скидання пароля.", "check_email_reset_password": "Перевірте електронну пошту. Ми надіслали вам посилання для скидання пароля.",
"finish": "Готово", "finish": "Готово",
"organization_general_description": "Налаштуйте параметри мови й часового поясу для своєї команди", "organization_general_description": "Налаштуйте параметри мови й часового поясу для своєї команди",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "І останнє: стислі відомості про вас і ваше фото заохочуватимуть інших бронюванювати ваш час, адже вони бачитимуть, з ким домовляються.", "nearly_there_instructions": "І останнє: стислі відомості про вас і ваше фото заохочуватимуть інших бронюванювати ваш час, адже вони бачитимуть, з ким домовляються.",
"set_availability_instructions": "Визначте повторювані діапазони часу, у які ви доступні. Ви зможете додати більше таких діапазонів пізніше та призначити їх різним календарям.", "set_availability_instructions": "Визначте повторювані діапазони часу, у які ви доступні. Ви зможете додати більше таких діапазонів пізніше та призначити їх різним календарям.",
"set_availability": "Укажіть, коли ви доступні", "set_availability": "Укажіть, коли ви доступні",
"availability_settings": "Налаштування доступності",
"continue_without_calendar": "Продовжити без календаря", "continue_without_calendar": "Продовжити без календаря",
"connect_your_calendar": "Підключити календар", "connect_your_calendar": "Підключити календар",
"connect_your_video_app": "Підключіть улюблені відеозастосунки", "connect_your_video_app": "Підключіть улюблені відеозастосунки",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "Посилання для групового бронювання, які можна створювати динамічно, додаючи кілька імен користувачів за допомогою «+». Приклад: «{{appName}}/bailey+peer»", "allow_dynamic_booking_tooltip": "Посилання для групового бронювання, які можна створювати динамічно, додаючи кілька імен користувачів за допомогою «+». Приклад: «{{appName}}/bailey+peer»",
"allow_dynamic_booking": "Дозволити учасникам бронювати ваш час за допомогою динамічних групових бронювань", "allow_dynamic_booking": "Дозволити учасникам бронювати ваш час за допомогою динамічних групових бронювань",
"dynamic_booking": "Динамічні групові посилання", "dynamic_booking": "Динамічні групові посилання",
"allow_seo_indexing": "Надати пошуковим системам доступ до вашого загальнодоступного вмісту",
"seo_indexing": "Дозволити SEO індексування",
"email": "Ел. адреса", "email": "Ел. адреса",
"email_placeholder": "vpetrenko@zrazok.com", "email_placeholder": "vpetrenko@zrazok.com",
"full_name": "Ім’я і прізвище", "full_name": "Ім’я і прізвище",
@@ -406,6 +424,7 @@
"booking_requested": "Запит на бронювання надіслано", "booking_requested": "Запит на бронювання надіслано",
"meeting_ended": "Нарада завершилася", "meeting_ended": "Нарада завершилася",
"form_submitted": "Форму надіслано", "form_submitted": "Форму надіслано",
"booking_paid": "Бронювання оплачено",
"event_triggers": "Тригери заходів", "event_triggers": "Тригери заходів",
"subscriber_url": "URL-адреса підписника", "subscriber_url": "URL-адреса підписника",
"create_new_webhook": "Створити новий вебгук", "create_new_webhook": "Створити новий вебгук",
@@ -506,6 +525,7 @@
"your_name": "Ваше ім’я", "your_name": "Ваше ім’я",
"your_full_name": "Ваше повне ім’я", "your_full_name": "Ваше повне ім’я",
"no_name": "Немає імені", "no_name": "Немає імені",
"enter_number_between_range": "Введіть число від 1 до {{maxOccurences}}",
"email_address": "Електронна адреса", "email_address": "Електронна адреса",
"enter_valid_email": "Введіть дійсну адресу електронної пошти", "enter_valid_email": "Введіть дійсну адресу електронної пошти",
"location": "Розташування", "location": "Розташування",
@@ -543,6 +563,7 @@
"leave": "Вийти", "leave": "Вийти",
"profile": "Профіль", "profile": "Профіль",
"my_team_url": "URL моєї команди", "my_team_url": "URL моєї команди",
"my_teams": "Мої команди",
"team_name": "Назва команди", "team_name": "Назва команди",
"your_team_name": "Назва вашої команди", "your_team_name": "Назва вашої команди",
"team_updated_successfully": "Відомості про команду оновлено", "team_updated_successfully": "Відомості про команду оновлено",
@@ -570,6 +591,8 @@
"invite_new_member": "Запросити нового учасника команди", "invite_new_member": "Запросити нового учасника команди",
"invite_new_member_description": "Зверніть увагу: у вашій підписці потрібно буде оплатити <1>одне додаткове місце (15 дол. США)</1>.", "invite_new_member_description": "Зверніть увагу: у вашій підписці потрібно буде оплатити <1>одне додаткове місце (15 дол. США)</1>.",
"invite_new_team_member": "Запросіть когось у свою команду.", "invite_new_team_member": "Запросіть когось у свою команду.",
"upload_csv_file": "Передати CSV-файл",
"invite_via_email": "Запросити електронною поштою",
"change_member_role": "Змініть роль учасника команди", "change_member_role": "Змініть роль учасника команди",
"disable_cal_branding": "Вимкнути фірмове оформлення {{appName}}", "disable_cal_branding": "Вимкнути фірмове оформлення {{appName}}",
"disable_cal_branding_description": "Приховайте весь брендинг {{appName}} зі своїх загальнодоступних сторінок.", "disable_cal_branding_description": "Приховайте весь брендинг {{appName}} зі своїх загальнодоступних сторінок.",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "Користувач має прийняти запрошення, щоб переглядати відомості про доступність команди", "team_view_user_availability_disabled": "Користувач має прийняти запрошення, щоб переглядати відомості про доступність команди",
"set_as_away": "Установити для себе стан «Не на місці»", "set_as_away": "Установити для себе стан «Не на місці»",
"set_as_free": "Вимкнути стан «Не на місці»", "set_as_free": "Вимкнути стан «Не на місці»",
"toggle_away_error": "Помилка оновлення стану «Не на місці»",
"user_away": "Цей користувач зараз не на місці.", "user_away": "Цей користувач зараз не на місці.",
"user_away_description": "Користувач, час якого ви намагаєтеся забронювати, указав, що він зараз не на місці. Через це він не приймає нові бронювання.", "user_away_description": "Користувач, час якого ви намагаєтеся забронювати, указав, що він зараз не на місці. Через це він не приймає нові бронювання.",
"meet_people_with_the_same_tokens": "Зустрічі з користувачами, у яких такі самі токени", "meet_people_with_the_same_tokens": "Зустрічі з користувачами, у яких такі самі токени",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "Щоб змінити електронну адресу чи пароль, увімкнути двоетапну автентифікацію тощо, перейдіть до налаштувань свого облікового запису {{provider}}.", "account_managed_by_identity_provider_description": "Щоб змінити електронну адресу чи пароль, увімкнути двоетапну автентифікацію тощо, перейдіть до налаштувань свого облікового запису {{provider}}.",
"signin_with_google": "Увійдіть через Google", "signin_with_google": "Увійдіть через Google",
"signin_with_saml": "Увійдіть через SAML", "signin_with_saml": "Увійдіть через SAML",
"signin_with_saml_oidc": "Увійдіть через SAML/OIDC",
"you_will_need_to_generate": "Вам потрібно буде згенерувати токен доступу зі старого інструменту планування.", "you_will_need_to_generate": "Вам потрібно буде згенерувати токен доступу зі старого інструменту планування.",
"import": "Імпорт", "import": "Імпорт",
"import_from": "Імпортувати з", "import_from": "Імпортувати з",
@@ -950,6 +975,8 @@
"offer_seats_description": "Пропонуйте місця під час бронювання (при цьому вимикається гостьовий режим і бронювання з підтвердженням).", "offer_seats_description": "Пропонуйте місця під час бронювання (при цьому вимикається гостьовий режим і бронювання з підтвердженням).",
"seats_available_one": "Є доступне місце", "seats_available_one": "Є доступне місце",
"seats_available_other": "Доступні місця", "seats_available_other": "Доступні місця",
"seats_nearly_full": "Місць майже не залишилось",
"seats_half_full": "Місця швидко займають",
"number_of_seats": "Кількість місць на одне бронювання", "number_of_seats": "Кількість місць на одне бронювання",
"enter_number_of_seats": "Введіть кількість місць", "enter_number_of_seats": "Введіть кількість місць",
"you_can_manage_your_schedules": "Керувати розкладами можна на сторінці «Доступність».", "you_can_manage_your_schedules": "Керувати розкладами можна на сторінці «Доступність».",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "Як саме ви хочете додати {{appName}} на свій сайт?", "how_you_want_add_cal_site": "Як саме ви хочете додати {{appName}} на свій сайт?",
"choose_ways_put_cal_site": "Виберіть один із наведених нижче способів розмістити {{appName}} на сайті.", "choose_ways_put_cal_site": "Виберіть один із наведених нижче способів розмістити {{appName}} на сайті.",
"setting_up_zapier": "Налаштування інтеграції із Zapier", "setting_up_zapier": "Налаштування інтеграції із Zapier",
"setting_up_make": "Налаштування інтеграції з Make",
"generate_api_key": "Створити ключ API", "generate_api_key": "Створити ключ API",
"generate_api_key_description": "Створіть ключ API для використання з {{appName}} на сайті", "generate_api_key_description": "Створіть ключ API для використання з {{appName}} на сайті",
"your_unique_api_key": "Ваш унікальний ключ API", "your_unique_api_key": "Ваш унікальний ключ API",
"copy_safe_api_key": "Скопіюйте цей ключ API і збережіть його в надійному місці. Якщо ви втратите цей ключ, потрібно буде створити новий.", "copy_safe_api_key": "Скопіюйте цей ключ API і збережіть його в надійному місці. Якщо ви втратите цей ключ, потрібно буде створити новий.",
"zapier_setup_instructions": "<0>Увійдіть в обліковий запис Zapier та створіть Zap.</0><1>Виберіть Cal.com як додаток Trigger, а також укажіть подію Trigger.</1><2>Виберіть свій обліковий запис і введіть унікальний ключ API.</2><3>Перевірте тригер.</3><4>Усе готово!</4>", "zapier_setup_instructions": "<0>Увійдіть в обліковий запис Zapier та створіть Zap.</0><1>Виберіть Cal.com як додаток Trigger, а також укажіть подію Trigger.</1><2>Виберіть свій обліковий запис і введіть унікальний ключ API.</2><3>Перевірте тригер.</3><4>Усе готово!</4>",
"make_setup_instructions": "<0>Перейдіть<1><0>за посиланням у запрошенні Make</0></1> і встановіть додаток Cal.com.</0><1>Увійдіть у свій обліковий запис Make і створіть новий сценарій.</1><2>Виберіть Cal.com як додаток Trigger, а також укажіть подію Trigger.</2><3>Виберіть свій обліковий запис і введіть унікальний ключ API.</3><4>Перевірте Trigger.</4><5>Усе готово!</5>",
"install_zapier_app": "Спочатку встановіть додаток Zapier з App Store.", "install_zapier_app": "Спочатку встановіть додаток Zapier з App Store.",
"install_make_app": "Спочатку встановіть додаток Make з App Store.",
"connect_apple_server": "Підключитися до сервера Apple", "connect_apple_server": "Підключитися до сервера Apple",
"calendar_url": "URL-адреса календаря", "calendar_url": "URL-адреса календаря",
"apple_server_generate_password": "Згенеруйте спеціальний пароль додатка для використання з {{appName}} за адресою", "apple_server_generate_password": "Згенеруйте спеціальний пароль додатка для використання з {{appName}} за адресою",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "надіслати ел. лист учасникам", "email_attendee_action": "надіслати ел. лист учасникам",
"sms_attendee_action": "Надіслати SMS учаснику", "sms_attendee_action": "Надіслати SMS учаснику",
"sms_number_action": "надсилати SMS на певний номер", "sms_number_action": "надсилати SMS на певний номер",
"send_reminder_sms": "Легко відправляйте нагадування про зустріч в SMS вашим відвідувачам",
"whatsapp_number_action": "надсилати повідомлення у Whatsapp на певний номер", "whatsapp_number_action": "надсилати повідомлення у Whatsapp на певний номер",
"whatsapp_attendee_action": "надсилати повідомлення у Whatsapp учаснику", "whatsapp_attendee_action": "надсилати повідомлення у Whatsapp учаснику",
"workflows": "Робочі процеси", "workflows": "Робочі процеси",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "Помилка оновлення параметрів", "error_updating_settings": "Помилка оновлення параметрів",
"personal_cal_url": "Моя персональна URL-адреса {{appName}}", "personal_cal_url": "Моя персональна URL-адреса {{appName}}",
"bio_hint": "Кілька речень про вас. Ця інформація з’явиться на сторінці за вашою URL-адресою.", "bio_hint": "Кілька речень про вас. Ця інформація з’явиться на сторінці за вашою URL-адресою.",
"user_has_no_bio": "Цей користувач ще не додав біографію.",
"delete_account_modal_title": "Видалення облікового запису", "delete_account_modal_title": "Видалення облікового запису",
"confirm_delete_account_modal": "Справді видалити свій обліковий запис {{appName}}?", "confirm_delete_account_modal": "Справді видалити свій обліковий запис {{appName}}?",
"delete_my_account": "Видалити мій обліковий запис", "delete_my_account": "Видалити мій обліковий запис",
@@ -1426,6 +1458,7 @@
"add_limit": "Додати ліміт", "add_limit": "Додати ліміт",
"team_name_required": "Назва команди обов’язкова", "team_name_required": "Назва команди обов’язкова",
"show_attendees": "Поширювати інформацію про учасників серед гостей", "show_attendees": "Поширювати інформацію про учасників серед гостей",
"show_available_seats_count": "Показати кількість доступних місць",
"how_booking_questions_as_variables": "Як використовувати запитання про бронювання як змінні?", "how_booking_questions_as_variables": "Як використовувати запитання про бронювання як змінні?",
"format": "Формат", "format": "Формат",
"uppercase_for_letters": "Використовувати всі великі літери", "uppercase_for_letters": "Використовувати всі великі літери",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Справді видалити конфігурацію {{connectionType}}? Учасники вашої команди, які входять через {{connectionType}}, не зможуть ввійти в Cal.com.", "delete_sso_configuration_confirmation_description": "Справді видалити конфігурацію {{connectionType}}? Учасники вашої команди, які входять через {{connectionType}}, не зможуть ввійти в Cal.com.",
"organizer_timezone": "Часовий пояс організатора", "organizer_timezone": "Часовий пояс організатора",
"email_user_cta": "Переглянути запрошення", "email_user_cta": "Переглянути запрошення",
"email_no_user_invite_heading_team": "Вас запрошено приєднатися до команди в застосунку {{appName}}",
"email_no_user_invite_heading_org": "Вас запрошено приєднатися до організації в застосунку {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} запрошує вас приєднатися до команди в {{appName}}. {{appName}} — планувальник подій, який дає змогу вам і вашій команді планувати зустрічі без тривалої переписки електронною поштою.", "email_no_user_invite_subheading": "{{invitedBy}} запрошує вас приєднатися до команди в {{appName}}. {{appName}} — планувальник подій, який дає змогу вам і вашій команді планувати зустрічі без тривалої переписки електронною поштою.",
"email_user_invite_subheading_team": "{{invitedBy}} запрошує вас приєднатися до команди «{{teamName}}» в {{appName}}. {{appName}} — планувальник подій, який дає змогу вам і вашій команді планувати зустрічі без тривалої переписки електронною поштою.", "email_user_invite_subheading_team": "{{invitedBy}} запрошує вас приєднатися до команди «{{teamName}}» в {{appName}}. {{appName}} — планувальник подій, який дає змогу вам і вашій команді планувати зустрічі без тривалої переписки електронною поштою.",
"email_user_invite_subheading_org": "{{invitedBy}} запрошує вас приєднатися до організації «{{teamName}}» в застосунку {{appName}}. {{appName}} — планувальник подій, завдяки якому ви й ваша організація можете планувати наради без довгого листування.",
"email_no_user_invite_steps_intro": "Ми ознайомимо вас із застосунком, і вже скоро ви й ваша {{entity}} насолоджуватиметеся плануванням без жодного клопоту.", "email_no_user_invite_steps_intro": "Ми ознайомимо вас із застосунком, і вже скоро ви й ваша {{entity}} насолоджуватиметеся плануванням без жодного клопоту.",
"email_no_user_step_one": "Виберіть ім’я користувача", "email_no_user_step_one": "Виберіть ім’я користувача",
"email_no_user_step_two": "Підключіть обліковий запис календаря", "email_no_user_step_two": "Підключіть обліковий запис календаря",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "Не знайдено жодних даних для вибраного фільтра або вибраних дат.", "insights_no_data_found_for_filter": "Не знайдено жодних даних для вибраного фільтра або вибраних дат.",
"acknowledge_booking_no_show_fee": "Я усвідомлюю, що в разі моєї відсутності на цьому заході з моєї картки буде стягнуто плату в розмірі {{amount, currency}}.", "acknowledge_booking_no_show_fee": "Я усвідомлюю, що в разі моєї відсутності на цьому заході з моєї картки буде стягнуто плату в розмірі {{amount, currency}}.",
"card_details": "Карткові реквізити", "card_details": "Карткові реквізити",
"something_went_wrong_on_our_end": "Щось пішло не так на нашому боці. Зв’яжіться з нашою службою підтримки й ми одразу все виправимо.",
"please_provide_following_text_to_suppport": "Надайте нижчезазначений текст, звертаючись до служби підтримки, щоб нам було легше допомогти вам",
"seats_and_no_show_fee_error": "Зараз неможливо активувати місця і стягнути плату за відсутність", "seats_and_no_show_fee_error": "Зараз неможливо активувати місця і стягнути плату за відсутність",
"complete_your_booking": "Завершіть бронювання", "complete_your_booking": "Завершіть бронювання",
"complete_your_booking_subject": "Завершіть бронювання: {{title}} від {{date}}", "complete_your_booking_subject": "Завершіть бронювання: {{title}} від {{date}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "Відкриває діалогове вікно з Cal у разі натискання елемента.", "open_dialog_with_element_click": "Відкриває діалогове вікно з Cal у разі натискання елемента.",
"need_help_embedding": "Потрібна допомога? Перегляньте наші посібники з вбудовування Cal на Wix, Squarespace чи WordPress і ознайомтеся з поширеними запитаннями або розширеними параметрами вбудовування.", "need_help_embedding": "Потрібна допомога? Перегляньте наші посібники з вбудовування Cal на Wix, Squarespace чи WordPress і ознайомтеся з поширеними запитаннями або розширеними параметрами вбудовування.",
"book_my_cal": "Забронювати на Cal.com", "book_my_cal": "Забронювати на Cal.com",
"first_name": "Ім’я",
"last_name": "Прізвище",
"first_last_name": "Ім’я, прізвище",
"invite_as": "Запросити як", "invite_as": "Запросити як",
"form_updated_successfully": "Форму оновлено.", "form_updated_successfully": "Форму оновлено.",
"disable_attendees_confirmation_emails": "Вимкнути листи підтвердження за замовчуванням для учасників", "disable_attendees_confirmation_emails": "Вимкнути листи підтвердження за замовчуванням для учасників",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "Створіть свій перший вебгук для цього типу заходів", "first_event_type_webhook_description": "Створіть свій перший вебгук для цього типу заходів",
"install_app_on": "Установити застосунок у", "install_app_on": "Установити застосунок у",
"create_for": "Створити для", "create_for": "Створити для",
"currency": "Валюта",
"organization_banner_description": "Підготуйте середовища, де ваші команди можуть створювати спільні застосунки, робочі процеси й типи заходів із циклічним і колективним плануванням.", "organization_banner_description": "Підготуйте середовища, де ваші команди можуть створювати спільні застосунки, робочі процеси й типи заходів із циклічним і колективним плануванням.",
"organization_banner_title": "Керування організаціями з кількома командами", "organization_banner_title": "Керування організаціями з кількома командами",
"set_up_your_organization": "Налаштуйте свою організацію", "set_up_your_organization": "Налаштуйте свою організацію",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "Команда: {{teamName}}", "insights_team_filter": "Команда: {{teamName}}",
"insights_user_filter": "Користувач: {{userName}}", "insights_user_filter": "Користувач: {{userName}}",
"insights_subtitle": "Переглядайте дані Insights про бронювання для своїх заходів", "insights_subtitle": "Переглядайте дані Insights про бронювання для своїх заходів",
"location_options": "Варіантів місць проведення: {{locationCount}}",
"custom_plan": "Користувацький план", "custom_plan": "Користувацький план",
"email_embed": "Вбудовування в ел. пошту",
"add_times_to_your_email": "Виберіть кілька доступних часових проміжків і вбудуйте їх в електронний лист",
"select_time": "Виберіть час",
"select_date": "Виберіть дату",
"see_all_available_times": "Переглянути доступні часові проміжки",
"org_team_names_example": "напр. команда маркетингу",
"org_team_names_example_1": "напр. маркетинговий відділ",
"org_team_names_example_2": "напр. відділ продажів",
"org_team_names_example_3": "напр. дизайнерський відділ",
"org_team_names_example_4": "e.g. інженерний відділ",
"org_team_names_example_5": "e.g. відділ аналітики даних",
"org_max_team_warnings": "Ви зможете додати більше команд пізніше.",
"what_is_this_meeting_about": "Про що ця зустріч?",
"add_to_team": "Додати в команду",
"remove_users_from_org": "Видалити користувачів з організації",
"remove_users_from_org_confirm": "Справді видалити користувачів ({{userCount}}) із цієї організації?",
"user_has_no_schedules": "Цей користувач ще не налаштував розкладу",
"user_isnt_in_any_teams": "Цей користувач не входить до жодної команди",
"requires_booker_email_verification": "Потрібно підтвердження ел. адреси особи, які здійснює бронювання",
"description_requires_booker_email_verification": "Щоб забезпечити підтвердження ел. адреси особи, яка здійснює бронювання, до планування заходів",
"requires_confirmation_mandatory": "Текстові повідомлення можна надсилати лише учасникам, коли тип події вимагає підтвердження.",
"kyc_verification_information": "З міркувань безпеки потрібно підтвердити {{teamOrAccount}}, перш ніж надсилати текстові повідомлення учасникам. Зверніться до нас за адресою <a>{{supportEmail}}</a> і надайте таку інформацію:",
"kyc_verification_documents": "<ul><li>{{teamOrUser}}</li><li>Для бізнесу: надайте документи для перевірки бізнесу</li><li>Для фізичних осіб: надайте посвідчення особи державного зразка</li></ul>",
"verify_team_or_account": "Підтвердити {{teamOrAccount}}",
"verify_account": "Підтвердити обліковий запис",
"kyc_verification": "Перевірка KYC",
"organizations": "Організації",
"org_admin_other_teams": "Інші команди",
"org_admin_other_teams_description": "Тут ви можете побачити команди у вашій організації, до яких ви не приєдналися. За потреби ви можете приєднатися до них.",
"no_other_teams_found": "Не знайдено інших команд",
"no_other_teams_found_description": "У цій організації немає інших команд.",
"attendee_first_name_variable": "Ім’я учасника",
"attendee_last_name_variable": "Прізвище учасника",
"attendee_first_name_info": "Ім’я особи, яка бронює",
"attendee_last_name_info": "Прізвище особи, яка бронює",
"me": "Я",
"verify_team_tooltip": "Верифікуйте свою команду, щоб увімкнути надсилання повідомлень відвідувачам",
"member_removed": "Учасника вилучено",
"my_availability": "Моя доступність",
"team_availability": "Доступність команди",
"backup_code": "Резервний код",
"backup_codes": "Резервні коди",
"backup_code_instructions": "Кожен резервний код можна використовувати один раз, щоб надати доступ без автентифікатора.",
"backup_codes_copied": "Резервні коди скопійовані!",
"incorrect_backup_code": "Неправильний резервний код.",
"lost_access": "Втрачено доступ",
"missing_backup_codes": "Не знайдено резервних кодів. Створіть їх у налаштуваннях.",
"admin_org_notification_email_subject": "Створено нову організацію: очікується дія",
"hi_admin": "Вітаємо, адміністраторе",
"admin_org_notification_email_title": "Організації потрібно налаштувати DNS",
"admin_org_notification_email_body_part1": "Створено організацію з URL-адресою «{{orgSlug}}».<br /><br />Налаштуйте реєстр DNS, щоб піддомен, який відповідає новій організації, указував на те місце, де запущено основний застосунок. Інакше організація не працюватиме.<br /><br />Ось кілька базових варіантів того, як налаштувати, щоб піддомен вказував на відповідний застосунок і завантажував сторінку профілю організації.<br /><br />Це можна зробити за допомогою запису А:",
"admin_org_notification_email_body_part2": "Або запису CNAME:",
"admin_org_notification_email_body_part3": "Щойно ви налаштуєте піддомен, вкажіть в налаштуваннях адміністратора організації, що налаштування DNS виконано.",
"admin_org_notification_email_cta": "Перейти до налаштувань адміністратора організації",
"org_has_been_processed": "Організація обробляється",
"org_error_processing": "Під час обробки цієї організації сталася помилка",
"orgs_page_description": "Список всіх організацій. Після прийняття організації всі користувачі із цим доменом електронної пошти зможуть зареєструватися без підтвердження електронної адреси.",
"unverified": "Не підтверджено",
"dns_missing": "Відсутній DNS",
"mark_dns_configured": "Позначити DNS налаштованим",
"value": "Значення",
"your_organization_updated_sucessfully": "Організацію оновлено",
"team_no_event_types": "У цієї команди немає типів заходів",
"seat_options_doesnt_multiple_durations": "Параметр «Місця» не підтримує декілька варіантів тривалості",
"include_calendar_event": "Включити календарний захід",
"recently_added": "Нещодавно додані",
"no_members_found": "Учасників не знайдено",
"event_setup_length_error": "Налаштування заходу: мінімальна тривалість — 1 хвилина.",
"availability_schedules": "Розклад доступності",
"view_only_edit_availability_not_onboarded": "Цей користувач не завершив ознайомлення. Доки він не зробить цього, ви не зможете налаштувати доступність для нього.",
"view_only_edit_availability": "Ви переглядаєте доступність цього користувача. Ви можете редагувати лише свою доступність.",
"edit_users_availability": "Редагувати доступність користувача: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "Xác minh địa chỉ email của bạn nhằm bảo đảm khả năng gửi email và lịch hẹn tốt nhất", "verify_email_banner_body": "Xác minh địa chỉ email của bạn nhằm bảo đảm khả năng gửi email và lịch hẹn tốt nhất",
"verify_email_email_header": "Xác minh địa chỉ email của bạn", "verify_email_email_header": "Xác minh địa chỉ email của bạn",
"verify_email_email_button": "Xác minh email", "verify_email_email_button": "Xác minh email",
"copy_somewhere_safe": "Lưu khoá API này ở nơi an toàn. Bạn sẽ không thể xem nó lại.",
"verify_email_email_body": "Vui lòng xác minh địa chỉ email của bạn bằng cách nhấp vào nút bên dưới.", "verify_email_email_body": "Vui lòng xác minh địa chỉ email của bạn bằng cách nhấp vào nút bên dưới.",
"verify_email_by_code_email_body": "Vui lòng xác minh địa chỉ email của bạn bằng cách sử dụng mã bên dưới.",
"verify_email_email_link_text": "Đây là liên kết phòng trường hợp bạn không thích nhấp vào nút:", "verify_email_email_link_text": "Đây là liên kết phòng trường hợp bạn không thích nhấp vào nút:",
"email_verification_code": "Nhập mã xác minh",
"email_verification_code_placeholder": "Nhập mã xác minh được gửi đến hộp thư của bạn",
"incorrect_email_verification_code": "Mã xác minh sai.",
"email_sent": "Email đã gửi thành công", "email_sent": "Email đã gửi thành công",
"email_not_sent": "Có lỗi trong lúc gửi email",
"event_declined_subject": "Đã từ chối: {{title}} tại {{date}}", "event_declined_subject": "Đã từ chối: {{title}} tại {{date}}",
"event_cancelled_subject": "Đã hủy: {{title}} vào {{date}}", "event_cancelled_subject": "Đã hủy: {{title}} vào {{date}}",
"event_request_declined": "Lời mời sự kiện của bạn đã bị từ chối", "event_request_declined": "Lời mời sự kiện của bạn đã bị từ chối",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "Một sự kiện định kỳ đang chờ sự chấp thuận của bạn", "event_awaiting_approval_recurring": "Một sự kiện định kỳ đang chờ sự chấp thuận của bạn",
"someone_requested_an_event": "Ai đó đã yêu cầu đặt sự kiện trên lịch của bạn.", "someone_requested_an_event": "Ai đó đã yêu cầu đặt sự kiện trên lịch của bạn.",
"someone_requested_password_reset": "Ai đó đã yêu cầu link để đổi mật khẩu của bạn.", "someone_requested_password_reset": "Ai đó đã yêu cầu link để đổi mật khẩu của bạn.",
"password_reset_email_sent": "Nếu email này tồn tại trong hệ thống của bạn, bạn nên nhận một email đặt lại.",
"password_reset_instructions": "Nếu bạn không yêu cầu link này, bạn có thể yên tâm bỏ qua email này và mật khẩu của bạn sẽ không bị đổi.", "password_reset_instructions": "Nếu bạn không yêu cầu link này, bạn có thể yên tâm bỏ qua email này và mật khẩu của bạn sẽ không bị đổi.",
"event_awaiting_approval_subject": "Đang chờ phê duyệt: {{title}} lúc {{date}}", "event_awaiting_approval_subject": "Đang chờ phê duyệt: {{title}} lúc {{date}}",
"event_still_awaiting_approval": "Một sự kiện vẫn đang chờ bạn phê duyệt", "event_still_awaiting_approval": "Một sự kiện vẫn đang chờ bạn phê duyệt",
@@ -217,6 +224,10 @@
"already_have_an_account": "Bạn đã có sẵn tài khoản?", "already_have_an_account": "Bạn đã có sẵn tài khoản?",
"create_account": "Tạo tài khoản", "create_account": "Tạo tài khoản",
"confirm_password": "Xác nhận mật khẩu", "confirm_password": "Xác nhận mật khẩu",
"confirm_auth_change": "Thao tác này sẽ thay đổi cách thức bạn đăng nhập",
"confirm_auth_email_change": "Việc thay đổi địa chỉ email sẽ gây ngắt kết nối cho phương thức xác thực hiện tại mà bạn dùng để đăng nhập Cal.com. Chúng tôi sẽ yêu cầu bạn xác minh địa chỉ email mới. Sau đó, bạn sẽ được đăng xuất và sử dụng địa chỉ email mới để đăng nhập thay cho phương thức xác thực hiện tại sau khi thiết lập mật khẩu bằng cách làm theo các chỉ dẫn được gủi đến hộp thư của bạn.",
"reset_your_password": "Thiết lập mật khẩu mới bằng những chỉ dẫn được gửi đến địa chỉ email của bạn.",
"email_change": "Đăng nhập trở lại bằng địa chỉ email và mật khẩu mới.",
"create_your_account": "Tạo tài khoản của bạn", "create_your_account": "Tạo tài khoản của bạn",
"sign_up": "Đăng ký", "sign_up": "Đăng ký",
"youve_been_logged_out": "Bạn đã đăng xuất", "youve_been_logged_out": "Bạn đã đăng xuất",
@@ -243,6 +254,10 @@
"all": "Tất cả", "all": "Tất cả",
"yours": "Tài khoản của bạn", "yours": "Tài khoản của bạn",
"available_apps": "Ứng dụng hiện có", "available_apps": "Ứng dụng hiện có",
"available_apps_lower_case": "Ứng dụng hiện có",
"available_apps_desc": "Bạn chưa cài đặt ứng dụng nào. Xem những ứng dụng được chuộng bên dưới và khám phá thêm trong <1>App Store</1>",
"fixed_host_helper": "Thêm bất kì ai cần tham dự sự kiện. <1>Tìm hiểu thêm</1>",
"round_robin_helper": "Những người trong nhóm thay phiên và chỉ một người xuất hiện cho sự kiện này.",
"check_email_reset_password": "Kiểm tra hộp thư điện tử của bạn. Chúng tôi đã gửi cho bạn một liên kết để đặt lại mật khẩu của bạn.", "check_email_reset_password": "Kiểm tra hộp thư điện tử của bạn. Chúng tôi đã gửi cho bạn một liên kết để đặt lại mật khẩu của bạn.",
"finish": "Hoàn thành", "finish": "Hoàn thành",
"organization_general_description": "Quản lí cài đặt cho ngôn ngữ và múi giờ của nhóm bạn", "organization_general_description": "Quản lí cài đặt cho ngôn ngữ và múi giờ của nhóm bạn",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "Điều cuối cùng, mô tả ngắn gọn về bạn và một bức ảnh để giúp bạn nhận lịch hẹn dễ hơn và cho mọi người biết họ đang đặt lịch hẹn với ai.", "nearly_there_instructions": "Điều cuối cùng, mô tả ngắn gọn về bạn và một bức ảnh để giúp bạn nhận lịch hẹn dễ hơn và cho mọi người biết họ đang đặt lịch hẹn với ai.",
"set_availability_instructions": "Xác định những phạm vi thời gian bạn có thể chấp nhận lịch hẹn định kỳ. Bạn có thể tạo thêm phạm vi thời gian này sau và gán chúng vào các lịch khác nhau.", "set_availability_instructions": "Xác định những phạm vi thời gian bạn có thể chấp nhận lịch hẹn định kỳ. Bạn có thể tạo thêm phạm vi thời gian này sau và gán chúng vào các lịch khác nhau.",
"set_availability": "Đặt lịch khả dụng của bạn", "set_availability": "Đặt lịch khả dụng của bạn",
"availability_settings": "Thiết lập tình trạng trống lịch",
"continue_without_calendar": "Tiếp tục mà không có lịch", "continue_without_calendar": "Tiếp tục mà không có lịch",
"connect_your_calendar": "Kết nối lịch của bạn", "connect_your_calendar": "Kết nối lịch của bạn",
"connect_your_video_app": "Kết nối các ứng dụng video của bạn", "connect_your_video_app": "Kết nối các ứng dụng video của bạn",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "Những liên kết đặt chỗ nhóm vốn có thể được tạo linh động bằng cách thêm nhiều tên người dùng bằng một dấu '+'. Ví dụ như '{{appName}}/bailey+peer'", "allow_dynamic_booking_tooltip": "Những liên kết đặt chỗ nhóm vốn có thể được tạo linh động bằng cách thêm nhiều tên người dùng bằng một dấu '+'. Ví dụ như '{{appName}}/bailey+peer'",
"allow_dynamic_booking": "Cho phép người tham gia đặt chỗ cho bạn thông qua chức năng đặt chỗ động cho nhóm", "allow_dynamic_booking": "Cho phép người tham gia đặt chỗ cho bạn thông qua chức năng đặt chỗ động cho nhóm",
"dynamic_booking": "Liên kết động cho nhóm", "dynamic_booking": "Liên kết động cho nhóm",
"allow_seo_indexing": "Cho phép các công cụ tìm kiếm truy cập nội dung công cộng của bạn",
"seo_indexing": "Cho phép lập chỉ mục SEO",
"email": "Email", "email": "Email",
"email_placeholder": "nvana@vidu.com", "email_placeholder": "nvana@vidu.com",
"full_name": "Họ và tên", "full_name": "Họ và tên",
@@ -406,6 +424,7 @@
"booking_requested": "Lịch hẹn đã được yêu cầu", "booking_requested": "Lịch hẹn đã được yêu cầu",
"meeting_ended": "Cuộc họp đã kết thúc", "meeting_ended": "Cuộc họp đã kết thúc",
"form_submitted": "Biểu mẫu đã được gửi", "form_submitted": "Biểu mẫu đã được gửi",
"booking_paid": "Lịch hẹn đã thanh toán",
"event_triggers": "Sự kiện kích hoạt", "event_triggers": "Sự kiện kích hoạt",
"subscriber_url": "URL người đăng ký", "subscriber_url": "URL người đăng ký",
"create_new_webhook": "Tạo một webhook mới", "create_new_webhook": "Tạo một webhook mới",
@@ -506,6 +525,7 @@
"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", "your_full_name": "Tên đầy đủ của bạn",
"no_name": "Không tên", "no_name": "Không tên",
"enter_number_between_range": "Vui lòng nhập một số từ 1 đến {{maxOccurences}}",
"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í",
@@ -543,6 +563,7 @@
"leave": "Rời bỏ", "leave": "Rời bỏ",
"profile": "Hồ sơ", "profile": "Hồ sơ",
"my_team_url": "URL nhóm của tôi", "my_team_url": "URL nhóm của tôi",
"my_teams": "Nhóm của tôi",
"team_name": "Tên nhóm", "team_name": "Tên nhóm",
"your_team_name": "Tên nhóm của bạn", "your_team_name": "Tên nhóm của bạn",
"team_updated_successfully": "Đã cập nhật nhóm thành công", "team_updated_successfully": "Đã cập nhật nhóm thành công",
@@ -570,6 +591,8 @@
"invite_new_member": "Mời một thành viên mới", "invite_new_member": "Mời một thành viên mới",
"invite_new_member_description": "Lưu ý: Việc này sẽ <1>mất phí bổ sung chỗ ngồi (15$/tháng)</1> cho gói đăng ký của bạn.", "invite_new_member_description": "Lưu ý: Việc này sẽ <1>mất phí bổ sung chỗ ngồi (15$/tháng)</1> cho gói đăng ký của bạn.",
"invite_new_team_member": "Mời ai đó vào nhóm của bạn.", "invite_new_team_member": "Mời ai đó vào nhóm của bạn.",
"upload_csv_file": "Tải lên một file .csv",
"invite_via_email": "Mời qua email",
"change_member_role": "Thay đổi vai trò thành viên trong nhóm", "change_member_role": "Thay đổi vai trò thành viên trong nhóm",
"disable_cal_branding": "Tắt thương hiệu {{appName}}", "disable_cal_branding": "Tắt thương hiệu {{appName}}",
"disable_cal_branding_description": "Ẩn tất cả thương hiệu {{appName}} khỏi các trang công khai của bạn.", "disable_cal_branding_description": "Ẩn tất cả thương hiệu {{appName}} khỏi các trang công khai của bạn.",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "Người dùng cần chấp nhận lời mời để xem lịch khả dụng", "team_view_user_availability_disabled": "Người dùng cần chấp nhận lời mời để xem lịch khả dụng",
"set_as_away": "Đặt trạng thái đi vắng", "set_as_away": "Đặt trạng thái đi vắng",
"set_as_free": "Tắt trạng thái đi vắng", "set_as_free": "Tắt trạng thái đi vắng",
"toggle_away_error": "Lỗi khi cập nhật trạng thái đi vắng",
"user_away": "Người dùng này hiện đang đi vắng.", "user_away": "Người dùng này hiện đang đi vắng.",
"user_away_description": "Người mà bạn đang cố gắng đặt lịch hẹn đã đặt trạng thái đi vắng, và do đó không chấp nhận các lịch hẹn mới.", "user_away_description": "Người mà bạn đang cố gắng đặt lịch hẹn đã đặt trạng thái đi vắng, và do đó không chấp nhận các lịch hẹn mới.",
"meet_people_with_the_same_tokens": "Gặp gỡ những người có cùng mã token", "meet_people_with_the_same_tokens": "Gặp gỡ những người có cùng mã token",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "Để thay đổi email, mật khẩu, bật xác thực hai yếu tố và những thứ khác, vui lòng truy cập cài đặt tài khoản {{provider}} của bạn.", "account_managed_by_identity_provider_description": "Để thay đổi email, mật khẩu, bật xác thực hai yếu tố và những thứ khác, vui lòng truy cập cài đặt tài khoản {{provider}} của bạn.",
"signin_with_google": "Đăng nhập bằng Google", "signin_with_google": "Đăng nhập bằng Google",
"signin_with_saml": "Đăng nhập bằng SAML", "signin_with_saml": "Đăng nhập bằng SAML",
"signin_with_saml_oidc": "Đăng nhập bằng SAML/OIDC",
"you_will_need_to_generate": "Bạn sẽ cần tạo mã access token từ công cụ lập lịch cũ của mình.", "you_will_need_to_generate": "Bạn sẽ cần tạo mã access token từ công cụ lập lịch cũ của mình.",
"import": "Nhập", "import": "Nhập",
"import_from": "Nhập từ", "import_from": "Nhập từ",
@@ -950,6 +975,8 @@
"offer_seats_description": "Cung cấp ghế để đặt lịch. Việc này sẽ tự động vô hiệu hoá đặt lịch của khách & đặt lịch tham gia.", "offer_seats_description": "Cung cấp ghế để đặt lịch. Việc này sẽ tự động vô hiệu hoá đặt lịch của khách & đặt lịch tham gia.",
"seats_available_one": "Số ghế trống", "seats_available_one": "Số ghế trống",
"seats_available_other": "Số ghế trống", "seats_available_other": "Số ghế trống",
"seats_nearly_full": "Gần hết chỗ ngồi",
"seats_half_full": "Chỗ ngồi sắp hết",
"number_of_seats": "Số ghế cho mỗi lần đặt", "number_of_seats": "Số ghế cho mỗi lần đặt",
"enter_number_of_seats": "Điền vào số lượng ghế", "enter_number_of_seats": "Điền vào số lượng ghế",
"you_can_manage_your_schedules": "Bạn có thể quản lý lịch biểu của mình trên trang \bLịch khả dụng.", "you_can_manage_your_schedules": "Bạn có thể quản lý lịch biểu của mình trên trang \bLịch khả dụng.",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "Bạn muốn thêm {{appName}} vào website của mình bằng cách nào?", "how_you_want_add_cal_site": "Bạn muốn thêm {{appName}} vào website của mình bằng cách nào?",
"choose_ways_put_cal_site": "Chọn một trong những cách sau để đặt {{appName}} trên website.", "choose_ways_put_cal_site": "Chọn một trong những cách sau để đặt {{appName}} trên website.",
"setting_up_zapier": "Thiết lập tích hợp Zapier của bạn", "setting_up_zapier": "Thiết lập tích hợp Zapier của bạn",
"setting_up_make": "Thiết lập tích hợp Make của bạn",
"generate_api_key": "Tạo khoá API", "generate_api_key": "Tạo khoá API",
"generate_api_key_description": "Tạo một khoá API để sử dụng với {{appName}} tại", "generate_api_key_description": "Tạo một khoá API để sử dụng với {{appName}} tại",
"your_unique_api_key": "Khoá API đặc trưng của bạn", "your_unique_api_key": "Khoá API đặc trưng của bạn",
"copy_safe_api_key": "Sao chép khoá API này và lưu nó ở nơi an toàn. Nếu bạn làm mất khoá này, bạn phải tạo khoá mới.", "copy_safe_api_key": "Sao chép khoá API này và lưu nó ở nơi an toàn. Nếu bạn làm mất khoá này, bạn phải tạo khoá mới.",
"zapier_setup_instructions": "<0>Đăng nhập vào tài khoản Zapier của bạn và tạo một Zap mới.</0><1>Chọn {{appName}} làm ứng dụng Trigger của bạn. Đồng thời chọn một sự kiện Trigger.</1><2>Chọn tài khoản của bạn và sau đó điền vào Khoá API đặc trưng.</2><3>Thử nghiệm Trigger của bạn.</3><4>Bạn đã xong!</4>", "zapier_setup_instructions": "<0>Đăng nhập vào tài khoản Zapier của bạn và tạo một Zap mới.</0><1>Chọn {{appName}} làm ứng dụng Trigger của bạn. Đồng thời chọn một sự kiện Trigger.</1><2>Chọn tài khoản của bạn và sau đó điền vào Khoá API đặc trưng.</2><3>Thử nghiệm Trigger của bạn.</3><4>Bạn đã xong!</4>",
"make_setup_instructions": "<0>Đến <1><0>Liên kết mời Make</0></1> và cài đặt ứng dụng Cal.com.</0><1>Đăng nhập vào tài khoản Make của bạn và tạo một Scenario mới.</1><2>Chọn Cal.com làm ứng dụng Trigger của bạn. Đồng thời chọn một sự kiện Trigger.</2><3>Chọn tài khoản của bạn và sau đó điền vào Khoá API đặc trưng.</3><4>Thử nghiệm Trigger của bạn.</4><5>Bạn đã xong!</5>",
"install_zapier_app": "Trước tiên hãy cài đặt ứng dụng Zapier trong App Store.", "install_zapier_app": "Trước tiên hãy cài đặt ứng dụng Zapier trong App Store.",
"install_make_app": "Trước tiên hãy cài đặt ứng dụng Make trong App Store.",
"connect_apple_server": "Kết nối với Máy chủ Apple", "connect_apple_server": "Kết nối với Máy chủ Apple",
"calendar_url": "URL lịch", "calendar_url": "URL lịch",
"apple_server_generate_password": "Tạo một mật khẩu chuyên dùng cho ứng dụng để sử dụng với {{appName}} tại", "apple_server_generate_password": "Tạo một mật khẩu chuyên dùng cho ứng dụng để sử dụng với {{appName}} tại",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "gửi email đến người tham gia", "email_attendee_action": "gửi email đến người tham gia",
"sms_attendee_action": "Gửi SMS đến người tham gia", "sms_attendee_action": "Gửi SMS đến người tham gia",
"sms_number_action": "gửi SMS đến một số cụ thể", "sms_number_action": "gửi SMS đến một số cụ thể",
"send_reminder_sms": "Dễ dàng gửi lời nhắc họp qua SMS đến người tham dự",
"whatsapp_number_action": "gửi WhatsApp đến một số cụ thể", "whatsapp_number_action": "gửi WhatsApp đến một số cụ thể",
"whatsapp_attendee_action": "gửi WhatsApp đến người tham gia", "whatsapp_attendee_action": "gửi WhatsApp đến người tham gia",
"workflows": "Tiến độ công việc", "workflows": "Tiến độ công việc",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "Lỗi khi cập nhật cài đặt", "error_updating_settings": "Lỗi khi cập nhật cài đặt",
"personal_cal_url": "URL {{appName}} cá nhân của tôi", "personal_cal_url": "URL {{appName}} cá nhân của tôi",
"bio_hint": "Nói mấy lời về bản thân. Thông tin này sẽ xuất hiện trên trang url cá nhân của bạn.", "bio_hint": "Nói mấy lời về bản thân. Thông tin này sẽ xuất hiện trên trang url cá nhân của bạn.",
"user_has_no_bio": "Người dùng này chưa thêm vào tiểu sử.",
"delete_account_modal_title": "Xoá tài khoản", "delete_account_modal_title": "Xoá tài khoản",
"confirm_delete_account_modal": "Bạn có chắc chắn muốn xoá tài khoản {{appName}}?", "confirm_delete_account_modal": "Bạn có chắc chắn muốn xoá tài khoản {{appName}}?",
"delete_my_account": "Xoá tài khoản của tôi", "delete_my_account": "Xoá tài khoản của tôi",
@@ -1426,6 +1458,7 @@
"add_limit": "Thêm giới hạn", "add_limit": "Thêm giới hạn",
"team_name_required": "Cần có tên nhóm", "team_name_required": "Cần có tên nhóm",
"show_attendees": "Chia sẻ thông tin người tham gia cho khách", "show_attendees": "Chia sẻ thông tin người tham gia cho khách",
"show_available_seats_count": "Hiện số ghế ngồi còn trống",
"how_booking_questions_as_variables": "Làm thế nào để dùng những câu hỏi lịch hẹn ở dạng tham số?", "how_booking_questions_as_variables": "Làm thế nào để dùng những câu hỏi lịch hẹn ở dạng tham số?",
"format": "Định dạng", "format": "Định dạng",
"uppercase_for_letters": "In hoa hết tất cả các chữ cái", "uppercase_for_letters": "In hoa hết tất cả các chữ cái",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "Bạn có chắc chắn muốn xóa cấu hình {{connectionType}} không? Các thành viên trong nhóm của bạn sử dụng thông tin đăng nhập {{connectionType}} sẽ không thể truy cập vào Cal.com được nữa.", "delete_sso_configuration_confirmation_description": "Bạn có chắc chắn muốn xóa cấu hình {{connectionType}} không? Các thành viên trong nhóm của bạn sử dụng thông tin đăng nhập {{connectionType}} sẽ không thể truy cập vào Cal.com được nữa.",
"organizer_timezone": "Múi giờ của người tổ chức", "organizer_timezone": "Múi giờ của người tổ chức",
"email_user_cta": "Xem lời mời", "email_user_cta": "Xem lời mời",
"email_no_user_invite_heading_team": "Bạn đã được mời gia nhập nhóm {{appName}}",
"email_no_user_invite_heading_org": "Bạn đã được mời gia nhập tổ chức {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} đã mời bạn gia nhập nhóm của họ trên {{appName}}. {{appName}} là công cụ lên lịch sắp xếp sự kiện cho phép bạn và nhóm bạn lên lịch các cuộc gặp mà không cần trao đổi email nhiều.", "email_no_user_invite_subheading": "{{invitedBy}} đã mời bạn gia nhập nhóm của họ trên {{appName}}. {{appName}} là công cụ lên lịch sắp xếp sự kiện cho phép bạn và nhóm bạn lên lịch các cuộc gặp mà không cần trao đổi email nhiều.",
"email_user_invite_subheading_team": "{{invitedBy}} đã mời bạn gia nhập nhóm '{{teamName}}' của họ trên {{appName}}. {{appName}} là công cụ lên lịch sắp xếp sự kiện cho phép bạn và nhóm bạn lên lịch các cuộc gặp mà không cần trao đổi email nhiều.", "email_user_invite_subheading_team": "{{invitedBy}} đã mời bạn gia nhập nhóm '{{teamName}}' của họ trên {{appName}}. {{appName}} là công cụ lên lịch sắp xếp sự kiện cho phép bạn và nhóm bạn lên lịch các cuộc gặp mà không cần trao đổi email nhiều.",
"email_user_invite_subheading_org": "{{invitedBy}} đã mời bạn gia nhập tổ chức '{{teamName}}' của họ trên {{appName}}. {{appName}} là công cụ lên lịch sắp xếp sự kiện cho phép bạn và tổ chức của bạn lên lịch các cuộc gặp mà không cần trao đổi email nhiều.",
"email_no_user_invite_steps_intro": "Chúng tôi sẽ hướng dẫn cho bạn qua vài bước nhỏ và bạn sẽ tận hưởng được ngay cảm giác thoải mái không căng thẳng trong việc lên lịch cùng {{entity}} của mình.", "email_no_user_invite_steps_intro": "Chúng tôi sẽ hướng dẫn cho bạn qua vài bước nhỏ và bạn sẽ tận hưởng được ngay cảm giác thoải mái không căng thẳng trong việc lên lịch cùng {{entity}} của mình.",
"email_no_user_step_one": "Chọn tên người dùng của bạn", "email_no_user_step_one": "Chọn tên người dùng của bạn",
"email_no_user_step_two": "Kết nối tài khoản lịch của bạn", "email_no_user_step_two": "Kết nối tài khoản lịch của bạn",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "Không tìm thấy dữ liệu cho bộ lọc hay ngày đã chọn.", "insights_no_data_found_for_filter": "Không tìm thấy dữ liệu cho bộ lọc hay ngày đã chọn.",
"acknowledge_booking_no_show_fee": "Tôi công nhận là nếu tôi không tham dự sự kiện này thì một khoản phí vắng mặt là {{amount, currency}} sẽ được áp dụng cho thẻ của tôi.", "acknowledge_booking_no_show_fee": "Tôi công nhận là nếu tôi không tham dự sự kiện này thì một khoản phí vắng mặt là {{amount, currency}} sẽ được áp dụng cho thẻ của tôi.",
"card_details": "Chi tiết thẻ", "card_details": "Chi tiết thẻ",
"something_went_wrong_on_our_end": "Bên chúng tôi có sự cố. Hãy liên lạc với nhóm hỗ trợ của chúng tôi, và chúng tôi sẽ cho khắc phục ngay cho bạn.",
"please_provide_following_text_to_suppport": "Vui lòng cung cấp tin nhắn sau khi liên lạc bộ phận hỗ trợ để được trợ giúp tốt hơn",
"seats_and_no_show_fee_error": "Hiện không thể kích hoạt chỗ ngồi và tính khoản phí vắng mặt", "seats_and_no_show_fee_error": "Hiện không thể kích hoạt chỗ ngồi và tính khoản phí vắng mặt",
"complete_your_booking": "Hoàn thành lịch hẹn của bạn", "complete_your_booking": "Hoàn thành lịch hẹn của bạn",
"complete_your_booking_subject": "Hoàn thành lịch hẹn của bạn: {{title}} vào {{date}}", "complete_your_booking_subject": "Hoàn thành lịch hẹn của bạn: {{title}} vào {{date}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "Mở hộp thoại Cal khi ai đó nhấp vào một phần tử.", "open_dialog_with_element_click": "Mở hộp thoại Cal khi ai đó nhấp vào một phần tử.",
"need_help_embedding": "Cần trợ giúp? Xem hướng dẫn của chúng tôi dành cho việc nhúng Cal trên Wix, Squarespace hoặc WordPress, xem qua những câu hỏi thường gặp của chúng tôi, hoặc khám phá thêm các tuỳ chọn nhúng nâng cao.", "need_help_embedding": "Cần trợ giúp? Xem hướng dẫn của chúng tôi dành cho việc nhúng Cal trên Wix, Squarespace hoặc WordPress, xem qua những câu hỏi thường gặp của chúng tôi, hoặc khám phá thêm các tuỳ chọn nhúng nâng cao.",
"book_my_cal": "Đặt lịch Cal của tôi", "book_my_cal": "Đặt lịch Cal của tôi",
"first_name": "Tên",
"last_name": "Họ",
"first_last_name": "Tên, Họ",
"invite_as": "Mời ở vai trò", "invite_as": "Mời ở vai trò",
"form_updated_successfully": "Đã cập nhật biểu mẫu thành công.", "form_updated_successfully": "Đã cập nhật biểu mẫu thành công.",
"disable_attendees_confirmation_emails": "Vô hiệu hoá những email xác nhận mặc định dành cho người tham dự", "disable_attendees_confirmation_emails": "Vô hiệu hoá những email xác nhận mặc định dành cho người tham dự",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "Tạo webhook đầu tiên của bạn cho loại sự kiện này", "first_event_type_webhook_description": "Tạo webhook đầu tiên của bạn cho loại sự kiện này",
"install_app_on": "Cài đặt ứng dụng cho", "install_app_on": "Cài đặt ứng dụng cho",
"create_for": "Tạo cho", "create_for": "Tạo cho",
"currency": "Tiền tệ",
"organization_banner_description": "Tạo môi trường tại đó các nhóm của bạn có thể tạo những ứng dụng, tiến độ công việc và loại sự kiện mà có thể chia sẻ được, với chức năng đặt lịch dạng round-robin và tập thể.", "organization_banner_description": "Tạo môi trường tại đó các nhóm của bạn có thể tạo những ứng dụng, tiến độ công việc và loại sự kiện mà có thể chia sẻ được, với chức năng đặt lịch dạng round-robin và tập thể.",
"organization_banner_title": "Quản lý các tổ chức có nhiều nhóm", "organization_banner_title": "Quản lý các tổ chức có nhiều nhóm",
"set_up_your_organization": "Thiết lập tổ chức của bạn", "set_up_your_organization": "Thiết lập tổ chức của bạn",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "Nhóm: {{teamName}}", "insights_team_filter": "Nhóm: {{teamName}}",
"insights_user_filter": "Người dùng: {{userName}}", "insights_user_filter": "Người dùng: {{userName}}",
"insights_subtitle": "Xem insights của đặt lịch ở mọi sự kiện của bạn", "insights_subtitle": "Xem insights của đặt lịch ở mọi sự kiện của bạn",
"location_options": "{{locationCount}} lựa chọn vị trí",
"custom_plan": "Gói Tuỳ chỉnh", "custom_plan": "Gói Tuỳ chỉnh",
"email_embed": "Email đã nhúng",
"add_times_to_your_email": "Chọn một số thời gian trống và nhúng chúng vào trong Email của bạn",
"select_time": "Chọn thời gian",
"select_date": "Chọn ngày",
"see_all_available_times": "Xem tất cả những thời gian trống",
"org_team_names_example": "ví dụ Nhóm Tiếp thị",
"org_team_names_example_1": "ví dụ Nhóm Tiếp thị",
"org_team_names_example_2": "ví dụ Nhóm Kinh doanh",
"org_team_names_example_3": "ví dụ Nhóm Thiết kế",
"org_team_names_example_4": "ví dụ Nhóm Kỹ thuật",
"org_team_names_example_5": "ví dụ Nhóm Phân tích dữ liệu",
"org_max_team_warnings": "Bạn sẽ có thể thêm vào nhiều nhóm nữa sau này.",
"what_is_this_meeting_about": "Cuộc họp này về điều gì?",
"add_to_team": "Thêm vào nhóm",
"remove_users_from_org": "Xoá bỏ người dùng khỏi tổ chức",
"remove_users_from_org_confirm": "Bạn có chắc chắn muốn xoá bỏ {{userCount}} người dùng khỏi tổ chức này?",
"user_has_no_schedules": "Người dùng này chưa thiết lập bất kỳ lịch nào",
"user_isnt_in_any_teams": "Người dùng này không nằm trong bất kì nhóm nào",
"requires_booker_email_verification": "Yêu cầu xác minh email của người đặt hẹn",
"description_requires_booker_email_verification": "Nhằm bảo đảm việc xác minh email của người đặt hẹn trước khi lên lịch sự kiện",
"requires_confirmation_mandatory": "Tin nhắn văn bản chỉ có thể được gửi đến người tham dự khi loại sự kiện cần thao tác xác nhận.",
"kyc_verification_information": "Nhằm bảo đảm về tính bảo mật, bạn phải xác minh {{teamOrAccount}} trước khi gửi tin nhắn văn bản đến người tham dự. Vui lòng liên lạc chúng tôi theo địa chỉ <a>{{supportEmail}}</a> và cung cấp thông tin sau:",
"kyc_verification_documents": "<ul><li>{{teamOrUser}} của bạn</li><li>Cho doanh nghiệp: Đính kèm giấy tờ xác minh doanh nghiệp</li><li>Cho cá nhân: Đính kèm thẻ căn cước do chính phủ cấp</li></ul>",
"verify_team_or_account": "Xác minh {{teamOrAccount}}",
"verify_account": "Xác minh tài khoản",
"kyc_verification": "Xác minh KYC",
"organizations": "Tổ chức",
"org_admin_other_teams": "Nhóm khác",
"org_admin_other_teams_description": "Tại đây bạn có thể thấy các nhóm trong tổ chức, những nhóm mà bạn không phải thành viên. Bạn có thể tự thêm mình vào những nhóm đó nếu cần.",
"no_other_teams_found": "Không tìm thấy những nhóm khác",
"no_other_teams_found_description": "Không có nhóm khác trong tổ chức này.",
"attendee_first_name_variable": "Tên người tham dự",
"attendee_last_name_variable": "Họ người tham dự",
"attendee_first_name_info": "Tên người tham gia lịch hẹn",
"attendee_last_name_info": "Họ người tham gia lịch hẹn",
"me": "Tôi",
"verify_team_tooltip": "Xác minh nhóm của bạn để kích hoạt chức năng gửi tin nhắn cho người tham dự",
"member_removed": "Thành xiên đã được xoá bỏ",
"my_availability": "Tình trạng trống lịch của tôi",
"team_availability": "Tình trạng trống lịch của nhóm",
"backup_code": "Mã sao lưu",
"backup_codes": "Mã sao lưu",
"backup_code_instructions": "Mỗi mã sao lưu có thể được dùng chính xác một lần để cấp quyền truy cập mà không cần bạn xác thực.",
"backup_codes_copied": "Đã sao chép mã sao lưu!",
"incorrect_backup_code": "Mã sao lưu không đúng.",
"lost_access": "Quyền truy cập bị mất",
"missing_backup_codes": "Không tìm thấy mã sao lưu. Vui lòng tạo mã này trong phần thiết lập.",
"admin_org_notification_email_subject": "Đã tạo tổ chức mới: hành động đang chờ xử lý",
"hi_admin": "Chào Quản trị viên",
"admin_org_notification_email_title": "Tổ chức cần phải thiết lập DNS",
"admin_org_notification_email_body_part1": "Một tổ chức kèm slug \"{{orgSlug}}\" đã được tạo.<br /><br />Hãy bảo đảm cấu hình registry DNS để cho tên miền phụ tương ứng với tổ chức mới được trỏ đến chỗ chạy ứng dụng chính. Không thì tổ chức sẽ không vận hành được.<br /><br />Đây chỉ là một số tuỳ chọn rất cơ bản để cấu hình tên miền phụ để trỏ đến ứng dụng của họ sao cho nó tải được trang hồ sơ của tổ chức.<br /><br />Bạn có thể làm việc này bằng A Record:",
"admin_org_notification_email_body_part2": "hoặc CNAME Record:",
"admin_org_notification_email_body_part3": "Sau khi bạn cấu hình tên miền phụ, vui lòng đánh dấu cấu hình DNS là xong trong phần Thiết lập quản trị tổ chức.",
"admin_org_notification_email_cta": "Đến phần Thiết lập quản trị tổ chức",
"org_has_been_processed": "Tổ chức đang được xử lý",
"org_error_processing": "Có lỗi khi xử lý tổ chức này",
"orgs_page_description": "Một danh sách chứa tất cả các tổ chức. Việc chấp thuận một tổ chức sẽ cho phép tất cả người dùng có tên miền email đó có thể đăng ký mà KHÔNG CẦN xác minh email.",
"unverified": "Chưa xác minh",
"dns_missing": "DNS bị thiếu",
"mark_dns_configured": "Đánh dấu khi DNS đã cấu hình",
"value": "Giá trị",
"your_organization_updated_sucessfully": "Tổ chức của bạn đã được cập nhật thành công",
"team_no_event_types": "Nhóm này không có loại sự kiện nào",
"seat_options_doesnt_multiple_durations": "Tuỳ chọn ghế ngồi không hỗ trợ nhiều khoảng thời gian",
"include_calendar_event": "Bao gồm sự kiện lịch",
"recently_added": "Đã thêm vào gần đây",
"no_members_found": "Không tìm thấy thành viên nào",
"event_setup_length_error": "Thiết lập sự kiện: Thời lượng phải ít nhất 1 phút.",
"availability_schedules": "Lịch trống",
"view_only_edit_availability_not_onboarded": "Người dùng chưa hoàn thành việc gia nhập. Bạn sẽ không thể đặt tình trạng lịch trống cho đến khi họ hoàn thành việc gia nhập.",
"view_only_edit_availability": "Bạn đang xem tình trạng trống lịch của người dùng này. Bạn chỉ có thể sửa tình trạng trống lịch của riêng bạn.",
"edit_users_availability": "Sửa tình trạng trống lịch của người dùng: {{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -19,8 +19,13 @@
"verify_email_email_button": "验证电子邮件", "verify_email_email_button": "验证电子邮件",
"copy_somewhere_safe": "将此 API 密钥保存在安全的地方。您将无法再次查看它。", "copy_somewhere_safe": "将此 API 密钥保存在安全的地方。您将无法再次查看它。",
"verify_email_email_body": "请点击下面的按钮来验证您的电子邮件地址。", "verify_email_email_body": "请点击下面的按钮来验证您的电子邮件地址。",
"verify_email_by_code_email_body": "请使用下面的代码验证您的电子邮件地址。",
"verify_email_email_link_text": "如果您不喜欢点击按钮,请点击以下链接:", "verify_email_email_link_text": "如果您不喜欢点击按钮,请点击以下链接:",
"email_verification_code": "输入验证码",
"email_verification_code_placeholder": "输入发送到您邮箱的验证码",
"incorrect_email_verification_code": "验证码不正确。",
"email_sent": "电子邮件已成功发送", "email_sent": "电子邮件已成功发送",
"email_not_sent": "发送电子邮件时出错",
"event_declined_subject": "拒绝:{{title}} 在 {{date}}", "event_declined_subject": "拒绝:{{title}} 在 {{date}}",
"event_cancelled_subject": "已取消:{{date}} 的 {{title}}", "event_cancelled_subject": "已取消:{{date}} 的 {{title}}",
"event_request_declined": "您的活动预约请求已被拒绝", "event_request_declined": "您的活动预约请求已被拒绝",
@@ -79,6 +84,7 @@
"event_awaiting_approval_recurring": "有定期活动正在等待您的批准", "event_awaiting_approval_recurring": "有定期活动正在等待您的批准",
"someone_requested_an_event": "有人请求在您的日历上安排一个活动。", "someone_requested_an_event": "有人请求在您的日历上安排一个活动。",
"someone_requested_password_reset": "有人请求了更改密码链接。", "someone_requested_password_reset": "有人请求了更改密码链接。",
"password_reset_email_sent": "如果我们的系统中存在此邮箱,您应该会收到一封重置电子邮件。",
"password_reset_instructions": "如果您没有这样请求,您可以安全地忽略此邮件,您的密码将不会被更改。", "password_reset_instructions": "如果您没有这样请求,您可以安全地忽略此邮件,您的密码将不会被更改。",
"event_awaiting_approval_subject": "等待批准:{{date}} 的 {{title}}", "event_awaiting_approval_subject": "等待批准:{{date}} 的 {{title}}",
"event_still_awaiting_approval": "有活动仍在等待您的批准", "event_still_awaiting_approval": "有活动仍在等待您的批准",
@@ -218,6 +224,10 @@
"already_have_an_account": "已经有帐号?", "already_have_an_account": "已经有帐号?",
"create_account": "创建账户", "create_account": "创建账户",
"confirm_password": "确认密码", "confirm_password": "确认密码",
"confirm_auth_change": "这将更改您的登录方式",
"confirm_auth_email_change": "更改电子邮件地址将断开您当前登录 Cal.com 的身份验证方法。我们将要求您验证您的新电子邮件地址。接下来,在按照发送到您邮箱的说明设置密码后,您将被注销并使用新的电子邮件地址登录,而不是当前的身份验证方法。",
"reset_your_password": "按照发送到您的电子邮件地址的说明设置新密码。",
"email_change": "使用您的新电子邮件地址和密码重新登录。",
"create_your_account": "创建您的账户", "create_your_account": "创建您的账户",
"sign_up": "注册", "sign_up": "注册",
"youve_been_logged_out": "您已登出", "youve_been_logged_out": "您已登出",
@@ -246,6 +256,8 @@
"available_apps": "可用应用", "available_apps": "可用应用",
"available_apps_lower_case": "可用的应用", "available_apps_lower_case": "可用的应用",
"available_apps_desc": "您尚未安装任何应用。在我们的<1>应用商店</1>中查看热门应用,并探索更多内容。", "available_apps_desc": "您尚未安装任何应用。在我们的<1>应用商店</1>中查看热门应用,并探索更多内容。",
"fixed_host_helper": "添加任何需要参加活动的人。<1>了解更多</1>",
"round_robin_helper": "组中的人员轮流参加,只有一个人将出席活动。",
"check_email_reset_password": "请检查您的邮箱,我们向您发送了一个重置密码的链接。", "check_email_reset_password": "请检查您的邮箱,我们向您发送了一个重置密码的链接。",
"finish": "完成", "finish": "完成",
"organization_general_description": "管理您的团队语言和时区的设置", "organization_general_description": "管理您的团队语言和时区的设置",
@@ -254,6 +266,7 @@
"nearly_there_instructions": "最后,您的个人简介和照片有助于您获得预约,并让人们了解他们的预约对象。", "nearly_there_instructions": "最后,您的个人简介和照片有助于您获得预约,并让人们了解他们的预约对象。",
"set_availability_instructions": "设置您通常可预约的时间范围。您可以稍后创建更多时间范围并将其分配到不同的日历。", "set_availability_instructions": "设置您通常可预约的时间范围。您可以稍后创建更多时间范围并将其分配到不同的日历。",
"set_availability": "设置您的可预约状态", "set_availability": "设置您的可预约状态",
"availability_settings": "可预约时间设置",
"continue_without_calendar": "无日历继续", "continue_without_calendar": "无日历继续",
"connect_your_calendar": "连接您的日历", "connect_your_calendar": "连接您的日历",
"connect_your_video_app": "连接您的视频应用", "connect_your_video_app": "连接您的视频应用",
@@ -395,6 +408,8 @@
"allow_dynamic_booking_tooltip": "可以动态创建组预约链接,方法为使用 '+' 来添加多个用户名。例如: '{{appName}}/bailey+peer'", "allow_dynamic_booking_tooltip": "可以动态创建组预约链接,方法为使用 '+' 来添加多个用户名。例如: '{{appName}}/bailey+peer'",
"allow_dynamic_booking": "允许参与者通过动态组预约来向您预约", "allow_dynamic_booking": "允许参与者通过动态组预约来向您预约",
"dynamic_booking": "动态组链接", "dynamic_booking": "动态组链接",
"allow_seo_indexing": "允许搜索引擎访问您的公开内容",
"seo_indexing": "允许 SEO 索引",
"email": "邮箱地址", "email": "邮箱地址",
"email_placeholder": "jdoe@example.com", "email_placeholder": "jdoe@example.com",
"full_name": "全名", "full_name": "全名",
@@ -510,6 +525,7 @@
"your_name": "您的姓名", "your_name": "您的姓名",
"your_full_name": "您的全名", "your_full_name": "您的全名",
"no_name": "无名称", "no_name": "无名称",
"enter_number_between_range": "请输入一个介于 1 和 {{maxOccurences}} 之间的数字",
"email_address": "邮箱地址", "email_address": "邮箱地址",
"enter_valid_email": "请输入有效的电子邮件", "enter_valid_email": "请输入有效的电子邮件",
"location": "位置", "location": "位置",
@@ -547,6 +563,7 @@
"leave": "退出", "leave": "退出",
"profile": "个人资料", "profile": "个人资料",
"my_team_url": "我的团队链接", "my_team_url": "我的团队链接",
"my_teams": "我的团队",
"team_name": "团队名称", "team_name": "团队名称",
"your_team_name": "您的团队名称", "your_team_name": "您的团队名称",
"team_updated_successfully": "团队更新成功", "team_updated_successfully": "团队更新成功",
@@ -574,6 +591,8 @@
"invite_new_member": "邀请新的团队成员", "invite_new_member": "邀请新的团队成员",
"invite_new_member_description": "注意:这将在您订阅的基础上<1>收取一个额外位置的费用(15 美元/月)</1>", "invite_new_member_description": "注意:这将在您订阅的基础上<1>收取一个额外位置的费用(15 美元/月)</1>",
"invite_new_team_member": "邀请某人加入您的团队。", "invite_new_team_member": "邀请某人加入您的团队。",
"upload_csv_file": "上传 .csv 文件",
"invite_via_email": "通过电子邮件邀请",
"change_member_role": "更改团队成员角色", "change_member_role": "更改团队成员角色",
"disable_cal_branding": "禁用 {{appName}} 品牌标志", "disable_cal_branding": "禁用 {{appName}} 品牌标志",
"disable_cal_branding_description": "隐藏您的公共页面中所有 {{appName}} 品牌标志。", "disable_cal_branding_description": "隐藏您的公共页面中所有 {{appName}} 品牌标志。",
@@ -846,6 +865,7 @@
"team_view_user_availability_disabled": "用户需要接受邀请以查看可预约时间", "team_view_user_availability_disabled": "用户需要接受邀请以查看可预约时间",
"set_as_away": "将自己设置为离开", "set_as_away": "将自己设置为离开",
"set_as_free": "关闭离开状态", "set_as_free": "关闭离开状态",
"toggle_away_error": "更新离开状态时出错",
"user_away": "此用户目前处于离开状态。", "user_away": "此用户目前处于离开状态。",
"user_away_description": "您试图预约的人已将自己置于离开状态,因此不接受新预约。", "user_away_description": "您试图预约的人已将自己置于离开状态,因此不接受新预约。",
"meet_people_with_the_same_tokens": "会见使用相同令牌的人", "meet_people_with_the_same_tokens": "会见使用相同令牌的人",
@@ -855,6 +875,7 @@
"account_managed_by_identity_provider_description": "要更改您的电子邮件,密码,启用两步验证及更多功能,请访问您的 {{provider}} 账户设置。", "account_managed_by_identity_provider_description": "要更改您的电子邮件,密码,启用两步验证及更多功能,请访问您的 {{provider}} 账户设置。",
"signin_with_google": "使用Google登录", "signin_with_google": "使用Google登录",
"signin_with_saml": "使用 SAML 登录", "signin_with_saml": "使用 SAML 登录",
"signin_with_saml_oidc": "使用 SAML/OIDC 登录",
"you_will_need_to_generate": "您需要从从您的旧工具上生成访问令牌", "you_will_need_to_generate": "您需要从从您的旧工具上生成访问令牌",
"import": "导入", "import": "导入",
"import_from": "导入自", "import_from": "导入自",
@@ -954,6 +975,8 @@
"offer_seats_description": "提供位置以供预约 (这将自动禁止访客和选择加入预约)。", "offer_seats_description": "提供位置以供预约 (这将自动禁止访客和选择加入预约)。",
"seats_available_one": "可用位置", "seats_available_one": "可用位置",
"seats_available_other": "可用位置", "seats_available_other": "可用位置",
"seats_nearly_full": "位置几乎已满",
"seats_half_full": "位置迅速填满",
"number_of_seats": "每个预约的位置数目", "number_of_seats": "每个预约的位置数目",
"enter_number_of_seats": "输入位置数目", "enter_number_of_seats": "输入位置数目",
"you_can_manage_your_schedules": "您可以在“可预约时间”页面管理您的时间表。", "you_can_manage_your_schedules": "您可以在“可预约时间”页面管理您的时间表。",
@@ -1034,12 +1057,15 @@
"how_you_want_add_cal_site": "您希望如何将 {{appName}} 添加到您的网站?", "how_you_want_add_cal_site": "您希望如何将 {{appName}} 添加到您的网站?",
"choose_ways_put_cal_site": "选择下列方式之一将 {{appName}} 放到您的网站上。", "choose_ways_put_cal_site": "选择下列方式之一将 {{appName}} 放到您的网站上。",
"setting_up_zapier": "设置您的 Zapier 集成", "setting_up_zapier": "设置您的 Zapier 集成",
"setting_up_make": "设置您的 Make 集成",
"generate_api_key": "生成 API 密钥", "generate_api_key": "生成 API 密钥",
"generate_api_key_description": "生成 API 密钥以将 {{appName}} 配合用于", "generate_api_key_description": "生成 API 密钥以将 {{appName}} 配合用于",
"your_unique_api_key": "您的唯一 API 密钥", "your_unique_api_key": "您的唯一 API 密钥",
"copy_safe_api_key": "复制此 API 密钥并将其保存在安全的位置。如果丢失此密钥,则必须生成新的密钥。", "copy_safe_api_key": "复制此 API 密钥并将其保存在安全的位置。如果丢失此密钥,则必须生成新的密钥。",
"zapier_setup_instructions": "<0>登录您的 Zapier 帐户并创建新的 Zap。</0><1>将 Cal.com 选择为 Trigger 应用。同时选择一个 Trigger 事件。</1><2>选择您的帐户,然后输入您的唯一 API 密钥。</2><3>测试您的 Trigger。</3><4>设置完毕!</4>", "zapier_setup_instructions": "<0>登录您的 Zapier 帐户并创建新的 Zap。</0><1>将 Cal.com 选择为 Trigger 应用。同时选择一个 Trigger 事件。</1><2>选择您的帐户,然后输入您的唯一 API 密钥。</2><3>测试您的 Trigger。</3><4>设置完毕!</4>",
"make_setup_instructions": "<0>转到 <1><0>Make 邀请链接</0></1>并安装 Cal.com 应用。</0><1>登录您的 Make 账户并创建一个新 Scenario。</1><2>选择 Cal.com 作为您的 Trigger 应用。同时选择一个 Trigger 事件。</2><3>选择您的账户,然后输入您的唯一 API 密钥。</3><4>测试您的 Trigger。</4><5>设置完毕!</5>",
"install_zapier_app": "请首先从 App Store 安装 Zapier 应用。", "install_zapier_app": "请首先从 App Store 安装 Zapier 应用。",
"install_make_app": "请先在 App Store 安装 Make 应用。",
"connect_apple_server": "连接到 Apple 服务器", "connect_apple_server": "连接到 Apple 服务器",
"calendar_url": "日历链接", "calendar_url": "日历链接",
"apple_server_generate_password": "生成应用特定的密码以将 {{appName}} 配合用于", "apple_server_generate_password": "生成应用特定的密码以将 {{appName}} 配合用于",
@@ -1089,6 +1115,7 @@
"email_attendee_action": "向参与者发送电子邮件", "email_attendee_action": "向参与者发送电子邮件",
"sms_attendee_action": "向参与者发送短信", "sms_attendee_action": "向参与者发送短信",
"sms_number_action": "向特定号码发送短信", "sms_number_action": "向特定号码发送短信",
"send_reminder_sms": "通过短信轻松向参与者发送会议提醒",
"whatsapp_number_action": "向特定号码发送 Whatsapp", "whatsapp_number_action": "向特定号码发送 Whatsapp",
"whatsapp_attendee_action": "向参与者发送 Whatsapp", "whatsapp_attendee_action": "向参与者发送 Whatsapp",
"workflows": "工作流程", "workflows": "工作流程",
@@ -1248,6 +1275,7 @@
"error_updating_settings": "更新设置时出错", "error_updating_settings": "更新设置时出错",
"personal_cal_url": "我的个人 {{appName}} URL", "personal_cal_url": "我的个人 {{appName}} URL",
"bio_hint": "请写一段简单的自我介绍,该介绍将会展示在您的个人 url 页面上。", "bio_hint": "请写一段简单的自我介绍,该介绍将会展示在您的个人 url 页面上。",
"user_has_no_bio": "此用户尚未添加个人简历。",
"delete_account_modal_title": "删除账户", "delete_account_modal_title": "删除账户",
"confirm_delete_account_modal": "您确定要删除您的 {{appName}} 账户吗?", "confirm_delete_account_modal": "您确定要删除您的 {{appName}} 账户吗?",
"delete_my_account": "删除我的账户", "delete_my_account": "删除我的账户",
@@ -1430,6 +1458,7 @@
"add_limit": "添加限制", "add_limit": "添加限制",
"team_name_required": "需要团队名称", "team_name_required": "需要团队名称",
"show_attendees": "在访客之间共享参与者信息", "show_attendees": "在访客之间共享参与者信息",
"show_available_seats_count": "显示可用位置数",
"how_booking_questions_as_variables": "如何将预约问题用作变量?", "how_booking_questions_as_variables": "如何将预约问题用作变量?",
"format": "格式", "format": "格式",
"uppercase_for_letters": "所有字母均使用大写", "uppercase_for_letters": "所有字母均使用大写",
@@ -1663,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "确定要删除 {{connectionType}} 配置吗?使用 {{connectionType}} 登录的团队成员将无法再访问 Cal.com。", "delete_sso_configuration_confirmation_description": "确定要删除 {{connectionType}} 配置吗?使用 {{connectionType}} 登录的团队成员将无法再访问 Cal.com。",
"organizer_timezone": "组织者时区", "organizer_timezone": "组织者时区",
"email_user_cta": "查看邀请", "email_user_cta": "查看邀请",
"email_no_user_invite_heading_team": "您已被邀请加入 {{appName}} 团队",
"email_no_user_invite_heading_org": "您已被邀请加入 {{appName}} 组织",
"email_no_user_invite_subheading": "{{invitedBy}} 已邀请您加入他们在 {{appName}} 上的团队。{{appName}} 是一个活动安排调度程序,让您和您的团队无需通过电子邮件沟通即可安排会议。", "email_no_user_invite_subheading": "{{invitedBy}} 已邀请您加入他们在 {{appName}} 上的团队。{{appName}} 是一个活动安排调度程序,让您和您的团队无需通过电子邮件沟通即可安排会议。",
"email_user_invite_subheading_team": "{{invitedBy}} 已邀请您加入他们在 {{appName}} 上的团队“{{teamName}}”。{{appName}} 是一个活动安排调度程序,让您和您的团队无需通过电子邮件沟通即可安排会议。", "email_user_invite_subheading_team": "{{invitedBy}} 已邀请您加入他们在 {{appName}} 上的团队“{{teamName}}”。{{appName}} 是一个活动安排调度程序,让您和您的团队无需通过电子邮件沟通即可安排会议。",
"email_user_invite_subheading_org": "{{invitedBy}} 已邀请您加入他们在 {{appName}} 上的组织“{{teamName}}”。{{appName}} 是一个活动日程安排程序,让您和您的组织无需通过电子邮件沟通即可安排会议。",
"email_no_user_invite_steps_intro": "我们将引导您完成几个简短步骤,您将立即与您的 {{entity}} 一起享受无压力的日程安排。", "email_no_user_invite_steps_intro": "我们将引导您完成几个简短步骤,您将立即与您的 {{entity}} 一起享受无压力的日程安排。",
"email_no_user_step_one": "选择您的用户名", "email_no_user_step_one": "选择您的用户名",
"email_no_user_step_two": "连接您的日历账户", "email_no_user_step_two": "连接您的日历账户",
@@ -1835,6 +1867,8 @@
"insights_no_data_found_for_filter": "未找到所选筛选器或所选日期的数据。", "insights_no_data_found_for_filter": "未找到所选筛选器或所选日期的数据。",
"acknowledge_booking_no_show_fee": "我同意,如果我不参加此活动,将从我的卡中收取 {{amount, currency}} 的失约费。", "acknowledge_booking_no_show_fee": "我同意,如果我不参加此活动,将从我的卡中收取 {{amount, currency}} 的失约费。",
"card_details": "卡详细信息", "card_details": "卡详细信息",
"something_went_wrong_on_our_end": "我们这边出了点问题。请联系我们的支持团队,我们将立即为您解决。",
"please_provide_following_text_to_suppport": "联系支持时请提供以下文本,以便更好地帮助您",
"seats_and_no_show_fee_error": "当前无法启用位置和收取失约费", "seats_and_no_show_fee_error": "当前无法启用位置和收取失约费",
"complete_your_booking": "完成您的预约", "complete_your_booking": "完成您的预约",
"complete_your_booking_subject": "完成您的预约: {{date}} 的 {{title}}", "complete_your_booking_subject": "完成您的预约: {{date}} 的 {{title}}",
@@ -1868,6 +1902,9 @@
"open_dialog_with_element_click": "当有人点击某个元素时,打开您的 Cal 对话框。", "open_dialog_with_element_click": "当有人点击某个元素时,打开您的 Cal 对话框。",
"need_help_embedding": "需要帮助?请参阅我们关于在 Wix、Squarespace 或 WordPress 上嵌入 Cal 的指南,请查看常见问题,或浏览高级嵌入选项。", "need_help_embedding": "需要帮助?请参阅我们关于在 Wix、Squarespace 或 WordPress 上嵌入 Cal 的指南,请查看常见问题,或浏览高级嵌入选项。",
"book_my_cal": "预约我的 Cal", "book_my_cal": "预约我的 Cal",
"first_name": "名字",
"last_name": "姓氏",
"first_last_name": "名字,姓氏",
"invite_as": "邀请作为", "invite_as": "邀请作为",
"form_updated_successfully": "成功更新表单。", "form_updated_successfully": "成功更新表单。",
"disable_attendees_confirmation_emails": "禁用参与者的默认确认电子邮件", "disable_attendees_confirmation_emails": "禁用参与者的默认确认电子邮件",
@@ -1881,6 +1918,7 @@
"first_event_type_webhook_description": "为此活动类型创建第一个 Webhook", "first_event_type_webhook_description": "为此活动类型创建第一个 Webhook",
"install_app_on": "安装应用的账户", "install_app_on": "安装应用的账户",
"create_for": "创建", "create_for": "创建",
"currency": "货币",
"organization_banner_description": "创建环境,以便让您的团队可以在其中通过轮流和集体日程安排来创建共享的应用、工作流程和活动类型。", "organization_banner_description": "创建环境,以便让您的团队可以在其中通过轮流和集体日程安排来创建共享的应用、工作流程和活动类型。",
"organization_banner_title": "管理具有多个团队的组织", "organization_banner_title": "管理具有多个团队的组织",
"set_up_your_organization": "设置您的组织", "set_up_your_organization": "设置您的组织",
@@ -1941,8 +1979,79 @@
"insights_team_filter": "团队:{{teamName}}", "insights_team_filter": "团队:{{teamName}}",
"insights_user_filter": "用户:{{userName}}", "insights_user_filter": "用户:{{userName}}",
"insights_subtitle": "查看您活动的预约 insights", "insights_subtitle": "查看您活动的预约 insights",
"location_options": "{{locationCount}} 个位置选项",
"custom_plan": "自定义计划", "custom_plan": "自定义计划",
"email_embed": "电子邮件已嵌入",
"add_times_to_your_email": "选择几个可预约时间并将它们嵌入到您的电子邮件",
"select_time": "选择时间",
"select_date": "选择日期",
"see_all_available_times": "查看所有可预约时间",
"org_team_names_example": "例如,营销团队",
"org_team_names_example_1": "例如,营销团队",
"org_team_names_example_2": "例如,销售团队",
"org_team_names_example_3": "例如,设计团队",
"org_team_names_example_4": "例如,工程团队",
"org_team_names_example_5": "例如,数据分析团队",
"org_max_team_warnings": "您稍后将能够添加更多团队。",
"what_is_this_meeting_about": "此会议是关于什么的?",
"add_to_team": "添加到团队",
"remove_users_from_org": "从组织中移除用户",
"remove_users_from_org_confirm": "您确定要从该组织中移除 {{userCount}} 个用户吗?",
"user_has_no_schedules": "此用户尚未设置任何计划。",
"user_isnt_in_any_teams": "此用户不在任何团队中",
"requires_booker_email_verification": "需要预约者电子邮件验证",
"description_requires_booker_email_verification": "确保在安排活动前验证预约者的电子邮件",
"requires_confirmation_mandatory": "仅当活动类型需要确认时,才能向参与者发送短信。",
"kyc_verification_information": "为了确保安全,您在向参与者发送短信之前必须验证您的 {{teamOrAccount}}。请通过 <a>{{supportEmail}}</a> 联系我们并提供以下信息:",
"kyc_verification_documents": "<ul><li>您的 {{teamOrUser}}</li><li>对于企业:附上您的企业验证文件</li><li>对于个人:附上政府颁发的 ID</li></ul>",
"verify_team_or_account": "验证 {{teamOrAccount}}",
"verify_account": "验证账户",
"kyc_verification": "KYC 验证",
"organizations": "组织",
"org_admin_other_teams": "其他团队",
"org_admin_other_teams_description": "在此处可以看到您的组织内您不属于的团队。如果需要,您可以将自己添加到这些团队中。",
"no_other_teams_found": "未找到其他团队",
"no_other_teams_found_description": "该组织中没有其他团队。",
"attendee_first_name_variable": "参与者名字",
"attendee_last_name_variable": "参与者姓氏",
"attendee_first_name_info": "预约人的名字",
"attendee_last_name_info": "预约人的姓氏",
"me": "我",
"verify_team_tooltip": "验证您的团队以允许向参与者发送消息",
"member_removed": "成员已移除",
"my_availability": "我的可预约时间",
"team_availability": "团队可预约时间",
"backup_code": "备份代码",
"backup_codes": "备份代码",
"backup_code_instructions": "每个备份代码只能使用一次,用于在没有验证器的情况下授予访问权限。",
"backup_codes_copied": "备份代码已复制!",
"incorrect_backup_code": "备份代码不正确。",
"lost_access": "失去访问权限",
"missing_backup_codes": "未找到备份代码。请在您的设置中生成备份代码。",
"admin_org_notification_email_subject": "新组织已创建:待操作",
"hi_admin": "你好,管理员",
"admin_org_notification_email_title": "组织需要 DNS 设置",
"admin_org_notification_email_body_part1": "已创建一个具有“{{orgSlug}}”slug 的组织。<br /><br />请确保将 DNS 注册表配置为将与新组织对应的子域指向正在运行主应用的位置。否则组织将无法运作。<br /><br />以下是几个非常基本的选项,用于将一个子域配置为指向其应用,以便加载组织资料页面。<br /><br />您可以使用 A 记录执行此操作:",
"admin_org_notification_email_body_part2": "或者 CNAME 记录:",
"admin_org_notification_email_body_part3": "配置子域后,请在组织管理员设置中将 DNS 配置标记为已完成。",
"admin_org_notification_email_cta": "转到组织管理员设置",
"org_has_been_processed": "组织已处理",
"org_error_processing": "处理此组织时出错",
"orgs_page_description": "所有组织的列表。接受某个组织将允许拥有该电子邮件域的所有用户无需电子邮件验证即可注册。",
"unverified": "未验证",
"dns_missing": "DNS 缺失",
"mark_dns_configured": "标记为 DNS 已配置",
"value": "值",
"your_organization_updated_sucessfully": "您的组织已成功更新",
"team_no_event_types": "此团队没有任何活动类型",
"seat_options_doesnt_multiple_durations": "位置选项不支持多个持续时间",
"include_calendar_event": "包括日历活动", "include_calendar_event": "包括日历活动",
"recently_added": "最近添加", "recently_added": "最近添加",
"no_members_found": "未找到成员",
"event_setup_length_error": "获得设置:持续时间必须至少为 1 分钟。",
"availability_schedules": "可预约时间表",
"view_only_edit_availability_not_onboarded": "此用户尚未完成入门流程。在他们完成入门流程之前,您将无法设置他们的可预约时间。",
"view_only_edit_availability": "您正在查看此用户的可预约时间。您只能编辑您自己的可预约时间。",
"edit_users_availability": "编辑用户的可预约时间:{{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 在此上方添加您的新字符串 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 在此上方添加您的新字符串 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
@@ -17,9 +17,15 @@
"verify_email_banner_body": "驗證您的電子郵件地址,以確保能準確收到遞送的電子郵件和行事曆", "verify_email_banner_body": "驗證您的電子郵件地址,以確保能準確收到遞送的電子郵件和行事曆",
"verify_email_email_header": "驗證您的電子郵件地址", "verify_email_email_header": "驗證您的電子郵件地址",
"verify_email_email_button": "驗證電子郵件", "verify_email_email_button": "驗證電子郵件",
"copy_somewhere_safe": "請將此 API 金鑰記在安全的地方。您之後將無法再次查看此金鑰。",
"verify_email_email_body": "請按一下下方的按鈕來驗證電子郵件地址。", "verify_email_email_body": "請按一下下方的按鈕來驗證電子郵件地址。",
"verify_email_by_code_email_body": "請使用下方驗證碼來驗證電子郵件地址。",
"verify_email_email_link_text": "若您不喜歡點擊按鈕,也可以使用以下連結:", "verify_email_email_link_text": "若您不喜歡點擊按鈕,也可以使用以下連結:",
"email_verification_code": "輸入驗證碼",
"email_verification_code_placeholder": "輸入傳送至您電子郵件地址的驗證碼",
"incorrect_email_verification_code": "驗證碼不正確。",
"email_sent": "電子郵件已成功傳送", "email_sent": "電子郵件已成功傳送",
"email_not_sent": "傳送此電子郵件時發生錯誤",
"event_declined_subject": "已拒絕:{{date}} 與 {{title}}", "event_declined_subject": "已拒絕:{{date}} 與 {{title}}",
"event_cancelled_subject": "已取消:{{date}} 的 {{title}}", "event_cancelled_subject": "已取消:{{date}} 的 {{title}}",
"event_request_declined": "活動請求遭到拒絕", "event_request_declined": "活動請求遭到拒絕",
@@ -78,6 +84,7 @@
"event_awaiting_approval_recurring": "定期活動正等待您的核准", "event_awaiting_approval_recurring": "定期活動正等待您的核准",
"someone_requested_an_event": "有人在行事曆上要求預定活動。", "someone_requested_an_event": "有人在行事曆上要求預定活動。",
"someone_requested_password_reset": "有人索取變更密碼的連結。", "someone_requested_password_reset": "有人索取變更密碼的連結。",
"password_reset_email_sent": "若我們的系統也登錄了此電子郵件地址,您應該就會收到重設電子郵件。",
"password_reset_instructions": "如果沒有索取的話,忽略這封電子郵件是安全的,密碼也不會變更。", "password_reset_instructions": "如果沒有索取的話,忽略這封電子郵件是安全的,密碼也不會變更。",
"event_awaiting_approval_subject": "等待核准:{{date}} 與 {{title}}", "event_awaiting_approval_subject": "等待核准:{{date}} 與 {{title}}",
"event_still_awaiting_approval": "活動還在等待核准", "event_still_awaiting_approval": "活動還在等待核准",
@@ -217,6 +224,10 @@
"already_have_an_account": "已經有帳號嗎?", "already_have_an_account": "已經有帳號嗎?",
"create_account": "新增帳號", "create_account": "新增帳號",
"confirm_password": "確認密碼", "confirm_password": "確認密碼",
"confirm_auth_change": "這會變更您登入的方式",
"confirm_auth_email_change": "變更電子郵件地址會使您目前登入 Cal.com 的驗證方式斷線。我們會要求您驗證新的電子郵件地址。接下來系統會將重設密碼的指示傳送至您的電子郵件地址,按照相關指示操作後您就會登出並使用新的電子郵件地址登入,而不是目前的驗證方法。",
"reset_your_password": "按照傳送至您電子郵件地址的指示來重設密碼。",
"email_change": "使用您的新電子郵件地址和密碼重新登入。",
"create_your_account": "新增帳號", "create_your_account": "新增帳號",
"sign_up": "註冊", "sign_up": "註冊",
"youve_been_logged_out": "已經登出", "youve_been_logged_out": "已經登出",
@@ -243,6 +254,10 @@
"all": "所有應用程式", "all": "所有應用程式",
"yours": "您的帳號", "yours": "您的帳號",
"available_apps": "可用的應用程式", "available_apps": "可用的應用程式",
"available_apps_lower_case": "可用的應用程式",
"available_apps_desc": "您尚未安裝任何應用程式。到我們的 <1>App Store</1> 查看以下的熱門應用程式,並探索更多內容",
"fixed_host_helper": "加入須參加此活動的所有人員。<1>深入瞭解</1>",
"round_robin_helper": "此群組成員將輪流出席,只有一人會出席此活動。",
"check_email_reset_password": "請檢查信箱。已經把重設密碼的連結寄出。", "check_email_reset_password": "請檢查信箱。已經把重設密碼的連結寄出。",
"finish": "結束", "finish": "結束",
"organization_general_description": "管理團隊的語言和時區設定", "organization_general_description": "管理團隊的語言和時區設定",
@@ -251,6 +266,7 @@
"nearly_there_instructions": "最後,簡單的個人簡介和照片能幫助您獲得預約,也能讓人們知道目前預約的對象是誰。", "nearly_there_instructions": "最後,簡單的個人簡介和照片能幫助您獲得預約,也能讓人們知道目前預約的對象是誰。",
"set_availability_instructions": "以定期的方式設定開放時間範圍。之後還可以繼續設定,並且歸類到各個行事曆。", "set_availability_instructions": "以定期的方式設定開放時間範圍。之後還可以繼續設定,並且歸類到各個行事曆。",
"set_availability": "設定開放時間", "set_availability": "設定開放時間",
"availability_settings": "可預約時間設定",
"continue_without_calendar": "在沒有行事曆的情況下繼續", "continue_without_calendar": "在沒有行事曆的情況下繼續",
"connect_your_calendar": "連結行事曆", "connect_your_calendar": "連結行事曆",
"connect_your_video_app": "連接視訊應用程式", "connect_your_video_app": "連接視訊應用程式",
@@ -392,6 +408,8 @@
"allow_dynamic_booking_tooltip": "使用 '+' 新增多個使用者名稱,以動態建立群組預約連結。例如:'{{appName}}/bailey+peer'", "allow_dynamic_booking_tooltip": "使用 '+' 新增多個使用者名稱,以動態建立群組預約連結。例如:'{{appName}}/bailey+peer'",
"allow_dynamic_booking": "允許與會者透過動態群組向您預約", "allow_dynamic_booking": "允許與會者透過動態群組向您預約",
"dynamic_booking": "動態群組連結", "dynamic_booking": "動態群組連結",
"allow_seo_indexing": "允許搜尋引擎存取您的公開內容",
"seo_indexing": "允許 SEO 編纂索引",
"email": "電子郵件", "email": "電子郵件",
"email_placeholder": "jdoe@example.com", "email_placeholder": "jdoe@example.com",
"full_name": "完整姓名", "full_name": "完整姓名",
@@ -406,6 +424,7 @@
"booking_requested": "預約已提出", "booking_requested": "預約已提出",
"meeting_ended": "會議已結束", "meeting_ended": "會議已結束",
"form_submitted": "表單已提交", "form_submitted": "表單已提交",
"booking_paid": "預約已付款",
"event_triggers": "事件發動條件", "event_triggers": "事件發動條件",
"subscriber_url": "訂閱者網址", "subscriber_url": "訂閱者網址",
"create_new_webhook": "建立新的 Webhook", "create_new_webhook": "建立新的 Webhook",
@@ -506,6 +525,7 @@
"your_name": "名字", "your_name": "名字",
"your_full_name": "您的全名", "your_full_name": "您的全名",
"no_name": "沒有名稱", "no_name": "沒有名稱",
"enter_number_between_range": "請輸入介於 1 到 {{maxOccurences}} 的數字",
"email_address": "電子郵件位址", "email_address": "電子郵件位址",
"enter_valid_email": "請輸入有效的電子郵件", "enter_valid_email": "請輸入有效的電子郵件",
"location": "地點", "location": "地點",
@@ -543,6 +563,7 @@
"leave": "離開", "leave": "離開",
"profile": "個人資料", "profile": "個人資料",
"my_team_url": "團隊網址", "my_team_url": "團隊網址",
"my_teams": "我的團隊",
"team_name": "團隊名稱", "team_name": "團隊名稱",
"your_team_name": "取團隊名稱", "your_team_name": "取團隊名稱",
"team_updated_successfully": "成功更新團隊", "team_updated_successfully": "成功更新團隊",
@@ -570,6 +591,8 @@
"invite_new_member": "邀請新成員", "invite_new_member": "邀請新成員",
"invite_new_member_description": "注意:您的訂閱會因此<1>加收一個座位費 ($15 美元/月)</1>。", "invite_new_member_description": "注意:您的訂閱會因此<1>加收一個座位費 ($15 美元/月)</1>。",
"invite_new_team_member": "邀至團隊裡。", "invite_new_team_member": "邀至團隊裡。",
"upload_csv_file": "上傳 .csv 檔案",
"invite_via_email": "透過電子郵件邀請",
"change_member_role": "改變團隊成員角色", "change_member_role": "改變團隊成員角色",
"disable_cal_branding": "關閉 {{appName}} 品牌識別", "disable_cal_branding": "關閉 {{appName}} 品牌識別",
"disable_cal_branding_description": "在公開頁面隱藏所有 {{appName}} 品牌識別。", "disable_cal_branding_description": "在公開頁面隱藏所有 {{appName}} 品牌識別。",
@@ -842,6 +865,7 @@
"team_view_user_availability_disabled": "使用者必須接受邀請,才可以查看開放的時間", "team_view_user_availability_disabled": "使用者必須接受邀請,才可以查看開放的時間",
"set_as_away": "設定為離開狀態", "set_as_away": "設定為離開狀態",
"set_as_free": "關閉離開狀態", "set_as_free": "關閉離開狀態",
"toggle_away_error": "更新離開狀態時發生錯誤",
"user_away": "這位使用者目前是離開狀態。", "user_away": "這位使用者目前是離開狀態。",
"user_away_description": "試圖預約的人已經設定為離開狀態,因此不接受新預約。", "user_away_description": "試圖預約的人已經設定為離開狀態,因此不接受新預約。",
"meet_people_with_the_same_tokens": "認識有相同 Token 的人", "meet_people_with_the_same_tokens": "認識有相同 Token 的人",
@@ -851,6 +875,7 @@
"account_managed_by_identity_provider_description": "要更改電子郵件、密碼、兩階段認證⋯⋯等,請造訪 {{provider}} 的帳號設定。", "account_managed_by_identity_provider_description": "要更改電子郵件、密碼、兩階段認證⋯⋯等,請造訪 {{provider}} 的帳號設定。",
"signin_with_google": "透過 Google 登入", "signin_with_google": "透過 Google 登入",
"signin_with_saml": "透過 SAML 登入", "signin_with_saml": "透過 SAML 登入",
"signin_with_saml_oidc": "透過 SAML/OIDC 登入",
"you_will_need_to_generate": "得要從先前的預定工具產生連結 Token。", "you_will_need_to_generate": "得要從先前的預定工具產生連結 Token。",
"import": "輸入", "import": "輸入",
"import_from": "輸入自", "import_from": "輸入自",
@@ -950,6 +975,8 @@
"offer_seats_description": "為預約提供座位 (這將停用賓客和選擇加入的預約)", "offer_seats_description": "為預約提供座位 (這將停用賓客和選擇加入的預約)",
"seats_available_one": "可用座位", "seats_available_one": "可用座位",
"seats_available_other": "尚有座位", "seats_available_other": "尚有座位",
"seats_nearly_full": "快額滿了",
"seats_half_full": "預約踴躍",
"number_of_seats": "每次預約的座位數", "number_of_seats": "每次預約的座位數",
"enter_number_of_seats": "輸入座位數", "enter_number_of_seats": "輸入座位數",
"you_can_manage_your_schedules": "在開放時間頁面可以管理行程表。", "you_can_manage_your_schedules": "在開放時間頁面可以管理行程表。",
@@ -1030,12 +1057,15 @@
"how_you_want_add_cal_site": "您希望以何種方式將 {{appName}} 加入您的網站?", "how_you_want_add_cal_site": "您希望以何種方式將 {{appName}} 加入您的網站?",
"choose_ways_put_cal_site": "選擇下列其中一種方式將 {{appName}} 放到您的網站。", "choose_ways_put_cal_site": "選擇下列其中一種方式將 {{appName}} 放到您的網站。",
"setting_up_zapier": "正在設定您的 Zapier 整合", "setting_up_zapier": "正在設定您的 Zapier 整合",
"setting_up_make": "正在設定您的 Make 整合",
"generate_api_key": "產生 API 金鑰", "generate_api_key": "產生 API 金鑰",
"generate_api_key_description": "產生 API 金鑰以在下列位置使用 {{appName}}:", "generate_api_key_description": "產生 API 金鑰以在下列位置使用 {{appName}}:",
"your_unique_api_key": "您的唯一 API 金鑰", "your_unique_api_key": "您的唯一 API 金鑰",
"copy_safe_api_key": "複製此 API 金鑰並存在安全的地方。如果您遺失此金鑰,就必須產生新的金鑰。", "copy_safe_api_key": "複製此 API 金鑰並存在安全的地方。如果您遺失此金鑰,就必須產生新的金鑰。",
"zapier_setup_instructions": "<0>登入您的 Zapier 帳號並建立新的 Zap。</0><1>選取 {{appName}} 作為您的 Trigger 應用程式,也請一併選擇 Trigger 事件。</1><2>選擇您的帳號,然後輸入您的唯一 API 金鑰。</2><3>測試您的 Trigger。</3><4>一切就大功告成了!</4>", "zapier_setup_instructions": "<0>登入您的 Zapier 帳號並建立新的 Zap。</0><1>選取 {{appName}} 作為您的 Trigger 應用程式,也請一併選擇 Trigger 事件。</1><2>選擇您的帳號,然後輸入您的唯一 API 金鑰。</2><3>測試您的 Trigger。</3><4>一切就大功告成了!</4>",
"make_setup_instructions": "<0>前往 <1><0>Make Invite Link</0></1>,然後安裝 Cal.com 應用程式。</0><1>登入您的 Make 帳號並建立新的 Scenario。</1><2>選取 Cal.com 作為您的 Trigger 應用程式,也請一併選擇 Trigger 事件。</2><3>選擇您的帳號,然後輸入您的唯一 API 金鑰。</3><4>測試您的 Trigger。</4><5>一切就大功告成了!</5>",
"install_zapier_app": "請先到 App Store 安裝 Zapier 應用程式。", "install_zapier_app": "請先到 App Store 安裝 Zapier 應用程式。",
"install_make_app": "請先到 App Store 安裝 Make 應用程式。",
"connect_apple_server": "連結到 Apple 伺服器", "connect_apple_server": "連結到 Apple 伺服器",
"calendar_url": "行事曆 URL", "calendar_url": "行事曆 URL",
"apple_server_generate_password": "請前往下列位置產生搭配 {{appName}} 使用的應用程式專用密碼", "apple_server_generate_password": "請前往下列位置產生搭配 {{appName}} 使用的應用程式專用密碼",
@@ -1085,6 +1115,7 @@
"email_attendee_action": "傳送電子郵件給與會者", "email_attendee_action": "傳送電子郵件給與會者",
"sms_attendee_action": "傳送簡訊給與會者", "sms_attendee_action": "傳送簡訊給與會者",
"sms_number_action": "傳送簡訊至特定號碼", "sms_number_action": "傳送簡訊至特定號碼",
"send_reminder_sms": "透過簡訊輕鬆傳送會議提醒給您的與會者",
"whatsapp_number_action": "傳送 Whatsapp 至特定號碼", "whatsapp_number_action": "傳送 Whatsapp 至特定號碼",
"whatsapp_attendee_action": "傳送 Whatsapp 給與會者", "whatsapp_attendee_action": "傳送 Whatsapp 給與會者",
"workflows": "工作流程", "workflows": "工作流程",
@@ -1244,6 +1275,7 @@
"error_updating_settings": "更新設定時發生錯誤", "error_updating_settings": "更新設定時發生錯誤",
"personal_cal_url": "我的個人 {{appName}} 網址", "personal_cal_url": "我的個人 {{appName}} 網址",
"bio_hint": "一些關於自己的句子,會顯示在個人網址頁面。", "bio_hint": "一些關於自己的句子,會顯示在個人網址頁面。",
"user_has_no_bio": "此使用者尚未新增個人資料。",
"delete_account_modal_title": "刪除帳號", "delete_account_modal_title": "刪除帳號",
"confirm_delete_account_modal": "確定要刪除您的 {{appName}} 的帳號嗎?", "confirm_delete_account_modal": "確定要刪除您的 {{appName}} 的帳號嗎?",
"delete_my_account": "刪除我的帳號", "delete_my_account": "刪除我的帳號",
@@ -1426,6 +1458,7 @@
"add_limit": "新增限制", "add_limit": "新增限制",
"team_name_required": "需提供團隊名稱", "team_name_required": "需提供團隊名稱",
"show_attendees": "和賓客分享與會者資訊", "show_attendees": "和賓客分享與會者資訊",
"show_available_seats_count": "顯示可用座位的數量。",
"how_booking_questions_as_variables": "如何將預約問題當作變數?", "how_booking_questions_as_variables": "如何將預約問題當作變數?",
"format": "格式", "format": "格式",
"uppercase_for_letters": "一律使用大寫字母", "uppercase_for_letters": "一律使用大寫字母",
@@ -1659,8 +1692,11 @@
"delete_sso_configuration_confirmation_description": "確定要刪除 {{connectionType}} 設定?使用 {{connectionType}} 登入的團隊成員將再也無法存取 Cal.com。", "delete_sso_configuration_confirmation_description": "確定要刪除 {{connectionType}} 設定?使用 {{connectionType}} 登入的團隊成員將再也無法存取 Cal.com。",
"organizer_timezone": "主辦者時區", "organizer_timezone": "主辦者時區",
"email_user_cta": "檢視邀請", "email_user_cta": "檢視邀請",
"email_no_user_invite_heading_team": "您已獲邀加入 {{appName}} 團隊",
"email_no_user_invite_heading_org": "您已獲邀加入 {{appName}} 組織",
"email_no_user_invite_subheading": "{{invitedBy}} 已邀請您加入對方在 {{appName}} 上的團隊。{{appName}} 是活動多工排程工具,可讓您和您的團隊無須透過繁複的電子郵件往來就能輕鬆預定會議。", "email_no_user_invite_subheading": "{{invitedBy}} 已邀請您加入對方在 {{appName}} 上的團隊。{{appName}} 是活動多工排程工具,可讓您和您的團隊無須透過繁複的電子郵件往來就能輕鬆預定會議。",
"email_user_invite_subheading_team": "{{invitedBy}} 已邀請您加入對方在 {{appName}} 上的「{{teamName}}」團隊。{{appName}} 為一款活動多功能排程工具,可讓您和團隊無須透過繁複的電子郵件往來,就能輕鬆預定會議。", "email_user_invite_subheading_team": "{{invitedBy}} 已邀請您加入對方在 {{appName}} 上的「{{teamName}}」團隊。{{appName}} 為一款活動多功能排程工具,可讓您和團隊無須透過繁複的電子郵件往來,就能輕鬆預定會議。",
"email_user_invite_subheading_org": "{{invitedBy}} 已邀請您加入對方在 {{appName}} 上的「{{teamName}}」團隊。{{appName}} 為一款活動多功能排程工具,可讓您和組織無須透過繁複的電子郵件往來,就能輕鬆預定會議。",
"email_no_user_invite_steps_intro": "我們會逐步引導您完成幾個簡短的步驟,然後您就能馬上與 {{entity}} 享受沒有壓力的排程預定功能。", "email_no_user_invite_steps_intro": "我們會逐步引導您完成幾個簡短的步驟,然後您就能馬上與 {{entity}} 享受沒有壓力的排程預定功能。",
"email_no_user_step_one": "選擇使用者名稱", "email_no_user_step_one": "選擇使用者名稱",
"email_no_user_step_two": "連結行事曆帳號", "email_no_user_step_two": "連結行事曆帳號",
@@ -1831,6 +1867,8 @@
"insights_no_data_found_for_filter": "找不到所選篩選條件或日期的資料。", "insights_no_data_found_for_filter": "找不到所選篩選條件或日期的資料。",
"acknowledge_booking_no_show_fee": "我同意若我未出席此活動,將從我的卡片收取 {{amount, currency}} 的缺席費。", "acknowledge_booking_no_show_fee": "我同意若我未出席此活動,將從我的卡片收取 {{amount, currency}} 的缺席費。",
"card_details": "卡片詳細資料", "card_details": "卡片詳細資料",
"something_went_wrong_on_our_end": "我們的系統發生了一點問題。請與支援團隊聯絡,我們會盡快為您修復。",
"please_provide_following_text_to_suppport": "聯絡支援團隊時,請提供下列資訊,以便我們進一步協助您",
"seats_and_no_show_fee_error": "目前無法啟用座位並收取缺席費", "seats_and_no_show_fee_error": "目前無法啟用座位並收取缺席費",
"complete_your_booking": "完成您的預約", "complete_your_booking": "完成您的預約",
"complete_your_booking_subject": "完成您的預約:{{date}} 的 {{title}}", "complete_your_booking_subject": "完成您的預約:{{date}} 的 {{title}}",
@@ -1864,6 +1902,9 @@
"open_dialog_with_element_click": "有人按一下元素即開啟 Cal 對話方塊。", "open_dialog_with_element_click": "有人按一下元素即開啟 Cal 對話方塊。",
"need_help_embedding": "需要協助嗎?歡迎查看我們的指南了解如何在 Wix、Squarespace 或 WordPress 上嵌入 Cal,也歡迎參閱我們的常見問題,或深入了解進階嵌入選項。", "need_help_embedding": "需要協助嗎?歡迎查看我們的指南了解如何在 Wix、Squarespace 或 WordPress 上嵌入 Cal,也歡迎參閱我們的常見問題,或深入了解進階嵌入選項。",
"book_my_cal": "預約我的 Cal", "book_my_cal": "預約我的 Cal",
"first_name": "名字",
"last_name": "姓氏",
"first_last_name": "名字,姓氏",
"invite_as": "邀請為", "invite_as": "邀請為",
"form_updated_successfully": "表單更新成功。", "form_updated_successfully": "表單更新成功。",
"disable_attendees_confirmation_emails": "為與會者停用預設確認電子郵件", "disable_attendees_confirmation_emails": "為與會者停用預設確認電子郵件",
@@ -1877,6 +1918,7 @@
"first_event_type_webhook_description": "為此活動類型建立第一個 Webhook", "first_event_type_webhook_description": "為此活動類型建立第一個 Webhook",
"install_app_on": "應用程式安裝帳號", "install_app_on": "應用程式安裝帳號",
"create_for": "建立", "create_for": "建立",
"currency": "貨幣",
"organization_banner_description": "建立環境,供團隊利用輪流制和全體預定功能建立共用的應用程式、工作流程和活動類型。", "organization_banner_description": "建立環境,供團隊利用輪流制和全體預定功能建立共用的應用程式、工作流程和活動類型。",
"organization_banner_title": "管理有多個團隊的組織", "organization_banner_title": "管理有多個團隊的組織",
"set_up_your_organization": "設定組織", "set_up_your_organization": "設定組織",
@@ -1937,6 +1979,79 @@
"insights_team_filter": "團隊:{{teamName}}", "insights_team_filter": "團隊:{{teamName}}",
"insights_user_filter": "使用者:{{userName}}", "insights_user_filter": "使用者:{{userName}}",
"insights_subtitle": "查看所有活動的預約 Insight", "insights_subtitle": "查看所有活動的預約 Insight",
"location_options": "{{locationCount}} 個地點選項",
"custom_plan": "自訂方案", "custom_plan": "自訂方案",
"email_embed": "嵌入的電子郵件",
"add_times_to_your_email": "選取幾個開放預約的時段,然後嵌入您的電子郵件",
"select_time": "選取時間",
"select_date": "選取日期",
"see_all_available_times": "查看所有可預約時段",
"org_team_names_example": "例如行銷團隊",
"org_team_names_example_1": "例如行銷團隊",
"org_team_names_example_2": "例如銷售團隊",
"org_team_names_example_3": "例如設計團隊",
"org_team_names_example_4": "例如工程團隊",
"org_team_names_example_5": "例如資料分析團隊",
"org_max_team_warnings": "您之後將可新增更多團隊。",
"what_is_this_meeting_about": "此會議的主題是什麼?",
"add_to_team": "新增至團隊",
"remove_users_from_org": "從組織中移除使用者",
"remove_users_from_org_confirm": "確定要從此組織移除 {{userCount}} 使用者嗎?",
"user_has_no_schedules": "此使用者尚未設定任何行程表。",
"user_isnt_in_any_teams": "此使用者未加入任何團隊",
"requires_booker_email_verification": "需要預約者電子郵件驗證",
"description_requires_booker_email_verification": "如要在預定活動之前先確保預約者的電子郵件驗證",
"requires_confirmation_mandatory": "簡訊只會在活動類型需要確認時傳送給與會者。",
"kyc_verification_information": "為確保安全,您必須先驗證您的 {{teamOrAccount}},再傳送簡訊給與會者。請透過 <a>{{supportEmail}}</a> 聯絡我們,並提供下列資訊:",
"kyc_verification_documents": "<ul><li>您的 {{teamOrUser}}</li><li>若是企業組織:請附上您的企業驗證文件</li><li>若是個人:請附上政府核發的身分證件</li></ul>",
"verify_team_or_account": "驗證 {{teamOrAccount}}",
"verify_account": "驗證帳號",
"kyc_verification": "KYC 驗證",
"organizations": "組織",
"org_admin_other_teams": "其他團隊",
"org_admin_other_teams_description": "您可查看貴組織內您未加入的團隊。您可視需要自行加入其中的團隊。",
"no_other_teams_found": "找不到其他團隊",
"no_other_teams_found_description": "此組織內沒有其他團隊。",
"attendee_first_name_variable": "與會者名字",
"attendee_last_name_variable": "與會者姓氏",
"attendee_first_name_info": "預約人名字",
"attendee_last_name_info": "預約人姓氏",
"me": "我",
"verify_team_tooltip": "驗證您的團隊,已啟用傳送訊息給與會者的訊息",
"member_removed": "成員已移除",
"my_availability": "我的可預約時間",
"team_availability": "團隊可預約時間",
"backup_code": "支援代碼",
"backup_codes": "支援代碼",
"backup_code_instructions": "每個支援代碼都只能用一次,以在未使用驗證者的情況下授予存取權。",
"backup_codes_copied": "已複製支援代碼!",
"incorrect_backup_code": "支援代碼不正確。",
"lost_access": "失去存取權",
"missing_backup_codes": "找不到支援代碼。請前往設定產生代碼。",
"admin_org_notification_email_subject": "已建立新的組織:待完成的動作",
"hi_admin": "管理員,您好",
"admin_org_notification_email_title": "組織需要設定 DNS",
"admin_org_notification_email_body_part1": "已建立 slug 為「{{orgSlug}}」的組織。<br /><br />請務必設定您的 DNS 登錄,以指向對應至主要應用程式運作位置的新組織子網域,否則組織將無法運作。<br /><br />以下是指向應用程式的子網域基本設定選項,如此一來系統才能載入組織設定檔案頁面。<br /><br />您可以也可以使用 A 記錄完成:",
"admin_org_notification_email_body_part2": "或 CNAME 記錄:",
"admin_org_notification_email_body_part3": "設定子網域後,請在組織管理設定中將 DNS 設定標記為已完成。",
"admin_org_notification_email_cta": "前往組織管理設定",
"org_has_been_processed": "已處理完成組織",
"org_error_processing": "處理此組織時發生錯誤",
"orgs_page_description": "所有組織的清單。接受組織可讓擁有該電子郵件網域的使用者無需電子郵件驗證就進行註冊。",
"unverified": "未經驗證",
"dns_missing": "DNS 遺失",
"mark_dns_configured": "標示為已設定 DNS",
"value": "價值",
"your_organization_updated_sucessfully": "您的組織成功更新",
"team_no_event_types": "此團隊沒有任何活動類型",
"seat_options_doesnt_multiple_durations": "座位選項不支援多個持續時間",
"include_calendar_event": "包含行事曆活動",
"recently_added": "最近新增",
"no_members_found": "找不到成員",
"event_setup_length_error": "活動設定:持續時間至少必須為 1 分鐘。",
"availability_schedules": "可預約時間行程表",
"view_only_edit_availability_not_onboarded": "此使用者尚未完成入門導覽。在對方完成入門導覽前,您將無法設定對方的可預約時間。",
"view_only_edit_availability": "您正在查看此使用者的可預約時間。您只能編輯自己的可預約時間。",
"edit_users_availability": "編輯使用者的可預約時間:{{username}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 請在此處新增您的字串 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑" "ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 請在此處新增您的字串 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
} }
+4
View File
@@ -109,6 +109,10 @@
background: var(--cal-brand); background: var(--cal-brand);
} }
html {
scrollbar-gutter: stable;
}
body  { body  {
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
+17 -18
View File
@@ -11,18 +11,17 @@ it("correctly handles 1 day", async () => {
startTime: new Date(Date.UTC(1970, 1, 1, 9, 0, 0, 0)), startTime: new Date(Date.UTC(1970, 1, 1, 9, 0, 0, 0)),
endTime: new Date(Date.UTC(1970, 1, 1, 17, 0, 0, 0)), endTime: new Date(Date.UTC(1970, 1, 1, 17, 0, 0, 0)),
date: null, date: null,
scheduleId: 1 scheduleId: 1,
}; };
const result = availabilityAsString(availability, { const result = availabilityAsString(availability, {
locale: 'en', locale: "en",
hour12: true hour12: true,
}); });
expect(replaceUnicodeSpace(result)).toBe("Mon, 9:00 AM - 5:00 PM"); expect(replaceUnicodeSpace(result)).toBe("Mon, 9:00 AM - 5:00 PM");
}); });
it("correctly handles all days", async () => { it("correctly handles all days", async () => {
const availability = { const availability = {
id: 1, id: 1,
@@ -32,12 +31,12 @@ it("correctly handles all days", async () => {
startTime: new Date(Date.UTC(1970, 1, 1, 9, 0, 0, 0)), startTime: new Date(Date.UTC(1970, 1, 1, 9, 0, 0, 0)),
endTime: new Date(Date.UTC(1970, 1, 1, 17, 0, 0, 0)), endTime: new Date(Date.UTC(1970, 1, 1, 17, 0, 0, 0)),
date: null, date: null,
scheduleId: 1 scheduleId: 1,
}; };
const result = availabilityAsString(availability, { const result = availabilityAsString(availability, {
locale: 'en', locale: "en",
hour12: true hour12: true,
}); });
expect(replaceUnicodeSpace(result)).toBe("Mon - Sun, 9:00 AM - 5:00 PM"); expect(replaceUnicodeSpace(result)).toBe("Mon - Sun, 9:00 AM - 5:00 PM");
@@ -52,12 +51,12 @@ it("correctly handles staggered days", async () => {
startTime: new Date(Date.UTC(1970, 1, 1, 9, 0, 0, 0)), startTime: new Date(Date.UTC(1970, 1, 1, 9, 0, 0, 0)),
endTime: new Date(Date.UTC(1970, 1, 1, 17, 0, 0, 0)), endTime: new Date(Date.UTC(1970, 1, 1, 17, 0, 0, 0)),
date: null, date: null,
scheduleId: 1 scheduleId: 1,
}; };
const result = availabilityAsString(availability, { const result = availabilityAsString(availability, {
locale: 'en', locale: "en",
hour12: true hour12: true,
}); });
expect(replaceUnicodeSpace(result)).toBe("Mon, Wed, Fri, Sun, 9:00 AM - 5:00 PM"); expect(replaceUnicodeSpace(result)).toBe("Mon, Wed, Fri, Sun, 9:00 AM - 5:00 PM");
@@ -72,12 +71,12 @@ it("correctly produces days and times - 12 hours", async () => {
startTime: new Date(Date.UTC(1970, 1, 1, 9, 0, 0, 0)), startTime: new Date(Date.UTC(1970, 1, 1, 9, 0, 0, 0)),
endTime: new Date(Date.UTC(1970, 1, 1, 17, 0, 0, 0)), endTime: new Date(Date.UTC(1970, 1, 1, 17, 0, 0, 0)),
date: null, date: null,
scheduleId: 1 scheduleId: 1,
}; };
const result = availabilityAsString(availability, { const result = availabilityAsString(availability, {
locale: 'en', locale: "en",
hour12: true hour12: true,
}); });
expect(replaceUnicodeSpace(result)).toBe("Mon - Wed, 9:00 AM - 5:00 PM"); expect(replaceUnicodeSpace(result)).toBe("Mon - Wed, 9:00 AM - 5:00 PM");
@@ -92,12 +91,12 @@ it("correctly produces days and times - 24 hours", async () => {
startTime: new Date(Date.UTC(1970, 1, 1, 9, 0, 0, 0)), startTime: new Date(Date.UTC(1970, 1, 1, 9, 0, 0, 0)),
endTime: new Date(Date.UTC(1970, 1, 1, 17, 0, 0, 0)), endTime: new Date(Date.UTC(1970, 1, 1, 17, 0, 0, 0)),
date: null, date: null,
scheduleId: 1 scheduleId: 1,
}; };
const result = availabilityAsString(availability, { const result = availabilityAsString(availability, {
locale: 'en', locale: "en",
hour12: false hour12: false,
}); });
expect(replaceUnicodeSpace(result)).toBe("Mon - Wed, 09:00 - 17:00"); expect(replaceUnicodeSpace(result)).toBe("Mon - Wed, 09:00 - 17:00");
@@ -107,5 +106,5 @@ it("correctly produces days and times - 24 hours", async () => {
// produces Unicode characters. Instead of using line for line code from the // produces Unicode characters. Instead of using line for line code from the
// availability.ts file, opted for this instead. // availability.ts file, opted for this instead.
const replaceUnicodeSpace = (string: string) => { const replaceUnicodeSpace = (string: string) => {
return string.replace(/\u202f/g, ' '); return string.replace(/\u202f/g, " ");
} };
+8 -1
View File
@@ -1,6 +1,7 @@
import { describe, expect, it } from "vitest";
import prismaMock from "../../../../tests/libs/__mocks__/prisma"; import prismaMock from "../../../../tests/libs/__mocks__/prisma";
import { describe, expect, it } from "vitest";
import dayjs from "@calcom/dayjs"; import dayjs from "@calcom/dayjs";
import { validateIntervalLimitOrder } from "@calcom/lib"; import { validateIntervalLimitOrder } from "@calcom/lib";
import { checkBookingLimits, checkBookingLimit } from "@calcom/lib/server"; import { checkBookingLimits, checkBookingLimit } from "@calcom/lib/server";
@@ -22,6 +23,7 @@ const MOCK_DATA: Mockdata = {
describe("Check Booking Limits Tests", () => { describe("Check Booking Limits Tests", () => {
it("Should return no errors", async () => { it("Should return no errors", async () => {
// @ts-expect-error Prisma v5 typings are not yet available
prismaMock.booking.count.mockResolvedValue(0); prismaMock.booking.count.mockResolvedValue(0);
expect( expect(
checkBookingLimits(MOCK_DATA.bookingLimits, MOCK_DATA.startDate, MOCK_DATA.id) checkBookingLimits(MOCK_DATA.bookingLimits, MOCK_DATA.startDate, MOCK_DATA.id)
@@ -29,6 +31,7 @@ describe("Check Booking Limits Tests", () => {
}); });
it("Should throw an error", async () => { it("Should throw an error", async () => {
// Mock there being two a day // Mock there being two a day
// @ts-expect-error Prisma v5 typings are not yet available
prismaMock.booking.count.mockResolvedValue(2); prismaMock.booking.count.mockResolvedValue(2);
expect( expect(
checkBookingLimits(MOCK_DATA.bookingLimits, MOCK_DATA.startDate, MOCK_DATA.id) checkBookingLimits(MOCK_DATA.bookingLimits, MOCK_DATA.startDate, MOCK_DATA.id)
@@ -36,6 +39,7 @@ describe("Check Booking Limits Tests", () => {
}); });
it("Should pass with multiple booking limits", async () => { it("Should pass with multiple booking limits", async () => {
// @ts-expect-error Prisma v5 typings are not yet available
prismaMock.booking.count.mockResolvedValue(0); prismaMock.booking.count.mockResolvedValue(0);
expect( expect(
checkBookingLimits( checkBookingLimits(
@@ -49,6 +53,7 @@ describe("Check Booking Limits Tests", () => {
).resolves.toBeTruthy(); ).resolves.toBeTruthy();
}); });
it("Should pass with multiple booking limits with one undefined", async () => { it("Should pass with multiple booking limits with one undefined", async () => {
// @ts-expect-error Prisma v5 typings are not yet available
prismaMock.booking.count.mockResolvedValue(0); prismaMock.booking.count.mockResolvedValue(0);
expect( expect(
checkBookingLimits( checkBookingLimits(
@@ -62,6 +67,7 @@ describe("Check Booking Limits Tests", () => {
).resolves.toBeTruthy(); ).resolves.toBeTruthy();
}); });
it("Should handle mutiple limits correctly", async () => { it("Should handle mutiple limits correctly", async () => {
// @ts-expect-error Prisma v5 typings are not yet available
prismaMock.booking.count.mockResolvedValue(1); prismaMock.booking.count.mockResolvedValue(1);
expect( expect(
checkBookingLimit({ checkBookingLimit({
@@ -71,6 +77,7 @@ describe("Check Booking Limits Tests", () => {
eventId: MOCK_DATA.id, eventId: MOCK_DATA.id,
}) })
).resolves.not.toThrow(); ).resolves.not.toThrow();
// @ts-expect-error Prisma v5 typings are not yet available
prismaMock.booking.count.mockResolvedValue(3); prismaMock.booking.count.mockResolvedValue(3);
expect( expect(
checkBookingLimit({ checkBookingLimit({
@@ -1,11 +1,11 @@
import { describe, expect, it } from "vitest";
import prismaMock from "../../../../tests/libs/__mocks__/prisma"; import prismaMock from "../../../../tests/libs/__mocks__/prisma";
import { describe, expect, it } from "vitest";
import dayjs from "@calcom/dayjs"; import dayjs from "@calcom/dayjs";
import { validateIntervalLimitOrder } from "@calcom/lib"; import { validateIntervalLimitOrder } from "@calcom/lib";
import { checkDurationLimit, checkDurationLimits } from "@calcom/lib/server"; import { checkDurationLimit, checkDurationLimits } from "@calcom/lib/server";
type MockData = { type MockData = {
id: number; id: number;
startDate: Date; startDate: Date;
@@ -2,10 +2,9 @@ import { expect, it, beforeAll, vi } from "vitest";
import { getAggregateWorkingHours } from "@calcom/core/getAggregateWorkingHours"; import { getAggregateWorkingHours } from "@calcom/core/getAggregateWorkingHours";
beforeAll(() => { beforeAll(() => {
vi.setSystemTime(new Date("2021-06-20T11:59:59Z")); vi.setSystemTime(new Date("2021-06-20T11:59:59Z"));
}) });
const HAWAII_AND_NEWYORK_TEAM = [ const HAWAII_AND_NEWYORK_TEAM = [
{ {
@@ -4,10 +4,9 @@ import { expect, it, beforeAll, vi } from "vitest";
import dayjs from "@calcom/dayjs"; import dayjs from "@calcom/dayjs";
import { getAvailabilityFromSchedule } from "@calcom/lib/availability"; import { getAvailabilityFromSchedule } from "@calcom/lib/availability";
beforeAll(() => { beforeAll(() => {
vi.setSystemTime(new Date("2021-06-20T11:59:59Z")); vi.setSystemTime(new Date("2021-06-20T11:59:59Z"));
}) });
//parse "hh:mm-hh:mm" into <Availability> object //parse "hh:mm-hh:mm" into <Availability> object
const parseWorkingHours = (workingHours: string) => { const parseWorkingHours = (workingHours: string) => {
+19 -19
View File
@@ -8,15 +8,17 @@ import prisma from "@calcom/prisma";
import type { BookingStatus } from "@calcom/prisma/enums"; import type { BookingStatus } from "@calcom/prisma/enums";
import type { Slot } from "@calcom/trpc/server/routers/viewer/slots/types"; import type { Slot } from "@calcom/trpc/server/routers/viewer/slots/types";
import { getAvailableSlots as getSchedule } from "@calcom/trpc/server/routers/viewer/slots/util"; import { getAvailableSlots as getSchedule } from "@calcom/trpc/server/routers/viewer/slots/util";
import { getDate, getGoogleCalendarCredential, createBookingScenario} from "../utils/bookingScenario";
import { getDate, getGoogleCalendarCredential, createBookingScenario } from "../utils/bookingScenario";
// TODO: Mock properly // TODO: Mock properly
prismaMock.eventType.findUnique.mockResolvedValue(null); prismaMock.eventType.findUnique.mockResolvedValue(null);
// @ts-expect-error Prisma v5 typings are not yet available
prismaMock.user.findMany.mockResolvedValue([]); prismaMock.user.findMany.mockResolvedValue([]);
vi.mock("@calcom/lib/constants", () => ({ vi.mock("@calcom/lib/constants", () => ({
IS_PRODUCTION: true, IS_PRODUCTION: true,
WEBAPP_URL: "http://localhost:3000" WEBAPP_URL: "http://localhost:3000",
})); }));
declare global { declare global {
@@ -143,7 +145,6 @@ const TestData = {
}, },
}; };
const cleanup = async () => { const cleanup = async () => {
await prisma.eventType.deleteMany(); await prisma.eventType.deleteMany();
await prisma.user.deleteMany(); await prisma.user.deleteMany();
@@ -296,7 +297,7 @@ describe("getSchedule", () => {
endTime: `${plus2DateString}T18:29:59.999Z`, endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: false, isTeamEvent: false,
} },
}); });
// getSchedule returns timeslots in GMT // getSchedule returns timeslots in GMT
@@ -328,7 +329,7 @@ describe("getSchedule", () => {
endTime: `${plus3DateString}T18:29:59.999Z`, endTime: `${plus3DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: false, isTeamEvent: false,
} },
}); });
expect(scheduleForDayWithOneBooking).toHaveTimeSlots( expect(scheduleForDayWithOneBooking).toHaveTimeSlots(
@@ -393,7 +394,7 @@ describe("getSchedule", () => {
endTime: `${plus2DateString}T18:29:59.999Z`, endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: false, isTeamEvent: false,
} },
}); });
expect(scheduleForEventWith30Length).toHaveTimeSlots( expect(scheduleForEventWith30Length).toHaveTimeSlots(
@@ -429,7 +430,7 @@ describe("getSchedule", () => {
endTime: `${plus2DateString}T18:29:59.999Z`, endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: false, isTeamEvent: false,
} },
}); });
// `slotInterval` takes precedence over `length` // `slotInterval` takes precedence over `length`
// 4:30 is utc so it is 10:00 in IST // 4:30 is utc so it is 10:00 in IST
@@ -493,7 +494,7 @@ describe("getSchedule", () => {
endTime: `${todayDateString}T18:29:59.999Z`, endTime: `${todayDateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: false, isTeamEvent: false,
} },
}); });
expect(scheduleForEventWithBookingNotice13Hrs).toHaveTimeSlots( expect(scheduleForEventWithBookingNotice13Hrs).toHaveTimeSlots(
[ [
@@ -514,7 +515,7 @@ describe("getSchedule", () => {
endTime: `${todayDateString}T18:29:59.999Z`, endTime: `${todayDateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: false, isTeamEvent: false,
} },
}); });
expect(scheduleForEventWithBookingNotice10Hrs).toHaveTimeSlots( expect(scheduleForEventWithBookingNotice10Hrs).toHaveTimeSlots(
[ [
@@ -578,7 +579,7 @@ describe("getSchedule", () => {
endTime: `${plus3DateString}T18:29:59.999Z`, endTime: `${plus3DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: false, isTeamEvent: false,
} },
}); });
expect(scheduleForEventOnADayWithNonCalBooking).toHaveTimeSlots( expect(scheduleForEventOnADayWithNonCalBooking).toHaveTimeSlots(
@@ -652,7 +653,7 @@ describe("getSchedule", () => {
endTime: `${plus2DateString}T18:29:59.999Z`, endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: false, isTeamEvent: false,
} },
}); });
expect(scheduleForEventOnADayWithCalBooking).toHaveTimeSlots( expect(scheduleForEventOnADayWithCalBooking).toHaveTimeSlots(
@@ -710,7 +711,7 @@ describe("getSchedule", () => {
endTime: `${plus2DateString}T18:29:59.999Z`, endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: false, isTeamEvent: false,
} },
}); });
expect(schedule).toHaveTimeSlots( expect(schedule).toHaveTimeSlots(
@@ -774,7 +775,7 @@ describe("getSchedule", () => {
endTime: `${plus2DateString}T18:29:59.999Z`, endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: false, isTeamEvent: false,
} },
}); });
expect(scheduleForEventOnADayWithDateOverride).toHaveTimeSlots( expect(scheduleForEventOnADayWithDateOverride).toHaveTimeSlots(
@@ -852,7 +853,7 @@ describe("getSchedule", () => {
endTime: `${plus2DateString}T18:29:59.999Z`, endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: false, isTeamEvent: false,
} },
}); });
expect(thisUserAvailability).toHaveTimeSlots( expect(thisUserAvailability).toHaveTimeSlots(
@@ -950,7 +951,7 @@ describe("getSchedule", () => {
endTime: `${plus1DateString}T18:29:59.999Z`, endTime: `${plus1DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: true, isTeamEvent: true,
} },
}); });
expect(scheduleForTeamEventOnADayWithNoBooking).toHaveTimeSlots( expect(scheduleForTeamEventOnADayWithNoBooking).toHaveTimeSlots(
@@ -980,7 +981,7 @@ describe("getSchedule", () => {
endTime: `${plus2DateString}T18:29:59.999Z`, endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: true, isTeamEvent: true,
} },
}); });
// A user with blocked time in another event, still affects Team Event availability // A user with blocked time in another event, still affects Team Event availability
@@ -1088,7 +1089,7 @@ describe("getSchedule", () => {
endTime: `${plus2DateString}T18:29:59.999Z`, endTime: `${plus2DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: true, isTeamEvent: true,
} },
}); });
// A user with blocked time in another event, still affects Team Event availability // A user with blocked time in another event, still affects Team Event availability
expect(scheduleForTeamEventOnADayWithOneBookingForEachUserButOnDifferentTimeslots).toHaveTimeSlots( expect(scheduleForTeamEventOnADayWithOneBookingForEachUserButOnDifferentTimeslots).toHaveTimeSlots(
@@ -1116,7 +1117,7 @@ describe("getSchedule", () => {
endTime: `${plus3DateString}T18:29:59.999Z`, endTime: `${plus3DateString}T18:29:59.999Z`,
timeZone: Timezones["+5:30"], timeZone: Timezones["+5:30"],
isTeamEvent: true, isTeamEvent: true,
} },
}); });
// A user with blocked time in another event, still affects Team Event availability // A user with blocked time in another event, still affects Team Event availability
expect(scheduleForTeamEventOnADayWithOneBookingForEachUserOnSameTimeSlot).toHaveTimeSlots( expect(scheduleForTeamEventOnADayWithOneBookingForEachUserOnSameTimeSlot).toHaveTimeSlots(
@@ -1139,4 +1140,3 @@ describe("getSchedule", () => {
}); });
}); });
}); });
+1 -1
View File
@@ -5,7 +5,7 @@ import { getWorkingHours } from "@calcom/lib/availability";
beforeAll(() => { beforeAll(() => {
vi.setSystemTime(new Date("2021-06-20T11:59:59Z")); vi.setSystemTime(new Date("2021-06-20T11:59:59Z"));
}) });
it("correctly translates Availability (UTC+0) to UTC workingHours", async () => { it("correctly translates Availability (UTC+0) to UTC workingHours", async () => {
expect( expect(
@@ -1,3 +1,5 @@
import prismaMock from "../../../../tests/libs/__mocks__/prisma";
import type { EventType } from "@prisma/client"; import type { EventType } from "@prisma/client";
import { describe, expect, it, vi } from "vitest"; import { describe, expect, it, vi } from "vitest";
@@ -6,10 +8,9 @@ import { buildEventType } from "@calcom/lib/test/builder";
import type { Prisma } from "@calcom/prisma/client"; import type { Prisma } from "@calcom/prisma/client";
import type { CompleteEventType, CompleteWorkflowsOnEventTypes } from "@calcom/prisma/zod"; import type { CompleteEventType, CompleteWorkflowsOnEventTypes } from "@calcom/prisma/zod";
import prismaMock from "../../../../tests/libs/__mocks__/prisma";
const mockFindFirstEventType = (data?: Partial<CompleteEventType>) => { const mockFindFirstEventType = (data?: Partial<CompleteEventType>) => {
const eventType = buildEventType(data as Partial<EventType>); const eventType = buildEventType(data as Partial<EventType>);
// @ts-expect-error Prisma v5 typings are not yet available
prismaMock.eventType.findFirst.mockResolvedValue(eventType as EventType); prismaMock.eventType.findFirst.mockResolvedValue(eventType as EventType);
return eventType; return eventType;
}; };
@@ -30,6 +31,7 @@ describe("handleChildrenEventTypes", () => {
describe("Shortcircuits", () => { describe("Shortcircuits", () => {
it("Returns message 'No managed event type'", async () => { it("Returns message 'No managed event type'", async () => {
mockFindFirstEventType(); mockFindFirstEventType();
// @ts-expect-error Prisma v5 typings are not yet available
const result = await updateChildrenEventTypes({ const result = await updateChildrenEventTypes({
eventTypeId: 1, eventTypeId: 1,
oldEventType: { children: [], team: { name: "" } }, oldEventType: { children: [], team: { name: "" } },
@@ -38,6 +40,7 @@ describe("handleChildrenEventTypes", () => {
currentUserId: 1, currentUserId: 1,
hashedLink: undefined, hashedLink: undefined,
connectedLink: null, connectedLink: null,
// @ts-expect-error Prisma v5 typings are not yet available
prisma: prismaMock, prisma: prismaMock,
}); });
expect(result.newUserIds).toEqual(undefined); expect(result.newUserIds).toEqual(undefined);
@@ -57,6 +60,7 @@ describe("handleChildrenEventTypes", () => {
currentUserId: 1, currentUserId: 1,
hashedLink: undefined, hashedLink: undefined,
connectedLink: null, connectedLink: null,
// @ts-expect-error Prisma v5 typings are not yet available
prisma: prismaMock, prisma: prismaMock,
}); });
expect(result.newUserIds).toEqual(undefined); expect(result.newUserIds).toEqual(undefined);
@@ -82,6 +86,7 @@ describe("handleChildrenEventTypes", () => {
currentUserId: 1, currentUserId: 1,
hashedLink: undefined, hashedLink: undefined,
connectedLink: null, connectedLink: null,
// @ts-expect-error Prisma v5 typings are not yet available
prisma: prismaMock, prisma: prismaMock,
}); });
expect(result.newUserIds).toEqual(undefined); expect(result.newUserIds).toEqual(undefined);
@@ -97,11 +102,12 @@ describe("handleChildrenEventTypes", () => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore // @ts-ignore
// eslint-disable-next-line // eslint-disable-next-line
const { schedulingType, id, teamId, timeZone, users,requiresBookerEmailVerification, ...evType } = mockFindFirstEventType({ const { schedulingType, id, teamId, timeZone, users, requiresBookerEmailVerification, ...evType } =
id: 123, mockFindFirstEventType({
metadata: { managedEventConfig: {} }, id: 123,
locations: [], metadata: { managedEventConfig: {} },
}); locations: [],
});
const result = await updateChildrenEventTypes({ const result = await updateChildrenEventTypes({
eventTypeId: 1, eventTypeId: 1,
oldEventType: { children: [], team: { name: "" } }, oldEventType: { children: [], team: { name: "" } },
@@ -110,6 +116,7 @@ describe("handleChildrenEventTypes", () => {
currentUserId: 1, currentUserId: 1,
hashedLink: undefined, hashedLink: undefined,
connectedLink: null, connectedLink: null,
// @ts-expect-error Prisma v5 typings are not yet available
prisma: prismaMock, prisma: prismaMock,
}); });
expect(prismaMock.eventType.create).toHaveBeenCalledWith({ expect(prismaMock.eventType.create).toHaveBeenCalledWith({
@@ -133,11 +140,21 @@ describe("handleChildrenEventTypes", () => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore // @ts-ignore
// eslint-disable-next-line // eslint-disable-next-line
const { schedulingType, id, teamId, timeZone, locations, parentId, userId, scheduleId,requiresBookerEmailVerification, ...evType } = const {
mockFindFirstEventType({ schedulingType,
metadata: { managedEventConfig: {} }, id,
locations: [], teamId,
}); timeZone,
locations,
parentId,
userId,
scheduleId,
requiresBookerEmailVerification,
...evType
} = mockFindFirstEventType({
metadata: { managedEventConfig: {} },
locations: [],
});
const result = await updateChildrenEventTypes({ const result = await updateChildrenEventTypes({
eventTypeId: 1, eventTypeId: 1,
oldEventType: { children: [{ userId: 4 }], team: { name: "" } }, oldEventType: { children: [{ userId: 4 }], team: { name: "" } },
@@ -146,6 +163,7 @@ describe("handleChildrenEventTypes", () => {
currentUserId: 1, currentUserId: 1,
hashedLink: "somestring", hashedLink: "somestring",
connectedLink: null, connectedLink: null,
// @ts-expect-error Prisma v5 typings are not yet available
prisma: prismaMock, prisma: prismaMock,
}); });
expect(prismaMock.eventType.update).toHaveBeenCalledWith({ expect(prismaMock.eventType.update).toHaveBeenCalledWith({
@@ -179,6 +197,7 @@ describe("handleChildrenEventTypes", () => {
currentUserId: 1, currentUserId: 1,
hashedLink: undefined, hashedLink: undefined,
connectedLink: null, connectedLink: null,
// @ts-expect-error Prisma v5 typings are not yet available
prisma: prismaMock, prisma: prismaMock,
}); });
expect(result.newUserIds).toEqual([]); expect(result.newUserIds).toEqual([]);
@@ -203,6 +222,7 @@ describe("handleChildrenEventTypes", () => {
currentUserId: 1, currentUserId: 1,
hashedLink: undefined, hashedLink: undefined,
connectedLink: null, connectedLink: null,
// @ts-expect-error Prisma v5 typings are not yet available
prisma: prismaMock, prisma: prismaMock,
}); });
// Have been called // Have been called
@@ -218,11 +238,12 @@ describe("handleChildrenEventTypes", () => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore // @ts-ignore
// eslint-disable-next-line // eslint-disable-next-line
const { schedulingType, id, teamId, timeZone, users,requiresBookerEmailVerification, ...evType } = mockFindFirstEventType({ const { schedulingType, id, teamId, timeZone, users, requiresBookerEmailVerification, ...evType } =
id: 123, mockFindFirstEventType({
metadata: { managedEventConfig: {} }, id: 123,
locations: [], metadata: { managedEventConfig: {} },
}); locations: [],
});
prismaMock.eventType.deleteMany.mockResolvedValue([123] as unknown as Prisma.BatchPayload); prismaMock.eventType.deleteMany.mockResolvedValue([123] as unknown as Prisma.BatchPayload);
const result = await updateChildrenEventTypes({ const result = await updateChildrenEventTypes({
eventTypeId: 1, eventTypeId: 1,
@@ -232,6 +253,7 @@ describe("handleChildrenEventTypes", () => {
currentUserId: 1, currentUserId: 1,
hashedLink: undefined, hashedLink: undefined,
connectedLink: null, connectedLink: null,
// @ts-expect-error Prisma v5 typings are not yet available
prisma: prismaMock, prisma: prismaMock,
}); });
expect(prismaMock.eventType.create).toHaveBeenCalledWith({ expect(prismaMock.eventType.create).toHaveBeenCalledWith({
@@ -255,11 +277,20 @@ describe("handleChildrenEventTypes", () => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore // @ts-ignore
// eslint-disable-next-line // eslint-disable-next-line
const { schedulingType, id, teamId, timeZone, users, locations, parentId, userId,requiresBookerEmailVerification, ...evType } = const {
mockFindFirstEventType({ schedulingType,
metadata: { managedEventConfig: {} }, id,
locations: [], teamId,
}); timeZone,
locations,
parentId,
userId,
requiresBookerEmailVerification,
...evType
} = mockFindFirstEventType({
metadata: { managedEventConfig: {} },
locations: [],
});
prismaMock.eventType.deleteMany.mockResolvedValue([123] as unknown as Prisma.BatchPayload); prismaMock.eventType.deleteMany.mockResolvedValue([123] as unknown as Prisma.BatchPayload);
const result = await updateChildrenEventTypes({ const result = await updateChildrenEventTypes({
eventTypeId: 1, eventTypeId: 1,
@@ -269,6 +300,7 @@ describe("handleChildrenEventTypes", () => {
currentUserId: 1, currentUserId: 1,
hashedLink: undefined, hashedLink: undefined,
connectedLink: null, connectedLink: null,
// @ts-expect-error Prisma v5 typings are not yet available
prisma: prismaMock, prisma: prismaMock,
}); });
expect(prismaMock.eventType.update).toHaveBeenCalledWith({ expect(prismaMock.eventType.update).toHaveBeenCalledWith({
@@ -327,6 +359,7 @@ describe("handleChildrenEventTypes", () => {
currentUserId: 1, currentUserId: 1,
hashedLink: undefined, hashedLink: undefined,
connectedLink: null, connectedLink: null,
// @ts-expect-error Prisma v5 typings are not yet available
prisma: prismaMock, prisma: prismaMock,
}); });
expect(prismaMock.eventType.create).toHaveBeenCalledWith({ expect(prismaMock.eventType.create).toHaveBeenCalledWith({
+21 -37
View File
@@ -1,4 +1,5 @@
import { it, expect, describe, beforeAll } from "vitest"; import { it, expect, describe, beforeAll } from "vitest";
// eslint-disable-next-line @typescript-eslint/no-var-requires // eslint-disable-next-line @typescript-eslint/no-var-requires
const { getSubdomainRegExp } = require("../../getSubdomainRegExp"); const { getSubdomainRegExp } = require("../../getSubdomainRegExp");
// eslint-disable-next-line @typescript-eslint/no-var-requires // eslint-disable-next-line @typescript-eslint/no-var-requires
@@ -30,67 +31,50 @@ beforeAll(async () => {
describe("next.config.js - Org Rewrite", () => { describe("next.config.js - Org Rewrite", () => {
const orgHostRegExp = (subdomainRegExp: string) => const orgHostRegExp = (subdomainRegExp: string) =>
// RegExp copied from pagesAndRewritePaths.js orgHostPath. Do make the change there as well. // RegExp copied from pagesAndRewritePaths.js orgHostPath. Do make the change there as well.
new RegExp(`^(?<orgSlug>${subdomainRegExp})\\.(?!vercel\.app).*`); new RegExp(`^(?<orgSlug>${subdomainRegExp})\\.(?!vercel\.app).*`);
describe("Host matching based on NEXT_PUBLIC_WEBAPP_URL", () => { describe("Host matching based on NEXT_PUBLIC_WEBAPP_URL", () => {
it("https://app.cal.com", () => { it("https://app.cal.com", () => {
const subdomainRegExp = getSubdomainRegExp("https://app.cal.com"); const subdomainRegExp = getSubdomainRegExp("https://app.cal.com");
expect(orgHostRegExp(subdomainRegExp).exec("app.cal.com")).toEqual(null); expect(orgHostRegExp(subdomainRegExp).exec("app.cal.com")).toEqual(null);
expect( expect(orgHostRegExp(subdomainRegExp).exec("company.app.cal.com")?.groups?.orgSlug).toEqual("company");
orgHostRegExp(subdomainRegExp).exec("company.app.cal.com")?.groups expect(orgHostRegExp(subdomainRegExp).exec("org.cal.com")?.groups?.orgSlug).toEqual("org");
?.orgSlug
).toEqual("company");
expect(
orgHostRegExp(subdomainRegExp).exec("org.cal.com")?.groups?.orgSlug
).toEqual("org");
expect( expect(orgHostRegExp(subdomainRegExp).exec("localhost:3000")).toEqual(null);
orgHostRegExp(subdomainRegExp).exec("localhost:3000")
).toEqual(null);
}); });
it("app.cal.com", () => { it("app.cal.com", () => {
const subdomainRegExp = getSubdomainRegExp("app.cal.com"); const subdomainRegExp = getSubdomainRegExp("app.cal.com");
expect(orgHostRegExp(subdomainRegExp).exec("app.cal.com")).toEqual(null); expect(orgHostRegExp(subdomainRegExp).exec("app.cal.com")).toEqual(null);
expect( expect(orgHostRegExp(subdomainRegExp).exec("company.app.cal.com")?.groups?.orgSlug).toEqual("company");
orgHostRegExp(subdomainRegExp).exec("company.app.cal.com")?.groups
?.orgSlug
).toEqual("company");
}); });
it("https://calcom.app.company.com", () => { it("https://calcom.app.company.com", () => {
const subdomainRegExp = getSubdomainRegExp( const subdomainRegExp = getSubdomainRegExp("https://calcom.app.company.com");
"https://calcom.app.company.com" expect(orgHostRegExp(subdomainRegExp).exec("calcom.app.company.com")).toEqual(null);
expect(orgHostRegExp(subdomainRegExp).exec("acme.calcom.app.company.com")?.groups?.orgSlug).toEqual(
"acme"
); );
expect(
orgHostRegExp(subdomainRegExp).exec("calcom.app.company.com")
).toEqual(null);
expect(
orgHostRegExp(subdomainRegExp).exec("acme.calcom.app.company.com")
?.groups?.orgSlug
).toEqual("acme");
}); });
it("https://calcom.example.com", () => { it("https://calcom.example.com", () => {
const subdomainRegExp = getSubdomainRegExp("https://calcom.example.com"); const subdomainRegExp = getSubdomainRegExp("https://calcom.example.com");
expect(orgHostRegExp(subdomainRegExp).exec("calcom.example.com")).toEqual( expect(orgHostRegExp(subdomainRegExp).exec("calcom.example.com")).toEqual(null);
null expect(orgHostRegExp(subdomainRegExp).exec("acme.calcom.example.com")?.groups?.orgSlug).toEqual("acme");
);
expect(
orgHostRegExp(subdomainRegExp).exec("acme.calcom.example.com")?.groups
?.orgSlug
).toEqual("acme");
// The following also matches which causes anything other than the domain in NEXT_PUBLIC_WEBAPP_URL to give 404 // The following also matches which causes anything other than the domain in NEXT_PUBLIC_WEBAPP_URL to give 404
expect( expect(orgHostRegExp(subdomainRegExp).exec("some-other.company.com")?.groups?.orgSlug).toEqual(
orgHostRegExp(subdomainRegExp).exec("some-other.company.com")?.groups "some-other"
?.orgSlug );
).toEqual("some-other");
}); });
it("Should ignore Vercel preview URLs", () => { it("Should ignore Vercel preview URLs", () => {
const subdomainRegExp = getSubdomainRegExp("https://cal-xxxxxxxx-cal.vercel.app"); const subdomainRegExp = getSubdomainRegExp("https://cal-xxxxxxxx-cal.vercel.app");
expect(orgHostRegExp(subdomainRegExp).exec("https://cal-xxxxxxxx-cal.vercel.app")).toMatchInlineSnapshot('null') expect(
expect(orgHostRegExp(subdomainRegExp).exec("cal-xxxxxxxx-cal.vercel.app")).toMatchInlineSnapshot('null') orgHostRegExp(subdomainRegExp).exec("https://cal-xxxxxxxx-cal.vercel.app")
).toMatchInlineSnapshot("null");
expect(orgHostRegExp(subdomainRegExp).exec("cal-xxxxxxxx-cal.vercel.app")).toMatchInlineSnapshot(
"null"
);
}); });
}); });
+3 -2
View File
@@ -1,7 +1,7 @@
import { expect, it } from "vitest";
import prismaMock from "../../../../tests/libs/__mocks__/prisma"; import prismaMock from "../../../../tests/libs/__mocks__/prisma";
import { expect, it } from "vitest";
import { getLuckyUser } from "@calcom/lib/server"; import { getLuckyUser } from "@calcom/lib/server";
import { buildUser } from "@calcom/lib/test/builder"; import { buildUser } from "@calcom/lib/test/builder";
@@ -36,6 +36,7 @@ it("can find lucky user with maximize availability", async () => {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore // @ts-ignore
prismaMock.user.findMany.mockResolvedValue(users); prismaMock.user.findMany.mockResolvedValue(users);
// @ts-expect-error Prisma v5 typings are not yet available
prismaMock.booking.findMany.mockResolvedValue([]); prismaMock.booking.findMany.mockResolvedValue([]);
await expect( await expect(
+21 -9
View File
@@ -1,3 +1,7 @@
import appStoreMock from "../../../../tests/libs/__mocks__/app-store";
import i18nMock from "../../../../tests/libs/__mocks__/libServerI18n";
import prismaMock from "../../../../tests/libs/__mocks__/prisma";
import type { import type {
EventType as PrismaEventType, EventType as PrismaEventType,
User as PrismaUser, User as PrismaUser,
@@ -17,10 +21,6 @@ import type { BookingStatus } from "@calcom/prisma/enums";
import type { EventBusyDate } from "@calcom/types/Calendar"; import type { EventBusyDate } from "@calcom/types/Calendar";
import type { Fixtures } from "@calcom/web/test/fixtures/fixtures"; import type { Fixtures } from "@calcom/web/test/fixtures/fixtures";
import appStoreMock from "../../../../tests/libs/__mocks__/app-store";
import i18nMock from "../../../../tests/libs/__mocks__/libServerI18n";
import prismaMock from "../../../../tests/libs/__mocks__/prisma";
type App = { type App = {
slug: string; slug: string;
dirName: string; dirName: string;
@@ -176,9 +176,11 @@ async function addBookings(bookings: InputBooking[], eventTypes: InputEventType[
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore // @ts-ignore
prismaMock.booking.findMany.mockImplementation((findManyArg) => { prismaMock.booking.findMany.mockImplementation((findManyArg) => {
// @ts-expect-error Prisma v5 breaks this
const where = findManyArg?.where || {}; const where = findManyArg?.where || {};
return new Promise((resolve) => { return new Promise((resolve) => {
resolve( resolve(
// @ts-expect-error Prisma v5 breaks this
bookings bookings
// We can improve this filter to support the entire where clause but that isn't necessary yet. So, handle what we know we pass to `findMany` and is needed // We can improve this filter to support the entire where clause but that isn't necessary yet. So, handle what we know we pass to `findMany` and is needed
.filter((booking) => { .filter((booking) => {
@@ -194,10 +196,17 @@ async function addBookings(bookings: InputBooking[], eventTypes: InputEventType[
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore // @ts-ignore
const statusIn = where.OR[0].status?.in || []; const statusIn = where.OR[0].status?.in || [];
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
const userIdIn = where.OR[0].userId?.in || [];
const firstConditionMatches = const firstConditionMatches =
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore // @ts-ignore
statusIn.includes(booking.status) && booking.userId === where.OR[0].userId; statusIn.includes(booking.status) &&
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
(booking.userId === where.OR[0].userId || userIdIn.includes(booking.userId));
// We return this booking if either condition is met // We return this booking if either condition is met
return firstConditionMatches; return firstConditionMatches;
@@ -215,6 +224,7 @@ async function addBookings(bookings: InputBooking[], eventTypes: InputEventType[
async function addWebhooks(webhooks: InputWebhook[]) { async function addWebhooks(webhooks: InputWebhook[]) {
prismaMock.webhook.findMany.mockResolvedValue( prismaMock.webhook.findMany.mockResolvedValue(
// @ts-expect-error Prisma v5 breaks this
webhooks.map((webhook) => { webhooks.map((webhook) => {
return { return {
...webhook, ...webhook,
@@ -235,13 +245,16 @@ function addUsers(users: InputUser[]) {
// @ts-ignore // @ts-ignore
prismaMock.user.findUniqueOrThrow.mockImplementation((findUniqueArgs) => { prismaMock.user.findUniqueOrThrow.mockImplementation((findUniqueArgs) => {
return new Promise((resolve) => { return new Promise((resolve) => {
// @ts-expect-error Prisma v5 breaks this
resolve({ resolve({
// @ts-expect-error Prisma v5 breaks this
email: `IntegrationTestUser${findUniqueArgs?.where.id}@example.com`, email: `IntegrationTestUser${findUniqueArgs?.where.id}@example.com`,
} as unknown as PrismaUser); } as unknown as PrismaUser);
}); });
}); });
prismaMock.user.findMany.mockResolvedValue( prismaMock.user.findMany.mockResolvedValue(
// @ts-expect-error Prisma v5 breaks this
users.map((user) => { users.map((user) => {
return { return {
...user, ...user,
@@ -258,6 +271,7 @@ export async function createBookingScenario(data: ScenarioData) {
const eventType = addEventTypes(data.eventTypes, data.users); const eventType = addEventTypes(data.eventTypes, data.users);
if (data.apps) { if (data.apps) {
// @ts-expect-error Prisma v5 breaks this
prismaMock.app.findMany.mockResolvedValue(data.apps as PrismaApp[]); prismaMock.app.findMany.mockResolvedValue(data.apps as PrismaApp[]);
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // eslint-disable-next-line @typescript-eslint/ban-ts-comment
//@ts-ignore //@ts-ignore
@@ -555,9 +569,8 @@ export function getScenarioData({
} }
export function mockEnableEmailFeature() { export function mockEnableEmailFeature() {
// @ts-expect-error Prisma v5 breaks this
prismaMock.feature.findMany.mockResolvedValue([ prismaMock.feature.findMany.mockResolvedValue([
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
{ {
slug: "emails", slug: "emails",
// It's a kill switch // It's a kill switch
@@ -567,8 +580,7 @@ export function mockEnableEmailFeature() {
} }
export function mockNoTranslations() { export function mockNoTranslations() {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-expect-error FIXME
//@ts-ignore
i18nMock.getTranslation.mockImplementation(() => { i18nMock.getTranslation.mockImplementation(() => {
return new Promise((resolve) => { return new Promise((resolve) => {
const identityFn = (key: string) => key; const identityFn = (key: string) => key;
+8
View File
@@ -0,0 +1,8 @@
{
"crons": [
{
"path": "/api/cron/calendar-cache-cleanup",
"schedule": "0 5 * * *"
}
]
}
+1 -1
View File
@@ -8,4 +8,4 @@ Refer to https://developer.cal.com/guides/how-to-build-an-app
- An app created through CLI should be able to completely skip API validation for testing purposes. Credentials should be created with no API specified specific to the app. It would allow us to test any app end to end not worrying about the corresponding API endpoint. - An app created through CLI should be able to completely skip API validation for testing purposes. Credentials should be created with no API specified specific to the app. It would allow us to test any app end to end not worrying about the corresponding API endpoint.
- Someone can add wrong directory name(which doesn't satisfy slug requirements) manually. How to handle it. - Someone can add wrong directory name(which doesn't satisfy slug requirements) manually. How to handle it.
- Allow editing and updating app from the cal app itself - including assets uploading when developing locally. - Allow editing and updating app from the cal app itself - including assets uploading when developing locally.
- Use AppDeclarativeHandler across all apps. Whatever isn't supported in it, support that. - Follow the [App Contribution Guidelines](../app-store/CONTRIBUTING.md)
+22
View File
@@ -0,0 +1,22 @@
## App Contribution Guidelines
#### `DESCRIPTION.md`
1. images - include atleast 4 images (do we have a recommended size here?). Can show app in use and/or installation steps
2. add only file name for images, path not required. i.e. `1.jpeg`, not `/app-store/zohocalendar/1.jpeg`
3. description should include what the integration with Cal allows the user to do e.g. `Allows you to sync Cal bookings with your Zoho Calendar`
#### `README.md`
1. Include installation instructions and links to the app's website.
2. For url use `<baseUrl>/api/integrations`, rather than `<Cal.com>/api/integrations`
#### `config.json`
1. set `"logo": "icon.svg"` and save icon in `/static`. Don't use paths here.
2. description here should not exceed 10 words (this is arbitrary, but should not be long otherwise it's truncated in the app store)
#### Others
1. Add API documentation links in comments for files `api`, `lib` and `types`
2. Use [`AppDeclarativeHandler`](../types/AppHandler.d.ts) across all apps. Whatever isn't supported in it, support that.
3. README should be added in the respective app and can be linked in main README [like this](https://github.com/calcom/cal.com/pull/10429/files/155ac84537d12026f595551fe3542e810b029714#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R509)
4. Also, no env variables should be added by an app. They should be [added in `zod.ts`](https://github.com/calcom/cal.com/blob/main/packages/app-store/jitsivideo/zod.ts) and then they would be automatically available to be modified by the cal.com app admin.
@@ -3,8 +3,8 @@ import type { NextApiRequest } from "next";
import { HttpError } from "@calcom/lib/http-error"; import { HttpError } from "@calcom/lib/http-error";
import prisma from "@calcom/prisma"; import prisma from "@calcom/prisma";
import { decodeOAuthState } from "./decodeOAuthState"; import { decodeOAuthState } from "../oauth/decodeOAuthState";
import { throwIfNotHaveAdminAccessToTeam } from "./throwIfNotHaveAdminAccessToTeam"; import { throwIfNotHaveAdminAccessToTeam } from "../throwIfNotHaveAdminAccessToTeam";
/** /**
* This function is used to create app credentials for either a user or a team * This function is used to create app credentials for either a user or a team
@@ -1,6 +1,6 @@
import type { NextApiRequest } from "next"; import type { NextApiRequest } from "next";
import type { IntegrationOAuthCallbackState } from "../types"; import type { IntegrationOAuthCallbackState } from "../../types";
export function decodeOAuthState(req: NextApiRequest) { export function decodeOAuthState(req: NextApiRequest) {
if (typeof req.query.state !== "string") { if (typeof req.query.state !== "string") {
@@ -1,6 +1,6 @@
import type { NextApiRequest } from "next"; import type { NextApiRequest } from "next";
import type { IntegrationOAuthCallbackState } from "../types"; import type { IntegrationOAuthCallbackState } from "../../types";
export function encodeOAuthState(req: NextApiRequest) { export function encodeOAuthState(req: NextApiRequest) {
if (typeof req.query.state !== "string") { if (typeof req.query.state !== "string") {
@@ -0,0 +1,32 @@
import { z } from "zod";
import { APP_CREDENTIAL_SHARING_ENABLED } from "@calcom/lib/constants";
const minimumTokenResponseSchema = z.object({
access_token: z.string(),
// Assume that any property with a number is the expiry
[z.string().toString()]: z.number(),
// Allow other properties in the token response
[z.string().optional().toString()]: z.unknown().optional(),
});
const parseRefreshTokenResponse = (response: any, schema: z.ZodTypeAny) => {
let refreshTokenResponse;
if (APP_CREDENTIAL_SHARING_ENABLED && process.env.CALCOM_CREDENTIAL_SYNC_ENDPOINT) {
refreshTokenResponse = minimumTokenResponseSchema.safeParse(response);
} else {
refreshTokenResponse = schema.safeParse(response);
}
if (!refreshTokenResponse.success) {
throw new Error("Invalid refreshed tokens were returned");
}
if (!refreshTokenResponse.data.refresh_token) {
refreshTokenResponse.data.refresh_token = "refresh_token";
}
return refreshTokenResponse;
};
export default parseRefreshTokenResponse;
@@ -0,0 +1,22 @@
import { APP_CREDENTIAL_SHARING_ENABLED } from "@calcom/lib/constants";
const refreshOAuthTokens = async (refreshFunction: () => any, appSlug: string, userId: number | null) => {
// Check that app syncing is enabled and that the credential belongs to a user
if (APP_CREDENTIAL_SHARING_ENABLED && process.env.CALCOM_CREDENTIAL_SYNC_ENDPOINT && userId) {
// Customize the payload based on what your endpoint requires
// The response should only contain the access token and expiry date
const response = await fetch(process.env.CALCOM_CREDENTIAL_SYNC_ENDPOINT, {
method: "POST",
body: new URLSearchParams({
calcomUserId: userId.toString(),
appSlug,
}),
});
return response;
} else {
const response = await refreshFunction();
return response;
}
};
export default refreshOAuthTokens;
+8
View File
@@ -0,0 +1,8 @@
---
items:
- iframe: { src: https://www.youtube.com/embed/tExtOJqnI0Q }
- 1.jpg
- 2.png
---
{DESCRIPTION}
+16
View File
@@ -0,0 +1,16 @@
import { createDefaultInstallation } from "@calcom/app-store/_utils/installation";
import type { AppDeclarativeHandler } from "@calcom/types/AppHandler";
import appConfig from "../config.json";
const handler: AppDeclarativeHandler = {
appType: appConfig.type,
variant: appConfig.variant,
slug: appConfig.slug,
supportsMultipleInstalls: false,
handlerType: "add",
createCredential: ({ appType, user, slug, teamId }) =>
createDefaultInstallation({ appType, userId: user.id, slug, key: {}, teamId }),
};
export default handler;
+1
View File
@@ -0,0 +1 @@
export { default as add } from "./add";
+17
View File
@@ -0,0 +1,17 @@
{
"/*": "Don't modify slug - If required, do it using cli edit command",
"name": "Alby",
"slug": "alby",
"type": "alby_payment",
"logo": "icon.svg",
"url": "https://example.com/link",
"variant": "payment",
"categories": ["payment"],
"publisher": "Alby",
"email": "support@getalby.com",
"description": "Your Bitcoin & Nostr companion for the web. Use Alby to charge Satoshi for your Cal.com meetings.\r",
"isTemplate": false,
"__createdUsingCli": true,
"__template": "basic",
"dirName": "alby"
}
+1
View File
@@ -0,0 +1 @@
export * as api from "./api";
+14
View File
@@ -0,0 +1,14 @@
{
"$schema": "https://json.schemastore.org/package.json",
"private": true,
"name": "@calcom/alby",
"version": "0.0.0",
"main": "./index.ts",
"dependencies": {
"@calcom/lib": "*"
},
"devDependencies": {
"@calcom/types": "*"
},
"description": "Your Bitcoin & Nostr companion for the web. Use Alby to charge Satoshi for your Cal.com meetings.\r"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

+12
View File
@@ -0,0 +1,12 @@
<svg width="554" height="554" viewBox="0 0 554 554" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="554" height="554" rx="64" fill="white"/>
<path d="M127.7 202.4C107.431 202.4 90.9999 185.969 90.9999 165.7C90.9999 145.431 107.431 129 127.7 129C147.969 129 164.4 145.431 164.4 165.7C164.4 185.969 147.969 202.4 127.7 202.4Z" fill="black"/>
<path d="M121.6 160.2L190.1 228.7" stroke="black" stroke-width="18.3"/>
<path d="M427.2 202.4C447.469 202.4 463.9 185.969 463.9 165.7C463.9 145.431 447.469 129 427.2 129C406.931 129 390.5 145.431 390.5 165.7C390.5 185.969 406.931 202.4 427.2 202.4Z" fill="black"/>
<path d="M434 160.2L365.5 228.7" stroke="black" stroke-width="18.3"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M138.1 384.6C128.451 380.122 120.543 372.597 115.592 363.182C110.641 353.768 108.922 342.987 110.7 332.5C127.3 240 196.2 170.6 278.7 170.6C361.4 170.6 430.5 240.3 446.8 333.2C448.539 343.695 446.779 354.47 441.792 363.867C436.805 373.263 428.866 380.759 419.2 385.2C375.441 405.799 327.664 416.454 279.3 416.4C228.8 416.4 180.9 405 138.1 384.6Z" fill="#FFDF6F"/>
<path d="M119.8 334.2C135.8 244.7 201.8 179.8 278.8 179.8V161.5C190.6 161.5 118.8 235.3 101.7 330.9L119.7 334.1L119.8 334.2ZM278.8 179.8C355.8 179.8 422 245.1 437.8 334.8L455.8 331.6C439 235.6 367 161.5 278.8 161.5V179.8ZM415.3 376.9C372.76 396.917 326.314 407.265 279.3 407.2V425.5C330.7 425.5 379.4 414 423.1 393.5L415.3 376.9ZM279.3 407.2C230.2 407.2 183.7 396.1 142.1 376.3L134.2 392.9C178.2 413.9 227.4 425.5 279.3 425.5V407.2ZM437.8 334.8C440.8 352.1 431.6 369.3 415.3 376.9L423.1 393.5C446.5 382.5 460.4 357.5 455.8 331.5L437.8 334.8ZM101.7 330.8C99.5558 343.269 101.577 356.098 107.451 367.303C113.325 378.509 122.725 387.47 134.2 392.8L142.1 376.3C134.267 372.688 127.84 366.599 123.81 358.973C119.78 351.347 118.371 342.606 119.8 334.1L101.6 330.9L101.7 330.8Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M173.4 361.6C157.5 355.1 148.1 338.2 153.6 321.9C170.6 271.7 220.2 235.4 278.7 235.4C337.2 235.4 386.8 271.7 403.8 321.9C409.4 338.2 399.9 355.1 384 361.6C350.559 375.19 314.796 382.153 278.7 382.1C241.5 382.1 205.9 374.8 173.4 361.6Z" fill="black"/>
<path d="M320.9 338.1C337.8 338.1 351.5 327.176 351.5 313.7C351.5 300.224 337.8 289.3 320.9 289.3C304 289.3 290.3 300.224 290.3 313.7C290.3 327.176 304 338.1 320.9 338.1Z" fill="white"/>
<path d="M233.4 338.1C250.3 338.1 264 327.176 264 313.7C264 300.224 250.3 289.3 233.4 289.3C216.5 289.3 202.8 300.224 202.8 313.7C202.8 327.176 216.5 338.1 233.4 338.1Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -16,6 +16,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
id: req.session?.user?.id, id: req.session?.user?.id,
}, },
select: { select: {
email: true,
id: true, id: true,
}, },
}); });
@@ -36,6 +37,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const dav = new CalendarService({ const dav = new CalendarService({
id: 0, id: 0,
...data, ...data,
user: { email: user.email },
}); });
await dav?.listCalendars(); await dav?.listCalendars();
await prisma.credential.create({ await prisma.credential.create({

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