Compare commits

..
Author SHA1 Message Date
github-actions[bot] b84405c5eb chore: version packages (#22418)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-11 18:53:35 +00:00
Morgan 2743b32536 fix: third part token auth strategy (#22374) 2025-07-11 17:27:51 +00:00
Omar López a251422f7a fix: locks eslint to v8 across monorepo (#22424) 2025-07-11 17:10:12 +00:00
Alex van Andel d7c9bd6ed8 perf: Tasker performance improvements (#22395)
* perf: Tasker performance improvements

* Remove fields from expected tasker create call, test fix

* Fix the tests, needs validation
2025-07-11 10:09:24 -07:00
8b3ff0b789 fix: ensure isBookingDryRun prop works for booking creation (#22182)
* fix: ensure isBookingDryRun prop works for booking creation

- Add isBookingDryRun prop to useHandleBookEvent hook
- Pass prop through BookerPlatformWrapper and useBookings
- Override _isDryRun flag when prop is provided
- Fixes issue where dry run banner showed but booking creation ignored prop

Co-Authored-By: rajiv@cal.com <rajiv@cal.com>

* fixup

* if dry run prop is pass we use that, otherwise we use params

* add changesets for PR

* replace minor with patch changeset

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: rajiv@cal.com <rajiv@cal.com>
Co-authored-by: Ryukemeister <sahalrajiv6900@gmail.com>
Co-authored-by: Rajiv Sahal <sahalrajiv-extc@atharvacoe.ac.in>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
2025-07-11 16:45:30 +00:00
Lauris Skraucis 94a537bfda feat: v2 bookings return rescheduledToUid (#22289) 2025-07-11 13:17:55 -03:00
Calcom BotandLingo.dev 64305ffee1 feat: update translations via @LingoDotDev (#22416)
Co-authored-by: Lingo.dev <support@lingo.dev>
2025-07-11 15:55:52 +00:00
45698db0b4 fix: validate Round Robin host availability in handleNewBooking (#22253)
* fix: validate Round Robin host availability in handleNewBooking

- Add validation to ensure Round Robin events have at least one available non-fixed host
- Throw NoAvailableUsersFound error when no Round Robin hosts are available
- Add unit test to verify the fix works correctly
- Fixes issue where Round Robin events with fixed hosts could be booked without Round Robin hosts

Co-Authored-By: carina@cal.com <c.wollendorfer@me.com>

* test: fix host configuration in Round Robin test

Co-Authored-By: carina@cal.com <c.wollendorfer@me.com>

* test: improve Round Robin test to only make RR host busy

Co-Authored-By: carina@cal.com <c.wollendorfer@me.com>

* fix: correct Round Robin validation to only check when RR hosts assigned

Co-Authored-By: carina@cal.com <c.wollendorfer@me.com>

* fix: refine Round Robin validation to only apply when both fixed and RR hosts present

- Add fixedUserPool.length > 0 condition to validation
- Ensures validation only triggers for specific bug scenario: events with fixed hosts + RR hosts but no available RR hosts
- Prevents blocking normal Round Robin events that only have RR hosts
- Updates test description to reflect more precise validation logic

Co-Authored-By: carina@cal.com <c.wollendorfer@me.com>

* fix: simplify Round Robin validation to resolve E2E test failures

Remove overly restrictive fixedUserPool.length > 0 condition that was
blocking valid Round Robin booking scenarios in E2E tests. The validation
now only checks if Round Robin hosts are assigned but none are available,
which is the intended behavior for the bug fix.

Co-Authored-By: carina@cal.com <c.wollendorfer@me.com>

* fix: restore fixedUserPool condition to Round Robin validation

- Add back fixedUserPool.length > 0 condition to make validation specific to bug scenario
- Only triggers when Round Robin events have both fixed hosts AND Round Robin hosts but no available Round Robin hosts
- Prevents blocking normal Round Robin events that only have Round Robin hosts (like in organization settings E2E test)
- Updates test description to reflect more precise validation logic

Co-Authored-By: carina@cal.com <c.wollendorfer@me.com>

Co-Authored-By: carina@cal.com <c.wollendorfer@me.com>

* throw error if no RR user is available

* add tests

* fix comments

* revert change

* remove comments

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
2025-07-11 16:47:21 +01:00
Anik Dhabal Babuandcubic-dev-ai[bot] 14e14289f0 fix: e2e tests flakes (#22415)
* fix: e2e flakes

* Update apps/web/playwright/dynamic-booking-pages.e2e.ts

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* Update delete-account.e2e.ts

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-07-11 16:45:06 +01:00
Omar López 18650b1215 fix: local eslint runs (#22402) 2025-07-11 16:44:35 +01:00
d2bbbf3f45 feat: expose AvailabilitySettingsProps type in @calcom/atoms (#22246)
* feat: expose AvailabilitySettingsProps type in @calcom/atoms

- Export AvailabilitySettingsPlatformWrapperProps as AvailabilitySettingsProps
- Add type export to main atoms package index for direct import
- Enables external consumers to import type directly from @calcom/atoms

Co-Authored-By: rajiv@cal.com <rajiv@cal.com>

* feat: also export AtomScheduleType for atomSchedule data

- Export FindDetailedScheduleByIdReturnType as AtomScheduleType
- Enables direct import of atomSchedule type from @calcom/atoms
- Covers both AvailabilitySettingsProps and AtomScheduleType exports

Co-Authored-By: rajiv@cal.com <rajiv@cal.com>

* fix: update AtomScheduleType to include null and undefined

Co-Authored-By: rajiv@cal.com <rajiv@cal.com>

* refactor: move AtomScheduleType to AvailabilitySettingsPlatformWrapper for cleaner organization

Co-Authored-By: rajiv@cal.com <rajiv@cal.com>

* feat: rename AtomScheduleType to AvailabilitySettingsAtomScheduleType for better clarity

Co-Authored-By: rajiv@cal.com <rajiv@cal.com>

* feat: rename to AvailabilitySettingsScheduleType for better naming consistency

Co-Authored-By: rajiv@cal.com <rajiv@cal.com>

* fix: use proper import from @calcom/platform-libraries/schedules instead of dynamic import

Co-Authored-By: rajiv@cal.com <rajiv@cal.com>

* add changelogs

* feat: extract AvailabilitySettingsSchedule type from AvailabilitySettingsProps

- Extract schedule property structure into separate AvailabilitySettingsSchedule type
- Update AvailabilitySettingsProps to reuse the extracted schedule type
- Export AvailabilitySettingsSchedule from @calcom/atoms package index
- Enables direct import of schedule type for external consumers

Co-Authored-By: rajiv@cal.com <rajiv@cal.com>

* Revert "feat: extract AvailabilitySettingsSchedule type from AvailabilitySettingsProps"

This reverts commit 79239e4b18925db3fcc1d8df7e9f37770ec4f116.

* fixup: extract schedule for AvailabilitySettingsProps

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: rajiv@cal.com <rajiv@cal.com>
Co-authored-by: Rajiv Sahal <sahalrajiv-extc@atharvacoe.ac.in>
Co-authored-by: Ryukemeister <sahalrajiv6900@gmail.com>
2025-07-11 16:53:40 +02:00
devin-ai-integration[bot]andmorgan@cal.com 13cb99b7fe feat: inject required repositories into AvailableSlotsService using dependency injection (#22413)
* feat: inject all repositories into AvailableSlotsService using dependency injection

- Create DI modules for SelectedSlotsRepository, TeamRepository, UserRepository, BookingRepository, EventTypeRepository, RoutingFormResponseRepository
- Update available-slots DI module to bind all 6 repositories
- Update DI container to load all new repository modules
- Replace all 10 direct repository instantiations with injected dependencies
- Add missing DI tokens for repository modules
- Expand IAvailableSlotsService interface to include all repository dependencies

This follows the same dependency injection pattern established in previous repository refactoring PRs and enables better testability and modularity by making all dependencies explicit and configurable.

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* chore: DI available slots repo on api v2

* chore: bump platform libs

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: morgan@cal.com <morgan@cal.com>
2025-07-11 17:37:24 +03:00
a1571d01bd docs: Update Organization Readme (#22060)
* Update org readme

* Update packages/features/ee/organizations/README.md

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
2025-07-11 18:30:28 +05:30
Kartik Saini bbd8af074e chore: update i18n workflow to use Node.js 20 (#22403) 2025-07-11 12:17:12 +00:00
c9a47dd0ce refactor: convert RoutingFormResponseRepository to use dependency injection pattern (#22408)
* refactor: convert RoutingFormResponseRepository to use dependency injection pattern

- Add constructor with PrismaClient dependency injection
- Convert all 5 static methods to instance methods using this.prismaClient
- Convert private static helper method generateCreateFormResponseData to instance method
- Update all usage sites to use two-step instantiation pattern:
  const formResponseRepo = new RoutingFormResponseRepository(prisma); formResponseRepo.method(...)
- Update test files to use proper mock implementation with vi.mocked pattern
- Reuse repository instances within same function scope where multiple calls are made
- Follow same dependency injection pattern as UserRepository, TeamRepository, SelectedSlotsRepository, BookingRepository, and EventTypeRepository

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* fix: resolve inconsistent dependency injection in AvailableSlotsService

- Use two-step instantiation pattern for UserRepository calls
- Continue fixing remaining repository instantiation inconsistencies

Co-Authored-By: morgan@cal.com <morgan@cal.com>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: morgan@cal.com <morgan@cal.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
2025-07-11 10:03:25 +00:00
sean-brydon 1c9778e667 fix members page crash with pbac feature flag (#22409) 2025-07-11 09:59:56 +01:00
devin-ai-integration[bot]andmorgan@cal.com 758143ef70 refactor: convert EventTypeRepository to use dependency injection pattern (#22397)
- Add constructor with PrismaClient dependency injection
- Convert all 14 static methods to instance methods using this.prismaClient
- Update all usage sites to use two-step instantiation pattern:
  const eventTypeRepo = new EventTypeRepository(prisma); eventTypeRepo.method(...)
- Keep getSelectedCalendarsFromUser as static utility method
- Follow same pattern as UserRepository, TeamRepository, SelectedSlotsRepository, and BookingRepository
- Maintain all existing method signatures and functionality

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: morgan@cal.com <morgan@cal.com>
2025-07-11 10:39:22 +03:00
sean-brydon b5911a9a2d feat: add method for getting teamId permissions PBAC (#22375)
* feat:add method for getting teamId permissions

* add logic and test for zero permsiion strings

* fix test by updating mock
2025-07-11 08:34:33 +01:00
keithwillcode 260f4e1b51 chore: release v5.4.19
Post release / release (push) Canceled after 0s
2025-07-11 01:25:57 +00:00
Keith Williams e6c36af3b4 revert: "fix: Add new route to create team routing-form response (#22347)" (#22399)
This reverts commit 89e7fca183.
2025-07-11 01:02:11 +00:00
Omar López 2fb2458eee Revert "feat: add race condition test for calendar-cache-serve booking flow (…" (#22400) 2025-07-10 17:43:41 -07:00
keithwillcode b340b0edbe chore: release v5.4.18 2025-07-10 22:59:01 +00:00
f7fd1c4402 feat: remove unused x-cal-timezone header and middleware matcher (#22398)
* feat: remove unused x-cal-timezone header and middleware matcher

- Remove x-cal-timezone header setting from middleware.ts
- Remove x-cal-timezone header setting from createNextApiHandler.ts
- Remove /api/trpc/:path* from middleware matcher
- Eliminates ~50M edge requests per month for unused functionality
- All timezone handling uses browser detection and localStorage instead

Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>

* update POST_METHODS_ALLOWED_API_ROUTES

* test: remove api/trpc POST validation test

- Remove test for /api/trpc/book/event POST requests since /api/trpc/:path* was removed from middleware matcher
- Keep test for /api/auth/signup which is still processed by middleware

Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: hbjORbj <sldisek783@gmail.com>
2025-07-10 22:16:25 +00:00
devin-ai-integration[bot]andmorgan@cal.com c316721051 refactor: convert BookingRepository to use dependency injection pattern (#22389)
* refactor: convert BookingRepository to use dependency injection pattern

- Add constructor injection for PrismaClient to BookingRepository
- Convert all static methods to instance methods using this.prismaClient
- Update all usage sites to use two-step instantiation pattern:
  const bookingRepo = new BookingRepository(prisma); bookingRepo.method(...)
- Apply same dependency injection pattern as UserRepository, TeamRepository, and SelectedSlotsRepository
- Update test files to use correct prismaMock import paths
- Maintain all existing functionality and type safety

Files updated:
- BookingRepository class structure and all 15 static methods
- Video meeting pages and booking views
- Booking utilities and services (handleNewBooking, originalRescheduledBookingUtils)
- Round robin handlers and reassignment logic
- Interval limits and booking limits checking
- Test files with proper mocking setup

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* chore: bump platform libs

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: morgan@cal.com <morgan@cal.com>
2025-07-10 18:06:57 +00:00
80ac118242 refactor: convert SelectedSlotsRepository to use dependency injection pattern (#22387)
* refactor: convert TeamRepository to use dependency injection pattern

- Add constructor injection for PrismaClient in TeamRepository
- Convert all static methods to instance methods using this.prismaClient
- Update all usage sites to use two-step pattern: const teamRepo = new TeamRepository(prisma); teamRepo.method(...)
- Optimize instance reuse within same function scopes where possible
- Update test files to work with new instance pattern
- Preserve all existing functionality and method signatures

Follows the same dependency injection pattern as UserRepository refactoring

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* refactor: convert SelectedSlotsRepository to use dependency injection pattern

- Add constructor injection for PrismaClient/PrismaTransaction
- Convert all static methods to instance methods using this.prismaClient
- Update usage sites to use two-step instantiation pattern:
  const slotsRepo = new SelectedSlotsRepository(prisma); slotsRepo.method(...)
- Optimize instance reuse in util.ts for multiple method calls
- Update test mocks to handle new constructor-based pattern
- Add explicit type annotations to resolve TypeScript inference issues

Follows same dependency injection pattern as UserRepository and TeamRepository refactorings.

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* chore: bump platform libs

* fix: devin mistake prisma client

* fix: devin typing mistakes

* chore: bump platform libs

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: morgan@cal.com <morgan@cal.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
2025-07-10 15:14:26 +00:00
efd15c5a3e refactor: convert TeamRepository to use dependency injection pattern (#22383)
* refactor: convert TeamRepository to use dependency injection pattern

- Add constructor injection for PrismaClient in TeamRepository
- Convert all static methods to instance methods using this.prismaClient
- Update all usage sites to use two-step pattern: const teamRepo = new TeamRepository(prisma); teamRepo.method(...)
- Optimize instance reuse within same function scopes where possible
- Update test files to work with new instance pattern
- Preserve all existing functionality and method signatures

Follows the same dependency injection pattern as UserRepository refactoring

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* chore: bump platform libs

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: morgan@cal.com <morgan@cal.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
2025-07-10 14:03:50 +00:00
devin-ai-integration[bot]andBailey 7d02d1bb23 fix: improve layout in copy times popup (#22368)
- Remove justify-between from checkbox labels to fix uneven padding
- Use CheckboxField with descriptionAsLabel for consistent spacing
- Add flex justify-end to button container for right alignment
- Maintain existing keyboard navigation functionality

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Bailey <bailey@pumfleet.co.uk>
2025-07-10 13:21:38 +00:00
Dhairyashil ShindeandAnik Dhabal Babu 0d877e7be3 fix: Always return cancellationReason and cancelledByEmail for cancelled bookings (#22082)
* fix: always return cancellationReason and cancelledByEmail for cancelled bookings

* Implemented reviewed changes

* Updated ternary conditional logic for cancelled booking

---------

Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
2025-07-10 18:45:46 +05:30
e4c47640fc refactor: convert UserRepository to use dependency injection pattern (#22360)
* refactor: convert UserRepository to use dependency injection pattern

- Convert all static methods to public instance methods
- Add constructor that takes PrismaClient parameter
- Update all usage sites to use new instantiation pattern: new UserRepository(prisma).method()
- Follow same pattern as PrismaOOORepository for consistency
- Maintain all existing method logic and signatures unchanged
- Update 125+ files across the codebase to adapt to new pattern

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* optimize: reuse UserRepository instances within same function scope

- Create single UserRepository instance per function scope
- Reuse instance for multiple method calls within same function
- Reduces object instantiation overhead and improves performance
- Apply optimization pattern consistently across codebase

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* fix: repository

* fixup! fix: repository

* fixup! fixup! fix: repository

* fixup! fixup! fixup! fix: repository

* fix: update test mocking strategies for UserRepository dependency injection

- Convert static method mocks to instance method mocks in userCreationService.test.ts
- Update vi.spyOn calls to work with constructor injection pattern in getAllCredentials.test.ts
- Fix UserRepository mocking in getRoutedUrl.test.ts to use constructor injection
- Ensure consistent mocking approach across all test files
- Fix 'UserRepository is not a constructor' errors in tests

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* feat: optimize UserRepository instance reuse and add SessionUser type

- Reuse UserRepository instance in OrganizationRepository.createWithNonExistentOwner
- Add comprehensive SessionUser type definition for type safety
- Improve type constraints in enrichUserWithTheProfile and enrichUserWithItsProfile
- Ensure proper return types with profile information

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* fix: make UserRepository mocking strategy more robust for CI environments

- Add defensive checks for vi.mocked() to handle CI environment differences
- Ensure mockImplementation is available before calling it
- Maintain consistent mocking pattern across all test files
- Fix 'Cannot read properties of undefined' error in CI

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* fixup! fix: make UserRepository mocking strategy more robust for CI environments

* refactor: convert direct UserRepository instantiations to two-step pattern

- Change await new UserRepository(prisma).method(...) to const userRepo = new UserRepository(prisma); await userRepo.method(...)
- Optimize instance reuse within same function scopes
- Apply pattern consistently across all modified files in PR
- Fix type errors in organization.ts and sessionMiddleware.ts

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* refactor: complete two-step UserRepository pattern for remaining files

- Apply two-step instantiation pattern to all remaining modified files in PR
- Ensure consistent UserRepository usage across entire codebase
- Maintain instance reuse optimization within function scopes

Co-Authored-By: morgan@cal.com <morgan@cal.com>

* chore: bump platform libs

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: morgan@cal.com <morgan@cal.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
2025-07-10 12:11:14 +00:00
Hariom Balhara 89e7fca183 fix: Add new route to create team routing-form response (#22347)
* fix: Add formId ownership with org guard

* Don't allow user routing form endpoint to create response for team
routing form

* rename to or guard
2025-07-10 11:56:45 +00:00
sean-brydon 33b5bf1db8 fix: Move pbac to prisma from kysley (#22318)
* fixes

* fix prisma mock to include transaction callbacj

* remove redudant transactions

* remove hard requirement on transactions in services

* remove mocktrx

* fix cubic feedback

* correct permission updating logic of roles. Implement diff service + domain types

* remove role mapper
2025-07-10 10:24:50 +00:00
Devanshu Sharma f69c4a900e refactor: enhance UI spacing and text styling in Locations component and Switch component (#22328) 2025-07-10 08:34:32 +00:00
Sarthak Kapila 1da25cc85f docs: booking attendee absent (#22094)
* refactor: booking attendee absent

* docs: swagger generate
2025-07-10 07:52:10 +00:00
Akash Kinkar Pandey 3a65b372c5 perf:Remove Redundant Keys in common.json for english (#22362) 2025-07-10 13:19:38 +05:30
sean-brydon 9892d521fb fix: use domain errors instead of trpc (#22341) 2025-07-10 08:23:50 +01:00
Alex van Andel 3285b252c2 chore: Add High-Load warning for user availability checks with many users (#22369) 2025-07-10 01:09:21 +00:00
emrysal 97af2fc0f9 chore: release v5.4.17
Post release / release (push) Canceled after 0s
2025-07-09 21:19:55 +00:00
Morgan 5c508bce6d chore: DI repositories in AvailableSlotsService class (#22356)
* chore: DI available slots service repositories

* remove configService from worker module

* register scheduleRepo in availableSlotsModule

* chore: bump platform libs

* remove useless comment from prisma module

* fix: availableSlotsModule to class deps

* fix: repositoriesModule deps

* chore: container pattern

* refactor: move modules in DI folder

* fixup! refactor: move modules in DI folder
2025-07-09 19:55:55 +00:00
Morgan db84343581 chore: new auth strategy for third party access tokens (#21867)
* chore: new auth strategy for third party access tokens

* chore: throw error earlier if Bearer token is invalid

* fix: check apikey and access token before third party token
2025-07-09 22:47:07 +03:00
Shaunak DasandUdit Takkar 2b44d09191 fix: 🐛 guests no show insights bug (#22045)
* fix: guests no show insights bug

* feat: fix feature failure introduced by conflict resolve

* feat: address cubic comments

* fix: add no show guests count

---------

Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
2025-07-09 19:17:19 +00:00
Anik Dhabal Babu 10d67aee86 Revert "fix: issue #9523 limited scroll range on mobile device (#21935)" (#22363)
This reverts commit f611c3d767.
2025-07-09 19:09:46 +00:00
Anik Dhabal Babuandcubic-dev-ai[bot] b33bbb8af0 fix: manage Seo index for embed page (#22348)
* fix: manage seo index

* Update apps/web/app/(booking-page-wrapper)/[user]/[type]/embed/page.tsx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* update

* tweak

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-07-09 16:03:46 +00:00
Joe Au-Yeung 3fe9327724 fix: Add unique constraint to team and slug for attributes (#22357)
* Add unique constraint to team and slug

* Add migration file
2025-07-09 15:52:48 +00:00
Omar LópezandDevin AI 179a547bd0 feat: add race condition test for calendar-cache-serve booking flow (#22170)
* feat: add race condition test for calendar-cache-serve booking flow

- Reproduces double-booking when two guests book same timeslot 1-2s apart
- Enables both calendar-cache and calendar-cache-serve feature flags
- Uses parallel browser contexts to simulate concurrent booking attempts
- Verifies both bookings succeed and create double-booking scenario

Co-Authored-By: zomars@cal.com <zomars@me.com>

* fix: correct page reference in race condition test timeout

- Change page.waitForTimeout(1500) to use correct page context
- Fix timeslot selection to ensure both contexts book same slot
- Remove incorrect host assertion and add logging to demonstrate race condition
- Test now successfully reproduces double-booking bug locally
- Fixes 'end of central directory record signature not found' error

Co-Authored-By: zomars@cal.com <zomars@me.com>

* Update booking-race-condition.e2e.ts

* Update booking-race-condition.e2e.ts

* Update booking-race-condition.e2e.ts

* Update booking-race-condition.e2e.ts

* Create scratchpad.md

* Update booking-race-condition.e2e.ts

* Delete scratchpad.md

* Update booking-race-condition.e2e.ts

* Update booking-race-condition.e2e.ts

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-07-09 10:33:13 -04:00
Morganandcubic-dev-ai[bot] 7ada02177d refactor: get available slots service (#22340)
* refactor: GetAvailableSlotsService

* chore: add todo comments where DI is needed

* chore: bump platform libs

* chore: fix unit tests

* fix: only instantiate AvailableSlotsService once per service

* Update packages/trpc/server/routers/viewer/slots/util.ts

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* fix: bind this on all functions with reporting

---------

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-07-09 12:15:09 +01:00
59b55e40b5 fix: allow enter key to create new list items in editor (#22001)
* fix: allow enter key to create new list items in editor

* remove: unnecessary priority set to low

* remove: unnecessary priority set to low

---------

Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
Co-authored-by: Eunjae Lee <hey@eunjae.dev>
2025-07-09 09:39:08 +00:00
19563aa697 feat: Self hosted onboarding (#22102)
* intro work

* update wixard form to have content callback to remove preset navigation

* more fixes to deployment

* fix calling static service

* fix save license key text

* ensure default steps work as expected

* fix conditional for rendering step

* skip step

* add on next step for free license

* refactor wizard form to use nuqs

* fix styles

* merge base param with step config

* fix next stepo text

* use deployment Signature token

* decrypt signature token

* fix: resolve type errors and test failures from wizard form refactor

- Fix signatureToken field name to signatureTokenEncrypted in deployment repository
- Add missing getSignatureToken method to verifyApiKey test mock
- Fix WizardForm import from default to named export in test file
- Add missing nextStep prop to Steps component in WizardForm

Resolves TypeScript type check errors and unit test failures without changing functionality.

Co-Authored-By: sean@cal.com <Sean@brydon.io>

* fix: add missing getDeploymentSignatureToken mock in LicenseKeyService test

Co-Authored-By: sean@cal.com <Sean@brydon.io>

* fix: add nuqs library mock for WizardForm test

Co-Authored-By: sean@cal.com <Sean@brydon.io>

* fix: add missing nav prop to AdminAppsList component with eslint disable

Co-Authored-By: sean@cal.com <Sean@brydon.io>

* Apply suggestions from code review

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* Update apps/web/modules/auth/setup-view.tsx

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* fix license schema changes

* revret schema generation

* fix eslint errors

* remove required nav type + add use client

* fix types

* Update packages/ui/components/form/wizard/useWizardState.ts

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>

* fix controller issue

* add checks for deployment key being null - add more tests

* fix tests

* add deployment key tests

* fix: resolve crypto mock to handle empty encryption keys gracefully

- Updated symmetricDecrypt mock to return null instead of throwing 'Invalid key' error when encryption key is empty
- All getDeploymentKey tests now pass including the previously failing 'should return null when decryption fails due to missing encryption key' test
- Fixes mocking issues in PR 22102 self-hosted onboarding wizard form refactor

Co-Authored-By: sean@cal.com <Sean@brydon.io>

* fix label

* add i18n to error

* use enum for steps

* add as const

* fix test env issues

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-07-09 09:26:01 +01:00
314 changed files with 12268 additions and 3670 deletions
+4
View File
@@ -17,6 +17,10 @@ jobs:
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- uses: lingodotdev/lingo.dev@main
env:
GH_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
+2
View File
@@ -0,0 +1,2 @@
undecided:
- "@calcom/prisma"
View File
+2
View File
@@ -0,0 +1,2 @@
undecided:
- "@calcom/prisma"
+1 -6
View File
@@ -488,13 +488,8 @@ Don't code but still want to contribute? Join our [Discussions](https://github.c
- Set CSP_POLICY="non-strict" env variable, which enables [Strict CSP](https://web.dev/strict-csp/) except for unsafe-inline in style-src . If you have some custom changes in your instance, you might have to make some code change to make your instance CSP compatible. Right now it enables strict CSP only on login page and on other SSR pages it is enabled in Report only mode to detect possible issues. On, SSG pages it is still not supported.
## Single Org Mode
If you want to have booker.yourcompany.com to be the domain used for both dashboard(e.g. https://booker.yourcompany.com/event-types) and booking pages(e.g. https://booker.yourcompany.com/john.joe/15min).
- Set the `NEXT_PUBLIC_SINGLE_ORG_SLUG` environment variable to the slug of the organization you want to use. `NEXT_PUBLIC_SINGLE_ORG_SLUG=booker`
- Set the `NEXT_PUBLIC_WEBAPP_URL` environment variable to the URL of the Cal.com self-hosted instance e.g. `NEXT_PUBLIC_WEBAPP_URL=https://booker.yourcompany.com`.
- Set the `NEXT_PUBLIC_WEBSITE_URL` environment variable to the URL of the Cal.com self-hosted instance e.g. `NEXT_PUBLIC_WEBSITE_URL=https://booker.yourcompany.com`.
- Set the `NEXTAUTH_URL` environment variable to the URL of the Cal.com self-hosted instance e.g. `NEXTAUTH_URL=https://booker.yourcompany.com`.
Refer to docs [here](./docs/self-hosting/guides/organization/single-organization-setup) for a detailed documentation with screenshots.
Note: It causes root to serve the dashboard and not the organization profile page which shows all bookable users in the organization.
## Integrations
@@ -23,6 +23,7 @@ afterEach(() => {
const mockDeploymentRepository: IDeploymentRepository = {
getLicenseKeyWithId: vi.fn().mockResolvedValue("mockLicenseKey"), // Mocked return value
getSignatureToken: vi.fn().mockResolvedValue("mockSignatureToken"),
};
// TODO: Fix the skip condition for this test suite
@@ -105,7 +105,9 @@ async function getHandler(req: NextApiRequest) {
const userIds = req.query.userId ? extractUserIdsFromQuery(req) : [userId];
const usersWithCalendars = await UserRepository.findManyByIdsIncludeDestinationAndSelectedCalendars({
const usersWithCalendars = await new UserRepository(
prisma
).findManyByIdsIncludeDestinationAndSelectedCalendars({
ids: userIds,
});
+8 -2
View File
@@ -4,11 +4,11 @@ import type { NextApiRequest, NextApiResponse } from "next";
import dayjs from "@calcom/dayjs";
import { isSupportedTimeZone } from "@calcom/lib/dayjs";
import { getAvailableSlotsService } from "@calcom/lib/di/containers/available-slots";
import { HttpError } from "@calcom/lib/http-error";
import { defaultResponder } from "@calcom/lib/server/defaultResponder";
import { createContext } from "@calcom/trpc/server/createContext";
import { getScheduleSchema } from "@calcom/trpc/server/routers/viewer/slots/types";
import { getAvailableSlots } from "@calcom/trpc/server/routers/viewer/slots/util";
import { TRPCError } from "@trpc/server";
import { getHTTPStatusCodeFromError } from "@trpc/server/http";
@@ -27,7 +27,13 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
}
const input = getScheduleSchema.parse({ usernameList: slugs, isTeamEvent: parsedIsTeamEvent, ...rest });
const timeZoneSupported = input.timeZone ? isSupportedTimeZone(input.timeZone) : false;
const availableSlots = await getAvailableSlots({ ctx: await createContext({ req, res }), input });
const availableSlotsService = getAvailableSlotsService();
const availableSlots = await availableSlotsService.getAvailableSlots({
ctx: await createContext({ req, res }),
input,
});
const slotsInProvidedTimeZone = timeZoneSupported
? Object.keys(availableSlots.slots).reduce(
(acc: Record<string, { time: string; attendees?: number; bookingUid?: string }[]>, date) => {
+1 -1
View File
@@ -38,7 +38,7 @@
"@axiomhq/winston": "^1.2.0",
"@calcom/platform-constants": "*",
"@calcom/platform-enums": "*",
"@calcom/platform-libraries": "npm:@calcom/platform-libraries@0.0.241",
"@calcom/platform-libraries": "npm:@calcom/platform-libraries@0.0.257",
"@calcom/platform-types": "*",
"@calcom/platform-utils": "*",
"@calcom/prisma": "*",
@@ -1425,8 +1425,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
// @ts-ignore
const data: BookingOutput_2024_08_13 = responseBody.data;
expect(data.status).toEqual("cancelled");
createdBooking = data;
expect(data.rescheduledToUid).toEqual(rescheduledBooking.uid);
});
});
@@ -596,9 +596,9 @@ export class BookingsService_2024_08_13 {
} else if (isRecurring && isSeated) {
formattedBookings.push(this.outputService.getOutputRecurringSeatedBooking(formatted));
} else if (isSeated) {
formattedBookings.push(this.outputService.getOutputSeatedBooking(formatted));
formattedBookings.push(await this.outputService.getOutputSeatedBooking(formatted));
} else {
formattedBookings.push(this.outputService.getOutputBooking(formatted));
formattedBookings.push(await this.outputService.getOutputBooking(formatted));
}
}
@@ -190,9 +190,20 @@ export class InputBookingsService_2024_08_13 {
};
}
private getRoutingFormData(routing: { teamMemberIds?: number[]; responseId?: number; teamMemberEmail?: string; skipContactOwner?: boolean; crmAppSlug?: string; crmOwnerRecordType?: string } | undefined) {
private getRoutingFormData(
routing:
| {
teamMemberIds?: number[];
responseId?: number;
teamMemberEmail?: string;
skipContactOwner?: boolean;
crmAppSlug?: string;
crmOwnerRecordType?: string;
}
| undefined
) {
if (!routing) return null;
return {
routedTeamMemberIds: routing.teamMemberIds,
routingFormResponseId: routing.responseId,
@@ -90,7 +90,7 @@ type DatabaseMetadata = z.infer<typeof bookingMetadataSchema>;
export class OutputBookingsService_2024_08_13 {
constructor(private readonly bookingsRepository: BookingsRepository_2024_08_13) {}
getOutputBooking(databaseBooking: DatabaseBooking) {
async getOutputBooking(databaseBooking: DatabaseBooking) {
const dateStart = DateTime.fromISO(databaseBooking.startTime.toISOString());
const dateEnd = DateTime.fromISO(databaseBooking.endTime.toISOString());
const duration = dateEnd.diff(dateStart, "minutes").minutes;
@@ -101,6 +101,9 @@ export class OutputBookingsService_2024_08_13 {
);
const metadata = safeParse(bookingMetadataSchema, databaseBooking.metadata, defaultBookingMetadata);
const location = metadata?.videoCallUrl || databaseBooking.location;
const rescheduledToUid = databaseBooking.rescheduled
? await this.getRescheduledToUid(databaseBooking.uid)
: undefined;
const booking = {
id: databaseBooking.id,
@@ -109,8 +112,9 @@ export class OutputBookingsService_2024_08_13 {
description: databaseBooking.description,
hosts: [this.getHost(databaseBooking.user)],
status: databaseBooking.status.toLowerCase(),
cancellationReason: databaseBooking.cancellationReason || undefined,
cancelledByEmail: databaseBooking.cancelledBy || undefined,
cancellationReason:
databaseBooking.status === "CANCELLED" ? databaseBooking.cancellationReason : undefined,
cancelledByEmail: databaseBooking.status === "CANCELLED" ? databaseBooking.cancelledBy : undefined,
reschedulingReason: bookingResponses?.rescheduledReason,
rescheduledByEmail: databaseBooking.rescheduledBy || undefined,
rescheduledFromUid: databaseBooking.fromReschedule || undefined,
@@ -137,6 +141,7 @@ export class OutputBookingsService_2024_08_13 {
updatedAt: databaseBooking.updatedAt,
rating: databaseBooking.rating,
icsUid: databaseBooking.iCalUID,
rescheduledToUid,
};
const bookingTransformed = plainToClass(BookingOutput_2024_08_13, booking, { strategy: "excludeAll" });
@@ -146,6 +151,11 @@ export class OutputBookingsService_2024_08_13 {
return bookingTransformed;
}
async getRescheduledToUid(bookingUid: string) {
const rescheduledTo = await this.bookingsRepository.getByFromReschedule(bookingUid);
return rescheduledTo?.uid;
}
getUserDefinedMetadata(databaseMetadata: DatabaseMetadata) {
if (databaseMetadata === null) return {};
@@ -204,8 +214,9 @@ export class OutputBookingsService_2024_08_13 {
description: databaseBooking.description,
hosts: [this.getHost(databaseBooking.user)],
status: databaseBooking.status.toLowerCase(),
cancellationReason: databaseBooking.cancellationReason || undefined,
cancelledByEmail: databaseBooking.cancelledBy || undefined,
cancellationReason:
databaseBooking.status === "CANCELLED" ? databaseBooking.cancellationReason : undefined,
cancelledByEmail: databaseBooking.status === "CANCELLED" ? databaseBooking.cancelledBy : undefined,
reschedulingReason: bookingResponses?.rescheduledReason,
rescheduledByEmail: databaseBooking.rescheduledBy || undefined,
rescheduledFromUid: databaseBooking.fromReschedule || undefined,
@@ -244,20 +255,23 @@ export class OutputBookingsService_2024_08_13 {
return bookingTransformed;
}
getOutputCreateSeatedBooking(
async getOutputCreateSeatedBooking(
databaseBooking: DatabaseBooking,
seatUid: string
): CreateSeatedBookingOutput_2024_08_13 {
const getSeatedBookingOutput = this.getOutputSeatedBooking(databaseBooking);
): Promise<CreateSeatedBookingOutput_2024_08_13> {
const getSeatedBookingOutput = await this.getOutputSeatedBooking(databaseBooking);
return { ...getSeatedBookingOutput, seatUid };
}
getOutputSeatedBooking(databaseBooking: DatabaseBooking) {
async getOutputSeatedBooking(databaseBooking: DatabaseBooking) {
const dateStart = DateTime.fromISO(databaseBooking.startTime.toISOString());
const dateEnd = DateTime.fromISO(databaseBooking.endTime.toISOString());
const duration = dateEnd.diff(dateStart, "minutes").minutes;
const metadata = safeParse(bookingMetadataSchema, databaseBooking.metadata, defaultBookingMetadata);
const location = metadata?.videoCallUrl || databaseBooking.location;
const rescheduledToUid = databaseBooking.rescheduled
? await this.getRescheduledToUid(databaseBooking.uid)
: undefined;
const booking = {
id: databaseBooking.id,
@@ -266,7 +280,8 @@ export class OutputBookingsService_2024_08_13 {
description: databaseBooking.description,
hosts: [this.getHost(databaseBooking.user)],
status: databaseBooking.status.toLowerCase(),
cancellationReason: databaseBooking.cancellationReason || undefined,
cancellationReason:
databaseBooking.status === "CANCELLED" ? databaseBooking.cancellationReason : undefined,
rescheduledFromUid: databaseBooking.fromReschedule || undefined,
start: databaseBooking.startTime,
end: databaseBooking.endTime,
@@ -283,6 +298,7 @@ export class OutputBookingsService_2024_08_13 {
updatedAt: databaseBooking.updatedAt,
rating: databaseBooking.rating,
icsUid: databaseBooking.iCalUID,
rescheduledToUid,
};
const parsed = plainToClass(GetSeatedBookingOutput_2024_08_13, booking, { strategy: "excludeAll" });
@@ -375,7 +391,8 @@ export class OutputBookingsService_2024_08_13 {
description: databaseBooking.description,
hosts: [this.getHost(databaseBooking.user)],
status: databaseBooking.status.toLowerCase(),
cancellationReason: databaseBooking.cancellationReason || undefined,
cancellationReason:
databaseBooking.status === "CANCELLED" ? databaseBooking.cancellationReason : undefined,
rescheduledFromUid: databaseBooking.fromReschedule || undefined,
start: databaseBooking.startTime,
end: databaseBooking.endTime,
@@ -124,7 +124,9 @@ export class EventTypesController_2024_04_15 {
let orgSlug = queryParams.org;
if (clientId && !orgSlug && username.includes(`-${clientId}`)) {
const org = await this.organizationsRepository.findTeamIdAndSlugFromClientId(clientId).catch(() => null);
const org = await this.organizationsRepository
.findTeamIdAndSlugFromClientId(clientId)
.catch(() => null);
if (org) {
orgSlug = org.slug;
}
@@ -3,4 +3,5 @@ export enum AuthMethods {
"ACCESS_TOKEN" = "access-token",
"OAUTH_CLIENT" = "oauth-client",
"NEXT_AUTH" = "next-auth",
"THIRD_PARTY_ACCESS_TOKEN" = "third_party_access_token",
}
@@ -0,0 +1,28 @@
import { PrismaBookingRepository } from "@/lib/repositories/prisma-booking.repository";
import { PrismaEventTypeRepository } from "@/lib/repositories/prisma-event-type.repository";
import { PrismaOOORepository } from "@/lib/repositories/prisma-ooo.repository";
import { PrismaRoutingFormResponseRepository } from "@/lib/repositories/prisma-routing-form-response.repository";
import { PrismaScheduleRepository } from "@/lib/repositories/prisma-schedule.repository";
import { PrismaSelectedSlotsRepository } from "@/lib/repositories/prisma-selected-slots.repository";
import { PrismaTeamRepository } from "@/lib/repositories/prisma-team.repository";
import { PrismaUserRepository } from "@/lib/repositories/prisma-user.repository";
import { AvailableSlotsService } from "@/lib/services/available-slots.service";
import { PrismaModule } from "@/modules/prisma/prisma.module";
import { Module } from "@nestjs/common";
@Module({
imports: [PrismaModule],
providers: [
PrismaOOORepository,
PrismaScheduleRepository,
PrismaBookingRepository,
PrismaSelectedSlotsRepository,
PrismaUserRepository,
PrismaEventTypeRepository,
PrismaRoutingFormResponseRepository,
PrismaTeamRepository,
AvailableSlotsService,
],
exports: [AvailableSlotsService],
})
export class AvailableSlotsModule {}
@@ -0,0 +1,12 @@
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
import { Injectable } from "@nestjs/common";
import { PrismaBookingRepository as PrismaBookingRepositoryLib } from "@calcom/platform-libraries/repositories";
import { PrismaClient } from "@calcom/prisma";
@Injectable()
export class PrismaBookingRepository extends PrismaBookingRepositoryLib {
constructor(private readonly dbWrite: PrismaWriteService) {
super(dbWrite.prisma as unknown as PrismaClient);
}
}
@@ -0,0 +1,12 @@
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
import { Injectable } from "@nestjs/common";
import { PrismaEventTypeRepository as PrismaEventTypeRepositoryLib } from "@calcom/platform-libraries/repositories";
import { PrismaClient } from "@calcom/prisma";
@Injectable()
export class PrismaEventTypeRepository extends PrismaEventTypeRepositoryLib {
constructor(private readonly dbWrite: PrismaWriteService) {
super(dbWrite.prisma as unknown as PrismaClient);
}
}
@@ -0,0 +1,12 @@
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
import { Injectable } from "@nestjs/common";
import { PrismaOOORepository as PrismaOOORepositoryLib } from "@calcom/platform-libraries/repositories";
import { PrismaClient } from "@calcom/prisma";
@Injectable()
export class PrismaOOORepository extends PrismaOOORepositoryLib {
constructor(private readonly dbWrite: PrismaWriteService) {
super(dbWrite.prisma as unknown as PrismaClient);
}
}
@@ -0,0 +1,12 @@
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
import { Injectable } from "@nestjs/common";
import { PrismaRoutingFormResponseRepository as PrismaRoutingFormResponseRepositoryLib } from "@calcom/platform-libraries/repositories";
import { PrismaClient } from "@calcom/prisma";
@Injectable()
export class PrismaRoutingFormResponseRepository extends PrismaRoutingFormResponseRepositoryLib {
constructor(private readonly dbWrite: PrismaWriteService) {
super(dbWrite.prisma as unknown as PrismaClient);
}
}
@@ -0,0 +1,12 @@
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
import { Injectable } from "@nestjs/common";
import { PrismaScheduleRepository as PrismaScheduleRepositoryLib } from "@calcom/platform-libraries/repositories";
import { PrismaClient } from "@calcom/prisma";
@Injectable()
export class PrismaScheduleRepository extends PrismaScheduleRepositoryLib {
constructor(private readonly dbWrite: PrismaWriteService) {
super(dbWrite.prisma as unknown as PrismaClient);
}
}
@@ -0,0 +1,12 @@
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
import { Injectable } from "@nestjs/common";
import { PrismaSelectedSlotsRepository as PrismaSelectedSlotsRepositoryLib } from "@calcom/platform-libraries/repositories";
import { PrismaClient } from "@calcom/prisma";
@Injectable()
export class PrismaSelectedSlotsRepository extends PrismaSelectedSlotsRepositoryLib {
constructor(private readonly dbWrite: PrismaWriteService) {
super(dbWrite.prisma as unknown as PrismaClient);
}
}
@@ -0,0 +1,12 @@
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
import { Injectable } from "@nestjs/common";
import { PrismaTeamRepository as PrismaTeamRepositoryLib } from "@calcom/platform-libraries/repositories";
import { PrismaClient } from "@calcom/prisma";
@Injectable()
export class PrismaTeamRepository extends PrismaTeamRepositoryLib {
constructor(private readonly dbWrite: PrismaWriteService) {
super(dbWrite.prisma as unknown as PrismaClient);
}
}
@@ -0,0 +1,12 @@
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
import { Injectable } from "@nestjs/common";
import { PrismaUserRepository as PrismaUserRepositoryLib } from "@calcom/platform-libraries/repositories";
import { PrismaClient } from "@calcom/prisma";
@Injectable()
export class PrismaUserRepository extends PrismaUserRepositoryLib {
constructor(private readonly dbWrite: PrismaWriteService) {
super(dbWrite.prisma as unknown as PrismaClient);
}
}
@@ -0,0 +1,36 @@
import { PrismaBookingRepository } from "@/lib/repositories/prisma-booking.repository";
import { PrismaEventTypeRepository } from "@/lib/repositories/prisma-event-type.repository";
import { PrismaOOORepository } from "@/lib/repositories/prisma-ooo.repository";
import { PrismaRoutingFormResponseRepository } from "@/lib/repositories/prisma-routing-form-response.repository";
import { PrismaScheduleRepository } from "@/lib/repositories/prisma-schedule.repository";
import { PrismaSelectedSlotsRepository } from "@/lib/repositories/prisma-selected-slots.repository";
import { PrismaTeamRepository } from "@/lib/repositories/prisma-team.repository";
import { PrismaUserRepository } from "@/lib/repositories/prisma-user.repository";
import { Injectable } from "@nestjs/common";
import { AvailableSlotsService as BaseAvailableSlotsService } from "@calcom/platform-libraries/slots";
@Injectable()
export class AvailableSlotsService extends BaseAvailableSlotsService {
constructor(
private readonly oooRepoDependency: PrismaOOORepository,
private readonly scheduleRepoDependency: PrismaScheduleRepository,
private readonly teamRepository: PrismaTeamRepository,
private readonly routingFormResponseRepository: PrismaRoutingFormResponseRepository,
private readonly bookingRepository: PrismaBookingRepository,
private readonly selectedSlotsRepository: PrismaSelectedSlotsRepository,
private readonly eventTypeRepository: PrismaEventTypeRepository,
private readonly userRepository: PrismaUserRepository
) {
super({
oooRepo: oooRepoDependency,
scheduleRepo: scheduleRepoDependency,
teamRepo: teamRepository,
routingFormResponseRepo: routingFormResponseRepository,
bookingRepo: bookingRepository,
selectedSlotsRepo: selectedSlotsRepository,
eventTypeRepo: eventTypeRepository,
userRepo: userRepository,
});
}
}
@@ -1,5 +1,10 @@
import { Reflector } from "@nestjs/core";
export type AllowedAuthMethod = "OAUTH_CLIENT_CREDENTIALS" | "API_KEY" | "ACCESS_TOKEN" | "NEXT_AUTH";
export type AllowedAuthMethod =
| "OAUTH_CLIENT_CREDENTIALS"
| "API_KEY"
| "ACCESS_TOKEN"
| "NEXT_AUTH"
| "THIRD_PARTY_ACCESS_TOKEN";
export const ApiAuthGuardOnlyAllow = Reflector.createDecorator<AllowedAuthMethod[]>();
@@ -10,16 +10,30 @@ import { ProfilesRepository } from "@/modules/profiles/profiles.repository";
import { TokensRepository } from "@/modules/tokens/tokens.repository";
import { UsersService } from "@/modules/users/services/users.service";
import { UserWithProfile, UsersRepository } from "@/modules/users/users.repository";
import { Injectable, InternalServerErrorException, UnauthorizedException } from "@nestjs/common";
import {
HttpException,
Injectable,
InternalServerErrorException,
UnauthorizedException,
} from "@nestjs/common";
import { Logger } from "@nestjs/common";
import { ConfigService } from "@nestjs/config";
import { PassportStrategy } from "@nestjs/passport";
import type { Request } from "express";
import * as jwt from "jsonwebtoken";
import { getToken } from "next-auth/jwt";
import { INVALID_ACCESS_TOKEN, X_CAL_CLIENT_ID, X_CAL_SECRET_KEY } from "@calcom/platform-constants";
import type { AllowedAuthMethod } from "../../decorators/api-auth-guard-only-allow.decorator";
interface OAuthTokenPayload {
userId?: number;
teamId?: number;
scope: string[];
token_type: string;
}
export type ApiAuthGuardUser = UserWithProfile & { isSystemAdmin: boolean };
export type ApiAuthGuardRequest = Request & {
authMethod: AuthMethods;
@@ -29,8 +43,11 @@ export type ApiAuthGuardRequest = Request & {
};
export const NO_AUTH_PROVIDED_MESSAGE =
"No authentication method provided. Either pass an API key as 'Bearer' header or OAuth client credentials as 'x-cal-secret-key' and 'x-cal-client-id' headers";
@Injectable()
export class ApiAuthStrategy extends PassportStrategy(BaseStrategy, "api-auth") {
private readonly logger = new Logger("ApiAuthStrategy");
constructor(
private readonly deploymentsService: DeploymentsService,
private readonly config: ConfigService,
@@ -54,22 +71,53 @@ export class ApiAuthStrategy extends PassportStrategy(BaseStrategy, "api-auth")
const allowedMethods = request.allowedAuthMethods;
const noSpecificAuthExpected = !allowedMethods || !allowedMethods.length;
const oAuthAllowed = noSpecificAuthExpected || allowedMethods.includes("OAUTH_CLIENT_CREDENTIALS");
const apiKeyAllowed = noSpecificAuthExpected || allowedMethods.includes("API_KEY");
const accessTokenAllowed = noSpecificAuthExpected || allowedMethods.includes("ACCESS_TOKEN");
const nextAuthAllowed = noSpecificAuthExpected || allowedMethods.includes("NEXT_AUTH");
const thirdPartyAccessTokenAllowed =
noSpecificAuthExpected || allowedMethods.includes("THIRD_PARTY_ACCESS_TOKEN");
if (oAuthClientId && oAuthClientSecret && oAuthAllowed) {
request.authMethod = AuthMethods["OAUTH_CLIENT"];
return await this.authenticateOAuthClient(oAuthClientId, oAuthClientSecret, request);
}
if (bearerToken && (apiKeyAllowed || accessTokenAllowed)) {
const requestOrigin = request.get("Origin");
request.authMethod = isApiKey(bearerToken, this.config.get<string>("api.apiKeyPrefix") ?? "cal_")
? AuthMethods["API_KEY"]
: AuthMethods["ACCESS_TOKEN"];
return await this.authenticateBearerToken(bearerToken, request, requestOrigin);
if (bearerToken) {
if (!apiKeyAllowed && !accessTokenAllowed && thirdPartyAccessTokenAllowed) {
request.authMethod = AuthMethods["THIRD_PARTY_ACCESS_TOKEN"];
const result = await this.validateThirdPartyAccessToken(bearerToken, request);
if (result.success) {
return this.success(this.getSuccessUser(result.data));
}
}
if (apiKeyAllowed || accessTokenAllowed) {
try {
const requestOrigin = request.get("Origin");
request.authMethod = isApiKey(bearerToken, this.config.get<string>("api.apiKeyPrefix") ?? "cal_")
? AuthMethods["API_KEY"]
: AuthMethods["ACCESS_TOKEN"];
return await this.authenticateBearerToken(bearerToken, request, requestOrigin);
} catch (err) {
// failed to validate access token, try to validate third party token
if (thirdPartyAccessTokenAllowed && request.authMethod === AuthMethods["ACCESS_TOKEN"]) {
request.authMethod = AuthMethods["THIRD_PARTY_ACCESS_TOKEN"];
const result = await this.validateThirdPartyAccessToken(bearerToken, request);
if (result.success) {
return this.success(this.getSuccessUser(result.data));
}
}
// token was not third party token, rethrow error from authenticateBearerToken
if (err instanceof Error) {
return this.error(err);
}
}
}
throw new UnauthorizedException(`ApiAuthStrategy - Invalid Bearer token`);
}
const nextAuthSecret = this.config.get("next.authSecret", { infer: true });
@@ -83,8 +131,11 @@ export class ApiAuthStrategy extends PassportStrategy(BaseStrategy, "api-auth")
if (noAuthProvided) {
throw new UnauthorizedException(`ApiAuthStrategy - ${NO_AUTH_PROVIDED_MESSAGE}`);
}
throw new UnauthorizedException(
`ApiAuthStrategy - Invalid authentication method. Please provide one of the allowed methods: ${allowedMethods}`
`ApiAuthStrategy - Invalid authentication method. Please provide one of the allowed methods: ${
allowedMethods && allowedMethods.length > 0 ? allowedMethods.join(", ") : "Any supported method"
}`
);
} catch (err) {
if (err instanceof Error) {
@@ -164,21 +215,17 @@ export class ApiAuthStrategy extends PassportStrategy(BaseStrategy, "api-auth")
: await this.accessTokenStrategy(authString, request, requestOrigin);
if (!user) {
return this.error(
new UnauthorizedException(
"ApiAuthStrategy - bearer token - No user associated with the provided token"
)
throw new UnauthorizedException(
"ApiAuthStrategy - bearer token - No user associated with the provided token"
);
}
return this.success(this.getSuccessUser(user));
} catch (err) {
if (err instanceof Error) {
return this.error(err);
throw err;
}
return this.error(
new InternalServerErrorException("An error occurred while authenticating the request")
);
throw new InternalServerErrorException("An error occurred while authenticating the request");
}
}
@@ -271,4 +318,55 @@ export class ApiAuthStrategy extends PassportStrategy(BaseStrategy, "api-auth")
return user;
}
async validateThirdPartyAccessToken(
token: string,
request: ApiAuthGuardRequest
): Promise<{ success: true; data: UserWithProfile } | { success: false }> {
// Removed requiredScopes parameter
const encryptionKey = this.config.get<string>("CALENDSO_ENCRYPTION_KEY");
if (!encryptionKey) {
throw new InternalServerErrorException("CALENDSO_ENCRYPTION_KEY environment variable is not set.");
}
let decodedToken: OAuthTokenPayload;
try {
decodedToken = jwt.verify(token, encryptionKey) as OAuthTokenPayload;
} catch (e) {
return { success: false };
}
if (!decodedToken || decodedToken.token_type !== "Access Token") {
return { success: false };
}
let user: UserWithProfile | null = null;
let organizationId: number | null = null;
if (decodedToken.userId) {
user = await this.userRepository.findByIdWithProfile(decodedToken.userId);
if (user) {
organizationId = this.usersService.getUserMainOrgId(user) as number;
}
} else if (decodedToken.teamId) {
const teamOwner = await this.userRepository.findOwnerByTeamIdWithProfile(decodedToken.teamId);
if (!teamOwner) {
throw new UnauthorizedException(
"ApiAuthStrategy - third-party token - No owner found for the associated team."
);
}
user = teamOwner;
organizationId =
teamOwner.profiles?.find((p) => p.organizationId === decodedToken.teamId)?.organizationId ?? null;
}
if (!user) {
throw new UnauthorizedException(
"ApiAuthStrategy - third-party token - No user or team owner associated with the token."
);
}
request.organizationId = organizationId;
return { success: true, data: user };
}
}
@@ -43,7 +43,7 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
teamId: number | null;
userId: number | null;
title: string;
}
};
let membershipsRepositoryFixture: MembershipRepositoryFixture;
beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
@@ -130,24 +130,24 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
operator: "equal",
value: ["answer1"],
valueSrc: ["value"],
valueType: ["text"]
}
}
}
valueType: ["text"],
},
},
},
},
action: {
type: "eventTypeRedirectUrl",
eventTypeId: routingEventType.id,
value: `team/${team.slug}/${routingEventType.slug}`
value: `team/${team.slug}/${routingEventType.slug}`,
},
isFallback: false
isFallback: false,
},
{
id: "fallback-route",
action: { type: "customPageMessage", value: "Fallback Message" },
isFallback: true,
queryValue: { id: "fallback-route", type: "group" }
}
queryValue: { id: "fallback-route", type: "group" },
},
],
fields: [
{
@@ -155,18 +155,18 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
type: "text",
label: "Question 1",
required: true,
identifier: "question1"
identifier: "question1",
},
{
id: "question2",
id: "question2",
type: "text",
label: "Question 2",
required: false,
identifier: "question2"
}
identifier: "question2",
},
],
settings: {
emailOwnerOnSubmission: false
emailOwnerOnSubmission: false,
},
teamId: team.id,
userId: user.id,
@@ -245,7 +245,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
describe(`POST /v2/organizations/:orgId/routing-forms/:routingFormId/responses`, () => {
it("should return 403 when organization does not exist", async () => {
return request(app.getHttpServer())
.post(`/v2/organizations/99999/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`)
.post(
`/v2/organizations/99999/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`
)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
.send({
question1: "answer1",
@@ -255,7 +257,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
it("should return 404 when routing form does not exist", async () => {
return request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/non-existent-id/responses?start=2050-09-05&end=2050-09-06`)
.post(
`/v2/organizations/${org.id}/routing-forms/non-existent-id/responses?start=2050-09-05&end=2050-09-06`
)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
.send({
question1: "answer1",
@@ -265,7 +269,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
it("should return 401 when authentication token is missing", async () => {
return request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`)
.post(
`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`
)
.send({
question1: "answer1",
})
@@ -274,7 +280,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
it("should create response and return available slots when routing to event type", async () => {
return request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`)
.post(
`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`
)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
.send({
question1: "answer1", // This matches the route condition
@@ -296,7 +304,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
it("should return 400 when required form fields are missing", async () => {
return request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`)
.post(
`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`
)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
.send({
question2: "answer2", // Missing required question1
@@ -306,7 +316,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
it("should create response and return custom message if the routing is to custom page", async () => {
return request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`)
.post(
`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`
)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
.send({
question1: "different-answer", // This won't match any route
@@ -334,7 +346,7 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
})
.expect(400);
// Missing end parameter
// Missing end parameter
await request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05`)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
@@ -347,7 +359,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
it("should return 400 when date parameters have invalid format", async () => {
return request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=invalid-date&end=2050-09-06`)
.post(
`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=invalid-date&end=2050-09-06`
)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
.send({
question1: "answer1",
@@ -357,7 +371,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
it("should return 400 when end date is before start date", async () => {
return request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-10&end=2050-09-05`)
.post(
`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-10&end=2050-09-05`
)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
.send({
question1: "answer1",
@@ -371,10 +387,15 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
email: `unauthorized-user-${randomString()}@api.com`,
});
const { keyString: unauthorizedApiKey } = await apiKeysRepositoryFixture.createApiKey(unauthorizedUser.id, null);
const { keyString: unauthorizedApiKey } = await apiKeysRepositoryFixture.createApiKey(
unauthorizedUser.id,
null
);
const response = await request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`)
.post(
`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`
)
.set({ Authorization: `Bearer cal_test_${unauthorizedApiKey}` })
.send({
question1: "answer1",
@@ -390,7 +411,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
it("should handle queued response creation", async () => {
return request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06&queueResponse=true`)
.post(
`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06&queueResponse=true`
)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
.send({
question1: "answer1",
@@ -426,24 +449,24 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
operator: "equal",
value: ["answer1"],
valueSrc: ["value"],
valueType: ["text"]
}
}
}
valueType: ["text"],
},
},
},
},
action: {
type: "eventTypeRedirectUrl",
eventTypeId: 99999, // Invalid event type ID
value: `team/${team.slug}/non-existent-event-type`
value: `team/${team.slug}/non-existent-event-type`,
},
isFallback: false
isFallback: false,
},
{
id: "fallback-route",
action: { type: "customPageMessage", value: "Fallback Message" },
isFallback: true,
queryValue: { id: "fallback-route", type: "group" }
}
queryValue: { id: "fallback-route", type: "group" },
},
],
fields: [
{
@@ -451,11 +474,11 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
type: "text",
label: "Question 1",
required: true,
identifier: "question1"
}
identifier: "question1",
},
],
settings: {
emailOwnerOnSubmission: false
emailOwnerOnSubmission: false,
},
teamId: team.id,
userId: user.id,
@@ -464,7 +487,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
// Try to create a response for the form with invalid event type
const response = await request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${routingFormWithInvalidEventType.id}/responses?start=2050-09-05&end=2050-09-06`)
.post(
`/v2/organizations/${org.id}/routing-forms/${routingFormWithInvalidEventType.id}/responses?start=2050-09-05&end=2050-09-06`
)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
.send({
question1: "answer1",
@@ -474,7 +499,7 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
// Clean up the form
await prismaWriteService.prisma.app_RoutingForms_Form.delete({
where: { id: routingFormWithInvalidEventType.id }
where: { id: routingFormWithInvalidEventType.id },
});
});
@@ -482,7 +507,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
// This test verifies that routing forms can handle team member assignments
// and that the routing returns the correct team member information
return request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`)
.post(
`/v2/organizations/${org.id}/routing-forms/${routingForm.id}/responses?start=2050-09-05&end=2050-09-06`
)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
.send({
question1: "answer1", // This matches the route condition
@@ -524,23 +551,23 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
operator: "equal",
value: ["external"],
valueSrc: ["value"],
valueType: ["text"]
}
}
}
valueType: ["text"],
},
},
},
},
action: {
type: "externalRedirectUrl",
value: "https://example.com/external-booking"
value: "https://example.com/external-booking",
},
isFallback: false
isFallback: false,
},
{
id: "fallback-route",
action: { type: "customPageMessage", value: "Fallback Message" },
isFallback: true,
queryValue: { id: "fallback-route", type: "group" }
}
queryValue: { id: "fallback-route", type: "group" },
},
],
fields: [
{
@@ -548,11 +575,11 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
type: "text",
label: "Question 1",
required: true,
identifier: "question1"
}
identifier: "question1",
},
],
settings: {
emailOwnerOnSubmission: false
emailOwnerOnSubmission: false,
},
teamId: team.id,
userId: user.id,
@@ -560,7 +587,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
});
const response = await request(app.getHttpServer())
.post(`/v2/organizations/${org.id}/routing-forms/${externalRoutingForm.id}/responses?start=2050-09-05&end=2050-09-06`)
.post(
`/v2/organizations/${org.id}/routing-forms/${externalRoutingForm.id}/responses?start=2050-09-05&end=2050-09-06`
)
.set({ Authorization: `Bearer cal_test_${apiKeyString}` })
.send({
question1: "external", // This matches the route condition for external redirect
@@ -574,7 +603,7 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
expect(data.routingExternalRedirectUrl).toBeDefined();
expect(data.routingExternalRedirectUrl).toContain("https://example.com/external-booking");
expect(data.routingExternalRedirectUrl).toContain("cal.action=externalRedirectUrl");
// Verify that it doesn't contain event type routing data
expect(data.eventTypeId).toBeUndefined();
expect(data.slots).toBeUndefined();
@@ -583,10 +612,9 @@ describe("OrganizationsRoutingFormsResponsesController", () => {
// Clean up the external routing form
await prismaWriteService.prisma.app_RoutingForms_Form.delete({
where: { id: externalRoutingForm.id }
where: { id: externalRoutingForm.id },
});
});
});
describe(`PATCH /v2/organizations/:orgId/routing-forms/:routingFormId/responses/:responseId`, () => {
@@ -6,9 +6,9 @@ import { GetAvailableSlotsInput_2024_09_04 } from "@calcom/platform-types";
export class CreateRoutingFormResponseInput extends GetAvailableSlotsInput_2024_09_04 {
@Transform(({ value }: { value: string | boolean }) => {
if (typeof value === 'boolean') return value;
if (typeof value === 'string') {
return value.toLowerCase() === 'true';
if (typeof value === "boolean") return value;
if (typeof value === "string") {
return value.toLowerCase() === "true";
}
return undefined;
})
@@ -20,4 +20,4 @@ export class CreateRoutingFormResponseInput extends GetAvailableSlotsInput_2024_
example: true,
})
queueResponse?: boolean;
}
}
@@ -2,7 +2,12 @@ import { ApiProperty, ApiPropertyOptional, getSchemaPath } from "@nestjs/swagger
import { Type } from "class-transformer";
import { IsArray, IsBoolean, IsInt, IsNumber, IsOptional, IsString, ValidateNested } from "class-validator";
import { ApiResponseWithoutData, SlotsOutput_2024_09_04, RangeSlotsOutput_2024_09_04 } from "@calcom/platform-types";
import {
ApiResponseWithoutData,
SlotsOutput_2024_09_04,
RangeSlotsOutput_2024_09_04,
} from "@calcom/platform-types";
class Routing {
@ApiProperty({
type: String,
@@ -133,4 +138,4 @@ export class CreateRoutingFormResponseOutput extends ApiResponseWithoutData {
@ApiProperty({ type: CreateRoutingFormResponseOutputData })
@Type(() => CreateRoutingFormResponseOutputData)
data!: CreateRoutingFormResponseOutputData;
}
}
@@ -2,7 +2,12 @@ import { OrganizationsRoutingFormsRepository } from "@/modules/organizations/rou
import { OrganizationsTeamsRoutingFormsResponsesOutputService } from "@/modules/organizations/teams/routing-forms/services/organizations-teams-routing-forms-responses-output.service";
import { SlotsService_2024_09_04 } from "@/modules/slots/slots-2024-09-04/services/slots.service";
import { TeamsEventTypesRepository } from "@/modules/teams/event-types/teams-event-types.repository";
import { BadRequestException, Injectable, NotFoundException, InternalServerErrorException } from "@nestjs/common";
import {
BadRequestException,
Injectable,
NotFoundException,
InternalServerErrorException,
} from "@nestjs/common";
import { Request } from "express";
import { getRoutedUrl } from "@calcom/platform-libraries";
@@ -71,10 +76,14 @@ export class OrganizationsRoutingFormsResponsesService {
request: Request
): Promise<CreateRoutingFormResponseOutputData> {
const { queueResponse, ...slotsQuery } = query;
this.validateDateRange(slotsQuery.start, slotsQuery.end);
const { redirectUrl, customMessage } = await this.getRoutingUrl(request, routingFormId, queueResponse ?? false);
const { redirectUrl, customMessage } = await this.getRoutingUrl(
request,
routingFormId,
queueResponse ?? false
);
// If there is no redirect URL, then we have to show the message as that would be custom page message to be shown as per the route chosen
if (!redirectUrl) {
@@ -86,7 +95,7 @@ export class OrganizationsRoutingFormsResponsesService {
if (!this.isEventTypeRedirectUrl(redirectUrl)) {
return {
routingExternalRedirectUrl: redirectUrl.toString(),
}
};
}
// Extract event type information from the routed URL
@@ -123,9 +132,11 @@ export class OrganizationsRoutingFormsResponsesService {
slots,
};
}
if (!queuedResponseId) {
throw new InternalServerErrorException("No routing form response ID or queued form response ID could be found.");
throw new InternalServerErrorException(
"No routing form response ID or queued form response ID could be found."
);
}
return {
@@ -145,7 +156,7 @@ export class OrganizationsRoutingFormsResponsesService {
private validateDateRange(start: string, end: string) {
const startDate = new Date(start);
const endDate = new Date(end);
if (endDate < startDate) {
throw new BadRequestException("End date cannot be before start date.");
}
@@ -153,10 +164,13 @@ export class OrganizationsRoutingFormsResponsesService {
private async getRoutingUrl(request: Request, formId: string, queueResponse: boolean) {
const params = Object.fromEntries(new URLSearchParams(request.body));
const routedUrlData = await getRoutedUrl({
req: request,
query: { ...params, form: formId, ...(queueResponse && { "cal.queueFormResponse": "true" }) },
}, true);
const routedUrlData = await getRoutedUrl(
{
req: request,
query: { ...params, form: formId, ...(queueResponse && { "cal.queueFormResponse": "true" }) },
},
true
);
if (routedUrlData.notFound) {
throw new NotFoundException("Routing form not found.");
@@ -186,8 +200,6 @@ export class OrganizationsRoutingFormsResponsesService {
}
private async extractEventTypeAndCrmParams(routingUrl: URL) {
// Extract team and event type information
const { teamId, eventTypeSlug } = this.extractTeamIdAndEventTypeSlugFromRedirectUrl(routingUrl);
const eventType = await this.teamsEventTypesRepository.getEventTypeByTeamIdAndSlug(teamId, eventTypeSlug);
@@ -20,7 +20,14 @@ import { OrganizationsTeamsRoutingFormsResponsesService } from "./services/organ
import { OrganizationsTeamsRoutingFormsService } from "./services/organizations-teams-routing-forms.service";
@Module({
imports: [PrismaModule, StripeModule, RedisModule, RoutingFormsModule, SlotsModule_2024_09_04, TeamsEventTypesModule],
imports: [
PrismaModule,
StripeModule,
RedisModule,
RoutingFormsModule,
SlotsModule_2024_09_04,
TeamsEventTypesModule,
],
providers: [
OrganizationsTeamsRoutingFormsService,
OrganizationsTeamsRoutingFormsResponsesService,
@@ -25,7 +25,6 @@ export class RouterController {
@Param("formId") formId: string,
@Body() body?: Record<string, string>
): Promise<void | (ApiResponse<unknown> & { redirect: boolean })> {
const params = Object.fromEntries(new URLSearchParams(body ?? {}));
const routedUrlData = await getRoutedUrl({ req: request, query: { ...params, form: formId } });
if (routedUrlData?.notFound) {
@@ -1,4 +1,5 @@
import { TRPC_ERROR_CODE, TRPC_ERROR_MAP, TRPCErrorCode } from "@/filters/trpc-exception.filter";
import { AvailableSlotsService } from "@/lib/services/available-slots.service";
import { SlotsOutputService_2024_04_15 } from "@/modules/slots/slots-2024-04-15/services/slots-output.service";
import type { RangeSlots, TimeSlots } from "@/modules/slots/slots-2024-04-15/services/slots-output.service";
import { SlotsWorkerService_2024_04_15 } from "@/modules/slots/slots-2024-04-15/services/slots-worker.service";
@@ -17,7 +18,6 @@ import {
VERSION_2024_08_13,
} from "@calcom/platform-constants";
import { TRPCError } from "@calcom/platform-libraries";
import { getAvailableSlots } from "@calcom/platform-libraries/slots";
import { RemoveSelectedSlotInput_2024_04_15, ReserveSlotInput_2024_04_15 } from "@calcom/platform-types";
import { ApiResponse, GetAvailableSlotsInput_2024_04_15 } from "@calcom/platform-types";
@@ -31,7 +31,8 @@ export class SlotsController_2024_04_15 {
private readonly slotsService: SlotsService_2024_04_15,
private readonly config: ConfigService,
private readonly slotsOutputService: SlotsOutputService_2024_04_15,
private readonly slotsWorkerService: SlotsWorkerService_2024_04_15
private readonly slotsWorkerService: SlotsWorkerService_2024_04_15,
private readonly availableSlotsService: AvailableSlotsService
) {}
@Post("/reserve")
@@ -170,8 +171,10 @@ export class SlotsController_2024_04_15 {
: query.isTeamEvent;
// Do not use workers in E2E, not supported by TS-JEST
const availableSlots = this.config.get<boolean>("e2e")
? await getAvailableSlots({
const availableSlotsService = this.config.get<boolean>("e2e") ? this.availableSlotsService : null;
const availableSlots = availableSlotsService
? await availableSlotsService.getAvailableSlots({
input: {
...query,
isTeamEvent,
@@ -1,4 +1,5 @@
import { EventTypesModule_2024_04_15 } from "@/ee/event-types/event-types_2024_04_15/event-types.module";
import { AvailableSlotsModule } from "@/lib/modules/available-slots.module";
import { PrismaModule } from "@/modules/prisma/prisma.module";
import { SlotsController_2024_04_15 } from "@/modules/slots/slots-2024-04-15/controllers/slots.controller";
import { SlotsOutputService_2024_04_15 } from "@/modules/slots/slots-2024-04-15/services/slots-output.service";
@@ -8,7 +9,7 @@ import { SlotsRepository_2024_04_15 } from "@/modules/slots/slots-2024-04-15/slo
import { Module } from "@nestjs/common";
@Module({
imports: [PrismaModule, EventTypesModule_2024_04_15],
imports: [PrismaModule, EventTypesModule_2024_04_15, AvailableSlotsModule],
providers: [
SlotsRepository_2024_04_15,
SlotsService_2024_04_15,
@@ -0,0 +1,23 @@
// apps/api/v2/src/modules/slots/slots-2024-04-15/workers/slots-worker.module.ts
// Needed if ConfigService is used anywhere
import appConfig from "@/config/app";
import { AvailableSlotsModule } from "@/lib/modules/available-slots.module";
import { PrismaModule } from "@/modules/prisma/prisma.module";
import { Module, Logger } from "@nestjs/common";
import { ConfigModule } from "@nestjs/config";
import { SentryModule } from "@sentry/nestjs/setup";
@Module({
imports: [
SentryModule.forRoot(),
ConfigModule.forRoot({
ignoreEnvFile: true,
isGlobal: true,
load: [appConfig],
}),
PrismaModule,
AvailableSlotsModule,
],
providers: [Logger],
})
export class SlotsWorkerModule {}
@@ -1,16 +1,65 @@
import { parentPort } from "worker_threads";
import { AvailableSlotsService } from "@/lib/services/available-slots.service";
import { Logger } from "@nestjs/common";
import { NestFactory } from "@nestjs/core";
import { IncomingMessage } from "http";
import { parentPort, isMainThread } from "worker_threads";
import { getAvailableSlots } from "@calcom/platform-libraries/slots";
import { SlotsWorkerModule } from "./slots.worker.module";
parentPort?.on("message", async (data) => {
try {
const { input, ctx } = data;
const result = await getAvailableSlots({ input, ctx });
parentPort?.postMessage({ success: true, data: result });
} catch (error) {
parentPort?.postMessage({
success: false,
error: error instanceof Error ? error : new Error("Unknown error"),
});
interface ContextForGetSchedule extends Record<string, unknown> {
req?: (IncomingMessage & { cookies: Partial<{ [key: string]: string }> }) | undefined;
}
interface WorkerMessage {
input: any; // Use a more specific type if available, e.g., TGetScheduleInputSchema
ctx?: ContextForGetSchedule;
}
interface WorkerResult {
success: boolean;
data?: any; // Use TimeSlots
error?: {
message: string;
code?: string;
stack?: string;
};
}
async function bootstrapWorkerApp() {
if (isMainThread) {
console.error("slots-worker-main.ts should only be run in a worker thread.");
process.exit(1);
}
});
const app = await NestFactory.createApplicationContext(SlotsWorkerModule);
const logger = app.get(Logger); // Get the NestJS Logger instance
logger.log("NestJS worker application bootstrapped successfully.");
const availableSlotsService = app.get(AvailableSlotsService);
parentPort?.on("message", async (data: WorkerMessage) => {
try {
const { input, ctx } = data;
const result = await availableSlotsService.getAvailableSlots({ input, ctx });
parentPort?.postMessage({ success: true, data: result } as WorkerResult);
} catch (error: any) {
parentPort?.postMessage({
success: false,
error: error instanceof Error ? error : new Error("Unknown error"),
});
}
});
parentPort?.on("close", async () => {
logger.log("Worker port closed. Shutting down NestJS worker application.");
await app.close();
});
parentPort?.on("disconnect", async () => {
logger.log("Worker port disconnected. Shutting down NestJS worker application.");
await app.close();
});
}
bootstrapWorkerApp();
@@ -1,4 +1,5 @@
import { EventTypesRepository_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/event-types.repository";
import { AvailableSlotsService } from "@/lib/services/available-slots.service";
import { MembershipsRepository } from "@/modules/memberships/memberships.repository";
import { MembershipsService } from "@/modules/memberships/services/memberships.service";
import { TimeSlots } from "@/modules/slots/slots-2024-04-15/services/slots-output.service";
@@ -17,7 +18,6 @@ import {
import { DateTime } from "luxon";
import { z } from "zod";
import { getAvailableSlots } from "@calcom/platform-libraries/slots";
import { GetSlotsInput_2024_09_04, ReserveSlotInput_2024_09_04 } from "@calcom/platform-types";
import { Booking, EventType } from "@calcom/prisma/client";
@@ -38,13 +38,14 @@ export class SlotsService_2024_09_04 {
private readonly slotsInputService: SlotsInputService_2024_09_04,
private readonly membershipsService: MembershipsService,
private readonly membershipsRepository: MembershipsRepository,
private readonly teamsRepository: TeamsRepository
private readonly teamsRepository: TeamsRepository,
private readonly availableSlotsService: AvailableSlotsService
) {}
async getAvailableSlots(query: GetSlotsInput_2024_09_04) {
try {
const queryTransformed = await this.slotsInputService.transformGetSlotsQuery(query);
const availableSlots: TimeSlots = await getAvailableSlots({
const availableSlots: TimeSlots = await this.availableSlotsService.getAvailableSlots({
input: {
...queryTransformed,
routingFormResponseId: queryTransformed.routingFormResponseId ?? undefined,
@@ -1,4 +1,5 @@
import { EventTypesModule_2024_06_14 } from "@/ee/event-types/event-types_2024_06_14/event-types.module";
import { AvailableSlotsModule } from "@/lib/modules/available-slots.module";
import { MembershipsModule } from "@/modules/memberships/memberships.module";
import { OrganizationsRepository } from "@/modules/organizations/index/organizations.repository";
import { OrganizationsTeamsRepository } from "@/modules/organizations/teams/index/organizations-teams.repository";
@@ -23,6 +24,7 @@ import { Module } from "@nestjs/common";
TeamsModule,
MembershipsModule,
TeamsEventTypesModule,
AvailableSlotsModule,
],
providers: [
SlotsRepository_2024_09_04,
@@ -85,6 +85,27 @@ export class UsersRepository {
});
}
async findOwnerByTeamIdWithProfile(teamId: number): Promise<UserWithProfile | null> {
return this.dbRead.prisma.user.findFirst({
where: {
teams: {
some: {
teamId,
role: "OWNER",
},
},
},
include: {
movedToProfile: {
include: { organization: { select: { isPlatform: true, name: true, slug: true, id: true } } },
},
profiles: {
include: { organization: { select: { isPlatform: true, name: true, slug: true, id: true } } },
},
},
});
}
async findByIdsWithEventTypes(userIds: number[]) {
return this.dbRead.prisma.user.findMany({
where: {
+146 -14
View File
@@ -23975,7 +23975,7 @@
"type": "object",
"properties": {}
},
"Attendee": {
"CreateBookingAttendee": {
"type": "object",
"properties": {
"name": {
@@ -24112,7 +24112,7 @@
"description": "The attendee's details.",
"allOf": [
{
"$ref": "#/components/schemas/Attendee"
"$ref": "#/components/schemas/CreateBookingAttendee"
}
]
},
@@ -24239,7 +24239,7 @@
"description": "The attendee's details.",
"allOf": [
{
"$ref": "#/components/schemas/Attendee"
"$ref": "#/components/schemas/CreateBookingAttendee"
}
]
},
@@ -24372,7 +24372,7 @@
"description": "The attendee's details.",
"allOf": [
{
"$ref": "#/components/schemas/Attendee"
"$ref": "#/components/schemas/CreateBookingAttendee"
}
]
},
@@ -24541,6 +24541,86 @@
"slug"
]
},
"BookingAttendee": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "John Doe"
},
"email": {
"type": "string",
"example": "john@example.com"
},
"timeZone": {
"type": "string",
"example": "America/New_York"
},
"language": {
"type": "string",
"enum": [
"ar",
"ca",
"de",
"es",
"eu",
"he",
"id",
"ja",
"lv",
"pl",
"ro",
"sr",
"th",
"vi",
"az",
"cs",
"el",
"es-419",
"fi",
"hr",
"it",
"km",
"nl",
"pt",
"ru",
"sv",
"tr",
"zh-CN",
"bg",
"da",
"en",
"et",
"fr",
"hu",
"iw",
"ko",
"no",
"pt-BR",
"sk",
"ta",
"uk",
"zh-TW",
"bn"
],
"example": "en"
},
"absent": {
"type": "boolean",
"example": false
},
"phoneNumber": {
"type": "string",
"example": "+1234567890"
}
},
"required": [
"name",
"email",
"timeZone",
"absent"
]
},
"BookingOutput_2024_08_13": {
"type": "object",
"properties": {
@@ -24594,7 +24674,13 @@
},
"rescheduledFromUid": {
"type": "string",
"example": "previous_uid_123"
"example": "previous_uid_123",
"description": "UID of the previous booking from which this booking was rescheduled."
},
"rescheduledToUid": {
"type": "string",
"example": "new_uid_456",
"description": "UID of the new booking to which this booking was rescheduled."
},
"start": {
"type": "string",
@@ -24657,7 +24743,7 @@
"attendees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Attendee"
"$ref": "#/components/schemas/BookingAttendee"
}
},
"guests": {
@@ -24751,7 +24837,13 @@
},
"rescheduledFromUid": {
"type": "string",
"example": "previous_uid_123"
"example": "previous_uid_123",
"description": "UID of the previous booking from which this booking was rescheduled."
},
"rescheduledToUid": {
"type": "string",
"example": "new_uid_456",
"description": "UID of the new booking to which this booking was rescheduled."
},
"start": {
"type": "string",
@@ -24814,7 +24906,7 @@
"attendees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Attendee"
"$ref": "#/components/schemas/BookingAttendee"
}
},
"guests": {
@@ -24919,7 +25011,8 @@
"sk",
"ta",
"uk",
"zh-TW"
"zh-TW",
"bn"
],
"example": "en"
},
@@ -25011,7 +25104,13 @@
},
"rescheduledFromUid": {
"type": "string",
"example": "previous_uid_123"
"example": "previous_uid_123",
"description": "UID of the previous booking from which this booking was rescheduled."
},
"rescheduledToUid": {
"type": "string",
"example": "new_uid_456",
"description": "UID of the new booking to which this booking was rescheduled."
},
"start": {
"type": "string",
@@ -25155,7 +25254,13 @@
},
"rescheduledFromUid": {
"type": "string",
"example": "previous_uid_123"
"example": "previous_uid_123",
"description": "UID of the previous booking from which this booking was rescheduled."
},
"rescheduledToUid": {
"type": "string",
"example": "new_uid_456",
"description": "UID of the new booking to which this booking was rescheduled."
},
"start": {
"type": "string",
@@ -25344,7 +25449,13 @@
},
"rescheduledFromUid": {
"type": "string",
"example": "previous_uid_123"
"example": "previous_uid_123",
"description": "UID of the previous booking from which this booking was rescheduled."
},
"rescheduledToUid": {
"type": "string",
"example": "new_uid_456",
"description": "UID of the new booking to which this booking was rescheduled."
},
"start": {
"type": "string",
@@ -25483,7 +25594,13 @@
},
"rescheduledFromUid": {
"type": "string",
"example": "previous_uid_123"
"example": "previous_uid_123",
"description": "UID of the previous booking from which this booking was rescheduled."
},
"rescheduledToUid": {
"type": "string",
"example": "new_uid_456",
"description": "UID of the new booking to which this booking was rescheduled."
},
"start": {
"type": "string",
@@ -25925,6 +26042,21 @@
"data"
]
},
"MarkAbsentAttendee": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"absent": {
"type": "boolean"
}
},
"required": [
"email",
"absent"
]
},
"MarkAbsentBookingInput_2024_08_13": {
"type": "object",
"properties": {
@@ -25936,7 +26068,7 @@
"attendees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Attendee"
"$ref": "#/components/schemas/MarkAbsentAttendee"
}
}
}
+2 -1
View File
@@ -25,7 +25,8 @@
"@calcom/platform-libraries/schedules": ["../../../packages/platform/libraries/schedules.ts"],
"@calcom/platform-libraries/app-store": ["../../../packages/platform/libraries/app-store.ts"],
"@calcom/platform-libraries/workflows": ["../../../packages/platform/libraries/workflows.ts"],
"@calcom/platform-libraries/conferencing": ["../../../packages/platform/libraries/conferencing.ts"]
"@calcom/platform-libraries/conferencing": ["../../../packages/platform/libraries/conferencing.ts"],
"@calcom/platform-libraries/repositories": ["../../../packages/platform/libraries/repositories.ts"]
},
"incremental": true,
"skipLibCheck": true,
+1 -1
View File
@@ -30,7 +30,7 @@
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
"eslint": "^9",
"eslint": "^8.34.0",
"eslint-config-next": "15.1.6",
"postcss": "^8",
"tailwindcss": "^3.4.1",
@@ -11,6 +11,15 @@ import { getServerSideProps } from "@server/lib/[user]/[type]/getServerSideProps
import TypePage, { type PageProps as ClientPageProps } from "~/users/views/users-type-public-view";
export const generateMetadata = async () => {
return {
robots: {
follow: false,
index: false,
},
};
};
const getData = withEmbedSsrAppDir<ClientPageProps>(getServerSideProps);
const ServerPage = async ({ params, searchParams }: ServerPageProps) => {
@@ -8,6 +8,15 @@ import { getServerSideProps } from "@server/lib/[user]/getServerSideProps";
import User, { type PageProps as ClientPageProps } from "~/users/views/users-public-view";
export const generateMetadata = async () => {
return {
robots: {
follow: false,
index: false,
},
};
};
const getData = withEmbedSsrAppDir<ClientPageProps>(getServerSideProps);
const ServerPage = async ({ params, searchParams }: ServerPageProps) => {
@@ -17,6 +17,15 @@ const getData = withEmbedSsrAppDir<ClientPageProps>(getServerSideProps);
export type ClientPageProps = UserTypePageProps | TeamTypePageProps;
export const generateMetadata = async () => {
return {
robots: {
follow: false,
index: false,
},
};
};
const ServerPage = async ({ params, searchParams }: ServerPageProps) => {
const context = buildLegacyCtx(await headers(), await cookies(), await params, await searchParams);
const props = await getData(context);
@@ -14,6 +14,15 @@ const getData = withEmbedSsrAppDir<ClientPageProps>(getServerSideProps);
export type ClientPageProps = UserPageProps | TeamPageProps;
export const generateMetadata = async () => {
return {
robots: {
follow: false,
index: false,
},
};
};
const ServerPage = async ({ params, searchParams }: ServerPageProps) => {
const context = buildLegacyCtx(await headers(), await cookies(), await params, await searchParams);
const props = await getData(context);
@@ -10,6 +10,15 @@ import { getServerSideProps } from "@lib/team/[slug]/[type]/getServerSideProps";
import TypePage, { type PageProps as ClientPageProps } from "~/team/type-view";
export const generateMetadata = async () => {
return {
robots: {
follow: false,
index: false,
},
};
};
const getData = withEmbedSsrAppDir<ClientPageProps>(getServerSideProps);
const ServerPage = async ({ params, searchParams }: ServerPageProps) => {
@@ -7,6 +7,15 @@ import { getServerSideProps } from "@lib/team/[slug]/getServerSideProps";
import TeamPage, { type PageProps as ClientPageProps } from "~/team/team-view";
export const generateMetadata = async () => {
return {
robots: {
follow: false,
index: false,
},
};
};
const getData = withEmbedSsrAppDir<ClientPageProps>(getServerSideProps);
const ServerPage = async ({ params, searchParams }: ServerPageProps) => {
@@ -6,6 +6,7 @@ import { unstable_cache } from "next/cache";
import { TeamsListing } from "@calcom/features/ee/teams/components/TeamsListing";
import { TeamRepository } from "@calcom/lib/server/repository/team";
import { TeamService } from "@calcom/lib/server/service/team";
import prisma from "@calcom/prisma";
import { meRouter } from "@calcom/trpc/server/routers/viewer/me/_router";
import { TRPCError } from "@trpc/server";
@@ -14,7 +15,8 @@ import { TeamsCTA } from "./CTA";
const getCachedTeams = unstable_cache(
async (userId: number) => {
return await TeamRepository.findTeamsByUserId({
const teamRepo = new TeamRepository(prisma);
return await teamRepo.findTeamsByUserId({
userId,
includeOrgs: true,
});
@@ -4,6 +4,7 @@ import { cookies, headers } from "next/headers";
import { getAppRegistry, getAppRegistryWithCredentials } from "@calcom/app-store/_appRegistry";
import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
import { UserRepository } from "@calcom/lib/server/repository/user";
import prisma from "@calcom/prisma";
import type { AppCategories } from "@calcom/prisma/enums";
import { buildLegacyRequest } from "@lib/buildLegacyCtx";
@@ -25,7 +26,8 @@ const ServerPage = async () => {
const session = await getServerSession({ req });
let appStore, userAdminTeamsIds: number[];
if (session?.user?.id) {
const userAdminTeams = await UserRepository.getUserAdminTeams(session.user.id);
const userRepo = new UserRepository(prisma);
const userAdminTeams = await userRepo.getUserAdminTeams({ userId: session.user.id });
userAdminTeamsIds = userAdminTeams?.teams?.map(({ team }) => team.id) ?? [];
appStore = await getAppRegistryWithCredentials(session.user.id, userAdminTeamsIds);
} else {
@@ -6,6 +6,7 @@ import LicenseRequired from "@calcom/features/ee/common/components/LicenseRequir
import { UsersEditView } from "@calcom/features/ee/users/pages/users-edit-view";
import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader";
import { UserRepository } from "@calcom/lib/server/repository/user";
import prisma from "@calcom/prisma";
const userIdSchema = z.object({ id: z.coerce.number() });
@@ -21,7 +22,8 @@ export const generateMetadata = async ({ params }: { params: Params }) => {
);
}
const user = await UserRepository.adminFindById(input.data.id);
const userRepo = new UserRepository(prisma);
const user = await userRepo.adminFindById(input.data.id);
return await _generateMetadata(
(t) => `${t("editing_user")}: ${user.username}`,
@@ -37,7 +39,8 @@ const Page = async ({ params }: { params: Params }) => {
if (!input.success) throw new Error("Invalid access");
const user = await UserRepository.adminFindById(input.data.id);
const userRepo = new UserRepository(prisma);
const user = await userRepo.adminFindById(input.data.id);
const t = await getTranslate();
return (
@@ -6,6 +6,7 @@ import { notFound } from "next/navigation";
import { z } from "zod";
import { BookingRepository } from "@calcom/lib/server/repository/booking";
import { prisma } from "@calcom/prisma";
import { buildLegacyCtx } from "@lib/buildLegacyCtx";
import { getServerSideProps } from "@lib/video/meeting-not-started/[uid]/getServerSideProps";
@@ -22,7 +23,8 @@ export const generateMetadata = async ({ params }: ServerPageProps) => {
if (!parsed.success) {
notFound();
}
const booking = await BookingRepository.findBookingByUid({
const bookingRepo = new BookingRepository(prisma);
const booking = await bookingRepo.findBookingByUid({
bookingUid: parsed.data.uid,
});
@@ -11,6 +11,7 @@ import { HttpError } from "@calcom/lib/http-error";
import notEmpty from "@calcom/lib/notEmpty";
import { SelectedCalendarRepository } from "@calcom/lib/server/repository/selectedCalendar";
import { UserRepository } from "@calcom/lib/server/repository/user";
import prisma from "@calcom/prisma";
import { buildLegacyRequest } from "@lib/buildLegacyCtx";
@@ -29,7 +30,10 @@ async function authMiddleware() {
throw new HttpError({ statusCode: 401, message: "Not authenticated" });
}
const userWithCredentials = await UserRepository.findUserWithCredentials({ id: session.user.id });
const userRepo = new UserRepository(prisma);
const userWithCredentials = await userRepo.findUserWithCredentials({
id: session.user.id,
});
if (!userWithCredentials) {
throw new HttpError({ statusCode: 401, message: "Not authenticated" });
+4 -2
View File
@@ -8,6 +8,7 @@ import { z } from "zod";
import dayjs from "@calcom/dayjs";
import { timeZoneSchema } from "@calcom/lib/dayjs/timeZone.schema";
import { UserRepository } from "@calcom/lib/server/repository/user";
import prisma from "@calcom/prisma";
import { userMetadata } from "@calcom/prisma/zod-utils";
import { CardComponent } from "@lib/plain/card-components";
@@ -474,7 +475,8 @@ async function handler(request: NextRequest) {
// Validate request body
const { cardKeys, customer } = inputSchema.parse(requestBody);
const user = await UserRepository.findByEmail({ email: customer.email });
const userRepo = new UserRepository(prisma);
const user = await userRepo.findByEmail({ email: customer.email });
if (!user) {
return NextResponse.json({
@@ -502,7 +504,7 @@ async function handler(request: NextRequest) {
}
// Fetch team details including userId and team name
const teamMemberships = await UserRepository.findTeamsByUserId({ userId: user.id });
const teamMemberships = await userRepo.findTeamsByUserId({ userId: user.id });
const firstTeam = teamMemberships.teams[0] ?? null;
// Parse user metadata
@@ -1,4 +1,4 @@
import { describe, it, expect, vi } from "vitest";
import { beforeEach, describe, it, expect, vi } from "vitest";
import { onSubmissionOfFormResponse } from "@calcom/app-store/routing-forms/lib/formSubmissionUtils";
import { getResponseToStore } from "@calcom/app-store/routing-forms/lib/getResponseToStore";
@@ -8,6 +8,11 @@ import { RoutingFormResponseRepository } from "@calcom/lib/server/repository/for
import { queuedResponseHandler } from "../route";
vi.mock("@calcom/lib/server/repository/formResponse");
const mockRoutingFormResponseRepository = {
getQueuedFormResponseFromId: vi.fn(),
recordFormResponse: vi.fn(),
};
vi.mock("@calcom/app-store/routing-forms/lib/getSerializableForm");
vi.mock("@calcom/app-store/routing-forms/lib/getResponseToStore");
vi.mock("@calcom/app-store/routing-forms/lib/formSubmissionUtils");
@@ -43,8 +48,14 @@ const mockQueuedFormResponse = {
};
describe("queuedResponseHandler", () => {
beforeEach(() => {
vi.mocked(RoutingFormResponseRepository).mockImplementation(
() => mockRoutingFormResponseRepository as any
);
});
it("should process a queued form response", async () => {
vi.mocked(RoutingFormResponseRepository.getQueuedFormResponseFromId).mockResolvedValue(
vi.mocked(mockRoutingFormResponseRepository.getQueuedFormResponseFromId).mockResolvedValue(
mockQueuedFormResponse
);
@@ -90,7 +101,7 @@ describe("queuedResponseHandler", () => {
team: null,
} as unknown as Awaited<ReturnType<typeof onSubmissionOfFormResponse>>);
vi.mocked(RoutingFormResponseRepository.recordFormResponse).mockResolvedValue({
vi.mocked(mockRoutingFormResponseRepository.recordFormResponse).mockResolvedValue({
id: "mock-form-id",
name: "Test Form",
description: "Test Form Description",
@@ -102,7 +113,7 @@ describe("queuedResponseHandler", () => {
},
team: null,
chosenRouteId: "mock-chosen-route-id",
} as unknown as Awaited<ReturnType<typeof RoutingFormResponseRepository.recordFormResponse>>);
} as unknown as Awaited<ReturnType<typeof mockRoutingFormResponseRepository.recordFormResponse>>);
const response = await queuedResponseHandler({
queuedFormResponseId: "1",
@@ -115,7 +126,7 @@ describe("queuedResponseHandler", () => {
});
it("if no queued form response is found, should return early", async () => {
vi.mocked(RoutingFormResponseRepository.getQueuedFormResponseFromId).mockResolvedValue(null);
vi.mocked(mockRoutingFormResponseRepository.getQueuedFormResponseFromId).mockResolvedValue(null);
const response = await queuedResponseHandler({
queuedFormResponseId: "1",
params: {},
@@ -127,7 +138,7 @@ describe("queuedResponseHandler", () => {
});
it("should throw if form has no fields", async () => {
vi.mocked(RoutingFormResponseRepository.getQueuedFormResponseFromId).mockResolvedValue(
vi.mocked(mockRoutingFormResponseRepository.getQueuedFormResponseFromId).mockResolvedValue(
mockQueuedFormResponse
);
vi.mocked(getSerializableForm).mockResolvedValue({
@@ -8,6 +8,7 @@ import { getSerializableForm } from "@calcom/app-store/routing-forms/lib/getSeri
import logger from "@calcom/lib/logger";
import { safeStringify } from "@calcom/lib/safeStringify";
import { RoutingFormResponseRepository } from "@calcom/lib/server/repository/formResponse";
import prisma from "@calcom/prisma";
import { defaultResponderForAppDir } from "../../defaultResponderForAppDir";
@@ -23,10 +24,10 @@ export const queuedResponseHandler = async ({
queuedFormResponseId: string;
params: Record<string, string | string[]>;
}) => {
const formResponseRepo = new RoutingFormResponseRepository(prisma);
// Get the queued response
const queuedFormResponse = await RoutingFormResponseRepository.getQueuedFormResponseFromId(
queuedFormResponseId
);
const queuedFormResponse = await formResponseRepo.getQueuedFormResponseFromId(queuedFormResponseId);
if (!queuedFormResponse) {
return {
@@ -48,7 +49,7 @@ export const queuedResponseHandler = async ({
fieldsResponses: params,
});
const formResponse = await RoutingFormResponseRepository.recordFormResponse({
const formResponse = await formResponseRepo.recordFormResponse({
formId: queuedFormResponse.formId,
queuedFormResponseId: queuedFormResponse.id,
// We record new response here as that might be different from the queued response depending on if the user changed something in b/w before clicking CTA and that something wasn't prerendered
@@ -440,7 +440,11 @@ describe("RerouteDialog", () => {
render(
<SessionProvider session={mockSession}>
<TooltipProvider>
<RerouteDialog isOpenDialog={true} setIsOpenDialog={mockSetIsOpenDialog} booking={mockBooking} />
<RerouteDialog
isOpenDialog={true}
setIsOpenDialog={mockSetIsOpenDialog}
booking={mockBooking}
/>
</TooltipProvider>
</SessionProvider>
);
@@ -483,7 +487,11 @@ describe("RerouteDialog", () => {
render(
<SessionProvider session={mockSession}>
<TooltipProvider>
<RerouteDialog isOpenDialog={true} setIsOpenDialog={mockSetIsOpenDialog} booking={mockBooking} />
<RerouteDialog
isOpenDialog={true}
setIsOpenDialog={mockSetIsOpenDialog}
booking={mockBooking}
/>
</TooltipProvider>
</SessionProvider>
);
+17 -2
View File
@@ -9,6 +9,7 @@ import { isPasswordValid } from "@calcom/features/auth/lib/isPasswordValid";
import { WEBSITE_URL } from "@calcom/lib/constants";
import { emailRegex } from "@calcom/lib/emailSchema";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { Button } from "@calcom/ui/components/button";
import { EmptyScreen } from "@calcom/ui/components/empty-screen";
import { EmailField, Label, TextField, PasswordField } from "@calcom/ui/components/form";
@@ -34,7 +35,12 @@ export const AdminUserContainer = (props: React.ComponentProps<typeof AdminUser>
return <AdminUser {...props} />;
};
export const AdminUser = (props: { onSubmit: () => void; onError: () => void; onSuccess: () => void }) => {
export const AdminUser = (props: {
onSubmit: () => void;
onError: () => void;
onSuccess: () => void;
nav: { onNext: () => void; onPrev: () => void };
}) => {
const { t } = useLocale();
const formSchema = z.object({
@@ -118,7 +124,7 @@ export const AdminUser = (props: { onSubmit: () => void; onError: () => void; on
<TextField
addOnLeading={
!longWebsiteUrl && (
<span className="text-subtle inline-flex items-center rounded-none px-3 text-sm">
<span className="text-subtle inline-flex items-center rounded-none text-sm">
{process.env.NEXT_PUBLIC_WEBSITE_URL}/
</span>
)
@@ -187,6 +193,15 @@ export const AdminUser = (props: { onSubmit: () => void; onError: () => void; on
)}
/>
</div>
<div className="flex justify-end gap-2">
<Button
type="submit"
color="primary"
loading={formMethods.formState.isSubmitting}
disabled={!formMethods.formState.isValid || formMethods.formState.isSubmitting}>
{t("next")}
</Button>
</div>
</form>
</FormProvider>
);
@@ -0,0 +1,255 @@
"use client";
import { zodResolver } from "@hookform/resolvers/zod";
import * as RadioGroup from "@radix-ui/react-radio-group";
import classNames from "classnames";
import Link from "next/link";
import { useCallback, useState } from "react";
import { Controller, FormProvider, useForm, useFormState } from "react-hook-form";
import { z } from "zod";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import type { RouterInputs, RouterOutputs } from "@calcom/trpc/react";
import { trpc } from "@calcom/trpc/react";
import { Button } from "@calcom/ui/components/button";
import { TextField } from "@calcom/ui/components/form";
import { Icon } from "@calcom/ui/components/icon";
type LicenseSelectionFormValues = {
licenseKey: string;
signatureToken?: string;
};
type LicenseOption = "FREE" | "EXISTING";
const LicenseSelection = (
props: {
value: LicenseOption;
onChange: (value: LicenseOption) => void;
onSubmit: (value: LicenseSelectionFormValues) => void;
onSuccess?: (
data: RouterOutputs["viewer"]["deploymentSetup"]["update"],
variables: RouterInputs["viewer"]["deploymentSetup"]["update"]
) => void;
onPrevStep: () => void;
onNextStep: () => void;
} & Omit<JSX.IntrinsicElements["form"], "onSubmit" | "onChange">
) => {
const {
value: initialValue = "FREE",
onChange,
onSubmit,
onSuccess,
onPrevStep,
onNextStep,
...rest
} = props;
const [value, setValue] = useState<LicenseOption>(initialValue);
const { t } = useLocale();
const mutation = trpc.viewer.deploymentSetup.update.useMutation({
onSuccess,
});
const [licenseKeyInput, setLicenseKeyInput] = useState("");
const [licenseTouched, setLicenseTouched] = useState(false);
// Use TRPC query for validation
const { data: licenseValidation, isLoading: checkLicenseLoading } =
trpc.viewer.deploymentSetup.validateLicense.useQuery(
{ licenseKey: licenseKeyInput },
{
enabled: licenseTouched && licenseKeyInput.trim().length > 0,
}
);
const schemaLicenseKey = useCallback(
() =>
z.object({
licenseKey: z
.string()
.min(1, t("license_key_required"))
.refine(() => !licenseTouched || (licenseValidation ? licenseValidation.valid : true), {
message: licenseValidation?.message || t("invalid_license_key"),
}),
signatureToken: z.string().optional(),
}),
[licenseValidation, licenseTouched, t]
);
const formMethods = useForm<LicenseSelectionFormValues>({
defaultValues: {
licenseKey: "",
signatureToken: "",
},
resolver: zodResolver(schemaLicenseKey()),
});
const handleSubmit = formMethods.handleSubmit((values) => {
onSubmit(values);
if (value === "EXISTING" && values.licenseKey) {
mutation.mutate(values);
}
});
const { isDirty, errors } = useFormState(formMethods);
const handleRadioChange = (newValue: LicenseOption) => {
setValue(newValue);
onChange(newValue);
};
return (
<form
{...rest}
className="space-y-6"
onSubmit={(e) => {
e.preventDefault();
if (value === "FREE") {
onSubmit({ licenseKey: "", signatureToken: "" });
} else {
handleSubmit();
}
}}>
<RadioGroup.Root
defaultValue={initialValue}
value={value}
aria-label={t("choose_a_license")}
className="grid grid-rows-2 gap-4 md:grid-cols-2 md:grid-rows-1"
onValueChange={(value) => handleRadioChange(value as LicenseOption)}>
<RadioGroup.Item value="FREE" className="h-full">
<div
className={classNames(
"bg-default h-full cursor-pointer space-y-2 rounded-md border p-4 hover:border-black",
value === "FREE" && "ring-2 ring-black"
)}>
<h2 className="font-cal text-emphasis text-xl">{t("agplv3_license")}</h2>
<p className="font-medium text-green-800">{t("free_license_fee")}</p>
<p className="text-subtle">{t("forever_open_and_free")}</p>
<ul className="text-subtle ml-4 list-disc text-left text-xs">
<li>{t("required_to_keep_your_code_open_source")}</li>
<li>{t("cannot_repackage_and_resell")}</li>
<li>{t("no_enterprise_features")}</li>
</ul>
</div>
</RadioGroup.Item>
<RadioGroup.Item value="EXISTING" className="h-full">
<div
className={classNames(
"bg-default h-full cursor-pointer space-y-2 rounded-md border p-4 hover:border-black",
value === "EXISTING" && "ring-2 ring-black"
)}>
<h2 className="font-cal text-emphasis text-xl">{t("enter_license_key")}</h2>
<p className="font-medium text-green-800">{t("enter_existing_license")}</p>
<p className="text-subtle">{t("enter_your_license_key")}</p>
<p className="text-subtle text-xs">
{t("need_a_license")}{" "}
<Link
href="https://go.cal.com/self-hosted"
target="_blank"
rel="noreferrer noopener"
className="text-blue-600 hover:underline">
{t("purchase_license")}
</Link>
</p>
</div>
</RadioGroup.Item>
</RadioGroup.Root>
{value === "EXISTING" && (
<FormProvider {...formMethods}>
<div className="bg-muted space-y-4 rounded-md px-4 py-3">
<div className="space-y-4">
<div>
<Controller
name="licenseKey"
control={formMethods.control}
render={({ field: { onBlur, onChange, value } }) => (
<TextField
name="licenseKey"
label={t("license_key")}
className={classNames(
"group-hover:border-emphasis mb-0",
(checkLicenseLoading || (errors.licenseKey === undefined && isDirty)) && "border-r-0"
)}
placeholder="cal_live_XXXXXXXXXXX"
value={licenseKeyInput}
addOnClassname={classNames(
"hover:border-default",
errors.licenseKey === undefined && isDirty && "group-hover:border-emphasis"
)}
addOnSuffix={
checkLicenseLoading ? (
<Icon name="loader" className="h-5 w-5 animate-spin" />
) : licenseValidation?.valid && licenseTouched ? (
<Icon name="check" className="h-5 w-5 text-green-700" />
) : undefined
}
color={errors.licenseKey ? "warn" : ""}
onBlur={(e) => {
setLicenseTouched(true);
onBlur();
}}
onChange={(e) => {
setLicenseKeyInput(e.target.value);
onChange(e.target.value);
}}
/>
)}
/>
{errors.licenseKey && (
<p className="mt-1 text-sm text-red-600">{errors.licenseKey.message}</p>
)}
</div>
<div>
<Controller
name="signatureToken"
control={formMethods.control}
render={({ field: { onBlur, onChange, value } }) => (
<TextField
name="signatureToken"
label={t("signature_token_optional")}
placeholder="cal_sk_XXXXXXXXXXX"
value={value || ""}
onBlur={onBlur}
onChange={(e: React.ChangeEvent<HTMLInputElement>) => {
onChange(e.target.value);
formMethods.setValue("signatureToken", e.target.value);
}}
/>
)}
/>
<p className="text-subtle mt-1 text-sm">{t("signature_token_description")}</p>
</div>
</div>
</div>
</FormProvider>
)}
<div className="flex justify-end gap-2">
<Button type="button" color="secondary" onClick={onPrevStep}>
{t("prev_step")}
</Button>
{value === "EXISTING" ? (
<Button
type="submit"
color="primary"
loading={checkLicenseLoading || mutation.isPending}
disabled={
value === "EXISTING" &&
(!formMethods.formState.isValid || checkLicenseLoading || mutation.isPending)
}>
{t("save_license_key")}
</Button>
) : (
<Button color="primary" onClick={onNextStep} type="button">
{t("next_step")}
</Button>
)}
</div>
</form>
);
};
export default LicenseSelection;
@@ -18,7 +18,8 @@ import { STEPS } from "~/apps/installation/[[...step]]/constants";
import type { OnboardingPageProps, TEventTypeGroup } from "~/apps/installation/[[...step]]/step-view";
const getUser = async (userId: number) => {
const userAdminTeams = await UserRepository.getUserAdminTeams(userId);
const userRepo = new UserRepository(prisma);
const userAdminTeams = await userRepo.getUserAdminTeams({ userId });
if (!userAdminTeams?.id) {
return null;
@@ -101,7 +101,8 @@ async function getUserPageProps(context: GetServerSidePropsContext) {
name = profileUsername || username;
const [user] = await UserRepository.findUsersByUsername({
const userRepo = new UserRepository(prisma);
const [user] = await userRepo.findUsersByUsername({
usernameList: [name],
orgSlug: org,
});
@@ -2,6 +2,7 @@ import type { GetServerSidePropsContext } from "next";
import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
import { UserRepository } from "@calcom/lib/server/repository/user";
import prisma from "@calcom/prisma";
export const getServerSideProps = async (context: GetServerSidePropsContext) => {
const { req } = context;
@@ -12,7 +13,8 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) =>
return { redirect: { permanent: false, destination: "/auth/login" } };
}
const user = await UserRepository.findUserTeams({
const userRepo = new UserRepository(prisma);
const user = await userRepo.findUserTeams({
id: session.user.id,
});
@@ -101,8 +101,9 @@ export async function getServerSideProps(context: GetServerSidePropsContext) {
const eventType = booking.eventType ? booking.eventType : getDefaultEvent(dynamicEventSlugRef);
const userRepo = new UserRepository(prisma);
const enrichedBookingUser = booking.user
? await UserRepository.enrichUserWithItsProfile({ user: booking.user })
? await userRepo.enrichUserWithItsProfile({ user: booking.user })
: null;
const eventUrl = await buildEventUrlFromBooking({
@@ -94,7 +94,8 @@ const checkIfUserIsHost = async ({
return booking.user?.id === sessionUserId;
}
const eventType = await EventTypeRepository.findByIdWithUserAccess({
const eventTypeRepo = new EventTypeRepository(prisma);
const eventType = await eventTypeRepo.findByIdWithUserAccess({
id: booking.eventTypeId,
userId: sessionUserId,
});
@@ -106,7 +107,8 @@ const checkIfUserIsHost = async ({
export async function getServerSideProps(context: GetServerSidePropsContext) {
const { req } = context;
const booking = await BookingRepository.findBookingForMeetingPage({
const bookingRepo = new BookingRepository(prisma);
const booking = await bookingRepo.findBookingForMeetingPage({
bookingUid: context.query.uid as string,
});
@@ -140,9 +142,10 @@ export async function getServerSideProps(context: GetServerSidePropsContext) {
})
: false;
const userRepo = new UserRepository(prisma);
const profile = booking.user
? (
await UserRepository.enrichUserWithItsProfile({
await userRepo.enrichUserWithItsProfile({
user: booking.user,
})
).profile
@@ -1,12 +1,14 @@
import type { GetServerSidePropsContext } from "next";
import { BookingRepository } from "@calcom/lib/server/repository/booking";
import { prisma } from "@calcom/prisma";
import { type inferSSRProps } from "@lib/types/inferSSRProps";
export type PageProps = inferSSRProps<typeof getServerSideProps>;
export async function getServerSideProps(context: GetServerSidePropsContext) {
const booking = await BookingRepository.findBookingForMeetingEndedPage({
const bookingRepo = new BookingRepository(prisma);
const booking = await bookingRepo.findBookingForMeetingEndedPage({
bookingUid: context.query.uid as string,
});
@@ -1,10 +1,12 @@
import type { GetServerSidePropsContext } from "next";
import { BookingRepository } from "@calcom/lib/server/repository/booking";
import { prisma } from "@calcom/prisma";
// change the type
export async function getServerSideProps(context: GetServerSidePropsContext) {
const booking = await BookingRepository.findBookingByUid({
const bookingRepo = new BookingRepository(prisma);
const booking = await bookingRepo.findBookingByUid({
bookingUid: context.query.uid as string,
});
-4
View File
@@ -18,10 +18,6 @@ describe("Middleware - POST requests restriction", () => {
const req1 = createRequest("/api/auth/signup", "POST");
const res1 = checkPostMethod(req1);
expect(res1).toBeNull();
const req2 = createRequest("/api/trpc/book/event", "POST");
const res2 = checkPostMethod(req2);
expect(res2).toBeNull();
});
it("should block POST requests to not-allowed app routes", async () => {
+1 -6
View File
@@ -15,7 +15,7 @@ const safeGet = async <T = any>(key: string): Promise<T | undefined> => {
}
};
export const POST_METHODS_ALLOWED_API_ROUTES = ["/api/auth/signup", "/api/trpc/"];
export const POST_METHODS_ALLOWED_API_ROUTES = ["/api/auth/signup"];
export function checkPostMethod(req: NextRequest) {
const pathname = req.nextUrl.pathname;
if (!POST_METHODS_ALLOWED_API_ROUTES.some((route) => pathname.startsWith(route)) && req.method === "POST") {
@@ -69,10 +69,6 @@ const middleware = async (req: NextRequest): Promise<NextResponse<unknown>> => {
return responseWithHeaders({ url, res: routingFormRewriteResponse, req });
}
if (url.pathname.startsWith("/api/trpc/")) {
requestHeaders.set("x-cal-timezone", req.headers.get("x-vercel-ip-timezone") ?? "");
}
if (url.pathname.startsWith("/api/auth/signup")) {
const isSignupDisabled = await safeGet<boolean>("isSignupDisabled");
// If is in maintenance mode, point the url pathname to the maintenance page
@@ -178,7 +174,6 @@ export const config = {
"/:path*/embed",
// API routes
"/api/auth/signup",
"/api/trpc/:path*",
],
};
+62 -63
View File
@@ -1,104 +1,102 @@
"use client";
import { usePathname, useRouter } from "next/navigation";
import { useState } from "react";
import { useRouter } from "next/navigation";
import { useMemo, useState } from "react";
import AdminAppsList from "@calcom/features/apps/AdminAppsList";
import { APP_NAME } from "@calcom/lib/constants";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import type { inferSSRProps } from "@calcom/types/inferSSRProps";
import { WizardForm } from "@calcom/ui/components/form";
import type { WizardStep } from "@calcom/ui/components/form/wizard/WizardForm";
import { AdminUserContainer as AdminUser } from "@components/setup/AdminUser";
import ChooseLicense from "@components/setup/ChooseLicense";
import EnterpriseLicense from "@components/setup/EnterpriseLicense";
import LicenseSelection from "@components/setup/LicenseSelection";
import type { getServerSideProps } from "@server/lib/setup/getServerSideProps";
function useSetStep() {
const router = useRouter();
const searchParams = useCompatSearchParams();
const pathname = usePathname();
const setStep = (newStep = 1) => {
const _searchParams = new URLSearchParams(searchParams ?? undefined);
_searchParams.set("step", newStep.toString());
router.replace(`${pathname}?${_searchParams.toString()}`);
};
return setStep;
}
const SETUP_VIEW_SETPS = {
ADMIN_USER: 1,
LICENSE: 2,
APPS: 3,
} as const;
export type PageProps = inferSSRProps<typeof getServerSideProps>;
export function Setup(props: PageProps) {
const [hasPickedAGPLv3, setHasPickedAGPLv3] = useState(false);
const { t } = useLocale();
const router = useRouter();
const [value, setValue] = useState(props.isFreeLicense ? "FREE" : "EE");
const isFreeLicense = value === "FREE";
const [isEnabledEE, setIsEnabledEE] = useState(!props.isFreeLicense);
const setStep = useSetStep();
const [licenseOption, setLicenseOption] = useState<"FREE" | "EXISTING">(
props.hasValidLicense ? "EXISTING" : "FREE"
);
const steps: React.ComponentProps<typeof WizardForm>["steps"] = [
const defaultStep = useMemo(() => {
if (props.userCount > 0) {
if (!props.hasValidLicense && !hasPickedAGPLv3) {
return SETUP_VIEW_SETPS.LICENSE;
} else {
return SETUP_VIEW_SETPS.APPS;
}
}
return SETUP_VIEW_SETPS.ADMIN_USER;
}, [props.userCount, props.hasValidLicense, hasPickedAGPLv3]);
const steps: WizardStep[] = [
{
title: t("administrator_user"),
description: t("lets_create_first_administrator_user"),
content: (setIsPending) => (
customActions: true,
content: (setIsPending, nav) => (
<AdminUser
onSubmit={() => {
setIsPending(true);
}}
onSuccess={() => {
setStep(2);
// If there's already a valid license or user picked AGPLv3, skip to apps step
if (props.hasValidLicense || hasPickedAGPLv3) {
nav.onNext();
nav.onNext(); // Skip license step
} else {
nav.onNext();
}
}}
onError={() => {
setIsPending(false);
}}
userCount={props.userCount}
nav={nav}
/>
),
},
{
title: t("choose_a_license"),
description: t("choose_license_description"),
content: (setIsPending) => {
return (
<ChooseLicense
id="wizard-step-2"
name="wizard-step-2"
value={value}
onChange={setValue}
onSubmit={() => {
setIsPending(true);
setStep(3);
}}
/>
);
},
},
];
if (!isFreeLicense) {
// Only show license selection step if there's no valid license already and AGPLv3 wasn't picked
if (!props.hasValidLicense && !hasPickedAGPLv3) {
steps.push({
title: t("step_enterprise_license"),
description: t("step_enterprise_license_description"),
content: (setIsPending) => {
const currentStep = 3;
title: t("choose_a_license"),
description: t("choose_license_description"),
customActions: true,
content: (setIsPending, nav) => {
return (
<EnterpriseLicense
id={`wizard-step-${currentStep}`}
name={`wizard-step-${currentStep}`}
onSubmit={() => {
<LicenseSelection
id="wizard-step-2"
name="wizard-step-2"
value={licenseOption}
onChange={setLicenseOption}
onSubmit={(values) => {
setIsPending(true);
if (licenseOption === "FREE") {
setHasPickedAGPLv3(true);
nav.onNext();
} else if (licenseOption === "EXISTING" && values.licenseKey) {
nav.onNext();
}
}}
onSuccess={() => {
setStep(currentStep + 1);
}}
onSuccessValidate={() => {
setIsEnabledEE(true);
}}
onPrevStep={nav.onPrev}
onNextStep={nav.onNext}
/>
);
},
isEnabled: isEnabledEE,
});
}
@@ -106,23 +104,24 @@ export function Setup(props: PageProps) {
title: t("enable_apps"),
description: t("enable_apps_description", { appName: APP_NAME }),
contentClassname: "!pb-0 mb-[-1px]",
content: (setIsPending) => {
const currentStep = isFreeLicense ? 3 : 4;
customActions: true,
content: (setIsPending, nav) => {
return (
<AdminAppsList
id={`wizard-step-${currentStep}`}
name={`wizard-step-${currentStep}`}
id={`wizard-step-${steps.length}`}
name={`wizard-step-${steps.length}`}
classNames={{
form: "mb-4 rounded-md bg-default px-0 pt-0 md:max-w-full",
appCategoryNavigationContainer: "max-h-[400px] overflow-y-auto md:p-4",
verticalTabsItem: "!w-48 md:p-4",
}}
baseURL={`/auth/setup?step=${currentStep}`}
baseURL={`/auth/setup?step=${steps.length}`}
useQueryParam={true}
onSubmit={() => {
setIsPending(true);
router.replace("/");
}}
nav={nav}
/>
);
},
@@ -131,7 +130,7 @@ export function Setup(props: PageProps) {
return (
<main className="bg-subtle flex items-center print:h-full md:h-screen">
<WizardForm
href="/auth/setup"
defaultStep={defaultStep}
steps={steps}
nextLabel={t("next_step_text")}
finishLabel={t("finish")}
@@ -77,7 +77,8 @@ export async function getServerSideProps(context: GetServerSidePropsContext) {
let rescheduledToUid: string | null = null;
if (bookingInfo.rescheduled) {
const rescheduledTo = await BookingRepository.findFirstBookingByReschedule({
const bookingRepo = new BookingRepository(prisma);
const rescheduledTo = await bookingRepo.findFirstBookingByReschedule({
originalBookingUid: bookingInfo.uid,
});
rescheduledToUid = rescheduledTo?.uid ?? null;
@@ -89,7 +90,8 @@ export async function getServerSideProps(context: GetServerSidePropsContext) {
} | null = null;
if (bookingInfo.fromReschedule) {
previousBooking = await BookingRepository.findReschedulerByUid({
const bookingRepo = new BookingRepository(prisma);
previousBooking = await bookingRepo.findReschedulerByUid({
uid: bookingInfo.fromReschedule,
});
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@calcom/web",
"version": "5.4.16",
"version": "5.4.19",
"private": true,
"scripts": {
"analyze": "ANALYZE=true next build",
@@ -5,10 +5,10 @@ import { z } from "zod";
import dayjs from "@calcom/dayjs";
import { ZGetRetellLLMSchema } from "@calcom/features/ee/cal-ai-phone/zod-utils";
import type { TGetRetellLLMSchema } from "@calcom/features/ee/cal-ai-phone/zod-utils";
import { getAvailableSlotsService } from "@calcom/lib/di/containers/available-slots";
import { fetcher } from "@calcom/lib/retellAIFetcher";
import { defaultHandler } from "@calcom/lib/server/defaultHandler";
import prisma from "@calcom/prisma";
import { getAvailableSlots } from "@calcom/trpc/server/routers/viewer/slots/util";
dayjs.extend(advancedFormat);
@@ -86,8 +86,9 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const startTime = now.startOf("month").toISOString();
const endTime = now.add(2, "month").endOf("month").toISOString();
const orgSlug = eventType?.team?.parent?.slug ?? null;
const availableSlotsService = getAvailableSlotsService();
const availableSlots = await getAvailableSlots({
const availableSlots = await availableSlotsService.getAvailableSlots({
input: {
startTime,
endTime,
+4
View File
@@ -1,5 +1,9 @@
import { test } from "./lib/fixtures";
test.describe.configure({ mode: "parallel" });
test.afterEach(({ users }) => users.deleteAll());
test.describe("AppListCard", async () => {
test("should remove the highlight from the URL", async ({ page, users }) => {
const user = await users.create({});
@@ -2,6 +2,10 @@ import { expectPageToBeNotFound } from "playwright/lib/testUtils";
import { test } from "./lib/fixtures";
test.describe.configure({ mode: "parallel" });
test.afterEach(({ users }) => users.deleteAll());
test.describe("App Router - error handling", () => {
test("404s must render App Router's not-found page regardless of whether pages router or app router is used", async ({
page,
@@ -3,6 +3,8 @@ import { expect } from "@playwright/test";
import { test } from "../lib/fixtures";
import { submitAndWaitForResponse } from "../lib/testUtils";
test.describe.configure({ mode: "parallel" });
test.describe("Can signup from a team invite", async () => {
test.beforeEach(async ({ users }) => {
const proUser = await users.create();
@@ -6,6 +6,8 @@ import prisma from "@calcom/prisma";
import { test } from "../lib/fixtures";
test.describe.configure({ mode: "parallel" });
test.afterEach(({ users }) => users.deleteAll());
test.describe("Forgot password", async () => {
+4 -1
View File
@@ -461,10 +461,13 @@ test.describe("Bookings", () => {
await addFilter(page, "userId");
await openFilter(page, "userId");
const bookingsGetResponse2 = page.waitForResponse((response) =>
/\/api\/trpc\/bookings\/get.*/.test(response.url())
);
await page
.locator(`[data-testid="select-filter-options-userId"] [role="option"]:has-text("${anotherUser}")`)
.click();
await page.waitForResponse((response) => /\/api\/trpc\/bookings\/get.*/.test(response.url()));
await bookingsGetResponse2;
await expect(page.locator('[data-testid="booking-item"]')).toHaveCount(0);
});
@@ -19,6 +19,8 @@ test("dynamic booking", async ({ page, users }) => {
const free = await users.create({ username: "free.example" });
await page.goto(`/${pro.username}+${free.username}`);
//fix race condition
await page.locator('[data-testid="day"][data-disabled="false"]').nth(0).waitFor({ state: "visible" });
await test.step("book an event first day in next month", async () => {
await selectFirstAvailableTimeSlotNextMonth(page);
+168 -17
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "تخصيص إعدادات Cal Video",
"calvideo_settings_description": "قم بتكوين تفضيلات اجتماعات الفيديو بما في ذلك أذونات التسجيل للمضيفين والحاضرين.",
"disable_recording_for_guests": "تعطيل التسجيل للضيوف",
"enable_automatic_transcription": "تمكين النسخ التلقائي بعد الانضمام إلى الاجتماع",
"video_options": "خيارات الفيديو",
"get_meeting_session_details": "الحصول على تفاصيل جلسة الاجتماع",
"meeting_session_details": "تفاصيل جلسة الاجتماع",
"meeting_session": "جلسة الاجتماع",
"session_id": "معرف الجلسة",
"max_participants": "الحد الأقصى للمشاركين",
"unlimited": "غير محدود",
"ongoing": "جارية",
"ended": "انتهت",
"participants": "المشاركون",
"anonymous_user": "مستخدم مجهول",
"session_duration": "مدة الجلسة",
"no_meeting_sessions_found": "لم يتم العثور على جلسات اجتماع",
"not_available": "غير متاح",
"disable_recording_for_organizer": "تعطيل التسجيل للمنظم",
"disable_transcription_for_guests": "تعطيل النسخ للضيوف",
"disable_transcription_for_organizer": "تعطيل النسخ للمنظم",
"event_request_declined_recurring": "تم رفض طلب الحدث المتكرر الخاص بك",
"event_request_cancelled": "تم إلغاء حدثك المُجَدْوَل",
"event_request_reassigned": "تم إعادة تعيين الحدث المجدول الخاص بك",
@@ -264,6 +281,8 @@
"guests": "الضيوف",
"guest": "الضيف",
"web_conferencing_details_to_follow": "تفاصيل مؤتمرات الويب القادمة.",
"confirmation": "تأكيد",
"what_booker_should_provide": "ما يجب أن يقدمه الحاجز للحصول على تأكيدات",
"404_the_user": "اسم المستخدم",
"username": "اسم المستخدم",
"is_still_available": "لا يزال متاحًا.",
@@ -331,7 +350,7 @@
"organization_general_description": "إدارة الإعدادات للغة فريقك ومنطقته الزمنية",
"few_sentences_about_yourself": "اكتب بضع جمل عن نفسك. سيظهر هذا على صفحة عنوان URL الشخصية لديك.",
"nearly_there": "أوشكت على الانتهاء!",
"nearly_there_instructions": "وأخيرًا، يساعدك الوصف الموجز عنك والصورة في الحصول على الحجوزات والسماح للأشخاص بمعرفة الشخص الذين يحجزون معه.",
"nearly_there_instructions": "آخر شيء، وصف موجز عنك وصورة يساعدان حقًا في الحصول على الحجوزات ويتيحان للأشخاص معرفة مع من يقومون بالحجز.",
"set_availability_instructions": "حدد الفترات الزمنية التي تكون متاحًا فيها بشكل متكرر. يمكنك لاحقًا تحديد المزيد منها وربطها مع تقاويم مختلفة.",
"set_availability": "تحديد الوقت الذي تكون فيه متاحًا",
"set_availbility_description": "حدد الجداول الزمنية للأوقات التي ترغب بأن يتم حجزك فيها.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "ربط التقويم لديك",
"connect_your_video_app": "اربط تطبيقات الفيديو لديك",
"connect_your_video_app_instructions": "قم بتوصيل تطبيقات الفيديو لديك لاستخدامها في أنواع الأحداث الخاصة بك.",
"connect_your_calendar_instructions": "اربط التقويم لديك للتحقق تلقائيًا من الأوقات المشغولة والأحداث الجديدة أثناء جدولتها.",
"connect_your_calendar_instructions": "قم بربط تقويمك للتحقق تلقائيًا من الأوقات المشغولة والأحداث الجديدة عند جدولتها.",
"set_up_later": "الإعداد لاحقًا",
"current_time": "الوقت الحالي",
"details": "التفاصيل",
"welcome": "مرحبًا",
"welcome_back": "أهلاً بك من جديد",
"welcome_to_calcom": "مرحبًا بك في {{appName}}",
"welcome_instructions": "أخبرنا باسمك وبالمنطقة الزمنية التي توجد فيها. ستتمكن لاحقًا من تعديل هذا.",
"welcome_instructions": "أخبرنا بما نناديك به وأعلمنا بالمنطقة الزمنية التي تتواجد فيها. ستتمكن من تعديل هذا لاحقًا.",
"connect_caldav": "الاتصال بخادم CalDav",
"connect_ics_feed": "اربط بـICS",
"connect": "الاتصال",
@@ -361,7 +380,7 @@
"when": "متى",
"where": "أين",
"add_to_calendar": "إضافة إلى التقويم",
"add_to_calendar_description": "اختر أين ستُضاف الأحداث الجديدة عندما يتم الحجز لديك.",
"add_to_calendar_description": "حدد أين تريد إضافة الأحداث عندما يتم حجزها.",
"add_events_to": "إضافة أحداث إلى",
"add_another_calendar": "إضافة تقويم آخر",
"other": "آخر",
@@ -1153,6 +1172,7 @@
"test_failed": "فشل الاختبار",
"provide_api_key": "توفير مفتاح API",
"api_key_modal_subtitle": "تتيح لك مفاتيح API إجراء مكالمات API لحسابك الخاص.",
"api_key_modal_subtitle_platform": "إنشاء سوق أو منصة بدلاً من ذلك.",
"api_keys_subtitle": "إنشاء مفاتيح API لاستخدامها للوصول إلى حسابك الخاص.",
"create_api_key": "إنشاء مفتاح API",
"personal_note": "تسمية هذا المفتاح",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "إلغاء مفتاح API هذا",
"disable_rescheduling": "تعطيل إعادة الجدولة",
"description_disable_rescheduling": "لم يعد بإمكان الضيوف إعادة جدولة الحدث من خلال دعوة التقويم أو البريد الإلكتروني",
"allow_rescheduling_cancelled_bookings": "السماح بالحجز من خلال رابط إعادة الجدولة",
"description_allow_rescheduling_cancelled_bookings": "عند التفعيل، سيتمكن المستخدمون من إنشاء حجز جديد عند محاولة إعادة جدولة حجز ملغى",
"disable_cancelling": "تعطيل الإلغاء",
"description_disable_cancelling": "لم يعد بإمكان الضيوف إلغاء الحدث من خلال دعوة التقويم أو البريد الإلكتروني",
"revoke_api_key": "إلغاء مفتاح API",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "تسمح مفاتيح API بتواصل التطبيقات الأخرى مع {{appName}}",
"back_to_signin": "العودة لتسجيل الدخول",
"reset_link_sent": "تم إرسال رابط إعادة الضبط",
"password_reset_email": "تم إرسال بريد إلكتروني إلى {{email}} يحتوي على تعليمات لإعادة تعيين كلمة المرور.",
"password_reset_email": "تم إرسال بريد إلكتروني إلى {{email}} مع تعليمات لإعادة تعيين كلمة المرور الخاصة بك.",
"password_reset_leading": "إذا لم تستلم رسالة بريد إلكتروني قريبًا، تحقق من أن عنوان البريد الإلكتروني الذي أدخلته صحيح، وتحقق من مجلد البريد المزعج أو اتصل بالدعم إذا استمرت المشكلة.",
"password_updated": "تم تحديث كلمة المرور!",
"pending_payment": "في انتظار الدفع",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "سيؤدي ذلك إلى تقييد توفر هذا النوع من الأحداث إلى فتحة واحدة في اليوم، مجدولة في أقرب وقت متاح.",
"limit_total_booking_duration": "الحد من مدة الحجز الإجمالية",
"limit_total_booking_duration_description": "الحد من إجمالي الوقت المخصص الذي يمكن حجزه لهذا الحدث",
"booker_booking_limit": "حد الحجوزات النشطة للحاجز",
"booker_booking_limit_description": "تحديد عدد الحجوزات النشطة التي يمكن للحاجز إجراؤها لهذا النوع من الفعاليات",
"recurring_event_doesnt_support_booker_booking_limit": "الفعاليات المتكررة لا تدعم حد حجوزات الحاجز",
"add_limit": "إضافة حد",
"team_name_required": "اسم الفريق مطلوب",
"show_attendees": "مشاركة معلومات الحضور مع الضيوف",
"show_available_seats_count": "إظهار عدد المقاعد المتاحة",
"how_booking_questions_as_variables": "كيف يمكن استخدام أسئلة الحجز كمتغيرات؟",
"format": "التنسيق",
"questions": "الأسئلة",
"all_info_your_booker_provide": "جميع المعلومات التي يجب على الحاجز تقديمها قبل الحجز معك.",
"uppercase_for_letters": "استخدم الحروف الكبيرة لجميع الأحرف",
"replace_whitespaces_underscores": "استبدل المساحات البيضاء بالشرطات السفلية",
"platform_members": "أعضاء المنصة",
@@ -1915,7 +1942,7 @@
"new_attendee": "حضور جديد",
"awaiting_approval": "في انتظار الموافقة",
"requires_google_calendar": "يتطلب هذا التطبيق اتصال تقويم Google",
"event_type_requires_google_calendar": "يحتاج \"إضافة إلى التقويم\" لهذا النوع من الأحداث أن يكون تقويم Google حتى يعمل Meet. قم بتوصيله <0>هنا</0>.",
"event_type_requires_google_calendar": "يحتاج خيار \"إضافة إلى التقويم\" لهذا النوع من الفعاليات أن يكون تقويم Google حتى يعمل Meet. قم بربطه <0>هنا</0>.",
"connected_google_calendar": "لقد قمت بتوصيل حساب تقويم Google.",
"using_meet_requires_calendar": "يتطلب استخدام Google Meet تقويم Google متصل",
"continue_to_install_google_calendar": "متابعة تثبيت تقويم Google",
@@ -1967,12 +1994,12 @@
"delete_sso_configuration_confirmation_description": "هل تريد بالتأكيد حذف تكوين {{connectionType}}؟ لن يتمكن أعضاء فريقك الذين يستخدمون معلومات تسجيل الدخول إلى {{connectionType}} من الوصول إلى Cal.com بعد الآن.",
"organizer_timezone": "منظم المناطق الزمنية",
"email_user_cta": "عرض الدعوة",
"email_no_user_invite_heading_subteam": "لقد تمت دعوتك للانضمام إلى فريق من منظمة {{parentTeamName}}",
"email_no_user_invite_heading_subteam": "تمت دعوتك للانضمام إلى فريق من منظمة {{parentTeamName}}",
"email_no_user_invite_heading_org": "تمت دعوتك للانضمام إلى منظمة {{appName}}",
"email_no_user_invite_subheading": "دعاك {{invitedBy}} للانضمام إلى فريقه على {{appName}}. إن {{appName}} هو برنامج جدولة الأحداث الذي يمكّنك أنت وفريقك من جدولة الاجتماعات دون الحاجة إلى المراسلة عبر البريد الإلكتروني.",
"email_user_invite_subheading_subteam": "{{invitedBy}} دعاك للانضمام إلى الفريق {{teamName}} في منظمتهم {{parentTeamName}} على {{appName}}. {{appName}} هو منظم الأحداث الذي يمكّنك أنت وفريقك من جدولة الاجتماعات دون تبادل الرسائل الإلكترونية.",
"email_user_invite_subheading_org": "لقد دعاك {{invitedBy}} للانضمام إلى فريق {{teamName}} التابع لمنظمتهم على {{appName}}. إن {{appName}} هو برنامج جدولة للفعاليات يمنحك القدرة أنت ومؤسستك على جدولة الاجتماعات من دون الحاجة إلى التراسل الكثيف عبر البريد الإلكتروني.",
"email_no_user_invite_steps_intro": "سنرشدك خلال بضع خطوات قصيرة وستستمتع بجدول زمني خالٍ من التوتر مع {{entity}} في لمح البصر.",
"email_no_user_invite_steps_intro": "سنرشدك خلال بعض الخطوات القصيرة وستستمتع بجدولة خالية من التوتر مع {{entity}} الخاص بك في أقرب وقت.",
"email_no_user_step_one": "اختر اسم المستخدم الخاص بك",
"email_no_user_step_two": "ربط حساب التقويم الخاص بك",
"email_no_user_step_three": "تعيين أوقاتك المتاحة",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "اتخذ قرارات مستنيرة باستخدام Insights",
"make_informed_decisions_description": "تُظهر لوحة معلومات Insights جميع أنشطة فريقك وتعرض لك الاتجاهات الرائجة التي تتيح جدولة الفريق واتخاذ القرارات بشكل أفضل.",
"view_bookings_across": "عرض حجوزات جميع الأعضاء",
"view_bookings_across_description": "تعرف على من يتلقى أكبر عدد من الحجوزات وتأكد من التوزيع الأفضل بين أعضاء فريقك",
"view_bookings_across_description": "معرفة من يتلقى أكبر عدد من الحجوزات وضمان أفضل توزيع عبر فريقك",
"identify_booking_trends": "تحديد اتجاهات الحجز الرائجة",
"identify_booking_trends_description": "شاهد أي الأوقات في الأسبوع وخلال اليوم تحظى بشعبية لدى من يقومون بالحجز لديك",
"spot_popular_event_types": "اكتشف أنواع الأحداث الشائعة",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "لم يتم العثور على بيانات لعامل التصفية المحدد أو التواريخ المحددة.",
"acknowledge_booking_no_show_fee": "أقر بأنه إذا لم أحضر هذا الحدث فسيتم سحب رسوم عدم حضور من بطاقتي تبلغ {{amount, currency}}.",
"card_details": "تفاصيل البطاقة",
"something_went_wrong_on_our_end": "حدث خطأ ما من طرفنا. اتصل بفريق الدعم لدينا، وسنُصلحه لك فوراً.",
"something_went_wrong_on_our_end": "حدث خطأ ما من جانبنا. تواصل مع فريق الدعم لدينا، وسنقوم بإصلاحه فورًا لك.",
"please_provide_following_text_to_suppport": "يرجى تقديم النص التالي عند الاتصال بالدعم لمساعدتك بشكل أفضل",
"seats_and_no_show_fee_error": "لا يمكن حاليًا تمكين المقاعد وفرض رسوم عدم الحضور",
"complete_your_booking": "أكمل الحجز",
@@ -2276,7 +2303,7 @@
"messaging": "المراسلة",
"sender_id_info": "الاسم أو الرقم الظاهر على أنه مرسل الرسالة النصية القصيرة (بعض البلدان لا تسمح بمعرفات المرسل الأبجدية الرقمية)",
"org_admins_can_create_new_teams": "يمكن فقط لمسؤول منظمتك إنشاء فرق جديدة",
"google_new_spam_policy": "يمكن أن تمنعك سياسة Google الجديدة للرسائل غير المرغوب فيها من تلقي أي إشعارات بالبريد الإلكتروني والتقويم حول هذا الحجز.",
"google_new_spam_policy": "قد تمنعك سياسة Google الجديدة للبريد المزعج من تلقي أي إشعارات بريد إلكتروني وتقويم حول هذا الحجز.",
"resolve": "حل",
"no_organization_slug": "حدث خطأ أثناء إنشاء فرق لهذه المنظمة. الكلمة اللطيفة للرابط مفقودة.",
"copy_link_org": "نسخ الرابط إلى المنظمة",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "تسمح بيانات اعتماد التفويض بإدارة الوصول إلى تقويمات Google Workspace لمؤسستك.",
"add_client_id_in_google_workspace_with_below_scope": "أضف معرف العميل هذا في Google Workspace مع النطاق أدناه",
"delegation_credential_enabled": "تم تفعيل بيانات اعتماد التفويض",
"delegation_credential_disabled": "تم تعطيل بيانات اعتماد التفويض",
"add_delegation_credential": "إضافة بيانات اعتماد التفويض",
"edit_delegation_credential": "تعديل بيانات اعتماد التفويض",
"domain": "النطاق",
@@ -2582,7 +2608,7 @@
"date": "التاريخ",
"overlaps_with_existing_schedule": "يتداخل هذا مع جدول موجود. يرجى اختيار تاريخ مختلف.",
"org_admin_no_slots|heading": "لم يتم العثور على توافر لـ {{name}}",
"org_admin_no_slots|content": "مرحبًا مسؤولي المنظمة،<br /><br />يرجى ملاحظة: لقد تم إبلاغنا بأن {{username}} ليس لديه أي توافر عندما زار مستخدم {{username}}/{{slug}}<br /><br />هناك بعض الأسباب التي قد تؤدي إلى ذلك<br />المستخدم ليس لديه أي تقاويم متصلة<br />جداولهم المرتبطة بهذا الحدث غير مفعلة<br /> <br />نوصي بالتحقق من توافرهم لحل هذه المشكلة.",
"org_admin_no_slots|content": "مرحبًا مسؤولي المنظمة،<br /><br />يرجى ملاحظة: لقد تم لفت انتباهنا إلى أن {{username}} لم يكن لديه أي توفر عندما قام مستخدم بزيارة {{username}}/{{slug}}<br /><br />هناك عدة أسباب قد تؤدي إلى حدوث ذلك<br />المستخدم ليس لديه أي تقويمات متصلة<br />جداولهم المرتبطة بهذا الحدث غير مفعلة<br /> <br />نوصي بالتحقق من توفرهم لحل هذه المشكلة.",
"org_admin_no_slots|cta": "افتح توافر المستخدمين",
"organization_no_slots_notification_switch_title": "احصل على إشعارات عندما لا يكون لدى فريقك توافر",
"organization_no_slots_notification_switch_description": "سيحصل المسؤولون على إشعارات عبر البريد الإلكتروني عندما يحاول مستخدم حجز عضو في الفريق ويواجه 'عدم التوافر'. نقوم بإرسال هذا البريد الإلكتروني بعد حدوث حالتين ونذكركم كل 7 أيام لكل مستخدم.",
@@ -2592,10 +2618,10 @@
"email_team_invite|subject|invited_to_org": "{{user}} دعاك للانضمام إلى المنظمة {{team}} على {{appName}}",
"email_team_invite|subject|added_to_subteam": "{{user}} أضافك إلى الفريق {{team}} من المنظمة {{parentTeamName}} على {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "قام {{user}} بدعوتك للانضمام إلى فريق {{team}} على {{appName}}",
"email_team_invite|heading|added_to_org": "تمت إضافتك إلى منظمة {{appName}}",
"email_team_invite|heading|invited_to_org": "تمت دعوتك إلى منظمة {{appName}}",
"email_team_invite|heading|added_to_subteam": "تمت إضافتك إلى فريق من منظمة {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "تمت دعوتك إلى فريق من منظمة {{parentTeamName}}",
"email_team_invite|heading|added_to_org": "تمت إضافتك إلى مؤسسة {{appName}}",
"email_team_invite|heading|invited_to_org": "تمت دعوتك إلى مؤسسة {{appName}}",
"email_team_invite|heading|added_to_subteam": "تمت إضافتك إلى فريق في مؤسسة {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "تمت دعوتك إلى فريق في مؤسسة {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "تمت دعوتك للانضمام إلى فريق {{appName}}",
"email_team_invite|content|added_to_org": "{{invitedBy}} أضافك إلى منظمة <strong>{{teamName}}</strong>.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} دعاك للانضمام إلى منظمة {{teamName}}.",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "تحديد عدد المرات التي يمكن فيها حجز الأعضاء عبر جميع أنواع فعاليات الفريق",
"booking_limits_updated_successfully": "تم تحديث حدود الحجز بنجاح",
"you_are_unauthorized_to_make_this_change_to_the_booking": "أنت غير مخول لإجراء هذا التغيير على الحجز",
"delegation_credential_disabled": "تم تعطيل بيانات اعتماد التفويض",
"matching_members": "الأعضاء المطابقون",
"x_matching_members": "{{x}} عضو مطابق",
"matching_members_queue_using_attribute_weights": "قائمة انتظار مطابقة الأعضاء (باستخدام أوزان السمات)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "نعم، أعد التعيين",
"filter_by_attributes": "تصفية حسب السمات",
"reassign_reason": "سبب إعادة التعيين",
"field_type_change_suggestion": "قد يؤدي تغيير نوع الحقل إلى فقدان البيانات. يرجى إنشاء حقل جديد بدلاً من ذلك.",
"reassigned_by": "تمت إعادة التعيين بواسطة",
"row": "صف",
"rows": "صفوف",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "ليس لديك الصلاحية لإنشاء مؤسسة لهذا البريد الإلكتروني",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "ليس لديك الصلاحية لنقل فريق واحد أو أكثر",
"organization_has_subscription_already": "المؤسسة لديها اشتراك بالفعل",
"reset_interval_weighted_rr": "إعادة تعيين الفاصل الزمني للتناوب الدائري المرجح",
"interval": "الفترة",
"rr_reset_interval_description": "تحدد مدى تكرار إعادة تعيين عدد الحجوزات في الترتيب الدوري لضمان توزيع متوازن.",
"daily": "يوميًا",
@@ -3075,6 +3104,7 @@
"user_has_no_team_yet": "ليس لديك فريق بعد",
"no_team_members": "ليس لديك أعضاء في الفريق بعد",
"recurring_event_doesnt_support_seats": "الفعالية المتكررة لا تدعم ميزة المقاعد. اجعلها غير متكررة لتمكين المقاعد.",
"booking_limit_per_booker_doesnt_support_recurring": "لا يدعم الحدث المتكرر ميزة حد الحجز لكل حاجز. قم بتعطيل حد الحجز لكل حاجز لتمكين الحدث المتكرر.",
"seats_doesnt_support_recurring": "ميزة المقاعد لا تدعم الفعاليات المتكررة. قم بتعطيل ميزة المقاعد لجعلها متكررة.",
"recurring_event_seats_error": "الفعالية المتكررة لا تدعم ميزة المقاعد. قم بتعطيل ميزة المقاعد أو اجعل الفعالية غير متكررة.",
"segment": "شريحة",
@@ -3203,10 +3233,131 @@
"matching": "المطابقة",
"event_redirect": "إعادة توجيه الحدث",
"reset_form": "إعادة تعيين النموذج",
"rr_settings_successfully_updated": "تم تحديث إعدادات التناوب الدائري بنجاح",
"distribution_basis_weighted_rr": "أساس التوزيع للتناوب الدائري المرجح",
"timestamp_basis_description": "يحدد أي طابع زمني للحدث يُستخدم كأساس لتوزيع التناوب الدائري المرجح.",
"requires_credits": "يتطلب رصيداً",
"requires_credits_tooltip": "تحتاج إلى رصيد كافٍ في حسابك لاستخدام هذه الميزة",
"available_credits": "الرصيد المتاح",
"create_role": "إنشاء دور",
"roles_and_permissions": "الأدوار والصلاحيات",
"roles_and_permissions_description": "إدارة الأدوار والصلاحيات لمؤسستك",
"learn_more_permissions": "تعرف على المزيد حول كيفية عمل الصلاحيات",
"role_name": "اسم الدور",
"role_name_placeholder": "مثال: فريق المبيعات، موظفو الدعم",
"role_description": "وصف الدور",
"role_description_placeholder": "صف الغرض من هذا الدور والصلاحيات التي يحتاجها",
"default_role": "الدور الافتراضي",
"custom_role": "دور مخصص",
"advanced": "متقدم",
"search_permissions": "البحث في الصلاحيات",
"all_permissions": "جميع الأذونات",
"none": "لا شيء",
"read_only": "للقراءة فقط",
"pbac_desc_all_actions_all_resources": "جميع الإجراءات على جميع الموارد",
"pbac_resource_all": "جميع الموارد",
"pbac_resource_event_type": "أنواع الحدث",
"pbac_resource_team": "الفرق",
"pbac_resource_organization": "المنظمة",
"pbac_resource_booking": "الحجوزات",
"pbac_resource_insights": "الرؤى",
"pbac_resource_role": "الأدوار",
"pbac_action_all": "جميع الإجراءات",
"pbac_action_create": "إنشاء",
"pbac_action_read": "عرض",
"pbac_action_update": "تعديل",
"pbac_action_delete": "حذف",
"pbac_action_manage": "إدارة",
"pbac_action_invite": "دعوة",
"pbac_action_remove": "إزالة",
"pbac_action_change_member_role": "تغيير دور العضو",
"pbac_action_list_members": "سرد الأعضاء",
"pbac_action_manage_billing": "إدارة الفواتير",
"pbac_action_read_team_bookings": "عرض حجوزات الفريق",
"pbac_action_read_org_bookings": "عرض حجوزات المنظمة",
"pbac_action_read_recordings": "عرض التسجيلات",
"role_created_successfully": "تم إنشاء الدور بنجاح",
"role_updated_successfully": "تم تحديث الدور بنجاح",
"delete_role": "حذف الدور",
"confirm_delete_role": "هل أنت متأكد من رغبتك في حذف هذا الدور؟ لا يمكن التراجع عن هذا الإجراء.",
"role_deleted_successfully": "تم حذف الدور بنجاح",
"error_creating_role": "خطأ في إنشاء الدور",
"error_updating_role": "خطأ في تحديث الدور",
"pbac_desc_create_roles": "إنشاء الأدوار",
"pbac_desc_view_roles": "عرض الأدوار",
"pbac_desc_update_roles": "تحديث الأدوار",
"pbac_desc_delete_roles": "حذف الأدوار",
"pbac_desc_manage_roles": "جميع الإجراءات على الأدوار",
"pbac_desc_create_event_types": "إنشاء أنواع الأحداث",
"pbac_desc_view_event_types": "عرض أنواع الأحداث",
"pbac_desc_update_event_types": "تحديث أنواع الأحداث",
"pbac_desc_delete_event_types": "حذف أنواع الأحداث",
"pbac_desc_manage_event_types": "جميع الإجراءات على أنواع الأحداث",
"pbac_desc_create_teams": "إنشاء الفرق",
"pbac_desc_view_team_details": "عرض تفاصيل الفريق",
"pbac_desc_update_team_settings": "تحديث إعدادات الفريق",
"pbac_desc_delete_team": "حذف الفريق",
"pbac_desc_invite_team_members": "دعوة أعضاء الفريق",
"pbac_desc_remove_team_members": "إزالة أعضاء الفريق",
"pbac_desc_change_team_member_role": "تغيير دور أعضاء الفريق",
"pbac_desc_manage_teams": "جميع الإجراءات على الفرق",
"pbac_desc_create_organization": "إنشاء مؤسسة",
"pbac_desc_view_organization_details": "عرض تفاصيل المؤسسة",
"pbac_desc_list_organization_members": "سرد أعضاء المؤسسة",
"pbac_desc_invite_organization_members": "دعوة أعضاء المؤسسة",
"pbac_desc_remove_organization_members": "إزالة أعضاء المؤسسة",
"pbac_desc_manage_organization_billing": "إدارة فواتير المؤسسة",
"pbac_desc_change_organization_member_role": "تغيير دور أعضاء المؤسسة",
"pbac_desc_edit_organization_settings": "تعديل إعدادات المؤسسة",
"pbac_desc_manage_organizations": "جميع الإجراءات على المؤسسات",
"pbac_desc_view_bookings": "عرض الحجوزات",
"pbac_desc_view_team_bookings": "عرض حجوزات الفريق",
"pbac_desc_view_organization_bookings": "عرض حجوزات المؤسسة",
"pbac_desc_view_booking_recordings": "عرض تسجيلات الحجز",
"pbac_desc_update_bookings": "تحديث الحجوزات",
"pbac_desc_manage_bookings": "جميع الإجراءات على الحجوزات",
"pbac_desc_view_team_insights": "عرض رؤى الفريق",
"pbac_desc_manage_team_insights": "إدارة رؤى الفريق",
"read_permission_auto_enabled_tooltip": "يتم تمكين إذن القراءة تلقائيًا عند إنشاء أو تحديث أو حذف مورد",
"choose_restriction_schedule": "إضافة جدول القيود",
"choose_restriction_schedule_description": "قم بتمكين هذا إذا كنت ترغب في تقييد توفر المضيفين لهذا النوع من الأحداث بناءً على جدول القيود. هذا يزيل فقط الفترات التي ليست في جدول القيود، ولا يضيف أي فترات جديدة.",
"use_booker_timezone": "استخدام المنطقة الزمنية للحاجز",
"use_booker_timezone_info": "تطبيق جدول القيود المحدد في المنطقة الزمنية للحاجز",
"load_balancing_warning": "سيؤدي هذا إلى تعطيل توزيع الحمل على جميع أنواع أحداث round robin الخاصة بك",
"rr_load_balancing_disabled": "توزيع الحمل متاح فقط عندما يتم تعيين أساس الطابع الزمني على وقت إنشاء الحجز",
"round_robin_settings_description": "تخصيص إعدادات round robin الافتراضية لهذا الفريق",
"round_robin_settings_updated_successfully": "تم تحديث إعدادات التناوب الدائري بنجاح",
"booking_creation_time": "وقت إنشاء الحجز",
"meeting_start_time": "وقت بدء الاجتماع",
"members_affected_by_disabling_delegation_credential": "الأعضاء المتأثرون",
"no_members_affected_by_disabling_delegation_credential": "لا يوجد أعضاء متأثرون بتعطيل بيانات اعتماد التفويض",
"download_expense_log": "تنزيل سجل النفقات",
"error_downloading_expense_log": "خطأ في تنزيل سجل النفقات",
"offer_to_reschedule_last_booking": "عرض إعادة جدولة آخر حجز نشط إلى الفترة الزمنية المختارة",
"booker_limit_exceeded_error": "تم تجاوز الحد الأقصى للحجوزات النشطة للحاجز",
"booker_limit_exceeded_error_reschedule": "لديك بالفعل حجز لهذا الحدث في {{date}}. هل ترغب في إعادة الجدولة إلى الوقت الجديد المحدد؟",
"duration_min_error": "يجب أن تكون المدة على الأقل {{min}} دقيقة (دقائق)",
"duration_max_error": "لا يمكن أن تتجاوز المدة {{max}} دقيقة (24 ساعة)",
"booking_not_allowed_by_restriction_schedule_error": "الحجز خارج توفر جدول القيود.",
"restriction_schedule_not_found_error": "لم يتم العثور على جدول القيود",
"converted_image_size_limit_exceed": "تم تجاوز حد حجم الصورة، يرجى استخدام صورة أصغر يفضل أن تكون بتنسيق JPEG",
"license_key": "مفتاح الترخيص",
"license_selection_title": "اختر ترخيصك",
"license_selection_description": "حدد كيف تريد ترخيص نشر Cal.com الخاص بك",
"agplv3_license_description": "استخدم Cal.com تحت ترخيص AGPLv3 مفتوح المصدر",
"enter_license_key": "أدخل مفتاح الترخيص",
"enter_your_license_key": "الوصول إلى جميع ميزات المؤسسات",
"enter_existing_license": "ابتداءً من 15 دولارًا/مستخدم شهريًا",
"enter_license_key_description": "الوصول إلى جميع ميزات المؤسسات",
"license_key_placeholder": "أدخل مفتاح الترخيص الخاص بك",
"save_license_key": "حفظ مفتاح الترخيص",
"signature_token_optional": "رمز التوقيع (اختياري)",
"signature_token_description": "يستخدم رمز التوقيع للتحقق من أن مفتاح الترخيص هو ملكك عند زيادة الفوترة المستندة إلى الاستخدام. يمكنك العثور عليه في بريد تأكيد الشراء. إذا كنت تستخدم ترخيصًا قديمًا، يمكنك ترك هذا الحقل فارغًا.",
"need_a_license": "هل تحتاج إلى رخصة؟",
"license_key_required": "مفتاح الترخيص مطلوب",
"invalid_license_key": "مفتاح الترخيص غير صالح",
"license_validation_failed": "فشل التحقق من صحة مفتاح الترخيص",
"license_key_saved": "تم حفظ مفتاح الترخيص بنجاح",
"timezone_mismatch_tooltip": "أنت تشاهد التقرير بناءً على المنطقة الزمنية لملفك الشخصي ({{userTimezone}})، بينما متصفحك مضبوط على المنطقة الزمنية ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ أضف السلاسل الجديدة أعلاه هنا ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+174 -22
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Cal Video Parametrlərini Fərdiləşdirin",
"calvideo_settings_description": "Təşkilatçılar və iştirakçılar üçün yazı icazələri də daxil olmaqla video görüş tərcihlərinizi konfiqurasiya edin.",
"disable_recording_for_guests": "Qonaqlar üçün yazını deaktiv edin",
"enable_automatic_transcription": "Görüşə qoşulduqdan sonra avtomatik transkripsiya funksiyasını aktivləşdir",
"video_options": "Video Seçimləri",
"get_meeting_session_details": "Görüş Sessiyasının Detallarını Əldə Et",
"meeting_session_details": "Görüş Sessiyasının Detalları",
"meeting_session": "Görüş Sessiyası",
"session_id": "Sessiya ID",
"max_participants": "Maksimum İştirakçı Sayı",
"unlimited": "Limitsiz",
"ongoing": "Davam edir",
"ended": "Bitib",
"participants": "İştirakçılar",
"anonymous_user": "Anonim İstifadəçi",
"session_duration": "Sessiya Müddəti",
"no_meeting_sessions_found": "Heç bir görüş sessiyası tapılmadı",
"not_available": "Mövcud deyil",
"disable_recording_for_organizer": "Təşkilatçı üçün yazını deaktiv edin",
"disable_transcription_for_guests": "Qonaqlar üçün transkripsiya funksiyasını deaktiv et",
"disable_transcription_for_organizer": "Təşkilatçı üçün transkripsiya funksiyasını deaktiv et",
"event_request_declined_recurring": "Təkrarlanan tədbir sorğunuz rədd edildi",
"event_request_cancelled": "Planlaşdırılmış tədbiriniz ləğv edildi",
"event_request_reassigned": "Planlaşdırılmış tədbir yenidən təyin edildi",
@@ -264,6 +281,8 @@
"guests": "Qonaqlar",
"guest": "Qonaq",
"web_conferencing_details_to_follow": "Veb konfransın təfərrüatları təsdiq e-poçtunda göndəriləcək.",
"confirmation": "Təsdiq",
"what_booker_should_provide": "Təsdiq almaq üçün rezervasiya edən şəxs nə təqdim etməlidir",
"404_the_user": "İstifadəçi adı",
"username": "İstifadəçi adı",
"is_still_available": "hələ də mövcuddur.",
@@ -331,7 +350,7 @@
"organization_general_description": "Komandanızın dil və saat qurşağı parametrlərini idarə edin",
"few_sentences_about_yourself": "Özünüz haqqında bir neçə cümlə. Bu, şəxsi URL səhifənizdə görünəcək.",
"nearly_there": "Demək olar ki, hazır!",
"nearly_there_instructions": "Son addım, qısa bir təsvir və fotoşəkil sizin rezervasiyalarınızı artırmağa və kimlə görüşəcəklərini bilməyə kömək edir.",
"nearly_there_instructions": "Son olaraq, özünüz haqqında qısa məlumat və bir foto rezervasiyaların alınmasına kömək edir və insanlara kiminlə görüşəcəklərini bildirir.",
"set_availability_instructions": "Təkrarlanan əsasda mövcud olduğunuz vaxt aralıqlarını təyin edin. Daha sonra bunlardan daha çoxunu yarada və müxtəlif təqvimlərə təyin edə bilərsiniz.",
"set_availability": "Mövcudluğunuzu təyin edin",
"set_availbility_description": "Rezervasiya olunmaq istədiyiniz vaxtlar üçün cədvəllər təyin edin.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Təqviminizi bağlayın",
"connect_your_video_app": "Video tətbiqlərinizi bağlayın",
"connect_your_video_app_instructions": "Tədbir növlərinizdə istifadə etmək üçün video tətbiqlərinizi bağlayın.",
"connect_your_calendar_instructions": "Məşğul vaxtları və yeni tədbirləri avtomatik yoxlamaq üçün təqviminizi bağlayın.",
"connect_your_calendar_instructions": "Məşğul vaxtları və planlaşdırılan yeni tədbirləri avtomatik yoxlamaq üçün təqviminizi qoşun.",
"set_up_later": "Daha sonra qur",
"current_time": "Cari vaxt",
"details": "Detallar",
"welcome": "Xoş gəlmisiniz",
"welcome_back": "Yenidən xoş gəldiniz",
"welcome_to_calcom": "{{appName}}-a xoş gəldiniz",
"welcome_instructions": "Sizi necə çağıracağımızı və hansı zaman zonasındasınızsa, bizə bildirin. Bunu sonradan redaktə edə biləcəksiniz.",
"welcome_instructions": "Bizə sizə necə müraciət edəcəyimizi və hansı saat qurşağında olduğunuzu bildirin. Bunu sonradan redaktə edə biləcəksiniz.",
"connect_caldav": "CalDav-a qoşulun (Beta)",
"connect_ics_feed": "ICS Feed-ə qoşulun",
"connect": "Qoşulun",
@@ -361,7 +380,7 @@
"when": "Nə vaxt",
"where": "Harada",
"add_to_calendar": "Təqvimə əlavə edin",
"add_to_calendar_description": "Rezervasiya edildikdə hadisələri hara əlavə edəcəyinizi seçin.",
"add_to_calendar_description": "Rezervasiya olunduğunuzda tədbirləri hara əlavə edəcəyinizi seçin.",
"add_events_to": "Hadisələri əlavə edin",
"add_another_calendar": "Başqa bir təqvim əlavə edin",
"other": "Digər",
@@ -1153,6 +1172,7 @@
"test_failed": "Test uğursuz oldu",
"provide_api_key": "API açarını təmin edin",
"api_key_modal_subtitle": "API açarları öz hesabınız üçün API zəngləri etməyə imkan verir.",
"api_key_modal_subtitle_platform": "Bunun əvəzinə bazar yeri və ya platforma yaradın.",
"api_keys_subtitle": "Öz hesabınıza daxil olmaq üçün istifadə etmək üçün API açarları yaradın.",
"create_api_key": "API açarı yaradın",
"personal_note": "Bu açarı adlandırın",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Bu API açarını ləğv edin",
"disable_rescheduling": "Yenidən planlaşdırmanı deaktiv et",
"description_disable_rescheduling": "Qonaqlar artıq təqvim dəvəti və ya e-poçt vasitəsilə tədbiri yenidən planlaşdıra bilməzlər",
"allow_rescheduling_cancelled_bookings": "Yenidən planlaşdırma linki vasitəsilə rezervasiyaya icazə verin",
"description_allow_rescheduling_cancelled_bookings": "Aktiv olduqda, istifadəçilər ləğv edilmiş rezervasiyanı yenidən planlaşdırmağa çalışarkən yeni rezervasiya yarada biləcəklər",
"disable_cancelling": "Ləğv etməni deaktiv et",
"description_disable_cancelling": "Qonaqlar artıq təqvim dəvəti və ya e-poçt vasitəsilə tədbiri ləğv edə bilməzlər",
"revoke_api_key": "API açarını ləğv et",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "API açarları digər tətbiqlərin {{appName}} ilə əlaqə qurmasına imkan verir",
"back_to_signin": "Girişə geri dön",
"reset_link_sent": "Sıfırlama linki göndərildi",
"password_reset_email": "{{email}} ünvanına parolunuzu sıfırlamaq üçün təlimatlarla bir e-poçt göndərildi.",
"password_reset_email": "{{email}} ünvanına şifrənizi sıfırlamaq üçün təlimatlarla bir e-poçt göndərilir.",
"password_reset_leading": "Tezliklə e-poçt almırsınızsa, daxil etdiyiniz e-poçt ünvanının düzgün olduğundan əmin olun, spam qovluğunu yoxlayın və ya problem davam edərsə dəstək ilə əlaqə saxlayın.",
"password_updated": "Parol yeniləndi!",
"pending_payment": "Gözləyən ödəniş",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Bu, bu hadisə növü üçün mövcudluğunuzu hər gün üçün bir vaxta məhdudlaşdıracaq, ən erkən mövcud vaxtda planlaşdırılacaq.",
"limit_total_booking_duration": "Ümumi rezervasiya müddətini məhdudlaşdırın",
"limit_total_booking_duration_description": "Bu hadisənin rezervasiya edilə biləcəyi ümumi vaxtı məhdudlaşdırın",
"booker_booking_limit": "Rezervasiya edənin aktiv rezervasiya limiti",
"booker_booking_limit_description": "Bu tədbir növü üçün rezervasiya edənin edə biləcəyi aktiv rezervasiyaların sayını məhdudlaşdırın",
"recurring_event_doesnt_support_booker_booking_limit": "Təkrarlanan tədbirlər rezervasiya edənin rezervasiya limitini dəstəkləmir",
"add_limit": "Məhdudiyyət əlavə edin",
"team_name_required": "Komanda adı tələb olunur",
"show_attendees": "Qonaqlar arasında iştirakçı məlumatlarını paylaş",
"show_available_seats_count": "Mövcud yerlərin sayını göstər",
"how_booking_questions_as_variables": "Rezervasiya suallarını dəyişənlər kimi necə istifadə etmək olar?",
"format": "Format",
"questions": "Suallar",
"all_info_your_booker_provide": "Rezervasiya edənin sizinlə rezervasiya etməzdən əvvəl təqdim etməli olduğu bütün məlumatlar.",
"uppercase_for_letters": "Bütün hərfləri böyük hərflərlə yaz",
"replace_whitespaces_underscores": "Boşluqları alt xətlərlə əvəz et",
"platform_members": "Platforma üzvləri",
@@ -1915,7 +1942,7 @@
"new_attendee": "Yeni İştirakçı",
"awaiting_approval": "Təsdiq gözləyir",
"requires_google_calendar": "Bu tətbiq Google Calendar bağlantısı tələb edir",
"event_type_requires_google_calendar": "Bu tədbir növü üçün \"Təqvimə əlavə et\" funksiyasının işləməsi üçün Google Calendar olmalıdır. Onu <0>burada</0> qoşun.",
"event_type_requires_google_calendar": "Bu tədbir növü üçün \"Təqvimə əlavə et\" funksiyasının Meet-in işləməsi üçün Google Calendar olması lazımdır. Onu <0>burada</0> qoşun.",
"connected_google_calendar": "Google Calendar hesabı bağlanıb.",
"using_meet_requires_calendar": "Google Meet istifadə etmək üçün bağlı Google Calendar tələb olunur",
"continue_to_install_google_calendar": "Google Calendar quraşdırmağa davam edin",
@@ -1967,12 +1994,12 @@
"delete_sso_configuration_confirmation_description": "{{connectionType}} konfiqurasiyasını silmək istədiyinizə əminsinizmi? {{connectionType}} girişi istifadə edən komanda üzvləriniz artıq Cal.com-a daxil ola bilməyəcəklər.",
"organizer_timezone": "Təşkilatçının saat qurşağı",
"email_user_cta": "Dəvəti Görüntülə",
"email_no_user_invite_heading_subteam": "Siz {{parentTeamName}} təşkilatının komandasına qoşulmağa dəvət olunmusunuz",
"email_no_user_invite_heading_org": "Siz {{appName}} təşkilatına qoşulmağa dəvət olunmusunuz",
"email_no_user_invite_heading_subteam": "{{parentTeamName}} təşkilatının komandasına qoşulmağa dəvət olunmusunuz",
"email_no_user_invite_heading_org": "{{appName}} təşkilatına qoşulmağa dəvət olunmusunuz",
"email_no_user_invite_subheading": "{{invitedBy}} sizi {{appName}} üzərindəki komandasına qoşulmağa dəvət edib. {{appName}} sizə və komandanıza görüşləri e-poçt mübadiləsi olmadan planlaşdırmağa imkan verən tədbir idarəetmə planlayıcısıdır.",
"email_user_invite_subheading_subteam": "{{invitedBy}} sizi {{appName}} üzərindəki {{parentTeamName}} təşkilatının {{teamName}} komandasına qoşulmağa dəvət edib. {{appName}} sizə və komandanıza görüşləri e-poçt mübadiləsi olmadan planlaşdırmağa imkan verən tədbir idarəetmə planlayıcısıdır.",
"email_user_invite_subheading_org": "{{invitedBy}} sizi {{appName}} üzərindəki {{teamName}} təşkilatına qoşulmağa dəvət edib. {{appName}} sizə və təşkilatınıza görüşləri e-poçt mübadiləsi olmadan planlaşdırmağa imkan verən tədbir idarəetmə planlayıcısıdır.",
"email_no_user_invite_steps_intro": "Sizi bir neçə qısa addımla tanış edəcəyik və tezliklə {{entity}} ilə stresssiz planlaşdırmadan həzz alacaqsınız.",
"email_no_user_invite_steps_intro": "Biz sizi bir neçə qısa addımla yönləndirəcəyik və qısa müddətdə {{entity}} ilə stressiz planlaşdırmadan həzz alacaqsınız.",
"email_no_user_step_one": "İstifadəçi adınızı seçin",
"email_no_user_step_two": "Təqvim hesabınızı bağlayın",
"email_no_user_step_three": "Mövcudluğunuzu təyin edin",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "İnsaytlarla məlumatlı qərarlar verin",
"make_informed_decisions_description": "İnsaytlar panelimiz komandanızın bütün fəaliyyətini göstərir və daha yaxşı komanda planlaşdırması və qərar qəbul etməyə imkan verən meylləri göstərir.",
"view_bookings_across": "Bütün üzvlərin rezervasiyalarına baxın",
"view_bookings_across_description": "Kimlərin ən çox rezervasiya aldığını görün və komandanız arasında ən yaxşı paylanmanı təmin edin",
"view_bookings_across_description": "Kimin ən çox rezervasiya qəbul etdiyini görün və komandanız arasında ən yaxşı paylanmanı təmin edin",
"identify_booking_trends": "Rezervasiya meyllərini müəyyən edin",
"identify_booking_trends_description": "Həftənin hansı günləri və günün hansı saatlarının rezervasiya edənlər üçün populyar olduğunu görün",
"spot_popular_event_types": "Populyar tədbir növlərini müəyyən edin",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "Seçilmiş filtr və ya tarixlər üçün məlumat tapılmadı.",
"acknowledge_booking_no_show_fee": "Bu tədbirə qatılmasam, kartıma {{amount, currency}} gəlməmə haqqı tətbiq olunacağını qəbul edirəm.",
"card_details": "Kart məlumatları",
"something_went_wrong_on_our_end": "Bizim tərəfimizdə bir şey səhv getdi. Dəstək komandamızla əlaqə saxlayın, və biz bunu dərhal düzəldəcəyik.",
"something_went_wrong_on_our_end": "Bizim tərəfimizdə bir şey səhv getdi. Dəstək komandamızla əlaqə saxlayın və biz bunu sizin üçün dərhal həll edəcəyik.",
"please_provide_following_text_to_suppport": "Dəstək ilə əlaqə saxlayarkən aşağıdakı mətni təqdim edin ki, sizə daha yaxşı kömək edə bilək",
"seats_and_no_show_fee_error": "Hazırda yerləri aktivləşdirmək və gəlməmə haqqını tutmaq mümkün deyil",
"complete_your_booking": "Rezervasiyanızı tamamlayın",
@@ -2276,7 +2303,7 @@
"messaging": "Mesajlaşma",
"sender_id_info": "SMS göndərən kimi göstərilən ad və ya nömrə (bəzi ölkələrdə alfasayısal göndərən ID-lərinə icazə verilmir)",
"org_admins_can_create_new_teams": "Yalnız təşkilatınızın administratoru yeni komandalar yarada bilər",
"google_new_spam_policy": "Google-un yeni spam siyasəti bu rezervasiya ilə bağlı hər hansı bir email və təqvim bildirişlərini almağınıza mane ola bilər.",
"google_new_spam_policy": "Google-un yeni spam siyasəti bu rezervasiya haqqında hər hansı e-poçt və təqvim bildirişləri almanızın qarşısını ala bilər.",
"resolve": "Həll et",
"no_organization_slug": "Bu təşkilat üçün komandalar yaradılarkən səhv baş verdi. URL slug çatışmır.",
"copy_link_org": "Təşkilatın linkini kopyalayın",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "Nümayəndəlik etimadnaməsi təşkilatınız üçün Google Workspace təqvimlərinə girişi idarə etməyə imkan verir.",
"add_client_id_in_google_workspace_with_below_scope": "Bu Client Id-ni aşağıdakı əhatə dairəsi ilə Google Workspace-ə əlavə edin",
"delegation_credential_enabled": "Nümayəndəlik etimadnaməsi aktivləşdirildi",
"delegation_credential_disabled": "Nümayəndəlik etimadnaməsi deaktiv edildi",
"add_delegation_credential": "Nümayəndəlik etimadnaməsi əlavə et",
"edit_delegation_credential": "Nümayəndəlik etimadnaməsini redaktə et",
"domain": "Domen",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "Təqvim hadisələrinizi görərək toqquşmaların qarşısını alın.",
"join_event_location": "{{eventLocationType}}-ə qoşulun",
"troubleshooting": "Problemlərin həlli",
"calendars_were_checking_for_conflicts": "Toqquşmalar üçün yoxladığımız təqvimlər",
"calendars_were_checking_for_conflicts": "Münaqişələri yoxladığımız təqvimlər",
"availabilty_schedules": "Mövcudluq cədvəlləri",
"manage_calendars": "Təqvimləri idarə edin",
"manage_availability_schedules": "Mövcudluq cədvəllərini idarə edin",
@@ -2582,7 +2608,7 @@
"date": "Tarix",
"overlaps_with_existing_schedule": "Bu, mövcud cədvəllə üst-üstə düşür. Zəhmət olmasa fərqli bir tarix seçin.",
"org_admin_no_slots|heading": "{{name}} üçün mövcudluq tapılmadı",
"org_admin_no_slots|content": "Salam Təşkilat Administratorları,<br /><br />Xahiş edirik nəzərə alın: {{username}} istifadəçisinin {{username}}/{{slug}} ziyarət edildikdə heç bir mövcudluğu olmadığı diqqətimizə çatdırılıb.<br /><br />Bu bir neçə səbəbdən baş verə bilər:<br />İstifadəçinin heç bir təqvimi qoşulmayıb<br />Bu tədbirə bağlı cədvəlləri aktiv deyil<br /><br />Mövcudluqlarını yoxlamağı tövsiyə edirik.",
"org_admin_no_slots|content": "Salam Təşkilat Administratorları,<br /><br />Diqqətinizə çatdırırıq ki, istifadəçi {{username}}/{{slug}} səhifəsinə daxil olduqda {{username}} istifadəçisinin heç bir əlçatanlığı olmadığı diqqətimizə çatdırılıb<br /><br />Bunun baş verməsinin bir neçə səbəbi ola bilər<br />İstifadəçinin qoşulmuş təqvimləri yoxdur<br />Bu tədbirə əlavə edilmiş cədvəlləri aktiv deyil<br /> <br />Bu problemi həll etmək üçün onların əlçatanlığını yoxlamağı tövsiyə edirik.",
"org_admin_no_slots|cta": "İstifadəçilərin mövcudluğunu açın",
"organization_no_slots_notification_switch_title": "Komandanızın mövcudluğu olmadıqda bildirişlər alın",
"organization_no_slots_notification_switch_description": "İstifadəçi komanda üzvünü rezervasiya etməyə çalışdıqda və 'Mövcudluq yoxdur' ilə qarşılaşdıqda administratorlar e-poçt bildirişləri alacaqlar. Bu e-poçtu iki hadisədən sonra tetikleyirik və hər istifadəçi üçün hər 7 gündə bir xatırladırıq.",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "{{user}} sizi {{appName}} üzərində {{team}} təşkilatına qoşulmağa dəvət etdi",
"email_team_invite|subject|added_to_subteam": "{{user}} sizi {{appName}} üzərində {{parentTeamName}} təşkilatının {{team}} komandasına əlavə etdi",
"email_team_invite|subject|invited_to_regular_team": "{{user}} sizi {{appName}} platformasında {{team}} komandasına dəvət etdi",
"email_team_invite|heading|added_to_org": "{{appName}} təşkilatına əlavə edildiniz",
"email_team_invite|heading|invited_to_org": "{{appName}} təşkilatına dəvət edildiniz",
"email_team_invite|heading|added_to_subteam": "{{parentTeamName}} təşkilatının komandasına əlavə edildiniz",
"email_team_invite|heading|invited_to_subteam": "{{parentTeamName}} təşkilatının komandasına dəvət edildiniz",
"email_team_invite|heading|invited_to_regular_team": "{{appName}} komandasına dəvət edildiniz",
"email_team_invite|heading|added_to_org": "Siz {{appName}} təşkilatına əlavə edilmisiniz",
"email_team_invite|heading|invited_to_org": "Siz {{appName}} təşkilatına dəvət edilmisiniz",
"email_team_invite|heading|added_to_subteam": "Siz {{parentTeamName}} təşkilatının komandasına əlavə edilmisiniz",
"email_team_invite|heading|invited_to_subteam": "Siz {{parentTeamName}} təşkilatının komandasına dəvət edilmisiniz",
"email_team_invite|heading|invited_to_regular_team": "Siz {{appName}} komandasına qoşulmağa dəvət edilmisiniz",
"email_team_invite|content|added_to_org": "{{invitedBy}} sizi <strong>{{teamName}}</strong> təşkilatına əlavə etdi.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} sizi {{teamName}} təşkilatına qoşulmağa dəvət etdi.",
"email_team_invite|subject|invited_to_subteam": "{{user}} sizi {{appName}} üzərində {{parentTeamName}} təşkilatının {{team}} komandasına qoşulmağa dəvət etdi",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Üzvlərin bütün komanda tədbir növləri üzrə neçə dəfə rezervasiya edilə biləcəyini məhdudlaşdırın",
"booking_limits_updated_successfully": "Rezervasiya məhdudiyyətləri uğurla yeniləndi",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Bu dəyişikliyi etmək üçün səlahiyyətiniz yoxdur",
"delegation_credential_disabled": "Nümayəndəlik etimadnaməsi deaktiv edildi",
"matching_members": "Uyğun üzvlər",
"x_matching_members": "{{x}} uyğun üzv",
"matching_members_queue_using_attribute_weights": "Üzvlərin uyğunlaşdırılması növbəsi (atribut çəkilərindən istifadə edərək)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Bəli, yenidən təyin et",
"filter_by_attributes": "Atributlara görə filtrlə",
"reassign_reason": "Yenidən təyin etmə səbəbi",
"field_type_change_suggestion": "Sahə növünün dəyişdirilməsi məlumat itkisinə səbəb ola bilər. Bunun əvəzinə yeni sahə yaradın.",
"reassigned_by": "Yenidən təyin edən",
"row": "sətir",
"rows": "sətirlər",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Dövr üzrə yönləndirilmə",
"per_day": "Gün üzrə",
"per_week": "Həftə üzrə",
"per_month": "aylıq",
"per_month": "Ay üzrə",
"routing_form_insights_assignment_reason": "Təyin edilmə səbəbi",
"access_denied": "Giriş qadağandır",
"salesforce_route_to_owner": "Əlaqə sahibi mövcud olduqda Round Robin ev sahibi olacaq",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Bu e-poçt üçün təşkilat yaratmağa icazəniz yoxdur",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Bir və ya bir neçə komandanı köçürməyə icazəniz yoxdur",
"organization_has_subscription_already": "Təşkilatın artıq abunəliyi var",
"reset_interval_weighted_rr": "Çəkili Növbəli Bölüşdürmə üçün interval sıfırlama",
"interval": "İnterval",
"rr_reset_interval_description": "Tarazlı paylaşımı təmin etmək üçün round robin rezervasiya sayının nə qədər tez-tez sıfırlanacağını müəyyən edir.",
"daily": "Gündəlik",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Bu istifadəçilər arasında artıq əks yönləndirmə mövcuddur.",
"previous_ooo_empty_title": "Əvvəlki OOO tapılmadı",
"previous": "Əvvəlki",
"rr_interval_successfully_updated": "Növbəli Bölüşdürmə intervalı uğurla yeniləndi",
"trial_mode": "Sınaq rejimi",
"inactive_team_plan": "Qeyri-aktiv komanda planı",
"inactive_team_plan_description": "Komanda planınız qeyri-aktivdir. Abunəliyinizi yoxlayın və ya müştəri dəstəyi ilə əlaqə saxlayın",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Hələ komandanız yoxdur",
"no_team_members": "Hələ komanda üzvləriniz yoxdur",
"recurring_event_doesnt_support_seats": "Təkrarlanan tədbir yerlər funksiyasını dəstəkləmir. Yerləri aktivləşdirmək üçün onu təkrarlanmayan edin.",
"booking_limit_per_booker_doesnt_support_recurring": "Təkrarlanan tədbir rezervasiya edən şəxs üçün rezervasiya limiti xüsusiyyətini dəstəkləmir. Təkrarlanan tədbiri aktivləşdirmək üçün rezervasiya edən şəxs üçün rezervasiya limitini deaktiv edin.",
"seats_doesnt_support_recurring": "Yerlər funksiyası təkrarlanan tədbiri dəstəkləmir. Təkrarlanma funksiyasını aktivləşdirmək üçün yerlər funksiyasını deaktiv edin.",
"recurring_event_seats_error": "Təkrarlanan tədbir yerlər funksiyasını dəstəkləmir. Yerlər funksiyasını deaktiv edin və ya tədbiri təkrarlanmayan edin.",
"segment": "Seqment",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Nümayəndəlik etimadnaməsini aktivləşdirin",
"enable_delegation_credential_description": "Nümayəndəlik etimadnaməsini aktivləşdirməklə Cal.com-a bütün təşkilat üzvlərinin təqvimlərinə avtomatik giriş imkanı verin.",
"disable_delegation_credential": "Nümayəndəlik etimadnaməsini deaktiv edin",
"disable_delegation_credential_description": "Nümayəndəlik etimadnaməsi deaktiv edildikdən sonra, təqvimlərini qoşmamış təşkilat üzvləri bunu əl ilə etməli olacaqlar.",
"disable_delegation_credential_description": "Nümayəndəlik etimadnaməsi deaktiv edildikdən sonra, təqvimlərini qoşmayan təşkilat üzvləri bunu əl ilə etməli olacaqlar.",
"last_active": "Son aktivlik",
"member_since": "Üzvlük tarixi",
"last_updated": "Son yenilənmə",
@@ -3202,10 +3233,131 @@
"matching": "Uyğunlaşdırma",
"event_redirect": "Tədbir yönləndirməsi",
"reset_form": "Formanı sıfırlayın",
"rr_settings_successfully_updated": "Növbəli Bölüşdürmə parametrləri uğurla yeniləndi",
"distribution_basis_weighted_rr": "Çəkili Növbəli Bölüşdürmə üçün paylanma əsası",
"timestamp_basis_description": "Çəkili növbəli bölüşdürmə paylanması üçün hansı tədbir vaxt damğasının əsas kimi istifadə olunduğunu müəyyən edir.",
"requires_credits": "Kreditlər tələb olunur",
"requires_credits_tooltip": "Bu xüsusiyyətdən istifadə etmək üçün hesabınızda kifayət qədər kredit olmalıdır",
"available_credits": "Mövcud kreditlər",
"create_role": "Rol yarat",
"roles_and_permissions": "Rollar və icazələr",
"roles_and_permissions_description": "Təşkilatınız üçün rolları və icazələri idarə edin",
"learn_more_permissions": "İcazələrin necə işlədiyini daha ətraflı öyrənin",
"role_name": "Rol adı",
"role_name_placeholder": "məs. Satış Komandası, Dəstək İşçiləri",
"role_description": "Rol təsviri",
"role_description_placeholder": "Bu rolun nə üçün olduğunu və hansı icazələrə ehtiyacı olduğunu təsvir edin",
"default_role": "Standart rol",
"custom_role": "Xüsusi rol",
"advanced": "İrəli",
"search_permissions": "İcazələri axtar",
"all_permissions": "Bütün icazələr",
"none": "Heç biri",
"read_only": "Yalnız oxuma",
"pbac_desc_all_actions_all_resources": "Bütün resurslarda bütün fəaliyyətlər",
"pbac_resource_all": "Bütün Resurslar",
"pbac_resource_event_type": "Tədbir Növləri",
"pbac_resource_team": "Komandalar",
"pbac_resource_organization": "Təşkilat",
"pbac_resource_booking": "Rezervasiyalar",
"pbac_resource_insights": "Görüşlər",
"pbac_resource_role": "Rollar",
"pbac_action_all": "Bütün Fəaliyyətlər",
"pbac_action_create": "Yaratmaq",
"pbac_action_read": "Baxmaq",
"pbac_action_update": "Redaktə etmək",
"pbac_action_delete": "Silmək",
"pbac_action_manage": "İdarə etmək",
"pbac_action_invite": "Dəvət etmək",
"pbac_action_remove": "Silmək",
"pbac_action_change_member_role": "Üzv Rolunu Dəyişmək",
"pbac_action_list_members": "Üzvləri Siyahılamaq",
"pbac_action_manage_billing": "Ödənişləri İdarə etmək",
"pbac_action_read_team_bookings": "Komanda Rezervasiyalarına Baxmaq",
"pbac_action_read_org_bookings": "Təşkilat Rezervasiyalarına Baxmaq",
"pbac_action_read_recordings": "Qeydlərə Baxın",
"role_created_successfully": "Rol uğurla yaradıldı",
"role_updated_successfully": "Rol uğurla yeniləndi",
"delete_role": "Rolu sil",
"confirm_delete_role": "Bu rolu silmək istədiyinizə əminsiniz? Bu əməliyyat geri qaytarıla bilməz.",
"role_deleted_successfully": "Rol uğurla silindi",
"error_creating_role": "Rol yaradılarkən xəta baş verdi",
"error_updating_role": "Rol yenilənərkən xəta baş verdi",
"pbac_desc_create_roles": "Rollar yaratmaq",
"pbac_desc_view_roles": "Rollara baxmaq",
"pbac_desc_update_roles": "Rolları yeniləmək",
"pbac_desc_delete_roles": "Rolları silmək",
"pbac_desc_manage_roles": "Rollar üzərində bütün əməliyyatlar",
"pbac_desc_create_event_types": "Tədbir növləri yaratmaq",
"pbac_desc_view_event_types": "Tədbir növlərinə baxmaq",
"pbac_desc_update_event_types": "Tədbir növlərini yeniləmək",
"pbac_desc_delete_event_types": "Tədbir növlərini silmək",
"pbac_desc_manage_event_types": "Tədbir növləri üzərində bütün əməliyyatlar",
"pbac_desc_create_teams": "Komandalar yaratmaq",
"pbac_desc_view_team_details": "Komanda məlumatlarına baxmaq",
"pbac_desc_update_team_settings": "Komanda parametrlərini yeniləmək",
"pbac_desc_delete_team": "Komandanı silmək",
"pbac_desc_invite_team_members": "Komanda üzvlərini dəvət etmək",
"pbac_desc_remove_team_members": "Komanda üzvlərini silmək",
"pbac_desc_change_team_member_role": "Komanda üzvlərinin rolunu dəyişmək",
"pbac_desc_manage_teams": "Komandalar üzərində bütün əməliyyatlar",
"pbac_desc_create_organization": "Təşkilat yaratmaq",
"pbac_desc_view_organization_details": "Təşkilat məlumatlarına baxmaq",
"pbac_desc_list_organization_members": "Təşkilat üzvlərinin siyahısı",
"pbac_desc_invite_organization_members": "Təşkilat üzvlərini dəvət etmək",
"pbac_desc_remove_organization_members": "Təşkilat üzvlərini silmək",
"pbac_desc_manage_organization_billing": "Təşkilat fakturasını idarə etmək",
"pbac_desc_change_organization_member_role": "Təşkilat üzvlərinin rolunu dəyişmək",
"pbac_desc_edit_organization_settings": "Təşkilat parametrlərini redaktə etmək",
"pbac_desc_manage_organizations": "Təşkilatlar üzərində bütün əməliyyatlar",
"pbac_desc_view_bookings": "Rezervasiyalara baxmaq",
"pbac_desc_view_team_bookings": "Komanda rezervasiyalarına baxmaq",
"pbac_desc_view_organization_bookings": "Təşkilat rezervasiyalarına baxmaq",
"pbac_desc_view_booking_recordings": "Rezervasiya qeydlərinə baxmaq",
"pbac_desc_update_bookings": "Rezervasiyaları yeniləmək",
"pbac_desc_manage_bookings": "Rezervasiyalar üzərində bütün əməliyyatlar",
"pbac_desc_view_team_insights": "Komanda analitikasına baxmaq",
"pbac_desc_manage_team_insights": "Komanda analitikasını idarə etmək",
"read_permission_auto_enabled_tooltip": "Resurs yaradarkən, yeniləyərkən və ya silənərkən oxuma icazəsi avtomatik olaraq aktivləşdirilir",
"choose_restriction_schedule": "Məhdudiyyət qrafiki əlavə edin",
"choose_restriction_schedule_description": "Bu tədbir növü üçün ev sahiblərinin əlçatanlığını məhdudiyyət qrafikinə əsasən məhdudlaşdırmaq istəyirsinizsə, bunu aktivləşdirin. Bu, yalnız məhdudiyyət qrafikində olmayan slotları silir, heç bir yeni slot əlavə etmir.",
"use_booker_timezone": "Rezervasiya edənin saat qurşağından istifadə edin",
"use_booker_timezone_info": "Seçilmiş məhdudiyyət qrafikini rezervasiya edənin saat qurşağında tətbiq edin",
"load_balancing_warning": "Bu, bütün round robin tədbir növlərinizdə yük balanslaşdırmasını deaktiv edəcək",
"rr_load_balancing_disabled": "Yük balanslaşdırması yalnız vaxt əsası Rezervasiya Yaradılma Vaxtına təyin edildikdə mövcuddur",
"round_robin_settings_description": "Bu komanda üçün standart növbəli təqvim parametrlərini fərdiləşdirin",
"round_robin_settings_updated_successfully": "Növbəli təqvim parametrləri uğurla yeniləndi",
"booking_creation_time": "Rezervasiya yaradılma vaxtı",
"meeting_start_time": "Görüş başlama vaxtı",
"members_affected_by_disabling_delegation_credential": "Təsir edilən üzvlər",
"no_members_affected_by_disabling_delegation_credential": "Nümayəndəlik etimadnaməsinin deaktiv edilməsindən təsirlənən üzv yoxdur",
"download_expense_log": "Xərc jurnalını yüklə",
"error_downloading_expense_log": "Xərc jurnalını yükləyərkən xəta baş verdi",
"offer_to_reschedule_last_booking": "Seçilmiş vaxt aralığına son aktiv rezervasiyanı yenidən planlaşdırmağı təklif edin",
"booker_limit_exceeded_error": "Rezervasiya edənin maksimum aktiv rezervasiya limiti aşıldı",
"booker_limit_exceeded_error_reschedule": "Artıq {{date}} tarixində bu tədbir üçün rezervasiyanız var. Yeni seçilmiş vaxta yenidən planlaşdırmaq istəyirsiniz?",
"duration_min_error": "Müddət ən azı {{min}} dəqiqə olmalıdır",
"duration_max_error": "Müddət {{max}} dəqiqəni (24 saat) keçə bilməz",
"booking_not_allowed_by_restriction_schedule_error": "Məhdudiyyət cədvəli xaricində rezervasiya mümkün deyil.",
"restriction_schedule_not_found_error": "Məhdudiyyət cədvəli tapılmadı",
"converted_image_size_limit_exceed": "Şəkil ölçüsü limiti aşıldı, lütfən daha kiçik şəkil istifadə edin, tərcihən JPEG formatında",
"license_key": "Lisenziya açarı",
"license_selection_title": "Lisenziyanızı seçin",
"license_selection_description": "Cal.com yerləşdirməsini necə lisenziyalaşdırmaq istədiyinizi seçin",
"agplv3_license_description": "Cal.com-u AGPLv3 açıq mənbə lisenziyası altında istifadə edin",
"enter_license_key": "Lisenziya açarını daxil edin",
"enter_your_license_key": "Bütün müəssisə xüsusiyyətlərinə giriş",
"enter_existing_license": "Hər istifadəçi üçün ayda $15-dan başlayaraq",
"enter_license_key_description": "Bütün müəssisə xüsusiyyətlərinə giriş",
"license_key_placeholder": "Lisenziya açarınızı daxil edin",
"save_license_key": "Lisenziya açarını saxla",
"signature_token_optional": "İmza tokeni (istəyə bağlı)",
"signature_token_description": "İmza tokeni istifadəyə əsaslanan ödənişləri artırarkən lisenziya açarının sizə aid olduğunu təsdiqləmək üçün istifadə olunur. Bunu alış təsdiq e-poçtunuzda tapa bilərsiniz. Əgər köhnə lisenziyadan istifadə edirsinizsə, bunu boş saxlaya bilərsiniz.",
"need_a_license": "Lisenziyaya ehtiyacınız var?",
"license_key_required": "Lisenziya açarı tələb olunur",
"invalid_license_key": "Yanlış lisenziya açarı",
"license_validation_failed": "Lisenziya açarının təsdiqlənməsi uğursuz oldu",
"license_key_saved": "Lisenziya açarı uğurla saxlanıldı",
"timezone_mismatch_tooltip": "Siz hesabatı profil saat qurşağınıza ({{userTimezone}}) əsasən görürsünüz, brauzeriniz isə başqa saat qurşağına ({{browserTimezone}}) təyin edilib",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Yeni sətirləri bura əlavə edin ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+168 -16
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Персонализиране на настройките на Cal Video",
"calvideo_settings_description": "Конфигурирайте предпочитания за видео срещи, включително разрешения за запис за домакини и участници.",
"disable_recording_for_guests": "Деактивиране на записа за гости",
"enable_automatic_transcription": "Активиране на автоматична транскрипция след присъединяване към срещата",
"video_options": "Видео опции",
"get_meeting_session_details": "Получаване на детайли за сесията на срещата",
"meeting_session_details": "Детайли за сесията на срещата",
"meeting_session": "Сесия на срещата",
"session_id": "ID на сесията",
"max_participants": "Максимален брой участници",
"unlimited": "Неограничено",
"ongoing": "В процес",
"ended": "Приключила",
"participants": "Участници",
"anonymous_user": "Анонимен потребител",
"session_duration": "Продължителност на сесията",
"no_meeting_sessions_found": "Не са намерени сесии на срещи",
"not_available": "Не е налично",
"disable_recording_for_organizer": "Деактивиране на записа за организатора",
"disable_transcription_for_guests": "Деактивиране на транскрипцията за гости",
"disable_transcription_for_organizer": "Деактивиране на транскрипцията за организатора",
"event_request_declined_recurring": "Вашата заявка за повтарящо се събитие беше отказана",
"event_request_cancelled": "Вашето планирано събитие беше отменено",
"event_request_reassigned": "Планираното ви събитие беше преразпределено",
@@ -264,6 +281,8 @@
"guests": "Гости",
"guest": "Гост",
"web_conferencing_details_to_follow": "Детайлите за уеб конференцията ще бъдат изпратени в имейла за потвърждение.",
"confirmation": "Потвърждение",
"what_booker_should_provide": "Какво трябва да предостави резервиращият, за да получи потвърждения",
"404_the_user": "Потребителското име",
"username": "Потребителско име",
"is_still_available": "все още е свободно.",
@@ -331,7 +350,7 @@
"organization_general_description": "Управлявайте настройките за език и часова зона на вашия екип",
"few_sentences_about_yourself": "Няколко изречения за вас. Това ще се появи на вашата персонална URL страница.",
"nearly_there": "Почти сте готови!",
"nearly_there_instructions": "И последно, кратко описание за вас и снимка наистина помагат да получавате резервации и хората да знаят с кого си запазват час.",
"nearly_there_instructions": "Последно нещо, кратко описание за вас и снимка наистина помагат да получите резервации и да информирате хората с кого правят резервация.",
"set_availability_instructions": "Определете периодите от време, в които сте свободни на повтаряща се база. Можете да създадете още такива по-късно и да ги присвоите към различни календари.",
"set_availability": "Задайте своята наличност",
"set_availbility_description": "Задайте график за времето, в което искате да бъдете резервиран.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Свържете календара си",
"connect_your_video_app": "Свържете видео приложенията си",
"connect_your_video_app_instructions": "Свържете видео приложенията си, за да ги използвате в типовете събития.",
"connect_your_calendar_instructions": "Свържете календара си, за да проверявате автоматично за заети часове и нови събития при планирането им.",
"connect_your_calendar_instructions": "Свържете календара си, за да проверявате автоматично за заети часове и нови събития, когато бъдат планирани.",
"set_up_later": "Настройте по-късно",
"current_time": "Текущо време",
"details": "Детайли",
"welcome": "Добре дошли",
"welcome_back": "Добре дошли отново",
"welcome_to_calcom": "Добре дошли в {{appName}}",
"welcome_instructions": "Кажете ни как да се обръщаме към вас и в коя часова зона се намирате. Можете да редактирате това по-късно.",
"welcome_instructions": "Кажете ни как да ви наричаме и ни уведомете в коя часова зона се намирате. Ще можете да редактирате това по-късно.",
"connect_caldav": "Свържете се с CalDav (Бета)",
"connect_ics_feed": "Свържете се с ICS поток",
"connect": "Свържете се",
@@ -1153,6 +1172,7 @@
"test_failed": "Тестът е неуспешен",
"provide_api_key": "Въведете API ключ",
"api_key_modal_subtitle": "API ключовете ви позволяват да правите API заявки за собствения си акаунт.",
"api_key_modal_subtitle_platform": "Създайте пазар или платформа вместо това.",
"api_keys_subtitle": "Генерирайте API ключове за достъп до собствения си акаунт.",
"create_api_key": "Създаване на API ключ",
"personal_note": "Именувайте този ключ",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Отмени този API ключ",
"disable_rescheduling": "Деактивиране на пренасрочването",
"description_disable_rescheduling": "Гостите вече не могат да пренасрочват събитието чрез календарна покана или имейл",
"allow_rescheduling_cancelled_bookings": "Разрешаване на резервации чрез връзка за пренасрочване",
"description_allow_rescheduling_cancelled_bookings": "Когато е активирано, потребителите ще могат да създадат нова резервация, когато се опитват да пренасрочат отменена резервация",
"disable_cancelling": "Деактивиране на отказването",
"description_disable_cancelling": "Гостите вече не могат да отказват събитието чрез календарна покана или имейл",
"revoke_api_key": "Отмени API ключ",
@@ -1572,7 +1594,7 @@
"location_info": "Локацията на събитието",
"additional_notes_info": "Допълнителните бележки към резервацията",
"attendee_name_info": "Името на човека, който прави резервацията",
"organizer_name_info": "Името на организатора",
"organizer_name_info": "Име на организатора",
"to": "До",
"workflow_turned_on_successfully": "Работният процес {{workflowName}} е {{offOn}} успешно",
"download_responses": "Изтегли отговорите",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Това ще ограничи вашата наличност за този тип събитие до един слот на ден, планиран за най-ранното възможно време.",
"limit_total_booking_duration": "Ограничаване на общата продължителност на резервациите",
"limit_total_booking_duration_description": "Ограничете общото време, за което това събитие може да бъде резервирано",
"booker_booking_limit": "Лимит на активни резервации за резервиращия",
"booker_booking_limit_description": "Ограничете броя на активните резервации, които резервиращият може да направи за този тип събитие",
"recurring_event_doesnt_support_booker_booking_limit": "Повтарящите се събития не поддържат лимит на резервации за резервиращия",
"add_limit": "Добави ограничение",
"team_name_required": "Изисква се име на екипа",
"show_attendees": "Споделяне на информация за участниците между гостите",
"show_available_seats_count": "Показване на броя свободни места",
"how_booking_questions_as_variables": "Как да използвате въпросите за резервация като променливи?",
"format": "Формат",
"questions": "Въпроси",
"all_info_your_booker_provide": "Цялата информация, която резервиращият трябва да предостави преди да резервира при вас.",
"uppercase_for_letters": "Използвайте главни букви за всички букви",
"replace_whitespaces_underscores": "Заменете интервалите с долни черти",
"platform_members": "Членове на платформата",
@@ -1915,7 +1942,7 @@
"new_attendee": "Нов участник",
"awaiting_approval": "Очаква одобрение",
"requires_google_calendar": "Това приложение изисква връзка с Google Calendar",
"event_type_requires_google_calendar": "\"Добавяне към календар\" за този тип събитие трябва да бъде Google Calendar, за да работи Meet. Свържете го <0>тук</0>.",
"event_type_requires_google_calendar": "\"Добавяне към календара\" за този тип събитие трябва да бъде Google Calendar, за да работи Meet. Свържете го <0>тук</0>.",
"connected_google_calendar": "Свързали сте акаунт в Google Calendar.",
"using_meet_requires_calendar": "Използването на Google Meet изисква свързан Google Calendar",
"continue_to_install_google_calendar": "Продължете към инсталиране на Google Calendar",
@@ -1968,11 +1995,11 @@
"organizer_timezone": "Часова зона на организатора",
"email_user_cta": "Преглед на поканата",
"email_no_user_invite_heading_subteam": "Поканени сте да се присъедините към екип от организацията {{parentTeamName}}",
"email_no_user_invite_heading_org": "Поканени сте да се присъедините към {{appName}} организация",
"email_no_user_invite_heading_org": "Поканени сте да се присъедините към организация в {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} ви покани да се присъедините към техния екип в {{appName}}. {{appName}} е платформа за управление на събития, която позволява на вас и вашия екип да планирате срещи без безкрайна размяна на имейли.",
"email_user_invite_subheading_subteam": "{{invitedBy}} ви покани да се присъедините към екипа {{teamName}} в тяхната организация {{parentTeamName}} в {{appName}}. {{appName}} е платформа за управление на събития, която позволява на вас и вашия екип да планирате срещи без безкрайна размяна на имейли.",
"email_user_invite_subheading_org": "{{invitedBy}} ви покани да се присъедините към тяхната организация {{teamName}} в {{appName}}. {{appName}} е платформа за управление на събития, която позволява на вас и вашата организация да планирате срещи без безкрайна размяна на имейли.",
"email_no_user_invite_steps_intro": "Ще ви преведем през няколко кратки стъпки и скоро ще се наслаждавате на безпроблемно планиране с вашия {{entity}}.",
"email_no_user_invite_steps_intro": "Ще ви преведем през няколко кратки стъпки и скоро ще се наслаждавате на планиране без стрес с вашия {{entity}}.",
"email_no_user_step_one": "Изберете потребителско име",
"email_no_user_step_two": "Свържете календарния си акаунт",
"email_no_user_step_three": "Задайте своята достъпност",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Вземайте информирани решения с Insights",
"make_informed_decisions_description": "Нашото табло за управление Insights показва цялата активност в екипа ви и ви представя тенденции, които позволяват по-добро планиране и вземане на решения за екипа.",
"view_bookings_across": "Преглед на резервациите във всички членове",
"view_bookings_across_description": "Вижте кой получава най-много резервации и осигурете най-доброто разпределение в екипа си",
"view_bookings_across_description": "Вижте кой получава най-много резервации и осигурете най-доброто разпределение в екипа ви",
"identify_booking_trends": "Идентифицирайте тенденциите в резервациите",
"identify_booking_trends_description": "Вижте кои дни от седмицата и кои часове през деня са популярни сред вашите клиенти",
"spot_popular_event_types": "Открийте популярните видове събития",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "Не са намерени данни за избрания филтър или избраните дати.",
"acknowledge_booking_no_show_fee": "Потвърждавам, че ако не присъствам на това събитие, ще бъде начислена такса за неявяване в размер на {{amount, currency}} на моята карта.",
"card_details": "Данни на картата",
"something_went_wrong_on_our_end": "Възникна проблем от наша страна. Свържете се с екипа ни за поддръжка и ще го отстраним веднага.",
"something_went_wrong_on_our_end": "Нещо се обърка от наша страна. Свържете се с нашия екип за поддръжка и ние ще го оправим веднага за вас.",
"please_provide_following_text_to_suppport": "Моля, предоставете следния текст при контакт с поддръжката за по-добра помощ",
"seats_and_no_show_fee_error": "В момента не е възможно да се активират места и да се начислява такса за неявяване",
"complete_your_booking": "Завършете резервацията си",
@@ -2276,7 +2303,7 @@
"messaging": "Съобщения",
"sender_id_info": "Име или номер, показвани като подател на SMS (някои държави не позволяват буквено-цифрови идентификатори на подателя)",
"org_admins_can_create_new_teams": "Само администраторът на вашата организация може да създава нови екипи",
"google_new_spam_policy": "Новата политика на Google за спам може да попречи на получаването на имейли и календарни известия за тази резервация.",
"google_new_spam_policy": "Новата политика на Google за спам може да ви попречи да получавате имейли и известия в календара за тази резервация.",
"resolve": "Разреши",
"no_organization_slug": "Възникна грешка при създаването на екипи за тази организация. Липсва URL адрес.",
"copy_link_org": "Копирай линк към организацията",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "Делегираните идентификационни данни ви позволяват да управлявате достъпа до календарите на Google Workspace за вашата организация.",
"add_client_id_in_google_workspace_with_below_scope": "Добавете този Client Id в Google Workspace със следния обхват",
"delegation_credential_enabled": "Делегираните идентификационни данни са активирани",
"delegation_credential_disabled": "Делегираните идентификационни данни са деактивирани",
"add_delegation_credential": "Добавяне на делегирани идентификационни данни",
"edit_delegation_credential": "Редактиране на делегирани идентификационни данни",
"domain": "Домейн",
@@ -2582,7 +2608,7 @@
"date": "Дата",
"overlaps_with_existing_schedule": "Това се припокрива със съществуващ график. Моля, изберете друга дата.",
"org_admin_no_slots|heading": "No availability found for {{name}}",
"org_admin_no_slots|content": "Hello Organization Admins,<br /><br />Please note: It has been brought to our attention that {{username}} has not had any availability when a user has visited {{username}}/{{slug}}<br /><br />There’s a few reasons why this could be happening<br />The user does not have any calendars connected<br />Their schedules attached to this event are not enabled<br /> <br />We recommend checking their availability to resolve this.",
"org_admin_no_slots|content": "Здравейте, администратори на организацията,<br /><br />Моля, обърнете внимание: Беше ни съобщено, че {{username}} не е имал наличност, когато потребител е посетил {{username}}/{{slug}}<br /><br />Има няколко причини, поради които това може да се случва<br />Потребителят няма свързани календари<br />Графиците, прикрепени към това събитие, не са активирани<br /> <br />Препоръчваме да проверите наличността им, за да разрешите този проблем.",
"org_admin_no_slots|cta": "Open users availability",
"organization_no_slots_notification_switch_title": "Получавайте известия, когато вашият екип няма свободна заетост",
"organization_no_slots_notification_switch_description": "Администраторите ще получават имейл известия, когато потребител се опита да резервира член на екипа и се сблъска с 'Няма свободна заетост'. Изпращаме този имейл след две появявания и ви напомняме на всеки 7 дни за потребител.",
@@ -2594,8 +2620,8 @@
"email_team_invite|subject|invited_to_regular_team": "{{user}} ви покани да се присъедините към екипа {{team}} в {{appName}}",
"email_team_invite|heading|added_to_org": "Добавени сте към организация в {{appName}}",
"email_team_invite|heading|invited_to_org": "Поканени сте в организация в {{appName}}",
"email_team_invite|heading|added_to_subteam": "Добавени сте към екип от организацията {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Поканени сте в екип от организацията {{parentTeamName}}",
"email_team_invite|heading|added_to_subteam": "Добавени сте към екип в организацията {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Поканени сте в екип в организацията {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "Поканени сте да се присъедините към екип в {{appName}}",
"email_team_invite|content|added_to_org": "{{invitedBy}} ви добави към организацията <strong>{{teamName}}</strong>.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} ви покани да се присъедините към организацията {{teamName}}.",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Ограничете колко пъти членовете могат да бъдат резервирани във всички типове екипни събития",
"booking_limits_updated_successfully": "Ограниченията за резервации са актуализирани успешно",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Нямате разрешение да правите тази промяна в резервацията",
"delegation_credential_disabled": "Делегираните идентификационни данни са деактивирани",
"matching_members": "Съвпадащи членове",
"x_matching_members": "{{x}} съвпадащи членове",
"matching_members_queue_using_attribute_weights": "Опашка на съвпадащи членове (използвайки тежест на атрибутите)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Да, преназначи",
"filter_by_attributes": "Филтриране по атрибути",
"reassign_reason": "Причина за преназначаване",
"field_type_change_suggestion": "Промяната на типа поле може да доведе до загуба на данни. Моля, създайте ново поле вместо това.",
"reassigned_by": "Преназначено от",
"row": "ред",
"rows": "реда",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Пренасочени към за период",
"per_day": "За ден",
"per_week": "За седмица",
"per_month": "на месец",
"per_month": "На месец",
"routing_form_insights_assignment_reason": "Причина за назначаване",
"access_denied": "Достъпът е отказан",
"salesforce_route_to_owner": "Собственикът на контакта ще бъде Round Robin домакин, ако е наличен",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Нямате разрешение да създадете организация за този имейл",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Нямате разрешение да мигрирате един или повече от екипите",
"organization_has_subscription_already": "Организацията вече има абонамент",
"reset_interval_weighted_rr": "Нулиране на интервала за претеглен кръгов ред",
"interval": "Интервал",
"rr_reset_interval_description": "Определя колко често се нулира броят на резервациите в round robin, за да се осигури балансирано разпределение.",
"daily": "Ежедневно",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Вече съществува обратно пренасочване между тези потребители.",
"previous_ooo_empty_title": "Не са намерени предишни OOO",
"previous": "Предишен",
"rr_interval_successfully_updated": "Интервалът на кръговия ред е успешно актуализиран",
"trial_mode": "Пробен режим",
"inactive_team_plan": "Неактивен план за екип",
"inactive_team_plan_description": "Вашият план за екип е неактивен. Проверете абонамента си или се свържете с отдела за обслужване на клиенти",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Все още нямате екип",
"no_team_members": "Все още нямате членове на екипа",
"recurring_event_doesnt_support_seats": "Повтарящото се събитие не поддържа функцията за места. Направете го неповтарящо се, за да активирате места.",
"booking_limit_per_booker_doesnt_support_recurring": "Повтарящото се събитие не поддържа функцията за ограничаване на резервациите за всеки резервиращ. Деактивирайте ограничението за резервации за всеки резервиращ, за да активирате повтарящото се събитие.",
"seats_doesnt_support_recurring": "Функцията за места не поддържа повтарящи се събития. Деактивирайте функцията за места, за да го направите повтарящо се.",
"recurring_event_seats_error": "Повтарящото се събитие не поддържа функцията за места. Деактивирайте функцията за места или направете събитието неповтарящо се.",
"segment": "Сегмент",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Активиране на делегирани идентификационни данни",
"enable_delegation_credential_description": "Предоставете на Cal.com автоматичен достъп до календарите на всички членове на организацията чрез активиране на делегирани идентификационни данни.",
"disable_delegation_credential": "Деактивиране на делегирани идентификационни данни",
"disable_delegation_credential_description": "След деактивиране на делегираните идентификационни данни, членовете на организацията, които не са свързали календарите си, ще трябва да го направят ръчно.",
"disable_delegation_credential_description": "След като пълномощното за делегиране бъде деактивирано, членовете на организацията, които не са свързали календарите си, ще трябва да го направят ръчно.",
"last_active": "Последна активност",
"member_since": "Член от",
"last_updated": "Последно обновено",
@@ -3202,10 +3233,131 @@
"matching": "Съвпадение",
"event_redirect": "Пренасочване на събитие",
"reset_form": "Нулиране на формуляра",
"rr_settings_successfully_updated": "Настройките на кръговия ред са успешно актуализирани",
"distribution_basis_weighted_rr": "Основа за разпределение за претеглен кръгов ред",
"timestamp_basis_description": "Определя кой времеви печат на събитието се използва като основа за разпределение на претегления кръгов ред.",
"requires_credits": "Изисква кредити",
"requires_credits_tooltip": "Трябва да имате достатъчно кредити в акаунта си, за да използвате тази функция",
"available_credits": "Налични кредити",
"create_role": "Създаване на роля",
"roles_and_permissions": "Роли и разрешения",
"roles_and_permissions_description": "Управлявайте роли и разрешения за вашата организация",
"learn_more_permissions": "Научете повече за това как работят разрешенията",
"role_name": "Име на ролята",
"role_name_placeholder": "напр. Търговски екип, Екип за поддръжка",
"role_description": "Описание на ролята",
"role_description_placeholder": "Опишете за какво е тази роля и какви разрешения са ѝ необходими",
"default_role": "Роля по подразбиране",
"custom_role": "Персонализирана роля",
"advanced": "Разширени",
"search_permissions": "Търсене на разрешения",
"all_permissions": "Всички разрешения",
"none": "Няма",
"read_only": "Само за четене",
"pbac_desc_all_actions_all_resources": "Всички действия върху всички ресурси",
"pbac_resource_all": "Всички ресурси",
"pbac_resource_event_type": "Типове събития",
"pbac_resource_team": "Екипи",
"pbac_resource_organization": "Организация",
"pbac_resource_booking": "Резервации",
"pbac_resource_insights": "Анализи",
"pbac_resource_role": "Роли",
"pbac_action_all": "Всички действия",
"pbac_action_create": "Създаване",
"pbac_action_read": "Преглед",
"pbac_action_update": "Редактиране",
"pbac_action_delete": "Изтриване",
"pbac_action_manage": "Управление",
"pbac_action_invite": "Поканване",
"pbac_action_remove": "Премахване",
"pbac_action_change_member_role": "Промяна на ролята на член",
"pbac_action_list_members": "Списък с членове",
"pbac_action_manage_billing": "Управление на таксуването",
"pbac_action_read_team_bookings": "Преглед на резервациите на екипа",
"pbac_action_read_org_bookings": "Преглед на резервациите на организацията",
"pbac_action_read_recordings": "Преглед на записи",
"role_created_successfully": "Ролята е създадена успешно",
"role_updated_successfully": "Ролята е актуализирана успешно",
"delete_role": "Изтрий роля",
"confirm_delete_role": "Сигурни ли сте, че искате да изтриете тази роля? Това действие не може да бъде отменено.",
"role_deleted_successfully": "Ролята е изтрита успешно",
"error_creating_role": "Грешка при създаване на роля",
"error_updating_role": "Грешка при актуализиране на роля",
"pbac_desc_create_roles": "Създаване на роли",
"pbac_desc_view_roles": "Преглед на роли",
"pbac_desc_update_roles": "Актуализиране на роли",
"pbac_desc_delete_roles": "Изтриване на роли",
"pbac_desc_manage_roles": "Всички действия върху роли",
"pbac_desc_create_event_types": "Създаване на типове събития",
"pbac_desc_view_event_types": "Преглед на типове събития",
"pbac_desc_update_event_types": "Актуализиране на типове събития",
"pbac_desc_delete_event_types": "Изтриване на типове събития",
"pbac_desc_manage_event_types": "Всички действия върху типове събития",
"pbac_desc_create_teams": "Създаване на екипи",
"pbac_desc_view_team_details": "Преглед на детайли за екипа",
"pbac_desc_update_team_settings": "Актуализиране на настройки на екипа",
"pbac_desc_delete_team": "Изтриване на екип",
"pbac_desc_invite_team_members": "Поканване на членове на екипа",
"pbac_desc_remove_team_members": "Премахване на членове на екипа",
"pbac_desc_change_team_member_role": "Промяна на ролята на членове на екипа",
"pbac_desc_manage_teams": "Всички действия върху екипи",
"pbac_desc_create_organization": "Създаване на организация",
"pbac_desc_view_organization_details": "Преглед на детайли за организацията",
"pbac_desc_list_organization_members": "Списък на членовете на организацията",
"pbac_desc_invite_organization_members": "Покана на членове в организацията",
"pbac_desc_remove_organization_members": "Премахване на членове от организацията",
"pbac_desc_manage_organization_billing": "Управление на фактурирането на организацията",
"pbac_desc_change_organization_member_role": "Промяна на ролята на членовете на организацията",
"pbac_desc_edit_organization_settings": "Редактиране на настройките на организацията",
"pbac_desc_manage_organizations": "Всички действия върху организации",
"pbac_desc_view_bookings": "Преглед на резервации",
"pbac_desc_view_team_bookings": "Преглед на резервации на екипа",
"pbac_desc_view_organization_bookings": "Преглед на резервации на организацията",
"pbac_desc_view_booking_recordings": "Преглед на записи от резервации",
"pbac_desc_update_bookings": "Актуализиране на резервации",
"pbac_desc_manage_bookings": "Всички действия върху резервации",
"pbac_desc_view_team_insights": "Преглед на анализи на екипа",
"pbac_desc_manage_team_insights": "Управление на анализи на екипа",
"read_permission_auto_enabled_tooltip": "Разрешението за четене се активира автоматично при създаване, актуализиране или изтриване на ресурс",
"choose_restriction_schedule": "Добавяне на график с ограничения",
"choose_restriction_schedule_description": "Активирайте това, ако искате да ограничите наличността на домакините за този тип събитие въз основа на график с ограничения. Това само премахва слотовете, които не са в графика с ограничения, но не добавя нови слотове.",
"use_booker_timezone": "Използване на часовата зона на резервиращия",
"use_booker_timezone_info": "Прилагане на избрания график с ограничения в часовата зона на резервиращия",
"load_balancing_warning": "Това ще деактивира балансирането на натоварването за всички ваши round robin типове събития",
"rr_load_balancing_disabled": "Балансирането на натоварването е налично само когато основата на времевия печат е зададена на време на създаване на резервацията",
"round_robin_settings_description": "Персонализирайте настройките по подразбиране за кръговото разпределение за този екип",
"round_robin_settings_updated_successfully": "Настройките за кръгово разпределение са актуализирани успешно",
"booking_creation_time": "Време на създаване на резервацията",
"meeting_start_time": "Начален час на срещата",
"members_affected_by_disabling_delegation_credential": "Засегнати членове",
"no_members_affected_by_disabling_delegation_credential": "Няма членове, засегнати от деактивирането на пълномощията за делегиране",
"download_expense_log": "Изтеглете регистър на разходите",
"error_downloading_expense_log": "Грешка при изтегляне на регистъра на разходите",
"offer_to_reschedule_last_booking": "Предложете пренасрочване на последната активна резервация за избрания времеви интервал",
"booker_limit_exceeded_error": "Превишен е максималният лимит за активни резервации на резервиращия",
"booker_limit_exceeded_error_reschedule": "Вече имате резервация за това събитие на {{date}}. Искате ли да пренасрочите за новоизбраното време?",
"duration_min_error": "Продължителността трябва да бъде поне {{min}} минута(и)",
"duration_max_error": "Продължителността не може да надвишава {{max}} минути (24 часа)",
"booking_not_allowed_by_restriction_schedule_error": "Резервация извън наличността на ограничителния график.",
"restriction_schedule_not_found_error": "Ограничителният график не е намерен",
"converted_image_size_limit_exceed": "Превишен е лимитът за размер на изображението, моля, използвайте по-малко изображение, за предпочитане в JPEG формат",
"license_key": "Лицензионен ключ",
"license_selection_title": "Изберете вашия лиценз",
"license_selection_description": "Изберете как искате да лицензирате вашето внедряване на Cal.com",
"agplv3_license_description": "Използвайте Cal.com под AGPLv3 лиценз с отворен код",
"enter_license_key": "Въведете лицензионен ключ",
"enter_your_license_key": "Достъп до всички корпоративни функции",
"enter_existing_license": "Започва от $15/потребител на месец",
"enter_license_key_description": "Достъп до всички корпоративни функции",
"license_key_placeholder": "Въведете вашия лицензионен ключ",
"save_license_key": "Запазете лицензионния ключ",
"signature_token_optional": "Токен за подпис (по избор)",
"signature_token_description": "Токенът за подпис се използва за проверка дали лицензионният ключ е ваш при увеличаване на таксуването според използването. Можете да го намерите в имейла за потвърждение на покупката. Ако използвате стар лиценз, можете да оставите това поле празно.",
"need_a_license": "Нуждаете се от лиценз?",
"license_key_required": "Изисква се лицензионен ключ",
"invalid_license_key": "Невалиден лицензионен ключ",
"license_validation_failed": "Неуспешна валидация на лицензионния ключ",
"license_key_saved": "Лицензионният ключ е успешно записан",
"timezone_mismatch_tooltip": "Преглеждате отчета според часовата зона на вашия профил ({{userTimezone}}), докато браузърът ви е настроен на часова зона ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Добавете новите си низове над този ред ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
File diff suppressed because it is too large Load Diff
+169 -17
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Personalitza la configuració de Cal Video",
"calvideo_settings_description": "Configura les preferències de reunions de vídeo, incloent-hi els permisos d'enregistrament per a amfitrions i assistents.",
"disable_recording_for_guests": "Desactiva l'enregistrament per als convidats",
"enable_automatic_transcription": "Activar la transcripció automàtica després d'unir-se a la reunió",
"video_options": "Opcions de vídeo",
"get_meeting_session_details": "Obtenir detalls de la sessió de reunió",
"meeting_session_details": "Detalls de la sessió de reunió",
"meeting_session": "Sessió de reunió",
"session_id": "ID de sessió",
"max_participants": "Màxim de participants",
"unlimited": "Il·limitat",
"ongoing": "En curs",
"ended": "Finalitzada",
"participants": "Participants",
"anonymous_user": "Usuari anònim",
"session_duration": "Durada de la sessió",
"no_meeting_sessions_found": "No s'han trobat sessions de reunió",
"not_available": "No disponible",
"disable_recording_for_organizer": "Desactiva l'enregistrament per a l'organitzador",
"disable_transcription_for_guests": "Desactivar la transcripció per als convidats",
"disable_transcription_for_organizer": "Desactivar la transcripció per a l'organitzador",
"event_request_declined_recurring": "La teva sol·licitud d'esdeveniment recurrent ha estat rebutjada",
"event_request_cancelled": "El teu esdeveniment programat ha estat cancel·lat",
"event_request_reassigned": "El teu esdeveniment programat ha estat reassignat",
@@ -264,6 +281,8 @@
"guests": "Convidats",
"guest": "Convidat",
"web_conferencing_details_to_follow": "Els detalls de la videoconferència s'enviaran al correu de confirmació.",
"confirmation": "Confirmació",
"what_booker_should_provide": "Què ha de proporcionar la persona que reserva per rebre confirmacions",
"404_the_user": "El nom d'usuari",
"username": "Nom d'usuari",
"is_still_available": "encara està disponible.",
@@ -331,7 +350,7 @@
"organization_general_description": "Gestiona la configuració d'idioma i zona horària del teu equip",
"few_sentences_about_yourself": "Unes quantes frases sobre tu. Això apareixerà a la teva pàgina d'URL personal.",
"nearly_there": "Ja quasi hi som!",
"nearly_there_instructions": "Última cosa, una breu descripció sobre tu i una foto realment ajuden a aconseguir reserves i permeten que la gent sàpiga amb qui estan reservant.",
"nearly_there_instructions": "Última cosa, una breu descripció sobre tu i una foto realment ajuda a aconseguir reserves i permet a les persones saber amb qui estan reservant.",
"set_availability_instructions": "Defineix rangs de temps en què estàs disponible de manera recurrent. Pots crear-ne més després i assignar-los a diferents calendaris.",
"set_availability": "Estableix la teva disponibilitat",
"set_availbility_description": "Estableix horaris per als moments en què vols estar disponible per a reserves.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Connecta el teu calendari",
"connect_your_video_app": "Connecta les teves apps de vídeo",
"connect_your_video_app_instructions": "Connecta les teves apps de vídeo per utilitzar-les als teus tipus d'esdeveniments.",
"connect_your_calendar_instructions": "Connecta el teu calendari per comprovar automàticament les hores ocupades i els nous esdeveniments a mesura que es programin.",
"connect_your_calendar_instructions": "Connecta el teu calendari per comprovar automàticament els horaris ocupats i els nous esdeveniments a mesura que es programen.",
"set_up_later": "Configura-ho més tard",
"current_time": "Hora actual",
"details": "Detalls",
"welcome": "Benvingut/da",
"welcome_back": "Benvingut/da de nou",
"welcome_to_calcom": "Benvingut/da a {{appName}}",
"welcome_instructions": "Digue'ns com vols que t'anomenem i indica'ns la teva zona horària. Ho podràs editar més endavant.",
"welcome_instructions": "Digue'ns com vols que t'anomenem i fes-nos saber en quina zona horària et trobes. Podràs editar això més endavant.",
"connect_caldav": "Connecta amb CalDav (Beta)",
"connect_ics_feed": "Connecta amb un feed ICS",
"connect": "Connecta",
@@ -361,7 +380,7 @@
"when": "Quan",
"where": "On",
"add_to_calendar": "Afegeix al calendari",
"add_to_calendar_description": "Selecciona on vols afegir els esdeveniments quan et reservin.",
"add_to_calendar_description": "Selecciona on afegir esdeveniments quan et reservin.",
"add_events_to": "Afegeix esdeveniments a",
"add_another_calendar": "Afegeix un altre calendari",
"other": "Altres",
@@ -1153,6 +1172,7 @@
"test_failed": "Prova fallida",
"provide_api_key": "Proporciona la clau API",
"api_key_modal_subtitle": "Les claus API et permeten fer crides a l'API pel teu propi compte.",
"api_key_modal_subtitle_platform": "Crea un mercat o plataforma en lloc d'això.",
"api_keys_subtitle": "Genera claus API per accedir al teu propi compte.",
"create_api_key": "Crea una clau API",
"personal_note": "Anomena aquesta clau",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Revocar aquesta clau API",
"disable_rescheduling": "Desactivar reprogramació",
"description_disable_rescheduling": "Els convidats ja no poden reprogramar l'esdeveniment amb la invitació del calendari o el correu electrònic",
"allow_rescheduling_cancelled_bookings": "Permetre reserves a través de l'enllaç de reprogramació",
"description_allow_rescheduling_cancelled_bookings": "Quan està activat, els usuaris podran crear una nova reserva quan intentin reprogramar una reserva cancel·lada",
"disable_cancelling": "Desactivar cancel·lació",
"description_disable_cancelling": "Els convidats ja no poden cancel·lar l'esdeveniment amb la invitació del calendari o el correu electrònic",
"revoke_api_key": "Revocar clau API",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "Les claus API permeten que altres aplicacions es comuniquin amb {{appName}}",
"back_to_signin": "Torna a l'inici de sessió",
"reset_link_sent": "Enllaç de restabliment enviat",
"password_reset_email": "S'ha enviat un correu a {{email}} amb instruccions per restablir la teva contrasenya",
"password_reset_email": "S'ha enviat un correu electrònic a {{email}} amb instruccions per restablir la teva contrasenya.",
"password_reset_leading": "Si no reps un correu aviat, comprova que l'adreça de correu que has introduït és correcta, revisa la carpeta de spam o contacta amb suport si el problema persisteix",
"password_updated": "Contrasenya actualitzada!",
"pending_payment": "Pagament pendent",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Això limitarà la teva disponibilitat per a aquest tipus d'esdeveniment a un espai per dia, programat en el primer horari disponible.",
"limit_total_booking_duration": "Limitar la durada total de les reserves",
"limit_total_booking_duration_description": "Limita el temps total que es pot reservar aquest esdeveniment",
"booker_booking_limit": "Límit de reserves actives per reservant",
"booker_booking_limit_description": "Limita el nombre de reserves actives que un reservant pot fer per a aquest tipus d'esdeveniment",
"recurring_event_doesnt_support_booker_booking_limit": "Els esdeveniments recurrents no admeten el límit de reserves per reservant",
"add_limit": "Afegir límit",
"team_name_required": "El nom de l'equip és obligatori",
"show_attendees": "Compartir informació dels assistents entre els convidats",
"show_available_seats_count": "Mostrar el nombre de places disponibles",
"how_booking_questions_as_variables": "Com utilitzar les preguntes de reserva com a variables?",
"format": "Format",
"questions": "Preguntes",
"all_info_your_booker_provide": "Tota la informació que el teu reservant hauria de proporcionar abans de reservar amb tu.",
"uppercase_for_letters": "Utilitza majúscules per a totes les lletres",
"replace_whitespaces_underscores": "Substitueix els espais en blanc per guions baixos",
"platform_members": "Membres de la plataforma",
@@ -1972,7 +1999,7 @@
"email_no_user_invite_subheading": "{{invitedBy}} t'ha convidat a unir-te al seu equip a {{appName}}. {{appName}} és el programador de reunions que us permet a tu i al teu equip programar trobades sense el ping-pong dels correus electrònics.",
"email_user_invite_subheading_subteam": "{{invitedBy}} t'ha convidat a unir-te a l'equip {{teamName}} de la seva organització {{parentTeamName}} a {{appName}}. {{appName}} és el programador de reunions que us permet a tu i al teu equip programar trobades sense el ping-pong dels correus electrònics.",
"email_user_invite_subheading_org": "{{invitedBy}} t'ha convidat a unir-te a la seva organització {{teamName}} a {{appName}}. {{appName}} és el programador de reunions que us permet a tu i a la teva organització programar trobades sense el ping-pong dels correus electrònics.",
"email_no_user_invite_steps_intro": "Et guiarem a través d'uns breus passos i podràs gaudir de la programació sense estrès amb el teu {{entity}} en poc temps.",
"email_no_user_invite_steps_intro": "Et guiarem a través d'uns breus passos i aviat podràs gaudir de programació sense estrès amb la teva {{entity}}.",
"email_no_user_step_one": "Tria el teu nom d'usuari",
"email_no_user_step_two": "Connecta el teu compte de calendari",
"email_no_user_step_three": "Estableix la teva disponibilitat",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Pren decisions informades amb Insights",
"make_informed_decisions_description": "El nostre tauler d'Insights mostra tota l'activitat del teu equip i et presenta tendències que permeten una millor programació i presa de decisions en equip.",
"view_bookings_across": "Visualitza les reserves de tots els membres",
"view_bookings_across_description": "Comprova qui rep més reserves i assegura la millor distribució entre el teu equip",
"view_bookings_across_description": "Mira qui està rebent més reserves i assegura't de la millor distribució entre el teu equip",
"identify_booking_trends": "Identifica tendències de reserves",
"identify_booking_trends_description": "Descobreix quins dies de la setmana i quines hores del dia són més populars per als teus clients",
"spot_popular_event_types": "Detecta els tipus d'esdeveniments populars",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "No s'han trobat dades per al filtre seleccionat o les dates seleccionades.",
"acknowledge_booking_no_show_fee": "Reconec que si no assisteixo a aquest esdeveniment, s'aplicarà una penalització de {{amount, currency}} a la meva targeta.",
"card_details": "Detalls de la targeta",
"something_went_wrong_on_our_end": "Hi ha hagut un error per la nostra part. Contacta amb el nostre equip de suport i ho solucionarem de seguida.",
"something_went_wrong_on_our_end": "Alguna cosa ha anat malament per la nostra part. Contacta amb el nostre equip de suport i ho solucionarem de seguida per a tu.",
"please_provide_following_text_to_suppport": "Si us plau, proporciona el següent text quan contactis amb suport per ajudar-te millor",
"seats_and_no_show_fee_error": "Actualment no es poden habilitar seients i cobrar una penalització per incompareixença",
"complete_your_booking": "Completa la teva reserva",
@@ -2276,7 +2303,7 @@
"messaging": "Missatgeria",
"sender_id_info": "Nom o número que es mostra com a remitent d'un SMS (alguns països no permeten IDs alfanumèrics)",
"org_admins_can_create_new_teams": "Només l'administrador de la vostra organització pot crear nous equips",
"google_new_spam_policy": "La nova política de spam de Google podria impedir que rebeu correus electrònics i notificacions de calendari sobre aquesta reserva.",
"google_new_spam_policy": "La nova política de spam de Google podria impedir que rebis correus electrònics i notificacions de calendari sobre aquesta reserva.",
"resolve": "Resoldre",
"no_organization_slug": "Hi ha hagut un error en crear els equips per a aquesta organització. Falta l'slug de l'URL.",
"copy_link_org": "Copiar l'enllaç de l'organització",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "La credencial de delegació us permet gestionar l'accés als calendaris de Google Workspace per a la vostra organització.",
"add_client_id_in_google_workspace_with_below_scope": "Afegiu aquest ID de client a Google Workspace amb l'abast següent",
"delegation_credential_enabled": "Credencial de delegació activada",
"delegation_credential_disabled": "Credencial de delegació desactivada",
"add_delegation_credential": "Afegir credencial de delegació",
"edit_delegation_credential": "Editar credencial de delegació",
"domain": "Domini",
@@ -2582,7 +2608,7 @@
"date": "Data",
"overlaps_with_existing_schedule": "Això es solapa amb un horari existent. Si us plau, selecciona una data diferent.",
"org_admin_no_slots|heading": "No s'ha trobat disponibilitat per a {{name}}",
"org_admin_no_slots|content": "Hola administradors de l'organització,<br /><br />Tingueu en compte: Hem detectat que {{username}} no ha tingut disponibilitat quan un usuari ha visitat {{username}}/{{slug}}<br /><br />Hi ha diversos motius pels quals això pot passar:<br />L'usuari no té cap calendari connectat<br />Els seus horaris vinculats a aquest esdeveniment no estan activats<br /><br />Recomanem revisar la seva disponibilitat per resoldre-ho.",
"org_admin_no_slots|content": "Hola Administradors de l'Organització,<br /><br />Tingueu en compte: S'ha portat a la nostra atenció que {{username}} no ha tingut disponibilitat quan un usuari ha visitat {{username}}/{{slug}}<br /><br />Hi ha algunes raons per les quals això podria estar passant<br />L'usuari no té cap calendari connectat<br />Els seus horaris adjunts a aquest esdeveniment no estan activats<br /> <br />Recomanem comprovar la seva disponibilitat per resoldre això.",
"org_admin_no_slots|cta": "Obre la disponibilitat dels usuaris",
"organization_no_slots_notification_switch_title": "Rep notificacions quan el teu equip no tingui disponibilitat",
"organization_no_slots_notification_switch_description": "Els administradors rebran notificacions per correu electrònic quan un usuari intenti reservar amb un membre de l'equip i es trobi amb 'Sense disponibilitat'. Activem aquest correu després de dues ocurrències i t'ho recordem cada 7 dies per usuari.",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "{{user}} t'ha convidat a unir-te a l'organització {{team}} a {{appName}}",
"email_team_invite|subject|added_to_subteam": "{{user}} t'ha afegit a l'equip {{team}} de l'organització {{parentTeamName}} a {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "{{user}} t'ha convidat a unir-te a l'equip {{team}} a {{appName}}",
"email_team_invite|heading|added_to_org": "T'han afegit a una organització de {{appName}}",
"email_team_invite|heading|invited_to_org": "T'han convidat a una organització de {{appName}}",
"email_team_invite|heading|added_to_subteam": "T'han afegit a un equip de l'organització {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "T'han convidat a un equip de l'organització {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "T'han convidat a unir-te a un equip de {{appName}}",
"email_team_invite|heading|added_to_org": "Has estat afegit a una organització de {{appName}}",
"email_team_invite|heading|invited_to_org": "Has estat convidat a una organització de {{appName}}",
"email_team_invite|heading|added_to_subteam": "Has estat afegit a un equip de l'organització {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Has estat convidat a un equip de l'organització {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "Has estat convidat a unir-te a un equip de {{appName}}",
"email_team_invite|content|added_to_org": "{{invitedBy}} t'ha afegit a l'organització <strong>{{teamName}}</strong>.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} t'ha convidat a unir-te a l'organització {{teamName}}.",
"email_team_invite|subject|invited_to_subteam": "{{user}} t'ha convidat a unir-te a l'equip {{team}} de l'organització {{parentTeamName}} a {{appName}}",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Limita quantes vegades els membres poden ser reservats en tots els tipus d'esdeveniments d'equip",
"booking_limits_updated_successfully": "Límits de reserva actualitzats correctament",
"you_are_unauthorized_to_make_this_change_to_the_booking": "No estàs autoritzat per fer aquest canvi a la reserva",
"delegation_credential_disabled": "Credencial de delegació desactivada",
"matching_members": "Membres coincidents",
"x_matching_members": "{{x}} membres coincidents",
"matching_members_queue_using_attribute_weights": "Cua de membres coincidents (utilitzant pesos d'atributs)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Sí, reassignar",
"filter_by_attributes": "Filtra per atributs",
"reassign_reason": "Motiu de la reassignació",
"field_type_change_suggestion": "Canviar el tipus de camp pot causar pèrdua de dades. Si us plau, crea un nou camp en lloc d'això.",
"reassigned_by": "Reassignat per",
"row": "fila",
"rows": "files",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Redirigit a per període",
"per_day": "Per dia",
"per_week": "Per setmana",
"per_month": "al mes",
"per_month": "Per mes",
"routing_form_insights_assignment_reason": "Motiu d'assignació",
"access_denied": "Accés denegat",
"salesforce_route_to_owner": "El propietari del contacte serà l'amfitrió del Round Robin si està disponible",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "No teniu permís per crear una organització per a aquest correu electrònic",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "No teniu permís per migrar un o més dels equips",
"organization_has_subscription_already": "L'organització ja té una subscripció",
"reset_interval_weighted_rr": "Restableix l'interval per a Round Robin ponderat",
"interval": "Interval",
"rr_reset_interval_description": "Determina amb quina freqüència es reinicia el comptador de reserves del round robin per assegurar una distribució equilibrada.",
"daily": "Diàriament",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Ja hi ha una redirecció inversa entre aquests usuaris.",
"previous_ooo_empty_title": "No s'ha trobat cap OOO anterior",
"previous": "Anterior",
"rr_interval_successfully_updated": "Interval de Round Robin actualitzat correctament",
"trial_mode": "Mode de prova",
"inactive_team_plan": "Pla d'equip inactiu",
"inactive_team_plan_description": "El teu pla d'equip està inactiu. Comprova la teva subscripció o contacta amb el suport al client",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Encara no tens cap equip",
"no_team_members": "Encara no tens membres a l'equip",
"recurring_event_doesnt_support_seats": "Els esdeveniments recurrents no admeten la funció de seients. Feu-lo no recurrent per habilitar els seients.",
"booking_limit_per_booker_doesnt_support_recurring": "L'esdeveniment recurrent no admet la funció de límit de reserves per reservant. Desactiva el límit de reserves per reservant per habilitar l'esdeveniment recurrent.",
"seats_doesnt_support_recurring": "La funció de seients no admet esdeveniments recurrents. Desactiveu la funció de seients per fer-lo recurrent.",
"recurring_event_seats_error": "Els esdeveniments recurrents no admeten la funció de seients. Desactiveu la funció de seients o feu que l'esdeveniment no sigui recurrent.",
"segment": "Segment",
@@ -3202,10 +3233,131 @@
"matching": "Coincidència",
"event_redirect": "Redirecció d'esdeveniments",
"reset_form": "Restablir formulari",
"rr_settings_successfully_updated": "Configuració de Round Robin actualitzada correctament",
"distribution_basis_weighted_rr": "Base de distribució per a Round Robin ponderat",
"timestamp_basis_description": "Determina quina marca de temps de l'esdeveniment s'utilitza com a base per a la distribució ponderada de round robin.",
"requires_credits": "Requereix crèdits",
"requires_credits_tooltip": "Necessites tenir suficients crèdits al teu compte per utilitzar aquesta funcionalitat",
"available_credits": "Crèdits disponibles",
"create_role": "Crea un rol",
"roles_and_permissions": "Rols i permisos",
"roles_and_permissions_description": "Gestiona els rols i permisos per a la teva organització",
"learn_more_permissions": "Aprèn més sobre com funcionen els permisos",
"role_name": "Nom del rol",
"role_name_placeholder": "p. ex. Equip de vendes, Personal de suport",
"role_description": "Descripció del rol",
"role_description_placeholder": "Descriu per a què serveix aquest rol i quins permisos necessita",
"default_role": "Rol predeterminat",
"custom_role": "Rol personalitzat",
"advanced": "Avançat",
"search_permissions": "Cerca permisos",
"all_permissions": "Tots els permisos",
"none": "Cap",
"read_only": "Només lectura",
"pbac_desc_all_actions_all_resources": "Totes les accions en tots els recursos",
"pbac_resource_all": "Tots els recursos",
"pbac_resource_event_type": "Tipus d'esdeveniments",
"pbac_resource_team": "Equips",
"pbac_resource_organization": "Organització",
"pbac_resource_booking": "Reserves",
"pbac_resource_insights": "Estadístiques",
"pbac_resource_role": "Rols",
"pbac_action_all": "Totes les accions",
"pbac_action_create": "Crear",
"pbac_action_read": "Veure",
"pbac_action_update": "Editar",
"pbac_action_delete": "Eliminar",
"pbac_action_manage": "Gestionar",
"pbac_action_invite": "Convidar",
"pbac_action_remove": "Eliminar",
"pbac_action_change_member_role": "Canviar rol de membre",
"pbac_action_list_members": "Llistar membres",
"pbac_action_manage_billing": "Gestionar facturació",
"pbac_action_read_team_bookings": "Veure reserves d'equip",
"pbac_action_read_org_bookings": "Veure reserves d'organització",
"pbac_action_read_recordings": "Veure enregistraments",
"role_created_successfully": "Rol creat correctament",
"role_updated_successfully": "Rol actualitzat correctament",
"delete_role": "Eliminar rol",
"confirm_delete_role": "Estàs segur que vols eliminar aquest rol? Aquesta acció no es pot desfer.",
"role_deleted_successfully": "Rol eliminat correctament",
"error_creating_role": "Error en crear el rol",
"error_updating_role": "Error en actualitzar el rol",
"pbac_desc_create_roles": "Crear rols",
"pbac_desc_view_roles": "Veure rols",
"pbac_desc_update_roles": "Actualitzar rols",
"pbac_desc_delete_roles": "Eliminar rols",
"pbac_desc_manage_roles": "Totes les accions sobre rols",
"pbac_desc_create_event_types": "Crear tipus d'esdeveniments",
"pbac_desc_view_event_types": "Veure tipus d'esdeveniments",
"pbac_desc_update_event_types": "Actualitzar tipus d'esdeveniments",
"pbac_desc_delete_event_types": "Eliminar tipus d'esdeveniments",
"pbac_desc_manage_event_types": "Totes les accions sobre tipus d'esdeveniments",
"pbac_desc_create_teams": "Crear equips",
"pbac_desc_view_team_details": "Veure detalls de l'equip",
"pbac_desc_update_team_settings": "Actualitzar configuració de l'equip",
"pbac_desc_delete_team": "Eliminar equip",
"pbac_desc_invite_team_members": "Convidar membres a l'equip",
"pbac_desc_remove_team_members": "Eliminar membres de l'equip",
"pbac_desc_change_team_member_role": "Canviar el rol dels membres de l'equip",
"pbac_desc_manage_teams": "Totes les accions sobre equips",
"pbac_desc_create_organization": "Crear organització",
"pbac_desc_view_organization_details": "Veure detalls de l'organització",
"pbac_desc_list_organization_members": "Llistar membres de l'organització",
"pbac_desc_invite_organization_members": "Convidar membres a l'organització",
"pbac_desc_remove_organization_members": "Eliminar membres de l'organització",
"pbac_desc_manage_organization_billing": "Gestionar la facturació de l'organització",
"pbac_desc_change_organization_member_role": "Canviar el rol dels membres de l'organització",
"pbac_desc_edit_organization_settings": "Editar configuració de l'organització",
"pbac_desc_manage_organizations": "Totes les accions sobre organitzacions",
"pbac_desc_view_bookings": "Veure reserves",
"pbac_desc_view_team_bookings": "Veure reserves d'equip",
"pbac_desc_view_organization_bookings": "Veure reserves de l'organització",
"pbac_desc_view_booking_recordings": "Veure enregistraments de reserves",
"pbac_desc_update_bookings": "Actualitzar reserves",
"pbac_desc_manage_bookings": "Totes les accions sobre reserves",
"pbac_desc_view_team_insights": "Veure estadístiques d'equip",
"pbac_desc_manage_team_insights": "Gestionar estadístiques d'equip",
"read_permission_auto_enabled_tooltip": "El permís de lectura s'activa automàticament quan es crea, actualitza o elimina un recurs",
"choose_restriction_schedule": "Afegir horari de restricció",
"choose_restriction_schedule_description": "Activeu aquesta opció si voleu restringir la disponibilitat dels amfitrions per a aquest tipus d'esdeveniment segons un horari de restricció. Això només elimina els espais que no estan a l'horari de restricció, no afegeix cap espai nou.",
"use_booker_timezone": "Utilitzar la zona horària del reservant",
"use_booker_timezone_info": "Aplicar l'horari de restricció seleccionat a la zona horària del reservant",
"load_balancing_warning": "Això desactivarà l'equilibri de càrrega en tots els vostres tipus d'esdeveniments round robin",
"rr_load_balancing_disabled": "L'equilibri de càrrega només està disponible quan la base de temps està configurada com a Moment de creació de la reserva",
"round_robin_settings_description": "Personalitza la configuració predeterminada de round robin per a aquest equip",
"round_robin_settings_updated_successfully": "Configuració de Round Robin actualitzada correctament",
"booking_creation_time": "Hora de creació de la reserva",
"meeting_start_time": "Hora d'inici de la reunió",
"members_affected_by_disabling_delegation_credential": "Membres afectats",
"no_members_affected_by_disabling_delegation_credential": "Cap membre afectat per la desactivació de la credencial de delegació",
"download_expense_log": "Descarrega el registre de despeses",
"error_downloading_expense_log": "Error en descarregar el registre de despeses",
"offer_to_reschedule_last_booking": "Ofereix reprogramar l'última reserva activa a la franja horària escollida",
"booker_limit_exceeded_error": "S'ha excedit el límit màxim de reserves actives del reservant",
"booker_limit_exceeded_error_reschedule": "Ja tens una reserva per a aquest esdeveniment el {{date}}. Vols reprogramar-la a la nova hora seleccionada?",
"duration_min_error": "La durada ha de ser d'almenys {{min}} minut(s)",
"duration_max_error": "La durada no pot superar els {{max}} minuts (24 hores)",
"booking_not_allowed_by_restriction_schedule_error": "Reserva fora de la disponibilitat de l'horari de restricció.",
"restriction_schedule_not_found_error": "No s'ha trobat l'horari de restricció",
"converted_image_size_limit_exceed": "S'ha excedit el límit de mida de la imatge, si us plau, utilitza una imatge més petita preferiblement en format JPEG",
"license_key": "Clau de llicència",
"license_selection_title": "Tria la teva llicència",
"license_selection_description": "Selecciona com vols llicenciar la teva implementació de Cal.com",
"agplv3_license_description": "Utilitza Cal.com sota la llicència de codi obert AGPLv3",
"enter_license_key": "Introdueix la clau de llicència",
"enter_your_license_key": "Accés a totes les funcionalitats empresarials",
"enter_existing_license": "A partir de 15 $/usuari al mes",
"enter_license_key_description": "Accés a totes les funcionalitats empresarials",
"license_key_placeholder": "Introdueix la teva clau de llicència",
"save_license_key": "Desa la clau de llicència",
"signature_token_optional": "Token de signatura (opcional)",
"signature_token_description": "El token de signatura s'utilitza per verificar que la clau de llicència és vostra quan s'incrementa la facturació basada en l'ús. El podeu trobar al correu electrònic de confirmació de compra. Si teniu una llicència antiga, podeu deixar-ho en blanc.",
"need_a_license": "Necessiteu una llicència?",
"license_key_required": "Es requereix una clau de llicència",
"invalid_license_key": "Clau de llicència no vàlida",
"license_validation_failed": "No s'ha pogut validar la clau de llicència",
"license_key_saved": "Clau de llicència desada correctament",
"timezone_mismatch_tooltip": "Esteu veient l'informe basat en la zona horària del vostre perfil ({{userTimezone}}), mentre que el vostre navegador està configurat a la zona horària ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Afegiu les vostres noves cadenes a dalt ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+171 -19
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Přizpůsobit nastavení Cal Video",
"calvideo_settings_description": "Nakonfigurujte preference videoschůzek včetně oprávnění k nahrávání pro hostitele a účastníky.",
"disable_recording_for_guests": "Zakázat nahrávání pro hosty",
"enable_automatic_transcription": "Povolit automatický přepis po připojení k jednání",
"video_options": "Možnosti videa",
"get_meeting_session_details": "Získat podrobnosti o jednání",
"meeting_session_details": "Podrobnosti o jednání",
"meeting_session": "Jednání",
"session_id": "ID jednání",
"max_participants": "Maximální počet účastníků",
"unlimited": "Neomezeno",
"ongoing": "Probíhající",
"ended": "Ukončeno",
"participants": "Účastníci",
"anonymous_user": "Anonymní uživatel",
"session_duration": "Délka jednání",
"no_meeting_sessions_found": "Nebyla nalezena žádná jednání",
"not_available": "Není k dispozici",
"disable_recording_for_organizer": "Zakázat nahrávání pro organizátora",
"disable_transcription_for_guests": "Zakázat přepis pro hosty",
"disable_transcription_for_organizer": "Zakázat přepis pro organizátora",
"event_request_declined_recurring": "Žádost o opakovanou událost byla zamítnuta",
"event_request_cancelled": "Vaše plánovaná událost byla zrušena",
"event_request_reassigned": "Vaše naplánovaná událost byla přeřazena",
@@ -264,6 +281,8 @@
"guests": "Hosté",
"guest": "Host",
"web_conferencing_details_to_follow": "Podrobnosti k videohovoru, které je třeba následovat.",
"confirmation": "Potvrzení",
"what_booker_should_provide": "Co by měl váš rezervující poskytnout pro získání potvrzení",
"404_the_user": "Uživatelské jméno",
"username": "Uživatelské jméno",
"is_still_available": "je stále dostupný.",
@@ -331,7 +350,7 @@
"organization_general_description": "Správa nastavení jazyka a časového pásma vašeho týmu",
"few_sentences_about_yourself": "Pár vět o vás. Budou se zobrazovat na URL vaší osobní stránky.",
"nearly_there": "Téměř hotovo!",
"nearly_there_instructions": "Poslední věc... pár slov o vás a fotografie vám pomůžou získat rezervace a lidi aspoň budou vědět, koho si rezervují.",
"nearly_there_instructions": "Poslední věc, stručný popis o vás a fotografie opravdu pomáhají získat rezervace a dát lidem vědět, s kým si schůzku domlouvají.",
"set_availability_instructions": "Určete si časové intervaly, kdy jste pravidelně dostupní. Později můžete vytvořit další a přiřadit je různým kalendářům.",
"set_availability": "Nastavte, jak jste dostupní",
"set_availbility_description": "Nastavte si rozvrhy pro časy, kdy chcete být rezervováni.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Připojit svůj kalendář",
"connect_your_video_app": "Propojte své video aplikace",
"connect_your_video_app_instructions": "Propojte své video aplikace a používejte je ve svých typech událostí.",
"connect_your_calendar_instructions": "Připojit kalendář pro automatickou kontrolu časů, kdy nejste dostupní, a nově naplánovaných událostí.",
"connect_your_calendar_instructions": "Připojte svůj kalendář pro automatickou kontrolu obsazených časů a nových událostí, jakmile jsou naplánovány.",
"set_up_later": "Zprovoznit později",
"current_time": "Aktuální čas",
"details": "Podrobnosti",
"welcome": "Vítejte",
"welcome_back": "Vítejte zpět",
"welcome_to_calcom": "Vítejte na webu {{appName}}",
"welcome_instructions": "Řekněte nám vaše jméno a v jaké časové zóně se pohybujete. Později můžete tyto informace změnit.",
"welcome_instructions": "Řekněte nám, jak vás máme oslovovat a v jakém časovém pásmu se nacházíte. Tyto údaje budete moci později upravit.",
"connect_caldav": "Připojit se k CalDav (Beta)",
"connect_ics_feed": "Připojit k ICS feedu",
"connect": "Připojit",
@@ -361,7 +380,7 @@
"when": "Kdy",
"where": "Kde",
"add_to_calendar": "Přidat do kalendáře",
"add_to_calendar_description": "Vyberte, kam se mají přidávat události, pokud jste zarezervováni.",
"add_to_calendar_description": "Vyberte, kam přidávat události, když jste rezervováni.",
"add_events_to": "Přidat události do",
"add_another_calendar": "Přidat další kalendář",
"other": "Ostatní",
@@ -1153,6 +1172,7 @@
"test_failed": "Test se nezdařil",
"provide_api_key": "Zadejte klíč API",
"api_key_modal_subtitle": "Klíče API vám umožňují provádět volání API pro váš vlastní účet.",
"api_key_modal_subtitle_platform": "Vytvořte místo toho tržiště nebo platformu.",
"api_keys_subtitle": "Generovat API klíče pro přístup k vašemu vlastnímu účtu.",
"create_api_key": "Vytvořit klíč API",
"personal_note": "Pojmenovat tento klíč",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Odvolat tento klíč API",
"disable_rescheduling": "Zakázat změnu termínu",
"description_disable_rescheduling": "Hosté již nemohou změnit termín události pomocí pozvánky v kalendáři nebo e-mailu",
"allow_rescheduling_cancelled_bookings": "Povolit rezervaci prostřednictvím odkazu na změnu termínu",
"description_allow_rescheduling_cancelled_bookings": "Pokud je povoleno, uživatelé budou moci vytvořit novou rezervaci při pokusu o přeplánování zrušené rezervace",
"disable_cancelling": "Zakázat rušení",
"description_disable_cancelling": "Hosté již nemohou zrušit událost pomocí pozvánky v kalendáři nebo e-mailu",
"revoke_api_key": "Odvolat klíč API",
@@ -1613,7 +1635,7 @@
"workflow_example_6": "Odeslat hostiteli vlastní SMS, pokud je rezervována nová událost",
"count_managed_to_limit": "Zahrnout počty rezervací ze spravovaných typů událostí",
"welcome_to_cal_header": "Vítá vás {{appName}}!",
"edit_form_later_subtitle": "Toto budete moci upravit později.",
"edit_form_later_subtitle": "Toto budete moci později upravit.",
"connect_calendar_later": "Připojím svůj kalendář později",
"problem_saving_user_profile": "Při ukládání vašich údajů došlo k problému. Zkuste to prosím znovu, případně se obraťte na zákaznickou podporu.",
"purchase_missing_seats": "Koupit chybějící místa",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "Klíče API umožňují ostatním aplikacím komunikovat se službou {{appName}}",
"back_to_signin": "Zpět na přihlášení",
"reset_link_sent": "Odkaz pro obnovení byl odeslán",
"password_reset_email": "E-mail s pokyny k obnovení hesla byl zaslán na adresu {{email}}.",
"password_reset_email": "E-mail s pokyny k obnovení hesla byl odeslán na adresu {{email}}.",
"password_reset_leading": "Pokud brzy neobdržíte e-mail, zkontrolujte, zda je zadaná e-mailová adresa správná, dále složku nevyžádané pošty nebo se obraťte na podporu, pokud problém přetrvává.",
"password_updated": "Heslo bylo úspěšně změněno!",
"pending_payment": "Čeká se na platbu",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Tímto omezíte svou dostupnost pro tento typ události na jeden časový slot denně, naplánovaný na nejbližší dostupný čas.",
"limit_total_booking_duration": "Omezení celkové doby trvání rezervace",
"limit_total_booking_duration_description": "Omezení celkové doby, po kterou je možné tuto událost rezervovat",
"booker_booking_limit": "Limit aktivních rezervací pro rezervujícího",
"booker_booking_limit_description": "Omezit počet aktivních rezervací, které může rezervující provést pro tento typ události",
"recurring_event_doesnt_support_booker_booking_limit": "Opakující se události nepodporují limit rezervací pro rezervujícího",
"add_limit": "Přidat limit",
"team_name_required": "Je vyžadován název týmu",
"show_attendees": "Sdílet informace o účastnících",
"show_available_seats_count": "Zobrazení počtu volných míst",
"how_booking_questions_as_variables": "Jak používat rezervační otázky jako proměnné?",
"format": "Formát",
"questions": "Otázky",
"all_info_your_booker_provide": "Všechny informace, které by měl rezervující poskytnout před rezervací u vás.",
"uppercase_for_letters": "Použít velká písmena pro všechna písmena",
"replace_whitespaces_underscores": "Nahradit mezery podtržítky",
"platform_members": "Členové platformy",
@@ -1915,7 +1942,7 @@
"new_attendee": "Nový účastník",
"awaiting_approval": "Čeká na schválení",
"requires_google_calendar": "Tato aplikace vyžaduje připojení ke Kalendáři Google",
"event_type_requires_google_calendar": "Pro fungování Meet musí být \"Přidat do kalendáře\" pro tento typ události nastaven na Google Kalendář. Připojte jej <0>zde</0>.",
"event_type_requires_google_calendar": "Pro fungování služby Meet musí být \"Přidat do kalendáře\" pro tento typ události Kalendář Google. Připojte jej <0>zde</0>.",
"connected_google_calendar": "Připojili jste účet Kalendáře Google.",
"using_meet_requires_calendar": "Používání služby Google Meet vyžaduje připojení Kalendáře Google",
"continue_to_install_google_calendar": "Pokračovat v instalaci Kalendáře Google",
@@ -1967,12 +1994,12 @@
"delete_sso_configuration_confirmation_description": "Opravdu chcete odstranit konfiguraci {{connectionType}}? Členové vašeho týmu, kteří používají přihlášení {{connectionType}}, ztratí přístup k webu Cal.com.",
"organizer_timezone": "Časové pásmo organizátora",
"email_user_cta": "Zobrazit pozvánku",
"email_no_user_invite_heading_subteam": "Byli jste pozváni, abyste se připojili k týmu organizace {{parentTeamName}}",
"email_no_user_invite_heading_org": "Byli jste pozváni do organizace {{appName}}",
"email_no_user_invite_heading_subteam": "Byli jste pozváni k připojení do týmu organizace {{parentTeamName}}",
"email_no_user_invite_heading_org": "Byli jste pozváni k připojení do organizace {{appName}}",
"email_no_user_invite_subheading": "Uživatel {{invitedBy}} vás pozval, abyste se připojili k jeho týmu v aplikaci {{appName}}. {{appName}} je plánovač událostí, který vám a vašemu týmu umožňuje plánovat schůzky bez e-mailového ping-pongu.",
"email_user_invite_subheading_subteam": "{{invitedBy}} vás pozval(a) k připojení k týmu {{teamName}} v jejich organizaci {{parentTeamName}} na {{appName}}. {{appName}} je plánovač událostí, který vám a vašemu týmu umožňuje plánovat schůzky bez zbytečných e-mailů.",
"email_user_invite_subheading_org": "Uživatel {{invitedBy}} vás pozval, abyste se připojili k týmu {{teamName}} jeho organizace v aplikaci {{appName}}. {{appName}} je plánovač událostí, který vám a vaší organizaci umožňuje plánovat schůzky bez e-mailového pingpongu.",
"email_no_user_invite_steps_intro": "Provedeme vás několika krátkými kroky a za malou chvíli si budete se svým subjektem {{entity}} užívat plánování bez stresu.",
"email_no_user_invite_steps_intro": "Provedeme vás několika krátkými kroky a brzy si budete užívat plánování bez stresu se svým {{entity}}.",
"email_no_user_step_one": "Vyberte si uživatelské jméno",
"email_no_user_step_two": "Připojte svůj účet kalendáře",
"email_no_user_step_three": "Nastavte si dostupnost",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Rozhodujte se na základě informací pomocí funkce Insights",
"make_informed_decisions_description": "Náš panel Insights zobrazuje všechny aktivity vašeho týmu a trendy, které v rámci týmu umožňují lepší plánování a rozhodování.",
"view_bookings_across": "Zobrazení rezervací všech členů",
"view_bookings_across_description": "Podívejte se, kdo přijímá nejvíce rezervací, a zajistěte co nejlepší rozložení v rámci celého týmu",
"view_bookings_across_description": "Zjistěte, kdo získává nejvíce rezervací, a zajistěte nejlepší distribuci napříč vaším týmem",
"identify_booking_trends": "Identifikujte trendy v rezervacích",
"identify_booking_trends_description": "Zjistěte, které části týdne a které časy během dne jsou u vašich rezervací oblíbené",
"spot_popular_event_types": "Identifikujte oblíbené typy událostí",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "Pro vybraný filtr nebo vybraná data nebyla nalezena žádná data.",
"acknowledge_booking_no_show_fee": "Beru na vědomí, že pokud se této události nezúčastním, bude z mé karty stržen poplatek za nedostavení se ve výši {{amount, currency}}.",
"card_details": "Údaje o kartě",
"something_went_wrong_on_our_end": "Na naší straně se něco pokazilo. Spojte se s naší podporou a hned to napravíme.",
"something_went_wrong_on_our_end": "Na naší straně došlo k chybě. Kontaktujte náš tým podpory a my to pro vás co nejdříve opravíme.",
"please_provide_following_text_to_suppport": "Při kontaktování podpory uveďte v zájmu lepší efektivity následující",
"seats_and_no_show_fee_error": "V současné době nelze povolit místa a strhnout poplatek za nedostavení se",
"complete_your_booking": "Dokončete svou rezervaci",
@@ -2276,7 +2303,7 @@
"messaging": "Zasílání zpráv",
"sender_id_info": "Jméno nebo číslo zobrazené jako odesílatel SMS (některé země nepovolují alfanumerické ID odesílatele)",
"org_admins_can_create_new_teams": "Nové týmy může vytvářet pouze správce vaší organizace",
"google_new_spam_policy": "Nové zásady společnosti Google týkající se nevyžádané pošty by mohly zabránit tomu, abyste dostávali e-mailová oznámení a oznámení kalendáře o této rezervaci.",
"google_new_spam_policy": "Nová politika Googlu proti spamu by vám mohla zabránit v přijímání e-mailových a kalendářových oznámení o této rezervaci.",
"resolve": "Vyřešit",
"no_organization_slug": "Při vytváření týmů pro tuto organizaci došlo k chybě. Chybějící slug adresy URL.",
"copy_link_org": "Zkopírovat odkaz na organizaci",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "Delegované pověření vám umožňuje spravovat přístup ke kalendářům Google Workspace pro vaši organizaci.",
"add_client_id_in_google_workspace_with_below_scope": "Přidejte toto Client ID do Google Workspace s následujícím rozsahem oprávnění",
"delegation_credential_enabled": "Delegované pověření povoleno",
"delegation_credential_disabled": "Delegované pověření zakázáno",
"add_delegation_credential": "Přidat delegované pověření",
"edit_delegation_credential": "Upravit delegované pověření",
"domain": "Doména",
@@ -2582,7 +2608,7 @@
"date": "Datum",
"overlaps_with_existing_schedule": "Toto se překrývá s existujícím rozvrhem. Vyberte prosím jiné datum.",
"org_admin_no_slots|heading": "Nebyly nalezeny žádné dostupné termíny pro {{name}}",
"org_admin_no_slots|content": "Dobrý den, administrátoři organizace,<br /><br />Upozorňujeme, že {{username}} neměl žádné dostupné termíny, když uživatel navštívil {{username}}/{{slug}}<br /><br />Existuje několik důvodů, proč se to může stát:<br />Uživatel nemá připojené žádné kalendáře<br />Jejich rozvrhy připojené k této události nejsou povoleny<br /> <br />Doporučujeme zkontrolovat jejich dostupnost, aby se tento problém vyřešil.",
"org_admin_no_slots|content": "Dobrý den, administrátoři organizace,<br /><br />Upozorňujeme: Bylo nám oznámeno, že {{username}} neměl žádnou dostupnost, když uživatel navštívil {{username}}/{{slug}}<br /><br />Může to být způsobeno několika důvody<br />Uživatel nemá připojené žádné kalendáře<br />Jejich rozvrhy připojené k této události nejsou povoleny<br /> <br />Doporučujeme zkontrolovat jejich dostupnost k vyřešení tohoto problému.",
"org_admin_no_slots|cta": "Otevřít dostupnost uživatelů",
"organization_no_slots_notification_switch_title": "Dostávejte upozornění, když váš tým nemá žádnou dostupnost",
"organization_no_slots_notification_switch_description": "Administrátoři budou dostávat e-mailová upozornění, když se uživatel pokusí rezervovat člena týmu a zjistí, že není žádná dostupnost. Tento e-mail spustíme po dvou výskytech a připomeneme vám to každých 7 dní na uživatele.",
@@ -2594,8 +2620,8 @@
"email_team_invite|subject|invited_to_regular_team": "{{user}} vás pozval, abyste se připojili k týmu {{team}} na {{appName}}",
"email_team_invite|heading|added_to_org": "Byli jste přidáni do organizace {{appName}}",
"email_team_invite|heading|invited_to_org": "Byli jste pozváni do organizace {{appName}}",
"email_team_invite|heading|added_to_subteam": "Byli jste přidáni do týmu v organizaci {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Byli jste pozváni do týmu v organizaci {{parentTeamName}}",
"email_team_invite|heading|added_to_subteam": "Byli jste přidáni do týmu organizace {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Byli jste pozváni do týmu organizace {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "Byli jste pozváni do týmu {{appName}}",
"email_team_invite|content|added_to_org": "{{invitedBy}} vás přidal(a) do organizace <strong>{{teamName}}</strong>.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} vás pozval(a) k připojení do organizace {{teamName}}.",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Omezit, kolikrát mohou být členové rezervováni napříč všemi týmovými typy událostí",
"booking_limits_updated_successfully": "Limity rezervací byly úspěšně aktualizovány",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Nemáte oprávnění provést tuto změnu v rezervaci",
"delegation_credential_disabled": "Delegované pověření zakázáno",
"matching_members": "Odpovídající členové",
"x_matching_members": "{{x}} odpovídajících členů",
"matching_members_queue_using_attribute_weights": "Fronta přiřazování členů (podle vah atributů)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Ano, přeřadit",
"filter_by_attributes": "Filtrovat podle atributů",
"reassign_reason": "Důvod přeřazení",
"field_type_change_suggestion": "Změna typu pole může způsobit ztrátu dat. Místo toho prosím vytvořte nové pole.",
"reassigned_by": "Přeřazeno kým",
"row": "řádek",
"rows": "řádky",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Přesměrováno za období",
"per_day": "Za den",
"per_week": "Za týden",
"per_month": "za měsíc",
"per_month": "Za měsíc",
"routing_form_insights_assignment_reason": "Důvod přiřazení",
"access_denied": "Přístup odepřen",
"salesforce_route_to_owner": "Vlastník kontaktu bude hostem Round Robin, pokud je k dispozici",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Nemáte oprávnění vytvořit organizaci pro tento e-mail",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Nemáte oprávnění migrovat jeden nebo více týmů",
"organization_has_subscription_already": "Organizace již má předplatné",
"reset_interval_weighted_rr": "Interval resetování pro vážený Round Robin",
"interval": "Interval",
"rr_reset_interval_description": "Určuje, jak často se resetuje počet rezervací v systému round robin pro zajištění vyváženého rozdělení.",
"daily": "Denně",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Mezi těmito uživateli již existuje zpětné přesměrování.",
"previous_ooo_empty_title": "Nenalezeno žádné předchozí OOO",
"previous": "Předchozí",
"rr_interval_successfully_updated": "Interval Round Robin byl úspěšně aktualizován",
"trial_mode": "Zkušební režim",
"inactive_team_plan": "Neaktivní týmový plán",
"inactive_team_plan_description": "Váš týmový plán je neaktivní. Zkontrolujte své předplatné nebo kontaktujte zákaznickou podporu",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Zatím nemáte žádný tým",
"no_team_members": "Zatím nemáte žádné členy týmu",
"recurring_event_doesnt_support_seats": "Opakující se událost nepodporuje funkci míst. Změňte ji na neopakující se pro povolení míst.",
"booking_limit_per_booker_doesnt_support_recurring": "Opakující se událost nepodporuje funkci limitu rezervací na jednoho rezervujícího. Zakažte limit rezervací na jednoho rezervujícího pro povolení opakujících se událostí.",
"seats_doesnt_support_recurring": "Funkce míst nepodporuje opakující se události. Zakažte funkci míst pro vytvoření opakující se události.",
"recurring_event_seats_error": "Opakující se událost nepodporuje funkci míst. Zakažte funkci míst nebo změňte událost na neopakující se.",
"segment": "Segment",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Povolit delegované pověření",
"enable_delegation_credential_description": "Udělte Cal.com automatický přístup ke kalendářům všech členů organizace povolením delegovaného pověření.",
"disable_delegation_credential": "Zakázat delegované pověření",
"disable_delegation_credential_description": "Jakmile je delegované pověření zakázáno, členové organizace, kteří nepropojili své kalendáře, to budou muset udělat ručně.",
"disable_delegation_credential_description": "Jakmile je pověření k delegování zakázáno, členové organizace, kteří nepropojili své kalendáře, to budou muset udělat ručně.",
"last_active": "Naposledy aktivní",
"member_since": "Členem od",
"last_updated": "Naposledy aktualizováno",
@@ -3202,10 +3233,131 @@
"matching": "Odpovídající",
"event_redirect": "Přesměrování události",
"reset_form": "Resetovat formulář",
"rr_settings_successfully_updated": "Nastavení Round Robin bylo úspěšně aktualizováno",
"distribution_basis_weighted_rr": "Základ distribuce pro vážený Round Robin",
"timestamp_basis_description": "Určuje, který časový údaj události se použije jako základ pro distribuci váženého round robin.",
"requires_credits": "Vyžaduje kredity",
"requires_credits_tooltip": "Pro použití této funkce potřebujete mít na účtu dostatek kreditů",
"available_credits": "Dostupné kredity",
"create_role": "Vytvořit roli",
"roles_and_permissions": "Role a oprávnění",
"roles_and_permissions_description": "Správa rolí a oprávnění pro vaši organizaci",
"learn_more_permissions": "Zjistěte více o tom, jak fungují oprávnění",
"role_name": "Název role",
"role_name_placeholder": "např. Prodejní tým, Podpora",
"role_description": "Popis role",
"role_description_placeholder": "Popište, k čemu tato role slouží a jaká oprávnění potřebuje",
"default_role": "Výchozí role",
"custom_role": "Vlastní role",
"advanced": "Upřesnit",
"search_permissions": "Hledat oprávnění",
"all_permissions": "Všechna oprávnění",
"none": "Žádné",
"read_only": "Pouze pro čtení",
"pbac_desc_all_actions_all_resources": "Všechny akce na všech zdrojích",
"pbac_resource_all": "Všechny zdroje",
"pbac_resource_event_type": "Typy událostí",
"pbac_resource_team": "Týmy",
"pbac_resource_organization": "Organizace",
"pbac_resource_booking": "Rezervace",
"pbac_resource_insights": "Přehledy",
"pbac_resource_role": "Role",
"pbac_action_all": "Všechny akce",
"pbac_action_create": "Vytvořit",
"pbac_action_read": "Zobrazit",
"pbac_action_update": "Upravit",
"pbac_action_delete": "Smazat",
"pbac_action_manage": "Spravovat",
"pbac_action_invite": "Pozvat",
"pbac_action_remove": "Odebrat",
"pbac_action_change_member_role": "Změnit roli člena",
"pbac_action_list_members": "Seznam členů",
"pbac_action_manage_billing": "Spravovat fakturaci",
"pbac_action_read_team_bookings": "Zobrazit rezervace týmu",
"pbac_action_read_org_bookings": "Zobrazit rezervace organizace",
"pbac_action_read_recordings": "Zobrazit nahrávky",
"role_created_successfully": "Role byla úspěšně vytvořena",
"role_updated_successfully": "Role byla úspěšně aktualizována",
"delete_role": "Odstranit roli",
"confirm_delete_role": "Opravdu chcete tuto roli odstranit? Tuto akci nelze vrátit zpět.",
"role_deleted_successfully": "Role byla úspěšně odstraněna",
"error_creating_role": "Chyba při vytváření role",
"error_updating_role": "Chyba při aktualizaci role",
"pbac_desc_create_roles": "Vytvářet role",
"pbac_desc_view_roles": "Zobrazit role",
"pbac_desc_update_roles": "Aktualizovat role",
"pbac_desc_delete_roles": "Odstraňovat role",
"pbac_desc_manage_roles": "Všechny akce s rolemi",
"pbac_desc_create_event_types": "Vytvářet typy událostí",
"pbac_desc_view_event_types": "Zobrazit typy událostí",
"pbac_desc_update_event_types": "Aktualizovat typy událostí",
"pbac_desc_delete_event_types": "Odstraňovat typy událostí",
"pbac_desc_manage_event_types": "Všechny akce s typy událostí",
"pbac_desc_create_teams": "Vytvářet týmy",
"pbac_desc_view_team_details": "Zobrazit detaily týmu",
"pbac_desc_update_team_settings": "Aktualizovat nastavení týmu",
"pbac_desc_delete_team": "Odstranit tým",
"pbac_desc_invite_team_members": "Pozvat členy týmu",
"pbac_desc_remove_team_members": "Odebrat členy týmu",
"pbac_desc_change_team_member_role": "Změnit roli členů týmu",
"pbac_desc_manage_teams": "Všechny akce v týmech",
"pbac_desc_create_organization": "Vytvořit organizaci",
"pbac_desc_view_organization_details": "Zobrazit detaily organizace",
"pbac_desc_list_organization_members": "Seznam členů organizace",
"pbac_desc_invite_organization_members": "Pozvat členy organizace",
"pbac_desc_remove_organization_members": "Odebrat členy organizace",
"pbac_desc_manage_organization_billing": "Spravovat fakturaci organizace",
"pbac_desc_change_organization_member_role": "Změnit roli členů organizace",
"pbac_desc_edit_organization_settings": "Upravit nastavení organizace",
"pbac_desc_manage_organizations": "Všechny akce v organizacích",
"pbac_desc_view_bookings": "Zobrazit rezervace",
"pbac_desc_view_team_bookings": "Zobrazit týmové rezervace",
"pbac_desc_view_organization_bookings": "Zobrazit rezervace organizace",
"pbac_desc_view_booking_recordings": "Zobrazit záznamy rezervací",
"pbac_desc_update_bookings": "Aktualizovat rezervace",
"pbac_desc_manage_bookings": "Všechny akce s rezervacemi",
"pbac_desc_view_team_insights": "Zobrazit přehledy týmu",
"pbac_desc_manage_team_insights": "Spravovat přehledy týmu",
"read_permission_auto_enabled_tooltip": "Oprávnění ke čtení je automaticky povoleno při vytváření, aktualizaci nebo mazání zdroje",
"choose_restriction_schedule": "Přidat plán omezení",
"choose_restriction_schedule_description": "Povolte tuto možnost, pokud chcete omezit dostupnost hostitelů pro tento typ události na základě plánu omezení. Tím se pouze odstraní časové úseky, které nejsou v plánu omezení, nepřidávají se žádné nové úseky.",
"use_booker_timezone": "Použít časové pásmo rezervujícího",
"use_booker_timezone_info": "Aplikovat vybraný plán omezení v časovém pásmu rezervujícího",
"load_balancing_warning": "Tímto se vypne vyvažování zátěže u všech vašich typů událostí round robin",
"rr_load_balancing_disabled": "Vyvažování zátěže je k dispozici pouze když je základ časového razítka nastaven na Čas vytvoření rezervace",
"round_robin_settings_description": "Přizpůsobte výchozí nastavení kolečka pro tento tým",
"round_robin_settings_updated_successfully": "Nastavení kolečka bylo úspěšně aktualizováno",
"booking_creation_time": "Čas vytvoření rezervace",
"meeting_start_time": "Čas začátku schůzky",
"members_affected_by_disabling_delegation_credential": "Dotčení členové",
"no_members_affected_by_disabling_delegation_credential": "Žádní členové nejsou dotčeni vypnutím pověření k delegování",
"download_expense_log": "Stáhnout protokol výdajů",
"error_downloading_expense_log": "Chyba při stahování protokolu výdajů",
"offer_to_reschedule_last_booking": "Nabídnout přeplánování poslední aktivní rezervace na vybraný časový úsek",
"booker_limit_exceeded_error": "Překročen maximální limit aktivních rezervací",
"booker_limit_exceeded_error_reschedule": "Již máte rezervaci pro tuto událost dne {{date}}. Chcete ji přeplánovat na nově vybraný čas?",
"duration_min_error": "Doba trvání musí být alespoň {{min}} minut",
"duration_max_error": "Doba trvání nesmí překročit {{max}} minut (24 hodin)",
"booking_not_allowed_by_restriction_schedule_error": "Rezervace mimo dostupnost omezujícího rozvrhu.",
"restriction_schedule_not_found_error": "Omezující rozvrh nebyl nalezen",
"converted_image_size_limit_exceed": "Překročen limit velikosti obrázku, použijte prosím menší obrázek, nejlépe ve formátu JPEG",
"license_key": "Licenční klíč",
"license_selection_title": "Vyberte si licenci",
"license_selection_description": "Vyberte, jak chcete licencovat vaše nasazení Cal.com",
"agplv3_license_description": "Používejte Cal.com pod open source licencí AGPLv3",
"enter_license_key": "Zadejte licenční klíč",
"enter_your_license_key": "Přístup ke všem podnikovým funkcím",
"enter_existing_license": "Od 15 $/uživatele za měsíc",
"enter_license_key_description": "Přístup ke všem podnikovým funkcím",
"license_key_placeholder": "Zadejte svůj licenční klíč",
"save_license_key": "Uložit licenční klíč",
"signature_token_optional": "Token podpisu (volitelné)",
"signature_token_description": "Podpisový token se používá k ověření, že licenční klíč je váš, při navyšování využití založeného na fakturaci. Najdete jej v e-mailu s potvrzením nákupu. Pokud používáte starší licenci, můžete toto pole nechat prázdné.",
"need_a_license": "Potřebujete licenci?",
"license_key_required": "Licenční klíč je povinný",
"invalid_license_key": "Neplatný licenční klíč",
"license_validation_failed": "Ověření licenčního klíče selhalo",
"license_key_saved": "Licenční klíč byl úspěšně uložen",
"timezone_mismatch_tooltip": "Prohlížíte si report na základě časového pásma vašeho profilu ({{userTimezone}}), zatímco váš prohlížeč je nastaven na časové pásmo ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Přidejte své nové řetězce nahoru ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+172 -20
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Tilpas Cal Video-indstillinger",
"calvideo_settings_description": "Konfigurer præferencer for videomøder, herunder optagelsestilladelser for værter og deltagere.",
"disable_recording_for_guests": "Deaktiver optagelse for gæster",
"enable_automatic_transcription": "Aktivér automatisk transskription efter at have deltaget i mødet",
"video_options": "Videoindstillinger",
"get_meeting_session_details": "Hent mødesessiondetaljer",
"meeting_session_details": "Mødesessiondetaljer",
"meeting_session": "Mødesession",
"session_id": "Sessions-ID",
"max_participants": "Maks. deltagere",
"unlimited": "Ubegrænset",
"ongoing": "I gang",
"ended": "Afsluttet",
"participants": "Deltagere",
"anonymous_user": "Anonym bruger",
"session_duration": "Sessionsvarighed",
"no_meeting_sessions_found": "Ingen mødesessioner fundet",
"not_available": "Ikke tilgængelig",
"disable_recording_for_organizer": "Deaktiver optagelse for arrangør",
"disable_transcription_for_guests": "Deaktiver transskription for gæster",
"disable_transcription_for_organizer": "Deaktiver transskription for arrangør",
"event_request_declined_recurring": "Din tilbagevendende begivenhedsanmodning er blevet afvist",
"event_request_cancelled": "Dit planlagte arrangement blev annulleret",
"event_request_reassigned": "Din planlagte begivenhed er blevet omfordelt",
@@ -264,6 +281,8 @@
"guests": "Gæster",
"guest": "Gæst",
"web_conferencing_details_to_follow": "Webkonference detaljer følger i bekræftelses-e-mailen.",
"confirmation": "Bekræftelse",
"what_booker_should_provide": "Hvad din booker skal give for at modtage bekræftelser",
"404_the_user": "Brugernavnet",
"username": "Brugernavn",
"is_still_available": "er stadig tilgængeligt.",
@@ -331,7 +350,7 @@
"organization_general_description": "Administrer indstillinger for dit teams sprog og tidszone",
"few_sentences_about_yourself": "Et par sætninger om dig selv. Dette vil blive vist på din personlige url side.",
"nearly_there": "Du er der næsten!",
"nearly_there_instructions": "Sidste trin, en kort beskrivelse af dig og et foto hjælper virkelig med at få bookinger og lade folk vide, hvem de booker med.",
"nearly_there_instructions": "Sidste ting, en kort beskrivelse af dig og et billede hjælper virkelig med at få bookinger og lade folk vide, hvem de booker med.",
"set_availability_instructions": "Definér tidsintervaller hvor du er tilgængelig på en tilbagevendende basis. Du kan oprette flere af disse senere og tildele dem til forskellige kalendere.",
"set_availability": "Angiv din tilgængelighed",
"set_availbility_description": "Indstil tidsplaner for de tidspunkter, du vil kunne bookes.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Tilslut din kalender",
"connect_your_video_app": "Forbind dine videoapps",
"connect_your_video_app_instructions": "Forbind dine videoapps for at bruge dem på dine begivenhedstyper.",
"connect_your_calendar_instructions": "Tilslut din kalender for automatisk at tjekke for travle tider og nye begivenheder, som de bliver planlagt.",
"connect_your_calendar_instructions": "Forbind din kalender for automatisk at tjekke for optagede tider og nye begivenheder, når de planlægges.",
"set_up_later": "Opsæt senere",
"current_time": "Aktuel tid",
"details": "Detaljer",
"welcome": "Velkommen",
"welcome_back": "Velkommen tilbage",
"welcome_to_calcom": "Velkommen til {{appName}}",
"welcome_instructions": "Fortæl os hvad du vil kaldes, og lad os vide hvilken tidszone du er i. Du vil kunne redigere dette senere.",
"welcome_instructions": "Fortæl os, hvad vi skal kalde dig, og lad os vide, hvilken tidszone du er i. Du kan redigere dette senere.",
"connect_caldav": "Forbind til CalDav (Beta)",
"connect_ics_feed": "Forbind til en ICS-feed",
"connect": "Tilslut",
@@ -361,7 +380,7 @@
"when": "Hvornår",
"where": "Hvor",
"add_to_calendar": "Føj til kalender",
"add_to_calendar_description": "Vælg, hvor du vil tilføje begivenheder, når du bliver booket.",
"add_to_calendar_description": "Vælg, hvor begivenheder skal tilføjes, når du bliver booket.",
"add_events_to": "Tilføj begivenheder til",
"add_another_calendar": "Tilføj endnu en kalender",
"other": "Flere",
@@ -1153,6 +1172,7 @@
"test_failed": "Test mislykkedes",
"provide_api_key": "Angiv API-nøgle",
"api_key_modal_subtitle": "API-nøgler giver dig mulighed for at foretage API-opkald for din egen konto.",
"api_key_modal_subtitle_platform": "Opret en markedsplads eller platform i stedet.",
"api_keys_subtitle": "Generer API-nøgler til brug for adgang til din egen konto.",
"create_api_key": "Opret en API-nøgle",
"personal_note": "Navngiv denne nøgle",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Tilbagekald denne API-nøgle",
"disable_rescheduling": "Deaktiver ombooking",
"description_disable_rescheduling": "Gæster kan ikke længere ombooke begivenheden via kalenderinvitation eller e-mail",
"allow_rescheduling_cancelled_bookings": "Tillad booking via ombookingslink",
"description_allow_rescheduling_cancelled_bookings": "Når aktiveret, vil brugere kunne oprette en ny booking, når de forsøger at omlægge en aflyst booking.",
"disable_cancelling": "Deaktiver aflysning",
"description_disable_cancelling": "Gæster kan ikke længere aflyse begivenheden via kalenderinvitation eller e-mail",
"revoke_api_key": "Tilbagekald API-nøgle",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "API-nøgler tillader andre apps at kommunikere med {{appName}}",
"back_to_signin": "Tilbage til log ind",
"reset_link_sent": "Link til nulstilling blev sendt",
"password_reset_email": "En e-mail er på vej til {{email}} med instruktioner om at nulstille din adgangskode.",
"password_reset_email": "En e-mail er på vej til {{email}} med instruktioner til at nulstille din adgangskode.",
"password_reset_leading": "Hvis du ikke modtager en e-mail snart, skal du kontrollere, at den e-mail-adresse, du har indtastet, er korrekt, tjekke din spam-mappe eller kontakte support, hvis problemet fortsætter.",
"password_updated": "Adgangskode opdateret!",
"pending_payment": "Afventer betaling",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Dette vil begrænse din tilgængelighed for denne begivenhedstype til én tid pr. dag, planlagt til det tidligst tilgængelige tidspunkt.",
"limit_total_booking_duration": "Begræns den samlede bookingvarighed",
"limit_total_booking_duration_description": "Begræns den samlede tid, som denne begivenhed kan bookes",
"booker_booking_limit": "Grænse for aktive bookinger pr. booker",
"booker_booking_limit_description": "Begræns antallet af aktive bookinger, en booker kan foretage for denne begivenhedstype.",
"recurring_event_doesnt_support_booker_booking_limit": "Tilbagevendende begivenheder understøtter ikke grænse for booker-bookinger.",
"add_limit": "Tilføj Begrænsning",
"team_name_required": "Teamnavn påkrævet",
"show_attendees": "Del deltagerinformation mellem gæster",
"show_available_seats_count": "Vis antallet af ledige pladser",
"how_booking_questions_as_variables": "Hvordan bruger man booking-spørgsmål som variabler?",
"format": "Formatér",
"questions": "Spørgsmål",
"all_info_your_booker_provide": "Alle de oplysninger, din booker skal give, før de kan booke hos dig.",
"uppercase_for_letters": "Brug store bogstaver for alle bogstaver",
"replace_whitespaces_underscores": "Erstat blanke tegn med understregninger",
"platform_members": "Platformmedlemmer",
@@ -1915,7 +1942,7 @@
"new_attendee": "Ny Deltager",
"awaiting_approval": "Afventer Godkendelse",
"requires_google_calendar": "Denne app kræver en Google Calendar-forbindelse",
"event_type_requires_google_calendar": "\"Tilføj til kalender\" for denne begivenhedstype skal være en Google Kalender for at Meet kan fungere. Forbind den <0>her</0>.",
"event_type_requires_google_calendar": "\"Tilføj til kalender\" for denne begivenhedstype kræver en Google Kalender for at Meet kan fungere. Forbind den <0>her</0>.",
"connected_google_calendar": "Du har tilsluttet en Google Calendar-konto.",
"using_meet_requires_calendar": "Brug af Google Meet kræver en tilsluttet Google Kalender",
"continue_to_install_google_calendar": "Fortsæt med at installere Google Calendar",
@@ -1967,8 +1994,8 @@
"delete_sso_configuration_confirmation_description": "Er du sikker på, at du vil slette {{connectionType}} konfigurationen? Dine teammedlemmer, der bruger {{connectionType}} login, vil ikke længere kunne få adgang til Cal.com.",
"organizer_timezone": "Arrangørens tidszone",
"email_user_cta": "Vis Invitation",
"email_no_user_invite_heading_subteam": "Du er blevet inviteret til at deltage i et team i {{parentTeamName}} organisationen",
"email_no_user_invite_heading_org": "Du er blevet inviteret til at deltage i en {{appName}} organisation",
"email_no_user_invite_heading_subteam": "Du er blevet inviteret til at blive medlem af et team i {{parentTeamName}}-organisationen.",
"email_no_user_invite_heading_org": "Du er blevet inviteret til at blive medlem af en {{appName}}-organisation.",
"email_no_user_invite_subheading": "{{invitedBy}} har inviteret dig til at deltage i deres team på {{appName}}. {{appName}} er den begivenheds-jonglerende planlægger, der gør det muligt for dig og dit team at planlægge møder uden e-mail tennis.",
"email_user_invite_subheading_subteam": "{{invitedBy}} har inviteret dig til at deltage i teamet {{teamName}} i deres organisation {{parentTeamName}} på {{appName}}. {{appName}} er den begivenhedsplanlægger, der gør det muligt for dig og dit team at planlægge møder uden e-mail tennis.",
"email_user_invite_subheading_org": "{{invitedBy}} har inviteret dig til at deltage i deres organisation {{teamName}} på {{appName}}. {{appName}} er den event-jonglerende planlægger, der gør det muligt for dig og din organisation at planlægge møder uden e-mailtennis.",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Træf informerede beslutninger med Insights",
"make_informed_decisions_description": "Vores Insights-dashboard viser al aktivitet på tværs af dit team og viser dig tendenser, der muliggør bedre teamplanlægning og beslutningstagning.",
"view_bookings_across": "Se bookinger på tværs af alle medlemmer",
"view_bookings_across_description": "Se hvem der modtager flest bookinger og sørg for den bedste fordeling i dit team",
"view_bookings_across_description": "Se, hvem der modtager flest bookinger, og sørg for den bedste fordeling på tværs af dit team.",
"identify_booking_trends": "Identificer bookingtrends",
"identify_booking_trends_description": "Se hvilke tidspunkter på ugen og hvilke tidspunkter på dagen der er populære for dine bookere",
"spot_popular_event_types": "Find populære begivenhedstyper",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "Ingen data fundet for det valgte filter eller de valgte datoer.",
"acknowledge_booking_no_show_fee": "Jeg anerkender, at hvis jeg ikke deltager i denne begivenhed, vil et gebyr for udeblivelse på {{amount, currency}} blive opkrævet på mit kort.",
"card_details": "Kortoplysninger",
"something_went_wrong_on_our_end": "Noget gik galt på vores side. Kontakt vores supportteam, så løser vi det med det samme for dig.",
"something_went_wrong_on_our_end": "Noget gik galt hos os. Kontakt vores supportteam, så løser vi det straks for dig.",
"please_provide_following_text_to_suppport": "Angiv venligst følgende tekst, når du kontakter support, for at hjælpe os bedre",
"seats_and_no_show_fee_error": "Kan i øjeblikket ikke aktivere pladser og opkræve gebyr for udeblivelse",
"complete_your_booking": "Fuldfør din booking",
@@ -2276,7 +2303,7 @@
"messaging": "Beskeder",
"sender_id_info": "Navn eller nummer vist som afsender af en SMS (nogle lande tillader ikke alfanumeriske afsender-ID'er)",
"org_admins_can_create_new_teams": "Kun administratoren af din organisation kan oprette nye teams",
"google_new_spam_policy": "Googles nye spam-politik kan forhindre dig i at modtage e-mail- og kalendernotifikationer om denne booking.",
"google_new_spam_policy": "Googles nye spam-politik kan forhindre dig i at modtage e-mails og kalendernotifikationer om denne booking.",
"resolve": "Løs",
"no_organization_slug": "Der opstod en fejl ved oprettelse af teams for denne organisation. Mangler URL-slug.",
"copy_link_org": "Kopiér link til organisation",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "Delegationslegitimation giver dig mulighed for at administrere adgang til Google Workspace-kalendere for din organisation.",
"add_client_id_in_google_workspace_with_below_scope": "Tilføj dette klient-id i Google Workspace med nedenstående scope",
"delegation_credential_enabled": "Delegationslegitimation aktiveret",
"delegation_credential_disabled": "Delegationslegitimation deaktiveret",
"add_delegation_credential": "Tilføj delegationslegitimation",
"edit_delegation_credential": "Rediger delegationslegitimation",
"domain": "Domæne",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "Se dine kalenderbegivenheder for at undgå dobbeltbookinger.",
"join_event_location": "Deltag i {{eventLocationType}}",
"troubleshooting": "Fejlfinding",
"calendars_were_checking_for_conflicts": "Kalendere vi tjekker for konflikter",
"calendars_were_checking_for_conflicts": "Kalendere, vi tjekker for konflikter",
"availabilty_schedules": "Tilgængelighedsplaner",
"manage_calendars": "Administrer kalendere",
"manage_availability_schedules": "Administrer tilgængelighedsplaner",
@@ -2582,7 +2608,7 @@
"date": "Dato",
"overlaps_with_existing_schedule": "Dette overlapper med en eksisterende tidsplan. Vælg venligst en anden dato.",
"org_admin_no_slots|heading": "Ingen tilgængelighed fundet for {{name}}",
"org_admin_no_slots|content": "Hej organisationsadministratorer,<br /><br />Bemærk venligst: Det er blevet gjort opmærksom på, at {{username}} ikke har haft nogen tilgængelighed, når en bruger har besøgt {{username}}/{{slug}}<br /><br />Der er nogle få grunde til, at dette kan ske<br />Brugeren har ikke nogen kalendere forbundet<br />Deres tidsplaner knyttet til denne begivenhed er ikke aktiveret<br /> <br />Vi anbefaler at tjekke deres tilgængelighed for at løse dette.",
"org_admin_no_slots|content": "Hej organisationsadministratorer,<br /><br />Bemærk venligst: Det er blevet gjort opmærksom på, at {{username}} ikke har haft nogen tilgængelighed, når en bruger har besøgt {{username}}/{{slug}}<br /><br />Der kan være flere grunde til, at dette sker:<br />Brugeren har ikke nogen kalendere forbundet<br />Deres tidsplaner knyttet til denne begivenhed er ikke aktiveret<br /><br />Vi anbefaler at tjekke deres tilgængelighed for at løse dette.",
"org_admin_no_slots|cta": "Åbn brugernes tilgængelighed",
"organization_no_slots_notification_switch_title": "Få besked, når dit team ikke har nogen tilgængelighed",
"organization_no_slots_notification_switch_description": "Administratorer vil få e-mailbeskeder, når en bruger forsøger at booke et teammedlem og møder 'Ingen tilgængelighed'. Vi udløser denne e-mail efter to forekomster og minder dig om det hver 7. dag pr. bruger.",
@@ -2592,10 +2618,10 @@
"email_team_invite|subject|invited_to_org": "{{user}} har inviteret dig til at deltage i organisationen {{team}} på {{appName}}",
"email_team_invite|subject|added_to_subteam": "{{user}} har tilføjet dig til teamet {{team}} i organisationen {{parentTeamName}} på {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "{{user}} inviterede dig til at deltage i teamet {{team}} på {{appName}}",
"email_team_invite|heading|added_to_org": "Du er blevet tilføjet til en {{appName}} organisation",
"email_team_invite|heading|invited_to_org": "Du er blevet inviteret til en {{appName}} organisation",
"email_team_invite|heading|added_to_subteam": "Du er blevet tilføjet til et team i {{parentTeamName}} organisationen",
"email_team_invite|heading|invited_to_subteam": "Du er blevet inviteret til et team i {{parentTeamName}} organisationen",
"email_team_invite|heading|added_to_org": "Du er blevet tilføjet til en {{appName}}-organisation",
"email_team_invite|heading|invited_to_org": "Du er blevet inviteret til en {{appName}}-organisation",
"email_team_invite|heading|added_to_subteam": "Du er blevet tilføjet til et team i {{parentTeamName}}-organisationen",
"email_team_invite|heading|invited_to_subteam": "Du er blevet inviteret til et team i {{parentTeamName}}-organisationen",
"email_team_invite|heading|invited_to_regular_team": "Du er blevet inviteret til at deltage i et {{appName}}-team",
"email_team_invite|content|added_to_org": "{{invitedBy}} har tilføjet dig til <strong>{{teamName}}</strong>-organisationen.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} har inviteret dig til at deltage i {{teamName}}-organisationen.",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Begræns, hvor mange gange medlemmer kan bookes på tværs af alle team-begivenhedstyper",
"booking_limits_updated_successfully": "Bookinggrænser opdateret med succes",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Du har ikke tilladelse til at foretage denne ændring i bookingen",
"delegation_credential_disabled": "Delegationslegitimation deaktiveret",
"matching_members": "Matchende medlemmer",
"x_matching_members": "{{x}} matchende medlemmer",
"matching_members_queue_using_attribute_weights": "Matchende medlemskø (bruger attributvægte)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Ja, omfordel",
"filter_by_attributes": "Filtrer efter attributter",
"reassign_reason": "Årsag til omfordeling",
"field_type_change_suggestion": "Ændring af felttypen kan medføre tab af data. Opret venligst et nyt felt i stedet.",
"reassigned_by": "Omfordelt af",
"row": "række",
"rows": "rækker",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Dirigeret til pr. periode",
"per_day": "Pr. dag",
"per_week": "Pr. uge",
"per_month": "pr. måned",
"per_month": "Pr. måned",
"routing_form_insights_assignment_reason": "Tildelingsårsag",
"access_denied": "Adgang nægtet",
"salesforce_route_to_owner": "Kontaktens ejer vil være Round Robin-vært, hvis tilgængelig",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Du har ikke tilladelse til at oprette en organisation for denne e-mail",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Du har ikke tilladelse til at migrere et eller flere af teamene",
"organization_has_subscription_already": "Organisationen har allerede et abonnement",
"reset_interval_weighted_rr": "Nulstil interval for vægtet Round Robin",
"interval": "Interval",
"rr_reset_interval_description": "Bestemmer hvor ofte round robin-bookingtællingen nulstilles for at sikre en balanceret fordeling.",
"daily": "Dagligt",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Der er allerede en omvendt videresendelse mellem disse brugere.",
"previous_ooo_empty_title": "Ingen tidligere fravær fundet",
"previous": "Forrige",
"rr_interval_successfully_updated": "Round Robin-intervallet blev opdateret",
"trial_mode": "Prøveperiode",
"inactive_team_plan": "Inaktiv teamplan",
"inactive_team_plan_description": "Din teamplan er inaktiv. Tjek dit abonnement eller kontakt kundesupport",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Du har ikke et team endnu",
"no_team_members": "Du har ikke nogen teammedlemmer endnu",
"recurring_event_doesnt_support_seats": "Tilbagevendende begivenheder understøtter ikke sædefunktionen. Gør den ikke-tilbagevendende for at aktivere sæder.",
"booking_limit_per_booker_doesnt_support_recurring": "Gentagende begivenheder understøtter ikke funktionen for bookinggrænse pr. booker. Deaktiver bookinggrænse pr. booker for at aktivere gentagende begivenheder.",
"seats_doesnt_support_recurring": "Sædefunktionen understøtter ikke tilbagevendende begivenheder. Deaktiver sædefunktionen for at gøre den tilbagevendende.",
"recurring_event_seats_error": "Tilbagevendende begivenheder understøtter ikke sædefunktionen. Deaktiver sædefunktionen eller gør begivenheden ikke-tilbagevendende.",
"segment": "Segment",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Aktivér delegationslegitimation",
"enable_delegation_credential_description": "Giv Cal.com automatisk adgang til kalendere for alle organisationsmedlemmer ved at aktivere delegationslegitimation.",
"disable_delegation_credential": "Deaktiver delegationslegitimation",
"disable_delegation_credential_description": "Når delegationslegitimation er deaktiveret, skal organisationsmedlemmer, der ikke har forbundet deres kalendere, gøre det manuelt.",
"disable_delegation_credential_description": "Når delegationslegitimation deaktiveres, skal organisationsmedlemmer, der ikke har forbundet deres kalendere, gøre det manuelt.",
"last_active": "Sidst aktiv",
"member_since": "Medlem siden",
"last_updated": "Sidst opdateret",
@@ -3202,10 +3233,131 @@
"matching": "Matchning",
"event_redirect": "Begivenheds-omdirigering",
"reset_form": "Nulstil formular",
"rr_settings_successfully_updated": "Round Robin-indstillinger blev opdateret",
"distribution_basis_weighted_rr": "Fordelingsgrundlag for vægtet Round Robin",
"timestamp_basis_description": "Bestemmer hvilken tidsstempel for begivenheden, der bruges som grundlag for vægtet Round Robin-fordeling.",
"requires_credits": "Kræver credits",
"requires_credits_tooltip": "Du skal have nok credits på din konto for at bruge denne funktion",
"available_credits": "Tilgængelige credits",
"create_role": "Opret rolle",
"roles_and_permissions": "Roller og tilladelser",
"roles_and_permissions_description": "Administrer roller og tilladelser for din organisation",
"learn_more_permissions": "Lær mere om, hvordan tilladelser fungerer",
"role_name": "Rollenavn",
"role_name_placeholder": "f.eks. Salgsteam, Supportpersonale",
"role_description": "Rollebekskrivelse",
"role_description_placeholder": "Beskriv, hvad denne rolle er til, og hvilke tilladelser den har brug for",
"default_role": "Standardrolle",
"custom_role": "Brugerdefineret rolle",
"advanced": "Avanceret",
"search_permissions": "Søg tilladelser",
"all_permissions": "Alle tilladelser",
"none": "Ingen",
"read_only": "Kun læseadgang",
"pbac_desc_all_actions_all_resources": "Alle handlinger på alle ressourcer",
"pbac_resource_all": "Alle ressourcer",
"pbac_resource_event_type": "Begivenhedstyper",
"pbac_resource_team": "Teams",
"pbac_resource_organization": "Organisation",
"pbac_resource_booking": "Bookinger",
"pbac_resource_insights": "Indsigter",
"pbac_resource_role": "Roller",
"pbac_action_all": "Alle handlinger",
"pbac_action_create": "Opret",
"pbac_action_read": "Vis",
"pbac_action_update": "Redigér",
"pbac_action_delete": "Slet",
"pbac_action_manage": "Administrér",
"pbac_action_invite": "Invitér",
"pbac_action_remove": "Fjern",
"pbac_action_change_member_role": "Skift medlemsrolle",
"pbac_action_list_members": "Vis medlemmer",
"pbac_action_manage_billing": "Håndtér fakturering",
"pbac_action_read_team_bookings": "Vis teambookinger",
"pbac_action_read_org_bookings": "Vis organisationsbookinger",
"pbac_action_read_recordings": "Vis optagelser",
"role_created_successfully": "Rolle oprettet med succes",
"role_updated_successfully": "Rolle opdateret med succes",
"delete_role": "Slet rolle",
"confirm_delete_role": "Er du sikker på, at du vil slette denne rolle? Denne handling kan ikke fortrydes.",
"role_deleted_successfully": "Rolle slettet med succes",
"error_creating_role": "Fejl ved oprettelse af rolle",
"error_updating_role": "Fejl ved opdatering af rolle",
"pbac_desc_create_roles": "Opret roller",
"pbac_desc_view_roles": "Vis roller",
"pbac_desc_update_roles": "Opdater roller",
"pbac_desc_delete_roles": "Slet roller",
"pbac_desc_manage_roles": "Alle handlinger på roller",
"pbac_desc_create_event_types": "Opret begivenhedstyper",
"pbac_desc_view_event_types": "Vis begivenhedstyper",
"pbac_desc_update_event_types": "Opdater begivenhedstyper",
"pbac_desc_delete_event_types": "Slet begivenhedstyper",
"pbac_desc_manage_event_types": "Alle handlinger på begivenhedstyper",
"pbac_desc_create_teams": "Opret teams",
"pbac_desc_view_team_details": "Vis teamdetaljer",
"pbac_desc_update_team_settings": "Opdater teamindstillinger",
"pbac_desc_delete_team": "Slet team",
"pbac_desc_invite_team_members": "Invitér teammedlemmer",
"pbac_desc_remove_team_members": "Fjern teammedlemmer",
"pbac_desc_change_team_member_role": "Skift rolle for teammedlemmer",
"pbac_desc_manage_teams": "Alle handlinger på teams",
"pbac_desc_create_organization": "Opret organisation",
"pbac_desc_view_organization_details": "Se organisationsdetaljer",
"pbac_desc_list_organization_members": "Vis organisationsmedlemmer",
"pbac_desc_invite_organization_members": "Inviter organisationsmedlemmer",
"pbac_desc_remove_organization_members": "Fjern organisationsmedlemmer",
"pbac_desc_manage_organization_billing": "Administrer organisationsfakturering",
"pbac_desc_change_organization_member_role": "Ændr rolle for organisationsmedlemmer",
"pbac_desc_edit_organization_settings": "Rediger organisationsindstillinger",
"pbac_desc_manage_organizations": "Alle handlinger på organisationer",
"pbac_desc_view_bookings": "Se bookinger",
"pbac_desc_view_team_bookings": "Se team-bookinger",
"pbac_desc_view_organization_bookings": "Se organisationsbookinger",
"pbac_desc_view_booking_recordings": "Se bookingoptagelser",
"pbac_desc_update_bookings": "Opdater bookinger",
"pbac_desc_manage_bookings": "Alle handlinger på bookinger",
"pbac_desc_view_team_insights": "Se teamindsigter",
"pbac_desc_manage_team_insights": "Administrer teamindsigter",
"read_permission_auto_enabled_tooltip": "Læs tilladelse aktiveres automatisk, når en ressource oprettes, opdateres eller slettes",
"choose_restriction_schedule": "Tilføj restriktionsskema",
"choose_restriction_schedule_description": "Aktivér dette, hvis du vil begrænse værternes tilgængelighed for denne begivenhedstype baseret på et restriktionsskema. Dette fjerner kun de tidsrum, der ikke er i restriktionsskemaet, det tilføjer ikke nye tidsrum.",
"use_booker_timezone": "Brug bookerens tidszone",
"use_booker_timezone_info": "Anvend det valgte restriktionsskema i bookerens tidszone",
"load_balancing_warning": "Dette vil deaktivere Load Balancing på alle dine Round Robin-begivenhedstyper",
"rr_load_balancing_disabled": "Load Balancing er kun tilgængelig, når tidsstempelgrundlaget er indstillet til bookingens oprettelsestidspunkt",
"round_robin_settings_description": "Tilpas standardindstillingerne for round robin for dette team",
"round_robin_settings_updated_successfully": "Round robin-indstillinger opdateret med succes",
"booking_creation_time": "Bookingoprettelsestid",
"meeting_start_time": "Mødestarttid",
"members_affected_by_disabling_delegation_credential": "Berørte medlemmer",
"no_members_affected_by_disabling_delegation_credential": "Ingen medlemmer berørt af deaktivering af delegationslegitimation",
"download_expense_log": "Download udgiftslog",
"error_downloading_expense_log": "Fejl ved download af udgiftslog",
"offer_to_reschedule_last_booking": "Tilbyd at omlægge den sidste aktive booking til den valgte tidsperiode",
"booker_limit_exceeded_error": "Bookerens maksimale aktive bookinggrænse er overskredet",
"booker_limit_exceeded_error_reschedule": "Du har allerede en booking for denne begivenhed den {{date}}. Vil du omlægge til det nye valgte tidspunkt?",
"duration_min_error": "Varigheden skal være mindst {{min}} minut(ter)",
"duration_max_error": "Varigheden må ikke overstige {{max}} minutter (24 timer)",
"booking_not_allowed_by_restriction_schedule_error": "Booking uden for tilgængeligheden i restriktionsplanen.",
"restriction_schedule_not_found_error": "Restriktionsplan ikke fundet",
"converted_image_size_limit_exceed": "Billedstørrelsesgrænsen er overskredet, brug venligst et mindre billede, helst i JPEG-format",
"license_key": "Licensnøgle",
"license_selection_title": "Vælg din licens",
"license_selection_description": "Vælg, hvordan du vil licensere din Cal.com-implementering",
"agplv3_license_description": "Brug Cal.com under AGPLv3 open source-licensen",
"enter_license_key": "Indtast licensnøgle",
"enter_your_license_key": "Adgang til alle virksomhedsfunktioner",
"enter_existing_license": "Fra $15/bruger pr. måned",
"enter_license_key_description": "Adgang til alle virksomhedsfunktioner",
"license_key_placeholder": "Indtast din licensnøgle",
"save_license_key": "Gem licensnøgle",
"signature_token_optional": "Signaturtoken (valgfrit)",
"signature_token_description": "Signaturtoken bruges til at verificere, at licensnøglen tilhører dig, når du øger forbrugsbaseret fakturering. Du kan finde den i din købsbekræftelsesmail. Hvis du har en ældre licens, kan du lade dette felt være tomt.",
"need_a_license": "Har du brug for en licens?",
"license_key_required": "Licensnøgle er påkrævet",
"invalid_license_key": "Ugyldig licensnøgle",
"license_validation_failed": "Validering af licensnøgle mislykkedes",
"license_key_saved": "Licensnøgle blev gemt med succes",
"timezone_mismatch_tooltip": "Du ser rapporten baseret på din profils tidszone ({{userTimezone}}), mens din browser er indstillet til tidszonen ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Tilføj dine nye strenge ovenfor her ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+176 -24
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Cal Video-Einstellungen anpassen",
"calvideo_settings_description": "Konfigurieren Sie Videokonferenz-Präferenzen einschließlich Aufnahmeberechtigungen für Gastgeber und Teilnehmer.",
"disable_recording_for_guests": "Aufnahme für Gäste deaktivieren",
"enable_automatic_transcription": "Automatische Transkription nach Beitritt zum Meeting aktivieren",
"video_options": "Videooptionen",
"get_meeting_session_details": "Meeting-Sitzungsdetails abrufen",
"meeting_session_details": "Meeting-Sitzungsdetails",
"meeting_session": "Meeting-Sitzung",
"session_id": "Sitzungs-ID",
"max_participants": "Maximale Teilnehmerzahl",
"unlimited": "Unbegrenzt",
"ongoing": "Laufend",
"ended": "Beendet",
"participants": "Teilnehmer",
"anonymous_user": "Anonymer Benutzer",
"session_duration": "Sitzungsdauer",
"no_meeting_sessions_found": "Keine Meeting-Sitzungen gefunden",
"not_available": "Nicht verfügbar",
"disable_recording_for_organizer": "Aufnahme für Organisator deaktivieren",
"disable_transcription_for_guests": "Transkription für Gäste deaktivieren",
"disable_transcription_for_organizer": "Transkription für Organisator deaktivieren",
"event_request_declined_recurring": "Ihre wiederkehrende Terminanfrage wurde abgelehnt",
"event_request_cancelled": "Ihr geplanter Termin wurde abgesagt",
"event_request_reassigned": "Ihr geplanter Termin wurde neu zugewiesen",
@@ -264,6 +281,8 @@
"guests": "Gäste",
"guest": "Gast",
"web_conferencing_details_to_follow": "Web-Konferenzdetails folgen.",
"confirmation": "Bestätigung",
"what_booker_should_provide": "Was Ihr Bucher angeben sollte, um Bestätigungen zu erhalten",
"404_the_user": "Der Benutzername",
"username": "Benutzername",
"is_still_available": "ist noch verfügbar.",
@@ -331,7 +350,7 @@
"organization_general_description": "Einstellungen für die Sprache und Zeitzone Ihres Teams verwalten",
"few_sentences_about_yourself": "Schreiben Sie eine kurze Beschreibung, welche auf Ihrer persönlichen URL-Seite erscheinen wird.",
"nearly_there": "Fast fertig",
"nearly_there_instructions": "Zu guter Letzt: Ein Foto und eine Kurzbeschreibung zu Ihnen helfen, öfter gebucht zu werden, da Kunden dann genauer wissen, bei wem sie einen Termin buchen.",
"nearly_there_instructions": "Zum Schluss: Eine kurze Beschreibung über Sie und ein Foto helfen wirklich, Buchungen zu erhalten und lassen andere wissen, mit wem sie einen Termin buchen.",
"set_availability_instructions": "Definieren Sie Zeiträume, wenn Sie wiederkehrend verfügbar sind. Sie können später weitere Zeiträume erstellen und verschiedenen Kalendern zuordnen.",
"set_availability": "Verfügbarkeit festlegen",
"set_availbility_description": "Legen Sie Zeitpläne für die Zeiten fest, in denen Sie gebucht werden möchten.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Kalender verbinden",
"connect_your_video_app": "Verbinden Sie Ihre Video-Apps",
"connect_your_video_app_instructions": "Verbinden Sie Ihre Video-Apps, um sie für Ihre Termintypen zu verwenden.",
"connect_your_calendar_instructions": "Verbinden Sie Ihren Kalender, um automatisch zu prüfen, ob Termine verfügbar sind.",
"connect_your_calendar_instructions": "Verbinden Sie Ihren Kalender, um automatisch nach belegten Zeiten zu suchen und neue Termine zu erfassen, sobald sie geplant werden.",
"set_up_later": "Später einrichten",
"current_time": "Aktuelle Zeit",
"details": "Details",
"welcome": "Willkommen",
"welcome_back": "Willkommen zurück",
"welcome_to_calcom": "Willkommen bei {{appName}}",
"welcome_instructions": "Wie ist Ihr Name und in welcher Zeitzone sind Sie? Dies kann später bearbeitet werden.",
"welcome_instructions": "Teilen Sie uns mit, wie wir Sie nennen sollen und in welcher Zeitzone Sie sich befinden. Sie können dies später bearbeiten.",
"connect_caldav": "Mit CalDav-Server verbinden",
"connect_ics_feed": "Mit einem ICS-Feed verbinden",
"connect": "Verbinden",
@@ -361,7 +380,7 @@
"when": "Wann",
"where": "Wo",
"add_to_calendar": "Zum Kalender hinzufügen",
"add_to_calendar_description": "Legen Sie fest, wo neue Termine hinzugefügt werden sollen, wenn Sie gebucht werden.",
"add_to_calendar_description": "Wählen Sie aus, wo Termine hinzugefügt werden sollen, wenn Sie gebucht werden.",
"add_events_to": "Termine hinzufügen zu",
"add_another_calendar": "Einen weiteren Kalender hinzufügen",
"other": "Sonstige",
@@ -1132,7 +1151,7 @@
"24_hour_short": "24 Std",
"redirect_success_booking": "Weiterleitung bei Buchung ",
"you_are_being_redirected": "Sie werden in $t(second, {\"count\": {{seconds}} }) auf {{ url }} weitergeleitet.",
"external_redirect_url": "Externe Umleitungs-URL - Beginnt mit https://",
"external_redirect_url": "https://example.com/redirect-to-my-success-page",
"redirect_url_description": "Nach erfolgreicher Buchung auf eine benutzerdefinierte URL weiterleiten",
"duplicate": "Duplizieren",
"offer_seats": "Plätze anbieten",
@@ -1153,6 +1172,7 @@
"test_failed": "Test fehlgeschlagen",
"provide_api_key": "API-Schlüssel bereitstellen",
"api_key_modal_subtitle": "Mit API-Schlüsseln können Sie API-Aufrufe für Ihren eigenen Account durchführen.",
"api_key_modal_subtitle_platform": "Erstellen Sie stattdessen einen Marktplatz oder eine Plattform.",
"api_keys_subtitle": "Generieren Sie API-Schlüssel für den Zugriff auf Ihren eigenen Account.",
"create_api_key": "API-Schlüssel erstellen",
"personal_note": "Diesen Schlüssel benennen",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Diesen API-Schlüssel widerrufen",
"disable_rescheduling": "Umbuchung deaktivieren",
"description_disable_rescheduling": "Gäste können die Veranstaltung nicht mehr über Kalendereinladung oder E-Mail umbuchen",
"allow_rescheduling_cancelled_bookings": "Buchung über Umbuchungslink erlauben",
"description_allow_rescheduling_cancelled_bookings": "Wenn aktiviert, können Benutzer eine neue Buchung erstellen, wenn sie versuchen, eine stornierte Buchung umzuplanen",
"disable_cancelling": "Stornierung deaktivieren",
"description_disable_cancelling": "Gäste können die Veranstaltung nicht mehr über Kalendereinladung oder E-Mail stornieren",
"revoke_api_key": "API-Schlüssel widerrufen",
@@ -1613,7 +1635,7 @@
"workflow_example_6": "Benutzerdefinierte SMS senden, wenn der Termin zum Moderieren gebucht wird",
"count_managed_to_limit": "Buchungszahlen von verwalteten Ereignistypen einbeziehen",
"welcome_to_cal_header": "Willkommen bei {{appName}}!",
"edit_form_later_subtitle": "Sie können dies später bearbeiten.",
"edit_form_later_subtitle": "Du kannst dies später bearbeiten.",
"connect_calendar_later": "Ich verbinde meinen Kalender später",
"problem_saving_user_profile": "Beim Speichern Ihrer Daten ist ein Problem aufgetreten. Bitte versuchen Sie es erneut oder wenden Sie sich an den Support.",
"purchase_missing_seats": "Fehlende Plätze kaufen",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "API-Schlüssel erlauben es anderen Apps, mit {{appName}} zu kommunizieren",
"back_to_signin": "Zurück zur Anmeldung",
"reset_link_sent": "Zurücksetzungslink gesendet",
"password_reset_email": "Eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts ist auf dem Weg zu {{email}}.",
"password_reset_email": "Eine E-Mail mit Anweisungen zum Zurücksetzen deines Passworts ist unterwegs an {{email}}.",
"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!",
"pending_payment": "Zahlung ausstehend",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Dies beschränkt Ihre Verfügbarkeit für diesen Ereignistyp auf einen Zeitslot pro Tag, der zum frühestmöglichen Zeitpunkt geplant wird.",
"limit_total_booking_duration": "Gesamtbuchungsdauer beschränken",
"limit_total_booking_duration_description": "Begrenzt die Gesamtanzahl, die dieser Termin gebucht werden kann",
"booker_booking_limit": "Limit für aktive Buchungen pro Bucher",
"booker_booking_limit_description": "Begrenze die Anzahl der aktiven Buchungen, die ein Bucher für diesen Termintyp vornehmen kann",
"recurring_event_doesnt_support_booker_booking_limit": "Wiederkehrende Termine unterstützen keine Buchungslimits pro Bucher",
"add_limit": "Begrenzung hinzufügen",
"team_name_required": "Teamname erforderlich",
"show_attendees": "Teilnehmerinformationen zwischen Gästen teilen",
"show_available_seats_count": "Anzahl der verfügbaren Plätze anzeigen",
"how_booking_questions_as_variables": "Wie verwendet man Buchungsfragen als Variablen?",
"format": "Format",
"questions": "Fragen",
"all_info_your_booker_provide": "Alle Informationen, die dein Bucher vor der Buchung angeben sollte.",
"uppercase_for_letters": "Großbuchstaben für alle Buchstaben verwenden",
"replace_whitespaces_underscores": "Leerzeichen durch Unterstriche ersetzen",
"platform_members": "Plattform-Mitglieder",
@@ -1915,7 +1942,7 @@
"new_attendee": "Neuer Teilnehmer",
"awaiting_approval": "Wartet auf Genehmigung",
"requires_google_calendar": "Diese App erfordert eine Verbindung mit Google Calendar",
"event_type_requires_google_calendar": "Das \"Zum Kalender hinzufügen\" für diesen Ereignistyp muss ein Google Kalender sein, damit Meet funktioniert. Verbinde ihn <0>hier</0>.",
"event_type_requires_google_calendar": "Für die Funktion \"Zum Kalender hinzufügen\" für diesen Termintyp wird ein Google Kalender benötigt, damit Meet funktioniert. Verbinde ihn <0>hier</0>.",
"connected_google_calendar": "Sie haben ein Google Calendar-Konto verbunden.",
"using_meet_requires_calendar": "Die Nutzung von Google Meet erfordert einen verbundenen Google Calendar",
"continue_to_install_google_calendar": "Installation von Google Calender fortsetzen",
@@ -1967,12 +1994,12 @@
"delete_sso_configuration_confirmation_description": "Sind Sie sicher, dass Sie die {{connectionType}}-Konfiguration löschen möchten? Ihre Teammitglieder, die sich über {{connectionType}} anmelden, werden keinen Zugriff mehr auf Cal.com haben.",
"organizer_timezone": "Zeitzone des Veranstalters",
"email_user_cta": "Einladung anzeigen",
"email_no_user_invite_heading_subteam": "Sie wurden eingeladen, einem Team der Organisation {{parentTeamName}} beizutreten",
"email_no_user_invite_heading_org": "Sie wurden eingeladen, einer {{appName}}-Organisation beizutreten",
"email_no_user_invite_heading_subteam": "Du wurdest eingeladen, einem Team der Organisation {{parentTeamName}} beizutreten",
"email_no_user_invite_heading_org": "Du wurdest eingeladen, einer {{appName}}-Organisation beizutreten",
"email_no_user_invite_subheading": "{{invitedBy}} hat Sie eingeladen, dem Team in {{appName}} beizutreten. {{appName}} ist der Event-Planer, der es Ihnen und Ihrem Team ermöglicht, Meetings ohne ständiges hin und her zu planen.",
"email_user_invite_subheading_subteam": "{{invitedBy}} hat Sie eingeladen, dem Team „{{teamName}}“ in seiner bzw. ihrer Organisation {{parentTeamName}} bei {{appName}} beizutreten. {{appName}} ist der Terminplaner, der es Ihnen und Ihrem Team ermöglicht, Meetings ohne Hin und Her zu planen.",
"email_user_invite_subheading_org": "{{invitedBy}} hat Sie eingeladen, ihrer Organisation „{{teamName}}“ in {{appName}} beizutreten. {{appName}} ist der Terminplaner, der es Ihnen und Ihrer Organisation ermöglicht, Meetings ohne ständiges hin und her zu planen.",
"email_no_user_invite_steps_intro": "Wir begleiten Sie durch ein paar Schritte, danach können Sie in kürzester Zeit stressfreie Planung mit Ihrer {{entity}} genießen.",
"email_no_user_invite_steps_intro": "Wir führen dich durch einige kurze Schritte und du wirst in kürzester Zeit stressfreie Terminplanung mit deinem {{entity}} genießen.",
"email_no_user_step_one": "Wählen Sie Ihren Benutzernamen",
"email_no_user_step_two": "Verbinden Sie Ihr Kalenderkonto",
"email_no_user_step_three": "Legen Sie Ihre Verfügbarkeit fest",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Treffen Sie mit Insights fundierte Entscheidungen",
"make_informed_decisions_description": "Unser Insights-Dashboard deckt alle Aktivitäten in Ihrem Team ab und zeigt Ihnen Trends, die eine bessere Teamplanung und Entscheidungsfindung ermöglichen.",
"view_bookings_across": "Buchungen für alle Mitglieder anzeigen",
"view_bookings_across_description": "Sehen Sie, wer am häufigsten gebucht wird und sorgen Sie für die beste Verteilung in Ihrem Team",
"view_bookings_across_description": "Sieh, wer die meisten Buchungen erhält und stelle die beste Verteilung in deinem Team sicher",
"identify_booking_trends": "Buchungstrends erkennen",
"identify_booking_trends_description": "Sehen Sie, welche Wochenzeiten und welche Tageszeiten bei Ihren Buchern beliebt sind",
"spot_popular_event_types": "Machen Sie beliebte Ereignistypen ausfindig",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "Keine Daten für den ausgewählten Filter oder das ausgewählte Datum gefunden.",
"acknowledge_booking_no_show_fee": "Ich bestätige, dass meiner Karte eine Gebühr von {{amount, currency}} berechnet wird, sofern ich nicht an diesem Ereignis teilnehme.",
"card_details": "Karteninformationen",
"something_went_wrong_on_our_end": "Etwas ist auf unserer Seite schief gelaufen. Kontaktieren Sie unser Support-Team, wir werden es sofort für Sie reparieren.",
"something_went_wrong_on_our_end": "Bei uns ist etwas schiefgelaufen. Kontaktiere unseren Support und wir werden das Problem umgehend für dich beheben.",
"please_provide_following_text_to_suppport": "Bitte geben Sie den folgenden Text an, wenn Sie den Support kontaktieren, damit wir Ihnen besser helfen können",
"seats_and_no_show_fee_error": "Aktuell können keine Plätze aktiviert oder eine Gebühr für das Nichterscheinen berechnet werden",
"complete_your_booking": "Schließen Sie Ihre Buchung ab",
@@ -2276,7 +2303,7 @@
"messaging": "Nachrichten",
"sender_id_info": "Name oder Nummer, welcher bzw. welche als Absender einer SMS angezeigt wird (einige Länder erlauben keine alphanumerischen Absender-IDs)",
"org_admins_can_create_new_teams": "Nur der Administrator Ihrer Organization kann neue Teams erstellen",
"google_new_spam_policy": "Die neuen Spam-Richtlinien von Google könnten verhindern, dass Sie E-Mail- und Kalenderbenachrichtigungen zu dieser Buchung erhalten.",
"google_new_spam_policy": "Googles neue Spam-Richtlinie könnte verhindern, dass du E-Mail- und Kalenderbenachrichtigungen über diese Buchung erhältst.",
"resolve": "Problem lösen",
"no_organization_slug": "Beim Erstellen von Teams für diese Organization ist ein Fehler aufgetreten. URL-Slug fehlt.",
"copy_link_org": "Link zur Organization kopieren",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "Der Delegierungsnachweis ermöglicht es Ihnen, den Zugriff auf Google Workspace-Kalender für Ihre Organisation zu verwalten.",
"add_client_id_in_google_workspace_with_below_scope": "Fügen Sie diese Client-ID in Google Workspace mit dem folgenden Bereich hinzu",
"delegation_credential_enabled": "Delegierungsnachweis aktiviert",
"delegation_credential_disabled": "Delegierungsnachweis deaktiviert",
"add_delegation_credential": "Delegierungsnachweis hinzufügen",
"edit_delegation_credential": "Delegierungsnachweis bearbeiten",
"domain": "Domain",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "Sehen Sie sich Ihre Kalendertermine an, um Buchungskonflikte zu vermeiden.",
"join_event_location": "{{eventLocationType}} beitreten",
"troubleshooting": "Problembehandlung",
"calendars_were_checking_for_conflicts": "Kalender, die wir auf Konflikten überprüfen",
"calendars_were_checking_for_conflicts": "Kalender, die wir auf Konflikte prüfen",
"availabilty_schedules": "Verfügbarkeitspläne",
"manage_calendars": "Kalender verwalten",
"manage_availability_schedules": "Verfügbarkeitspläne verwalten",
@@ -2582,7 +2608,7 @@
"date": "Datum",
"overlaps_with_existing_schedule": "Dies überlappt sich mit einem bestehenden Zeitplan. Bitte wählen Sie ein anderes Datum.",
"org_admin_no_slots|heading": "Keine Verfügbarkeit für {{name}} gefunden",
"org_admin_no_slots|content": "Hallo Organisationsadmins,<br /><br />Bitte beachtet: Wir wurden darauf hingewiesen, dass {{username}} keine Verfügbarkeit hatte, als ein Benutzer {{username}}/{{slug}} besucht hat<br /><br />Das könnte einige Gründe haben<br />Der Benutzer hat keine verbundenen Kalender<br />Seine Zeitpläne, die an dieses Ereignis angeschlossen sind, sind nicht aktiviert<br /> <br />Wir empfehlen, seine Verfügbarkeit zu überprüfen, um das Problem zu beheben.",
"org_admin_no_slots|content": "Hallo Organisationsadministratoren,<br /><br />Bitte beachten: Es wurde uns mitgeteilt, dass {{username}} keine Verfügbarkeit hatte, als ein Benutzer {{username}}/{{slug}} besucht hat<br /><br />Es gibt einige Gründe, warum dies passieren könnte<br />Der Benutzer hat keine Kalender verbunden<br />Die mit diesem Termin verknüpften Zeitpläne sind nicht aktiviert<br /> <br />Wir empfehlen, die Verfügbarkeit zu überprüfen, um dieses Problem zu lösen.",
"org_admin_no_slots|cta": "Benutzerverfügbarkeit öffnen",
"organization_no_slots_notification_switch_title": "Erhalten Sie Benachrichtigungen, wenn Ihr Team keine Verfügbarkeiten hat",
"organization_no_slots_notification_switch_description": "Admins erhalten E-Mail-Benachrichtigungen, wenn ein Benutzer versucht, ein Teammitglied zu buchen, und „Keine Verfügbarkeit“ sieht. Wir lösen diese E-Mail nach zwei Vorfällen aus und erinnern Sie alle 7 Tage pro Benutzer. ",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "{{user}} hat Sie eingeladen, der Organisation {{team}} auf {{appName}} beizutreten",
"email_team_invite|subject|added_to_subteam": "{{user}} hat Sie zum Team {{team}} der Organisation {{parentTeamName}} auf {{appName}} hinzugefügt",
"email_team_invite|subject|invited_to_regular_team": "{{user}} hat Sie eingeladen, dem Team {{team}} auf {{appName}} beizutreten",
"email_team_invite|heading|added_to_org": "Sie wurden zu einer {{appName}}-Organisation hinzugefügt",
"email_team_invite|heading|invited_to_org": "Sie wurden zu einer {{appName}}-Organisation eingeladen",
"email_team_invite|heading|added_to_subteam": "Sie wurden zu einem Team einer {{parentTeamName}}-Organisation hinzugefügt",
"email_team_invite|heading|invited_to_subteam": "Sie wurden zu einem Team einer {{parentTeamName}}-Organisation eingeladen",
"email_team_invite|heading|invited_to_regular_team": "Sie wurden eingeladen, einem {{appName}}-Team beizutreten",
"email_team_invite|heading|added_to_org": "Du wurdest zu einer {{appName}}-Organisation hinzugefügt",
"email_team_invite|heading|invited_to_org": "Du wurdest zu einer {{appName}}-Organisation eingeladen",
"email_team_invite|heading|added_to_subteam": "Du wurdest zu einem Team der {{parentTeamName}}-Organisation hinzugefügt",
"email_team_invite|heading|invited_to_subteam": "Du wurdest zu einem Team der {{parentTeamName}}-Organisation eingeladen",
"email_team_invite|heading|invited_to_regular_team": "Du wurdest eingeladen, einem {{appName}}-Team beizutreten",
"email_team_invite|content|added_to_org": "{{invitedBy}} hat Sie zur <strong>{{teamName}}</strong>-Organisation hinzugefügt.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} hat Sie zur {{teamName}}-Organisation eingeladen.",
"email_team_invite|subject|invited_to_subteam": "{{user}} hat Sie eingeladen, dem Team {{team}} der Organisation {{parentTeamName}} auf {{appName}} beizutreten",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Begrenzen Sie, wie oft Mitglieder über alle Team-Ereignistypen hinweg gebucht werden können",
"booking_limits_updated_successfully": "Buchungslimits erfolgreich aktualisiert",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Sie sind nicht berechtigt, diese Änderung an der Buchung vorzunehmen",
"delegation_credential_disabled": "Delegierungsnachweis deaktiviert",
"matching_members": "Passende Mitglieder",
"x_matching_members": "{{x}} passende Mitglieder",
"matching_members_queue_using_attribute_weights": "Warteschlange für passende Mitglieder (mit Attributgewichtung)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Ja, neu zuweisen",
"filter_by_attributes": "Nach Attributen filtern",
"reassign_reason": "Grund für die Neuzuweisung",
"field_type_change_suggestion": "Das Ändern des Feldtyps kann zu Datenverlust führen. Bitte erstelle stattdessen ein neues Feld.",
"reassigned_by": "Neu zugewiesen von",
"row": "Zeile",
"rows": "Zeilen",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Weitergeleitet pro Zeitraum",
"per_day": "Pro Tag",
"per_week": "Pro Woche",
"per_month": "pro Monat",
"per_month": "Pro Monat",
"routing_form_insights_assignment_reason": "Zuweisungsgrund",
"access_denied": "Zugriff verweigert",
"salesforce_route_to_owner": "Der Kontaktinhaber wird der Round Robin Host sein, falls verfügbar",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Sie haben keine berechtigung, eine organisation für diese e-mail-adresse zu erstellen",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Sie haben keine berechtigung, eines oder mehrere der teams zu migrieren",
"organization_has_subscription_already": "Die organisation hat bereits ein abonnement",
"reset_interval_weighted_rr": "Intervall für gewichtetes Round Robin zurücksetzen",
"interval": "Intervall",
"rr_reset_interval_description": "Legt fest, wie oft der Round Robin Buchungszähler zurückgesetzt wird, um eine ausgewogene Verteilung zu gewährleisten.",
"daily": "Täglich",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Es gibt bereits eine umgekehrte Weiterleitung zwischen diesen Benutzern.",
"previous_ooo_empty_title": "Keine vorherige Abwesenheit gefunden",
"previous": "Vorherige",
"rr_interval_successfully_updated": "Round Robin-Intervall erfolgreich aktualisiert",
"trial_mode": "Testmodus",
"inactive_team_plan": "Inaktiver Team-Plan",
"inactive_team_plan_description": "Ihr Team-Plan ist inaktiv. Überprüfen Sie Ihr Abonnement oder wenden Sie sich an den Kundensupport",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Sie haben noch kein Team",
"no_team_members": "Sie haben noch keine Teammitglieder",
"recurring_event_doesnt_support_seats": "Wiederkehrende Events unterstützen die Sitzplatzfunktion nicht. Machen Sie es zu einem einmaligen Event, um Sitzplätze zu aktivieren.",
"booking_limit_per_booker_doesnt_support_recurring": "Wiederkehrende Ereignisse unterstützen die Funktion zur Buchungsbegrenzung pro Bucher nicht. Deaktiviere die Buchungsbegrenzung pro Bucher, um wiederkehrende Ereignisse zu aktivieren.",
"seats_doesnt_support_recurring": "Die Sitzplatzfunktion unterstützt keine wiederkehrenden Events. Deaktivieren Sie die Sitzplatzfunktion, um es wiederkehrend zu machen.",
"recurring_event_seats_error": "Wiederkehrende Events unterstützen die Sitzplatzfunktion nicht. Deaktivieren Sie die Sitzplatzfunktion oder machen Sie das Event nicht wiederkehrend.",
"segment": "Segment",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Delegierungsnachweis aktivieren",
"enable_delegation_credential_description": "Gewähren Sie Cal.com automatischen Zugriff auf die Kalender aller Organisationsmitglieder, indem Sie den Delegierungsnachweis aktivieren.",
"disable_delegation_credential": "Delegierungsnachweis deaktivieren",
"disable_delegation_credential_description": "Sobald der Delegierungsnachweis deaktiviert ist, müssen Organisationsmitglieder, die ihre Kalender noch nicht verbunden haben, dies manuell tun.",
"disable_delegation_credential_description": "Sobald die Delegationsanmeldedaten deaktiviert sind, müssen Organisationsmitglieder, die ihre Kalender noch nicht verbunden haben, dies manuell tun.",
"last_active": "Zuletzt aktiv",
"member_since": "Mitglied seit",
"last_updated": "Zuletzt aktualisiert",
@@ -3202,10 +3233,131 @@
"matching": "Übereinstimmung",
"event_redirect": "Event-Weiterleitung",
"reset_form": "Formular zurücksetzen",
"rr_settings_successfully_updated": "Round Robin-Einstellungen erfolgreich aktualisiert",
"distribution_basis_weighted_rr": "Verteilungsgrundlage für gewichtetes Round Robin",
"timestamp_basis_description": "Bestimmt, welcher Ereigniszeitstempel als Grundlage für die gewichtete Round Robin-Verteilung verwendet wird.",
"requires_credits": "Erfordert Credits",
"requires_credits_tooltip": "Du benötigst genügend Credits in deinem Konto, um diese Funktion zu nutzen",
"available_credits": "Verfügbare Credits",
"create_role": "Rolle erstellen",
"roles_and_permissions": "Rollen & Berechtigungen",
"roles_and_permissions_description": "Verwalte Rollen und Berechtigungen für deine Organisation",
"learn_more_permissions": "Erfahre mehr darüber, wie Berechtigungen funktionieren",
"role_name": "Rollenname",
"role_name_placeholder": "z.B. Vertriebsteam, Support-Mitarbeiter",
"role_description": "Rollenbeschreibung",
"role_description_placeholder": "Beschreibe, wofür diese Rolle gedacht ist und welche Berechtigungen sie benötigt",
"default_role": "Standardrolle",
"custom_role": "Benutzerdefinierte Rolle",
"advanced": "Erweitert",
"search_permissions": "Berechtigungen suchen",
"all_permissions": "Alle Berechtigungen",
"none": "Keine",
"read_only": "Nur lesen",
"pbac_desc_all_actions_all_resources": "Alle Aktionen für alle Ressourcen",
"pbac_resource_all": "Alle Ressourcen",
"pbac_resource_event_type": "Ereignistypen",
"pbac_resource_team": "Teams",
"pbac_resource_organization": "Organization",
"pbac_resource_booking": "Buchungen",
"pbac_resource_insights": "Erkenntnisse",
"pbac_resource_role": "Rollen",
"pbac_action_all": "Alle Aktionen",
"pbac_action_create": "Erstellen",
"pbac_action_read": "Ansehen",
"pbac_action_update": "Bearbeiten",
"pbac_action_delete": "Löschen",
"pbac_action_manage": "Verwalten",
"pbac_action_invite": "Einladen",
"pbac_action_remove": "Entfernen",
"pbac_action_change_member_role": "Mitgliedsrolle ändern",
"pbac_action_list_members": "Mitglieder auflisten",
"pbac_action_manage_billing": "Abrechnung verwalten",
"pbac_action_read_team_bookings": "Team-Buchungen ansehen",
"pbac_action_read_org_bookings": "Organizations-Buchungen ansehen",
"pbac_action_read_recordings": "Aufnahmen anzeigen",
"role_created_successfully": "Rolle erfolgreich erstellt",
"role_updated_successfully": "Rolle erfolgreich aktualisiert",
"delete_role": "Rolle löschen",
"confirm_delete_role": "Sind Sie sicher, dass Sie diese Rolle löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
"role_deleted_successfully": "Rolle erfolgreich gelöscht",
"error_creating_role": "Fehler beim Erstellen der Rolle",
"error_updating_role": "Fehler beim Aktualisieren der Rolle",
"pbac_desc_create_roles": "Rollen erstellen",
"pbac_desc_view_roles": "Rollen anzeigen",
"pbac_desc_update_roles": "Rollen aktualisieren",
"pbac_desc_delete_roles": "Rollen löschen",
"pbac_desc_manage_roles": "Alle Aktionen für Rollen",
"pbac_desc_create_event_types": "Ereignistypen erstellen",
"pbac_desc_view_event_types": "Ereignistypen anzeigen",
"pbac_desc_update_event_types": "Ereignistypen aktualisieren",
"pbac_desc_delete_event_types": "Ereignistypen löschen",
"pbac_desc_manage_event_types": "Alle Aktionen für Ereignistypen",
"pbac_desc_create_teams": "Teams erstellen",
"pbac_desc_view_team_details": "Teamdetails anzeigen",
"pbac_desc_update_team_settings": "Teameinstellungen aktualisieren",
"pbac_desc_delete_team": "Team löschen",
"pbac_desc_invite_team_members": "Teammitglieder einladen",
"pbac_desc_remove_team_members": "Teammitglieder entfernen",
"pbac_desc_change_team_member_role": "Rolle von Teammitgliedern ändern",
"pbac_desc_manage_teams": "Alle Aktionen für Teams",
"pbac_desc_create_organization": "Organisation erstellen",
"pbac_desc_view_organization_details": "Organisationsdetails anzeigen",
"pbac_desc_list_organization_members": "Organisationsmitglieder auflisten",
"pbac_desc_invite_organization_members": "Organisationsmitglieder einladen",
"pbac_desc_remove_organization_members": "Organisationsmitglieder entfernen",
"pbac_desc_manage_organization_billing": "Organisationsabrechnung verwalten",
"pbac_desc_change_organization_member_role": "Rolle von Organisationsmitgliedern ändern",
"pbac_desc_edit_organization_settings": "Organisationseinstellungen bearbeiten",
"pbac_desc_manage_organizations": "Alle Aktionen für Organisationen",
"pbac_desc_view_bookings": "Buchungen anzeigen",
"pbac_desc_view_team_bookings": "Team-Buchungen anzeigen",
"pbac_desc_view_organization_bookings": "Organisationsbuchungen anzeigen",
"pbac_desc_view_booking_recordings": "Buchungsaufzeichnungen anzeigen",
"pbac_desc_update_bookings": "Buchungen aktualisieren",
"pbac_desc_manage_bookings": "Alle Aktionen für Buchungen",
"pbac_desc_view_team_insights": "Team-Insights anzeigen",
"pbac_desc_manage_team_insights": "Team-Insights verwalten",
"read_permission_auto_enabled_tooltip": "Leseberechtigung wird automatisch aktiviert, wenn eine Ressource erstellt, aktualisiert oder gelöscht wird",
"choose_restriction_schedule": "Einschränkungszeitplan hinzufügen",
"choose_restriction_schedule_description": "Aktivieren Sie dies, wenn Sie die Verfügbarkeit von Hosts für diesen Ereignistyp basierend auf einem Einschränkungszeitplan begrenzen möchten. Dies entfernt nur die Zeitfenster, die nicht im Einschränkungszeitplan enthalten sind, es werden keine neuen Zeitfenster hinzugefügt.",
"use_booker_timezone": "Zeitzone des Buchenden verwenden",
"use_booker_timezone_info": "Den ausgewählten Einschränkungszeitplan in der Zeitzone des Buchenden anwenden",
"load_balancing_warning": "Dies deaktiviert die Lastverteilung für alle Ihre Round-Robin-Ereignistypen",
"rr_load_balancing_disabled": "Lastverteilung ist nur verfügbar, wenn die Zeitstempelbasis auf Buchungserstellungszeit eingestellt ist",
"round_robin_settings_description": "Passen Sie die Standard-Round-Robin-Einstellungen für dieses Team an",
"round_robin_settings_updated_successfully": "Round-Robin-Einstellungen erfolgreich aktualisiert",
"booking_creation_time": "Zeitpunkt der Buchungserstellung",
"meeting_start_time": "Beginn des Meetings",
"members_affected_by_disabling_delegation_credential": "Betroffene Mitglieder",
"no_members_affected_by_disabling_delegation_credential": "Keine Mitglieder von der Deaktivierung der Delegationsanmeldedaten betroffen",
"download_expense_log": "Ausgabenprotokoll herunterladen",
"error_downloading_expense_log": "Fehler beim Herunterladen des Ausgabenprotokolls",
"offer_to_reschedule_last_booking": "Angebot zur Umbuchung der letzten aktiven Buchung auf den gewählten Zeitraum",
"booker_limit_exceeded_error": "Maximale Anzahl aktiver Buchungen des Buchers überschritten",
"booker_limit_exceeded_error_reschedule": "Sie haben bereits eine Buchung für dieses Event am {{date}}. Möchten Sie auf die neu gewählte Zeit umbuchen?",
"duration_min_error": "Die Dauer muss mindestens {{min}} Minute(n) betragen",
"duration_max_error": "Die Dauer darf {{max}} Minuten (24 Stunden) nicht überschreiten",
"booking_not_allowed_by_restriction_schedule_error": "Buchung außerhalb der Verfügbarkeit des Einschränkungsplans.",
"restriction_schedule_not_found_error": "Einschränkungsplan nicht gefunden",
"converted_image_size_limit_exceed": "Bildgrößenlimit überschritten, bitte verwenden Sie ein kleineres Bild, vorzugsweise im JPEG-Format",
"license_key": "Lizenzschlüssel",
"license_selection_title": "Wählen Sie ihre Lizenz",
"license_selection_description": "Wählen Sie, wie Sie Ihre Cal.com-Bereitstellung lizenzieren möchten",
"agplv3_license_description": "Verwenden Sie Cal.com unter der AGPLv3 Open-Source-Lizenz",
"enter_license_key": "Lizenzschlüssel eingeben",
"enter_your_license_key": "Zugang zu allen Enterprise-Funktionen",
"enter_existing_license": "Ab 15 $/Benutzer pro Monat",
"enter_license_key_description": "Zugang zu allen Enterprise-Funktionen",
"license_key_placeholder": "Geben Sie Ihren Lizenzschlüssel ein",
"save_license_key": "Lizenzschlüssel speichern",
"signature_token_optional": "Signatur-Token (optional)",
"signature_token_description": "Das Signatur-Token wird verwendet, um zu überprüfen, ob der Lizenzschlüssel Ihnen gehört, wenn nutzungsbasierte Abrechnungen erhöht werden. Sie finden es in Ihrer Kaufbestätigungs-E-Mail. Wenn Sie eine ältere Lizenz haben, können Sie dieses Feld leer lassen.",
"need_a_license": "Benötigen Sie eine Lizenz?",
"license_key_required": "Lizenzschlüssel ist erforderlich",
"invalid_license_key": "Ungültiger Lizenzschlüssel",
"license_validation_failed": "Validierung des Lizenzschlüssels fehlgeschlagen",
"license_key_saved": "Lizenzschlüssel erfolgreich gespeichert",
"timezone_mismatch_tooltip": "Sie sehen den Bericht basierend auf Ihrer Profil-Zeitzone ({{userTimezone}}), während Ihr Browser auf die Zeitzone ({{browserTimezone}}) eingestellt ist",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Fügen Sie Ihre neuen Code-Zeilen über dieser hinzu ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+172 -20
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Προσαρμογή ρυθμίσεων Cal Video",
"calvideo_settings_description": "Διαμορφώστε τις προτιμήσεις βιντεοσυναντήσεων, συμπεριλαμβανομένων των δικαιωμάτων εγγραφής για οικοδεσπότες και συμμετέχοντες.",
"disable_recording_for_guests": "Απενεργοποίηση εγγραφής για επισκέπτες",
"enable_automatic_transcription": "Ενεργοποίηση αυτόματης απομαγνητοφώνησης μετά την είσοδο στη συνάντηση",
"video_options": "Επιλογές βίντεο",
"get_meeting_session_details": "Λήψη λεπτομερειών συνεδρίας συνάντησης",
"meeting_session_details": "Λεπτομέρειες συνεδρίας συνάντησης",
"meeting_session": "Συνεδρία συνάντησης",
"session_id": "Αναγνωριστικό συνεδρίας",
"max_participants": "Μέγιστος αριθμός συμμετεχόντων",
"unlimited": "Απεριόριστο",
"ongoing": "Σε εξέλιξη",
"ended": "Ολοκληρώθηκε",
"participants": "Συμμετέχοντες",
"anonymous_user": "Ανώνυμος χρήστης",
"session_duration": "Διάρκεια συνεδρίας",
"no_meeting_sessions_found": "Δεν βρέθηκαν συνεδρίες συναντήσεων",
"not_available": "Μη διαθέσιμο",
"disable_recording_for_organizer": "Απενεργοποίηση εγγραφής για διοργανωτή",
"disable_transcription_for_guests": "Απενεργοποίηση απομαγνητοφώνησης για επισκέπτες",
"disable_transcription_for_organizer": "Απενεργοποίηση απομαγνητοφώνησης για διοργανωτή",
"event_request_declined_recurring": "Το αίτημα επαναλαμβανόμενης εκδήλωσής σας απορρίφθηκε",
"event_request_cancelled": "Η προγραμματισμένη εκδήλωσή σας ακυρώθηκε",
"event_request_reassigned": "Η προγραμματισμένη εκδήλωσή σας ανατέθηκε εκ νέου",
@@ -264,6 +281,8 @@
"guests": "Επισκέπτες",
"guest": "Επισκέπτης",
"web_conferencing_details_to_follow": "Οι λεπτομέρειες της διαδικτυακής διάσκεψης θα ακολουθήσουν στο email επιβεβαίωσης.",
"confirmation": "Επιβεβαίωση",
"what_booker_should_provide": "Τι πρέπει να παρέχει ο κράτων για να λάβει επιβεβαιώσεις",
"404_the_user": "Το όνομα χρήστη",
"username": "Όνομα χρήστη",
"is_still_available": "είναι ακόμα διαθέσιμο.",
@@ -331,7 +350,7 @@
"organization_general_description": "Διαχειριστείτε τις ρυθμίσεις γλώσσας και ζώνης ώρας για την ομάδα σας",
"few_sentences_about_yourself": "Μερικά λόγια για τον εσάς. Αυτό θα εμφανιστεί στην προσωπική σελίδα σας.",
"nearly_there": "Σχεδόν έτοιμοι!",
"nearly_there_instructions": "Τελευταίο βήμα, μια σύντομη περιγραφή για εσάς και μια φωτογραφία βοηθούν πραγματικά στις κρατήσεις και επιτρέπουν στους άλλους να γνωρίζουν με ποιον κάνουν κράτηση.",
"nearly_there_instructions": "Τελευταίο πράγμα, μια σύντομη περιγραφή για εσάς και μια φωτογραφία βοηθά πραγματικά στις κρατήσεις και επιτρέπει στους ανθρώπους να γνωρίζουν με ποιον κάνουν κράτηση.",
"set_availability_instructions": "Καθορίστε χρονικά διαστήματα που είστε διαθέσιμοι σε επαναλαμβανόμενη βάση. Μπορείτε να δημιουργήσετε περισσότερα αργότερα και να τα αντιστοιχίσετε σε διαφορετικά ημερολόγια.",
"set_availability": "Όρισε τη διαθεσιμότητά σου",
"set_availbility_description": "Ορίστε προγράμματα για τις ώρες που θέλετε να είστε διαθέσιμοι για κράτηση.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Συνδέστε το ημερολόγιό σας",
"connect_your_video_app": "Συνδέστε τις εφαρμογές βιντεοκλήσεων",
"connect_your_video_app_instructions": "Συνδέστε τις εφαρμογές βιντεοκλήσεων για να τις χρησιμοποιήσετε στους τύπους εκδηλώσεών σας.",
"connect_your_calendar_instructions": "Συνδέστε το ημερολόγιό σας για να ελέγχετε αυτόματα τις κατειλημμένες ώρες και τα νέα συμβάντα καθώς προγραμματίζονται.",
"connect_your_calendar_instructions": "Συνδέστε το ημερολόγιό σας για να ελέγχετε αυτόματα για απασχολημένες ώρες και νέα συμβάντα καθώς προγραμματίζονται.",
"set_up_later": "Ρύθμιση αργότερα",
"current_time": "Τρέχουσα ώρα",
"details": "Λεπτομέρειες",
"welcome": "Καλωσορίσατε",
"welcome_back": "Καλωσορίσατε πίσω",
"welcome_to_calcom": "Καλωσορίσατε στο {{appName}}",
"welcome_instructions": "Πείτε μας πώς θέλετε να σας αποκαλούμε και ενημερώστε μας για τη ζώνη ώρας σας. Μπορείτε να το επεξεργαστείτε αργότερα.",
"welcome_instructions": "Πείτε μας πώς θέλετε να σας αποκαλούμε και ενημερώστε μας για τη ζώνη ώρας στην οποία βρίσκεστε. Θα μπορείτε να το επεξεργαστείτε αργότερα.",
"connect_caldav": "Σύνδεση στο CalDav (Beta)",
"connect_ics_feed": "Σύνδεση με ICS Feed",
"connect": "Σύνδεση",
@@ -361,7 +380,7 @@
"when": "Πότε",
"where": "Πού",
"add_to_calendar": "Προσθήκη στο ημερολόγιο",
"add_to_calendar_description": "Επιλέξτε πού θα προστίθενται τα συμβάντα όταν γίνεται κράτηση.",
"add_to_calendar_description": "Επιλέξτε πού θα προσθέτετε συμβάντα όταν γίνεται κράτηση.",
"add_events_to": "Προσθήκη συμβάντων σε",
"add_another_calendar": "Προσθήκη άλλου ημερολογίου",
"other": "Άλλο",
@@ -1153,6 +1172,7 @@
"test_failed": "Η δοκιμή απέτυχε",
"provide_api_key": "Εισάγετε κλειδί API",
"api_key_modal_subtitle": "Τα κλειδιά API σας επιτρέπουν να κάνετε κλήσεις API για τον λογαριασμό σας.",
"api_key_modal_subtitle_platform": "Δημιουργήστε μια αγορά ή πλατφόρμα αντί αυτού.",
"api_keys_subtitle": "Δημιουργήστε κλειδιά API για πρόσβαση στον λογαριασμό σας.",
"create_api_key": "Δημιουργία κλειδιού API",
"personal_note": "Ονομάστε αυτό το κλειδί",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Ανάκληση αυτού του κλειδιού API",
"disable_rescheduling": "Απενεργοποίηση επαναπρογραμματισμού",
"description_disable_rescheduling": "Οι επισκέπτες δεν μπορούν πλέον να επαναπρογραμματίσουν το συμβάν μέσω πρόσκλησης ημερολογίου ή email",
"allow_rescheduling_cancelled_bookings": "Επιτρέψτε την κράτηση μέσω συνδέσμου επαναπρογραμματισμού",
"description_allow_rescheduling_cancelled_bookings": "Όταν είναι ενεργοποιημένο, οι χρήστες θα μπορούν να δημιουργήσουν νέα κράτηση όταν προσπαθούν να επαναπρογραμματίσουν μια ακυρωμένη κράτηση",
"disable_cancelling": "Απενεργοποίηση ακύρωσης",
"description_disable_cancelling": "Οι επισκέπτες δεν μπορούν πλέον να ακυρώσουν το συμβάν μέσω πρόσκλησης ημερολογίου ή email",
"revoke_api_key": "Ανάκληση κλειδιού API",
@@ -1572,7 +1594,7 @@
"location_info": "Η τοποθεσία της εκδήλωσης",
"additional_notes_info": "Οι πρόσθετες σημειώσεις της κράτησης",
"attendee_name_info": "Το όνομα του ατόμου που κάνει την κράτηση",
"organizer_name_info": "Το όνομα του διοργανωτή",
"organizer_name_info": "Όνομα διοργανωτή",
"to": "Προς",
"workflow_turned_on_successfully": "Η ροή εργασίας {{workflowName}} {{offOn}} με επιτυχία",
"download_responses": "Λήψη απαντήσεων",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "Τα κλειδιά API επιτρέπουν σε άλλες εφαρμογές να επικοινωνούν με το {{appName}}",
"back_to_signin": "Επιστροφή στη σύνδεση",
"reset_link_sent": "Ο σύνδεσμος επαναφοράς εστάλη",
"password_reset_email": "Ένα email βρίσκεται καθ' οδόν προς το {{email}} με οδηγίες για την επαναφορά του κωδικού σας.",
"password_reset_email": "Ένα email έχει σταλεί στο {{email}} με οδηγίες για την επαναφορά του κωδικού πρόσβασής σας.",
"password_reset_leading": "Εάν δεν λάβετε σύντομα email, ελέγξτε ότι η διεύθυνση email που εισαγάγατε είναι σωστή, ελέγξτε τον φάκελο ανεπιθύμητης αλληλογραφίας ή επικοινωνήστε με την υποστήριξη εάν το πρόβλημα παραμένει.",
"password_updated": "Ο κωδικός ενημερώθηκε!",
"pending_payment": "Εκκρεμής πληρωμή",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Αυτό θα περιορίσει τη διαθεσιμότητά σας για αυτόν τον τύπο εκδήλωσης σε μία θέση ανά ημέρα, προγραμματισμένη την πρώτη διαθέσιμη ώρα.",
"limit_total_booking_duration": "Περιορισμός συνολικής διάρκειας κράτησης",
"limit_total_booking_duration_description": "Περιορίστε τη συνολική διάρκεια που μπορεί να γίνει κράτηση αυτού του συμβάντος",
"booker_booking_limit": "Όριο ενεργών κρατήσεων χρήστη",
"booker_booking_limit_description": "Περιορίστε τον αριθμό των ενεργών κρατήσεων που μπορεί να κάνει ένας χρήστης για αυτόν τον τύπο εκδήλωσης",
"recurring_event_doesnt_support_booker_booking_limit": "Οι επαναλαμβανόμενες εκδηλώσεις δεν υποστηρίζουν το όριο κρατήσεων χρήστη",
"add_limit": "Προσθήκη ορίου",
"team_name_required": "Απαιτείται όνομα ομάδας",
"show_attendees": "Κοινοποίηση πληροφοριών συμμετεχόντων μεταξύ των προσκεκλημένων",
"show_available_seats_count": "Εμφάνιση του αριθμού των διαθέσιμων θέσεων",
"how_booking_questions_as_variables": "Πώς να χρησιμοποιήσετε τις ερωτήσεις κράτησης ως μεταβλητές;",
"format": "Μορφή",
"questions": "Ερωτήσεις",
"all_info_your_booker_provide": "Όλες οι πληροφορίες που πρέπει να παρέχει ο χρήστης πριν κάνει κράτηση μαζί σας.",
"uppercase_for_letters": "Χρησιμοποιήστε κεφαλαία για όλα τα γράμματα",
"replace_whitespaces_underscores": "Αντικαταστήστε τα κενά με κάτω παύλες",
"platform_members": "Μέλη πλατφόρμας",
@@ -1968,11 +1995,11 @@
"organizer_timezone": "Ζώνη ώρας διοργανωτή",
"email_user_cta": "Προβολή πρόσκλησης",
"email_no_user_invite_heading_subteam": "Έχετε προσκληθεί να συμμετάσχετε σε μια ομάδα του οργανισμού {{parentTeamName}}",
"email_no_user_invite_heading_org": "Έχετε προσκληθεί να συμμετάσχετε σε έναν οργανισμό του {{appName}}",
"email_no_user_invite_heading_org": "Έχετε προσκληθεί να συμμετάσχετε σε έναν οργανισμό {{appName}}",
"email_no_user_invite_subheading": "Ο/Η {{invitedBy}} σας έχει προσκαλέσει να συμμετάσχετε στην ομάδα τους στο {{appName}}. Το {{appName}} είναι ο προγραμματιστής συναντήσεων που επιτρέπει σε εσάς και την ομάδα σας να κανονίζετε συναντήσεις χωρίς ατελείωτα email.",
"email_user_invite_subheading_subteam": "Ο/Η {{invitedBy}} σας έχει προσκαλέσει να συμμετάσχετε στην ομάδα {{teamName}} του οργανισμού {{parentTeamName}} στο {{appName}}. Το {{appName}} είναι ο προγραμματιστής συναντήσεων που επιτρέπει σε εσάς και την ομάδα σας να κανονίζετε συναντήσεις χωρίς ατελείωτα email.",
"email_user_invite_subheading_org": "Ο/Η {{invitedBy}} σας έχει προσκαλέσει να συμμετάσχετε στον οργανισμό {{teamName}} στο {{appName}}. Το {{appName}} είναι ο προγραμματιστής συναντήσεων που επιτρέπει σε εσάς και τον οργανισμό σας να κανονίζετε συναντήσεις χωρίς ατελείωτα email.",
"email_no_user_invite_steps_intro": "Θα σας καθοδηγήσουμε μέσα από μερικά σύντομα βήματα και σύντομα θα απολαμβάνετε προγραμματισμό χωρίς άγχος με το {{entity}} σας.",
"email_no_user_invite_steps_intro": "Θα σας καθοδηγήσουμε μέσα από μερικά σύντομα βήματα και θα απολαμβάνετε προγραμματισμό χωρίς άγχος με το {{entity}} σας σε ελάχιστο χρόνο.",
"email_no_user_step_one": "Επιλέξτε το όνομα χρήστη σας",
"email_no_user_step_two": "Συνδέστε τον λογαριασμό του ημερολογίου σας",
"email_no_user_step_three": "Ορίστε τη διαθεσιμότητά σας",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Λάβετε τεκμηριωμένες αποφάσεις με τα Insights",
"make_informed_decisions_description": "Ο πίνακας ελέγχου Insights παρουσιάζει όλη τη δραστηριότητα της ομάδας σας και σας δείχνει τάσεις που επιτρέπουν καλύτερο προγραμματισμό και λήψη αποφάσεων για την ομάδα.",
"view_bookings_across": "Προβολή κρατήσεων σε όλα τα μέλη",
"view_bookings_across_description": "Δείτε ποιος λαμβάνει τις περισσότερες κρατήσεις και εξασφαλίστε την καλύτερη κατανομή στην ομάδα σας",
"view_bookings_across_description": "Δείτε ποιος λαμβάνει τις περισσότερες κρατήσεις και διασφαλίστε την καλύτερη κατανομή σε όλη την ομάδα σας",
"identify_booking_trends": "Αναγνώριση τάσεων κρατήσεων",
"identify_booking_trends_description": "Δείτε ποιες ώρες της εβδομάδας και ποιες ώρες της ημέρας είναι δημοφιλείς για τους πελάτες σας",
"spot_popular_event_types": "Εντοπίστε δημοφιλείς τύπους εκδηλώσεων",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "Δεν βρέθηκαν δεδομένα για το επιλεγμένο φίλτρο ή τις επιλεγμένες ημερομηνίες.",
"acknowledge_booking_no_show_fee": "Αναγνωρίζω ότι εάν δεν παρευρεθώ σε αυτήν την εκδήλωση, θα χρεωθεί στην κάρτα μου τέλος μη προσέλευσης ύψους {{amount, currency}}.",
"card_details": "Στοιχεία κάρτας",
"something_went_wrong_on_our_end": "Κάτι πήγε στραβά από την πλευρά μας. Επικοινωνήστε με την ομάδα υποστήριξης και θα το διορθώσουμε άμεσα.",
"something_went_wrong_on_our_end": "Κάτι πήγε στραβά από την πλευρά μας. Επικοινωνήστε με την ομάδα υποστήριξής μας και θα το διορθώσουμε αμέσως για εσάς.",
"please_provide_following_text_to_suppport": "Παρακαλούμε παρέχετε το ακόλουθο κείμενο όταν επικοινωνείτε με την υποστήριξη για καλύτερη βοήθεια",
"seats_and_no_show_fee_error": "Προς το παρόν δεν είναι δυνατή η ενεργοποίηση θέσεων και η χρέωση τέλους μη προσέλευσης",
"complete_your_booking": "Ολοκληρώστε την κράτησή σας",
@@ -2276,7 +2303,7 @@
"messaging": "Μηνύματα",
"sender_id_info": "Όνομα ή αριθμός που εμφανίζεται ως αποστολέας ενός SMS (ορισμένες χώρες δεν επιτρέπουν αλφαριθμητικά αναγνωριστικά αποστολέα)",
"org_admins_can_create_new_teams": "Μόνο ο διαχειριστής του οργανισμού σας μπορεί να δημιουργήσει νέες ομάδες",
"google_new_spam_policy": "Η νέα πολιτική spam της Google θα μπορούσε να σας εμποδίσει να λαμβάνετε ειδοποιήσεις email και ημερολογίου σχετικά με αυτή την κράτηση.",
"google_new_spam_policy": "Η νέα πολιτική της Google για τα ανεπιθύμητα μηνύματα θα μπορούσε να σας εμποδίσει να λαμβάνετε ειδοποιήσεις μέσω email και ημερολογίου σχετικά με αυτή την κράτηση.",
"resolve": "Επίλυση",
"no_organization_slug": "Υπήρξε σφάλμα κατά τη δημιουργία ομάδων για αυτόν τον οργανισμό. Λείπει το URL slug.",
"copy_link_org": "Αντιγραφή συνδέσμου οργανισμού",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "Το διαπιστευτήριο εξουσιοδότησης σας επιτρέπει να διαχειρίζεστε την πρόσβαση στα ημερολόγια του Google Workspace για τον οργανισμό σας.",
"add_client_id_in_google_workspace_with_below_scope": "Προσθέστε αυτό το Client Id στο Google Workspace με το παρακάτω scope",
"delegation_credential_enabled": "Το διαπιστευτήριο εξουσιοδότησης είναι ενεργοποιημένο",
"delegation_credential_disabled": "Το διαπιστευτήριο εξουσιοδότησης είναι απενεργοποιημένο",
"add_delegation_credential": "Προσθήκη διαπιστευτηρίου εξουσιοδότησης",
"edit_delegation_credential": "Επεξεργασία διαπιστευτηρίου εξουσιοδότησης",
"domain": "Τομέας",
@@ -2582,7 +2608,7 @@
"date": "Ημερομηνία",
"overlaps_with_existing_schedule": "Αυτό επικαλύπτεται με ένα υπάρχον πρόγραμμα. Παρακαλώ επιλέξτε διαφορετική ημερομηνία.",
"org_admin_no_slots|heading": "Δεν βρέθηκε διαθεσιμότητα για {{name}}",
"org_admin_no_slots|content": "Γεια σας Διαχειριστές Οργανισμού,<br /><br />Παρακαλώ σημειώστε: Έχει υποπέσει στην αντίληψή μας ότι ο/η {{username}} δεν είχε καμία διαθεσιμότητα όταν ένας χρήστης επισκέφθηκε το {{username}}/{{slug}}<br /><br />Υπάρχουν μερικοί λόγοι για τους οποίους μπορεί να συμβαίνει αυτό<br />Ο χρήστης δεν έχει συνδεδεμένα ημερολόγια<br />Τα προγράμματά τους που συνδέονται με αυτή την εκδήλωση δεν είναι ενεργοποιημένα<br /> <br />Συνιστούμε να ελέγξετε τη διαθεσιμότητά τους για την επίλυση αυτού του ζητήματος.",
"org_admin_no_slots|content": "Γεια σας Διαχειριστές Οργανισμού,<br /><br />Παρακαλώ σημειώστε: Έχει έρθει στην προσοχή μας ότι ο/η {{username}} δεν είχε καμία διαθεσιμότητα όταν ένας χρήστης επισκέφθηκε το {{username}}/{{slug}}<br /><br />Υπάρχουν μερικοί λόγοι για τους οποίους μπορεί να συμβαίνει αυτό<br />Ο χρήστης δεν έχει συνδεδεμένα ημερολόγια<br />Τα προγράμματά του που είναι συνδεδεμένα με αυτή την εκδήλωση δεν είναι ενεργοποιημένα<br /> <br />Συνιστούμε να ελέγξετε τη διαθεσιμότητά του για να επιλύσετε αυτό το ζήτημα.",
"org_admin_no_slots|cta": "Άνοιγμα διαθεσιμότητας χρηστών",
"organization_no_slots_notification_switch_title": "Λάβετε ειδοποιήσεις όταν η ομάδα σας δεν έχει διαθεσιμότητα",
"organization_no_slots_notification_switch_description": "Οι διαχειριστές θα λαμβάνουν ειδοποιήσεις μέσω email όταν ένας χρήστης προσπαθεί να κλείσει ραντεβού με μέλος της ομάδας και αντιμετωπίζει 'Καμία διαθεσιμότητα'. Στέλνουμε αυτό το email μετά από δύο περιστατικά και σας υπενθυμίζουμε κάθε 7 ημέρες ανά χρήστη.",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "{{user}} invited you to join the organization {{team}} on {{appName}}",
"email_team_invite|subject|added_to_subteam": "{{user}} added you to the team {{team}} of organization {{parentTeamName}} on {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "Ο χρήστης {{user}} σας προσκάλεσε να συμμετάσχετε στην ομάδα {{team}} στο {{appName}}",
"email_team_invite|heading|added_to_org": "You’ve been added to a {{appName}} organization",
"email_team_invite|heading|invited_to_org": "You’ve been invited to a {{appName}} organization",
"email_team_invite|heading|added_to_subteam": "You’ve been added to a team of {{parentTeamName}} organization",
"email_team_invite|heading|invited_to_subteam": "You’ve been invited to a team of {{parentTeamName}} organization",
"email_team_invite|heading|invited_to_regular_team": "You’ve been invited to join a {{appName}} team",
"email_team_invite|heading|added_to_org": "Έχετε προστεθεί σε έναν οργανισμό {{appName}}",
"email_team_invite|heading|invited_to_org": "Έχετε προσκληθεί σε έναν οργανισμό {{appName}}",
"email_team_invite|heading|added_to_subteam": "Έχετε προστεθεί σε μια ομάδα του οργανισμού {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Έχετε προσκληθεί σε μια ομάδα του οργανισμού {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "Έχετε προσκληθεί να συμμετάσχετε σε μια ομάδα {{appName}}",
"email_team_invite|content|added_to_org": "{{invitedBy}} has added you to the <strong>{{teamName}}</strong> organization.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} has invited you to join the {{teamName}} organization.",
"email_team_invite|subject|invited_to_subteam": "Ο/Η {{user}} σας προσκάλεσε να συμμετάσχετε στην ομάδα {{team}} του οργανισμού {{parentTeamName}} στο {{appName}}",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Περιορισμός του πόσες φορές μπορούν να γίνουν κρατήσεις για τα μέλη σε όλους τους τύπους εκδηλώσεων ομάδας",
"booking_limits_updated_successfully": "Τα όρια κρατήσεων ενημερώθηκαν με επιτυχία",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Δεν έχετε εξουσιοδότηση να κάνετε αυτή την αλλαγή στην κράτηση",
"delegation_credential_disabled": "Το διαπιστευτήριο εξουσιοδότησης είναι απενεργοποιημένο",
"matching_members": "Αντιστοίχιση μελών",
"x_matching_members": "{{x}} αντίστοιχα μέλη",
"matching_members_queue_using_attribute_weights": "Ουρά αντιστοίχισης μελών (με χρήση βαρών χαρακτηριστικών)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Ναι, επανανάθεση",
"filter_by_attributes": "Φιλτράρισμα βάσει χαρακτηριστικών",
"reassign_reason": "Αιτία επανανάθεσης",
"field_type_change_suggestion": "Η αλλαγή του τύπου πεδίου μπορεί να προκαλέσει απώλεια δεδομένων. Παρακαλώ δημιουργήστε ένα νέο πεδίο αντί αυτού.",
"reassigned_by": "Ανατέθηκε εκ νέου από",
"row": "γραμμή",
"rows": "γραμμές",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Δρομολογήθηκαν ανά περίοδο",
"per_day": "Ανά ημέρα",
"per_week": "Ανά εβδομάδα",
"per_month": "ανά μήνα",
"per_month": "Ανά μήνα",
"routing_form_insights_assignment_reason": "Αιτία ανάθεσης",
"access_denied": "Δεν επιτρέπεται η πρόσβαση",
"salesforce_route_to_owner": "Ο κάτοχος της επαφής θα είναι ο round robin διοργανωτής εάν είναι διαθέσιμος",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Δεν έχετε άδεια να δημιουργήσετε οργανισμό για αυτό το email",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Δεν έχετε άδεια να μεταφέρετε μία ή περισσότερες από τις ομάδες",
"organization_has_subscription_already": "Ο οργανισμός έχει ήδη συνδρομή",
"reset_interval_weighted_rr": "Επαναφορά διαστήματος για σταθμισμένο Round Robin",
"interval": "Διάστημα",
"rr_reset_interval_description": "Καθορίζει πόσο συχνά επαναφέρεται ο μετρητής κρατήσεων round robin για να διασφαλιστεί η ισορροπημένη κατανομή.",
"daily": "Καθημερινά",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Υπάρχει ήδη αντίστροφη προώθηση μεταξύ αυτών των χρηστών.",
"previous_ooo_empty_title": "Δεν βρέθηκαν προηγούμενες απουσίες",
"previous": "Προηγούμενο",
"rr_interval_successfully_updated": "Το διάστημα Round Robin ενημερώθηκε με επιτυχία",
"trial_mode": "Δοκιμαστική λειτουργία",
"inactive_team_plan": "Ανενεργό πλάνο ομάδας",
"inactive_team_plan_description": "Το πλάνο της ομάδας σας είναι ανενεργό. Ελέγξτε τη συνδρομή σας ή επικοινωνήστε με την εξυπηρέτηση πελατών",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Δεν έχετε ακόμη ομάδα",
"no_team_members": "Δεν έχετε ακόμη μέλη ομάδας",
"recurring_event_doesnt_support_seats": "Η επαναλαμβανόμενη εκδήλωση δεν υποστηρίζει τη λειτουργία θέσεων. Κάντε την μη επαναλαμβανόμενη για να ενεργοποιήσετε τις θέσεις.",
"booking_limit_per_booker_doesnt_support_recurring": "Το επαναλαμβανόμενο συμβάν δεν υποστηρίζει τη λειτουργία ορίου κρατήσεων ανά χρήστη. Απενεργοποιήστε το όριο κρατήσεων ανά χρήστη για να ενεργοποιήσετε το επαναλαμβανόμενο συμβάν.",
"seats_doesnt_support_recurring": "Η λειτουργία θέσεων δεν υποστηρίζει επαναλαμβανόμενη εκδήλωση. Απενεργοποιήστε τη λειτουργία θέσεων για να την κάνετε επαναλαμβανόμενη.",
"recurring_event_seats_error": "Η επαναλαμβανόμενη εκδήλωση δεν υποστηρίζει τη λειτουργία θέσεων. Απενεργοποιήστε τη λειτουργία θέσεων ή κάντε την εκδήλωση μη επαναλαμβανόμενη.",
"segment": "Τμήμα",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Ενεργοποίηση διαπιστευτηρίου εξουσιοδότησης",
"enable_delegation_credential_description": "Παραχωρήστε στο Cal.com αυτόματη πρόσβαση στα ημερολόγια όλων των μελών του οργανισμού ενεργοποιώντας το διαπιστευτήριο εξουσιοδότησης.",
"disable_delegation_credential": "Απενεργοποίηση διαπιστευτηρίου εξουσιοδότησης",
"disable_delegation_credential_description": "Μόλις απενεργοποιηθεί το διαπιστευτήριο εξουσιοδότησης, τα μέλη του οργανισμού που δεν έχουν συνδέσει τα ημερολόγιά τους θα πρέπει να το κάνουν χειροκίνητα.",
"disable_delegation_credential_description": "Μόλις απενεργοποιηθεί το διαπιστευτήριο εκχώρησης, τα μέλη του οργανισμού που δεν έχουν συνδέσει τα ημερολόγιά τους θα πρέπει να το κάνουν χειροκίνητα.",
"last_active": "Τελευταία ενεργός",
"member_since": "Μέλος από",
"last_updated": "Τελευταία ενημέρωση",
@@ -3202,10 +3233,131 @@
"matching": "Αντιστοίχιση",
"event_redirect": "Ανακατεύθυνση εκδήλωσης",
"reset_form": "Επαναφορά φόρμας",
"rr_settings_successfully_updated": "Οι ρυθμίσεις Round Robin ενημερώθηκαν με επιτυχία",
"distribution_basis_weighted_rr": "Βάση κατανομής για σταθμισμένο Round Robin",
"timestamp_basis_description": "Καθορίζει ποια χρονική σήμανση συμβάντος χρησιμοποιείται ως βάση για την κατανομή σταθμισμένου round robin.",
"requires_credits": "Απαιτεί μονάδες",
"requires_credits_tooltip": "Χρειάζεστε αρκετές μονάδες στο λογαριασμό σας για να χρησιμοποιήσετε αυτή τη λειτουργία",
"available_credits": "Διαθέσιμες μονάδες",
"create_role": "Δημιουργία ρόλου",
"roles_and_permissions": "Ρόλοι & Δικαιώματα",
"roles_and_permissions_description": "Διαχειριστείτε ρόλους και δικαιώματα για τον οργανισμό σας",
"learn_more_permissions": "Μάθετε περισσότερα για το πώς λειτουργούν τα Δικαιώματα",
"role_name": "Όνομα ρόλου",
"role_name_placeholder": "π.χ. Ομάδα Πωλήσεων, Προσωπικό Υποστήριξης",
"role_description": "Περιγραφή ρόλου",
"role_description_placeholder": "Περιγράψτε για ποιο σκοπό προορίζεται αυτός ο ρόλος και ποια δικαιώματα χρειάζεται",
"default_role": "Προεπιλεγμένος ρόλος",
"custom_role": "Προσαρμοσμένος ρόλος",
"advanced": "Προχωρημένες ρυθμίσεις",
"search_permissions": "Αναζήτηση δικαιωμάτων",
"all_permissions": "Όλα τα δικαιώματα",
"none": "Κανένα",
"read_only": "Μόνο για ανάγνωση",
"pbac_desc_all_actions_all_resources": "Όλες οι ενέργειες σε όλους τους πόρους",
"pbac_resource_all": "Όλοι οι πόροι",
"pbac_resource_event_type": "Τύποι εκδηλώσεων",
"pbac_resource_team": "Ομάδες",
"pbac_resource_organization": "Οργανισμός",
"pbac_resource_booking": "Κρατήσεις",
"pbac_resource_insights": "Αναλύσεις",
"pbac_resource_role": "Ρόλοι",
"pbac_action_all": "Όλες οι ενέργειες",
"pbac_action_create": "Δημιουργία",
"pbac_action_read": "Προβολή",
"pbac_action_update": "Επεξεργασία",
"pbac_action_delete": "Διαγραφή",
"pbac_action_manage": "Διαχείριση",
"pbac_action_invite": "Πρόσκληση",
"pbac_action_remove": "Αφαίρεση",
"pbac_action_change_member_role": "Αλλαγή ρόλου μέλους",
"pbac_action_list_members": "Λίστα μελών",
"pbac_action_manage_billing": "Διαχείριση τιμολόγησης",
"pbac_action_read_team_bookings": "Προβολή κρατήσεων ομάδας",
"pbac_action_read_org_bookings": "Προβολή κρατήσεων οργανισμού",
"pbac_action_read_recordings": "Προβολή εγγραφών",
"role_created_successfully": "Ο ρόλος δημιουργήθηκε με επιτυχία",
"role_updated_successfully": "Ο ρόλος ενημερώθηκε με επιτυχία",
"delete_role": "Διαγραφή ρόλου",
"confirm_delete_role": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτόν τον ρόλο; Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.",
"role_deleted_successfully": "Ο ρόλος διαγράφηκε με επιτυχία",
"error_creating_role": "Σφάλμα κατά τη δημιουργία ρόλου",
"error_updating_role": "Σφάλμα κατά την ενημέρωση ρόλου",
"pbac_desc_create_roles": "Δημιουργία ρόλων",
"pbac_desc_view_roles": "Προβολή ρόλων",
"pbac_desc_update_roles": "Ενημέρωση ρόλων",
"pbac_desc_delete_roles": "Διαγραφή ρόλων",
"pbac_desc_manage_roles": "Όλες οι ενέργειες στους ρόλους",
"pbac_desc_create_event_types": "Δημιουργία τύπων εκδηλώσεων",
"pbac_desc_view_event_types": "Προβολή τύπων εκδηλώσεων",
"pbac_desc_update_event_types": "Ενημέρωση τύπων εκδηλώσεων",
"pbac_desc_delete_event_types": "Διαγραφή τύπων εκδηλώσεων",
"pbac_desc_manage_event_types": "Όλες οι ενέργειες στους τύπους εκδηλώσεων",
"pbac_desc_create_teams": "Δημιουργία ομάδων",
"pbac_desc_view_team_details": "Προβολή λεπτομερειών ομάδας",
"pbac_desc_update_team_settings": "Ενημέρωση ρυθμίσεων ομάδας",
"pbac_desc_delete_team": "Διαγραφή ομάδας",
"pbac_desc_invite_team_members": "Πρόσκληση μελών ομάδας",
"pbac_desc_remove_team_members": "Αφαίρεση μελών ομάδας",
"pbac_desc_change_team_member_role": "Αλλαγή ρόλου μελών ομάδας",
"pbac_desc_manage_teams": "Όλες οι ενέργειες στις ομάδες",
"pbac_desc_create_organization": "Δημιουργία οργανισμού",
"pbac_desc_view_organization_details": "Προβολή λεπτομερειών οργανισμού",
"pbac_desc_list_organization_members": "Λίστα μελών οργανισμού",
"pbac_desc_invite_organization_members": "Πρόσκληση μελών οργανισμού",
"pbac_desc_remove_organization_members": "Αφαίρεση μελών οργανισμού",
"pbac_desc_manage_organization_billing": "Διαχείριση χρεώσεων οργανισμού",
"pbac_desc_change_organization_member_role": "Αλλαγή ρόλου μελών οργανισμού",
"pbac_desc_edit_organization_settings": "Επεξεργασία ρυθμίσεων οργανισμού",
"pbac_desc_manage_organizations": "Όλες οι ενέργειες στους οργανισμούς",
"pbac_desc_view_bookings": "Προβολή κρατήσεων",
"pbac_desc_view_team_bookings": "Προβολή κρατήσεων ομάδας",
"pbac_desc_view_organization_bookings": "Προβολή κρατήσεων οργανισμού",
"pbac_desc_view_booking_recordings": "Προβολή εγγραφών κρατήσεων",
"pbac_desc_update_bookings": "Ενημέρωση κρατήσεων",
"pbac_desc_manage_bookings": "Όλες οι ενέργειες στις κρατήσεις",
"pbac_desc_view_team_insights": "Προβολή αναλύσεων ομάδας",
"pbac_desc_manage_team_insights": "Διαχείριση αναλύσεων ομάδας",
"read_permission_auto_enabled_tooltip": "Το δικαίωμα ανάγνωσης ενεργοποιείται αυτόματα κατά τη δημιουργία, ενημέρωση ή διαγραφή ενός πόρου",
"choose_restriction_schedule": "Προσθήκη προγράμματος περιορισμών",
"choose_restriction_schedule_description": "Ενεργοποιήστε αυτό αν θέλετε να περιορίσετε τη διαθεσιμότητα των οικοδεσποτών για αυτόν τον τύπο εκδήλωσης βάσει ενός προγράμματος περιορισμών. Αυτό αφαιρεί μόνο τις χρονοθυρίδες που δεν βρίσκονται στο πρόγραμμα περιορισμών, δεν προσθέτει νέες χρονοθυρίδες.",
"use_booker_timezone": "Χρήση ζώνης ώρας του κράτοντος",
"use_booker_timezone_info": "Εφαρμογή του επιλεγμένου προγράμματος περιορισμών στη ζώνη ώρας του κράτοντος",
"load_balancing_warning": "Αυτό θα απενεργοποιήσει την Εξισορρόπηση Φόρτου σε όλους τους τύπους εκδηλώσεων round robin",
"rr_load_balancing_disabled": "Η Εξισορρόπηση Φόρτου είναι διαθέσιμη μόνο όταν η βάση χρονικής σήμανσης έχει οριστεί σε Χρόνο Δημιουργίας Κράτησης",
"round_robin_settings_description": "Προσαρμόστε τις προεπιλεγμένες ρυθμίσεις κυκλικής εναλλαγής για αυτή την ομάδα",
"round_robin_settings_updated_successfully": "Οι ρυθμίσεις κυκλικής εναλλαγής ενημερώθηκαν με επιτυχία",
"booking_creation_time": "Χρόνος δημιουργίας κράτησης",
"meeting_start_time": "Ώρα έναρξης συνάντησης",
"members_affected_by_disabling_delegation_credential": "Επηρεαζόμενα μέλη",
"no_members_affected_by_disabling_delegation_credential": "Κανένα μέλος δεν επηρεάζεται από την απενεργοποίηση των διαπιστευτηρίων εκχώρησης",
"download_expense_log": "Λήψη αρχείου καταγραφής εξόδων",
"error_downloading_expense_log": "Σφάλμα κατά τη λήψη του αρχείου καταγραφής εξόδων",
"offer_to_reschedule_last_booking": "Προσφορά επαναπρογραμματισμού της τελευταίας ενεργής κράτησης στην επιλεγμένη χρονοθυρίδα",
"booker_limit_exceeded_error": "Υπέρβαση μέγιστου ορίου ενεργών κρατήσεων",
"booker_limit_exceeded_error_reschedule": "Έχετε ήδη μια κράτηση για αυτό το συμβάν στις {{date}}. Θα θέλατε να επαναπρογραμματίσετε στη νέα επιλεγμένη ώρα;",
"duration_min_error": "Η διάρκεια πρέπει να είναι τουλάχιστον {{min}} λεπτό(ά)",
"duration_max_error": "Η διάρκεια δεν μπορεί να υπερβαίνει τα {{max}} λεπτά (24 ώρες)",
"booking_not_allowed_by_restriction_schedule_error": "Δεν επιτρέπεται η κράτηση εκτός του προγράμματος διαθεσιμότητας περιορισμών.",
"restriction_schedule_not_found_error": "Το πρόγραμμα περιορισμών δεν βρέθηκε",
"converted_image_size_limit_exceed": "Υπέρβαση ορίου μεγέθους εικόνας, παρακαλώ χρησιμοποιήστε μικρότερη εικόνα κατά προτίμηση σε μορφή JPEG",
"license_key": "Κλειδί άδειας χρήσης",
"license_selection_title": "Επιλέξτε την άδειά σας",
"license_selection_description": "Επιλέξτε πώς θέλετε να αδειοδοτήσετε την ανάπτυξη του Cal.com",
"agplv3_license_description": "Χρησιμοποιήστε το Cal.com με την άδεια χρήσης ανοιχτού κώδικα AGPLv3",
"enter_license_key": "Εισαγάγετε κλειδί άδειας χρήσης",
"enter_your_license_key": "Πρόσβαση σε όλες τις επιχειρηματικές λειτουργίες",
"enter_existing_license": "Ξεκινώντας από $15/χρήστη ανά μήνα",
"enter_license_key_description": "Πρόσβαση σε όλες τις επιχειρηματικές λειτουργίες",
"license_key_placeholder": "Εισαγάγετε το κλειδί άδειας χρήσης σας",
"save_license_key": "Αποθήκευση κλειδιού άδειας χρήσης",
"signature_token_optional": "Διακριτικό υπογραφής (προαιρετικό)",
"signature_token_description": "Το διακριτικό υπογραφής χρησιμοποιείται για την επαλήθευση ότι το κλειδί άδειας είναι δικό σας κατά την αύξηση της χρέωσης βάσει χρήσης. Μπορείτε να το βρείτε στο email επιβεβαίωσης αγοράς σας. Εάν έχετε παλαιότερη άδεια, μπορείτε να αφήσετε αυτό το πεδίο κενό.",
"need_a_license": "Χρειάζεστε άδεια;",
"license_key_required": "Το κλειδί άδειας είναι απαραίτητο",
"invalid_license_key": "Μη έγκυρο κλειδί άδειας",
"license_validation_failed": "Αποτυχία επικύρωσης κλειδιού άδειας",
"license_key_saved": "Το κλειδί άδειας αποθηκεύτηκε με επιτυχία",
"timezone_mismatch_tooltip": "Βλέπετε την αναφορά με βάση τη ζώνη ώρας του προφίλ σας ({{userTimezone}}), ενώ ο περιηγητής σας είναι ρυθμισμένος στη ζώνη ώρας ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Προσθέστε τις νέες συμβολοσειρές σας πάνω από εδώ ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+19 -1
View File
@@ -60,7 +60,6 @@
"participants": "Participants",
"anonymous_user": "Anonymous User",
"session_duration": "Session Duration",
"minutes": "minutes",
"no_meeting_sessions_found": "No meeting sessions found",
"not_available": "Not available",
"disable_recording_for_organizer": "Disable recording for organizer",
@@ -117,6 +116,8 @@
"delete_calendar_event_error": "Unable to delete Calendar event.",
"already_signed_up_for_this_booking_error": "You are already signed up for this booking.",
"hosts_unavailable_for_booking": "Some of the hosts are unavailable for booking.",
"fixed_hosts_unavailable_for_booking": "Some of the fixed hosts are unavailable for booking.",
"round_robin_hosts_unavailable_for_booking": "No Round Robin hosts is available for booking.",
"help": "Help",
"price": "Price",
"paid": "Paid",
@@ -3342,6 +3343,23 @@
"booking_not_allowed_by_restriction_schedule_error": "Booking outside restriction schedule availability.",
"restriction_schedule_not_found_error": "Restriction schedule not found",
"converted_image_size_limit_exceed": "Image size limit exceeded, please use a smaller image preferably in JPEG format",
"license_key": "License key",
"license_selection_title": "Choose your license",
"license_selection_description": "Select how you want to license your Cal.com deployment",
"agplv3_license_description": "Use Cal.com under the AGPLv3 open source license",
"enter_license_key": "Enter License Key",
"enter_your_license_key": "Access to all enterprise features",
"enter_existing_license": "Starting at $15/user per month",
"enter_license_key_description": "Access to all enterprise features",
"license_key_placeholder": "Enter your license key",
"save_license_key": "Save License Key",
"signature_token_optional": "Signature token (optional)",
"signature_token_description": "Signature token is used to verify the license key is yours when incrementing usage based billing. You can find it in your purchase confirmation email. If you are on a legacy license, you can leave this blank.",
"need_a_license": "Need a license?",
"license_key_required": "License key is required",
"invalid_license_key": "Invalid license key",
"license_validation_failed": "Failed to validate license key",
"license_key_saved": "License key saved successfully",
"timezone_mismatch_tooltip": "You are viewing the report based on your profile timezone ({{userTimezone}}), while your browser is set to timezone ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+169 -17
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Personalizar configuración de Cal Video",
"calvideo_settings_description": "Configura las preferencias de reuniones por video, incluyendo permisos de grabación para anfitriones y asistentes.",
"disable_recording_for_guests": "Deshabilitar grabación para invitados",
"enable_automatic_transcription": "Habilitar transcripción automática después de unirse a la reunión",
"video_options": "Opciones de video",
"get_meeting_session_details": "Obtener detalles de la sesión de reunión",
"meeting_session_details": "Detalles de la sesión de reunión",
"meeting_session": "Sesión de reunión",
"session_id": "ID de sesión",
"max_participants": "Máximo de participantes",
"unlimited": "Ilimitado",
"ongoing": "En curso",
"ended": "Finalizada",
"participants": "Participantes",
"anonymous_user": "Usuario anónimo",
"session_duration": "Duración de la sesión",
"no_meeting_sessions_found": "No se encontraron sesiones de reunión",
"not_available": "No disponible",
"disable_recording_for_organizer": "Deshabilitar grabación para organizador",
"disable_transcription_for_guests": "Deshabilitar transcripción para invitados",
"disable_transcription_for_organizer": "Deshabilitar transcripción para el organizador",
"event_request_declined_recurring": "Tu solicitud de evento recurrente ha sido rechazada",
"event_request_cancelled": "Tu evento programado fue cancelado",
"event_request_reassigned": "Tu evento programado fue reasignado",
@@ -264,6 +281,8 @@
"guests": "Invitados",
"guest": "Invitado",
"web_conferencing_details_to_follow": "Los detalles de la conferencia web se enviarán en el correo de confirmación.",
"confirmation": "Confirmación",
"what_booker_should_provide": "Lo que tu cliente debe proporcionar para recibir confirmaciones",
"404_the_user": "El nombre de usuario",
"username": "Nombre de usuario",
"is_still_available": "aún está disponible.",
@@ -331,7 +350,7 @@
"organization_general_description": "Administra la configuración del idioma y la zona horaria de tu equipo",
"few_sentences_about_yourself": "Unas pocas oraciones sobre ti. Esto aparecerá en la página de tu URL personal.",
"nearly_there": "¡Casi listo!",
"nearly_there_instructions": "Por último, una breve descripción sobre ti y una foto realmente ayudan a que te reserven y a que las personas sepan con quién están reservando.",
"nearly_there_instructions": "Por último, una breve descripción sobre ti y una foto realmente ayuda a conseguir reservas y permite a las personas saber con quién están reservando.",
"set_availability_instructions": "Define rangos de tiempo en los que estás disponible de manera recurrente. Puedes crear más de estos más tarde y asignarlos a diferentes calendarios.",
"set_availability": "Establecer tu disponibilidad",
"set_availbility_description": "Establece horarios para los momentos en que deseas ser reservado.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Conecta tu calendario",
"connect_your_video_app": "Conecta tus aplicaciones de video",
"connect_your_video_app_instructions": "Conecta tus aplicaciones de video para usarlas en tus tipos de eventos.",
"connect_your_calendar_instructions": "Conecta tu calendario para verificar automáticamente los tiempos ocupados y los nuevos eventos a medida que se programan.",
"connect_your_calendar_instructions": "Conecta tu calendario para verificar automáticamente los horarios ocupados y nuevos eventos a medida que se programan.",
"set_up_later": "Configurar más tarde",
"current_time": "Hora actual",
"details": "Detalles",
"welcome": "Bienvenido",
"welcome_back": "Bienvenido de nuevo",
"welcome_to_calcom": "Bienvenido a {{appName}}",
"welcome_instructions": "Dinos cómo te llamas y en qué zona horaria te encuentras. Podrás editar esto más tarde.",
"welcome_instructions": "Dinos cómo llamarte y hazno saber en qué zona horaria te encuentras. Podrás editar esto más tarde.",
"connect_caldav": "Conectar a CalDav (Beta)",
"connect_ics_feed": "Conectar a una fuente ICS",
"connect": "Conectar",
@@ -361,7 +380,7 @@
"when": "Cuándo",
"where": "Dónde",
"add_to_calendar": "Agregar al calendario",
"add_to_calendar_description": "Selecciona dónde agregar eventos cuando se reserven.",
"add_to_calendar_description": "Selecciona dónde agregar eventos cuando te reserven.",
"add_events_to": "Agregar eventos a",
"add_another_calendar": "Agregar otro calendario",
"other": "Otro",
@@ -1153,6 +1172,7 @@
"test_failed": "Prueba fallida",
"provide_api_key": "Proporcione clave API",
"api_key_modal_subtitle": "Las claves API le permiten hacer llamadas API para su propia cuenta.",
"api_key_modal_subtitle_platform": "Crea un marketplace o plataforma en su lugar.",
"api_keys_subtitle": "Genere claves API para usar en el acceso a su propia cuenta.",
"create_api_key": "Crear una clave API",
"personal_note": "Nombre esta clave",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Revocar esta clave API",
"disable_rescheduling": "Desactivar reprogramación",
"description_disable_rescheduling": "Los invitados ya no pueden reprogramar el evento con la invitación del calendario o correo electrónico",
"allow_rescheduling_cancelled_bookings": "Permitir reservas a través del enlace de reprogramación",
"description_allow_rescheduling_cancelled_bookings": "Cuando está habilitado, los usuarios podrán crear una nueva reserva al intentar reprogramar una reserva cancelada",
"disable_cancelling": "Desactivar cancelación",
"description_disable_cancelling": "Los invitados ya no pueden cancelar el evento con la invitación del calendario o correo electrónico",
"revoke_api_key": "Revocar clave API",
@@ -1613,7 +1635,7 @@
"workflow_example_6": "Enviar SMS personalizado cuando se reserva un nuevo evento al anfitrión",
"count_managed_to_limit": "Incluir el conteo de reservas de los tipos de eventos gestionados",
"welcome_to_cal_header": "¡Bienvenido a {{appName}}!",
"edit_form_later_subtitle": "Podrás editar esto más tarde.",
"edit_form_later_subtitle": "Podrás editarlo más tarde.",
"connect_calendar_later": "Conectaré mi calendario más tarde",
"problem_saving_user_profile": "Hubo un problema al guardar tus datos. Por favor, inténtalo de nuevo o contacta al soporte al cliente.",
"purchase_missing_seats": "Compra asientos faltantes",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "Las claves API permiten que otras aplicaciones se comuniquen con {{appName}}",
"back_to_signin": "Volver a iniciar sesión",
"reset_link_sent": "Enlace de restablecimiento enviado",
"password_reset_email": "Un correo electrónico está en camino a {{email}} con instrucciones para restablecer tu contraseña.",
"password_reset_email": "Se ha enviado un correo electrónico a {{email}} con instrucciones para restablecer tu contraseña.",
"password_reset_leading": "Si no recibes un correo electrónico pronto, verifica que la dirección de correo que ingresaste sea correcta, revisa tu carpeta de spam o comunícate con soporte si el problema persiste.",
"password_updated": "¡Contraseña actualizada!",
"pending_payment": "Pago pendiente",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Esto limitará tu disponibilidad para este tipo de evento a un espacio por día, programado a la primera hora disponible.",
"limit_total_booking_duration": "Limitar duración total de reservas",
"limit_total_booking_duration_description": "Limitar la cantidad total de tiempo que se puede reservar este evento",
"booker_booking_limit": "Límite de reservas activas del solicitante",
"booker_booking_limit_description": "Limita el número de reservas activas que un solicitante puede hacer para este tipo de evento",
"recurring_event_doesnt_support_booker_booking_limit": "Los eventos recurrentes no admiten límite de reservas del solicitante",
"add_limit": "Agregar límite",
"team_name_required": "Nombre del equipo requerido",
"show_attendees": "Compartir información de los asistentes entre los invitados",
"show_available_seats_count": "Mostrar el número de asientos disponibles",
"how_booking_questions_as_variables": "¿Cómo usar preguntas de reserva como variables?",
"format": "Formato",
"questions": "Preguntas",
"all_info_your_booker_provide": "Toda la información que tu solicitante debe proporcionar antes de reservar contigo.",
"uppercase_for_letters": "Usa mayúsculas para todas las letras",
"replace_whitespaces_underscores": "Reemplaza los espacios en blanco con guiones bajos",
"platform_members": "Miembros de la plataforma",
@@ -1972,7 +1999,7 @@
"email_no_user_invite_subheading": "{{invitedBy}} te ha invitado a unirte a su equipo en {{appName}}. {{appName}} es el programador de eventos que te permite a ti y a tu equipo agendar reuniones sin el ir y venir de correos electrónicos.",
"email_user_invite_subheading_subteam": "{{invitedBy}} te ha invitado a unirte al equipo {{teamName}} en su organización {{parentTeamName}} en {{appName}}. {{appName}} es el programador de eventos que te permite a ti y a tu equipo agendar reuniones sin el ir y venir de correos electrónicos.",
"email_user_invite_subheading_org": "{{invitedBy}} te ha invitado a unirte a su organización {{teamName}} en {{appName}}. {{appName}} es el programador de eventos que te permite a ti y a tu organización agendar reuniones sin el ir y venir de correos electrónicos.",
"email_no_user_invite_steps_intro": "Te guiaremos a través de unos pocos pasos cortos y pronto estarás disfrutando de una programación sin estrés con tu {{entity}}.",
"email_no_user_invite_steps_intro": "Te guiaremos a través de unos breves pasos y pronto estarás disfrutando de programación sin estrés con tu {{entity}}.",
"email_no_user_step_one": "Elige tu nombre de usuario",
"email_no_user_step_two": "Conecta tu cuenta de calendario",
"email_no_user_step_three": "Establece tu disponibilidad",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Toma decisiones informadas con Insights",
"make_informed_decisions_description": "Nuestro panel de Insights muestra toda la actividad de tu equipo y te muestra tendencias que permiten una mejor programación y toma de decisiones.",
"view_bookings_across": "Ver reservas de todos los miembros",
"view_bookings_across_description": "Ve quién está recibiendo más reservas y asegura la mejor distribución en tu equipo",
"view_bookings_across_description": "Mira quién está recibiendo más reservas y asegura la mejor distribución en tu equipo",
"identify_booking_trends": "Identificar tendencias de reservas",
"identify_booking_trends_description": "Ve qué momentos de la semana y qué horas del día son populares para tus reservadores",
"spot_popular_event_types": "Detecta tipos de eventos populares",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "No se encontraron datos para el filtro o las fechas seleccionadas.",
"acknowledge_booking_no_show_fee": "Reconozco que si no asisto a este evento, se aplicará una tarifa de no presentación de {{amount, currency}} a mi tarjeta.",
"card_details": "Detalles de la tarjeta",
"something_went_wrong_on_our_end": "Algo salió mal de nuestro lado. Póngase en contacto con nuestro equipo de soporte y lo solucionaremos de inmediato.",
"something_went_wrong_on_our_end": "Algo salió mal de nuestra parte. Ponte en contacto con nuestro equipo de soporte y lo solucionaremos de inmediato para ti.",
"please_provide_following_text_to_suppport": "Por favor, proporcione el siguiente texto al contactar con el soporte para ayudarle mejor",
"seats_and_no_show_fee_error": "Actualmente no se pueden habilitar asientos y cobrar una tarifa de no presentación",
"complete_your_booking": "Complete su reserva",
@@ -2276,7 +2303,7 @@
"messaging": "Mensajería",
"sender_id_info": "Nombre o número mostrado como el remitente de un SMS (algunos países no permiten IDs de remitente alfanuméricos)",
"org_admins_can_create_new_teams": "Solo el administrador de tu organización puede crear nuevos equipos",
"google_new_spam_policy": "La nueva política de spam de Google podría impedir que recibas cualquier notificación de correo electrónico y calendario sobre esta reserva.",
"google_new_spam_policy": "La nueva política de spam de Google podría impedir que recibas notificaciones por correo electrónico y calendario sobre esta reserva.",
"resolve": "Resolver",
"no_organization_slug": "Hubo un error al crear equipos para esta organización. Falta el slug de la URL.",
"copy_link_org": "Copiar enlace a la organización",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "La credencial de delegación te permite administrar el acceso a los calendarios de Google Workspace para tu organización.",
"add_client_id_in_google_workspace_with_below_scope": "Agrega este ID de cliente en Google Workspace con el siguiente alcance",
"delegation_credential_enabled": "Credencial de delegación habilitada",
"delegation_credential_disabled": "Credencial de delegación deshabilitada",
"add_delegation_credential": "Agregar credencial de delegación",
"edit_delegation_credential": "Editar credencial de delegación",
"domain": "Dominio",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "Ver los eventos de tu calendario para evitar reservas duplicadas.",
"join_event_location": "Unirse a {{eventLocationType}}",
"troubleshooting": "Solución de problemas",
"calendars_were_checking_for_conflicts": "Calendarios que estamos revisando para conflictos",
"calendars_were_checking_for_conflicts": "Calendarios que estamos verificando para conflictos",
"availabilty_schedules": "Horarios de disponibilidad",
"manage_calendars": "Gestionar calendarios",
"manage_availability_schedules": "Gestionar horarios de disponibilidad",
@@ -2582,7 +2608,7 @@
"date": "Fecha",
"overlaps_with_existing_schedule": "Esto se superpone con un horario existente. Por favor, seleccione una fecha diferente.",
"org_admin_no_slots|heading": "No se encontró disponibilidad para {{name}}",
"org_admin_no_slots|content": "Hola Administradores de la Organización,<br /><br />Por favor, tomen nota: Se nos ha informado que {{username}} no ha tenido disponibilidad cuando un usuario ha visitado {{username}}/{{slug}}<br /><br />Hay algunas razones por las que esto podría estar sucediendo:<br />El usuario no tiene ningún calendario conectado<br />Sus horarios adjuntos a este evento no están habilitados<br /><br />Recomendamos verificar su disponibilidad para resolver esto.",
"org_admin_no_slots|content": "Hola Administradores de la Organización,<br /><br />Nota: Se ha señalado a nuestra atención que {{username}} no ha tenido disponibilidad cuando un usuario ha visitado {{username}}/{{slug}}<br /><br />Hay algunas razones por las que esto podría estar sucediendo<br />El usuario no tiene calendarios conectados<br />Sus horarios adjuntos a este evento no están habilitados<br /> <br />Recomendamos verificar su disponibilidad para resolver esto.",
"org_admin_no_slots|cta": "Abrir disponibilidad de usuarios",
"organization_no_slots_notification_switch_title": "Recibir notificaciones cuando tu equipo no tenga disponibilidad",
"organization_no_slots_notification_switch_description": "Los administradores recibirán notificaciones por correo electrónico cuando un usuario intente reservar con un miembro del equipo y se enfrente a 'Sin disponibilidad'. Enviamos este correo después de dos ocurrencias y te recordamos cada 7 días por usuario.",
@@ -2592,9 +2618,9 @@
"email_team_invite|subject|invited_to_org": "{{user}} te invitó a unirte a la organización {{team}} en {{appName}}",
"email_team_invite|subject|added_to_subteam": "{{user}} te agregó al equipo {{team}} de la organización {{parentTeamName}} en {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "{{user}} te invitó a unirte al equipo {{team}} en {{appName}}",
"email_team_invite|heading|added_to_org": "Has sido agregado a una organización de {{appName}}",
"email_team_invite|heading|added_to_org": "Has sido añadido a una organización de {{appName}}",
"email_team_invite|heading|invited_to_org": "Has sido invitado a una organización de {{appName}}",
"email_team_invite|heading|added_to_subteam": "Has sido agregado a un equipo de la organización {{parentTeamName}}",
"email_team_invite|heading|added_to_subteam": "Has sido añadido a un equipo de la organización {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Has sido invitado a un equipo de la organización {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "Has sido invitado a unirte a un equipo de {{appName}}",
"email_team_invite|content|added_to_org": "{{invitedBy}} te ha agregado a la organización <strong>{{teamName}}</strong>.",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Limitar cuántas veces se puede reservar a los miembros en todos los tipos de eventos del equipo",
"booking_limits_updated_successfully": "Límites de reservas actualizados con éxito",
"you_are_unauthorized_to_make_this_change_to_the_booking": "No tienes autorización para realizar este cambio en la reserva",
"delegation_credential_disabled": "Credencial de delegación deshabilitada",
"matching_members": "Miembros coincidentes",
"x_matching_members": "{{x}} miembros coincidentes",
"matching_members_queue_using_attribute_weights": "Cola de miembros coincidentes (usando pesos de atributos)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Sí, reasignar",
"filter_by_attributes": "Filtrar por atributos",
"reassign_reason": "Motivo de la reasignación",
"field_type_change_suggestion": "Cambiar el tipo de campo puede causar pérdida de datos. Por favor, crea un nuevo campo en su lugar.",
"reassigned_by": "Reasignado por",
"row": "fila",
"rows": "filas",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Enrutadas por período",
"per_day": "Por día",
"per_week": "Por semana",
"per_month": "por mes",
"per_month": "Por mes",
"routing_form_insights_assignment_reason": "Motivo de asignación",
"access_denied": "Acceso denegado",
"salesforce_route_to_owner": "El propietario del contacto será el anfitrión de Round Robin si está disponible",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "No tienes permiso para crear una organización con este correo electrónico",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "No tienes permiso para migrar uno o más de los equipos",
"organization_has_subscription_already": "La organización ya tiene una suscripción",
"reset_interval_weighted_rr": "Intervalo de reinicio para Round Robin ponderado",
"interval": "Intervalo",
"rr_reset_interval_description": "Determina con qué frecuencia se reinicia el conteo de reservas de round robin para asegurar una distribución equilibrada.",
"daily": "Diario",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Ya existe un reenvío inverso entre estos usuarios.",
"previous_ooo_empty_title": "No se encontraron ausencias anteriores",
"previous": "Anterior",
"rr_interval_successfully_updated": "Intervalo de Round Robin actualizado con éxito",
"trial_mode": "Modo de prueba",
"inactive_team_plan": "Plan de equipo inactivo",
"inactive_team_plan_description": "Tu plan de equipo está inactivo. Revisa tu suscripción o comunícate con el soporte al cliente",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Aún no tienes un equipo",
"no_team_members": "Aún no tienes miembros en tu equipo",
"recurring_event_doesnt_support_seats": "Los eventos recurrentes no admiten la función de asientos. Hazlo no recurrente para habilitar asientos.",
"booking_limit_per_booker_doesnt_support_recurring": "El evento recurrente no es compatible con la función de límite de reservas por persona. Desactiva el límite de reservas por persona para habilitar el evento recurrente.",
"seats_doesnt_support_recurring": "La función de asientos no admite eventos recurrentes. Desactiva la función de asientos para hacerlo recurrente.",
"recurring_event_seats_error": "Los eventos recurrentes no admiten la función de asientos. Desactiva la función de asientos o haz que el evento no sea recurrente.",
"segment": "Segmento",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Habilitar credencial de delegación",
"enable_delegation_credential_description": "Otorga a Cal.com acceso automático a los calendarios de todos los miembros de la organización habilitando la credencial de delegación.",
"disable_delegation_credential": "Deshabilitar credencial de delegación",
"disable_delegation_credential_description": "Una vez que se deshabilita la credencial de delegación, los miembros de la organización que no hayan conectado sus calendarios deberán hacerlo manualmente.",
"disable_delegation_credential_description": "Una vez que se desactiva la credencial de delegación, los miembros de la organización que no hayan conectado sus calendarios deberán hacerlo manualmente.",
"last_active": "Última actividad",
"member_since": "Miembro desde",
"last_updated": "Última actualización",
@@ -3202,10 +3233,131 @@
"matching": "Coincidencia",
"event_redirect": "Redirección de evento",
"reset_form": "Restablecer formulario",
"rr_settings_successfully_updated": "Configuración de Round Robin actualizada con éxito",
"distribution_basis_weighted_rr": "Base de distribución para Round Robin ponderado",
"timestamp_basis_description": "Determina qué marca de tiempo del evento se utiliza como base para la distribución ponderada de round robin.",
"requires_credits": "Requiere créditos",
"requires_credits_tooltip": "Necesitas tener suficientes créditos en tu cuenta para usar esta función",
"available_credits": "Créditos disponibles",
"create_role": "Crear rol",
"roles_and_permissions": "Roles y permisos",
"roles_and_permissions_description": "Administra roles y permisos para tu organización",
"learn_more_permissions": "Aprende más sobre cómo funcionan los permisos",
"role_name": "Nombre del rol",
"role_name_placeholder": "p. ej. Equipo de ventas, Personal de soporte",
"role_description": "Descripción del rol",
"role_description_placeholder": "Describe para qué es este rol y qué permisos necesita",
"default_role": "Rol predeterminado",
"custom_role": "Rol personalizado",
"advanced": "Avanzado",
"search_permissions": "Buscar permisos",
"all_permissions": "Todos los permisos",
"none": "Ninguno",
"read_only": "Solo lectura",
"pbac_desc_all_actions_all_resources": "Todas las acciones en todos los recursos",
"pbac_resource_all": "Todos los recursos",
"pbac_resource_event_type": "Tipos de eventos",
"pbac_resource_team": "Equipos",
"pbac_resource_organization": "Organización",
"pbac_resource_booking": "Reservas",
"pbac_resource_insights": "Perspectivas",
"pbac_resource_role": "Roles",
"pbac_action_all": "Todas las acciones",
"pbac_action_create": "Crear",
"pbac_action_read": "Ver",
"pbac_action_update": "Editar",
"pbac_action_delete": "Eliminar",
"pbac_action_manage": "Gestionar",
"pbac_action_invite": "Invitar",
"pbac_action_remove": "Eliminar",
"pbac_action_change_member_role": "Cambiar rol de miembro",
"pbac_action_list_members": "Listar miembros",
"pbac_action_manage_billing": "Gestionar facturación",
"pbac_action_read_team_bookings": "Ver reservas del equipo",
"pbac_action_read_org_bookings": "Ver reservas de la organización",
"pbac_action_read_recordings": "Ver grabaciones",
"role_created_successfully": "Rol creado exitosamente",
"role_updated_successfully": "Rol actualizado exitosamente",
"delete_role": "Eliminar rol",
"confirm_delete_role": "¿Estás seguro de que quieres eliminar este rol? Esta acción no se puede deshacer.",
"role_deleted_successfully": "Rol eliminado exitosamente",
"error_creating_role": "Error al crear el rol",
"error_updating_role": "Error al actualizar el rol",
"pbac_desc_create_roles": "Crear roles",
"pbac_desc_view_roles": "Ver roles",
"pbac_desc_update_roles": "Actualizar roles",
"pbac_desc_delete_roles": "Eliminar roles",
"pbac_desc_manage_roles": "Todas las acciones en roles",
"pbac_desc_create_event_types": "Crear tipos de eventos",
"pbac_desc_view_event_types": "Ver tipos de eventos",
"pbac_desc_update_event_types": "Actualizar tipos de eventos",
"pbac_desc_delete_event_types": "Eliminar tipos de eventos",
"pbac_desc_manage_event_types": "Todas las acciones en tipos de eventos",
"pbac_desc_create_teams": "Crear equipos",
"pbac_desc_view_team_details": "Ver detalles del equipo",
"pbac_desc_update_team_settings": "Actualizar configuración del equipo",
"pbac_desc_delete_team": "Eliminar equipo",
"pbac_desc_invite_team_members": "Invitar miembros al equipo",
"pbac_desc_remove_team_members": "Eliminar miembros del equipo",
"pbac_desc_change_team_member_role": "Cambiar el rol de los miembros del equipo",
"pbac_desc_manage_teams": "Todas las acciones en equipos",
"pbac_desc_create_organization": "Crear organización",
"pbac_desc_view_organization_details": "Ver detalles de la organización",
"pbac_desc_list_organization_members": "Listar miembros de la organización",
"pbac_desc_invite_organization_members": "Invitar miembros a la organización",
"pbac_desc_remove_organization_members": "Eliminar miembros de la organización",
"pbac_desc_manage_organization_billing": "Administrar facturación de la organización",
"pbac_desc_change_organization_member_role": "Cambiar rol de los miembros de la organización",
"pbac_desc_edit_organization_settings": "Editar configuración de la organización",
"pbac_desc_manage_organizations": "Todas las acciones en organizaciones",
"pbac_desc_view_bookings": "Ver reservas",
"pbac_desc_view_team_bookings": "Ver reservas del equipo",
"pbac_desc_view_organization_bookings": "Ver reservas de la organización",
"pbac_desc_view_booking_recordings": "Ver grabaciones de reservas",
"pbac_desc_update_bookings": "Actualizar reservas",
"pbac_desc_manage_bookings": "Todas las acciones en reservas",
"pbac_desc_view_team_insights": "Ver estadísticas del equipo",
"pbac_desc_manage_team_insights": "Administrar estadísticas del equipo",
"read_permission_auto_enabled_tooltip": "El permiso de lectura se habilita automáticamente al crear, actualizar o eliminar un recurso",
"choose_restriction_schedule": "Agregar horario de restricción",
"choose_restriction_schedule_description": "Habilita esto si quieres restringir la disponibilidad de los anfitriones para este tipo de evento según un horario de restricción. Esto solo elimina los espacios que no están en el horario de restricción, no agrega nuevos espacios.",
"use_booker_timezone": "Usar zona horaria del reservante",
"use_booker_timezone_info": "Aplicar el horario de restricción seleccionado en la zona horaria del reservante",
"load_balancing_warning": "Esto desactivará el Balanceo de Carga en todos tus tipos de eventos round robin",
"rr_load_balancing_disabled": "El Balanceo de Carga solo está disponible cuando la base de tiempo está configurada como Momento de Creación de la Reserva",
"round_robin_settings_description": "Personaliza la configuración predeterminada de round robin para este equipo",
"round_robin_settings_updated_successfully": "Configuración de Round Robin actualizada correctamente",
"booking_creation_time": "Hora de creación de la reserva",
"meeting_start_time": "Hora de inicio de la reunión",
"members_affected_by_disabling_delegation_credential": "Miembros afectados",
"no_members_affected_by_disabling_delegation_credential": "Ningún miembro afectado por la desactivación de credenciales de delegación",
"download_expense_log": "Descargar registro de gastos",
"error_downloading_expense_log": "Error al descargar el registro de gastos",
"offer_to_reschedule_last_booking": "Ofrecer reprogramar la última reserva activa al horario elegido",
"booker_limit_exceeded_error": "Se ha excedido el límite máximo de reservas activas del usuario",
"booker_limit_exceeded_error_reschedule": "Ya tienes una reserva para este evento el {{date}}. ¿Te gustaría reprogramarla para el nuevo horario seleccionado?",
"duration_min_error": "La duración debe ser de al menos {{min}} minuto(s)",
"duration_max_error": "La duración no puede exceder {{max}} minutos (24 horas)",
"booking_not_allowed_by_restriction_schedule_error": "Reserva fuera de la disponibilidad del horario de restricción.",
"restriction_schedule_not_found_error": "Horario de restricción no encontrado",
"converted_image_size_limit_exceed": "Límite de tamaño de imagen excedido, utiliza una imagen más pequeña preferiblemente en formato JPEG",
"license_key": "Clave de licencia",
"license_selection_title": "Elige tu licencia",
"license_selection_description": "Selecciona cómo quieres licenciar tu implementación de Cal.com",
"agplv3_license_description": "Usa Cal.com bajo la licencia de código abierto AGPLv3",
"enter_license_key": "Ingresar clave de licencia",
"enter_your_license_key": "Acceso a todas las funciones empresariales",
"enter_existing_license": "Desde $15/usuario por mes",
"enter_license_key_description": "Acceso a todas las funciones empresariales",
"license_key_placeholder": "Ingresa tu clave de licencia",
"save_license_key": "Guardar clave de licencia",
"signature_token_optional": "Token de firma (opcional)",
"signature_token_description": "El token de firma se utiliza para verificar que la clave de licencia es tuya al incrementar la facturación basada en el uso. Puedes encontrarlo en tu correo electrónico de confirmación de compra. Si tienes una licencia antigua, puedes dejar esto en blanco.",
"need_a_license": "¿Necesitas una licencia?",
"license_key_required": "Se requiere clave de licencia",
"invalid_license_key": "Clave de licencia inválida",
"license_validation_failed": "No se pudo validar la clave de licencia",
"license_key_saved": "Clave de licencia guardada correctamente",
"timezone_mismatch_tooltip": "Estás viendo el informe basado en la zona horaria de tu perfil ({{userTimezone}}), mientras que tu navegador está configurado en la zona horaria ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Agrega tus nuevas cadenas arriba de esta línea ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+170 -18
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Personalizar ajustes de Cal Video",
"calvideo_settings_description": "Configura las preferencias de reuniones por video, incluyendo permisos de grabación para anfitriones y asistentes.",
"disable_recording_for_guests": "Desactivar grabación para invitados",
"enable_automatic_transcription": "Activar transcripción automática después de unirse a la reunión",
"video_options": "Opciones de video",
"get_meeting_session_details": "Obtener detalles de la sesión de reunión",
"meeting_session_details": "Detalles de la sesión de reunión",
"meeting_session": "Sesión de reunión",
"session_id": "ID de sesión",
"max_participants": "Máximo de participantes",
"unlimited": "Ilimitado",
"ongoing": "En curso",
"ended": "Finalizada",
"participants": "Participantes",
"anonymous_user": "Usuario anónimo",
"session_duration": "Duración de la sesión",
"no_meeting_sessions_found": "No se encontraron sesiones de reunión",
"not_available": "No disponible",
"disable_recording_for_organizer": "Desactivar grabación para organizador",
"disable_transcription_for_guests": "Desactivar transcripción para invitados",
"disable_transcription_for_organizer": "Desactivar transcripción para el organizador",
"event_request_declined_recurring": "Su solicitud de evento recurrente se ha rechazado",
"event_request_cancelled": "Se canceló su evento programado",
"event_request_reassigned": "Tu evento programado ha sido reasignado",
@@ -264,6 +281,8 @@
"guests": "Invitados",
"guest": "Invitado",
"web_conferencing_details_to_follow": "Los detalles a seguir de su conferencia, en el correo de confirmación.",
"confirmation": "Confirmación",
"what_booker_should_provide": "Lo que tu reservador debe proporcionar para recibir confirmaciones",
"404_the_user": "El Nombre de Usuario",
"username": "Usuario",
"is_still_available": "aún está disponible.",
@@ -331,7 +350,7 @@
"organization_general_description": "Administre los ajustes para el idioma y la zona horaria de su equipo",
"few_sentences_about_yourself": "Unas pocas frases sobre ti mismo. Esto aparecerá en tu página de url personal.",
"nearly_there": "¡Ya casi está!",
"nearly_there_instructions": "Lo último, una breve descripción sobre usted y una foto lo ayudan a obtener reservas y a que las personas sepan con quién están reservando.",
"nearly_there_instructions": "Por último, una breve descripción sobre ti y una foto realmente ayuda a conseguir reservas y permite a las personas saber con quién están reservando.",
"set_availability_instructions": "Defina los intervalos de tiempo cuando esté disponible de forma recurrente. Puede crear más tarde y asignarlos a diferentes calendarios.",
"set_availability": "Establecer Disponibilidad",
"set_availbility_description": "Establece horarios para los momentos en que deseas ser reservado.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Conecta tu calendario",
"connect_your_video_app": "Conecte sus aplicaciones favoritas",
"connect_your_video_app_instructions": "Conecte sus aplicaciones de vídeo para usarlas en sus tipos de eventos.",
"connect_your_calendar_instructions": "Conecta tu calendario para comprobar automáticamente los horarios ocupados y los nuevos eventos a medida que se programan.",
"connect_your_calendar_instructions": "Conecta tu calendario para verificar automáticamente los horarios ocupados y nuevos eventos a medida que se programan.",
"set_up_later": "Configurar más tarde",
"current_time": "Hora Actual",
"details": "Detalles",
"welcome": "Bienvenido",
"welcome_back": "Bienvenido de nuevo",
"welcome_to_calcom": "Bienvenido a {{appName}}",
"welcome_instructions": "Cuéntanos cómo llamarte y dinos la zona horaria en la que estás. Podrás editarla más tarde.",
"welcome_instructions": "Dinos cómo quieres que te llamemos e indícanos en qué zona horaria te encuentras. Podrás editar esto más tarde.",
"connect_caldav": "Conectar con CalDav (Beta)",
"connect_ics_feed": "Conectar a una fuente ICS",
"connect": "Conectar",
@@ -361,7 +380,7 @@
"when": "Cuándo",
"where": "Donde",
"add_to_calendar": "Añadir al Calendario",
"add_to_calendar_description": "Seleccione dónde se añadirán los eventos cuando haya reservado.",
"add_to_calendar_description": "Selecciona dónde añadir eventos cuando te reserven.",
"add_events_to": "Agregar eventos a",
"add_another_calendar": "Añadir otro calendario",
"other": "Otro",
@@ -1153,6 +1172,7 @@
"test_failed": "Prueba fallida",
"provide_api_key": "Proporcionar clave API",
"api_key_modal_subtitle": "Las claves API le permiten realizar llamadas API para su propia cuenta.",
"api_key_modal_subtitle_platform": "Crea un marketplace o plataforma en su lugar.",
"api_keys_subtitle": "Genere claves API que se usarán para acceder a su propia cuenta.",
"create_api_key": "Crear una clave API",
"personal_note": "Nombrar esta clave",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Revocar esta clave API",
"disable_rescheduling": "Desactivar reprogramación",
"description_disable_rescheduling": "Los invitados ya no pueden reprogramar el evento con la invitación del calendario o correo electrónico",
"allow_rescheduling_cancelled_bookings": "Permitir reservas a través del enlace de reprogramación",
"description_allow_rescheduling_cancelled_bookings": "Cuando está habilitado, los usuarios podrán crear una nueva reserva al intentar reprogramar una reserva cancelada",
"disable_cancelling": "Desactivar cancelación",
"description_disable_cancelling": "Los invitados ya no pueden cancelar el evento con la invitación del calendario o correo electrónico",
"revoke_api_key": "Revocar clave API",
@@ -1613,7 +1635,7 @@
"workflow_example_6": "Enviar SMS personalizado al anfitrión cuando se reserve un evento nuevo",
"count_managed_to_limit": "Incluir el conteo de reservas de los tipos de eventos gestionados",
"welcome_to_cal_header": "¡Bienvenido a {{appName}}!",
"edit_form_later_subtitle": "Podrá editar esto más tarde.",
"edit_form_later_subtitle": "Podrás editarlo más tarde.",
"connect_calendar_later": "Conectaré mi calendario más tarde",
"problem_saving_user_profile": "Se produjo un problema al guardar tus datos. Inténtalo de nuevo o ponte en contacto con el servicio de atención al cliente.",
"purchase_missing_seats": "Adquirir las plazas que faltan",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "Las claves API permiten a otras aplicaciones comunicarse con {{appName}}",
"back_to_signin": "Volver a iniciar sesión",
"reset_link_sent": "Enlace de restablecimiento enviado",
"password_reset_email": "Se envió un correo electrónico a {{email}} con instrucciones para restablecer tu contraseña.",
"password_reset_email": "Se ha enviado un correo electrónico a {{email}} con instrucciones para restablecer tu contraseña.",
"password_reset_leading": "Si no recibe un correo electrónico pronto, compruebe que la dirección de correo que ha introducido sea correcta, revise su carpeta de correo no deseado o comuníquese con el equipo de soporte si el problema persiste.",
"password_updated": "¡Contraseña actualizada!",
"pending_payment": "Pago pendiente",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Esto limitará su disponibilidad para este tipo de evento a un horario por día, programado a la hora más temprana disponible.",
"limit_total_booking_duration": "Limitar la duración total de la reserva",
"limit_total_booking_duration_description": "Limitar la cantidad total de tiempo que se puede reservar este evento",
"booker_booking_limit": "Límite de reservas activas del solicitante",
"booker_booking_limit_description": "Limita el número de reservas activas que un solicitante puede hacer para este tipo de evento",
"recurring_event_doesnt_support_booker_booking_limit": "Los eventos recurrentes no admiten límite de reservas del solicitante",
"add_limit": "Agregue un límite",
"team_name_required": "Nombre de equipo requerido",
"show_attendees": "Comparta información de los asistentes entre los invitados",
"show_available_seats_count": "Mostrar el número de cupos disponibles",
"how_booking_questions_as_variables": "¿Cómo utilizar las preguntas de reserva como variables?",
"format": "Formato",
"questions": "Preguntas",
"all_info_your_booker_provide": "Toda la información que tu solicitante debe proporcionar antes de reservar contigo.",
"uppercase_for_letters": "Use mayúsculas para todas las letras",
"replace_whitespaces_underscores": "Reemplace espacios en blanco con guiones bajos",
"platform_members": "Miembros de la plataforma",
@@ -1967,12 +1994,12 @@
"delete_sso_configuration_confirmation_description": "¿Está seguro de que desea eliminar la configuración de {{connectionType}}? Los miembros de su equipo que utilicen el inicio de sesión {{connectionType}} ya no podrán acceder a Cal.com.",
"organizer_timezone": "Zona horaria del organizador",
"email_user_cta": "Ver la invitación",
"email_no_user_invite_heading_subteam": "Ha sido invitado a unirse a un equipo de la organización {{parentTeamName}}",
"email_no_user_invite_heading_org": "Lo han invitado a unirse a una organización en {{appName}}",
"email_no_user_invite_heading_subteam": "Has sido invitado a unirte a un equipo de la organización {{parentTeamName}}",
"email_no_user_invite_heading_org": "Has sido invitado a unirte a una organización de {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} lo invitó a unirse a su equipo en {{appName}}. {{appName}} es el programador de eventos que les permite a usted y a su equipo programar reuniones sin necesidad de enviar correos electrónicos.",
"email_user_invite_subheading_subteam": "{{invitedBy}} le ha invitado a unirse al equipo {{teamName}} en su organización {{parentTeamName}} en {{appName}}. {{appName}} es el programador de eventos que le permite a usted y a su equipo programar reuniones sin el intercambio constante de correos electrónicos.",
"email_user_invite_subheading_org": "{{invitedBy}} lo ha invitado a unirse a su organización \"{{teamName}}\" en {{appName}}. {{appName}} es el programador de eventos que le permite a usted y a su organización programar reuniones sin el tenis del correo electrónico.",
"email_no_user_invite_steps_intro": "Lo guiaremos a través de unos pocos pasos y disfrutará de una programación sin estrés con su {{entity}} en muy poco tiempo.",
"email_no_user_invite_steps_intro": "Te guiaremos a través de unos breves pasos y estarás disfrutando de programación sin estrés con tu {{entity}} en poco tiempo.",
"email_no_user_step_one": "Elija su nombre de usuario",
"email_no_user_step_two": "Conecte su cuenta de calendario",
"email_no_user_step_three": "Establezca su disponibilidad",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Tome decisiones informadas con Insights",
"make_informed_decisions_description": "Nuestro panel de Insights muestra toda la actividad de su equipo y las tendencias que permiten una mejor programación y toma de decisiones.",
"view_bookings_across": "Ver reservas de todos los miembros",
"view_bookings_across_description": "Vea quién recibe la mayor cantidad de reservas y garantice la mejor distribución en su equipo",
"view_bookings_across_description": "Mira quién está recibiendo más reservas y asegura la mejor distribución en tu equipo",
"identify_booking_trends": "Identificar tendencias de reserva",
"identify_booking_trends_description": "Consultar cuáles son las horas de la semana y del día más populares para sus reservas",
"spot_popular_event_types": "Detectar tipos de eventos populares",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "No se encontraron datos para el filtro seleccionado o las fechas seleccionadas.",
"acknowledge_booking_no_show_fee": "Reconozco que si no asisto a este evento, se aplicará a mi tarjeta una tarifa de {{amount, currency}} por no presentarme.",
"card_details": "Detalles de la tarjeta",
"something_went_wrong_on_our_end": "Algo salió mal por nuestra parte. Póngase en contacto con nuestro equipo de soporte y lo solucionaremos de inmediato.",
"something_went_wrong_on_our_end": "Algo salió mal por nuestra parte. Ponte en contacto con nuestro equipo de soporte y lo solucionaremos de inmediato.",
"please_provide_following_text_to_suppport": "Proporcione el siguiente texto cuando se comunique con el soporte para ayudarlo mejor",
"seats_and_no_show_fee_error": "Actualmente, no se pueden habilitar cupos ni cobrar una tarifa por no presentarse",
"complete_your_booking": "Complete su reserva",
@@ -2276,7 +2303,7 @@
"messaging": "Mensajería",
"sender_id_info": "Nombre o número que se muestra como el remitente de un SMS (algunos países no permiten ID de remitente alfanumérico)",
"org_admins_can_create_new_teams": "Sólo el administrador de su organización puede crear nuevos equipos",
"google_new_spam_policy": "La nueva política de spam de Google podría evitar que reciba notificaciones por correo electrónico y calendario sobre esta reserva.",
"google_new_spam_policy": "La nueva política de spam de Google podría impedir que recibas notificaciones por correo electrónico y calendario sobre esta reserva.",
"resolve": "Resolver",
"no_organization_slug": "Hubo un error al crear equipos para esta organización. Falta el slug de URL.",
"copy_link_org": "Copiar enlace a la organización",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "La credencial de delegación te permite gestionar el acceso a los calendarios de Google Workspace para tu organización.",
"add_client_id_in_google_workspace_with_below_scope": "Añade este ID de cliente en Google Workspace con el siguiente alcance",
"delegation_credential_enabled": "Credencial de delegación habilitada",
"delegation_credential_disabled": "Credencial de delegación deshabilitada",
"add_delegation_credential": "Añadir credencial de delegación",
"edit_delegation_credential": "Editar credencial de delegación",
"domain": "Dominio",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "Consulte los eventos de su calendario para evitar el conflicto de reservas.",
"join_event_location": "Únete a {{eventLocationType}}",
"troubleshooting": "Solución de problemas",
"calendars_were_checking_for_conflicts": "Calendarios que estamos verificando para conflictos",
"calendars_were_checking_for_conflicts": "Calendarios que estamos comprobando para conflictos",
"availabilty_schedules": "Horarios de disponibilidad",
"manage_calendars": "Gestionar calendarios",
"manage_availability_schedules": "Gestionar horarios de disponibilidad",
@@ -2582,7 +2608,7 @@
"date": "Fecha",
"overlaps_with_existing_schedule": "Esto se superpone con un horario existente. Por favor selecciona una fecha diferente.",
"org_admin_no_slots|heading": "No se encontró disponibilidad para {{name}}",
"org_admin_no_slots|content": "Hola Administradores de la Organización,<br /><br />Por favor, tomen nota: Se nos ha informado que {{username}} no ha tenido disponibilidad cuando un usuario ha visitado {{username}}/{{slug}}<br /><br />Hay algunas razones por las que esto podría estar sucediendo<br />El usuario no tiene ningún calendario conectado<br />Sus horarios adjuntos a este evento no están habilitados<br /> <br />Recomendamos verificar su disponibilidad para resolver esto.",
"org_admin_no_slots|content": "Hola Administradores de la Organización,<br /><br />Nota: Se ha señalado a nuestra atención que {{username}} no ha tenido disponibilidad cuando un usuario ha visitado {{username}}/{{slug}}<br /><br />Hay algunas razones por las que esto podría estar sucediendo<br />El usuario no tiene calendarios conectados<br />Sus horarios adjuntos a este evento no están habilitados<br /> <br />Recomendamos verificar su disponibilidad para resolver esto.",
"org_admin_no_slots|cta": "Abrir disponibilidad de usuarios",
"organization_no_slots_notification_switch_title": "Recibir notificaciones cuando tu equipo no tenga disponibilidad",
"organization_no_slots_notification_switch_description": "Los administradores recibirán notificaciones por correo electrónico cuando un usuario intente reservar con un miembro del equipo y no haya disponibilidad. Enviamos este correo después de dos intentos y te recordamos cada 7 días por usuario.",
@@ -2596,7 +2622,7 @@
"email_team_invite|heading|invited_to_org": "Has sido invitado a una organización de {{appName}}",
"email_team_invite|heading|added_to_subteam": "Has sido añadido a un equipo de la organización {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Has sido invitado a un equipo de la organización {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "Lo han invitado a unirse a un equipo en {{appName}}",
"email_team_invite|heading|invited_to_regular_team": "Has sido invitado a unirte a un equipo de {{appName}}",
"email_team_invite|content|added_to_org": "{{invitedBy}} te ha añadido a la organización <strong>{{teamName}}</strong>.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} te ha invitado a unirte a la organización {{teamName}}.",
"email_team_invite|subject|invited_to_subteam": "{{user}} te ha invitado a unirte al equipo {{team}} de la organización {{parentTeamName}} en {{appName}}",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Limitar cuántas veces se pueden reservar los miembros en todos los tipos de eventos del equipo",
"booking_limits_updated_successfully": "Límites de reservas actualizados con éxito",
"you_are_unauthorized_to_make_this_change_to_the_booking": "No tienes autorización para realizar este cambio en la reserva",
"delegation_credential_disabled": "Credencial de delegación deshabilitada",
"matching_members": "Miembros coincidentes",
"x_matching_members": "{{x}} miembros coincidentes",
"matching_members_queue_using_attribute_weights": "Cola de miembros coincidentes (usando pesos de atributos)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Sí, reasignar",
"filter_by_attributes": "Filtrar por atributos",
"reassign_reason": "Motivo de la reasignación",
"field_type_change_suggestion": "Cambiar el tipo de campo puede causar pérdida de datos. Por favor, crea un nuevo campo en su lugar.",
"reassigned_by": "Reasignado por",
"row": "fila",
"rows": "filas",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Enrutado a por período",
"per_day": "Por día",
"per_week": "Por semana",
"per_month": "al mes",
"per_month": "Por mes",
"routing_form_insights_assignment_reason": "Motivo de asignación",
"access_denied": "Acceso denegado",
"salesforce_route_to_owner": "El propietario del contacto será el anfitrión de Round Robin si está disponible",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "No tienes permiso para crear una organización con este correo electrónico",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "No tienes permiso para migrar uno o más de los equipos",
"organization_has_subscription_already": "La organización ya tiene una suscripción",
"reset_interval_weighted_rr": "Intervalo de reinicio para Round Robin ponderado",
"interval": "Intervalo",
"rr_reset_interval_description": "Determina con qué frecuencia se reinicia el conteo de reservas de rotación para asegurar una distribución equilibrada.",
"daily": "Diario",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Ya existe un reenvío inverso entre estos usuarios.",
"previous_ooo_empty_title": "No se encontraron ausencias anteriores",
"previous": "Anterior",
"rr_interval_successfully_updated": "Intervalo de Round Robin actualizado con éxito",
"trial_mode": "Modo de prueba",
"inactive_team_plan": "Plan de equipo inactivo",
"inactive_team_plan_description": "Tu plan de equipo está inactivo. Revisa tu suscripción o contacta con el soporte al cliente",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Aún no tienes un equipo",
"no_team_members": "Aún no tienes miembros en tu equipo",
"recurring_event_doesnt_support_seats": "Los eventos recurrentes no admiten la función de asientos. Hazlo no recurrente para habilitar asientos.",
"booking_limit_per_booker_doesnt_support_recurring": "El evento recurrente no es compatible con la función de límite de reservas por persona. Desactiva el límite de reservas por persona para habilitar el evento recurrente.",
"seats_doesnt_support_recurring": "La función de asientos no admite eventos recurrentes. Desactiva la función de asientos para hacerlo recurrente.",
"recurring_event_seats_error": "Los eventos recurrentes no admiten la función de asientos. Desactiva la función de asientos o haz que el evento no sea recurrente.",
"segment": "Segmento",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Habilitar credencial de delegación",
"enable_delegation_credential_description": "Concede a Cal.com acceso automático a los calendarios de todos los miembros de la organización habilitando la credencial de delegación.",
"disable_delegation_credential": "Deshabilitar credencial de delegación",
"disable_delegation_credential_description": "Una vez que se deshabilita la credencial de delegación, los miembros de la organización que no hayan conectado sus calendarios deberán hacerlo manualmente.",
"disable_delegation_credential_description": "Una vez que se desactiva la credencial de delegación, los miembros de la organización que no hayan conectado sus calendarios deberán hacerlo manualmente.",
"last_active": "Última actividad",
"member_since": "Miembro desde",
"last_updated": "Última actualización",
@@ -3202,10 +3233,131 @@
"matching": "Coincidencia",
"event_redirect": "Redirección de evento",
"reset_form": "Restablecer formulario",
"rr_settings_successfully_updated": "Configuración de Round Robin actualizada con éxito",
"distribution_basis_weighted_rr": "Base de distribución para Round Robin ponderado",
"timestamp_basis_description": "Determina qué marca de tiempo del evento se utiliza como base para la distribución ponderada de round robin.",
"requires_credits": "Requiere créditos",
"requires_credits_tooltip": "Necesitas tener suficientes créditos en tu cuenta para usar esta función",
"available_credits": "Créditos disponibles",
"create_role": "Crear rol",
"roles_and_permissions": "Roles y permisos",
"roles_and_permissions_description": "Gestiona roles y permisos para tu organización",
"learn_more_permissions": "Aprende más sobre cómo funcionan los permisos",
"role_name": "Nombre del rol",
"role_name_placeholder": "p. ej. Equipo de ventas, Personal de soporte",
"role_description": "Descripción del rol",
"role_description_placeholder": "Describe para qué sirve este rol y qué permisos necesita",
"default_role": "Rol predeterminado",
"custom_role": "Rol personalizado",
"advanced": "Avanzado",
"search_permissions": "Buscar permisos",
"all_permissions": "Todos los permisos",
"none": "Ninguno",
"read_only": "Solo lectura",
"pbac_desc_all_actions_all_resources": "Todas las acciones en todos los recursos",
"pbac_resource_all": "Todos los recursos",
"pbac_resource_event_type": "Tipos de evento",
"pbac_resource_team": "Equipos",
"pbac_resource_organization": "Organización",
"pbac_resource_booking": "Reservas",
"pbac_resource_insights": "Perspectivas",
"pbac_resource_role": "Roles",
"pbac_action_all": "Todas las acciones",
"pbac_action_create": "Crear",
"pbac_action_read": "Ver",
"pbac_action_update": "Editar",
"pbac_action_delete": "Eliminar",
"pbac_action_manage": "Gestionar",
"pbac_action_invite": "Invitar",
"pbac_action_remove": "Eliminar",
"pbac_action_change_member_role": "Cambiar rol de miembro",
"pbac_action_list_members": "Listar miembros",
"pbac_action_manage_billing": "Gestionar facturación",
"pbac_action_read_team_bookings": "Ver reservas del equipo",
"pbac_action_read_org_bookings": "Ver reservas de la organización",
"pbac_action_read_recordings": "Ver grabaciones",
"role_created_successfully": "Rol creado con éxito",
"role_updated_successfully": "Rol actualizado con éxito",
"delete_role": "Eliminar rol",
"confirm_delete_role": "¿Está seguro de que desea eliminar este rol? Esta acción no se puede deshacer.",
"role_deleted_successfully": "Rol eliminado con éxito",
"error_creating_role": "Error al crear el rol",
"error_updating_role": "Error al actualizar el rol",
"pbac_desc_create_roles": "Crear roles",
"pbac_desc_view_roles": "Ver roles",
"pbac_desc_update_roles": "Actualizar roles",
"pbac_desc_delete_roles": "Eliminar roles",
"pbac_desc_manage_roles": "Todas las acciones en roles",
"pbac_desc_create_event_types": "Crear tipos de eventos",
"pbac_desc_view_event_types": "Ver tipos de eventos",
"pbac_desc_update_event_types": "Actualizar tipos de eventos",
"pbac_desc_delete_event_types": "Eliminar tipos de eventos",
"pbac_desc_manage_event_types": "Todas las acciones en tipos de eventos",
"pbac_desc_create_teams": "Crear equipos",
"pbac_desc_view_team_details": "Ver detalles del equipo",
"pbac_desc_update_team_settings": "Actualizar configuración del equipo",
"pbac_desc_delete_team": "Eliminar equipo",
"pbac_desc_invite_team_members": "Invitar miembros al equipo",
"pbac_desc_remove_team_members": "Eliminar miembros del equipo",
"pbac_desc_change_team_member_role": "Cambiar rol de los miembros del equipo",
"pbac_desc_manage_teams": "Todas las acciones en equipos",
"pbac_desc_create_organization": "Crear organización",
"pbac_desc_view_organization_details": "Ver detalles de la organización",
"pbac_desc_list_organization_members": "Listar miembros de la organización",
"pbac_desc_invite_organization_members": "Invitar miembros a la organización",
"pbac_desc_remove_organization_members": "Eliminar miembros de la organización",
"pbac_desc_manage_organization_billing": "Gestionar facturación de la organización",
"pbac_desc_change_organization_member_role": "Cambiar rol de los miembros de la organización",
"pbac_desc_edit_organization_settings": "Editar configuración de la organización",
"pbac_desc_manage_organizations": "Todas las acciones en organizaciones",
"pbac_desc_view_bookings": "Ver reservas",
"pbac_desc_view_team_bookings": "Ver reservas del equipo",
"pbac_desc_view_organization_bookings": "Ver reservas de la organización",
"pbac_desc_view_booking_recordings": "Ver grabaciones de reservas",
"pbac_desc_update_bookings": "Actualizar reservas",
"pbac_desc_manage_bookings": "Todas las acciones en reservas",
"pbac_desc_view_team_insights": "Ver estadísticas del equipo",
"pbac_desc_manage_team_insights": "Gestionar estadísticas del equipo",
"read_permission_auto_enabled_tooltip": "El permiso de lectura se habilita automáticamente al crear, actualizar o eliminar un recurso",
"choose_restriction_schedule": "Añadir horario de restricción",
"choose_restriction_schedule_description": "Habilita esto si quieres restringir la disponibilidad de los anfitriones para este tipo de evento basado en un horario de restricción. Esto solo elimina los espacios que no están en el horario de restricción, no añade nuevos espacios.",
"use_booker_timezone": "Usar zona horaria del reservante",
"use_booker_timezone_info": "Aplicar el horario de restricción seleccionado en la zona horaria del reservante",
"load_balancing_warning": "Esto desactivará el Balanceo de Carga en todos tus tipos de eventos round robin",
"rr_load_balancing_disabled": "El Balanceo de Carga solo está disponible cuando la base de tiempo está configurada como Momento de Creación de la Reserva",
"round_robin_settings_description": "Personalice la configuración predeterminada de round robin para este equipo",
"round_robin_settings_updated_successfully": "Configuración de Round Robin actualizada correctamente",
"booking_creation_time": "Hora de creación de la reserva",
"meeting_start_time": "Hora de inicio de la reunión",
"members_affected_by_disabling_delegation_credential": "Miembros afectados",
"no_members_affected_by_disabling_delegation_credential": "Ningún miembro afectado por la desactivación de la credencial de delegación",
"download_expense_log": "Descargar registro de gastos",
"error_downloading_expense_log": "Error al descargar el registro de gastos",
"offer_to_reschedule_last_booking": "Ofrecer reprogramar la última reserva activa al horario elegido",
"booker_limit_exceeded_error": "Se ha excedido el límite máximo de reservas activas del usuario",
"booker_limit_exceeded_error_reschedule": "Ya tienes una reserva para este evento el {{date}}. ¿Quieres reprogramarla para el nuevo horario seleccionado?",
"duration_min_error": "La duración debe ser de al menos {{min}} minuto(s)",
"duration_max_error": "La duración no puede exceder {{max}} minutos (24 horas)",
"booking_not_allowed_by_restriction_schedule_error": "Reserva fuera de la disponibilidad del horario de restricción.",
"restriction_schedule_not_found_error": "Horario de restricción no encontrado",
"converted_image_size_limit_exceed": "Límite de tamaño de imagen excedido, utilice una imagen más pequeña preferiblemente en formato JPEG",
"license_key": "Clave de licencia",
"license_selection_title": "Elija su licencia",
"license_selection_description": "Seleccione cómo desea licenciar su implementación de Cal.com",
"agplv3_license_description": "Utilice Cal.com bajo la licencia de código abierto AGPLv3",
"enter_license_key": "Introducir clave de licencia",
"enter_your_license_key": "Acceso a todas las funciones empresariales",
"enter_existing_license": "Desde $15/usuario al mes",
"enter_license_key_description": "Acceso a todas las funciones empresariales",
"license_key_placeholder": "Introduzca su clave de licencia",
"save_license_key": "Guardar clave de licencia",
"signature_token_optional": "Token de firma (opcional)",
"signature_token_description": "El token de firma se utiliza para verificar que la clave de licencia es tuya al incrementar la facturación basada en el uso. Puedes encontrarlo en tu correo electrónico de confirmación de compra. Si tienes una licencia antigua, puedes dejar esto en blanco.",
"need_a_license": "¿Necesitas una licencia?",
"license_key_required": "La clave de licencia es obligatoria",
"invalid_license_key": "Clave de licencia no válida",
"license_validation_failed": "No se pudo validar la clave de licencia",
"license_key_saved": "Clave de licencia guardada correctamente",
"timezone_mismatch_tooltip": "Estás viendo el informe basado en la zona horaria de tu perfil ({{userTimezone}}), mientras que tu navegador está configurado en la zona horaria ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Agregue sus nuevas cadenas arriba ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+174 -22
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Kohanda Cal Video seadeid",
"calvideo_settings_description": "Seadista videokoosoleku eelistused, sealhulgas salvestusõigused korraldajatele ja osalejatele.",
"disable_recording_for_guests": "Keela külaliste salvestamine",
"enable_automatic_transcription": "Luba automaatne transkriptsioon pärast koosolekuga liitumist",
"video_options": "Video valikud",
"get_meeting_session_details": "Hangi koosoleku sessiooni üksikasjad",
"meeting_session_details": "Koosoleku sessiooni üksikasjad",
"meeting_session": "Koosoleku sessioon",
"session_id": "Sessiooni ID",
"max_participants": "Maksimaalne osalejate arv",
"unlimited": "Piiramatu",
"ongoing": "Kestab",
"ended": "Lõppenud",
"participants": "Osalejad",
"anonymous_user": "Anonüümne kasutaja",
"session_duration": "Sessiooni kestus",
"no_meeting_sessions_found": "Koosoleku sessioone ei leitud",
"not_available": "Pole saadaval",
"disable_recording_for_organizer": "Keela korraldaja salvestamine",
"disable_transcription_for_guests": "Keela transkriptsioon külalistele",
"disable_transcription_for_organizer": "Keela transkriptsioon korraldajale",
"event_request_declined_recurring": "Teie korduva ürituse taotlus on tagasi lükatud",
"event_request_cancelled": "Teie ajastatud üritus tühistati",
"event_request_reassigned": "Teie planeeritud sündmus määrati ümber",
@@ -264,6 +281,8 @@
"guests": "Külalised",
"guest": "Külaline",
"web_conferencing_details_to_follow": "Veebikonverentsi üksikasjad mida järgida kinnitusmeilis.",
"confirmation": "Kinnitus",
"what_booker_should_provide": "Mida broneerija peaks kinnituste saamiseks esitama",
"404_the_user": "Kasutajanimi",
"username": "Kasutajanimi",
"is_still_available": "on endiselt saadaval.",
@@ -331,7 +350,7 @@
"organization_general_description": "Meeskonna keele ja ajavööndi seadete haldamine",
"few_sentences_about_yourself": "Paar lauset enda kohta. See kuvatakse teie isiklikul URL-i lehel.",
"nearly_there": "Peaaegu seal!",
"nearly_there_instructions": "Viimane, lühike kirjeldus teie kohta ja foto aitavad teil broneeringuid teha ja inimestele teada anda, kelle juures nad broneerivad.",
"nearly_there_instructions": "Viimane samm: lühike kirjeldus sinust ja foto aitavad sul broneeringuid saada ning annavad inimestele teada, kellega nad kohtuvad.",
"set_availability_instructions": "Määrake ajavahemikud, mil olete regulaarselt saadaval. Saate neid hiljem rohkem luua ja määrata need erinevatele kalendritele.",
"set_availability": "Määrake oma saadavus",
"set_availbility_description": "Määrake ajakavad kellaaegade jaoks, mida soovite broneerida.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Ühenda oma kalender",
"connect_your_video_app": "Ühenda oma videorakendused",
"connect_your_video_app_instructions": "Ühendage oma videorakendused, et neid oma sündmuste tüüpide puhul kasutada.",
"connect_your_calendar_instructions": "Ühendage oma kalender, et vaadata automaatselt kiireid aegu ja uusi sündmusi vastavalt ajakavale.",
"connect_your_calendar_instructions": "Ühenda oma kalender, et automaatselt kontrollida hõivatud aegu ja uusi sündmusi nende planeerimisel.",
"set_up_later": "Seadista hiljem",
"current_time": "Praegune aeg",
"details": "Üksikasjad",
"welcome": "Tere tulemast",
"welcome_back": "Tere tulemast tagasi",
"welcome_to_calcom": "Tere tulemast rakendusse {{appName}}",
"welcome_instructions": "Öelge meile, kuidas teile helistada, ja andke meile teada, mis ajavööndis te viibite. Saate seda hiljem muuta.",
"welcome_instructions": "Ütle meile, kuidas sind kutsuda, ja anna teada, mis ajavööndis sa oled. Saad seda hiljem muuta.",
"connect_caldav": "Ühenda CalDaviga (beeta)",
"connect_ics_feed": "Ühenda ICS-kanaliga",
"connect": "Ühenda",
@@ -361,7 +380,7 @@
"when": "Millal",
"where": "Kus",
"add_to_calendar": "Lisa kalendrisse",
"add_to_calendar_description": "Valige, kuhu sündmusi lisada, kui olete broneeritud.",
"add_to_calendar_description": "Vali, kuhu sündmused lisada, kui sind broneeritakse.",
"add_events_to": "Lisa sündmusi",
"add_another_calendar": "Lisa teine ​​kalender",
"other": "Muu",
@@ -1153,6 +1172,7 @@
"test_failed": "Test ebaõnnestus",
"provide_api_key": "Esita API võti",
"api_key_modal_subtitle": "API võtmed võimaldavad teil teha oma konto jaoks API-kõnesid.",
"api_key_modal_subtitle_platform": "Loo turg või platvorm selle asemel.",
"api_keys_subtitle": "Generate API võtmed, mida kasutada oma kontole juurdepääsuks.",
"create_api_key": "Loo API võti",
"personal_note": "Nimeta see võti",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Tühista see API võti",
"disable_rescheduling": "Keela ümberkorraldamine",
"description_disable_rescheduling": "Külalised ei saa enam sündmust ümber korraldada kalendrikutse või e-posti kaudu",
"allow_rescheduling_cancelled_bookings": "Luba broneerimine ümberplaneerimise lingi kaudu",
"description_allow_rescheduling_cancelled_bookings": "Kui see on lubatud, saavad kasutajad tühistatud broneeringut ümber planeerides luua uue broneeringu.",
"disable_cancelling": "Keela tühistamine",
"description_disable_cancelling": "Külalised ei saa enam sündmust tühistada kalendrikutse või e-posti kaudu",
"revoke_api_key": "Tühista API võti",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "API võtmed võimaldavad teistel rakendustel suhelda rakendusega {{appName}}",
"back_to_signin": "Tagasi sisselogimiseks",
"reset_link_sent": "Lähtesta link saadetud",
"password_reset_email": "E-kiri on teel aadressile {{email}} koos juhistega parooli lähtestamiseks.",
"password_reset_email": "E-kiri on teel aadressile {{email}} juhistega, kuidas oma parooli lähtestada.",
"password_reset_leading": "Kui te ei saa peagi e-kirja, kontrollige, kas sisestatud e-posti aadress on õige, kontrollige oma rämpsposti kausta või pöörduge toe poole, kui probleem püsib.",
"password_updated": "Parool uuendatud!",
"pending_payment": "Ootel makse",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "See piirab teie saadavust selle sündmuse tüübi jaoks ühe ajaga päevas, mis on planeeritud kõige varasemal vabal ajal.",
"limit_total_booking_duration": "Limit kogu broneeringu kestust",
"limit_total_booking_duration_description": "Piirake selle sündmuse broneerimiseks kuluvat aega",
"booker_booking_limit": "Broneerija aktiivsete broneeringute piirang",
"booker_booking_limit_description": "Piira aktiivsete broneeringute arvu, mida broneerija saab selle sündmuse tüübi jaoks teha.",
"recurring_event_doesnt_support_booker_booking_limit": "Korduvad sündmused ei toeta broneerija broneeringute piirangut.",
"add_limit": "Lisa piir",
"team_name_required": "Vaja on meeskonna nimi",
"show_attendees": "Osalejate teabe jagamine külaliste vahel",
"show_available_seats_count": "Näita vabade kohtade arvu",
"how_booking_questions_as_variables": "Kuidas kasutada broneerimisküsimusi muutujatena?",
"format": "Formaat",
"questions": "Küsimused",
"all_info_your_booker_provide": "Kogu teave, mida broneerija peaks enne teiega broneerimist esitama.",
"uppercase_for_letters": "Kasuta kõigi tähtede jaoks suurtähti",
"replace_whitespaces_underscores": "Asenda tühikud alakriipsudega",
"platform_members": "Platvormi liikmed",
@@ -1915,7 +1942,7 @@
"new_attendee": "Uus osaleja",
"awaiting_approval": "Ootan heakskiitu",
"requires_google_calendar": "See rakendus nõuab Google'i kalendri ühendust",
"event_type_requires_google_calendar": "Selle sündmuse tüübi \"Lisa kalendrisse\" peab olema Google Calendar, et Meet töötaks. Ühenda see <0>siin</0>.",
"event_type_requires_google_calendar": "Selle sündmuse tüübi \"Lisa kalendrisse\" funktsioon vajab Google Kalendrit, et Meet töötaks. Ühendage see <0>siin</0>.",
"connected_google_calendar": "Olete ühendanud Google'i kalendri konto.",
"using_meet_requires_calendar": "Google Meeti kasutamiseks on vaja ühendatud Google'i kalendrit",
"continue_to_install_google_calendar": "Jätka Google'i kalendri installimist",
@@ -1967,12 +1994,12 @@
"delete_sso_configuration_confirmation_description": "Kas soovite kindlasti konfiguratsiooni {{connectionType}} kustutada? Teie meeskonnaliikmed, kes kasutavad {{connectionType}} sisselogimist, ei pääse enam saidile Cal.com juurde.",
"organizer_timezone": "Korraldaja ajavöönd",
"email_user_cta": "Vaata kutset",
"email_no_user_invite_heading_subteam": "Teid on kutsutud liituma organisatsiooni {{parentTeamName}} meeskonnaga",
"email_no_user_invite_heading_org": "Teid on kutsutud liituma organisatsiooniga {{appName}}",
"email_no_user_invite_heading_subteam": "Teid on kutsutud liituma {{parentTeamName}} organisatsiooni meeskonnaga.",
"email_no_user_invite_heading_org": "Teid on kutsutud liituma {{appName}} organisatsiooniga.",
"email_no_user_invite_subheading": "{{invitedBy}} kutsus teid liituma oma meeskonnaga rakenduses {{appName}}. {{appName}} on sündmustega žongleerimise ajakava, mis võimaldab teil ja teie meeskonnal koosolekuid ajastada ilma meilitenniseta.",
"email_user_invite_subheading_subteam": "{{invitedBy}} kutsus teid liituma tiimiga {{teamName}} nende organisatsioonis {{parentTeamName}} rakenduses {{appName}}. {{appName}} on sündmuste žongleerimise ajakava, mis võimaldab teil ja teie meeskonnal koosolekute planeerimiseks ilma meilita tenniseta.",
"email_user_invite_subheading_org": "{{invitedBy}} kutsus teid liituma oma organisatsiooniga {{teamName}} rakenduses {{appName}}. {{appName}} on sündmuste žongleerimise ajakava, mis võimaldab teil ja teie organisatsioonil koosolekuid ajastada ilma meilita. ",
"email_no_user_invite_steps_intro": "Juhendame teid mõne lühikese sammuga ja saate kiiresti oma {{entity}}-ga stressivaba ajagraafiku koostamist nautida.",
"email_no_user_invite_steps_intro": "Juhendame teid läbi mõne lühikese sammu, et saaksite peagi nautida stressivaba ajaplaneerimist oma {{entity}}-ga.",
"email_no_user_step_one": "Vali oma kasutajanimi",
"email_no_user_step_two": "Ühenda oma kalendrikonto",
"email_no_user_step_three": "Määrake oma saadavus",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Tehke Insightsi abil teadlikke otsuseid",
"make_informed_decisions_description": "Meie Insightsi armatuurlaud kuvab kogu teie meeskonna tegevuse ja näitab teile suundumusi, mis võimaldavad meeskonna paremat ajakava ja otsuste tegemist.",
"view_bookings_across": "Vaadake kõigi liikmete broneeringuid",
"view_bookings_across_description": "Vaadake, kes saavad kõige rohkem broneeringuid, ja tagage parim jaotus teie meeskonnas",
"view_bookings_across_description": "Vaadake, kes saab kõige rohkem broneeringuid, ja tagage parim jaotus oma meeskonna vahel.",
"identify_booking_trends": "Tuvastage broneerimistrendid",
"identify_booking_trends_description": "Vaadake, millised nädalaajad ja päevaajad on teie broneerijate jaoks populaarsed",
"spot_popular_event_types": "Märkige populaarseid sündmuste tüüpe",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "Valitud filtri või valitud kuupäevade kohta andmeid ei leitud.",
"acknowledge_booking_no_show_fee": "Ma tean, et kui ma sellel üritusel ei osale, rakendatakse minu kaardile {{summa, valuuta}} mitteilmumise tasu.",
"card_details": "Kaardi andmed",
"something_went_wrong_on_our_end": "Meil läks midagi valesti. Võtke ühendust meie tugitiimiga ja me parandame selle teie jaoks kohe ära.",
"something_went_wrong_on_our_end": "Midagi läks meie poolel valesti. Võtke ühendust meie tugitiimiga ja me lahendame selle kohe teie jaoks.",
"please_provide_following_text_to_suppport": "Teid paremaks abistamiseks esitage tugiteenusega ühenduse võtmisel järgmine tekst",
"seats_and_no_show_fee_error": "Praegu ei saa lubada istekohti ja võtta mitteilmumise tasu",
"complete_your_booking": "Lõpetage broneering",
@@ -2276,7 +2303,7 @@
"messaging": "Sõnumite saatmine",
"sender_id_info": "SMS-i saatjana kuvatud nimi või number (mõned riigid ei luba tähtnumbrilisi saatja ID-sid)",
"org_admins_can_create_new_teams": "Uusi meeskondi saab luua ainult teie organisatsiooni administraator",
"google_new_spam_policy": "Google'i uued rämpspostieeskirjad võivad takistada teil selle broneeringu kohta meili- ja kalendrimärguandeid saamast.",
"google_new_spam_policy": "Google'i uus rämpsposti poliitika võib takistada teil selle broneeringu kohta e-kirju ja kalendriteavitusi saamast.",
"resolve": "Lahenda",
"no_organization_slug": "Selle organisatsiooni jaoks meeskondade loomisel ilmnes viga. Puuduv URL-i slug.",
"copy_link_org": "Kopeeri link organisatsioonile",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "Delegeerimise volitus võimaldab teil hallata juurdepääsu Google Workspace'i kalendritele oma organisatsioonis.",
"add_client_id_in_google_workspace_with_below_scope": "Lisa see kliendi ID Google Workspace'i järgmise ulatusega",
"delegation_credential_enabled": "Delegeerimise volitus on lubatud",
"delegation_credential_disabled": "Delegeerimise volitus on keelatud",
"add_delegation_credential": "Lisa delegeerimise volitus",
"edit_delegation_credential": "Muuda delegeerimise volitust",
"domain": "Domeen",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "Vaadake oma kalendrisündmusi, et vältida vastuolulisi broneeringuid.",
"join_event_location": "Liitu {{eventLocationType}}",
"troubleshooting": "Veaotsing",
"calendars_were_checking_for_conflicts": "Kalendrid, mida kontrollime konfliktide suhtes",
"calendars_were_checking_for_conflicts": "Kalendrid, mida kontrollime konfliktide suhtes.",
"availabilty_schedules": "Saadavaloleku ajakavad",
"manage_calendars": "Kalendrite haldamine",
"manage_availability_schedules": "Halda saadavuse ajakavasid",
@@ -2582,7 +2608,7 @@
"date": "Kuupäev",
"overlaps_with_existing_schedule": "See kattub olemasoleva ajakavaga. Valige mõni muu kuupäev.",
"org_admin_no_slots|heading": "Saadavust ei leitud kasutajale {{name}}",
"org_admin_no_slots|content": "Tere organisatsiooni administraatorid!<br /><br />Pange tähele: meie tähelepanu juhiti sellele, et kasutajal {{username}} pole olnud saadaval, kui kasutaja on külastanud aadressi {{username}}/{{slug}} <br /><br />Sellel võib olla mitu põhjust.<br />Kasutaja ei ole ühendatud ühtegi kalendrit<br />Selle sündmusega seotud ajakavad pole lubatud<br /> <br /> Selle lahendamiseks soovitame kontrollida nende saadavust.",
"org_admin_no_slots|content": "Tere, organisatsiooni administraatorid,<br /><br />Pange tähele: Meile on teatatud, et {{username}} ei ole olnud saadaval, kui kasutaja on külastanud {{username}}/{{slug}}<br /><br />Sellel võib olla mitu põhjust:<br />Kasutajal ei ole ühtegi kalendrit ühendatud<br />Selle sündmusega seotud ajakavad ei ole lubatud<br /><br />Soovitame kontrollida nende saadavust, et see probleem lahendada.",
"org_admin_no_slots|cta": "Ava kasutajate saadavus",
"organization_no_slots_notification_switch_title": "Saage märguandeid, kui teie meeskond pole saadaval",
"organization_no_slots_notification_switch_description": "Administraatorid saavad meilimärguandeid, kui kasutaja üritab broneerida meeskonnaliiget ja seisab silmitsi olekuga 'Saadaval puudub'. Saadame selle meili pärast kahte juhtumit ja tuletame teile meelde iga 7 päeva tagant kasutaja kohta. ",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "{{user}} kutsus teid liituma organisatsiooniga {{team}} rakenduses {{appName}}",
"email_team_invite|subject|added_to_subteam": "{{user}} lisas teid organisatsiooni {{parentTeamName}} meeskonda {{team}} rakenduses {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "{{user}} kutsus teid liituma tiimiga {{team}} rakenduses {{appName}}",
"email_team_invite|heading|added_to_org": "Teid lisati organisatsiooni {{appName}}",
"email_team_invite|heading|invited_to_org": "Teid on kutsutud organisatsiooni {{appName}}",
"email_team_invite|heading|added_to_subteam": "Teid lisati organisatsiooni {{parentTeamName}} meeskonda",
"email_team_invite|heading|invited_to_subteam": "Teid on kutsutud organisatsiooni {{parentTeamName}} meeskonda",
"email_team_invite|heading|invited_to_regular_team": "Teid on kutsutud liituma rakenduse {{appName}} meeskonnaga",
"email_team_invite|heading|added_to_org": "Teid on lisatud {{appName}} organisatsiooni",
"email_team_invite|heading|invited_to_org": "Teid on kutsutud {{appName}} organisatsiooni",
"email_team_invite|heading|added_to_subteam": "Teid on lisatud {{parentTeamName}} organisatsiooni meeskonda",
"email_team_invite|heading|invited_to_subteam": "Teid on kutsutud {{parentTeamName}} organisatsiooni meeskonda",
"email_team_invite|heading|invited_to_regular_team": "Teid on kutsutud liituma {{appName}} meeskonnaga",
"email_team_invite|content|added_to_org": "{{invitedBy}} lisas teid organisatsiooni <strong>{{teamName}}</strong>.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} kutsus teid liituma organisatsiooniga {{teamName}}.",
"email_team_invite|subject|invited_to_subteam": "{{user}} kutsus teid liituma organisatsiooni {{parentTeamName}} meeskonnaga {{team}} rakenduses {{appName}}",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Piira, mitu korda saab meeskonnaliikmeid broneerida kõigi meeskonna sündmuste tüüpide lõikes",
"booking_limits_updated_successfully": "Broneerimispiirangud on edukalt uuendatud",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Teil puuduvad õigused selle broneeringu muutmiseks",
"delegation_credential_disabled": "Delegeerimise volitus on keelatud",
"matching_members": "Sobivad liikmed",
"x_matching_members": "{{x}} sobivat liiget",
"matching_members_queue_using_attribute_weights": "Liikmete järjekord vastavalt atribuudi kaaludele",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Jah, määra ümber",
"filter_by_attributes": "Filtreeri omaduste järgi",
"reassign_reason": "Ümbermääramise põhjus",
"field_type_change_suggestion": "Välja tüübi muutmine võib põhjustada andmete kadumist. Palun looge selle asemel uus väli.",
"reassigned_by": "Ümber määranud",
"row": "rida",
"rows": "rida",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Suunatud perioodi kohta",
"per_day": "Päevas",
"per_week": "Nädalas",
"per_month": "kuus",
"per_month": "Kuus",
"routing_form_insights_assignment_reason": "Määramise põhjus",
"access_denied": "Juurdepääs keelatud",
"salesforce_route_to_owner": "Kontakti omanik on round robin host, kui saadaval",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Teil pole luba selle e-posti aadressiga organisatsiooni loomiseks",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Teil pole luba ühe või mitme meeskonna migreerimiseks",
"organization_has_subscription_already": "Organisatsioonil on juba tellimus",
"reset_interval_weighted_rr": "Kaalutud Round Robini lähtestamise intervall",
"interval": "Intervall",
"rr_reset_interval_description": "Määrab, kui tihti round robini broneeringute arv lähtestatakse, et tagada tasakaalustatud jaotus.",
"daily": "Iga päev",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Nende kasutajate vahel on juba vastupidine edasisuunamine.",
"previous_ooo_empty_title": "Eelmist OOO-d ei leitud",
"previous": "Eelmine",
"rr_interval_successfully_updated": "Round Robini intervall on edukalt uuendatud",
"trial_mode": "Prooviversioon",
"inactive_team_plan": "Mitteaktiivne meeskonnaplaan",
"inactive_team_plan_description": "Teie meeskonnaplaan on mitteaktiivne. Kontrollige oma tellimust või võtke ühendust klienditoega",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Teil pole veel meeskonda",
"no_team_members": "Teil pole veel meeskonnaliikmeid",
"recurring_event_doesnt_support_seats": "Korduv sündmus ei toeta kohtade funktsiooni. Muutke see mittekorduvaks, et lubada kohtade funktsioon.",
"booking_limit_per_booker_doesnt_support_recurring": "Korduv sündmus ei toeta broneerimispiirangut ühe broneerija kohta. Korduva sündmuse lubamiseks keelake broneerimispiirang ühe broneerija kohta.",
"seats_doesnt_support_recurring": "Kohtade funktsioon ei toeta korduvat sündmust. Keelake kohtade funktsioon, et muuta see korduvaks.",
"recurring_event_seats_error": "Korduv sündmus ei toeta kohtade funktsiooni. Keelake kohtade funktsioon või muutke sündmus mittekorduvaks.",
"segment": "Segment",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Luba delegeerimise volitus",
"enable_delegation_credential_description": "Andke Cal.com-ile automaatne juurdepääs kõigi organisatsiooni liikmete kalendritele, lubades delegeerimise volituse.",
"disable_delegation_credential": "Keela delegeerimise volitus",
"disable_delegation_credential_description": "Kui delegeerimise volitus on keelatud, peavad organisatsiooni liikmed, kes pole oma kalendreid ühendanud, seda käsitsi tegema.",
"disable_delegation_credential_description": "Kui delegatsiooni mandaadid on keelatud, peavad organisatsiooni liikmed, kes pole oma kalendreid ühendanud, seda käsitsi tegema.",
"last_active": "Viimati aktiivne",
"member_since": "Liige alates",
"last_updated": "Viimati uuendatud",
@@ -3202,10 +3233,131 @@
"matching": "Sobitamine",
"event_redirect": "Sündmuse ümbersuunamine",
"reset_form": "Lähtesta vorm",
"rr_settings_successfully_updated": "Round Robini seaded on edukalt uuendatud",
"distribution_basis_weighted_rr": "Kaalutud Round Robini jaotuse alus",
"timestamp_basis_description": "Määrab, millist sündmuse ajatemplit kasutatakse kaalutud Round Robini jaotuse alusena.",
"requires_credits": "Nõuab krediite",
"requires_credits_tooltip": "Selle funktsiooni kasutamiseks peab teie kontol olema piisavalt krediiti",
"available_credits": "Saadaval krediidid",
"create_role": "Loo roll",
"roles_and_permissions": "Rollid ja õigused",
"roles_and_permissions_description": "Halda oma organisatsiooni rolle ja õigusi",
"learn_more_permissions": "Lisateave õiguste toimimise kohta",
"role_name": "Rolli nimi",
"role_name_placeholder": "nt Müügimeeskond, Tugipersonal",
"role_description": "Rolli kirjeldus",
"role_description_placeholder": "Kirjeldage, milleks see roll on ja milliseid õigusi see vajab",
"default_role": "Vaikeroll",
"custom_role": "Kohandatud roll",
"advanced": "Täpsem",
"search_permissions": "Otsi õigusi",
"all_permissions": "Kõik load",
"none": "Puudub",
"read_only": "Ainult lugemisõigus",
"pbac_desc_all_actions_all_resources": "Kõik toimingud kõigil ressurssidel",
"pbac_resource_all": "Kõik ressursid",
"pbac_resource_event_type": "Sündmuste tüübid",
"pbac_resource_team": "Meeskonnad",
"pbac_resource_organization": "Organisatsioon",
"pbac_resource_booking": "Broneeringud",
"pbac_resource_insights": "Teadmised",
"pbac_resource_role": "Rollid",
"pbac_action_all": "Kõik toimingud",
"pbac_action_create": "Loo",
"pbac_action_read": "Vaata",
"pbac_action_update": "Muuda",
"pbac_action_delete": "Kustuta",
"pbac_action_manage": "Halda",
"pbac_action_invite": "Kutsu",
"pbac_action_remove": "Eemalda",
"pbac_action_change_member_role": "Muuda liikme rolli",
"pbac_action_list_members": "Loetle liikmed",
"pbac_action_manage_billing": "Halda arveldust",
"pbac_action_read_team_bookings": "Vaata meeskonna broneeringuid",
"pbac_action_read_org_bookings": "Vaata organisatsiooni broneeringuid",
"pbac_action_read_recordings": "Vaata salvestisi",
"role_created_successfully": "Roll loodud edukalt",
"role_updated_successfully": "Roll uuendatud edukalt",
"delete_role": "Kustuta roll",
"confirm_delete_role": "Kas olete kindel, et soovite selle rolli kustutada? Seda toimingut ei saa tagasi võtta.",
"role_deleted_successfully": "Roll kustutatud edukalt",
"error_creating_role": "Viga rolli loomisel",
"error_updating_role": "Viga rolli uuendamisel",
"pbac_desc_create_roles": "Loo rolle",
"pbac_desc_view_roles": "Vaata rolle",
"pbac_desc_update_roles": "Uuenda rolle",
"pbac_desc_delete_roles": "Kustuta rolle",
"pbac_desc_manage_roles": "Kõik toimingud rollidega",
"pbac_desc_create_event_types": "Loo sündmuse tüüpe",
"pbac_desc_view_event_types": "Vaata sündmuse tüüpe",
"pbac_desc_update_event_types": "Uuenda sündmuse tüüpe",
"pbac_desc_delete_event_types": "Kustuta sündmuse tüüpe",
"pbac_desc_manage_event_types": "Kõik toimingud sündmuse tüüpidega",
"pbac_desc_create_teams": "Loo meeskondi",
"pbac_desc_view_team_details": "Vaata meeskonna üksikasju",
"pbac_desc_update_team_settings": "Uuenda meeskonna seadeid",
"pbac_desc_delete_team": "Kustuta meeskond",
"pbac_desc_invite_team_members": "Kutsu meeskonnaliikmeid",
"pbac_desc_remove_team_members": "Eemalda meeskonnaliikmeid",
"pbac_desc_change_team_member_role": "Muuda meeskonnaliikmete rolle",
"pbac_desc_manage_teams": "Kõik toimingud meeskondadega",
"pbac_desc_create_organization": "Loo organisatsioon",
"pbac_desc_view_organization_details": "Vaata organisatsiooni üksikasju",
"pbac_desc_list_organization_members": "Kuva organisatsiooni liikmed",
"pbac_desc_invite_organization_members": "Kutsu organisatsiooni liikmeid",
"pbac_desc_remove_organization_members": "Eemalda organisatsiooni liikmeid",
"pbac_desc_manage_organization_billing": "Halda organisatsiooni arveldust",
"pbac_desc_change_organization_member_role": "Muuda organisatsiooni liikmete rolle",
"pbac_desc_edit_organization_settings": "Muuda organisatsiooni seadeid",
"pbac_desc_manage_organizations": "Kõik toimingud organisatsioonidega",
"pbac_desc_view_bookings": "Vaata broneeringuid",
"pbac_desc_view_team_bookings": "Vaata meeskonna broneeringuid",
"pbac_desc_view_organization_bookings": "Vaata organisatsiooni broneeringuid",
"pbac_desc_view_booking_recordings": "Vaata broneeringute salvestisi",
"pbac_desc_update_bookings": "Uuenda broneeringuid",
"pbac_desc_manage_bookings": "Kõik toimingud broneeringutega",
"pbac_desc_view_team_insights": "Vaata meeskonna ülevaateid",
"pbac_desc_manage_team_insights": "Halda meeskonna ülevaateid",
"read_permission_auto_enabled_tooltip": "Lugemisõigus lubatakse automaatselt ressursi loomisel, uuendamisel või kustutamisel",
"choose_restriction_schedule": "Lisa piirangute ajakava",
"choose_restriction_schedule_description": "Luba see, kui soovid piirata hostide saadavust selle sündmuse tüübi jaoks piirangute ajakava alusel. See eemaldab ainult ajad, mis ei ole piirangute ajakavas, uusi aegu see ei lisa.",
"use_booker_timezone": "Kasuta broneerija ajavööndit",
"use_booker_timezone_info": "Rakenda valitud piirangute ajakava broneerija ajavööndis",
"load_balancing_warning": "See keelab koormuse tasakaalustamise kõigi teie Round Robin sündmuste tüüpide puhul",
"rr_load_balancing_disabled": "Koormuse tasakaalustamine on saadaval ainult siis, kui ajatemplite alus on määratud broneeringu loomise ajaks",
"round_robin_settings_description": "Kohanda selle meeskonna vaikimisi round robin'i seadeid",
"round_robin_settings_updated_successfully": "Round robin'i seaded on edukalt uuendatud",
"booking_creation_time": "Broneeringu loomise aeg",
"meeting_start_time": "Kohtumise algusaeg",
"members_affected_by_disabling_delegation_credential": "Mõjutatud liikmed",
"no_members_affected_by_disabling_delegation_credential": "Delegatsiooni mandaadi keelamine ei mõjuta ühtegi liiget",
"download_expense_log": "Laadi alla kulude logi",
"error_downloading_expense_log": "Viga kulude logi allalaadimisel",
"offer_to_reschedule_last_booking": "Paku viimane aktiivne broneering ümber planeerida valitud ajavahemikku",
"booker_limit_exceeded_error": "Broneerija maksimaalne aktiivsete broneeringute limiit on ületatud",
"booker_limit_exceeded_error_reschedule": "Sul on juba selleks sündmuseks broneering kuupäeval {{date}}. Kas soovid selle ümber planeerida uuele valitud ajale?",
"duration_min_error": "Kestus peab olema vähemalt {{min}} minut(it)",
"duration_max_error": "Kestus ei tohi ületada {{max}} minutit (24 tundi)",
"booking_not_allowed_by_restriction_schedule_error": "Broneerimine väljaspool piirangugraafiku saadavust.",
"restriction_schedule_not_found_error": "Piirangugraafikut ei leitud",
"converted_image_size_limit_exceed": "Pildi suurus ületab limiidi, palun kasutage väiksemat pilti, eelistatavalt JPEG-formaadis",
"license_key": "Litsentsivõti",
"license_selection_title": "Vali oma litsents",
"license_selection_description": "Vali, kuidas soovid oma Cal.com-i juurutust litsentsida",
"agplv3_license_description": "Kasuta Cal.com-i AGPLv3 avatud lähtekoodiga litsentsi alusel",
"enter_license_key": "Sisesta litsentsivõti",
"enter_your_license_key": "Juurdepääs kõigile ettevõtte funktsioonidele",
"enter_existing_license": "Alates $15/kasutaja kuus",
"enter_license_key_description": "Juurdepääs kõigile ettevõtte funktsioonidele",
"license_key_placeholder": "Sisesta oma litsentsivõti",
"save_license_key": "Salvesta litsentsivõti",
"signature_token_optional": "Allkirja token (valikuline)",
"signature_token_description": "Allkirja tokenit kasutatakse litsentsivõtme kinnitamiseks, et see kuulub teile, kui suurendate kasutuspõhist arveldamist. Selle leiate oma ostukinnituse e-kirjast. Kui teil on vana litsents, võite selle välja jätta.",
"need_a_license": "Vajate litsentsi?",
"license_key_required": "Litsentsivõti on kohustuslik",
"invalid_license_key": "Kehtetu litsentsivõti",
"license_validation_failed": "Litsentsivõtme valideerimine ebaõnnestus",
"license_key_saved": "Litsentsivõti salvestati edukalt",
"timezone_mismatch_tooltip": "Te vaatate aruannet oma profiili ajavööndi ({{userTimezone}}) alusel, samal ajal kui teie brauser on seadistatud ajavööndisse ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+169 -17
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Cal Video ezarpenak pertsonalizatu",
"calvideo_settings_description": "Konfiguratu bideo-bileren lehentasunak, grabatzeko baimenak barne, anfitrioi eta parte-hartzaileentzat.",
"disable_recording_for_guests": "Desgaitu grabaketa gonbidatuentzat",
"enable_automatic_transcription": "Gaitu transkripzio automatikoa bileran sartzean",
"video_options": "Bideo aukerak",
"get_meeting_session_details": "Lortu bilera saioaren xehetasunak",
"meeting_session_details": "Bileraren saioaren xehetasunak",
"meeting_session": "Bileraren saioa",
"session_id": "Saioaren IDa",
"max_participants": "Gehienezko parte-hartzaileak",
"unlimited": "Mugarik gabe",
"ongoing": "Martxan",
"ended": "Amaituta",
"participants": "Parte-hartzaileak",
"anonymous_user": "Erabiltzaile anonimoa",
"session_duration": "Saioaren iraupena",
"no_meeting_sessions_found": "Ez da bilera saiorik aurkitu",
"not_available": "Ez dago erabilgarri",
"disable_recording_for_organizer": "Desgaitu grabaketa antolatzailearentzat",
"disable_transcription_for_guests": "Desgaitu gonbidatuentzako transkripzioa",
"disable_transcription_for_organizer": "Desgaitu antolatzaileentzako transkripzioa",
"event_request_declined_recurring": "Zure gertaera errepikari-eskaera baztertua izan da",
"event_request_cancelled": "Zure programatutako gertaera bertan behera utzi da",
"event_request_reassigned": "Zure programatutako gertaera berresleitua izan da",
@@ -264,6 +281,8 @@
"guests": "Gonbidatuak",
"guest": "Gonbidatua",
"web_conferencing_details_to_follow": "Web bileren xehetasunak baieztapen emailean jasoko dituzu.",
"confirmation": "Berrespena",
"what_booker_should_provide": "Zure erreserbatzaileak berrespenak jasotzeko eman beharko duena",
"404_the_user": "Erabiltzaile izena",
"username": "Erabiltzaile izena",
"is_still_available": "orandik eskuragarri dago.",
@@ -331,7 +350,7 @@
"organization_general_description": "Kudeatu zure taldearen hizkuntza eta ordu-eremuko ezarpenak",
"few_sentences_about_yourself": "Esaldi gutxi batzuk zeuri buruz. Zure orrialde pertsonalean agertuko dira.",
"nearly_there": "Ia bukatuta!",
"nearly_there_instructions": "Azken gauza, zure deskribapen labur bat eta argazki bat oso lagungarriak dira erreserbak lortzeko eta jendeari jakinarazteko norekin ari diren erreserba egiten.",
"nearly_there_instructions": "Azken gauza, zure deskribapen labur bat eta argazki bat lagungarriak dira erreserbak lortzeko eta jendeak norekin erreserbatzen duen jakiteko.",
"set_availability_instructions": "Definitu eskuragarri zauden denbora tarteak modu errepikakorrean. Geroago gehiago sortu eta egutegi ezberdinei esleitu diezazkiokezu.",
"set_availability": "Ezarri zein ordutan zauden libre",
"set_availbility_description": "Ezarri ordutegiak erreserbatu nahi zaituzten momentuentzat.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Konektatu zure egutegia",
"connect_your_video_app": "Konektatu zure bideo-aplikazioak",
"connect_your_video_app_instructions": "Konektatu zure bideo aplikazioak zure ekitaldi motetan erabiltzeko.",
"connect_your_calendar_instructions": "Konektatu zure egutegia automatikoki denbora okupatuak egiaztatzeko eta ekitaldi berriak programatzen diren heinean.",
"connect_your_calendar_instructions": "Konektatu zure egutegia automatikoki denbora okupatuak eta programatutako gertaera berriak egiaztatzeko.",
"set_up_later": "Konfiguratu geroago",
"current_time": "Uneko ordua",
"details": "Xehetasunak",
"welcome": "Ongi etorri",
"welcome_back": "Ongi etorri",
"welcome_to_calcom": "Ongi etorri {{appName}}(e)ra",
"welcome_instructions": "Esan nola deitu nahi dizugun eta zein ordu-zonatan zauden. Geroago editatu ahal izango duzu hau.",
"welcome_instructions": "Esan nola deitu behar dizugun eta jakinarazi zein ordutegi-eremutan zauden. Geroago editatu ahal izango duzu.",
"connect_caldav": "Konektatu CalDav-era (Beta)",
"connect_ics_feed": "Konektatu ICS jario batera",
"connect": "Konektatu",
@@ -361,7 +380,7 @@
"when": "Noiz",
"where": "Non",
"add_to_calendar": "Gehitu egutegira",
"add_to_calendar_description": "Aukeratu non gehitu gertaerak erreserbak egiten direnean.",
"add_to_calendar_description": "Hautatu gertaerak gehitzeko lekua erreserbatzen zarenean.",
"add_events_to": "Gehitu gertaerak hona:",
"add_another_calendar": "Gehitu beste egutegi bat",
"other": "Besterik",
@@ -1153,6 +1172,7 @@
"test_failed": "Probak huts egin du",
"provide_api_key": "Eman API gakoa",
"api_key_modal_subtitle": "API gakoek zure konturako API deiak egitea ahalbidetzen dute.",
"api_key_modal_subtitle_platform": "Sortu merkatu edo plataforma bat horren ordez.",
"api_keys_subtitle": "Sortu API gakoak zure kontua atzitzeko.",
"create_api_key": "Sortu API gako bat",
"personal_note": "Izendatu gako hau",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Ezeztatu API gako hau",
"disable_rescheduling": "Berrantolaketa desgaitu",
"description_disable_rescheduling": "Gonbidatuek ezin dute ekitaldia berrantolatu egutegiko gonbidapen edo posta elektronikoarekin",
"allow_rescheduling_cancelled_bookings": "Baimendu erreserba bertan behera utzitako estekaren bidez",
"description_allow_rescheduling_cancelled_bookings": "Gaituta dagoenean, erabiltzaileek erreserba berri bat sortu ahal izango dute bertan behera utzitako erreserba bat berriz programatu nahi dutenean",
"disable_cancelling": "Ezeztatzea desgaitu",
"description_disable_cancelling": "Gonbidatuek ezin dute ekitaldia ezeztatu egutegiko gonbidapen edo posta elektronikoarekin",
"revoke_api_key": "API gakoa ezeztatu",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "API gakoek beste aplikazioei {{appName}}-rekin komunikatzea ahalbidetzen diete",
"back_to_signin": "Itzuli saioa hastera",
"reset_link_sent": "Berrezartzeko esteka bidali da",
"password_reset_email": "Mezu bat bidean dago {{email}} helbidera pasahitza berrezartzeko argibideekin",
"password_reset_email": "Mezu elektroniko bat bidean dago {{email}} helbidera zure pasahitza berrezartzeko argibideekin.",
"password_reset_leading": "Ez baduzu mezurik jasotzen laster, egiaztatu sartutako helbide elektronikoa zuzena dela, begiratu spam karpetan edo jarri harremanetan laguntzarekin arazoak jarraitzen badu",
"password_updated": "Pasahitza eguneratuta!",
"pending_payment": "Ordainketa egiteke",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Honek gertaera mota honetarako zure eskuragarritasuna eguneko tarte bakarrera mugatuko du, eskuragarri dagoen lehenengo orduan programatuta",
"limit_total_booking_duration": "Erreserbaren iraupen totala mugatu",
"limit_total_booking_duration_description": "Gertaera honetarako erreserba daitekeen denbora totala mugatu",
"booker_booking_limit": "Erreserbatzailearen erreserba aktiboen muga",
"booker_booking_limit_description": "Mugatu erreserbatzaile batek gertaera mota honetarako egin ditzakeen erreserba aktiboen kopurua",
"recurring_event_doesnt_support_booker_booking_limit": "Errepikatzen diren gertaerek ez dute erreserbatzailearen erreserba-muga onartzen",
"add_limit": "Muga gehitu",
"team_name_required": "Taldearen izena beharrezkoa da",
"show_attendees": "Partekatu parte-hartzaileen informazioa gonbidatuen artean",
"show_available_seats_count": "Erakutsi eskuragarri dauden eserlekuen kopurua",
"how_booking_questions_as_variables": "Nola erabili erreserba-galderak aldagai gisa?",
"format": "Formatua",
"questions": "Galderak",
"all_info_your_booker_provide": "Zure erreserbatzaileak zurekin erreserba egin aurretik eman beharko lukeen informazio guztia.",
"uppercase_for_letters": "Letra larriz idatzi letra guztiak",
"replace_whitespaces_underscores": "Ordeztu hutsuneak azpimarra batekin",
"platform_members": "Plataformako kideak",
@@ -1972,7 +1999,7 @@
"email_no_user_invite_subheading": "{{invitedBy}}-k bere taldera gonbidatu zaitu {{appName}}-en. {{appName}} bileren antolaketa errazten duen tresna da, zure taldeak bilerak antolatzeko aukera ematen duena posta elektroniko truke etengabea ekidinez.",
"email_user_invite_subheading_subteam": "{{invitedBy}}-k {{parentTeamName}} erakundeko {{teamName}} taldera gonbidatu zaitu {{appName}}-en. {{appName}} bileren antolaketa errazten duen tresna da, zure taldeak bilerak antolatzeko aukera ematen duena posta elektroniko truke etengabea ekidinez.",
"email_user_invite_subheading_org": "{{invitedBy}}-k bere {{teamName}} erakundera gonbidatu zaitu {{appName}}-en. {{appName}} bileren antolaketa errazten duen tresna da, zure erakundeak bilerak antolatzeko aukera ematen duena posta elektroniko truke etengabea ekidinez.",
"email_no_user_invite_steps_intro": "Urrats labur batzuk azalduko dizkizugu eta berehala hasiko zara zure {{entity}}-rekin estresik gabeko hitzorduak antolatzen.",
"email_no_user_invite_steps_intro": "Urrats labur batzuk erakutsiko dizkizugu eta berehala gozatuko duzu estresik gabeko programazioa zure {{entity}} erakundearekin.",
"email_no_user_step_one": "Aukeratu zure erabiltzaile-izena",
"email_no_user_step_two": "Konektatu zure egutegiko kontua",
"email_no_user_step_three": "Ezarri zure erabilgarritasuna",
@@ -2276,7 +2303,7 @@
"messaging": "Mezularitza",
"sender_id_info": "SMS-aren bidaltzaile gisa agertzen den izena edo zenbakia (herrialde batzuek ez dute onartzen bidaltzaile ID alfanumerikoak)",
"org_admins_can_create_new_teams": "Zure erakundeko administratzaileak soilik sor ditzake talde berriak",
"google_new_spam_policy": "Google-ren spam politika berriak eragotzi dezake erreserba honi buruzko posta elektroniko eta egutegiko jakinarazpenak jasotzea.",
"google_new_spam_policy": "Google-ren spam politika berriak eragotzi dezake erreserba honi buruzko mezu elektronikoak eta egutegi-jakinarazpenak jasotzea.",
"resolve": "Konpondu",
"no_organization_slug": "Errore bat gertatu da erakunde honetarako taldeak sortzean. URL slug-a falta da.",
"copy_link_org": "Kopiatu erakundearen esteka",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "Eskuordetze kredentzialek zure erakundearentzat Google Workspace egutegietarako sarbidea kudeatzea ahalbidetzen dute.",
"add_client_id_in_google_workspace_with_below_scope": "Gehitu bezero ID hau Google Workspace-n beheko esparruarekin",
"delegation_credential_enabled": "Eskuordetze kredentzialak gaituta",
"delegation_credential_disabled": "Eskuordetze kredentzialak desgaituta",
"add_delegation_credential": "Gehitu eskuordetze kredentzialak",
"edit_delegation_credential": "Editatu eskuordetze kredentzialak",
"domain": "Domeinua",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "Ikusi zure egutegiko gertaerak erreserba-gatazkak saihesteko.",
"join_event_location": "{{eventLocationType}}-ra batu",
"troubleshooting": "Arazoen konponketa",
"calendars_were_checking_for_conflicts": "Gatazkak bilatzeko begiratzen ari garen egutegiak",
"calendars_were_checking_for_conflicts": "Gatazkak egiaztatzeko erabiltzen ditugun egutegiak",
"availabilty_schedules": "Eskuragarritasun ordutegiak",
"manage_calendars": "Egutegiak kudeatu",
"manage_availability_schedules": "Eskuragarritasun ordutegiak kudeatu",
@@ -2582,7 +2608,7 @@
"date": "Data",
"overlaps_with_existing_schedule": "Honek lehendik dagoen ordutegi batekin talka egiten du. Mesedez, aukeratu beste data bat.",
"org_admin_no_slots|heading": "No availability found for {{name}}",
"org_admin_no_slots|content": "Hello Organization Admins,<br /><br />Please note: It has been brought to our attention that {{username}} has not had any availability when a user has visited {{username}}/{{slug}}<br /><br />There’s a few reasons why this could be happening<br />The user does not have any calendars connected<br />Their schedules attached to this event are not enabled<br /> <br />We recommend checking their availability to resolve this.",
"org_admin_no_slots|content": "Kaixo Erakundeko Administratzaileak,<br /><br />Mesedez, kontuan izan: gure arretara ekarri da {{username}} erabiltzaileak ez duela inolako erabilgarritasunik izan erabiltzaile bat {{username}}/{{slug}} helbidera bisitan etorri denean<br /><br />Hainbat arrazoi egon daitezke hau gertatzeko<br />Erabiltzaileak ez du egutegi konektaturik<br />Gertaera honi lotutako ordutegiak ez daude gaituta<br /> <br />Bere erabilgarritasuna egiaztatzea gomendatzen dugu hau konpontzeko.",
"org_admin_no_slots|cta": "Open users availability",
"organization_no_slots_notification_switch_title": "Jaso jakinarazpenak zure taldeak eskuragarritasunik ez duenean",
"organization_no_slots_notification_switch_description": "Administratzaileek mezu elektronikoak jasoko dituzte erabiltzaile batek taldekide bat erreserbatu nahi duenean eta 'Ez dago eskuragarritasunik' mezua agertzen denean. Mezu hau bi aldiz gertatu ondoren bidaltzen dugu eta 7 egunero gogorarazten dizugu erabiltzaile bakoitzeko.",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "{{user}} invited you to join the organization {{team}} on {{appName}}",
"email_team_invite|subject|added_to_subteam": "{{user}} added you to the team {{team}} of organization {{parentTeamName}} on {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "{{user}} invited you to join the team {{team}} on {{appName}}",
"email_team_invite|heading|added_to_org": "You’ve been added to a {{appName}} organization",
"email_team_invite|heading|invited_to_org": "You’ve been invited to a {{appName}} organization",
"email_team_invite|heading|added_to_subteam": "You’ve been added to a team of {{parentTeamName}} organization",
"email_team_invite|heading|invited_to_subteam": "You’ve been invited to a team of {{parentTeamName}} organization",
"email_team_invite|heading|invited_to_regular_team": "You’ve been invited to join a {{appName}} team",
"email_team_invite|heading|added_to_org": "{{appName}} erakunde batera gehitu zaituzte",
"email_team_invite|heading|invited_to_org": "{{appName}} erakunde batera gonbidatu zaituzte",
"email_team_invite|heading|added_to_subteam": "{{parentTeamName}} erakundearen talde batera gehitu zaituzte",
"email_team_invite|heading|invited_to_subteam": "{{parentTeamName}} erakundearen talde batera gonbidatu zaituzte",
"email_team_invite|heading|invited_to_regular_team": "{{appName}} talde batera batzeko gonbidatu zaituzte",
"email_team_invite|content|added_to_org": "{{invitedBy}} has added you to the <strong>{{teamName}}</strong> organization.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} has invited you to join the {{teamName}} organization.",
"email_team_invite|subject|invited_to_subteam": "{{user}}-(e)k {{appName}}-(e)n {{parentTeamName}} erakundeko {{team}} taldera batzeko gonbidatu zaitu",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Mugatu taldeko kideek zenbat aldiz erreserbatu daitezkeen taldeko ekitaldi mota guztietan",
"booking_limits_updated_successfully": "Erreserba-mugak ondo eguneratu dira",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Ez duzu baimenik erreserba hau aldatzeko",
"delegation_credential_disabled": "Eskuordetze kredentzialak desgaituta",
"matching_members": "Bat datozen kideak",
"x_matching_members": "{{x}} kide bat datozenak",
"matching_members_queue_using_attribute_weights": "Bat datozen kideen ilara (atributuen pisuak erabiliz)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Bai, berriro esleitu",
"filter_by_attributes": "Iragazi atributuen arabera",
"reassign_reason": "Berriro esleitzeko arrazoia",
"field_type_change_suggestion": "Eremu mota aldatzeak datu galera eragin dezake. Mesedez, sortu eremu berri bat horren ordez.",
"reassigned_by": "Honek esleitu du",
"row": "errenkada",
"rows": "errenkadak",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Epealdi bakoitzeko birbideratutakoak",
"per_day": "Eguneko",
"per_week": "Asteko",
"per_month": "hilabeteko",
"per_month": "Hilabeteko",
"routing_form_insights_assignment_reason": "Esleitzeko arrazoia",
"access_denied": "Sarbidea ukatuta",
"salesforce_route_to_owner": "Kontaktuaren jabea Round Robin ostalaria izango da posible bada",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Ez duzu baimenik erakunde bat sortzeko helbide elektroniko honentzat",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Ez duzu baimenik talde bat edo gehiago migratzeko",
"organization_has_subscription_already": "Erakundeak dagoeneko harpidetza bat du",
"reset_interval_weighted_rr": "Berrezarri txandakako haztatuaren tartea",
"interval": "Tartea",
"rr_reset_interval_description": "Zehazten du zenbatero berrezartzen den round robin erreserben zenbaketa, banaketa orekatua ziurtatzeko.",
"daily": "Egunero",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Dagoeneko alderantzizko birbideratze bat dago erabiltzaile hauen artean.",
"previous_ooo_empty_title": "Ez da aurreko OOOrik aurkitu",
"previous": "Aurrekoa",
"rr_interval_successfully_updated": "Txandakako tartea behar bezala eguneratu da",
"trial_mode": "Proba modua",
"inactive_team_plan": "Talde plan inaktiboa",
"inactive_team_plan_description": "Zure talde plana inaktiboa dago. Egiaztatu zure harpidetza edo jarri harremanetan bezeroen laguntzarekin",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Oraindik ez duzu talderik",
"no_team_members": "Oraindik ez dituzu taldekiderik",
"recurring_event_doesnt_support_seats": "Ekitaldi errepikakorrak ez du eserlekuen ezaugarria onartzen. Ez-errepikakor bihurtu eserlekuak gaitzeko.",
"booking_limit_per_booker_doesnt_support_recurring": "Errepikatzen den gertaerak ez du erreserba-muga erreserbatzaile bakoitzeko ezaugarria onartzen. Desgaitu erreserba-muga erreserbatzaile bakoitzeko errepikatzen den gertaera gaitzeko.",
"seats_doesnt_support_recurring": "Eserlekuen ezaugarriak ez du ekitaldi errepikakorrik onartzen. Desgaitu eserlekuen ezaugarria errepikakor egiteko.",
"recurring_event_seats_error": "Ekitaldi errepikakorrak ez du eserlekuen ezaugarria onartzen. Desgaitu eserlekuen ezaugarria edo egin ekitaldia ez-errepikakor.",
"segment": "Segmentua",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Gaitu eskuordetze kredentzialak",
"enable_delegation_credential_description": "Eman Cal.com-i erakundeko kide guztien egutegietarako sarbide automatikoa eskuordetze kredentzialak gaituz.",
"disable_delegation_credential": "Desgaitu eskuordetze kredentzialak",
"disable_delegation_credential_description": "Eskuordetze kredentzialak desgaitzen direnean, beren egutegiak konektatu ez dituzten erakundeko kideek eskuz egin beharko dute.",
"disable_delegation_credential_description": "Delegazio kredentzialak desgaitzen direnean, beren egutegiak konektatu ez dituzten erakundeko kideek eskuz egin beharko dute.",
"last_active": "Azken aldiz aktibo",
"member_since": "Kide noiztik",
"last_updated": "Azken eguneratzea",
@@ -3202,10 +3233,131 @@
"matching": "Bat egitea",
"event_redirect": "Gertaera Birbideratzea",
"reset_form": "Formularioa Berrezarri",
"rr_settings_successfully_updated": "Txandakako ezarpenak behar bezala eguneratu dira",
"distribution_basis_weighted_rr": "Banaketa oinarria txandakako haztatuarentzat",
"timestamp_basis_description": "Txandakako haztatuaren banaketarako oinarri gisa erabiliko den gertaeraren denbora-marka zehazten du.",
"requires_credits": "Kredituak behar ditu",
"requires_credits_tooltip": "Ezaugarri hau erabiltzeko kreditu nahikoa behar duzu zure kontuan",
"available_credits": "Kreditu erabilgarriak",
"create_role": "Sortu rola",
"roles_and_permissions": "Rolak eta baimenak",
"roles_and_permissions_description": "Kudeatu zure erakundearen rolak eta baimenak",
"learn_more_permissions": "Ikasi gehiago baimenek nola funtzionatzen duten",
"role_name": "Rolaren izena",
"role_name_placeholder": "adib. Salmenta taldea, Laguntza langileak",
"role_description": "Rolaren deskribapena",
"role_description_placeholder": "Deskribatu rol hau zertarako den eta zer baimen behar dituen",
"default_role": "Lehenetsitako rola",
"custom_role": "Rol pertsonalizatua",
"advanced": "Aurreratua",
"search_permissions": "Baimenak bilatu",
"all_permissions": "Baimen guztiak",
"none": "Bat ere ez",
"read_only": "Irakurketa soilik",
"pbac_desc_all_actions_all_resources": "Ekintza guztiak baliabide guztietan",
"pbac_resource_all": "Baliabide guztiak",
"pbac_resource_event_type": "Gertaera motak",
"pbac_resource_team": "Taldeak",
"pbac_resource_organization": "Erakundea",
"pbac_resource_booking": "Erreserbak",
"pbac_resource_insights": "Ikuspegiak",
"pbac_resource_role": "Eginkizunak",
"pbac_action_all": "Ekintza guztiak",
"pbac_action_create": "Sortu",
"pbac_action_read": "Ikusi",
"pbac_action_update": "Editatu",
"pbac_action_delete": "Ezabatu",
"pbac_action_manage": "Kudeatu",
"pbac_action_invite": "Gonbidatu",
"pbac_action_remove": "Ezabatu",
"pbac_action_change_member_role": "Kidearen eginkizuna aldatu",
"pbac_action_list_members": "Kideak zerrendatu",
"pbac_action_manage_billing": "Fakturazioa kudeatu",
"pbac_action_read_team_bookings": "Taldearen erreserbak ikusi",
"pbac_action_read_org_bookings": "Erakundearen erreserbak ikusi",
"pbac_action_read_recordings": "Grabaketak ikusi",
"role_created_successfully": "Rola arrakastaz sortu da",
"role_updated_successfully": "Rola arrakastaz eguneratu da",
"delete_role": "Ezabatu rola",
"confirm_delete_role": "Ziur zaude rol hau ezabatu nahi duzula? Ekintza hau ezin da desegin.",
"role_deleted_successfully": "Rola arrakastaz ezabatu da",
"error_creating_role": "Errorea rola sortzerakoan",
"error_updating_role": "Errorea rola eguneratzerakoan",
"pbac_desc_create_roles": "Rolak sortu",
"pbac_desc_view_roles": "Rolak ikusi",
"pbac_desc_update_roles": "Rolak eguneratu",
"pbac_desc_delete_roles": "Rolak ezabatu",
"pbac_desc_manage_roles": "Roletan ekintza guztiak",
"pbac_desc_create_event_types": "Gertaera motak sortu",
"pbac_desc_view_event_types": "Gertaera motak ikusi",
"pbac_desc_update_event_types": "Gertaera motak eguneratu",
"pbac_desc_delete_event_types": "Gertaera motak ezabatu",
"pbac_desc_manage_event_types": "Gertaera motetan ekintza guztiak",
"pbac_desc_create_teams": "Taldeak sortu",
"pbac_desc_view_team_details": "Taldearen xehetasunak ikusi",
"pbac_desc_update_team_settings": "Taldearen ezarpenak eguneratu",
"pbac_desc_delete_team": "Taldea ezabatu",
"pbac_desc_invite_team_members": "Taldekideak gonbidatu",
"pbac_desc_remove_team_members": "Taldekideak kendu",
"pbac_desc_change_team_member_role": "Taldekideen rola aldatu",
"pbac_desc_manage_teams": "Taldeetan ekintza guztiak",
"pbac_desc_create_organization": "Erakundea sortu",
"pbac_desc_view_organization_details": "Erakundearen xehetasunak ikusi",
"pbac_desc_list_organization_members": "Erakundeko kideen zerrenda egin",
"pbac_desc_invite_organization_members": "Erakundeko kideak gonbidatu",
"pbac_desc_remove_organization_members": "Erakundeko kideak kendu",
"pbac_desc_manage_organization_billing": "Erakundearen fakturazioa kudeatu",
"pbac_desc_change_organization_member_role": "Erakundeko kideen rola aldatu",
"pbac_desc_edit_organization_settings": "Erakundearen ezarpenak editatu",
"pbac_desc_manage_organizations": "Erakundeetan ekintza guztiak",
"pbac_desc_view_bookings": "Erreserbak ikusi",
"pbac_desc_view_team_bookings": "Taldearen erreserbak ikusi",
"pbac_desc_view_organization_bookings": "Erakundearen erreserbak ikusi",
"pbac_desc_view_booking_recordings": "Erreserben grabaketak ikusi",
"pbac_desc_update_bookings": "Erreserbak eguneratu",
"pbac_desc_manage_bookings": "Erreserbetan ekintza guztiak",
"pbac_desc_view_team_insights": "Taldearen estatistikak ikusi",
"pbac_desc_manage_team_insights": "Taldearen estatistikak kudeatu",
"read_permission_auto_enabled_tooltip": "Irakurtzeko baimena automatikoki gaituta dago baliabide bat sortu, eguneratu edo ezabatzean",
"choose_restriction_schedule": "Gehitu murrizketa-ordutegia",
"choose_restriction_schedule_description": "Gaitu hau gertaera mota honetarako ostalariaren erabilgarritasuna murrizketa-ordutegi baten arabera mugatu nahi baduzu. Honek murrizketa-ordutegiaren barruan ez dauden denbora-tarteak soilik kentzen ditu, ez du tarte berririk gehitzen.",
"use_booker_timezone": "Erreserbatzailearen ordu-zona erabili",
"use_booker_timezone_info": "Aplikatu hautatutako murrizketa-ordutegia erreserbatzailearen ordu-zonan",
"load_balancing_warning": "Honek karga-orekatzea desgaituko du zure round robin gertaera mota guztietan",
"rr_load_balancing_disabled": "Karga-orekatzea denbora-zigiluaren oinarria Erreserba Sortze Denbora denean soilik dago erabilgarri",
"round_robin_settings_description": "Pertsonalizatu talde honentzako txandakako ezarpen lehenetsiak",
"round_robin_settings_updated_successfully": "Txandakako ezarpenak ondo eguneratu dira",
"booking_creation_time": "Erreserba sortze-ordua",
"meeting_start_time": "Bilera hasiera-ordua",
"members_affected_by_disabling_delegation_credential": "Eragindako kideak",
"no_members_affected_by_disabling_delegation_credential": "Ez dago kiderik delegazio kredentzialak desgaitzeak eraginda",
"download_expense_log": "Deskargatu gastuen erregistroa",
"error_downloading_expense_log": "Errorea gastuen erregistroa deskargatzean",
"offer_to_reschedule_last_booking": "Eskaini azken erreserba aktiboa hautatutako denbora-tartean berriz programatzea",
"booker_limit_exceeded_error": "Erreserbatzailearen erreserba aktiboen gehienezko muga gainditu da",
"booker_limit_exceeded_error_reschedule": "Dagoeneko baduzu ekitaldi honetarako erreserba bat {{date}} egunean. Hautatutako ordu berrira aldatu nahi duzu?",
"duration_min_error": "Iraupenak gutxienez {{min}} minutu izan behar d(it)u",
"duration_max_error": "Iraupenak ezin ditu {{max}} minutu gainditu (24 ordu)",
"booking_not_allowed_by_restriction_schedule_error": "Ezin da erreserbarik egin murrizketa-ordutegiaren kanpo.",
"restriction_schedule_not_found_error": "Ez da murrizketa-ordutegirik aurkitu",
"converted_image_size_limit_exceed": "Irudiaren tamaina-muga gainditu da, mesedez erabili irudi txikiago bat, ahal bada JPEG formatuan",
"license_key": "Lizentzia gakoa",
"license_selection_title": "Aukeratu zure lizentzia",
"license_selection_description": "Aukeratu nola lizentziatu nahi duzun zure Cal.com hedapena",
"agplv3_license_description": "Erabili Cal.com AGPLv3 kode irekiko lizentziapean",
"enter_license_key": "Sartu lizentzia gakoa",
"enter_your_license_key": "Enpresa-funtzionalitate guztietarako sarbidea",
"enter_existing_license": "15$/erabiltzaile hilabeteko hasita",
"enter_license_key_description": "Enpresa-funtzionalitate guztietarako sarbidea",
"license_key_placeholder": "Sartu zure lizentzia gakoa",
"save_license_key": "Gorde lizentzia gakoa",
"signature_token_optional": "Sinadura tokena (aukerakoa)",
"signature_token_description": "Sinadura tokena erabiltzen da lizentzia gakoa zurea dela egiaztatzeko erabilera-fakturazioa handitzen denean. Zure erosketa-baieztapeneko posta elektronikoan aurkitu dezakezu. Lizentzia zahar bat baduzu, hau hutsik utzi dezakezu.",
"need_a_license": "Lizentzia bat behar duzu?",
"license_key_required": "Lizentzia gakoa beharrezkoa da",
"invalid_license_key": "Lizentzia gako baliogabea",
"license_validation_failed": "Ezin izan da lizentzia gakoa balioztatu",
"license_key_saved": "Lizentzia gakoa ondo gorde da",
"timezone_mismatch_tooltip": "Txostena zure profileko ordu-zonaren arabera ikusten ari zara ({{userTimezone}}), zure nabigatzailea ordu-zona honetan ezarrita dagoen bitartean ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Gehitu zure kate berriak honen gainean ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+169 -17
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Mukauta Cal Video -asetuksia",
"calvideo_settings_description": "Määritä videokokousasetukset, mukaan lukien tallennusoikeudet järjestäjille ja osallistujille.",
"disable_recording_for_guests": "Poista tallennus vierailta",
"enable_automatic_transcription": "Ota automaattinen tekstimuunnos käyttöön kokoukseen liittymisen jälkeen",
"video_options": "Videoasetukset",
"get_meeting_session_details": "Hae kokousistunnon tiedot",
"meeting_session_details": "Kokousistunnon tiedot",
"meeting_session": "Kokousistunto",
"session_id": "Istunnon tunnus",
"max_participants": "Osallistujien enimmäismäärä",
"unlimited": "Rajoittamaton",
"ongoing": "Käynnissä",
"ended": "Päättynyt",
"participants": "Osallistujat",
"anonymous_user": "Anonyymi käyttäjä",
"session_duration": "Istunnon kesto",
"no_meeting_sessions_found": "Kokousistuntoja ei löytynyt",
"not_available": "Ei saatavilla",
"disable_recording_for_organizer": "Poista tallennus järjestäjältä",
"disable_transcription_for_guests": "Poista tekstimuunnos käytöstä vierailta",
"disable_transcription_for_organizer": "Poista tekstimuunnos käytöstä järjestäjältä",
"event_request_declined_recurring": "Toistuva tapahtumapyyntösi on hylätty",
"event_request_cancelled": "Varattu tapahtumasi on peruttu",
"event_request_reassigned": "Varattu tapahtumasi on jaettu uudelleen",
@@ -264,6 +281,8 @@
"guests": "Vieraat",
"guest": "Vieras",
"web_conferencing_details_to_follow": "Verkkokonferenssin tiedot lähetetään vahvistussähköpostissa.",
"confirmation": "Vahvistus",
"what_booker_should_provide": "Mitä varaajan tulisi antaa saadakseen vahvistukset",
"404_the_user": "Käyttäjätunnus",
"username": "Käyttäjätunnus",
"is_still_available": "on vielä vapaana.",
@@ -331,7 +350,7 @@
"organization_general_description": "Hallinnoi tiimisi kieli- ja aikavyöhykeasetuksia",
"few_sentences_about_yourself": "Muutama lause itsestäsi. Tämä näkyy henkilökohtaisella url-sivullasi.",
"nearly_there": "Melkein valmista!",
"nearly_there_instructions": "Viimeinen asia: lyhyt kuvaus itsestäsi ja valokuva auttavat saamaan varauksia ja kertovat ihmisille, kenen kanssa he ovat varaamassa ajan.",
"nearly_there_instructions": "Viimeinen asia, lyhyt kuvaus itsestäsi ja valokuva auttavat saamaan varauksia ja kertovat ihmisille, kenen kanssa he ovat varaamassa.",
"set_availability_instructions": "Määritä toistuvat ajanjaksot, jolloin olet käytettävissä. Voit luoda näitä myöhemmin lisää ja liittää ne eri kalentereihin.",
"set_availability": "Aseta käytettävyys",
"set_availbility_description": "Määritä ajat, jolloin haluat olla varattavissa.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Yhdistä kalenterisi",
"connect_your_video_app": "Yhdistä videopalvelusi",
"connect_your_video_app_instructions": "Yhdistä videopalvelusi käyttääksesi niitä tapahtumatyypeissäsi.",
"connect_your_calendar_instructions": "Yhdistä kalenterisi tarkistaaksesi automaattisesti varatut ajat ja uudet tapahtumat niiden varaushetkellä.",
"connect_your_calendar_instructions": "Yhdistä kalenterisi tarkistaaksesi automaattisesti varatut ajat ja uudet tapahtumat niiden aikataulutuksen yhteydessä.",
"set_up_later": "Määritä myöhemmin",
"current_time": "Nykyinen aika",
"details": "Tiedot",
"welcome": "Tervetuloa",
"welcome_back": "Tervetuloa takaisin",
"welcome_to_calcom": "Tervetuloa {{appName}}:iin",
"welcome_instructions": "Kerro, millä nimellä haluaisit itseäsi kutsuttavan ja missä aikavyöhykkeessä olet. Voit muokata näitä tietoja myöhemmin.",
"welcome_instructions": "Kerro, millä nimellä sinua kutsutaan ja missä aikavyöhykkeessä olet. Voit muokata tätä myöhemmin.",
"connect_caldav": "Yhdistä CalDaviin (Beta)",
"connect_ics_feed": "Yhdistä ICS-syötteeseen",
"connect": "Yhdistä",
@@ -361,7 +380,7 @@
"when": "Milloin",
"where": "Missä",
"add_to_calendar": "Lisää kalenteriin",
"add_to_calendar_description": "Valitse mihin kalenteriin tapahtumat lisätään, kun sinut varataan.",
"add_to_calendar_description": "Valitse, mihin kalenteriin tapahtumat lisätään, kun sinut varataan.",
"add_events_to": "Lisää tapahtumat",
"add_another_calendar": "Lisää toinen kalenteri",
"other": "Muu",
@@ -1153,6 +1172,7 @@
"test_failed": "Testi epäonnistui",
"provide_api_key": "Anna API-avain",
"api_key_modal_subtitle": "API-avaimilla voit tehdä API-kutsuja omalle tilillesi.",
"api_key_modal_subtitle_platform": "Luo markkinapaikka tai alusta sen sijaan.",
"api_keys_subtitle": "Luo API-avaimia käyttääksesi omaa tiliäsi.",
"create_api_key": "Luo API-avain",
"personal_note": "Nimeä tämä avain",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Peruuta tämä API-avain",
"disable_rescheduling": "Poista uudelleenajoitus käytöstä",
"description_disable_rescheduling": "Vieraat eivät voi enää ajoittaa tapahtumaa uudelleen kalenterikutsun tai sähköpostin kautta",
"allow_rescheduling_cancelled_bookings": "Salli varaaminen uudelleenajoituslinkin kautta",
"description_allow_rescheduling_cancelled_bookings": "Kun käytössä, käyttäjät voivat luoda uuden varauksen yrittäessään aikatauluttaa uudelleen peruutetun varauksen",
"disable_cancelling": "Poista peruutus käytöstä",
"description_disable_cancelling": "Vieraat eivät voi enää peruuttaa tapahtumaa kalenterikutsun tai sähköpostin kautta",
"revoke_api_key": "Peruuta API-avain",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "API-avaimet mahdollistavat muiden sovellusten kommunikoinnin {{appName}}:n kanssa",
"back_to_signin": "Takaisin kirjautumiseen",
"reset_link_sent": "Palautuslinkki lähetetty",
"password_reset_email": "Sähköposti salasanan palautusohjeineen on matkalla osoitteeseen {{email}}.",
"password_reset_email": "Sähköposti salasanan nollausohjeineen on lähetetty osoitteeseen {{email}}.",
"password_reset_leading": "Jos et saa sähköpostia pian, tarkista että antamasi sähköpostiosoite on oikein, tarkista roskapostikansio tai ota yhteyttä tukeen, jos ongelma jatkuu.",
"password_updated": "Salasana päivitetty!",
"pending_payment": "Maksu odottaa",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Tämä rajoittaa tämän tapahtumatyypin saatavuuden yhteen aikaan päivässä, joka ajoitetaan aikaisimpaan mahdolliseen ajankohtaan.",
"limit_total_booking_duration": "Rajoita varauksen kokonaiskestoa",
"limit_total_booking_duration_description": "Rajoita tämän tapahtuman varattavissa olevaa kokonaisaikaa",
"booker_booking_limit": "Varaajan aktiivisten varausten rajoitus",
"booker_booking_limit_description": "Rajoita aktiivisten varausten määrää, jonka varaaja voi tehdä tälle tapahtumatyypille",
"recurring_event_doesnt_support_booker_booking_limit": "Toistuvat tapahtumat eivät tue varaajan varausrajoitusta",
"add_limit": "Lisää rajoitus",
"team_name_required": "Tiimin nimi vaaditaan",
"show_attendees": "Jaa osallistujatiedot vieraiden kesken",
"show_available_seats_count": "Näytä vapaiden paikkojen määrä",
"how_booking_questions_as_variables": "Miten käyttää varauksen kysymyksiä muuttujina?",
"format": "Muoto",
"questions": "Kysymykset",
"all_info_your_booker_provide": "Kaikki tiedot, jotka varaajan tulisi antaa ennen varauksen tekemistä.",
"uppercase_for_letters": "Käytä isoja kirjaimia kaikissa kirjaimissa",
"replace_whitespaces_underscores": "Korvaa välilyönnit alaviivoilla",
"platform_members": "Alustan jäsenet",
@@ -1972,7 +1999,7 @@
"email_no_user_invite_subheading": "{{invitedBy}} on kutsunut sinut liittymään tiimiinsä palvelussa {{appName}}. {{appName}} on tapaamisenhallintakalenteri, jonka avulla sinä ja tiimisi voitte sopia tapaamisia ilman loputtomia sähköposteja.",
"email_user_invite_subheading_subteam": "{{invitedBy}} on kutsunut sinut liittymään tiimiin {{teamName}} organisaatiossa {{parentTeamName}} palvelussa {{appName}}. {{appName}} on tapaamisenhallintakalenteri, jonka avulla sinä ja tiimisi voitte sopia tapaamisia ilman loputtomia sähköposteja.",
"email_user_invite_subheading_org": "{{invitedBy}} on kutsunut sinut liittymään organisaatioonsa {{teamName}} palvelussa {{appName}}. {{appName}} on tapaamisenhallintakalenteri, jonka avulla sinä ja organisaatiosi voitte sopia tapaamisia ilman loputtomia sähköposteja.",
"email_no_user_invite_steps_intro": "Opastamme sinut muutaman lyhyen vaiheen läpi, ja pian pääset nauttimaan stressittömästä ajanvarauksesta {{entity}}:n kanssa.",
"email_no_user_invite_steps_intro": "Opastamme sinut muutaman lyhyen vaiheen läpi, ja pian nautit stressittömästä ajanvarauksesta {{entity}}:n kanssa.",
"email_no_user_step_one": "Valitse käyttäjänimesi",
"email_no_user_step_two": "Yhdistä kalenteritilisi",
"email_no_user_step_three": "Määritä käytettävyytesi",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "Valituilla suodattimilla tai päivämäärillä ei löytynyt tietoja.",
"acknowledge_booking_no_show_fee": "Hyväksyn, että mikäli en saavu paikalle, kortiltani veloitetaan {{amount, currency}} saapumattajättämismaksu.",
"card_details": "Kortin tiedot",
"something_went_wrong_on_our_end": "Tapahtui virhe meidän päässämme. Ota yhteyttä asiakastukeemme, niin korjaamme asian välittömästi.",
"something_went_wrong_on_our_end": "Jotain meni vikaan meidän päässämme. Ota yhteyttä asiakaspalveluumme, ja korjaamme ongelman sinulle välittömästi.",
"please_provide_following_text_to_suppport": "Anna seuraava teksti ottaessasi yhteyttä tukeen, jotta voimme auttaa sinua paremmin",
"seats_and_no_show_fee_error": "Paikkavarauksia ja saapumattajättämismaksua ei voi tällä hetkellä käyttää samanaikaisesti",
"complete_your_booking": "Viimeistele varauksesi",
@@ -2276,7 +2303,7 @@
"messaging": "Viestintä",
"sender_id_info": "Nimi tai numero, joka näkyy tekstiviestin lähettäjänä (kaikki maat eivät salli aakkosnumeerisia lähettäjätunnisteita)",
"org_admins_can_create_new_teams": "Vain organisaatiosi järjestelmänvalvoja voi luoda uusia tiimejä",
"google_new_spam_policy": "Googlen uusi roskapostisuodatus saattaa estää sinua vastaanottamasta sähköposti- ja kalenterimuistutuksia tästä varauksesta.",
"google_new_spam_policy": "Googlen uusi roskapostisuodatuskäytäntö saattaa estää sinua vastaanottamasta sähköposti- ja kalenterimuistutuksia tästä varauksesta.",
"resolve": "Ratkaise",
"no_organization_slug": "Tiimien luominen tälle organisaatiolle epäonnistui. URL-tunniste puuttuu.",
"copy_link_org": "Kopioi linkki organisaatioon",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "Delegointitunniste mahdollistaa Google Workspace -kalenterien käyttöoikeuksien hallinnan organisaatiollesi.",
"add_client_id_in_google_workspace_with_below_scope": "Lisää tämä asiakastunnus Google Workspaceen alla olevalla käyttöoikeudella",
"delegation_credential_enabled": "Delegointitunniste käytössä",
"delegation_credential_disabled": "Delegointitunniste pois käytöstä",
"add_delegation_credential": "Lisää delegointitunniste",
"edit_delegation_credential": "Muokkaa delegointitunnistetta",
"domain": "Toimialue",
@@ -2582,7 +2608,7 @@
"date": "Päivämäärä",
"overlaps_with_existing_schedule": "Tämä menee päällekkäin olemassa olevan aikataulun kanssa. Valitse eri päivämäärä.",
"org_admin_no_slots|heading": "No availability found for {{name}}",
"org_admin_no_slots|content": "Hello Organization Admins,<br /><br />Please note: It has been brought to our attention that {{username}} has not had any availability when a user has visited {{username}}/{{slug}}<br /><br />There’s a few reasons why this could be happening<br />The user does not have any calendars connected<br />Their schedules attached to this event are not enabled<br /> <br />We recommend checking their availability to resolve this.",
"org_admin_no_slots|content": "Hei organisaation ylläpitäjät,<br /><br />Huomioittehan: Tietoomme on tullut, että käyttäjällä {{username}} ei ole ollut saatavuutta, kun käyttäjä on vieraillut osoitteessa {{username}}/{{slug}}<br /><br />Tähän voi olla useita syitä<br />Käyttäjällä ei ole yhdistettyjä kalentereita<br />Tähän tapahtumaan liitetyt aikataulut eivät ole käytössä<br /> <br />Suosittelemme tarkistamaan heidän saatavuutensa tämän ongelman ratkaisemiseksi.",
"org_admin_no_slots|cta": "Open users availability",
"organization_no_slots_notification_switch_title": "Vastaanota ilmoituksia, kun tiimilläsi ei ole saatavuutta",
"organization_no_slots_notification_switch_description": "Ylläpitäjät saavat sähköposti-ilmoituksen, kun käyttäjä yrittää varata tiimin jäsenen aikaa ja kohtaa 'Ei saatavilla' -tilanteen. Lähetämme tämän sähköpostin kahden tapauksen jälkeen ja muistutamme siitä 7 päivän välein per käyttäjä.",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "{{user}} invited you to join the organization {{team}} on {{appName}}",
"email_team_invite|subject|added_to_subteam": "{{user}} added you to the team {{team}} of organization {{parentTeamName}} on {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "{{user}} invited you to join the team {{team}} on {{appName}}",
"email_team_invite|heading|added_to_org": "You’ve been added to a {{appName}} organization",
"email_team_invite|heading|invited_to_org": "You’ve been invited to a {{appName}} organization",
"email_team_invite|heading|added_to_subteam": "You’ve been added to a team of {{parentTeamName}} organization",
"email_team_invite|heading|invited_to_subteam": "You’ve been invited to a team of {{parentTeamName}} organization",
"email_team_invite|heading|invited_to_regular_team": "You’ve been invited to join a {{appName}} team",
"email_team_invite|heading|added_to_org": "Sinut on lisätty {{appName}}-organisaatioon",
"email_team_invite|heading|invited_to_org": "Sinut on kutsuttu {{appName}}-organisaatioon",
"email_team_invite|heading|added_to_subteam": "Sinut on lisätty {{parentTeamName}}-organisaation tiimiin",
"email_team_invite|heading|invited_to_subteam": "Sinut on kutsuttu {{parentTeamName}}-organisaation tiimiin",
"email_team_invite|heading|invited_to_regular_team": "Sinut on kutsuttu liittymään {{appName}}-tiimiin",
"email_team_invite|content|added_to_org": "{{invitedBy}} has added you to the <strong>{{teamName}}</strong> organization.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} has invited you to join the {{teamName}} organization.",
"email_team_invite|subject|invited_to_subteam": "{{user}} invited you to join the team {{team}} of organization {{parentTeamName}} on {{appName}}",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Rajoita kuinka monta kertaa jäsenet voidaan varata kaikissa tiimin tapahtumatyypeissä",
"booking_limits_updated_successfully": "Varausrajoitukset päivitetty onnistuneesti",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Sinulla ei ole oikeuksia tehdä tätä muutosta varaukseen",
"delegation_credential_disabled": "Delegointitunniste pois käytöstä",
"matching_members": "Sopivat jäsenet",
"x_matching_members": "{{x}} sopivaa jäsentä",
"matching_members_queue_using_attribute_weights": "Sopivien jäsenten jono (käyttäen ominaisuuspainotuksia)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Kyllä, siirrä",
"filter_by_attributes": "Suodata ominaisuuksien mukaan",
"reassign_reason": "Siirron syy",
"field_type_change_suggestion": "Kenttätyypin muuttaminen voi aiheuttaa tietojen menetystä. Luo mieluummin uusi kenttä.",
"reassigned_by": "Siirtäjä",
"row": "rivi",
"rows": "riviä",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Reititetty kohteeseen ajanjaksolla",
"per_day": "Päivittäin",
"per_week": "Viikoittain",
"per_month": "kuukaudessa",
"per_month": "Kuukaudessa",
"routing_form_insights_assignment_reason": "Kohdistamisen syy",
"access_denied": "Pääsy estetty",
"salesforce_route_to_owner": "Yhteyshenkilön omistajasta tulee Round Robin -isäntä, jos mahdollista",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Sinulla ei ole oikeutta luoda organisaatiota tälle sähköpostiosoitteelle",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Sinulla ei ole oikeutta siirtää yhtä tai useampaa tiimiä",
"organization_has_subscription_already": "Organisaatiolla on jo tilaus",
"reset_interval_weighted_rr": "Painotetun vuorottelun nollausväli",
"interval": "Aikaväli",
"rr_reset_interval_description": "Määrittää, kuinka usein round robin -varauslaskuri nollataan tasapainoisen jakelun varmistamiseksi.",
"daily": "Päivittäin",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Näiden käyttäjien välillä on jo käänteinen uudelleenohjaus.",
"previous_ooo_empty_title": "Aiempia poissaoloja ei löytynyt",
"previous": "Edellinen",
"rr_interval_successfully_updated": "Vuorottelun aikaväli päivitetty onnistuneesti",
"trial_mode": "Kokeilutila",
"inactive_team_plan": "Ei-aktiivinen tiimitilaus",
"inactive_team_plan_description": "Tiimitilauksesi ei ole aktiivinen. Tarkista tilauksesi tai ota yhteyttä asiakastukeen",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Sinulla ei ole vielä tiimiä",
"no_team_members": "Sinulla ei ole vielä tiimin jäseniä",
"recurring_event_doesnt_support_seats": "Toistuva tapahtuma ei tue paikkaominaisuutta. Tee siitä ei-toistuva ottaaksesi paikat käyttöön.",
"booking_limit_per_booker_doesnt_support_recurring": "Toistuvat tapahtumat eivät tue varaajan varausrajoitusominaisuutta. Poista varaajan varausrajoitus käytöstä ottaaksesi toistuvat tapahtumat käyttöön.",
"seats_doesnt_support_recurring": "Paikkaominaisuus ei tue toistuvaa tapahtumaa. Poista paikkaominaisuus käytöstä tehdäksesi siitä toistuvan.",
"recurring_event_seats_error": "Toistuva tapahtuma ei tue paikkaominaisuutta. Poista paikkaominaisuus käytöstä tai tee tapahtumasta ei-toistuva.",
"segment": "Segmentti",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Ota delegointitunniste käyttöön",
"enable_delegation_credential_description": "Myönnä Cal.comille automaattinen pääsy kaikkien organisaation jäsenten kalentereihin ottamalla delegointitunniste käyttöön.",
"disable_delegation_credential": "Poista delegointitunniste käytöstä",
"disable_delegation_credential_description": "Kun delegointitunniste on poistettu käytöstä, organisaation jäsenten, jotka eivät ole yhdistäneet kalentereitaan, on tehtävä se manuaalisesti.",
"disable_delegation_credential_description": "Kun valtuutustunnukset poistetaan käytöstä, organisaation jäsenten, jotka eivät ole yhdistäneet kalentereitaan, on tehtävä se manuaalisesti.",
"last_active": "Viimeksi aktiivinen",
"member_since": "Jäsen alkaen",
"last_updated": "Viimeksi päivitetty",
@@ -3202,10 +3233,131 @@
"matching": "Vastaavuus",
"event_redirect": "Tapahtuman uudelleenohjaus",
"reset_form": "Nollaa lomake",
"rr_settings_successfully_updated": "Vuorottelun asetukset päivitetty onnistuneesti",
"distribution_basis_weighted_rr": "Painotetun vuorottelun jakoperuste",
"timestamp_basis_description": "Määrittää, mitä tapahtuman aikaleimaa käytetään painotetun vuorottelun jakelun perustana.",
"requires_credits": "Vaatii krediittejä",
"requires_credits_tooltip": "Tarvitset riittävästi krediittejä tililläsi käyttääksesi tätä ominaisuutta",
"available_credits": "Käytettävissä olevat krediitit",
"create_role": "Luo rooli",
"roles_and_permissions": "Roolit ja käyttöoikeudet",
"roles_and_permissions_description": "Hallitse organisaatiosi rooleja ja käyttöoikeuksia",
"learn_more_permissions": "Lue lisää käyttöoikeuksien toiminnasta",
"role_name": "Roolin nimi",
"role_name_placeholder": "esim. Myyntitiimi, Tukihenkilöstö",
"role_description": "Roolin kuvaus",
"role_description_placeholder": "Kuvaile mihin tätä roolia käytetään ja mitä käyttöoikeuksia se tarvitsee",
"default_role": "Oletusrooli",
"custom_role": "Mukautettu rooli",
"advanced": "Lisäasetukset",
"search_permissions": "Hae käyttöoikeuksia",
"all_permissions": "Kaikki käyttöoikeudet",
"none": "Ei mitään",
"read_only": "Vain luku",
"pbac_desc_all_actions_all_resources": "Kaikki toiminnot kaikissa resursseissa",
"pbac_resource_all": "Kaikki resurssit",
"pbac_resource_event_type": "Tapahtumatyypit",
"pbac_resource_team": "Tiimit",
"pbac_resource_organization": "Organisaatio",
"pbac_resource_booking": "Varaukset",
"pbac_resource_insights": "Analytiikka",
"pbac_resource_role": "Roolit",
"pbac_action_all": "Kaikki toiminnot",
"pbac_action_create": "Luo",
"pbac_action_read": "Näytä",
"pbac_action_update": "Muokkaa",
"pbac_action_delete": "Poista",
"pbac_action_manage": "Hallinnoi",
"pbac_action_invite": "Kutsu",
"pbac_action_remove": "Poista",
"pbac_action_change_member_role": "Muuta jäsenen roolia",
"pbac_action_list_members": "Listaa jäsenet",
"pbac_action_manage_billing": "Hallinnoi laskutusta",
"pbac_action_read_team_bookings": "Näytä tiimin varaukset",
"pbac_action_read_org_bookings": "Näytä organisaation varaukset",
"pbac_action_read_recordings": "Näytä tallenteet",
"role_created_successfully": "Rooli luotu onnistuneesti",
"role_updated_successfully": "Rooli päivitetty onnistuneesti",
"delete_role": "Poista rooli",
"confirm_delete_role": "Haluatko varmasti poistaa tämän roolin? Tätä toimintoa ei voi kumota.",
"role_deleted_successfully": "Rooli poistettu onnistuneesti",
"error_creating_role": "Virhe roolin luomisessa",
"error_updating_role": "Virhe roolin päivittämisessä",
"pbac_desc_create_roles": "Luo rooleja",
"pbac_desc_view_roles": "Näytä roolit",
"pbac_desc_update_roles": "Päivitä rooleja",
"pbac_desc_delete_roles": "Poista rooleja",
"pbac_desc_manage_roles": "Kaikki toiminnot rooleille",
"pbac_desc_create_event_types": "Luo tapahtumatyyppejä",
"pbac_desc_view_event_types": "Näytä tapahtumatyypit",
"pbac_desc_update_event_types": "Päivitä tapahtumatyyppejä",
"pbac_desc_delete_event_types": "Poista tapahtumatyyppejä",
"pbac_desc_manage_event_types": "Kaikki toiminnot tapahtumatyypeille",
"pbac_desc_create_teams": "Luo tiimejä",
"pbac_desc_view_team_details": "Näytä tiimin tiedot",
"pbac_desc_update_team_settings": "Päivitä tiimin asetuksia",
"pbac_desc_delete_team": "Poista tiimi",
"pbac_desc_invite_team_members": "Kutsu tiimin jäseniä",
"pbac_desc_remove_team_members": "Poista tiimin jäseniä",
"pbac_desc_change_team_member_role": "Muuta tiimin jäsenten roolia",
"pbac_desc_manage_teams": "Kaikki tiimeihin liittyvät toiminnot",
"pbac_desc_create_organization": "Luo organisaatio",
"pbac_desc_view_organization_details": "Näytä organisaation tiedot",
"pbac_desc_list_organization_members": "Listaa organisaation jäsenet",
"pbac_desc_invite_organization_members": "Kutsu organisaation jäseniä",
"pbac_desc_remove_organization_members": "Poista organisaation jäseniä",
"pbac_desc_manage_organization_billing": "Hallinnoi organisaation laskutusta",
"pbac_desc_change_organization_member_role": "Muuta organisaation jäsenten roolia",
"pbac_desc_edit_organization_settings": "Muokkaa organisaation asetuksia",
"pbac_desc_manage_organizations": "Kaikki organisaatioihin liittyvät toiminnot",
"pbac_desc_view_bookings": "Näytä varaukset",
"pbac_desc_view_team_bookings": "Näytä tiimin varaukset",
"pbac_desc_view_organization_bookings": "Näytä organisaation varaukset",
"pbac_desc_view_booking_recordings": "Näytä varausten tallenteet",
"pbac_desc_update_bookings": "Päivitä varauksia",
"pbac_desc_manage_bookings": "Kaikki varauksiin liittyvät toiminnot",
"pbac_desc_view_team_insights": "Näytä tiimin analytiikka",
"pbac_desc_manage_team_insights": "Hallinnoi tiimin analytiikkaa",
"read_permission_auto_enabled_tooltip": "Lukuoikeus otetaan automaattisesti käyttöön, kun luot, päivität tai poistat resurssin",
"choose_restriction_schedule": "Lisää rajoitusaikataulu",
"choose_restriction_schedule_description": "Ota tämä käyttöön, jos haluat rajoittaa isäntien saatavuutta tälle tapahtumatyypille rajoitusaikataulun perusteella. Tämä poistaa vain ne ajat, jotka eivät ole rajoitusaikataulussa, se ei lisää uusia aikoja.",
"use_booker_timezone": "Käytä varaajan aikavyöhykettä",
"use_booker_timezone_info": "Sovella valittua rajoitusaikataulua varaajan aikavyöhykkeellä",
"load_balancing_warning": "Tämä poistaa kuormantasauksen käytöstä kaikista round robin -tapahtumatyypeistäsi",
"rr_load_balancing_disabled": "Kuormantasaus on käytettävissä vain, kun aikaleiman peruste on asetettu varauksen luontiaikaan",
"round_robin_settings_description": "Mukauta tämän tiimin oletusarvoisia vuorottelujärjestelmän asetuksia",
"round_robin_settings_updated_successfully": "Vuorottelujärjestelmän asetukset päivitetty onnistuneesti",
"booking_creation_time": "Varauksen luontiaika",
"meeting_start_time": "Tapaamisen alkamisaika",
"members_affected_by_disabling_delegation_credential": "Vaikutuksen alaiset jäsenet",
"no_members_affected_by_disabling_delegation_credential": "Valtuutustietojen poistaminen käytöstä ei vaikuta kehenkään jäseneen",
"download_expense_log": "Lataa kuluraportti",
"error_downloading_expense_log": "Virhe kuluraportin lataamisessa",
"offer_to_reschedule_last_booking": "Tarjoa viimeisimmän aktiivisen varauksen uudelleenajoittamista valittuun aikaan",
"booker_limit_exceeded_error": "Varaajan aktiivisten varausten enimmäismäärä ylitetty",
"booker_limit_exceeded_error_reschedule": "Sinulla on jo varaus tälle tapahtumalle {{date}}. Haluatko siirtää sen uuteen valittuun aikaan?",
"duration_min_error": "Keston on oltava vähintään {{min}} minuutti(a)",
"duration_max_error": "Kesto ei voi ylittää {{max}} minuuttia (24 tuntia)",
"booking_not_allowed_by_restriction_schedule_error": "Varaus rajoitusaikataulun ulkopuolella.",
"restriction_schedule_not_found_error": "Rajoitusaikataulua ei löydy",
"converted_image_size_limit_exceed": "Kuvan kokoraja ylitetty, käytä pienempää kuvaa mieluiten JPEG-muodossa",
"license_key": "Lisenssiavain",
"license_selection_title": "Valitse lisenssisi",
"license_selection_description": "Valitse, miten haluat lisensoida Cal.com-käyttöönottosi",
"agplv3_license_description": "Käytä Cal.comia AGPLv3 avoimen lähdekoodin lisenssillä",
"enter_license_key": "Syötä lisenssiavain",
"enter_your_license_key": "Pääsy kaikkiin yritysominaisuuksiin",
"enter_existing_license": "Alkaen 15 $/käyttäjä kuukaudessa",
"enter_license_key_description": "Pääsy kaikkiin yritysominaisuuksiin",
"license_key_placeholder": "Syötä lisenssiavaimesi",
"save_license_key": "Tallenna lisenssiavain",
"signature_token_optional": "Allekirjoitustunniste (valinnainen)",
"signature_token_description": "Allekirjoitustunnistetta käytetään vahvistamaan, että lisenssiavain on sinun, kun käyttöön perustuvaa laskutusta lisätään. Löydät sen ostovahvistussähköpostistasi. Jos käytät vanhaa lisenssiä, voit jättää tämän tyhjäksi.",
"need_a_license": "Tarvitsetko lisenssin?",
"license_key_required": "Lisenssiavain vaaditaan",
"invalid_license_key": "Virheellinen lisenssiavain",
"license_validation_failed": "Lisenssiavaimen vahvistaminen epäonnistui",
"license_key_saved": "Lisenssiavain tallennettu onnistuneesti",
"timezone_mismatch_tooltip": "Tarkastelet raporttia profiilisi aikavyöhykkeen ({{userTimezone}}) mukaan, kun taas selaimesi on asetettu aikavyöhykkeelle ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Lisää uudet merkkijonot tämän yläpuolelle ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+171 -19
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Personnaliser les paramètres de Cal Video",
"calvideo_settings_description": "Configurez les préférences de réunion vidéo, y compris les autorisations d'enregistrement pour les hôtes et les participants.",
"disable_recording_for_guests": "Désactiver l'enregistrement pour les invités",
"enable_automatic_transcription": "Activer la transcription automatique après avoir rejoint la réunion",
"video_options": "Options vidéo",
"get_meeting_session_details": "Obtenir les détails de la session de réunion",
"meeting_session_details": "Détails de la session de réunion",
"meeting_session": "Session de réunion",
"session_id": "ID de session",
"max_participants": "Nombre maximum de participants",
"unlimited": "Illimité",
"ongoing": "En cours",
"ended": "Terminée",
"participants": "Participants",
"anonymous_user": "Utilisateur anonyme",
"session_duration": "Durée de la session",
"no_meeting_sessions_found": "Aucune session de réunion trouvée",
"not_available": "Non disponible",
"disable_recording_for_organizer": "Désactiver l'enregistrement pour l'organisateur",
"disable_transcription_for_guests": "Désactiver la transcription pour les invités",
"disable_transcription_for_organizer": "Désactiver la transcription pour l'organisateur",
"event_request_declined_recurring": "Votre demande d'événement récurrent a été refusée",
"event_request_cancelled": "Votre événement planifié a été annulé",
"event_request_reassigned": "Votre événement programmé a été réaffecté",
@@ -264,6 +281,8 @@
"guests": "Invités",
"guest": "Invité",
"web_conferencing_details_to_follow": "Les détails du rendez-vous sont à retrouver dans l'e-mail de confirmation.",
"confirmation": "Confirmation",
"what_booker_should_provide": "Ce que votre réservateur doit fournir pour recevoir des confirmations",
"404_the_user": "Le nom d'utilisateur",
"username": "Nom d'utilisateur",
"is_still_available": "est toujours disponible.",
@@ -331,7 +350,7 @@
"organization_general_description": "Gérez les paramètres de langue et de fuseau horaire de votre équipe.",
"few_sentences_about_yourself": "Quelques mots à propos de vous. Ces informations apparaîtront sur votre page publique.",
"nearly_there": "C'est bientôt terminé !",
"nearly_there_instructions": "Pour finir, une brève description de vous et une photo vous aideront vraiment à obtenir des réservations et à faire savoir aux gens avec qui ils prennent rendez-vous.",
"nearly_there_instructions": "Dernière chose, une brève description de vous et une photo vous aident vraiment à obtenir des réservations et permettent aux gens de savoir avec qui ils réservent.",
"set_availability_instructions": "Définissez des plages de temps pendant lesquelles vous êtes disponible de manière récurrente. Vous pourrez en créer d'autres ultérieurement et les assigner à différents calendriers.",
"set_availability": "Définissez vos disponibilités",
"set_availbility_description": "Définissez des horaires pour les périodes où vous souhaitez être réservé.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Connectez votre calendrier",
"connect_your_video_app": "Connectez vos applications vidéo",
"connect_your_video_app_instructions": "Connectez vos applications vidéo pour les utiliser sur vos types d'événements.",
"connect_your_calendar_instructions": "Connectez votre calendrier pour vérifier automatiquement vos disponibilités ainsi que les nouveaux événements lorsqu'ils sont planifiés.",
"connect_your_calendar_instructions": "Connectez votre calendrier pour vérifier automatiquement les périodes d'indisponibilité et les nouveaux événements au fur et à mesure qu'ils sont programmés.",
"set_up_later": "Configurer plus tard",
"current_time": "Heure actuelle",
"details": "Détails",
"welcome": "Bienvenue",
"welcome_back": "Content de vous revoir",
"welcome_to_calcom": "Bienvenue sur {{appName}}",
"welcome_instructions": "Dites-nous comment vous appeler et indiquez-nous dans quel fuseau horaire vous vous trouvez. Vous pourrez modifier cela plus tard. ",
"welcome_instructions": "Dites-nous comment vous appeler et indiquez-nous dans quel fuseau horaire vous vous trouvez. Vous pourrez modifier ces informations ultérieurement.",
"connect_caldav": "Se connecter au serveur CalDAV (Bêta)",
"connect_ics_feed": "Connexion à un flux ICS",
"connect": "Connecter",
@@ -361,7 +380,7 @@
"when": "Quand",
"where": "Où",
"add_to_calendar": "Ajouter au calendrier",
"add_to_calendar_description": "Sélectionnez l'endroit où ajouter des événements lorsque vous êtes réservé.",
"add_to_calendar_description": "Sélectionnez où ajouter les événements lorsque vous êtes réservé.",
"add_events_to": "Ajouter les événements à",
"add_another_calendar": "Ajouter un autre calendrier",
"other": "Autre",
@@ -1153,6 +1172,7 @@
"test_failed": "Échec du test",
"provide_api_key": "Fournir une clé d'API",
"api_key_modal_subtitle": "Les clés API vous permettent d'effectuer des appels API pour votre propre compte.",
"api_key_modal_subtitle_platform": "Créez plutôt une place de marché ou une plateforme.",
"api_keys_subtitle": "Générer des clés API à utiliser pour accéder à votre propre compte.",
"create_api_key": "Créer une clé API",
"personal_note": "Nommer cette clé",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Révoquer cette clé API",
"disable_rescheduling": "Désactiver le report",
"description_disable_rescheduling": "Les invités ne peuvent plus reporter l'événement via l'invitation au calendrier ou l'e-mail",
"allow_rescheduling_cancelled_bookings": "Autoriser la réservation via le lien de replanification",
"description_allow_rescheduling_cancelled_bookings": "Lorsque cette option est activée, les utilisateurs pourront créer une nouvelle réservation lorsqu'ils essaient de reprogrammer une réservation annulée",
"disable_cancelling": "Désactiver l'annulation",
"description_disable_cancelling": "Les invités ne peuvent plus annuler l'événement via l'invitation au calendrier ou l'e-mail",
"revoke_api_key": "Révoquer la clé API",
@@ -1613,7 +1635,7 @@
"workflow_example_6": "Envoyer un SMS personnalisé à l'hôte lorsqu'un nouvel événement est réservé",
"count_managed_to_limit": "Inclure les compteurs de réservation des types d'événements gérés",
"welcome_to_cal_header": "Bienvenue sur {{appName}} !",
"edit_form_later_subtitle": "Vous pourrez modifier cela plus tard.",
"edit_form_later_subtitle": "Vous pourrez modifier cela ultérieurement.",
"connect_calendar_later": "Je connecterai mon calendrier plus tard",
"problem_saving_user_profile": "Un problème est survenu lors de l'enregistrement de vos données. Veuillez réessayer ou contacter le service client.",
"purchase_missing_seats": "Acheter des places manquantes",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Cela limitera votre disponibilité pour ce type d'événement à un créneau par jour, programmé au plus tôt possible.",
"limit_total_booking_duration": "Limiter la durée totale de réservation",
"limit_total_booking_duration_description": "Limitez la durée totale pendant laquelle cet événement peut être réservé.",
"booker_booking_limit": "Limite de réservations actives par utilisateur",
"booker_booking_limit_description": "Limitez le nombre de réservations actives qu'un utilisateur peut effectuer pour ce type d'événement",
"recurring_event_doesnt_support_booker_booking_limit": "Les événements récurrents ne prennent pas en charge la limite de réservation par utilisateur",
"add_limit": "Ajouter une limite",
"team_name_required": "Nom d'équipe requis",
"show_attendees": "Partagez les informations des participants entre les invités",
"show_available_seats_count": "Afficher le nombre de places disponibles",
"how_booking_questions_as_variables": "Comment utiliser les questions de réservation comme variables ?",
"format": "Format",
"questions": "Questions",
"all_info_your_booker_provide": "Toutes les informations que votre utilisateur doit fournir avant de réserver avec vous.",
"uppercase_for_letters": "Utilisez des majuscules pour toutes les lettres.",
"replace_whitespaces_underscores": "Remplacez les espaces par des tirets bas.",
"platform_members": "Membres de la plateforme",
@@ -1967,12 +1994,12 @@
"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_user_cta": "Voir l'invitation",
"email_no_user_invite_heading_subteam": "Vous avez été invité(e) à rejoindre une équipe de l'organisation {{parentTeamName}}",
"email_no_user_invite_heading_subteam": "Vous avez été invité à rejoindre une équipe de l'organisation {{parentTeamName}}",
"email_no_user_invite_heading_org": "Vous avez été invité à rejoindre une organisation {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} vous a invité à rejoindre son équipe sur {{appName}}. {{appName}} est le planificateur d'événements qui vous permet à vous et à votre équipe d'organiser des rendez-vous sans échanges d'e-mails.",
"email_user_invite_subheading_subteam": "{{invitedBy}} vous a invité(e) à rejoindre son équipe {{teamName}} dans son organisation {{parentTeamName}} sur {{appName}}. {{appName}} est le planificateur d'événements qui vous permet à vous et à votre équipe d'organiser des rendez-vous sans échanges d'e-mails.",
"email_user_invite_subheading_org": "{{invitedBy}} vous a invité à rejoindre son organisation « {{teamName}} » sur {{appName}}. {{appName}} est le planificateur d'événements qui vous permet à vous et à votre organisation d'organiser des rendez-vous sans échanges d'e-mails.",
"email_no_user_invite_steps_intro": "Nous vous guiderons à travers quelques étapes courtes et vous profiterez d'une planification sans stress avec votre {{entity}} en un rien de temps.",
"email_no_user_invite_steps_intro": "Nous vous guiderons à travers quelques étapes rapides et vous profiterez bientôt d'une planification sans stress avec votre {{entity}}.",
"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",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Prenez des décisions éclairées grâce aux statistiques",
"make_informed_decisions_description": "Notre tableau de bord de statistiques analyse l'activité de votre équipe et vous révèle les tendances qui permettent d'améliorer la planification et la prise de décision au sein de l'équipe.",
"view_bookings_across": "Visualisez les réservations de tous les membres",
"view_bookings_across_description": "Découvrez qui reçoit le plus de réservations et assurez la meilleure répartition au sein de votre équipe.",
"view_bookings_across_description": "Voyez qui reçoit le plus de réservations et assurez la meilleure distribution au sein de votre équipe",
"identify_booking_trends": "Identifiez les tendances de réservation",
"identify_booking_trends_description": "Découvrez quels jours de la semaine et quelles heures de la journée sont populaires auprès de vos utilisateurs.",
"spot_popular_event_types": "Identifiez les types d'événements populaires",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "Aucune donnée trouvée pour le filtre ou les dates sélectionnés.",
"acknowledge_booking_no_show_fee": "Je reconnais que si je ne participe pas à cet événement, des frais d'absence de {{amount, currency}} seront appliqués à ma carte.",
"card_details": "Détails de la carte",
"something_went_wrong_on_our_end": "Quelque chose s'est mal passé de notre côté. Contactez notre équipe de support, et nous le réparerons immédiatement.",
"something_went_wrong_on_our_end": "Un problème est survenu de notre côté. Contactez notre équipe d'assistance, et nous le résoudrons immédiatement pour vous.",
"please_provide_following_text_to_suppport": "Veuillez fournir le texte suivant lorsque vous contactez le support pour mieux vous aider",
"seats_and_no_show_fee_error": "Il n'est pas possible d'activer les places et de facturer des frais d'absence pour le moment",
"complete_your_booking": "Terminez votre réservation",
@@ -2276,7 +2303,7 @@
"messaging": "Messagerie",
"sender_id_info": "Nom ou numéro affiché comme expéditeur d'un SMS (certains pays n'autorisent pas les ID d'expéditeur alphanumériques)",
"org_admins_can_create_new_teams": "Seul l'administrateur de votre organisation peut créer de nouvelles équipes",
"google_new_spam_policy": "La nouvelle politique anti-spam de Google peut vous empêcher de recevoir des notifications par e-mail ou sur votre calendrier concernant cette réservation.",
"google_new_spam_policy": "La nouvelle politique anti-spam de Google pourrait vous empêcher de recevoir des notifications par e-mail et calendrier concernant cette réservation.",
"resolve": "Résoudre",
"no_organization_slug": "Une erreur s'est produite lors de la création des équipes pour cette organisation. Le slug du lien est manquant.",
"copy_link_org": "Copier le lien vers l’organisation",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "L'identifiant de délégation vous permet de gérer l'accès aux calendriers Google Workspace pour votre organisation.",
"add_client_id_in_google_workspace_with_below_scope": "Ajoutez cet identifiant client dans Google Workspace avec la portée ci-dessous",
"delegation_credential_enabled": "Identifiant de délégation activé",
"delegation_credential_disabled": "Identifiant de délégation désactivé",
"add_delegation_credential": "Ajouter un identifiant de délégation",
"edit_delegation_credential": "Modifier l'identifiant de délégation",
"domain": "Domaine",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "Consultez les événements de votre calendrier afin d'éviter les réservations incompatibles.",
"join_event_location": "Rejoignez {{eventLocationType}}",
"troubleshooting": "Dépannage",
"calendars_were_checking_for_conflicts": "Calendriers dont nous vérifions les conflits",
"calendars_were_checking_for_conflicts": "Calendriers que nous vérifions pour les conflits",
"availabilty_schedules": "Horaires de disponibilité",
"manage_calendars": "Gérer les calendriers",
"manage_availability_schedules": "Gérer les horaires de disponibilité",
@@ -2582,7 +2608,7 @@
"date": "Date",
"overlaps_with_existing_schedule": "Cette date chevauche un horaire existant. Veuillez sélectionner une autre date.",
"org_admin_no_slots|heading": "Aucune disponibilité trouvée pour {{name}}",
"org_admin_no_slots|content": "Bonjour, administrateurs d'organisations,<br /><br />Notez qu'il a été porté à notre attention que {{username}} n'avait aucune disponibilité lorsqu'un utilisateur a visité {{username}}/{{slug}}<br /><br />Plusieurs raisons peuvent expliquer cela<br />L'utilisateur n'a pas de calendriers connectés<br />Les horaires joints à cet évènement ne sont pas activés<br /> <br />Nous vous recommandons de vérifier leur disponibilité pour résoudre ce problème.",
"org_admin_no_slots|content": "Bonjour aux administrateurs de l'organisation,<br /><br />Veuillez noter : il a été porté à notre attention que {{username}} n'a pas eu de disponibilité lorsqu'un utilisateur a visité {{username}}/{{slug}}<br /><br />Il y a plusieurs raisons pour lesquelles cela pourrait se produire<br />L'utilisateur n'a pas de calendriers connectés<br />Leurs horaires attachés à cet événement ne sont pas activés<br /> <br />Nous vous recommandons de vérifier leur disponibilité pour résoudre ce problème.",
"org_admin_no_slots|cta": "Ouvrir les disponibilités de l'utilisateur",
"organization_no_slots_notification_switch_title": "Recevez des notifications lorsque votre équipe n'est pas disponible",
"organization_no_slots_notification_switch_description": "Les administrateurs recevront des notifications par e-mail lorsqu'un utilisateur essaiera de réserver un membre de l'équipe et qu'il rencontrera la mention « Pas de disponibilité ». Nous déclenchons cet e-mail après deux occurrences et nous vous rappelons tous les 7 jours par utilisateur. ",
@@ -2592,10 +2618,10 @@
"email_team_invite|subject|invited_to_org": "{{user}} vous a invité(e) à rejoindre l'organisation {{team}} sur {{appName}}",
"email_team_invite|subject|added_to_subteam": "{{user}} vous a ajouté(e) à l'équipe {{team}} de l'organisation {{parentTeamName}} sur {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "{{user}} vous a invité à rejoindre l'équipe {{team}} sur {{appName}}",
"email_team_invite|heading|added_to_org": "Vous avez été ajouté(e) à une organisation {{appName}}",
"email_team_invite|heading|invited_to_org": "Vous avez été invité(e) à rejoindre une organisation {{appName}}",
"email_team_invite|heading|added_to_subteam": "Vous avez été ajouté(e) à une équipe de l'organisation {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Vous avez été invité(e) à rejoindre une équipe de l'organisation {{parentTeamName}}",
"email_team_invite|heading|added_to_org": "Vous avez été ajouté à une organisation {{appName}}",
"email_team_invite|heading|invited_to_org": "Vous avez été invité à une organisation {{appName}}",
"email_team_invite|heading|added_to_subteam": "Vous avez été ajouté à une équipe de l'organisation {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Vous avez été invité à une équipe de l'organisation {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "Vous avez été invité à rejoindre une équipe {{appName}}",
"email_team_invite|content|added_to_org": "{{invitedBy}} vous a ajouté(e) à l'organisation <strong>{{teamName}}</strong>.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} vous a invité(e) à rejoindre l'organisation {{teamName}}.",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Limiter le nombre de fois où les membres peuvent être réservés pour tous les types d'événements d'équipe",
"booking_limits_updated_successfully": "Limites de réservation mises à jour avec succès",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Vous n'êtes pas autorisé à apporter cette modification à la réservation",
"delegation_credential_disabled": "Identifiant de délégation désactivé",
"matching_members": "Membres correspondants",
"x_matching_members": "{{x}} membres correspondants",
"matching_members_queue_using_attribute_weights": "File d'attente des membres correspondants (selon les pondérations d'attributs)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Oui, réassigner",
"filter_by_attributes": "Filtrer par attributs",
"reassign_reason": "Raison de la réassignation",
"field_type_change_suggestion": "La modification du type de champ peut entraîner une perte de données. Veuillez plutôt créer un nouveau champ.",
"reassigned_by": "Réassigné par",
"row": "ligne",
"rows": "lignes",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Acheminé vers par période",
"per_day": "Par jour",
"per_week": "Par semaine",
"per_month": "par mois",
"per_month": "Par mois",
"routing_form_insights_assignment_reason": "Motif d'attribution",
"access_denied": "Accès refusé",
"salesforce_route_to_owner": "Le propriétaire du contact sera l'hôte Round Robin si disponible",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Vous n'avez pas la permission de créer une organisation pour cet e-mail",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Vous n'avez pas la permission de migrer une ou plusieurs des équipes",
"organization_has_subscription_already": "L'organisation a déjà un abonnement",
"reset_interval_weighted_rr": "Réinitialiser l'intervalle pour le Round Robin pondéré",
"interval": "Intervalle",
"rr_reset_interval_description": "Détermine la fréquence à laquelle le compteur de réservations round-robin se réinitialise pour assurer une distribution équilibrée.",
"daily": "Quotidien",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Il existe déjà une redirection inverse entre ces utilisateurs.",
"previous_ooo_empty_title": "Aucune absence précédente trouvée",
"previous": "Précédent",
"rr_interval_successfully_updated": "Intervalle Round Robin mis à jour avec succès",
"trial_mode": "Mode d'essai",
"inactive_team_plan": "Plan d'équipe inactif",
"inactive_team_plan_description": "Votre plan d'équipe est inactif. Vérifiez votre abonnement ou contactez le support client",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Vous n'avez pas encore d'équipe",
"no_team_members": "Vous n'avez pas encore de membres d'équipe",
"recurring_event_doesnt_support_seats": "Les événements récurrents ne prennent pas en charge la fonctionnalité de places. Rendez-le non récurrent pour activer les places.",
"booking_limit_per_booker_doesnt_support_recurring": "L'événement récurrent ne prend pas en charge la fonctionnalité de limite de réservation par réservateur. Désactivez la limite de réservation par réservateur pour activer l'événement récurrent.",
"seats_doesnt_support_recurring": "La fonctionnalité de places ne prend pas en charge les événements récurrents. Désactivez la fonctionnalité de places pour le rendre récurrent.",
"recurring_event_seats_error": "Les événements récurrents ne prennent pas en charge la fonctionnalité de places. Désactivez la fonctionnalité de places ou rendez l'événement non récurrent.",
"segment": "Segment",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Activer l'identifiant de délégation",
"enable_delegation_credential_description": "Accordez à Cal.com un accès automatique aux calendriers de tous les membres de l'organisation en activant l'identifiant de délégation.",
"disable_delegation_credential": "Désactiver l'identifiant de délégation",
"disable_delegation_credential_description": "Une fois l'identifiant de délégation désactivé, les membres de l'organisation qui n'ont pas connecté leurs calendriers devront le faire manuellement.",
"disable_delegation_credential_description": "Une fois les identifiants de délégation désactivés, les membres de l'organisation qui n'ont pas connecté leurs calendriers devront le faire manuellement.",
"last_active": "Dernière activité",
"member_since": "Membre depuis",
"last_updated": "Dernière mise à jour",
@@ -3202,10 +3233,131 @@
"matching": "Correspondance",
"event_redirect": "Redirection d'événement",
"reset_form": "Réinitialiser le formulaire",
"rr_settings_successfully_updated": "Paramètres Round Robin mis à jour avec succès",
"distribution_basis_weighted_rr": "Base de distribution pour le Round Robin pondéré",
"timestamp_basis_description": "Détermine quel horodatage d'événement est utilisé comme base pour la distribution Round Robin pondérée.",
"requires_credits": "Nécessite des crédits",
"requires_credits_tooltip": "Vous devez avoir suffisamment de crédits sur votre compte pour utiliser cette fonctionnalité",
"available_credits": "Crédits disponibles",
"create_role": "Créer un rôle",
"roles_and_permissions": "Rôles et permissions",
"roles_and_permissions_description": "Gérer les rôles et les permissions pour votre organisation",
"learn_more_permissions": "En savoir plus sur le fonctionnement des permissions",
"role_name": "Nom du rôle",
"role_name_placeholder": "ex. Équipe commerciale, Personnel de support",
"role_description": "Description du rôle",
"role_description_placeholder": "Décrivez à quoi sert ce rôle et quelles permissions il nécessite",
"default_role": "Rôle par défaut",
"custom_role": "Rôle personnalisé",
"advanced": "Avancé",
"search_permissions": "Rechercher des permissions",
"all_permissions": "Toutes les permissions",
"none": "Aucune",
"read_only": "Lecture seule",
"pbac_desc_all_actions_all_resources": "Toutes les actions sur toutes les ressources",
"pbac_resource_all": "Toutes les ressources",
"pbac_resource_event_type": "Types d'événements",
"pbac_resource_team": "Équipes",
"pbac_resource_organization": "Organisation",
"pbac_resource_booking": "Réservations",
"pbac_resource_insights": "Statistiques",
"pbac_resource_role": "Rôles",
"pbac_action_all": "Toutes les actions",
"pbac_action_create": "Créer",
"pbac_action_read": "Voir",
"pbac_action_update": "Modifier",
"pbac_action_delete": "Supprimer",
"pbac_action_manage": "Gérer",
"pbac_action_invite": "Inviter",
"pbac_action_remove": "Supprimer",
"pbac_action_change_member_role": "Changer le rôle d'un membre",
"pbac_action_list_members": "Lister les membres",
"pbac_action_manage_billing": "Gérer la facturation",
"pbac_action_read_team_bookings": "Voir les réservations d'équipe",
"pbac_action_read_org_bookings": "Voir les réservations de l'organisation",
"pbac_action_read_recordings": "Voir les enregistrements",
"role_created_successfully": "Rôle créé avec succès",
"role_updated_successfully": "Rôle mis à jour avec succès",
"delete_role": "Supprimer le rôle",
"confirm_delete_role": "Êtes-vous sûr de vouloir supprimer ce rôle ? Cette action ne peut pas être annulée.",
"role_deleted_successfully": "Rôle supprimé avec succès",
"error_creating_role": "Erreur lors de la création du rôle",
"error_updating_role": "Erreur lors de la mise à jour du rôle",
"pbac_desc_create_roles": "Créer des rôles",
"pbac_desc_view_roles": "Voir les rôles",
"pbac_desc_update_roles": "Mettre à jour les rôles",
"pbac_desc_delete_roles": "Supprimer des rôles",
"pbac_desc_manage_roles": "Toutes les actions sur les rôles",
"pbac_desc_create_event_types": "Créer des types d'événements",
"pbac_desc_view_event_types": "Voir les types d'événements",
"pbac_desc_update_event_types": "Mettre à jour les types d'événements",
"pbac_desc_delete_event_types": "Supprimer des types d'événements",
"pbac_desc_manage_event_types": "Toutes les actions sur les types d'événements",
"pbac_desc_create_teams": "Créer des équipes",
"pbac_desc_view_team_details": "Voir les détails de l'équipe",
"pbac_desc_update_team_settings": "Mettre à jour les paramètres de l'équipe",
"pbac_desc_delete_team": "Supprimer l'équipe",
"pbac_desc_invite_team_members": "Inviter des membres d'équipe",
"pbac_desc_remove_team_members": "Supprimer des membres d'équipe",
"pbac_desc_change_team_member_role": "Changer le rôle des membres de l'équipe",
"pbac_desc_manage_teams": "Toutes les actions sur les équipes",
"pbac_desc_create_organization": "Créer une organisation",
"pbac_desc_view_organization_details": "Voir les détails de l'organisation",
"pbac_desc_list_organization_members": "Lister les membres de l'organisation",
"pbac_desc_invite_organization_members": "Inviter des membres dans l'organisation",
"pbac_desc_remove_organization_members": "Supprimer des membres de l'organisation",
"pbac_desc_manage_organization_billing": "Gérer la facturation de l'organisation",
"pbac_desc_change_organization_member_role": "Modifier le rôle des membres de l'organisation",
"pbac_desc_edit_organization_settings": "Modifier les paramètres de l'organisation",
"pbac_desc_manage_organizations": "Toutes les actions sur les organisations",
"pbac_desc_view_bookings": "Voir les réservations",
"pbac_desc_view_team_bookings": "Voir les réservations de l'équipe",
"pbac_desc_view_organization_bookings": "Voir les réservations de l'organisation",
"pbac_desc_view_booking_recordings": "Voir les enregistrements des réservations",
"pbac_desc_update_bookings": "Mettre à jour les réservations",
"pbac_desc_manage_bookings": "Toutes les actions sur les réservations",
"pbac_desc_view_team_insights": "Voir les analyses de l'équipe",
"pbac_desc_manage_team_insights": "Gérer les analyses de l'équipe",
"read_permission_auto_enabled_tooltip": "L'autorisation de lecture est automatiquement activée lors de la création, la mise à jour ou la suppression d'une ressource",
"choose_restriction_schedule": "Ajouter un calendrier de restriction",
"choose_restriction_schedule_description": "Activez cette option si vous souhaitez restreindre la disponibilité des hôtes pour ce type d'événement en fonction d'un calendrier de restriction. Cela supprime uniquement les créneaux qui ne sont pas dans le calendrier de restriction, sans ajouter de nouveaux créneaux.",
"use_booker_timezone": "Utiliser le fuseau horaire du réservateur",
"use_booker_timezone_info": "Appliquer le calendrier de restriction sélectionné dans le fuseau horaire du réservateur",
"load_balancing_warning": "Cela désactivera l'équilibrage de charge sur tous vos types d'événements round robin",
"rr_load_balancing_disabled": "L'équilibrage de charge est uniquement disponible lorsque la base temporelle est définie sur l'heure de création de la réservation",
"round_robin_settings_description": "Personnaliser les paramètres par défaut du tour de rôle pour cette équipe",
"round_robin_settings_updated_successfully": "Paramètres du tour de rôle mis à jour avec succès",
"booking_creation_time": "Heure de création de la réservation",
"meeting_start_time": "Heure de début de la réunion",
"members_affected_by_disabling_delegation_credential": "Membres affectés",
"no_members_affected_by_disabling_delegation_credential": "Aucun membre affecté par la désactivation des identifiants de délégation",
"download_expense_log": "Télécharger le journal des dépenses",
"error_downloading_expense_log": "Erreur lors du téléchargement du journal des dépenses",
"offer_to_reschedule_last_booking": "Proposer de reprogrammer la dernière réservation active au créneau horaire choisi",
"booker_limit_exceeded_error": "Limite maximale de réservations actives dépassée",
"booker_limit_exceeded_error_reschedule": "Vous avez déjà une réservation pour cet événement le {{date}}. Souhaitez-vous la reprogrammer à la nouvelle heure sélectionnée ?",
"duration_min_error": "La durée doit être d'au moins {{min}} minute(s)",
"duration_max_error": "La durée ne peut pas dépasser {{max}} minutes (24 heures)",
"booking_not_allowed_by_restriction_schedule_error": "Réservation en dehors de la disponibilité du calendrier de restriction.",
"restriction_schedule_not_found_error": "Calendrier de restriction introuvable",
"converted_image_size_limit_exceed": "Limite de taille d'image dépassée, veuillez utiliser une image plus petite, de préférence au format JPEG",
"license_key": "Clé de licence",
"license_selection_title": "Choisir votre licence",
"license_selection_description": "Sélectionnez comment vous souhaitez licencier votre déploiement Cal.com",
"agplv3_license_description": "Utiliser Cal.com sous la licence open source AGPLv3",
"enter_license_key": "Saisir la clé de licence",
"enter_your_license_key": "Accès à toutes les fonctionnalités entreprise",
"enter_existing_license": "À partir de 15$/utilisateur par mois",
"enter_license_key_description": "Accès à toutes les fonctionnalités entreprise",
"license_key_placeholder": "Saisissez votre clé de licence",
"save_license_key": "Enregistrer la clé de licence",
"signature_token_optional": "Jeton de signature (facultatif)",
"signature_token_description": "Le jeton de signature est utilisé pour vérifier que la clé de licence est la vôtre lors de l'incrémentation de la facturation basée sur l'utilisation. Vous pouvez le trouver dans votre e-mail de confirmation d'achat. Si vous utilisez une licence héritée, vous pouvez laisser ce champ vide.",
"need_a_license": "Besoin d'une licence ?",
"license_key_required": "La clé de licence est requise",
"invalid_license_key": "Clé de licence invalide",
"license_validation_failed": "Échec de la validation de la clé de licence",
"license_key_saved": "Clé de licence enregistrée avec succès",
"timezone_mismatch_tooltip": "Vous consultez le rapport selon le fuseau horaire de votre profil ({{userTimezone}}), alors que votre navigateur est configuré sur le fuseau horaire ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Ajoutez vos nouvelles chaînes ci-dessus ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+172 -20
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "התאמה אישית של הגדרות Cal Video",
"calvideo_settings_description": "הגדר העדפות פגישות וידאו כולל הרשאות הקלטה למארחים ומשתתפים.",
"disable_recording_for_guests": "השבת הקלטה למשתתפים",
"enable_automatic_transcription": "הפעל תמלול אוטומטי לאחר הצטרפות לפגישה",
"video_options": "אפשרויות וידאו",
"get_meeting_session_details": "קבל פרטי מפגש",
"meeting_session_details": "פרטי מפגש",
"meeting_session": "מפגש",
"session_id": "מזהה מפגש",
"max_participants": "מספר משתתפים מקסימלי",
"unlimited": "ללא הגבלה",
"ongoing": "מתקיים כעת",
"ended": "הסתיים",
"participants": "משתתפים",
"anonymous_user": "משתמש אנונימי",
"session_duration": "משך המפגש",
"no_meeting_sessions_found": "לא נמצאו מפגשים",
"not_available": "לא זמין",
"disable_recording_for_organizer": "השבת הקלטה למארגן",
"disable_transcription_for_guests": "השבת תמלול עבור אורחים",
"disable_transcription_for_organizer": "השבת תמלול עבור המארגן",
"event_request_declined_recurring": "בקשת האירוע החוזר שלך נדחתה",
"event_request_cancelled": "האירוע המתוכנן שלך בוטל",
"event_request_reassigned": "האירוע המתוכנן שלך הועבר",
@@ -264,6 +281,8 @@
"guests": "אורחים",
"guest": "אורח",
"web_conferencing_details_to_follow": "פרטי שיחת הוועידה המקוונת, הכלולים בדוא\"ל האישור, שיש לפעול על פיהם.",
"confirmation": "אישור",
"what_booker_should_provide": "מה המזמין צריך לספק כדי לקבל אישורים",
"404_the_user": "שם המשתמש",
"username": "שם משתמש",
"is_still_available": "עדיין זמין.",
@@ -331,7 +350,7 @@
"organization_general_description": "ניהול הגדרות השפה ואזור הזמן של הצוות",
"few_sentences_about_yourself": "מספר משפטים אודותיך. המידע הזה יופיע בדף ה-URL האישי שלך.",
"nearly_there": "כמעט סיימנו!",
"nearly_there_instructions": "דבר אחרון: תיאור קצר אודותיך/ייך בתוספת תמונה עוזרים מאוד להשיג הזמנות ומאפשרים לאנשים לדעת עם מי הם עומדים להיפגש.",
"nearly_there_instructions": "דבר אחרון, תיאור קצר עליך ותמונה באמת עוזרים לך לקבל הזמנות ומאפשרים לאנשים לדעת עם מי הם קובעים פגישה.",
"set_availability_instructions": "הגדר טווחי זמן שבהם אתה זמין באופן קבוע. ניתן יהיה ליצור טווחי זמן נוספים מאוחר יותר ולהקצות אותם ללוחות שנה אחרים.",
"set_availability": "ציין את הזמינות שלך",
"set_availbility_description": "הגדרת תזמונים למועדים שמתאים לך לקבוע בהם זימונים.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "קשר את לוח השנה שלך",
"connect_your_video_app": "חיבור אפליקציות הווידאו שלך",
"connect_your_video_app_instructions": "חבר/י את אפליקציות הווידאו שלך כדי להשתמש בהן עבור סוגי האירועים שלך.",
"connect_your_calendar_instructions": "קשר את לוח השנה שלך לצפייה בזמנים עמוסים ובאירועים חדשים באופן אוטומטי ברגע שנקבע מועד עבורם.",
"connect_your_calendar_instructions": "חבר את היומן שלך כדי לבדוק אוטומטית זמנים תפוסים ואירועים חדשים בעת קביעתם.",
"set_up_later": "להגדיר מאוחר יותר",
"current_time": "השעה הנוכחית",
"details": "פרטים",
"welcome": "ברוך הבא",
"welcome_back": "ברוך שובך",
"welcome_to_calcom": "ברוך הבא אל {{appName}}",
"welcome_instructions": "אמור לנו באיזה שם ברצונך שנקרא לך ובאיזה אזור זמן אתה נמצא. ניתן יהיה לערוך את הפרטים האלה מאוחר יותר.",
"welcome_instructions": "ספר לנו איך לקרוא לך והודע לנו באיזה אזור זמן אתה נמצא. תוכל לערוך זאת מאוחר יותר.",
"connect_caldav": "חיבור לשרת CalDav (בטא)",
"connect_ics_feed": "חיבור לערוץ ICS",
"connect": "להתחבר",
@@ -361,7 +380,7 @@
"when": "מתי",
"where": "היכן",
"add_to_calendar": "הוספה ללוח השנה",
"add_to_calendar_description": "בחר/י להיכן יש להוסיף אירועים כשאת/ה עסוק/ה.",
"add_to_calendar_description": "בחר היכן להוסיף אירועים כאשר נקבעת פגישה.",
"add_events_to": "הוספת אירועים ל",
"add_another_calendar": "להוסיף לוח שנה אחר",
"other": "אחר",
@@ -1153,6 +1172,7 @@
"test_failed": "הבדיקה נכשלה",
"provide_api_key": "נא לציין מפתח ממשק תכנות יישומים (API)",
"api_key_modal_subtitle": "מפתחות ממשק תכנות יישומים (API) מאפשרים לבצע קריאות לממשק תכנות יישומים עבור החשבון שלך.",
"api_key_modal_subtitle_platform": "צור שוק או פלטפורמה במקום.",
"api_keys_subtitle": "צור מפתחות ממשק תכנות יישומים (API) לקבלת גישה לחשבון שלך.",
"create_api_key": "יצירת מפתח ממשק תכנות יישומים (API)",
"personal_note": "מתן שם למפתח זה",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "ביטול מפתח ממשק תכנות יישומים (API) זה",
"disable_rescheduling": "השבת קביעת מועד מחדש",
"description_disable_rescheduling": "אורחים אינם יכולים יותר לקבוע מחדש את האירוע באמצעות הזמנת יומן או אימייל",
"allow_rescheduling_cancelled_bookings": "אפשר הזמנה דרך קישור לקביעה מחדש",
"description_allow_rescheduling_cancelled_bookings": "כאשר מופעל, משתמשים יוכלו ליצור פגישה חדשה כאשר הם מנסים לקבוע מחדש פגישה שבוטלה",
"disable_cancelling": "השבת ביטול",
"description_disable_cancelling": "אורחים אינם יכולים יותר לבטל את האירוע באמצעות הזמנת יומן או אימייל",
"revoke_api_key": "ביטול מפתח ממשק תכנות יישומים (API)",
@@ -1613,7 +1635,7 @@
"workflow_example_6": "לשלוח הודעת SMS מותאמת אישית למארח/ת כאשר אירוע חדש מוזמן",
"count_managed_to_limit": "כלול ספירת הזמנות מסוגי אירועים מנוהלים",
"welcome_to_cal_header": "ברוך הבא אל {{appName}}!",
"edit_form_later_subtitle": "ניתן יהיה לערוך את זה מאוחר יותר.",
"edit_form_later_subtitle": "תוכל/י לערוך זאת מאוחר יותר.",
"connect_calendar_later": "אקשר את לוח השנה שלי מאוחר יותר",
"problem_saving_user_profile": "אירעה בעיה בשמירת הנתונים שלך. נסה/י שוב או פנה/י לשירות התמיכה.",
"purchase_missing_seats": "רכישת מקומות חסרים",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "מפתחות API מאפשרים לאפליקציות אחרות לתקשר עם {{appName}}",
"back_to_signin": "חזרה לדף הכניסה",
"reset_link_sent": "נשלח קישור לאיפוס",
"password_reset_email": "שלחנו לך הודעת דוא\"ל עם הוראות לאיפוס הסיסמה לכתובת {{email}}.",
"password_reset_email": "נשלח מייל אל {{email}} עם הוראות לאיפוס הסיסמה שלך.",
"password_reset_leading": "אם הודעת המייל לא תגיע בקרוב, ודא שכתובת הדוא\"ל שהזנת נכונה, בדוק אם ההודעה הגיעה לתיקיית דואר הזבל או פנה לתמיכה אם הבעיה נמשכת.",
"password_updated": "הסיסמה עודכנה!",
"pending_payment": "המתנה לתשלום",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "זה יגביל את הזמינות שלך לסוג אירוע זה למשבצת אחת ביום, המתוזמנת בזמן הפנוי הראשון.",
"limit_total_booking_duration": "הגבל משך תזמון כולל",
"limit_total_booking_duration_description": "הגבלת משך הזמן הכולל שבו ניתן להזמין את האירוע הזה",
"booker_booking_limit": "מגבלת הזמנות פעילות למזמין/ה",
"booker_booking_limit_description": "הגבל/י את מספר ההזמנות הפעילות שמזמין/ה יכול/ה לבצע עבור סוג אירוע זה",
"recurring_event_doesnt_support_booker_booking_limit": "אירועים חוזרים אינם תומכים במגבלת הזמנות למזמין/ה",
"add_limit": "הוספת הגבלה",
"team_name_required": "נדרש שם צוות",
"show_attendees": "שיתוף האורחים בפרטי המשתתפים",
"show_available_seats_count": "הצגת מספר המקומות הפנויים",
"how_booking_questions_as_variables": "איך משתמשים בשאלות הזמנה בתור משתנים?",
"format": "פורמט",
"questions": "שאלות",
"all_info_your_booker_provide": "כל המידע שהמזמין/ה צריך/ה לספק לפני שקובע/ת איתך פגישה.",
"uppercase_for_letters": "שימוש באותיות רישיות עבור כל האותיות",
"replace_whitespaces_underscores": "החלפת רווחים במקפים תחתונים",
"platform_members": "חברי פלטפורמה",
@@ -1915,7 +1942,7 @@
"new_attendee": "משתתף/ת חדש/ה",
"awaiting_approval": "בהמתנה לאישור",
"requires_google_calendar": "האפליקציה הזו מחייבת חיבור ל-Google Calendar",
"event_type_requires_google_calendar": "ה\"הוסף ליומן\" עבור סוג אירוע זה צריך להיות יומן Google כדי ש-Meet יעבוד. חבר אותו <0>כאן</0>.",
"event_type_requires_google_calendar": "האפשרות \"הוסף ליומן\" עבור סוג אירוע זה צריכה להיות יומן Google כדי ש-Meet יעבוד. חבר/י אותו <0>כאן</0>.",
"connected_google_calendar": "קישרת חשבון Google Calendar.",
"using_meet_requires_calendar": "כדי להשתמש ב-Google Meet, יש צורך ב-Google Calendar מקושר",
"continue_to_install_google_calendar": "המשך להתקנת Google Calendar",
@@ -1968,11 +1995,11 @@
"organizer_timezone": "מארגן אזורי זמן",
"email_user_cta": "צפה בהזמנה",
"email_no_user_invite_heading_subteam": "הוזמנת להצטרף לצוות בארגון {{parentTeamName}}",
"email_no_user_invite_heading_org": "הוזמנת להצטרף לארגון ב-{{appName}}",
"email_no_user_invite_heading_org": "הוזמנת להצטרף לארגון {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} הזמין אותך להצטרף לצוות שלו ב- {{appName}}. {{appName}} הינה מתזמן זימונים שמאפשר לך ולצוות שלך לזמן פגישות בלי כל הפינג פונג במיילים.",
"email_user_invite_subheading_subteam": "הוזמנת על ידי {{invitedBy}} להצטרף לצוות {{teamName}} בארגון {{parentTeamName}} תחת {{appName}}.‏ {{appName}} הוא מתזמן שיודע לסנכרן בין אירועים שמאפשר לך לצוות שלך לקבוע פגישות בלי לשחק טניס בהודעות.",
"email_user_invite_subheading_org": "{{invitedBy}} הזמין/ה אותך להצטרף לארגון שלו/ה בשם ״{{teamName}}״ באפליקציה {{appName}}. אפליקציית {{appName}} היא כלי לקביעת מועדים לאירועים שמאפשר לך ולארגון שלך לתזמן פגישות בלי הצורך לנהל התכתבויות ארוכות בדוא״ל.",
"email_no_user_invite_steps_intro": "נדריך אותך במספר קטן של צעדים ותוכל/י להתחיל ליהנות מקביעת מועדים עם ה-{{entity}} שלך במהירות ובלי בעיות.",
"email_no_user_invite_steps_intro": "נלווה אותך במספר צעדים קצרים ובקרוב תוכל/י ליהנות מתיאום פגישות ללא מתח עם ה{{entity}} שלך.",
"email_no_user_step_one": "בחר שם משתמש",
"email_no_user_step_two": "קשר את לוח השנה שלך",
"email_no_user_step_three": "הגדר את הזמינות שלך",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "קבל החלטות מושכלות עם תובנות",
"make_informed_decisions_description": "מסך התובנות שלנו מציף את כל הפעילויות בצוות שלך ומציג מגמות שיאפשרו קבלת החלטות ותזמון טוב יותר בצוות.",
"view_bookings_across": "צפה בתזמונים של כל החברים",
"view_bookings_across_description": "צפה מי מקבל הכי הרבה תזמונים וודא חלוקה מיטבית בצוות",
"view_bookings_across_description": "ראה/י מי מקבל את מספר ההזמנות הגבוה ביותר והבטח/י את החלוקה הטובה ביותר בצוות שלך",
"identify_booking_trends": "זהה מגמות תזמון",
"identify_booking_trends_description": "צפה מהם הימים והשעות הפופולרים של המתזמנים שלך",
"spot_popular_event_types": "זהה ארועים פופולרים",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "לא נמצאו נתונים עבור המסנן שנבחר או התאריכים שנבחרו.",
"acknowledge_booking_no_show_fee": "מובן לי שאם לא אשתתף באירוע הזה, דמי אי-הגעה בסך {{amount, currency}} ינוכו מהכרטיס שלי.",
"card_details": "פרטי כרטיס",
"something_went_wrong_on_our_end": "משהו השתבש בצד שלנו. פנה/י למחלקת התמיכה שלנו, ואנחנו נפתור זאת מיד עבורך.",
"something_went_wrong_on_our_end": "משהו השתבש בצד שלנו. צור/י קשר עם צוות התמיכה שלנו, ואנו נתקן זאת עבורך בהקדם.",
"please_provide_following_text_to_suppport": "כשפונים לתמיכה, יש לספק את הטקסט הבא כדי שנוכל לסייע לך בצורה יעילה יותר",
"seats_and_no_show_fee_error": "נכון לעכשיו, אי אפשר להפעיל מקומות ולחייב דמי אי-הגעה",
"complete_your_booking": "יש להשלים את ההזמנה",
@@ -2276,7 +2303,7 @@
"messaging": "העברת הודעות",
"sender_id_info": "השם או המספר שמוצגים כשולח של הודעת SMS (חלק מהמדינות אינן מתירות שימוש במזהי שולח אלפאנומריים)",
"org_admins_can_create_new_teams": "רק מנהל/ת המערכת בארגון יכול/ה ליצור צוותים חדשים",
"google_new_spam_policy": "מדיניות הספאם החדשה של Google עלולה לגרום לכך שלא תקבל/י עדכונים בדוא״ל ובלוח השנה לגבי הפגישה הזו.",
"google_new_spam_policy": "מדיניות הספאם החדשה של Google עלולה למנוע ממך לקבל הודעות דוא\"ל ותזכורות יומן לגבי הזמנה זו.",
"resolve": "פתרון",
"no_organization_slug": "אירעה שגיאה במהלך הניסיון ליצור צוותים עבור הארגון הזה. חסר רכיב slug של URL.",
"copy_link_org": "העתקת הקישור לארגון",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "אישור האצלה מאפשר לך לנהל גישה ללוחות השנה של Google Workspace עבור הארגון שלך.",
"add_client_id_in_google_workspace_with_below_scope": "הוסף את מזהה הלקוח הזה ב-Google Workspace עם ההרשאה הבאה",
"delegation_credential_enabled": "אישור האצלה מופעל",
"delegation_credential_disabled": "אישור האצלה מושבת",
"add_delegation_credential": "הוסף אישור האצלה",
"edit_delegation_credential": "ערוך אישור האצלה",
"domain": "דומיין",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "ראה/י את האירועים שלך בלוח השנה כדי למנוע התנגשות בהזמנות.",
"join_event_location": "הצטרפות אל {{eventLocationType}}",
"troubleshooting": "פתרון בעיות",
"calendars_were_checking_for_conflicts": "לוחות השנה לא בודקים סתירות",
"calendars_were_checking_for_conflicts": "יומנים שאנו בודקים לגבי התנגשויות",
"availabilty_schedules": "לוחות זמנים לזמינוּת",
"manage_calendars": "ניהול לוחות שנה",
"manage_availability_schedules": "ניהול לוחות זמנים לזמינות",
@@ -2582,7 +2608,7 @@
"date": "תאריך",
"overlaps_with_existing_schedule": "חופף עם הלו״ז הנוכחי. נא לבחור תאריך אחר.",
"org_admin_no_slots|heading": "לא נמצאה זמינות עבור {{name}}",
"org_admin_no_slots|content": "שלום מנהלי הארגון,<br /><br />שימו לב: הובא לידיעתנו כי ל{{username}} לא הייתה זמינות כאשר משתמש ביקר ב{{username}}/{{slug}}<br /><br />יש כמה סיבות מדוע זה יכול לקרות<br />למשתמש אין לוחות שנה מחוברים<br />הלו״זים המחוברים לאירוע זה אינם מופעלים<br /> <br />אנו ממליצים לבדוק את הזמינות שלהם כדי לפתור זאת.",
"org_admin_no_slots|content": "שלום מנהלי הארגון,<br /><br />שימו לב: הובא לתשומת ליבנו ש-{{username}} לא היה/הייתה זמין/ה כאשר משתמש/ת ביקר/ה ב-{{username}}/{{slug}}<br /><br />ישנן מספר סיבות אפשריות לכך<br />למשתמש/ת אין יומנים מחוברים<br />לוחות הזמנים המצורפים לאירוע זה אינם מופעלים<br /> <br />אנו ממליצים לבדוק את הזמינות שלהם כדי לפתור זאת.",
"org_admin_no_slots|cta": "פתיחת זמינות משתמשים",
"organization_no_slots_notification_switch_title": "קבלת התראות כשהצוות שלך לא זמין",
"organization_no_slots_notification_switch_description": "מנהלים יקבלו התראות במייל כאשר משתמש מנסה להזמין חבר צוות ונתקל ב'אין זמינות'. אנו מפעילים את המייל הזה לאחר שתי התרחשויות ומזכירים לכם כל 7 ימים לכל משתמש.",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "הוזמנת להצטרף לארגון {{team}} ב־{{appName}} על ידי {{user}}",
"email_team_invite|subject|added_to_subteam": "נוספת לצוות {{team}} בארגון {{parentTeamName}} על ידי {{user}} אצל {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "{{user}} הזמין אותך להצטרף לצוות {{team}} ב-{{appName}}",
"email_team_invite|heading|added_to_org": "נוספת לארגון ב־{{appName}}",
"email_team_invite|heading|invited_to_org": "הוזמנת להצטרף לארגון ב־{{appName}}",
"email_team_invite|heading|added_to_subteam": "נוספת לצוות בארגון {{parentTeamName}}",
"email_team_invite|heading|added_to_org": "צורפת לארגון {{appName}}",
"email_team_invite|heading|invited_to_org": "הוזמנת לארגון {{appName}}",
"email_team_invite|heading|added_to_subteam": "צורפת לצוות בארגון {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "הוזמנת לצוות בארגון {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "הוזמנת להצטרף לצוות ב-{{appName}}",
"email_team_invite|heading|invited_to_regular_team": "הוזמנת להצטרף לצוות {{appName}}",
"email_team_invite|content|added_to_org": "נוספת לארגון <strong>{{teamName}}</strong> על ידי {{invitedBy}}.",
"email_team_invite|content|invited_to_org": "הוזמנת להצטרף לארגון {{teamName}} על ידי {{invitedBy}}.",
"email_team_invite|subject|invited_to_subteam": "{{user}} הזמין אותך להצטרף לצוות {{team}} של הארגון {{parentTeamName}} ב-{{appName}}",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "הגבל את מספר הפעמים שניתן להזמין חברים בכל סוגי האירועים של הצוות",
"booking_limits_updated_successfully": "מגבלות ההזמנה עודכנו בהצלחה",
"you_are_unauthorized_to_make_this_change_to_the_booking": "אין לך הרשאה לבצע שינוי זה בהזמנה",
"delegation_credential_disabled": "אישור האצלה מושבת",
"matching_members": "חברים תואמים",
"x_matching_members": "{{x}} חברים תואמים",
"matching_members_queue_using_attribute_weights": "תור התאמת חברים (באמצעות משקלי מאפיינים)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "כן, הקצה מחדש",
"filter_by_attributes": "סינון לפי מאפיינים",
"reassign_reason": "סיבה להקצאה מחדש",
"field_type_change_suggestion": "שינוי סוג השדה עלול לגרום לאובדן נתונים. אנא צור שדה חדש במקום.",
"reassigned_by": "הוקצה מחדש על ידי",
"row": "שורה",
"rows": "שורות",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "אין לך הרשאה ליצור ארגון עבור כתובת האימייל הזו",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "אין לך הרשאה להעביר אחד או יותר מהצוותים",
"organization_has_subscription_already": "לארגון כבר יש מנוי",
"reset_interval_weighted_rr": "איפוס מרווח עבור סבב משוקלל",
"interval": "מרווח",
"rr_reset_interval_description": "קובע באיזו תדירות מתאפס מונה ההזמנות בסבב כדי להבטיח חלוקה מאוזנת.",
"daily": "יומי",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "כבר קיימת הפניה הפוכה בין משתמשים אלה.",
"previous_ooo_empty_title": "לא נמצאו יציאות מהמשרד קודמות",
"previous": "קודם",
"rr_interval_successfully_updated": "מרווח הסבב עודכן בהצלחה",
"trial_mode": "מצב ניסיון",
"inactive_team_plan": "תוכנית צוות לא פעילה",
"inactive_team_plan_description": "תוכנית הצוות שלך אינה פעילה. בדוק את המנוי שלך או פנה לתמיכת הלקוחות",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "עדיין אין לך צוות",
"no_team_members": "עדיין אין לך חברי צוות",
"recurring_event_doesnt_support_seats": "אירוע חוזר אינו תומך בתכונת המושבים. הפוך אותו לאירוע לא חוזר כדי לאפשר מושבים.",
"booking_limit_per_booker_doesnt_support_recurring": "אירוע חוזר אינו תומך בתכונת הגבלת הזמנות למזמין. בטל את הגבלת ההזמנות למזמין כדי לאפשר אירוע חוזר.",
"seats_doesnt_support_recurring": "תכונת המושבים אינה תומכת באירוע חוזר. השבת את תכונת המושבים כדי להפוך אותו לחוזר.",
"recurring_event_seats_error": "אירוע חוזר אינו תומך בתכונת המושבים. השבת את תכונת המושבים או הפוך את האירוע ללא חוזר.",
"segment": "מקטע",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "הפעל אישור האצלה",
"enable_delegation_credential_description": "העניק ל-Cal.com גישה אוטומטית ללוחות השנה של כל חברי הארגון על ידי הפעלת אישור האצלה.",
"disable_delegation_credential": "השבת אישור האצלה",
"disable_delegation_credential_description": "לאחר שאישור ההאצלה מושבת, חברי ארגון שלא חיברו את לוחות השנה שלהם יצטרכו לעשות זאת באופן ידני.",
"disable_delegation_credential_description": "לאחר שהרשאת הייצוג מושבתת, חברי ארגון שלא חיברו את לוחות השנה שלהם יצטרכו לעשות זאת באופן ידני.",
"last_active": "פעיל לאחרונה",
"member_since": "חבר מאז",
"last_updated": "עודכן לאחרונה",
@@ -3202,10 +3233,131 @@
"matching": "התאמה",
"event_redirect": "הפניית אירוע",
"reset_form": "איפוס טופס",
"rr_settings_successfully_updated": "הגדרות הסבב עודכנו בהצלחה",
"distribution_basis_weighted_rr": "בסיס חלוקה עבור סבב משוקלל",
"timestamp_basis_description": "קובע איזה חותם זמן של האירוע משמש כבסיס לחלוקת סבב משוקלל.",
"requires_credits": "דורש קרדיטים",
"requires_credits_tooltip": "אתה צריך מספיק קרדיטים בחשבונך כדי להשתמש בתכונה זו",
"available_credits": "קרדיטים זמינים",
"create_role": "יצירת תפקיד",
"roles_and_permissions": "תפקידים והרשאות",
"roles_and_permissions_description": "ניהול תפקידים והרשאות עבור הארגון שלך",
"learn_more_permissions": "למד עוד על אופן פעולת ההרשאות",
"role_name": "שם תפקיד",
"role_name_placeholder": "לדוגמה: צוות מכירות, צוות תמיכה",
"role_description": "תיאור תפקיד",
"role_description_placeholder": "תאר למה מיועד תפקיד זה ואילו הרשאות הוא צריך",
"default_role": "תפקיד ברירת מחדל",
"custom_role": "תפקיד מותאם אישית",
"advanced": "מתקדם",
"search_permissions": "חיפוש הרשאות",
"all_permissions": "כל ההרשאות",
"none": "ללא",
"read_only": "קריאה בלבד",
"pbac_desc_all_actions_all_resources": "כל הפעולות על כל המשאבים",
"pbac_resource_all": "כל המשאבים",
"pbac_resource_event_type": "סוגי אירועים",
"pbac_resource_team": "צוותים",
"pbac_resource_organization": "ארגון",
"pbac_resource_booking": "הזמנות",
"pbac_resource_insights": "תובנות",
"pbac_resource_role": "תפקידים",
"pbac_action_all": "כל הפעולות",
"pbac_action_create": "יצירה",
"pbac_action_read": "צפייה",
"pbac_action_update": "עריכה",
"pbac_action_delete": "מחיקה",
"pbac_action_manage": "ניהול",
"pbac_action_invite": "הזמנה",
"pbac_action_remove": "הסרה",
"pbac_action_change_member_role": "שינוי תפקיד חבר",
"pbac_action_list_members": "רשימת חברים",
"pbac_action_manage_billing": "ניהול חיוב",
"pbac_action_read_team_bookings": "צפייה בהזמנות צוות",
"pbac_action_read_org_bookings": "צפייה בהזמנות ארגון",
"pbac_action_read_recordings": "צפייה בהקלטות",
"role_created_successfully": "התפקיד נוצר בהצלחה",
"role_updated_successfully": "התפקיד עודכן בהצלחה",
"delete_role": "מחיקת תפקיד",
"confirm_delete_role": "האם אתה בטוח שברצונך למחוק תפקיד זה? פעולה זו אינה ניתנת לביטול.",
"role_deleted_successfully": "התפקיד נמחק בהצלחה",
"error_creating_role": "שגיאה ביצירת תפקיד",
"error_updating_role": "שגיאה בעדכון תפקיד",
"pbac_desc_create_roles": "יצירת תפקידים",
"pbac_desc_view_roles": "צפייה בתפקידים",
"pbac_desc_update_roles": "עדכון תפקידים",
"pbac_desc_delete_roles": "מחיקת תפקידים",
"pbac_desc_manage_roles": "כל הפעולות על תפקידים",
"pbac_desc_create_event_types": "יצירת סוגי אירועים",
"pbac_desc_view_event_types": "צפייה בסוגי אירועים",
"pbac_desc_update_event_types": "עדכון סוגי אירועים",
"pbac_desc_delete_event_types": "מחיקת סוגי אירועים",
"pbac_desc_manage_event_types": "כל הפעולות על סוגי אירועים",
"pbac_desc_create_teams": "יצירת צוותים",
"pbac_desc_view_team_details": "צפייה בפרטי הצוות",
"pbac_desc_update_team_settings": "עדכון הגדרות צוות",
"pbac_desc_delete_team": "מחיקת צוות",
"pbac_desc_invite_team_members": "הזמנת חברי צוות",
"pbac_desc_remove_team_members": "הסרת חברי צוות",
"pbac_desc_change_team_member_role": "שינוי תפקיד של חברי צוות",
"pbac_desc_manage_teams": "כל הפעולות על צוותים",
"pbac_desc_create_organization": "יצירת ארגון",
"pbac_desc_view_organization_details": "צפייה בפרטי הארגון",
"pbac_desc_list_organization_members": "רשימת חברי הארגון",
"pbac_desc_invite_organization_members": "הזמנת חברי ארגון",
"pbac_desc_remove_organization_members": "הסרת חברי ארגון",
"pbac_desc_manage_organization_billing": "ניהול חיובי הארגון",
"pbac_desc_change_organization_member_role": "שינוי תפקיד של חברי הארגון",
"pbac_desc_edit_organization_settings": "עריכת הגדרות הארגון",
"pbac_desc_manage_organizations": "כל הפעולות על ארגונים",
"pbac_desc_view_bookings": "צפייה בהזמנות",
"pbac_desc_view_team_bookings": "צפייה בהזמנות של הצוות",
"pbac_desc_view_organization_bookings": "צפייה בהזמנות של הארגון",
"pbac_desc_view_booking_recordings": "צפייה בהקלטות של הזמנות",
"pbac_desc_update_bookings": "עדכון הזמנות",
"pbac_desc_manage_bookings": "כל הפעולות על הזמנות",
"pbac_desc_view_team_insights": "צפייה בתובנות הצוות",
"pbac_desc_manage_team_insights": "ניהול תובנות הצוות",
"read_permission_auto_enabled_tooltip": "הרשאת קריאה מופעלת אוטומטית בעת יצירה, עדכון או מחיקה של משאב",
"choose_restriction_schedule": "הוספת לוח זמנים מגביל",
"choose_restriction_schedule_description": "הפעל זאת אם ברצונך להגביל את הזמינות של המארחים עבור סוג אירוע זה בהתבסס על לוח זמנים מגביל. פעולה זו רק מסירה את המשבצות שאינן בלוח הזמנים המגביל, היא אינה מוסיפה משבצות חדשות.",
"use_booker_timezone": "השתמש באזור הזמן של המזמין",
"use_booker_timezone_info": "החל את לוח הזמנים המגביל שנבחר באזור הזמן של המזמין",
"load_balancing_warning": "פעולה זו תשבית את איזון העומסים בכל סוגי האירועים של round robin שלך",
"rr_load_balancing_disabled": "איזון עומסים זמין רק כאשר בסיס חותמת הזמן מוגדר לזמן יצירת ההזמנה",
"round_robin_settings_description": "התאם אישית את הגדרות ברירת המחדל של הסבב עבור צוות זה",
"round_robin_settings_updated_successfully": "הגדרות הסבב עודכנו בהצלחה",
"booking_creation_time": "זמן יצירת ההזמנה",
"meeting_start_time": "זמן תחילת הפגישה",
"members_affected_by_disabling_delegation_credential": "חברים מושפעים",
"no_members_affected_by_disabling_delegation_credential": "אין חברים שמושפעים מביטול אישור האצלה",
"download_expense_log": "הורד יומן הוצאות",
"error_downloading_expense_log": "שגיאה בהורדת יומן ההוצאות",
"offer_to_reschedule_last_booking": "הצע לקבוע מחדש את ההזמנה הפעילה האחרונה לחלון הזמן שנבחר",
"booker_limit_exceeded_error": "חרגת ממגבלת ההזמנות הפעילות המקסימלית",
"booker_limit_exceeded_error_reschedule": "כבר יש לך הזמנה לאירוע זה בתאריך {{date}}. האם ברצונך לקבוע מחדש לזמן החדש שנבחר?",
"duration_min_error": "המשך חייב להיות לפחות {{min}} דקות",
"duration_max_error": "המשך לא יכול לעלות על {{max}} דקות (24 שעות)",
"booking_not_allowed_by_restriction_schedule_error": "הזמנה מחוץ לזמינות לוח ההגבלות.",
"restriction_schedule_not_found_error": "לוח הגבלות לא נמצא",
"converted_image_size_limit_exceed": "חרגת ממגבלת גודל התמונה, אנא השתמש בתמונה קטנה יותר עדיף בפורמט JPEG",
"license_key": "מפתח רישיון",
"license_selection_title": "בחר את הרישיון שלך",
"license_selection_description": "בחר כיצד ברצונך לרשיין את הפריסה של Cal.com שלך",
"agplv3_license_description": "השתמש ב-Cal.com תחת רישיון קוד פתוח AGPLv3",
"enter_license_key": "הזן מפתח רישיון",
"enter_your_license_key": "גישה לכל תכונות הארגון",
"enter_existing_license": "החל מ-15$ למשתמש לחודש",
"enter_license_key_description": "גישה לכל תכונות הארגון",
"license_key_placeholder": "הזן את מפתח הרישיון שלך",
"save_license_key": "שמור מפתח רישיון",
"signature_token_optional": "אסימון חתימה (אופציונלי)",
"signature_token_description": "אסימון החתימה משמש לאימות שמפתח הרישיון שייך לך בעת הגדלת החיוב המבוסס על שימוש. ניתן למצוא אותו בדוא\"ל אישור הרכישה שלך. אם יש לך רישיון מדור קודם, ניתן להשאיר שדה זה ריק.",
"need_a_license": "צריך רישיון?",
"license_key_required": "נדרש מפתח רישיון",
"invalid_license_key": "מפתח רישיון לא חוקי",
"license_validation_failed": "האימות של מפתח הרישיון נכשל",
"license_key_saved": "מפתח הרישיון נשמר בהצלחה",
"timezone_mismatch_tooltip": "אתה צופה בדוח על בסיס אזור הזמן של הפרופיל שלך ({{userTimezone}}), בעוד שהדפדפן שלך מוגדר לאזור זמן ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+173 -21
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Cal Video beállítások testreszabása",
"calvideo_settings_description": "Videótalálkozó beállítások konfigurálása, beleértve a felvételkészítési jogosultságokat a házigazdák és résztvevők számára.",
"disable_recording_for_guests": "Felvételkészítés letiltása vendégek számára",
"enable_automatic_transcription": "Automatikus átírás engedélyezése a megbeszéléshez csatlakozás után",
"video_options": "Videó beállítások",
"get_meeting_session_details": "Megbeszélés részleteinek lekérése",
"meeting_session_details": "Megbeszélés részletei",
"meeting_session": "Megbeszélés",
"session_id": "Munkamenet azonosító",
"max_participants": "Maximum résztvevők",
"unlimited": "Korlátlan",
"ongoing": "Folyamatban",
"ended": "Befejezve",
"participants": "Résztvevők",
"anonymous_user": "Névtelen felhasználó",
"session_duration": "Munkamenet időtartama",
"no_meeting_sessions_found": "Nem található megbeszélés",
"not_available": "Nem elérhető",
"disable_recording_for_organizer": "Felvételkészítés letiltása szervező számára",
"disable_transcription_for_guests": "Átírás letiltása vendégek számára",
"disable_transcription_for_organizer": "Átírás letiltása szervező számára",
"event_request_declined_recurring": "Az ismétlődő esemény kérésed vissza lett utasítva",
"event_request_cancelled": "A lefoglalt időpontod vissza lett mondva",
"event_request_reassigned": "Az ütemezett eseménye átütemezésre került",
@@ -264,6 +281,8 @@
"guests": "Vendégek",
"guest": "Vendég",
"web_conferencing_details_to_follow": "A webkonferencia részletei a visszaigazoló e-mailben.",
"confirmation": "Megerősítés",
"what_booker_should_provide": "Mit kell megadnia a foglalónak a visszaigazolások fogadásához",
"404_the_user": "A felhasználónév",
"username": "Felhasználónév",
"is_still_available": "továbbra is elérhető.",
@@ -331,7 +350,7 @@
"organization_general_description": "Kezelje csapata nyelvének és időzónájának beállításait",
"few_sentences_about_yourself": "Pár mondat magadról. Ez megjelenik a személyes URL-oldalán.",
"nearly_there": "Majdnem kész!",
"nearly_there_instructions": "Végül, egy rövid leírás Önről és egy fénykép valóban segít a foglalásokban, és tájékoztatja az embereket, hogy kinél foglalnak.",
"nearly_there_instructions": "Utolsó lépésként, egy rövid bemutatkozás és egy fénykép nagyban segíti a foglalásokat, és tájékoztatja az embereket arról, hogy kivel foglalnak.",
"set_availability_instructions": "Határozza meg azokat az időtartamokat, amikor rendszeresen elérhető. Később több ilyet is létrehozhat, és hozzárendelheti őket különböző naptárokhoz.",
"set_availability": "Állítsa be elérhetőségét",
"set_availbility_description": "Állítson be időbeosztást a foglalni kívánt időpontokhoz.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Csatlakoztassa a naptárát",
"connect_your_video_app": "Csatlakoztassa videoalkalmazásait",
"connect_your_video_app_instructions": "Csatlakoztassa videoalkalmazásait, hogy az eseménytípusaihoz használja őket.",
"connect_your_calendar_instructions": "Csatlakoztassa naptárát, hogy automatikusan ellenőrizze a foglalt időket és az új eseményeket az ütemezés szerint.",
"connect_your_calendar_instructions": "Csatlakoztasd a naptáradat, hogy automatikusan ellenőrizze a foglalt időpontokat és az újonnan ütemezett eseményeket.",
"set_up_later": "Állítsa be később",
"current_time": "Jelenlegi idő",
"details": "Részletek",
"welcome": "Üdvözöljük",
"welcome_back": "Üdv újra",
"welcome_to_calcom": "Üdvözli a {{appName}}",
"welcome_instructions": "Mondja el, hogy hívjuk, és tudassa velünk, hogy melyik időzónában tartózkodik. Ezt később szerkesztheti.",
"welcome_instructions": "Mondd el, hogyan szólíthatunk, és add meg, melyik időzónában vagy. Ezt később módosíthatod.",
"connect_caldav": "Csatlakozás a CalDav szerverhez",
"connect_ics_feed": "Csatlakozás egy ICS feedhez",
"connect": "Csatlakozás",
@@ -361,7 +380,7 @@
"when": "Mikor",
"where": "Hol",
"add_to_calendar": "Hozzáadás naptárhoz",
"add_to_calendar_description": "Válassza ki, hová szeretne eseményeket hozzáadni, ha foglalnak.",
"add_to_calendar_description": "Válaszd ki, hová kerüljenek az események, amikor lefoglalnak.",
"add_events_to": "Események hozzáadása ehhez",
"add_another_calendar": "Másik naptár hozzáadása",
"other": "Egyéb",
@@ -1153,6 +1172,7 @@
"test_failed": "A teszt sikertelen",
"provide_api_key": "Adja meg az API kulcsot",
"api_key_modal_subtitle": "Az API kulcsok lehetővé teszik, hogy API-hívásokat kezdeményezzen saját fiókjához.",
"api_key_modal_subtitle_platform": "Hozz létre piacteret vagy platformot helyette.",
"api_keys_subtitle": "Hozzon létre API kulcsokat a saját fiókjához való hozzáféréshez.",
"create_api_key": "API kulcs létrehozása",
"personal_note": "Nevezze el ezt a kulcsot",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Vonja vissza ezt az API kulcsot",
"disable_rescheduling": "Átütemezés letiltása",
"description_disable_rescheduling": "A vendégek többé nem ütemezhetik át az eseményt naptári meghívóval vagy e-maillel",
"allow_rescheduling_cancelled_bookings": "Foglalás engedélyezése az átütemezési linken keresztül",
"description_allow_rescheduling_cancelled_bookings": "Ha engedélyezve van, a felhasználók új foglalást hozhatnak létre, amikor megpróbálnak átütemezni egy törölt foglalást",
"disable_cancelling": "Lemondás letiltása",
"description_disable_cancelling": "A vendégek többé nem mondhatják le az eseményt naptári meghívóval vagy e-maillel",
"revoke_api_key": "API kulcs visszavonása",
@@ -1613,7 +1635,7 @@
"workflow_example_6": "Egyéni SMS küldése, ha új eseményt lefoglaltak a házigazdának",
"count_managed_to_limit": "Tartalmazza a foglalási számokat a kezelt eseménytípusokból",
"welcome_to_cal_header": "Üdvözli a {{appName}}!",
"edit_form_later_subtitle": "Ezt később szerkesztheti.",
"edit_form_later_subtitle": "Ezt később is szerkesztheted.",
"connect_calendar_later": "Később csatlakoztatom a naptárat",
"problem_saving_user_profile": "Hiba történt az adatok mentése során. Kérjük, próbálja újra, vagy forduljon az ügyfélszolgálathoz.",
"purchase_missing_seats": "Vásárolja meg a hiányzó helyeket",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "Az API kulcsok lehetővé teszik, hogy más alkalmazások kommunikáljanak a(z) {{appName}} alkalmazással",
"back_to_signin": "Vissza a bejelentkezéshez",
"reset_link_sent": "Visszaállítási link elküldve",
"password_reset_email": "Útközben érkezik egy e-mail a(z) {{email}} címre a jelszó visszaállításához szükséges utasításokkal.",
"password_reset_email": "Egy e-mail úton van a {{email}} címre a jelszó visszaállításához szükséges utasításokkal.",
"password_reset_leading": "Ha hamarosan nem kap e-mailt, ellenőrizze, hogy a megadott e-mail cím helyes-e, ellenőrizze a spam mappát, vagy forduljon az ügyfélszolgálathoz, ha a probléma továbbra is fennáll.",
"password_updated": "Jelszó frissítve!",
"pending_payment": "Függő fizetés",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Ez korlátozza az elérhetőségét ehhez az eseménytípushoz napi egy időpontra, amely a legkorábbi elérhető időpontban van ütemezve.",
"limit_total_booking_duration": "Korlátozza a foglalás teljes időtartamát",
"limit_total_booking_duration_description": "Korlátozza az esemény foglalható teljes időtartamát",
"booker_booking_limit": "Foglalást végző aktív foglalási korlátja",
"booker_booking_limit_description": "Korlátozd, hogy egy foglalást végző hány aktív foglalást készíthet ehhez az eseménytípushoz",
"recurring_event_doesnt_support_booker_booking_limit": "Az ismétlődő események nem támogatják a foglalást végző foglalási korlátját",
"add_limit": "Korlát hozzáadása",
"team_name_required": "Csapatnév kötelező",
"show_attendees": "Ossza meg a résztvevőkkel kapcsolatos információkat a vendégek között",
"show_available_seats_count": "Mutassa meg a szabad helyek számát",
"how_booking_questions_as_variables": "Hogyan lehet a foglalási kérdéseket változóként használni?",
"format": "Formátum",
"questions": "Kérdések",
"all_info_your_booker_provide": "Minden információ, amit a foglalást végzőnek meg kell adnia, mielőtt foglal nálad.",
"uppercase_for_letters": "Használjon nagybetűt minden betűhöz",
"replace_whitespaces_underscores": "Cserélje ki a szóközöket aláhúzásjelre",
"platform_members": "Platform tagok",
@@ -1967,12 +1994,12 @@
"delete_sso_configuration_confirmation_description": "Biztosan törli a(z) {{connectionType}} konfigurációt? A(z) {{connectionType}} bejelentkezést használó csapattagok többé nem férhetnek hozzá a Cal.com webhelyhez.",
"organizer_timezone": "Szervező időzónája",
"email_user_cta": "Meghívó megtekintése",
"email_no_user_invite_heading_subteam": "Meghívtak, hogy csatlakozzon a(z) {{parentTeamName}} szervezet csapatához",
"email_no_user_invite_heading_org": "Meghívást kapott egy {{appName}} szervezethez",
"email_no_user_invite_heading_subteam": "Meghívást kaptál, hogy csatlakozz a {{parentTeamName}} szervezet egyik csapatához",
"email_no_user_invite_heading_org": "Meghívást kaptál, hogy csatlakozz egy {{appName}} szervezethez",
"email_no_user_invite_subheading": "{{invitedBy}} meghívott téged a csapatába a {{appName}} alkalmazásban. Az {{appName}} az eseményzsonglőr ütemező, amellyel Ön és csapata e-mail-tenisz nélkül is ütemezhet értekezleteket.",
"email_user_invite_subheading_subteam": "{{invitedBy}} meghívta, hogy csatlakozzon a(z) {{teamName}} csapatához a(z) {{parentTeamName}} szervezetében a(z) {{appName}} napon. Az {{appName}} az eseményzsonglőr ütemező, amellyel Ön és csapata e-mail-tenisz nélkül is ütemezhet értekezleteket.",
"email_user_invite_subheading_org": "{{invitedBy}} meghívta Önt, hogy csatlakozzon a(z) {{teamName}} szervezetéhez a(z) {{appName}} napon. Az {{appName}} az eseményzsonglőr ütemező, amellyel Ön és szervezete e-mail-tenisz nélkül is ütemezhet értekezleteket.",
"email_no_user_invite_steps_intro": "Végigvezetjük néhány rövid lépésen, és pillanatok alatt élvezheti a stresszmentes ütemezést {{entity}} társaságában.",
"email_no_user_invite_steps_intro": "Végigvezetünk néhány rövid lépésen, és hamarosan élvezheted a stresszmentes időpontegyeztetést a {{entity}} segítségével.",
"email_no_user_step_one": "Válassz felhasználónevet",
"email_no_user_step_two": "Kapcsolja össze naptárfiókját",
"email_no_user_step_three": "Állítsa be az elérhetőségét",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Hozz megalapozott döntéseket az Insights segítségével",
"make_informed_decisions_description": "Az Insights irányítópultunk bemutatja a csapat összes tevékenységét, és megmutatja azokat a trendeket, amelyek lehetővé teszik a jobb csapatütemezést és döntéshozatalt.",
"view_bookings_across": "Tekintse meg az összes tag foglalásait",
"view_bookings_across_description": "Tekintse meg, hogy ki kapja a legtöbb foglalást, és biztosítsa a legjobb elosztást csapatában",
"view_bookings_across_description": "Nézd meg, ki kapja a legtöbb foglalást, és biztosítsd a legjobb elosztást a csapatodban",
"identify_booking_trends": "A foglalási trendek azonosítása",
"identify_booking_trends_description": "Tekintse meg, hogy a hét mely időszakai és a nap mely időszakai népszerűek a foglalók körében",
"spot_popular_event_types": "Fedezze fel a népszerű eseménytípusokat",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "Nem található adat a kiválasztott szűrőhöz vagy a kiválasztott dátumokhoz.",
"acknowledge_booking_no_show_fee": "Tudomásul veszem, hogy ha nem veszek részt ezen az eseményen, {{amount, currency}} meg nem jelenési díj kerül felszámításra.",
"card_details": "Kártya adatai",
"something_went_wrong_on_our_end": "Valami elromlott a mi oldalunkon. Lépjen kapcsolatba ügyfélszolgálatunkkal, és azonnal megjavítjuk.",
"something_went_wrong_on_our_end": "Valami hiba történt a mi oldalunkon. Vedd fel a kapcsolatot az ügyfélszolgálatunkkal, és azonnal kijavítjuk neked.",
"please_provide_following_text_to_suppport": "Kérjük, adja meg a következő szöveget, amikor kapcsolatba lép az ügyfélszolgálattal, hogy jobban segíthessünk",
"seats_and_no_show_fee_error": "Jelenleg nem lehet helyet biztosítani, és meg nem jelenési díjat számítani fel",
"complete_your_booking": "Fejezze be a foglalást",
@@ -2276,7 +2303,7 @@
"messaging": "Üzenetküldés",
"sender_id_info": "Az SMS feladójaként megjelenő név vagy szám (egyes országok nem engedélyezik az alfanumerikus feladóazonosítókat)",
"org_admins_can_create_new_teams": "Csak a szervezet rendszergazdája hozhat létre új csapatokat",
"google_new_spam_policy": "Google új levélszemét szabályzata megakadályozhatja, hogy megérkezzenek az email és naptár értesítések erről a foglalásról.",
"google_new_spam_policy": "A Google új spam-szabályzata megakadályozhatja, hogy e-mail és naptárértesítéseket kapj erről a foglalásról.",
"resolve": "Megoldás",
"no_organization_slug": "Hiba történt a szervezet csapatainak létrehozásakor. Hiányzó URL-cím.",
"copy_link_org": "Link másolása a szervezethez",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "A delegálási hitelesítő adat lehetővé teszi a Google Workspace naptárakhoz való hozzáférés kezelését a szervezete számára.",
"add_client_id_in_google_workspace_with_below_scope": "Adja hozzá ezt az ügyfél-azonosítót a Google Workspace-hez az alábbi hatókörrel",
"delegation_credential_enabled": "Delegálási hitelesítő adat engedélyezve",
"delegation_credential_disabled": "Delegálási hitelesítő adat letiltva",
"add_delegation_credential": "Delegálási hitelesítő adat hozzáadása",
"edit_delegation_credential": "Delegálási hitelesítő adat szerkesztése",
"domain": "Tartomány",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "Nézd meg a naptáreseményeidet, hogy megelőzd az ütköző foglalásokat.",
"join_event_location": "Csatlakozás: {{eventLocationType}} ",
"troubleshooting": "Hibaelhárítás",
"calendars_were_checking_for_conflicts": "Azok a naptárak, amelyeket ellenőrzünk az ütközések miatt",
"calendars_were_checking_for_conflicts": "Naptárak, amelyeket ütközésekre ellenőrzünk",
"availabilty_schedules": "Elérhetőségi ütemezések",
"manage_calendars": "Naptárak kezelése",
"manage_availability_schedules": "Elérhetőségi ütemezések kezelése",
@@ -2582,7 +2608,7 @@
"date": "Dátum",
"overlaps_with_existing_schedule": "Ez átfedésben van egy meglévő ütemezéssel. Kérjük, válasszon másik dátumot.",
"org_admin_no_slots|heading": "Nem található elérhetőség a következőhöz: {{name}}",
"org_admin_no_slots|content": "Kedves szervezeti adminisztrátorok!<br /><br />Kérjük, vegye figyelembe: Felhívtuk a figyelmünket, hogy a(z) {{username}} nem volt elérhető, amikor egy felhasználó felkereste a(z) {{username}}/{{slug}} webhelyet. <br /><br />Van néhány ok, amiért ez megtörténhet<br />A felhasználóhoz nem csatlakozik egyetlen naptár sem.<br />Az eseményhez csatolt ütemterveik nincsenek engedélyezve<br /> <br />Mi javasoljuk, hogy ellenőrizze elérhetőségüket a probléma megoldásához.",
"org_admin_no_slots|content": "Kedves Szervezeti Adminisztrátorok,<br /><br />Kérjük, vegyék figyelembe: Tudomásunkra jutott, hogy {{username}} nem rendelkezett elérhető időpontokkal, amikor egy felhasználó meglátogatta a {{username}}/{{slug}} oldalt<br /><br />Ennek több oka is lehet<br />A felhasználónak nincsenek csatlakoztatott naptárai<br />Az ehhez az eseményhez csatolt időbeosztásai nincsenek engedélyezve<br /> <br />Javasoljuk, hogy ellenőrizzék az elérhetőségét a probléma megoldásához.",
"org_admin_no_slots|cta": "Nyissa meg a felhasználók elérhetőségét",
"organization_no_slots_notification_switch_title": "Értesítéseket kaphat, ha csapata nem áll rendelkezésre",
"organization_no_slots_notification_switch_description": "Az adminisztrátorok e-mailes értesítést kapnak, ha a felhasználó megpróbál lefoglalni egy csapattagot, és a „Nincs elérhetőség” üzenettel szembesül. Ezt az e-mailt két előfordulás után indítjuk el, és felhasználónként 7 naponta emlékeztetjük. ",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "{{user}} meghívott, hogy csatlakozzon a(z) {{team}} szervezethez a(z) {{appName}} alkalmazásban",
"email_team_invite|subject|added_to_subteam": "{{user}} felvette Önt a(z) {{parentTeamName}} szervezet {{team}} csapatába itt: {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "{{user}} meghívott a {{team}} csapatba a {{appName}} alkalmazásban",
"email_team_invite|heading|added_to_org": "Hozzáadták egy {{appName}} szervezethez",
"email_team_invite|heading|added_to_org": "Hozzáadtak egy {{appName}} szervezethez",
"email_team_invite|heading|invited_to_org": "Meghívtak egy {{appName}} szervezetbe",
"email_team_invite|heading|added_to_subteam": "Felkerült a(z) {{parentTeamName}} szervezet csapatába",
"email_team_invite|heading|invited_to_subteam": "Meghívtak a(z) {{parentTeamName}} szervezet csapatába",
"email_team_invite|heading|invited_to_regular_team": "Meghívtak, hogy csatlakozzon egy {{appName}} csapatához",
"email_team_invite|heading|added_to_subteam": "Hozzáadtak a {{parentTeamName}} szervezet egyik csapatához",
"email_team_invite|heading|invited_to_subteam": "Meghívtak a {{parentTeamName}} szervezet egyik csapatába",
"email_team_invite|heading|invited_to_regular_team": "Meghívtak egy {{appName}} csapatba",
"email_team_invite|content|added_to_org": "{{invitedBy}} felvette Önt a <strong>{{teamName}}</strong> szervezetbe.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} meghívta Önt a {{teamName}} szervezethez.",
"email_team_invite|subject|invited_to_subteam": "{{user}} meghívta Önt, hogy csatlakozzon a(z) {{parentTeamName}} szervezet {{team}} csapatához a(z) {{appName}} alkalmazásban",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Korlátozza, hogy a tagok hányszor foglalhatók le az összes csapat eseménytípuson belül",
"booking_limits_updated_successfully": "A foglalási korlátok sikeresen frissítve",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Nincs jogosultsága a foglalás módosításához",
"delegation_credential_disabled": "Delegálási hitelesítő adat letiltva",
"matching_members": "Megfelelő tagok",
"x_matching_members": "{{x}} egyező tag",
"matching_members_queue_using_attribute_weights": "Tagok sorba állítása (attribútum súlyozás alapján)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Igen, újrahozzárendelés",
"filter_by_attributes": "Szűrés tulajdonságok szerint",
"reassign_reason": "Újrahozzárendelés oka",
"field_type_change_suggestion": "A mezőtípus megváltoztatása adatvesztést okozhat. Kérjük, inkább hozzon létre egy új mezőt.",
"reassigned_by": "Újrahozzárendelő",
"row": "sor",
"rows": "sorok",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Továbbítva időszakonként",
"per_day": "Naponta",
"per_week": "Hetente",
"per_month": "havonta",
"per_month": "Havonta",
"routing_form_insights_assignment_reason": "Hozzárendelés oka",
"access_denied": "Hozzáférés megtagadva",
"salesforce_route_to_owner": "A kapcsolattartó tulajdonosa lesz a round robin házigazda, ha elérhető",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Nincs jogosultsága szervezetet létrehozni ehhez az e-mail címhez",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Nincs jogosultsága egy vagy több csapat migrálásához",
"organization_has_subscription_already": "A szervezetnek már van előfizetése",
"reset_interval_weighted_rr": "Súlyozott körforgó intervallum visszaállítása",
"interval": "Időköz",
"rr_reset_interval_description": "Meghatározza, hogy milyen gyakran állítódik vissza a round robin foglalások számlálója a kiegyensúlyozott elosztás érdekében.",
"daily": "Naponta",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Már létezik fordított átirányítás ezen felhasználók között.",
"previous_ooo_empty_title": "Nem található korábbi Irodán Kívül",
"previous": "Előző",
"rr_interval_successfully_updated": "Körforgó intervallum sikeresen frissítve",
"trial_mode": "Próba üzemmód",
"inactive_team_plan": "Inaktív csapat előfizetés",
"inactive_team_plan_description": "Az Ön csapat előfizetése inaktív. Ellenőrizze előfizetését vagy vegye fel a kapcsolatot az ügyfélszolgálattal",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Még nincs csapatod",
"no_team_members": "Még nincsenek csapattagjaid",
"recurring_event_doesnt_support_seats": "Az ismétlődő esemény nem támogatja a helyek funkciót. Állítsa be nem ismétlődőre a helyek engedélyezéséhez.",
"booking_limit_per_booker_doesnt_support_recurring": "Az ismétlődő esemény nem támogatja a foglalónkénti foglalási limit funkciót. Kapcsolja ki a foglalónkénti foglalási limitet az ismétlődő esemény engedélyezéséhez.",
"seats_doesnt_support_recurring": "A helyek funkció nem támogatja az ismétlődő eseményeket. Kapcsolja ki a helyek funkciót az ismétlődés engedélyezéséhez.",
"recurring_event_seats_error": "Az ismétlődő esemény nem támogatja a helyek funkciót. Kapcsolja ki a helyek funkciót vagy állítsa be nem ismétlődőre az eseményt.",
"segment": "Szegmens",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Delegálási hitelesítő adat engedélyezése",
"enable_delegation_credential_description": "Adjon automatikus hozzáférést a Cal.com számára a szervezet összes tagjának naptárához a delegálási hitelesítő adat engedélyezésével.",
"disable_delegation_credential": "Delegálási hitelesítő adat letiltása",
"disable_delegation_credential_description": "A delegálási hitelesítő adat letiltása után a szervezet azon tagjainak, akik még nem csatlakoztatták naptáraikat, manuálisan kell ezt megtenniük.",
"disable_delegation_credential_description": "Ha a delegálási hitelesítő adatok le vannak tiltva, a szervezet azon tagjainak, akik még nem csatlakoztatták naptáraikat, manuálisan kell ezt megtenniük.",
"last_active": "Utoljára aktív",
"member_since": "Tag mióta",
"last_updated": "Utoljára frissítve",
@@ -3202,10 +3233,131 @@
"matching": "Egyeztetés",
"event_redirect": "Esemény átirányítás",
"reset_form": "Űrlap visszaállítása",
"rr_settings_successfully_updated": "Körforgó beállítások sikeresen frissítve",
"distribution_basis_weighted_rr": "Súlyozott körforgó elosztási alapja",
"timestamp_basis_description": "Meghatározza, hogy melyik esemény időbélyegét használja a súlyozott körforgó elosztás alapjaként.",
"requires_credits": "Krediteket igényel",
"requires_credits_tooltip": "Ehhez a funkcióhoz elegendő kredittel kell rendelkezned a fiókodban",
"available_credits": "Elérhető kreditek",
"create_role": "Szerepkör létrehozása",
"roles_and_permissions": "Szerepkörök és jogosultságok",
"roles_and_permissions_description": "Kezelje szervezete szerepköreit és jogosultságait",
"learn_more_permissions": "Tudjon meg többet a jogosultságok működéséről",
"role_name": "Szerepkör neve",
"role_name_placeholder": "pl. Értékesítési csapat, Ügyfélszolgálat",
"role_description": "Szerepkör leírása",
"role_description_placeholder": "Írja le, mire szolgál ez a szerepkör és milyen jogosultságokra van szüksége",
"default_role": "Alapértelmezett szerepkör",
"custom_role": "Egyéni szerepkör",
"advanced": "Haladó",
"search_permissions": "Engedélyek keresése",
"all_permissions": "Minden engedély",
"none": "Nincs",
"read_only": "Csak olvasás",
"pbac_desc_all_actions_all_resources": "Minden művelet minden erőforráson",
"pbac_resource_all": "Minden erőforrás",
"pbac_resource_event_type": "Eseménytípusok",
"pbac_resource_team": "Csapatok",
"pbac_resource_organization": "Szervezet",
"pbac_resource_booking": "Foglalások",
"pbac_resource_insights": "Betekintések",
"pbac_resource_role": "Szerepkörök",
"pbac_action_all": "Minden művelet",
"pbac_action_create": "Létrehozás",
"pbac_action_read": "Megtekintés",
"pbac_action_update": "Szerkesztés",
"pbac_action_delete": "Törlés",
"pbac_action_manage": "Kezelés",
"pbac_action_invite": "Meghívás",
"pbac_action_remove": "Eltávolítás",
"pbac_action_change_member_role": "Tag szerepkörének módosítása",
"pbac_action_list_members": "Tagok listázása",
"pbac_action_manage_billing": "Számlázás kezelése",
"pbac_action_read_team_bookings": "Csapat foglalásainak megtekintése",
"pbac_action_read_org_bookings": "Szervezet foglalásainak megtekintése",
"pbac_action_read_recordings": "Felvételek megtekintése",
"role_created_successfully": "Szerepkör sikeresen létrehozva",
"role_updated_successfully": "Szerepkör sikeresen frissítve",
"delete_role": "Szerepkör törlése",
"confirm_delete_role": "Biztosan törölni szeretné ezt a szerepkört? Ez a művelet nem vonható vissza.",
"role_deleted_successfully": "Szerepkör sikeresen törölve",
"error_creating_role": "Hiba történt a szerepkör létrehozásakor",
"error_updating_role": "Hiba történt a szerepkör frissítésekor",
"pbac_desc_create_roles": "Szerepkörök létrehozása",
"pbac_desc_view_roles": "Szerepkörök megtekintése",
"pbac_desc_update_roles": "Szerepkörök frissítése",
"pbac_desc_delete_roles": "Szerepkörök törlése",
"pbac_desc_manage_roles": "Minden művelet a szerepkörökön",
"pbac_desc_create_event_types": "Eseménytípusok létrehozása",
"pbac_desc_view_event_types": "Eseménytípusok megtekintése",
"pbac_desc_update_event_types": "Eseménytípusok frissítése",
"pbac_desc_delete_event_types": "Eseménytípusok törlése",
"pbac_desc_manage_event_types": "Minden művelet az eseménytípusokon",
"pbac_desc_create_teams": "Csapatok létrehozása",
"pbac_desc_view_team_details": "Csapat részleteinek megtekintése",
"pbac_desc_update_team_settings": "Csapat beállításainak frissítése",
"pbac_desc_delete_team": "Csapat törlése",
"pbac_desc_invite_team_members": "Csapattagok meghívása",
"pbac_desc_remove_team_members": "Csapattagok eltávolítása",
"pbac_desc_change_team_member_role": "Csapattagok szerepkörének módosítása",
"pbac_desc_manage_teams": "Minden művelet a csapatokon",
"pbac_desc_create_organization": "Szervezet létrehozása",
"pbac_desc_view_organization_details": "Szervezeti adatok megtekintése",
"pbac_desc_list_organization_members": "Szervezeti tagok listázása",
"pbac_desc_invite_organization_members": "Szervezeti tagok meghívása",
"pbac_desc_remove_organization_members": "Szervezeti tagok eltávolítása",
"pbac_desc_manage_organization_billing": "Szervezeti számlázás kezelése",
"pbac_desc_change_organization_member_role": "Szervezeti tagok szerepkörének módosítása",
"pbac_desc_edit_organization_settings": "Szervezeti beállítások szerkesztése",
"pbac_desc_manage_organizations": "Minden művelet a szervezeteken",
"pbac_desc_view_bookings": "Foglalások megtekintése",
"pbac_desc_view_team_bookings": "Csapat foglalásainak megtekintése",
"pbac_desc_view_organization_bookings": "Szervezeti foglalások megtekintése",
"pbac_desc_view_booking_recordings": "Foglalási felvételek megtekintése",
"pbac_desc_update_bookings": "Foglalások frissítése",
"pbac_desc_manage_bookings": "Minden művelet a foglalásokon",
"pbac_desc_view_team_insights": "Csapat elemzéseinek megtekintése",
"pbac_desc_manage_team_insights": "Csapat elemzéseinek kezelése",
"read_permission_auto_enabled_tooltip": "Az olvasási jogosultság automatikusan engedélyezve van erőforrás létrehozásakor, frissítésekor vagy törlésekor",
"choose_restriction_schedule": "Korlátozási ütemterv hozzáadása",
"choose_restriction_schedule_description": "Engedélyezze ezt, ha korlátozni szeretné a házigazdák elérhetőségét ehhez az eseménytípushoz egy korlátozási ütemterv alapján. Ez csak azokat az időpontokat távolítja el, amelyek nincsenek a korlátozási ütemtervben, nem ad hozzá új időpontokat.",
"use_booker_timezone": "Foglaló időzónájának használata",
"use_booker_timezone_info": "A kiválasztott korlátozási ütemterv alkalmazása a foglaló időzónájában",
"load_balancing_warning": "Ez letiltja a terheléselosztást az összes round robin eseménytípusán",
"rr_load_balancing_disabled": "A terheléselosztás csak akkor érhető el, ha az időbélyeg alapja a foglalás létrehozási ideje",
"round_robin_settings_description": "Testreszabhatja az alapértelmezett körforgó beállításokat ehhez a csapathoz",
"round_robin_settings_updated_successfully": "A körforgó beállítások sikeresen frissítve",
"booking_creation_time": "Foglalás létrehozásának ideje",
"meeting_start_time": "Találkozó kezdési ideje",
"members_affected_by_disabling_delegation_credential": "Érintett tagok",
"no_members_affected_by_disabling_delegation_credential": "Nincsenek tagok, akiket érintene a delegálási hitelesítő adatok letiltása",
"download_expense_log": "Költségnapló letöltése",
"error_downloading_expense_log": "Hiba történt a költségnapló letöltése közben",
"offer_to_reschedule_last_booking": "Ajánlja fel az utolsó aktív foglalás átütemezését a választott időpontra",
"booker_limit_exceeded_error": "A foglaló maximális aktív foglalási limitje túllépve",
"booker_limit_exceeded_error_reschedule": "Már van foglalásod erre az eseményre {{date}} napon. Szeretnéd átütemezni az új kiválasztott időpontra?",
"duration_min_error": "Az időtartamnak legalább {{min}} percnek kell lennie",
"duration_max_error": "Az időtartam nem haladhatja meg a {{max}} percet (24 óra)",
"booking_not_allowed_by_restriction_schedule_error": "A foglalás a korlátozási ütemterven kívül esik.",
"restriction_schedule_not_found_error": "Korlátozási ütemterv nem található",
"converted_image_size_limit_exceed": "A kép mérete túllépte a limitet, kérjük használjon kisebb képet, lehetőleg JPEG formátumban",
"license_key": "Licenckulcs",
"license_selection_title": "Válassza ki a licencét",
"license_selection_description": "Válassza ki, hogyan szeretné licencelni a Cal.com telepítését",
"agplv3_license_description": "Használja a Cal.com-ot az AGPLv3 nyílt forráskódú licenc alatt",
"enter_license_key": "Licenckulcs megadása",
"enter_your_license_key": "Hozzáférés minden vállalati funkcióhoz",
"enter_existing_license": "Kezdve 15 $/felhasználó havonta",
"enter_license_key_description": "Hozzáférés minden vállalati funkcióhoz",
"license_key_placeholder": "Adja meg a licenckulcsát",
"save_license_key": "Licenckulcs mentése",
"signature_token_optional": "Aláírási token (opcionális)",
"signature_token_description": "Az aláírási token segítségével ellenőrizhető, hogy a licenckulcs valóban az Öné, amikor a használat alapú számlázást növeli. Ezt a vásárlást megerősítő e-mailben találja meg. Ha régebbi licenccel rendelkezik, ezt a mezőt üresen hagyhatja.",
"need_a_license": "Szüksége van licencre?",
"license_key_required": "Licenckulcs megadása kötelező",
"invalid_license_key": "Érvénytelen licenckulcs",
"license_validation_failed": "Nem sikerült érvényesíteni a licenckulcsot",
"license_key_saved": "A licenckulcs sikeresen mentve",
"timezone_mismatch_tooltip": "A jelentést az Ön profiljában beállított időzóna ({{userTimezone}}) alapján tekinti meg, míg a böngészője a következő időzónára van állítva: {{browserTimezone}}",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Adja hozzá az új karakterláncokat fent ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+175 -23
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Personalizza impostazioni Cal Video",
"calvideo_settings_description": "Configura le preferenze per le riunioni video, incluse le autorizzazioni di registrazione per host e partecipanti.",
"disable_recording_for_guests": "Disabilita registrazione per gli ospiti",
"enable_automatic_transcription": "Abilita la trascrizione automatica dopo l'ingresso alla riunione",
"video_options": "Opzioni video",
"get_meeting_session_details": "Ottieni dettagli della sessione di riunione",
"meeting_session_details": "Dettagli della sessione di riunione",
"meeting_session": "Sessione di riunione",
"session_id": "ID sessione",
"max_participants": "Numero massimo di partecipanti",
"unlimited": "Illimitato",
"ongoing": "In corso",
"ended": "Terminata",
"participants": "Partecipanti",
"anonymous_user": "Utente anonimo",
"session_duration": "Durata della sessione",
"no_meeting_sessions_found": "Nessuna sessione di riunione trovata",
"not_available": "Non disponibile",
"disable_recording_for_organizer": "Disabilita registrazione per l'organizzatore",
"disable_transcription_for_guests": "Disabilita la trascrizione per gli ospiti",
"disable_transcription_for_organizer": "Disabilita la trascrizione per l'organizzatore",
"event_request_declined_recurring": "La tua richiesta per l'evento ricorrente è stata rifiutata",
"event_request_cancelled": "Il tuo evento programmato è stato cancellato",
"event_request_reassigned": "Il tuo evento programmato è stato riassegnato",
@@ -264,6 +281,8 @@
"guests": "Ospiti",
"guest": "Ospite",
"web_conferencing_details_to_follow": "Dettagli della conferenza web da seguire.",
"confirmation": "Conferma",
"what_booker_should_provide": "Cosa deve fornire chi prenota per ricevere le conferme",
"404_the_user": "Il nome utente",
"username": "Username",
"is_still_available": "è ancora disponibile.",
@@ -331,7 +350,7 @@
"organization_general_description": "Gestisci le impostazioni della lingua e del fuso orario per il tuo team",
"few_sentences_about_yourself": "Alcune frasi su di te. Questo apparirà sulla tua pagina url personale.",
"nearly_there": "Ci siamo quasi",
"nearly_there_instructions": "Infine: qualche informazione su di te e una foto sono utili per ottenere prenotazioni e per far capire alle persone con chi stanno prenotando.",
"nearly_there_instructions": "Ultima cosa, una breve descrizione su di te e una foto aiutano davvero a ottenere prenotazioni e a far sapere alle persone con chi stanno prenotando.",
"set_availability_instructions": "Definisci intervalli di tempo di quando sei disponibile su una base ricorrente. Puoi crearne di più in seguito e assegnarli a calendari diversi.",
"set_availability": "Imposta la tua disponibilità",
"set_availbility_description": "Programma gli orari in cui vuoi essere prenotato.",
@@ -343,14 +362,14 @@
"connect_your_calendar": "Collega il tuo calendario",
"connect_your_video_app": "Collega le tue applicazioni video",
"connect_your_video_app_instructions": "Collega le tue applicazioni video per utilizzarle per i tuoi tipi di evento.",
"connect_your_calendar_instructions": "Collega il tuo calendario per controllare automaticamente gli orari occupati e i nuovi eventi appena vengono pianificati.",
"connect_your_calendar_instructions": "Collega il tuo calendario per verificare automaticamente gli orari occupati e i nuovi eventi man mano che vengono programmati.",
"set_up_later": "Configura più tardi",
"current_time": "Orario corrente",
"details": "Dettagli",
"welcome": "Benvenuto",
"welcome_back": "Bentornato",
"welcome_to_calcom": "Benvenuto in {{appName}}",
"welcome_instructions": "Dimmi come chiamarti e facci sapere in che timezone sei. Potrai cambiarlo dopo.",
"welcome_instructions": "Dicci come vuoi essere chiamato e facci sapere in quale fuso orario ti trovi. Potrai modificare queste informazioni in seguito.",
"connect_caldav": "Connetti al server CalDav",
"connect_ics_feed": "Collega a un feed ICS",
"connect": "Connetti",
@@ -361,7 +380,7 @@
"when": "Quando",
"where": "Dove",
"add_to_calendar": "Aggiungi al calendario",
"add_to_calendar_description": "Seleziona dove aggiungere eventi quando c'è una prenotazione.",
"add_to_calendar_description": "Seleziona dove aggiungere gli eventi quando vieni prenotato.",
"add_events_to": "Aggiungi eventi a",
"add_another_calendar": "Aggiungi un altro calendario",
"other": "Altro",
@@ -1153,6 +1172,7 @@
"test_failed": "Prova non superata",
"provide_api_key": "Fornisci chiave API",
"api_key_modal_subtitle": "Le chiavi API consentono di effettuare chiamate API per il proprio account.",
"api_key_modal_subtitle_platform": "Crea invece un marketplace o una piattaforma.",
"api_keys_subtitle": "Genera chiavi API da usare per accedere al tuo account.",
"create_api_key": "Crea una chiave API",
"personal_note": "Assegna un nome a questa chiave",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "Revoca questa chiave API",
"disable_rescheduling": "Disabilita riprogrammazione",
"description_disable_rescheduling": "Gli ospiti non possono più riprogrammare l'evento tramite invito di calendario o email",
"allow_rescheduling_cancelled_bookings": "Consenti la prenotazione tramite link di riprogrammazione",
"description_allow_rescheduling_cancelled_bookings": "Quando abilitato, gli utenti potranno creare una nuova prenotazione quando tentano di riprogrammare una prenotazione annullata",
"disable_cancelling": "Disabilita cancellazione",
"description_disable_cancelling": "Gli ospiti non possono più cancellare l'evento tramite invito di calendario o email",
"revoke_api_key": "Revoca chiave API",
@@ -1572,7 +1594,7 @@
"location_info": "Luogo dell'evento",
"additional_notes_info": "Note aggiuntive sulla prenotazione",
"attendee_name_info": "Nome del partecipante",
"organizer_name_info": "Nome organizzatore",
"organizer_name_info": "Nome dell'organizzatore",
"to": "A",
"workflow_turned_on_successfully": "Il flusso di lavoro {{workflowName}} è stato impostato come {{offOn}}",
"download_responses": "Scarica risposte",
@@ -1613,7 +1635,7 @@
"workflow_example_6": "Invia all'organizzatore un SMS personalizzato quando viene prenotato un nuovo evento",
"count_managed_to_limit": "Includi i conteggi delle prenotazioni dai tipi di eventi gestiti",
"welcome_to_cal_header": "Benvenuto in {{appName}}!",
"edit_form_later_subtitle": "Potrai fare delle modifiche in un secondo tempo.",
"edit_form_later_subtitle": "Potrai modificarlo in seguito.",
"connect_calendar_later": "Connetterò il mio calendario più tardi",
"problem_saving_user_profile": "Si è verificato un problema durante il salvataggio dei dati. Riprova o contatta l'assistenza clienti.",
"purchase_missing_seats": "Acquista posti mancanti",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "Le chiavi API consentono alle altre applicazioni di comunicare con {{appName}}",
"back_to_signin": "Torna alla pagina di accesso",
"reset_link_sent": "Link per la reimpostazione inviato",
"password_reset_email": "Un'e-mail con le istruzioni per reimpostare la password è stata inviata all'indirizzo {{email}}.",
"password_reset_email": "Un'email è in arrivo a {{email}} con le istruzioni per reimpostare la password.",
"password_reset_leading": "Se un'e-mail non ti dovesse arrivare a breve, assicurati che l'indirizzo specificato sia corretto e controlla la cartella della posta indesiderata. Se il problema persiste, contatta l'assistenza clienti.",
"password_updated": "Password aggiornata!",
"pending_payment": "Pagamento in sospeso",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "Questo limiterà la tua disponibilità per questo tipo di evento a uno slot al giorno, programmato al primo orario disponibile.",
"limit_total_booking_duration": "Limita durata totale prenotazione",
"limit_total_booking_duration_description": "Indicare la quantità di tempo totale disponibile per prenotare questo evento",
"booker_booking_limit": "Limite di prenotazioni attive per il prenotante",
"booker_booking_limit_description": "Limita il numero di prenotazioni attive che un prenotante può effettuare per questo tipo di evento",
"recurring_event_doesnt_support_booker_booking_limit": "Gli eventi ricorrenti non supportano il limite di prenotazioni per il prenotante",
"add_limit": "Aggiungi limite",
"team_name_required": "Nome del team richiesto",
"show_attendees": "Condividi le informazioni dei partecipanti tra gli ospiti",
"show_available_seats_count": "Mostra il numero di posti disponibili",
"how_booking_questions_as_variables": "Come utilizzare le domande poste nella pagina di prenotazione come variabili?",
"format": "Formato",
"questions": "Domande",
"all_info_your_booker_provide": "Tutte le informazioni che il tuo prenotante dovrebbe fornire prima di prenotare con te.",
"uppercase_for_letters": "Usa tutte lettere maiuscole",
"replace_whitespaces_underscores": "Sostituisci spazi con sottolineature",
"platform_members": "Membri della piattaforma",
@@ -1967,12 +1994,12 @@
"delete_sso_configuration_confirmation_description": "Eliminare la configurazione {{connectionType}}? I membri del tuo team che utilizzano l'accesso {{connectionType}} non saranno più in grado di accedere a Cal.com.",
"organizer_timezone": "Fuso orario organizzatore",
"email_user_cta": "Visualizza invito",
"email_no_user_invite_heading_subteam": "Sei stato invitato a partecipare a un team dell'organizzazione {{parentTeamName}}",
"email_no_user_invite_heading_org": "Hai ricevuto un invito a entrare a far parte dell'organizzazione {{appName}}",
"email_no_user_invite_heading_subteam": "Sei stato invitato a unirti a un team dell'organizzazione {{parentTeamName}}",
"email_no_user_invite_heading_org": "Sei stato invitato a unirti a un'organizzazione {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} ti ha invitato a unirti al suo team su {{appName}}. {{appName}} è uno strumento di pianificazione di eventi che permette al tuo team di pianificare le riunioni senza scambiare decine di e-mail.",
"email_user_invite_subheading_subteam": "{{invitedBy}} ti ha invitato a entrare nel team {{teamName}} della sua organizzazione {{parentTeamName}} su {{appName}}. {{appName}} è lo strumento di programmazione degli eventi che consente a te e al tuo team di programmare riunioni senza lo scambio di infinite email.",
"email_user_invite_subheading_org": "{{invitedBy}} ti ha invitato a unirti alla sua organizzazione `{{teamName}}` su {{appName}}. {{appName}} è uno strumento di pianificazione di eventi che permette a te e alla tua organizzazione di pianificare le riunioni senza scambiare decine di e-mail.",
"email_no_user_invite_steps_intro": "Ti assisteremo nei passaggi iniziali e potrai rapidamente pianificare eventi per il/la {{entity}} senza fatica.",
"email_no_user_invite_steps_intro": "Ti guideremo attraverso alcuni brevi passaggi e potrai goderti la pianificazione senza stress con la tua {{entity}} in pochissimo tempo.",
"email_no_user_step_one": "Scegli il tuo nome utente",
"email_no_user_step_two": "Collega il tuo account di calendario",
"email_no_user_step_three": "Imposta la tua disponibilità",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Prendi decisioni informate con Insights",
"make_informed_decisions_description": "Il pannello di controllo Insights offre una panoramica di tutte le attività del team e mostra le tendenze, il che consente di migliorare la pianificazione di gruppo e il processo decisionale.",
"view_bookings_across": "Visualizza le prenotazioni di tutti i membri",
"view_bookings_across_description": "Individua la persona che riceve il maggior numero di prenotazioni e assicura la migliore distribuzione delle prenotazioni all'interno del team",
"view_bookings_across_description": "Vedi chi riceve più prenotazioni e assicura la migliore distribuzione nel tuo team",
"identify_booking_trends": "Identifica le tendenze di prenotazione",
"identify_booking_trends_description": "Scopri quali giorni della settimana e quali fasce orarie sono popolari tra le persone che prenotano",
"spot_popular_event_types": "Individua i tipi di evento popolari",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "Nessun dato trovato per il filtro selezionato o le date selezionate.",
"acknowledge_booking_no_show_fee": "Confermo che in caso di mia mancata partecipazione a questo evento, una penale per mancata presentazione di {{amount, currency}} verrà addebitata sulla mia carta.",
"card_details": "Dati della carta",
"something_went_wrong_on_our_end": "Si è verificato un problema dal lato nostro. Contatta il nostro team di supporto e provvederemo subito a risolverlo.",
"something_went_wrong_on_our_end": "Qualcosa è andato storto da parte nostra. Contatta il nostro team di supporto e risolveremo il problema immediatamente per te.",
"please_provide_following_text_to_suppport": "Fornisci il seguente testo quando contatterai il team di supporto per permeterci di aiutarti meglio",
"seats_and_no_show_fee_error": "Attualmente non è possibile abilitare i posti e addebitare la penale per mancata presentazione",
"complete_your_booking": "Completa la prenotazione",
@@ -2276,7 +2303,7 @@
"messaging": "Messaggistica",
"sender_id_info": "Nome o numero mostrato come mittente di un SMS (alcuni paesi non consentono ID alfanumerici dei mittenti)",
"org_admins_can_create_new_teams": "Solo l'amministratore della tua organizzazione può creare nuovi team",
"google_new_spam_policy": "Le nuove norme sullo spam di Google potrebbero impedirti di ricevere email e notifiche di calendario in merito a questa prenotazione.",
"google_new_spam_policy": "La nuova politica anti-spam di Google potrebbe impedirti di ricevere email e notifiche di calendario relative a questa prenotazione.",
"resolve": "Risolvi",
"no_organization_slug": "Si è verificato un errore durante la creazione dei team per questa organizzazione. Slug URL mancante.",
"copy_link_org": "Copia link all'organizzazione",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "La credenziale di delega ti permette di gestire l'accesso ai calendari di Google Workspace per la tua organizzazione.",
"add_client_id_in_google_workspace_with_below_scope": "Aggiungi questo Client Id in Google Workspace con lo scope indicato sotto",
"delegation_credential_enabled": "Credenziale di delega abilitata",
"delegation_credential_disabled": "Credenziale di delega disabilitata",
"add_delegation_credential": "Aggiungi credenziale di delega",
"edit_delegation_credential": "Modifica credenziale di delega",
"domain": "Dominio",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "Visualizza gli eventi del tuo calendario per prevenire prenotazioni in conflitto.",
"join_event_location": "Partecipa a {{eventLocationType}}",
"troubleshooting": "Risoluzione problemi",
"calendars_were_checking_for_conflicts": "Calendari in cui stiamo cercando possibili conflitti",
"calendars_were_checking_for_conflicts": "Calendari che stiamo controllando per conflitti",
"availabilty_schedules": "Programmi di disponibilità",
"manage_calendars": "Gestisci calendari",
"manage_availability_schedules": "Gestisci programmi di disponibilità",
@@ -2582,7 +2608,7 @@
"date": "Data",
"overlaps_with_existing_schedule": "Si sovrappone con un altro programma. Seleziona una data diversa.",
"org_admin_no_slots|heading": "Nessuna disponibilità trovata per {{name}}",
"org_admin_no_slots|content": "Gentili amministratori,<br /><br />vi preghiamo di notare: ci è stato segnalato che {{username}} non aveva alcuna disponibilità quando un utente ha visitato {{username}}/{{slug}}<br /><br />Le possibili ragioni di ciò sono le seguenti<br />L'utente non ha calendari collegati<br />Le sue pianificazioni collegate a questo evento non sono abilitate<br /> <br />Vi invitiamo di controllare la sua disponibilità per risolvere il problema.",
"org_admin_no_slots|content": "Salve Amministratori dell'Organizzazione,<br /><br />Vi informiamo che: è stato portato alla nostra attenzione che {{username}} non ha avuto disponibilità quando un utente ha visitato {{username}}/{{slug}}<br /><br />Ci sono alcuni motivi per cui questo potrebbe accadere<br />L'utente non ha calendari collegati<br />I suoi orari associati a questo evento non sono abilitati<br /> <br />Consigliamo di controllare la sua disponibilità per risolvere questo problema.",
"org_admin_no_slots|cta": "Apri disponibilità utenti",
"organization_no_slots_notification_switch_title": "Ricevi una notifica quando il tuo team non ha disponibilità",
"organization_no_slots_notification_switch_description": "Gli amministratori riceveranno una notifica via email quando un utente cerca di prenotare un membro del team e riceve il messaggio \"Nessuna disponibilità\". Questa email viene attivata dopo due casi, e riceverai un promemoria ogni 7 giorni per ciascun utente. ",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "{{user}} ti ha invitato nell'organizzazione {{team}} su {{appName}}",
"email_team_invite|subject|added_to_subteam": "{{user}} ti ha inserito nel team {{team}} dell'organizzazione {{parentTeamName}} su {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "{{user}} ti ha invitato a unirti alla squadra {{team}} su {{appName}}",
"email_team_invite|heading|added_to_org": "Sei stato inserito in un'organizzazione su {{appName}}",
"email_team_invite|heading|invited_to_org": "Sei stato invitato in un'organizzazione su {{appName}}",
"email_team_invite|heading|added_to_subteam": "Sei stato inserito in un team dell'organizzazione {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Sei stato invitato in un team dell'organizzazione {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "Hai ricevuto un invito a entrare a far parte del team di {{appName}}",
"email_team_invite|heading|added_to_org": "Sei stato aggiunto a un'organizzazione {{appName}}",
"email_team_invite|heading|invited_to_org": "Sei stato invitato a un'organizzazione {{appName}}",
"email_team_invite|heading|added_to_subteam": "Sei stato aggiunto a un team dell'organizzazione {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "Sei stato invitato a un team dell'organizzazione {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "Sei stato invitato a unirti a un team {{appName}}",
"email_team_invite|content|added_to_org": "{{invitedBy}} ti ha inserito nell'organizzazione <strong>{{teamName}}</strong>.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} ti ha invitato nell'organizzazione {{teamName}}.",
"email_team_invite|subject|invited_to_subteam": "{{user}} ti ha invitato a unirti al team {{team}} dell'organizzazione {{parentTeamName}} su {{appName}}",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "Limita quante volte i membri possono essere prenotati su tutti i tipi di eventi del team",
"booking_limits_updated_successfully": "Limiti di prenotazione aggiornati con successo",
"you_are_unauthorized_to_make_this_change_to_the_booking": "Non sei autorizzato a effettuare questa modifica alla prenotazione",
"delegation_credential_disabled": "Credenziale di delega disabilitata",
"matching_members": "Membri corrispondenti",
"x_matching_members": "{{x}} membri corrispondenti",
"matching_members_queue_using_attribute_weights": "Coda di membri corrispondenti (utilizzando i pesi degli attributi)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "Sì, riassegna",
"filter_by_attributes": "Filtra per attributi",
"reassign_reason": "Motivo della riassegnazione",
"field_type_change_suggestion": "La modifica del tipo di campo potrebbe causare perdita di dati. Si consiglia di creare un nuovo campo.",
"reassigned_by": "Riassegnato da",
"row": "riga",
"rows": "righe",
@@ -2902,7 +2930,7 @@
"routed_to_per_period": "Instradamenti per periodo",
"per_day": "Al giorno",
"per_week": "A settimana",
"per_month": "al mese",
"per_month": "Al mese",
"routing_form_insights_assignment_reason": "Motivo dell'assegnazione",
"access_denied": "Accesso negato",
"salesforce_route_to_owner": "Il proprietario del contatto sarà l'host del Round Robin se disponibile",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "Non hai il permesso di creare un'organizzazione per questa email",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "Non hai il permesso di migrare uno o più team",
"organization_has_subscription_already": "L'organizzazione ha già un abbonamento",
"reset_interval_weighted_rr": "Intervallo di reset per Round Robin ponderato",
"interval": "Intervallo",
"rr_reset_interval_description": "Determina la frequenza con cui il conteggio delle prenotazioni round robin viene azzerato per garantire una distribuzione equilibrata.",
"daily": "Giornaliero",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "Esiste già un reindirizzamento inverso tra questi utenti.",
"previous_ooo_empty_title": "Nessuna assenza precedente trovata",
"previous": "Precedente",
"rr_interval_successfully_updated": "Intervallo Round Robin aggiornato con successo",
"trial_mode": "Modalità di prova",
"inactive_team_plan": "Piano team inattivo",
"inactive_team_plan_description": "Il tuo piano team è inattivo. Controlla il tuo abbonamento o contatta l'assistenza clienti",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "Non hai ancora un team",
"no_team_members": "Non hai ancora membri del team",
"recurring_event_doesnt_support_seats": "L'evento ricorrente non supporta la funzionalità dei posti. Rendilo non ricorrente per abilitare i posti.",
"booking_limit_per_booker_doesnt_support_recurring": "L'evento ricorrente non supporta la funzionalità di limite di prenotazione per prenotatore. Disabilita il limite di prenotazione per prenotatore per abilitare l'evento ricorrente.",
"seats_doesnt_support_recurring": "La funzionalità dei posti non supporta eventi ricorrenti. Disabilita la funzionalità dei posti per renderlo ricorrente.",
"recurring_event_seats_error": "L'evento ricorrente non supporta la funzionalità dei posti. Disabilita la funzionalità dei posti o rendi l'evento non ricorrente.",
"segment": "Segmento",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "Abilita credenziale di delega",
"enable_delegation_credential_description": "Concedi a Cal.com l'accesso automatico ai calendari di tutti i membri dell'organizzazione abilitando la credenziale di delega.",
"disable_delegation_credential": "Disabilita credenziale di delega",
"disable_delegation_credential_description": "Una volta disabilitata la credenziale di delega, i membri dell'organizzazione che non hanno collegato i loro calendari dovranno farlo manualmente.",
"disable_delegation_credential_description": "Una volta disabilitata la credenziale di delega, i membri dell'organizzazione che non hanno collegato i propri calendari dovranno farlo manualmente.",
"last_active": "Ultima attività",
"member_since": "Membro dal",
"last_updated": "Ultimo aggiornamento",
@@ -3202,10 +3233,131 @@
"matching": "Corrispondenza",
"event_redirect": "Reindirizzamento evento",
"reset_form": "Reimposta modulo",
"rr_settings_successfully_updated": "Impostazioni Round Robin aggiornate con successo",
"distribution_basis_weighted_rr": "Base di distribuzione per Round Robin ponderato",
"timestamp_basis_description": "Determina quale timestamp dell'evento viene utilizzato come base per la distribuzione Round Robin ponderata.",
"requires_credits": "Richiede crediti",
"requires_credits_tooltip": "Devi avere abbastanza crediti nel tuo account per utilizzare questa funzionalità",
"available_credits": "Crediti disponibili",
"create_role": "Crea ruolo",
"roles_and_permissions": "Ruoli e permessi",
"roles_and_permissions_description": "Gestisci ruoli e permessi per la tua organizzazione",
"learn_more_permissions": "Scopri di più su come funzionano i permessi",
"role_name": "Nome del ruolo",
"role_name_placeholder": "es. Team vendite, Staff di supporto",
"role_description": "Descrizione del ruolo",
"role_description_placeholder": "Descrivi a cosa serve questo ruolo e quali permessi necessita",
"default_role": "Ruolo predefinito",
"custom_role": "Ruolo personalizzato",
"advanced": "Avanzate",
"search_permissions": "Cerca autorizzazioni",
"all_permissions": "Tutte le autorizzazioni",
"none": "Nessuna",
"read_only": "Sola lettura",
"pbac_desc_all_actions_all_resources": "Tutte le azioni su tutte le risorse",
"pbac_resource_all": "Tutte le risorse",
"pbac_resource_event_type": "Tipi di evento",
"pbac_resource_team": "Team",
"pbac_resource_organization": "Organizzazione",
"pbac_resource_booking": "Prenotazioni",
"pbac_resource_insights": "Approfondimenti",
"pbac_resource_role": "Ruoli",
"pbac_action_all": "Tutte le azioni",
"pbac_action_create": "Crea",
"pbac_action_read": "Visualizza",
"pbac_action_update": "Modifica",
"pbac_action_delete": "Elimina",
"pbac_action_manage": "Gestisci",
"pbac_action_invite": "Invita",
"pbac_action_remove": "Rimuovi",
"pbac_action_change_member_role": "Cambia ruolo membro",
"pbac_action_list_members": "Elenca membri",
"pbac_action_manage_billing": "Gestisci fatturazione",
"pbac_action_read_team_bookings": "Visualizza prenotazioni del team",
"pbac_action_read_org_bookings": "Visualizza prenotazioni dell'organizzazione",
"pbac_action_read_recordings": "Visualizza registrazioni",
"role_created_successfully": "Ruolo creato con successo",
"role_updated_successfully": "Ruolo aggiornato con successo",
"delete_role": "Elimina ruolo",
"confirm_delete_role": "Sei sicuro di voler eliminare questo ruolo? Questa azione non può essere annullata.",
"role_deleted_successfully": "Ruolo eliminato con successo",
"error_creating_role": "Errore durante la creazione del ruolo",
"error_updating_role": "Errore durante l'aggiornamento del ruolo",
"pbac_desc_create_roles": "Crea ruoli",
"pbac_desc_view_roles": "Visualizza ruoli",
"pbac_desc_update_roles": "Aggiorna ruoli",
"pbac_desc_delete_roles": "Elimina ruoli",
"pbac_desc_manage_roles": "Tutte le azioni sui ruoli",
"pbac_desc_create_event_types": "Crea tipi di evento",
"pbac_desc_view_event_types": "Visualizza tipi di evento",
"pbac_desc_update_event_types": "Aggiorna tipi di evento",
"pbac_desc_delete_event_types": "Elimina tipi di evento",
"pbac_desc_manage_event_types": "Tutte le azioni sui tipi di evento",
"pbac_desc_create_teams": "Crea team",
"pbac_desc_view_team_details": "Visualizza dettagli del team",
"pbac_desc_update_team_settings": "Aggiorna impostazioni del team",
"pbac_desc_delete_team": "Elimina team",
"pbac_desc_invite_team_members": "Invita membri del team",
"pbac_desc_remove_team_members": "Rimuovi membri del team",
"pbac_desc_change_team_member_role": "Cambia ruolo dei membri del team",
"pbac_desc_manage_teams": "Tutte le azioni sui team",
"pbac_desc_create_organization": "Crea organizzazione",
"pbac_desc_view_organization_details": "Visualizza dettagli dell'organizzazione",
"pbac_desc_list_organization_members": "Elenca membri dell'organizzazione",
"pbac_desc_invite_organization_members": "Invita membri dell'organizzazione",
"pbac_desc_remove_organization_members": "Rimuovi membri dell'organizzazione",
"pbac_desc_manage_organization_billing": "Gestisci fatturazione dell'organizzazione",
"pbac_desc_change_organization_member_role": "Cambia ruolo dei membri dell'organizzazione",
"pbac_desc_edit_organization_settings": "Modifica impostazioni dell'organizzazione",
"pbac_desc_manage_organizations": "Tutte le azioni sulle organizzazioni",
"pbac_desc_view_bookings": "Visualizza prenotazioni",
"pbac_desc_view_team_bookings": "Visualizza prenotazioni del team",
"pbac_desc_view_organization_bookings": "Visualizza prenotazioni dell'organizzazione",
"pbac_desc_view_booking_recordings": "Visualizza registrazioni delle prenotazioni",
"pbac_desc_update_bookings": "Aggiorna prenotazioni",
"pbac_desc_manage_bookings": "Tutte le azioni sulle prenotazioni",
"pbac_desc_view_team_insights": "Visualizza insight del team",
"pbac_desc_manage_team_insights": "Gestisci insight del team",
"read_permission_auto_enabled_tooltip": "Il permesso di lettura viene abilitato automaticamente quando si crea, aggiorna o elimina una risorsa",
"choose_restriction_schedule": "Aggiungi programma di restrizione",
"choose_restriction_schedule_description": "Abilita questa opzione se vuoi limitare la disponibilità degli host per questo tipo di evento in base a un programma di restrizione. Questo rimuove solo gli slot che non sono nel programma di restrizione, non aggiunge nuovi slot.",
"use_booker_timezone": "Usa fuso orario del prenotante",
"use_booker_timezone_info": "Applica il programma di restrizione selezionato nel fuso orario del prenotante",
"load_balancing_warning": "Questo disabiliterà il bilanciamento del carico su tutti i tuoi tipi di evento round robin",
"rr_load_balancing_disabled": "Il bilanciamento del carico è disponibile solo quando la base temporale è impostata su Orario di creazione della prenotazione",
"round_robin_settings_description": "Personalizza le impostazioni predefinite del round robin per questo team",
"round_robin_settings_updated_successfully": "Impostazioni Round Robin aggiornate con successo",
"booking_creation_time": "Orario di creazione della prenotazione",
"meeting_start_time": "Orario di inizio della riunione",
"members_affected_by_disabling_delegation_credential": "Membri interessati",
"no_members_affected_by_disabling_delegation_credential": "Nessun membro interessato dalla disabilitazione delle credenziali di delega",
"download_expense_log": "Scarica il registro delle spese",
"error_downloading_expense_log": "Errore durante il download del registro delle spese",
"offer_to_reschedule_last_booking": "Offri di riprogrammare l'ultima prenotazione attiva nella fascia oraria scelta",
"booker_limit_exceeded_error": "Limite massimo di prenotazioni attive superato",
"booker_limit_exceeded_error_reschedule": "Hai già una prenotazione per questo evento il {{date}}. Vuoi riprogrammarla al nuovo orario selezionato?",
"duration_min_error": "La durata deve essere di almeno {{min}} minuto/i",
"duration_max_error": "La durata non può superare {{max}} minuti (24 ore)",
"booking_not_allowed_by_restriction_schedule_error": "Prenotazione al di fuori della disponibilità del programma di restrizione.",
"restriction_schedule_not_found_error": "Programma di restrizione non trovato",
"converted_image_size_limit_exceed": "Limite di dimensione dell'immagine superato, utilizza un'immagine più piccola preferibilmente in formato JPEG",
"license_key": "Chiave di licenza",
"license_selection_title": "Scegli la tua licenza",
"license_selection_description": "Seleziona come vuoi concedere in licenza la tua implementazione di Cal.com",
"agplv3_license_description": "Utilizza Cal.com con la licenza open source AGPLv3",
"enter_license_key": "Inserisci la chiave di licenza",
"enter_your_license_key": "Accesso a tutte le funzionalità enterprise",
"enter_existing_license": "A partire da 15$/utente al mese",
"enter_license_key_description": "Accesso a tutte le funzionalità enterprise",
"license_key_placeholder": "Inserisci la tua chiave di licenza",
"save_license_key": "Salva chiave di licenza",
"signature_token_optional": "Token di firma (opzionale)",
"signature_token_description": "Il token di firma viene utilizzato per verificare che la chiave di licenza sia tua quando incrementi la fatturazione basata sull'utilizzo. Puoi trovarlo nell'email di conferma dell'acquisto. Se hai una licenza precedente, puoi lasciare questo campo vuoto.",
"need_a_license": "Hai bisogno di una licenza?",
"license_key_required": "La chiave di licenza è obbligatoria",
"invalid_license_key": "Chiave di licenza non valida",
"license_validation_failed": "Impossibile convalidare la chiave di licenza",
"license_key_saved": "Chiave di licenza salvata con successo",
"timezone_mismatch_tooltip": "Stai visualizzando il report in base al fuso orario del tuo profilo ({{userTimezone}}), mentre il tuo browser è impostato sul fuso orario ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Aggiungi le tue nuove stringhe qui sopra ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+173 -21
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "Cal Videoの設定をカスタマイズ",
"calvideo_settings_description": "ホストと参加者の録画権限を含むビデオ会議の設定を構成します。",
"disable_recording_for_guests": "ゲストの録画を無効にする",
"enable_automatic_transcription": "会議に参加した後、自動文字起こしを有効にする",
"video_options": "ビデオオプション",
"get_meeting_session_details": "会議セッションの詳細を取得",
"meeting_session_details": "会議セッションの詳細",
"meeting_session": "会議セッション",
"session_id": "セッションID",
"max_participants": "最大参加者数",
"unlimited": "無制限",
"ongoing": "進行中",
"ended": "終了済み",
"participants": "参加者",
"anonymous_user": "匿名ユーザー",
"session_duration": "セッション時間",
"no_meeting_sessions_found": "会議セッションが見つかりません",
"not_available": "利用不可",
"disable_recording_for_organizer": "主催者の録画を無効にする",
"disable_transcription_for_guests": "ゲストの文字起こしを無効にする",
"disable_transcription_for_organizer": "主催者の文字起こしを無効にする",
"event_request_declined_recurring": "繰り返しイベントのリクエストが拒否されました",
"event_request_cancelled": "スケジュール設定済みのイベントがキャンセルされました",
"event_request_reassigned": "予定されていたイベントが再割り当てされました",
@@ -264,6 +281,8 @@
"guests": "ゲスト",
"guest": "ゲスト",
"web_conferencing_details_to_follow": "ウェブ会議の詳細には確認メールでお送りします。",
"confirmation": "確認",
"what_booker_should_provide": "予約者が確認を受け取るために提供すべき情報",
"404_the_user": "ユーザー名",
"username": "ユーザー名",
"is_still_available": "まだ利用可能。",
@@ -331,7 +350,7 @@
"organization_general_description": "チームの言語とタイムゾーンの設定を管理します",
"few_sentences_about_yourself": "あなたについてのいくつかの文章。これはあなたの個人URLページに表示されます。",
"nearly_there": "あと少しで完了です!",
"nearly_there_instructions": "最後に、短い自己紹介と写真があれば、予約してもらったり、誰と予約しているのかを知らせるのに役立ちます。",
"nearly_there_instructions": "最後に、あなた自身の簡単な説明と写真があると、予約を獲得しやすくなり、予約者があなたが誰であるかを知るのに役立ちます。",
"set_availability_instructions": "定期的に利用できる時間の範囲を定義します。後でこれらをさらに作成し、別のカレンダーに割り当てることができます。",
"set_availability": "利用可否の設定",
"set_availbility_description": "予約したい時間のスケジュールを設定します。",
@@ -343,14 +362,14 @@
"connect_your_calendar": "カレンダーに接続",
"connect_your_video_app": "ビデオアプリを接続",
"connect_your_video_app_instructions": "ご利用のイベントの種類で動画アプリを使用するには、ビデオアプリを接続してください。",
"connect_your_calendar_instructions": "カレンダーに接続すると、予定済の忙しい時間と新しいイベントを自動的に確認できます。",
"connect_your_calendar_instructions": "カレンダーを連携すると、予定が入っている時間や新しく予定が入った時間を自動的にチェックします。",
"set_up_later": "あとで設定",
"current_time": "現在の時刻",
"details": "詳細情報",
"welcome": "ようこそ",
"welcome_back": "おかえりなさい",
"welcome_to_calcom": "{{appName}} へようこそ",
"welcome_instructions": "Cal.com でご使用になるお名前とタイムゾーンを教えてください。これらは後から編集できます。",
"welcome_instructions": "お名前とタイムゾーンを教えてください。これらは後で編集できます。",
"connect_caldav": "CalDav (ベータ版) に接続",
"connect_ics_feed": "ICSフィードに接続",
"connect": "接続",
@@ -361,7 +380,7 @@
"when": "日時",
"where": "参加方法",
"add_to_calendar": "カレンダーに追加",
"add_to_calendar_description": "予約時にイベントを追加する場所を選びます。",
"add_to_calendar_description": "予約が入った時にイベントを追加する場所を選択してください。",
"add_events_to": "イベントの追加先",
"add_another_calendar": "別のカレンダーを追加",
"other": "その他",
@@ -1153,6 +1172,7 @@
"test_failed": "テストに失敗しました",
"provide_api_key": "API キーを提供する",
"api_key_modal_subtitle": "API キーを使用すると、自分のアカウントを API で呼び出すことができます。",
"api_key_modal_subtitle_platform": "マーケットプレイスやプラットフォームを代わりに作成します。",
"api_keys_subtitle": "自分のアカウントへアクセスする際に使用する API キーを生成します。",
"create_api_key": "API キーの作成",
"personal_note": "このキーに名前を付ける",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "この API キーを取り消す",
"disable_rescheduling": "再スケジュール機能を無効にする",
"description_disable_rescheduling": "ゲストはカレンダー招待状やメールでイベントを再スケジュールできなくなります",
"allow_rescheduling_cancelled_bookings": "再スケジュールリンクからの予約を許可する",
"description_allow_rescheduling_cancelled_bookings": "有効にすると、キャンセルされた予約の再スケジュールを試みる際に、ユーザーは新しい予約を作成できるようになります",
"disable_cancelling": "キャンセル機能を無効にする",
"description_disable_cancelling": "ゲストはカレンダー招待状やメールでイベントをキャンセルできなくなります",
"revoke_api_key": "API キーの取り消し",
@@ -1572,7 +1594,7 @@
"location_info": "イベントの場所",
"additional_notes_info": "予約の追加メモ",
"attendee_name_info": "予約者名",
"organizer_name_info": "主催者名",
"organizer_name_info": "主催者の名前",
"to": "送信先",
"workflow_turned_on_successfully": "{{workflowName}} ワークフローが正常に {{offOn}} になりました",
"download_responses": "回答をダウンロード",
@@ -1613,7 +1635,7 @@
"workflow_example_6": "新しいイベントの予約時に、ホストにカスタム SMS を送信する",
"count_managed_to_limit": "管理されているイベントタイプの予約数を含める",
"welcome_to_cal_header": "{{appName}} へようこそ!",
"edit_form_later_subtitle": "これは後で編集することができます。",
"edit_form_later_subtitle": "これは後で編集できます。",
"connect_calendar_later": "後でカレンダーを接続する",
"problem_saving_user_profile": "データの保存中に問題が発生しました。もう一度試すか、カスタマーサポートにご連絡ください。",
"purchase_missing_seats": "不足分の座席を購入",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "API キーを使用することにより、他のアプリが {{appName}} と連携できるようになります",
"back_to_signin": "サインインに戻る",
"reset_link_sent": "リセットを行うためのリンクが送信されました",
"password_reset_email": "パスワードのリセット方法を記載したメールを {{email}} 宛に送信しました。",
"password_reset_email": "パスワードをリセットする手順が記載されたメールが{{email}}に送信されています。",
"password_reset_leading": "すぐにメールが届かない場合は、入力したメールアドレスが正しいかや迷惑メールフォルダを確認し、それでも問題が解決しない場合はサポートにご連絡ください。",
"password_updated": "パスワードが更新されました!",
"pending_payment": "支払い待ち",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "この設定により、このイベントタイプの利用可能時間は1日1スロットに制限され、最も早い時間にスケジュールされます。",
"limit_total_booking_duration": "総予約期間に上限を設定する",
"limit_total_booking_duration_description": "このイベントを予約できる時間の合計に上限を設定する",
"booker_booking_limit": "予約者のアクティブな予約制限",
"booker_booking_limit_description": "予約者がこのイベントタイプで作成できるアクティブな予約の数を制限する",
"recurring_event_doesnt_support_booker_booking_limit": "定期的なイベントは予約者の予約制限をサポートしていません",
"add_limit": "上限を追加する",
"team_name_required": "チーム名が必要です",
"show_attendees": "ゲスト間で出席者情報を共有する",
"show_available_seats_count": "空席数を表示",
"how_booking_questions_as_variables": "予約時の質問を変数として使うにはどうすればいいですか?",
"format": "書式",
"questions": "質問",
"all_info_your_booker_provide": "予約者があなたと予約する前に提供すべきすべての情報。",
"uppercase_for_letters": "すべての文字に大文字を使用する",
"replace_whitespaces_underscores": "空白をアンダーバー「 _ 」に置き換える",
"platform_members": "プラットフォームメンバー",
@@ -1915,7 +1942,7 @@
"new_attendee": "新規参加者",
"awaiting_approval": "承認を待っています",
"requires_google_calendar": "このアプリは Google カレンダーとの接続が必要です",
"event_type_requires_google_calendar": "このイベントタイプの「カレンダーに追加」機能がMeetと連携するには、Googleカレンダーが必要です。<0>こちら</0>で接続してください。",
"event_type_requires_google_calendar": "このイベントタイプの「カレンダーに追加」機能がMeetを使用するには、Googleカレンダーである必要があります。<0>こちら</0>で接続してください。",
"connected_google_calendar": "Google カレンダーアカウントに接続しました。",
"using_meet_requires_calendar": "Google Meet を使用するには、接続済みの Google カレンダーが必要です。",
"continue_to_install_google_calendar": "Google カレンダーのインストールを続行",
@@ -1968,11 +1995,11 @@
"organizer_timezone": "主催者のタイムゾーン",
"email_user_cta": "招待を表示",
"email_no_user_invite_heading_subteam": "{{parentTeamName}}組織のチームに参加するよう招待されました",
"email_no_user_invite_heading_org": "{{appName}} 組織に参加するよう招待されました",
"email_no_user_invite_heading_org": "{{appName}}組織に参加するよう招待されました",
"email_no_user_invite_subheading": "{{invitedBy}} は {{appName}} のチームに参加するようあなたを招待しました。{{appName}} は、イベント調整スケジューラーです。チームと延々とメールのやりとりをすることなくミーティングのスケジュール設定を行うことができます。",
"email_user_invite_subheading_subteam": "{{invitedBy}}が{{appName}}の{{parentTeamName}}組織のチーム{{teamName}}にあなたを招待しました。{{appName}}は、あなたとあなたのチームがメールのやり取りなしで会議をスケジュールできるイベントスケジューラーです。",
"email_user_invite_subheading_org": "{{invitedBy}} は {{appName}} の組織の「{{teamName}}」に参加するようあなたを招待しました。{{appName}} はイベント調整スケジューラーで、組織内で延々とメールのやりとりをすることなく、ミーティングのスケジュールを設定できます。",
"email_no_user_invite_steps_intro": "いくつかの短い手順を踏むだけで、すぐに {{entity}} のストレスフリーなスケジュール設定をお楽しみいただけます。",
"email_no_user_invite_steps_intro": "いくつかの簡単なステップをご案内し、すぐに{{entity}}とのストレスフリーなスケジューリングをお楽しみいただけます。",
"email_no_user_step_one": "ユーザー名を選択",
"email_no_user_step_two": "カレンダーアカウントを接続",
"email_no_user_step_three": "空き状況を設定する",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "Insights を使って情報に基づいた決定を行う",
"make_informed_decisions_description": "Insights ダッシュボードには、チーム内のすべてのアクティビティが表示され、チームのスケジュール設定や意思決定をより良いものにするための傾向が示されます。",
"view_bookings_across": "メンバー全体の予約を表示",
"view_bookings_across_description": "誰が最も予約されているかを確認し、チーム全体で最適な配分が行われるようにします",
"view_bookings_across_description": "誰が最も多くの予約を受けているかを確認し、チーム全体で最適な配分を確保します",
"identify_booking_trends": "予約の傾向を明らかにする",
"identify_booking_trends_description": "1 週間の内のどの時間帯が、そして 1 日の内のどの時間帯が予約するユーザーに人気があるかを確認します",
"spot_popular_event_types": "人気のあるイベントの種類を見つける",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "選択したフィルターまたは日付のデータが見つかりませんでした。",
"acknowledge_booking_no_show_fee": "このイベントに出席しなかった場合、不参加費用として {{amount, currency}} が私のカードに請求されることに同意します。",
"card_details": "カードの詳細",
"something_went_wrong_on_our_end": "こちらで問題が発生しました。サポートチームにお問い合わせいただければ、直ちに問題を解決いたします。",
"something_went_wrong_on_our_end": "当社側で問題が発生しました。サポートチームにお問い合わせください。すぐに修正いたします。",
"please_provide_following_text_to_suppport": "サポートにお問い合わせいただく際に次のテキストをご提供いただければ、解決に役立ちます。",
"seats_and_no_show_fee_error": "現在、座席の有効化と不参加費用の請求はできません",
"complete_your_booking": "予約を完了する",
@@ -2276,7 +2303,7 @@
"messaging": "メッセージング",
"sender_id_info": "SMS の送信者として表示される名前または番号 (国によっては英数字の送信者 ID が許可されない場合もあります)",
"org_admins_can_create_new_teams": "組織の管理者のみが新しいチームを作成できます",
"google_new_spam_policy": "Google の新しい迷惑メールポリシーにより、この予約に関するメールやカレンダー通知を受け取れなくなる可能性があります。",
"google_new_spam_policy": "Googleの新しいスパムポリシーにより、この予約に関するメールやカレンダーの通知が受信できなくなる可能性があります。",
"resolve": "解決する",
"no_organization_slug": "この組織でチームを作成する際にエラーが発生しました。URL スラッグがありません。",
"copy_link_org": "組織へのリンクをコピーする",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "委任認証情報を使用すると、組織の Google Workspace カレンダーへのアクセスを管理できます。",
"add_client_id_in_google_workspace_with_below_scope": "以下のスコープを使用してGoogle WorkspaceにこのクライアントIDを追加してください",
"delegation_credential_enabled": "委任認証情報が有効になっています",
"delegation_credential_disabled": "委任認証情報が無効になっています",
"add_delegation_credential": "委任認証情報を追加",
"edit_delegation_credential": "委任認証情報を編集",
"domain": "ドメイン",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "カレンダーのイベントを表示して予約が重ならないようにします。",
"join_event_location": "{{eventLocationType}}に参加",
"troubleshooting": "トラブルシューティング",
"calendars_were_checking_for_conflicts": "競合を確認しているカレンダー",
"calendars_were_checking_for_conflicts": "競合をチェックしているカレンダー",
"availabilty_schedules": "利用可能なスケジュール",
"manage_calendars": "カレンダーを管理",
"manage_availability_schedules": "利用可能なスケジュールを管理",
@@ -2582,7 +2608,7 @@
"date": "日付",
"overlaps_with_existing_schedule": "既存のスケジュールと重複しています。別の日付を選択してください。",
"org_admin_no_slots|heading": "{{name}}の空き状況が見つかりません",
"org_admin_no_slots|content": "組織管理者の皆様、<br /><br />お知らせ: {{username}}が訪問者に対して空き状況がないことが報告されています。{{username}}/{{slug}}<br /><br />これが発生する理由はいくつかあります。<br />ユーザーがカレンダーを接続していない<br />このイベントに関連付けられたスケジュールが有効になっていない<br /><br />空き状況を確認して解決することをお勧めします。",
"org_admin_no_slots|content": "組織管理者の皆様、<br /><br />ご注意ください:ユーザーが{{username}}/{{slug}}にアクセスした際に、{{username}}が予約可能な時間枠を持っていないことが確認されました。<br /><br />これには以下のような理由が考えられます:<br />ユーザーがカレンダーを接続していない<br />このイベントに関連付けられたスケジュールが有効になっていない<br /> <br />この問題を解決するために、彼らの予約可能時間を確認することをお勧めします。",
"org_admin_no_slots|cta": "ユーザーの空き状況を開く",
"organization_no_slots_notification_switch_title": "チームに空きがない場合に通知を受け取る",
"organization_no_slots_notification_switch_description": "ユーザーがチームメンバーを予約しようとして「空きがありません」と表示された場合、管理者にメール通知が送信されます。このメールは2回発生した後にトリガーされ、ユーザーごとに7日ごとにリマインドされます。",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "{{user}}が{{appName}}の組織{{team}}に参加するよう招待しました",
"email_team_invite|subject|added_to_subteam": "{{user}}が{{appName}}の組織{{parentTeamName}}のチーム{{team}}にあなたを追加しました",
"email_team_invite|subject|invited_to_regular_team": "{{user}} があなたを {{appName}} のチーム {{team}} に招待しました",
"email_team_invite|heading|added_to_org": "あなたは{{appName}}の組織に追加されました",
"email_team_invite|heading|invited_to_org": "あなたは{{appName}}の組織に招待されました",
"email_team_invite|heading|added_to_subteam": "あなたは{{parentTeamName}}の組織のチームに追加されました",
"email_team_invite|heading|added_to_org": "{{appName}}の組織に追加されました",
"email_team_invite|heading|invited_to_org": "{{appName}}の組織に招待されました",
"email_team_invite|heading|added_to_subteam": "{{parentTeamName}}組織のチームに追加されました",
"email_team_invite|heading|invited_to_subteam": "{{parentTeamName}}組織のチームに招待されました",
"email_team_invite|heading|invited_to_regular_team": "{{appName}} チームに参加するよう招待されました",
"email_team_invite|heading|invited_to_regular_team": "{{appName}}チームへの参加に招待されました",
"email_team_invite|content|added_to_org": "{{invitedBy}}があなたを<strong>{{teamName}}</strong>組織に追加しました。",
"email_team_invite|content|invited_to_org": "{{invitedBy}}があなたを{{teamName}}組織に招待しました。",
"email_team_invite|subject|invited_to_subteam": "{{user}}が{{appName}}の組織{{parentTeamName}}のチーム{{team}}に参加するようあなたを招待しました",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "チームのすべてのイベントタイプにおいて、メンバーが予約される回数を制限する",
"booking_limits_updated_successfully": "予約制限が正常に更新されました",
"you_are_unauthorized_to_make_this_change_to_the_booking": "この予約の変更を行う権限がありません",
"delegation_credential_disabled": "委任認証情報が無効になっています",
"matching_members": "一致するメンバー",
"x_matching_members": "一致するメンバー{{x}}名",
"matching_members_queue_using_attribute_weights": "メンバーのマッチングキュー(属性の重み付けを使用)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "はい、再割り当てします",
"filter_by_attributes": "属性でフィルター",
"reassign_reason": "再割り当ての理由",
"field_type_change_suggestion": "フィールドタイプを変更するとデータが失われる可能性があります。代わりに新しいフィールドを作成してください。",
"reassigned_by": "再割り当て者",
"row": "行",
"rows": "行",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "このメールアドレスで組織を作成する権限がありません",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "1つ以上のチームを移行する権限がありません",
"organization_has_subscription_already": "組織はすでにサブスクリプションを持っています",
"reset_interval_weighted_rr": "加重ラウンドロビンのリセット間隔",
"interval": "間隔",
"rr_reset_interval_description": "ラウンドロビンの予約カウントがリセットされる頻度を決定し、バランスの取れた配分を確保します。",
"daily": "毎日",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "これらのユーザー間にはすでに逆方向の転送が存在します。",
"previous_ooo_empty_title": "過去のOOOが見つかりません",
"previous": "前へ",
"rr_interval_successfully_updated": "ラウンドロビン間隔が正常に更新されました",
"trial_mode": "トライアルモード",
"inactive_team_plan": "非アクティブなチームプラン",
"inactive_team_plan_description": "チームプランが非アクティブです。サブスクリプションを確認するか、カスタマーサポートにお問い合わせください",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "まだチームがありません",
"no_team_members": "まだチームメンバーがいません",
"recurring_event_doesnt_support_seats": "定期的なイベントは座席機能をサポートしていません。座席を有効にするには非定期的にしてください。",
"booking_limit_per_booker_doesnt_support_recurring": "定期的なイベントは予約者ごとの予約制限機能をサポートしていません。定期的なイベントを有効にするには予約者ごとの予約制限を無効にしてください。",
"seats_doesnt_support_recurring": "座席機能は定期的なイベントをサポートしていません。定期的にするには座席機能を無効にしてください。",
"recurring_event_seats_error": "定期的なイベントは座席機能をサポートしていません。座席機能を無効にするか、イベントを非定期的にしてください。",
"segment": "セグメント",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "委任認証情報を有効にする",
"enable_delegation_credential_description": "委任認証情報を有効にすることで、Cal.comに組織のすべてのメンバーのカレンダーへの自動アクセスを許可します。",
"disable_delegation_credential": "委任認証情報を無効にする",
"disable_delegation_credential_description": "委任認証情報が無効になると、カレンダーを接続していない組織メンバーは手動で接続する必要があります。",
"disable_delegation_credential_description": "委任資格情報を無効にすると、カレンダーを接続していない組織メンバーは手動で接続する必要があります。",
"last_active": "最終アクティブ",
"member_since": "登録日",
"last_updated": "最終更新日",
@@ -3202,10 +3233,131 @@
"matching": "マッチング",
"event_redirect": "イベントリダイレクト",
"reset_form": "フォームをリセット",
"rr_settings_successfully_updated": "ラウンドロビン設定が正常に更新されました",
"distribution_basis_weighted_rr": "加重ラウンドロビンの配分基準",
"timestamp_basis_description": "加重ラウンドロビン配分の基準として使用されるイベントのタイムスタンプを決定します。",
"requires_credits": "クレジットが必要です",
"requires_credits_tooltip": "この機能を使用するには、アカウントに十分なクレジットが必要です",
"available_credits": "利用可能なクレジット",
"create_role": "役割を作成",
"roles_and_permissions": "役割と権限",
"roles_and_permissions_description": "組織の役割と権限を管理する",
"learn_more_permissions": "権限の仕組みについて詳しく学ぶ",
"role_name": "役割名",
"role_name_placeholder": "例:営業チーム、サポートスタッフ",
"role_description": "役割の説明",
"role_description_placeholder": "この役割の目的と必要な権限について説明してください",
"default_role": "デフォルトの役割",
"custom_role": "カスタム役割",
"advanced": "詳細設定",
"search_permissions": "権限を検索",
"all_permissions": "すべての権限",
"none": "なし",
"read_only": "閲覧のみ",
"pbac_desc_all_actions_all_resources": "すべてのリソースに対するすべてのアクション",
"pbac_resource_all": "すべてのリソース",
"pbac_resource_event_type": "イベントタイプ",
"pbac_resource_team": "チーム",
"pbac_resource_organization": "組織",
"pbac_resource_booking": "予約",
"pbac_resource_insights": "インサイト",
"pbac_resource_role": "ロール",
"pbac_action_all": "すべてのアクション",
"pbac_action_create": "作成",
"pbac_action_read": "表示",
"pbac_action_update": "編集",
"pbac_action_delete": "削除",
"pbac_action_manage": "管理",
"pbac_action_invite": "招待",
"pbac_action_remove": "削除",
"pbac_action_change_member_role": "メンバーロールの変更",
"pbac_action_list_members": "メンバー一覧の表示",
"pbac_action_manage_billing": "請求管理",
"pbac_action_read_team_bookings": "チーム予約の表示",
"pbac_action_read_org_bookings": "組織予約の表示",
"pbac_action_read_recordings": "録画を表示",
"role_created_successfully": "役割が正常に作成されました",
"role_updated_successfully": "役割が正常に更新されました",
"delete_role": "役割を削除",
"confirm_delete_role": "この役割を削除してもよろしいですか?この操作は元に戻せません。",
"role_deleted_successfully": "役割が正常に削除されました",
"error_creating_role": "役割の作成中にエラーが発生しました",
"error_updating_role": "役割の更新中にエラーが発生しました",
"pbac_desc_create_roles": "役割を作成する",
"pbac_desc_view_roles": "役割を表示する",
"pbac_desc_update_roles": "役割を更新する",
"pbac_desc_delete_roles": "役割を削除する",
"pbac_desc_manage_roles": "役割に関するすべての操作",
"pbac_desc_create_event_types": "イベントタイプを作成する",
"pbac_desc_view_event_types": "イベントタイプを表示する",
"pbac_desc_update_event_types": "イベントタイプを更新する",
"pbac_desc_delete_event_types": "イベントタイプを削除する",
"pbac_desc_manage_event_types": "イベントタイプに関するすべての操作",
"pbac_desc_create_teams": "チームを作成する",
"pbac_desc_view_team_details": "チームの詳細を表示する",
"pbac_desc_update_team_settings": "チーム設定を更新する",
"pbac_desc_delete_team": "チームを削除する",
"pbac_desc_invite_team_members": "チームメンバーを招待する",
"pbac_desc_remove_team_members": "チームメンバーを削除する",
"pbac_desc_change_team_member_role": "チームメンバーの役割を変更する",
"pbac_desc_manage_teams": "チームに関するすべてのアクション",
"pbac_desc_create_organization": "組織の作成",
"pbac_desc_view_organization_details": "組織の詳細を表示",
"pbac_desc_list_organization_members": "組織メンバーの一覧表示",
"pbac_desc_invite_organization_members": "組織メンバーの招待",
"pbac_desc_remove_organization_members": "組織メンバーの削除",
"pbac_desc_manage_organization_billing": "組織の請求管理",
"pbac_desc_change_organization_member_role": "組織メンバーの役割変更",
"pbac_desc_edit_organization_settings": "組織設定の編集",
"pbac_desc_manage_organizations": "組織に関するすべてのアクション",
"pbac_desc_view_bookings": "予約の表示",
"pbac_desc_view_team_bookings": "チーム予約の表示",
"pbac_desc_view_organization_bookings": "組織予約の表示",
"pbac_desc_view_booking_recordings": "予約の録画を表示",
"pbac_desc_update_bookings": "予約の更新",
"pbac_desc_manage_bookings": "予約に関するすべてのアクション",
"pbac_desc_view_team_insights": "チームインサイトの表示",
"pbac_desc_manage_team_insights": "チームインサイトの管理",
"read_permission_auto_enabled_tooltip": "リソースの作成、更新、削除時に読み取り権限は自動的に有効になります",
"choose_restriction_schedule": "制限スケジュールを追加",
"choose_restriction_schedule_description": "このイベントタイプのホストの利用可能時間を制限スケジュールに基づいて制限したい場合に有効にします。これは制限スケジュールにない枠を削除するだけで、新しい枠は追加されません。",
"use_booker_timezone": "予約者のタイムゾーンを使用",
"use_booker_timezone_info": "選択した制限スケジュールを予約者のタイムゾーンで適用します",
"load_balancing_warning": "これにより、すべてのround robinイベントタイプの負荷分散が無効になります",
"rr_load_balancing_disabled": "負荷分散は、タイムスタンプの基準が「予約作成時間」に設定されている場合のみ利用可能です",
"round_robin_settings_description": "このチームのデフォルトのラウンドロビン設定をカスタマイズする",
"round_robin_settings_updated_successfully": "ラウンドロビン設定が正常に更新されました",
"booking_creation_time": "予約作成時間",
"meeting_start_time": "ミーティング開始時間",
"members_affected_by_disabling_delegation_credential": "影響を受けるメンバー",
"no_members_affected_by_disabling_delegation_credential": "委任認証情報の無効化による影響を受けるメンバーはいません",
"download_expense_log": "経費ログをダウンロード",
"error_downloading_expense_log": "経費ログのダウンロード中にエラーが発生しました",
"offer_to_reschedule_last_booking": "最後のアクティブな予約を選択した時間枠に再スケジュールすることを提案する",
"booker_limit_exceeded_error": "予約者のアクティブな予約数の上限を超えました",
"booker_limit_exceeded_error_reschedule": "{{date}}にこのイベントの予約がすでにあります。新しく選択した時間に再スケジュールしますか?",
"duration_min_error": "所要時間は最低{{min}}分以上である必要があります",
"duration_max_error": "所要時間は{{max}}分(24時間)を超えることはできません",
"booking_not_allowed_by_restriction_schedule_error": "制限スケジュールの利用可能時間外での予約はできません。",
"restriction_schedule_not_found_error": "制限スケジュールが見つかりません",
"converted_image_size_limit_exceed": "画像サイズの制限を超えました。できればJPEG形式のより小さい画像を使用してください",
"license_key": "ライセンスキー",
"license_selection_title": "ライセンスを選択",
"license_selection_description": "Cal.comの導入方法のライセンスを選択してください",
"agplv3_license_description": "AGPLv3オープンソースライセンスの下でCal.comを使用する",
"enter_license_key": "ライセンスキーを入力",
"enter_your_license_key": "すべてのエンタープライズ機能へのアクセス",
"enter_existing_license": "ユーザーあたり月額15ドルから",
"enter_license_key_description": "すべてのエンタープライズ機能へのアクセス",
"license_key_placeholder": "ライセンスキーを入力してください",
"save_license_key": "ライセンスキーを保存",
"signature_token_optional": "署名トークン(オプション)",
"signature_token_description": "署名トークンは、使用量ベースの課金を増加させる際に、ライセンスキーがあなたのものであることを確認するために使用されます。購入確認メールで見つけることができます。レガシーライセンスをお持ちの場合は、空白のままにしておくことができます。",
"need_a_license": "ライセンスが必要ですか?",
"license_key_required": "ライセンスキーが必要です",
"invalid_license_key": "無効なライセンスキーです",
"license_validation_failed": "ライセンスキーの検証に失敗しました",
"license_key_saved": "ライセンスキーが正常に保存されました",
"timezone_mismatch_tooltip": "あなたはプロフィールのタイムゾーン({{userTimezone}})に基づいてレポートを表示していますが、ブラウザのタイムゾーンは({{browserTimezone}})に設定されています",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ この上に新しい文字列を追加してください ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}
+175 -23
View File
@@ -47,7 +47,24 @@
"customize_calvideo_settings": "កំណត់ការកំណត់វីដេអូ Cal",
"calvideo_settings_description": "កំណត់រចនាសម្ព័ន្ធចំណូលចិត្តនៃការប្រជុំតាមវីដេអូ រួមទាំងការអនុញ្ញាតឱ្យថតសម្រាប់ម្ចាស់កម្មវិធី និងអ្នកចូលរួម។",
"disable_recording_for_guests": "បិទការថតសម្រាប់ភ្ញៀវ",
"enable_automatic_transcription": "បើកការបកប្រែដោយស្វ័យប្រវត្តិបន្ទាប់ពីចូលរួមកិច្ចប្រជុំ",
"video_options": "ជម្រើសវីដេអូ",
"get_meeting_session_details": "ទទួលព័ត៌មានលម្អិតនៃវគ្គប្រជុំ",
"meeting_session_details": "ព័ត៌មានលម្អិតនៃវគ្គប្រជុំ",
"meeting_session": "វគ្គប្រជុំ",
"session_id": "លេខសម្គាល់វគ្គ",
"max_participants": "អ្នកចូលរួមអតិបរមា",
"unlimited": "គ្មានដែនកំណត់",
"ongoing": "កំពុងដំណើរការ",
"ended": "បានបញ្ចប់",
"participants": "អ្នកចូលរួម",
"anonymous_user": "អ្នកប្រើប្រាស់អនាមិក",
"session_duration": "រយៈពេលនៃវគ្គ",
"no_meeting_sessions_found": "រកមិនឃើញវគ្គប្រជុំទេ",
"not_available": "មិនមាន",
"disable_recording_for_organizer": "បិទការថតសម្រាប់អ្នករៀបចំ",
"disable_transcription_for_guests": "បិទការបកប្រែសម្រាប់ភ្ញៀវ",
"disable_transcription_for_organizer": "បិទការបកប្រែសម្រាប់អ្នករៀបចំ",
"event_request_declined_recurring": "សំណើព្រឹត្តិការណ៍កើតឡើងដដែលៗរបស់អ្នកត្រូវបានបដិសេធ",
"event_request_cancelled": "ព្រឹត្តិការណ៍ដែលបានគ្រោងទុករបស់អ្នកត្រូវបានលុបចោល",
"event_request_reassigned": "ព្រឹត្តិការណ៍ដែលបានកំណត់ពេលរបស់អ្នកត្រូវបានផ្ទេរឡើងវិញ",
@@ -264,6 +281,8 @@
"guests": "ភ្ញៀវ",
"guest": "ភ្ញៀវ",
"web_conferencing_details_to_follow": "ព័ត៌មានលម្អិតអំពីការប្រជុំតាមអ៊ីនធឺណិតនឹងត្រូវបានផ្តល់នៅក្នុងអ៊ីមែលបញ្ជាក់។",
"confirmation": "ការបញ្ជាក់",
"what_booker_should_provide": "អ្វីដែលអ្នកកក់របស់អ្នកគួរផ្តល់ដើម្បីទទួលបានការបញ្ជាក់",
"404_the_user": "ឈ្មោះអ្នកប្រើ",
"username": "ឈ្មោះអ្នកប្រើ",
"is_still_available": "នៅតែមានស្រាប់។",
@@ -331,7 +350,7 @@
"organization_general_description": "គ្រប់គ្រងការកំណត់សម្រាប់ភាសានិងល្វែងម៉ោងរបស់ក្រុមរបស់អ្នក",
"few_sentences_about_yourself": "ប៉ុន្មានប្រយោគអំពីខ្លួនអ្នក។ នេះនឹងបង្ហាញនៅលើទំព័រអាសយដ្ឋានផ្ទាល់ខ្លួនរបស់អ្នក។",
"nearly_there": "ស្ទើរតែដល់ហើយ!",
"nearly_there_instructions": "រឿងចុងក្រោយ, ការពិពណ៌នាខ្លីអំពីអ្នក និងរូបថតមួយពិតជាជួយអ្នកទទួលការកក់ និងអោយមនុស្សដឹងថានរណាដែលពួកគេកំពុងកក់ជាមួយ។",
"nearly_there_instructions": "ចុងក្រោយ ការពិពណ៌នាខ្លីអំពីអ្នក និងរូបថតពិតជាជួយឱ្យអ្នកទទួលបានការកក់ និងឱ្យមនុស្សដឹងថាពួកគេកំពុងកក់ជាមួយនរណា។",
"set_availability_instructions": "កំណត់ពេលវេលាដែលអ្នកអាចប្រើបានជាប្រចាំ។ អ្នកអាចបង្កើតបន្ថែមទៀតនៅពេលក្រោយ និងផ្ដល់ពេលវេលានេះទៅកាលណាដែលខុសគ្នា។",
"set_availability": "កំណត់ភាពអាចប្រើបានរបស់អ្នក",
"set_availbility_description": "កំណត់កាលវិភាគសម្រាប់ពេលវេលាដែលអ្នកចង់បានការកក់។",
@@ -343,14 +362,14 @@
"connect_your_calendar": "ភ្ជាប់ប្រតិទិនរបស់អ្នក",
"connect_your_video_app": "ភ្ជាប់កម្មវិធីវីដេអូរបស់អ្នក",
"connect_your_video_app_instructions": "ភ្ជាប់កម្មវិធីវីដេអូរបស់អ្នកដើម្បីប្រើពួកវានៅលើប្រភេទព្រឹត្តិការណ៍របស់អ្នក។",
"connect_your_calendar_instructions": "ភ្ជាប់ប្រតិទិនរបស់អ្នកដើម្បីពិនិត្យស្វ័យប្រវត្តិសម្រាប់ពេលវេលាដែលរវល់ និងព្រឹត្តិការណ៍ថ្មីៗនៅពេលពួកវាត្រូវបានកំណត់។",
"connect_your_calendar_instructions": "ភ្ជាប់ប្រតិទិនរបស់អ្នកដើម្បីពិនិត្យមើលពេលវេលារវល់និងព្រឹត្តិការណ៍ថ្មីៗដោយស្វ័យប្រវត្តិនៅពេលពួកវាត្រូវបានកំណត់ពេល។",
"set_up_later": "រៀបចំនៅពេលក្រោយ",
"current_time": "ពេលវេលាបច្ចុប្បន្ន",
"details": "ព័ត៌មានលម្អិត",
"welcome": "សូមស្វាគមន៍",
"welcome_back": "សូមស្វាគមន៍មកវិញ",
"welcome_to_calcom": "សូមស្វាគមន៍មកកាន់ {{appName}}",
"welcome_instructions": "ប្រាប់យើងថាតើត្រូវហៅអ្នកយ៉ាងដូចម្តេច និងប្រាប់យើងពីតំបន់ពេលវេលារបស់អ្នក។ អ្នកអាចកែសម្រួលវាបាននៅពេលក្រោយ។",
"welcome_instructions": "ប្រាប់យើងពីអ្វីដែលត្រូវហៅអ្នក និងឱ្យយើងដឹងថាអ្នកស្ថិតនៅក្នុងតំបន់ពេលវេលាណា។ អ្នកនឹងអាចកែសម្រួលវានៅពេលក្រោយ។",
"connect_caldav": "ភ្ជាប់ទៅ CalDav (Beta)",
"connect_ics_feed": "ភ្ជាប់ទៅ ICS Feed",
"connect": "ភ្ជាប់",
@@ -361,7 +380,7 @@
"when": "ពេលណា",
"where": "កន្លែងណា",
"add_to_calendar": "បន្ថែមទៅប្រតិទិន",
"add_to_calendar_description": "ជ្រើសរើសកន្លែងដើម្បីបន្ថែមព្រឹត្តិការណ៍នៅពេលអ្នកត្រូវបានកក់។",
"add_to_calendar_description": "ជ្រើសរើសកន្លែងដែលត្រូវបន្ថែមព្រឹត្តិការណ៍នៅពេលអ្នកត្រូវបានកក់។",
"add_events_to": "បន្ថែមព្រឹត្តិការណ៍ទៅ",
"add_another_calendar": "បន្ថែមប្រតិទិនមួយទៀត",
"other": "ផ្សេងទៀត",
@@ -1153,6 +1172,7 @@
"test_failed": "ការធ្វើតេស្តបរាជ័យ",
"provide_api_key": "ផ្តល់ API key",
"api_key_modal_subtitle": "API keys អនុញ្ញាតឱ្យអ្នកធ្វើការហៅ API សម្រាប់គណនីផ្ទាល់ខ្លួនរបស់អ្នក។",
"api_key_modal_subtitle_platform": "បង្កើតទីផ្សារឬវេទិកាជំនួសវិញ។",
"api_keys_subtitle": "បង្កើត API keys ដើម្បីប្រើសម្រាប់ចូលដំណើរការគណនីផ្ទាល់ខ្លួនរបស់អ្នក។",
"create_api_key": "បង្កើត API key",
"personal_note": "ដាក់ឈ្មោះសម្រាប់ key នេះ",
@@ -1171,6 +1191,8 @@
"confirm_delete_api_key": "ដកចេញ API key នេះ",
"disable_rescheduling": "បិទការកំណត់ពេលវេលាឡើងវិញ",
"description_disable_rescheduling": "ភ្ញៀវលែងអាចកំណត់ពេលវេលាព្រឹត្តិការណ៍ឡើងវិញតាមរយៈការអញ្ជើញប្រតិទិន ឬអ៊ីមែលទៀតហើយ",
"allow_rescheduling_cancelled_bookings": "អនុញ្ញាតឱ្យកក់តាមរយៈតំណកំណត់ពេលឡើងវិញ",
"description_allow_rescheduling_cancelled_bookings": "នៅពេលបើកដំណើរការ អ្នកប្រើប្រាស់នឹងអាចបង្កើតការកក់ថ្មីនៅពេលព្យាយាមកំណត់ពេលវេលាឡើងវិញសម្រាប់ការកក់ដែលត្រូវបានលុបចោល",
"disable_cancelling": "បិទការលុបចោល",
"description_disable_cancelling": "ភ្ញៀវលែងអាចលុបចោលព្រឹត្តិការណ៍តាមរយៈការអញ្ជើញប្រតិទិន ឬអ៊ីមែលទៀតហើយ",
"revoke_api_key": "ដកចេញ API key",
@@ -1572,7 +1594,7 @@
"location_info": "ទីតាំងនៃព្រឹត្តិការណ៍",
"additional_notes_info": "កំណត់ចំណាំបន្ថែមនៃការកក់",
"attendee_name_info": "ឈ្មោះអ្នកកក់",
"organizer_name_info": "ឈ្មោះអ្នករៀបចំ",
"organizer_name_info": "ឈ្មោះរបស់អ្នករៀបចំ",
"to": "ទៅ",
"workflow_turned_on_successfully": "ដំណើរការរបស់ {{workflowName}} បានបើក {{offOn}} ដោយជោគជ័យ",
"download_responses": "ទាញយកចម្លើយ",
@@ -1613,7 +1635,7 @@
"workflow_example_6": "ផ្ញើសារតាមសារ SMS ផ្ទាល់ខ្លួននៅពេលមានព្រឹត្តិការណ៍ថ្មីត្រូវបានកក់ទៅម្ចាស់ផ្ទះ",
"count_managed_to_limit": "រួមបញ្ចូលចំនួនការកក់ពីប្រភេទព្រឹត្តិការណ៍ដែលគ្រប់គ្រង",
"welcome_to_cal_header": "សូមស្វាគមន៍មកកាន់ {{appName}}!",
"edit_form_later_subtitle": "អ្នកអាចកែសម្រួលវាបាននៅពេលក្រោយ។",
"edit_form_later_subtitle": "អ្នកនឹងអាចកែសម្រួលវានៅពេលក្រោយ។",
"connect_calendar_later": "ខ្ញុំនឹងភ្ជាប់ប្រតិទិនរបស់ខ្ញុំនៅពេលក្រោយ",
"problem_saving_user_profile": "មានបញ្ហាក្នុងការរក្សាទុកទិន្នន័យរបស់អ្នក។ សូមព្យាយាមម្តងទៀត ឬទាក់ទងទៅកាន់ការគាំទ្រអតិថិជន។",
"purchase_missing_seats": "ទិញកៅអីដែលខ្វះ",
@@ -1675,7 +1697,7 @@
"create_first_api_key_description": "កូនសោ API អនុញ្ញាតឱ្យកម្មវិធីផ្សេងទៀតទំនាក់ទំនងជាមួយ {{appName}}",
"back_to_signin": "ត្រឡប់ទៅចូលប្រើ",
"reset_link_sent": "បានផ្ញើតំណភ្ជាប់កំណត់ឡើងវិញ",
"password_reset_email": "អ៊ីមែលមួយកំពុងត្រូវផ្ញើទៅ {{email}} ជាមួយនឹងសេចក្តីណែនាំដើម្បីកំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញ។",
"password_reset_email": "អ៊ីមែលកំពុងត្រូវបានផ្ញើទៅ {{email}} ជាមួយនឹងការណែនាំដើម្បីកំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញ។",
"password_reset_leading": "ប្រសិនបើអ្នកមិនទទួលបានអ៊ីមែលក្នុងពេលឆាប់ៗនេះ សូមពិនិត្យមើលថាអាសយដ្ឋានអ៊ីមែលដែលអ្នកបានបញ្ចូលត្រឹមត្រូវ ឬពិនិត្យមើលថតសារឥតបានការ ឬទាក់ទងផ្នែកគាំទ្រប្រសិនបើបញ្ហានេះនៅតែមាន។",
"password_updated": "ពាក្យសម្ងាត់ត្រូវបានធ្វើបច្ចុប្បន្នភាព!",
"pending_payment": "ការទូទាត់កំពុងរង់ចាំ",
@@ -1696,12 +1718,17 @@
"only_show_first_available_slot_description": "នេះនឹងកំណត់ភាពអាចប្រើប្រាស់របស់អ្នកសម្រាប់ប្រភេទព្រឹត្តិការណ៍នេះទៅស្លុតមួយក្នុងមួយថ្ងៃ ដែលត្រូវបានកំណត់នៅពេលវេលាដំបូងបំផុតដែលអាចប្រើបាន។",
"limit_total_booking_duration": "កំណត់រយៈពេលសរុបនៃការកក់",
"limit_total_booking_duration_description": "កំណត់ចំនួនម៉ោងសរុបដែលអាចកក់ព្រឹត្តិការណ៍នេះបាន",
"booker_booking_limit": "កម្រិតការកក់សកម្មរបស់អ្នកកក់",
"booker_booking_limit_description": "កំណត់ចំនួននៃការកក់សកម្មដែលអ្នកកក់អាចធ្វើសម្រាប់ប្រភេទព្រឹត្តិការណ៍នេះ",
"recurring_event_doesnt_support_booker_booking_limit": "ព្រឹត្តិការណ៍ដែលកើតឡើងជាប្រចាំមិនគាំទ្រកម្រិតការកក់របស់អ្នកកក់ទេ",
"add_limit": "បន្ថែមកំណត់",
"team_name_required": "ត្រូវការឈ្មោះក្រុម",
"show_attendees": "ចែករំលែកព័ត៌មានអ្នកចូលរួមរវាងភ្ញៀវ",
"show_available_seats_count": "បង្ហាញចំនួនកៅអីដែលមាន",
"how_booking_questions_as_variables": "របៀបប្រើសំណួរកក់ជាអថេរ?",
"format": "ទ្រង់ទ្រាយ",
"questions": "សំណួរ",
"all_info_your_booker_provide": "ព័ត៌មានទាំងអស់ដែលអ្នកកក់របស់អ្នកគួរតែផ្តល់មុនពេលកក់ជាមួយអ្នក។",
"uppercase_for_letters": "ប្រើអក្សរធំសម្រាប់អក្សរទាំងអស់",
"replace_whitespaces_underscores": "ជំនួសចន្លោះទទេដោយសញ្ញាគូសក្រោម",
"platform_members": "សមាជិកវេទិកា",
@@ -1915,7 +1942,7 @@
"new_attendee": "អ្នកចូលរួមថ្មី",
"awaiting_approval": "កំពុងរង់ចាំការអនុម័ត",
"requires_google_calendar": "កម្មវិធីនេះត្រូវការការតភ្ជាប់ប្រតិទិន Google",
"event_type_requires_google_calendar": "\"បន្ថែមទៅប្រតិទិន\" សម្រាប់ប្រភេទព្រឹត្តិការណ៍នេះត្រូវការប្រតិទិន Google ដើម្បីឱ្យ Meet ដំណើរការ។ ភ្ជាប់វានៅ <0>ទីនេះ</0>។",
"event_type_requires_google_calendar": "\"បន្ថែមទៅប្រតិទិន\" សម្រាប់ប្រភេទព្រឹត្តិការណ៍នេះត្រូវតែជា Google Calendar ដើម្បីឱ្យ Meet ដំណើរការ។ ភ្ជាប់វា <0>នៅទីនេះ</0>។",
"connected_google_calendar": "អ្នកបានតភ្ជាប់គណនីប្រតិទិន Google។",
"using_meet_requires_calendar": "ការប្រើប្រាស់ Google Meet ត្រូវការប្រតិទិន Google ដែលបានតភ្ជាប់",
"continue_to_install_google_calendar": "បន្តដើម្បីដំឡើងប្រតិទិន Google",
@@ -1967,12 +1994,12 @@
"delete_sso_configuration_confirmation_description": "តើអ្នកប្រាកដថាអ្នកចង់លុបការកំណត់រចនាសម្ព័ន្ធ {{connectionType}} មែនទេ? សមាជិកក្រុមរបស់អ្នកដែលប្រើការចូល {{connectionType}} នឹងមិនអាចចូលប្រើ Cal.com បានទៀតទេ។",
"organizer_timezone": "ល្វែងម៉ោងរបស់អ្នករៀបចំ",
"email_user_cta": "មើលការអញ្ជើញ",
"email_no_user_invite_heading_subteam": "អ្នកត្រូវបានអញ្ជើញឱ្យចូលរួមជាក្រុមនៃអង្គការ {{parentTeamName}}",
"email_no_user_invite_heading_org": "អ្នកត្រូវបានអញ្ជើញឱ្យចូលរួមជាអង្គការ {{appName}}",
"email_no_user_invite_heading_subteam": "អ្នកត្រូវបានអញ្ជើញឱ្យចូលរួមក្នុងក្រុមនៃអង្គការ {{parentTeamName}}",
"email_no_user_invite_heading_org": "អ្នកត្រូវបានអញ្ជើញឱ្យចូលរួមក្នុងអង្គការ {{appName}}",
"email_no_user_invite_subheading": "{{invitedBy}} បានអញ្ជើញអ្នកឱ្យចូលរួមជាក្រុមរបស់ពួកគេនៅលើ {{appName}}។ {{appName}} គឺជាកម្មវិធីរៀបចំព្រឹត្តិការណ៍ដែលអនុញ្ញាតឱ្យអ្នកនិងក្រុមរបស់អ្នករៀបចំការជួបប្រជុំដោយមិនចាំបាច់ផ្លាស់ប្តូរអ៊ីមែល។",
"email_user_invite_subheading_subteam": "{{invitedBy}} បានអញ្ជើញអ្នកឱ្យចូលរួមជាក្រុម {{teamName}} ក្នុងអង្គការ {{parentTeamName}} របស់ពួកគេនៅលើ {{appName}}។ {{appName}} គឺជាកម្មវិធីរៀបចំព្រឹត្តិការណ៍ដែលអនុញ្ញាតឱ្យអ្នកនិងក្រុមរបស់អ្នករៀបចំការជួបប្រជុំដោយមិនចាំបាច់ផ្លាស់ប្តូរអ៊ីមែល។",
"email_user_invite_subheading_org": "{{invitedBy}} បានអញ្ជើញអ្នកឱ្យចូលរួមជាអង្គការ {{teamName}} របស់ពួកគេនៅលើ {{appName}}។ {{appName}} គឺជាកម្មវិធីរៀបចំព្រឹត្តិការណ៍ដែលអនុញ្ញាតឱ្យអ្នកនិងអង្គការរបស់អ្នករៀបចំការជួបប្រជុំដោយមិនចាំបាច់ផ្លាស់ប្តូរអ៊ីមែល។",
"email_no_user_invite_steps_intro": "យើងនឹងណែនាំអ្នកឱ្យឆ្លងកាត់ជំហានខ្លីៗមួយចំនួន ហើយអ្នកនឹងរីករាយនឹងការរៀបចំពេលវេលាដោយគ្មានការកង្វល់ជាមួយ {{entity}} របស់អ្នកក្នុងពេលឆាប់ៗនេះ។",
"email_no_user_invite_steps_intro": "យើងនឹងណែនាំអ្នកតាមជំហានខ្លីៗពីរបីហើយអ្នកនឹងរីករាយជាមួយការកំណត់ពេលវេលាដោយគ្មានភាពតានតឹងជាមួយ {{entity}} របស់អ្នកក្នុងពេលឆាប់ៗ។",
"email_no_user_step_one": "ជ្រើសរើសឈ្មោះអ្នកប្រើរបស់អ្នក",
"email_no_user_step_two": "ភ្ជាប់គណនីប្រតិទិនរបស់អ្នក",
"email_no_user_step_three": "កំណត់ភាពអាចប្រើបានរបស់អ្នក",
@@ -2048,7 +2075,7 @@
"make_informed_decisions": "ធ្វើការសម្រេចចិត្តដោយមានព័ត៌មានជាក់លាក់ជាមួយ Insights",
"make_informed_decisions_description": "ផ្ទាំងគ្រប់គ្រង Insights របស់យើងបង្ហាញសកម្មភាពទាំងអស់នៅក្នុងក្រុមរបស់អ្នក និងបង្ហាញនិន្នាការដែលអនុញ្ញាតឱ្យមានការរៀបចំកាលវិភាគក្រុម និងការសម្រេចចិត្តល្អប្រសើរជាងមុន។",
"view_bookings_across": "មើលការកក់ទូទាំងសមាជិកទាំងអស់",
"view_bookings_across_description": "មើលថានរណាខ្លះកំពុងទទួលការកក់ច្រើនបំផុត និងធានាឱ្យមានការចែកចាយល្អបំផុតទូទាំងក្រុមរបស់អ្នក",
"view_bookings_across_description": "មើលថាតើនរណាកំពុងទទួលបានការកក់ច្រើនបំផុតនិងធានាបាននូវការចែកចាយល្អបំផុតនៅក្នុងក្រុមរបស់អ្នក",
"identify_booking_trends": "កំណត់និន្នាការការកក់",
"identify_booking_trends_description": "មើលថាម៉ោងណានៃសប្តាហ៍ និងម៉ោងណានៅក្នុងថ្ងៃដែលពេញនិយមសម្រាប់អ្នកកក់របស់អ្នក",
"spot_popular_event_types": "ស្វែងរកប្រភេទព្រឹត្តិការណ៍ពេញនិយម",
@@ -2171,7 +2198,7 @@
"insights_no_data_found_for_filter": "មិនមានទិន្នន័យសម្រាប់តម្រង ឬកាលបរិច្ឆេទដែលបានជ្រើស។",
"acknowledge_booking_no_show_fee": "ខ្ញុំយល់ព្រមថា ប្រសិនបើខ្ញុំមិនចូលរួមព្រឹត្តិការណ៍នេះ នោះថ្លៃសេវាកម្មមិនមកចូលរួមចំនួន {{amount, currency}} នឹងត្រូវបានគិតលើកាតរបស់ខ្ញុំ។",
"card_details": "ព័ត៌មានកាត",
"something_went_wrong_on_our_end": "មានបញ្ហាអ្វីមួយនៅផ្នែករបស់យើង។ សូមទាក់ទងក្រុមគាំទ្ររបស់យើង ហើយយើងនឹងដោះស្រាយបញ្ហាឱ្យអ្នកភ្លាមៗ។",
"something_went_wrong_on_our_end": "មានបញ្ហាខាងយើង។ ទាក់ទងក្រុមគាំទ្ររបស់យើង ហើយយើងនឹងជួសជុលវាភ្លាមៗសម្រាប់អ្នក។",
"please_provide_following_text_to_suppport": "សូមផ្តល់អត្ថបទខាងក្រោមនៅពេលទាក់ទងគាំទ្រ ដើម្បីជួយអ្នកបានល្អប្រសើរ",
"seats_and_no_show_fee_error": "បច្ចុប្បន្នមិនអាចបើកដំណើរការទីតាំងនិងគិតថ្លៃសេវាកម្មមិនមកចូលរួមបានទេ",
"complete_your_booking": "បញ្ចប់ការកក់របស់អ្នក",
@@ -2276,7 +2303,7 @@
"messaging": "ការផ្ញើសារ",
"sender_id_info": "ឈ្មោះឬលេខដែលបង្ហាញជាអ្នកផ្ញើសារ SMS (ប្រទេសខ្លះមិនអនុញ្ញាតឱ្យប្រើ ID អ្នកផ្ញើអាល់ហ្វានូមេរិក)",
"org_admins_can_create_new_teams": "មានតែអ្នកគ្រប់គ្រងអង្គការរបស់អ្នកប៉ុណ្ណោះដែលអាចបង្កើតក្រុមថ្មីបាន",
"google_new_spam_policy": "គោលនយោបាយសារឥតបានការថ្មីរបស់ Google អាចបញ្ឈប់អ្នកមិនឱ្យទទួលសារអ៊ីមែល និងការជូនដំណឹងប្រចាំថ្ងៃអំពីការកក់នេះ។",
"google_new_spam_policy": "គោលការណ៍ស្ប៉ាមថ្មីរបស់ Google អាចរារាំងអ្នកពីការទទួលបានការជូនដំណឹងតាមអ៊ីមែលនិងប្រតិទិនអំពីការកក់នេះ។",
"resolve": "ដោះស្រាយ",
"no_organization_slug": "មានកំហុសក្នុងការបង្កើតក្រុមសម្រាប់អង្គការនេះ។ ខ្វះ URL slug។",
"copy_link_org": "ចម្លងតំណទៅអង្គការ",
@@ -2311,7 +2338,6 @@
"delegation_credential_description": "លិខិតសម្គាល់ប្រគល់សិទ្ធិអនុញ្ញាតឱ្យអ្នកគ្រប់គ្រងការចូលប្រើប្រតិទិន Google Workspace សម្រាប់អង្គការរបស់អ្នក។",
"add_client_id_in_google_workspace_with_below_scope": "បន្ថែម Client Id នេះនៅក្នុង Google Workspace ជាមួយនឹងវិសាលភាពខាងក្រោម",
"delegation_credential_enabled": "លិខិតសម្គាល់ប្រគល់សិទ្ធិត្រូវបានបើកដំណើរការ",
"delegation_credential_disabled": "លិខិតសម្គាល់ប្រគល់សិទ្ធិត្រូវបានបិទដំណើរការ",
"add_delegation_credential": "បន្ថែមលិខិតសម្គាល់ប្រគល់សិទ្ធិ",
"edit_delegation_credential": "កែសម្រួលលិខិតសម្គាល់ប្រគល់សិទ្ធិ",
"domain": "ដែន",
@@ -2454,7 +2480,7 @@
"view_overlay_calendar_events": "មើលព្រឹត្តិការណ៍ប្រតិទិនរបស់អ្នកដើម្បីជៀសវាងការកក់ពេលវេលាដែលជាន់គ្នា។",
"join_event_location": "ចូលរួម {{eventLocationType}}",
"troubleshooting": "ដោះស្រាយបញ្ហា",
"calendars_were_checking_for_conflicts": "ប្រតិទិនដែលយើងកំពុងពិនិត្យសម្រាប់ជម្លោះ",
"calendars_were_checking_for_conflicts": "ប្រតិទិនដែលយើងកំពុងពិនិត្យមើលភាពមិនស្របគ្នា",
"availabilty_schedules": "កាលវិភាគភាពអាចប្រើបាន",
"manage_calendars": "គ្រប់គ្រងប្រតិទិន",
"manage_availability_schedules": "គ្រប់គ្រងកាលវិភាគភាពអាចប្រើបាន",
@@ -2582,7 +2608,7 @@
"date": "កាលបរិច្ឆេទ",
"overlaps_with_existing_schedule": "នេះជាមួយនឹងកាលវិភាគដែលមានរួចហើយ។ សូមជ្រើសកាលបរិច្ឆេទផ្សេងទៀត។",
"org_admin_no_slots|heading": "រកមិនឃើញភាពអាចប្រើបានសម្រាប់ {{name}}",
"org_admin_no_slots|content": "សួស្តី អ្នកគ្រប់គ្រងអង្គការ,<br /><br />សូមចំណាំ៖ យើងបានទទួលដំណឹងថា {{username}} មិនមានភាពអាចប្រើបាននៅពេលអ្នកប្រើបានចូលទៅកាន់ {{username}}/{{slug}}<br /><br />មានមូលហេតុមួយចំនួនដែលអាចបណ្តាលឱ្យមានបញ្ហានេះ<br />អ្នកប្រើមិនមានកាលង់តារាបណ្តាញណាមួយដែលបានភ្ជាប់<br />កាលវិភាគរបស់ពួកគេដែលភ្ជាប់នឹងព្រឹត្តិការណ៍នេះមិនត្រូវបានបើក<br /> <br />យើងស្នើឱ្យពិនិត្យភាពអាចប្រើបានរបស់ពួកគេដើម្បីដោះស្រាយបញ្ហានេះ។",
"org_admin_no_slots|content": "សួស្តី អ្នកគ្រប់គ្រងអង្គការ,<br /><br />សូមកត់សម្គាល់៖ វាត្រូវបានយកមកចាប់អារម្មណ៍របស់យើងថា {{username}} មិនមានពេលវេលាទំនេរនៅពេលដែលអ្នកប្រើប្រាស់បានចូលទៅកាន់ {{username}}/{{slug}}<br /><br />មានហេតុផលពីរបីដែលអាចបណ្តាលឱ្យរឿងនេះកើតឡើង<br />អ្នកប្រើប្រាស់មិនមានប្រតិទិនណាមួយដែលបានភ្ជាប់<br />កាលវិភាគរបស់ពួកគេដែលភ្ជាប់ទៅនឹងព្រឹត្តិការណ៍នេះមិនត្រូវបានបើកដំណើរការ<br /> <br />យើងណែនាំឱ្យពិនិត្យមើលពេលវេលាទំនេររបស់ពួកគេដើម្បីដោះស្រាយបញ្ហានេះ។",
"org_admin_no_slots|cta": "បើកភាពអាចប្រើបានរបស់អ្នកប្រើ",
"organization_no_slots_notification_switch_title": "ទទួលការជូនដំណឹងនៅពេលក្រុមរបស់អ្នកមិនមានភាពអាចប្រើបាន",
"organization_no_slots_notification_switch_description": "អ្នកគ្រប់គ្រងនឹងទទួលបានការជូនដំណឹងតាមអ៊ីមែលនៅពេលអ្នកប្រើព្យាយាមកក់សមាជិកក្រុមមួយនិងជួបបញ្ហា 'មិនមានភាពអាចប្រើបាន'។ យើងនឹងផ្ញើអ៊ីមែលនេះបន្ទាប់ពីមានករណីពីរដងហើយនឹងរំលឹកអ្នករៀងរាល់ ៧ ថ្ងៃក្នុងមួយអ្នកប្រើ។",
@@ -2592,11 +2618,11 @@
"email_team_invite|subject|invited_to_org": "{{user}} បានអញ្ជើញអ្នកចូលរួមអង្គការ {{team}} នៅលើ {{appName}}",
"email_team_invite|subject|added_to_subteam": "{{user}} បានបន្ថែមអ្នកទៅក្រុម {{team}} នៃអង្គការ {{parentTeamName}} នៅលើ {{appName}}",
"email_team_invite|subject|invited_to_regular_team": "{{user}} បានអញ្ជើញអ្នកចូលរួមក្រុម {{team}} នៅលើ {{appName}}",
"email_team_invite|heading|added_to_org": "អ្នកត្រូវបានបន្ថែមទៅក្នុងអង្គការរបស់ {{appName}}",
"email_team_invite|heading|invited_to_org": "អ្នកត្រូវបានអញ្ជើញទៅក្នុងអង្គការរបស់ {{appName}}",
"email_team_invite|heading|added_to_subteam": "អ្នកត្រូវបានបន្ថែមទៅក្រុមមួយនៃអង្គការរបស់ {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "អ្នកត្រូវបានអញ្ជើញទៅក្រុមមួយនៃអង្គការរបស់ {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "អ្នកត្រូវបានអញ្ជើញចូលរួមក្រុម {{appName}}",
"email_team_invite|heading|added_to_org": "អ្នកត្រូវបានបន្ថែមទៅក្នុងអង្គការ {{appName}}",
"email_team_invite|heading|invited_to_org": "អ្នកត្រូវបានអញ្ជើញចូលរួមក្នុងអង្គការ {{appName}}",
"email_team_invite|heading|added_to_subteam": "អ្នកត្រូវបានបន្ថែមទៅក្នុងក្រុមនៃអង្គការ {{parentTeamName}}",
"email_team_invite|heading|invited_to_subteam": "អ្នកត្រូវបានអញ្ជើញចូលរួមក្នុងក្រុមនៃអង្គការ {{parentTeamName}}",
"email_team_invite|heading|invited_to_regular_team": "អ្នកត្រូវបានអញ្ជើញឱ្យចូលរួមក្នុងក្រុម {{appName}}",
"email_team_invite|content|added_to_org": "{{invitedBy}} បានបន្ថែមអ្នកទៅក្នុងអង្គការរបស់ <strong>{{teamName}}</strong>.",
"email_team_invite|content|invited_to_org": "{{invitedBy}} បានអញ្ជើញអ្នកចូលរួមអង្គការរបស់ {{teamName}}.",
"email_team_invite|subject|invited_to_subteam": "{{user}} បានអញ្ជើញអ្នកឱ្យចូលរួមក្រុម {{team}} នៃអង្គការ {{parentTeamName}} នៅលើ {{appName}}",
@@ -2781,6 +2807,7 @@
"limit_team_booking_frequency_description": "កំណត់ចំនួនដងដែលសមាជិកអាចត្រូវបានកក់នៅក្នុងប្រភេទព្រឹត្តិការណ៍របស់ក្រុមទាំងអស់",
"booking_limits_updated_successfully": "ដែនកំណត់ការកក់ត្រូវបានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ",
"you_are_unauthorized_to_make_this_change_to_the_booking": "អ្នកមិនមានសិទ្ធិធ្វើការផ្លាស់ប្តូរនេះលើការកក់ទេ",
"delegation_credential_disabled": "លិខិតសម្គាល់ប្រគល់សិទ្ធិត្រូវបានបិទដំណើរការ",
"matching_members": "សមាជិកដែលត្រូវគ្នា",
"x_matching_members": "សមាជិកដែលត្រូវគ្នា {{x}} នាក់",
"matching_members_queue_using_attribute_weights": "ជួររៀងសមាជិកដែលត្រូវគ្នា (ប្រើទំងន់គុណលក្ខណៈ)",
@@ -2861,6 +2888,7 @@
"yes_reassign": "បាទ/ចាស កំណត់ឡើងវិញ",
"filter_by_attributes": "ច្រោះតាមលក្ខណៈ",
"reassign_reason": "មូលហេតុនៃការកំណត់ឡើងវិញ",
"field_type_change_suggestion": "ការផ្លាស់ប្តូរប្រភេទវាលអាចបណ្តាលឱ្យបាត់បង់ទិន្នន័យ។ សូមបង្កើតវាលថ្មីជំនួសវិញ។",
"reassigned_by": "កំណត់ឡើងវិញដោយ",
"row": "ជួរដេក",
"rows": "ជួរដេក",
@@ -3043,6 +3071,7 @@
"you_do_not_have_permission_to_create_an_organization_for_this_email": "អ្នកមិនមានសិទ្ធិបង្កើតអង្គការសម្រាប់អ៊ីមែលនេះទេ",
"you_do_not_have_permission_to_migrate_one_or_more_of_the_teams": "អ្នកមិនមានសិទ្ធិផ្លាស់ប្តូរក្រុមមួយឬច្រើនទេ",
"organization_has_subscription_already": "អង្គការមានការជាវជាប្រចាំរួចហើយ",
"reset_interval_weighted_rr": "កំណត់ចន្លោះពេលឡើងវិញសម្រាប់ Round Robin ដែលមានទម្ងន់",
"interval": "ចន្លោះពេល",
"rr_reset_interval_description": "កំណត់ថាតើញឹកញាប់ប៉ុណ្ណាដែលការរាប់ការកក់ round robin ត្រូវកំណត់ឡើងវិញដើម្បីធានាការចែកចាយស្មើគ្នា។",
"daily": "ប្រចាំថ្ងៃ",
@@ -3059,6 +3088,7 @@
"ooo_team_redirect_infinite_not_allowed": "មានការបញ្ជូនបន្តត្រឡប់រវាងអ្នកប្រើប្រាស់ទាំងនេះរួចហើយ។",
"previous_ooo_empty_title": "រកមិនឃើញ OOO ពីមុនទេ",
"previous": "មុន",
"rr_interval_successfully_updated": "ចន្លោះពេល Round Robin បានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ",
"trial_mode": "របៀបសាកល្បង",
"inactive_team_plan": "ផែនការក្រុមដែលមិនសកម្ម",
"inactive_team_plan_description": "ផែនការក្រុមរបស់អ្នកមិនសកម្មទេ។ សូមពិនិត្យមើលការជាវរបស់អ្នក ឬទាក់ទងសេវាកម្មអតិថិជន",
@@ -3074,6 +3104,7 @@
"user_has_no_team_yet": "អ្នកមិនទាន់មានក្រុមនៅឡើយទេ",
"no_team_members": "អ្នកមិនទាន់មានសមាជិកក្រុមនៅឡើយទេ",
"recurring_event_doesnt_support_seats": "ព្រឹត្តិការណ៍ដែលកើតឡើងជាប្រចាំមិនគាំទ្រមុខងារកន្លែងអង្គុយទេ។ ធ្វើឱ្យវាមិនកើតឡើងជាប្រចាំដើម្បីបើកដំណើរការកន្លែងអង្គុយ។",
"booking_limit_per_booker_doesnt_support_recurring": "ព្រឹត្តិការណ៍ដែលកើតឡើងជាប្រចាំមិនគាំទ្រមុខងារកំណត់ការកក់ក្នុងមួយអ្នកកក់ទេ។ បិទការកំណត់ការកក់ក្នុងមួយអ្នកកក់ដើម្បីបើកដំណើរការព្រឹត្តិការណ៍ដែលកើតឡើងជាប្រចាំ។",
"seats_doesnt_support_recurring": "មុខងារកន្លែងអង្គុយមិនគាំទ្រព្រឹត្តិការណ៍ដែលកើតឡើងជាប្រចាំទេ។ បិទមុខងារកន្លែងអង្គុយដើម្បីធ្វើឱ្យវាកើតឡើងជាប្រចាំ។",
"recurring_event_seats_error": "ព្រឹត្តិការណ៍ដែលកើតឡើងជាប្រចាំមិនគាំទ្រមុខងារកន្លែងអង្គុយទេ។ បិទមុខងារកន្លែងអង្គុយឬធ្វើឱ្យព្រឹត្តិការណ៍មិនកើតឡើងជាប្រចាំ។",
"segment": "ផ្នែក",
@@ -3114,7 +3145,7 @@
"enable_delegation_credential": "បើកដំណើរការលិខិតសម្គាល់ប្រគល់សិទ្ធិ",
"enable_delegation_credential_description": "ផ្តល់សិទ្ធិឱ្យ Cal.com ចូលប្រើប្រតិទិនរបស់សមាជិកអង្គការទាំងអស់ដោយស្វ័យប្រវត្តិ តាមរយៈការបើកដំណើរការលិខិតសម្គាល់ប្រគល់សិទ្ធិ។",
"disable_delegation_credential": "បិទដំណើរការលិខិតសម្គាល់ប្រគល់សិទ្ធិ",
"disable_delegation_credential_description": "នៅពេលលិខិតសម្គាល់ប្រគល់សិទ្ធិត្រូវបានបិទ សមាជិកអង្គការដែលមិនទាន់បានភ្ជាប់ប្រតិទិនរបស់ពួកគេនឹងត្រូវធ្វើដោយដៃ។",
"disable_delegation_credential_description": "នៅពេលដែលលិខិតប្រគល់សិទ្ធិត្រូវបានបិទ សមាជិកអង្គការដែលមិនទាន់បានភ្ជាប់ប្រតិទិនរបស់ពួកគេនឹងត្រូវធ្វើដោយដៃ។",
"last_active": "សកម្មភាពចុងក្រោយ",
"member_since": "ជាសមាជិកតាំងពី",
"last_updated": "បានធ្វើបច្ចុប្បន្នភាពចុងក្រោយ",
@@ -3202,10 +3233,131 @@
"matching": "ការផ្គូផ្គង",
"event_redirect": "ការបញ្ជូនបន្តព្រឹត្តិការណ៍",
"reset_form": "កំណត់ទម្រង់ឡើងវិញ",
"rr_settings_successfully_updated": "ការកំណត់ Round Robin បានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ",
"distribution_basis_weighted_rr": "មូលដ្ឋានបែងចែកសម្រាប់ Round Robin ដែលមានទម្ងន់",
"timestamp_basis_description": "កំណត់ថាត្រាពេលវេលាព្រឹត្តិការណ៍មួយណាត្រូវបានប្រើជាមូលដ្ឋានសម្រាប់ការបែងចែក Round Robin ដែលមានទម្ងន់។",
"requires_credits": "តម្រូវឱ្យមានក្រេឌីត",
"requires_credits_tooltip": "អ្នកត្រូវការក្រេឌីតគ្រប់គ្រាន់នៅក្នុងគណនីរបស់អ្នកដើម្បីប្រើមុខងារនេះ",
"available_credits": "ក្រេឌីតដែលមាន",
"create_role": "បង្កើតតួនាទី",
"roles_and_permissions": "តួនាទី និងការអនុញ្ញាត",
"roles_and_permissions_description": "គ្រប់គ្រងតួនាទី និងការអនុញ្ញាតសម្រាប់អង្គការរបស់អ្នក",
"learn_more_permissions": "ស្វែងយល់បន្ថែមអំពីរបៀបដែលការអនុញ្ញាតដំណើរការ",
"role_name": "ឈ្មោះតួនាទី",
"role_name_placeholder": "ឧ. ក្រុមលក់, បុគ្គលិកគាំទ្រ",
"role_description": "ការពិពណ៌នាអំពីតួនាទី",
"role_description_placeholder": "ពិពណ៌នាអំពីតួនាទីនេះសម្រាប់អ្វី និងការអនុញ្ញាតអ្វីខ្លះដែលវាត្រូវការ",
"default_role": "តួនាទីលំនាំដើម",
"custom_role": "តួនាទីផ្ទាល់ខ្លួន",
"advanced": "កម្រិតខ្ពស់",
"search_permissions": "ស្វែងរកការអនុញ្ញាត",
"all_permissions": "ការអនុញ្ញាតទាំងអស់",
"none": "គ្មាន",
"read_only": "អានតែប៉ុណ្ណោះ",
"pbac_desc_all_actions_all_resources": "សកម្មភាពទាំងអស់លើធនធានទាំងអស់",
"pbac_resource_all": "ធនធានទាំងអស់",
"pbac_resource_event_type": "ប្រភេទព្រឹត្តិការណ៍",
"pbac_resource_team": "ក្រុម",
"pbac_resource_organization": "អង្គការ",
"pbac_resource_booking": "ការកក់",
"pbac_resource_insights": "ព័ត៌មានជ្រៅ",
"pbac_resource_role": "តួនាទី",
"pbac_action_all": "សកម្មភាពទាំងអស់",
"pbac_action_create": "បង្កើត",
"pbac_action_read": "មើល",
"pbac_action_update": "កែសម្រួល",
"pbac_action_delete": "លុប",
"pbac_action_manage": "គ្រប់គ្រង",
"pbac_action_invite": "អញ្ជើញ",
"pbac_action_remove": "យកចេញ",
"pbac_action_change_member_role": "ប្តូរតួនាទីសមាជិក",
"pbac_action_list_members": "បញ្ជីសមាជិក",
"pbac_action_manage_billing": "គ្រប់គ្រងវិក្កយបត្រ",
"pbac_action_read_team_bookings": "មើលការកក់របស់ក្រុម",
"pbac_action_read_org_bookings": "មើលការកក់របស់អង្គការ",
"pbac_action_read_recordings": "មើលការថត",
"role_created_successfully": "បានបង្កើតតួនាទីដោយជោគជ័យ",
"role_updated_successfully": "បានធ្វើបច្ចុប្បន្នភាពតួនាទីដោយជោគជ័យ",
"delete_role": "លុបតួនាទី",
"confirm_delete_role": "តើអ្នកប្រាកដថាចង់លុបតួនាទីនេះមែនទេ? សកម្មភាពនេះមិនអាចត្រឡប់ក្រោយវិញបានទេ។",
"role_deleted_successfully": "បានលុបតួនាទីដោយជោគជ័យ",
"error_creating_role": "មានបញ្ហាក្នុងការបង្កើតតួនាទី",
"error_updating_role": "មានបញ្ហាក្នុងការធ្វើបច្ចុប្បន្នភាពតួនាទី",
"pbac_desc_create_roles": "បង្កើតតួនាទី",
"pbac_desc_view_roles": "មើលតួនាទី",
"pbac_desc_update_roles": "ធ្វើបច្ចុប្បន្នភាពតួនាទី",
"pbac_desc_delete_roles": "លុបតួនាទី",
"pbac_desc_manage_roles": "សកម្មភាពទាំងអស់លើតួនាទី",
"pbac_desc_create_event_types": "បង្កើតប្រភេទព្រឹត្តិការណ៍",
"pbac_desc_view_event_types": "មើលប្រភេទព្រឹត្តិការណ៍",
"pbac_desc_update_event_types": "ធ្វើបច្ចុប្បន្នភាពប្រភេទព្រឹត្តិការណ៍",
"pbac_desc_delete_event_types": "លុបប្រភេទព្រឹត្តិការណ៍",
"pbac_desc_manage_event_types": "សកម្មភាពទាំងអស់លើប្រភេទព្រឹត្តិការណ៍",
"pbac_desc_create_teams": "បង្កើតក្រុម",
"pbac_desc_view_team_details": "មើលព័ត៌មានលម្អិតរបស់ក្រុម",
"pbac_desc_update_team_settings": "ធ្វើបច្ចុប្បន្នភាពការកំណត់ក្រុម",
"pbac_desc_delete_team": "លុបក្រុម",
"pbac_desc_invite_team_members": "អញ្ជើញសមាជិកក្រុម",
"pbac_desc_remove_team_members": "ដកសមាជិកក្រុមចេញ",
"pbac_desc_change_team_member_role": "ផ្លាស់ប្តូរតួនាទីរបស់សមាជិកក្រុម",
"pbac_desc_manage_teams": "សកម្មភាពទាំងអស់លើក្រុម",
"pbac_desc_create_organization": "បង្កើតអង្គការ",
"pbac_desc_view_organization_details": "មើលព័ត៌មានលម្អិតអំពីអង្គការ",
"pbac_desc_list_organization_members": "បញ្ជីសមាជិកអង្គការ",
"pbac_desc_invite_organization_members": "អញ្ជើញសមាជិកអង្គការ",
"pbac_desc_remove_organization_members": "ដកសមាជិកអង្គការចេញ",
"pbac_desc_manage_organization_billing": "គ្រប់គ្រងការចេញវិក្កយបត្រអង្គការ",
"pbac_desc_change_organization_member_role": "ផ្លាស់ប្តូរតួនាទីរបស់សមាជិកអង្គការ",
"pbac_desc_edit_organization_settings": "កែសម្រួលការកំណត់អង្គការ",
"pbac_desc_manage_organizations": "សកម្មភាពទាំងអស់លើអង្គការ",
"pbac_desc_view_bookings": "មើលការកក់",
"pbac_desc_view_team_bookings": "មើលការកក់របស់ក្រុម",
"pbac_desc_view_organization_bookings": "មើលការកក់របស់អង្គការ",
"pbac_desc_view_booking_recordings": "មើលការថតការកក់",
"pbac_desc_update_bookings": "ធ្វើបច្ចុប្បន្នភាពការកក់",
"pbac_desc_manage_bookings": "សកម្មភាពទាំងអស់លើការកក់",
"pbac_desc_view_team_insights": "មើលការយល់ដឹងរបស់ក្រុម",
"pbac_desc_manage_team_insights": "គ្រប់គ្រងការយល់ដឹងរបស់ក្រុម",
"read_permission_auto_enabled_tooltip": "សិទ្ធិអានត្រូវបានបើកដោយស្វ័យប្រវត្តិនៅពេលបង្កើត ធ្វើបច្ចុប្បន្នភាព ឬលុបធនធាន",
"choose_restriction_schedule": "បន្ថែមកាលវិភាគដែនកំណត់",
"choose_restriction_schedule_description": "បើកដំណើរការវាប្រសិនបើអ្នកចង់ដាក់កំហិតលើភាពអាចរកបានរបស់ម្ចាស់ផ្ទះសម្រាប់ប្រភេទព្រឹត្តិការណ៍នេះដោយផ្អែកលើកាលវិភាគដែនកំណត់។ វាគ្រាន់តែដកចេញនូវរន្ធដែលមិនមាននៅក្នុងកាលវិភាគដែនកំណត់ វាមិនបន្ថែមរន្ធថ្មីណាមួយទេ។",
"use_booker_timezone": "ប្រើប្រាស់តំបន់ពេលវេលារបស់អ្នកកក់",
"use_booker_timezone_info": "អនុវត្តកាលវិភាគដែនកំណត់ដែលបានជ្រើសរើសនៅក្នុងតំបន់ពេលវេលារបស់អ្នកកក់",
"load_balancing_warning": "វានឹងបិទការផ្ទុកតុល្យភាពលើប្រភេទព្រឹត្តិការណ៍ round robin ទាំងអស់របស់អ្នក",
"rr_load_balancing_disabled": "ការផ្ទុកតុល្យភាពអាចប្រើបានតែនៅពេលមូលដ្ឋានពេលវេលាត្រូវបានកំណត់ទៅជាពេលវេលាបង្កើតការកក់",
"round_robin_settings_description": "ប្ដូរការកំណត់ round robin លំនាំដើមសម្រាប់ក្រុមនេះ",
"round_robin_settings_updated_successfully": "ការកំណត់ Round Robin បានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ",
"booking_creation_time": "ពេលវេលាបង្កើតការកក់",
"meeting_start_time": "ពេលវេលាចាប់ផ្តើមការប្រជុំ",
"members_affected_by_disabling_delegation_credential": "សមាជិកដែលរងផលប៉ះពាល់",
"no_members_affected_by_disabling_delegation_credential": "គ្មានសមាជិកណាម្នាក់រងផលប៉ះពាល់ដោយការបិទលិខិតប្រគល់សិទ្ធិទេ",
"download_expense_log": "ទាញយកកំណត់ហេតុចំណាយ",
"error_downloading_expense_log": "មានបញ្ហាក្នុងការទាញយកកំណត់ហេតុចំណាយ",
"offer_to_reschedule_last_booking": "ស្នើសុំកំណត់ពេលឡើងវិញនូវការកក់សកម្មចុងក្រោយទៅកាន់ពេលវេលាដែលបានជ្រើសរើស",
"booker_limit_exceeded_error": "ចំនួនកំណត់អតិបរមានៃការកក់សកម្មរបស់អ្នកកក់ត្រូវបានលើស",
"booker_limit_exceeded_error_reschedule": "អ្នកមានការកក់រួចហើយសម្រាប់ព្រឹត្តិការណ៍នេះនៅថ្ងៃទី {{date}}។ តើអ្នកចង់កំណត់ពេលឡើងវិញទៅពេលវេលាថ្មីដែលបានជ្រើសរើសឬទេ?",
"duration_min_error": "រយៈពេលត្រូវតែយ៉ាងហោចណាស់ {{min}} នាទី",
"duration_max_error": "រយៈពេលមិនអាចលើសពី {{max}} នាទី (24 ម៉ោង)",
"booking_not_allowed_by_restriction_schedule_error": "ការកក់នៅក្រៅកាលវិភាគដែលមានការរឹតបន្តឹង។",
"restriction_schedule_not_found_error": "រកមិនឃើញកាលវិភាគដែលមានការរឹតបន្តឹង",
"converted_image_size_limit_exceed": "ទំហំរូបភាពលើសកំណត់ សូមប្រើរូបភាពតូចជាងនេះ ជាពិសេសក្នុងទម្រង់ JPEG",
"license_key": "កូនសោអាជ្ញាប័ណ្ណ",
"license_selection_title": "ជ្រើសរើសអាជ្ញាប័ណ្ណរបស់អ្នក",
"license_selection_description": "ជ្រើសរើសរបៀបដែលអ្នកចង់ផ្តល់អាជ្ញាប័ណ្ណដល់ការដាក់ពង្រាយ Cal.com របស់អ្នក",
"agplv3_license_description": "ប្រើ Cal.com ក្រោមអាជ្ញាប័ណ្ណកូដបើកចំហ AGPLv3",
"enter_license_key": "បញ្ចូលកូនសោអាជ្ញាប័ណ្ណ",
"enter_your_license_key": "ចូលប្រើមុខងារសហគ្រាសទាំងអស់",
"enter_existing_license": "ចាប់ផ្តើមពី $15/អ្នកប្រើប្រាស់ក្នុងមួយខែ",
"enter_license_key_description": "ចូលប្រើមុខងារសហគ្រាសទាំងអស់",
"license_key_placeholder": "បញ្ចូលកូនសោអាជ្ញាប័ណ្ណរបស់អ្នក",
"save_license_key": "រក្សាទុកកូនសោអាជ្ញាប័ណ្ណ",
"signature_token_optional": "ថូខឹនហត្ថលេខា (ជាជម្រើស)",
"signature_token_description": "ថូខឹនហត្ថលេខាត្រូវបានប្រើដើម្បីផ្ទៀងផ្ទាត់ថាសោអាជ្ញាប័ណ្ណគឺជារបស់អ្នកនៅពេលបង្កើនការប្រើប្រាស់ផ្អែកលើការគិតថ្លៃ។ អ្នកអាចរកវានៅក្នុងអ៊ីមែលបញ្ជាក់ការទិញរបស់អ្នក។ ប្រសិនបើអ្នកកំពុងប្រើអាជ្ញាប័ណ្ណចាស់ អ្នកអាចទុកវាទទេ។",
"need_a_license": "ត្រូវការអាជ្ញាប័ណ្ណ?",
"license_key_required": "តម្រូវឱ្យមានសោអាជ្ញាប័ណ្ណ",
"invalid_license_key": "សោអាជ្ញាប័ណ្ណមិនត្រឹមត្រូវ",
"license_validation_failed": "បរាជ័យក្នុងការផ្ទៀងផ្ទាត់សោអាជ្ញាប័ណ្ណ",
"license_key_saved": "សោអាជ្ញាប័ណ្ណត្រូវបានរក្សាទុកដោយជោគជ័យ",
"timezone_mismatch_tooltip": "អ្នកកំពុងមើលរបាយការណ៍ដោយផ្អែកលើតំបន់ពេលវេលាប្រវត្តិរូបរបស់អ្នក ({{userTimezone}}) ខណៈពេលដែលកម្មវិធីរុករករបស់អ្នកត្រូវបានកំណត់ទៅតំបន់ពេលវេលា ({{browserTimezone}})",
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ បន្ថែមខ្សែអក្សរថ្មីរបស់អ្នកនៅខាងលើនេះ ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
}

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