@maudecode/kanvil 0.3.0 → 0.4.1

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 (128) hide show
  1. package/apps/server/.env.example +2 -0
  2. package/apps/server/dist/{auth-JcS53IcO.mjs → auth-DAqfvUJm.mjs} +120 -4773
  3. package/apps/server/dist/client.mjs +884 -0
  4. package/apps/server/dist/{config-D3cAABi7.mjs → config-BFzcAs8u.mjs} +3 -132
  5. package/apps/server/dist/index.mjs +6 -4
  6. package/apps/server/dist/instance-CCeXRJ6m.mjs +133 -0
  7. package/apps/server/dist/migrate.mjs +1 -1
  8. package/apps/server/dist/recover.mjs +3 -2
  9. package/apps/server/dist/src-tQ82UI8k.mjs +4818 -0
  10. package/apps/server/drizzle/0038_time_entries.sql +19 -0
  11. package/apps/server/drizzle/meta/0038_snapshot.json +6998 -0
  12. package/apps/server/drizzle/meta/_journal.json +7 -0
  13. package/apps/web/dist/assets/{CompositeItem-BbuEp99X.js → CompositeItem-DgnfVvrF.js} +1 -1
  14. package/apps/web/dist/assets/{Trans-DJGH63s1.js → Trans-f2VYVS9z.js} +1 -1
  15. package/apps/web/dist/assets/admin-settings-DBZL4siY.js +1 -0
  16. package/apps/web/dist/assets/{archive-restore-B6_SsOIP.js → archive-restore-CGuLxoHC.js} +1 -1
  17. package/apps/web/dist/assets/az-AZ-DesqXNg5.js +1 -0
  18. package/apps/web/dist/assets/{az-DqY__MpS.js → az-BE5iqNIE.js} +1 -1
  19. package/apps/web/dist/assets/{corner-left-up-DA7MG5uX.js → corner-left-up-BCro--Gl.js} +1 -1
  20. package/apps/web/dist/assets/de-DE-BIGY9SNm.js +1 -0
  21. package/apps/web/dist/assets/{de-UHreLwyV.js → de-DLGjUGf_.js} +1 -1
  22. package/apps/web/dist/assets/{default-D5TdIZQS.js → default-BgvtI7HK.js} +1 -1
  23. package/apps/web/dist/assets/delivery-settings-CZOtb4X8.js +1 -0
  24. package/apps/web/dist/assets/{el-EJnrsyVr.js → el-CG6Xy42v.js} +1 -1
  25. package/apps/web/dist/assets/el-GR-D2TjImt0.js +1 -0
  26. package/apps/web/dist/assets/{ellipsis-D6154JKs.js → ellipsis-ZJM26JNS.js} +1 -1
  27. package/apps/web/dist/assets/{es-D2ScuV-5.js → es-Bbj5WuMM.js} +1 -1
  28. package/apps/web/dist/assets/es-ES-C_fRqLGU.js +1 -0
  29. package/apps/web/dist/assets/{forms-BcD6Wwyv.js → forms-C3pNy-qY.js} +1 -1
  30. package/apps/web/dist/assets/{fr-C_VpS8u6.js → fr-CjuIKc1o.js} +1 -1
  31. package/apps/web/dist/assets/fr-FR-_tnQsn4j.js +1 -0
  32. package/apps/web/dist/assets/{hi-CW4rdp_m.js → hi-BVVrZ-zZ.js} +1 -1
  33. package/apps/web/dist/assets/hi-IN-CcmFsZYy.js +1 -0
  34. package/apps/web/dist/assets/{highlight-CMydIf9M.js → highlight-CKyEM4jx.js} +1 -1
  35. package/apps/web/dist/assets/{id-CvL3yBVr.js → id-BhNWOQnp.js} +1 -1
  36. package/apps/web/dist/assets/id-ID-C59tC61D.js +1 -0
  37. package/apps/web/dist/assets/index-BIuqxnJn.js +17 -0
  38. package/apps/web/dist/assets/{invitations-BmpelTJu.js → invitations-D5unaga2.js} +1 -1
  39. package/apps/web/dist/assets/{it-DOLotXOj.js → it-Cav3_-xd.js} +1 -1
  40. package/apps/web/dist/assets/it-IT-BAP5O3gK.js +1 -0
  41. package/apps/web/dist/assets/{item-Cq_ZbivE.js → item-Cj8xpMLk.js} +1 -1
  42. package/apps/web/dist/assets/{ja-B1iJt9qB.js → ja-DTmZE0Qe.js} +1 -1
  43. package/apps/web/dist/assets/ja-JP-vQa7mEdh.js +1 -0
  44. package/apps/web/dist/assets/{ko-fmUq1-8W.js → ko-BuYCMOUj.js} +1 -1
  45. package/apps/web/dist/assets/ko-KR-CXlpmX0-.js +1 -0
  46. package/apps/web/dist/assets/{label-settings-B3LsJxhk.js → label-settings-B89Ehf78.js} +1 -1
  47. package/apps/web/dist/assets/{markdown-blocks-Bw26pRKB.js → markdown-blocks-DSEA68s5.js} +1 -1
  48. package/apps/web/dist/assets/{member-directory-CHKUw0u4.js → member-directory-48yD01yN.js} +1 -1
  49. package/apps/web/dist/assets/{mk-LWVrR-T-.js → mk-BZ2Rg2sU.js} +1 -1
  50. package/apps/web/dist/assets/mk-MK-BU5BLpXM.js +1 -0
  51. package/apps/web/dist/assets/{nl-ro6hbqo5.js → nl-BtnPzRih.js} +1 -1
  52. package/apps/web/dist/assets/nl-NL-2aSpdZkg.js +1 -0
  53. package/apps/web/dist/assets/{pl-Bx_fYLKY.js → pl-Beg8hEdK.js} +1 -1
  54. package/apps/web/dist/assets/pl-PL-C5Wvnv7f.js +1 -0
  55. package/apps/web/dist/assets/project-lifecycle-CIAMJ-SX.js +1 -0
  56. package/apps/web/dist/assets/project-settings-C7lolDSl.js +1 -0
  57. package/apps/web/dist/assets/{pt-BR-D-a7F5zJ.js → pt-BR-B4VZ35N_.js} +1 -1
  58. package/apps/web/dist/assets/pt-BR-CVvI-ZB7.js +1 -0
  59. package/apps/web/dist/assets/public-project-DvvfaUd2.js +1 -0
  60. package/apps/web/dist/assets/{rotate-ccw-Bm0ESNH_.js → rotate-ccw-GjVJPDML.js} +1 -1
  61. package/apps/web/dist/assets/{ru-D-WIMI5_.js → ru-DjVJVHzv.js} +1 -1
  62. package/apps/web/dist/assets/ru-RU-C7UUdGIh.js +1 -0
  63. package/apps/web/dist/assets/search-ZaQmVnj1.js +85 -0
  64. package/apps/web/dist/assets/{send-D9TETK3s.js → send-Dr9bXHhf.js} +1 -1
  65. package/apps/web/dist/assets/settings-DXvrVvyS.js +1 -0
  66. package/apps/web/dist/assets/{sliders-horizontal-CiZZFL1o.js → sliders-horizontal-C1t_zA7D.js} +1 -1
  67. package/apps/web/dist/assets/{switch-B_u8n1o6.js → switch-D-WTDajm.js} +1 -1
  68. package/apps/web/dist/assets/{table-DcCLC7fi.js → table-BaRMFP84.js} +1 -1
  69. package/apps/web/dist/assets/ticket-detail-CFJI4qoK.js +2 -0
  70. package/apps/web/dist/assets/ticket-editor-DL3nHG_q.js +2 -0
  71. package/apps/web/dist/assets/ticket-list-CDkweYGS.js +5 -0
  72. package/apps/web/dist/assets/ticket-list-controls-CmTgFQQ-.js +1 -0
  73. package/apps/web/dist/assets/{tr-BZEJyY-F.js → tr-Ckc4TA71.js} +1 -1
  74. package/apps/web/dist/assets/tr-TR-VVsL3uMp.js +1 -0
  75. package/apps/web/dist/assets/{uk-f8X5q5C_.js → uk-B4ZvJ8xG.js} +1 -1
  76. package/apps/web/dist/assets/uk-UA-DRpCbOps.js +1 -0
  77. package/apps/web/dist/assets/{upload-CGpna3R2.js → upload-BwGa8shS.js} +1 -1
  78. package/apps/web/dist/assets/{useQueries-BihXYrAP.js → useQueries-sQEHjB0a.js} +1 -1
  79. package/apps/web/dist/assets/{vi-CSGaJFlR.js → vi-Dq2krfY8.js} +1 -1
  80. package/apps/web/dist/assets/vi-VN-C0YFqq9j.js +1 -0
  81. package/apps/web/dist/assets/{visual-editor-B6HiiLMg.js → visual-editor-CBhwqTDu.js} +1 -1
  82. package/apps/web/dist/assets/workspace-settings-DgLyieJN.js +1 -0
  83. package/apps/web/dist/assets/{zh-CN-BdRcimyZ.js → zh-CN-B7Rxc3Mp.js} +1 -1
  84. package/apps/web/dist/assets/zh-CN-pcgTdR8c.js +1 -0
  85. package/apps/web/dist/assets/zh-TW-DymSXkFg.js +1 -0
  86. package/apps/web/dist/assets/{zh-TW-BH1L9tOt.js → zh-TW-awiwHjeM.js} +1 -1
  87. package/apps/web/dist/index.html +7 -7
  88. package/bin/kanvil.mjs +3 -1
  89. package/compose.yml +1 -0
  90. package/docs/api.md +28 -2
  91. package/docs/cli.md +74 -0
  92. package/docs/plan.md +6 -1
  93. package/docs/self-hosting.md +3 -1
  94. package/docs/workspaces.md +1 -1
  95. package/package.json +1 -1
  96. package/apps/web/dist/assets/admin-settings-CJG9PMKR.js +0 -1
  97. package/apps/web/dist/assets/az-AZ-BtrlbgjS.js +0 -1
  98. package/apps/web/dist/assets/de-DE-Bu_Ko2QA.js +0 -1
  99. package/apps/web/dist/assets/delivery-settings-BE5MW8U0.js +0 -1
  100. package/apps/web/dist/assets/el-GR-CpKEps47.js +0 -1
  101. package/apps/web/dist/assets/es-ES-DVkfi7H-.js +0 -1
  102. package/apps/web/dist/assets/fr-FR-DkHaEHqi.js +0 -1
  103. package/apps/web/dist/assets/hi-IN-CbUDNSTK.js +0 -1
  104. package/apps/web/dist/assets/id-ID-DLTkxt2j.js +0 -1
  105. package/apps/web/dist/assets/index-DoqlyejP.js +0 -17
  106. package/apps/web/dist/assets/it-IT-CIzq0YwC.js +0 -1
  107. package/apps/web/dist/assets/ja-JP-CIE4-D-v.js +0 -1
  108. package/apps/web/dist/assets/ko-KR-DYP5Zae6.js +0 -1
  109. package/apps/web/dist/assets/mk-MK-CpOo5Bd8.js +0 -1
  110. package/apps/web/dist/assets/nl-NL-Mu8G8RON.js +0 -1
  111. package/apps/web/dist/assets/pl-PL-DGuxe2Aq.js +0 -1
  112. package/apps/web/dist/assets/project-lifecycle-Ba7iRF3u.js +0 -1
  113. package/apps/web/dist/assets/project-settings-CtOWgEam.js +0 -1
  114. package/apps/web/dist/assets/pt-BR-DwkMPgq1.js +0 -1
  115. package/apps/web/dist/assets/public-project-CHRjhFIn.js +0 -1
  116. package/apps/web/dist/assets/ru-RU-DrXnqZbV.js +0 -1
  117. package/apps/web/dist/assets/search-D94SZwrC.js +0 -85
  118. package/apps/web/dist/assets/settings-Dd9EVxua.js +0 -1
  119. package/apps/web/dist/assets/ticket-detail-C9egaVSf.js +0 -2
  120. package/apps/web/dist/assets/ticket-editor-UlSZgpWF.js +0 -2
  121. package/apps/web/dist/assets/ticket-list-controls-BidzkMOD.js +0 -1
  122. package/apps/web/dist/assets/ticket-list-vNBO8mkk.js +0 -5
  123. package/apps/web/dist/assets/tr-TR-B92YeFW5.js +0 -1
  124. package/apps/web/dist/assets/uk-UA-DmcDs-MU.js +0 -1
  125. package/apps/web/dist/assets/vi-VN-DM5JYNuP.js +0 -1
  126. package/apps/web/dist/assets/workspace-settings-CSvVqaL6.js +0 -1
  127. package/apps/web/dist/assets/zh-CN-CiUOkQXe.js +0 -1
  128. package/apps/web/dist/assets/zh-TW-Co4UBSfi.js +0 -1
package/docs/plan.md CHANGED
@@ -38,7 +38,7 @@ Pin the latest stable compatible releases during implementation. Reuse existing
38
38
  - Account deletion by the person or an instance administrator after a reviewed impact summary, a recent sign-in, and a typed email: it removes every way to sign in or act as the account and its personal details, and keeps shared history attributed to a `Deleted account` tombstone.
39
39
  - Expiring, revocable email invitations to a workspace or selected projects, accepted once by the account with the invited address; they never open registration.
40
40
  - Secure mobile session storage and tested browser-to-app authentication callbacks.
41
- - Revocable credentials with project and operation scopes for unattended consumers.
41
+ - Revocable project-scoped or global account-following credentials with operation scopes for unattended consumers.
42
42
  - Authenticated and permission-filtered HTTP, realtime, attachment, and MCP access.
43
43
 
44
44
  Validate PocketID mobile login and MCP client authentication early. These checks are implementation work owned by the agent; user input is needed only when essential access or credentials are unavailable.
@@ -52,6 +52,7 @@ Validate PocketID mobile login and MCP client authentication early. These checks
52
52
  - Typed project custom fields (text, number, date, checkbox, select, and multi-select) that administrators define, order, and edit with required rules and defaults. Definitions are versioned and server-validated; removing a used option needs an explicit destination for its values, so nothing is erased silently.
53
53
  - Parent/child relationships, blockers, related tickets, and duplicate references.
54
54
  - Comments, activity history, subscriptions, duplication, archiving, and deletion behavior.
55
+ - Human-observed ticket time entries through HTTP, MCP, and the typed client, with explicit start/end timestamps, server-derived duration, versioned edits, original attribution, and one running entry per actor and ticket. Timer UI, billing, capacity reporting, and agent-effort estimates stay outside this capability.
55
56
  - Versioned JSON export of a project's tickets and a previewed import into a new project that resumes after interruption without duplicates and notifies no one.
56
57
  - Read-only Linear, Jira (Cloud and Data Center), Trello, Plane, PLANKA, and Kaneo import sources that translate a team, project, or board into the same bundle and disclose what Kanvil cannot hold.
57
58
  - Workspace search across projects, tickets, comments, and activity with a results page; any-of and none-of property filters shared by lists, search, and saved views; sorting, pagination, and bulk edits.
@@ -76,6 +77,10 @@ Commit each ticket mutation and its durable event together. Use PostgreSQL notif
76
77
 
77
78
  Deliver reference consumers and contract tests within Kanvil. External applications are responsible for adopting these interfaces.
78
79
 
80
+ ## Command-line client
81
+
82
+ The installed `kanvil` executable provides namespaced task, project, workspace, comment and claim commands through the typed client. Private named profiles bind scoped API credentials to server/project targets; JSON/stdin input, stable JSON output and exit codes support scripts. Version checks, retry identities and destructive confirmations stay explicit. Existing service commands retain their behavior. See [the CLI guide](cli.md). Interactive device OAuth is outside the initial CLI scope.
83
+
79
84
  ## MCP
80
85
 
81
86
  - Authenticated HTTP MCP endpoint using the official SDK.
