@open-mercato/core 0.8.1-develop.7454.1.010095490f → 0.8.1-develop.7455.1.8f7e53badb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/generated/entities/customer_dictionary_entry/index.js +2 -0
- package/dist/generated/entities/customer_dictionary_entry/index.js.map +2 -2
- package/dist/generated/entities/customer_interaction/index.js +2 -0
- package/dist/generated/entities/customer_interaction/index.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +2 -0
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/modules/customers/api/activity-types/route.js +151 -0
- package/dist/modules/customers/api/activity-types/route.js.map +7 -0
- package/dist/modules/customers/api/dictionaries/[kind]/[id]/route.js +13 -5
- package/dist/modules/customers/api/dictionaries/[kind]/[id]/route.js.map +2 -2
- package/dist/modules/customers/api/dictionaries/[kind]/route.js +20 -5
- package/dist/modules/customers/api/dictionaries/[kind]/route.js.map +2 -2
- package/dist/modules/customers/api/interactions/route.js +3 -0
- package/dist/modules/customers/api/interactions/route.js.map +2 -2
- package/dist/modules/customers/api/interactions/tasks/route.js +1 -0
- package/dist/modules/customers/api/interactions/tasks/route.js.map +2 -2
- package/dist/modules/customers/backend/config/customers/pipeline-stages/page.meta.js +18 -0
- package/dist/modules/customers/backend/config/customers/pipeline-stages/page.meta.js.map +2 -2
- package/dist/modules/customers/calendar-event-types.js +548 -0
- package/dist/modules/customers/calendar-event-types.js.map +7 -0
- package/dist/modules/customers/commands/dictionaries.js +70 -10
- package/dist/modules/customers/commands/dictionaries.js.map +2 -2
- package/dist/modules/customers/commands/interactions.js +187 -22
- package/dist/modules/customers/commands/interactions.js.map +3 -3
- package/dist/modules/customers/components/ActivityTypeEditor.js +288 -0
- package/dist/modules/customers/components/ActivityTypeEditor.js.map +7 -0
- package/dist/modules/customers/components/DictionarySettings.js +3 -1
- package/dist/modules/customers/components/DictionarySettings.js.map +2 -2
- package/dist/modules/customers/components/calendar/CalendarEventEditor.js +391 -297
- package/dist/modules/customers/components/calendar/CalendarEventEditor.js.map +3 -3
- package/dist/modules/customers/components/calendar/CalendarSettingsModal.js +9 -74
- package/dist/modules/customers/components/calendar/CalendarSettingsModal.js.map +2 -2
- package/dist/modules/customers/components/calendar/TimeGrid.js +20 -16
- package/dist/modules/customers/components/calendar/TimeGrid.js.map +2 -2
- package/dist/modules/customers/components/calendar/editor/EventTypePanel.js +218 -0
- package/dist/modules/customers/components/calendar/editor/EventTypePanel.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/LocationField.js +7 -3
- package/dist/modules/customers/components/calendar/editor/LocationField.js.map +2 -2
- package/dist/modules/customers/components/calendar/editor/PeopleField.js +5 -2
- package/dist/modules/customers/components/calendar/editor/PeopleField.js.map +2 -2
- package/dist/modules/customers/components/calendar/editor/PriorityField.js +3 -1
- package/dist/modules/customers/components/calendar/editor/PriorityField.js.map +2 -2
- package/dist/modules/customers/components/calendar/editor/RepeatField.js +9 -1
- package/dist/modules/customers/components/calendar/editor/RepeatField.js.map +2 -2
- package/dist/modules/customers/components/calendar/editor/ResourcesField.js +4 -1
- package/dist/modules/customers/components/calendar/editor/ResourcesField.js.map +2 -2
- package/dist/modules/customers/components/calendar/editor/ScheduleSection.js +15 -7
- package/dist/modules/customers/components/calendar/editor/ScheduleSection.js.map +2 -2
- package/dist/modules/customers/components/calendar/editor/SegmentGroup.js +3 -1
- package/dist/modules/customers/components/calendar/editor/SegmentGroup.js.map +2 -2
- package/dist/modules/customers/components/calendar/editor/hooks.js +28 -13
- package/dist/modules/customers/components/calendar/editor/hooks.js.map +3 -3
- package/dist/modules/customers/components/calendar/editor/inputs.js +14 -6
- package/dist/modules/customers/components/calendar/editor/inputs.js.map +2 -2
- package/dist/modules/customers/components/calendar/editor/useCalendarCustomFields.js +54 -0
- package/dist/modules/customers/components/calendar/editor/useCalendarCustomFields.js.map +7 -0
- package/dist/modules/customers/components/calendar/editor/useEventTypeCatalog.js +82 -0
- package/dist/modules/customers/components/calendar/editor/useEventTypeCatalog.js.map +7 -0
- package/dist/modules/customers/components/calendar/types.js +1 -0
- package/dist/modules/customers/components/calendar/types.js.map +2 -2
- package/dist/modules/customers/data/entities.js +6 -0
- package/dist/modules/customers/data/entities.js.map +2 -2
- package/dist/modules/customers/data/validators.js +39 -10
- package/dist/modules/customers/data/validators.js.map +2 -2
- package/dist/modules/customers/di.js +20 -1
- package/dist/modules/customers/di.js.map +2 -2
- package/dist/modules/customers/extension-points.js +13 -0
- package/dist/modules/customers/extension-points.js.map +2 -2
- package/dist/modules/customers/lib/calendar/conflicts.js +59 -16
- package/dist/modules/customers/lib/calendar/conflicts.js.map +2 -2
- package/dist/modules/customers/lib/calendar/editorPayload.js +34 -16
- package/dist/modules/customers/lib/calendar/editorPayload.js.map +2 -2
- package/dist/modules/customers/lib/calendar/eventTypeResolver.js +197 -0
- package/dist/modules/customers/lib/calendar/eventTypeResolver.js.map +7 -0
- package/dist/modules/customers/lib/calendar/interactionApplicability.js +67 -0
- package/dist/modules/customers/lib/calendar/interactionApplicability.js.map +7 -0
- package/dist/modules/customers/lib/calendar/mapItem.js +5 -2
- package/dist/modules/customers/lib/calendar/mapItem.js.map +2 -2
- package/dist/modules/customers/lib/calendar/recurrence.js +62 -1
- package/dist/modules/customers/lib/calendar/recurrence.js.map +2 -2
- package/dist/modules/customers/lib/calendar/timezone.js +111 -0
- package/dist/modules/customers/lib/calendar/timezone.js.map +7 -0
- package/dist/modules/customers/lib/interactionReadModel.js +1 -0
- package/dist/modules/customers/lib/interactionReadModel.js.map +2 -2
- package/dist/modules/customers/lib/todoCompatibility.js +1 -0
- package/dist/modules/customers/lib/todoCompatibility.js.map +2 -2
- package/dist/modules/customers/migrations/Migration20260928175058_customers.js +17 -0
- package/dist/modules/customers/migrations/Migration20260928175058_customers.js.map +7 -0
- package/dist/modules/customers/migrations/Migration20260930110235_customers.js +17 -0
- package/dist/modules/customers/migrations/Migration20260930110235_customers.js.map +7 -0
- package/dist/modules/dictionaries/components/DictionaryTable.js +60 -51
- package/dist/modules/dictionaries/components/DictionaryTable.js.map +2 -2
- package/dist/modules/planner/lib/availabilityMerge.js +101 -38
- package/dist/modules/planner/lib/availabilityMerge.js.map +3 -3
- package/dist/modules/planner/services/plannerAvailabilityService.js.map +2 -2
- package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/page.js +12 -7
- package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/page.js.map +2 -2
- package/generated/entities/customer_dictionary_entry/index.ts +1 -0
- package/generated/entities/customer_interaction/index.ts +1 -0
- package/generated/entity-fields-registry.ts +2 -0
- package/package.json +7 -7
- package/src/modules/customers/api/activity-types/route.ts +154 -0
- package/src/modules/customers/api/dictionaries/[kind]/[id]/route.ts +9 -1
- package/src/modules/customers/api/dictionaries/[kind]/route.ts +18 -2
- package/src/modules/customers/api/interactions/route.ts +4 -0
- package/src/modules/customers/api/interactions/tasks/route.ts +1 -0
- package/src/modules/customers/backend/config/customers/pipeline-stages/page.meta.ts +20 -0
- package/src/modules/customers/calendar-event-types.ts +674 -0
- package/src/modules/customers/commands/dictionaries.ts +84 -8
- package/src/modules/customers/commands/interactions.ts +244 -21
- package/src/modules/customers/components/ActivityTypeEditor.tsx +239 -0
- package/src/modules/customers/components/DictionarySettings.tsx +5 -3
- package/src/modules/customers/components/calendar/CalendarEventEditor.tsx +347 -218
- package/src/modules/customers/components/calendar/CalendarSettingsModal.tsx +18 -96
- package/src/modules/customers/components/calendar/TimeGrid.tsx +20 -18
- package/src/modules/customers/components/calendar/editor/EventTypePanel.tsx +230 -0
- package/src/modules/customers/components/calendar/editor/LocationField.tsx +7 -1
- package/src/modules/customers/components/calendar/editor/PeopleField.tsx +4 -0
- package/src/modules/customers/components/calendar/editor/PriorityField.tsx +3 -0
- package/src/modules/customers/components/calendar/editor/RepeatField.tsx +10 -0
- package/src/modules/customers/components/calendar/editor/ResourcesField.tsx +4 -0
- package/src/modules/customers/components/calendar/editor/ScheduleSection.tsx +16 -4
- package/src/modules/customers/components/calendar/editor/SegmentGroup.tsx +3 -0
- package/src/modules/customers/components/calendar/editor/hooks.ts +29 -13
- package/src/modules/customers/components/calendar/editor/inputs.tsx +17 -5
- package/src/modules/customers/components/calendar/editor/useCalendarCustomFields.ts +49 -0
- package/src/modules/customers/components/calendar/editor/useEventTypeCatalog.ts +100 -0
- package/src/modules/customers/components/calendar/types.ts +1 -0
- package/src/modules/customers/components/detail/types.ts +1 -0
- package/src/modules/customers/data/entities.ts +8 -1
- package/src/modules/customers/data/validators.ts +42 -7
- package/src/modules/customers/di.ts +21 -0
- package/src/modules/customers/extension-points.ts +13 -0
- package/src/modules/customers/i18n/de.json +83 -0
- package/src/modules/customers/i18n/en.json +83 -0
- package/src/modules/customers/i18n/es.json +83 -0
- package/src/modules/customers/i18n/ko.json +83 -0
- package/src/modules/customers/i18n/pl.json +83 -0
- package/src/modules/customers/lib/calendar/conflicts.ts +106 -27
- package/src/modules/customers/lib/calendar/editorPayload.ts +39 -19
- package/src/modules/customers/lib/calendar/eventTypeResolver.ts +258 -0
- package/src/modules/customers/lib/calendar/interactionApplicability.ts +99 -0
- package/src/modules/customers/lib/calendar/mapItem.ts +6 -2
- package/src/modules/customers/lib/calendar/recurrence.ts +65 -1
- package/src/modules/customers/lib/calendar/timezone.ts +117 -0
- package/src/modules/customers/lib/interactionReadModel.ts +1 -0
- package/src/modules/customers/lib/todoCompatibility.ts +2 -0
- package/src/modules/customers/migrations/.snapshot-open-mercato.json +34 -0
- package/src/modules/customers/migrations/Migration20260928175058_customers.ts +15 -0
- package/src/modules/customers/migrations/Migration20260930110235_customers.ts +15 -0
- package/src/modules/dictionaries/components/DictionaryTable.tsx +63 -56
- package/src/modules/planner/lib/availabilityMerge.ts +106 -41
- package/src/modules/planner/services/plannerAvailabilityService.ts +4 -0
- package/src/modules/staff/backend/staff/time-tracking/projects/[id]/page.tsx +25 -13
|
@@ -3,6 +3,9 @@ import type { EntityManager } from '@mikro-orm/postgresql'
|
|
|
3
3
|
import type { AppContainer } from '@open-mercato/shared/lib/di/container'
|
|
4
4
|
import type { OptimisticLockCurrentReader } from '@open-mercato/shared/lib/crud/optimistic-lock'
|
|
5
5
|
import { registerOptimisticLockReaders } from '@open-mercato/shared/lib/crud/optimistic-lock-store'
|
|
6
|
+
import { createCalendarEventTypeRegistry } from './calendar-event-types'
|
|
7
|
+
import { resolveCatalogEventType, resolveScopedCalendarEventTypes } from './lib/calendar/eventTypeResolver'
|
|
8
|
+
import type { OrganizationHierarchyService } from '@open-mercato/shared/lib/auth/principal-service'
|
|
6
9
|
import { CustomerEntity, CustomerAddress, CustomerInteraction } from './data/entities'
|
|
7
10
|
|
|
8
11
|
const RESOURCE_KIND_COMPANY = 'customers.company'
|
|
@@ -64,11 +67,29 @@ registerOptimisticLockReaders({
|
|
|
64
67
|
[RESOURCE_KIND_PEOPLE]: readCustomerPersonUpdatedAt,
|
|
65
68
|
})
|
|
66
69
|
|
|
70
|
+
const calendarEventTypeRegistry = createCalendarEventTypeRegistry()
|
|
71
|
+
|
|
67
72
|
export function register(container: AppContainer) {
|
|
68
73
|
container.register({
|
|
69
74
|
CustomerEntity: asValue(CustomerEntity),
|
|
70
75
|
CustomerAddress: asValue(CustomerAddress),
|
|
71
76
|
CustomerInteraction: asValue(CustomerInteraction),
|
|
77
|
+
calendarEventTypeRegistry: asValue(calendarEventTypeRegistry),
|
|
78
|
+
calendarEventTypeCatalogService: asValue({
|
|
79
|
+
async resolveBehavior(input: { tenantId: string; organizationId: string; key: string }) {
|
|
80
|
+
const hierarchy = container.resolve('organizationHierarchyService') as OrganizationHierarchyService
|
|
81
|
+
const ancestors = await hierarchy.resolveAncestorIds({ tenantId: input.tenantId, organizationId: input.organizationId })
|
|
82
|
+
if (ancestors === null) throw new Error('[internal] Calendar organization not found')
|
|
83
|
+
const em = container.resolve('em') as EntityManager
|
|
84
|
+
const catalog = await resolveScopedCalendarEventTypes({
|
|
85
|
+
em,
|
|
86
|
+
tenantId: input.tenantId,
|
|
87
|
+
organizationId: input.organizationId,
|
|
88
|
+
readableOrganizationIds: [input.organizationId, ...ancestors.slice().reverse()],
|
|
89
|
+
})
|
|
90
|
+
return resolveCatalogEventType(catalog, input.key)?.behavior ?? null
|
|
91
|
+
},
|
|
92
|
+
}),
|
|
72
93
|
})
|
|
73
94
|
// `crudMutationGuardService` is registered platform-wide in the shared
|
|
74
95
|
// DI bootstrap (`packages/shared/src/lib/di/container.ts`). It already
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
componentExtensionHost,
|
|
2
3
|
crudFormExtensionHost,
|
|
3
4
|
dataTableExtensionHost,
|
|
4
5
|
defineModuleExtensionPoints,
|
|
@@ -23,6 +24,18 @@ export const extensionPoints = defineModuleExtensionPoints({
|
|
|
23
24
|
companyForm: crudFormExtensionHost({ entityId: 'customers.company', spotId: 'crud-form:customers.company', source: 'backend/customers/companies-v2/[id]/page.tsx' }),
|
|
24
25
|
dealForm: crudFormExtensionHost({ entityId: 'customers.deal', spotId: 'crud-form:customers.deal', source: 'backend/customers/deals/[id]/page.tsx' }),
|
|
25
26
|
personForm: crudFormExtensionHost({ entityId: 'customers.person', spotId: 'crud-form:customers.person', source: 'backend/customers/people-v2/[id]/page.tsx' }),
|
|
27
|
+
calendarEventTypes: injectionExtensionHost({
|
|
28
|
+
family: 'generic',
|
|
29
|
+
spotId: 'calendar:customers.event-types',
|
|
30
|
+
supported: ['headless-widget', 'registry-contribution'],
|
|
31
|
+
dataContract: 'customers.calendar.event-types.v1',
|
|
32
|
+
source: 'lib/calendar/eventTypeResolver.ts',
|
|
33
|
+
}),
|
|
34
|
+
calendarEventTypePanel: componentExtensionHost({
|
|
35
|
+
componentId: 'section:customers.calendar-event-editor.type-panel',
|
|
36
|
+
propsContract: 'customers.calendar.event-type-panel.v1',
|
|
37
|
+
source: 'components/calendar/editor/EventTypePanel.tsx',
|
|
38
|
+
}),
|
|
26
39
|
companyHeader: detailHost('detail:customers.company:header', 'backend/customers/companies-v2/[id]/page.tsx'),
|
|
27
40
|
companyStatusBadges: detailHost('detail:customers.company:status-badges', 'backend/customers/companies-v2/[id]/page.tsx'),
|
|
28
41
|
companyFooter: detailHost('detail:customers.company:footer', 'backend/customers/companies-v2/[id]/page.tsx'),
|
|
@@ -193,6 +193,11 @@
|
|
|
193
193
|
"customers.audit.todos.link": "To-do verknüpfen",
|
|
194
194
|
"customers.audit.todos.unlink": "To-do-Verknüpfung lösen",
|
|
195
195
|
"customers.calendar.actions.newEvent": "Neuer Termin",
|
|
196
|
+
"customers.calendar.activityTypes.errors.changeConfirmationRequired": "Beim Ändern des Ereignistyps werden vorhandene Werte gelöscht.",
|
|
197
|
+
"customers.calendar.activityTypes.errors.fieldNotApplicable": "Dieses Feld gilt nicht für den ausgewählten Aktivitätstyp.",
|
|
198
|
+
"customers.calendar.activityTypes.errors.forbidden": "Sie haben keine Berechtigung, Aktivitätstypen anzuzeigen.",
|
|
199
|
+
"customers.calendar.activityTypes.errors.loadFailed": "Aktivitätstypen konnten nicht geladen werden.",
|
|
200
|
+
"customers.calendar.activityTypes.errors.unavailable": "Dieser Aktivitätstyp ist nicht verfügbar.",
|
|
196
201
|
"customers.calendar.agenda.eventsCount.few": "{count} Termine",
|
|
197
202
|
"customers.calendar.agenda.eventsCount.many": "{count} Termine",
|
|
198
203
|
"customers.calendar.agenda.eventsCount.one": "{count} Termin",
|
|
@@ -232,6 +237,8 @@
|
|
|
232
237
|
"customers.calendar.editor.assigneePlaceholder": "Einem Teammitglied zuweisen…",
|
|
233
238
|
"customers.calendar.editor.attendees": "Teilnehmer",
|
|
234
239
|
"customers.calendar.editor.cancel": "Abbrechen",
|
|
240
|
+
"customers.calendar.editor.catalogLoadFailed": "Aktivitätstypen konnten nicht geladen werden. Versuchen Sie es erneut, um dieses Ereignis zu speichern.",
|
|
241
|
+
"customers.calendar.editor.catalogLoading": "Aktivitätstypen werden geladen…",
|
|
235
242
|
"customers.calendar.editor.category": "Kategorie",
|
|
236
243
|
"customers.calendar.editor.close": "Schließen",
|
|
237
244
|
"customers.calendar.editor.conflictTitle": "Kalenderkonflikt",
|
|
@@ -249,8 +256,14 @@
|
|
|
249
256
|
"customers.calendar.editor.dealsSection": "Geschäfte",
|
|
250
257
|
"customers.calendar.editor.description": "Beschreibung",
|
|
251
258
|
"customers.calendar.editor.descriptionPlaceholder": "Details hinzufügen…",
|
|
259
|
+
"customers.calendar.editor.discardConfirm": "Typ ändern und Werte löschen",
|
|
260
|
+
"customers.calendar.editor.discardDescription": "Beim Ändern des Ereignistyps werden Werte gelöscht, die für den neuen Typ nicht gelten.",
|
|
261
|
+
"customers.calendar.editor.discardFields": "Zu löschende Werte:",
|
|
262
|
+
"customers.calendar.editor.discardTitle": "Ereignistyp ändern?",
|
|
263
|
+
"customers.calendar.editor.discardUnknownField": "Benutzerdefiniertes Feld",
|
|
252
264
|
"customers.calendar.editor.error": "Termin konnte nicht gespeichert werden",
|
|
253
265
|
"customers.calendar.editor.guestBadge": "Gast",
|
|
266
|
+
"customers.calendar.editor.historicalType": "Dieser Ereignistyp ist für neue Ereignisse nicht verfügbar. Sie können dieses Ereignis weiter bearbeiten oder einen anderen Typ wählen.",
|
|
254
267
|
"customers.calendar.editor.location": "Ort",
|
|
255
268
|
"customers.calendar.editor.locationPlaceholder": "Ort oder Link hinzufügen…",
|
|
256
269
|
"customers.calendar.editor.multiDayHint": "Mehrtägiger Termin · {count} Tage",
|
|
@@ -295,6 +308,7 @@
|
|
|
295
308
|
"customers.calendar.editor.saved": "Termin gespeichert",
|
|
296
309
|
"customers.calendar.editor.saving": "Speichern…",
|
|
297
310
|
"customers.calendar.editor.searching": "Suche…",
|
|
311
|
+
"customers.calendar.editor.timezone": "Zeitzone",
|
|
298
312
|
"customers.calendar.editor.title.create": "Neuer Termin",
|
|
299
313
|
"customers.calendar.editor.title.edit": "Termin bearbeiten",
|
|
300
314
|
"customers.calendar.editor.titleLabel.email": "Betreff",
|
|
@@ -303,6 +317,7 @@
|
|
|
303
317
|
"customers.calendar.editor.titlePlaceholder": "Titel hinzufügen…",
|
|
304
318
|
"customers.calendar.editor.to": "An",
|
|
305
319
|
"customers.calendar.editor.typeSwitcher": "Termintyp",
|
|
320
|
+
"customers.calendar.editor.typeUnavailable": "Wählen Sie vor dem Speichern einen verfügbaren Ereignistyp.",
|
|
306
321
|
"customers.calendar.editor.types.call": "Anruf",
|
|
307
322
|
"customers.calendar.editor.types.email": "E-Mail",
|
|
308
323
|
"customers.calendar.editor.types.event": "Event",
|
|
@@ -312,6 +327,8 @@
|
|
|
312
327
|
"customers.calendar.editor.validation.assigneeRequired": "Weise diese Aufgabe einem Teammitglied zu",
|
|
313
328
|
"customers.calendar.editor.validation.endsBeforeStarts": "Das Ende muss nach dem Beginn liegen",
|
|
314
329
|
"customers.calendar.editor.validation.relatedToRequired": "Wähle eine Person oder ein Unternehmen aus, um diesen Termin zu verknüpfen",
|
|
330
|
+
"customers.calendar.editor.validation.timezoneGap": "Diese Ortszeit existiert in der gewählten Zeitzone nicht",
|
|
331
|
+
"customers.calendar.editor.validation.timezoneInvalid": "Wählen Sie eine gültige Zeitzone",
|
|
315
332
|
"customers.calendar.editor.validation.titleRequired": "Titel ist erforderlich",
|
|
316
333
|
"customers.calendar.empty.action": "Neuer Termin",
|
|
317
334
|
"customers.calendar.empty.agenda": "In diesem Zeitraum ist nichts geplant",
|
|
@@ -368,6 +385,7 @@
|
|
|
368
385
|
"customers.calendar.settings.conflictWarnings": "Konfliktwarnungen",
|
|
369
386
|
"customers.calendar.settings.eventCategories": "Ereigniskategorien",
|
|
370
387
|
"customers.calendar.settings.eventCategoriesHint": "Eigene Gruppierungslabels (z. B. Teammeeting, Verkaufsanruf). Werden beim Erstellen eines Ereignisses angeboten.",
|
|
388
|
+
"customers.calendar.settings.manageActivityTypes": "Aktivitätstypen verwalten",
|
|
371
389
|
"customers.calendar.settings.max": "(max. {count})",
|
|
372
390
|
"customers.calendar.settings.removeTag": "{tag} entfernen",
|
|
373
391
|
"customers.calendar.settings.save": "Änderungen speichern",
|
|
@@ -798,6 +816,71 @@
|
|
|
798
816
|
"customers.companies.presets.inactive60": "Inaktiv > 60 Tage",
|
|
799
817
|
"customers.companies.presets.myAccounts": "Meine Konten",
|
|
800
818
|
"customers.companies.presets.recentlyCreated": "Kürzlich erstellt",
|
|
819
|
+
"customers.config.activityTypes.appearance": "Darstellung",
|
|
820
|
+
"customers.config.activityTypes.behavior": "Formularverhalten",
|
|
821
|
+
"customers.config.activityTypes.columns.active": "Auswählbar",
|
|
822
|
+
"customers.config.activityTypes.columns.behavior": "Verhalten",
|
|
823
|
+
"customers.config.activityTypes.columns.fields": "Felder",
|
|
824
|
+
"customers.config.activityTypes.columns.fieldsets": "Feldgruppen",
|
|
825
|
+
"customers.config.activityTypes.columns.key": "Stabiler Schlüssel",
|
|
826
|
+
"customers.config.activityTypes.columns.order": "Reihenfolge",
|
|
827
|
+
"customers.config.activityTypes.columns.source": "Quelle",
|
|
828
|
+
"customers.config.activityTypes.columns.type": "Aktivitätstyp",
|
|
829
|
+
"customers.config.activityTypes.configure": "Konfigurieren",
|
|
830
|
+
"customers.config.activityTypes.delete": "Löschen",
|
|
831
|
+
"customers.config.activityTypes.empty": "Keine Aktivitätstypen verfügbar.",
|
|
832
|
+
"customers.config.activityTypes.fields.allDay": "Ganztägig",
|
|
833
|
+
"customers.config.activityTypes.fields.baseKind": "Basisverhalten",
|
|
834
|
+
"customers.config.activityTypes.fields.color": "Farbe (#RRGGBB)",
|
|
835
|
+
"customers.config.activityTypes.fields.customFieldsetIds": "Feldgruppen benutzerdefinierter Felder",
|
|
836
|
+
"customers.config.activityTypes.fields.endTime": "Endzeit",
|
|
837
|
+
"customers.config.activityTypes.fields.icon": "Symbol",
|
|
838
|
+
"customers.config.activityTypes.fields.label": "Bezeichnung",
|
|
839
|
+
"customers.config.activityTypes.fields.location": "Ortsfeld",
|
|
840
|
+
"customers.config.activityTypes.fields.order": "Anzeigereihenfolge",
|
|
841
|
+
"customers.config.activityTypes.fields.people": "Personenfeld",
|
|
842
|
+
"customers.config.activityTypes.fields.priority": "Priorität",
|
|
843
|
+
"customers.config.activityTypes.fields.recurrence": "Wiederholung",
|
|
844
|
+
"customers.config.activityTypes.fields.resources": "Ressourcen",
|
|
845
|
+
"customers.config.activityTypes.fields.selectable": "Für neue Ereignisse verfügbar",
|
|
846
|
+
"customers.config.activityTypes.fields.value": "Stabiler Schlüssel",
|
|
847
|
+
"customers.config.activityTypes.fieldsetsUnavailable": "Feldgruppen sind nicht verfügbar. Laden Sie sie erneut, bevor Sie speichern.",
|
|
848
|
+
"customers.config.activityTypes.inactiveHint": "Ein Modul verhindert derzeit, dass diese Überschreibung wirksam wird.",
|
|
849
|
+
"customers.config.activityTypes.inherited": "Geerbt",
|
|
850
|
+
"customers.config.activityTypes.inheritedHint": "Beim Speichern wird eine lokale Überschreibung für diese Organisation erstellt.",
|
|
851
|
+
"customers.config.activityTypes.invalidBehavior": "Prüfen Sie die Werte für das Formularverhalten.",
|
|
852
|
+
"customers.config.activityTypes.invalidKey": "Verwenden Sie einen kleingeschriebenen Schlüssel mit Buchstaben, Zahlen, Bindestrichen oder Unterstrichen.",
|
|
853
|
+
"customers.config.activityTypes.loadFailed": "Aktivitätstypen konnten nicht geladen werden.",
|
|
854
|
+
"customers.config.activityTypes.loadingFieldsets": "Feldgruppen werden geladen…",
|
|
855
|
+
"customers.config.activityTypes.local": "Lokale Überschreibung",
|
|
856
|
+
"customers.config.activityTypes.missing": "fehlt",
|
|
857
|
+
"customers.config.activityTypes.missingHint": "Einige konfigurierte Feldgruppen existieren nicht mehr.",
|
|
858
|
+
"customers.config.activityTypes.new": "Neuer Aktivitätstyp",
|
|
859
|
+
"customers.config.activityTypes.no": "Nein",
|
|
860
|
+
"customers.config.activityTypes.noFieldsets": "Es sind noch keine Feldgruppen für benutzerdefinierte Felder definiert.",
|
|
861
|
+
"customers.config.activityTypes.options.assignee": "Zuständige Person",
|
|
862
|
+
"customers.config.activityTypes.options.attendees": "Teilnehmende",
|
|
863
|
+
"customers.config.activityTypes.options.call": "Anruf",
|
|
864
|
+
"customers.config.activityTypes.options.email": "E-Mail",
|
|
865
|
+
"customers.config.activityTypes.options.event": "Ereignis",
|
|
866
|
+
"customers.config.activityTypes.options.location": "Ort",
|
|
867
|
+
"customers.config.activityTypes.options.meeting": "Besprechung",
|
|
868
|
+
"customers.config.activityTypes.options.none": "Keine",
|
|
869
|
+
"customers.config.activityTypes.options.note": "Notiz",
|
|
870
|
+
"customers.config.activityTypes.options.participants": "Beteiligte",
|
|
871
|
+
"customers.config.activityTypes.options.phoneLink": "Telefonlink",
|
|
872
|
+
"customers.config.activityTypes.options.recipients": "Empfänger",
|
|
873
|
+
"customers.config.activityTypes.options.task": "Aufgabe",
|
|
874
|
+
"customers.config.activityTypes.refresh": "Aktualisieren",
|
|
875
|
+
"customers.config.activityTypes.removed": "Konfiguration des Aktivitätstyps entfernt.",
|
|
876
|
+
"customers.config.activityTypes.reset": "Überschreibung zurücksetzen",
|
|
877
|
+
"customers.config.activityTypes.resetConfirm": "Lokale Konfiguration des Aktivitätstyps entfernen?",
|
|
878
|
+
"customers.config.activityTypes.retry": "Erneut versuchen",
|
|
879
|
+
"customers.config.activityTypes.save": "Speichern",
|
|
880
|
+
"customers.config.activityTypes.saveFailed": "Aktivitätstyp konnte nicht gespeichert werden.",
|
|
881
|
+
"customers.config.activityTypes.saved": "Aktivitätstyp gespeichert.",
|
|
882
|
+
"customers.config.activityTypes.view": "Anzeigen",
|
|
883
|
+
"customers.config.activityTypes.yes": "Ja",
|
|
801
884
|
"customers.config.addressFormat.description": "Legen Sie fest, wie Formulare und Ansichten im Kundenmodul strukturiert werden.",
|
|
802
885
|
"customers.config.addressFormat.error": "Adresseinstellungen konnten nicht geladen werden",
|
|
803
886
|
"customers.config.addressFormat.errorSave": "Adresseinstellungen konnten nicht aktualisiert werden",
|
|
@@ -193,6 +193,11 @@
|
|
|
193
193
|
"customers.audit.todos.link": "Link todo",
|
|
194
194
|
"customers.audit.todos.unlink": "Unlink todo",
|
|
195
195
|
"customers.calendar.actions.newEvent": "New event",
|
|
196
|
+
"customers.calendar.activityTypes.errors.changeConfirmationRequired": "Changing the event type will clear existing values.",
|
|
197
|
+
"customers.calendar.activityTypes.errors.fieldNotApplicable": "This field is not applicable to the selected activity type.",
|
|
198
|
+
"customers.calendar.activityTypes.errors.forbidden": "You do not have permission to view activity types.",
|
|
199
|
+
"customers.calendar.activityTypes.errors.loadFailed": "Failed to load activity types.",
|
|
200
|
+
"customers.calendar.activityTypes.errors.unavailable": "This activity type is unavailable.",
|
|
196
201
|
"customers.calendar.agenda.eventsCount.few": "{count} events",
|
|
197
202
|
"customers.calendar.agenda.eventsCount.many": "{count} events",
|
|
198
203
|
"customers.calendar.agenda.eventsCount.one": "{count} event",
|
|
@@ -232,6 +237,8 @@
|
|
|
232
237
|
"customers.calendar.editor.assigneePlaceholder": "Assign to a team member…",
|
|
233
238
|
"customers.calendar.editor.attendees": "Attendees",
|
|
234
239
|
"customers.calendar.editor.cancel": "Cancel",
|
|
240
|
+
"customers.calendar.editor.catalogLoadFailed": "Activity types could not be loaded. Retry to save this event.",
|
|
241
|
+
"customers.calendar.editor.catalogLoading": "Loading activity types…",
|
|
235
242
|
"customers.calendar.editor.category": "Category",
|
|
236
243
|
"customers.calendar.editor.close": "Close",
|
|
237
244
|
"customers.calendar.editor.conflictTitle": "Calendar conflict",
|
|
@@ -249,8 +256,14 @@
|
|
|
249
256
|
"customers.calendar.editor.dealsSection": "Deals",
|
|
250
257
|
"customers.calendar.editor.description": "Description",
|
|
251
258
|
"customers.calendar.editor.descriptionPlaceholder": "Add details…",
|
|
259
|
+
"customers.calendar.editor.discardConfirm": "Change type and clear values",
|
|
260
|
+
"customers.calendar.editor.discardDescription": "Changing the event type will clear values that do not apply to the new type.",
|
|
261
|
+
"customers.calendar.editor.discardFields": "Values to clear:",
|
|
262
|
+
"customers.calendar.editor.discardTitle": "Change event type?",
|
|
263
|
+
"customers.calendar.editor.discardUnknownField": "Custom field",
|
|
252
264
|
"customers.calendar.editor.error": "Failed to save event",
|
|
253
265
|
"customers.calendar.editor.guestBadge": "Guest",
|
|
266
|
+
"customers.calendar.editor.historicalType": "This event type is unavailable for new events. You can keep editing this event or choose another type.",
|
|
254
267
|
"customers.calendar.editor.location": "Location",
|
|
255
268
|
"customers.calendar.editor.locationPlaceholder": "Add a location or link…",
|
|
256
269
|
"customers.calendar.editor.multiDayHint": "Multi-day event · {count} days",
|
|
@@ -295,6 +308,7 @@
|
|
|
295
308
|
"customers.calendar.editor.saved": "Event saved",
|
|
296
309
|
"customers.calendar.editor.saving": "Saving…",
|
|
297
310
|
"customers.calendar.editor.searching": "Searching…",
|
|
311
|
+
"customers.calendar.editor.timezone": "Time zone",
|
|
298
312
|
"customers.calendar.editor.title.create": "New event",
|
|
299
313
|
"customers.calendar.editor.title.edit": "Edit event",
|
|
300
314
|
"customers.calendar.editor.titleLabel.email": "Subject",
|
|
@@ -303,6 +317,7 @@
|
|
|
303
317
|
"customers.calendar.editor.titlePlaceholder": "Add a title…",
|
|
304
318
|
"customers.calendar.editor.to": "To",
|
|
305
319
|
"customers.calendar.editor.typeSwitcher": "Event type",
|
|
320
|
+
"customers.calendar.editor.typeUnavailable": "Choose an available event type before saving.",
|
|
306
321
|
"customers.calendar.editor.types.call": "Call",
|
|
307
322
|
"customers.calendar.editor.types.email": "Email",
|
|
308
323
|
"customers.calendar.editor.types.event": "Event",
|
|
@@ -312,6 +327,8 @@
|
|
|
312
327
|
"customers.calendar.editor.validation.assigneeRequired": "Assign this task to a team member",
|
|
313
328
|
"customers.calendar.editor.validation.endsBeforeStarts": "End must be after start",
|
|
314
329
|
"customers.calendar.editor.validation.relatedToRequired": "Select a person or company to link this event",
|
|
330
|
+
"customers.calendar.editor.validation.timezoneGap": "This local time does not exist in the selected time zone",
|
|
331
|
+
"customers.calendar.editor.validation.timezoneInvalid": "Choose a valid time zone",
|
|
315
332
|
"customers.calendar.editor.validation.titleRequired": "Title is required",
|
|
316
333
|
"customers.calendar.empty.action": "New event",
|
|
317
334
|
"customers.calendar.empty.agenda": "Nothing scheduled in this period",
|
|
@@ -368,6 +385,7 @@
|
|
|
368
385
|
"customers.calendar.settings.conflictWarnings": "Conflict warnings",
|
|
369
386
|
"customers.calendar.settings.eventCategories": "Event Categories",
|
|
370
387
|
"customers.calendar.settings.eventCategoriesHint": "Your own grouping labels (e.g. Team Meeting, Sales Call). Offered when creating an event.",
|
|
388
|
+
"customers.calendar.settings.manageActivityTypes": "Manage activity types",
|
|
371
389
|
"customers.calendar.settings.max": "(max. {count})",
|
|
372
390
|
"customers.calendar.settings.removeTag": "Remove {tag}",
|
|
373
391
|
"customers.calendar.settings.save": "Save Changes",
|
|
@@ -798,6 +816,71 @@
|
|
|
798
816
|
"customers.companies.presets.inactive60": "Inactive > 60 days",
|
|
799
817
|
"customers.companies.presets.myAccounts": "My accounts",
|
|
800
818
|
"customers.companies.presets.recentlyCreated": "Recently created",
|
|
819
|
+
"customers.config.activityTypes.appearance": "Appearance",
|
|
820
|
+
"customers.config.activityTypes.behavior": "Form behavior",
|
|
821
|
+
"customers.config.activityTypes.columns.active": "Selectable",
|
|
822
|
+
"customers.config.activityTypes.columns.behavior": "Behavior",
|
|
823
|
+
"customers.config.activityTypes.columns.fields": "Fields",
|
|
824
|
+
"customers.config.activityTypes.columns.fieldsets": "Fieldsets",
|
|
825
|
+
"customers.config.activityTypes.columns.key": "Stable key",
|
|
826
|
+
"customers.config.activityTypes.columns.order": "Order",
|
|
827
|
+
"customers.config.activityTypes.columns.source": "Source",
|
|
828
|
+
"customers.config.activityTypes.columns.type": "Activity type",
|
|
829
|
+
"customers.config.activityTypes.configure": "Configure",
|
|
830
|
+
"customers.config.activityTypes.delete": "Delete",
|
|
831
|
+
"customers.config.activityTypes.empty": "No activity types available.",
|
|
832
|
+
"customers.config.activityTypes.fields.allDay": "All day",
|
|
833
|
+
"customers.config.activityTypes.fields.baseKind": "Base behavior",
|
|
834
|
+
"customers.config.activityTypes.fields.color": "Color (#RRGGBB)",
|
|
835
|
+
"customers.config.activityTypes.fields.customFieldsetIds": "Custom-field fieldsets",
|
|
836
|
+
"customers.config.activityTypes.fields.endTime": "End time",
|
|
837
|
+
"customers.config.activityTypes.fields.icon": "Icon",
|
|
838
|
+
"customers.config.activityTypes.fields.label": "Label",
|
|
839
|
+
"customers.config.activityTypes.fields.location": "Location field",
|
|
840
|
+
"customers.config.activityTypes.fields.order": "Display order",
|
|
841
|
+
"customers.config.activityTypes.fields.people": "People field",
|
|
842
|
+
"customers.config.activityTypes.fields.priority": "Priority",
|
|
843
|
+
"customers.config.activityTypes.fields.recurrence": "Recurrence",
|
|
844
|
+
"customers.config.activityTypes.fields.resources": "Resources",
|
|
845
|
+
"customers.config.activityTypes.fields.selectable": "Available for new events",
|
|
846
|
+
"customers.config.activityTypes.fields.value": "Stable key",
|
|
847
|
+
"customers.config.activityTypes.fieldsetsUnavailable": "Fieldsets are unavailable. Retry loading before saving.",
|
|
848
|
+
"customers.config.activityTypes.inactiveHint": "A module currently prevents this override from taking effect.",
|
|
849
|
+
"customers.config.activityTypes.inherited": "Inherited",
|
|
850
|
+
"customers.config.activityTypes.inheritedHint": "Saving creates a local override for this organization.",
|
|
851
|
+
"customers.config.activityTypes.invalidBehavior": "Check the form behavior values.",
|
|
852
|
+
"customers.config.activityTypes.invalidKey": "Use a lowercase key with letters, numbers, hyphens, or underscores.",
|
|
853
|
+
"customers.config.activityTypes.loadFailed": "Failed to load activity types.",
|
|
854
|
+
"customers.config.activityTypes.loadingFieldsets": "Loading fieldsets…",
|
|
855
|
+
"customers.config.activityTypes.local": "Local override",
|
|
856
|
+
"customers.config.activityTypes.missing": "missing",
|
|
857
|
+
"customers.config.activityTypes.missingHint": "Some configured fieldsets no longer exist.",
|
|
858
|
+
"customers.config.activityTypes.new": "New activity type",
|
|
859
|
+
"customers.config.activityTypes.no": "No",
|
|
860
|
+
"customers.config.activityTypes.noFieldsets": "No custom-field fieldsets are defined yet.",
|
|
861
|
+
"customers.config.activityTypes.options.assignee": "Assignee",
|
|
862
|
+
"customers.config.activityTypes.options.attendees": "Attendees",
|
|
863
|
+
"customers.config.activityTypes.options.call": "Call",
|
|
864
|
+
"customers.config.activityTypes.options.email": "Email",
|
|
865
|
+
"customers.config.activityTypes.options.event": "Event",
|
|
866
|
+
"customers.config.activityTypes.options.location": "Location",
|
|
867
|
+
"customers.config.activityTypes.options.meeting": "Meeting",
|
|
868
|
+
"customers.config.activityTypes.options.none": "None",
|
|
869
|
+
"customers.config.activityTypes.options.note": "Note",
|
|
870
|
+
"customers.config.activityTypes.options.participants": "Participants",
|
|
871
|
+
"customers.config.activityTypes.options.phoneLink": "Phone link",
|
|
872
|
+
"customers.config.activityTypes.options.recipients": "Recipients",
|
|
873
|
+
"customers.config.activityTypes.options.task": "Task",
|
|
874
|
+
"customers.config.activityTypes.refresh": "Refresh",
|
|
875
|
+
"customers.config.activityTypes.removed": "Activity type configuration removed.",
|
|
876
|
+
"customers.config.activityTypes.reset": "Reset override",
|
|
877
|
+
"customers.config.activityTypes.resetConfirm": "Remove the local activity type configuration?",
|
|
878
|
+
"customers.config.activityTypes.retry": "Retry",
|
|
879
|
+
"customers.config.activityTypes.save": "Save",
|
|
880
|
+
"customers.config.activityTypes.saveFailed": "Failed to save activity type.",
|
|
881
|
+
"customers.config.activityTypes.saved": "Activity type saved.",
|
|
882
|
+
"customers.config.activityTypes.view": "View",
|
|
883
|
+
"customers.config.activityTypes.yes": "Yes",
|
|
801
884
|
"customers.config.addressFormat.description": "Choose how address forms and displays should be structured across the customer module.",
|
|
802
885
|
"customers.config.addressFormat.error": "Failed to load address settings",
|
|
803
886
|
"customers.config.addressFormat.errorSave": "Failed to update address settings",
|
|
@@ -193,6 +193,11 @@
|
|
|
193
193
|
"customers.audit.todos.link": "Vincular tarea",
|
|
194
194
|
"customers.audit.todos.unlink": "Desvincular tarea",
|
|
195
195
|
"customers.calendar.actions.newEvent": "Nuevo evento",
|
|
196
|
+
"customers.calendar.activityTypes.errors.changeConfirmationRequired": "Cambiar el tipo de evento borrará los valores existentes.",
|
|
197
|
+
"customers.calendar.activityTypes.errors.fieldNotApplicable": "Este campo no corresponde al tipo de actividad seleccionado.",
|
|
198
|
+
"customers.calendar.activityTypes.errors.forbidden": "No tienes permiso para ver los tipos de actividad.",
|
|
199
|
+
"customers.calendar.activityTypes.errors.loadFailed": "No se pudieron cargar los tipos de actividad.",
|
|
200
|
+
"customers.calendar.activityTypes.errors.unavailable": "Este tipo de actividad no está disponible.",
|
|
196
201
|
"customers.calendar.agenda.eventsCount.few": "{count} eventos",
|
|
197
202
|
"customers.calendar.agenda.eventsCount.many": "{count} eventos",
|
|
198
203
|
"customers.calendar.agenda.eventsCount.one": "{count} evento",
|
|
@@ -232,6 +237,8 @@
|
|
|
232
237
|
"customers.calendar.editor.assigneePlaceholder": "Asignar a un miembro del equipo…",
|
|
233
238
|
"customers.calendar.editor.attendees": "Asistentes",
|
|
234
239
|
"customers.calendar.editor.cancel": "Cancelar",
|
|
240
|
+
"customers.calendar.editor.catalogLoadFailed": "No se pudieron cargar los tipos de actividad. Vuelve a intentarlo para guardar este evento.",
|
|
241
|
+
"customers.calendar.editor.catalogLoading": "Cargando tipos de actividad…",
|
|
235
242
|
"customers.calendar.editor.category": "Categoría",
|
|
236
243
|
"customers.calendar.editor.close": "Cerrar",
|
|
237
244
|
"customers.calendar.editor.conflictTitle": "Conflicto de calendario",
|
|
@@ -249,8 +256,14 @@
|
|
|
249
256
|
"customers.calendar.editor.dealsSection": "Negocios",
|
|
250
257
|
"customers.calendar.editor.description": "Descripción",
|
|
251
258
|
"customers.calendar.editor.descriptionPlaceholder": "Añadir detalles…",
|
|
259
|
+
"customers.calendar.editor.discardConfirm": "Cambiar tipo y borrar valores",
|
|
260
|
+
"customers.calendar.editor.discardDescription": "Al cambiar el tipo de evento se borrarán los valores que no correspondan al nuevo tipo.",
|
|
261
|
+
"customers.calendar.editor.discardFields": "Valores que se borrarán:",
|
|
262
|
+
"customers.calendar.editor.discardTitle": "¿Cambiar el tipo de evento?",
|
|
263
|
+
"customers.calendar.editor.discardUnknownField": "Campo personalizado",
|
|
252
264
|
"customers.calendar.editor.error": "No se pudo guardar el evento",
|
|
253
265
|
"customers.calendar.editor.guestBadge": "Invitado",
|
|
266
|
+
"customers.calendar.editor.historicalType": "Este tipo de evento ya no está disponible para eventos nuevos. Puedes seguir editando este evento o elegir otro tipo.",
|
|
254
267
|
"customers.calendar.editor.location": "Ubicación",
|
|
255
268
|
"customers.calendar.editor.locationPlaceholder": "Añadir una ubicación o enlace…",
|
|
256
269
|
"customers.calendar.editor.multiDayHint": "Evento de varios días · {count} días",
|
|
@@ -295,6 +308,7 @@
|
|
|
295
308
|
"customers.calendar.editor.saved": "Evento guardado",
|
|
296
309
|
"customers.calendar.editor.saving": "Guardando…",
|
|
297
310
|
"customers.calendar.editor.searching": "Buscando…",
|
|
311
|
+
"customers.calendar.editor.timezone": "Zona horaria",
|
|
298
312
|
"customers.calendar.editor.title.create": "Nuevo evento",
|
|
299
313
|
"customers.calendar.editor.title.edit": "Editar evento",
|
|
300
314
|
"customers.calendar.editor.titleLabel.email": "Asunto",
|
|
@@ -303,6 +317,7 @@
|
|
|
303
317
|
"customers.calendar.editor.titlePlaceholder": "Añadir un título…",
|
|
304
318
|
"customers.calendar.editor.to": "Para",
|
|
305
319
|
"customers.calendar.editor.typeSwitcher": "Tipo de evento",
|
|
320
|
+
"customers.calendar.editor.typeUnavailable": "Elige un tipo de evento disponible antes de guardar.",
|
|
306
321
|
"customers.calendar.editor.types.call": "Llamada",
|
|
307
322
|
"customers.calendar.editor.types.email": "Correo",
|
|
308
323
|
"customers.calendar.editor.types.event": "Evento",
|
|
@@ -312,6 +327,8 @@
|
|
|
312
327
|
"customers.calendar.editor.validation.assigneeRequired": "Asigna esta tarea a un miembro del equipo",
|
|
313
328
|
"customers.calendar.editor.validation.endsBeforeStarts": "El fin debe ser posterior al inicio",
|
|
314
329
|
"customers.calendar.editor.validation.relatedToRequired": "Selecciona una persona o empresa para vincular este evento",
|
|
330
|
+
"customers.calendar.editor.validation.timezoneGap": "Esta hora local no existe en la zona horaria seleccionada",
|
|
331
|
+
"customers.calendar.editor.validation.timezoneInvalid": "Selecciona una zona horaria válida",
|
|
315
332
|
"customers.calendar.editor.validation.titleRequired": "El título es obligatorio",
|
|
316
333
|
"customers.calendar.empty.action": "Nuevo evento",
|
|
317
334
|
"customers.calendar.empty.agenda": "No hay nada programado en este período",
|
|
@@ -368,6 +385,7 @@
|
|
|
368
385
|
"customers.calendar.settings.conflictWarnings": "Avisos de conflicto",
|
|
369
386
|
"customers.calendar.settings.eventCategories": "Categorías de eventos",
|
|
370
387
|
"customers.calendar.settings.eventCategoriesHint": "Tus propias etiquetas de agrupación (p. ej., Reunión de equipo, Llamada de ventas). Se ofrecen al crear un evento.",
|
|
388
|
+
"customers.calendar.settings.manageActivityTypes": "Administrar tipos de actividad",
|
|
371
389
|
"customers.calendar.settings.max": "(máx. {count})",
|
|
372
390
|
"customers.calendar.settings.removeTag": "Eliminar {tag}",
|
|
373
391
|
"customers.calendar.settings.save": "Guardar cambios",
|
|
@@ -798,6 +816,71 @@
|
|
|
798
816
|
"customers.companies.presets.inactive60": "Inactivas > 60 días",
|
|
799
817
|
"customers.companies.presets.myAccounts": "Mis cuentas",
|
|
800
818
|
"customers.companies.presets.recentlyCreated": "Recientemente creadas",
|
|
819
|
+
"customers.config.activityTypes.appearance": "Apariencia",
|
|
820
|
+
"customers.config.activityTypes.behavior": "Comportamiento del formulario",
|
|
821
|
+
"customers.config.activityTypes.columns.active": "Seleccionable",
|
|
822
|
+
"customers.config.activityTypes.columns.behavior": "Comportamiento",
|
|
823
|
+
"customers.config.activityTypes.columns.fields": "Campos",
|
|
824
|
+
"customers.config.activityTypes.columns.fieldsets": "Grupos de campos",
|
|
825
|
+
"customers.config.activityTypes.columns.key": "Clave estable",
|
|
826
|
+
"customers.config.activityTypes.columns.order": "Orden",
|
|
827
|
+
"customers.config.activityTypes.columns.source": "Origen",
|
|
828
|
+
"customers.config.activityTypes.columns.type": "Tipo de actividad",
|
|
829
|
+
"customers.config.activityTypes.configure": "Configurar",
|
|
830
|
+
"customers.config.activityTypes.delete": "Eliminar",
|
|
831
|
+
"customers.config.activityTypes.empty": "No hay tipos de actividad disponibles.",
|
|
832
|
+
"customers.config.activityTypes.fields.allDay": "Todo el día",
|
|
833
|
+
"customers.config.activityTypes.fields.baseKind": "Comportamiento base",
|
|
834
|
+
"customers.config.activityTypes.fields.color": "Color (#RRGGBB)",
|
|
835
|
+
"customers.config.activityTypes.fields.customFieldsetIds": "Grupos de campos personalizados",
|
|
836
|
+
"customers.config.activityTypes.fields.endTime": "Hora de finalización",
|
|
837
|
+
"customers.config.activityTypes.fields.icon": "Icono",
|
|
838
|
+
"customers.config.activityTypes.fields.label": "Etiqueta",
|
|
839
|
+
"customers.config.activityTypes.fields.location": "Campo de ubicación",
|
|
840
|
+
"customers.config.activityTypes.fields.order": "Orden de visualización",
|
|
841
|
+
"customers.config.activityTypes.fields.people": "Campo de personas",
|
|
842
|
+
"customers.config.activityTypes.fields.priority": "Prioridad",
|
|
843
|
+
"customers.config.activityTypes.fields.recurrence": "Recurrencia",
|
|
844
|
+
"customers.config.activityTypes.fields.resources": "Recursos",
|
|
845
|
+
"customers.config.activityTypes.fields.selectable": "Disponible para eventos nuevos",
|
|
846
|
+
"customers.config.activityTypes.fields.value": "Clave estable",
|
|
847
|
+
"customers.config.activityTypes.fieldsetsUnavailable": "Los grupos de campos no están disponibles. Vuelve a cargarlos antes de guardar.",
|
|
848
|
+
"customers.config.activityTypes.inactiveHint": "Un módulo impide que esta configuración surta efecto.",
|
|
849
|
+
"customers.config.activityTypes.inherited": "Heredado",
|
|
850
|
+
"customers.config.activityTypes.inheritedHint": "Al guardar se creará una configuración local para esta organización.",
|
|
851
|
+
"customers.config.activityTypes.invalidBehavior": "Revisa los valores del comportamiento del formulario.",
|
|
852
|
+
"customers.config.activityTypes.invalidKey": "Usa una clave en minúsculas con letras, números, guiones o guiones bajos.",
|
|
853
|
+
"customers.config.activityTypes.loadFailed": "No se pudieron cargar los tipos de actividad.",
|
|
854
|
+
"customers.config.activityTypes.loadingFieldsets": "Cargando grupos de campos…",
|
|
855
|
+
"customers.config.activityTypes.local": "Configuración local",
|
|
856
|
+
"customers.config.activityTypes.missing": "falta",
|
|
857
|
+
"customers.config.activityTypes.missingHint": "Algunos grupos de campos configurados ya no existen.",
|
|
858
|
+
"customers.config.activityTypes.new": "Nuevo tipo de actividad",
|
|
859
|
+
"customers.config.activityTypes.no": "No",
|
|
860
|
+
"customers.config.activityTypes.noFieldsets": "Todavía no se han definido grupos de campos personalizados.",
|
|
861
|
+
"customers.config.activityTypes.options.assignee": "Persona asignada",
|
|
862
|
+
"customers.config.activityTypes.options.attendees": "Asistentes",
|
|
863
|
+
"customers.config.activityTypes.options.call": "Llamada",
|
|
864
|
+
"customers.config.activityTypes.options.email": "Correo electrónico",
|
|
865
|
+
"customers.config.activityTypes.options.event": "Evento",
|
|
866
|
+
"customers.config.activityTypes.options.location": "Ubicación",
|
|
867
|
+
"customers.config.activityTypes.options.meeting": "Reunión",
|
|
868
|
+
"customers.config.activityTypes.options.none": "Ninguno",
|
|
869
|
+
"customers.config.activityTypes.options.note": "Nota",
|
|
870
|
+
"customers.config.activityTypes.options.participants": "Participantes",
|
|
871
|
+
"customers.config.activityTypes.options.phoneLink": "Enlace telefónico",
|
|
872
|
+
"customers.config.activityTypes.options.recipients": "Destinatarios",
|
|
873
|
+
"customers.config.activityTypes.options.task": "Tarea",
|
|
874
|
+
"customers.config.activityTypes.refresh": "Actualizar",
|
|
875
|
+
"customers.config.activityTypes.removed": "Se eliminó la configuración del tipo de actividad.",
|
|
876
|
+
"customers.config.activityTypes.reset": "Restablecer configuración",
|
|
877
|
+
"customers.config.activityTypes.resetConfirm": "¿Eliminar la configuración local del tipo de actividad?",
|
|
878
|
+
"customers.config.activityTypes.retry": "Reintentar",
|
|
879
|
+
"customers.config.activityTypes.save": "Guardar",
|
|
880
|
+
"customers.config.activityTypes.saveFailed": "No se pudo guardar el tipo de actividad.",
|
|
881
|
+
"customers.config.activityTypes.saved": "Tipo de actividad guardado.",
|
|
882
|
+
"customers.config.activityTypes.view": "Ver",
|
|
883
|
+
"customers.config.activityTypes.yes": "Sí",
|
|
801
884
|
"customers.config.addressFormat.description": "Elija cómo deben estructurarse los formularios y vistas del módulo de clientes.",
|
|
802
885
|
"customers.config.addressFormat.error": "No se pudieron cargar las preferencias de dirección",
|
|
803
886
|
"customers.config.addressFormat.errorSave": "No se pudieron actualizar las preferencias de dirección",
|