@open-mercato/core 0.6.7-develop.6606.1.3b1ec9b1ea → 0.6.7-develop.6622.1.4d29ddaca4

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.
Files changed (102) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/modules/auth/api/session/refresh.js +12 -11
  3. package/dist/modules/auth/api/session/refresh.js.map +2 -2
  4. package/dist/modules/auth/lib/rateLimitCheck.js +4 -4
  5. package/dist/modules/auth/lib/rateLimitCheck.js.map +2 -2
  6. package/dist/modules/catalog/api/categories/route.js +8 -14
  7. package/dist/modules/catalog/api/categories/route.js.map +2 -2
  8. package/dist/modules/catalog/api/tags/route.js +3 -10
  9. package/dist/modules/catalog/api/tags/route.js.map +2 -2
  10. package/dist/modules/customers/api/interactions/[id]/visibility/route.js +15 -17
  11. package/dist/modules/customers/api/interactions/[id]/visibility/route.js.map +2 -2
  12. package/dist/modules/customers/api/people/[id]/email-threads/route.js +6 -4
  13. package/dist/modules/customers/api/people/[id]/email-threads/route.js.map +2 -2
  14. package/dist/modules/customers/api/people/[id]/emails/route.js +19 -17
  15. package/dist/modules/customers/api/people/[id]/emails/route.js.map +2 -2
  16. package/dist/modules/customers/components/detail/CustomFieldValuesList.js +22 -5
  17. package/dist/modules/customers/components/detail/CustomFieldValuesList.js.map +2 -2
  18. package/dist/modules/customers/components/detail/create/CreateDealForm.js +5 -2
  19. package/dist/modules/customers/components/detail/create/CreateDealForm.js.map +2 -2
  20. package/dist/modules/customers/components/detail/customFieldUtils.js +10 -3
  21. package/dist/modules/customers/components/detail/customFieldUtils.js.map +2 -2
  22. package/dist/modules/directory/backend/directory/organizations/[id]/edit/page.meta.js +4 -2
  23. package/dist/modules/directory/backend/directory/organizations/[id]/edit/page.meta.js.map +2 -2
  24. package/dist/modules/directory/backend/directory/tenants/[id]/edit/page.meta.js +4 -2
  25. package/dist/modules/directory/backend/directory/tenants/[id]/edit/page.meta.js.map +2 -2
  26. package/dist/modules/integrations/api/[id]/credentials/route.js +10 -7
  27. package/dist/modules/integrations/api/[id]/credentials/route.js.map +2 -2
  28. package/dist/modules/integrations/api/[id]/health/route.js +6 -4
  29. package/dist/modules/integrations/api/[id]/health/route.js.map +2 -2
  30. package/dist/modules/integrations/api/[id]/route.js +4 -2
  31. package/dist/modules/integrations/api/[id]/route.js.map +2 -2
  32. package/dist/modules/integrations/api/[id]/state/route.js +7 -5
  33. package/dist/modules/integrations/api/[id]/state/route.js.map +2 -2
  34. package/dist/modules/integrations/api/[id]/version/route.js +7 -5
  35. package/dist/modules/integrations/api/[id]/version/route.js.map +2 -2
  36. package/dist/modules/integrations/api/logs/route.js +4 -2
  37. package/dist/modules/integrations/api/logs/route.js.map +2 -2
  38. package/dist/modules/integrations/api/route.js +4 -2
  39. package/dist/modules/integrations/api/route.js.map +2 -2
  40. package/dist/modules/integrations/api/umes-read.js +2 -1
  41. package/dist/modules/integrations/api/umes-read.js.map +2 -2
  42. package/dist/modules/integrations/lib/organization-scope.js +12 -0
  43. package/dist/modules/integrations/lib/organization-scope.js.map +7 -0
  44. package/dist/modules/payment_gateways/lib/gateway-service.js +10 -1
  45. package/dist/modules/payment_gateways/lib/gateway-service.js.map +2 -2
  46. package/dist/modules/sales/api/document-history/route.js +6 -9
  47. package/dist/modules/sales/api/document-history/route.js.map +2 -2
  48. package/dist/modules/sales/api/quotes/accept/route.js +3 -3
  49. package/dist/modules/sales/api/quotes/accept/route.js.map +2 -2
  50. package/dist/modules/sales/api/returns/[id]/route.js +6 -9
  51. package/dist/modules/sales/api/returns/[id]/route.js.map +2 -2
  52. package/dist/modules/sales/backend/sales/documents/[id]/page.js +6 -2
  53. package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
  54. package/dist/modules/sales/components/documents/AddressesSection.js +6 -4
  55. package/dist/modules/sales/components/documents/AddressesSection.js.map +2 -2
  56. package/dist/modules/sales/workflows.js +1 -1
  57. package/dist/modules/sales/workflows.js.map +1 -1
  58. package/dist/modules/workflows/api/definitions/[id]/route.js +10 -1
  59. package/dist/modules/workflows/api/definitions/[id]/route.js.map +2 -2
  60. package/dist/modules/workflows/lib/event-trigger-service.js +44 -3
  61. package/dist/modules/workflows/lib/event-trigger-service.js.map +2 -2
  62. package/package.json +7 -7
  63. package/src/modules/auth/api/session/refresh.ts +19 -11
  64. package/src/modules/auth/lib/rateLimitCheck.ts +4 -4
  65. package/src/modules/catalog/api/categories/route.ts +14 -16
  66. package/src/modules/catalog/api/tags/route.ts +6 -10
  67. package/src/modules/catalog/i18n/pl.json +9 -9
  68. package/src/modules/customer_accounts/i18n/pl.json +129 -129
  69. package/src/modules/customers/api/interactions/[id]/visibility/route.ts +24 -20
  70. package/src/modules/customers/api/people/[id]/email-threads/route.ts +10 -6
  71. package/src/modules/customers/api/people/[id]/emails/route.ts +25 -21
  72. package/src/modules/customers/components/detail/CustomFieldValuesList.tsx +28 -4
  73. package/src/modules/customers/components/detail/create/CreateDealForm.tsx +7 -2
  74. package/src/modules/customers/components/detail/customFieldUtils.ts +15 -3
  75. package/src/modules/data_sync/i18n/pl.json +68 -68
  76. package/src/modules/directory/backend/directory/organizations/[id]/edit/page.meta.ts +4 -2
  77. package/src/modules/directory/backend/directory/tenants/[id]/edit/page.meta.ts +4 -2
  78. package/src/modules/integrations/api/[id]/credentials/route.ts +10 -7
  79. package/src/modules/integrations/api/[id]/health/route.ts +6 -4
  80. package/src/modules/integrations/api/[id]/route.ts +4 -2
  81. package/src/modules/integrations/api/[id]/state/route.ts +7 -5
  82. package/src/modules/integrations/api/[id]/version/route.ts +7 -5
  83. package/src/modules/integrations/api/logs/route.ts +4 -2
  84. package/src/modules/integrations/api/route.ts +4 -2
  85. package/src/modules/integrations/api/umes-read.ts +2 -1
  86. package/src/modules/integrations/i18n/de.json +0 -76
  87. package/src/modules/integrations/i18n/en.json +0 -76
  88. package/src/modules/integrations/i18n/es.json +0 -76
  89. package/src/modules/integrations/i18n/pl.json +0 -76
  90. package/src/modules/integrations/lib/organization-scope.ts +27 -0
  91. package/src/modules/payment_gateways/lib/gateway-service.ts +12 -1
  92. package/src/modules/sales/api/document-history/route.ts +10 -9
  93. package/src/modules/sales/api/quotes/accept/route.ts +3 -3
  94. package/src/modules/sales/api/returns/[id]/route.ts +10 -9
  95. package/src/modules/sales/backend/sales/documents/[id]/page.tsx +26 -19
  96. package/src/modules/sales/components/documents/AddressesSection.tsx +8 -4
  97. package/src/modules/sales/i18n/pl.json +24 -24
  98. package/src/modules/sales/workflows.ts +1 -1
  99. package/src/modules/staff/i18n/pl.json +178 -178
  100. package/src/modules/workflows/api/definitions/[id]/route.ts +14 -1
  101. package/src/modules/workflows/i18n/pl.json +128 -128
  102. package/src/modules/workflows/lib/event-trigger-service.ts +87 -8
