@adminiumjs/i18n 0.1.0-rc.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 (234) hide show
  1. package/LICENSE +661 -0
  2. package/dist/create-i18n.d.ts +48 -0
  3. package/dist/create-i18n.d.ts.map +1 -0
  4. package/dist/create-i18n.js +98 -0
  5. package/dist/create-i18n.js.map +1 -0
  6. package/dist/format/index.d.ts +70 -0
  7. package/dist/format/index.d.ts.map +1 -0
  8. package/dist/format/index.js +217 -0
  9. package/dist/format/index.js.map +1 -0
  10. package/dist/icu-format.d.ts +17 -0
  11. package/dist/icu-format.d.ts.map +1 -0
  12. package/dist/icu-format.js +52 -0
  13. package/dist/icu-format.js.map +1 -0
  14. package/dist/index.d.ts +16 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +12 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/locales.d.ts +99 -0
  19. package/dist/locales.d.ts.map +1 -0
  20. package/dist/locales.js +55 -0
  21. package/dist/locales.js.map +1 -0
  22. package/dist/react.d.ts +26 -0
  23. package/dist/react.d.ts.map +1 -0
  24. package/dist/react.js +61 -0
  25. package/dist/react.js.map +1 -0
  26. package/dist/resources/ar-eg/common.d.ts +1964 -0
  27. package/dist/resources/ar-eg/common.d.ts.map +1 -0
  28. package/dist/resources/ar-eg/common.js +1963 -0
  29. package/dist/resources/ar-eg/common.js.map +1 -0
  30. package/dist/resources/ar-eg/errors.d.ts +45 -0
  31. package/dist/resources/ar-eg/errors.d.ts.map +1 -0
  32. package/dist/resources/ar-eg/errors.js +44 -0
  33. package/dist/resources/ar-eg/errors.js.map +1 -0
  34. package/dist/resources/ar-eg/generated.d.ts +20 -0
  35. package/dist/resources/ar-eg/generated.d.ts.map +1 -0
  36. package/dist/resources/ar-eg/generated.js +19 -0
  37. package/dist/resources/ar-eg/generated.js.map +1 -0
  38. package/dist/resources/ar-eg/studio.d.ts +18 -0
  39. package/dist/resources/ar-eg/studio.d.ts.map +1 -0
  40. package/dist/resources/ar-eg/studio.js +17 -0
  41. package/dist/resources/ar-eg/studio.js.map +1 -0
  42. package/dist/resources/ar-eg/ui.d.ts +996 -0
  43. package/dist/resources/ar-eg/ui.d.ts.map +1 -0
  44. package/dist/resources/ar-eg/ui.js +995 -0
  45. package/dist/resources/ar-eg/ui.js.map +1 -0
  46. package/dist/resources/cs-cz/common.d.ts +1964 -0
  47. package/dist/resources/cs-cz/common.d.ts.map +1 -0
  48. package/dist/resources/cs-cz/common.js +1963 -0
  49. package/dist/resources/cs-cz/common.js.map +1 -0
  50. package/dist/resources/cs-cz/errors.d.ts +45 -0
  51. package/dist/resources/cs-cz/errors.d.ts.map +1 -0
  52. package/dist/resources/cs-cz/errors.js +44 -0
  53. package/dist/resources/cs-cz/errors.js.map +1 -0
  54. package/dist/resources/cs-cz/generated.d.ts +20 -0
  55. package/dist/resources/cs-cz/generated.d.ts.map +1 -0
  56. package/dist/resources/cs-cz/generated.js +19 -0
  57. package/dist/resources/cs-cz/generated.js.map +1 -0
  58. package/dist/resources/cs-cz/studio.d.ts +18 -0
  59. package/dist/resources/cs-cz/studio.d.ts.map +1 -0
  60. package/dist/resources/cs-cz/studio.js +17 -0
  61. package/dist/resources/cs-cz/studio.js.map +1 -0
  62. package/dist/resources/cs-cz/ui.d.ts +996 -0
  63. package/dist/resources/cs-cz/ui.d.ts.map +1 -0
  64. package/dist/resources/cs-cz/ui.js +995 -0
  65. package/dist/resources/cs-cz/ui.js.map +1 -0
  66. package/dist/resources/da-dk/common.d.ts +1964 -0
  67. package/dist/resources/da-dk/common.d.ts.map +1 -0
  68. package/dist/resources/da-dk/common.js +1963 -0
  69. package/dist/resources/da-dk/common.js.map +1 -0
  70. package/dist/resources/da-dk/errors.d.ts +45 -0
  71. package/dist/resources/da-dk/errors.d.ts.map +1 -0
  72. package/dist/resources/da-dk/errors.js +44 -0
  73. package/dist/resources/da-dk/errors.js.map +1 -0
  74. package/dist/resources/da-dk/generated.d.ts +20 -0
  75. package/dist/resources/da-dk/generated.d.ts.map +1 -0
  76. package/dist/resources/da-dk/generated.js +19 -0
  77. package/dist/resources/da-dk/generated.js.map +1 -0
  78. package/dist/resources/da-dk/studio.d.ts +18 -0
  79. package/dist/resources/da-dk/studio.d.ts.map +1 -0
  80. package/dist/resources/da-dk/studio.js +17 -0
  81. package/dist/resources/da-dk/studio.js.map +1 -0
  82. package/dist/resources/da-dk/ui.d.ts +996 -0
  83. package/dist/resources/da-dk/ui.d.ts.map +1 -0
  84. package/dist/resources/da-dk/ui.js +995 -0
  85. package/dist/resources/da-dk/ui.js.map +1 -0
  86. package/dist/resources/de-de/common.d.ts +1964 -0
  87. package/dist/resources/de-de/common.d.ts.map +1 -0
  88. package/dist/resources/de-de/common.js +1963 -0
  89. package/dist/resources/de-de/common.js.map +1 -0
  90. package/dist/resources/de-de/errors.d.ts +45 -0
  91. package/dist/resources/de-de/errors.d.ts.map +1 -0
  92. package/dist/resources/de-de/errors.js +44 -0
  93. package/dist/resources/de-de/errors.js.map +1 -0
  94. package/dist/resources/de-de/generated.d.ts +20 -0
  95. package/dist/resources/de-de/generated.d.ts.map +1 -0
  96. package/dist/resources/de-de/generated.js +19 -0
  97. package/dist/resources/de-de/generated.js.map +1 -0
  98. package/dist/resources/de-de/studio.d.ts +18 -0
  99. package/dist/resources/de-de/studio.d.ts.map +1 -0
  100. package/dist/resources/de-de/studio.js +17 -0
  101. package/dist/resources/de-de/studio.js.map +1 -0
  102. package/dist/resources/de-de/ui.d.ts +996 -0
  103. package/dist/resources/de-de/ui.d.ts.map +1 -0
  104. package/dist/resources/de-de/ui.js +995 -0
  105. package/dist/resources/de-de/ui.js.map +1 -0
  106. package/dist/resources/en-us/common.d.ts +1964 -0
  107. package/dist/resources/en-us/common.d.ts.map +1 -0
  108. package/dist/resources/en-us/common.js +1963 -0
  109. package/dist/resources/en-us/common.js.map +1 -0
  110. package/dist/resources/en-us/errors.d.ts +45 -0
  111. package/dist/resources/en-us/errors.d.ts.map +1 -0
  112. package/dist/resources/en-us/errors.js +44 -0
  113. package/dist/resources/en-us/errors.js.map +1 -0
  114. package/dist/resources/en-us/generated.d.ts +20 -0
  115. package/dist/resources/en-us/generated.d.ts.map +1 -0
  116. package/dist/resources/en-us/generated.js +19 -0
  117. package/dist/resources/en-us/generated.js.map +1 -0
  118. package/dist/resources/en-us/studio.d.ts +18 -0
  119. package/dist/resources/en-us/studio.d.ts.map +1 -0
  120. package/dist/resources/en-us/studio.js +17 -0
  121. package/dist/resources/en-us/studio.js.map +1 -0
  122. package/dist/resources/en-us/ui.d.ts +996 -0
  123. package/dist/resources/en-us/ui.d.ts.map +1 -0
  124. package/dist/resources/en-us/ui.js +995 -0
  125. package/dist/resources/en-us/ui.js.map +1 -0
  126. package/dist/resources/fr-fr/common.d.ts +1964 -0
  127. package/dist/resources/fr-fr/common.d.ts.map +1 -0
  128. package/dist/resources/fr-fr/common.js +1963 -0
  129. package/dist/resources/fr-fr/common.js.map +1 -0
  130. package/dist/resources/fr-fr/errors.d.ts +45 -0
  131. package/dist/resources/fr-fr/errors.d.ts.map +1 -0
  132. package/dist/resources/fr-fr/errors.js +44 -0
  133. package/dist/resources/fr-fr/errors.js.map +1 -0
  134. package/dist/resources/fr-fr/generated.d.ts +20 -0
  135. package/dist/resources/fr-fr/generated.d.ts.map +1 -0
  136. package/dist/resources/fr-fr/generated.js +19 -0
  137. package/dist/resources/fr-fr/generated.js.map +1 -0
  138. package/dist/resources/fr-fr/studio.d.ts +18 -0
  139. package/dist/resources/fr-fr/studio.d.ts.map +1 -0
  140. package/dist/resources/fr-fr/studio.js +17 -0
  141. package/dist/resources/fr-fr/studio.js.map +1 -0
  142. package/dist/resources/fr-fr/ui.d.ts +996 -0
  143. package/dist/resources/fr-fr/ui.d.ts.map +1 -0
  144. package/dist/resources/fr-fr/ui.js +995 -0
  145. package/dist/resources/fr-fr/ui.js.map +1 -0
  146. package/dist/resources/index.d.ts +8 -0
  147. package/dist/resources/index.d.ts.map +1 -0
  148. package/dist/resources/index.js +21 -0
  149. package/dist/resources/index.js.map +1 -0
  150. package/dist/resources/lazy.d.ts +20 -0
  151. package/dist/resources/lazy.d.ts.map +1 -0
  152. package/dist/resources/lazy.js +49 -0
  153. package/dist/resources/lazy.js.map +1 -0
  154. package/dist/resources/zh-cn/common.d.ts +1964 -0
  155. package/dist/resources/zh-cn/common.d.ts.map +1 -0
  156. package/dist/resources/zh-cn/common.js +1963 -0
  157. package/dist/resources/zh-cn/common.js.map +1 -0
  158. package/dist/resources/zh-cn/errors.d.ts +45 -0
  159. package/dist/resources/zh-cn/errors.d.ts.map +1 -0
  160. package/dist/resources/zh-cn/errors.js +44 -0
  161. package/dist/resources/zh-cn/errors.js.map +1 -0
  162. package/dist/resources/zh-cn/generated.d.ts +20 -0
  163. package/dist/resources/zh-cn/generated.d.ts.map +1 -0
  164. package/dist/resources/zh-cn/generated.js +19 -0
  165. package/dist/resources/zh-cn/generated.js.map +1 -0
  166. package/dist/resources/zh-cn/studio.d.ts +18 -0
  167. package/dist/resources/zh-cn/studio.d.ts.map +1 -0
  168. package/dist/resources/zh-cn/studio.js +17 -0
  169. package/dist/resources/zh-cn/studio.js.map +1 -0
  170. package/dist/resources/zh-cn/ui.d.ts +996 -0
  171. package/dist/resources/zh-cn/ui.d.ts.map +1 -0
  172. package/dist/resources/zh-cn/ui.js +995 -0
  173. package/dist/resources/zh-cn/ui.js.map +1 -0
  174. package/dist/resources/zh-tw/common.d.ts +1964 -0
  175. package/dist/resources/zh-tw/common.d.ts.map +1 -0
  176. package/dist/resources/zh-tw/common.js +1963 -0
  177. package/dist/resources/zh-tw/common.js.map +1 -0
  178. package/dist/resources/zh-tw/errors.d.ts +45 -0
  179. package/dist/resources/zh-tw/errors.d.ts.map +1 -0
  180. package/dist/resources/zh-tw/errors.js +44 -0
  181. package/dist/resources/zh-tw/errors.js.map +1 -0
  182. package/dist/resources/zh-tw/generated.d.ts +20 -0
  183. package/dist/resources/zh-tw/generated.d.ts.map +1 -0
  184. package/dist/resources/zh-tw/generated.js +19 -0
  185. package/dist/resources/zh-tw/generated.js.map +1 -0
  186. package/dist/resources/zh-tw/studio.d.ts +18 -0
  187. package/dist/resources/zh-tw/studio.d.ts.map +1 -0
  188. package/dist/resources/zh-tw/studio.js +17 -0
  189. package/dist/resources/zh-tw/studio.js.map +1 -0
  190. package/dist/resources/zh-tw/ui.d.ts +996 -0
  191. package/dist/resources/zh-tw/ui.d.ts.map +1 -0
  192. package/dist/resources/zh-tw/ui.js +995 -0
  193. package/dist/resources/zh-tw/ui.js.map +1 -0
  194. package/locales/ar-EG/common.json +1954 -0
  195. package/locales/ar-EG/errors.json +35 -0
  196. package/locales/ar-EG/generated.json +10 -0
  197. package/locales/ar-EG/studio.json +8 -0
  198. package/locales/ar-EG/ui.json +986 -0
  199. package/locales/cs-CZ/common.json +1954 -0
  200. package/locales/cs-CZ/errors.json +35 -0
  201. package/locales/cs-CZ/generated.json +10 -0
  202. package/locales/cs-CZ/studio.json +8 -0
  203. package/locales/cs-CZ/ui.json +986 -0
  204. package/locales/da-DK/common.json +1954 -0
  205. package/locales/da-DK/errors.json +35 -0
  206. package/locales/da-DK/generated.json +10 -0
  207. package/locales/da-DK/studio.json +8 -0
  208. package/locales/da-DK/ui.json +986 -0
  209. package/locales/de-DE/common.json +1954 -0
  210. package/locales/de-DE/errors.json +35 -0
  211. package/locales/de-DE/generated.json +10 -0
  212. package/locales/de-DE/studio.json +8 -0
  213. package/locales/de-DE/ui.json +986 -0
  214. package/locales/en-US/common.json +1954 -0
  215. package/locales/en-US/errors.json +35 -0
  216. package/locales/en-US/generated.json +10 -0
  217. package/locales/en-US/studio.json +8 -0
  218. package/locales/en-US/ui.json +986 -0
  219. package/locales/fr-FR/common.json +1954 -0
  220. package/locales/fr-FR/errors.json +35 -0
  221. package/locales/fr-FR/generated.json +10 -0
  222. package/locales/fr-FR/studio.json +8 -0
  223. package/locales/fr-FR/ui.json +986 -0
  224. package/locales/zh-CN/common.json +1954 -0
  225. package/locales/zh-CN/errors.json +35 -0
  226. package/locales/zh-CN/generated.json +10 -0
  227. package/locales/zh-CN/studio.json +8 -0
  228. package/locales/zh-CN/ui.json +986 -0
  229. package/locales/zh-TW/common.json +1954 -0
  230. package/locales/zh-TW/errors.json +35 -0
  231. package/locales/zh-TW/generated.json +10 -0
  232. package/locales/zh-TW/studio.json +8 -0
  233. package/locales/zh-TW/ui.json +986 -0
  234. package/package.json +51 -0