@@ -91,7 +91,9 @@ location / {
91
91
 
92
92
  Keep `KANVIL_URL` equal to the public HTTPS origin. Add `KANVIL_TRUSTED_ORIGINS` only for additional browser clients you explicitly operate. Web, API, MCP, login, consent, and realtime use the same application origin. No separate message broker or search service is required.
93
93
 
94
- Signed-in sessions and MCP OAuth clients may make `KANVIL_SESSION_WRITE_LIMIT` write requests per minute (120 by default) before receiving `429 rate_limited`; API keys are limited separately by the authentication layer. The counter is per application process.
94
+ Signed-in sessions and MCP OAuth clients may make `KANVIL_SESSION_WRITE_LIMIT` write requests per minute (120 by default) before receiving `429 rate_limited`. This counter is per application process.
95
+
96
+ API keys have a separate limit of 600 requests per minute per key across HTTP and MCP. Set `KANVIL_API_KEY_RATE_LIMIT_ENABLED=false` in `.env` and restart the server (with Compose, `docker compose up -d app`) to disable that limit for every existing and new API key. Restore `true` to enforce it again. This setting does not change session, MCP OAuth, or sign-in limits, and key expiration, revocation, scopes, and account permissions still apply.
95
97
 
96
98
  ## PocketID / OIDC
97
99
 
@@ -12,7 +12,7 @@ Every workspace has one owner, an active administrator. The owner, or an instanc
12
12
 
13
13
  When ownership was introduced, each existing workspace went to its earliest-created active administrator member, ties broken by account ID. A workspace without one has no owner until an instance administrator transfers it to an active administrator.
14
14
 
15
- Removing workspace membership also removes that person's explicit memberships in the workspace's projects. Keep at least one workspace administrator. Project-scoped API keys remain bounded to their configured projects and cannot administer an entire workspace. Ticket and project prefixes remain unique across the instance. A project administrator can change a prefix and move tickets between writable projects of one workspace; earlier prefixes stay reserved and earlier keys keep resolving, so existing links and key-based API lookups keep working without reaching past current access.
15
+ Removing workspace membership also removes that person's explicit memberships in the workspace's projects. Keep at least one workspace administrator. Project-scoped API keys remain bounded to their configured projects and cannot administer an entire workspace. Global API keys follow the owning account's current project and workspace access, including future grants, within their operation scopes; actions requiring a signed-in session remain unavailable. Ticket and project prefixes remain unique across the instance. A project administrator can change a prefix and move tickets between writable projects of one workspace; earlier prefixes stay reserved and earlier keys keep resolving, so existing links and key-based API lookups keep working without reaching past current access.
16
16
 
17
17
  Existing projects are assigned to a default workspace and remain private. Existing project membership is retained; only instance administrators gain workspace administration automatically. Existing API calls that omit a workspace choose an accessible writable workspace; when none exists, project creation creates a personal workspace for the caller. New web-created projects select their workspace explicitly and offer workspace or private access.
18
18
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maudecode/kanvil",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "Open-source, self-hosted ticketing for agents and people.",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{Cn as t,Dn as n,En as r,Lt as i,Mn as a,Rt as o,Sn as s,U as c,W as l,bn as u,gn as d,hn as f,in as p,jn as m,kn as h,pn as g,pt as _,r as v,rt as y,vn as ee,xn as b,yn as x,yt as S}from"./default-D5TdIZQS.js";import{B as te,G as C,Ga as w,Hi as T,J as E,Ji as D,K as O,Oa as k,Pt as A,Q as j,U as M,Ui as N,V as P,X as F,Y as I,Yi as ne,Zi as re,aa as ie,at as L,cr as R,di as z,ia as ae,it as B,nt as oe,ot as se,po as ce,q as V,qa as H,ra as le,rt as ue,tt as de,vt as U,wo as fe}from"./search-D94SZwrC.js";import{g as pe}from"./item-Cq_ZbivE.js";import{l as me,r as he}from"./project-lifecycle-Ba7iRF3u.js";import{r as ge}from"./CompositeItem-BbuEp99X.js";import{t as _e}from"./ellipsis-D6154JKs.js";import{t as ve}from"./invitations-BmpelTJu.js";import{t as W}from"./forms-BcD6Wwyv.js";import{D as ye,E as be,O as xe,T as Se,Vt as G,dn as Ce,i as K,in as we,j as Te,k as Ee,mn as De,n as q,r as Oe}from"./index-DoqlyejP.js";import{t as ke}from"./switch-B_u8n1o6.js";import{a as Ae,i as J,n as je,o as Y,r as X,t as Me}from"./table-DcCLC7fi.js";import{t as Ne}from"./member-directory-CHKUw0u4.js";var Pe={name:`user-plus`,size:24,node:[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]};Pe.node;var Fe=w(Pe),Z=e(a(),1),Q=v(),Ie={get local(){return g(`admin.instance.provider.local`)},get s3(){return g(`admin.instance.provider.s3`)},get postgres(){return g(`admin.instance.provider.postgres`)},get elasticsearch(){return g(`admin.instance.provider.elasticsearch`)},rabbitmq:`RabbitMQ`};function Le({data:e,section:t,onConfigure:n}){if(t===`general`)return(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(B,{title:g(`admin.instance.heading`),action:(0,Q.jsx)(E,{label:g(`admin.instance.edit`),onClick:n,children:(0,Q.jsx)(ge,{})})}),(0,Q.jsx)(q,{title:g(`admin.instance.name`),description:e.name}),(0,Q.jsx)(q,{title:g(`admin.instance.description`),description:e.description||g(`admin.instance.noDescription`)}),(0,Q.jsx)(q,{title:g(`admin.instance.version`),children:(0,Q.jsx)(`code`,{children:e.deployment.version})}),(0,Q.jsx)(q,{title:g(`admin.instance.publicUrl`),children:(0,Q.jsx)(M,{label:g(`admin.instance.publicUrl`),value:e.deployment.url,inline:!0})})]});let r=t===`storage`?e.storage:t===`search`?e.search:e.broker,i=g(t===`storage`?`admin.instance.section.storage`:t===`search`?`admin.instance.section.search`:`admin.instance.section.events`),a=r.source===`deployment`;return(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(B,{title:i,action:(0,Q.jsx)(E,{label:g(a?`admin.instance.viewConfiguration`:`admin.instance.configure.${t}`),onClick:n,children:(0,Q.jsx)(we,{})})}),(0,Q.jsx)(q,{title:g(`admin.instance.providerTitle`),description:Ie[r.provider],children:(0,Q.jsx)(U,{variant:`secondary`,children:g(a?`admin.instance.deploymentManaged`:`admin.instance.instanceManaged`)})}),(0,Q.jsx)(q,{title:g(t===`storage`?`admin.instance.transfers`:t===`search`?`admin.instance.indexStatus`:`admin.instance.connection`),description:t===`storage`?e.storage.provider===`s3`?g(`admin.instance.transfersS3`):g(`admin.instance.transfersLocal`):t===`search`?r.status===`builtin`?g(`admin.instance.searchBuiltIn`):g(`admin.instance.searchIndexed`):g(`admin.instance.eventsConnection`),children:(0,Q.jsx)(U,{variant:r.status===`unavailable`?`destructive`:`outline`,children:r.status===`builtin`?g(`admin.instance.builtIn`):r.status===`ready`?g(t===`events`?`admin.instance.connected`:`admin.instance.upToDate`):g(`admin.instance.status.${r.status}`)})}),t===`storage`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(q,{title:g(`admin.instance.pendingTransfers`),description:e.storage.pending?g(`admin.instance.pendingRemain`):g(`admin.instance.noPending`),children:e.storage.pending}),e.storage.settings&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(q,{title:g(`admin.instance.bucket`),description:e.storage.settings.bucket}),(0,Q.jsx)(M,{label:g(`admin.instance.storageEndpoint`),value:e.storage.settings.endpoint||`Amazon S3`})]}),(0,Q.jsx)(q,{title:g(`admin.instance.backup`),description:e.locations.length?g(`admin.instance.backupBuckets`):g(`admin.instance.backupDatabase`)})]}),t===`search`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(q,{title:g(`admin.instance.fallback`),description:g(`admin.instance.fallbackDescription`)}),e.search.settings&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(M,{label:g(`admin.instance.searchEndpoint`),value:e.search.settings.url}),(0,Q.jsx)(q,{title:g(`admin.instance.index`),description:e.search.settings.index})]})]}),t===`events`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(q,{title:g(`admin.instance.delivery`),description:g(`admin.instance.deliveryDescription`)}),e.broker.settings&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(M,{label:g(`admin.instance.brokerEndpoint`),value:e.broker.settings.endpoint}),(0,Q.jsx)(q,{title:g(`admin.instance.exchange`),description:e.broker.settings.exchange})]})]}),(0,Q.jsx)(O,{error:r.error?Error(r.error):void 0})]})}var $=y.pick({name:!0,email:!0,image:!0}).extend({id:h(),role:h().nullable(),banned:t(),createdAt:u()}),Re=n({q:h().trim().max(200).default(``),role:b([`all`,`user`,`admin`]).default(`all`),status:b([`all`,`active`,`disabled`]).default(`all`),limit:x().int().min(1).max(100).default(25),offset:x().int().min(0).default(0)}),ze=n({users:s($),total:r().int().nonnegative()}),Be=$.extend({workspaces:s(n({id:m(),name:h(),role:b(o)})),projects:s(n({id:m(),name:h(),role:b(o)})),providers:s(h()),sessionCount:r().int().nonnegative()});n({password:h().min(12).max(128)}).strict(),Re.pick({q:!0,limit:!0,offset:!0});var Ve=n({workspaces:s(n({id:m(),name:h(),slug:h(),ownerId:h().nullable().default(null),createdAt:u(),memberCount:r().int().nonnegative(),projectCount:r().int().nonnegative(),administrators:s($.pick({id:!0,name:!0,email:!0,image:!0}))})),total:r().int().nonnegative()});function He({children:e,badge:t}){return(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-4 border-b py-3`,children:[e,(0,Q.jsx)(U,{variant:`outline`,children:t})]})}function Ue({userId:e,onClose:t,onChanged:n}){let r=D(),[a,o]=(0,Z.useState)(null),[s,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(),p=le(),m=re(`set_workspace_member`),h=H({queryKey:[`kanvil`,`user`,e],queryFn:()=>T.request(`/api/v1/admin/users/${encodeURIComponent(e??``)}`,Be),enabled:!!e}),v=h.data;async function y(e,t){u(!0),f(void 0);try{let r=await e();if(r&&typeof r==`object`&&`error`in r&&r.error){let e=r.error;throw Error(typeof e==`object`&&`message`in e?String(e.message):g(`admin.account.updateFailed`))}await n(),o(null),k.success(t)}catch(e){throw f(e),e}finally{u(!1)}}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Se,{open:!!e,onOpenChange:e=>{!e&&!s&&t()},children:(0,Q.jsxs)(be,{className:`w-full! sm:max-w-lg!`,children:[(0,Q.jsxs)(xe,{className:`shrink-0 border-b pr-14`,children:[(0,Q.jsx)(Ee,{className:`mb-0`,children:v?.name??g(`admin.account.details`)}),(0,Q.jsx)(ye,{className:`break-all`,children:v?.email})]}),(0,Q.jsxs)(`div`,{className:`@container min-h-0 overflow-y-auto px-6 pb-8`,children:[(0,Q.jsx)(O,{error:h.error??(a?void 0:d)}),h.isPending?(0,Q.jsx)(F,{}):v&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`mb-7 flex flex-wrap items-center gap-4`,children:[(0,Q.jsx)(ae,{name:v.name,image:v.image,className:`size-16 text-xl`}),(0,Q.jsxs)(`div`,{className:`min-w-40 flex-1`,children:[(0,Q.jsx)(U,{variant:v.banned?`destructive`:`secondary`,children:v.banned?g(`admin.users.disabled`):g(`admin.users.active`)}),(0,Q.jsx)(`p`,{className:`mt-2 mb-0 text-xs text-muted-foreground`,children:g(`admin.account.joined`,{date:c(v.createdAt)})})]}),(0,Q.jsxs)(z,{className:`ml-auto`,onClick:()=>{f(void 0),o(`profile`)},children:[(0,Q.jsx)(ge,{}),g(`admin.account.edit`)]})]}),(0,Q.jsx)(q,{title:g(`admin.account.instanceRole`),description:l(v.role)?g(`admin.account.adminDescription`):g(`admin.account.userDescription`),children:(0,Q.jsx)(z,{onClick:()=>{f(void 0),o(`role`)},children:g(`admin.account.changeRole`)})}),(0,Q.jsx)(q,{title:g(`admin.account.signInMethods`),description:me(v.providers),children:(0,Q.jsxs)(z,{onClick:()=>{f(void 0),o(`password`)},children:[(0,Q.jsx)(Ce,{}),g(`admin.account.setPassword`)]})}),(0,Q.jsx)(q,{title:g(`admin.account.activeSessions`),description:g(`admin.account.sessions`,{count:v.sessionCount}),children:(0,Q.jsx)(P,{label:g(`admin.account.revokeSessions`),description:g(`admin.account.revokeConfirm`,{name:v.name}),onConfirm:()=>y(()=>N.admin.revokeUserSessions({userId:v.id}),g(`admin.account.sessionsRevoked`))})}),v.id!==r.id&&(0,Q.jsx)(q,{title:g(`admin.account.access`),description:v.banned?g(`admin.account.accessDisabled`):g(`admin.account.accessPreserved`),children:(0,Q.jsx)(P,{label:v.banned?g(`admin.account.enable`):g(`admin.account.disable`),danger:!v.banned,description:v.banned?g(`admin.account.enableConfirm`,{name:v.name}):g(`admin.account.disableConfirm`,{name:v.name}),onConfirm:()=>y(()=>v.banned?N.admin.unbanUser({userId:v.id}):N.admin.banUser({userId:v.id,banReason:`Disabled by an instance administrator`}),v.banned?g(`admin.account.enabled`):g(`admin.account.disabledToast`))})}),v.id!==r.id&&(0,Q.jsx)(he,{account:v,onDeleted:async()=>{t(),await n()}}),(0,Q.jsxs)(`section`,{className:`pt-7`,children:[(0,Q.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,Q.jsx)(`h3`,{className:`mb-0`,children:g(`admin.account.workspaces`)}),(0,Q.jsxs)(z,{size:`sm`,onClick:()=>{f(void 0),o(`workspace`)},children:[(0,Q.jsx)(pe,{}),g(`admin.account.addToWorkspace`)]})]}),v.workspaces.length?v.workspaces.map(e=>(0,Q.jsx)(He,{badge:i[e.role],children:(0,Q.jsx)(G,{to:`/workspaces/$workspaceId/settings`,params:{workspaceId:e.id},search:{section:`members`},onClick:t,className:`text-primary`,dir:`auto`,children:e.name})},e.id)):(0,Q.jsx)(C,{title:g(`admin.account.noWorkspaces`),className:`py-5`})]}),!!v.projects.length&&(0,Q.jsxs)(`section`,{className:`pt-7`,children:[(0,Q.jsx)(`h3`,{children:g(`admin.account.projectAccess`)}),v.projects.map(e=>(0,Q.jsx)(He,{badge:i[e.role],children:(0,Q.jsx)(G,{to:`/projects/$projectId/settings`,params:{projectId:e.id},search:{section:`members`},onClick:t,className:`text-primary`,dir:`auto`,children:e.name})},e.id))]})]})]})]})}),v&&(0,Q.jsx)(j,{title:g(a===`profile`?`admin.account.edit`:a===`role`?`admin.account.changeRoleTitle`:a===`workspace`?`admin.account.addToWorkspace`:`admin.account.setPassword`),open:!!a,onOpenChange:e=>{e||o(null)},busy:s,children:(0,Q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget),n,r;if(a===`profile`)n=()=>N.admin.updateUser({userId:v.id,data:{name:W(t,`name`),email:W(t,`email`)}}),r=g(`admin.account.updated`);else if(a===`role`)n=()=>N.admin.setRole({userId:v.id,role:t.get(`role`)===`admin`?`admin`:`user`}),r=g(`admin.account.roleUpdated`);else if(a===`workspace`)n=()=>m.mutateAsync({workspaceId:W(t,`workspace`),email:v.email,role:W(t,`role`)===`reader`?`reader`:W(t,`role`)===`admin`?`admin`:`writer`}),r=g(`admin.account.workspaceAdded`);else{let e=W(t,`password`);if(e!==W(t,`confirm`)){f(Error(g(`admin.account.passwordMismatch`)));return}n=()=>T.request(`/api/v1/admin/users/${encodeURIComponent(v.id)}/password`,_,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({password:e})}),r=g(`admin.account.passwordSet`)}y(n,r).catch(()=>{})},children:[a===`profile`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(I,{label:g(`admin.account.name`),name:`name`,defaultValue:v.name,required:!0,maxLength:120,autoFocus:!0}),(0,Q.jsx)(I,{label:g(`admin.account.email`),name:`email`,type:`email`,defaultValue:v.email,required:!0})]}):a===`role`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(L,{label:g(`admin.account.instanceRole`),name:`role`,defaultValue:l(v.role)?`admin`:`user`,children:[(0,Q.jsx)(A,{value:`user`,children:g(`admin.account.user`)}),(0,Q.jsx)(A,{value:`admin`,children:g(`admin.account.administrator`)})]}),(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:g(`admin.account.adminsNote`)})]}):a===`workspace`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(L,{label:g(`admin.account.workspace`),name:`workspace`,required:!0,children:p.data?.filter(e=>!v.workspaces.some(t=>t.id===e.id)).map(e=>(0,Q.jsx)(A,{value:e.id,children:e.name},e.id))}),(0,Q.jsxs)(L,{label:g(`admin.account.workspaceRole`),name:`role`,defaultValue:`writer`,children:[(0,Q.jsx)(A,{value:`reader`,children:i.reader}),(0,Q.jsx)(A,{value:`writer`,children:i.writer}),(0,Q.jsx)(A,{value:`admin`,children:i.admin})]})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(I,{label:g(`admin.account.newPassword`),name:`password`,type:`password`,autoComplete:`new-password`,required:!0,minLength:12,maxLength:128}),(0,Q.jsx)(I,{label:g(`admin.account.confirmPassword`),name:`confirm`,type:`password`,autoComplete:`new-password`,required:!0,minLength:12,maxLength:128}),(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:g(`admin.account.passwordNote`)})]}),(0,Q.jsx)(V,{error:d,pending:s,submitLabel:g(`admin.account.save`),pendingLabel:g(`common.state.saving`),onCancel:()=>o(null)})]},a)})]})}function We({onCreated:e,onCancel:t,pending:n,setPending:r}){let i=fe(),[a,o]=(0,Z.useState)();async function s(t){t.preventDefault();let n=t.currentTarget,a=new FormData(n);r(!0),o(void 0);try{let t=await N.admin.createUser({name:W(a,`name`),email:W(a,`email`),password:W(a,`password`),role:a.get(`role`)===`admin`?`admin`:`user`});if(t.error)throw Error(t.error.message);await i.invalidateQueries({queryKey:[`kanvil`,`users`]}),e(t.data.user.id,t.data.user.email)}catch(e){o(e)}finally{r(!1)}}return(0,Q.jsx)(`section`,{children:(0,Q.jsxs)(`form`,{onSubmit:e=>{s(e)},children:[(0,Q.jsx)(I,{label:g(`admin.users.name`),name:`name`,required:!0,maxLength:120,autoFocus:!0}),(0,Q.jsx)(I,{label:g(`admin.users.email`),name:`email`,type:`email`,required:!0,autoComplete:`off`}),(0,Q.jsx)(I,{label:g(`admin.users.initialPassword`),name:`password`,type:`password`,autoComplete:`new-password`,minLength:12,maxLength:128,required:!0}),(0,Q.jsxs)(L,{label:g(`admin.users.instanceRole`),name:`role`,children:[(0,Q.jsx)(A,{value:`user`,children:g(`admin.users.user`)}),(0,Q.jsx)(A,{value:`admin`,children:g(`admin.users.administrator`)})]}),(0,Q.jsx)(V,{error:a,pending:n,submitLabel:g(`admin.users.create`),pendingLabel:g(`admin.users.creating`),onCancel:t})]})})}function Ge(){let e=fe(),t=N.useSession(),[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(``),[c,u]=(0,Z.useState)(`all`),[d,f]=(0,Z.useState)(`all`),[p,m]=(0,Z.useState)(0),[h,_]=(0,Z.useState)(null),v=H({queryKey:[`kanvil`,`users`,o,c,d,p],queryFn:()=>T.request(`/api/v1/admin/users?${new URLSearchParams({q:o,role:c,status:d,offset:String(p),limit:`25`})}`,ze),placeholderData:ce});async function y(){await Promise.all([e.invalidateQueries({queryKey:[`kanvil`]}),t.refetch()])}return(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(B,{title:g(`admin.users.title`),action:(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center justify-end gap-2`,children:[(0,Q.jsx)(ue,{label:g(`admin.users.search`),placeholder:g(`admin.users.searchPlaceholder`),value:o,onChange:e=>{s(e),m(0)}}),(0,Q.jsx)(E,{label:g(`admin.users.new`),variant:`default`,onClick:()=>r(!0),children:(0,Q.jsx)(Fe,{})})]})}),(0,Q.jsxs)(`div`,{className:`mb-5 flex flex-wrap items-center gap-2`,children:[(0,Q.jsxs)(L,{label:g(`admin.users.roleFilter`),labelHidden:!0,className:`mb-0 w-40`,value:c,onValueChange:e=>{e&&u(e),m(0)},children:[(0,Q.jsx)(A,{value:`all`,children:g(`admin.users.allRoles`)}),(0,Q.jsx)(A,{value:`admin`,children:g(`admin.users.administrators`)}),(0,Q.jsx)(A,{value:`user`,children:g(`admin.users.users`)})]}),(0,Q.jsxs)(L,{label:g(`admin.users.statusFilter`),labelHidden:!0,className:`mb-0 w-40`,value:d,onValueChange:e=>{e&&f(e),m(0)},children:[(0,Q.jsx)(A,{value:`all`,children:g(`admin.users.allAccounts`)}),(0,Q.jsx)(A,{value:`active`,children:g(`admin.users.active`)}),(0,Q.jsx)(A,{value:`disabled`,children:g(`admin.users.disabled`)})]})]}),(0,Q.jsx)(O,{error:v.error}),v.isPending?(0,Q.jsx)(F,{}):v.data?.users.length?(0,Q.jsx)(`div`,{"aria-busy":v.isFetching,children:(0,Q.jsxs)(Me,{mobileLayout:`rows`,"aria-label":g(`admin.users.title`),children:[(0,Q.jsx)(Ae,{children:(0,Q.jsxs)(Y,{children:[(0,Q.jsx)(J,{children:g(`admin.users.user`)}),(0,Q.jsx)(J,{children:g(`admin.users.role`)}),(0,Q.jsx)(J,{children:g(`admin.users.status`)}),(0,Q.jsx)(J,{children:g(`admin.users.joined`)}),(0,Q.jsx)(J,{children:(0,Q.jsx)(`span`,{className:`sr-only`,children:g(`admin.users.actions`)})})]})}),(0,Q.jsx)(je,{children:v.data.users.map(e=>(0,Q.jsx)(Te,{name:e.name,email:e.email,onOpen:()=>_(e.id),children:(0,Q.jsxs)(Y,{children:[(0,Q.jsx)(X,{className:`whitespace-normal`,children:(0,Q.jsx)(z,{variant:`ghost`,className:`h-auto max-w-full justify-start p-0 text-left hover:bg-transparent`,onClick:()=>_(e.id),children:(0,Q.jsx)(ie,{name:e.name,email:e.email,image:e.image})})}),(0,Q.jsx)(X,{"data-label":g(`admin.users.role`),children:(0,Q.jsx)(U,{variant:`secondary`,children:l(e.role)?g(`admin.users.administrator`):g(`admin.users.user`)})}),(0,Q.jsx)(X,{"data-label":g(`admin.users.status`),children:(0,Q.jsx)(U,{variant:e.banned?`destructive`:`outline`,children:e.banned?g(`admin.users.disabled`):g(`admin.users.active`)})}),(0,Q.jsx)(X,{"data-label":g(`admin.users.joined`),className:`text-xs text-muted-foreground`,children:(0,Q.jsx)(oe,{value:e.createdAt})}),(0,Q.jsx)(X,{children:(0,Q.jsx)(z,{variant:`ghost`,size:`icon`,"aria-label":g(`admin.users.manage`,{name:e.name}),onClick:()=>_(e.id),children:(0,Q.jsx)(_e,{})})})]})},e.id))})]})}):(0,Q.jsx)(C,{title:g(o||c!==`all`||d!==`all`?`admin.users.noMatches`:`admin.users.empty`),className:`py-12`}),(0,Q.jsx)(de,{noun:g(`admin.users.pagerNoun`),offset:p,total:v.data?.total??0,size:25,onChange:m}),(0,Q.jsx)(j,{title:g(`admin.users.create`),open:n,onOpenChange:r,busy:i,children:(0,Q.jsx)(We,{pending:i,setPending:a,onCancel:()=>r(!1),onCreated:(e,t)=>{r(!1),s(``),u(`all`),f(`all`),m(0),_(e),k.success(g(`admin.users.created`,{email:t}))}})}),(0,Q.jsx)(Ue,{userId:h,onClose:()=>_(null),onChanged:y},h??`closed`)]})}var Ke=25;function qe(){let[e,t]=(0,Z.useState)(``),[n,r]=(0,Z.useState)(0),[i,a]=(0,Z.useState)(null),o=H({queryKey:[`kanvil`,`admin-workspaces`,e,n],queryFn:()=>T.request(`/api/v1/admin/workspaces?${new URLSearchParams({q:e,offset:String(n),limit:String(Ke)})}`,Ve),placeholderData:ce});return(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(B,{title:g(`settings.workspaces.title`),action:(0,Q.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center justify-end gap-2`,children:(0,Q.jsx)(ue,{label:g(`settings.workspaces.search`),placeholder:g(`settings.workspaces.searchPlaceholder`),value:e,onChange:e=>{t(e),r(0)}})})}),(0,Q.jsx)(O,{error:o.error}),o.isPending?(0,Q.jsx)(F,{}):o.data?.workspaces.length?(0,Q.jsx)(`div`,{"aria-busy":o.isFetching,children:(0,Q.jsxs)(Me,{mobileLayout:`rows`,"aria-label":g(`settings.workspaces.title`),children:[(0,Q.jsx)(Ae,{children:(0,Q.jsxs)(Y,{children:[(0,Q.jsx)(J,{children:g(`settings.workspaces.workspace`)}),(0,Q.jsx)(J,{children:g(`settings.workspaces.administrators`)}),(0,Q.jsx)(J,{children:g(`settings.workspaces.members`)}),(0,Q.jsx)(J,{children:g(`settings.workspaces.projects`)}),(0,Q.jsx)(J,{children:g(`settings.workspaces.created`)}),(0,Q.jsx)(J,{children:(0,Q.jsx)(`span`,{className:`sr-only`,children:g(`settings.workspaces.actions`)})})]})}),(0,Q.jsx)(je,{children:o.data.workspaces.map(e=>(0,Q.jsxs)(Y,{children:[(0,Q.jsx)(X,{className:`whitespace-normal`,children:(0,Q.jsxs)(z,{variant:`ghost`,className:`h-auto max-w-full flex-col items-start gap-0.5 p-0 text-left hover:bg-transparent`,onClick:()=>a(e),children:[(0,Q.jsx)(`span`,{dir:`auto`,className:`font-medium wrap-anywhere whitespace-normal`,children:e.name}),(0,Q.jsx)(`span`,{className:`font-mono text-xs font-normal text-muted-foreground`,children:e.slug})]})}),(0,Q.jsx)(X,{"data-label":g(`settings.workspaces.administrators`),className:`text-xs wrap-anywhere whitespace-normal`,children:e.administrators.length?p(e.administrators.map(e=>e.name)):(0,Q.jsx)(U,{variant:`destructive`,children:g(`settings.workspaces.noAdministrator`)})}),(0,Q.jsx)(X,{"data-label":g(`settings.workspaces.members`),className:`tabular-nums`,children:e.memberCount}),(0,Q.jsx)(X,{"data-label":g(`settings.workspaces.projects`),className:`tabular-nums`,children:e.projectCount}),(0,Q.jsx)(X,{"data-label":g(`settings.workspaces.created`),className:`text-xs text-muted-foreground`,children:(0,Q.jsx)(oe,{value:e.createdAt})}),(0,Q.jsx)(X,{children:(0,Q.jsx)(z,{variant:`ghost`,size:`icon`,"aria-label":g(`settings.workspaces.manage`,{name:e.name}),onClick:()=>a(e),children:(0,Q.jsx)(_e,{})})})]},e.id))})]})}):(0,Q.jsx)(C,{title:g(e?`settings.workspaces.noMatches`:`settings.workspaces.empty`),className:`py-12`}),(0,Q.jsx)(de,{noun:g(`settings.workspaces.pagerNoun`),offset:n,total:o.data?.total??0,size:Ke,onChange:r}),(0,Q.jsx)(Je,{workspace:i,onClose:()=>a(null)},i?.id??`closed`)]})}function Je({workspace:e,onClose:t}){let n=e?.id??``,r=H({...T.query(`list_workspace_members`,{workspaceId:n}),enabled:!!e}),i=H({...T.query(`list_projects`,{workspaceId:n,archived:`include`}),enabled:!!e}),a=H({...T.query(`list_workspace_roles`,{workspaceId:n}),enabled:!!e}),o=re(`set_workspace_member`);return(0,Q.jsx)(Se,{open:!!e,onOpenChange:e=>{!e&&!o.isPending&&t()},children:(0,Q.jsxs)(be,{className:`w-full! sm:max-w-lg!`,children:[(0,Q.jsxs)(xe,{className:`shrink-0 border-b pr-14`,children:[(0,Q.jsx)(Ee,{className:`mb-0`,children:e?.name??g(`settings.workspaces.workspace`)}),(0,Q.jsx)(ye,{className:`font-mono`,children:e?.slug})]}),(0,Q.jsxs)(`div`,{className:`@container min-h-0 overflow-y-auto px-6 pb-8`,children:[(0,Q.jsx)(Ne,{people:r.data??[],pending:o.isPending,loading:r.isPending,error:r.error,canAdmin:!0,ownerId:e?.ownerId,scope:`workspace`,roles:a.data,authority:{admin:!0,capabilities:S},onChange:(e,t)=>o.mutateAsync({workspaceId:n,email:e,role:t})}),e&&(0,Q.jsx)(ve,{workspaceId:e.id}),(0,Q.jsxs)(`section`,{className:`pt-7`,children:[(0,Q.jsx)(`h3`,{children:g(`settings.workspaces.projects`)}),(0,Q.jsx)(O,{error:i.error}),i.isPending?(0,Q.jsx)(F,{}):i.data?.length?i.data.map(e=>(0,Q.jsx)(He,{badge:e.visibility===`private`?g(`settings.workspaces.private`):g(`settings.members.workspaceAccess`),children:(0,Q.jsx)(G,{to:`/projects/$projectId/settings`,params:{projectId:e.id},search:{section:`members`},onClick:t,className:`text-primary`,children:e.name})},e.id)):(0,Q.jsx)(C,{title:g(`settings.workspaces.noProjects`),className:`py-5`})]})]})]})})}var Ye={queryKey:[`kanvil`,`instance`],queryFn:()=>T.request(`/api/v1/admin/instance`,f)};function Xe({section:e}){let t=H({...Ye,refetchOnMount:`always`,refetchInterval:[`search`,`storage`,`events`].includes(e)?5e3:!1});return t.data&&t.isFetchedAfterMount?(0,Q.jsx)(Qe,{data:t.data,section:e},e):t.isPending||t.isFetching?(0,Q.jsx)(F,{}):(0,Q.jsx)(O,{error:t.error})}function Ze(e){return{expectedVersion:e.version,authentication:e.authentication,name:e.name,description:e.description,storageProvider:e.storage.provider,s3:{endpoint:``,region:`us-east-1`,bucket:``,prefix:`kanvil/`,forcePathStyle:!0,accessKeyId:``,...e.storage.settings,secretAccessKey:``},brokerProvider:e.broker.provider,rabbit:{url:``,exchange:e.broker.settings?.exchange??`kanvil.events`},searchProvider:e.search.provider,elastic:{url:``,index:`kanvil-${e.id}`,username:``,...e.search.settings,auth:e.search.settings?.auth??`none`,apiKey:``,password:``}}}function Qe({data:e,section:t}){let i=fe(),a=ne(),[o,s]=(0,Z.useState)(()=>Ze(e)),[c,l]=(0,Z.useState)(!1),[u,f]=(0,Z.useState)(),[m,h]=(0,Z.useState)(``),[v,y]=(0,Z.useState)(!1),b=e.storage.source===`deployment`,x=e.search.source===`deployment`,S=e.broker.source===`deployment`,C=t===`storage`?b:t===`search`?x:t===`events`&&S,w=e=>s(t=>({...t,s3:{...t.s3,...e}})),E=e=>s(t=>({...t,elastic:{...t.elastic,...e}}));async function D(e,t,n=!1){f(void 0),h(``),l(!0);try{await e(),n?k.success(t,{id:`instance-settings`}):h(t)}catch(e){f(e)}finally{l(!1)}}async function N(){let e=d.parse({expectedVersion:o.expectedVersion,...t===`authentication`?{authentication:o.authentication}:{},name:o.name,description:o.description,storage:o.storageProvider===`s3`?{provider:`s3`,...o.s3}:{provider:`local`},broker:o.brokerProvider===`rabbitmq`?{provider:`rabbitmq`,...o.rabbit,url:o.rabbit.url||void 0}:{provider:`postgres`},search:o.searchProvider===`elasticsearch`?{provider:`elasticsearch`,...o.elastic}:{provider:`postgres`}});await T.request(`/api/v1/admin/instance`,_,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),s(e=>({...e,expectedVersion:e.expectedVersion+1,s3:{...e.s3,secretAccessKey:``},elastic:{...e.elastic,apiKey:``,password:``},rabbit:{...e.rabbit,url:``}})),await i.invalidateQueries({queryKey:[`kanvil`,`instance`]}),await i.invalidateQueries({queryKey:[`info`]}),y(!1)}return(0,Q.jsxs)(Oe,{title:g(`admin.instance.title`),section:t,children:[[`general`,`storage`,`search`,`events`].map(t=>(0,Q.jsx)(K,{value:t,children:(0,Q.jsx)(Le,{data:e,section:t,onConfigure:()=>{s(Ze(e)),f(void 0),h(``),y(!0)}})},t)),!v&&t!==`authentication`&&(0,Q.jsx)(O,{error:u}),(0,Q.jsx)(j,{title:g(t===`general`?`admin.instance.edit`:t===`storage`?`admin.configure.storageTitle`:t===`search`?`admin.configure.searchTitle`:`admin.configure.eventsTitle`),open:v,onOpenChange:y,busy:c,children:(0,Q.jsxs)(`form`,{className:`[&_section]:py-0 [&>[data-slot=field-set]>section:first-child]:pt-0`,onSubmit:e=>{e.preventDefault(),C||D(N,g(`admin.configure.saved`),!0)},children:[(0,Q.jsxs)(R,{disabled:c,className:`gap-0`,children:[t===`general`&&(0,Q.jsx)(Q.Fragment,{children:(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(`h2`,{children:g(`admin.instance.heading`)}),(0,Q.jsx)(I,{label:g(`admin.configure.instanceName`),required:!0,maxLength:100,value:o.name,onChange:e=>s({...o,name:e.target.value})}),(0,Q.jsx)(se,{label:g(`admin.configure.instanceDescription`),maxLength:500,value:o.description,onChange:e=>s({...o,description:e.target.value})}),(0,Q.jsx)(M,{label:g(`admin.instance.publicUrl`),value:e.deployment.url}),(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:g(`admin.configure.publicUrlSource`)})]})}),t===`storage`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`section`,{children:[(0,Q.jsxs)(`div`,{className:`mb-5 flex items-center gap-3`,children:[(0,Q.jsx)(`h2`,{className:`mb-0`,children:g(`admin.instance.section.storage`)}),(0,Q.jsx)(U,{variant:`secondary`,children:g(b?`admin.instance.deploymentManaged`:`admin.instance.instanceManaged`)})]}),(0,Q.jsx)(`p`,{children:g(`admin.configure.storageIntro`)}),(0,Q.jsxs)(L,{label:g(`admin.configure.storageProvider`),disabled:b,value:o.storageProvider,onValueChange:e=>s({...o,storageProvider:e===`s3`?`s3`:`local`}),children:[(0,Q.jsx)(A,{value:`local`,children:g(`admin.instance.provider.local`)}),(0,Q.jsx)(A,{value:`s3`,children:g(`admin.instance.provider.s3`)})]}),o.storageProvider===`local`?(0,Q.jsx)(`p`,{children:g(`admin.configure.localDescription`)}):(0,Q.jsxs)(R,{disabled:b,className:`gap-0`,children:[(0,Q.jsx)(I,{label:g(`admin.configure.s3Endpoint`),type:`url`,placeholder:`https://s3.example.com`,value:o.s3.endpoint,onChange:e=>w({endpoint:e.target.value})}),(0,Q.jsx)(`p`,{className:`-mt-2 text-xs`,children:g(`admin.configure.s3EndpointHint`)}),(0,Q.jsxs)(`div`,{className:`grid grid-cols-1 gap-x-5 sm:grid-cols-2`,children:[(0,Q.jsx)(I,{label:g(`admin.instance.bucket`),value:o.s3.bucket,required:!0,onChange:e=>w({bucket:e.target.value})}),(0,Q.jsx)(I,{label:g(`admin.configure.region`),value:o.s3.region,required:!0,onChange:e=>w({region:e.target.value})})]}),(0,Q.jsx)(I,{label:g(`admin.configure.prefix`),value:o.s3.prefix,onChange:e=>w({prefix:e.target.value})}),(0,Q.jsx)(I,{label:g(`admin.configure.accessKeyId`),autoComplete:`off`,value:o.s3.accessKeyId,onChange:e=>w({accessKeyId:e.target.value})}),(0,Q.jsx)(I,{label:g(`admin.configure.secretAccessKey`),type:`password`,autoComplete:`new-password`,value:o.s3.secretAccessKey,placeholder:e.storage.secretConfigured?g(`admin.configure.savedSecret`):g(`admin.configure.deploymentCredentials`),onChange:e=>w({secretAccessKey:e.target.value})}),(0,Q.jsx)(te,{label:g(`admin.configure.pathStyle`),checked:o.s3.forcePathStyle,onCheckedChange:e=>w({forcePathStyle:e})})]}),o.storageProvider===`s3`&&(0,Q.jsx)(z,{disabled:c,onClick:()=>{D(()=>T.request(`/api/v1/admin/storage/test`,_,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(o.s3)}),g(`admin.configure.storageVerified`))},children:g(`admin.configure.testStorage`)}),(0,Q.jsx)(`p`,{className:`mt-4 text-xs`,role:`status`,children:e.storage.pending?g(`admin.configure.filesWaiting`,{count:e.storage.pending}):g(`admin.configure.transfersComplete`)}),e.storage.error&&(0,Q.jsx)(O,{error:Error(e.storage.error)}),b&&(0,Q.jsx)(`p`,{className:`mt-4 text-xs`,children:g(`admin.configure.storageDeployment`)})]}),e.locations.length>0&&(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(`h2`,{children:g(`admin.configure.locations`)}),e.locations.map(e=>(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 border-b py-2.5 text-xs wrap-anywhere [&>:first-child]:min-w-24 [&>:first-child]:flex-1`,children:[(0,Q.jsxs)(`span`,{className:`grid gap-1`,children:[(0,Q.jsx)(`strong`,{children:e.bucket}),(0,Q.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.endpoint||`Amazon S3`,` / `,e.prefix]})]}),(0,Q.jsx)(`span`,{children:g(`admin.configure.locationFiles`,{count:e.objects})})]},e.id)),(0,Q.jsx)(`div`,{className:`mt-4`,children:(0,Q.jsx)(P,{label:g(`admin.configure.cleanUp`),description:g(`admin.configure.cleanUpConfirm`),onConfirm:async()=>{await T.request(`/api/v1/admin/storage/cleanup`,n({removed:r()}),{method:`POST`}),await i.invalidateQueries({queryKey:[`kanvil`,`instance`]})}})}),(0,Q.jsx)(`p`,{className:`mt-3 text-xs`,children:g(`admin.configure.cleanUpNote`)})]})]}),t===`search`&&(0,Q.jsx)(Q.Fragment,{children:(0,Q.jsxs)(`section`,{children:[(0,Q.jsxs)(`div`,{className:`mb-5 flex items-center gap-3`,children:[(0,Q.jsx)(`h2`,{className:`mb-0`,children:g(`admin.instance.section.search`)}),(0,Q.jsx)(U,{variant:`secondary`,children:e.search.status===`builtin`?`PostgreSQL`:g(`admin.instance.status.${e.search.status}`)})]}),(0,Q.jsxs)(L,{label:g(`admin.configure.searchProvider`),disabled:x,value:o.searchProvider,onValueChange:e=>s({...o,searchProvider:e===`elasticsearch`?`elasticsearch`:`postgres`}),children:[(0,Q.jsx)(A,{value:`postgres`,children:g(`admin.configure.searchBuiltIn`)}),(0,Q.jsx)(A,{value:`elasticsearch`,children:g(`admin.instance.provider.elasticsearch`)})]}),o.searchProvider===`elasticsearch`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(R,{disabled:x,className:`gap-0`,children:[(0,Q.jsx)(I,{label:g(`admin.instance.searchEndpoint`),type:`url`,required:!0,value:o.elastic.url,onChange:e=>E({url:e.target.value})}),(0,Q.jsx)(I,{label:g(`admin.configure.indexName`),required:!0,value:o.elastic.index,onChange:e=>E({index:e.target.value})}),(0,Q.jsxs)(L,{label:g(`admin.configure.searchAuthentication`),value:o.elastic.auth,onValueChange:e=>E({auth:ee.parse(e)}),children:[(0,Q.jsx)(A,{value:`none`,children:g(`admin.configure.noAuthentication`)}),(0,Q.jsx)(A,{value:`apiKey`,children:g(`admin.configure.apiKey`)}),(0,Q.jsx)(A,{value:`basic`,children:g(`admin.configure.basic`)})]}),o.elastic.auth===`apiKey`&&(0,Q.jsx)(I,{label:g(`admin.configure.searchApiKey`),type:`password`,autoComplete:`new-password`,placeholder:e.search.secretConfigured?g(`admin.configure.savedSecret`):g(`admin.configure.optional`),value:o.elastic.apiKey,onChange:e=>E({apiKey:e.target.value})}),o.elastic.auth===`basic`&&(0,Q.jsxs)(`div`,{className:`grid grid-cols-1 gap-x-5 sm:grid-cols-2`,children:[(0,Q.jsx)(I,{label:g(`admin.configure.searchUsername`),autoComplete:`off`,value:o.elastic.username,onChange:e=>E({username:e.target.value})}),(0,Q.jsx)(I,{label:g(`admin.configure.searchPassword`),type:`password`,autoComplete:`new-password`,value:o.elastic.password,onChange:e=>E({password:e.target.value})})]})]}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(z,{onClick:()=>{D(()=>T.request(`/api/v1/admin/search/test`,_,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(o.elastic)}),g(`admin.configure.searchVerified`))},children:g(`admin.configure.testSearch`)}),e.search.provider===`elasticsearch`&&(0,Q.jsx)(z,{onClick:()=>{D(()=>T.request(`/api/v1/admin/search/reindex`,_,{method:`POST`}),g(`admin.configure.rebuildQueued`))},children:g(`admin.configure.rebuild`)})]})]}),(0,Q.jsx)(`p`,{className:`mt-5`,children:g(`admin.configure.searchNote`)}),e.search.error&&(0,Q.jsx)(O,{error:Error(e.search.error)})]})}),t===`events`&&(0,Q.jsx)(Q.Fragment,{children:(0,Q.jsxs)(`section`,{children:[(0,Q.jsxs)(`div`,{className:`mb-5 flex items-center gap-3`,children:[(0,Q.jsx)(`h2`,{className:`mb-0`,children:g(`admin.instance.section.events`)}),(0,Q.jsx)(U,{variant:`secondary`,children:e.broker.status===`builtin`?`PostgreSQL`:g(`admin.instance.status.${e.broker.status}`)})]}),(0,Q.jsxs)(L,{label:g(`admin.configure.brokerProvider`),disabled:S,value:o.brokerProvider,onValueChange:e=>s({...o,brokerProvider:e===`rabbitmq`?`rabbitmq`:`postgres`}),children:[(0,Q.jsx)(A,{value:`postgres`,children:g(`admin.configure.brokerBuiltIn`)}),(0,Q.jsx)(A,{value:`rabbitmq`,children:`RabbitMQ`})]}),o.brokerProvider===`rabbitmq`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(R,{disabled:S,className:`gap-0`,children:[(0,Q.jsx)(I,{label:g(`admin.configure.rabbitUrl`),type:`password`,autoComplete:`new-password`,value:o.rabbit.url,placeholder:e.broker.secretConfigured?g(`admin.configure.savedSecret`):`amqps://user:password@host/vhost`,onChange:e=>s({...o,rabbit:{...o.rabbit,url:e.target.value}})}),e.broker.settings&&(0,Q.jsx)(M,{label:g(`admin.configure.savedBrokerEndpoint`),value:e.broker.settings.endpoint}),(0,Q.jsx)(I,{label:g(`admin.configure.rabbitExchange`),required:!0,value:o.rabbit.exchange,onChange:e=>s({...o,rabbit:{...o.rabbit,exchange:e.target.value}})})]}),(0,Q.jsx)(z,{onClick:()=>{D(()=>T.request(`/api/v1/admin/broker/test`,_,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...o.rabbit,url:o.rabbit.url||void 0})}),g(`admin.configure.brokerVerified`))},children:g(`admin.configure.testBroker`)})]}),(0,Q.jsx)(`p`,{className:`mt-5`,children:g(`admin.configure.brokerNote`)}),S&&(0,Q.jsx)(`p`,{className:`mt-4 text-xs`,children:g(`admin.configure.brokerDeployment`)}),e.broker.error&&(0,Q.jsx)(O,{error:Error(e.broker.error)})]})})]}),[`general`,`storage`,`search`,`events`].includes(t)&&(0,Q.jsxs)(`div`,{className:`sticky bottom-0 mt-6 flex flex-wrap items-center gap-3 border-t bg-background/95 py-4 backdrop-blur`,children:[(0,Q.jsx)(z,{disabled:c,onClick:()=>y(!1),children:g(C?`common.action.done`:`common.action.cancel`)}),!C&&(0,Q.jsx)(z,{variant:`default`,type:`submit`,disabled:c,children:g(c?`common.state.saving`:`admin.configure.save`)}),m&&(0,Q.jsx)(`span`,{role:`status`,className:`text-sm text-muted-foreground`,children:m}),(0,Q.jsx)(O,{error:u})]})]})}),(0,Q.jsx)(K,{value:`users`,children:(0,Q.jsx)(Ge,{})}),(0,Q.jsx)(K,{value:`workspaces`,children:(0,Q.jsx)(qe,{})}),(0,Q.jsx)(K,{value:`authentication`,children:(0,Q.jsxs)(`section`,{children:[(0,Q.jsx)(B,{title:g(`admin.authentication.title`)}),(0,Q.jsxs)(`form`,{className:`mb-6`,onSubmit:e=>{e.preventDefault(),D(N,g(`admin.authentication.saved`),!0)},children:[(0,Q.jsx)(q,{title:g(`admin.authentication.emailPassword`),description:g(`admin.authentication.emailPasswordDescription`),children:(0,Q.jsx)(ke,{"aria-label":g(`admin.authentication.emailPassword`),checked:o.authentication.emailPasswordEnabled,disabled:c,onCheckedChange:e=>s(t=>({...t,authentication:{...t.authentication,emailPasswordEnabled:e}}))})}),(0,Q.jsx)(q,{title:g(`admin.authentication.ssoProvision`),description:g(`admin.authentication.ssoProvisionDescription`),children:(0,Q.jsx)(ke,{"aria-label":g(`admin.authentication.ssoProvision`),checked:o.authentication.ssoAutoProvision,disabled:c,onCheckedChange:e=>s(t=>({...t,authentication:{...t.authentication,ssoAutoProvision:e}}))})}),(0,Q.jsx)(q,{title:g(`admin.authentication.registration`),children:g(`admin.authentication.registrationClosed`)}),(0,Q.jsx)(q,{title:g(`admin.authentication.identityProvider`),children:e.deployment.oidc?.name??g(`admin.authentication.notConfigured`)}),(0,Q.jsx)(q,{title:g(`admin.authentication.linkedProviders`),description:g(`admin.authentication.linkedProvidersDescription`),children:p(a.data?.providers.filter(e=>e.id!==`oidc`).map(e=>e.name)??[])||g(`admin.authentication.notConfigured`)}),(0,Q.jsx)(V,{layout:`inline`,error:u,pending:c,submitLabel:g(`admin.authentication.save`),pendingLabel:g(`common.state.saving`),submitDisabled:o.authentication.emailPasswordEnabled===e.authentication.emailPasswordEnabled&&o.authentication.ssoAutoProvision===e.authentication.ssoAutoProvision})]}),e.deployment.oidc&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(M,{label:g(`admin.authentication.discoveryUrl`),value:e.deployment.oidc.discoveryUrl}),(0,Q.jsx)(M,{label:g(`admin.authentication.clientId`),value:e.deployment.oidc.clientId})]}),(0,Q.jsx)(`p`,{children:g(`admin.authentication.oidcSetup`)}),(0,Q.jsx)(`h3`,{children:g(`admin.authentication.consumers`)}),(0,Q.jsx)(M,{label:`HTTP API`,value:`${e.deployment.url}/api/v1`}),(0,Q.jsx)(M,{label:g(`admin.authentication.mcpEndpoint`),value:`${e.deployment.url}/mcp`}),(0,Q.jsx)(M,{label:g(`admin.authentication.eventFeed`),value:`${e.deployment.url}/api/v1/events`}),(0,Q.jsxs)(`a`,{className:`inline-flex items-center gap-2 text-primary`,href:`/api/openapi.json`,target:`_blank`,rel:`noreferrer`,children:[g(`admin.authentication.openApi`),(0,Q.jsx)(De,{className:`size-4`})]})]})})]})}export{Xe as AdminSettings};
@@ -1 +0,0 @@
1
- var e={common:{status:{backlog:`Gözləmə siyahısı`,todo:`Ediləcək`,in_progress:`İcrada`,in_review:`Yoxlamada`,done:`Hazırdır`,cancelled:`Ləğv edilib`},priority:{urgent:`Təcili`,high:`Yüksək`,medium:`Orta`,low:`Aşağı`,none:`Prioritet yoxdur`},kind:{feature:`Funksiya`,bug:`Xəta`,chore:`Rutin iş`,research:`Araşdırma`,documentation:`Sənədləşmə`},difficulty:{low:`Aşağı`,med:`Orta`,high:`Yüksək`,none:`Çətinlik yoxdur`},role:{reader:`Yalnız oxuma`,writer:`Redaktə edə bilər`,admin:`Administrator`},permission:{ticket:{write:{label:`Tiketləri redaktə etmək`,description:`Tiketləri yaratmaq, redaktə etmək, köçürmək, götürmək və şərh yazmaq; layihə yaratmaq`},delete:{label:`Tiketləri silmək`,description:`Tiketləri həmişəlik silmək`}},project:{manage:{label:`Layihələri idarə etmək`,description:`Layihə məlumatları, iş axını, etiketlər, sahələr, inteqrasiyalar və həyat dövrü`}},member:{manage:{label:`Üzvləri idarə etmək`,description:`Üzvləri əlavə etmək, dəyişmək və çıxarmaq`}},invitation:{manage:{label:`Dəvətləri idarə etmək`,description:`İnsanları e-poçtla dəvət etmək`}},sharing:{manage:{label:`Paylaşımı idarə etmək`,description:`İctimai yalnız oxuma keçidləri və təqvim lentləri`}},workspace:{manage:{label:`İş sahəsini idarə etmək`,description:`İş sahəsi məlumatları, ümumi etiketlər və rollar`}}},customFieldType:{text:`Mətn`,number:`Rəqəm`,date:`Tarix`,checkbox:`Qeyd qutusu`,select:`Seçim`,multiselect:`Çoxlu seçim`},customField:{removedOption:`Silinmiş seçim`,checked:`Bəli`},filterField:{status:`Status`,priority:`Prioritet`,kind:`Növ`,difficulty:`Çətinlik`,label:`Etiket`,assigneeId:`İcraçı`,customField:`Sahə`},sort:{priority:`Prioritet`,updated:`Son yenilənənlər`,created:`Son yaradılanlar`,title:`Başlıq`,labels:`Etiketlər`,due:`Son tarix`,start:`Başlama tarixi`,number:`Tiket nömrəsi`,status:`Status`,difficulty:`Çətinlik`,kind:`Növ`,assignee:`İcraçı`,manual:`Əl ilə`},due:{overdue:`Gecikmiş`,today:`Bu gün bitir`,week:`Bu həftə bitir`,scheduled:`Son tarixi var`,none:`Son tarix yoxdur`},relation:{blocks:{outgoing:`Bloklayır`,incoming:`Tərəfindən bloklanır`},related:{outgoing:`Əlaqəlidir`,incoming:`Əlaqəlidir`},duplicate:{outgoing:`Təkrarlayır`,incoming:`Tərəfindən təkrarlanır`},causes:{outgoing:`Səbəb olur`,incoming:`Səbəbi`},clones:{outgoing:`Klonlayır`,incoming:`Tərəfindən klonlanır`},implements:{outgoing:`Həyata keçirir`,incoming:`Tərəfindən həyata keçirilir`},reviews:{outgoing:`Yoxlayır`,incoming:`Tərəfindən yoxlanılır`}},remoteKind:{branch:`Budaq`,pull_request:`Pull request`,issue:`Məsələ`},notificationCategory:{assignment:`Təyinatlar`,status:`Status dəyişiklikləri`,comment:`Şərhlər`,mention:`İstinadlar`,update:`Digər yeniliklər`,due_soon:`Müddəti yaxınlaşır`,overdue:`Gecikmiş`},destinationEvent:{created:`Yeni tiketlər`},deliveryKind:{email:`E-poçt`,webhook:`Webhook`},change:{pull_request:{name:`Pull request`,opened:`Pull request açıldı`,draft:`Qaralama pull request`,merged:`Pull request birləşdirildi`,closed:`Pull request birləşdirilmədən bağlandı`},merge_request:{name:`Merge request`,opened:`Merge request açıldı`,draft:`Qaralama merge request`,merged:`Merge request birləşdirildi`,closed:`Merge request birləşdirilmədən bağlandı`},branchCreated:`Budaq yaradıldı`},issueLinkState:{active:`Sinxronlaşdırılır`,paused:`Dayandırılıb`,review:`Yoxlama tələb olunur`,creating:`Məsələ yaradılır`,unknown:`Yaradılma təsdiqlənməyib`},importStatus:{previewed:`İdxala hazırdır`,running:`İdxal edilir`,completed:`İdxal edildi`,failed:`Uğursuz oldu`,cancelled:`Ləğv edildi`},importProvider:{linear:{project:`Komanda`,setup:`Linear-da Settings › Security & access bölməsində şəxsi API açarı yaradın; oxuma icazəsi kifayətdir.`},jira:{project:`Layihə`,setup:`Jira Cloud hesabınızın e-poçtu və id.atlassian.com-dan alınan API tokeni ilə daxil olur; Data Center və Server şəxsi giriş tokenindən istifadə edir. Layihəyə baxış icazəsi kifayətdir.`},trello:{project:`Lövhə`,setup:`trello.com/power-ups/admin ünvanında idarə etdiyiniz Power-Up-ın API açarından və onun üçün yaradılmış tokendən istifadə edin; oxuma icazəsi kifayətdir.`},plane:{project:`Layihə`,setup:`Plane-də Profile settings › Personal access tokens bölməsində şəxsi giriş tokeni yaradın. Plane Cloud API ünvanı: https://api.plane.so; iş sahəsinin URL açarı onun veb ünvanının ilk hissəsidir.`},planka:{project:`Lövhə`,setup:`Lövhəni aça bilən PLANKA hesabı ilə daxil olun; Kanvil-in açdığı sessiya oxuma bitəndə başa çatır. PLANKA 2 administratorları bunun əvəzinə API açarları verə bilər.`},kaneo:{project:`Layihə`,setup:`Kaneo-da Settings › Account › Developer bölməsində API açarı yaradın.`}},plankaSignIn:{password:`İstifadəçi adı və şifrə`,api_key:`API açarı`},jiraEdition:{cloud:`Cloud`,data_center:`Data Center və ya Server`},event:{label:{created:`Etiket yaradıldı`,updated:`Etiket yeniləndi`,deleted:`Etiket silindi`},workflow:{created:`İş axını vəziyyəti əlavə edildi`,updated:`İş axını vəziyyəti dəyişdirildi`,deleted:`İş axını vəziyyəti silindi`},custom_field:{created:`Sahə yaradıldı`,updated:`Sahə yeniləndi`,deleted:`Sahə silindi`},ticket:{created:`Tiket yaradıldı`,updated:`Tiket yeniləndi`,deleted:`Tiket silindi`,moved:`Başqa layihədən köçürüldü`,moved_away:`Başqa layihəyə köçürüldü`,due_soon:`Müddəti yaxınlaşır`,overdue:`Gecikmiş`,claimed:`İş götürüldü`},claim:{renewed:`Götürmə yeniləndi`,released:`Götürmə buraxıldı`,recovered:`Götürmə bərpa edildi`},comment:{created:`Şərh əlavə edildi`,updated:`Şərh redaktə edildi`,deleted:`Şərh silindi`},relation:{added:`Əlaqə əlavə edildi`,removed:`Əlaqə silindi`},attachment:{created:`Fayl qoşuldu`,deleted:`Fayl silindi`},evidence:{added:`Sübut qoşuldu`},resource:{added:`Keçid əlavə edildi`,updated:`Keçid redaktə edildi`,removed:`Keçid silindi`},calendar_feed:{created:`Təqvim lenti yaradıldı`,revoked:`Təqvim lenti ləğv edildi`},project:{created:`Layihə yaradıldı`,updated:`Layihə yeniləndi`,archived:`Layihə arxivləşdirildi`,restored:`Layihə bərpa edildi`,transferred:`Layihə başqa iş sahəsinə köçürüldü`,deleted:`Layihə silindi`},membership:{updated:`Layihəyə giriş dəyişdirildi`},workspace:{owner_changed:`İş sahəsinin sahibi dəyişdirildi`},role:{created:`Rol yaradıldı`,updated:`Rol dəyişdirildi`,deleted:`Rol silindi`},invitation:{updated:`Dəvət dəyişdirildi`},destination:{created:`Təyinat əlavə edildi`,updated:`Təyinat dəyişdirildi`,deleted:`Təyinat silindi`},repository:{connected:`Repozitori qoşuldu`,updated:`Repozitori bağlantısı dəyişdirildi`,disconnected:`Repozitori ayrıldı`,received:`Repozitori webhooku alındı`},issue_link:{updated:`Məsələ sinxronizasiyası dəyişdirildi`}},error:{network:`Kanvil ilə əlaqə qurulmadı. Bağlantınızı yoxlayıb yenidən cəhd edin.`,fallback:`Sorğu tamamlana bilmədi`,input:`Daxil edilən məlumat`,code:{unauthorized:`Davam etmək üçün daxil olun.`,session_required:`Bu əməliyyat üçün daxil olmuş hesabdan istifadə edin.`,account_disabled:`Bu hesab deaktiv edilib.`,forbidden:`Bunu etməyə icazəniz yoxdur.`,insufficient_scope:`Bu giriş məlumatı bu əməliyyata icazə vermir.`,workspace_scope_required:`Bu əməliyyat üçün iş sahəsinə girişi olan hesabdan istifadə edin.`,invalid_origin:`Bu mənbəyə icazə verilmir.`,not_found:`Bu element tapılmadı və ya ona baxmaq icazəniz yoxdur.`,version_conflict:`Yükləndikdən sonra dəyişdirilib. Yenidən yükləyib təkrar cəhd edin.`,claim_conflict:`Bu tiket başqa işçidədir.`,idempotency_conflict:`Bu sorğu artıq başqa dəyişiklik üçün istifadə edilib.`,project_archived:`Dəyişməzdən əvvəl arxivləşdirilmiş layihəni bərpa edin.`,rate_limited:`Qısa müddətdə həddən artıq dəyişiklik. Gözləyib yenidən cəhd edin.`,snapshot_required:`Canlı lent geri qaldı. Davam etmək üçün yenidən yükləyin.`,request_failed:`Sorğu tamamlana bilmədi`}},action:{add:`Əlavə et`,apply:`Tətbiq et`,back:`Geri`,cancel:`Ləğv et`,clear:`Təmizlə`,close:`Bağla`,confirm:`Təsdiqlə`,continue:`Davam et`,copy:`Kopyala`,create:`Yarat`,delete:`Sil`,done:`Hazır`,edit:`Redaktə et`,open:`Aç`,remove:`Çıxar`,rename:`Adını dəyiş`,reset:`Sıfırla`,retry:`Yenidən cəhd et`,save:`Yadda saxla`,search:`Axtar`},state:{copied:`Kopyalandı`,loading:`Yüklənir…`,saved:`Yadda saxlanıldı`,saving:`Yadda saxlanılır…`,none:`Yoxdur`,unassigned:`Təyin edilməyib`},evidenceKind:{pull_request:`Pull request`,test:`Test`,review:`Yoxlama`,deployment:`Yerləşdirmə`,device:`Cihaz`,other:`Digər`},evidenceOutcome:{reported:`Bildirilib`,pending:`Gözləyir`,passed:`Uğurlu`,failed:`Uğursuz`},readinessReason:{project_archived:`Layihə arxivləşdirilib`,not_open:`Tiket “Ediləcək” vəziyyətində olmalı və arxivdə olmamalıdır`,not_enabled:`Agent işi aktivləşdirilməyib`,missing_description:`Təsvir əlavə edin`,missing_acceptance_criteria:`Qəbul meyarları əlavə edin`,missing_difficulty:`Çətinlik seçin`,duplicate:`Bu tiket təkrar kimi qeyd edilib`,claim_recovery_required:`Sahibliyi bərpa etməzdən əvvəl əvvəlki işçinin dayandığını təsdiqləyin`,claimed:`{{worker}} tərəfindən götürülüb`,dependency:`{{key}} tamamlanmayıb`},person:{deleted:`Silinmiş hesab`,former:`Keçmiş üzv`},signIn:{codeTitle:`Kodla daxil ol`,resetTitle:`Şifrəni sıfırla`,codeSent:`{{email}} ünvanının hesabı varsa, kod göndərilir. Kodun müddəti 10 dəqiqəyə bitir.`,code:`Kod`,newPassword:`Yeni şifrə`,sendCode:`Kodu e-poçtla göndər`,back:`Daxil olmaya qayıt`,resend:`Kodu yenidən göndər`,resent:`Kod yenidən göndərildi`,emailCode:`Daxil olma kodunu e-poçtla göndər`,forgot:`Şifrəni unutmusunuz?`,resetDone:`Şifrə sıfırlandı. Yeni şifrə ilə daxil olun.`,resetDoneTitle:`Şifrə sıfırlandı`,resetDoneBody:`Yeni şifrə ilə daxil olun.`,invalidCode:`Bu kod yanlışdır, artıq istifadə olunub və ya müddəti bitib. Etibarlı kod almaq üçün yenidən göndərin.`,localPassword:`Yerli şifrə`},language:{label:`Dil`,system:`Sistem standartı`}},shell:{ui:{showValue:`{{label, lowercase}} göstər`,hideValue:`{{label, lowercase}} gizlət`,previousPage:`Əvvəlki {{noun}}`,nextPage:`Növbəti {{noun}}`,pageRange:`{{from}}–{{to}} / {{total}}`,priority:`Prioritet: {{label}}`,working:`İcra olunur…`,searchPlaceholder:`Axtar…`,clearValue:`{{label, lowercase}} təmizlə`,copyValue:`{{label, lowercase}} kopyala`,copied:`{{value}} kopyalandı`},documentTitle:`{{name}} · Kanvil`,openKanvil:`Kanvil-i aç`,page:{home:`Əsas səhifə`,myWork:`Mənim işlərim`,inbox:`Gələnlər`,search:`Axtarış`,settings:`Parametrlər`,planning:`Planlaşdırma`,ticket:`Tiket`,tickets:`Tiketlər`,projects:`Layihələr`},connection:{restored:`Bağlantı bərpa edildi`,lost:`Bağlantı kəsildi`,reconnecting:`Yenidən qoşulur…`,reload:`Yenidən yüklə`,signIn:`Yenidən qoşulmaq üçün daxil olun`},app:{skipToContent:`Məzmuna keç`,assigned:`Sizə təyin edilənlər`,openCount_one:`{{count, number}} açıq`,openCount_other:`{{count, number}} açıq`,noAssigned:`Sizə təyin edilmiş açıq tiket yoxdur`,allInMyWork_one:`“Mənim işlərim”də hamısı ({{count, number}})`,allInMyWork_other:`“Mənim işlərim”də hamısı ({{count, number}})`,openMyWork:`“Mənim işlərim”i aç`,recentActivity:`Son fəaliyyət`,noActivity:`Hələ fəaliyyət yoxdur`,searchProjects:`Layihələrdə axtar`,projectCount_one:`{{count, number}} layihə`,projectCount_other:`{{count, number}} layihə`,noMatchingProjects:`Uyğun layihə yoxdur`,clearSearch:`Axtarışı təmizlə`,noWorkspaces:`Hələ iş sahəsi yoxdur`,noActiveProjects:`Aktiv layihə yoxdur`,noProjects:`Hələ layihə yoxdur`,archivedProjects:`Arxivləşdirilmiş layihələr`,archived:`Arxivləşdirilib`,noOpenTickets:`Açıq tiket yoxdur`,overdueCount_one:`{{count, number}} gecikmiş`,overdueCount_other:`{{count, number}} gecikmiş`,percentDone:`{{percent}} hazırdır`,nextDue:`növbəti son tarix <time/>`,projectSettingsFor:`{{name}} layihəsinin parametrləri`,pageNotFound:`Səhifə tapılmadı`,openHome:`Əsas səhifəni aç`,tryAgain:`Yenidən cəhd edin`,adminRequired:`Nüsxə administratoru girişi tələb olunur`,projectNotFound:`Layihə tapılmadı`,noWorkspaceSelected:`İş sahəsi seçilməyib`},auth:{signIn:`Daxil ol`,createOwner:`Sahib hesabınızı yaradın`,ownerHint:`İlk hesab bu nüsxəni idarə edir.`,invitedHint:`Dəvəti qəbul etmək üçün dəvət edilmiş e-poçt ünvanı ilə daxil olun.`,signInWith:`{{provider}} ilə daxil ol`,useEmail:`E-poçt və şifrədən istifadə et`,or:`və ya`,name:`Ad`,setupToken:`Quraşdırma tokeni`,setupTokenHint:`Nüsxə konfiqurasiyanızdakı KANVIL_SETUP_TOKEN dəyərindən istifadə edin.`,email:`E-poçt`,password:`Şifrə`,signingIn:`Daxil olunur…`,createAccount:`Hesab yarat`,consent:{expired:`Avtorizasiya sorğusunun müddəti bitib. Klientinizi yenidən qoşun.`,title:`{{client}} üçün icazə ver`,titleUnnamed:`Klientə icazə ver`,subtitle:`Bu klient hesabınız adından giriş istəyir. Layihə icazələri yenə də tətbiq olunur.`,deny:`Rədd et`,allow:`Girişə icazə ver`},invitation:{unavailable:`Dəvət əlçatan deyil`,join:`{{workspace}} iş sahəsinə qoşul`,invited:`Dəvət edilən`,from:`Göndərən`,access:`Giriş`,removedProjects:`Silinmiş layihələr`,wholeWorkspace:`Bütün iş sahəsi`,expires:`Bitmə tarixi`,expired:`Bu dəvətin müddəti bitib. İş sahəsi administratorundan yeni dəvət istəyin.`,revoked:`Bu dəvət ləğv edilib. İş sahəsi administratorundan yeni dəvət istəyin.`,accepted:`Bu dəvət artıq qəbul edilib. İş sahəsi administratorundan yeni dəvət istəyin.`,wrongAccount:`<account>{{current}}</account> kimi daxil olmusunuz. Qəbul etmək üçün {{invited}} kimi daxil olun.`,signOut:`Çıxış et`,joined:`{{workspace}} iş sahəsinə qoşuldunuz`,accept:`Dəvəti qəbul et`},callback:{cancelled:`Daxil olma ləğv edildi. Hazır olduqda yenidən cəhd edin.`,linkedElsewhere:`Bu identiklik artıq başqa Kanvil hesabına bağlanıb. Başqa identiklikdən istifadə edin və ya administratorunuzla əlaqə saxlayın.`,notLinked:`Bu identiklik heç bir Kanvil hesabına bağlanmayıb. Yerli hesabınızla daxil olub onu Parametrlərdə bağlayın.`,expired:`Daxil olma sorğusunun müddəti bitib və ya təsdiqlənə bilmədi. Bu ekrandan yenidən cəhd edin.`,emailMismatch:`İdentiklik provayderinin e-poçtu bağlana bilmədi. Administratorunuzla əlaqə saxlayın.`,failed:`Daxil olmaq mümkün olmadı. Yenidən cəhd edin və ya administratorunuzla əlaqə saxlayın.`}},you:`Siz`,inbox:{markAllRead:`Hamısını oxunmuş kimi qeyd et`,clearRead:`Oxunmuşları təmizlə`,cleared_one:`{{count, number}} oxunmuş bildiriş təmizləndi`,cleared_other:`{{count, number}} oxunmuş bildiriş təmizləndi`,unread:`Oxunmamış`,mentions:`İstinadlar`,all:`Bütün bildirişlər`,noUnread:`Oxunmamış bildiriş yoxdur`,noMentions:`İstinad yoxdur`,noNotifications:`Bildiriş yoxdur`,markUnread:`Oxunmamış kimi qeyd et`,markRead:`Oxunmuş kimi qeyd et`,dismiss:`Rədd et`},search:{field:`İş sahəsində axtar`,placeholder:`Tiketlər, layihələr, şərhlər, fəaliyyət üzrə axtar…`,tab:{all:`Hamısı`,project:`Layihələr`,ticket:`Tiketlər`,comment:`Şərhlər`,activity:`Fəaliyyət`},indexing:`Xarici axtarış yenilənir, ona görə tiket nəticələri PostgreSQL-dən gəlir.`,empty:`Tiketlər, layihələr, şərhlər və fəaliyyət üzrə axtarın`,noResults:`“{{query}}” üçün nəticə yoxdur`,results:`Axtarış nəticələri`,pages:`Axtarış səhifələri`,previous:`Əvvəlki`,next:`Növbəti`,type:{project:`Layihə`,ticket:`Tiket`,comment:`Şərh`,activity:`Fəaliyyət`}},column:{key:`Tiket`,labels:`Etiketlər`,scopes:`Əhatələr`,status:`Status`,priority:`Prioritet`,difficulty:`Çətinlik`,kind:`Növ`,assigneeId:`İcraçı`,startAt:`Başlama`,dueAt:`Son tarix`,createdAt:`Yaradılıb`,updatedAt:`Yenilənib`},public:{notShared:`Bu layihə paylaşılmayıb`,notSharedHint:`Keçid söndürülüb və ya heç vaxt mövcud olmayıb. Üzvlər oxumaq üçün daxil ola bilər.`,noTickets:`Tiket yoxdur`,ticketUnavailable:`Tiket əlçatan deyil`,backToTickets:`Tiketlərə qayıt`,description:`Təsvir`,noDescription:`_Təsvir yoxdur_`,acceptanceCriteria:`Qəbul meyarları`,noAcceptanceCriteria:`_Qəbul meyarları yoxdur_`,ticketProperties:`Tiket xüsusiyyətləri`,properties:`Xüsusiyyətlər`,status:`Status`,priority:`Prioritet`,kind:`Növ`,difficulty:`Çətinlik`,startDate:`Başlama tarixi`,dueDate:`Son tarix`,labels:`Etiketlər`,scopes:`Əhatələr`,created:`Yaradılıb`,updated:`Yenilənib`,relationships:`Əlaqələr`,parent:`Valideyn`,child:`Alt tiket`},sidebar:{workspace:`İş sahəsi`,unread_one:`{{count, number}} oxunmamış`,unread_other:`{{count, number}} oxunmamış`,userSettings:`İstifadəçi parametrləri`,administration:`İdarəetmə`,signOut:`Çıxış et`,projectSettings:`Layihə parametrləri`},workspace:{new:`Yeni iş sahəsi`,name:`İş sahəsinin adı`,key:`İş sahəsinin açarı`,create:`İş sahəsi yarat`,workspaces:`İş sahələri`,switch:`İş sahəsini dəyiş`,settings:`İş sahəsi parametrləri`},palette:{open:`Keç…`,title:`Keç`,description:`Layihə, tiket, səhifə və ya əməliyyat tapın`,placeholder:`Tiketlər, layihələr, səhifələr, əməliyyatlar üzrə axtar…`,searching:`Axtarılır…`,noResults:`Nəticə yoxdur`,jumpTo:`Keç`,openKey:`{{project}} layihəsində {{key}} aç`,resultsIn:`{{workspace}} üzrə nəticələr`,results:`Nəticələr`,seeAll_one:`Bütün {{count, number}} nəticəyə bax`,seeAll_other:`Bütün {{count, number}} nəticəyə bax`,actions:`Əməliyyatlar`,pages:`Səhifələr`,newTicketIn:`{{project}} layihəsində yeni tiket`,myTicketsIn:`{{project}} layihəsində mənim tiketlərim`,lightMode:`İşıqlı rejimə keç`,darkMode:`Qaranlıq rejimə keç`,keywords:{jump:`{{query}} keç aç jump open`,allResults:`bütün nəticələr {{query}}`,newTicket:`yeni tiket yarat`,myTickets:`mənim tiketlərim mənə təyin edilən`,lightMode:`işıqlı rejimə keç tema görünüş`,darkMode:`qaranlıq rejimə keç tema görünüş`,help:`klaviatura qısayolları kömək`,home:`əsas səhifə icmal bütün layihələr`,myWork:`mənim işlərim təyin edilmiş tiketlər`,search:`axtarış şərhlər fəaliyyət layihələr tiketlər`,inbox:`gələnlər bildirişlər`,settings:`parametrlər {{scope}} {{label}}`}},actionCategory:{general:`Ümumi`,ticketList:`Tiket siyahısı`,inbox:`Gələnlər`,ticket:`Tiket`,search:`Axtarış`,markdown:`Markdown`},action:{palette:`İstənilən yerə keç`,help:`Klaviatura qısayolları`,sidebar:`Yan paneli aç/bağla`,newTicket:`Yeni tiket`,search:`Tiketlərdə axtar`,highlight:`Növbəti və ya əvvəlki tiketi vurğula`,open:`Vurğulanmış tiketi aç`,preview:`Vurğulanmış tiketə siyahının yanında bax`,select:`Vurğulanmış tiketi seç`,properties:`Vurğulanmış tiketin statusunu, prioritetini və ya icraçısını təyin et`,inboxHighlight:`Növbəti və ya əvvəlki bildirişi vurğula`,inboxOpen:`Vurğulanmış bildirişin tiketini Gələnlərin yanında oxu`,inboxRead:`Vurğulanmış bildirişi oxunmuş və ya oxunmamış kimi qeyd et`,inboxDismiss:`Vurğulanmış bildirişi rədd et`,step:`Növbəti və ya əvvəlki tiketi aç`,edit:`Tiketi redaktə et`,save:`Tiketi və ya şərhi yadda saxla`,results:`Axtarış nəticələri arasında hərəkət et`,insertBlock:`Vizual redaktorda cədvəl, diaqram, fayl və ya başqa blok daxil et`},move:{top:{label:`Vurğulanmış tiketi ən yuxarı köçür`,menu:`Ən yuxarı köçür`},up:{label:`Vurğulanmış tiketi yuxarı köçür`,menu:`Yuxarı köçür`},down:{label:`Vurğulanmış tiketi aşağı köçür`,menu:`Aşağı köçür`},bottom:{label:`Vurğulanmış tiketi ən aşağı köçür`,menu:`Ən aşağı köçür`},previous:{label:`Vurğulanmış tiketi əvvəlki statusa köçür`,menu:`Əvvəlki statusa köçür`},next:{label:`Vurğulanmış tiketi növbəti statusa köçür`,menu:`Növbəti statusa köçür`}},copy:{link:{label:`Keçidi kopyala`,copied:`Tiket keçidi`},keyAndTitle:{label:`Açarı və başlığı kopyala`,copied:`Tiket`},title:{label:`Başlığı kopyala`,copied:`Başlıq`},markdown:{label:`Markdown kimi kopyala`,copied:`Markdown`},branch:{label:`Budaq adını kopyala`,copied:`Budaq adı`}},settingsNav:{account:`Hesab`,settings:`Parametrlər`,workspace:`İş sahəsi`,workspaceSettings:`İş sahəsi parametrləri`,projects:`Layihələr`,projectSettings:`Layihə parametrləri`,administration:`İdarəetmə`,section:{profile:`Profil və təhlükəsizlik`,appearance:`Görünüş`,preferences:`Seçimlər`,credentials:`API açarları`,notifications:`Bildirişlər`,general:`Ümumi`,members:`Üzvlər`,roles:`Rollar`,labels:`Etiketlər`,workflow:`İş axını`,fields:`Sahələr`,integrations:`İnteqrasiyalar`,calendar:`Təqvim lentləri`,storage:`Fayl yaddaşı`,search:`Axtarış`,events:`Hadisə çatdırılması`,users:`İstifadəçilər`,workspaces:`İş sahələri`,authentication:`Autentifikasiya`}},browser:{copyFailed:`Kopyalamaq alınmadı. Mətni seçib əl ilə kopyalayın.`,readFailed:`Fayl oxuna bilmədi`,encodeFailed:`Fayl kodlaşdırıla bilmədi`,imageTooBig:`10 MB-dan kiçik şəkil seçin.`,cannotResize:`Bu brauzer şəklin ölçüsünü dəyişə bilmir.`,prepareFailed:`Şəkil hazırlana bilmədi.`,stillTooLarge:`Ölçü dəyişdikdən sonra da bu şəkil çox böyükdür. Daha sadə şəkil seçin.`},primitive:{close:`Bağla`,more:`Daha çox`,breadcrumb:`naviqasiya zənciri`,sidebar:`Yan panel`,sidebarDescription:`Mobil yan paneli göstərir.`,toggleSidebar:`Yan paneli aç/bağla`,resizeSidebar:`Yan panelin ölçüsünü dəyiş`,expandSidebar:`Yan paneli genişləndir`,commandTitle:`Əmr paneli`,commandDescription:`İcra etmək üçün əmr axtarın…`}},ticket:{list:{selectSection:`{{section}} tiketlərini seç`,expandSection:`{{section}} tiketlərini genişləndir`,collapseSection:`{{section}} tiketlərini yığ`,sectionTickets:`{{section}} tiketləri`,later:`Sonra`,selectAll:`Göstərilən bütün tiketləri seç`,selectTicket:`{{key}} seç`,title:`Başlıq`,all:`Hamısı`,planned:`Planlaşdırılmış`,archived:`Arxivləşdirilmiş`,allTickets:`Bütün tiketlər`,customView:`Fərdi görünüş`,sectionCount:`{{n, number}} {{section}}`,planning:`{{project}} planlaşdırması`,collection:`{{source}} ({{sections}})`,moved:`{{key}} köçürüldü`,movedTo:`{{key}} {{status}} statusuna köçürüldü`,movedAbove:`{{key}} {{neighbor}} üzərinə köçürüldü`,movedBelow:`{{key}} {{neighbor}} altına köçürüldü`,movedToAbove:`{{key}} {{status}} statusuna, {{neighbor}} üzərinə köçürüldü`,movedToBelow:`{{key}} {{status}} statusuna, {{neighbor}} altına köçürüldü`,emptyFiltered:`Uyğun tiket yoxdur`,emptyPlanning:`Planlaşdırılmış və ya arxivləşdirilmiş heç nə yoxdur`,emptyProject:`Hələ tiket yoxdur`,emptyWork:`Sizə təyin edilmiş açıq tiket yoxdur`,createFirst:`İlk tiketi yarat`,activeWork:`Aktiv iş`,views:`Tiket görünüşləri`,saveCurrentView:`Cari görünüşü yadda saxla`,deleteView:`{{name}} görünüşünü sil`,deleteViewConfirm:`{{name}} yadda saxlanılmış görünüşlərdən silinsin? Tiketlər dəyişməz qalır.`,planningLink:`Planlaşdırma`,newTicketShortcut:`Yeni tiket ({{shortcut}})`,saveView:`Görünüşü yadda saxla`,viewSaved:`Görünüş yadda saxlanıldı`,viewName:`Görünüşün adı`,retry:`Tiketləri yenidən yüklə`,board:`Tiket lövhəsi`,tickets:`Tiketlər`,resizeColumn:`{{column}} sütununun ölçüsünü dəyiş`,count_one:`{{count, number}} tiket`,count_other:`{{count, number}} tiket`,scheduledCount_one:`{{count, number}} planlaşdırılmış tiket`,scheduledCount_other:`{{count, number}} planlaşdırılmış tiket`},move:{destination:`Təyinat`,projectPlaceholder:`Layihəyə köçür…`,blockers:`Köçürməzdən əvvəl həll edin`,submit:`Tiketi köçür`,pending:`Köçürülür…`},picker:{placeholder:`Tiket seçin`,loading:`Tiket yüklənir…`,searchLabel:`{{label, lowercase}} axtar`,searchPlaceholder:`Başlıq və ya açar üzrə axtar…`,noParent:`Valideyn yoxdur`,searching:`Axtarılır…`,empty:`Tiket tapılmadı`},property:{status:`Status`,priority:`Prioritet`,kind:`Növ`,difficulty:`Çətinlik`,assignee:`İcraçı`,you:`{{name}} (siz)`,assignTo:`Təyin et…`,set:`{{label, lowercase}} təyin et…`,search:`{{label, lowercase}} axtar`,noMatches:`Uyğunluq yoxdur`},field:{mixed:`Qarışıq`,unchecked:`Xeyr`,noValue:`Dəyər yoxdur`},project:{label:`Layihə`,placeholder:`Layihədə yarat…`,search:`Layihələrdə axtar`},tags:{labels:`Etiketlər`,scopes:`Əhatələr`,summary:`{{label}}: {{tags}}`,edit:`{{label, lowercase}} redaktə et`,editValues:`{{label, lowercase}} redaktə et: {{tags}}`,editMixed:`{{label, lowercase}} redaktə et: qarışıq`,mixed:`Qarışıq {{label, lowercase}}`,none:`{{label}} yoxdur`,mixedNote:`Seçilmiş tiketlərin {{label, lowercase}} fərqlidir.`,clear:`{{label, lowercase}} təmizlə`,replace:`{{label, lowercase}} əvəz et`},tagInput:{remove:`{{label, lowercase}} {{tag}} çıxar`,addAnother:`Daha birini əlavə et…`,add:`{{label, lowercase}} əlavə et…`,choose:`{{label, lowercase}} seç`,chooseLabels:`Etiketləri seç`,searchPlaceholder:`Etiketlərdə axtar…`,searchLabel:`Layihə etiketlərində axtar`,empty:`Uyğun etiket yoxdur`},link:{previewUnavailable:`Önizləmə əlçatan deyil`},userPicker:{label:`Hesab`,placeholder:`Hesab seçin`,searchPlaceholder:`Ad və ya e-poçt üzrə axtar…`,searchLabel:`Hesablarda axtar`,useEmail:`{{email}} istifadə et`,emptyAnyAccount:`Üzv axtarın və ya mövcud hesabın e-poçtunu daxil edin.`,empty:`Uyğun üzv yoxdur`},date:{placeholder:`Tarix seçin`,clear:`{{label, lowercase}} təmizlə`,start:`Başlama tarixi`,startShort:`Başlama`,noStart:`Başlama tarixi yoxdur`,due:`Son tarix`,dueShort:`Son tarix`,noDue:`Son tarix yoxdur`},filter:{me:`Mən`,searchTickets:`Tiketlərdə axtar`,searchTicketsPlaceholder:`Tiketlərdə axtar…`,filters:`Filtrlər`,filtersActive:`Filtrlər ({{active, number}})`,due:`Son tarix`,anyDue:`İstənilən son tarix`,archived:`Arxivləşdirilmiş`,hideArchived:`Arxivləşdirilmişləri gizlət`,includeArchived:`Arxivləşdirilmişləri daxil et`,archivedOnly:`Yalnız arxivləşdirilmiş`,includingArchived:`Arxivləşdirilmişlər daxil`,reset:`Filtrləri sıfırla`,clear:`Filtrləri təmizlə`,active:`Aktiv tiket filtrləri`,searchChip:`Axtarış: {{query}}`,chipAny:`{{field}}:`,chipNone:`{{field}} deyil:`,notValues:`{{values}} deyil`,match:`{{label}} uyğunluğu`,is:`Bərabərdir`,isNot:`Bərabər deyil`,searchPlaceholder:`{{search}}…`,anyValue:{status:`Bütün statuslar`,priority:`Bütün prioritetlər`,kind:`Bütün növlər`,difficulty:`Bütün çətinliklər`,label:`Bütün etiketlər`,assigneeId:`İstənilən şəxs`,customField:`İstənilən sahə dəyəri`},searchValues:{status:`Statuslarda axtar`,priority:`Prioritetlərdə axtar`,kind:`Növlərdə axtar`,difficulty:`Çətinliklərdə axtar`,label:`Etiketlərdə axtar`,assigneeId:`Şəxslərdə axtar`,customField:`Sahələrdə axtar`}},display:{title:`Görünüş`,orderBy:`Sıralama`,direction:`İstiqamət`,ascending:`Artan`,descending:`Azalan`,reset:`Görünüşü sıfırla`,groupBy:`Qruplaşdırma`,dueDate:`Son tarix`,layout:`Tərtibat`,list:`Siyahı`,board:`Lövhə`,backgrounds:`Layihə fonları`,show:`Göstər`,hide:`Gizlət`,rowSpacing:`Sətir aralığı`,compact:`Sıx`,comfortable:`Rahat`,labelDisplay:`Etiket görünüşü`,compactPreview:`Yığcam önizləmə`,allLabels:`Bütün etiketlər`,properties:`Xüsusiyyətlər`},selection:{region:`Seçilmiş tiketlər`,clear:`Seçimi təmizlə`,selected_one:`{{count, number}} seçilib`,selected_other:`{{count, number}} seçilib`,selectedOf_one:`{{count, number}} / {{total}}<wide> seçilib</wide>`,selectedOf_other:`{{count, number}} / {{total}}<wide> seçilib</wide>`,applied_one:`{{label}} {{count, number}} tiketə tətbiq edildi`,applied_other:`{{label}} {{count, number}} tiketə tətbiq edildi`,partlyApplied_one:`{{count, number}} tiketdən {{done, number}} tiketə tətbiq edildi`,partlyApplied_other:`{{count, number}} tiketdən {{done, number}} tiketə tətbiq edildi`,mixedDue:`Qarışıq son tarixlər`,fields:`Sahələr`,more:`Digər əməliyyatlar`,moveTo:`{{status}} statusuna köçür`,restoreChange:`Bərpa`,restore:`Seçilənləri bərpa et`,archive:`Seçilənləri arxivləşdir`,delete:`Seçilənləri sil`,deleteLimit:`Bir dəfəyə ən çox {{limit, number}} sil`,archiveConfirm_one:`{{collection}} mənbəyindən {{count, number}} tiket arxivləşdirilsin?`,archiveConfirm_other:`{{collection}} mənbəyindən {{count, number}} tiket arxivləşdirilsin?`,deleteConfirm_one:`{{collection}} mənbəyindən {{count, number}} tiket şərhləri, əlaqələri və qoşmaları ilə birlikdə həmişəlik silinsin? Seçimdən kənar alt tiketlər valideynini itirəcək.`,deleteConfirm_other:`{{collection}} mənbəyindən {{count, number}} tiket şərhləri, əlaqələri və qoşmaları ilə birlikdə həmişəlik silinsin? Seçimdən kənar alt tiketlər valideynini itirəcək.`,deleted_one:`{{count, number}} tiket silindi`,deleted_other:`{{count, number}} tiket silindi`},menu:{copied:`{{label}} kopyalandı`,open:`Tiketi aç`,preview:`Önizləmə`,newTab:`Yeni tabda aç`,edit:`Tiketi redaktə et`,editTitle:`{{key}} redaktə et`,duplicate:`Tiketin surətini çıxar`,created:`{{key}} yaradıldı`,move:`Köçür`,moveToProject:`Layihəyə köçür…`,moveTitle:`{{key}} köçür`,moved:`{{key}} olaraq köçürüldü`,follow:`Tiketi izlə`,unfollow:`Tiketi izləməyi dayandır`,archive:`Tiketi arxivləşdir`,unarchive:`Tiketi arxivdən çıxar`,delete:`Tiketi sil`,deleteConfirm:`{{key}}, onun şərhləri, əlaqələri və qoşmaları həmişəlik silinsin?`,openProject:`Layihəni aç`,projectLink:`Layihə keçidi`,copyLink:`Keçidi kopyala`,newTicket:`Yeni tiket`,projectSettings:`Layihə parametrləri`,manageAccount:`Hesabı idarə et`,email:`E-poçt`,copyEmail:`E-poçtu kopyala`},schedule:{range:`{{from}} – {{to}}`,calendar:`Təqvim`,timeline:`Zaman xətti`,today:`Bu gün`,previousMonth:`Əvvəlki ay`,nextMonth:`Növbəti ay`,previousWeeks:`Əvvəlki iki həftə`,nextWeeks:`Növbəti iki həftə`,emptyWeeks:`Bu həftələrdə planlaşdırılmış heç nə yoxdur`,monthTickets:`{{title}} tiketləri`,showDay_one:`{{day}} tarixindəki bütün {{count, number}} tiketi göstər`,showDay_other:`{{day}} tarixindəki bütün {{count, number}} tiketi göstər`,more_one:`daha {{count, number}}`,more_other:`daha {{count, number}}`,ticketColumn:`Tiket`,scheduledTickets:`Planlaşdırılmış tiketlər`},copy:{description:`Təsvir`,acceptanceCriteria:`Qəbul meyarları`}},detail:{field:{title:`Başlıq`,description:`Təsvir`,acceptanceCriteria:`Qəbul meyarları`,parent:`Valideyn`,parentTicket:`Valideyn tiket`,labels:`Etiketlər`,scopes:`Əhatələr`,holdReason:`Gözləmə səbəbi`,url:`URL`},page:{preview:`Tiket önizləməsi`,unavailable:`Tiket əlçatan deyil`,noProject:`Keçiddə tiketin layihəsi göstərilməyib.`,gone:`Bu tiket silinib və ya artıq ona girişiniz yoxdur.`,closePreview:`Önizləməni bağla`,openFullPage:`Tam səhifədə aç`,backToTickets:`Tiketlərə qayıt`,tickets:`Tiketlər`,previousTicket:`Əvvəlki tiket`,previousTicketShortcut:`Əvvəlki tiket (K)`,nextTicket:`Növbəti tiket`,nextTicketShortcut:`Növbəti tiket (J)`,position:`{{position, number}} / {{total, number}}`,subscribe:`Abunə ol`,unsubscribe:`Abunəlikdən çıx`,subscribed:`Yeniliklərə abunə oldunuz`,unsubscribed:`Abunəlik ləğv edildi`,archive:`Tiketi arxivləşdir`,unarchive:`Tiketi arxivdən çıxar`,archivedToast:`Tiket arxivləşdirildi`,unarchivedToast:`Tiket arxivdən çıxarıldı`,archived:`Arxivləşdirilib`,edit:`Tiketi redaktə et`,editShortcut:`Tiketi redaktə et (E)`,editTitle:`{{key}} redaktə et`,actions:`Tiket əməliyyatları`,copyKey:`Tiket açarını kopyala`,keyCopied:`{{key}} kopyalandı`,noDescription:`_Təsvir yoxdur_`,noAcceptanceCriteria:`_Qəbul meyarları yoxdur_`,coordination:`Tiket koordinasiyası`,properties:`Xüsusiyyətlər`,created:`Yaradılıb`,updated:`Yenilənib`},section:{discussion:`Müzakirə`,evidence:`Sübutlar`,activity:`Fəaliyyət`},readiness:{heading:`Agent hazırlığı`,ready:`Götürməyə hazırdır`,notReady:`Götürməyə hazır deyil`,hold:`Gözləmə: {{reason}}`,claimedUntil:`{{date}} tarixinədək <strong>{{worker}}</strong> tərəfindən götürülüb.`},claim:{release:`Götürməmi burax`,releaseDescription:`İşçiniz yazmağı dayandırdıqdan sonra sahiblik buraxılsın?`,recover:`Müddəti bitmiş götürməni bərpa et`,recoverHelp:`Bərpa üçün layihə administratoru girişi və müddəti bitmiş götürmə tələb olunur. Əvvəlcə işçini dayandırın.`,reason:`Bərpa səbəbi`,confirmed:`İşçinin dayandığını təsdiqləmişəm`,submit:`Sahibliyi bərpa et`},editor:{storageUnavailable:`Bu brauzer qaralamanızı yadda saxlaya bilmir. Yadda saxlayana qədər redaktoru açıq saxlayın.`,saved:`{{key}} yadda saxlanıldı`,created:`{{key}} yaradıldı`,properties:`Tiket xüsusiyyətləri`,readyForAgents:`Agentlər üçün hazırdır`,readyForAgentsHelp:`Tələblər, bloklayıcılar və sahiblik imkan verdikdə agentlər bu tiketi götürə bilər`,agents:`Agentlər`,notReady:`Hazır deyil`,moreProperties:`Daha çox xüsusiyyət`,holdPlaceholder:`İş niyə gözləməlidir?`,claimsNote:`Götürmələr yenə də tələblərdən, bloklayıcılardan və cari sahiblikdən asılıdır.`,restoreSize:`Redaktorun ölçüsünü bərpa et`,expand:`Redaktoru genişləndir`,staleTitle:`Bu tiket dəyişib.`,staleDescription:`Qaralamanız hələ {{version}} versiyasından istifadə edir; yadda saxlamaq üçün cari versiya tələb olunacaq.`,discardAndReload:`Qaralamanı at və yenidən yüklə`,titlePlaceholder:`Tiket başlığı`,descriptionPlaceholder:`Kontekst, tələblər və ya təkrarlama addımları əlavə edin…`,criteriaPlaceholder:`- [ ] Bunun tamamlandığını nə göstərəcək?`,removeCriteria:`Qəbul meyarlarını sil`,addCriteria:`Qəbul meyarları əlavə et`,savedLocally:`Qaralama bu cihazda yadda saxlanıldı`,notSavedLocally:`Qaralama yadda saxlanıla bilmədi`,discardDraft:`Qaralamanı at`,createMore:`Daha çox yarat`,save:`Tiketi yadda saxla`,create:`Tiket yarat`},resource:{removeConfirm:`{{name}} silinsin?`,uploading:`Yüklənir…`},attachment:{heading:`Qoşmalar`,tooLarge:`Hər biri 10 MB-dan böyük olmayan fayllar seçin.`,attached_one:`Fayl qoşuldu`,attached_other:`{{count, number}} fayl qoşuldu`,attach:`Fayl qoş`,emptyWritable:`Qoşma yoxdur. Faylları bura atın.`,empty:`Qoşma yoxdur`,remove:`Qoşmanı sil`,fileInput:`Fayl (10 MB-a qədər)`},evidence:{description:`Bu tiket üzərində işləyən insanların və inteqrasiyaların bildirdiyi keçidlər və nəticələr.`,add:`Sübut əlavə et`,empty:`Qoşulmuş sübut yoxdur`,added:`Sübut əlavə edildi`,kindLabel:`Növ`,outcomeLabel:`Bildirilən nəticə`,commit:`Commit (tam hash)`,note:`Qeyd`},link:{heading:`Keçidlər`,add:`Keçid əlavə et`,edit:`Keçidi redaktə et`,save:`Keçidi yadda saxla`,remove:`Keçidi sil`,empty:`Keçid yoxdur`,stateUnknown:`Vəziyyət naməlumdur`,remote:`{{kind}} · {{state}}`,remoteState:{open:`Açıq`,closed:`Bağlı`,merged:`Birləşdirilib`,draft:`Qaralama`,active:`Aktiv`,deleted:`Silinib`}},activity:{previous:`Əvvəlki fəaliyyət`,next:`Növbəti fəaliyyət`},relations:{heading:`Əlaqələr`,add:`Əlaqə əlavə et`,linkExisting:`Mövcud tiketi bağla`,newChild:`Yeni alt tiket`,newChildTitle:`{{key}} üçün yeni alt tiket`,children:`Alt tiketlər <count>{{done, number}}/{{total, number}}</count>`,previousChildren:`Əvvəlki alt tiketlər`,nextChildren:`Növbəti alt tiketlər`,empty:`Əlaqə yoxdur`,type:`Əlaqə`,ticket:`Tiket`,statusOf:`{{key}} statusu`,assigneeOf:`{{key}} icraçısı`,remove:{blocks:`“Bloklayır” əlaqəsini sil`,related:`“Əlaqəlidir” əlaqəsini sil`,duplicate:`“Təkrarlayır” əlaqəsini sil`,causes:`“Səbəb olur” əlaqəsini sil`,clones:`“Klonlayır” əlaqəsini sil`,implements:`“Həyata keçirir” əlaqəsini sil`,reviews:`“Yoxlayır” əlaqəsini sil`}},discussion:{empty:`Hələ şərh yoxdur`,previous:`Əvvəlki şərhlər`,next:`Növbəti şərhlər`,comment:`Şərh yaz`,placeholder:`Şərh yazın…`,posting:`Göndərilir…`,edited:`Redaktə edilib`,edit:`Şərhi redaktə et`,delete:`Şərhi sil`,deleteConfirm:`Bu şərh həmişəlik silinsin?`},markdown:{format:{heading:`Başlıq`,bold:`Qalın`,italic:`Kursiv`,link:`Keçid`,linkHelp:`Seçilmiş mətnə keçid əlavə et`,bullets:`Markerli siyahı`,numbers:`Nömrəli siyahı`,tasks:`Yoxlama siyahısı`,code:`Kod bloku`},formatting:`{{label}} formatlaşdırması`,editor:`{{label}} redaktoru`,insertFile:`Fayl daxil et`,insertFileInto:`{{label}} sahəsinə fayl daxil et`,write:`Yaz`,visual:`Vizual`,preview:`Önizləmə`,unsupported:`Bu mətndə vizual redaktorun saxlaya bilmədiyi Markdown var, məsələn, HTML və ya haşiyələr.`,nothingToPreview:`Önizləmək üçün heç nə yoxdur`,mention:`Üzvü qeyd et`,insertBlock:`Blok daxil et`,block:{quote:`Sitat`,table:`Cədvəl`,diagram:`Diaqram`,divider:`Ayırıcı`,file:`Fayl`},table:{addRow:`Sətir əlavə et`,addColumn:`Sütun əlavə et`,deleteRow:`Sətri sil`,deleteColumn:`Sütunu sil`,deleteTable:`Cədvəli sil`},linkAddress:`Keçid ünvanı`,diagram:`Diaqram`,diagramFailed:`Bu diaqram çəkilə bilmədi: {{error}}`,diagramSource:`Diaqram mənbəyi`}},settings:{account:{title:`Parametrlər`,security:`Daxil olma və təhlükəsizlik`,localPassword:`Yerli şifrə`,localPasswordDescription:`Şifrəni dəyişmək digər seanslarınızdan çıxış edir.`,changePassword:`Şifrəni dəyiş`,oidcLinked:`Eyni hesaba daxil olmaq üçün bu identiklik provayderindən istifadə edin.`,oidcUnlinked:`Bu provayder vasitəsilə daxil olmazdan əvvəl hesabınızı bağlayın.`,linked:`Bağlanıb`,link:`{{name}} bağla`,currentPassword:`Cari şifrə`,newPassword:`Yeni şifrə`,confirmPassword:`Yeni şifrəni təsdiqləyin`,passwordMismatch:`Yeni şifrələr uyğun gəlmir.`,passwordUpdated:`Şifrə yeniləndi. Digər seanslardan çıxış edildi.`},preferences:{behavior:`Davranış`,languageDescription:`Bu brauzerdə, o cümlədən daxil olma səhifəsində tətbiq olunur.`,weekStart:`Həftənin başlanğıcı`,weekStartDescription:`Bütün tarix seçicilərinə tətbiq olunur.`,weekStartLanguage:`Dil standartı`,sidebar:`Açılışda yan panel`,sidebarDescription:`Kanvil növbəti dəfə açılanda qüvvəyə minir.`,sidebarLast:`Son vəziyyətdə`,sidebarExpanded:`Genişləndirilmiş`,sidebarCollapsed:`Yığılmış`,ticketLists:`Tiket siyahıları`,reset:`Seçimləri sıfırla`,resetDescription:`Bu brauzerdə bu seçimləri standart dəyərlərə qaytarır.`,resetDone:`Seçimlər sıfırlandı`},notifications:{title:`Bildirişlər`,inbox:`Gələnlər`,inboxDescription:`İzlədiyiniz tiketlərin yenilikləri Kanvil-də görünür.`,inboxSwitch:`Abunə olunmuş tiket yenilikləri Gələnlərdə`,push:`Push bildirişləri`,pushDescription:`Qeydiyyatdan keçirdiyiniz cihazlara yenilikləri göndərin.`,pushUnavailable:`Bu nüsxədə push çatdırılması aktiv deyil.`,pushSwitch:`Qeydiyyatlı cihazlarda push bildirişləri`,categories:`Kateqoriyalar`,categorySwitch:`{{label}} bildirişləri`,reminder:`Müddət yaxınlaşma xatırlatması`,reminderDescription:`İzlənilən tiketin son tarixindən nə qədər əvvəl.`,reminderUnit:`Xatırlatma vahidi`,reminderAmount:`Xatırlatma miqdarı`,unit:{minutes:`Dəqiqə`,hours:`Saat`,days:`Gün`,weeks:`Həftə`}},layout:{nav:`Parametrlər`,section:`Parametrlər bölməsi`,nested:`{{parent}} · {{child}}`,name:`Ad`,description:`Təsvir`,descriptionPlaceholder:`Təsvir əlavə edin`,noDescription:`Təsvir yoxdur`,stale:`Bu başqa yerdə dəyişdirilib. Ləğv edib yenidən başlayın.`},profile:{title:`Profil`,displayName:`Görünən ad`,edit:`Profili redaktə et`,changePhoto:`Şəkli dəyiş`,removePhoto:`Şəkli sil`,photoFile:`Profil şəkli faylı`,photoUpdated:`Şəkil yeniləndi`,photoRemoved:`Şəkil silindi`,saved:`Profil yadda saxlanıldı`},credentials:{title:`API açarları`,description:`Skriptləri, inteqrasiyaları və agentləri ləğv edə biləcəyiniz girişlə qoşun.`,create:`API açarı yarat`,creating:`Yaradılır…`,created:`API açarı yaradıldı`,name:`Ad`,access:`Giriş`,projects:`Layihələr`,expires:`Bitmə tarixi`,actions:`Əməliyyatlar`,unavailableProject:`Əlçatan olmayan layihə`,untitled:`Adsız açar`,expired:`Müddəti bitib`,disabled:`Deaktiv`,custom:`Fərdi`,noProjects:`Layihəyə giriş yoxdur`,never:`Heç vaxt`,revoke:`API açarını ləğv et`,revokeNamed:`{{name}} ləğv edilsin? Ondan istifadə edən bağlantılar dərhal girişini itirəcək.`,revokeUnnamed:`Bu API açarı ləğv edilsin? Ondan istifadə edən bağlantılar dərhal girişini itirəcək.`,empty:`API açarı yoxdur`,emptyDescription:`Skript, inteqrasiya və ya agentin layihələrinizə girişi lazım olduqda açar yaradın.`,copyNow:`Bu açarı indi kopyalayın. Onu bir daha görə bilməyəcəksiniz.`,newKey:`Yeni API açarı`,copy:`API açarını kopyala`,noProjectTitle:`Əvvəlcə layihə seçin`,noProjectDescription:`API açarlarının ən azı bir layihəyə girişi olmalıdır.`,goToProjects:`Layihələrə keç`,keyName:`Açarın adı`,keyNamePlaceholder:`məs. Buraxılış avtomatlaşdırması`,projectAccess:`Layihəyə giriş`,findProject:`Layihə tap`,projectDescription:`{{key}} · {{workspace}}`,workspace:`İş sahəsi`,noMatches:`Uyğun layihə yoxdur`,roleLimit:`Mövcud layihə rolunuz bu açarın imkanlarını yenə də məhdudlaşdırır.`,accessLevel:`Giriş səviyyəsi`,preset:{read:`Yalnız oxuma`,write:`Oxuma və yazma`,automation:`Oxuma, yazma və iş götürmə`,custom:`Fərdi icazələr`},permission:{read:{name:`Tiketləri oxumaq`,description:`Layihələrə, tiketlərə, şərhlərə və qoşmalara baxmaq.`},write:{name:`Tiketləri redaktə etmək`,description:`Tiketləri, şərhləri və qoşmaları yaratmaq və yeniləmək.`},claim:{name:`İş götürmək`,description:`Tiket sahibliyini götürmək, yeniləmək və buraxmaq.`},admin:{name:`Layihələri idarə etmək`,description:`Rolunuzun icazə verdiyi yerdə layihə parametrlərini və üzvlüyü dəyişmək.`}},expiry:{7:`7 gün`,30:`30 gün`,90:`90 gün`,365:`1 il`,custom:`Fərdi tarix`,never:`Müddətsiz`},expiresOn:`Bitmə tarixi`,neverDescription:`Açar siz onu silənə qədər işləyir.`},calendarFeeds:{title:`Təqvim lentləri`,new:`Yeni təqvim lenti`,created:`Təqvim lenti yaradıldı`,create:`Lent yarat`,adminOnly:`Təqvim lentlərini layihə administratorları paylaşır və ləğv edir.`,labels:`Etiketlər`,everyLabel:`Bütün etiketlər`,stopped:`· Dayandırılıb: yaradanın artıq girişi yoxdur`,revoke:`{{name}} ləğv et`,revokeDescription:`{{name}} lentinə abunə olan təqvimlər dərhal yenilənməyi dayandırır. Tiketlər dəyişməz qalır.`,revoked:`Təqvim lenti ləğv edildi`,empty:`Təqvim lenti yoxdur`,copyNow:`Bu keçidi indi təqvim tətbiqinə kopyalayın. O, yalnız bir dəfə göstərilir və ona sahib olan hər kəs paylaşılan tiketləri oxuya bilər.`,link:`Lent keçidi`,name:`Lentin adı`,onlyLabels:`Yalnız bu etiketləri olan tiketlər`,explanation:`Lent başlama və ya son tarixi olan açıq, arxivləşdirilməmiş tiketləri {{zone}} saat qurşağında bütün günlük hadisələr kimi göstərir. Keçidə sahib olan hər kəs onların açarlarını, başlıqlarını, statuslarını, prioritetlərini və tarixlərini görür.`},project:{title:`Layihə parametrləri`,edit:`Layihəni redaktə et`,copyPrefix:`Tiket prefiksini kopyala`,saved:`Layihə yadda saxlanıldı`,noOpenTickets:`Açıq tiket yoxdur`,openTickets_one:`{{count, number}} açıq tiket`,openTickets_other:`{{count, number}} açıq tiket`,overdueTickets_one:`· {{count, number}} gecikmiş`,overdueTickets_other:`· {{count, number}} gecikmiş`,created:`· Yaradılıb: <time/>`,access:`Layihəyə giriş`,accessWorkspace:`İş sahəsi üzvləri girişi iş sahəsindəki rollarından alır.`,accessPrivate:`Bu layihəni yalnız əlavə etdiyiniz üzvlər və iş sahəsi administratorları görə bilər.`,accessUpdated:`Layihəyə giriş yeniləndi`,visibility:{workspace:`İş sahəsindəki hər kəs`,private:`Yalnız layihə üzvləri`},workspace:`İş sahəsi`,workspaceSettings:`İş sahəsi parametrləri`,prefix:`Tiket prefiksi`,prefixDescription:`Dəyişiklikdən sonra əvvəlki prefikslər və tiket açarları işləməyə davam edir.`,changePrefix:`Prefiksi dəyiş`,changePrefixTitle:`Tiket prefiksini dəyiş`,changePrefixDescription:`{{name}} layihəsindəki hər tiket yeni prefiksi alır və nömrəsini saxlayır.`,changing:`Dəyişdirilir…`,prefixChanged:`Tiketlər indi {{key}} istifadə edir`,publicLink:`İctimai keçid`,publicDisclosure:`Keçidə sahib olan hər kəs bu layihədəki hər arxivləşdirilməmiş tiketin başlığını, təsvirini, qəbul meyarlarını, statusunu, prioritetini, növünü, çətinliyini, etiketlərini, əhatələrini, tarixlərini və digər tiketlərə keçidlərini oxuya bilər. İnsanlar, şərhlər, fəaliyyət, qoşmalar, sübutlar və götürmələr gizli qalır.`,publicOn:`İctimai keçid aktivdir`,publicOff:`İctimai keçid deaktivdir`,off:`Deaktiv`,copyPublicLink:`İctimai keçidi kopyala`,openPublic:`İctimai görünüşü aç`,stopSharing:`Paylaşımı dayandır`,share:`İctimai paylaş`,background:`Fon`,backgroundDescription:`Bu layihənin tiket siyahısı və lövhəsinin arxasında göstərilir.`,backgroundUpdated:`Fon yeniləndi`,backgroundRemoved:`Fon silindi`,currentBackground:`Cari fon`,uploading:`Yüklənir…`,replace:`Əvəz et`,upload:`Şəkil yüklə`,backgroundFile:`Layihə fonu faylı`},tickets_one:`{{count, number}} tiket`,tickets_other:`{{count, number}} tiket`,moveUp:`{{name}} yuxarı köçür`,moveDown:`{{name}} aşağı köçür`,workflow:{title:`İş axını`,new:`Yeni vəziyyət`,edit:`Vəziyyəti redaktə et`,editNamed:`{{name}} vəziyyətini redaktə et`,deleteNamed:`{{name}} vəziyyətini sil`,onlyState:`{{name}} yeganə “{{category}}” vəziyyətidir`,saved:`Vəziyyət yadda saxlanıldı`,name:`Vəziyyətin adı`,category:`Kateqoriya`,color:`Vəziyyətin rəngi`,categoryChange:`Onun tiketlərinin statusu {{status}} olaraq dəyişir.`,save:`Vəziyyəti yadda saxla`,delete:`Vəziyyəti sil`,deleteTitle:`{{name}} sil`,deleted:`Vəziyyət silindi`,reassign_one:`{{count, number}} tiketi buraya köçür:`,reassign_other:`{{count, number}} tiketi buraya köçür:`},labels:{title:`Etiketlər`,search:`Etiketlərdə axtar`,new:`Yeni etiket`,edit:`Etiketi redaktə et`,workspace:`İş sahəsi`,editNamed:`{{name}} etiketini redaktə et`,deleteNamed:`{{name}} etiketini sil`,deleteUsed_one:`{{name}} arxivləşdirilmişlər daxil {{count, number}} tiketdən çıxarılsın? Bu etiketdən istifadə edən yadda saxlanılmış görünüşlərin etiket filtri silinəcək.`,deleteUsed_other:`{{name}} arxivləşdirilmişlər daxil {{count, number}} tiketdən çıxarılsın? Bu etiketdən istifadə edən yadda saxlanılmış görünüşlərin etiket filtri silinəcək.`,deleteUsedShared_one:`{{name}} bütün layihələrdə arxivləşdirilmişlər daxil {{count, number}} tiketdən çıxarılsın? Bu etiketdən istifadə edən yadda saxlanılmış görünüşlərin etiket filtri silinəcək.`,deleteUsedShared_other:`{{name}} bütün layihələrdə arxivləşdirilmişlər daxil {{count, number}} tiketdən çıxarılsın? Bu etiketdən istifadə edən yadda saxlanılmış görünüşlərin etiket filtri silinəcək.`,deleteUnused:`İstifadə olunmayan {{name}} etiketi silinsin? Ondan istifadə edən yadda saxlanılmış görünüşlərin etiket filtri silinəcək.`,deleted:`Etiket silindi`,noMatches:`Uyğun etiket yoxdur`,empty:`Hələ etiket yoxdur`,saved:`Etiket yadda saxlanıldı`,name:`Etiketin adı`,color:`Etiketin rəngi`,rename:`Adı dəyişdirmək bu etiketi tiketlərdə və yadda saxlanılmış görünüşlərdə yeniləyir.`,renameShared:`Adı dəyişdirmək bu etiketi bütün layihələrdə tiketlərdə və yadda saxlanılmış görünüşlərdə yeniləyir.`,adopt:`Layihə etiketlərini mənimsə`,adoptDescription:`{{projects}} layihələrində müəyyən edilib. Onların tiketləri etiketi saxlayır və bu rəngi alır.`,save:`Etiketi yadda saxla`},fields:{title:`Sahələr`,new:`Yeni sahə`,edit:`Sahəni redaktə et`,editNamed:`{{name}} sahəsini redaktə et`,deleteNamed:`{{name}} sahəsini sil`,deleteUsed_one:`{{name}} silinsin və onun dəyərləri arxivləşdirilmişlər daxil {{count, number}} tiketdən çıxarılsın? Yadda saxlanılmış görünüşlər bu sahə üzrə filtrlərini itirəcək.`,deleteUsed_other:`{{name}} silinsin və onun dəyərləri arxivləşdirilmişlər daxil {{count, number}} tiketdən çıxarılsın? Yadda saxlanılmış görünüşlər bu sahə üzrə filtrlərini itirəcək.`,deleteUnused:`İstifadə olunmayan {{name}} sahəsi silinsin? Yadda saxlanılmış görünüşlər bu sahə üzrə filtrlərini itirəcək.`,deleted:`Sahə silindi`,empty:`Hələ sahə yoxdur`,saved:`Sahə yadda saxlanıldı`,required:`Məcburi`,requiredDescription:`Yeni tiketlər üçün dəyər tələb olunur.`,defaultValue:`Standart: {{value}}`,default:`Standart`,name:`Sahənin adı`,type:`Tip`,options:`Seçimlər`,option:`Seçim {{number}}`,optionInline:`seçim {{number}}`,optionColor:`{{name}} rəngi`,removeOption:`{{name}} sil`,addOption:`Seçim əlavə et`,reassign:`{{name}} olan tiketlər`,clearValue:`Dəyəri təmizlə`,moveTo:`{{name}} seçiminə köçür`,save:`Sahəni yadda saxla`},lifecycle:{archivedToast:`Layihə arxivləşdirildi`,restoredToast:`Layihə bərpa edildi`,archivedNotice:`Arxivləşdirilib: <time/> · yalnız oxuma`,restore:`Bərpa et`,archive:`Arxivləşdir`,archivedDescription:`Arxivləşdirilib: <time/>. Onun tiketləri yalnız oxunur və siyahılarda, axtarışda, “Mənim işlərim”də, təqvim lentlərində və agent növbələrində görünmür.`,archiveDescription:`Layihəni siyahılardan, axtarışdan, “Mənim işlərim”dən, təqvim lentlərindən və agent növbələrindən gizlədir və tiketlərini yalnız oxunan edir. Tarixçə saxlanılır.`,archiveProject:`Layihəni arxivləşdir`,archiveConfirm:`{{name}} bərpa edilənə qədər layihə siyahılarından və agent növbələrindən çıxarılır. Götürülmüş tiketlər əvvəlcə buraxılmalıdır.`,blocker:`{{message}}: {{tickets}}`,row:{tickets:`Tiketlər`,losesAccess:`Girişini itirir`,gainsAccess:`Giriş əldə edir`,labelsCopied:`Kopyalanan etiketlər`,labelsMerged:`Birləşdirilən etiketlər`,followsRemoved:`Silinən izləmələr`,invitations:`Dəvətlər`,comments:`Şərhlər`,files:`Fayllar`,kept:`Saxlanılır`,projects:`Layihələr`,members:`Üzvlər`,sharedLabels:`Ümumi etiketlər`,signIn:`Daxil olma`,sessions:`Seanslar`,credentials:`Giriş məlumatları`,devices:`Cihazlar`,access:`Giriş`,claims:`Götürmələr`,imports:`İdxallar`,profile:`Profil`},transferTickets_one:`{{count, number}}, açarları və keçidləri saxlanılmaqla`,transferTickets_other:`{{count, number}}, açarları və keçidləri saxlanılmaqla`,noOne:`Heç kim`,transferInvitations_one:`{{count, number}} gözləyən dəvətdən layihə çıxarılır`,transferInvitations_other:`{{count, number}} gözləyən dəvətdən layihə çıxarılır`,files_one:`{{count, number}} · {{size}}`,files_other:`{{count, number}} · {{size}}`,keptProject_one:`{{count, number}} fəaliyyət qeydi və {{key}} prefiksi`,keptProject_other:`{{count, number}} fəaliyyət qeydi və {{key}} prefiksi`,keptWorkspace_one:`{{count, number}} fəaliyyət qeydi və {{slug}} URL açarı`,keptWorkspace_other:`{{count, number}} fəaliyyət qeydi və {{slug}} URL açarı`,archivedProject:`arxivləşdirilib`,membersLoseAccess_one:`{{count, number}} nəfər girişini itirir; hesabı qalır`,membersLoseAccess_other:`{{count, number}} nəfər girişini itirir; hesabları qalır`,pendingInvitations_one:`{{count, number}} gözləyir`,pendingInvitations_other:`{{count, number}} gözləyir`,move:`Köçür`,moveTitle:`{{name}} köçür`,moved:`{{name}} iş sahəsinə köçürüldü`,movedUnnamed:`İş sahəsinə köçürüldü`,destination:`Təyinat iş sahəsi`,moveProject:`Layihəni köçür`,moving:`Köçürülür…`,export:`İxrac`,exportDescription:`Tiketlər iş axını, sahələr, etiketlər, əlaqələr, şərhlər, sübutlar və keçidlərlə birlikdə versiyalı JSON kimi. Qoşmalar və fəaliyyət tarixçəsi burada qalır.`,exporting:`İxrac edilir…`,exportJson:`JSON ixrac et`,delete:`Sil`,deleteTitle:`{{name}} sil`,deleted:`{{name}} silindi`,typeToConfirm:`Təsdiqləmək üçün {{value}} yazın`,deleting:`Silinir…`,deleteProject:`Layihəni sil`,deleteProjectDescription:`Tiketləri, şərhləri və faylları həmişəlik silir. Fəaliyyət tarixçəsi qalır və {{key}} bir daha istifadə edilmir.`,signInAgain:`Yenidən daxil ol`,deleteWorkspace:`İş sahəsini sil`,deleteWorkspaceDescription:`İş sahəsindəki bütün layihələri tiketləri, şərhləri və faylları ilə birlikdə həmişəlik silir və üzvlərini çıxarır. Hesablar və fəaliyyət tarixçəsi qalır.`,noSignInMethods:`Bağlanmış daxil olma üsulu yoxdur`,sessions_one:`{{count, number}} seansdan çıxış edildi`,sessions_other:`{{count, number}} seansdan çıxış edildi`,credentials_one:`{{count, number}} API açarı və ya tətbiq bağlantısı ləğv edildi`,credentials_other:`{{count, number}} API açarı və ya tətbiq bağlantısı ləğv edildi`,devices_one:`{{count, number}} cihaz və ya bildiriş kanalı silindi`,devices_other:`{{count, number}} cihaz və ya bildiriş kanalı silindi`,workspaceCount_one:`{{count, number}} iş sahəsi`,workspaceCount_other:`{{count, number}} iş sahəsi`,directProjectCount_one:`{{count, number}} birbaşa layihə`,directProjectCount_other:`{{count, number}} birbaşa layihə`,accessWorkspaces:`{{workspaces}} silindi`,accessBoth:`{{workspaces}} və {{projects}} silindi`,claims_one:`{{count, number}} götürmə buraxıldı`,claims_other:`{{count, number}} götürmə buraxıldı`,imports_one:`{{count, number}} idxal ləğv edildi`,imports_other:`{{count, number}} idxal ləğv edildi`,profileErased:`Ad, e-poçt və şəkil silindi`,commentCount_one:`{{count, number}} şərh`,commentCount_other:`{{count, number}} şərh`,activityCount_one:`{{count, number}} fəaliyyət qeydi`,activityCount_other:`{{count, number}} fəaliyyət qeydi`,keptAccount:`{{tickets}}, {{comments}} və {{events}} “{{name}}” kimi göstərilir`,deleteAccount:`Hesabı sil`,deleteOwnAccount:`Daxil olma məlumatlarınızı, seanslarınızı, açarlarınızı, cihazlarınızı, üzvlüklərinizi və şəxsi məlumatlarınızı həmişəlik silir. Tiketlər, şərhlər və fəaliyyət qalır və “{{name}}” kimi göstərilir.`,deleteOtherAccount:`Bu hesabın daxil olma məlumatlarını, seanslarını, açarlarını, cihazlarını, üzvlüklərini və şəxsi məlumatlarını həmişəlik silir. Tiketlər, şərhlər və fəaliyyət qalır və “{{name}}” kimi göstərilir.`},icon:{change:`İkonu dəyiş`,title:`Layihə ikonu`,library:`İkon kitabxanası`,upload:`Şəkil yüklə`,search:`İkonlarda axtar`,searchPlaceholder:`İkonlarda axtar…`,color:`İkonun rəngi`,choose:`{{name}} seç`,noMatches:`Uyğun ikon yoxdur`,showMore:`Daha çox ikon göstər`,uploading:`Yüklənir…`,chooseImage:`Şəkil seç`,formats:`PNG, JPEG və ya WebP · 10 MB-a qədər`,file:`Layihə ikonu faylı`,reset:`İkonu sıfırla`},createProject:{title:`Yeni layihə`,inWorkspace:`{{name}} iş sahəsində`,everyoneLabel:`Bu iş sahəsindəki hər kəs`,name:`Layihənin adı`,namePlaceholder:`Mobil tətbiq`,create:`Layihə yarat`},workspace:{title:`İş sahəsi parametrləri`,owner:`Sahib`,noOwner:`Sahib yoxdur. Nüsxə administratoru təyin edə bilər.`,transfer:`Sahibliyi ötür`,transferring:`Ötürülür…`,transferred:`{{workspace}} artıq {{name}} istifadəçisinə məxsusdur`,newOwner:`Yeni sahib`,noEligible:`Sahiblik aktiv iş sahəsi administratoruna keçir. Əvvəlcə başqa bir üzvü administrator edin.`,chosenCan:`Bundan sonra {{name}} iş sahəsini ötürə və ya silə bilər.`,newOwnerCan:`Yeni sahib iş sahəsini ötürə və ya silə bilər.`,ownerStays:`{{name}} administrator olaraq qalır.`,unavailable:`İş sahəsi əlçatan deyil`,backToProjects:`Layihələrə qayıt`,name:`İş sahəsinin adı`,edit:`İş sahəsini redaktə et`,copyKey:`İş sahəsinin açarını kopyala`,saved:`İş sahəsi yadda saxlanıldı`,projects:`Layihələr`,projectCount_one:`Bu iş sahəsində girişiniz olan {{count, number}} layihə.`,projectCount_other:`Bu iş sahəsində girişiniz olan {{count, number}} layihə.`,viewProjects:`Layihələrə bax`,members:`Üzvlər`,membersDescription:`İş sahəsi rolları iş sahəsi girişindən istifadə edən layihələrə tətbiq olunur.`,manageMembers:`Üzvləri idarə et`},members:{title:`Üzvlər`,customRole:`Fərdi rol`,search:`Üzvlərdə axtar`,searchPlaceholder:`Ad və ya e-poçt…`,add:`Üzv əlavə et`,added:`Üzv əlavə edildi`,workspaceAccess:`İş sahəsi girişi`,owner:`Sahib`,roleFor:`{{name}} üçün rol`,useWorkspaceAccess:`İş sahəsi girişindən istifadə et`,remove:`Üzvü çıxar`,removeFromWorkspace:`{{name}} bu iş sahəsindən və onun bütün layihələrindən çıxarılsın?`,restoreAccess:`{{name}} üçün {{role}} iş sahəsi girişi bərpa edilsin?`,removeFromProject:`{{name}} üçün layihə girişi silinsin?`,noMatches:`Uyğun üzv yoxdur`,empty:`Üzv yoxdur`,projectRole:`Layihə rolu`,workspaceRole:`İş sahəsi rolu`},invitations:{title:`Dəvətlər`,invite:`E-poçtla dəvət et`,removedProjects:`Silinmiş layihələr`,wholeWorkspace:`Bütün iş sahəsi`,selectedProjects:`Seçilmiş layihələr`,expired:`Müddəti bitib`,expires:`Bitir: <time/>`,resend:`Dəvəti {{email}} ünvanına yenidən göndər`,revoke:`Dəvəti ləğv et`,revokeDescription:`{{email}} ünvanına göndərilən keçid işləməyi dayandıracaq.`,revoked:`Dəvət ləğv edildi`,empty:`Gözləyən dəvət yoxdur`,email:`E-poçt`,role:`Rol`,access:`Giriş`,projects:`Layihələr`,noProjects:`Bu iş sahəsində layihə yoxdur.`,linkExpires:`Keçidin bitmə müddəti`,inDays_one:`{{count, number}} gün sonra`,inDays_other:`{{count, number}} gün sonra`,submit:`Dəvət et`,link:`Dəvət keçidi`,copyLink:`Dəvət keçidini kopyala`,emailed:`{{email}} ünvanına göndərildi. Keçid həmin ünvan üçün bir dəfə işləyir.`,notEmailed:`Bu nüsxədə e-poçt konfiqurasiya edilməyib. Bu keçidi {{email}} ünvanına göndərin; o, həmin ünvan üçün bir dəfə işləyir.`,notEmailedUnknown:`Bu nüsxədə e-poçt konfiqurasiya edilməyib. Bu keçidi alıcıya göndərin; o, həmin ünvan üçün bir dəfə işləyir.`},workspaces:{title:`İş sahələri`,search:`İş sahələrində axtar`,searchPlaceholder:`Ad və ya URL açarı…`,noMatches:`Uyğun iş sahəsi yoxdur`,empty:`İş sahəsi yoxdur`,workspace:`İş sahəsi`,administrators:`Administratorlar`,members:`Üzvlər`,projects:`Layihələr`,created:`Yaradılıb`,actions:`Əməliyyatlar`,noAdministrator:`Administrator yoxdur`,manage:`{{name}} idarə et`,pagerNoun:`iş sahələri`,private:`Gizli`,noProjects:`Layihə yoxdur`},roles:{title:`Rollar`,new:`Yeni rol`,edit:`Rolu redaktə et`,builtIn:`Daxili`,readOnly:`Oxumadan başqa əməliyyat yoxdur`,memberships_one:`{{count, number}} üzvlük`,memberships_other:`{{count, number}} üzvlük`,editNamed:`{{name}} rolunu redaktə et`,deleteNamed:`{{name}} rolunu sil`,deleteUnused:`İstifadə olunmayan {{name}} rolu silinsin?`,deleted:`Rol silindi`,empty:`Rol yoxdur`,saved:`Rol yadda saxlanıldı`,name:`Rolun adı`,actions:`Əməliyyatlar`,everyoneReads:`Hər üzv çatdığı layihələri oxuya bilər.`,changesApply_one:`Dəyişikliklər bu rola malik {{count, number}} üzvlüyə dərhal tətbiq olunur.`,changesApply_other:`Dəyişikliklər bu rola malik {{count, number}} üzvlüyə dərhal tətbiq olunur.`,save:`Rolu yadda saxla`,delete:`Rolu sil`,reassignDescription_one:`{{count, number}} üzvlük {{name}} roluna malikdir. Keçəcəkləri rolu seçin.`,reassignDescription_other:`{{count, number}} üzvlük {{name}} roluna malikdir. Keçəcəkləri rolu seçin.`,moveTo:`Üzvləri bu rola köçür`},theme:{mode:{light:`İşıqlı`,dark:`Qaranlıq`,system:`Sistem`},aligned:`Uyğunlaşdırılıb`,hexColor:`Altırəqəmli hex rəngindən istifadə edin`,contrast:{light:`İşıqlı temanın mətn kontrastını ən azı 4.5:1-ə qədər artırın.`,dark:`Qaranlıq temanın mətn kontrastını ən azı 4.5:1-ə qədər artırın.`},fileTooLarge:`Tema faylları 100 KB-dan kiçik olmalıdır.`,tooMany:`Ən çox 50 fərdi tema saxlayın.`},appearance:{colorScheme:`Rəng sxemi`,theme:`Tema`,themes:`Temalar`,colorTheme:`Rəng teması`,search:`Temalarda axtar`,searchPlaceholder:`Temalarda axtar…`,create:`Tema yarat`,add:`Tema əlavə et`,importFile:`Tema faylını idxal et`,useMode:{light:`{{name}} işıqlı rejimindən istifadə et`,dark:`{{name}} qaranlıq rejimindən istifadə et`},modeOnly:{light:`Yalnız işıqlı rejim üçün istifadə et`,dark:`Yalnız qaranlıq rejim üçün istifadə et`},copyName:`{{name}} surəti`,duplicate:`{{name}} surətini çıxar`,edit:`{{name}} redaktə et`,export:`{{name}} ixrac et`,delete:`{{name}} sil`,deleteDescription:`{{name}} bu brauzerdən silinsin? Ondan istifadə edən işıqlı və ya qaranlıq görünüşlər əsas temanıza qayıdacaq.`,noMatches:`Uyğun tema yoxdur`,customTheme:`Fərdi tema`,name:`Temanın adı`,paletteColor:`{{mode}}: {{color, lowercase}}`,color:{background:`Fon`,foreground:`Mətn`,sidebar:`Yan panel`,primary:`Vurğu`,primaryForeground:`Vurğu mətni`},save:`Temanı yadda saxla`},color:{swatch:`{{color}} {{label, lowercase}}`,removeCustom:`{{hex}} fərdi rənglərdən sil`,custom:`Fərdi rəng`,default:`standart`,red:`qırmızı`,orange:`narıncı`,amber:`kəhrəba`,yellow:`sarı`,lime:`laym`,green:`yaşıl`,emerald:`zümrüd`,teal:`firuzəyi-yaşıl`,cyan:`mavi-yaşıl`,sky:`səma mavisi`,blue:`göy`,indigo:`indiqo`,violet:`bənövşəyi`,purple:`tünd bənövşəyi`,fuchsia:`fuksiya`,pink:`çəhrayı`,rose:`qızılgül`,gray:`boz`}},admin:{instance:{title:`İdarəetmə`,heading:`Nüsxə`,edit:`Nüsxəni redaktə et`,name:`Ad`,description:`Təsvir`,noDescription:`Təsvir yoxdur`,version:`Tətbiq versiyası`,publicUrl:`İctimai URL`,provider:{local:`Yerli PostgreSQL yaddaşı`,s3:`S3-uyğun obyekt yaddaşı`,postgres:`Daxili PostgreSQL`,elasticsearch:`Elasticsearch-uyğun axtarış`},section:{storage:`Fayl yaddaşı`,search:`Tiket axtarışı`,events:`Hadisə çatdırılması`},viewConfiguration:`Konfiqurasiyaya bax`,configure:{storage:`Yaddaşı konfiqurasiya et`,search:`Axtarışı konfiqurasiya et`,events:`Hadisə çatdırılmasını konfiqurasiya et`},providerTitle:`Provayder`,deploymentManaged:`Yerləşdirmə tərəfindən idarə olunur`,instanceManaged:`Nüsxə tərəfindən idarə olunur`,transfers:`Ötürmələr`,indexStatus:`İndeks statusu`,connection:`Bağlantı`,transfersS3:`Fayllar yerli olaraq yadda saxlanıldıqdan sonra obyekt yaddaşına köçürülür.`,transfersLocal:`Yeni fayllar PostgreSQL-də saxlanılır.`,searchBuiltIn:`Axtarış birbaşa PostgreSQL-də icra olunur.`,searchIndexed:`Tiket dəyişiklikləri arxa planda indeksləşdirilir.`,eventsConnection:`Bildirişlər istehlakçıları oyadır; PostgreSQL təkrar oxutma tarixçəsini saxlayır.`,builtIn:`Daxili`,connected:`Qoşulub`,upToDate:`Aktualdır`,status:{ready:`hazırdır`,transferring:`ötürülür`,indexing:`indeksləşdirilir`,connecting:`qoşulur`,unavailable:`əlçatan deyil`},pendingTransfers:`Gözləyən ötürmələr`,pendingRemain:`Ötürmə tamamlanana qədər bu fayllar PostgreSQL-dən əlçatan qalır.`,noPending:`Ötürülməyi gözləyən fayl yoxdur.`,bucket:`Bucket`,storageEndpoint:`Yaddaş ünvanı`,backup:`Ehtiyat nüsxə`,backupBuckets:`PostgreSQL-in və istinad edilən hər obyekt yaddaşı bucket-inin ehtiyat nüsxəsini çıxarın.`,backupDatabase:`Fayl baytları PostgreSQL ehtiyat nüsxənizə daxildir.`,fallback:`Ehtiyat variant`,fallbackDescription:`Xarici indeks geri qaldıqda və ya oflayn olduqda PostgreSQL axtarışı əlçatandır.`,searchEndpoint:`Axtarış ünvanı`,index:`İndeks`,delivery:`Çatdırılma`,deliveryDescription:`Davamlı hadisələr və təkrar oxutma PostgreSQL-də qalır. İstəyə bağlı broker oyanma siqnallarını paylayır.`,brokerEndpoint:`Broker ünvanı`,exchange:`Exchange`},configure:{storageTitle:`Fayl yaddaşını konfiqurasiya et`,searchTitle:`Tiket axtarışını konfiqurasiya et`,eventsTitle:`Hadisə çatdırılmasını konfiqurasiya et`,saved:`Nüsxə parametrləri yadda saxlanıldı`,instanceName:`Nüsxənin adı`,instanceDescription:`Nüsxənin təsviri`,publicUrlSource:`İctimai URL yerləşdirmənizdəki KANVIL_URL ilə təyin edilir.`,storageIntro:`Qoşmalar və profil şəkilləri bu provayderdən istifadə edir. Mövcud fayllar ilkin saxlanma yerində qalır.`,storageProvider:`Yaddaş provayderi`,localDescription:`Fayl baytları yerli verilənlər bazasında saxlanılır və PostgreSQL ehtiyat nüsxələrinə daxil edilir.`,s3Endpoint:`S3 ünvanı`,s3EndpointHint:`Amazon S3 üçün ünvanı boş saxlayın.`,region:`Region`,prefix:`Obyekt açarı prefiksi`,accessKeyId:`Giriş açarı ID-si`,secretAccessKey:`Gizli giriş açarı`,savedSecret:`Yadda saxlanılıb. Saxlamaq üçün boş buraxın.`,deploymentCredentials:`Göstərilmədikdə yerləşdirmənin giriş məlumatları`,pathStyle:`Yol üslublu bucket URL-lərindən istifadə et`,storageVerified:`Yaddaş bağlantısı təsdiqləndi`,testStorage:`Yaddaş bağlantısını yoxla`,filesWaiting_one:`{{count, number}} fayl ötürülməyi gözləyir. Gözləyən fayllar PostgreSQL-dən oxuna bilir.`,filesWaiting_other:`{{count, number}} fayl ötürülməyi gözləyir. Gözləyən fayllar PostgreSQL-dən oxuna bilir.`,transfersComplete:`Bütün fayl ötürmələri tamamlandı.`,storageDeployment:`Yaddaş KANVIL_STORAGE_PROVIDER və S3_* yerləşdirmə dəyişənləri ilə konfiqurasiya edilir.`,locations:`Mövcud saxlanma yerləri`,locationFiles_one:`{{count, number}} fayl`,locationFiles_other:`{{count, number}} fayl`,cleanUp:`İstifadə olunmayan faylları təmizlə`,cleanUpConfirm:`İstinad edilməyən fayllar və bir gündən köhnə uğursuz yükləmələr silinsin? Tiketlərə və ya profillərə qoşulmuş fayllar saxlanılır.`,cleanUpNote:`Təmizləmə həm də avtomatik işləyir. S3 obyektləri üçün verilənlər bazasının ehtiyat nüsxəsi ilə yanaşı bucket-in ehtiyat nüsxəsi lazımdır.`,searchProvider:`Axtarış provayderi`,searchBuiltIn:`Daxili PostgreSQL axtarışı`,indexName:`Kanvil indeksinin adı`,searchAuthentication:`Axtarış autentifikasiyası`,noAuthentication:`Autentifikasiya yoxdur`,apiKey:`API açarı`,basic:`İstifadəçi adı və şifrə`,searchApiKey:`Axtarış API açarı`,optional:`İstəyə bağlı`,searchUsername:`Axtarış istifadəçi adı`,searchPassword:`Axtarış şifrəsi`,searchVerified:`Axtarış bağlantısı təsdiqləndi`,testSearch:`Axtarış bağlantısını yoxla`,rebuildQueued:`Axtarışın yenidən qurulması növbəyə qoyuldu`,rebuild:`İndeksi yenidən qur`,searchNote:`İcazələr və filtrlər üçün PostgreSQL əsas mənbə olaraq qalır. Xarici indeks yenilənərkən və ya əlçatan olmadıqda axtarış PostgreSQL-ə keçir.`,brokerProvider:`Hadisə çatdırılması provayderi`,brokerBuiltIn:`Daxili PostgreSQL bildirişləri`,rabbitUrl:`RabbitMQ bağlantı URL-i`,savedBrokerEndpoint:`Yadda saxlanılmış broker ünvanı`,rabbitExchange:`RabbitMQ exchange`,brokerVerified:`RabbitMQ çatdırılması təsdiqləndi`,testBroker:`Broker bağlantısını yoxla`,brokerNote:`RabbitMQ təsdiqlənmiş hadisə oyanma siqnallarını Kanvil nüsxələrinə paylayır və arxa plan işçilərini oyadır. PostgreSQL davamlı hadisələri və gözləyən işləri saxlayır, broker əlçatan olmadıqda oyanma siqnallarını özü çatdırır.`,brokerDeployment:`Hadisə çatdırılması KANVIL_BROKER_PROVIDER və RABBITMQ_* yerləşdirmə dəyişənləri ilə konfiqurasiya edilir.`,save:`Nüsxə parametrlərini yadda saxla`},authentication:{title:`Autentifikasiya`,saved:`Autentifikasiya yadda saxlanıldı`,emailPassword:`E-poçt və şifrə ilə daxil olma`,emailPasswordDescription:`E-poçtla göndərilən daxil olma kodlarını və şifrə sıfırlamanı əhatə edir.`,ssoProvision:`SSO-dan istifadəçiləri avtomatik yarat`,ssoProvisionDescription:`Yeni SSO istifadəçilərinin dəvət edilənə qədər iş sahəsinə və ya layihəyə girişi olmur.`,registration:`İctimai e-poçt qeydiyyatı`,registrationClosed:`Bağlı`,identityProvider:`İdentiklik provayderi`,notConfigured:`Konfiqurasiya edilməyib`,linkedProviders:`Bağlı hesab provayderləri`,linkedProvidersDescription:`Yalnız onları bağlamış hesablarla daxil olmağa imkan verir; heç vaxt hesab yaratmır.`,save:`Autentifikasiyanı yadda saxla`,discoveryUrl:`OIDC kəşf URL-i`,clientId:`OIDC klient ID-si`,oidcSetup:`Yerləşdirmənizdə OIDC_DISCOVERY_URL, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET və OIDC_NAME dəyərlərini və ya GITHUB_, GOOGLE_ ya da DISCORD_ üçün CLIENT_ID və CLIENT_SECRET cütünü konfiqurasiya edin, sonra Kanvil-i yenidən başladın. Provayder sirləri heç vaxt brauzerə qaytarılmır.`,consumers:`İstehlakçı interfeysləri`,mcpEndpoint:`MCP ünvanı`,eventFeed:`Real vaxt hadisə lenti`,openApi:`Open API spesifikasiyası`},users:{title:`İstifadəçilər`,search:`İstifadəçilərdə axtar`,searchPlaceholder:`Ad və ya e-poçt…`,new:`Yeni istifadəçi`,roleFilter:`Nüsxə rolu filtri`,allRoles:`Bütün rollar`,administrators:`Administratorlar`,users:`İstifadəçilər`,statusFilter:`Hesab statusu filtri`,allAccounts:`Bütün hesablar`,active:`Aktiv`,disabled:`Deaktiv`,noMatches:`Uyğun istifadəçi yoxdur`,empty:`İstifadəçi yoxdur`,user:`İstifadəçi`,role:`Rol`,status:`Status`,joined:`Qoşulub`,actions:`Əməliyyatlar`,administrator:`Administrator`,manage:`{{name}} idarə et`,pagerNoun:`istifadəçilər`,create:`Hesab yarat`,creating:`Yaradılır…`,created:`{{email}} yaradıldı`,name:`Ad`,email:`E-poçt`,initialPassword:`İlkin şifrə`,instanceRole:`Nüsxə rolu`},account:{details:`Hesab məlumatları`,joined:`Qoşulub: {{date}}`,edit:`Hesabı redaktə et`,instanceRole:`Nüsxə rolu`,adminDescription:`Bütün iş sahələrini, hesabları və yerləşdirmə parametrlərini idarə edə bilər.`,userDescription:`Girişi iş sahəsi və layihə rolları müəyyən edir.`,changeRole:`Rolu dəyiş`,changeRoleTitle:`Nüsxə rolunu dəyiş`,signInMethods:`Daxil olma üsulları`,setPassword:`Yerli şifrə təyin et`,activeSessions:`Aktiv seanslar`,sessions_one:`{{count, number}} seans`,sessions_other:`{{count, number}} seans`,revokeSessions:`Seansları ləğv et`,revokeConfirm:`{{name}} bütün cihazlardan çıxarılsın? API açarları aktiv qalır.`,sessionsRevoked:`Seanslar ləğv edildi`,access:`Hesaba giriş`,accessDisabled:`Daxil olma və API girişi deaktiv edilib.`,accessPreserved:`Hesabın deaktiv edilməsi tiketləri və fəaliyyət tarixçəsini saxlayır.`,enable:`Hesabı aktivləşdir`,disable:`Hesabı deaktiv et`,enableConfirm:`{{name}} üçün daxil olma bərpa edilsin?`,disableConfirm:`{{name}} üçün daxil olma və API girişi deaktiv edilsin və seansları ləğv edilsin?`,enabled:`Hesab aktivləşdirildi`,disabledToast:`Hesab deaktiv edildi`,updateFailed:`Hesab yenilənə bilmədi`,workspaces:`İş sahələri`,addToWorkspace:`İş sahəsinə əlavə et`,noWorkspaces:`İş sahəsi üzvlüyü yoxdur`,projectAccess:`Birbaşa layihə girişi`,updated:`Hesab yeniləndi`,roleUpdated:`Nüsxə rolu yeniləndi`,workspaceAdded:`İş sahəsi girişi əlavə edildi`,passwordMismatch:`Yeni şifrələr uyğun gəlmir.`,passwordSet:`Yerli şifrə təyin edildi və seanslar ləğv edildi`,name:`Ad`,email:`E-poçt`,user:`İstifadəçi`,administrator:`Administrator`,adminsNote:`Administratorlar bütün iş sahələrini, istifadəçiləri və nüsxə parametrlərini idarə edə bilər.`,workspace:`İş sahəsi`,workspaceRole:`İş sahəsi rolu`,newPassword:`Yeni şifrə`,confirmPassword:`Yeni şifrəni təsdiqləyin`,passwordNote:`Bu, yerli şifrə təyin edir və istifadəçini bütün cihazlardan çıxarır.`,save:`Dəyişiklikləri yadda saxla`},delivery:{field:{address:`E-poçt ünvanı`,server:`Server`,topic:`Mövzu`,accessToken:`Giriş tokeni`,applicationToken:`Tətbiq tokeni`,endpointUrl:`Ünvan URL-i`,signingSecret:`İmzalama sirri`,incomingWebhookUrl:`Daxil olan webhook URL-i`,webhookUrl:`Webhook URL-i`,channel:`Kanal`,botToken:`Bot tokeni`,chatId:`Çat ID-si`,chatIdPlaceholder:`-1001234567890 və ya @channel`,topicId:`Mövzu ID-si`,optional:`{{label}} (istəyə bağlı)`,removeSaved:`Yadda saxlanılmış {{label, lowercase}} sil`,savedSecret:`Yadda saxlanılıb · saxlamaq üçün boş buraxın`},failure:{blockedAddress:`Bu ünvana icazə verilmir`,redirectBlocked:`Ünvan yönləndirmə etdi`,dnsError:`Host tapılmadı`,networkError:`Qoşulmaq mümkün olmadı`,timeout:`Vaxt bitdi`,invalidEndpoint:`Yanlış ünvan`,emailUnavailable:`Bu serverdə e-poçt konfiqurasiya edilməyib`,smtpError:`Poçt serveri əlçatan deyil`,accessRevoked:`Onu qoşan administrator girişini itirib; yenidən qoşun`,repositoryMismatch:`Çatdırılma başqa repozitoridən gəldi`,http:`HTTP {{status}} ilə rədd edildi`,smtp:`Poçt serveri {{code}} cavabını verdi`},health:{delivery:{done:`Çatdırıldı: <time/>`,pending:`Göndərilir…`,none:`Hələ heç nə göndərilməyib`,failed:`{{reason}}`},access:{done:`Giriş yoxlanıldı: <time/>`,pending:`Giriş yoxlanılır…`,none:`Giriş yoxlanılmayıb`,failed:`Giriş yoxlaması: {{reason}}`},retrying:`yenidən cəhd edilir`},paused:`Dayandırılıb`,failing:`Uğursuz olur`,sendTest:`{{name}} üçün test göndər`,testQueued:`Test növbəyə qoyuldu`,resume:`{{name}} davam etdir`,pause:`{{name}} dayandır`,edit:`{{name}} redaktə et`,disconnect:`{{name}} ayır`,disconnected:`{{name}} ayrıldı`,name:`Ad`,type:`Tip`,channels:`Kanallar`,addChannel:`Kanal əlavə et`,noChannels:`Kanal yoxdur`,editChannel:`Kanalı redaktə et`,channelSaved:`Kanal yadda saxlanıldı`,channelRemoval:`{{name}} ayrılsın? Onun parametrləri və növbədəki bildirişləri silinəcək.`,sendFrom:`Bildirişləri buradan göndər`,routeOff:`Heç nə`,routeAll:`Bütün layihələr`,routeSelected:`Seçilmiş layihələr`,saveChannel:`Kanalı yadda saxla`,adminsOnly:`İnteqrasiyaları layihə administratorları idarə edir`,destinations:`Təyinatlar`,addDestination:`Təyinat əlavə et`,noDestinations:`Təyinat yoxdur`,editDestination:`Təyinatı redaktə et`,destinationSaved:`Təyinat yadda saxlanıldı`,destinationRemoval:`{{name}} ayrılsın? Onun parametrləri və növbədəki mesajları silinəcək.`,send:`Göndər`,saveDestination:`Təyinatı yadda saxla`},repository:{setup:{github:`Tokenin repozitoriyə oxuma girişi, şərh yazmaq və ya məsələləri sinxronlaşdırmaq üçün isə issue və pull request yazma girişi olmalıdır. Bu repozitorinin sətrindən kopyalanan URL, application/json məzmun tipi, bu sirr və Branch or tag creation, Branch or tag deletion, Issues, Issue comments və Pull requests hadisələri ilə GitHub webhooku əlavə edin.`,gitea:`Tokenə read:repository əhatəsi, şərh yazmaq və ya məsələləri sinxronlaşdırmaq üçün isə write:issue lazımdır. Bu repozitorinin sətrindən kopyalanan URL, application/json məzmun tipi, bu sirr və Create, Delete, Issues, Issue Label, Issue Comment və Pull Request hadisələri ilə Gitea webhooku əlavə edin.`,gitlab:`Tokenə read_api əhatəsi, şərh yazmaq və ya məsələləri sinxronlaşdırmaq üçün isə api lazımdır. Bu repozitorinin sətrindən kopyalanan URL, bu gizli token və Push, Issues, Comments və Merge request hadisələri ilə GitLab webhooku əlavə edin.`},noWebhook:`Webhook alınmayıb`,webhookReceived:`Webhook alındı: <time/>`,saved:`Repozitori yadda saxlanıldı`,title:`Repozitorilər`,connect:`Repozitori qoş`,empty:`Repozitori yoxdur`,checkAccess:`{{repository}} girişini yoxla`,accessQueued:`Giriş yoxlaması növbəyə qoyuldu`,copyWebhook:`{{repository}} üçün webhook URL-ini kopyala`,issueSync:`{{repository}} üçün məsələ sinxronizasiyası`,removal:`{{repository}} ayrılsın? Onun webhooku dərhal işləməyi dayandırır. Onun əlavə etdiyi keçidlər tiketlərdə qalır.`,edit:`Repozitorini redaktə et`,host:`Host`,serverUrl:`Server URL-i`,serverUrlOptional:`Server URL-i (istəyə bağlı)`,repository:`{{host}} repozitorisi`,nestedPlaceholder:`group/project`,placeholder:`owner/repository`,accessToken:`Giriş tokeni`,webhookSecret:`Webhook sirri`,savedSecret:`Yadda saxlanılıb · saxlamaq üçün boş buraxın`,commentOnLink:{pull_request:`Yeni bağlanmış məsələlərə və pull request-lərə şərh yaz`,merge_request:`Yeni bağlanmış məsələlərə və merge request-lərə şərh yaz`},moveTickets:`Bağlı tiketləri köçür`,noMove:`Köçürmə yoxdur`,save:`Repozitorini yadda saxla`},issueSync:{reason:{labels:`Onun sinxronizasiya etiketləri dəyişdi`,conflict:`Hər iki tərəfdə dəyişdirilib`,changedWhilePaused:`Repozitori dayandırılmış ikən məsələ dəyişdi`,unverified:`Hostun cavabı dəyişikliyi təsdiqləmədi`,claimConflict:`Tiket götürülüb`,invalidContent:`Məsələ tiketin icazə verdiyindən uzundur`},issuesSyncing_one:`{{count, number}} məsələ sinxronlaşdırılır`,issuesSyncing_other:`{{count, number}} məsələ sinxronlaşdırılır`,linksStopped_one:`{{count, number}} bağlantı dayandı`,linksStopped_other:`{{count, number}} bağlantı dayandı`,match:`Uyğunluq`,matchAny:`Bu etiketlərdən hər hansı biri`,matchAll:`Bu etiketlərin hamısı`,preview:{matching:`Sinxronizasiyanı davam etdir`,export:`Yaradılacaq yeni məsələlər`,pause:`Dayandırılacaq bağlantılar`,review:`Yoxlanılacaq bağlantılar`},applied:`Məsələ sinxronizasiyası tətbiq edildi`,title:`Məsələ sinxronizasiyası · {{repository}}`,outbound:`Kanvil → {{host}}`,exportTickets:`Tiketləri məsələ kimi ixrac et`,exportDescription:`Açıq tiketlər üçün yeni məsələ yaradılır; başlıq, təsvir, vəziyyət və yeni şərhlər uyğun saxlanılır.`,ticketLabels:`Yalnız bu etiketləri olan tiketlər`,everyTicket:`Bütün açıq tiketlər`,inbound:`{{host}} → Kanvil`,importIssues:`Məsələləri tiket kimi idxal et`,importDescription:`Açıq məsələlər {{host}} onları növbəti dəfə bildirəndə idxal edilir.`,issueLabels:`Yalnız bu etiketləri olan məsələlər`,everyIssue:`Bütün açıq məsələlər`,previewLabel:`Önizləmə`,previewAction:`Önizlə`,stopped:`Dayanmış bağlantılar · {{repository}}`,review:`Yoxla`,linkRemoved:`Bağlantı silindi`,resumed:`Sinxronizasiya bərpa edildi`,open:`Açıq`,closed:`Bağlı`,reviewTitle:`{{key}} yoxla`,mayExist:`{{host}}-da bu məsələ artıq ola bilər; yenidən yaratmazdan əvvəl yoxlayın.`,comparison:`Müqayisə`,field:{title:`başlıq`,description:`təsvir`,state:`vəziyyət`},notReported:`Bildirilməyib`,unlink:`Bağlantını kəs`,keepHost:`{{host}} versiyasını saxla`,keepKanvil:`Kanvil versiyasını saxla`,createAgain:`Məsələni yenidən yarat`,unlinkTicket:`{{key}} bağlantısını kəs`,unlinkConfirm:`{{key}} sinxronizasiyası dayandırılsın? Tiket də, məsələ də qalır.`},import:{count:{tickets:`Tiketlər`,workflow:`İş axını vəziyyətləri`,fields:`Fərdi sahələr`,labels:`Etiketlər`,relations:`Əlaqələr`,comments:`Şərhlər`,evidence:`Sübutlar`,links:`Keçidlər`},notExport:`Bu fayl Kanvil tiket ixracı deyil.`,progress_one:`{{status}} · {{count, number}} qeyddən {{done, number}}`,progress_other:`{{status}} · {{count, number}} qeyddən {{done, number}}`,progressFailed_one:`{{status}} · {{count, number}} qeyddən {{done, number}} · {{failed, number}} uğursuz`,progressFailed_other:`{{status}} · {{count, number}} qeyddən {{done, number}} · {{failed, number}} uğursuz`,title:`İdxal`,description:`Kanvil tiket ixracından və ya başqa izləmə sistemindən layihə yaradır: Linear, Jira, Trello, Plane, PLANKA və ya Kaneo.`,action:`Layihəni idxal et`,detailsOf:`{{name}} məlumatları`,details:`Məlumatlar`,exportFile:`Kanvil ixrac faylı`,source:`Mənbə`,file:`İxrac faylı`,jiraEdition:`Jira versiyası`,siteUrl:`Sayt URL-i`,accountEmail:`Hesab e-poçtu`,apiKey:`API açarı`,apiToken:`API tokeni`,personalToken:`Şəxsi giriş tokeni`,token:`Token`,apiUrl:`API URL-i`,workspaceSlug:`İş sahəsinin URL açarı`,signInWith:`Giriş üsulu`,username:`İstifadəçi adı və ya e-poçt`,password:`Şifrə`,checkConnection:`Bağlantı məlumatlarını yoxlayın`,noProjects:`Bu giriş məlumatları heç bir {{label, lowercase}} oxuya bilmir.`,includeComments:`Şərhləri daxil et`,projectName:`Layihənin adı`,start:`İdxal et`,connect:`Qoş`,preview:`Önizlə`,starting:`Başladılır…`,connecting:`Qoşulur…`,checking:`Yoxlanılır…`,matched:`Uyğunlaşdırılmış şəxslər`,unmatched:`Uyğunlaşdırılmamış şəxslər`,previewLabel:`İdxal önizləməsi`,errorPrefix:`Xəta: `,notePrefix:`Qeyd: `,progressLabel:`İdxal gedişatı`,notImported:`İdxal edilməyən qeydlər`,stop:`İdxalı dayandır`,openProject:`Layihəni aç`}},native:{labelValue:`{{label}}: {{value}}`,ui:{dismiss:`Bağla`,loading:`Yüklənir`},server:{url:`Server URL-i`,connect:`Qoş`,change:`Serveri dəyiş`,invalidOrigin:`Kanvil serverinizin yol və ya giriş məlumatları olmadan HTTP və ya HTTPS mənbəyindən istifadə edin.`,httpsRequired:`Kanvil serverinizə qoşulmaq üçün HTTPS-dən istifadə edin.`},login:{setupTitle:`Sahib hesabınızı yaradın`,signIn:`Daxil ol`,signingIn:`Daxil olunur…`,createAccount:`Hesab yarat`,signInWith:`{{provider}} ilə daxil ol`,name:`Ad`,setupToken:`Quraşdırma tokeni`,email:`E-poçt`,password:`Şifrə`},connection:{connecting:`qoşulur`,connected:`● Canlı`,offline:`Oflayn · keşlənmiş məlumat`,closed:`bağlıdır`,signedOut:`Yenidən qoşulmaq üçün daxil olun`},screen:{projects:`Layihələr`,inbox:`Gələnlər`,settings:`Parametrlər`,tickets:`Tiketlər`,ticket:`Tiket`,newTicket:`Yeni tiket`,editTicket:`Tiketi redaktə et`},projects:{empty:`Hələ layihə yoxdur`,new:`Yeni layihə`,name:`Layihənin adı`,prefix:`Tiket prefiksi`,description:`Təsvir`,create:`Layihə yarat`},tickets:{search:`Tiketlərdə axtar`,searchPlaceholder:`Başlıq, təsvir və ya açar`,allStatuses:`Bütün statuslar`,empty:`Uyğun tiket yoxdur`,count:`{{shown}} / {{total}}`},ticket:{priority:`Prioritet: {{priority}}`,noDifficulty:`Çətinlik göstərilməyib`,version:`v{{version}}`,starts:`Başlayır: {{date}}`,due:`Son tarix: {{date}}`},editor:{stale:`Bu tiket dəyişib. Yadda saxlanılmış qaralamanız hələ {{version}} versiyasından istifadə edir.`,discardDraft:`Qaralamanı at və yenidən yüklə`,title:`Başlıq`,noDifficulty:`Göstərilməyib`,labels:`Etiketlər (vergüllə ayrılmış)`,scopes:`Əhatələr (vergüllə ayrılmış)`,editMarkdown:`Markdown-u redaktə et`,previewMarkdown:`Markdown önizləməsi`,description:`Təsvir (Markdown)`,acceptanceCriteria:`Qəbul meyarları (Markdown)`,parent:`Valideyn tiketin ID-si`,automationReady:`Tələblər və asılılıqlar imkan verdikdə agentlər üçün hazırdır`,holdReason:`Gözləmə səbəbi`,draftSaved:`Qaralama bu cihazda yadda saxlanıldı`,save:`Tiketi yadda saxla`},detail:{archived:`Arxivləşdirilib`,subscribe:`Abunə ol`,unsubscribe:`Abunəlikdən çıx`,share:`Paylaş`,description:`Təsvir`,noDescription:`_Təsvir yoxdur_`,acceptanceCriteria:`Qəbul meyarları`,noAcceptanceCriteria:`_Qəbul meyarları yoxdur_`,fields:`Sahələr`,archive:{action:`Tiketi arxivləşdir`,title:`Tiket arxivləşdirilsin?`,message:`Bu tiket aktiv siyahılardan və agentlər üçün uyğunluqdan çıxarılsın?`},unarchive:{action:`Tiketi arxivdən çıxar`,title:`Tiket arxivdən çıxarılsın?`,message:`Bu tiket aktiv siyahılara qaytarılsın?`}},readiness:{title:`Agent hazırlığı`,ready:`Götürməyə hazırdır`,notReady:`Götürməyə hazır deyil`,hold:`Gözləmə: {{reason}}`,claimed:`{{time}} vaxtınadək {{worker}} tərəfindən götürülüb.`,release:{action:`Götürməmi burax`,title:`Götürmə buraxılsın?`,message:`Sahibliyi buraxmazdan əvvəl işçinizi dayandırın.`,confirm:`Burax`},recover:{action:`Müddəti bitmiş götürməni bərpa et`,explanation:`Müddəti bitmiş götürməni yalnız layihə administratoru bərpa edə bilər. Əvvəlcə işçinin dayandığını təsdiqləyin.`,reason:`Bərpa səbəbi`,confirm:`İşçi dayandı · bərpa et`}},relations:{title:`Əlaqələr`,parent:`Valideyn · {{key}} · {{title}}`,openParent:`Valideyn tiketi aç`,children:`Alt tiketlər`,previousChildren:`Əvvəlki alt tiketlər`,nextChildren:`Növbəti alt tiketlər`,remove:`Əlaqəni sil`,removeTitle:`Əlaqə silinsin?`,add:`Əlaqə əlavə et`,find:`Tiket tap`,type:`Əlaqə`,ticket:`Tiket`,choose:`Tiket seçin`},discussion:{title:`Müzakirə`,previous:`Əvvəlki şərhlər`,next:`Növbəti şərhlər`,field:`Şərh (Markdown)`,submit:`Şərh yaz`,you:`Siz`,edit:`Şərhi redaktə et`,editField:`Şərh`,delete:`Şərhi sil`,deleteTitle:`Şərh silinsin?`,deleteMessage:`Bu şərh həmişəlik silinsin?`,save:`Şərhi yadda saxla`},attachments:{title:`Qoşmalar`,item:`{{name}} · {{size}} kB`,remove:`{{name}} sil`,removeTitle:`Qoşma silinsin?`,working:`İcra olunur…`,add:`Qoşma əlavə et`,tooLarge:`10 MB-dan böyük olmayan fayl seçin.`,sharingUnavailable:`Bu cihazda fayl paylaşımı əlçatan deyil.`},evidence:{title:`Sübutlar`,explanation:`Nəticələri onları təqdim edən hesablar bildirir.`,add:`Sübut əlavə et`,name:`Başlıq`,url:`URL`,outcome:`Bildirilən nəticə`,commit:`Commit (tam hash)`,note:`Qeyd`,save:`Sübutu yadda saxla`},activity:{title:`Fəaliyyət`,previous:`Əvvəlki fəaliyyət`,next:`Növbəti fəaliyyət`},inbox:{markAllRead:`Hamısını oxunmuş kimi qeyd et`,empty:`Bildiriş yoxdur`},notifications:{title:`Bildirişlər`,inApp:`Abunə olunmuş tiket yenilikləri Gələnlərdə`,push:`Push bildirişləri`,enableDevice:`Bu cihazda push-u aktivləşdir`,disableDevice:`Bu cihazda push-u deaktiv et`,unconfigured:`Bu quraşdırma push üçün Expo layihə ID-si və imzalama konfiqurasiyası tələb edir.`,noProjectId:`Bu quraşdırma push bildirişləri üçün Expo layihə ID-si tələb edir.`,permissionDenied:`Push-u aktivləşdirmək üçün cihaz parametrlərində bildirişlərə icazə verin.`,channel:`Tiket yenilikləri`},settings:{password:{title:`Yerli şifrə`,current:`Cari şifrə`,new:`Yeni şifrə`,change:`Şifrəni dəyiş`,updated:`Şifrə yeniləndi; digər seanslar ləğv edildi`},oidc:{linked:`Hesab bağlandı`,explanation:`Bu provayderlə daxil olmazdan əvvəl bu hesabı bağlayın.`,link:`{{provider}} bağla`},signOut:{action:`Çıxış et`,title:`Çıxış edilsin?`,message:`Bu hesabın keşlənmiş tiketləri və qaralamaları bu cihazdan silinəcək.`},changeServer:{title:`Server dəyişdirilsin?`,message:`Çıxış edilsin və bu hesabın yerli keşi və qaralamaları təmizlənsin?`}}}};export{e as default};
@@ -1 +0,0 @@
1
- var e={common:{status:{backlog:`Backlog`,todo:`Zu erledigen`,in_progress:`In Arbeit`,in_review:`In Prüfung`,done:`Erledigt`,cancelled:`Abgebrochen`},priority:{urgent:`Dringend`,high:`Hoch`,medium:`Mittel`,low:`Niedrig`,none:`Keine Priorität`},kind:{feature:`Funktion`,bug:`Fehler`,chore:`Wartung`,research:`Recherche`,documentation:`Dokumentation`},difficulty:{low:`Niedrig`,med:`Mittel`,high:`Hoch`,none:`Keine Schwierigkeit`},role:{reader:`Nur lesen`,writer:`Kann bearbeiten`,admin:`Admin`},permission:{ticket:{write:{label:`Tickets bearbeiten`,description:`Tickets erstellen, bearbeiten, verschieben, übernehmen und kommentieren; Projekte erstellen`},delete:{label:`Tickets löschen`,description:`Tickets endgültig löschen`}},project:{manage:{label:`Projekte verwalten`,description:`Projektdetails, Workflow, Labels, Felder, Integrationen und Lebenszyklus`}},member:{manage:{label:`Mitglieder verwalten`,description:`Mitglieder hinzufügen, ändern und entfernen`}},invitation:{manage:{label:`Einladungen verwalten`,description:`Personen per E-Mail einladen`}},sharing:{manage:{label:`Freigaben verwalten`,description:`Öffentliche Nur-Lese-Links und Kalender-Feeds`}},workspace:{manage:{label:`Arbeitsbereich verwalten`,description:`Details des Arbeitsbereichs, gemeinsame Labels und Rollen`}}},customFieldType:{text:`Text`,number:`Zahl`,date:`Datum`,checkbox:`Kontrollkästchen`,select:`Auswahl`,multiselect:`Mehrfachauswahl`},customField:{removedOption:`Entfernte Option`,checked:`Ja`},filterField:{status:`Status`,priority:`Priorität`,kind:`Art`,difficulty:`Schwierigkeit`,label:`Label`,assigneeId:`Bearbeiter`,customField:`Feld`},sort:{priority:`Priorität`,updated:`Zuletzt aktualisiert`,created:`Zuletzt erstellt`,title:`Titel`,labels:`Labels`,due:`Fälligkeitsdatum`,start:`Startdatum`,number:`Ticketnummer`,status:`Status`,difficulty:`Schwierigkeit`,kind:`Art`,assignee:`Bearbeiter`,manual:`Manuell`},due:{overdue:`Überfällig`,today:`Heute fällig`,week:`Diese Woche fällig`,scheduled:`Mit Fälligkeitsdatum`,none:`Kein Fälligkeitsdatum`},relation:{blocks:{outgoing:`Blockiert`,incoming:`Wird blockiert von`},related:{outgoing:`Verwandt mit`,incoming:`Verwandt mit`},duplicate:{outgoing:`Dupliziert`,incoming:`Wird dupliziert von`},causes:{outgoing:`Verursacht`,incoming:`Wird verursacht von`},clones:{outgoing:`Klont`,incoming:`Wird geklont von`},implements:{outgoing:`Implementiert`,incoming:`Wird implementiert von`},reviews:{outgoing:`Prüft`,incoming:`Wird geprüft von`}},remoteKind:{branch:`Branch`,pull_request:`Pull Request`,issue:`Issue`},notificationCategory:{assignment:`Zuweisungen`,status:`Statusänderungen`,comment:`Kommentare`,mention:`Erwähnungen`,update:`Sonstige Aktualisierungen`,due_soon:`Bald fällig`,overdue:`Überfällig`},destinationEvent:{created:`Neue Tickets`},deliveryKind:{email:`E-Mail`,webhook:`Webhook`},change:{pull_request:{name:`Pull Request`,opened:`Pull Request geöffnet`,draft:`Pull-Request-Entwurf`,merged:`Pull Request gemergt`,closed:`Pull Request ohne Merge geschlossen`},merge_request:{name:`Merge Request`,opened:`Merge Request geöffnet`,draft:`Merge-Request-Entwurf`,merged:`Merge Request gemergt`,closed:`Merge Request ohne Merge geschlossen`},branchCreated:`Branch erstellt`},issueLinkState:{active:`Wird synchronisiert`,paused:`Pausiert`,review:`Prüfung erforderlich`,creating:`Issue wird erstellt`,unknown:`Erstellung unbestätigt`},importStatus:{previewed:`Bereit zum Import`,running:`Wird importiert`,completed:`Importiert`,failed:`Fehlgeschlagen`,cancelled:`Abgebrochen`},importProvider:{linear:{project:`Team`,setup:`Erstellen Sie in Linear unter Settings › Security & access einen persönlichen API-Schlüssel; Lesezugriff genügt.`},jira:{project:`Projekt`,setup:`Jira Cloud meldet sich mit der E-Mail-Adresse Ihres Kontos und einem API-Token von id.atlassian.com an; Data Center und Server verwenden ein persönliches Zugriffstoken. Browse-Zugriff auf das Projekt genügt.`},trello:{project:`Board`,setup:`Verwenden Sie den API-Schlüssel eines Power-Ups, das Sie unter trello.com/power-ups/admin verwalten, und ein dafür erstelltes Token; Lesezugriff genügt.`},plane:{project:`Projekt`,setup:`Erstellen Sie in Plane unter Profile settings › Personal access tokens ein persönliches Zugriffstoken. Die API-Adresse von Plane Cloud ist https://api.plane.so; der URL-Schlüssel des Arbeitsbereichs ist der erste Teil seiner Webadresse.`},planka:{project:`Board`,setup:`Melden Sie sich mit einem PLANKA-Konto an, das das Board öffnen kann; die von Kanvil geöffnete Sitzung endet mit dem Lesevorgang. Administratoren von PLANKA 2 können stattdessen API-Schlüssel ausstellen.`},kaneo:{project:`Projekt`,setup:`Erstellen Sie in Kaneo unter Settings › Account › Developer einen API-Schlüssel.`}},plankaSignIn:{password:`Benutzername und Passwort`,api_key:`API-Schlüssel`},jiraEdition:{cloud:`Cloud`,data_center:`Data Center oder Server`},event:{label:{created:`Label erstellt`,updated:`Label aktualisiert`,deleted:`Label gelöscht`},workflow:{created:`Workflow-Zustand hinzugefügt`,updated:`Workflow-Zustand geändert`,deleted:`Workflow-Zustand entfernt`},custom_field:{created:`Feld erstellt`,updated:`Feld aktualisiert`,deleted:`Feld gelöscht`},ticket:{created:`Ticket erstellt`,updated:`Ticket aktualisiert`,deleted:`Ticket gelöscht`,moved:`Aus einem anderen Projekt verschoben`,moved_away:`In ein anderes Projekt verschoben`,due_soon:`Bald fällig`,overdue:`Überfällig`,claimed:`Arbeit übernommen`},claim:{renewed:`Übernahme verlängert`,released:`Übernahme freigegeben`,recovered:`Übernahme wiederhergestellt`},comment:{created:`Kommentar hinzugefügt`,updated:`Kommentar bearbeitet`,deleted:`Kommentar gelöscht`},relation:{added:`Beziehung hinzugefügt`,removed:`Beziehung entfernt`},attachment:{created:`Datei angehängt`,deleted:`Datei entfernt`},evidence:{added:`Nachweis angehängt`},resource:{added:`Link hinzugefügt`,updated:`Link bearbeitet`,removed:`Link entfernt`},calendar_feed:{created:`Kalender-Feed erstellt`,revoked:`Kalender-Feed widerrufen`},project:{created:`Projekt erstellt`,updated:`Projekt aktualisiert`,archived:`Projekt archiviert`,restored:`Projekt wiederhergestellt`,transferred:`Projekt in einen anderen Arbeitsbereich verschoben`,deleted:`Projekt gelöscht`},membership:{updated:`Projektzugriff geändert`},workspace:{owner_changed:`Inhaber des Arbeitsbereichs geändert`},role:{created:`Rolle erstellt`,updated:`Rolle geändert`,deleted:`Rolle gelöscht`},invitation:{updated:`Einladung geändert`},destination:{created:`Ziel hinzugefügt`,updated:`Ziel geändert`,deleted:`Ziel entfernt`},repository:{connected:`Repository verbunden`,updated:`Repository-Verbindung geändert`,disconnected:`Repository getrennt`,received:`Repository-Webhook empfangen`},issue_link:{updated:`Issue-Synchronisierung geändert`}},error:{network:`Kanvil ist nicht erreichbar. Prüfen Sie Ihre Verbindung und versuchen Sie es erneut.`,fallback:`Die Anfrage konnte nicht abgeschlossen werden`,input:`Eingabe`,code:{unauthorized:`Melden Sie sich an, um fortzufahren.`,session_required:`Verwenden Sie für diese Aktion ein angemeldetes Konto.`,account_disabled:`Dieses Konto ist deaktiviert.`,forbidden:`Sie haben keine Berechtigung dafür.`,insufficient_scope:`Diese Zugangsdaten erlauben diese Aktion nicht.`,workspace_scope_required:`Verwenden Sie für diese Aktion ein Konto mit Zugriff auf den Arbeitsbereich.`,invalid_origin:`Dieser Ursprung ist nicht zulässig.`,not_found:`Dieses Element wurde nicht gefunden oder ist für Sie nicht sichtbar.`,version_conflict:`Dies wurde seit dem Laden geändert. Laden Sie neu und versuchen Sie es erneut.`,claim_conflict:`Ein anderer Worker hat dieses Ticket übernommen.`,idempotency_conflict:`Diese Anfrage wurde bereits für eine andere Änderung verwendet.`,project_archived:`Stellen Sie das archivierte Projekt wieder her, bevor Sie es ändern.`,rate_limited:`Zu viele Änderungen in kurzer Zeit. Warten Sie und versuchen Sie es erneut.`,snapshot_required:`Der Live-Feed ist zurückgefallen. Laden Sie neu, um fortzufahren.`,request_failed:`Die Anfrage konnte nicht abgeschlossen werden`}},action:{add:`Hinzufügen`,apply:`Anwenden`,back:`Zurück`,cancel:`Abbrechen`,clear:`Leeren`,close:`Schließen`,confirm:`Bestätigen`,continue:`Weiter`,copy:`Kopieren`,create:`Erstellen`,delete:`Löschen`,done:`Fertig`,edit:`Bearbeiten`,open:`Öffnen`,remove:`Entfernen`,rename:`Umbenennen`,reset:`Zurücksetzen`,retry:`Erneut versuchen`,save:`Speichern`,search:`Suchen`},state:{copied:`Kopiert`,loading:`Wird geladen…`,saved:`Gespeichert`,saving:`Wird gespeichert…`,none:`Keine`,unassigned:`Nicht zugewiesen`},evidenceKind:{pull_request:`Pull Request`,test:`Test`,review:`Review`,deployment:`Deployment`,device:`Gerät`,other:`Sonstiges`},evidenceOutcome:{reported:`Gemeldet`,pending:`Ausstehend`,passed:`Bestanden`,failed:`Fehlgeschlagen`},readinessReason:{project_archived:`Das Projekt ist archiviert`,not_open:`Das Ticket muss in einem Zustand der Kategorie „Zu erledigen“ und nicht archiviert sein`,not_enabled:`Agentenarbeit wurde nicht aktiviert`,missing_description:`Beschreibung hinzufügen`,missing_acceptance_criteria:`Akzeptanzkriterien hinzufügen`,missing_difficulty:`Schwierigkeit wählen`,duplicate:`Dieses Ticket ist als Duplikat markiert`,claim_recovery_required:`Bestätigen Sie, dass der vorherige Worker gestoppt hat, bevor Sie die Übernahme wiederherstellen`,claimed:`Übernommen von {{worker}}`,dependency:`{{key}} ist nicht abgeschlossen`},person:{deleted:`Gelöschtes Konto`,former:`Ehemaliges Mitglied`},signIn:{codeTitle:`Mit einem Code anmelden`,resetTitle:`Passwort zurücksetzen`,codeSent:`Falls {{email}} ein Konto hat, ist ein Code unterwegs. Er läuft in 10 Minuten ab.`,code:`Code`,newPassword:`Neues Passwort`,sendCode:`Code per E-Mail senden`,back:`Zurück zur Anmeldung`,resend:`Code erneut senden`,resent:`Code erneut gesendet`,emailCode:`Anmeldecode per E-Mail senden`,forgot:`Passwort vergessen?`,resetDone:`Passwort zurückgesetzt. Melden Sie sich mit dem neuen Passwort an.`,resetDoneTitle:`Passwort zurückgesetzt`,resetDoneBody:`Melden Sie sich mit dem neuen Passwort an.`,invalidCode:`Dieser Code ist falsch, bereits verwendet oder abgelaufen. Senden Sie ihn erneut, um einen gültigen Code zu erhalten.`,localPassword:`Lokales Passwort`},language:{label:`Sprache`,system:`Systemstandard`}},shell:{ui:{showValue:`{{label}} anzeigen`,hideValue:`{{label}} ausblenden`,previousPage:`Vorherige {{noun}}`,nextPage:`Nächste {{noun}}`,pageRange:`{{from}}–{{to}} von {{total}}`,priority:`Priorität {{label}}`,working:`Wird ausgeführt…`,searchPlaceholder:`Suchen…`,clearValue:`{{label}} leeren`,copyValue:`{{label}} kopieren`,copied:`{{value}} kopiert`},documentTitle:`{{name}} · Kanvil`,openKanvil:`Kanvil öffnen`,page:{home:`Start`,myWork:`Meine Arbeit`,inbox:`Posteingang`,search:`Suche`,settings:`Einstellungen`,planning:`Planung`,ticket:`Ticket`,tickets:`Tickets`,projects:`Projekte`},connection:{restored:`Verbindung wiederhergestellt`,lost:`Verbindung unterbrochen`,reconnecting:`Verbindung wird wiederhergestellt…`,reload:`Neu laden`,signIn:`Zum erneuten Verbinden anmelden`},app:{skipToContent:`Zum Inhalt springen`,assigned:`Ihnen zugewiesen`,openCount_one:`{{count, number}} offen`,openCount_other:`{{count, number}} offen`,noAssigned:`Keine offenen Tickets, die Ihnen zugewiesen sind`,allInMyWork_one:`Alle {{count, number}} in Meine Arbeit`,allInMyWork_other:`Alle {{count, number}} in Meine Arbeit`,openMyWork:`Meine Arbeit öffnen`,recentActivity:`Letzte Aktivität`,noActivity:`Noch keine Aktivität`,searchProjects:`Projekte suchen`,projectCount_one:`{{count, number}} Projekt`,projectCount_other:`{{count, number}} Projekte`,noMatchingProjects:`Keine passenden Projekte`,clearSearch:`Suche leeren`,noWorkspaces:`Noch keine Arbeitsbereiche`,noActiveProjects:`Keine aktiven Projekte`,noProjects:`Noch keine Projekte`,archivedProjects:`Archivierte Projekte`,archived:`Archiviert`,noOpenTickets:`Keine offenen Tickets`,overdueCount_one:`{{count, number}} überfällig`,overdueCount_other:`{{count, number}} überfällig`,percentDone:`{{percent}} erledigt`,nextDue:`nächste Fälligkeit <time/>`,projectSettingsFor:`Projekteinstellungen für {{name}}`,pageNotFound:`Seite nicht gefunden`,openHome:`Startseite öffnen`,tryAgain:`Erneut versuchen`,adminRequired:`Administratorzugriff auf die Instanz erforderlich`,projectNotFound:`Projekt nicht gefunden`,noWorkspaceSelected:`Kein Arbeitsbereich ausgewählt`},auth:{signIn:`Anmelden`,createOwner:`Inhaberkonto erstellen`,ownerHint:`Das erste Konto verwaltet diese Instanz.`,invitedHint:`Melden Sie sich mit der eingeladenen E-Mail-Adresse an, um die Einladung anzunehmen.`,signInWith:`Mit {{provider}} anmelden`,useEmail:`E-Mail und Passwort verwenden`,or:`oder`,name:`Name`,setupToken:`Einrichtungstoken`,setupTokenHint:`Verwenden Sie KANVIL_SETUP_TOKEN aus der Konfiguration Ihrer Instanz.`,email:`E-Mail`,password:`Passwort`,signingIn:`Anmeldung läuft…`,createAccount:`Konto erstellen`,consent:{expired:`Die Autorisierungsanfrage ist abgelaufen. Verbinden Sie Ihren Client erneut.`,title:`{{client}} autorisieren`,titleUnnamed:`Client autorisieren`,subtitle:`Dieser Client fordert Zugriff als Ihr Konto an. Projektberechtigungen gelten weiterhin.`,deny:`Ablehnen`,allow:`Zugriff erlauben`},invitation:{unavailable:`Einladung nicht verfügbar`,join:`{{workspace}} beitreten`,invited:`Eingeladen`,from:`Von`,access:`Zugriff`,removedProjects:`Entfernte Projekte`,wholeWorkspace:`Gesamter Arbeitsbereich`,expires:`Läuft ab`,expired:`Diese Einladung ist abgelaufen. Bitten Sie eine Administratorin oder einen Administrator des Arbeitsbereichs um eine neue Einladung.`,revoked:`Diese Einladung wurde widerrufen. Bitten Sie eine Administratorin oder einen Administrator des Arbeitsbereichs um eine neue Einladung.`,accepted:`Diese Einladung wurde bereits angenommen. Bitten Sie eine Administratorin oder einen Administrator des Arbeitsbereichs um eine neue Einladung.`,wrongAccount:`Sie sind als <account>{{current}}</account> angemeldet. Melden Sie sich als {{invited}} an, um anzunehmen.`,signOut:`Abmelden`,joined:`{{workspace}} beigetreten`,accept:`Einladung annehmen`},callback:{cancelled:`Die Anmeldung wurde abgebrochen. Versuchen Sie es erneut, wenn Sie bereit sind.`,linkedElsewhere:`Diese Identität ist bereits mit einem anderen Kanvil-Konto verknüpft. Verwenden Sie eine andere Identität oder wenden Sie sich an Ihre Administration.`,notLinked:`Diese Identität ist mit keinem Kanvil-Konto verknüpft. Melden Sie sich mit Ihrem lokalen Konto an und verknüpfen Sie sie in den Einstellungen.`,expired:`Die Anmeldeanfrage ist abgelaufen oder konnte nicht überprüft werden. Versuchen Sie es auf dieser Seite erneut.`,emailMismatch:`Die E-Mail-Adresse des Identitätsanbieters konnte nicht verknüpft werden. Wenden Sie sich an Ihre Administration.`,failed:`Die Anmeldung konnte nicht abgeschlossen werden. Versuchen Sie es erneut oder wenden Sie sich an Ihre Administration.`}},you:`Sie`,inbox:{markAllRead:`Alle als gelesen markieren`,clearRead:`Gelesene entfernen`,cleared_one:`{{count, number}} gelesene Benachrichtigung entfernt`,cleared_other:`{{count, number}} gelesene Benachrichtigungen entfernt`,unread:`Ungelesen`,mentions:`Erwähnungen`,all:`Alle Benachrichtigungen`,noUnread:`Keine ungelesenen Benachrichtigungen`,noMentions:`Keine Erwähnungen`,noNotifications:`Keine Benachrichtigungen`,markUnread:`Als ungelesen markieren`,markRead:`Als gelesen markieren`,dismiss:`Verwerfen`},search:{field:`Arbeitsbereich durchsuchen`,placeholder:`Tickets, Projekte, Kommentare, Aktivität suchen…`,tab:{all:`Alle`,project:`Projekte`,ticket:`Tickets`,comment:`Kommentare`,activity:`Aktivität`},indexing:`Die externe Suche holt gerade auf, daher stammen Ticket-Treffer aus PostgreSQL.`,empty:`Tickets, Projekte, Kommentare und Aktivität durchsuchen`,noResults:`Keine Ergebnisse für „{{query}}“`,results:`Suchergebnisse`,pages:`Suchergebnisseiten`,previous:`Zurück`,next:`Weiter`,type:{project:`Projekt`,ticket:`Ticket`,comment:`Kommentar`,activity:`Aktivität`}},column:{key:`Ticket`,labels:`Labels`,scopes:`Bereiche`,status:`Status`,priority:`Priorität`,difficulty:`Schwierigkeit`,kind:`Art`,assigneeId:`Bearbeiter`,startAt:`Start`,dueAt:`Fällig`,createdAt:`Erstellt`,updatedAt:`Aktualisiert`},public:{notShared:`Dieses Projekt ist nicht freigegeben`,notSharedHint:`Der Link wurde deaktiviert oder hat nie existiert. Mitglieder können sich anmelden, um es zu lesen.`,noTickets:`Keine Tickets`,ticketUnavailable:`Ticket nicht verfügbar`,backToTickets:`Zurück zu den Tickets`,description:`Beschreibung`,noDescription:`_Keine Beschreibung_`,acceptanceCriteria:`Akzeptanzkriterien`,noAcceptanceCriteria:`_Keine Akzeptanzkriterien_`,ticketProperties:`Ticket-Eigenschaften`,properties:`Eigenschaften`,status:`Status`,priority:`Priorität`,kind:`Art`,difficulty:`Schwierigkeit`,startDate:`Startdatum`,dueDate:`Fälligkeitsdatum`,labels:`Labels`,scopes:`Bereiche`,created:`Erstellt`,updated:`Aktualisiert`,relationships:`Beziehungen`,parent:`Übergeordnet`,child:`Untergeordnet`},sidebar:{workspace:`Arbeitsbereich`,unread_one:`{{count, number}} ungelesen`,unread_other:`{{count, number}} ungelesen`,userSettings:`Benutzereinstellungen`,administration:`Administration`,signOut:`Abmelden`,projectSettings:`Projekteinstellungen`},workspace:{new:`Neuer Arbeitsbereich`,name:`Name des Arbeitsbereichs`,key:`Schlüssel des Arbeitsbereichs`,create:`Arbeitsbereich erstellen`,workspaces:`Arbeitsbereiche`,switch:`Arbeitsbereich wechseln`,settings:`Einstellungen des Arbeitsbereichs`},palette:{open:`Gehe zu…`,title:`Gehe zu`,description:`Projekt, Ticket, Seite oder Aktion finden`,placeholder:`Tickets, Projekte, Seiten, Aktionen suchen…`,searching:`Suche läuft…`,noResults:`Keine Ergebnisse`,jumpTo:`Springen zu`,openKey:`{{key}} in {{project}} öffnen`,resultsIn:`Ergebnisse in {{workspace}}`,results:`Ergebnisse`,seeAll_one:`{{count, number}} Ergebnis anzeigen`,seeAll_other:`Alle {{count, number}} Ergebnisse anzeigen`,actions:`Aktionen`,pages:`Seiten`,newTicketIn:`Neues Ticket in {{project}}`,myTicketsIn:`Meine Tickets in {{project}}`,lightMode:`Zum hellen Modus wechseln`,darkMode:`Zum dunklen Modus wechseln`,keywords:{jump:`{{query}} springen öffnen jump open`,allResults:`alle ergebnisse {{query}}`,newTicket:`neues ticket erstellen`,myTickets:`meine tickets mir zugewiesen`,lightMode:`heller modus hell design darstellung`,darkMode:`dunkler modus dunkel design darstellung`,help:`tastenkürzel tastatur hilfe`,home:`start übersicht alle projekte`,myWork:`meine arbeit zugewiesene tickets`,search:`suche kommentare aktivität projekte tickets`,inbox:`posteingang benachrichtigungen`,settings:`einstellungen {{scope}} {{label}}`}},actionCategory:{general:`Allgemein`,ticketList:`Ticketliste`,inbox:`Posteingang`,ticket:`Ticket`,search:`Suche`,markdown:`Markdown`},action:{palette:`Zu allem springen`,help:`Tastenkürzel`,sidebar:`Seitenleiste ein-/ausblenden`,newTicket:`Neues Ticket`,search:`Tickets suchen`,highlight:`Nächstes oder vorheriges Ticket hervorheben`,open:`Hervorgehobenes Ticket öffnen`,preview:`Vorschau des hervorgehobenen Tickets neben der Liste`,select:`Hervorgehobenes Ticket auswählen`,properties:`Status, Priorität oder Bearbeiter des hervorgehobenen Tickets festlegen`,inboxHighlight:`Nächste oder vorherige Benachrichtigung hervorheben`,inboxOpen:`Ticket der hervorgehobenen Benachrichtigung neben dem Posteingang lesen`,inboxRead:`Hervorgehobene Benachrichtigung als gelesen oder ungelesen markieren`,inboxDismiss:`Hervorgehobene Benachrichtigung verwerfen`,step:`Nächstes oder vorheriges Ticket öffnen`,edit:`Ticket bearbeiten`,save:`Ticket oder Kommentar speichern`,results:`Durch Suchergebnisse blättern`,insertBlock:`Tabelle, Diagramm, Datei oder anderen Block im visuellen Editor einfügen`},move:{top:{label:`Hervorgehobenes Ticket ganz nach oben verschieben`,menu:`Ganz nach oben`},up:{label:`Hervorgehobenes Ticket nach oben verschieben`,menu:`Nach oben`},down:{label:`Hervorgehobenes Ticket nach unten verschieben`,menu:`Nach unten`},bottom:{label:`Hervorgehobenes Ticket ganz nach unten verschieben`,menu:`Ganz nach unten`},previous:{label:`Hervorgehobenes Ticket in den vorherigen Status verschieben`,menu:`In vorherigen Status`},next:{label:`Hervorgehobenes Ticket in den nächsten Status verschieben`,menu:`In nächsten Status`}},copy:{link:{label:`Link kopieren`,copied:`Ticket-Link`},keyAndTitle:{label:`Schlüssel und Titel kopieren`,copied:`Ticket`},title:{label:`Titel kopieren`,copied:`Titel`},markdown:{label:`Als Markdown kopieren`,copied:`Markdown`},branch:{label:`Branch-Namen kopieren`,copied:`Branch-Name`}},settingsNav:{account:`Konto`,settings:`Einstellungen`,workspace:`Arbeitsbereich`,workspaceSettings:`Einstellungen des Arbeitsbereichs`,projects:`Projekte`,projectSettings:`Projekteinstellungen`,administration:`Administration`,section:{profile:`Profil & Sicherheit`,appearance:`Darstellung`,preferences:`Präferenzen`,credentials:`API-Schlüssel`,notifications:`Benachrichtigungen`,general:`Allgemein`,members:`Mitglieder`,roles:`Rollen`,labels:`Labels`,workflow:`Workflow`,fields:`Felder`,integrations:`Integrationen`,calendar:`Kalender-Feeds`,storage:`Dateispeicher`,search:`Suche`,events:`Ereigniszustellung`,users:`Benutzer`,workspaces:`Arbeitsbereiche`,authentication:`Authentifizierung`}},browser:{copyFailed:`Kopieren fehlgeschlagen. Markieren Sie den Text und kopieren Sie ihn manuell.`,readFailed:`Die Datei konnte nicht gelesen werden`,encodeFailed:`Die Datei konnte nicht kodiert werden`,imageTooBig:`Wählen Sie ein Bild kleiner als 10 MB.`,cannotResize:`Dieser Browser kann die Bildgröße nicht ändern.`,prepareFailed:`Das Bild konnte nicht vorbereitet werden.`,stillTooLarge:`Dieses Bild ist auch nach dem Verkleinern zu groß. Wählen Sie ein einfacheres Bild.`},primitive:{close:`Schließen`,more:`Mehr`,breadcrumb:`Brotkrumennavigation`,sidebar:`Seitenleiste`,sidebarDescription:`Zeigt die mobile Seitenleiste an.`,toggleSidebar:`Seitenleiste ein-/ausblenden`,resizeSidebar:`Seitenleistengröße ändern`,expandSidebar:`Seitenleiste ausklappen`,commandTitle:`Befehlspalette`,commandDescription:`Nach einem auszuführenden Befehl suchen…`}},ticket:{list:{selectSection:`Tickets in {{section}} auswählen`,expandSection:`Tickets in {{section}} ausklappen`,collapseSection:`Tickets in {{section}} einklappen`,sectionTickets:`Tickets in {{section}}`,later:`Später`,selectAll:`Alle angezeigten Tickets auswählen`,selectTicket:`{{key}} auswählen`,title:`Titel`,all:`Alle`,planned:`Geplant`,archived:`Archiviert`,allTickets:`Alle Tickets`,customView:`Eigene Ansicht`,sectionCount:`{{n, number}} {{section}}`,planning:`Planung {{project}}`,collection:`{{source}} ({{sections}})`,moved:`{{key}} verschoben`,movedTo:`{{key}} nach {{status}} verschoben`,movedAbove:`{{key}} über {{neighbor}} verschoben`,movedBelow:`{{key}} unter {{neighbor}} verschoben`,movedToAbove:`{{key}} nach {{status}} über {{neighbor}} verschoben`,movedToBelow:`{{key}} nach {{status}} unter {{neighbor}} verschoben`,emptyFiltered:`Keine passenden Tickets`,emptyPlanning:`Nichts geplant oder archiviert`,emptyProject:`Noch keine Tickets`,emptyWork:`Keine offenen Tickets, die Ihnen zugewiesen sind`,createFirst:`Erstes Ticket erstellen`,activeWork:`Aktive Arbeit`,views:`Ticketansichten`,saveCurrentView:`Aktuelle Ansicht speichern`,deleteView:`Ansicht {{name}} löschen`,deleteViewConfirm:`{{name}} aus den gespeicherten Ansichten entfernen? Die Tickets bleiben unverändert.`,planningLink:`Planung`,newTicketShortcut:`Neues Ticket ({{shortcut}})`,saveView:`Ansicht speichern`,viewSaved:`Ansicht gespeichert`,viewName:`Name der Ansicht`,retry:`Tickets erneut laden`,board:`Ticket-Board`,tickets:`Tickets`,resizeColumn:`Breite der Spalte {{column}} ändern`,count_one:`{{count, number}} Ticket`,count_other:`{{count, number}} Tickets`,scheduledCount_one:`{{count, number}} geplantes Ticket`,scheduledCount_other:`{{count, number}} geplante Tickets`},move:{destination:`Ziel`,projectPlaceholder:`In Projekt verschieben…`,blockers:`Vor dem Verschieben beheben`,submit:`Ticket verschieben`,pending:`Wird verschoben…`},picker:{placeholder:`Ticket wählen`,loading:`Ticket wird geladen…`,searchLabel:`{{label}} suchen`,searchPlaceholder:`Nach Titel oder Schlüssel suchen…`,noParent:`Kein übergeordnetes Ticket`,searching:`Suche läuft…`,empty:`Keine Tickets gefunden`},property:{status:`Status`,priority:`Priorität`,kind:`Art`,difficulty:`Schwierigkeit`,assignee:`Bearbeiter`,you:`{{name}} (Sie)`,assignTo:`Zuweisen an…`,set:`{{label}} festlegen…`,search:`{{label}} suchen`,noMatches:`Keine Treffer`},field:{mixed:`Gemischt`,unchecked:`Nein`,noValue:`Kein Wert`},project:{label:`Projekt`,placeholder:`In Projekt erstellen…`,search:`Projekte suchen`},tags:{labels:`Labels`,scopes:`Bereiche`,summary:`{{label}}: {{tags}}`,edit:`{{label}} bearbeiten`,editValues:`{{label}} bearbeiten: {{tags}}`,editMixed:`{{label}} bearbeiten: gemischt`,mixed:`{{label}}: gemischt`,none:`Keine {{label}}`,mixedNote:`Die ausgewählten Tickets haben unterschiedliche {{label}}.`,clear:`{{label}} leeren`,replace:`{{label}} ersetzen`},tagInput:{remove:`{{tag}} aus {{label}} entfernen`,addAnother:`Weitere hinzufügen…`,add:`{{label}} hinzufügen…`,choose:`{{label}} wählen`,chooseLabels:`Labels wählen`,searchPlaceholder:`Labels suchen…`,searchLabel:`Projekt-Labels suchen`,empty:`Keine passenden Labels`},link:{previewUnavailable:`Vorschau nicht verfügbar`},userPicker:{label:`Konto`,placeholder:`Konto wählen`,searchPlaceholder:`Name oder E-Mail suchen…`,searchLabel:`Konten suchen`,useEmail:`{{email}} verwenden`,emptyAnyAccount:`Suchen Sie nach einem Mitglied oder geben Sie die E-Mail-Adresse eines bestehenden Kontos ein.`,empty:`Keine passenden Mitglieder`},date:{placeholder:`Datum wählen`,clear:`{{label}} leeren`,start:`Startdatum`,startShort:`Start`,noStart:`Kein Startdatum`,due:`Fälligkeitsdatum`,dueShort:`Fällig`,noDue:`Kein Fälligkeitsdatum`},filter:{me:`Ich`,searchTickets:`Tickets suchen`,searchTicketsPlaceholder:`Tickets suchen…`,filters:`Filter`,filtersActive:`Filter ({{active, number}})`,due:`Fällig`,anyDue:`Beliebiges Fälligkeitsdatum`,archived:`Archiviert`,hideArchived:`Archivierte ausblenden`,includeArchived:`Archivierte einbeziehen`,archivedOnly:`Nur archivierte`,includingArchived:`Einschließlich archivierter`,reset:`Filter zurücksetzen`,clear:`Filter leeren`,active:`Aktive Ticketfilter`,searchChip:`Suche: {{query}}`,chipAny:`{{field}}:`,chipNone:`{{field}} ist nicht:`,notValues:`Nicht {{values}}`,match:`{{label}}: Übereinstimmung`,is:`Ist`,isNot:`Ist nicht`,searchPlaceholder:`{{search}}…`,anyValue:{status:`Alle Status`,priority:`Alle Prioritäten`,kind:`Alle Arten`,difficulty:`Alle Schwierigkeiten`,label:`Alle Labels`,assigneeId:`Beliebige Person`,customField:`Beliebiger Feldwert`},searchValues:{status:`Status suchen`,priority:`Prioritäten suchen`,kind:`Arten suchen`,difficulty:`Schwierigkeiten suchen`,label:`Labels suchen`,assigneeId:`Personen suchen`,customField:`Felder suchen`}},display:{title:`Anzeige`,orderBy:`Sortieren nach`,direction:`Richtung`,ascending:`Aufsteigend`,descending:`Absteigend`,reset:`Anzeige zurücksetzen`,groupBy:`Gruppieren nach`,dueDate:`Fälligkeitsdatum`,layout:`Layout`,list:`Liste`,board:`Board`,backgrounds:`Projekthintergründe`,show:`Anzeigen`,hide:`Ausblenden`,rowSpacing:`Zeilenabstand`,compact:`Kompakt`,comfortable:`Komfortabel`,labelDisplay:`Label-Anzeige`,compactPreview:`Kompakte Vorschau`,allLabels:`Alle Labels`,properties:`Eigenschaften`},selection:{region:`Ausgewählte Tickets`,clear:`Auswahl aufheben`,selected_one:`{{count, number}} ausgewählt`,selected_other:`{{count, number}} ausgewählt`,selectedOf_one:`{{count, number}} von {{total}}<wide> ausgewählt</wide>`,selectedOf_other:`{{count, number}} von {{total}}<wide> ausgewählt</wide>`,applied_one:`{{label}} auf {{count, number}} Ticket angewendet`,applied_other:`{{label}} auf {{count, number}} Tickets angewendet`,partlyApplied_one:`Auf {{done, number}} von {{count, number}} Ticket angewendet`,partlyApplied_other:`Auf {{done, number}} von {{count, number}} Tickets angewendet`,mixedDue:`Unterschiedliche Fälligkeitsdaten`,fields:`Felder`,more:`Weitere Aktionen`,moveTo:`Nach {{status}} verschieben`,restoreChange:`Wiederherstellen`,restore:`Auswahl wiederherstellen`,archive:`Auswahl archivieren`,delete:`Auswahl löschen`,deleteLimit:`Höchstens {{limit, number}} auf einmal löschen`,archiveConfirm_one:`{{count, number}} Ticket aus {{collection}} archivieren?`,archiveConfirm_other:`{{count, number}} Tickets aus {{collection}} archivieren?`,deleteConfirm_one:`{{count, number}} Ticket aus {{collection}} mit Kommentaren, Beziehungen und Anhängen endgültig löschen? Untergeordnete Tickets außerhalb der Auswahl verlieren ihr übergeordnetes Ticket.`,deleteConfirm_other:`{{count, number}} Tickets aus {{collection}} mit Kommentaren, Beziehungen und Anhängen endgültig löschen? Untergeordnete Tickets außerhalb der Auswahl verlieren ihr übergeordnetes Ticket.`,deleted_one:`{{count, number}} Ticket gelöscht`,deleted_other:`{{count, number}} Tickets gelöscht`},menu:{copied:`{{label}} kopiert`,open:`Ticket öffnen`,preview:`Vorschau`,newTab:`In neuem Tab öffnen`,edit:`Ticket bearbeiten`,editTitle:`{{key}} bearbeiten`,duplicate:`Ticket duplizieren`,created:`{{key}} erstellt`,move:`Verschieben`,moveToProject:`In Projekt verschieben…`,moveTitle:`{{key}} verschieben`,moved:`Nach {{key}} verschoben`,follow:`Ticket folgen`,unfollow:`Ticket nicht mehr folgen`,archive:`Ticket archivieren`,unarchive:`Ticket dearchivieren`,delete:`Ticket löschen`,deleteConfirm:`{{key}} mit Kommentaren, Beziehungen und Anhängen endgültig löschen?`,openProject:`Projekt öffnen`,projectLink:`Projekt-Link`,copyLink:`Link kopieren`,newTicket:`Neues Ticket`,projectSettings:`Projekteinstellungen`,manageAccount:`Konto verwalten`,email:`E-Mail`,copyEmail:`E-Mail kopieren`},schedule:{range:`{{from}} – {{to}}`,calendar:`Kalender`,timeline:`Zeitleiste`,today:`Heute`,previousMonth:`Vorheriger Monat`,nextMonth:`Nächster Monat`,previousWeeks:`Vorherige zwei Wochen`,nextWeeks:`Nächste zwei Wochen`,emptyWeeks:`In diesen Wochen ist nichts geplant`,monthTickets:`Tickets im {{title}}`,showDay_one:`{{count, number}} Ticket am {{day}} anzeigen`,showDay_other:`Alle {{count, number}} Tickets am {{day}} anzeigen`,more_one:`{{count, number}} weiteres`,more_other:`{{count, number}} weitere`,ticketColumn:`Ticket`,scheduledTickets:`Geplante Tickets`},copy:{description:`Beschreibung`,acceptanceCriteria:`Akzeptanzkriterien`}},detail:{field:{title:`Titel`,description:`Beschreibung`,acceptanceCriteria:`Akzeptanzkriterien`,parent:`Übergeordnet`,parentTicket:`Übergeordnetes Ticket`,labels:`Labels`,scopes:`Bereiche`,holdReason:`Grund für die Zurückstellung`,url:`URL`},page:{preview:`Ticketvorschau`,unavailable:`Ticket nicht verfügbar`,noProject:`Der Link nennt das Projekt des Tickets nicht.`,gone:`Dieses Ticket wurde gelöscht oder Sie haben keinen Zugriff mehr.`,closePreview:`Vorschau schließen`,openFullPage:`Als ganze Seite öffnen`,backToTickets:`Zurück zu den Tickets`,tickets:`Tickets`,previousTicket:`Vorheriges Ticket`,previousTicketShortcut:`Vorheriges Ticket (K)`,nextTicket:`Nächstes Ticket`,nextTicketShortcut:`Nächstes Ticket (J)`,position:`{{position, number}} / {{total, number}}`,subscribe:`Abonnieren`,unsubscribe:`Abbestellen`,subscribed:`Aktualisierungen abonniert`,unsubscribed:`Abbestellt`,archive:`Ticket archivieren`,unarchive:`Ticket dearchivieren`,archivedToast:`Ticket archiviert`,unarchivedToast:`Ticket dearchiviert`,archived:`Archiviert`,edit:`Ticket bearbeiten`,editShortcut:`Ticket bearbeiten (E)`,editTitle:`{{key}} bearbeiten`,actions:`Ticket-Aktionen`,copyKey:`Ticket-Schlüssel kopieren`,keyCopied:`{{key}} kopiert`,noDescription:`_Keine Beschreibung_`,noAcceptanceCriteria:`_Keine Akzeptanzkriterien_`,coordination:`Ticket-Koordination`,properties:`Eigenschaften`,created:`Erstellt`,updated:`Aktualisiert`},section:{discussion:`Diskussion`,evidence:`Nachweise`,activity:`Aktivität`},readiness:{heading:`Bereitschaft für Agenten`,ready:`Bereit zur Übernahme`,notReady:`Nicht bereit zur Übernahme`,hold:`Zurückgestellt: {{reason}}`,claimedUntil:`Übernommen von <strong>{{worker}}</strong> bis {{date}}.`},claim:{release:`Meine Übernahme freigeben`,releaseDescription:`Übernahme freigeben, nachdem Ihr Worker nicht mehr schreibt?`,recover:`Abgelaufene Übernahme wiederherstellen`,recoverHelp:`Die Wiederherstellung erfordert Administratorzugriff auf das Projekt und eine abgelaufene Übernahme. Stoppen Sie zuerst den Worker.`,reason:`Grund der Wiederherstellung`,confirmed:`Ich habe bestätigt, dass der Worker gestoppt hat`,submit:`Übernahme wiederherstellen`},editor:{storageUnavailable:`Dieser Browser kann Ihren Entwurf nicht speichern. Lassen Sie den Editor bis zum Speichern geöffnet.`,saved:`{{key}} gespeichert`,created:`{{key}} erstellt`,properties:`Ticket-Eigenschaften`,readyForAgents:`Bereit für Agenten`,readyForAgentsHelp:`Agenten dürfen dieses Ticket übernehmen, sobald Anforderungen, Blocker und Zuständigkeit es erlauben`,agents:`Agenten`,notReady:`Nicht bereit`,moreProperties:`Weitere Eigenschaften`,holdPlaceholder:`Warum soll die Arbeit warten?`,claimsNote:`Übernahmen hängen weiterhin von Anforderungen, Blockern und der aktuellen Zuständigkeit ab.`,restoreSize:`Editorgröße wiederherstellen`,expand:`Editor vergrößern`,staleTitle:`Dieses Ticket wurde geändert.`,staleDescription:`Ihr Entwurf verwendet noch Version {{version}}; zum Speichern ist die aktuelle Version erforderlich.`,discardAndReload:`Entwurf verwerfen und neu laden`,titlePlaceholder:`Tickettitel`,descriptionPlaceholder:`Kontext, Anforderungen oder Schritte zur Reproduktion hinzufügen…`,criteriaPlaceholder:`- [ ] Woran zeigt sich, dass dies abgeschlossen ist?`,removeCriteria:`Akzeptanzkriterien entfernen`,addCriteria:`Akzeptanzkriterien hinzufügen`,savedLocally:`Entwurf auf diesem Gerät gespeichert`,notSavedLocally:`Entwurf konnte nicht gespeichert werden`,discardDraft:`Entwurf verwerfen`,createMore:`Weitere erstellen`,save:`Ticket speichern`,create:`Ticket erstellen`},resource:{removeConfirm:`{{name}} entfernen?`,uploading:`Wird hochgeladen…`},attachment:{heading:`Anhänge`,tooLarge:`Wählen Sie Dateien mit jeweils höchstens 10 MB.`,attached_one:`Datei angehängt`,attached_other:`{{count, number}} Dateien angehängt`,attach:`Datei anhängen`,emptyWritable:`Keine Anhänge. Dateien hier ablegen.`,empty:`Keine Anhänge`,remove:`Anhang entfernen`,fileInput:`Datei (bis 10 MB)`},evidence:{description:`Links und Ergebnisse, gemeldet von den Personen und Integrationen, die an diesem Ticket arbeiten.`,add:`Nachweis hinzufügen`,empty:`Keine Nachweise angehängt`,added:`Nachweis hinzugefügt`,kindLabel:`Art`,outcomeLabel:`Gemeldetes Ergebnis`,commit:`Commit (vollständiger Hash)`,note:`Notiz`},link:{heading:`Links`,add:`Link hinzufügen`,edit:`Link bearbeiten`,save:`Link speichern`,remove:`Link entfernen`,empty:`Keine Links`,stateUnknown:`Zustand unbekannt`,remote:`{{kind}} · {{state}}`,remoteState:{open:`Offen`,closed:`Geschlossen`,merged:`Gemergt`,draft:`Entwurf`,active:`Aktiv`,deleted:`Gelöscht`}},activity:{previous:`Vorherige Aktivität`,next:`Nächste Aktivität`},relations:{heading:`Beziehungen`,add:`Beziehung hinzufügen`,linkExisting:`Vorhandenes Ticket verknüpfen`,newChild:`Neues untergeordnetes Ticket`,newChildTitle:`Neues untergeordnetes Ticket von {{key}}`,children:`Untergeordnete Tickets <count>{{done, number}}/{{total, number}}</count>`,previousChildren:`Vorherige untergeordnete Tickets`,nextChildren:`Nächste untergeordnete Tickets`,empty:`Keine Beziehungen`,type:`Beziehung`,ticket:`Ticket`,statusOf:`Status von {{key}}`,assigneeOf:`Bearbeiter von {{key}}`,remove:{blocks:`Beziehung „Blockiert“ entfernen`,related:`Beziehung „Verwandt mit“ entfernen`,duplicate:`Beziehung „Dupliziert“ entfernen`,causes:`Beziehung „Verursacht“ entfernen`,clones:`Beziehung „Klont“ entfernen`,implements:`Beziehung „Implementiert“ entfernen`,reviews:`Beziehung „Prüft“ entfernen`}},discussion:{empty:`Noch keine Kommentare`,previous:`Vorherige Kommentare`,next:`Nächste Kommentare`,comment:`Kommentieren`,placeholder:`Kommentar schreiben…`,posting:`Wird gesendet…`,edited:`Bearbeitet`,edit:`Kommentar bearbeiten`,delete:`Kommentar löschen`,deleteConfirm:`Diesen Kommentar endgültig löschen?`},markdown:{format:{heading:`Überschrift`,bold:`Fett`,italic:`Kursiv`,link:`Link`,linkHelp:`Markierten Text verlinken`,bullets:`Aufzählung`,numbers:`Nummerierte Liste`,tasks:`Checkliste`,code:`Codeblock`},formatting:`Formatierung: {{label}}`,editor:`Editor: {{label}}`,insertFile:`Datei einfügen`,insertFileInto:`Datei in {{label}} einfügen`,write:`Schreiben`,visual:`Visuell`,preview:`Vorschau`,unsupported:`Dieser Text verwendet Markdown, das der visuelle Editor nicht erhalten kann, etwa HTML oder Fußnoten.`,nothingToPreview:`Keine Vorschau verfügbar`,mention:`Mitglied erwähnen`,insertBlock:`Block einfügen`,block:{quote:`Zitat`,table:`Tabelle`,diagram:`Diagramm`,divider:`Trennlinie`,file:`Datei`},table:{addRow:`Zeile hinzufügen`,addColumn:`Spalte hinzufügen`,deleteRow:`Zeile löschen`,deleteColumn:`Spalte löschen`,deleteTable:`Tabelle löschen`},linkAddress:`Linkadresse`,diagram:`Diagramm`,diagramFailed:`Dieses Diagramm konnte nicht gezeichnet werden: {{error}}`,diagramSource:`Diagrammquelle`}},settings:{account:{title:`Einstellungen`,security:`Anmeldung & Sicherheit`,localPassword:`Lokales Passwort`,localPasswordDescription:`Eine Passwortänderung meldet Ihre anderen Sitzungen ab.`,changePassword:`Passwort ändern`,oidcLinked:`Mit diesem Identitätsanbieter am selben Konto anmelden.`,oidcUnlinked:`Verknüpfen Sie Ihr Konto, bevor Sie sich über diesen Anbieter anmelden.`,linked:`Verknüpft`,link:`{{name}} verknüpfen`,currentPassword:`Aktuelles Passwort`,newPassword:`Neues Passwort`,confirmPassword:`Neues Passwort bestätigen`,passwordMismatch:`Die neuen Passwörter stimmen nicht überein.`,passwordUpdated:`Passwort aktualisiert. Andere Sitzungen wurden abgemeldet.`},preferences:{behavior:`Verhalten`,languageDescription:`Gilt in diesem Browser, auch auf der Anmeldeseite.`,weekStart:`Woche beginnt am`,weekStartDescription:`Gilt für jede Datumsauswahl.`,weekStartLanguage:`Sprachstandard`,sidebar:`Seitenleiste beim Start`,sidebarDescription:`Wird beim nächsten Öffnen von Kanvil wirksam.`,sidebarLast:`Wie zuletzt verlassen`,sidebarExpanded:`Ausgeklappt`,sidebarCollapsed:`Eingeklappt`,ticketLists:`Ticketlisten`,reset:`Präferenzen zurücksetzen`,resetDescription:`Setzt diese Einstellungen in diesem Browser auf die Standardwerte zurück.`,resetDone:`Präferenzen zurückgesetzt`},notifications:{title:`Benachrichtigungen`,inbox:`Posteingang`,inboxDescription:`Aktualisierungen von Tickets, denen Sie folgen, erscheinen in Kanvil.`,inboxSwitch:`Aktualisierungen abonnierter Tickets im Posteingang`,push:`Push-Benachrichtigungen`,pushDescription:`Aktualisierungen an Ihre registrierten Geräte senden.`,pushUnavailable:`Push-Zustellung ist auf dieser Instanz nicht aktiviert.`,pushSwitch:`Push-Benachrichtigungen auf registrierten Geräten`,categories:`Kategorien`,categorySwitch:`Benachrichtigungen: {{label}}`,reminder:`Erinnerung vor Fälligkeit`,reminderDescription:`Wie lange vor dem Fälligkeitsdatum eines gefolgten Tickets.`,reminderUnit:`Einheit der Erinnerung`,reminderAmount:`Dauer der Erinnerung`,unit:{minutes:`Minuten`,hours:`Stunden`,days:`Tage`,weeks:`Wochen`}},layout:{nav:`Einstellungen`,section:`Einstellungsbereich`,nested:`{{parent}} · {{child}}`,name:`Name`,description:`Beschreibung`,descriptionPlaceholder:`Beschreibung hinzufügen`,noDescription:`Keine Beschreibung`,stale:`Dies wurde an anderer Stelle geändert. Abbrechen und neu beginnen.`},profile:{title:`Profil`,displayName:`Anzeigename`,edit:`Profil bearbeiten`,changePhoto:`Foto ändern`,removePhoto:`Foto entfernen`,photoFile:`Profilfoto-Datei`,photoUpdated:`Foto aktualisiert`,photoRemoved:`Foto entfernt`,saved:`Profil gespeichert`},credentials:{title:`API-Schlüssel`,description:`Skripte, Integrationen und Agenten mit widerrufbarem Zugriff verbinden.`,create:`API-Schlüssel erstellen`,creating:`Wird erstellt…`,created:`API-Schlüssel erstellt`,name:`Name`,access:`Zugriff`,projects:`Projekte`,expires:`Läuft ab`,actions:`Aktionen`,unavailableProject:`Nicht verfügbares Projekt`,untitled:`Unbenannter Schlüssel`,expired:`Abgelaufen`,disabled:`Deaktiviert`,custom:`Benutzerdefiniert`,noProjects:`Kein Projektzugriff`,never:`Nie`,revoke:`API-Schlüssel widerrufen`,revokeNamed:`{{name}} widerrufen? Verbindungen, die ihn nutzen, verlieren sofort den Zugriff.`,revokeUnnamed:`Diesen API-Schlüssel widerrufen? Verbindungen, die ihn nutzen, verlieren sofort den Zugriff.`,empty:`Keine API-Schlüssel`,emptyDescription:`Erstellen Sie einen Schlüssel, wenn ein Skript, eine Integration oder ein Agent Zugriff auf Ihre Projekte braucht.`,copyNow:`Kopieren Sie diesen Schlüssel jetzt. Er wird nicht noch einmal angezeigt.`,newKey:`Neuer API-Schlüssel`,copy:`API-Schlüssel kopieren`,noProjectTitle:`Zuerst ein Projekt wählen`,noProjectDescription:`API-Schlüssel benötigen Zugriff auf mindestens ein Projekt.`,goToProjects:`Zu den Projekten`,keyName:`Schlüsselname`,keyNamePlaceholder:`z. B. Release-Automatisierung`,projectAccess:`Projektzugriff`,findProject:`Projekt finden`,projectDescription:`{{key}} · {{workspace}}`,workspace:`Arbeitsbereich`,noMatches:`Keine passenden Projekte`,roleLimit:`Ihre bestehende Projektrolle begrenzt weiterhin, was dieser Schlüssel darf.`,accessLevel:`Zugriffsstufe`,preset:{read:`Nur lesen`,write:`Lesen und schreiben`,automation:`Lesen, schreiben und Arbeit übernehmen`,custom:`Benutzerdefinierte Berechtigungen`},permission:{read:{name:`Tickets lesen`,description:`Projekte, Tickets, Kommentare und Anhänge ansehen.`},write:{name:`Tickets bearbeiten`,description:`Tickets, Kommentare und Anhänge erstellen und aktualisieren.`},claim:{name:`Arbeit übernehmen`,description:`Ticket-Übernahmen beanspruchen, verlängern und freigeben.`},admin:{name:`Projekte verwalten`,description:`Projekteinstellungen und Mitgliedschaften ändern, soweit Ihre Rolle es erlaubt.`}},expiry:{7:`7 Tage`,30:`30 Tage`,90:`90 Tage`,365:`1 Jahr`,custom:`Eigenes Datum`,never:`Kein Ablauf`},expiresOn:`Läuft ab am`,neverDescription:`Der Schlüssel funktioniert, bis Sie ihn löschen.`},calendarFeeds:{title:`Kalender-Feeds`,new:`Neuer Kalender-Feed`,created:`Kalender-Feed erstellt`,create:`Feed erstellen`,adminOnly:`Projektadministratoren geben Kalender-Feeds frei und widerrufen sie.`,labels:`Labels`,everyLabel:`Alle Labels`,stopped:`· Gestoppt: Die erstellende Person hat keinen Zugriff mehr`,revoke:`{{name}} widerrufen`,revokeDescription:`Kalender, die {{name}} abonniert haben, werden sofort nicht mehr aktualisiert. Die Tickets bleiben unverändert.`,revoked:`Kalender-Feed widerrufen`,empty:`Keine Kalender-Feeds`,copyNow:`Kopieren Sie diesen Link jetzt in eine Kalender-App. Er wird nur einmal angezeigt, und alle mit diesem Link können die freigegebenen Tickets lesen.`,link:`Feed-Link`,name:`Feed-Name`,onlyLabels:`Nur Tickets mit diesen Labels`,explanation:`Der Feed listet offene, nicht archivierte Tickets mit Start- oder Fälligkeitsdatum als ganztägige Termine in {{zone}}. Alle mit dem Link sehen deren Schlüssel, Titel, Status, Prioritäten und Daten.`},project:{title:`Projekteinstellungen`,edit:`Projekt bearbeiten`,copyPrefix:`Ticket-Präfix kopieren`,saved:`Projekt gespeichert`,noOpenTickets:`Keine offenen Tickets`,openTickets_one:`{{count, number}} offenes Ticket`,openTickets_other:`{{count, number}} offene Tickets`,overdueTickets_one:`· {{count, number}} überfällig`,overdueTickets_other:`· {{count, number}} überfällig`,created:`· Erstellt <time/>`,access:`Projektzugriff`,accessWorkspace:`Mitglieder des Arbeitsbereichs erben den Zugriff von ihrer Rolle im Arbeitsbereich.`,accessPrivate:`Nur von Ihnen hinzugefügte Mitglieder und Administratoren des Arbeitsbereichs sehen dieses Projekt.`,accessUpdated:`Projektzugriff aktualisiert`,visibility:{workspace:`Alle im Arbeitsbereich`,private:`Nur Projektmitglieder`},workspace:`Arbeitsbereich`,workspaceSettings:`Einstellungen des Arbeitsbereichs`,prefix:`Ticket-Präfix`,prefixDescription:`Frühere Präfixe und Ticket-Schlüssel funktionieren nach einer Änderung weiter.`,changePrefix:`Präfix ändern`,changePrefixTitle:`Ticket-Präfix ändern`,changePrefixDescription:`Jedes Ticket in {{name}} erhält das neue Präfix und behält seine Nummer.`,changing:`Wird geändert…`,prefixChanged:`Tickets verwenden jetzt {{key}}`,publicLink:`Öffentlicher Link`,publicDisclosure:`Alle mit dem Link können bei jedem nicht archivierten Ticket dieses Projekts Titel, Beschreibung, Akzeptanzkriterien, Status, Priorität, Art, Schwierigkeit, Labels, Bereiche, Daten und Links zu anderen Tickets lesen. Personen, Kommentare, Aktivität, Anhänge, Nachweise und Übernahmen bleiben privat.`,publicOn:`Öffentlicher Link aktiv`,publicOff:`Öffentlicher Link inaktiv`,off:`Aus`,copyPublicLink:`Öffentlichen Link kopieren`,openPublic:`Öffentliche Ansicht öffnen`,stopSharing:`Freigabe beenden`,share:`Öffentlich freigeben`,background:`Hintergrund`,backgroundDescription:`Wird hinter der Ticketliste und dem Board dieses Projekts angezeigt.`,backgroundUpdated:`Hintergrund aktualisiert`,backgroundRemoved:`Hintergrund entfernt`,currentBackground:`Aktueller Hintergrund`,uploading:`Wird hochgeladen…`,replace:`Ersetzen`,upload:`Bild hochladen`,backgroundFile:`Projekthintergrund-Datei`},tickets_one:`{{count, number}} Ticket`,tickets_other:`{{count, number}} Tickets`,moveUp:`{{name}} nach oben verschieben`,moveDown:`{{name}} nach unten verschieben`,workflow:{title:`Workflow`,new:`Neuer Zustand`,edit:`Zustand bearbeiten`,editNamed:`Zustand {{name}} bearbeiten`,deleteNamed:`Zustand {{name}} löschen`,onlyState:`{{name}} ist der einzige Zustand der Kategorie {{category}}`,saved:`Zustand gespeichert`,name:`Name des Zustands`,category:`Kategorie`,color:`Farbe des Zustands`,categoryChange:`Seine Tickets wechseln in den Status {{status}}.`,save:`Zustand speichern`,delete:`Zustand löschen`,deleteTitle:`{{name}} löschen`,deleted:`Zustand gelöscht`,reassign_one:`{{count, number}} Ticket verschieben nach`,reassign_other:`{{count, number}} Tickets verschieben nach`},labels:{title:`Labels`,search:`Labels suchen`,new:`Neues Label`,edit:`Label bearbeiten`,workspace:`Arbeitsbereich`,editNamed:`Label {{name}} bearbeiten`,deleteNamed:`Label {{name}} löschen`,deleteUsed_one:`{{name}} von {{count, number}} Ticket entfernen, einschließlich archivierter Tickets? Gespeicherte Ansichten mit diesem Label verlieren ihren Label-Filter.`,deleteUsed_other:`{{name}} von {{count, number}} Tickets entfernen, einschließlich archivierter Tickets? Gespeicherte Ansichten mit diesem Label verlieren ihren Label-Filter.`,deleteUsedShared_one:`{{name}} in allen Projekten von {{count, number}} Ticket entfernen, einschließlich archivierter Tickets? Gespeicherte Ansichten mit diesem Label verlieren ihren Label-Filter.`,deleteUsedShared_other:`{{name}} in allen Projekten von {{count, number}} Tickets entfernen, einschließlich archivierter Tickets? Gespeicherte Ansichten mit diesem Label verlieren ihren Label-Filter.`,deleteUnused:`Das unbenutzte Label {{name}} löschen? Gespeicherte Ansichten damit verlieren ihren Label-Filter.`,deleted:`Label gelöscht`,noMatches:`Keine passenden Labels`,empty:`Noch keine Labels`,saved:`Label gespeichert`,name:`Label-Name`,color:`Label-Farbe`,rename:`Das Umbenennen aktualisiert dieses Label auf Tickets und in gespeicherten Ansichten.`,renameShared:`Das Umbenennen aktualisiert dieses Label auf Tickets und in gespeicherten Ansichten in allen Projekten.`,adopt:`Projekt-Labels übernehmen`,adoptDescription:`Definiert in {{projects}}. Deren Tickets behalten das Label und erhalten diese Farbe.`,save:`Label speichern`},fields:{title:`Felder`,new:`Neues Feld`,edit:`Feld bearbeiten`,editNamed:`Feld {{name}} bearbeiten`,deleteNamed:`Feld {{name}} löschen`,deleteUsed_one:`{{name}} löschen und seine Werte von {{count, number}} Ticket entfernen, einschließlich archivierter Tickets? Gespeicherte Ansichten verlieren ihre Filter darauf.`,deleteUsed_other:`{{name}} löschen und seine Werte von {{count, number}} Tickets entfernen, einschließlich archivierter Tickets? Gespeicherte Ansichten verlieren ihre Filter darauf.`,deleteUnused:`Das unbenutzte Feld {{name}} löschen? Gespeicherte Ansichten verlieren ihre Filter darauf.`,deleted:`Feld gelöscht`,empty:`Noch keine Felder`,saved:`Feld gespeichert`,required:`Pflichtfeld`,requiredDescription:`Neue Tickets benötigen einen Wert.`,defaultValue:`Standard: {{value}}`,default:`Standard`,name:`Feldname`,type:`Typ`,options:`Optionen`,option:`Option {{number}}`,optionInline:`Option {{number}}`,optionColor:`Farbe von {{name}}`,removeOption:`{{name}} entfernen`,addOption:`Option hinzufügen`,reassign:`Tickets mit {{name}}`,clearValue:`Wert leeren`,moveTo:`Nach {{name}} verschieben`,save:`Feld speichern`},lifecycle:{archivedToast:`Projekt archiviert`,restoredToast:`Projekt wiederhergestellt`,archivedNotice:`Archiviert <time/> · schreibgeschützt`,restore:`Wiederherstellen`,archive:`Archivieren`,archivedDescription:`Archiviert <time/>. Seine Tickets sind schreibgeschützt und erscheinen nicht in Listen, der Suche, Meine Arbeit, Kalender-Feeds und Agenten-Warteschlangen.`,archiveDescription:`Blendet das Projekt in Listen, der Suche, Meine Arbeit, Kalender-Feeds und Agenten-Warteschlangen aus und macht seine Tickets schreibgeschützt. Der Verlauf bleibt erhalten.`,archiveProject:`Projekt archivieren`,archiveConfirm:`{{name}} verschwindet aus Projektlisten und Agenten-Warteschlangen, bis es wiederhergestellt wird. Übernommene Tickets müssen zuerst freigegeben werden.`,blocker:`{{message}}: {{tickets}}`,row:{tickets:`Tickets`,losesAccess:`Verliert Zugriff`,gainsAccess:`Erhält Zugriff`,labelsCopied:`Labels kopiert`,labelsMerged:`Labels zusammengeführt`,followsRemoved:`Abonnements entfernt`,invitations:`Einladungen`,comments:`Kommentare`,files:`Dateien`,kept:`Erhalten`,projects:`Projekte`,members:`Mitglieder`,sharedLabels:`Gemeinsame Labels`,signIn:`Anmeldung`,sessions:`Sitzungen`,credentials:`Zugangsdaten`,devices:`Geräte`,access:`Zugriff`,claims:`Übernahmen`,imports:`Importe`,profile:`Profil`},transferTickets_one:`{{count, number}}, mit Schlüssel und Links`,transferTickets_other:`{{count, number}}, mit ihren Schlüsseln und Links`,noOne:`Niemand`,transferInvitations_one:`{{count, number}} ausstehende Einladung verliert das Projekt`,transferInvitations_other:`{{count, number}} ausstehende Einladungen verlieren das Projekt`,files_one:`{{count, number}} · {{size}}`,files_other:`{{count, number}} · {{size}}`,keptProject_one:`{{count, number}} Aktivitätseintrag und das Präfix {{key}}`,keptProject_other:`{{count, number}} Aktivitätseinträge und das Präfix {{key}}`,keptWorkspace_one:`{{count, number}} Aktivitätseintrag und der URL-Schlüssel {{slug}}`,keptWorkspace_other:`{{count, number}} Aktivitätseinträge und der URL-Schlüssel {{slug}}`,archivedProject:`archiviert`,membersLoseAccess_one:`{{count, number}} verliert den Zugriff; das Konto bleibt`,membersLoseAccess_other:`{{count, number}} verlieren den Zugriff; ihre Konten bleiben`,pendingInvitations_one:`{{count, number}} ausstehend`,pendingInvitations_other:`{{count, number}} ausstehend`,move:`Verschieben`,moveTitle:`{{name}} verschieben`,moved:`Nach {{name}} verschoben`,movedUnnamed:`In den Arbeitsbereich verschoben`,destination:`Ziel-Arbeitsbereich`,moveProject:`Projekt verschieben`,moving:`Wird verschoben…`,export:`Exportieren`,exportDescription:`Tickets mit Workflow, Feldern, Labels, Beziehungen, Kommentaren, Nachweisen und Links als versioniertes JSON. Anhänge und Aktivitätsverlauf bleiben hier.`,exporting:`Wird exportiert…`,exportJson:`JSON exportieren`,delete:`Löschen`,deleteTitle:`{{name}} löschen`,deleted:`{{name}} gelöscht`,typeToConfirm:`Geben Sie zur Bestätigung {{value}} ein`,deleting:`Wird gelöscht…`,deleteProject:`Projekt löschen`,deleteProjectDescription:`Entfernt Tickets, Kommentare und Dateien endgültig. Der Aktivitätsverlauf bleibt, und {{key}} wird nie wiederverwendet.`,signInAgain:`Erneut anmelden`,deleteWorkspace:`Arbeitsbereich löschen`,deleteWorkspaceDescription:`Löscht jedes Projekt im Arbeitsbereich mit seinen Tickets, Kommentaren und Dateien endgültig und entfernt seine Mitglieder. Konten und Aktivitätsverlauf bleiben erhalten.`,noSignInMethods:`Keine verknüpften Anmeldemethoden`,sessions_one:`{{count, number}} Sitzung abgemeldet`,sessions_other:`{{count, number}} Sitzungen abgemeldet`,credentials_one:`{{count, number}} API-Schlüssel oder App-Verbindung widerrufen`,credentials_other:`{{count, number}} API-Schlüssel oder App-Verbindungen widerrufen`,devices_one:`{{count, number}} Gerät oder Benachrichtigungskanal entfernt`,devices_other:`{{count, number}} Geräte oder Benachrichtigungskanäle entfernt`,workspaceCount_one:`{{count, number}} Arbeitsbereich`,workspaceCount_other:`{{count, number}} Arbeitsbereiche`,directProjectCount_one:`{{count, number}} direktes Projekt`,directProjectCount_other:`{{count, number}} direkte Projekte`,accessWorkspaces:`{{workspaces}} entfernt`,accessBoth:`{{workspaces}} und {{projects}} entfernt`,claims_one:`{{count, number}} Übernahme freigegeben`,claims_other:`{{count, number}} Übernahmen freigegeben`,imports_one:`{{count, number}} Import abgebrochen`,imports_other:`{{count, number}} Importe abgebrochen`,profileErased:`Name, E-Mail und Foto gelöscht`,commentCount_one:`{{count, number}} Kommentar`,commentCount_other:`{{count, number}} Kommentare`,activityCount_one:`{{count, number}} Aktivitätseintrag`,activityCount_other:`{{count, number}} Aktivitätseinträge`,keptAccount:`{{tickets}}, {{comments}} und {{events}}, angezeigt als {{name}}`,deleteAccount:`Konto löschen`,deleteOwnAccount:`Entfernt Ihre Anmeldung, Sitzungen, Schlüssel, Geräte, Mitgliedschaften und persönlichen Daten endgültig. Tickets, Kommentare und Aktivität bleiben und werden als {{name}} angezeigt.`,deleteOtherAccount:`Entfernt Anmeldung, Sitzungen, Schlüssel, Geräte, Mitgliedschaften und persönliche Daten dieses Kontos endgültig. Tickets, Kommentare und Aktivität bleiben und werden als {{name}} angezeigt.`},icon:{change:`Symbol ändern`,title:`Projektsymbol`,library:`Symbolbibliothek`,upload:`Bild hochladen`,search:`Symbole suchen`,searchPlaceholder:`Symbole suchen…`,color:`Symbolfarbe`,choose:`{{name}} wählen`,noMatches:`Keine passenden Symbole`,showMore:`Weitere Symbole anzeigen`,uploading:`Wird hochgeladen…`,chooseImage:`Bild wählen`,formats:`PNG, JPEG oder WebP · bis 10 MB`,file:`Projektsymbol-Datei`,reset:`Symbol zurücksetzen`},createProject:{title:`Neues Projekt`,inWorkspace:`In {{name}}`,everyoneLabel:`Alle in diesem Arbeitsbereich`,name:`Projektname`,namePlaceholder:`Mobile App`,create:`Projekt erstellen`},workspace:{title:`Einstellungen des Arbeitsbereichs`,owner:`Inhaber`,noOwner:`Kein Inhaber. Eine Instanzadministration kann einen zuweisen.`,transfer:`Inhaberschaft übertragen`,transferring:`Wird übertragen…`,transferred:`{{name}} ist jetzt Inhaber von {{workspace}}`,newOwner:`Neuer Inhaber`,noEligible:`Die Inhaberschaft geht an eine aktive Administration des Arbeitsbereichs. Machen Sie zuerst ein anderes Mitglied zum Administrator.`,chosenCan:`{{name}} kann den Arbeitsbereich danach übertragen oder löschen.`,newOwnerCan:`Der neue Inhaber kann den Arbeitsbereich übertragen oder löschen.`,ownerStays:`{{name}} bleibt Administrator.`,unavailable:`Arbeitsbereich nicht verfügbar`,backToProjects:`Zurück zu den Projekten`,name:`Name des Arbeitsbereichs`,edit:`Arbeitsbereich bearbeiten`,copyKey:`Schlüssel des Arbeitsbereichs kopieren`,saved:`Arbeitsbereich gespeichert`,projects:`Projekte`,projectCount_one:`{{count, number}} Projekt, auf das Sie in diesem Arbeitsbereich zugreifen können.`,projectCount_other:`{{count, number}} Projekte, auf die Sie in diesem Arbeitsbereich zugreifen können.`,viewProjects:`Projekte ansehen`,members:`Mitglieder`,membersDescription:`Rollen im Arbeitsbereich gelten für Projekte, die den Zugriff des Arbeitsbereichs verwenden.`,manageMembers:`Mitglieder verwalten`},members:{title:`Mitglieder`,customRole:`Eigene Rolle`,search:`Mitglieder suchen`,searchPlaceholder:`Name oder E-Mail…`,add:`Mitglied hinzufügen`,added:`Mitglied hinzugefügt`,workspaceAccess:`Zugriff des Arbeitsbereichs`,owner:`Inhaber`,roleFor:`Rolle für {{name}}`,useWorkspaceAccess:`Zugriff des Arbeitsbereichs verwenden`,remove:`Mitglied entfernen`,removeFromWorkspace:`{{name}} aus diesem Arbeitsbereich und allen seinen Projekten entfernen?`,restoreAccess:`Zugriff „{{role}}“ des Arbeitsbereichs für {{name}} wiederherstellen?`,removeFromProject:`Projektzugriff von {{name}} entfernen?`,noMatches:`Keine passenden Mitglieder`,empty:`Keine Mitglieder`,projectRole:`Projektrolle`,workspaceRole:`Rolle im Arbeitsbereich`},invitations:{title:`Einladungen`,invite:`Per E-Mail einladen`,removedProjects:`Entfernte Projekte`,wholeWorkspace:`Gesamter Arbeitsbereich`,selectedProjects:`Ausgewählte Projekte`,expired:`Abgelaufen`,expires:`Läuft ab <time/>`,resend:`Einladung erneut an {{email}} senden`,revoke:`Einladung widerrufen`,revokeDescription:`Der an {{email}} gesendete Link funktioniert dann nicht mehr.`,revoked:`Einladung widerrufen`,empty:`Keine ausstehenden Einladungen`,email:`E-Mail`,role:`Rolle`,access:`Zugriff`,projects:`Projekte`,noProjects:`Dieser Arbeitsbereich hat keine Projekte.`,linkExpires:`Link läuft ab`,inDays_one:`In {{count, number}} Tag`,inDays_other:`In {{count, number}} Tagen`,submit:`Einladen`,link:`Einladungslink`,copyLink:`Einladungslink kopieren`,emailed:`An {{email}} gesendet. Der Link funktioniert einmal, für diese Adresse.`,notEmailed:`E-Mail ist auf dieser Instanz nicht konfiguriert. Senden Sie diesen Link an {{email}}; er funktioniert einmal, für diese Adresse.`,notEmailedUnknown:`E-Mail ist auf dieser Instanz nicht konfiguriert. Senden Sie diesen Link an die empfangende Person; er funktioniert einmal, für diese Adresse.`},workspaces:{title:`Arbeitsbereiche`,search:`Arbeitsbereiche suchen`,searchPlaceholder:`Name oder URL-Schlüssel…`,noMatches:`Keine passenden Arbeitsbereiche`,empty:`Keine Arbeitsbereiche`,workspace:`Arbeitsbereich`,administrators:`Administratoren`,members:`Mitglieder`,projects:`Projekte`,created:`Erstellt`,actions:`Aktionen`,noAdministrator:`Kein Administrator`,manage:`{{name}} verwalten`,pagerNoun:`Arbeitsbereiche`,private:`Privat`,noProjects:`Keine Projekte`},roles:{title:`Rollen`,new:`Neue Rolle`,edit:`Rolle bearbeiten`,builtIn:`Integriert`,readOnly:`Keine Aktionen außer Lesen`,memberships_one:`{{count, number}} Mitgliedschaft`,memberships_other:`{{count, number}} Mitgliedschaften`,editNamed:`Rolle {{name}} bearbeiten`,deleteNamed:`Rolle {{name}} löschen`,deleteUnused:`Die unbenutzte Rolle {{name}} löschen?`,deleted:`Rolle gelöscht`,empty:`Keine Rollen`,saved:`Rolle gespeichert`,name:`Rollenname`,actions:`Aktionen`,everyoneReads:`Jedes Mitglied kann die Projekte lesen, die es erreicht.`,changesApply_one:`Änderungen gelten sofort für die {{count, number}} Mitgliedschaft mit dieser Rolle.`,changesApply_other:`Änderungen gelten sofort für die {{count, number}} Mitgliedschaften mit dieser Rolle.`,save:`Rolle speichern`,delete:`Rolle löschen`,reassignDescription_one:`{{count, number}} Mitgliedschaft hat {{name}}. Wählen Sie die Rolle, in die sie wechselt.`,reassignDescription_other:`{{count, number}} Mitgliedschaften haben {{name}}. Wählen Sie die Rolle, in die sie wechseln.`,moveTo:`Mitglieder verschieben nach`},theme:{mode:{light:`Hell`,dark:`Dunkel`,system:`System`},aligned:`Angeglichen`,hexColor:`Verwenden Sie eine sechsstellige Hex-Farbe`,contrast:{light:`Erhöhen Sie den Textkontrast des hellen Designs auf mindestens 4,5:1.`,dark:`Erhöhen Sie den Textkontrast des dunklen Designs auf mindestens 4,5:1.`},fileTooLarge:`Design-Dateien müssen kleiner als 100 KB sein.`,tooMany:`Höchstens 50 eigene Designs behalten.`},appearance:{colorScheme:`Farbschema`,theme:`Design`,themes:`Designs`,colorTheme:`Farbdesign`,search:`Designs suchen`,searchPlaceholder:`Designs suchen…`,create:`Design erstellen`,add:`Design hinzufügen`,importFile:`Design-Datei importieren`,useMode:{light:`Hellen Modus von {{name}} verwenden`,dark:`Dunklen Modus von {{name}} verwenden`},modeOnly:{light:`Nur für den hellen Modus verwenden`,dark:`Nur für den dunklen Modus verwenden`},copyName:`{{name}} (Kopie)`,duplicate:`{{name}} duplizieren`,edit:`{{name}} bearbeiten`,export:`{{name}} exportieren`,delete:`{{name}} löschen`,deleteDescription:`{{name}} aus diesem Browser entfernen? Helle oder dunkle Darstellungen, die es verwenden, fallen auf Ihr Basisdesign zurück.`,noMatches:`Keine passenden Designs`,customTheme:`Eigenes Design`,name:`Designname`,paletteColor:`{{color}} ({{mode}})`,color:{background:`Hintergrund`,foreground:`Text`,sidebar:`Seitenleiste`,primary:`Akzent`,primaryForeground:`Akzenttext`},save:`Design speichern`},color:{swatch:`{{label}}: {{color}}`,removeCustom:`{{hex}} aus den eigenen Farben entfernen`,custom:`Eigene Farbe`,default:`Standard`,red:`Rot`,orange:`Orange`,amber:`Bernstein`,yellow:`Gelb`,lime:`Limette`,green:`Grün`,emerald:`Smaragd`,teal:`Petrol`,cyan:`Cyan`,sky:`Himmelblau`,blue:`Blau`,indigo:`Indigo`,violet:`Violett`,purple:`Lila`,fuchsia:`Fuchsia`,pink:`Pink`,rose:`Rosé`,gray:`Grau`}},admin:{instance:{title:`Administration`,heading:`Instanz`,edit:`Instanz bearbeiten`,name:`Name`,description:`Beschreibung`,noDescription:`Keine Beschreibung`,version:`Anwendungsversion`,publicUrl:`Öffentliche URL`,provider:{local:`Lokaler PostgreSQL-Speicher`,s3:`S3-kompatibler Objektspeicher`,postgres:`Integriertes PostgreSQL`,elasticsearch:`Elasticsearch-kompatible Suche`},section:{storage:`Dateispeicher`,search:`Ticketsuche`,events:`Ereigniszustellung`},viewConfiguration:`Konfiguration ansehen`,configure:{storage:`Speicher konfigurieren`,search:`Suche konfigurieren`,events:`Ereigniszustellung konfigurieren`},providerTitle:`Anbieter`,deploymentManaged:`Durch das Deployment verwaltet`,instanceManaged:`Durch die Instanz verwaltet`,transfers:`Übertragungen`,indexStatus:`Indexstatus`,connection:`Verbindung`,transfersS3:`Dateien werden in den Objektspeicher verschoben, nachdem sie lokal gespeichert wurden.`,transfersLocal:`Neue Dateien werden in PostgreSQL gespeichert.`,searchBuiltIn:`Die Suche läuft direkt in PostgreSQL.`,searchIndexed:`Ticketänderungen werden im Hintergrund indexiert.`,eventsConnection:`Benachrichtigungen wecken Konsumenten; PostgreSQL bewahrt den Wiedergabeverlauf.`,builtIn:`Integriert`,connected:`Verbunden`,upToDate:`Aktuell`,status:{ready:`bereit`,transferring:`wird übertragen`,indexing:`wird indexiert`,connecting:`wird verbunden`,unavailable:`nicht verfügbar`},pendingTransfers:`Ausstehende Übertragungen`,pendingRemain:`Diese Dateien bleiben aus PostgreSQL verfügbar, bis die Übertragung abgeschlossen ist.`,noPending:`Keine Dateien warten auf die Übertragung.`,bucket:`Bucket`,storageEndpoint:`Speicher-Endpunkt`,backup:`Sicherung`,backupBuckets:`Sichern Sie PostgreSQL und jeden referenzierten Objektspeicher-Bucket.`,backupDatabase:`Dateiinhalte sind in Ihrer PostgreSQL-Sicherung enthalten.`,fallback:`Ausweichlösung`,fallbackDescription:`Die PostgreSQL-Suche ist verfügbar, solange ein externer Index zurückliegt oder offline ist.`,searchEndpoint:`Such-Endpunkt`,index:`Index`,delivery:`Zustellung`,deliveryDescription:`Dauerhafte Ereignisse und die Wiedergabe bleiben in PostgreSQL. Ein optionaler Broker verteilt Weckrufe.`,brokerEndpoint:`Broker-Endpunkt`,exchange:`Exchange`},configure:{storageTitle:`Dateispeicher konfigurieren`,searchTitle:`Ticketsuche konfigurieren`,eventsTitle:`Ereigniszustellung konfigurieren`,saved:`Instanzeinstellungen gespeichert`,instanceName:`Name der Instanz`,instanceDescription:`Beschreibung der Instanz`,publicUrlSource:`Die öffentliche URL wird durch KANVIL_URL in Ihrem Deployment festgelegt.`,storageIntro:`Anhänge und Profilfotos verwenden diesen Anbieter. Vorhandene Dateien behalten ihren ursprünglichen Speicherort.`,storageProvider:`Speicheranbieter`,localDescription:`Dateiinhalte werden in der lokalen Datenbank gespeichert und sind in PostgreSQL-Sicherungen enthalten.`,s3Endpoint:`S3-Endpunkt`,s3EndpointHint:`Lassen Sie den Endpunkt für Amazon S3 leer.`,region:`Region`,prefix:`Präfix für Objektschlüssel`,accessKeyId:`Zugriffsschlüssel-ID`,secretAccessKey:`Geheimer Zugriffsschlüssel`,savedSecret:`Gespeichert. Leer lassen, um ihn zu behalten.`,deploymentCredentials:`Zugangsdaten des Deployments, wenn leer`,pathStyle:`Bucket-URLs im Pfadstil verwenden`,storageVerified:`Speicherverbindung überprüft`,testStorage:`Speicherverbindung testen`,filesWaiting_one:`{{count, number}} Datei wartet auf die Übertragung. Ausstehende Dateien bleiben aus PostgreSQL lesbar.`,filesWaiting_other:`{{count, number}} Dateien warten auf die Übertragung. Ausstehende Dateien bleiben aus PostgreSQL lesbar.`,transfersComplete:`Alle Dateiübertragungen abgeschlossen.`,storageDeployment:`Der Speicher wird über KANVIL_STORAGE_PROVIDER und die Deployment-Variablen S3_* konfiguriert.`,locations:`Vorhandene Speicherorte`,locationFiles_one:`{{count, number}} Datei`,locationFiles_other:`{{count, number}} Dateien`,cleanUp:`Unbenutzte Dateien bereinigen`,cleanUpConfirm:`Nicht referenzierte Dateien und fehlgeschlagene Uploads, die älter als ein Tag sind, entfernen? An Tickets oder Profile angehängte Dateien bleiben erhalten.`,cleanUpNote:`Die Bereinigung läuft auch automatisch. S3-Objekte erfordern neben der Datenbanksicherung eine Bucket-Sicherung.`,searchProvider:`Suchanbieter`,searchBuiltIn:`Integrierte PostgreSQL-Suche`,indexName:`Name des Kanvil-Index`,searchAuthentication:`Authentifizierung der Suche`,noAuthentication:`Keine Authentifizierung`,apiKey:`API-Schlüssel`,basic:`Benutzername und Passwort`,searchApiKey:`API-Schlüssel der Suche`,optional:`Optional`,searchUsername:`Benutzername der Suche`,searchPassword:`Passwort der Suche`,searchVerified:`Suchverbindung überprüft`,testSearch:`Suchverbindung testen`,rebuildQueued:`Neuaufbau der Suche eingereiht`,rebuild:`Index neu aufbauen`,searchNote:`PostgreSQL bleibt maßgeblich für Berechtigungen und Filter. Die Suche weicht auf PostgreSQL aus, solange ein externer Index aufholt oder nicht verfügbar ist.`,brokerProvider:`Anbieter der Ereigniszustellung`,brokerBuiltIn:`Integrierte PostgreSQL-Benachrichtigungen`,rabbitUrl:`RabbitMQ-Verbindungs-URL`,savedBrokerEndpoint:`Gespeicherter Broker-Endpunkt`,rabbitExchange:`RabbitMQ-Exchange`,brokerVerified:`RabbitMQ-Zustellung überprüft`,testBroker:`Broker-Verbindung testen`,brokerNote:`RabbitMQ verteilt Weckrufe für festgeschriebene Ereignisse an Kanvil-Instanzen und weckt Hintergrund-Worker. PostgreSQL bewahrt die dauerhaften Ereignisse und ausstehende Arbeit und stellt Weckrufe zu, wenn der Broker nicht verfügbar ist.`,brokerDeployment:`Die Ereigniszustellung wird über KANVIL_BROKER_PROVIDER und die Deployment-Variablen RABBITMQ_* konfiguriert.`,save:`Instanzeinstellungen speichern`},authentication:{title:`Authentifizierung`,saved:`Authentifizierung gespeichert`,emailPassword:`Anmeldung mit E-Mail und Passwort`,emailPasswordDescription:`Umfasst Anmeldecodes per E-Mail und das Zurücksetzen von Passwörtern.`,ssoProvision:`Benutzer automatisch aus SSO anlegen`,ssoProvisionDescription:`Neue SSO-Benutzer haben bis zu einer Einladung keinen Zugriff auf Arbeitsbereiche oder Projekte.`,registration:`Öffentliche Registrierung per E-Mail`,registrationClosed:`Geschlossen`,identityProvider:`Identitätsanbieter`,notConfigured:`Nicht konfiguriert`,linkedProviders:`Anbieter für verknüpfte Konten`,linkedProvidersDescription:`Melden nur Konten an, die sie verknüpft haben; sie legen nie Konten an.`,save:`Authentifizierung speichern`,discoveryUrl:`OIDC-Discovery-URL`,clientId:`OIDC-Client-ID`,oidcSetup:`Konfigurieren Sie OIDC_DISCOVERY_URL, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET und OIDC_NAME oder ein Paar aus CLIENT_ID und CLIENT_SECRET für GITHUB_, GOOGLE_ oder DISCORD_ in Ihrem Deployment und starten Sie Kanvil neu. Geheimnisse des Anbieters werden nie an den Browser zurückgegeben.`,consumers:`Schnittstellen für Konsumenten`,mcpEndpoint:`MCP-Endpunkt`,eventFeed:`Echtzeit-Ereignisfeed`,openApi:`OpenAPI-Spezifikation`},users:{title:`Benutzer`,search:`Benutzer suchen`,searchPlaceholder:`Name oder E-Mail…`,new:`Neuer Benutzer`,roleFilter:`Filter nach Instanzrolle`,allRoles:`Alle Rollen`,administrators:`Administratoren`,users:`Benutzer`,statusFilter:`Filter nach Kontostatus`,allAccounts:`Alle Konten`,active:`Aktiv`,disabled:`Deaktiviert`,noMatches:`Keine passenden Benutzer`,empty:`Keine Benutzer`,user:`Benutzer`,role:`Rolle`,status:`Status`,joined:`Beigetreten`,actions:`Aktionen`,administrator:`Administrator`,manage:`{{name}} verwalten`,pagerNoun:`Benutzer`,create:`Konto erstellen`,creating:`Wird erstellt…`,created:`{{email}} erstellt`,name:`Name`,email:`E-Mail`,initialPassword:`Anfangspasswort`,instanceRole:`Instanzrolle`},account:{details:`Kontodetails`,joined:`Beigetreten am {{date}}`,edit:`Konto bearbeiten`,instanceRole:`Instanzrolle`,adminDescription:`Kann jeden Arbeitsbereich, jedes Konto und jede Deployment-Einstellung verwalten.`,userDescription:`Rollen in Arbeitsbereichen und Projekten bestimmen den Zugriff.`,changeRole:`Rolle ändern`,changeRoleTitle:`Instanzrolle ändern`,signInMethods:`Anmeldemethoden`,setPassword:`Lokales Passwort festlegen`,activeSessions:`Aktive Sitzungen`,sessions_one:`{{count, number}} Sitzung`,sessions_other:`{{count, number}} Sitzungen`,revokeSessions:`Sitzungen widerrufen`,revokeConfirm:`{{name}} auf allen Geräten abmelden? API-Schlüssel bleiben aktiv.`,sessionsRevoked:`Sitzungen widerrufen`,access:`Kontozugriff`,accessDisabled:`Anmeldung und API-Zugriff sind deaktiviert.`,accessPreserved:`Das Deaktivieren eines Kontos erhält Tickets und Aktivitätsverlauf.`,enable:`Konto aktivieren`,disable:`Konto deaktivieren`,enableConfirm:`Anmeldung für {{name}} wiederherstellen?`,disableConfirm:`Anmeldung und API-Zugriff von {{name}} deaktivieren und die Sitzungen widerrufen?`,enabled:`Konto aktiviert`,disabledToast:`Konto deaktiviert`,updateFailed:`Das Konto konnte nicht aktualisiert werden`,workspaces:`Arbeitsbereiche`,addToWorkspace:`Zu Arbeitsbereich hinzufügen`,noWorkspaces:`Keine Mitgliedschaft in Arbeitsbereichen`,projectAccess:`Direkter Projektzugriff`,updated:`Konto aktualisiert`,roleUpdated:`Instanzrolle aktualisiert`,workspaceAdded:`Zugriff auf Arbeitsbereich hinzugefügt`,passwordMismatch:`Die neuen Passwörter stimmen nicht überein.`,passwordSet:`Lokales Passwort festgelegt und Sitzungen widerrufen`,name:`Name`,email:`E-Mail`,user:`Benutzer`,administrator:`Administrator`,adminsNote:`Administratoren können alle Arbeitsbereiche, Benutzer und Instanzeinstellungen verwalten.`,workspace:`Arbeitsbereich`,workspaceRole:`Rolle im Arbeitsbereich`,newPassword:`Neues Passwort`,confirmPassword:`Neues Passwort bestätigen`,passwordNote:`Dies legt ein lokales Passwort fest und meldet den Benutzer auf allen Geräten ab.`,save:`Änderungen speichern`},delivery:{field:{address:`E-Mail-Adresse`,server:`Server`,topic:`Thema`,accessToken:`Zugriffstoken`,applicationToken:`Anwendungstoken`,endpointUrl:`Endpunkt-URL`,signingSecret:`Signaturgeheimnis`,incomingWebhookUrl:`URL des eingehenden Webhooks`,webhookUrl:`Webhook-URL`,channel:`Kanal`,botToken:`Bot-Token`,chatId:`Chat-ID`,chatIdPlaceholder:`-1001234567890 oder @channel`,topicId:`Themen-ID`,optional:`{{label}} (optional)`,removeSaved:`Gespeicherte(s) {{label}} entfernen`,savedSecret:`Gespeichert · leer lassen, um es zu behalten`},failure:{blockedAddress:`Diese Adresse ist nicht zulässig`,redirectBlocked:`Der Endpunkt hat umgeleitet`,dnsError:`Host nicht gefunden`,networkError:`Keine Verbindung möglich`,timeout:`Zeitüberschreitung`,invalidEndpoint:`Ungültiger Endpunkt`,emailUnavailable:`E-Mail ist auf diesem Server nicht konfiguriert`,smtpError:`Mailserver nicht verfügbar`,accessRevoked:`Die Administration, die es verbunden hat, hat keinen Zugriff mehr; neu verbinden`,repositoryMismatch:`Eine Zustellung kam aus einem anderen Repository`,http:`Mit HTTP {{status}} abgelehnt`,smtp:`Mailserver antwortete {{code}}`},health:{delivery:{done:`Zugestellt <time/>`,pending:`Wird gesendet…`,none:`Noch nichts gesendet`,failed:`{{reason}}`},access:{done:`Zugriff geprüft <time/>`,pending:`Zugriff wird geprüft…`,none:`Zugriff nicht geprüft`,failed:`Zugriffsprüfung: {{reason}}`},retrying:`neuer Versuch`},paused:`Pausiert`,failing:`Fehlerhaft`,sendTest:`Test an {{name}} senden`,testQueued:`Test eingereiht`,resume:`{{name}} fortsetzen`,pause:`{{name}} pausieren`,edit:`{{name}} bearbeiten`,disconnect:`{{name}} trennen`,disconnected:`{{name}} getrennt`,name:`Name`,type:`Typ`,channels:`Kanäle`,addChannel:`Kanal hinzufügen`,noChannels:`Keine Kanäle`,editChannel:`Kanal bearbeiten`,channelSaved:`Kanal gespeichert`,channelRemoval:`{{name}} trennen? Die Einstellungen und eingereihten Benachrichtigungen werden verworfen.`,sendFrom:`Benachrichtigungen senden aus`,routeOff:`Nichts`,routeAll:`Allen Projekten`,routeSelected:`Ausgewählten Projekten`,saveChannel:`Kanal speichern`,adminsOnly:`Projektadministratoren verwalten Integrationen`,destinations:`Ziele`,addDestination:`Ziel hinzufügen`,noDestinations:`Keine Ziele`,editDestination:`Ziel bearbeiten`,destinationSaved:`Ziel gespeichert`,destinationRemoval:`{{name}} trennen? Die Einstellungen und eingereihten Nachrichten werden verworfen.`,send:`Senden`,saveDestination:`Ziel speichern`},repository:{setup:{github:`Das Token benötigt Lesezugriff auf das Repository sowie Schreibzugriff auf Issues und Pull Requests, um zu kommentieren oder Issues zu synchronisieren. Fügen Sie einen GitHub-Webhook mit der aus der Zeile dieses Repositorys kopierten URL, dem Content-Type application/json, diesem Geheimnis und den Ereignissen Branch or tag creation, Branch or tag deletion, Issues, Issue comments und Pull requests hinzu.`,gitea:`Das Token benötigt den Scope read:repository sowie write:issue, um zu kommentieren oder Issues zu synchronisieren. Fügen Sie einen Gitea-Webhook mit der aus der Zeile dieses Repositorys kopierten URL, dem Content-Type application/json, diesem Geheimnis und den Ereignissen Create, Delete, Issues, Issue Label, Issue Comment und Pull Request hinzu.`,gitlab:`Das Token benötigt den Scope read_api sowie api, um zu kommentieren oder Issues zu synchronisieren. Fügen Sie einen GitLab-Webhook mit der aus der Zeile dieses Repositorys kopierten URL, diesem geheimen Token und den Ereignissen Push, Issues, Comments und Merge request hinzu.`},noWebhook:`Kein Webhook empfangen`,webhookReceived:`Webhook empfangen <time/>`,saved:`Repository gespeichert`,title:`Repositorys`,connect:`Repository verbinden`,empty:`Keine Repositorys`,checkAccess:`Zugriff auf {{repository}} prüfen`,accessQueued:`Zugriffsprüfung eingereiht`,copyWebhook:`Webhook-URL für {{repository}} kopieren`,issueSync:`Issue-Synchronisierung für {{repository}}`,removal:`{{repository}} trennen? Sein Webhook funktioniert sofort nicht mehr. Von ihm hinzugefügte Links bleiben an ihren Tickets.`,edit:`Repository bearbeiten`,host:`Host`,serverUrl:`Server-URL`,serverUrlOptional:`Server-URL (optional)`,repository:`{{host}}-Repository`,nestedPlaceholder:`group/project`,placeholder:`owner/repository`,accessToken:`Zugriffstoken`,webhookSecret:`Webhook-Geheimnis`,savedSecret:`Gespeichert · leer lassen, um es zu behalten`,commentOnLink:{pull_request:`Neu verknüpfte Issues und Pull Requests kommentieren`,merge_request:`Neu verknüpfte Issues und Merge Requests kommentieren`},moveTickets:`Verknüpfte Tickets verschieben`,noMove:`Nicht verschieben`,save:`Repository speichern`},issueSync:{reason:{labels:`Seine Synchronisierungs-Labels haben sich geändert`,conflict:`Auf beiden Seiten geändert`,changedWhilePaused:`Das Issue wurde geändert, während das Repository pausiert war`,unverified:`Die Antwort des Hosts hat die Änderung nicht bestätigt`,claimConflict:`Das Ticket ist übernommen`,invalidContent:`Das Issue ist länger, als ein Ticket erlaubt`},issuesSyncing_one:`{{count, number}} Issue wird synchronisiert`,issuesSyncing_other:`{{count, number}} Issues werden synchronisiert`,linksStopped_one:`{{count, number}} Verknüpfung gestoppt`,linksStopped_other:`{{count, number}} Verknüpfungen gestoppt`,match:`Übereinstimmung`,matchAny:`Eines dieser Labels`,matchAll:`Alle diese Labels`,preview:{matching:`Weiter synchronisieren`,export:`Neu zu erstellende Issues`,pause:`Zu pausierende Verknüpfungen`,review:`Zu prüfende Verknüpfungen`},applied:`Issue-Synchronisierung angewendet`,title:`Issue-Synchronisierung · {{repository}}`,outbound:`Kanvil nach {{host}}`,exportTickets:`Tickets als Issues exportieren`,exportDescription:`Offene Tickets erhalten ein neues Issue; Titel, Beschreibung, Zustand und neue Kommentare bleiben synchron.`,ticketLabels:`Nur Tickets mit diesen Labels`,everyTicket:`Jedes offene Ticket`,inbound:`{{host}} nach Kanvil`,importIssues:`Issues als Tickets importieren`,importDescription:`Offene Issues werden importiert, wenn {{host}} sie das nächste Mal meldet.`,issueLabels:`Nur Issues mit diesen Labels`,everyIssue:`Jedes offene Issue`,previewLabel:`Vorschau`,previewAction:`Vorschau`,stopped:`Gestoppte Verknüpfungen · {{repository}}`,review:`Prüfen`,linkRemoved:`Verknüpfung entfernt`,resumed:`Synchronisierung fortgesetzt`,open:`Offen`,closed:`Geschlossen`,reviewTitle:`{{key}} prüfen`,mayExist:`{{host}} hat dieses Issue möglicherweise bereits; prüfen Sie das, bevor Sie es erneut erstellen.`,comparison:`Vergleich`,field:{title:`Titel`,description:`Beschreibung`,state:`Zustand`},notReported:`Nicht gemeldet`,unlink:`Verknüpfung lösen`,keepHost:`{{host}} behalten`,keepKanvil:`Kanvil behalten`,createAgain:`Issue erneut erstellen`,unlinkTicket:`Verknüpfung von {{key}} lösen`,unlinkConfirm:`Synchronisierung von {{key}} beenden? Das Ticket und das Issue bleiben beide bestehen.`},import:{count:{tickets:`Tickets`,workflow:`Workflow-Zustände`,fields:`Benutzerdefinierte Felder`,labels:`Labels`,relations:`Beziehungen`,comments:`Kommentare`,evidence:`Nachweise`,links:`Links`},notExport:`Diese Datei ist kein Kanvil-Ticketexport.`,progress_one:`{{status}} · {{done, number}} von {{count, number}} Datensatz`,progress_other:`{{status}} · {{done, number}} von {{count, number}} Datensätzen`,progressFailed_one:`{{status}} · {{done, number}} von {{count, number}} Datensatz · {{failed, number}} fehlgeschlagen`,progressFailed_other:`{{status}} · {{done, number}} von {{count, number}} Datensätzen · {{failed, number}} fehlgeschlagen`,title:`Import`,description:`Erstellt ein Projekt aus einem Kanvil-Ticketexport oder einem anderen Tracker: Linear, Jira, Trello, Plane, PLANKA oder Kaneo.`,action:`Projekt importieren`,detailsOf:`Details von {{name}}`,details:`Details`,exportFile:`Kanvil-Exportdatei`,source:`Quelle`,file:`Exportdatei`,jiraEdition:`Jira-Edition`,siteUrl:`Website-URL`,accountEmail:`E-Mail des Kontos`,apiKey:`API-Schlüssel`,apiToken:`API-Token`,personalToken:`Persönliches Zugriffstoken`,token:`Token`,apiUrl:`API-URL`,workspaceSlug:`URL-Schlüssel des Arbeitsbereichs`,signInWith:`Anmelden mit`,username:`Benutzername oder E-Mail`,password:`Passwort`,checkConnection:`Verbindungsdaten prüfen`,noProjects:`Mit diesen Zugangsdaten ist kein {{label}} lesbar.`,includeComments:`Kommentare einbeziehen`,projectName:`Projektname`,start:`Importieren`,connect:`Verbinden`,preview:`Vorschau`,starting:`Wird gestartet…`,connecting:`Wird verbunden…`,checking:`Wird geprüft…`,matched:`Zugeordnete Personen`,unmatched:`Nicht zugeordnete Personen`,previewLabel:`Importvorschau`,errorPrefix:`Fehler: `,notePrefix:`Hinweis: `,progressLabel:`Importfortschritt`,notImported:`Nicht importierte Datensätze`,stop:`Import stoppen`,openProject:`Projekt öffnen`}},native:{labelValue:`{{label}}: {{value}}`,ui:{dismiss:`Verwerfen`,loading:`Wird geladen`},server:{url:`Server-URL`,connect:`Verbinden`,change:`Server wechseln`,invalidOrigin:`Verwenden Sie den HTTP- oder HTTPS-Ursprung Ihres Kanvil-Servers, ohne Pfad oder Zugangsdaten.`,httpsRequired:`Verwenden Sie HTTPS, um sich mit Ihrem Kanvil-Server zu verbinden.`},login:{setupTitle:`Inhaberkonto erstellen`,signIn:`Anmelden`,signingIn:`Anmeldung läuft…`,createAccount:`Konto erstellen`,signInWith:`Mit {{provider}} anmelden`,name:`Name`,setupToken:`Einrichtungstoken`,email:`E-Mail`,password:`Passwort`},connection:{connecting:`wird verbunden`,connected:`● Live`,offline:`Offline · zwischengespeicherte Daten`,closed:`geschlossen`,signedOut:`Zum erneuten Verbinden anmelden`},screen:{projects:`Projekte`,inbox:`Posteingang`,settings:`Einstellungen`,tickets:`Tickets`,ticket:`Ticket`,newTicket:`Neues Ticket`,editTicket:`Ticket bearbeiten`},projects:{empty:`Noch keine Projekte`,new:`Neues Projekt`,name:`Projektname`,prefix:`Ticket-Präfix`,description:`Beschreibung`,create:`Projekt erstellen`},tickets:{search:`Tickets suchen`,searchPlaceholder:`Titel, Beschreibung oder Schlüssel`,allStatuses:`Alle Status`,empty:`Keine passenden Tickets`,count:`{{shown}} von {{total}}`},ticket:{priority:`Priorität {{priority}}`,noDifficulty:`Schwierigkeit nicht angegeben`,version:`v{{version}}`,starts:`Beginnt {{date}}`,due:`Fällig {{date}}`},editor:{stale:`Dieses Ticket wurde geändert. Ihr gespeicherter Entwurf verwendet noch Version {{version}}.`,discardDraft:`Entwurf verwerfen und neu laden`,title:`Titel`,noDifficulty:`Nicht angegeben`,labels:`Labels (durch Kommas getrennt)`,scopes:`Bereiche (durch Kommas getrennt)`,editMarkdown:`Markdown bearbeiten`,previewMarkdown:`Markdown-Vorschau`,description:`Beschreibung (Markdown)`,acceptanceCriteria:`Akzeptanzkriterien (Markdown)`,parent:`ID des übergeordneten Tickets`,automationReady:`Bereit für Agenten, sobald Anforderungen und Abhängigkeiten es erlauben`,holdReason:`Grund für die Zurückstellung`,draftSaved:`Entwurf auf diesem Gerät gespeichert`,save:`Ticket speichern`},detail:{archived:`Archiviert`,subscribe:`Abonnieren`,unsubscribe:`Abbestellen`,share:`Teilen`,description:`Beschreibung`,noDescription:`_Keine Beschreibung_`,acceptanceCriteria:`Akzeptanzkriterien`,noAcceptanceCriteria:`_Keine Akzeptanzkriterien_`,fields:`Felder`,archive:{action:`Ticket archivieren`,title:`Ticket archivieren?`,message:`Dieses Ticket aus aktiven Listen und der Agentenarbeit entfernen?`},unarchive:{action:`Ticket dearchivieren`,title:`Ticket dearchivieren?`,message:`Dieses Ticket wieder in aktive Listen aufnehmen?`}},readiness:{title:`Bereitschaft für Agenten`,ready:`Bereit zur Übernahme`,notReady:`Nicht bereit zur Übernahme`,hold:`Zurückgestellt: {{reason}}`,claimed:`Übernommen von {{worker}} bis {{time}}.`,release:{action:`Meine Übernahme freigeben`,title:`Übernahme freigeben?`,message:`Stoppen Sie Ihren Worker, bevor Sie die Übernahme freigeben.`,confirm:`Freigeben`},recover:{action:`Abgelaufene Übernahme wiederherstellen`,explanation:`Nur eine Projektadministration kann eine abgelaufene Übernahme wiederherstellen. Bestätigen Sie zuerst, dass der Worker gestoppt hat.`,reason:`Grund der Wiederherstellung`,confirm:`Worker gestoppt · wiederherstellen`}},relations:{title:`Beziehungen`,parent:`Übergeordnet · {{key}} · {{title}}`,openParent:`Übergeordnetes Ticket öffnen`,children:`Untergeordnete Tickets`,previousChildren:`Vorherige untergeordnete Tickets`,nextChildren:`Nächste untergeordnete Tickets`,remove:`Beziehung entfernen`,removeTitle:`Beziehung entfernen?`,add:`Beziehung hinzufügen`,find:`Ticket finden`,type:`Beziehung`,ticket:`Ticket`,choose:`Ticket wählen`},discussion:{title:`Diskussion`,previous:`Vorherige Kommentare`,next:`Nächste Kommentare`,field:`Kommentar (Markdown)`,submit:`Kommentieren`,you:`Sie`,edit:`Kommentar bearbeiten`,editField:`Kommentar`,delete:`Kommentar löschen`,deleteTitle:`Kommentar löschen?`,deleteMessage:`Diesen Kommentar endgültig entfernen?`,save:`Kommentar speichern`},attachments:{title:`Anhänge`,item:`{{name}} · {{size}} kB`,remove:`{{name}} entfernen`,removeTitle:`Anhang entfernen?`,working:`Wird ausgeführt…`,add:`Anhang hinzufügen`,tooLarge:`Wählen Sie eine Datei mit höchstens 10 MB.`,sharingUnavailable:`Das Teilen von Dateien ist auf diesem Gerät nicht verfügbar.`},evidence:{title:`Nachweise`,explanation:`Ergebnisse werden von den einreichenden Konten gemeldet.`,add:`Nachweis hinzufügen`,name:`Titel`,url:`URL`,outcome:`Gemeldetes Ergebnis`,commit:`Commit (vollständiger Hash)`,note:`Notiz`,save:`Nachweis speichern`},activity:{title:`Aktivität`,previous:`Vorherige Aktivität`,next:`Nächste Aktivität`},inbox:{markAllRead:`Alle als gelesen markieren`,empty:`Keine Benachrichtigungen`},notifications:{title:`Benachrichtigungen`,inApp:`Aktualisierungen abonnierter Tickets im Posteingang`,push:`Push-Benachrichtigungen`,enableDevice:`Push auf diesem Gerät aktivieren`,disableDevice:`Push auf diesem Gerät deaktivieren`,unconfigured:`Dieser Build benötigt für Push eine Expo-Projekt-ID und eine Signaturkonfiguration.`,noProjectId:`Dieser Build benötigt für Push-Benachrichtigungen eine Expo-Projekt-ID.`,permissionDenied:`Erlauben Sie Benachrichtigungen in den Geräteeinstellungen, um Push zu aktivieren.`,channel:`Ticket-Aktualisierungen`},settings:{password:{title:`Lokales Passwort`,current:`Aktuelles Passwort`,new:`Neues Passwort`,change:`Passwort ändern`,updated:`Passwort aktualisiert; andere Sitzungen widerrufen`},oidc:{linked:`Konto verknüpft`,explanation:`Verknüpfen Sie dieses Konto, bevor Sie sich mit diesem Anbieter anmelden.`,link:`{{provider}} verknüpfen`},signOut:{action:`Abmelden`,title:`Abmelden?`,message:`Zwischengespeicherte Tickets und Entwürfe dieses Kontos werden von diesem Gerät entfernt.`},changeServer:{title:`Server wechseln?`,message:`Abmelden und den lokalen Zwischenspeicher und die Entwürfe dieses Kontos löschen?`}}}};export{e as default};