@@ -6,6 +6,7 @@ import { CrudHttpError } from '@open-mercato/shared/lib/crud/errors'
6
6
  import { getAuthFromRequest } from '@open-mercato/shared/lib/auth/server'
7
7
  import { createRequestContainer } from '@open-mercato/shared/lib/di/container'
8
8
  import { resolveOrganizationScopeForRequest } from '@open-mercato/core/modules/directory/utils/organizationScope'
9
+ import { resolveOrganizationScopeFilter } from '@open-mercato/core/modules/directory/utils/organizationScopeFilter'
9
10
  import { resolveTranslations } from '@open-mercato/shared/lib/i18n/server'
10
11
  import { loadCustomFieldValues } from '@open-mercato/shared/lib/crud/custom-fields'
11
12
  import { E } from '#generated/entities.ids.generated'
@@ -100,7 +101,7 @@ type ManageCategoryRow = {
100
101
  descendantCount: number
101
102
  isActive: boolean
102
103
  updatedAt: string | null
103
- organizationId: string
104
+ organizationId: string | null
104
105
  tenantId: string
105
106
  }
106
107
 
@@ -159,20 +160,17 @@ export async function GET(req: Request) {
159
160
  )
160
161
  }
161
162
 
162
- const allowed = scope?.filterIds ?? scope?.allowedIds ?? (auth.orgId ? [auth.orgId] : null)
163
- const preferredOrg = scope?.selectedId ?? auth.orgId ?? null
164
- const organizationId = preferredOrg ?? (Array.isArray(allowed) && allowed.length ? allowed[0]! : null)
165
-
166
- if (!organizationId || (Array.isArray(allowed) && allowed.length && !allowed.includes(organizationId))) {
167
- return NextResponse.json(
168
- { items: [], error: translate('catalog.errors.organization_required', 'Organization context is required.') },
169
- { status: 400 }
170
- )
171
- }
163
+ // Scope by the caller's visible organizations. Under "All organizations"
164
+ // (super-admin) `where` is empty, so the tree scopes by tenant only instead
165
+ // of 400-ing; restricted callers get their `filterIds` `$in` guard.
166
+ const orgFilter = resolveOrganizationScopeFilter(scope, auth)
167
+ // Caller's resolved org echoed at the top level; null under "All organizations"
168
+ // where the tree spans orgs and each row carries its own org instead.
169
+ const responseOrganizationId = orgFilter.rbacOrganizationId ?? null
172
170
 
173
171
  const categories = await em.find(
174
172
  CatalogProductCategory,
175
- { organizationId, tenantId, deletedAt: null },
173
+ { ...orgFilter.where, tenantId, deletedAt: null },
176
174
  { orderBy: { name: 'ASC' } }
177
175
  )
178
176
  const categoryMap = new Map(categories.map((cat) => [String(cat.id), cat]))
@@ -233,7 +231,7 @@ export async function GET(req: Request) {
233
231
  const organizationIdByRecord: Record<string, string | null> = {}
234
232
  for (const id of recordIds) {
235
233
  tenantIdByRecord[id] = tenantId
236
- organizationIdByRecord[id] = organizationId
234
+ organizationIdByRecord[id] = categoryMap.get(id)?.organizationId ?? null
237
235
  }
238
236
  const cfValues = recordIds.length
239
237
  ? await loadCustomFieldValues({
@@ -264,7 +262,7 @@ export async function GET(req: Request) {
264
262
  descendantCount: node.descendantIds.length,
265
263
  isActive: node.isActive,
266
264
  updatedAt: category?.updatedAt ? new Date(category.updatedAt).toISOString() : null,
267
- organizationId,
265
+ organizationId: category?.organizationId ?? null,
268
266
  tenantId,
269
267
  ...(cfValues[recordId] ?? {}),
270
268
  }
@@ -277,7 +275,7 @@ export async function GET(req: Request) {
277
275
  page,
278
276
  pageSize,
279
277
  totalPages,
280
- organizationId,
278
+ organizationId: responseOrganizationId,
281
279
  tenantId,
282
280
  })
283
281
  }
@@ -300,7 +298,7 @@ const categoryListItemSchema = z.object({
300
298
  descendantCount: z.number(),
301
299
  isActive: z.boolean(),
302
300
  updatedAt: z.string().nullable().optional(),
303
- organizationId: z.string().uuid(),
301
+ organizationId: z.string().uuid().nullable(),
304
302
  tenantId: z.string().uuid(),
305
303
  })
306
304
 
@@ -4,6 +4,7 @@ import type { EntityManager } from '@mikro-orm/postgresql'
4
4
  import { getAuthFromRequest } from '@open-mercato/shared/lib/auth/server'
5
5
  import { createRequestContainer } from '@open-mercato/shared/lib/di/container'
6
6
  import { resolveOrganizationScopeForRequest } from '@open-mercato/core/modules/directory/utils/organizationScope'
7
+ import { resolveOrganizationScopeFilter } from '@open-mercato/core/modules/directory/utils/organizationScopeFilter'
7
8
  import { resolveTranslations } from '@open-mercato/shared/lib/i18n/server'
8
9
  import { CatalogProductTag } from '../../data/entities'
9
10
  import type { OpenApiRouteDoc } from '@open-mercato/shared/lib/openapi'
@@ -54,18 +55,13 @@ export async function GET(req: Request) {
54
55
  )
55
56
  }