@@ -0,0 +1,1964 @@
1
+ /**
2
+ * GENERATED MIRROR of ../../../locales/da-DK/common.json — do not edit by hand.
3
+ * The JSON file is the canonical hand-authored bundle (10-i18n-theming.md §3.1);
4
+ * this TS mirror exists so the runtime bundles en-US resources (and chunk-splits
5
+ * the other locales) without JSON import attributes (browser + NodeNext safe).
6
+ * Parity is enforced by src/resources/parity.test.ts. Regenerate with
7
+ * scripts/gen-resources.mjs.
8
+ */
9
+ declare const _default: {
10
+ readonly common: {
11
+ readonly dismiss: "Luk";
12
+ readonly notifications: "Notifikationer";
13
+ readonly retry: "Prøv igen";
14
+ readonly undo: "Fortryd";
15
+ readonly close: "Luk";
16
+ readonly cancel: "Annuller";
17
+ readonly back: "Tilbage";
18
+ readonly loading: "Indlæser";
19
+ readonly clearSearch: "Ryd søgning";
20
+ readonly clear: "Ryd";
21
+ readonly save: "Gem";
22
+ };
23
+ readonly auth: {
24
+ readonly headline: "Forvandl enhver database til et dashboard.";
25
+ readonly trust: "AGPL-kerne · Selvhostet · Dine data forbliver dine";
26
+ readonly signIn: {
27
+ readonly title: "Velkommen tilbage";
28
+ readonly subtitle: "Log ind på dit Adminium-arbejdsområde.";
29
+ readonly email: "E-mail";
30
+ readonly emailInvalid: "Indtast en gyldig e-mailadresse.";
31
+ readonly password: "Adgangskode";
32
+ readonly passwordRequired: "Indtast din adgangskode.";
33
+ readonly showPassword: "Vis adgangskode";
34
+ readonly hidePassword: "Skjul adgangskode";
35
+ readonly remember: "Forbliv logget ind";
36
+ readonly forgot: "Glemt?";
37
+ readonly submit: "Log ind";
38
+ readonly invalid: "Ugyldig e-mail eller adgangskode.";
39
+ readonly rateLimited: "For mange forsøg — prøv igen om et minut.";
40
+ readonly failed: "Login mislykkedes. Tjek din forbindelse, og prøv igen.";
41
+ };
42
+ readonly forgot: {
43
+ readonly title: "Nulstil din adgangskode";
44
+ readonly email: "E-mail";
45
+ readonly emailInvalid: "Indtast en gyldig e-mailadresse.";
46
+ readonly submit: "Send nulstillingslink";
47
+ readonly sentTitle: "Tjek din e-mail";
48
+ readonly resend: "Send igen";
49
+ readonly back: "Tilbage til login";
50
+ readonly done: "Tilbage til login";
51
+ readonly rateLimited: "For mange anmodninger — prøv igen senere.";
52
+ readonly failed: "Noget gik galt. Prøv igen.";
53
+ readonly smtpUnconfigured: "Dette Adminium har ingen mailserver konfigureret og kan derfor ikke sende et nulstillingslink. Bed en administrator om at nulstille din adgangskode.";
54
+ };
55
+ readonly reset: {
56
+ readonly title: "Vælg en ny adgangskode";
57
+ readonly subtitle: "Skal være på mindst 8 tegn.";
58
+ readonly password: "Ny adgangskode";
59
+ readonly confirm: "Bekræft adgangskode";
60
+ readonly showPassword: "Vis adgangskode";
61
+ readonly hidePassword: "Skjul adgangskode";
62
+ readonly strength: "Adgangskodens styrke";
63
+ readonly weak: "Svag";
64
+ readonly fair: "Rimelig";
65
+ readonly good: "God";
66
+ readonly strong: "Stærk";
67
+ readonly tooShort: "Brug mindst 8 tegn.";
68
+ readonly submit: "Nulstil adgangskode";
69
+ readonly failed: "Nulstilling mislykkedes. Prøv igen.";
70
+ };
71
+ readonly otp: {
72
+ readonly title: "Tofaktorgodkendelse";
73
+ readonly subtitle: "Indtast den 6-cifrede kode fra din godkendelsesapp.";
74
+ readonly code: "Engangskode";
75
+ readonly recoveryCode: "Gendannelseskode";
76
+ readonly useRecovery: "Mistet din enhed? Brug en gendannelseskode";
77
+ readonly useAuthenticator: "Brug din godkendelsesapp i stedet";
78
+ readonly submit: "Bekræft";
79
+ readonly invalid: "Koden virkede ikke. Prøv igen.";
80
+ readonly failed: "Bekræftelse mislykkedes. Tjek din forbindelse, og prøv igen.";
81
+ };
82
+ };
83
+ readonly nav: {
84
+ readonly home: "Hjem";
85
+ readonly primary: "Primær";
86
+ readonly account: "Konto";
87
+ readonly signOut: "Log ud";
88
+ readonly empty: "Sider vises her, når en database er forbundet.";
89
+ readonly connection: {
90
+ readonly shared: "Delt";
91
+ readonly unnamed: "Forbindelse";
92
+ };
93
+ readonly imports: "Importér data";
94
+ readonly exports: "Dataeksporter";
95
+ readonly emailTemplates: "E-mailskabeloner";
96
+ readonly notificationSettings: "Notifikationsindstillinger";
97
+ readonly scheduledReports: "Planlagte rapporter";
98
+ readonly group: {
99
+ readonly workspace: "Arbejdsområde";
100
+ readonly library: "Bibliotek";
101
+ readonly planning: "Planlægning";
102
+ readonly people: "Personer";
103
+ readonly account: "Konto";
104
+ };
105
+ };
106
+ readonly topbar: {
107
+ readonly search: "Søg…";
108
+ readonly notifications: "Notifikationer";
109
+ readonly notificationsLoading: "Indlæser notifikationer";
110
+ readonly notificationsError: "Notifikationerne kunne ikke indlæses.";
111
+ readonly notificationsEmpty: "Du er helt ajour.";
112
+ readonly theme: "Skift mellem lys / mørk";
113
+ readonly userMenu: "Kontomenu";
114
+ readonly profile: "Profil";
115
+ readonly preferences: "Præferencer";
116
+ readonly signOut: "Log ud";
117
+ };
118
+ readonly palette: {
119
+ readonly dialog: "Kommandopalet";
120
+ readonly placeholder: "Skriv en kommando, eller søg…";
121
+ readonly navigate: "Naviger";
122
+ readonly actions: "Handlinger";
123
+ readonly askAi: "Spørg AI";
124
+ readonly shortcuts: "Tastaturgenveje";
125
+ readonly signOut: "Log ud";
126
+ readonly themeDark: "Skift til mørkt tema";
127
+ readonly themeLight: "Skift til lyst tema";
128
+ readonly footerNavigate: "naviger";
129
+ readonly footerOpen: "vælg";
130
+ readonly footerClose: "luk";
131
+ };
132
+ readonly shortcuts: {
133
+ readonly title: "Tastaturgenveje";
134
+ readonly subtitle: "Arbejd hurtigere i hele Adminium";
135
+ readonly close: "Luk";
136
+ readonly dismiss: "Luk eller afvis";
137
+ readonly palette: "Åbn kommandopaletten";
138
+ readonly panel: "Vis genvejspanelet";
139
+ readonly search: "Fokusér søgning";
140
+ readonly sidebar: "Slå sidepanelet til/fra";
141
+ readonly theme: "Skift mellem lys / mørk";
142
+ readonly then: "derefter";
143
+ readonly footerPre: "Tryk på";
144
+ readonly footerPost: "når som helst for at åbne dette panel.";
145
+ };
146
+ readonly states: {
147
+ readonly checked: "tjekket for 8 sek. siden";
148
+ readonly diagnostics: "Diagnostik";
149
+ };
150
+ readonly notFound: {
151
+ readonly title: "Denne side er forsvundet";
152
+ readonly errorLine: "Fejl 404";
153
+ readonly searchPlaceholder: "Søg efter en side…";
154
+ readonly matches: "Matchende sider";
155
+ readonly popular: "Populære destinationer";
156
+ readonly goBack: "Gå tilbage";
157
+ readonly backToDashboard: "Tilbage til dashboardet";
158
+ };
159
+ readonly page: {
160
+ readonly invalid: {
161
+ readonly title: "Denne sides konfiguration er ugyldig";
162
+ readonly body: "Det gemte sidedokument bestod ikke valideringen og kan ikke vises.";
163
+ };
164
+ readonly renderError: {
165
+ readonly title: "Denne side kunne ikke vises";
166
+ };
167
+ readonly tooNew: {
168
+ readonly title: "Denne side kræver et nyere Adminium";
169
+ };
170
+ readonly unknownTemplate: {
171
+ readonly title: "Ukendt sideskabelon";
172
+ };
173
+ };
174
+ readonly mutation: {
175
+ readonly created: "Post oprettet";
176
+ readonly updated: "Post opdateret";
177
+ readonly deleted: "Post slettet";
178
+ };
179
+ readonly undo: {
180
+ readonly done: "Ændring fortrudt";
181
+ readonly failed: "Ændringen kunne ikke fortrydes";
182
+ };
183
+ readonly prefs: {
184
+ readonly theme: {
185
+ readonly label: "Tema";
186
+ readonly light: "Lys";
187
+ readonly dark: "Mørk";
188
+ readonly system: "System";
189
+ };
190
+ readonly accent: {
191
+ readonly label: "Accentfarve";
192
+ readonly indigo: "Indigo";
193
+ readonly blue: "Blå";
194
+ readonly teal: "Blågrøn";
195
+ readonly violet: "Violet";
196
+ readonly rose: "Rosa";
197
+ readonly red: "Rød";
198
+ readonly orange: "Orange";
199
+ readonly black: "Sort";
200
+ };
201
+ readonly density: {
202
+ readonly label: "Tæthed";
203
+ readonly comfortable: "Komfortabel";
204
+ readonly compact: "Kompakt";
205
+ };
206
+ readonly locale: {
207
+ readonly label: "Sprog";
208
+ readonly directionNote: "Tekstretning: højre mod venstre (indstilles automatisk af sproget)";
209
+ };
210
+ };
211
+ readonly account: {
212
+ readonly title: "Konto";
213
+ readonly subtitle: "Identiteten for din aktuelle session. Visningspræferencer og notifikationsindstillinger administreres på deres egne sider.";
214
+ readonly preferencesLink: "Præferencer";
215
+ readonly notificationsLink: "Notifikationsindstillinger";
216
+ readonly name: "Navn";
217
+ readonly email: "E-mail";
218
+ readonly roles: "Roller";
219
+ readonly twoFactor: "Tofaktor";
220
+ readonly on: "Slået til";
221
+ readonly off: "Slået fra";
222
+ readonly preferences: {
223
+ readonly title: "Præferencer";
224
+ readonly subtitle: "Hvordan Adminium ser ud og læses for dig — på denne og alle andre enheder, du logger ind fra.";
225
+ readonly workspaceDefault: "Arbejdsområdets standard";
226
+ readonly personal: "Personlig";
227
+ readonly usingDefault: "Bruger arbejdsområdets standard ({value})";
228
+ readonly reset: "Nulstil til arbejdsområdets standard";
229
+ readonly resetFailed: "Denne præference kunne ikke nulstilles. Prøv igen.";
230
+ readonly appliesInstantly: "Ændringer træder i kraft med det samme og gemmes i din profil.";
231
+ };
232
+ };
233
+ readonly settings: {
234
+ readonly defaults: {
235
+ readonly title: "Globale standarder";
236
+ readonly subtitle: "Standarder for udseende og sprog for hele arbejdsområdet.";
237
+ readonly explainer: "Disse standarder gælder for alle brugere, medmindre de tilsidesætter dem. Alle kan vælge deres egne præferencer under Profil → Præferencer — personlige præferencer vinder altid for den bruger.";
238
+ readonly appearanceHeading: "Standarder for udseende";
239
+ readonly languageHeading: "Standarder for sprog og region";
240
+ readonly adoption: "{following, number} af {total, plural, one {# bruger} other {# brugere}} følger denne standard.";
241
+ readonly weekStartNote: "Ugens første dag og talformater følger sproget.";
242
+ readonly save: "Gem standarder";
243
+ readonly saved: "Arbejdsområdets standarder er opdateret";
244
+ readonly saveFailed: "Arbejdsområdets standarder kunne ikke gemmes. Prøv igen.";
245
+ readonly liveNote: "Når du gemmer, udsendes ændringen live — loggede brugere, der følger en standard, ser den uden at genindlæse.";
246
+ };
247
+ readonly notifications: {
248
+ readonly subtitle: "Vælg, hvad du får besked om, og hvordan";
249
+ readonly matrixLabel: "Giv mig besked om";
250
+ readonly rowHeader: "Hændelse";
251
+ readonly saving: "Gemmer…";
252
+ readonly saved: "Gemt";
253
+ readonly unavailable: "Ikke tilgængelig endnu";
254
+ readonly loading: "Indlæser præferencer";
255
+ readonly errorTitle: "Disse indstillinger kunne ikke indlæses";
256
+ readonly emptyTitle: "Intet at konfigurere endnu";
257
+ readonly emptyBody: "Notifikationshændelser vises her, efterhånden som producenterne udgives.";
258
+ readonly saveFailed: "Denne ændring kunne ikke gemmes.";
259
+ };
260
+ };
261
+ readonly studio: {
262
+ readonly source: {
263
+ readonly engine: {
264
+ readonly label: "Databasemotor";
265
+ readonly postgres: "PostgreSQL";
266
+ readonly mysql: "MySQL / MariaDB";
267
+ readonly sqlite: "SQLite";
268
+ };
269
+ readonly format: {
270
+ readonly label: "Skemaformat";
271
+ readonly helper: "Lad automatisk registrering være slået til, medmindre den tager fejl.";
272
+ readonly auto: "Registrér automatisk";
273
+ readonly sql: "SQL DDL / pg_dump";
274
+ readonly prisma: "Prisma-skema";
275
+ readonly drizzle: "Drizzle ORM";
276
+ readonly typeorm: "TypeORM-entiteter";
277
+ readonly sequelize: "Sequelize-modeller";
278
+ readonly rails: "Rails schema.rb";
279
+ readonly django: "Django models.py";
280
+ readonly json: "Adminium JSON";
281
+ };
282
+ readonly sqlite: {
283
+ readonly file: "Sti til databasefil";
284
+ readonly helper: "SQLite er en fil, ikke en server — angiv den absolutte sti på den maskine, der kører Adminium.";
285
+ };
286
+ readonly file: {
287
+ readonly detectedAs: "Registreret: {format}";
288
+ readonly moreWarnings: "+{count} flere advarsler — den fulde liste vises i analysetrinnet.";
289
+ readonly dropTitle: "Slip din skemafil her, eller gennemse";
290
+ readonly dropHint: "SQL DDL / pg_dump, Prisma, Drizzle, TypeORM, Sequelize, Rails schema.rb, Django-modeller, Adminium JSON";
291
+ readonly pitch: "Ingen databaseforbindelse påkrævet — vi fortolker din skemafil og bygger de samme dashboards.";
292
+ readonly parsing: "Læser den uploadede skemafil…";
293
+ readonly tables: "tabeller";
294
+ readonly columns: "kolonner";
295
+ readonly warnings: "advarsler";
296
+ readonly errorTitle: "Kunne ikke fortolke filen";
297
+ readonly parseFailed: "Vi kunne ikke fortolke den fil. Hvis auto-genkendelsen gættede forkert, så vælg formatet eksplicit og prøv igen.";
298
+ readonly unsupported: "Formatet blev ikke genkendt — SQL DDL, Prisma, Drizzle, TypeORM, Sequelize, Rails schema.rb, Django-modeller og Adminium JSON understøttes. Vælg ét eksplicit og prøv igen.";
299
+ readonly requestFailed: "Upload mislykkedes — tjek din forbindelse og prøv igen.";
300
+ };
301
+ readonly title: "Forbind din database";
302
+ readonly subtitle: "Peg Adminium mod en database, så genererer vi et admin-dashboard ud fra dens skema.";
303
+ readonly name: "Forbindelsesnavn";
304
+ readonly namePlaceholder: "Produktions-Postgres";
305
+ readonly modeLabel: "Kildeinputtilstand";
306
+ readonly mode: {
307
+ readonly dsn: "Forbindelsesstreng";
308
+ readonly fields: "Enkelte felter";
309
+ readonly file: "Skemafil";
310
+ };
311
+ readonly dsn: {
312
+ readonly label: "Forbindelsesstreng";
313
+ readonly helper: "postgres://bruger:kodeord@vaert:5432/database — mysql:// og sqlite: virker også.";
314
+ readonly incomplete: "Tilføj vært og database, f.eks. postgres://user@host:5432/db";
315
+ readonly invalidScheme: "Ukendt skema — forventede postgres://, mysql://, mariadb:// eller sqlite:";
316
+ readonly quickFill: "Hurtig udfyldning:";
317
+ };
318
+ readonly fields: {
319
+ readonly host: "Vært";
320
+ readonly port: "Port";
321
+ readonly database: "Database";
322
+ readonly user: "Bruger";
323
+ readonly password: "Adgangskode";
324
+ readonly ssl: "SSL-tilstand";
325
+ readonly preview: "Forhåndsvisning af forbindelsesstreng:";
326
+ };
327
+ readonly readOnlyRole: {
328
+ readonly title: "Brug en skrivebeskyttet rolle";
329
+ readonly body: "Adminium skriver aldrig til din database — opsætningen bruger kun skema-metadata. Vi anbefaler en dedikeret bruger med rene SELECT-rettigheder; hvor Adminium gemmer sine egne tabeller, beslutter du i metalagringstrinnet.";
330
+ };
331
+ };
332
+ readonly capability: {
333
+ readonly mysqlApproxRows: "MySQL-rækkeantal er estimater fra lagringsmotoren (kan afvige op til ±40 %) — vises med ≈.";
334
+ readonly mysqlFkEnum: "MySQL’s FK-/enum-metadata er svagere: MyISAM-tabeller deklarerer ingen fremmednøgler, enums er kolonnetyper som enum(…), og CHECK-begrænsninger kræver MySQL 8.0.16+ / MariaDB 10.2+.";
335
+ readonly sqliteCheckEnums: "SQLite har ingen indbygget enum-type — enums syntetiseres fra CHECK (col IN (…))-begrænsninger.";
336
+ readonly sqliteNoComments: "SQLite har ingen kolonnekommentarer — brug skema-remap-editoren til at tilføje etiketter.";
337
+ readonly importNoRowCounts: "Skemafiler indeholder ingen rækkeantal — tabellisten viser — i stedet for opdigtede tal.";
338
+ readonly importNoLiveHealth: "Ingen live databaseforbindelse — sundhedstjek og registrering af skemadrift er ikke tilgængelige for denne kilde.";
339
+ readonly rowsUnavailable: "Skemafiler har ingen live database — rækkeantal er ukendte, indtil du forbinder en.";
340
+ readonly rowsRunAnalyze: "Intet estimat endnu — kør ANALYZE på databasen for at få rækkeantal.";
341
+ readonly rowsNoEstimate: "Motoren rapporterede intet estimat for denne tabel.";
342
+ readonly rowsApproximate: "Estimat fra lagringsmotoren — kan afvige op til ±40 % på InnoDB.";
343
+ };
344
+ readonly test: {
345
+ readonly log: {
346
+ readonly moreWarnings: "+{count} flere parser-advarsler";
347
+ readonly connecting: "Etablerer sikker forbindelse…";
348
+ readonly connected: "Forbundet ({latency} ms) · skrivebeskyttet introspektion";
349
+ readonly connectFailed: "Forbindelsen mislykkedes.";
350
+ readonly readingSchema: "Læser skema: public";
351
+ readonly readingFile: "Læser den uploadede skemafil…";
352
+ readonly parsingFile: "Fortolker {file}…";
353
+ readonly detected: "Registrerede {tables} tabeller · {columns} kolonner";
354
+ readonly found: "Fandt {tables} tabeller · {columns} kolonner";
355
+ readonly mapping: "Kortlægger kolonnetyper → inputwidgets";
356
+ readonly relations: "Registrerer relationer…";
357
+ readonly piiScan: "Scanner efter PII-kolonner…";
358
+ readonly piiDone: "PII-scanning fuldført — {count} kolonner maskeret som standard";
359
+ readonly piiDoneUnknown: "PII-scanning fuldført";
360
+ readonly jobFailed: "Introspektion mislykkedes.";
361
+ readonly networkFailed: "Anmodningen mislykkedes — tjek din forbindelse og prøv igen.";
362
+ readonly ready: "Klar";
363
+ };
364
+ readonly title: "Analyserer dit skema";
365
+ readonly subtitle: "Introspekterer tabeller, kolonner og relationer. Det tager et par sekunder.";
366
+ readonly trust: "Vi læser kun dit skema og dine data. Intet ændres.";
367
+ readonly errorTitle: "Forbindelsen mislykkedes";
368
+ readonly retry: "Prøv igen";
369
+ readonly logLabel: "Introspektionslog";
370
+ readonly hint: {
371
+ readonly auth: "Godkendelse mislykkedes — tjek brugernavn og adgangskode i din DSN.";
372
+ readonly hostUnreachable: "Vært utilgængelig — tjek værtsnavn og port, og at databasen accepterer forbindelser fra denne maskine (tilføj vores IP'er til tilladelseslisten).";
373
+ readonly metaPlacement: "Denne kilde kan ikke huse Adminiums metatabeller — fortsæt med en separat metadatabase.";
374
+ readonly permission: "Rollen fik forbindelse, men mangler skema-læserettigheder — giv USAGE på skemaet til din introspektionsrolle.";
375
+ readonly timeout: "Databasen svarede ikke i tide — tjek netværkssti og belastning, og prøv igen.";
376
+ readonly tls: "TLS-forhandling mislykkedes — prøv sslmode=require, eller upload det CA-certifikat din server forventer.";
377
+ readonly unknown: "Forbindelsen mislykkedes — kontrollér DSN'en og prøv igen.";
378
+ };
379
+ };
380
+ readonly tables: {
381
+ readonly importNoCounts: "Skemafiler indeholder ingen rækkeantal — kolonnen viser —, indtil en live database er forbundet.";
382
+ readonly title: "Vælg dine tabeller";
383
+ readonly subtitle: "Vælg hvilke der skal med. Du kan altid ændre det.";
384
+ readonly search: "Filtrér tabeller…";
385
+ readonly listLabel: "Tabeller der kan medtages";
386
+ readonly emptyFilter: "Ingen tabeller matcher dit filter.";
387
+ readonly pii: "PII";
388
+ readonly highVolume: "stor volumen";
389
+ readonly highVolumeNote: "Tabeller med over 100.000 rækker starter fravalgt — driftstabeller hører sjældent hjemme i et dashboard.";
390
+ readonly joinHidden: "{count} join-/systemtabeller er skjult på forhånd — de driver stadig mange-til-mange-relationer.";
391
+ };
392
+ readonly hub: {
393
+ readonly title: "Dataforbindelser";
394
+ readonly subtitle: "{healthy, number} af {total, plural, one {# forbindelse} other {# forbindelser}} sunde";
395
+ readonly connectNew: "Ny forbindelse";
396
+ readonly stats: {
397
+ readonly connections: "Forbindelser";
398
+ readonly healthy: "Sunde";
399
+ readonly tables: "Inkluderede tabeller";
400
+ readonly pages: "Genererede sider";
401
+ };
402
+ readonly status: {
403
+ readonly connected: "Forbundet";
404
+ readonly error: "Fejl";
405
+ readonly unconfigured: "Kladde";
406
+ readonly testing: "Tester…";
407
+ };
408
+ readonly card: {
409
+ readonly readOnly: "Skrivebeskyttet";
410
+ readonly tables: "Tabeller";
411
+ readonly pages: "Sider";
412
+ readonly latency: "Latenstid";
413
+ readonly latencyMs: "{latency, number} ms";
414
+ readonly lastIntrospected: "Senest introspiceret";
415
+ readonly never: "Aldrig";
416
+ };
417
+ readonly action: {
418
+ readonly test: "Test";
419
+ readonly reintrospect: "Introspicer igen";
420
+ readonly reintrospectFile: "Skemafil-kilder har ingen aktiv database — upload filen igen i stedet.";
421
+ readonly remap: "Ommap skema";
422
+ readonly delete: "Slet";
423
+ };
424
+ readonly test: {
425
+ readonly ok: "Forbindelsen er sund · {latency, number} ms";
426
+ readonly failed: "Forbindelsestest mislykkedes";
427
+ };
428
+ readonly introspect: {
429
+ readonly noChanges: "Skemaet er uændret — intet nyt snapshot.";
430
+ readonly updated: "Skemaet er introspiceret igen";
431
+ readonly masksProposed: "{count, plural, one {# kolonne} other {# kolonner}} foreslået til maskering — gennemgå i ommapnings-editoren.";
432
+ readonly failed: "Introspektion mislykkedes. Prøv igen.";
433
+ };
434
+ readonly delete: {
435
+ readonly title: "Slet forbindelse";
436
+ readonly body: "Dette sletter “{name}” og de genererede sider. Selve din database røres aldrig.";
437
+ readonly prompt: "Skriv {name} for at bekræfte";
438
+ readonly confirm: "Slet forbindelse";
439
+ readonly cancel: "Annuller";
440
+ readonly close: "Luk";
441
+ readonly success: "Forbindelsen “{name}” er slettet";
442
+ readonly failed: "Forbindelsen kunne ikke slettes. Prøv igen.";
443
+ };
444
+ readonly empty: {
445
+ readonly title: "Ingen datakilder endnu";
446
+ readonly body: "Forbind en database, så genererer Adminium dit adminpanel ud fra dens skema.";
447
+ readonly cta: "Forbind en database";
448
+ };
449
+ };
450
+ readonly settingsHub: {
451
+ readonly title: "Arbejdsområdeindstillinger";
452
+ readonly subtitle: "Identitet, sikkerhed og destruktive handlinger for dette arbejdsområde.";
453
+ readonly save: "Gem ændringer";
454
+ readonly saved: "Arbejdsområdeindstillinger opdateret";
455
+ readonly saveFailed: "Arbejdsområdeindstillingerne kunne ikke gemmes. Prøv igen.";
456
+ readonly superAdminOnlyTitle: "Superadmin påkrævet";
457
+ readonly superAdminOnly: "Kun en superadmin kan ændre arbejdsområdets identitet og sikkerhedsindstillinger.";
458
+ readonly identity: {
459
+ readonly heading: "Arbejdsområdets identitet";
460
+ readonly appName: {
461
+ readonly label: "Applikationsnavn";
462
+ readonly helper: "Vises i sidepanelet, browsertitlen og e-mails.";
463
+ readonly error: "Angiv et navn på højst 60 tegn.";
464
+ };
465
+ };
466
+ readonly security: {
467
+ readonly heading: "Sikkerhed";
468
+ readonly require2fa: {
469
+ readonly label: "Kræv tofaktorgodkendelse";
470
+ readonly desc: "Alle medlemmer skal aktivere 2FA for at logge ind.";
471
+ };
472
+ readonly allowSignup: {
473
+ readonly label: "Tillad selvregistrering";
474
+ readonly desc: "Alle kan oprette en konto — slået fra er arbejdsområdet kun på invitation.";
475
+ };
476
+ readonly sessionTtl: {
477
+ readonly label: "Sessionslevetid (timer)";
478
+ readonly error: "Mellem {min, number} og {max, number} timer.";
479
+ };
480
+ readonly passwordMin: {
481
+ readonly label: "Minimal adgangskodelængde";
482
+ readonly error: "Mellem {min, number} og {max, number} tegn.";
483
+ };
484
+ };
485
+ readonly review: {
486
+ readonly title: "Gem arbejdsområdeindstillinger";
487
+ readonly subtitle: "Gennemgå dine ændringer, før du gemmer.";
488
+ readonly confirm: "Gem ændringer";
489
+ readonly cancel: "Annuller";
490
+ readonly close: "Luk";
491
+ readonly on: "Til";
492
+ readonly off: "Fra";
493
+ readonly change: "{before} → {after}";
494
+ };
495
+ readonly defaultsCard: {
496
+ readonly heading: "Standarder for udseende og sprog";
497
+ readonly body: "Tema, accentfarve, tæthed og sprog for hele arbejdsområdet findes under globale standarder.";
498
+ readonly cta: "Åbn globale standarder";
499
+ };
500
+ readonly danger: {
501
+ readonly heading: "Farezone";
502
+ readonly subtitle: "Uigenkaldelige handlinger.";
503
+ readonly empty: "Intet at slette — ingen forbindelser endnu.";
504
+ readonly deleteDesc: "Sletter forbindelsen og de genererede sider. Din database røres ikke. Kan ikke fortrydes.";
505
+ readonly deleteCta: "Slet forbindelse";
506
+ };
507
+ readonly aiCard: {
508
+ readonly heading: "AI-berigelse";
509
+ readonly body: "Konfigurér en AI-udbyder (eller kopiér-indsæt-turen) for at berige etiketter, grupper og relationer.";
510
+ readonly cta: "Åbn AI-indstillinger";
511
+ };
512
+ };
513
+ readonly settingsAi: {
514
+ readonly title: "AI-berigelse";
515
+ readonly subtitle: "Forbind en model, så Adminium kan foreslå etiketter, grupper, relationer og mere — altid gennemgået som en diff, før noget anvendes.";
516
+ readonly saved: "AI-udbyder gemt";
517
+ readonly saveFailed: "AI-udbyderen kunne ikke gemmes. Prøv igen.";
518
+ readonly save: "Gem udbyder";
519
+ readonly test: "Test forbindelse";
520
+ readonly testHintDirty: "Gem dine ændringer, før du tester.";
521
+ readonly testing: "Kontakter udbyderen…";
522
+ readonly testError: "Testen mislykkedes";
523
+ readonly testErrorBody: "Kunne ikke nå udbyderen. Tjek nøglen og basis-URL.";
524
+ readonly testOk: "Forbundet til {model} på {latency} ms";
525
+ readonly testUnknownModel: "udbyderen";
526
+ readonly provider: {
527
+ readonly heading: "AI-udbyder";
528
+ readonly subtitle: "Vælg, hvordan Adminium når en model til at berige dit skema. Nøgler gemmes krypteret og vises aldrig igen.";
529
+ readonly active: "Aktiv";
530
+ readonly anthropic: {
531
+ readonly label: "Anthropic";
532
+ readonly desc: "Claude-modeller via Anthropic-API’en.";
533
+ };
534
+ readonly openai: {
535
+ readonly label: "OpenAI";
536
+ readonly desc: "GPT-modeller via OpenAI-API’en.";
537
+ };
538
+ readonly openaiCompatible: {
539
+ readonly label: "OpenAI-kompatibel";
540
+ readonly desc: "Ethvert endpoint, der taler OpenAI-formatet — Groq, Together, vLLM, LM Studio.";
541
+ };
542
+ readonly ollama: {
543
+ readonly label: "Ollama (lokal)";
544
+ readonly desc: "Modeller kører lokalt via Ollama — ingen nøgle, ingen sky.";
545
+ };
546
+ readonly requiresNetwork: "Kræver internet og en API-nøgle";
547
+ readonly networkDisabledTitle: "Direkte AI-udbydere er slået fra i denne installation";
548
+ readonly networkDisabledBody: "Dette Adminium er konfigureret uden udgående internetadgang og kan ikke nå en udbyder-API. Brug kopier-indsæt-turen nedenfor — den kræver hverken nøgle eller netværk.";
549
+ };
550
+ readonly configure: {
551
+ readonly heading: "Konfigurér {provider}";
552
+ };
553
+ readonly field: {
554
+ readonly baseUrl: "Basis-URL";
555
+ readonly baseUrlOptional: "Lad stå, medmindre Ollama kører på en anden vært.";
556
+ readonly baseUrlHelper: "Endpoint-roden, der leverer /chat/completions.";
557
+ readonly model: "Model";
558
+ readonly modelFreeText: "Indtast det præcise model-id, dit endpoint leverer.";
559
+ readonly modelLive: "Indlæst live fra udbyderen.";
560
+ readonly modelStatic: "En gennemprøvet liste; skriv et brugerdefineret id efter at have gemt for at opdatere den.";
561
+ readonly modelLoading: "Indlæser…";
562
+ readonly modelPlaceholder: "Vælg en model…";
563
+ readonly key: "API-nøgle";
564
+ readonly keyStored: "Gemt krypteret. Erstat den for at bruge en anden nøgle.";
565
+ readonly keyMask: "sk-…{last4}";
566
+ readonly keyReplace: "Erstat nøgle";
567
+ readonly keyOptional: "Valgfri — nogle endpoints kræver ingen nøgle.";
568
+ readonly keyWriteOnly: "Kun skrivning: når den er gemt, vises den aldrig igen.";
569
+ readonly noKeyTitle: "Ingen API-nøgle nødvendig";
570
+ readonly noKeyBody: "Ollama kører lokalt, så intet forlader denne maskine.";
571
+ };
572
+ readonly runStatus: {
573
+ readonly draft: "Kladde";
574
+ readonly running: "Kører";
575
+ readonly awaitingResponse: "Afventer svar";
576
+ readonly validated: "Valideret";
577
+ readonly applied: "Anvendt";
578
+ readonly partiallyApplied: "Delvist anvendt";
579
+ readonly failed: "Mislykkedes";
580
+ readonly discarded: "Kasseret";
581
+ };
582
+ readonly byo: {
583
+ readonly heading: "Ingen nøgle? Brug dit eget AI-værktøj";
584
+ readonly subtitle: "Kopiér-indsæt-turen — intet forlader denne maskine.";
585
+ readonly body: "Studio kan generere en selvstændig prompt ud fra dit skema. Kør den i Claude Code, ChatGPT eller et hvilket som helst værktøj, og indsæt derefter den returnerede JSON tilbage i forbindelsesguiden. Samme validering, samme gennemgang, samme resultat som den direkte vej.";
586
+ readonly guaranteeTitle: "Telemetrifri garanti";
587
+ readonly guarantee1: "Prompten indeholder kun dit skema og aggregeret statistik — aldrig rækkedata som standard.";
588
+ readonly guarantee2: "Ingen legitimationsoplysninger, instans-URL eller identifikatorer er indlejret.";
589
+ readonly guarantee3: "BYO-kørsler foretager ingen netværkskald.";
590
+ readonly promptVersion: "Prompt {version}";
591
+ readonly schemaVersion: "Skema {version}";
592
+ readonly headingRecommended: "Brug dit eget AI-værktøj — ingen nøgle nødvendig";
593
+ readonly recommended: "Anbefalet";
594
+ };
595
+ readonly history: {
596
+ readonly heading: "Kørselshistorik";
597
+ readonly subtitle: "Tidligere berigelseskørsler. Åbn en for at gennemgå dens forslag.";
598
+ readonly tableLabel: "Berigelseskørsler";
599
+ readonly colDate: "Dato";
600
+ readonly colSource: "Kilde";
601
+ readonly colStatus: "Status";
602
+ readonly colChunks: "Blokke";
603
+ readonly openReview: "Åbn gennemgang for kørslen fra {date}";
604
+ readonly connection: "Forbindelse";
605
+ readonly empty: "Ingen berigelseskørsler endnu. Berig et skema fra forbindelsesguiden for at se historik her.";
606
+ readonly errorTitle: "Kunne ikke indlæse kørsler";
607
+ readonly errorBody: "Genindlæs siden for at prøve igen.";
608
+ readonly noConnections: "Forbind først en database — berigelseskørsler registreres pr. forbindelse.";
609
+ readonly byo: "BYO";
610
+ readonly directPath: "Direkte";
611
+ };
612
+ };
613
+ readonly enrich: {
614
+ readonly title: "Berig med AI";
615
+ readonly subtitle: "Forfin eventuelt de genererede etiketter, grupper, enums og dashboards med en LLM. Det heuristiske grundlag fungerer uden — dette tilføjer kun forslag, som du gennemgår, før noget anvendes.";
616
+ readonly intentLabel: "Hvordan vil du berige?";
617
+ readonly sectionsLegend: "Hvad skal AI’en beslutte?";
618
+ readonly localesLegend: "Oversæt etiketter til";
619
+ readonly localeLocked: "(påkrævet)";
620
+ readonly samplingTitle: "Inkludér eksempelværdier";
621
+ readonly samplingHint: "Inkluderer op til 20 rigtige værdier pr. ikke-PII-kolonne i prompten.";
622
+ readonly samplingPreviewTitle: "Hvad forlader denne maskine";
623
+ readonly samplingPreviewBody: "Op til 20 hyppigste værdier pr. ikke-PII-kolonne, plus min/maks for numeriske og datokolonner. PII-markerede kolonner udtages aldrig. Alt andet forbliver kun aggregeret. Gennemgå den præcise prompt før kopiering (BYO) — intet sendes uden din handling.";
624
+ readonly noSections: "Vælg mindst én beslutningsgruppe at berige.";
625
+ readonly generatePrompt: "Generér prompt";
626
+ readonly startProvider: "Start berigelse";
627
+ readonly startOver: "Start forfra";
628
+ readonly copied: "Kopieret";
629
+ readonly createFailed: "Berigelsesprompten kunne ikke bygges — prøv igen.";
630
+ readonly createFailedTitle: "Kunne ikke starte";
631
+ readonly providerFallback: "din AI-udbyder";
632
+ readonly fileTitle: "AI-berigelse kræver en live-database";
633
+ readonly fileBody: "Skemafil-kilder har endnu ikke et snapshot at berige. Forbind en live-database for at bruge AI-berigelse, eller fortsæt — det heuristiske grundlag genererer stadig en komplet app.";
634
+ readonly section: {
635
+ readonly labels: "Etiketter og beskrivelser";
636
+ readonly groups: "Navigationsgrupper";
637
+ readonly enums: "Enum-semantik";
638
+ readonly relations: "Relationer";
639
+ readonly keys: "Nøglekolonner";
640
+ readonly templates: "Sideskabeloner";
641
+ readonly widgets: "Dashboard-widgets";
642
+ readonly pii: "PII og maskering";
643
+ readonly icons: "Ikoner";
644
+ readonly microcopy: "Mikrotekst";
645
+ };
646
+ readonly provider: {
647
+ readonly title: "Brug min AI-udbyder";
648
+ readonly description: "Kør berigelsen nu mod din konfigurerede udbyder. Du gennemgår hvert forslag som en diff.";
649
+ readonly unconfigured: "Der er endnu ikke konfigureret nogen AI-udbyder — kopiér en prompt til dit eget værktøj nedenfor, eller konfigurér først en udbyder.";
650
+ readonly settingsHint: "Vil du køre den direkte?";
651
+ readonly settingsLink: "Konfigurér en udbyder i Indstillinger → AI";
652
+ readonly networkDisabled: "Dette Adminium har ingen udgående internetadgang og kan ikke nå en udbyder-API. Brug kopier-indsæt-turen i stedet — samme prompt, samme gennemgang.";
653
+ };
654
+ readonly byo: {
655
+ readonly cardTitle: "Kopiér en prompt til mit eget AI-værktøj";
656
+ readonly cardDescription: "Kopiér en selvstændig prompt ind i Claude Code, ChatGPT, hvad som helst — og indsæt så JSON’en tilbage. Ingen nøgle nødvendig, intet forlader denne maskine automatisk.";
657
+ readonly guidance: "Kør dette i et hvilket som helst AI-værktøj — Claude Code, ChatGPT, hvad som helst. Indsæt den returnerede JSON nedenfor.";
658
+ readonly promptLabel: "Berigelsesprompt";
659
+ readonly promptLabelN: "Berigelsesprompt {index} af {total}";
660
+ readonly tokenChip: "≈ {tokens} tokens";
661
+ readonly copyPrompt: "Kopiér prompt";
662
+ readonly copyPromptDone: "Prompt kopieret";
663
+ readonly download: "Download .md";
664
+ readonly chunkTabs: "Prompt-dele";
665
+ readonly chunkTab: "Prompt {index}";
666
+ readonly chunkValid: "Del {index} valideret";
667
+ readonly pasteLabel: "Indsæt JSON-svaret";
668
+ readonly pastePlaceholder: "Indsæt JSON-svaret her…";
669
+ readonly validate: "Validér";
670
+ readonly valid: "Svar valideret";
671
+ readonly mergedTitle: "Alle {count} dele valideret og flettet";
672
+ readonly mergedTitleSingle: "Svar valideret";
673
+ readonly mergedBody: "Forslagene er klar til gennemgang mod det heuristiske grundlag.";
674
+ readonly errorsTitle: "Valideringen fandt {count} problemer";
675
+ readonly copyErrors: "Kopiér fejl til dit AI-værktøj";
676
+ readonly copyErrorsDone: "Fejl kopieret";
677
+ readonly copyErrorsHint: "Indsæt dette tilbage i dit AI-værktøj for at få et rettet svar.";
678
+ readonly droppedItems: "{count} forslag blev frasorteret under valideringen — gennemgangen viser resten.";
679
+ readonly pendingTitle: "Validér hver prompt for at fortsætte";
680
+ readonly pendingBody: "Indsæt JSON-svaret ovenfor og validér det for at fortsætte til gennemgang.";
681
+ readonly pendingBodyChunked: "Hver del skal valideres, før forslagene flettes. Indsæt og validér hver prompt ovenfor.";
682
+ readonly requestFailed: "Kunne ikke nå serveren for at validere — prøv igen.";
683
+ readonly continueReview: "Fortsæt til gennemgang";
684
+ readonly wholeDocument: "hele dokumentet";
685
+ readonly cardTitleRecommended: "Kopiér en prompt til mit eget AI-værktøj — anbefalet";
686
+ };
687
+ readonly direct: {
688
+ readonly title: "Beriger med AI";
689
+ readonly subtitle: "Sender dit skema til";
690
+ readonly building: "Bygger prompt…";
691
+ readonly logLabel: "Berigelseslog";
692
+ readonly cancel: "Annullér";
693
+ readonly back: "Tilbage til valg";
694
+ readonly retry: "Prøv igen";
695
+ readonly done: "Berigelse fuldført — gennemgå forslagene.";
696
+ readonly continueReview: "Fortsæt til gennemgang";
697
+ readonly failed: "Udbyderkørslen mislykkedes. Tjek dine AI-indstillinger, og prøv igen.";
698
+ readonly jobFailed: "Berigelseskørslen blev ikke fuldført.";
699
+ readonly startFailed: "Kunne ikke starte kørslen — prøv igen.";
700
+ readonly errorTitle: "Berigelse mislykkedes";
701
+ };
702
+ readonly skip: {
703
+ readonly title: "Spring over — brug kun heuristik";
704
+ readonly description: "Generér fra det heuristiske grundlag. Du kan berige senere fra Indstillinger → AI — at springe over straffes aldrig.";
705
+ readonly confirmTitle: "Fortsætter med heuristik";
706
+ readonly confirmBody: "Den genererede app vil bruge de heuristiske etiketter, grupper og dashboards. Fortsæt for at generere — du kan køre AI-berigelse når som helst fra Indstillinger → AI.";
707
+ };
708
+ };
709
+ readonly review: {
710
+ readonly unavailableTitle: "Gennemgangsskærm ikke tilgængelig";
711
+ readonly unavailableBody: "Denne build indeholder endnu ikke berigelsens gennemgangsskærm (06-T14). Den kommer med diff-og-anvend-flowet.";
712
+ };
713
+ readonly llmRuns: {
714
+ readonly review: {
715
+ readonly header: {
716
+ readonly title: "Gennemgå AI-forslag";
717
+ readonly model: "Model";
718
+ readonly snapshot: "Øjebliksbillede";
719
+ readonly byo: "BYO";
720
+ readonly pathDirect: "Direkte API";
721
+ readonly pathByo: "Kopiér-indsæt";
722
+ readonly agree: "{n} enige";
723
+ readonly conflict: "{n} konflikt";
724
+ readonly new: "{n} nye";
725
+ readonly rejects: "{n} afvisninger";
726
+ readonly countsAria: "Antal forslag";
727
+ };
728
+ readonly bulk: {
729
+ readonly thresholdLabel: "Tillidstærskel";
730
+ readonly thresholdAria: "Tillidstærskel for “Accepter alle”";
731
+ readonly acceptAll: "Accepter alle ≥ {pct}%";
732
+ readonly clear: "Ryd markering";
733
+ };
734
+ readonly section: {
735
+ readonly selectAllAria: "Vælg alle i {group}";
736
+ readonly acceptedCount: "{n} accepteret";
737
+ };
738
+ readonly group: {
739
+ readonly labels: "Etiketter og oversættelser";
740
+ readonly navigation: "Navigation og domæner";
741
+ readonly enums: "Enum-semantik";
742
+ readonly relations: "Relationer";
743
+ readonly keys: "Nøglekolonner";
744
+ readonly templates: "Sideskabeloner";
745
+ readonly dashboards: "Dashboards og widgets";
746
+ readonly pii: "Personoplysninger og maskering";
747
+ readonly icons: "Ikoner";
748
+ readonly microcopy: "Mikrotekst";
749
+ };
750
+ readonly status: {
751
+ readonly agree: "Stemmer overens";
752
+ readonly conflict: "Konflikt";
753
+ readonly new: "Ny";
754
+ readonly heuristicOnly: "Kun heuristik";
755
+ readonly rejects: "Afviser heuristik";
756
+ readonly locked: "Låst";
757
+ };
758
+ readonly row: {
759
+ readonly acceptAria: "Accepter {noun}-forslag for {target}";
760
+ readonly keptEdited: "bevaret – redigeret af dig";
761
+ readonly rejectsCallout: "AI’en afviser en heuristisk beslutning – bekræft før accept.";
762
+ readonly showTranslations: "Vis oversættelser";
763
+ readonly hideTranslations: "Skjul oversættelser";
764
+ readonly confidenceAria: "Tillid {pct}%";
765
+ readonly noAi: "Intet AI-forslag";
766
+ };
767
+ readonly value: {
768
+ readonly none: "Ingen værdi";
769
+ readonly absent: "Ingen";
770
+ readonly dash: "—";
771
+ readonly display: "Visning";
772
+ readonly key: "Nøgle";
773
+ readonly rank: "rang {n}";
774
+ readonly span: "bredde {n}";
775
+ readonly tableCount: "{n} tabeller";
776
+ readonly widgetCount: "{n} widgets";
777
+ readonly enumWorkflow: "Arbejdsgang";
778
+ readonly enumCategory: "Kategori";
779
+ readonly notPii: "Ikke personoplysninger";
780
+ readonly label: "Etiket";
781
+ readonly description: "Beskrivelse";
782
+ readonly subtitle: "Sideundertekst";
783
+ readonly headline: "Overskrift for tom tilstand";
784
+ readonly guidance: "Vejledning for tom tilstand";
785
+ };
786
+ readonly apply: {
787
+ readonly title: "Anvend {n} forslag";
788
+ readonly subtitle: "Disse ændringer skrives i én transaktion og kan fortrydes.";
789
+ readonly empty: "Intet valgt at anvende.";
790
+ readonly confirm: "Anvend ændringer";
791
+ };
792
+ readonly footer: {
793
+ readonly count: "{n} forslag valgt";
794
+ readonly apply: "Anvend {n} accepterede forslag";
795
+ readonly failed: "Anvendelse mislykkedes";
796
+ };
797
+ readonly toast: {
798
+ readonly applied: "Anvendte {n} forslag";
799
+ readonly appliedPartial: "Anvendte {n} forslag (nogle sprunget over)";
800
+ readonly applyFailed: "Kunne ikke anvende forslag";
801
+ readonly undoFailed: "Kunne ikke fortryde denne ændring";
802
+ };
803
+ readonly error: {
804
+ readonly title: "Kunne ikke indlæse denne kørsel";
805
+ };
806
+ readonly notReady: {
807
+ readonly title: "Denne kørsel har endnu ingen forslag til gennemgang";
808
+ readonly body: "En kørsel skal være valideret, før dens forslag kan gennemgås. Generér eller indsæt et svar først.";
809
+ };
810
+ readonly applied: {
811
+ readonly title: "Denne kørsel er blevet anvendt";
812
+ readonly body: "De accepterede forslag nedenfor er skrivebeskyttede.";
813
+ };
814
+ readonly empty: {
815
+ readonly title: "Ingen forslag";
816
+ readonly body: "Denne kørsel gav ingen forslag til gennemgang.";
817
+ };
818
+ readonly cat: {
819
+ readonly label: "etiket";
820
+ readonly key: "nøglekolonner";
821
+ readonly enum: "enum";
822
+ readonly relation: "relation";
823
+ readonly pii: "personoplysninger";
824
+ readonly template: "sideskabelon";
825
+ readonly group: "navigationsgruppe";
826
+ readonly dashboard: "dashboard";
827
+ readonly widget: "widget";
828
+ readonly copy: "mikrotekst";
829
+ };
830
+ };
831
+ };
832
+ readonly wizard: {
833
+ readonly title: "Ny forbindelse";
834
+ readonly back: "Tilbage";
835
+ readonly continue: "Fortsæt";
836
+ readonly progress: "Opsætningsforløb";
837
+ readonly persistFailed: "Dit tabelvalg kunne ikke gemmes — prøv igen.";
838
+ readonly persistFailedTitle: "Kunne ikke gemme";
839
+ readonly step: {
840
+ readonly source: "Kilde";
841
+ readonly test: "Analysér";
842
+ readonly tables: "Tabeller";
843
+ readonly meta: "Metalagring";
844
+ readonly intent: "Formål";
845
+ readonly enrich: "Berig";
846
+ readonly generate: "Generér";
847
+ };
848
+ };
849
+ readonly meta: {
850
+ readonly title: "Hvor skal Adminium gemme sine egne tabeller?";
851
+ readonly subtitle: "Sider, roller, auditlog og indstillinger bor i tabeller med adminium_-præfiks — aldrig blandet med dine data.";
852
+ readonly sameDb: {
853
+ readonly title: "Samme database";
854
+ readonly description: "adminium_*-tabeller oprettes ved siden af dine kildetabeller. Enkleste opsætning — kræver en rolle med skrive- og CREATE TABLE-rettigheder.";
855
+ readonly disabledReadOnly: "Din rolle er skrivebeskyttet — Adminium skriver aldrig til denne database. Vælg en separat database til Adminiums egne tabeller.";
856
+ readonly disabledNoDdl: "Denne rolle kan ikke køre DDL — Adminium-migreringer kræver CREATE TABLE. Vælg en separat database til Adminiums egne tabeller.";
857
+ readonly disabledFile: "En skemafil har ingen live database — vælg en separat database til Adminiums egne tabeller.";
858
+ };
859
+ readonly separate: {
860
+ readonly title: "Separat database";
861
+ readonly description: "Adminium holder sine tabeller i en anden database. Din kilde forbliver urørt — påkrævet for skrivebeskyttede kilder.";
862
+ readonly dsn: "Forbindelsesstreng til metadatabasen";
863
+ readonly helper: "Kræver skrive- + DDL-rettigheder — Adminium kører sine egne migreringer dér.";
864
+ readonly test: "Test forbindelse";
865
+ readonly ok: "Kompatibel — skrivning ✓ · DDL ✓";
866
+ readonly insufficient: "Denne rolle kan ikke huse metalageret — Adminium behøver skrive- og CREATE TABLE-rettigheder dér.";
867
+ readonly errorTitle: "Metalager ikke kompatibelt";
868
+ };
869
+ readonly testFailed: "Forbindelsen mislykkedes.";
870
+ readonly v1Note: {
871
+ readonly title: "Om denne installation";
872
+ readonly body: "Denne server valgte sit metalager ved første opstart. Dette trin validerer, at dit valg er kompatibelt med denne forbindelse, og registrerer det — serveren håndhæver samme regel uafhængigt (409 META_PLACEMENT_INVALID). Flytning af et eksisterende metalager er en driftsopgave (M10).";
873
+ };
874
+ };
875
+ readonly intent: {
876
+ readonly title: "Hvad har du brug for?";
877
+ readonly subtitle: "Formålet afgør, hvilke sider der genereres. Du kan ændre det senere — en ændring foreslår en regenerering, aldrig en stille omskrivning.";
878
+ readonly trust: "Vi læser kun dit skema — aldrig dine rækkedata under opsætningen.";
879
+ readonly fullAdmin: {
880
+ readonly title: "Fuldt adminpanel";
881
+ readonly description: "Dashboards, CRUD-sider, søgning, import og eksport — alt hvad dit skema understøtter.";
882
+ };
883
+ readonly analytics: {
884
+ readonly title: "Skrivebeskyttet analyse";
885
+ readonly description: "Dashboards, diagrammer og skrivebeskyttede tabeller. Ingen formularer, ingen skrivninger — hver rolle begrænset til Fremviser.";
886
+ };
887
+ readonly crud: {
888
+ readonly title: "CRUD-tabeller";
889
+ readonly description: "Én redigeringsside pr. tabel plus søgning og import/eksport — et minimalt hjem, ingen dashboards.";
890
+ };
891
+ readonly support: {
892
+ readonly title: "Supportkonsol";
893
+ readonly description: "Køer, ticket- og kundedetaljesider først. Sletning slået fra som standard. (Kø-skabeloner lander i M7 — v1-sidesættet svarer til fuldt admin.)";
894
+ };
895
+ };
896
+ readonly generate: {
897
+ readonly title: "Generér din app";
898
+ readonly subtitle: "Én side pr. medtaget tabel plus dashboards pr. domæne — formål:";
899
+ readonly run: "Generér dashboard";
900
+ readonly openApp: "Åbn din app";
901
+ readonly logLabel: "Genereringslog";
902
+ readonly log: {
903
+ readonly classifying: "Klassificerer skema…";
904
+ readonly composing: "Sammensætter skabeloner…";
905
+ readonly writing: "Skriver sider…";
906
+ readonly done: "{pages} sider genereret på tværs af {groups} navigationsgrupper";
907
+ };
908
+ readonly successTitle: "Dit dashboard er klar";
909
+ readonly successBody: "{pages} sider i {groups} navigationsgrupper — genereret fra dit skema, redigerbare i Studio.";
910
+ readonly errorTitle: "Generering mislykkedes";
911
+ readonly failed: "Generering mislykkedes — prøv igen, eller kør introspektionen igen først.";
912
+ readonly fileTitle: "Skemafil fortolket — generering kræver en live database";
913
+ readonly fileBody: "Dit skema blev fortolket rent, og forhåndsvisningen ovenfor er ægte. Generering af en kørende app direkte fra en skemafil (med pladsholderrækker) er ikke tilgængelig endnu — forbind en live database for at generere i dag.";
914
+ };
915
+ readonly remap: {
916
+ readonly column: {
917
+ readonly nullable: "nullable";
918
+ readonly labelOverride: "Visningsetiket";
919
+ readonly labelHelper: "Udledt: {name}";
920
+ readonly logicalType: "Logisk type";
921
+ readonly logicalTypeHelper: "Udledt: {type} (fra {dbType}) — kortlagt af adapteren; kan ikke tilsidesættes i v1.";
922
+ readonly semantic: "Semantisk type";
923
+ readonly unclassified: "Endnu ikke klassificeret.";
924
+ readonly semanticHelper: "Klassifikator: {tag} · {confidence}% tillid · kilde: {source}";
925
+ readonly semanticInferred: "udledt: {tag}";
926
+ readonly currency: "Valuta";
927
+ readonly currencyHelper: "ISO 4217-kode anvendt på beløbsformatering.";
928
+ readonly pii: "Maskér som standard";
929
+ readonly piiHelper: "Maskerede værdier vises slørede; afmaskering kræver tilladelsen data.unmask_pii og logges i auditloggen.";
930
+ readonly enum: "Enum-semantik";
931
+ readonly enumKind: "Enum-art";
932
+ readonly enumWorkflow: "Arbejdsgang";
933
+ readonly enumCategory: "Kategori";
934
+ readonly enumLabelFor: "Etiket for {value}";
935
+ readonly enumToneFor: "Tone for {value}";
936
+ readonly enumToneAuto: "auto";
937
+ readonly enumHelper: "Arbejdsgangs-enums driver statusmærker og tavlekolonner; toner knytter værdierne til den semantiske farvetoneskala.";
938
+ };
939
+ readonly diff: {
940
+ readonly one: "1 ændring";
941
+ readonly count: "{count} ændringer";
942
+ readonly saved: "Tilsidesættelser gemt.";
943
+ readonly revertOne: "Fortryd {change}";
944
+ readonly regenerate: "Regenerér sider";
945
+ readonly revertAll: "Fortryd alle";
946
+ readonly save: "Gem tilsidesættelser";
947
+ };
948
+ readonly table: {
949
+ readonly iconPicker: "Tabelikon";
950
+ readonly system: "System";
951
+ readonly labelOverride: "Visningsetiket";
952
+ readonly labelHelper: "Udledt: {name}";
953
+ readonly icon: "Ikon";
954
+ readonly navGroup: "Navigationsgruppe";
955
+ readonly navGroupHelper: "Navigationsplaceringen bestemmes af generatoren — en table.navGroup-tilsidesættelse er ikke en del af v1-vokabularet.";
956
+ readonly include: "Medtag i den genererede app";
957
+ readonly includeHelper: "Udeladte tabeller får ingen sider og forsvinder fra navigationen.";
958
+ readonly shape: "Tabelform (klassificeret)";
959
+ readonly role: "Rolle";
960
+ readonly unclassified: "Ikke klassificeret";
961
+ readonly kind: "Art";
962
+ readonly hierarchy: "Hierarki";
963
+ readonly selfFk: "Selvreference via {column}";
964
+ readonly polymorphic: "Polymorfe par";
965
+ readonly rows: "Rækkeestimat";
966
+ readonly shapeHelper: "Klassificeringen genberegnes ved hver introspektion; tilsidesættelser lægges ovenpå og overlever regenerering.";
967
+ };
968
+ readonly relations: {
969
+ readonly declared: "Deklarerede fremmednøgler";
970
+ readonly noneDeclared: "Ingen deklarerede fremmednøgler berører denne tabel.";
971
+ readonly inferred: "Udledte relationer";
972
+ readonly noneInferred: "Intet udledt for denne tabel.";
973
+ readonly confidence: "udledt · {pct}%";
974
+ readonly accepted: "Accepteret";
975
+ readonly suppressed: "Undertrykt";
976
+ readonly accept: "Accepter";
977
+ readonly suppress: "Undertryk";
978
+ readonly overrides: "Relationer fra tilsidesættelser (anvendt)";
979
+ readonly overrideBadge: "tilsidesættelse";
980
+ readonly add: "Tilføj virtuel relation";
981
+ readonly fromColumn: "Fra kolonne";
982
+ readonly noColumns: "Ingen matchende kolonne";
983
+ readonly fromPlaceholder: "customer_id";
984
+ readonly toTable: "Til tabel";
985
+ readonly noTables: "Ingen matchende tabel";
986
+ readonly toColumn: "Til kolonne";
987
+ readonly cardinality: "Kardinalitet";
988
+ readonly addButton: "Tilføj relation";
989
+ };
990
+ readonly toast: {
991
+ readonly saved: "Skema-tilsidesættelser gemt";
992
+ readonly savedDetail: "Det anvendte skema nedenfor afspejler dine ændringer.";
993
+ readonly regenerated: "{created} oprettet · {updated} opdateret · {unchanged} uændret";
994
+ readonly regeneratedDetail: "Sider, du har redigeret i hånden, bevares — kun sider med en urørt generated_hash blev regenereret på stedet.";
995
+ readonly regenerateFailed: "Regenerering mislykkedes";
996
+ };
997
+ readonly title: "Skema-ommapning";
998
+ readonly subtitle: "{tables} tabeller · {applied} tilsidesættelser anvendt";
999
+ readonly saveFailed: "Lagring mislykkedes: {message}";
1000
+ readonly loadFailed: "Kunne ikke indlæse skemaet for denne forbindelse.";
1001
+ readonly inspector: "Inspektør";
1002
+ readonly empty: {
1003
+ readonly title: "Vælg en tabel eller kolonne";
1004
+ readonly description: "Vælg noget i skematræet for at ommappe dets etiket, type, relationer eller maskering.";
1005
+ };
1006
+ readonly tabs: {
1007
+ readonly details: "Detaljer";
1008
+ readonly relations: "Relationer";
1009
+ };
1010
+ readonly tree: {
1011
+ readonly label: "Skema";
1012
+ readonly search: "Søg i tabeller og kolonner";
1013
+ readonly searchPlaceholder: "Søg i tabeller…";
1014
+ readonly noMatches: "Ingen tabeller matcher din søgning.";
1015
+ readonly collapse: "Fold tabel sammen";
1016
+ readonly expand: "Fold tabel ud";
1017
+ readonly unsaved: "Ugemt ændring";
1018
+ readonly excluded: "Udeladt";
1019
+ };
1020
+ readonly badge: {
1021
+ readonly pk: "PK";
1022
+ readonly fk: "FK";
1023
+ readonly unique: "UNIK";
1024
+ readonly pii: "PII";
1025
+ readonly masked: "Maskeret";
1026
+ };
1027
+ };
1028
+ };
1029
+ readonly onboarding: {
1030
+ readonly title: "Kom godt i gang";
1031
+ readonly subtitle: "Nogle få trin for at gøre dit arbejdsområde klar.";
1032
+ readonly loading: "Indlæser din tjekliste…";
1033
+ readonly welcome: "Velkommen til Adminium, {name} 👋";
1034
+ readonly progressBody: "Du har gennemført {done} af {total} opsætningstrin. Gennemfør resten for at låse hele arbejdsområdet op.";
1035
+ readonly completeBody: "Alt er klar — dit arbejdsområde er fuldt konfigureret.";
1036
+ readonly ringLabel: "{done} af {total} trin gennemført";
1037
+ readonly done: "Færdig";
1038
+ readonly skip: "Spring over for nu";
1039
+ readonly goToWorkspace: "Gå til arbejdsområde";
1040
+ readonly help: {
1041
+ readonly title: "Brug for hjælp?";
1042
+ readonly body: "Vi er her for at hjælpe dig hurtigt i gang.";
1043
+ };
1044
+ readonly steps: {
1045
+ readonly connectDatabase: {
1046
+ readonly title: "Forbind en database";
1047
+ readonly desc: "Peg Adminium mod din Postgres, MySQL eller SQLite — en skrivebeskyttet rolle er nok.";
1048
+ readonly time: "5 min";
1049
+ readonly action: "Forbind";
1050
+ };
1051
+ readonly chooseTables: {
1052
+ readonly title: "Vælg dine tabeller";
1053
+ readonly desc: "Vælg hvilke tabeller der bliver til sider — personlige data maskeres som standard.";
1054
+ readonly time: "2 min";
1055
+ readonly action: "Vælg";
1056
+ };
1057
+ readonly inviteTeammates: {
1058
+ readonly title: "Inviter holdkammerater";
1059
+ readonly desc: "Få dit team med til at udforske og samarbejde.";
1060
+ readonly time: "2 min";
1061
+ readonly action: "Inviter";
1062
+ };
1063
+ readonly workspaceDefaults: {
1064
+ readonly title: "Angiv standarder";
1065
+ readonly desc: "Tema, accent, tæthed og sprog for alle.";
1066
+ readonly time: "1 min";
1067
+ readonly action: "Angiv";
1068
+ };
1069
+ };
1070
+ readonly entry: {
1071
+ readonly wayBack: "Kom godt i gang · {done}/{total}";
1072
+ readonly dismiss: "Skjul tjeklisten";
1073
+ readonly continue: "Fortsæt opsætning";
1074
+ readonly banner: "Færdiggør opsætningen af dit arbejdsområde — {done} af {total} trin klaret.";
1075
+ };
1076
+ };
1077
+ readonly views: {
1078
+ readonly baseView: "Alle poster";
1079
+ readonly menuLabel: "Gemte visninger";
1080
+ readonly saveAs: "Gem aktuel som visning…";
1081
+ readonly updateActive: "Opdater „{name}“";
1082
+ readonly rename: "Omdøb…";
1083
+ readonly setDefault: "Angiv som standard";
1084
+ readonly delete: "Slet…";
1085
+ readonly saveTitle: "Gem visning";
1086
+ readonly save: "Gem visning";
1087
+ readonly renameTitle: "Omdøb visning";
1088
+ readonly saveName: "Gem navn";
1089
+ readonly nameLabel: "Visningsnavn";
1090
+ readonly namePlaceholder: "f.eks. Aktive denne måned";
1091
+ readonly nameRequired: "Angiv et navn til denne visning.";
1092
+ readonly saveFailed: "Visningen kunne ikke gemmes.";
1093
+ readonly deleteTitle: "Slet visning";
1094
+ readonly deleteBody: "Dette fjerner den gemte visning. Dine data påvirkes ikke.";
1095
+ readonly deletePrompt: "Skriv visningens navn for at bekræfte";
1096
+ readonly deleteConfirm: "Slet visning";
1097
+ readonly savedToast: "Visning „{name}“ gemt.";
1098
+ readonly updatedToast: "Visning „{name}“ opdateret.";
1099
+ readonly defaultToast: "„{name}“ er nu standardvisningen.";
1100
+ readonly deletedToast: "Visning „{name}“ slettet.";
1101
+ };
1102
+ readonly builder: {
1103
+ readonly view: "Vis";
1104
+ readonly edit: "Rediger";
1105
+ readonly done: "Færdig";
1106
+ readonly addWidget: "Tilføj widget";
1107
+ readonly saveLayout: "Gem layout";
1108
+ readonly saving: "Gemmer…";
1109
+ readonly savedShort: "Gemt";
1110
+ readonly options: "Dashboard-indstillinger";
1111
+ readonly resetLayout: "Nulstil layout";
1112
+ readonly resetTitle: "Nulstil til det delte layout?";
1113
+ readonly resetBody: "Dette fjerner dine personlige ændringer og gendanner det dashboard, alle ser. Dine data påvirkes ikke.";
1114
+ readonly resetConfirm: "Nulstil layout";
1115
+ readonly resetDone: "Layout nulstillet til den delte standard.";
1116
+ readonly sharedNote: "Du redigerer det delte dashboard, som alle ser.";
1117
+ readonly personalNote: "Du redigerer dit personlige layout — kun du ser disse ændringer.";
1118
+ readonly savedShared: "Dashboard gemt for alle med adgang.";
1119
+ readonly empty: "Dette dashboard har endnu ingen widgets.";
1120
+ readonly emptyAction: "Tilføj widget";
1121
+ readonly palette: {
1122
+ readonly title: "Tilføj widget";
1123
+ readonly count: "{count} widgets";
1124
+ readonly searchLabel: "Søg widgets";
1125
+ readonly searchPlaceholder: "Søg widgets…";
1126
+ readonly clear: "Ryd søgning";
1127
+ readonly noResults: "Ingen widgets matcher “{query}”.";
1128
+ readonly add: "Tilføj {name}";
1129
+ readonly added: "{name} tilføjet.";
1130
+ };
1131
+ readonly inspector: {
1132
+ readonly title: "Konfigurer widget";
1133
+ readonly empty: "Denne widget har ingen indstillinger at konfigurere.";
1134
+ readonly locked: "Låst";
1135
+ readonly lockedHint: "Dette felt er angivet af kilden og kan ikke redigeres her.";
1136
+ readonly selectPlaceholder: "Vælg…";
1137
+ readonly increment: "Forøg";
1138
+ readonly decrement: "Formindsk";
1139
+ readonly done: "Færdig";
1140
+ };
1141
+ readonly item: {
1142
+ readonly configure: "Konfigurer {name}";
1143
+ readonly duplicate: "Dupliker {name}";
1144
+ readonly remove: "Fjern {name}";
1145
+ readonly removed: "{name} fjernet.";
1146
+ readonly duplicated: "{name} duplikeret.";
1147
+ };
1148
+ readonly families: {
1149
+ readonly kpi: "KPI’er";
1150
+ readonly charts: "Diagrammer";
1151
+ readonly tables: "Tabeller";
1152
+ readonly feeds: "Feeds";
1153
+ readonly calendar: "Kalender";
1154
+ readonly boards: "Tavler";
1155
+ readonly geo: "Kort";
1156
+ readonly media: "Medier";
1157
+ readonly communication: "Kommunikation";
1158
+ readonly forms: "Formularer";
1159
+ readonly chrome: "Navigation";
1160
+ readonly system: "System";
1161
+ readonly domain: "Domæne";
1162
+ };
1163
+ readonly versions: "Versioner";
1164
+ readonly versionsEmpty: "Ingen gemte versioner endnu";
1165
+ readonly saveAsVersion: "Gem som version";
1166
+ readonly saveVersionTitle: "Gem en version";
1167
+ readonly saveVersionBody: "Tager et øjebliksbillede af det aktuelle dokument. Gendan det når som helst fra Versioner.";
1168
+ readonly versionName: "Versionsnavn";
1169
+ readonly versionNamePlaceholder: "f.eks. Før Q3-satsændringen";
1170
+ };
1171
+ readonly setup: {
1172
+ readonly title: "Konfigurer Adminium";
1173
+ readonly subtitle: "Opret den første administrator. Det sker kun én gang.";
1174
+ readonly progress: "Opsætningsforløb";
1175
+ readonly steps: {
1176
+ readonly account: "Administratorkonto";
1177
+ readonly consent: "Privatliv";
1178
+ };
1179
+ readonly account: {
1180
+ readonly name: "Dit navn";
1181
+ readonly email: "E-mail";
1182
+ readonly emailInvalid: "Indtast en gyldig e-mailadresse.";
1183
+ readonly password: "Adgangskode";
1184
+ readonly passwordHelper: "Mindst {min} tegn.";
1185
+ readonly passwordTooShort: "Brug mindst {min} tegn.";
1186
+ readonly confirm: "Bekræft adgangskode";
1187
+ readonly passwordMismatch: "Adgangskoderne er ikke ens.";
1188
+ readonly continue: "Fortsæt";
1189
+ readonly strength: "Adgangskodens styrke";
1190
+ readonly strengthLevels: {
1191
+ readonly weak: "Svag";
1192
+ readonly fair: "Nogenlunde";
1193
+ readonly good: "God";
1194
+ readonly strong: "Stærk";
1195
+ };
1196
+ };
1197
+ readonly consent: {
1198
+ readonly telemetry: {
1199
+ readonly title: "Del anonyme brugsdata";
1200
+ readonly description: "Hjælper os med at se, hvilke databasemotorer vi skal prioritere. Slået fra, indtil du slår det til.";
1201
+ };
1202
+ readonly updates: {
1203
+ readonly title: "Søg efter nye udgivelser";
1204
+ readonly description: "Viser en besked, når en ny version — også en sikkerhedsrettelse — er tilgængelig. Det spørger GitHub om den nyeste udgivelse, hvilket afslører denne instans’ IP-adresse og version over for GitHub. Der sendes ikke andet.";
1205
+ };
1206
+ readonly sentTitle: "Præcis hvad der sendes:";
1207
+ readonly sent: {
1208
+ readonly instanceId: "Et tilfældigt instans-id (en UUID genereret her; ikke udledt af dit navn, din vært eller din database)";
1209
+ readonly version: "Den Adminium-version, denne instans kører";
1210
+ readonly engines: "Hvilke typer databasemotorer der er forbundet (f.eks. “postgres”) — kun typerne";
1211
+ };
1212
+ readonly neverTitle: "Sendes aldrig:";
1213
+ readonly never: {
1214
+ readonly schema: "Dit skema — ingen tabel-, kolonne- eller enum-navne";
1215
+ readonly rows: "Dine data — ikke en eneste række, aldrig";
1216
+ readonly connections: "Forbindelsesstrenge, værtsnavne eller legitimationsoplysninger";
1217
+ readonly people: "Brugeres e-mails, navne eller id’er";
1218
+ readonly llm: "AI-prompter eller kørselsindhold";
1219
+ };
1220
+ readonly reversible: "Begge dele er slået fra som standard, og du kan ændre dem senere under Indstillinger.";
1221
+ readonly back: "Tilbage";
1222
+ readonly finish: "Opret administratorkonto";
1223
+ };
1224
+ readonly error: {
1225
+ readonly alreadyCompleted: "Denne instans er allerede sat op. Log ind med den eksisterende administratorkonto.";
1226
+ readonly rejected: "Serveren afviste de oplysninger. Tjek e-mail og adgangskode, og prøv igen.";
1227
+ readonly failed: "Opsætningen mislykkedes. Tjek din forbindelse, og prøv igen.";
1228
+ };
1229
+ };
1230
+ readonly about: {
1231
+ readonly title: "Om Adminium";
1232
+ readonly subtitle: "Version, licens og hvor denne instans’ kildekode findes.";
1233
+ readonly version: "Version";
1234
+ readonly license: "Licens";
1235
+ readonly metaStore: "Metalager";
1236
+ readonly node: "Node.js";
1237
+ readonly engine: {
1238
+ readonly postgres: "PostgreSQL";
1239
+ readonly mysql: "MySQL / MariaDB";
1240
+ readonly sqlite: "SQLite";
1241
+ };
1242
+ readonly licenseCard: {
1243
+ readonly title: "Frit og open source";
1244
+ readonly body: "Adminium er licenseret under GNU Affero General Public License v3.0. Du må frit køre, studere, ændre og dele det. Hvis du tilbyder en ændret version til andre over et netværk, beder AGPL dig om også at tilbyde dem kildekoden.";
1245
+ };
1246
+ readonly viewLicense: "Læs licensen";
1247
+ readonly viewSource: "Hent kildekoden";
1248
+ readonly updates: {
1249
+ readonly title: "Opdateringer";
1250
+ readonly description: "Om denne instans søger efter nye udgivelser.";
1251
+ };
1252
+ readonly update: {
1253
+ readonly disabled: "Opdateringstjek er slået fra, så denne instans kontakter aldrig GitHub. Slå det til under Indstillinger for at høre om nye udgivelser.";
1254
+ readonly current: "Du kører den nyeste udgivelse.";
1255
+ readonly available: "Adminium {version} er tilgængelig";
1256
+ readonly availableBody: "Du kører {version}.";
1257
+ readonly viewRelease: "Se udgivelsesnoter";
1258
+ };
1259
+ readonly desktop: {
1260
+ readonly unknown: "Ukendt";
1261
+ readonly appVersion: "App-version";
1262
+ readonly serverVersion: "Serverversion";
1263
+ readonly migration: "Meta-store-migrering";
1264
+ readonly electron: "Electron";
1265
+ readonly chromium: "Chromium";
1266
+ readonly runtimeNode: "Node-runtime";
1267
+ readonly system: {
1268
+ readonly title: "System";
1269
+ };
1270
+ readonly dataDir: "Datamappe";
1271
+ readonly reveal: "Vis i mappe";
1272
+ readonly secret: {
1273
+ readonly title: "Hemmelighedslager";
1274
+ readonly safe: "Krypteret af dit operativsystem";
1275
+ readonly plainWarning: "Denne computer har ingen tilgængelig systemnøglering, så din Adminium-hemmelighed gemmes ukrypteret på disken. Alle, der kan læse denne maskines filer, kan læse den. Opret en login-nøglering (eller en Linux-secret-service), og genstart Adminium for at beskytte den.";
1276
+ };
1277
+ readonly updates: {
1278
+ readonly title: "Opdateringer";
1279
+ readonly mode: {
1280
+ readonly notify: "Underret mig om nye versioner";
1281
+ readonly manual: "Kun når jeg tjekker";
1282
+ readonly disabled: "Fra (offline)";
1283
+ };
1284
+ readonly disabledBody: "Automatiske opdateringer er slået fra (offline). Installér nye versioner manuelt.";
1285
+ readonly check: "Søg efter opdateringer";
1286
+ readonly checking: "Tjekker…";
1287
+ readonly lastChecked: "Sidst tjekket {when}";
1288
+ readonly available: "Version {version} er tilgængelig";
1289
+ readonly none: "Du har den nyeste version.";
1290
+ readonly unavailable: "Opdateringer er slået fra i denne installation.";
1291
+ readonly error: "Kunne ikke søge efter opdateringer.";
1292
+ readonly download: "Hent opdatering";
1293
+ readonly downloading: "Henter… {percent} %";
1294
+ readonly downloaded: "Version {version} er klar til installation";
1295
+ readonly restart: "Genstart for at installere";
1296
+ readonly downloadError: "Overførslen blev ikke gennemført. Du kan prøve igen.";
1297
+ readonly toast: {
1298
+ readonly available: "En ny version af Adminium er tilgængelig";
1299
+ readonly view: "Vis";
1300
+ readonly downloaded: "Opdateringen er klar til installation";
1301
+ readonly restart: "Genstart nu";
1302
+ };
1303
+ };
1304
+ readonly legal: {
1305
+ readonly title: "Licenser";
1306
+ readonly agpl: "Adminium Desktop er fri software under GNU Affero General Public License v3.0.";
1307
+ readonly viewLicense: "Vis licens";
1308
+ readonly licenseTitle: "GNU Affero General Public License v3.0";
1309
+ readonly licenseUnavailable: "Den medfølgende licensfil er ikke tilgængelig i denne build.";
1310
+ readonly viewNotices: "Tredjepartslicenser";
1311
+ readonly noticesTitle: "Tredjepartsmeddelelser";
1312
+ readonly noticesUnavailable: "Tredjepartsmeddelelser genereres, når appen pakkes, og er ikke tilgængelige i denne build.";
1313
+ readonly source: "Kildekode";
1314
+ readonly close: "Luk";
1315
+ };
1316
+ readonly telemetry: {
1317
+ readonly title: "Anonyme brugsdata";
1318
+ readonly label: "Del anonyme brugsdata";
1319
+ readonly description: "Hjælper os med at beslutte, hvilke databasemotorer vi skal prioritere. Slået fra, medmindre du slår det til; der sendes aldrig skema, data eller personlige oplysninger.";
1320
+ readonly saveFailed: "Indstillingen kunne ikke gemmes. Prøv igen.";
1321
+ };
1322
+ readonly diagnostics: {
1323
+ readonly title: "Diagnostik";
1324
+ readonly description: "Oplysninger, der hjælper, når du rapporterer et problem. Der medtages intet skema eller data.";
1325
+ readonly copy: "Kopiér diagnostiske oplysninger";
1326
+ readonly copied: "Kopieret";
1327
+ readonly showLogs: "Vis logfiler";
1328
+ readonly dataSize: "Datastørrelse: {size}";
1329
+ };
1330
+ };
1331
+ };
1332
+ readonly apiKeys: {
1333
+ readonly title: "API-nøgler og tokens";
1334
+ readonly subtitle: "Administrér programmatisk adgang til dit workspace.";
1335
+ readonly createButton: "Opret nøgle";
1336
+ readonly copy: "Kopiér";
1337
+ readonly copied: "Kopieret";
1338
+ readonly revoke: "Tilbagekald nøgle";
1339
+ readonly neverUsed: "Aldrig brugt";
1340
+ readonly lastUsed: "Sidst brugt {since}";
1341
+ readonly scopesOverflow: "+{count} mere";
1342
+ readonly status: {
1343
+ readonly active: "Aktiv";
1344
+ readonly revoked: "Tilbagekaldt";
1345
+ readonly expired: "Udløbet";
1346
+ };
1347
+ readonly list: {
1348
+ readonly title: "Nøgler";
1349
+ readonly activeCount: "{count, plural, one {# aktiv nøgle} other {# aktive nøgler}}";
1350
+ };
1351
+ readonly empty: {
1352
+ readonly title: "Ingen API-nøgler endnu";
1353
+ readonly body: "Opret en for at kalde Adminiums API fra din egen kode.";
1354
+ };
1355
+ readonly revealed: {
1356
+ readonly title: "Ny nøgle oprettet";
1357
+ readonly body: "Kopiér den nu — du får den aldrig at se igen.";
1358
+ };
1359
+ readonly rolesUnavailable: {
1360
+ readonly title: "Roller er ikke synlige for dig";
1361
+ readonly body: "At oprette en nøgle er at vælge den rolle, den handler som, og din konto må ikke læse rollelisten. Bed en administrator om rettigheden „Administrér roller“.";
1362
+ };
1363
+ readonly quickStart: {
1364
+ readonly title: "Kom hurtigt i gang";
1365
+ readonly body: "Godkend forespørgsler med din nøgle i Authorization-headeren.";
1366
+ };
1367
+ readonly create: {
1368
+ readonly title: "Opret API-nøgle";
1369
+ readonly description: "Nøglen handler med rettighederne fra den rolle, du vælger.";
1370
+ readonly name: "Navn";
1371
+ readonly namePlaceholder: "f.eks. Analytics-pipeline";
1372
+ readonly role: "Rolle";
1373
+ readonly roleHelper: "Vælg den mindst privilegerede rolle, der kan klare opgaven.";
1374
+ readonly expires: "Udløber";
1375
+ readonly expiresHelper: "Lad feltet stå tomt for en nøgle, der aldrig udløber.";
1376
+ readonly submit: "Opret nøgle";
1377
+ readonly failed: "Nøglen kunne ikke oprettes";
1378
+ };
1379
+ readonly revokeConfirm: {
1380
+ readonly title: "Tilbagekald API-nøgle";
1381
+ readonly body: "Al kode, der stadig kalder API’et med „{name}“, begynder straks at fejle. Det kan ikke fortrydes.";
1382
+ readonly prompt: "Skriv „{name}“ for at bekræfte";
1383
+ readonly confirm: "Tilbagekald nøgle";
1384
+ };
1385
+ };
1386
+ readonly changelog: {
1387
+ readonly title: "Ændringslog";
1388
+ readonly subtitle: "Produktnyheder og udgivelser.";
1389
+ readonly allReleases: "Alle udgivelser";
1390
+ readonly tag: {
1391
+ readonly new: "Nyt";
1392
+ readonly improved: "Forbedret";
1393
+ readonly fixed: "Rettet";
1394
+ readonly security: "Sikkerhed";
1395
+ };
1396
+ readonly filter: {
1397
+ readonly all: "Alle";
1398
+ readonly label: "Filtrér ændringer efter type";
1399
+ };
1400
+ readonly empty: {
1401
+ readonly title: "Intet under dette filter";
1402
+ readonly body: "Ingen udgivelse har endnu indeholdt en ændring af den slags.";
1403
+ readonly clear: "Vis alle ændringer";
1404
+ };
1405
+ };
1406
+ readonly kb: {
1407
+ readonly title: "Vidensbase";
1408
+ readonly subtitle: "{count, plural, one {# guide} other {# guides}} · fuld dokumentation på docs.adminium.dev";
1409
+ readonly openDocs: "Åbn dokumentationen";
1410
+ readonly browse: "Gennemse efter emne";
1411
+ readonly hero: {
1412
+ readonly title: "Hvad kan vi hjælpe med?";
1413
+ readonly subtitle: "Søg i guides, API-dokumentation og fejlfinding.";
1414
+ readonly placeholder: "Søg i vidensbasen…";
1415
+ readonly label: "Søg i vidensbasen";
1416
+ readonly clear: "Ryd søgning";
1417
+ };
1418
+ readonly category: {
1419
+ readonly start: "Kom godt i gang";
1420
+ readonly connect: "Forbind data";
1421
+ readonly api: "API og udvikling";
1422
+ readonly security: "Sikkerhed og adgang";
1423
+ readonly selfhost: "Selv-hosting";
1424
+ readonly trouble: "Fejlfinding";
1425
+ readonly count: "{count, plural, one {# artikel} other {# artikler}}";
1426
+ readonly selected: "Filtreret";
1427
+ };
1428
+ readonly list: {
1429
+ readonly all: "Alle guides";
1430
+ readonly clear: "Ryd filter";
1431
+ };
1432
+ readonly empty: {
1433
+ readonly title: "Ingen guides matcher din søgning";
1434
+ readonly body: "Prøv et andet ord, eller søg i den fulde dokumentation på docs.adminium.dev.";
1435
+ readonly openDocs: "Åbn dokumentationen";
1436
+ };
1437
+ readonly article: {
1438
+ readonly install: {
1439
+ readonly title: "Installér Adminium";
1440
+ readonly excerpt: "Kør fra et kildekode-checkout eller med docker run, og nå førstegangsguiden på et minut.";
1441
+ };
1442
+ readonly firstAdmin: {
1443
+ readonly title: "Opret din første superadministrator";
1444
+ readonly excerpt: "Hvad førstegangsguiden spørger om, og hvorfor den kun kan køre én gang.";
1445
+ };
1446
+ readonly connectDb: {
1447
+ readonly title: "Forbind din første database";
1448
+ readonly excerpt: "Peg Adminium mod PostgreSQL, MySQL eller SQLite og generér en adminapp.";
1449
+ };
1450
+ readonly schemaFile: {
1451
+ readonly title: "Generér ud fra en skemafil";
1452
+ readonly excerpt: "Upload et Prisma-skema, en Django-models.py, en Rails-schema.rb eller et .sql-dump — uden forbindelse.";
1453
+ };
1454
+ readonly readOnly: {
1455
+ readonly title: "Brug en skrivebeskyttet rolle";
1456
+ readonly excerpt: "Introspektion læser kun skemametadata. Giv Adminium færrest mulige rettigheder.";
1457
+ };
1458
+ readonly apiKeys: {
1459
+ readonly title: "Godkendelse med API-nøgler";
1460
+ readonly excerpt: "Opret og tilbagekald nøgler — og hvorfor en nøgle kun vises for dig én gang.";
1461
+ };
1462
+ readonly rest: {
1463
+ readonly title: "REST API-reference";
1464
+ readonly excerpt: "Hvert endpoint den genererede app udstiller, med request- og responseformater.";
1465
+ };
1466
+ readonly manifest: {
1467
+ readonly title: "Sidemanifestet";
1468
+ readonly excerpt: "Hvordan en side beskrives som konfiguration, og hvordan du redigerer en i hånden.";
1469
+ };
1470
+ readonly roles: {
1471
+ readonly title: "Roller og rettigheder";
1472
+ readonly excerpt: "Tildel Læser, Redaktør og Admin, og byg dine egne roller ud fra rettighedsmatricen.";
1473
+ };
1474
+ readonly audit: {
1475
+ readonly title: "Læs revisionsloggen";
1476
+ readonly excerpt: "Hvem ændrede hvad, hvornår og hvorfra.";
1477
+ };
1478
+ readonly secrets: {
1479
+ readonly title: "Sådan opbevarer Adminium dine hemmeligheder";
1480
+ readonly excerpt: "Forbindelsesoplysninger krypteres med ADMINIUM_SECRET. API-nøgler hashes.";
1481
+ };
1482
+ readonly docker: {
1483
+ readonly title: "Selv-hosting med Docker";
1484
+ readonly excerpt: "Det officielle image, docker-compose og drift af en separat metadatabase.";
1485
+ };
1486
+ readonly backup: {
1487
+ readonly title: "Sikkerhedskopiér og flyt en instans";
1488
+ readonly excerpt: "export-zip samler din serverkonfiguration; importér den for at genskabe samme opsætning et andet sted.";
1489
+ };
1490
+ readonly telemetry: {
1491
+ readonly title: "Telemetri og opdateringstjek";
1492
+ readonly excerpt: "Begge er tilvalg og slået fra som standard. Hvad der sendes, hvis du slår dem til.";
1493
+ };
1494
+ readonly connectionFails: {
1495
+ readonly title: "En databaseforbindelse fejler";
1496
+ readonly excerpt: "Læs diagnosekortet: vært, port, TLS og den IP, din database skal tillade.";
1497
+ };
1498
+ readonly missingTables: {
1499
+ readonly title: "Tabeller mangler efter introspektion";
1500
+ readonly excerpt: "Skemasynlighed, udeladte tabeller og en ny generering.";
1501
+ };
1502
+ };
1503
+ };
1504
+ readonly desktop: {
1505
+ readonly menu: {
1506
+ readonly file: "Fil";
1507
+ readonly fileNewDatabase: "Ny lokal database…";
1508
+ readonly fileOpenSqlite: "Åbn SQLite-fil…";
1509
+ readonly fileBackupNow: "Sikkerhedskopiér nu…";
1510
+ readonly fileRestore: "Gendan fra sikkerhedskopi…";
1511
+ readonly edit: "Rediger";
1512
+ readonly view: "Vis";
1513
+ readonly window: "Vindue";
1514
+ readonly help: "Hjælp";
1515
+ readonly helpDocs: "Adminium-dokumentation";
1516
+ readonly helpShortcuts: "Tastaturgenveje";
1517
+ readonly helpLogs: "Vis logfiler";
1518
+ readonly helpCheckForUpdates: "Søg efter opdateringer…";
1519
+ readonly helpAbout: "Om Adminium";
1520
+ };
1521
+ readonly settings: {
1522
+ readonly explainer: "Disse indstillinger gælder kun for Adminium-appen på denne computer. De gemmes på denne maskine, ikke i dit workspace.";
1523
+ };
1524
+ readonly security: {
1525
+ readonly heading: "Login";
1526
+ };
1527
+ readonly requireLogin: {
1528
+ readonly label: "Kræv login på denne enhed";
1529
+ readonly description: "Adminium logger dig normalt ind automatisk på denne computer. Slå dette til for at blive bedt om din adgangskode ved hver opstart — en god idé, hvis andre kan bruge maskinen. Det træder i kraft, næste gang du åbner Adminium.";
1530
+ readonly savedOn: "Der kræves login ved næste opstart";
1531
+ readonly savedOff: "Adminium springer login over på denne computer";
1532
+ readonly saveFailed: "Indstillingen kunne ikke gemmes. Prøv igen.";
1533
+ };
1534
+ readonly chip: {
1535
+ readonly local: "Lokal";
1536
+ readonly lanShare: "Lokal · Deles på netværket";
1537
+ readonly remoteDb: "Lokal + fjerndatabase";
1538
+ readonly remoteDbOffline: "Fjerndatabase offline";
1539
+ readonly remoteDbOfflineDetail: "Kan ikke nå {names}. Sider for disse forbindelser viser en genforbindelsestilstand.";
1540
+ };
1541
+ readonly lan: {
1542
+ readonly heading: "Del på lokalt netværk";
1543
+ readonly label: "Lad andre enheder på dette netværk bruge Adminium";
1544
+ readonly description: "Andre computere, tablets og telefoner på samme netværk kan åbne Adminium i en browser og logge ind med deres egen konto. Adminium skal blive ved med at være åbent på denne computer, for at de kan nå det.";
1545
+ readonly savedOn: "Deler på dit lokale netværk";
1546
+ readonly savedOff: "Deling stoppet — Adminium er tilbage på kun denne computer";
1547
+ readonly saveFailed: "Kunne ikke ændre netværksdeling";
1548
+ readonly noUsers: "Du er den eneste med en konto, så ingen andre kan logge ind endnu. Deling virker alligevel — du skal bare invitere folk, før de kan bruge det.";
1549
+ readonly usersUnknown: "Adminium kunne ikke tjekke, hvem der ellers har en konto på denne computer. Deling virker stadig, og alle med en konto kan logge ind — det er kun dette tjek, der fejlede.";
1550
+ readonly acknowledge: "Forstået — jeg inviterer folk bagefter";
1551
+ readonly port: "Port";
1552
+ readonly portHelper: "Standard {port}";
1553
+ readonly portInvalid: "Brug et tal mellem 1024 og 65535.";
1554
+ readonly applyPort: "Skift port";
1555
+ readonly portInUse: "Port {port} bruges allerede af et andet program.";
1556
+ readonly portInUseHint: "Intet blev ændret — deling er stadig slået fra.";
1557
+ readonly portInUseNoSuggestion: "Intet blev ændret. Prøv en anden port.";
1558
+ readonly tryPort: "Prøv {port}";
1559
+ readonly urlsHeading: "Åbn dette på en anden enhed";
1560
+ readonly noUrls: "Denne computer er ikke forbundet til et netværk lige nu, så der er ingen adresse at dele. Forbind til Wi-Fi eller sæt et kabel i, så udfyldes listen.";
1561
+ readonly copyUrl: "Kopiér";
1562
+ readonly sessions: "{count, plural, =0 {Ingen enheder er logget ind fra dette netværk} one {# enhed logget ind fra dette netværk} other {# enheder logget ind fra dette netværk}}";
1563
+ readonly sessionsUnknown: "Tjekker hvem der er forbundet…";
1564
+ readonly pending: "Starter deling…";
1565
+ readonly mismatch: "Adminium kan stadig nås på dette netværk";
1566
+ readonly mismatchBody: "Deling er slået fra, men serveren har endnu ikke frigivet netværket. Genstart Adminium for at lukke det.";
1567
+ readonly transportTitle: "Trafik på dit lokale netværk er ikke krypteret.";
1568
+ readonly transportBody: "Del kun på netværk, du stoler på. Brug Adminium self-host bag HTTPS til fjernadgang.";
1569
+ readonly firewall: "Første gang du deler, spørger dit styresystem, om indgående forbindelser skal tillades — vælg Tillad, ellers kan andre enheder ikke nå Adminium.";
1570
+ };
1571
+ readonly setup: {
1572
+ readonly title: "Velkommen til Adminium";
1573
+ readonly subtitle: "Fire korte trin, og Adminium har bygget en administrationsapp ud fra din database. Alt bliver på denne computer.";
1574
+ readonly progress: "Opsætningsforløb";
1575
+ readonly back: "Tilbage";
1576
+ readonly continue: "Fortsæt";
1577
+ readonly createAccount: "Opret konto og fortsæt";
1578
+ readonly step: {
1579
+ readonly location: "Velkommen";
1580
+ readonly database: "Din første database";
1581
+ readonly account: "Din konto";
1582
+ readonly generate: "Generér";
1583
+ };
1584
+ readonly dataDir: {
1585
+ readonly heading: "Hvor skal Adminium gemme dine data?";
1586
+ readonly description: "Dine databaser, indstillinger og sikkerhedskopier ligger alle i denne mappe. Alt bliver på denne computer — intet uploades nogen steder.";
1587
+ readonly label: "Datamappe";
1588
+ readonly loading: "Læser den nuværende placering…";
1589
+ readonly pending: "Adminium genstarter, når du fortsætter, så det kan flytte til denne mappe.";
1590
+ readonly change: "Skift…";
1591
+ readonly revert: "Fortryd";
1592
+ readonly dialogTitle: "Vælg, hvor Adminium gemmer dine data";
1593
+ readonly cloudSyncTitle: "Denne mappe synkroniseres til skyen";
1594
+ readonly cloudSyncWarning: "Adminium gemmer sine data i SQLite-filer. {provider} synkroniserer filer i “{folder}” ved at kopiere dem i baggrunden, hvilket kan ødelægge en database, der er åben — og miste data uden varsel. Vælg en mappe uden for {provider}.";
1595
+ readonly chooseAnother: "Vælg en anden mappe";
1596
+ readonly useAnyway: "Brug den alligevel — jeg accepterer risikoen";
1597
+ readonly unusableTitle: "Adminium kan ikke bruge den mappe";
1598
+ readonly failed: "Adminium kunne ikke bruge den mappe.";
1599
+ };
1600
+ readonly source: {
1601
+ readonly heading: "Hvad skal Adminium bygge ud fra?";
1602
+ readonly description: "Adminium læser en databases skema og genererer en administrationsapp ud fra det. Du kan tilføje flere databaser senere.";
1603
+ readonly groupLabel: "Databasekilde";
1604
+ readonly local: {
1605
+ readonly title: "Opret en ny lokal database";
1606
+ readonly description: "Start fra ingenting, eller fra en skemafil du allerede har. Databasen oprettes inde i din datamappe.";
1607
+ readonly name: "Databasenavn";
1608
+ readonly namePlaceholder: "Drift";
1609
+ readonly nameUnusable: "Brug mindst ét bogstav eller tal — filnavnet bygges ud fra dette.";
1610
+ readonly fileHelper: "Opretter {file}";
1611
+ readonly schemaLabel: "Start fra";
1612
+ readonly blank: "Tom";
1613
+ readonly fromFile: "En skemafil";
1614
+ readonly schemaFile: "Skemafil";
1615
+ readonly schemaFileHelper: ".sql, pg_dump, Prisma, Drizzle, TypeORM, Sequelize, schema.rb, Django eller Adminium-JSON. Adminium oversætter det til SQLite.";
1616
+ readonly placeholder: "Generér pladsholderposter automatisk";
1617
+ readonly placeholderHelper: "Du importerede et skema uden rækker. Fyld hver tabel med realistiske eksempeldata, så dine dashboards og diagrammer vises med det samme.";
1618
+ };
1619
+ readonly openSqlite: {
1620
+ readonly title: "Åbn en eksisterende SQLite-fil";
1621
+ readonly description: "Peg Adminium mod en .sqlite-fil på denne computer. Den åbnes, hvor den ligger — intet kopieres eller flyttes.";
1622
+ readonly browse: "Vælg en .sqlite-fil…";
1623
+ readonly change: "Vælg en anden fil…";
1624
+ readonly networkTitle: "Den fil ligger på et netværksdrev";
1625
+ readonly networkBody: "SQLite-låsning er upålidelig over netværksdrev, og en afbrudt forbindelse midt i en skrivning kan ødelægge databasen. En kopi på denne computers egen disk er sikrere.";
1626
+ };
1627
+ readonly remote: {
1628
+ readonly title: "Forbind til en serverdatabase";
1629
+ readonly description: "PostgreSQL eller MySQL. Kræver en database, der kan nås på netværket; Adminiums egne tabeller bliver stadig på denne computer.";
1630
+ readonly networkNote: "Kræver en database, der kan nås på netværket";
1631
+ readonly metaNote: "Adminiums egne tabeller — dine sider, indstillinger og login — bliver i datamappen på denne computer under alle omstændigheder.";
1632
+ readonly engine: "Motor";
1633
+ readonly name: "Forbindelsesnavn";
1634
+ readonly namePlaceholder: "Produktion";
1635
+ readonly dsn: "Forbindelsesstreng";
1636
+ readonly dsnHelper: "Adminium tester den, når det forbinder. Brug en skrivebeskyttet rolle, hvis du kun vil have dashboards.";
1637
+ };
1638
+ readonly demo: {
1639
+ readonly title: "Udforsk demodatabasen";
1640
+ readonly description: "En færdig database over teamdrift, så du kan se, hvad Adminium bygger, før du peger det mod dine egne data. Slet den, når du vil.";
1641
+ readonly unavailable: "Denne udgave indeholder ikke demodataene, så der er intet at indlæse. Vælg en af mulighederne ovenfor.";
1642
+ };
1643
+ };
1644
+ readonly account: {
1645
+ readonly heading: "Opret din konto";
1646
+ readonly description: "Dette er administratorkontoen for denne kopi af Adminium. Adgangskoden beskytter dine sikkerhedskopier og alle, du deler med på dit netværk — du bliver ikke spurgt om den ved hver opstart.";
1647
+ readonly name: "Dit navn";
1648
+ readonly email: "E-mail";
1649
+ readonly password: "Adgangskode";
1650
+ readonly passwordHelper: "Mindst {min} tegn.";
1651
+ readonly confirm: "Bekræft adgangskode";
1652
+ readonly strength: "Adgangskodens styrke";
1653
+ readonly strengthLevels: {
1654
+ readonly weak: "Svag";
1655
+ readonly fair: "Nogenlunde";
1656
+ readonly good: "God";
1657
+ readonly strong: "Stærk";
1658
+ };
1659
+ readonly singleUser: "Spring login over på denne computer";
1660
+ readonly singleUserHelper: "Adminium logger dig automatisk ind, når du åbner det her. Slå dette fra, hvis andre bruger denne maskine. Du kan ændre det senere under Indstillinger → Skrivebord.";
1661
+ readonly locale: "Sprog";
1662
+ readonly theme: "Udseende";
1663
+ readonly alreadyExists: "Denne kopi af Adminium har allerede en konto. Log ind med den i stedet.";
1664
+ readonly failed: "Adminium kunne ikke oprette den konto.";
1665
+ };
1666
+ readonly generate: {
1667
+ readonly creating: "Sætter din database op…";
1668
+ readonly introspecting: "Læser dit skema — tabeller, kolonner og relationer…";
1669
+ readonly working: "Arbejder…";
1670
+ readonly offlineNote: "Alt dette sker på denne computer.";
1671
+ readonly failedTitle: "Adminium kunne ikke sætte den database op";
1672
+ readonly failedBody: "Noget gik galt. Prøv igen.";
1673
+ readonly retry: "Prøv igen";
1674
+ };
1675
+ };
1676
+ };
1677
+ readonly capabilities: {
1678
+ readonly heading: "App-tilladelser";
1679
+ readonly description: "Apps, du installerer, kan bede om at bruge denne computers hardware. Du godkender hver enkelt og kan tilbagekalde adgang når som helst.";
1680
+ readonly grantedTo: "Tilladt for {app}";
1681
+ readonly status: {
1682
+ readonly available: "Tilgængelig";
1683
+ readonly stub: "Ikke tilgængelig endnu";
1684
+ readonly unavailable: "Utilgængelig";
1685
+ };
1686
+ readonly allow: {
1687
+ readonly action: "Tillad…";
1688
+ };
1689
+ readonly revoke: {
1690
+ readonly action: "Tilbagekald";
1691
+ readonly saved: "Adgang tilbagekaldt";
1692
+ readonly failed: "Kunne ikke tilbagekalde adgang. Prøv igen.";
1693
+ };
1694
+ readonly grant: {
1695
+ readonly saved: "Adgang tilladt";
1696
+ readonly failed: "Kunne ikke tillade adgang. Prøv igen.";
1697
+ };
1698
+ readonly catalog: {
1699
+ readonly printerEscpos: {
1700
+ readonly name: "Kvitteringsprinter (ESC/POS)";
1701
+ readonly scope: "Udskriv på kvitteringsprintere og åbn en tilsluttet kasseskuffe";
1702
+ };
1703
+ };
1704
+ readonly consent: {
1705
+ readonly title: "Tillad {app}?";
1706
+ readonly subtitle: "{app} beder om at bruge denne computers hardware.";
1707
+ readonly willAllow: "Dette vil tillade {app} at:";
1708
+ readonly revokeNote: "Du kan tilbagekalde dette når som helst under Indstillinger → Skrivebord. Tillad kun apps, du stoler på.";
1709
+ readonly deny: "Ikke nu";
1710
+ readonly approve: "Tillad";
1711
+ };
1712
+ };
1713
+ readonly emailTemplates: {
1714
+ readonly title: "E-mailskabeloner";
1715
+ readonly subtitle: "Transaktions- og livscyklus-e-mails, som dit arbejdsområde sender.";
1716
+ readonly search: "Søg i skabeloner…";
1717
+ readonly loadFailed: "Skabelonerne kunne ikke indlæses";
1718
+ readonly empty: "Ingen e-mailskabeloner endnu";
1719
+ readonly emptyBody: "Skabeloner vises her, når serveren opretter dem, eller du selv opretter en.";
1720
+ readonly noMatches: "Ingen matchende skabeloner";
1721
+ readonly noMatchesBody: "Prøv en anden søgning.";
1722
+ readonly live: "Aktiv";
1723
+ readonly disabled: "Deaktiveret";
1724
+ readonly name: "Skabelonnavn";
1725
+ readonly subject: "Emne";
1726
+ readonly enabled: "Aktiveret";
1727
+ };
1728
+ readonly board: {
1729
+ readonly addCard: "Tilføj kort";
1730
+ readonly compose: {
1731
+ readonly placeholder: "Korttitel…";
1732
+ readonly add: "Tilføj";
1733
+ readonly cancel: "Annuller";
1734
+ };
1735
+ readonly empty: {
1736
+ readonly title: "Ingen tavlekolonner";
1737
+ readonly body: "Tilføj et statusfelt for at gruppere kort i kolonner.";
1738
+ };
1739
+ };
1740
+ readonly calendar: {
1741
+ readonly dateRange: "Datointerval";
1742
+ readonly compose: {
1743
+ readonly placeholder: "Begivenhedstitel…";
1744
+ readonly add: "Tilføj";
1745
+ readonly cancel: "Annuller";
1746
+ readonly open: "Tilføj begivenhed";
1747
+ };
1748
+ readonly agenda: {
1749
+ readonly empty: "Intet planlagt";
1750
+ };
1751
+ };
1752
+ readonly scheduler: {
1753
+ readonly prevWeek: "Forrige uge";
1754
+ readonly nextWeek: "Næste uge";
1755
+ readonly week: "Uge";
1756
+ readonly month: "Måned";
1757
+ readonly resource: "Ressource";
1758
+ readonly coverage: "Dækning";
1759
+ readonly addShift: "Tilføj vagt";
1760
+ readonly shiftCount: "{n} vagter";
1761
+ };
1762
+ readonly planning: {
1763
+ readonly drawer: {
1764
+ readonly close: "Luk";
1765
+ readonly loading: "Indlæser post";
1766
+ readonly error: "Denne post kunne ikke indlæses.";
1767
+ };
1768
+ };
1769
+ readonly files: {
1770
+ readonly uploadsUnavailable: "Upload er ikke tilgængeligt på denne side endnu.";
1771
+ };
1772
+ readonly chat: {
1773
+ readonly messageSent: "Besked sendt";
1774
+ readonly sendFailed: "Beskeden kunne ikke sendes.";
1775
+ };
1776
+ readonly templates: {
1777
+ readonly crud: {
1778
+ readonly title: "Poster";
1779
+ };
1780
+ readonly dashboard: {
1781
+ readonly title: "Dashboard";
1782
+ };
1783
+ readonly board: {
1784
+ readonly title: "Tavle";
1785
+ };
1786
+ readonly calendar: {
1787
+ readonly title: "Kalender";
1788
+ };
1789
+ readonly scheduler: {
1790
+ readonly title: "Vagtplan";
1791
+ };
1792
+ readonly logViewer: {
1793
+ readonly title: "Logfiler";
1794
+ };
1795
+ readonly files: {
1796
+ readonly title: "Filer";
1797
+ };
1798
+ readonly chat: {
1799
+ readonly title: "Chat";
1800
+ };
1801
+ readonly builder: {
1802
+ readonly title: "Editor";
1803
+ };
1804
+ readonly wizard: {
1805
+ readonly title: "Guide";
1806
+ };
1807
+ readonly settings: {
1808
+ readonly title: "Indstillinger";
1809
+ };
1810
+ readonly directory: {
1811
+ readonly title: "Katalog";
1812
+ readonly searchPlaceholder: "Søg efter personer…";
1813
+ readonly allFilter: "Alle";
1814
+ readonly clearFilters: "Ryd filtre";
1815
+ readonly detailTitle: "Person";
1816
+ readonly emptyTitle: "Ingen personer endnu";
1817
+ readonly emptyBody: "Personer vises her, efterhånden som rækker lander i tabellen.";
1818
+ readonly noMatchesTitle: "Ingen matchende personer";
1819
+ readonly noMatchesBody: "Prøv en anden søgning, eller fjern et filter.";
1820
+ readonly errorTitle: "Dette katalog kunne ikke indlæses";
1821
+ readonly loading: "Indlæser personer";
1822
+ readonly memberCount: "{count} personer";
1823
+ };
1824
+ readonly masterDetail: {
1825
+ readonly title: "Liste og detaljer";
1826
+ readonly allFilter: "Alle";
1827
+ readonly clearFilters: "Ryd filtre";
1828
+ readonly emptyTitle: "Intet her endnu";
1829
+ readonly emptyBody: "Poster vises her, efterhånden som rækker lander i tabellen.";
1830
+ readonly noMatchesTitle: "Ingen matchende poster";
1831
+ readonly noMatchesBody: "Prøv at fjerne et filter.";
1832
+ readonly errorTitle: "Denne liste kunne ikke indlæses";
1833
+ readonly loading: "Indlæser poster";
1834
+ readonly selectPrompt: "Vælg en post";
1835
+ };
1836
+ readonly queueInbox: {
1837
+ readonly title: "Kø";
1838
+ readonly approve: "Godkend";
1839
+ readonly reject: "Afvis";
1840
+ readonly allSegment: "Alle";
1841
+ readonly approvedToast: "{count} godkendt.";
1842
+ readonly rejectedToast: "{count} afvist.";
1843
+ readonly undoneToast: "Beslutning fortrudt.";
1844
+ readonly failedToast: "Beslutningen mislykkedes.";
1845
+ readonly bulkFailed: "{failed} af {total} valgte rækker kunne ikke opdateres.";
1846
+ readonly undoFailedToast: "Beslutningen kunne ikke fortrydes.";
1847
+ readonly rejectTitle: "Afvis anmodninger";
1848
+ readonly rejectCount: "Valgt · {count}";
1849
+ readonly rejectNote: "Anmoderen får besked sammen med din note.";
1850
+ readonly rejectPlaceholder: "Tilføj en note til anmoderen…";
1851
+ readonly rejectConfirm: "Afvis";
1852
+ readonly emptyTitle: "Intet i køen";
1853
+ readonly emptyBody: "Nye anmodninger vises her, når de ankommer.";
1854
+ readonly caughtUpTitle: "Du er helt ajour";
1855
+ readonly caughtUpBody: "Ingen anmodninger under denne fane lige nu.";
1856
+ readonly errorTitle: "Denne kø kunne ikke indlæses";
1857
+ readonly loading: "Indlæser kø";
1858
+ readonly selectPrompt: "Vælg en anmodning";
1859
+ readonly daysUnit: "{count} dage";
1860
+ };
1861
+ };
1862
+ readonly dataio: {
1863
+ readonly back: "Tilbage";
1864
+ readonly import: {
1865
+ readonly title: "Importér data";
1866
+ readonly stepUpload: "Upload";
1867
+ readonly stepMap: "Tilknyt kolonner";
1868
+ readonly stepValidate: "Validér";
1869
+ readonly stepRun: "Importér og gennemgå";
1870
+ readonly targetLabel: "Måltabel";
1871
+ readonly targetPlaceholder: "Vælg en tabelside…";
1872
+ readonly notATable: "Den side er ikke en tabel — vælg en tabelside at importere til.";
1873
+ readonly dropTitle: "Slip en CSV-fil for at importere";
1874
+ readonly dropHint: "CSV op til 32 MB — første række skal være headeren";
1875
+ readonly skipTarget: "Importér ikke";
1876
+ readonly mapHint: "{count} datarækker i {file} — vælg et mål for hver kolonne.";
1877
+ readonly validating: "Validerer…";
1878
+ readonly toValidate: "Validér";
1879
+ readonly validateFailed: "Validering mislykkedes.";
1880
+ readonly validationSummary: "{valid} af {total} rækker klar til import — {invalid} springes over.";
1881
+ readonly allValid: "Alle rækker bestod valideringen";
1882
+ readonly run: "Kør import";
1883
+ readonly runSkipping: "Importér {valid} rækker (spring {invalid} over)";
1884
+ readonly progressLabel: "Importfremdrift";
1885
+ readonly running: "Importerer…";
1886
+ readonly kpiTotal: "Rækker i filen";
1887
+ readonly kpiCreated: "Oprettet";
1888
+ readonly kpiUpdated: "Opdateret";
1889
+ readonly kpiSkipped: "Sprunget over";
1890
+ readonly inconsistent: "Importtallene stemmer ikke — total skal være lig oprettet + opdateret + sprunget over.";
1891
+ readonly downloadErrors: "Download rapporten over oversprungne rækker (CSV)";
1892
+ readonly runFailed: "Importen mislykkedes.";
1893
+ };
1894
+ readonly exports: {
1895
+ readonly title: "Dataeksporter";
1896
+ readonly tableLabel: "Tabel";
1897
+ readonly tablePlaceholder: "Vælg en tabel…";
1898
+ readonly notATable: "Den side er ikke en tabel — vælg en tabelside at eksportere.";
1899
+ readonly formatLabel: "Format";
1900
+ readonly create: "Eksportér";
1901
+ readonly createFailed: "Eksporten kunne ikke startes.";
1902
+ readonly retention: "Eksporter gemmes i 30 dage og udløber derefter.";
1903
+ readonly statusProcessing: "Behandler…";
1904
+ readonly statusReady: "Klar — {rows} rækker · klik for at downloade";
1905
+ readonly statusFailed: "Mislykkedes — {error}";
1906
+ readonly statusCancelled: "Annulleret";
1907
+ readonly statusExpired: "Udløbet";
1908
+ readonly emptyTitle: "Ingen eksporter endnu";
1909
+ readonly emptyBody: "Anmod om en ovenfor — artefakter vises her med deres status.";
1910
+ };
1911
+ };
1912
+ readonly reports: {
1913
+ readonly title: "Planlagte rapporter";
1914
+ readonly subtitle: "Tilbagevendende dataøjebliksbilleder af en side, leveret som notifikationer i appen.";
1915
+ readonly new: "Ny rapport";
1916
+ readonly loadFailed: "Planlagte rapporter kunne ikke indlæses.";
1917
+ readonly saveFailed: "Denne rapport kunne ikke gemmes.";
1918
+ readonly nextRun: "Næste kørsel";
1919
+ readonly emptyTitle: "Ingen planlagte rapporter endnu";
1920
+ readonly emptyBody: "Opret en for at få et tilbagevendende dataøjebliksbillede af enhver tabelside.";
1921
+ readonly createTitle: "Ny planlagt rapport";
1922
+ readonly editTitle: "Redigér planlagt rapport";
1923
+ readonly nameLabel: "Navn";
1924
+ readonly namePlaceholder: "f.eks. Ugentlig omsætning";
1925
+ readonly pageLabel: "Side";
1926
+ readonly pagePlaceholder: "Vælg en side…";
1927
+ readonly frequencyLabel: "Frekvens";
1928
+ readonly frequency: {
1929
+ readonly daily: "Dagligt";
1930
+ readonly weekly: "Ugentligt";
1931
+ readonly monthly: "Månedligt";
1932
+ };
1933
+ readonly dayOfWeekLabel: "Dag";
1934
+ readonly dayOfMonthLabel: "Dag i måneden";
1935
+ readonly timeLabel: "Tidspunkt";
1936
+ readonly timezoneLabel: "Tidszone";
1937
+ readonly formatLabel: "Levering";
1938
+ readonly formatHint: "Dataøjebliksbillede (PDF/PNG-gengivelse kommer i en senere udgivelse) — hver kørsel producerer et CSV-øjebliksbillede og en notifikation i appen.";
1939
+ readonly recipientsLabel: "Modtagere";
1940
+ readonly recipientsHint: "Gemmes med rapporten. E-mail-levering kommer i en senere udgivelse — kørsler giver dig indtil videre besked i appen.";
1941
+ readonly deliveryBadge: "CSV-øjebliksbillede";
1942
+ readonly delete: "Slet";
1943
+ readonly create: "Opret";
1944
+ readonly cadence: {
1945
+ readonly daily: "Dagligt kl. {time} ({zone})";
1946
+ readonly weekly: "Ugentligt · {day} kl. {time} ({zone})";
1947
+ readonly monthly: "Månedligt · dag {day} kl. {time} ({zone})";
1948
+ };
1949
+ };
1950
+ readonly notifications: {
1951
+ readonly channel: {
1952
+ readonly inApp: "I appen";
1953
+ readonly email: "E-mail";
1954
+ readonly push: "Push";
1955
+ };
1956
+ readonly event: {
1957
+ readonly reportReady: "Planlagt rapport klar";
1958
+ readonly reportFailed: "Planlagt rapport mislykkedes";
1959
+ readonly backupCompleted: "Backup fuldført";
1960
+ };
1961
+ };
1962
+ };
1963
+ export default _default;
1964
+ //# sourceMappingURL=common.d.ts.map