Compare commits

...
35 Commits
Author SHA1 Message Date
Alex van Andel a8a10c0f35 v2.6.6
release.yml / release (push) Canceled after 0s
2023-02-24 18:52:04 +00:00
Alex van Andel 5f7d904349 Fixed href's to go to the right place (#7377) 2023-02-24 11:39:09 -07:00
Alex van Andel abce20824f v2.6.5
release.yml / release (push) Canceled after 0s
2023-02-24 14:24:12 +00:00
Peer Richelsen 76a8c89d33 session with ciaran (#7366) 2023-02-24 15:21:31 +01:00
github-actions[bot]andCrowdin Bot fc9360d99a New Crowdin translations by Github Action (#7356)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2023-02-24 12:56:50 +01:00
Nafees Nazik a5c21d5e3e fix: primary button loading indicator color (#7364) 2023-02-24 12:55:46 +01:00
github-actions[bot]andCrowdin Bot 3960c8a954 New Crowdin translations by Github Action (#7355)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2023-02-24 11:51:21 +01:00
github-actions[bot]andCrowdin Bot 0cbcda7430 New Crowdin translations by Github Action (#7352)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2023-02-24 11:46:10 +01:00
Peer Richelsen ff12e35748 Update SettingsLayout.tsx 2023-02-24 11:43:45 +01:00
Nafees Nazik 15d967b1d2 fix: mobile drawer z-index issue (#7353) 2023-02-24 11:41:25 +01:00
github-actions[bot]andCrowdin Bot b309be1d94 New Crowdin translations by Github Action (#7316)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2023-02-24 11:20:02 +01:00
alannncandAlex van Andel 94dc2643f2 fix/payment-status-message-on-booking-cancelled (#7260)
Co-authored-by: Alex van Andel <me@alexvanandel.com>
2023-02-24 10:28:14 +05:30
Miguel Nieto 6440d3da6a Fix command to create new app for the app store (#7322) 2023-02-24 09:55:00 +05:30
9e08cf88f4 removed SSR trpc calls instead SPA for logged in pages (#6936)
* removed SSR trpc

* Re added debug endpoint

* Update me.ts

* Fixes unused imports

* Rollback unrelated changes

---------

Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
2023-02-23 18:41:57 -07:00
zomars 8b3eb986df Fix shared DB cache 2023-02-23 18:24:07 -07:00
Alex van Andel 8a6a7524cc Prioritise organizer to be the fixed, not lucky (round robin) user (#7317) 2023-02-23 18:22:18 -07:00
Hariom Balhara 1dbdb8a4d4 Remove _metadata.ts files for apps that have config.json (#7188) 2023-02-23 18:21:48 -07:00
Levent DenizandLevent Deniz 4fb0852505 [CAL-1125] Fix app detail page heading size (#7257)
* [CAL-1125] Fix app detail page heading size

* [CAL-1125] Fix margin on back button in shell

* [CAL-1125] Fix shell-margin for mobile

---------

Co-authored-by: Levent Deniz <levent.deniz@check24.de>
2023-02-23 17:19:52 -07:00
Nafees Nazik 0815ab715b fix: slot picker scroll position not consistent (#7282)
* fix: remove old scroll to method

* feat: add scroll into view
2023-02-23 17:19:23 -07:00
Joe Au-Yeung 944ff68463 Fix Outlook & Zoom creating events in UTC (#7283)
* Apply utc offset to time strings

* Zoom, create events in proper time zone
2023-02-23 17:18:49 -07:00
GitStart-Cal.comandgitstart-calcom 676254e96b [CAL-1103] mobile /event-type edit - Move the "Hide from profile" toggle into the dropdown (#7297)
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
2023-02-23 15:09:10 -07:00
Ben Hybert 207bcb9a97 fix non-admin team preview button (#7301) 2023-02-23 15:03:33 -07:00
github-actions[bot]andCrowdin Bot 4d825672db New Crowdin translations by Github Action (#7303)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2023-02-23 15:02:12 -07:00
Carina WollendorferandCarinaWolli ba86e7f540 Fixes SMS actions and cal.com branding for premium plan (#7306)
* enable sms actions with premium user name

* allow hide branding when user has premium user name

---------

Co-authored-by: CarinaWolli <wollencarina@gmail.com>
2023-02-23 15:01:51 -07:00
Udit Takkar 3206e4ea12 fix: remove scroll (#7312)
Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
2023-02-23 15:01:09 -07:00
zomars dbcebec31b Update lint.yml 2023-02-23 14:27:43 -07:00
zomars f427c09e88 Update pr.yml 2023-02-23 14:21:15 -07:00
zomars ded838881f Update pr.yml 2023-02-23 14:13:24 -07:00
zomars 08da9d805a Create cache-clean.yml 2023-02-23 14:06:34 -07:00
zomars 7cd0d5c3c3 Squashed commit of the following:
commit db31f2fdf442a7e68b8cdee4990318d30a5a3210
Author: zomars <zomars@me.com>
Date:   Thu Feb 23 11:41:46 2023 -0700

    Update pr.yml

commit 7afa9839e3a3842f2277f54bff703b1eb5740905
Author: zomars <zomars@me.com>
Date:   Thu Feb 23 11:36:49 2023 -0700

    Update nextjs-bundle-analysis.yml

commit 3b68ed19d774ce9540b0729e0b109cccbde65ea4
Author: zomars <zomars@me.com>
Date:   Thu Feb 23 11:28:30 2023 -0700

    Update pr.yml

commit 7c7e5ab65b03f97760481610a71c796611080719
Author: zomars <zomars@me.com>
Date:   Thu Feb 23 10:56:14 2023 -0700

    Update pr.yml

commit d1854cedd2aa19a7c260426ce3b309a40a16315a
Merge: 26568ba69 b018ee34a
Author: zomars <zomars@me.com>
Date:   Thu Feb 23 10:50:32 2023 -0700

    Merge remote-tracking branch 'upstream/main'

commit 26568ba693a2dd456bcd962598b4dddb8d117d1f
Merge: 2c72ac6f0 f5318c6be
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 17:10:10 2023 -0700

    Merge remote-tracking branch 'upstream/main'

commit 2c72ac6f0c0edbedc305eb7366742d31534ea1c2
Author: Peer Richelsen <peeroke@gmail.com>
Date:   Tue Feb 21 23:25:43 2023 +0100

    improved brand colors on booking page (#7269)

commit 65c0d3ffe8a7bd197c99bac3715356ab08669fbd
Author: Alex van Andel <me@alexvanandel.com>
Date:   Tue Feb 21 20:03:52 2023 +0000

    Define CODEOWNERS file (#7245)

    * Start defining CODEOWNERS file

    * Update CODEOWNERS

    ---------

    Co-authored-by: Omar López <zomars@me.com>

commit 29fb81434864634af584228e3bf3ddea1d630ecd
Author: Omar López <zomars@me.com>
Date:   Tue Feb 21 17:06:44 2023 -0700

    Update .github/actions/cache-db/action.yml

commit 92672fe3aa5539a083cbb10f82f87441b9e899d3
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 16:09:20 2023 -0700

    Revert "Revert "Re-enables buildjet""

    This reverts commit a1d78e7c12618d14b23bd50540ee005c6a550e7b.

commit 530e9748d7f2d4826ccffaa40dea2f137f8f17a9
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 15:13:22 2023 -0700

    Fixes build env

commit a1d78e7c12618d14b23bd50540ee005c6a550e7b
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 14:39:09 2023 -0700

    Revert "Re-enables buildjet"

    This reverts commit badd655e1edf8c2942582439f9fd48c00f892c38.

commit 8f67711e5d387ae0cd97d495766ccd06c4a61b0c
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 14:38:41 2023 -0700

    Adds missing build cache to e2e

commit badd655e1edf8c2942582439f9fd48c00f892c38
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 14:27:11 2023 -0700

    Re-enables buildjet

commit c7bdb52e0abfde27dd42494477ffff39cc3e4e19
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 14:10:34 2023 -0700

    Inherit secrets

commit 86b9b48e86e1c3d6e89b931ae8c8ce515c07b866
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 13:58:35 2023 -0700

    Fixes?

commit ebc304b39e815a0ff5c9e760550e4fee8283a567
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 13:42:33 2023 -0700

    Update nextjs-bundle-analysis.yml

commit 7da00d9566d4a56d77e7feb0d1504efa86148cbe
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 13:32:08 2023 -0700

    Update nextjs-bundle-analysis.yml

commit 224cc38fac42434e3a621c81a993798bb4abc773
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 13:21:38 2023 -0700

    Update nextjs-bundle-analysis.yml

commit 8fdd71ae36362290f80b55e8a2996d413d988c05
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 12:50:45 2023 -0700

    Build fixes

commit 6790be6f8fbba98658730266fb3927001066671f
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 12:46:17 2023 -0700

    Upgrades actions/checkout@v3

commit cc85218e0bdbf1f857296836c0026e09c8466ce9
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 12:29:33 2023 -0700

    Update action.yml

commit 380b1c2be4da15bc40113c7651e1595b5613b8b8
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 12:09:00 2023 -0700

    Update action.yml

commit 39b05a4e9bcba2e00b7efe342f7d456b5fba059a
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 11:55:50 2023 -0700

    Update action.yml

commit f4260393da8716c5246a6148d125d12b51993902
Merge: a82e9925f 4adfcb4b6
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 11:48:32 2023 -0700

    Merge remote-tracking branch 'upstream/main'

commit a82e9925f55c4967bad3dbb47566979734608bbc
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 11:46:07 2023 -0700

    Update lint.yml

commit 747ad8513f20767d6f66021cc548a308e18b6326
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 11:27:22 2023 -0700

    Caches DB

commit f5e96ba3f116eeb62f8ac47ca0d08e17f1fb2fdc
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 10:49:05 2023 -0700

    Comments out buildjet

commit aad26223b16c5444b947191c780416f4c8e61a94
Author: zomars <zomars@me.com>
Date:   Tue Feb 21 10:36:59 2023 -0700

    Update pr.yml

commit 7ce463f38cd1296f47cc5bb5cf8f863a6dfef9a7
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 22:07:31 2023 -0700

    Update action.yml

commit f5f57d963280d743cae0d04b6d80a7f49971f9e0
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 22:06:23 2023 -0700

    Adjustments

commit 2f048acbe6374ff6e8d9d750808c8b3e7bf7b333
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 21:47:01 2023 -0700

    WIP

commit dd1d86beb2bae0bd12b14a636398a2e2ce80555d
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 21:44:14 2023 -0700

    Removed required checks

commit 0db2b50ca8d125e1f7b115ae24cd2346fde92ab9
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 21:11:27 2023 -0700

    Fixes

commit bdc46bd5eef5dbb3c3b8dc2e68468bbff6c20aec
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 21:05:01 2023 -0700

    Update pr.yml

commit f6c58252a8e1b8971e70d3cb644b492d2fbad40d
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 21:02:39 2023 -0700

    Fixes

commit 04369405f38f200fece773ab7f9717fd62145fcf
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 20:35:39 2023 -0700

    Fixes

commit 4a60555b2bd2012c18fae8e338b7ef4bb39dc725
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 20:32:37 2023 -0700

    Update yarn-install.yml

commit 3d7749cef00cbbc843316e75d29e60ee68fe818d
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 20:31:53 2023 -0700

    Update yarn-install.yml

commit 374dc68848ee8be331e703fb0ef0cd08483694e5
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 20:28:14 2023 -0700

    Update yarn-install.yml

commit ae13d06ec2ffc759b1f8d9aea29b419e081e7693
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 20:27:31 2023 -0700

    Update check-types.yml

commit 93ad2cc92319bff6783f8633fc5bc1b8347376c4
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 20:26:38 2023 -0700

    Cleanup

commit 26730f7bbcaa07c323692ed76a17fa471f8e4f2e
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 20:05:54 2023 -0700

    Test

commit 76373a91c19fb1e67b050b0f36bb9b562d9024cd
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 19:51:28 2023 -0700

    Update yarn-e2e.yml

commit 0b3d98a4bc0cc3718b8fdb6f0537e824a6ef4204
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 19:51:14 2023 -0700

    Update package.json

commit 978d848b3989755e728353542714915782fc12c0
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 19:37:19 2023 -0700

    Cleanup

commit f2ccee16a73751f9e0bb26619da0ddfddc094907
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 19:18:42 2023 -0700

    Update action.yml

commit cf9cbbc5f08f29c2ba5a4c390129ff46bf8a3cf5
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 18:59:35 2023 -0700

    Update pr.yml

commit e8d39a91a5909674bfe9d4775ca09d814372529d
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 18:57:53 2023 -0700

    Update action.yml

commit eaa1210d1386b2eadd0bb1990ded444f7c307e60
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 18:43:59 2023 -0700

    Anotha one

commit 2958c17ebb28b3a231982a60fc3f3255a0d013e9
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 16:36:39 2023 -0700

    Tests

commit 922c9077b66b061e9f644eedf0022907ac6df161
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 16:02:05 2023 -0700

    Update pr.yml

commit 663b3bf48aa83a19f735badeb126e2968ee73733
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 16:00:49 2023 -0700

    Adds type check

commit 99746ee6e8662e39862ce25b5d9804372adf9fa4
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 15:53:57 2023 -0700

    Update yarn-e2e.yml

commit f82833cfdb17fa4a3da588a92925d3ebd8579357
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 15:53:04 2023 -0700

    Abstract playwright cache

commit e92ad12b54563219708b1e4423e502e1ac1f2197
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 15:41:07 2023 -0700

    Update action.yml

commit 271fe44bf087b19a7d0b1484261eff1cae8cb8b9
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 15:34:38 2023 -0700

    Update action.yml

commit 9a690de1ffd43270973c969c816e7b76a1d50a38
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 15:26:51 2023 -0700

    WIP

commit 5322fc7134bfa9c1061c45033573503023ba05db
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 15:04:03 2023 -0700

    Fixes

commit 3721dae0b45e4bd309f6a7c92db393956e543880
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 14:59:12 2023 -0700

    Update action.yml

commit 1027f058fd1bcbaa680b4297b081dd838f6ea886
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 14:56:51 2023 -0700

    Update action.yml

commit 9d74f9ed7bddf3e5563420c88476b73230c619df
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 14:53:43 2023 -0700

    Fixes

commit 4bfd63afef3b4139bb797ca6e5a9895138092417
Author: zomars <zomars@me.com>
Date:   Mon Feb 20 14:51:46 2023 -0700

    DRY

commit ea6114835dda65b5d6b31a96ad2781938cc8c121
Author: Omar López <zomars@me.com>
Date:   Sat Feb 18 16:38:00 2023 -0700

    Update production-build.yml

commit 8ec2b2c2c505c74b40a8e50a43e41f3d444730dc
Author: Omar López <zomars@me.com>
Date:   Sat Feb 18 16:36:44 2023 -0700

    Update production-build.yml

commit b0a7ccaa753f2fcf1ec571f3af1df9eea228f8b3
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 15:59:25 2023 -0700

    TEST

commit 0d639fdeb95deaa588fd29e63c275ea8b10a25d8
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 15:36:00 2023 -0700

    Revert

commit 5a597644a0a90cd212ff826aa3dda3214ab05334
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 15:32:16 2023 -0700

    Test

commit 7aafa78f1463f5a22576f814fa70db73db1ff89e
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 12:09:58 2023 -0700

    test

commit 81287f963bfcecbb1fd45670043b4e14690f8a6e
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 11:12:56 2023 -0700

    Update pr.yml

commit ef596f53d4614335ce36e084eae4b79efeed057c
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 10:59:08 2023 -0700

    Update pr.yml

commit 7dbaf1d08deec73c6f4bb53659d4af56282a2c68
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 10:58:22 2023 -0700

    Update pr.yml

commit 25489edac712e5b343c8f31123415a3cc804d254
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 10:39:55 2023 -0700

    Update pr.yml

commit 29ae0845b5b179c1493a35c18925f3f3e619d997
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 10:32:17 2023 -0700

    Update production-build.yml

commit 791492ac9e98046acd9fd5c100d0a3afa54fbbe3
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 10:28:37 2023 -0700

    Update pr.yml

commit 92597d8d7e4139b8129cd499545c37d1a518c0d0
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 10:24:15 2023 -0700

    Update pr.yml

commit 9bc85570c758f86079712270a1cc96e5983368a4
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 10:23:25 2023 -0700

    Update pr.yml

commit ba20dbbb96c95272118ecf5b6eead4ee0e816782
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 10:15:53 2023 -0700

    Update nextjs-bundle-analysis.yml

commit 35b7cd52d819409516f76d2b0e5849a136f55dc2
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 10:11:02 2023 -0700

    Update pr.yml

commit 8fe421e8d5c227d1cb5e31fe73398776d3b05dbf
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 09:55:49 2023 -0700

    Update pr.yml

commit f96af3f70810555d75ae9f3ba6f16e7e464e1926
Author: zomars <zomars@me.com>
Date:   Sat Feb 18 09:33:34 2023 -0700

    Update production-build.yml

commit 29134a3245e00b94a4b0edc2889ea6e81adf3e9b
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 20:53:06 2023 -0700

    Tests

commit 4aa8917687ccb28c1c9abfc30441c96db1bc1663
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 20:38:17 2023 -0700

    Update production-build.yml

commit 7c0884d0b7a45f9e8722547288d3879ee3e82add
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 20:16:59 2023 -0700

    Update pr.yml

commit b68ccd5ee1502de4f9afed2841cf2ab61309cf0e
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 20:16:27 2023 -0700

    Update pr.yml

commit 0c15086a7c02513e73821828a9392cdf45af6227
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 20:13:29 2023 -0700

    Update pr.yml

commit da277ce83bcebd62afc7e2074e82b9e4c64f4c27
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 20:12:50 2023 -0700

    Update pr.yml

commit fdb170086b70ded1f7109e35e85cce60a2ef7eaf
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 20:12:19 2023 -0700

    Update pr.yml

commit 1676d9070b2a07bbbf03297aa6c331dd68b7df4f
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 20:12:06 2023 -0700

    Update pr.yml

commit e834b42e87cad2401219b6fae765871f4b5eb7e8
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 19:59:53 2023 -0700

    Update pr.yml

commit e414378d243f3f43f3639127dee2f4bc4ac75633
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 19:57:07 2023 -0700

    Update pr.yml

commit 6904553b627a4896dab6adb8ac909f6e8604e893
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 19:55:47 2023 -0700

    Update pr.yml

commit 4722f0b44ac33f62ac019a4e707005bc7ff22b07
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 19:54:50 2023 -0700

    Update pr.yml

commit 2a9afdc4ac7a90c76f0aa7edbb2f3af0fbd0e7f1
Author: zomars <zomars@me.com>
Date:   Fri Feb 17 19:13:25 2023 -0700

    Testing
2023-02-23 13:44:38 -07:00
Nafees Nazik b018ee34a7 fix: placeholder in custom event name (#7247)
* fix: replace placeholder

* refactor: replace placeholder into a separate function
2023-02-23 15:46:36 +00:00
Peer Richelsen 17345f9326 added danish (#7302) 2023-02-23 16:40:17 +01:00
a1d7b30d51 New Crowdin translations by Github Action (#7273)Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* New Crowdin translations by Github Action

* Update apps/web/public/static/locales/es/common.json

* Update apps/web/public/static/locales/ro/common.json

---------

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2023-02-23 16:38:37 +01:00
Hariom Balhara 87dbfba5df Hotfix/ Fix failing build due to terser missing (#7294)
* No need to use terser

* v1.1.3

* v1.0.5

* v1.0.10
2023-02-23 13:55:02 +01:00
Esaú Morais e5d44d029a Allow user to add as many locations as they want (#7279) 2023-02-23 16:49:28 +05:30
126 changed files with 2254 additions and 830 deletions

No files matched your search

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

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

@@ -1,16 +0,0 @@
import type { App } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
category: "calendar",
installed: true,
rating: 0,
reviews: 0,
trending: true,
verified: true,
dirName: "exchangecalendar",
...config,
} as App;
export default metadata;
@@ -1,3 +1,2 @@
export * as api from "./api"; export * as api from "./api";
export * as lib from "./lib"; export * as lib from "./lib";
export { metadata } from "./_metadata";
-11
View File
@@ -1,11 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
category: "analytics",
dirName: "fathom",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
-10
View File
@@ -1,10 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
dirName: "ga4",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
-11
View File
@@ -1,11 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
category: "automation",
dirName: "n8n",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
@@ -1,5 +1,6 @@
import type { Calendar as OfficeCalendar, User } from "@microsoft/microsoft-graph-types-beta"; import type { Calendar as OfficeCalendar, User } from "@microsoft/microsoft-graph-types-beta";
import dayjs from "@calcom/dayjs";
import { getLocation, getRichDescription } from "@calcom/lib/CalEventParser"; import { getLocation, getRichDescription } from "@calcom/lib/CalEventParser";
import { handleErrorsJson, handleErrorsRaw } from "@calcom/lib/errors"; import { handleErrorsJson, handleErrorsRaw } from "@calcom/lib/errors";
import logger from "@calcom/lib/logger"; import logger from "@calcom/lib/logger";
@@ -239,6 +240,7 @@ export default class Office365CalendarService implements Calendar {
}; };
private translateEvent = (event: CalendarEvent) => { private translateEvent = (event: CalendarEvent) => {
const utcOffset = dayjs(event.startTime, event.organizer.timeZone).utcOffset() / 60;
return { return {
subject: event.title, subject: event.title,
body: { body: {
@@ -246,11 +248,11 @@ export default class Office365CalendarService implements Calendar {
content: getRichDescription(event), content: getRichDescription(event),
}, },
start: { start: {
dateTime: event.startTime, dateTime: dayjs(event.startTime).utcOffset(utcOffset).format(),
timeZone: event.organizer.timeZone, timeZone: event.organizer.timeZone,
}, },
end: { end: {
dateTime: event.endTime, dateTime: dayjs(event.endTime).utcOffset(utcOffset).format(),
timeZone: event.organizer.timeZone, timeZone: event.organizer.timeZone,
}, },
attendees: event.attendees.map((attendee) => ({ attendees: event.attendees.map((attendee) => ({
@@ -1,10 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
dirName: "office365video",
...config,
} as AppMeta;
export default metadata;
@@ -1,3 +1,2 @@
export * as api from "./api"; export * as api from "./api";
export * as lib from "./lib"; export * as lib from "./lib";
export { metadata } from "./_metadata";
-25
View File
@@ -1,25 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
// FIXME: Currently for an app to be shown as installed, it must have this variable set. Either hardcoded or if it depends on some env variable, that should be checked here
installed: true,
rating: 0,
reviews: 0,
trending: true,
verified: true,
appData: {
location: {
linkType: "static",
type: "integrations:ping_video",
label: "Ping.gg",
organizerInputPlaceholder: "https://www.ping.gg/call/theo",
urlRegExp: "^http(s)?:\\/\\/(www\\.)?ping.gg\\/call\\/[a-zA-Z0-9]*",
},
},
dirName: "ping",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
-10
View File
@@ -1,10 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
dirName: "pipedream",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
-10
View File
@@ -1,10 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
category: "analytics",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
-11
View File
@@ -1,11 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
category: "other",
dirName: "qr_code",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
-10
View File
@@ -1,10 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
dirName: "rainbow",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
-11
View File
@@ -1,11 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
category: "other",
dirName: "raycast",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
-25
View File
@@ -1,25 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
// FIXME: Currently for an app to be shown as installed, it must have this variable set. Either hardcoded or if it depends on some env variable, that should be checked here
installed: true,
rating: 0,
reviews: 0,
trending: true,
verified: true,
locationPlaceholder: "https://www.riverside.fm/studio/rick",
appData: {
location: {
label: "Riverside Video",
urlRegExp: "^http(s)?:\\/\\/(www\\.)?riverside.fm\\/studio\\/[a-zA-Z0-9]*",
type: "integrations:riverside_video",
linkType: "static",
},
},
dirName: "riverside",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
@@ -1,10 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
dirName: "salesforce",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,3 +1,2 @@
export * as api from "./api"; export * as api from "./api";
export * as lib from "./lib"; export * as lib from "./lib";
export { metadata } from "./_metadata";
-10
View File
@@ -1,10 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
dirName: "sendgrid",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,3 +1,2 @@
export * as api from "./api"; export * as api from "./api";
export * as lib from "./lib"; export * as lib from "./lib";
export { metadata } from "./_metadata";
-10
View File
@@ -1,10 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
dirName: "signal",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
@@ -1,10 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
dirName: "sirius_video",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
@@ -1 +0,0 @@
export { default as InstallAppButton } from "./InstallAppButton";
-10
View File
@@ -1,10 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
dirName: "telegram",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
-11
View File
@@ -1,11 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
category: "other",
dirName: "typeform",
...config,
} as AppMeta;
export default metadata;
-1
View File
@@ -1,2 +1 @@
export * as api from "./api"; export * as api from "./api";
export { metadata } from "./_metadata";
-10
View File
@@ -1,10 +0,0 @@
import type { AppMeta } from "@calcom/types/App";
import config from "./config.json";
export const metadata = {
category: "other",
...config,
} as AppMeta;
export default metadata;
Loaded 100 of 126 files, more files were not shown because too many files have changed in this diff. Show more