56
57
 
57
- const allowed = scope?.filterIds ?? scope?.allowedIds ?? (auth.orgId ? [auth.orgId] : null)
58
- const preferredOrg = scope?.selectedId ?? auth.orgId ?? null
59
- const organizationId = preferredOrg ?? (Array.isArray(allowed) && allowed.length ? allowed[0]! : null)
60
- if (!organizationId || (Array.isArray(allowed) && allowed.length && !allowed.includes(organizationId))) {
61
- return NextResponse.json(
62
- { items: [], error: translate('catalog.errors.organization_required', 'Organization context is required.') },
63
- { status: 400 }
64
- )
65
- }
58
+ // Scope by the caller's visible organizations. Under "All organizations"
59
+ // (super-admin) `where` is empty, so the list scopes by tenant only instead
60
+ // of 400-ing; restricted callers get their `filterIds` `$in` guard.
61
+ const orgFilter = resolveOrganizationScopeFilter(scope, auth)
66
62
 
67
63
  const where: Record<string, unknown> = {
68
- organizationId,
64
+ ...orgFilter.where,
69
65
  tenantId,
70
66
  }
71
67
  const search = query.search?.trim()
@@ -86,13 +86,13 @@
86
86
  "catalog.errors.id_required": "Wymagany jest identyfikator rekordu.",
87
87
  "catalog.errors.organization_required": "Wymagany jest kontekst organizacji.",
88
88
  "catalog.errors.tenant_required": "Wymagany jest kontekst dzierżawy.",
89
- "catalog.merchandising_assistant.context.filteredByCategory": "Filtered by category",
90
- "catalog.merchandising_assistant.context.tags": "{count} tags",
91
- "catalog.merchandising_assistant.dock.subtitle": "Catalog",
92
- "catalog.merchandising_assistant.popover.heading": "AI assistants",
89
+ "catalog.merchandising_assistant.context.filteredByCategory": "Filtrowane po kategorii",
90
+ "catalog.merchandising_assistant.context.tags": "Tagi: {count}",
91
+ "catalog.merchandising_assistant.dock.subtitle": "Katalog",
92
+ "catalog.merchandising_assistant.popover.heading": "Asystenci AI",
93
93
  "catalog.merchandising_assistant.sheet.composerPlaceholder": "Poproś o opisy, atrybuty, tytuły lub propozycje cen…",
94
94
  "catalog.merchandising_assistant.sheet.description": "Demo tylko do odczytu. Proponuje opisy, atrybuty, tytuły i korekty cen dla bieżącego wyboru. Na tym etapie żadne zmiany nie są zapisywane.",
95
- "catalog.merchandising_assistant.sheet.dock": "Dock to side",
95
+ "catalog.merchandising_assistant.sheet.dock": "Przypnij z boku",
96
96
  "catalog.merchandising_assistant.sheet.selectionPill": "Działa na {count} produktach",
97
97
  "catalog.merchandising_assistant.sheet.title": "Asystent merchandisingu katalogu",
98
98
  "catalog.merchandising_assistant.trigger.ariaLabel": "Otwórz asystenta merchandisingu AI",
@@ -220,7 +220,7 @@
220
220
  "catalog.products.create.actions.usePlain": "Użyj zwykłego tekstu",
221
221
  "catalog.products.create.attachments.help": "Przeciągnij i upuść obrazy tutaj lub kliknij, aby je przesłać.",
222
222
  "catalog.products.create.attachments.remove": "Usuń",
223
- "catalog.products.create.attachments.title": "Media",
223
+ "catalog.products.create.attachments.title": "Multimedia",
224
224
  "catalog.products.create.currency.add": "Dodaj walutę",
225
225
  "catalog.products.create.currency.addPrompt": "Podaj kod waluty.",
226
226
  "catalog.products.create.currency.cancel": "Anuluj",
@@ -476,7 +476,7 @@
476
476
  "catalog.products.edit.weight.unit": "Jednostka wagi",
477
477
  "catalog.products.edit.weight.value": "Waga",
478
478
  "catalog.products.errors.handleExists": "Handle jest już używany.",
479
- "catalog.products.errors.notFound": "Catalog product not found.",
479
+ "catalog.products.errors.notFound": "Nie znaleziono produktu w katalogu.",
480
480
  "catalog.products.errors.skuExists": "SKU jest już używany.",
481
481
  "catalog.products.errors.taxClassNotFound": "Nie znaleziono klasy podatkowej.",
482
482
  "catalog.products.filters.active": "Aktywne",
@@ -520,7 +520,7 @@
520
520
  "catalog.products.media.errors.deleteFailed": "Nie udało się usunąć medium.",
521
521
  "catalog.products.media.errors.imagesOnly": "Obsługiwane są tylko pliki graficzne.",
522
522
  "catalog.products.media.errors.uploadFailed": "Nie udało się przesłać pliku.",
523
- "catalog.products.media.label": "Media",
523
+ "catalog.products.media.label": "Multimedia",
524
524
  "catalog.products.media.uploading": "Przesyłam…",
525
525
  "catalog.products.page.title": "Produkty i usługi",
526
526
  "catalog.products.table.actions.delete": "Usuń",
@@ -671,7 +671,7 @@
671
671
  "catalog.variants.form.isDefaultHint": "Używany w sklepach",
672
672
  "catalog.variants.form.isDefaultLabel": "Domyślny wariant",
673
673
  "catalog.variants.form.loading": "Ładowanie formularza...",
674
- "catalog.variants.form.media": "Media",
674
+ "catalog.variants.form.media": "Multimedia",
675
675
  "catalog.variants.form.nameLabel": "Nazwa",
676
676
  "catalog.variants.form.namePlaceholder": "np. Niebieski / Mały",
677
677
  "catalog.variants.form.nameRequired": "Podaj nazwę wariantu.",
@@ -33,10 +33,10 @@
33
33
  "customer_accounts.admin.detail.actions.revoke": "Unieważnij",
34
34
  "customer_accounts.admin.detail.actions.save": "Zapisz zmiany",
35
35
  "customer_accounts.admin.detail.actions.saving": "Zapisywanie...",
36
- "customer_accounts.admin.detail.actions.unlink": "Unlink",
36
+ "customer_accounts.admin.detail.actions.unlink": "Odłącz",
37
37
  "customer_accounts.admin.detail.actions.viewCompany": "Zobacz firmę",
38
38
  "customer_accounts.admin.detail.actions.viewPerson": "Zobacz osobę",
39
- "customer_accounts.admin.detail.crmLinks.hint": "Changes to CRM links are saved when you click Save Changes below.",
39
+ "customer_accounts.admin.detail.crmLinks.hint": "Zmiany powiązań CRM zapiszą się po kliknięciu Zapisz zmiany poniżej.",
40
40
  "customer_accounts.admin.detail.error.load": "Nie udało się załadować użytkownika",
41
41
  "customer_accounts.admin.detail.error.notFound": "Nie znaleziono użytkownika",
42
42
  "customer_accounts.admin.detail.error.revokeSession": "Nie udało się unieważnić sesji",
@@ -51,16 +51,16 @@
51
51
  "customer_accounts.admin.detail.fields.lastUsed": "Ostatnio używana",
52
52
  "customer_accounts.admin.detail.fields.personEntity": "Osoba",
53
53
  "customer_accounts.admin.detail.fields.roles": "Role",
54
- "customer_accounts.admin.detail.fields.searchCompany": "Search companies by name...",
55
- "customer_accounts.admin.detail.fields.searchPerson": "Search people by name...",
54
+ "customer_accounts.admin.detail.fields.searchCompany": "Szukaj firm po nazwie...",
55
+ "customer_accounts.admin.detail.fields.searchPerson": "Szukaj osób po nazwisku...",
56
56
  "customer_accounts.admin.detail.flash.saved": "Użytkownik zaktualizowany",
57
57
  "customer_accounts.admin.detail.flash.sessionRevoked": "Sesja unieważniona",
58
58
  "customer_accounts.admin.detail.loading": "Ładowanie użytkownika...",
59
59
  "customer_accounts.admin.detail.noRolesAvailable": "Brak dostępnych ról",
60
60
  "customer_accounts.admin.detail.noSessions": "Brak aktywnych sesji",
61
- "customer_accounts.admin.detail.portalAccess.description": "This user can access the customer portal at the URL below. The portal provides self-service access to orders, invoices, quotes, and account management.",
62
- "customer_accounts.admin.detail.portalAccess.title": "Customer Portal Access",
63
- "customer_accounts.admin.detail.portalAccess.url": "Portal URL: {url}",
61
+ "customer_accounts.admin.detail.portalAccess.description": "Ten użytkownik ma dostęp do portalu klienta pod poniższym adresem. Portal daje samoobsługowy dostęp do zamówień, faktur, ofert i zarządzania kontem.",
62
+ "customer_accounts.admin.detail.portalAccess.title": "Dostęp do portalu klienta",
63
+ "customer_accounts.admin.detail.portalAccess.url": "Adres portalu: {url}",
64
64
  "customer_accounts.admin.detail.resetPassword.actions.cancel": "Anuluj",
65
65
  "customer_accounts.admin.detail.resetPassword.actions.open": "Zresetuj hasło",
66
66
  "customer_accounts.admin.detail.resetPassword.actions.reset": "Zresetuj hasło",
@@ -76,15 +76,15 @@
76
76
  "customer_accounts.admin.detail.sections.security": "Bezpieczeństwo",
77
77
  "customer_accounts.admin.detail.sections.sessions": "Aktywne sesje",
78
78
  "customer_accounts.admin.detail.sections.settings": "Ustawienia konta",
79
- "customer_accounts.admin.detail.sendResetLink.actions.copy": "Copy",
80
- "customer_accounts.admin.detail.sendResetLink.actions.send": "Send Reset Link",
81
- "customer_accounts.admin.detail.sendResetLink.actions.sending": "Generating...",
82
- "customer_accounts.admin.detail.sendResetLink.actions.start": "Generate Reset Link",
83
- "customer_accounts.admin.detail.sendResetLink.error": "Failed to generate reset link",
84
- "customer_accounts.admin.detail.sendResetLink.flash.copied": "Link copied to clipboard",
85
- "customer_accounts.admin.detail.sendResetLink.flash.success": "Reset link generated",
86
- "customer_accounts.admin.detail.sendResetLink.hint": "Share this link with the customer to let them set a new password.",
87
- "customer_accounts.admin.detail.sendResetLink.linkLabel": "Password reset link (valid for 60 minutes):",
79
+ "customer_accounts.admin.detail.sendResetLink.actions.copy": "Kopiuj",
80
+ "customer_accounts.admin.detail.sendResetLink.actions.send": "Wyślij link resetujący",
81
+ "customer_accounts.admin.detail.sendResetLink.actions.sending": "Generowanie...",
82
+ "customer_accounts.admin.detail.sendResetLink.actions.start": "Wygeneruj link resetujący",
83
+ "customer_accounts.admin.detail.sendResetLink.error": "Nie udało się wygenerować linku resetującego",
84
+ "customer_accounts.admin.detail.sendResetLink.flash.copied": "Skopiowano link do schowka",
85
+ "customer_accounts.admin.detail.sendResetLink.flash.success": "Wygenerowano link resetujący",
86
+ "customer_accounts.admin.detail.sendResetLink.hint": "Przekaż ten link klientowi, aby mógł ustawić nowe hasło.",
87
+ "customer_accounts.admin.detail.sendResetLink.linkLabel": "Link do resetu hasła (ważny 60 minut):",
88
88
  "customer_accounts.admin.detail.unknownDevice": "Nieznane urządzenie",
89
89
  "customer_accounts.admin.detail.unknownIp": "Nieznany IP",
90
90
  "customer_accounts.admin.detail.verifyEmail.actions.verify": "Oznacz jako zweryfikowany",
@@ -133,20 +133,20 @@
133
133
  "customer_accounts.admin.portalFeatures.users.manage.description": "Umożliwia edycję ról i usuwanie członków zespołu",
134
134
  "customer_accounts.admin.portalFeatures.users.view": "Wyświetlanie członków zespołu",
135
135
  "customer_accounts.admin.portalFeatures.users.view.description": "Umożliwia przeglądanie innych członków zespołu w organizacji",
136
- "customer_accounts.admin.portalInfo.credentials": "Demo credentials: alice.johnson@example.com / Password123!",
137
- "customer_accounts.admin.portalInfo.description": "Manage customer portal accounts. Customers can self-register, log in, and access orders, quotes, and invoices through the portal.",
138
- "customer_accounts.admin.portalInfo.open": "Open Portal",
139
- "customer_accounts.admin.portalInfo.openConfiguration": "Open Configuration",
140
- "customer_accounts.admin.portalInfo.title": "Customer Portal",
141
- "customer_accounts.admin.portalInfo.url": "Portal URL: {url}",
136
+ "customer_accounts.admin.portalInfo.credentials": "Dane demonstracyjne: alice.johnson@example.com / Password123!",
137
+ "customer_accounts.admin.portalInfo.description": "Zarządzaj kontami portalu klienta. Klienci mogą sami się rejestrować, logować oraz przeglądać zamówienia, oferty i faktury w portalu.",
138
+ "customer_accounts.admin.portalInfo.open": "Otwórz portal",
139
+ "customer_accounts.admin.portalInfo.openConfiguration": "Otwórz konfigurację",
140
+ "customer_accounts.admin.portalInfo.title": "Portal klienta",
141
+ "customer_accounts.admin.portalInfo.url": "Adres portalu: {url}",
142
142
  "customer_accounts.admin.roleCreate.actions.cancel": "Anuluj",
143
143
  "customer_accounts.admin.roleCreate.actions.create": "Utwórz rolę",
144
144
  "customer_accounts.admin.roleCreate.actions.saving": "Tworzenie...",
145
- "customer_accounts.admin.roleCreate.error.nameRequired": "Name is required",
145
+ "customer_accounts.admin.roleCreate.error.nameRequired": "Nazwa jest wymagana",
146
146
  "customer_accounts.admin.roleCreate.error.required": "Nazwa i slug są wymagane",
147
147
  "customer_accounts.admin.roleCreate.error.save": "Nie udało się utworzyć roli",
148
- "customer_accounts.admin.roleCreate.error.slugFormat": "Slug must contain only lowercase letters, numbers, hyphens, and underscores",
149
- "customer_accounts.admin.roleCreate.error.slugRequired": "Slug is required",
148
+ "customer_accounts.admin.roleCreate.error.slugFormat": "Slug może zawierać wyłącznie małe litery, cyfry, myślniki i podkreślenia",
149
+ "customer_accounts.admin.roleCreate.error.slugRequired": "Slug jest wymagany",
150
150
  "customer_accounts.admin.roleCreate.fields.customerAssignable": "Klienci mogą się samoprzypisywać",
151
151
  "customer_accounts.admin.roleCreate.fields.description": "Opis",
152
152
  "customer_accounts.admin.roleCreate.fields.isDefault": "Domyślna rola (automatycznie przypisywana nowym użytkownikom)",
@@ -204,94 +204,94 @@
204
204
  "customer_accounts.admin.unverified": "Nie",
205
205
  "customer_accounts.admin.users": "Użytkownicy",
206
206
  "customer_accounts.admin.verified": "Tak",
207
- "customer_accounts.domainMapping.aRecordInstruction": "For an apex domain, add an A record for {hostname} pointing to {target}",
208
- "customer_accounts.domainMapping.alreadyClaimed": "This domain is not available. Please choose a different hostname.",
209
- "customer_accounts.domainMapping.autoVerify.checking": "Automatically checking every 5 minutes",
210
- "customer_accounts.domainMapping.autoVerify.lastChecked": "Last checked: {time}",
211
- "customer_accounts.domainMapping.autoVerify.nextCheck": "Next check in ~{minutes} minutes",
212
- "customer_accounts.domainMapping.changeDomain": "Change Domain",
213
- "customer_accounts.domainMapping.changeDomain.description": "Your current domain ({hostname}) will stay active until the new domain is fully set up. No downtime for your customers.",
214
- "customer_accounts.domainMapping.changeDomain.replacing": "Replacing {oldHostname} — old domain stays live until this one is ready",
215
- "customer_accounts.domainMapping.cnameInstruction": "Add a CNAME record for {hostname} pointing to {target} in your DNS provider",
216
- "customer_accounts.domainMapping.copyTarget": "Copy",
217
- "customer_accounts.domainMapping.copyTarget.copied": "Copied",
218
- "customer_accounts.domainMapping.description": "Map your own domain to the customer portal",
219
- "customer_accounts.domainMapping.diagnostics.detectedRecords": "Detected DNS records:",
220
- "customer_accounts.domainMapping.diagnostics.noRecord": "No CNAME or A record found for {hostname}",
221
- "customer_accounts.domainMapping.diagnostics.proxyDetected": "Your DNS uses a proxy ({proxy}). Either disable the proxy or configure it to forward traffic to our platform.",
222
- "customer_accounts.domainMapping.diagnostics.suggestion": "Suggested fix:",
223
- "customer_accounts.domainMapping.diagnostics.timeout": "DNS lookup timed outthis may be a temporary issue",
224
- "customer_accounts.domainMapping.diagnostics.wrongARecordTarget": "Your A record points to {detected} instead of {expected}",
225
- "customer_accounts.domainMapping.diagnostics.wrongCnameTarget": "Your CNAME record points to {detected} instead of {expected}",
226
- "customer_accounts.domainMapping.dialog.cancel": "Cancel",
227
- "customer_accounts.domainMapping.dialog.change.submit": "Start replacement",
228
- "customer_accounts.domainMapping.dialog.change.title": "Change custom domain",
229
- "customer_accounts.domainMapping.dialog.register.submit": "Register",
230
- "customer_accounts.domainMapping.dialog.register.title": "Register custom domain",
231
- "customer_accounts.domainMapping.dns.diagnostics.detected": "Detected target",
232
- "customer_accounts.domainMapping.dns.diagnostics.expected": "Expected target",
233
- "customer_accounts.domainMapping.dns.diagnostics.title": "DNS configuration issue",
234
- "customer_accounts.domainMapping.dns.recheckButton": "Re-check DNS",
235
- "customer_accounts.domainMapping.dnsProviderHelp": "Need help? See instructions for:",
207
+ "customer_accounts.domainMapping.aRecordInstruction": "Dla domeny głównej dodaj rekord A dla {hostname} wskazujący na {target}",
208
+ "customer_accounts.domainMapping.alreadyClaimed": "Ta domena jest niedostępna. Wybierz inną nazwę hosta.",
209
+ "customer_accounts.domainMapping.autoVerify.checking": "Automatyczne sprawdzanie co 5 minut",
210
+ "customer_accounts.domainMapping.autoVerify.lastChecked": "Ostatnie sprawdzenie: {time}",
211
+ "customer_accounts.domainMapping.autoVerify.nextCheck": "Następne sprawdzenie za ok. {minutes} min",
212
+ "customer_accounts.domainMapping.changeDomain": "Zmień domenę",
213
+ "customer_accounts.domainMapping.changeDomain.description": "Twoja obecna domena ({hostname}) pozostanie aktywna do czasu pełnego skonfigurowania nowej. Klienci nie odczują przerwy w działaniu.",
214
+ "customer_accounts.domainMapping.changeDomain.replacing": "Zastępuje {oldHostname} — stara domena działa, dopóki nowa nie będzie gotowa",
215
+ "customer_accounts.domainMapping.cnameInstruction": "Dodaj rekord CNAME dla {hostname} wskazujący na {target} u swojego dostawcy DNS",
216
+ "customer_accounts.domainMapping.copyTarget": "Kopiuj",
217
+ "customer_accounts.domainMapping.copyTarget.copied": "Skopiowano",
218
+ "customer_accounts.domainMapping.description": "Podepnij własną domenę do portalu klienta",
219
+ "customer_accounts.domainMapping.diagnostics.detectedRecords": "Wykryte rekordy DNS:",
220
+ "customer_accounts.domainMapping.diagnostics.noRecord": "Nie znaleziono rekordu CNAME ani A dla {hostname}",
221
+ "customer_accounts.domainMapping.diagnostics.proxyDetected": "Twój DNS korzysta z proxy ({proxy}). Wyłącz proxy albo skonfiguruj je tak, aby przekazywało ruch do naszej platformy.",
222
+ "customer_accounts.domainMapping.diagnostics.suggestion": "Proponowane rozwiązanie:",
223
+ "customer_accounts.domainMapping.diagnostics.timeout": "Przekroczono czas zapytania DNSto może być problem przejściowy",
224
+ "customer_accounts.domainMapping.diagnostics.wrongARecordTarget": "Twój rekord A wskazuje na {detected} zamiast na {expected}",
225
+ "customer_accounts.domainMapping.diagnostics.wrongCnameTarget": "Twój rekord CNAME wskazuje na {detected} zamiast na {expected}",
226
+ "customer_accounts.domainMapping.dialog.cancel": "Anuluj",
227
+ "customer_accounts.domainMapping.dialog.change.submit": "Rozpocznij zamianę",
228
+ "customer_accounts.domainMapping.dialog.change.title": "Zmień domenę własną",
229
+ "customer_accounts.domainMapping.dialog.register.submit": "Zarejestruj",
230
+ "customer_accounts.domainMapping.dialog.register.title": "Zarejestruj domenę własną",
231
+ "customer_accounts.domainMapping.dns.diagnostics.detected": "Wykryty cel",
232
+ "customer_accounts.domainMapping.dns.diagnostics.expected": "Oczekiwany cel",
233
+ "customer_accounts.domainMapping.dns.diagnostics.title": "Problem z konfiguracją DNS",
234
+ "customer_accounts.domainMapping.dns.recheckButton": "Sprawdź DNS ponownie",
235
+ "customer_accounts.domainMapping.dnsProviderHelp": "Potrzebujesz pomocy? Zobacz instrukcje dla:",
236
236
  "customer_accounts.domainMapping.dnsProviderHelp.cloudflare": "Cloudflare",
237
237
  "customer_accounts.domainMapping.dnsProviderHelp.godaddy": "GoDaddy",
238
238
  "customer_accounts.domainMapping.dnsProviderHelp.googleDomains": "Google Domains",
239
239
  "customer_accounts.domainMapping.dnsProviderHelp.namecheap": "Namecheap",
240
- "customer_accounts.domainMapping.dnsProviderHelp.other": "Other providers",
241
- "customer_accounts.domainMapping.empty.cta": "Register Domain",
242
- "customer_accounts.domainMapping.empty.description": "Connect your own domain so customers can reach the portal at a branded URL.",
243
- "customer_accounts.domainMapping.empty.title": "No custom domain yet",
244
- "customer_accounts.domainMapping.error.load": "Could not load custom-domain configuration",
245
- "customer_accounts.domainMapping.errors.required": "Domain is required",
246
- "customer_accounts.domainMapping.hostname.label": "Domain",
247
- "customer_accounts.domainMapping.hostname.placeholder": "e.g., shop.yourdomain.com",
248
- "customer_accounts.domainMapping.hostname.validation.invalid": "Enter a valid domain name (no protocol, path, or port)",
249
- "customer_accounts.domainMapping.loading": "Loading domain configuration…",
250
- "customer_accounts.domainMapping.orgSwitcher.label": "Organization",
251
- "customer_accounts.domainMapping.preview": "Test Domain",
252
- "customer_accounts.domainMapping.preview.description": "Opens your portal on the custom domain in a new tab to verify it's working correctly",
253
- "customer_accounts.domainMapping.preview.notReady": "Domain is not yet active. Complete the setup steps first.",
254
- "customer_accounts.domainMapping.propagationNote": "DNS changes can take up to 48 hours to propagate. The system checks automaticallyyou'll be notified when it's ready.",
255
- "customer_accounts.domainMapping.registered": "Domain registered successfully",
256
- "customer_accounts.domainMapping.removeConfirm": "Are you sure? Customers using this domain will no longer be able to reach your portal.",
257
- "customer_accounts.domainMapping.removeConfirm.hasReplacement": "This will also cancel the pending replacement domain ({hostname}).",
258
- "customer_accounts.domainMapping.removeConfirm.title": "Remove custom domain?",
259
- "customer_accounts.domainMapping.removeDomain": "Remove Domain",
260
- "customer_accounts.domainMapping.removed": "Domain removed",
261
- "customer_accounts.domainMapping.replacement.label": "Replacement (waiting to activate)",
262
- "customer_accounts.domainMapping.status.active": "Active",
263
- "customer_accounts.domainMapping.status.dns_failed": "DNS issue see details below",
264
- "customer_accounts.domainMapping.status.pending": "Checking DNS...",
265
- "customer_accounts.domainMapping.status.tls_failed": "SSL certificate issuewe're retrying",
266
- "customer_accounts.domainMapping.status.verified": "Setting up SSL certificate...",
267
- "customer_accounts.domainMapping.stepper.step1": "Register Domain",
268
- "customer_accounts.domainMapping.stepper.step2": "Configure DNS",
269
- "customer_accounts.domainMapping.stepper.step3": "SSL Certificate",
270
- "customer_accounts.domainMapping.stepper.step4": "Live",
271
- "customer_accounts.domainMapping.title": "Custom Domain",
272
- "customer_accounts.domainMapping.tls.diagnostics.operatorNote": "We are retrying automatically. If this persists, contact platform supportyour DNS is fine, this is on our side.",
273
- "customer_accounts.domainMapping.tls.diagnostics.retryCount": "Retry attempts: {count}",
274
- "customer_accounts.domainMapping.tls.diagnostics.title": "SSL certificate issue",
275
- "customer_accounts.domainMapping.tls.retryButton": "Retry SSL",
276
- "customer_accounts.domainMapping.verifyNow": "Check Now",
240
+ "customer_accounts.domainMapping.dnsProviderHelp.other": "Inni dostawcy",
241
+ "customer_accounts.domainMapping.empty.cta": "Zarejestruj domenę",
242
+ "customer_accounts.domainMapping.empty.description": "Podłącz własną domenę, aby klienci trafiali do portalu pod adresem z Twoją marką.",
243
+ "customer_accounts.domainMapping.empty.title": "Brak domeny własnej",
244
+ "customer_accounts.domainMapping.error.load": "Nie udało się załadować konfiguracji domeny własnej",
245
+ "customer_accounts.domainMapping.errors.required": "Domena jest wymagana",
246
+ "customer_accounts.domainMapping.hostname.label": "Domena",
247
+ "customer_accounts.domainMapping.hostname.placeholder": "np. sklep.twojadomena.pl",
248
+ "customer_accounts.domainMapping.hostname.validation.invalid": "Podaj poprawną nazwę domeny (bez protokołu, ścieżki i portu)",
249
+ "customer_accounts.domainMapping.loading": "Ładowanie konfiguracji domeny…",
250
+ "customer_accounts.domainMapping.orgSwitcher.label": "Organizacja",
251
+ "customer_accounts.domainMapping.preview": "Przetestuj domenę",
252
+ "customer_accounts.domainMapping.preview.description": "Otwiera portal na domenie własnej w nowej karcie, aby sprawdzić, czy działa poprawnie",
253
+ "customer_accounts.domainMapping.preview.notReady": "Domena nie jest jeszcze aktywna. Najpierw dokończ kroki konfiguracji.",
254
+ "customer_accounts.domainMapping.propagationNote": "Propagacja zmian DNS może potrwać do 48 godzin. System sprawdza to automatyczniepowiadomimy Cię, gdy domena będzie gotowa.",
255
+ "customer_accounts.domainMapping.registered": "Zarejestrowano domenę",
256
+ "customer_accounts.domainMapping.removeConfirm": "Czy na pewno? Klienci korzystający z tej domeny nie będą już mogli wejść do portalu.",
257
+ "customer_accounts.domainMapping.removeConfirm.hasReplacement": "Spowoduje to również anulowanie oczekującej domeny zastępczej ({hostname}).",
258
+ "customer_accounts.domainMapping.removeConfirm.title": "Usunąć domenę własną?",
259
+ "customer_accounts.domainMapping.removeDomain": "Usuń domenę",
260
+ "customer_accounts.domainMapping.removed": "Usunięto domenę",
261
+ "customer_accounts.domainMapping.replacement.label": "Domena zastępcza (czeka na aktywację)",
262
+ "customer_accounts.domainMapping.status.active": "Aktywna",
263
+ "customer_accounts.domainMapping.status.dns_failed": "Problem z DNS — szczegóły poniżej",
264
+ "customer_accounts.domainMapping.status.pending": "Sprawdzanie DNS...",
265
+ "customer_accounts.domainMapping.status.tls_failed": "Problem z certyfikatem SSL ponawiamy próbę",
266
+ "customer_accounts.domainMapping.status.verified": "Konfigurowanie certyfikatu SSL...",
267
+ "customer_accounts.domainMapping.stepper.step1": "Rejestracja domeny",
268
+ "customer_accounts.domainMapping.stepper.step2": "Konfiguracja DNS",
269
+ "customer_accounts.domainMapping.stepper.step3": "Certyfikat SSL",
270
+ "customer_accounts.domainMapping.stepper.step4": "Działa",
271
+ "customer_accounts.domainMapping.title": "Domena własna",
272
+ "customer_accounts.domainMapping.tls.diagnostics.operatorNote": "Ponawiamy próby automatycznie. Jeśli problem się utrzymuje, skontaktuj się ze wsparciem platformy Twój DNS jest poprawny, problem jest po naszej stronie.",
273
+ "customer_accounts.domainMapping.tls.diagnostics.retryCount": "Liczba prób: {count}",
274
+ "customer_accounts.domainMapping.tls.diagnostics.title": "Problem z certyfikatem SSL",
275
+ "customer_accounts.domainMapping.tls.retryButton": "Ponów SSL",
276
+ "customer_accounts.domainMapping.verifyNow": "Sprawdź teraz",
277
277
  "customer_accounts.nav.group": "Klienci",
278
278
  "customer_accounts.nav.role_create": "Utwórz rolę",
279
279
  "customer_accounts.nav.role_detail": "Szczegóły roli",
280
280
  "customer_accounts.nav.roles": "Role klientów",
281
281
  "customer_accounts.nav.user_detail": "Szczegóły użytkownika",
282
282
  "customer_accounts.nav.users": "Użytkownicy klientów",
283
- "customer_accounts.notifications.domain_mapping.activated.body": "Your custom domain is now active and serving traffic.",
284
- "customer_accounts.notifications.domain_mapping.activated.title": "Custom domain is live",
285
- "customer_accounts.notifications.domain_mapping.dns_failed.body": "DNS verification failed for your custom domain. {reason}",
286
- "customer_accounts.notifications.domain_mapping.dns_failed.title": "DNS verification failed",
287
- "customer_accounts.notifications.domain_mapping.tls_failed.body": "SSL certificate provisioning is having trouble for your custom domain. We're retryingno action needed yet.",
288
- "customer_accounts.notifications.domain_mapping.tls_failed.title": "SSL provisioning issue",
289
- "customer_accounts.notifications.domain_mapping.verified.body": "Your custom domain has been verified. SSL certificate is being provisioned.",
290
- "customer_accounts.notifications.domain_mapping.verified.title": "Custom domain verified",
291
- "customer_accounts.notifications.user.locked.body": "Customer account was locked due to too many failed login attempts.",
292
- "customer_accounts.notifications.user.locked.title": "Customer account locked",
293
- "customer_accounts.notifications.user.signup.body": "A new customer account was created.",
294
- "customer_accounts.notifications.user.signup.title": "New customer signup",
283
+ "customer_accounts.notifications.domain_mapping.activated.body": "Twoja domena własna jest już aktywna i obsługuje ruch.",
284
+ "customer_accounts.notifications.domain_mapping.activated.title": "Domena własna działa",
285
+ "customer_accounts.notifications.domain_mapping.dns_failed.body": "Weryfikacja DNS Twojej domeny własnej nie powiodła się. {reason}",
286
+ "customer_accounts.notifications.domain_mapping.dns_failed.title": "Weryfikacja DNS nie powiodła się",
287
+ "customer_accounts.notifications.domain_mapping.tls_failed.body": "Wystawianie certyfikatu SSL dla Twojej domeny własnej napotyka problemy. Ponawiamy próbyna razie nie musisz nic robić.",
288
+ "customer_accounts.notifications.domain_mapping.tls_failed.title": "Problem z wystawieniem SSL",
289
+ "customer_accounts.notifications.domain_mapping.verified.body": "Twoja domena własna została zweryfikowana. Trwa wystawianie certyfikatu SSL.",
290
+ "customer_accounts.notifications.domain_mapping.verified.title": "Domena własna zweryfikowana",
291
+ "customer_accounts.notifications.user.locked.body": "Konto klienta zostało zablokowane z powodu zbyt wielu nieudanych prób logowania.",
292
+ "customer_accounts.notifications.user.locked.title": "Konto klienta zablokowane",
293
+ "customer_accounts.notifications.user.signup.body": "Utworzono nowe konto klienta.",
294
+ "customer_accounts.notifications.user.signup.title": "Nowa rejestracja klienta",
295
295
  "customer_accounts.portal_ai_assistant.sheet.composerPlaceholder": "Zapytaj o swoje konto...",
296
296
  "customer_accounts.portal_ai_assistant.sheet.description": "Asystent tylko do odczytu dla klientów portalu. Zapytaj o swoje konto i ostatnią aktywność.",
297
297
  "customer_accounts.portal_ai_assistant.sheet.title": "Asystent AI portalu",
@@ -300,34 +300,34 @@
300
300
  "customer_accounts.search.badge.customerRole": "Rola klienta",
301
301
  "customer_accounts.search.badge.customerUser": "Użytkownik klienta",
302
302
  "customer_accounts.settings.back": "Użytkownicy klientów",
303
- "customer_accounts.settings.demo_credentials.email": "Email",
304
- "customer_accounts.settings.demo_credentials.note": "These credentials are only available if example data was seeded during setup.",
305
- "customer_accounts.settings.demo_credentials.password": "Password",
306
- "customer_accounts.settings.demo_credentials.role": "Role",
307
- "customer_accounts.settings.demo_credentials.title": "Demo Credentials",
308
- "customer_accounts.settings.portal_access.manage_orgs": "Manage Organizations",
309
- "customer_accounts.settings.portal_access.open_portal": "Open Portal",
310
- "customer_accounts.settings.portal_access.slug_note": "The organization slug is auto-generated from the organization name. You can view and manage organizations in Directory Organizations.",
311
- "customer_accounts.settings.portal_access.title": "Portal Access",
312
- "customer_accounts.settings.portal_access.url_label": "Portal URL pattern:",
313
- "customer_accounts.settings.quick_links.manage_roles": "Manage customer roles",
314
- "customer_accounts.settings.quick_links.manage_users": "Manage customer users",
315
- "customer_accounts.settings.quick_links.portal_docs": "Portal documentation",
316
- "customer_accounts.settings.quick_links.title": "Quick Links",
303
+ "customer_accounts.settings.demo_credentials.email": "E-mail",
304
+ "customer_accounts.settings.demo_credentials.note": "Te dane dostępne tylko wtedy, gdy podczas konfiguracji zaseedowano dane przykładowe.",
305
+ "customer_accounts.settings.demo_credentials.password": "Hasło",
306
+ "customer_accounts.settings.demo_credentials.role": "Rola",
307
+ "customer_accounts.settings.demo_credentials.title": "Dane demonstracyjne",
308
+ "customer_accounts.settings.portal_access.manage_orgs": "Zarządzaj organizacjami",
309
+ "customer_accounts.settings.portal_access.open_portal": "Otwórz portal",
310
+ "customer_accounts.settings.portal_access.slug_note": "Slug organizacji jest generowany automatycznie z jej nazwy. Organizacje możesz przeglądać i zmieniać w KatalogOrganizacje.",
311
+ "customer_accounts.settings.portal_access.title": "Dostęp do portalu",
312
+ "customer_accounts.settings.portal_access.url_label": "Wzorzec adresu portalu:",
313
+ "customer_accounts.settings.quick_links.manage_roles": "Zarządzaj rolami klientów",
314
+ "customer_accounts.settings.quick_links.manage_users": "Zarządzaj użytkownikami klientów",
315
+ "customer_accounts.settings.quick_links.portal_docs": "Dokumentacja portalu",
316
+ "customer_accounts.settings.quick_links.title": "Szybkie linki",
317
317
  "customer_accounts.settings.section": "Portal klienta",
318
318
  "customer_accounts.settings.title": "Ustawienia portalu",
319
- "customer_accounts.signup.created.body": "Your account request was accepted. Confirm your email address to finish setting up portal access.",
320
- "customer_accounts.signup.created.cta": "Verify email address",
321
- "customer_accounts.signup.created.hint": "This verification link expires in 24 hours. If you did not request this, you can ignore this email.",
322
- "customer_accounts.signup.created.preview": "Verify your portal account to finish sign-up.",
323
- "customer_accounts.signup.created.subject": "Verify your portal account",
324
- "customer_accounts.signup.created.title": "Verify your portal account",
325
- "customer_accounts.signup.existing.body": "A sign-up request was made for this email address. You can sign in with your existing account. If you forgot your password, use the password reset option on the sign-in page.",
326
- "customer_accounts.signup.existing.cta": "Open sign-in page",
327
- "customer_accounts.signup.existing.hint": "If this was not you, you can ignore this message. No new portal account was created.",
328
- "customer_accounts.signup.existing.preview": "A sign-up attempt was made for an email that already has a portal account.",
329
- "customer_accounts.signup.existing.subject": "You already have a portal account",
330
- "customer_accounts.signup.existing.title": "You already have a portal account",
319
+ "customer_accounts.signup.created.body": "Twoja prośba o konto została przyjęta. Potwierdź adres e-mail, aby dokończyć konfigurację dostępu do portalu.",
320
+ "customer_accounts.signup.created.cta": "Potwierdź adres e-mail",
321
+ "customer_accounts.signup.created.hint": "Ten link weryfikacyjny wygasa po 24 godzinach. Jeśli to nie Ty wysłałeś zgłoszenie, zignoruj wiadomość.",
322
+ "customer_accounts.signup.created.preview": "Potwierdź konto w portalu, aby dokończyć rejestrację.",
323
+ "customer_accounts.signup.created.subject": "Potwierdź swoje konto w portalu",
324
+ "customer_accounts.signup.created.title": "Potwierdź swoje konto w portalu",
325
+ "customer_accounts.signup.existing.body": "Dla tego adresu e-mail wysłano zgłoszenie rejestracyjne. Możesz zalogować się na istniejące konto. Jeśli nie pamiętasz hasła, skorzystaj z opcji resetu hasła na stronie logowania.",
326
+ "customer_accounts.signup.existing.cta": "Otwórz stronę logowania",
327
+ "customer_accounts.signup.existing.hint": "Jeśli to nie Ty, zignoruj wiadomość. Nie utworzono nowego konta w portalu.",
328
+ "customer_accounts.signup.existing.preview": "Podjęto próbę rejestracji na adres, który ma już konto w portalu.",
329
+ "customer_accounts.signup.existing.subject": "Masz już konto w portalu",
330
+ "customer_accounts.signup.existing.title": "Masz już konto w portalu",
331
331
  "customer_accounts.widgets.accountStatus": "Status konta",
332
332
  "customer_accounts.widgets.accountStatus.description": "Pokazuje status konta w portalu klienta na szczegółach osoby CRM",
333
333
  "customer_accounts.widgets.emailVerified": "E-mail zweryfikowany",