@directus/app 9.16.0 → 9.17.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 (391) hide show
  1. package/dist/assets/{@directus_extensions-sdk.a04f8e82.entry.js → @directus_extensions-sdk.3ef017de.entry.js} +1 -1
  2. package/dist/assets/{accounts.2e114db8.js → accounts.e4c64fb1.js} +1 -1
  3. package/dist/assets/{active-line.f9fd8e29.js → active-line.5c42d9f0.js} +1 -1
  4. package/dist/assets/activity-log.147dd93e.js +1 -0
  5. package/dist/assets/{activity.5589dea9.js → activity.dd401932.js} +4 -4
  6. package/dist/assets/{apl.8dd45420.js → apl.025ceee0.js} +1 -1
  7. package/dist/assets/{architecture.d16e36b1.js → architecture.aaf5c296.js} +1 -1
  8. package/dist/assets/{asciiarmor.3d35c700.js → asciiarmor.e1b5c1a3.js} +1 -1
  9. package/dist/assets/{asn.1.f669a398.js → asn.1.bfc58a58.js} +1 -1
  10. package/dist/assets/{asterisk.cdd7b5c4.js → asterisk.e714dc83.js} +1 -1
  11. package/dist/assets/{authentication.ee6465fd.js → authentication.61c42dda.js} +7 -7
  12. package/dist/assets/{autorefresh.51463d39.js → autorefresh.cc507a91.js} +1 -1
  13. package/dist/assets/{aws.8fa603ce.js → aws.55405db9.js} +1 -1
  14. package/dist/assets/{backing-directus.450274bb.js → backing-directus.bd29d5e2.js} +1 -1
  15. package/dist/assets/bg-BG.e76ce10c.js +1 -0
  16. package/dist/assets/{brainfuck.4ca7301f.js → brainfuck.6e87069f.js} +1 -1
  17. package/dist/assets/{cli.495194f0.js → cli.b2fbc62f.js} +4 -4
  18. package/dist/assets/{cli.f4f23732.js → cli.ca0055cb.js} +2 -2
  19. package/dist/assets/{clike.517e6aa3.js → clike.9663d2b3.js} +1 -1
  20. package/dist/assets/{clojure.57990b91.js → clojure.28ee7a22.js} +1 -1
  21. package/dist/assets/{cloudron.aa3368a8.js → cloudron.8200e84b.js} +1 -1
  22. package/dist/assets/{cmake.ed8f2dfc.js → cmake.aee3c431.js} +1 -1
  23. package/dist/assets/{cobol.de7e6ac3.js → cobol.a04dd0ed.js} +1 -1
  24. package/dist/assets/{codebase-overview.cf29e0f6.js → codebase-overview.7f69e795.js} +1 -1
  25. package/dist/assets/{coffeescript.f395c11c.js → coffeescript.3fea5290.js} +1 -1
  26. package/dist/assets/{collections.7776a374.js → collections.18cc2518.js} +2 -2
  27. package/dist/assets/{collections.74218877.js → collections.2fa0dd8e.js} +2 -2
  28. package/dist/assets/{collections.9e3af468.js → collections.b7aafbfb.js} +6 -6
  29. package/dist/assets/{commonlisp.a0911f52.js → commonlisp.030b0e58.js} +1 -1
  30. package/dist/assets/{conditions.1d6c9ac3.js → conditions.281a6ed5.js} +1 -1
  31. package/dist/assets/{config-options.3845d956.js → config-options.d33aab72.js} +14 -14
  32. package/dist/assets/{content.84d14f92.js → content.f9b34bf7.js} +1 -1
  33. package/dist/assets/{creating-extensions.50afb69b.js → creating-extensions.4533b8ed.js} +1 -1
  34. package/dist/assets/{crystal.1e7cf250.js → crystal.196d940f.js} +1 -1
  35. package/dist/assets/cs-CZ.2c006c7b.js +1 -0
  36. package/dist/assets/{css.ed8d4773.js → css.585f2cb0.js} +1 -1
  37. package/dist/assets/{cypher.863b9fa8.js → cypher.35036411.js} +1 -1
  38. package/dist/assets/{d.66d0201b.js → d.93cfb299.js} +1 -1
  39. package/dist/assets/da-DK.f9d9d6ca.js +1 -0
  40. package/dist/assets/{dart.878fcc86.js → dart.478f3544.js} +1 -1
  41. package/dist/assets/{data-model.ef4eedaf.js → data-model.dbce1366.js} +7 -7
  42. package/dist/assets/de-DE.729a1127.js +1 -0
  43. package/dist/assets/{diff.7a4d3ebd.js → diff.5cb6e186.js} +1 -1
  44. package/dist/assets/{digitalocean-app-platform.5dd9a78b.js → digitalocean-app-platform.b046ae55.js} +2 -2
  45. package/dist/assets/{display-templates.6412d9bf.js → display-templates.91e34e9f.js} +1 -1
  46. package/dist/assets/display.494b7d1f.js +1 -0
  47. package/dist/assets/{displays.c3b9934b.js → displays.54ddeb10.js} +3 -3
  48. package/dist/assets/{django.2a570d10.js → django.8f238632.js} +1 -1
  49. package/dist/assets/{docker.2130afa6.js → docker.36215dae.js} +2 -2
  50. package/dist/assets/{dockerfile.25c17dd8.js → dockerfile.8f0c0a1e.js} +1 -1
  51. package/dist/assets/{documentation.e232fdb2.js → documentation.cb5bf843.js} +1 -1
  52. package/dist/assets/{dtd.eefd1fda.js → dtd.989f5165.js} +1 -1
  53. package/dist/assets/{dylan.c614fa02.js → dylan.dea935ad.js} +1 -1
  54. package/dist/assets/{ebnf.e9066ab9.js → ebnf.4647a1c0.js} +1 -1
  55. package/dist/assets/{ecl.fe452b04.js → ecl.9a4cb085.js} +1 -1
  56. package/dist/assets/{eiffel.a0877698.js → eiffel.e0b19a69.js} +1 -1
  57. package/dist/assets/{elm.d26a7aa8.js → elm.391e151c.js} +1 -1
  58. package/dist/assets/{email-templates.0aa59541.js → email-templates.b0b82036.js} +1 -1
  59. package/dist/assets/{endpoints.b664ef10.js → endpoints.1ba44e66.js} +1 -1
  60. package/dist/assets/{erlang.92a68ba6.js → erlang.7fcf78c6.js} +1 -1
  61. package/dist/assets/es-419.9ec18edd.js +1 -0
  62. package/dist/assets/es-CL.4c3eb1b0.js +1 -0
  63. package/dist/assets/es-ES.4a8f0217.js +1 -0
  64. package/dist/assets/es-MX.76f4e344.js +1 -0
  65. package/dist/assets/{extensions.e511fc6d.js → extensions.b4c93ce0.js} +2 -2
  66. package/dist/assets/{factor.b5f382bf.js → factor.12bfd34d.js} +1 -1
  67. package/dist/assets/{faq.cc159e10.js → faq.4ca4b467.js} +1 -1
  68. package/dist/assets/{fcl.752a4039.js → fcl.bfa3e74f.js} +1 -1
  69. package/dist/assets/fi-FI.38180e94.js +1 -0
  70. package/dist/assets/{field-types.129a2c41.js → field-types.ed85836e.js} +1 -1
  71. package/dist/assets/{field.3061af3d.js → field.fb2213dd.js} +1 -1
  72. package/dist/assets/{fields.9e13d3e0.js → fields.057754cf.js} +5 -5
  73. package/dist/assets/{fields.1a3f05d2.js → fields.f3868bd3.js} +1 -1
  74. package/dist/assets/{file-library.531c267c.js → file-library.5d646392.js} +1 -1
  75. package/dist/assets/{files.af2c1a43.js → files.e0ad4209.js} +6 -6
  76. package/dist/assets/{filter-rules.454352d1.js → filter-rules.22fc9a6d.js} +1 -1
  77. package/dist/assets/{filters.57f37ec6.js → filters.5cf9b5c5.js} +1 -1
  78. package/dist/assets/flows.79e56304.js +17 -0
  79. package/dist/assets/{flows.4d2856ca.js → flows.eec58d0b.js} +5 -5
  80. package/dist/assets/{folders.10accc4b.js → folders.83d5bb9d.js} +1 -1
  81. package/dist/assets/{forth.68cc3f00.js → forth.0ff9d68f.js} +1 -1
  82. package/dist/assets/{fortran.af849fdf.js → fortran.6a74d293.js} +1 -1
  83. package/dist/assets/fr-CA.e0e0ef26.js +1 -0
  84. package/dist/assets/fr-FR.f3315fda.js +1 -0
  85. package/dist/assets/{gas.f1613e84.js → gas.0017dbfc.js} +1 -1
  86. package/dist/assets/{gcp.c7937b1a.js → gcp.60b49ff2.js} +1 -1
  87. package/dist/assets/{gfm.ea5bcf5f.js → gfm.0fc0d1d3.js} +1 -1
  88. package/dist/assets/{gherkin.255070ab.js → gherkin.782ca77e.js} +1 -1
  89. package/dist/assets/{github-ci.f7ee57b8.js → github-ci.b23bbe2d.js} +2 -2
  90. package/dist/assets/{glossary.80e53e05.js → glossary.238763c8.js} +1 -1
  91. package/dist/assets/{glossary.c84cb559.js → glossary.db37b807.js} +1 -1
  92. package/dist/assets/{go.b34c32f3.js → go.34e44348.js} +1 -1
  93. package/dist/assets/{groovy.145f8cf7.js → groovy.2b36f231.js} +1 -1
  94. package/dist/assets/{haml.8116bfb2.js → haml.812479fd.js} +1 -1
  95. package/dist/assets/{handlebars.8d60b385.js → handlebars.2683bde5.js} +1 -1
  96. package/dist/assets/{haskell-literate.169e6c59.js → haskell-literate.699b88bd.js} +1 -1
  97. package/dist/assets/{haskell.d4d4d77a.js → haskell.6faba30b.js} +1 -1
  98. package/dist/assets/{haxe.b95e20de.js → haxe.23162719.js} +1 -1
  99. package/dist/assets/he-IL.767fa735.js +1 -0
  100. package/dist/assets/{hooks.d1b00fc1.js → hooks.7b1e235e.js} +4 -4
  101. package/dist/assets/{htmlembedded.953ff7c2.js → htmlembedded.6bb4b539.js} +1 -1
  102. package/dist/assets/{htmlmixed.5ce6f41a.js → htmlmixed.b4abda11.js} +1 -1
  103. package/dist/assets/{http.9d3315fb.js → http.2093b31c.js} +1 -1
  104. package/dist/assets/id-ID.f65ae499.js +1 -0
  105. package/dist/assets/{idl.51f94c61.js → idl.cc7f893d.js} +1 -1
  106. package/dist/assets/{iis.2b991a80.js → iis.67a83939.js} +1 -1
  107. package/dist/assets/{import-export.74a08d53.js → import-export.92aee031.js} +1 -1
  108. package/dist/assets/{index.ab135b59.js → index.0645834a.js} +1 -1
  109. package/dist/assets/index.0c64ba3f.css +1 -0
  110. package/dist/assets/{index.4894f51e.js → index.0d2e59f7.js} +1 -1
  111. package/dist/assets/{index.15e3c95b.js → index.0eaf700c.js} +1 -1
  112. package/dist/assets/{index.58ce5d3f.js → index.197b17c1.js} +1 -1
  113. package/dist/assets/{index.36361e5b.js → index.1a3f31c4.js} +1 -1
  114. package/dist/assets/{index.e24720c2.js → index.1bbfd138.js} +1 -1
  115. package/dist/assets/{index.aeca2d25.js → index.1cd3d5ba.js} +1 -1
  116. package/dist/assets/{index.094d7435.js → index.22f2ba3c.js} +1 -1
  117. package/dist/assets/{index.b3227ed5.js → index.26419dc6.js} +1 -1
  118. package/dist/assets/{index.c0a6d945.js → index.27f67d42.js} +1 -1
  119. package/dist/assets/{index.5e2156f1.js → index.28a0ece3.js} +1 -1
  120. package/dist/assets/{index.719a1bf6.css → index.29c0adc9.css} +1 -1
  121. package/dist/assets/{index.69857a47.entry.js → index.2c592891.entry.js} +219 -219
  122. package/dist/assets/{index.43fc16cf.js → index.2e9e634f.js} +1 -1
  123. package/dist/assets/{index.a157d24b.js → index.322dc6a4.js} +1 -1
  124. package/dist/assets/{index.970729f9.js → index.32e3af07.js} +1 -1
  125. package/dist/assets/{index.44dfee18.js → index.34878ac2.js} +1 -1
  126. package/dist/assets/{index.b91f7cb9.js → index.38794fb2.js} +1 -1
  127. package/dist/assets/{index.4f3e1405.js → index.3907fbe9.js} +1 -1
  128. package/dist/assets/{index.8e6a2df6.js → index.39c3868e.js} +1 -1
  129. package/dist/assets/{index.6b8582b3.js → index.46908e35.js} +1 -1
  130. package/dist/assets/{index.5785bd5b.js → index.4a4f8949.js} +1 -1
  131. package/dist/assets/{index.8b727b3d.js → index.4a82f998.js} +1 -1
  132. package/dist/assets/{index.3dbbeee8.js → index.54ef22f3.js} +1 -1
  133. package/dist/assets/index.556512f9.js +1 -0
  134. package/dist/assets/{index.ee33b489.js → index.5713cf94.js} +1 -1
  135. package/dist/assets/{index.5efaa053.js → index.57954ae2.js} +1 -1
  136. package/dist/assets/{index.21e15966.js → index.594e4655.js} +1 -1
  137. package/dist/assets/{index.5bccbb70.js → index.5af46380.js} +1 -1
  138. package/dist/assets/{index.f45296e2.js → index.5b4bffdb.js} +1 -1
  139. package/dist/assets/{index.7fe2a6c1.js → index.5b507941.js} +1 -1
  140. package/dist/assets/{index.b990ffa7.js → index.6120d483.js} +1 -1
  141. package/dist/assets/{index.1c2bca61.js → index.620380a7.js} +1 -1
  142. package/dist/assets/{index.4caf473d.js → index.66b6c68b.js} +1 -1
  143. package/dist/assets/{index.286f3139.js → index.686784f1.js} +1 -1
  144. package/dist/assets/{index.b4512435.js → index.6c88db6e.js} +1 -1
  145. package/dist/assets/{index.238d8ccc.js → index.78f834f7.js} +1 -1
  146. package/dist/assets/{index.ac660d97.js → index.7ce1e572.js} +1 -1
  147. package/dist/assets/{index.34e50685.js → index.7dfe02f2.js} +1 -1
  148. package/dist/assets/{index.16102ca4.js → index.7e2708ed.js} +1 -1
  149. package/dist/assets/{index.ca46607e.js → index.7e4713d2.js} +1 -1
  150. package/dist/assets/{index.d9e06c0f.js → index.7eae9d5a.js} +1 -1
  151. package/dist/assets/{index.63beca13.js → index.81aae858.js} +1 -1
  152. package/dist/assets/{index.fee1fadb.js → index.83e516d5.js} +1 -1
  153. package/dist/assets/{index.2fa94ca6.js → index.84f0c372.js} +1 -1
  154. package/dist/assets/{index.8d64a2cc.js → index.86670575.js} +1 -1
  155. package/dist/assets/{index.ebc5fd3e.js → index.87b80a1b.js} +1 -1
  156. package/dist/assets/{index.d78b4dd1.js → index.92f081c8.js} +1 -1
  157. package/dist/assets/{index.86900d0e.js → index.9728d28b.js} +1 -1
  158. package/dist/assets/{index.ebace2a1.js → index.9ea39797.js} +1 -1
  159. package/dist/assets/{index.ce459a32.js → index.9f6f893d.js} +1 -1
  160. package/dist/assets/{index.38ca65a8.js → index.a07c2783.js} +1 -1
  161. package/dist/assets/{index.3a449212.js → index.a1938c4c.js} +1 -1
  162. package/dist/assets/{index.d3e27d97.js → index.a1e36825.js} +1 -1
  163. package/dist/assets/{index.cdc5693b.js → index.a47d735b.js} +3 -3
  164. package/dist/assets/{index.fd19f059.js → index.a4be7bd2.js} +1 -1
  165. package/dist/assets/{index.048bfcd4.js → index.a4f50556.js} +1 -1
  166. package/dist/assets/{index.727f38c4.js → index.a84a7598.js} +1 -1
  167. package/dist/assets/{index.9a2ded43.js → index.a981939a.js} +1 -1
  168. package/dist/assets/{index.ffa2a1cd.js → index.ad382721.js} +1 -1
  169. package/dist/assets/{index.dd5b5aec.js → index.b07b6c71.js} +1 -1
  170. package/dist/assets/{index.766f9329.js → index.b440ccbe.js} +1 -1
  171. package/dist/assets/{index.8b83352c.js → index.b4f005cc.js} +1 -1
  172. package/dist/assets/{index.504c871e.js → index.b7016c72.js} +1 -1
  173. package/dist/assets/{index.dae019ea.js → index.b73fc9df.js} +1 -1
  174. package/dist/assets/{index.efb2f918.js → index.b7eac46d.js} +1 -1
  175. package/dist/assets/{index.65ef9955.js → index.b8bc9ce9.js} +1 -1
  176. package/dist/assets/{index.6be1ec19.js → index.ba4d69a6.js} +1 -1
  177. package/dist/assets/{index.7f1515ca.js → index.babc408d.js} +1 -1
  178. package/dist/assets/{index.a14f652a.js → index.bb9b3d77.js} +1 -1
  179. package/dist/assets/{index.6ac5a367.js → index.bcef0184.js} +1 -1
  180. package/dist/assets/{index.558dbe9d.js → index.bf489604.js} +1 -1
  181. package/dist/assets/{index.73791b0b.js → index.c210d71e.js} +1 -1
  182. package/dist/assets/{index.6c3cfd9d.js → index.c378895c.js} +1 -1
  183. package/dist/assets/{index.8b6e1cf5.js → index.c7c5db2b.js} +1 -1
  184. package/dist/assets/{index.909efb92.js → index.d7318062.js} +1 -1
  185. package/dist/assets/{index.bb39eac1.js → index.db3bc6a7.js} +1 -1
  186. package/dist/assets/{index.87997092.js → index.e18ed1ac.js} +1 -1
  187. package/dist/assets/{index.b73eaa87.js → index.e22e6eb6.js} +1 -1
  188. package/dist/assets/{index.e7e3b4f1.js → index.e3c74acd.js} +1 -1
  189. package/dist/assets/{index.0152af18.js → index.e5ffe5fd.js} +1 -1
  190. package/dist/assets/{index.dccdb81c.js → index.ef505888.js} +1 -1
  191. package/dist/assets/{index.938b9c64.js → index.f32b69c8.js} +1 -1
  192. package/dist/assets/{index.22cbe4df.js → index.f7c78032.js} +1 -1
  193. package/dist/assets/{index.937b45e4.js → index.fd0568fe.js} +1 -1
  194. package/dist/assets/{input-rich-text-html.c5691bb5.js → input-rich-text-html.e34edefb.js} +30 -30
  195. package/dist/assets/{insights.0f2b188e.js → insights.c3df1bb3.js} +2 -2
  196. package/dist/assets/{installation.131e828a.js → installation.4ab6ce97.js} +1 -1
  197. package/dist/assets/{interface.aa4f61a0.js → interface.1195a442.js} +1 -1
  198. package/dist/assets/{interfaces.fc4c7384.js → interfaces.0dddec2f.js} +1 -1
  199. package/dist/assets/{introduction.b1da78a4.js → introduction.201b3a46.js} +2 -2
  200. package/dist/assets/{introduction.0f06a30b.js → introduction.2a49238f.js} +1 -1
  201. package/dist/assets/{introduction.24acabd2.js → introduction.569a3b41.js} +4 -4
  202. package/dist/assets/{introduction.e8ce5583.js → introduction.daef5dfe.js} +1 -1
  203. package/dist/assets/it-IT.b5b391d8.js +1 -0
  204. package/dist/assets/{items.cc5ed80d.js → items.207153dc.js} +10 -10
  205. package/dist/assets/{items.b5bb1efd.js → items.cc802753.js} +1 -1
  206. package/dist/assets/{javascript-hint.e20aef95.js → javascript-hint.973e4b78.js} +1 -1
  207. package/dist/assets/{javascript.5fd57163.js → javascript.0f987dbc.js} +1 -1
  208. package/dist/assets/{jinja2.50fcfe88.js → jinja2.1714c6b4.js} +1 -1
  209. package/dist/assets/{jsx.105d1c38.js → jsx.0436090e.js} +1 -1
  210. package/dist/assets/{julia.35f5ca7a.js → julia.17bcd86a.js} +1 -1
  211. package/dist/assets/{layouts.1b59a4c4.js → layouts.39ffa712.js} +1 -1
  212. package/dist/assets/{layouts.2759613b.js → layouts.6d10b629.js} +3 -3
  213. package/dist/assets/{livescript.c93edb54.js → livescript.e4f13644.js} +1 -1
  214. package/dist/assets/{localization.854fe2a6.js → localization.6486db5d.js} +1 -1
  215. package/dist/assets/{lua.9658c21a.js → lua.f648e91e.js} +1 -1
  216. package/dist/assets/{manual.e19c207e.js → manual.edc6cff6.js} +4 -4
  217. package/dist/assets/{mark-selection.53594d16.js → mark-selection.86c6319e.js} +1 -1
  218. package/dist/assets/{match-highlighter.102bdbf5.js → match-highlighter.a4271354.js} +1 -1
  219. package/dist/assets/{mathematica.9aa31b5e.js → mathematica.52dc4105.js} +1 -1
  220. package/dist/assets/{mbox.29766fd2.js → mbox.b896837f.js} +1 -1
  221. package/dist/assets/{migrations.70984e94.js → migrations.ecdb3334.js} +1 -1
  222. package/dist/assets/{mirc.7257ab91.js → mirc.10bbeea1.js} +1 -1
  223. package/dist/assets/{mllike.e8d0e664.js → mllike.191004b8.js} +1 -1
  224. package/dist/assets/{modelica.18fae917.js → modelica.bbfd56e6.js} +1 -1
  225. package/dist/assets/{modules.368e658d.js → modules.0dab0325.js} +1 -1
  226. package/dist/assets/{mscgen.ee9aeb3b.js → mscgen.c92fd74a.js} +1 -1
  227. package/dist/assets/{multiplex.5014c33e.js → multiplex.34a284fc.js} +1 -1
  228. package/dist/assets/{mumps.98967a5d.js → mumps.37f022fb.js} +1 -1
  229. package/dist/assets/{nginx.35db5339.js → nginx.baee9366.js} +1 -1
  230. package/dist/assets/no-NO.f3dbe81b.js +1 -0
  231. package/dist/assets/{notifications.71793dcb.js → notifications.5b10ad0b.js} +1 -1
  232. package/dist/assets/{nsis.5c925820.js → nsis.7f12c9dc.js} +1 -1
  233. package/dist/assets/{ntriples.ebc8952a.js → ntriples.018e6112.js} +1 -1
  234. package/dist/assets/{octave.2541b86b.js → octave.372364c9.js} +1 -1
  235. package/dist/assets/{operations.3a53915d.js → operations.296e9710.js} +11 -11
  236. package/dist/assets/operations.30fc2625.js +1 -0
  237. package/dist/assets/{operations.687b2da1.js → operations.c5ee7367.js} +3 -3
  238. package/dist/assets/{overlay.834b2264.js → overlay.0d815e1c.js} +1 -1
  239. package/dist/assets/{overview.2aef2737.js → overview.211898b7.js} +1 -1
  240. package/dist/assets/{overview.77c84906.js → overview.91ec2552.js} +1 -1
  241. package/dist/assets/{overview.42c9bc71.js → overview.eb55d14f.js} +1 -1
  242. package/dist/assets/{oz.dfebfbd1.js → oz.7497f31b.js} +1 -1
  243. package/dist/assets/{panels.1c9e59a5.js → panels.9b48e2ab.js} +3 -3
  244. package/dist/assets/{pascal.fcb326dc.js → pascal.42e2a8e0.js} +1 -1
  245. package/dist/assets/{pegjs.68efc658.js → pegjs.7318728b.js} +1 -1
  246. package/dist/assets/{perl.950af130.js → perl.cb43c987.js} +1 -1
  247. package/dist/assets/{permissions.7c6e7d90.js → permissions.66ecdced.js} +7 -7
  248. package/dist/assets/{php.fef53679.js → php.04bf2132.js} +1 -1
  249. package/dist/assets/{pig.e61066dd.js → pig.4235f7d9.js} +1 -1
  250. package/dist/assets/{pinia.b8e2dbe3.entry.js → pinia.ee5b7a45.entry.js} +2 -2
  251. package/dist/assets/pl-PL.25397b47.js +1 -0
  252. package/dist/assets/{plesk.09c47961.js → plesk.0a2c4855.js} +5 -5
  253. package/dist/assets/{powershell.a3647979.js → powershell.f967c618.js} +1 -1
  254. package/dist/assets/presets-bookmarks.0a83b030.js +1 -0
  255. package/dist/assets/{presets.a6220515.js → presets.198afe35.js} +6 -6
  256. package/dist/assets/project-settings.eebfbd8c.js +1 -0
  257. package/dist/assets/{projects.7b210ac2.js → projects.398642da.js} +1 -1
  258. package/dist/assets/{properties.1ee62841.js → properties.1a0b81f0.js} +1 -1
  259. package/dist/assets/{protobuf.7eaf6123.js → protobuf.b8759181.js} +1 -1
  260. package/dist/assets/pt-BR.664ac34b.js +1 -0
  261. package/dist/assets/{pug.7a05af3b.js → pug.902e44de.js} +1 -1
  262. package/dist/assets/{puppet.34c73ce6.js → puppet.52d18e89.js} +1 -1
  263. package/dist/assets/{python.bc5a01c1.js → python.50eb8730.js} +1 -1
  264. package/dist/assets/{q.4f51bed7.js → q.9f996c87.js} +1 -1
  265. package/dist/assets/{query.b72e23c9.js → query.8ccae3a9.js} +1 -1
  266. package/dist/assets/{quickstart.1d485356.js → quickstart.a567dd49.js} +2 -2
  267. package/dist/assets/{quickstart.0e152d2a.js → quickstart.de9843d9.js} +1 -1
  268. package/dist/assets/{r.1d0a2eab.js → r.b44dc9fe.js} +1 -1
  269. package/dist/assets/{readme.a5652282.js → readme.1996f39f.js} +1 -1
  270. package/dist/assets/{relations.804b318b.js → relations.ad6c2398.js} +4 -4
  271. package/dist/assets/{relationship.040a5095.js → relationship.32af0bee.js} +1 -1
  272. package/dist/assets/{relationships.ff02a9ff.js → relationships.1cd9b5d9.js} +8 -8
  273. package/dist/assets/{resources.efe9810e.js → resources.f947272a.js} +1 -1
  274. package/dist/assets/{revisions.121cb7de.js → revisions.c13b66e0.js} +3 -3
  275. package/dist/assets/{roles.680acff2.js → roles.e767878c.js} +11 -11
  276. package/dist/assets/{rpm.b6eaecab.js → rpm.5c635cb3.js} +1 -1
  277. package/dist/assets/{rst.90bc2b24.js → rst.3f01e667.js} +1 -1
  278. package/dist/assets/ru-RU.71121ae2.js +1 -0
  279. package/dist/assets/{ruby.0761eec1.js → ruby.77181664.js} +1 -1
  280. package/dist/assets/{running-locally.4b4aa0d8.js → running-locally.6bdbd71e.js} +4 -4
  281. package/dist/assets/{runtime-core.esm-bundler.e3d5f5b7.js → runtime-core.esm-bundler.32cac88a.js} +1 -1
  282. package/dist/assets/{rust.9c0ae2fb.js → rust.611a3c67.js} +1 -1
  283. package/dist/assets/{sas.863c1ff7.js → sas.3da7c95a.js} +1 -1
  284. package/dist/assets/{sass.a062b8a1.js → sass.b73c972a.js} +1 -1
  285. package/dist/assets/{schema.5f5eb18e.js → schema.7eb35ba9.js} +1 -1
  286. package/dist/assets/{scheme.cbfc233a.js → scheme.b8d740c2.js} +1 -1
  287. package/dist/assets/{sdk.84d76266.js → sdk.d1cc970a.js} +9 -9
  288. package/dist/assets/{security.6a8942ba.js → security.0f4880b1.js} +1 -1
  289. package/dist/assets/{server.b24a421b.js → server.bcf6175e.js} +5 -5
  290. package/dist/assets/{settings.d91e399d.js → settings.25cab07d.js} +1 -1
  291. package/dist/assets/{settings.d3a9b46c.js → settings.f21d244b.js} +10 -10
  292. package/dist/assets/{shares.6bb87993.js → shares.cc7ce751.js} +1 -1
  293. package/dist/assets/{shell.22e0ee45.js → shell.7de892e9.js} +1 -1
  294. package/dist/assets/{show-hint.7c35da9b.js → show-hint.7942c136.js} +1 -1
  295. package/dist/assets/{sieve.459825cf.js → sieve.d0b23d2d.js} +1 -1
  296. package/dist/assets/{slim.0ba3b5ea.js → slim.06a7eabb.js} +1 -1
  297. package/dist/assets/{smalltalk.8b748238.js → smalltalk.4a61691e.js} +1 -1
  298. package/dist/assets/{smarty.6b0aef9c.js → smarty.dd10b12f.js} +1 -1
  299. package/dist/assets/{solr.a707fb59.js → solr.44aceea2.js} +1 -1
  300. package/dist/assets/{soy.666256c0.js → soy.556b0f73.js} +1 -1
  301. package/dist/assets/{sparql.a1d891c8.js → sparql.aa44f70b.js} +1 -1
  302. package/dist/assets/{spreadsheet.ed5c9b6c.js → spreadsheet.f8b42bd2.js} +1 -1
  303. package/dist/assets/{sql.b86b7772.js → sql.90fc9d3c.js} +1 -1
  304. package/dist/assets/{sso-examples.eb8e7423.js → sso-examples.0b7c81f4.js} +3 -3
  305. package/dist/assets/{sso.c929d07f.js → sso.49e87f3a.js} +2 -2
  306. package/dist/assets/{stex.2ceacc2d.js → stex.ab2d9a38.js} +1 -1
  307. package/dist/assets/{stylus.97e043fb.js → stylus.f097fe6e.js} +1 -1
  308. package/dist/assets/{support.09b549ef.js → support.55199a3e.js} +1 -1
  309. package/dist/assets/{swift.ed9964e6.js → swift.2c94ae8d.js} +1 -1
  310. package/dist/assets/{tcl.d774e733.js → tcl.a233f5ee.js} +1 -1
  311. package/dist/assets/{teams.ab67345b.js → teams.541d1f0c.js} +1 -1
  312. package/dist/assets/{textile.6a476b5a.js → textile.4e44687a.js} +1 -1
  313. package/dist/assets/{themes.078e9124.js → themes.47d63f74.js} +2 -2
  314. package/dist/assets/{tiddlywiki.23adee6a.js → tiddlywiki.81993c15.js} +1 -1
  315. package/dist/assets/{tiki.6c9bc5e7.js → tiki.5fba512d.js} +1 -1
  316. package/dist/assets/{toml.0465b4ce.js → toml.0a35f429.js} +1 -1
  317. package/dist/assets/{tornado.4f8ab710.js → tornado.5d61b40e.js} +1 -1
  318. package/dist/assets/tr-TR.f894f4bf.js +1 -0
  319. package/dist/assets/{translation-strings.2e3ee87a.js → translation-strings.6f6737a7.js} +1 -1
  320. package/dist/assets/{translations.36a34606.js → translations.4a2d59ad.js} +1 -1
  321. package/dist/assets/{translations.fb062afb.js → translations.7e97efc3.js} +1 -1
  322. package/dist/assets/triggers.6baf300f.js +1 -0
  323. package/dist/assets/{troff.bf1b0dc8.js → troff.ff3d44c9.js} +1 -1
  324. package/dist/assets/{ttcn-cfg.a9d94352.js → ttcn-cfg.46e427d6.js} +1 -1
  325. package/dist/assets/{ttcn.fc69e878.js → ttcn.f456167c.js} +1 -1
  326. package/dist/assets/{turtle.a9f8b816.js → turtle.1a23c99d.js} +1 -1
  327. package/dist/assets/{twig.a7fff583.js → twig.e3c621bb.js} +1 -1
  328. package/dist/assets/{ubuntu.79ece84b.js → ubuntu.14eb3ea1.js} +2 -2
  329. package/dist/assets/{upgrades-migrations.ea8bea7b.js → upgrades-migrations.a9a9ca7c.js} +1 -1
  330. package/dist/assets/{use-sync.1dee2657.js → use-sync.3af8e920.js} +8 -8
  331. package/dist/assets/{user-directory.bac5f2ee.js → user-directory.59b8470a.js} +1 -1
  332. package/dist/assets/{users-roles-permissions.e36d0bc8.js → users-roles-permissions.ed9e814c.js} +1 -1
  333. package/dist/assets/{users.a9ad4dd9.js → users.de050e21.js} +1 -1
  334. package/dist/assets/{utilities.00432834.js → utilities.99f7a370.js} +1 -1
  335. package/dist/assets/{validation.2c0c5444.js → validation.10b8a2f3.js} +1 -1
  336. package/dist/assets/{vb.c822cd8d.js → vb.dcd27019.js} +1 -1
  337. package/dist/assets/{vbscript.9a894a18.js → vbscript.46374125.js} +1 -1
  338. package/dist/assets/{velocity.f68873d7.js → velocity.304c4a9a.js} +1 -1
  339. package/dist/assets/{verilog.3f3cea00.js → verilog.6a207823.js} +1 -1
  340. package/dist/assets/{vhdl.a06af28e.js → vhdl.1473d302.js} +1 -1
  341. package/dist/assets/vi-VN.a2a22682.js +1 -0
  342. package/dist/assets/{vue-i18n.3cc3a25f.entry.js → vue-i18n.ab96dd58.entry.js} +1 -1
  343. package/dist/assets/{vue-router.1ad5ff1f.entry.js → vue-router.4ad81e1d.entry.js} +2 -2
  344. package/dist/assets/{vue.bd77f77c.js → vue.1240f8e1.js} +1 -1
  345. package/dist/assets/vue.1c9ff390.entry.js +1 -0
  346. package/dist/assets/{vue.runtime.esm-bundler.ee2a778f.js → vue.runtime.esm-bundler.61bedc6f.js} +1 -1
  347. package/dist/assets/{wast.905c63d5.js → wast.070e9cb4.js} +1 -1
  348. package/dist/assets/{webhooks.e7e122b7.js → webhooks.53b2215e.js} +1 -1
  349. package/dist/assets/{webhooks.f0dfc270.js → webhooks.a7e035b7.js} +1 -1
  350. package/dist/assets/{webidl.b78b974a.js → webidl.81afb130.js} +1 -1
  351. package/dist/assets/{xquery.394e95a0.js → xquery.58d37345.js} +1 -1
  352. package/dist/assets/{yacas.8149da65.js → yacas.be272580.js} +1 -1
  353. package/dist/assets/{yaml-frontmatter.2ae5fca2.js → yaml-frontmatter.4d2a9afa.js} +1 -1
  354. package/dist/assets/{yaml.d43d21a8.js → yaml.1779a883.js} +1 -1
  355. package/dist/assets/{z80.f545b7bf.js → z80.f2bb6986.js} +1 -1
  356. package/dist/assets/zh-CN.96c0a25c.js +1 -0
  357. package/dist/assets/zh-TW.7333a9ec.js +1 -0
  358. package/dist/index.html +8 -8
  359. package/package.json +26 -5
  360. package/dist/assets/activity-log.86a173c5.js +0 -1
  361. package/dist/assets/bg-BG.6ccbe392.js +0 -1
  362. package/dist/assets/cs-CZ.3f25becd.js +0 -1
  363. package/dist/assets/da-DK.3460bab1.js +0 -1
  364. package/dist/assets/de-DE.980a9df8.js +0 -1
  365. package/dist/assets/display.c9e4c238.js +0 -1
  366. package/dist/assets/es-419.b77b2103.js +0 -1
  367. package/dist/assets/es-CL.e5af69da.js +0 -1
  368. package/dist/assets/es-ES.7fd65f45.js +0 -1
  369. package/dist/assets/es-MX.84fb11f1.js +0 -1
  370. package/dist/assets/fi-FI.f2ba369a.js +0 -1
  371. package/dist/assets/flows.c21cd837.js +0 -16
  372. package/dist/assets/fr-CA.bd73b96f.js +0 -1
  373. package/dist/assets/fr-FR.f86a9f41.js +0 -1
  374. package/dist/assets/he-IL.7b11dc5e.js +0 -1
  375. package/dist/assets/id-ID.46c8c32a.js +0 -1
  376. package/dist/assets/index.19a1e6a6.css +0 -1
  377. package/dist/assets/index.cd90c757.js +0 -1
  378. package/dist/assets/it-IT.922112b6.js +0 -1
  379. package/dist/assets/no-NO.3bb25fb7.js +0 -1
  380. package/dist/assets/operations.845da620.js +0 -1
  381. package/dist/assets/pl-PL.dfc1a032.js +0 -1
  382. package/dist/assets/presets-bookmarks.3d6f189f.js +0 -1
  383. package/dist/assets/project-settings.5ba0a483.js +0 -1
  384. package/dist/assets/pt-BR.a8e95f48.js +0 -1
  385. package/dist/assets/ru-RU.9f19c25d.js +0 -1
  386. package/dist/assets/tr-TR.039a12a9.js +0 -1
  387. package/dist/assets/triggers.44226865.js +0 -1
  388. package/dist/assets/vi-VN.fff05bda.js +0 -1
  389. package/dist/assets/vue.f73b7cd5.entry.js +0 -1
  390. package/dist/assets/zh-CN.e03e0e56.js +0 -1
  391. package/dist/assets/zh-TW.453f1e60.js +0 -1
@@ -1,13 +1,13 @@
1
- import{a as l,o as r,b as c,w as a,g as e,e as n,B as t}from"./runtime-core.esm-bundler.e3d5f5b7.js";const u={class:"markdown-body"},h=e("blockquote",null,[e("p",null,"The Directus data studio enables no-code configuration and management for any SQL database, with no arbitrary restrictions on how you build your data model. You get control over table, column and relationship configuration, as well as how users view and interact with data inside the data studio.")],-1),m={class:"tip hint"},p=e("div",{class:"hint-title"},"Learn More",-1),y=t("Remember, you will have full access to manage your database using SQL. Directus will mirror any changes. You can also configure your data model programmatically via the API. To learn more, see our API documentation on "),_=t("Collections"),b=t(", "),f=t("Fields"),g=t(", and "),w=t("Relations"),v=t("."),k=e("h2",{id:"relational-data-models",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#relational-data-models"},"#"),t(" Relational Data Models")],-1),T=e("p",null,[t("In order to understand how Directus handles data models, you will need an understanding of what relational data models are. This section provides a brief summary of the core concepts. It may be useful as a review, or for business users working on your team that want a simple explanation of how data models work. If you have a firm knowledge of relational data model concepts, such as databases, data tables, columns, data types, primary and foreign keys, rows, relationships, and schemas then feel free to jump to "),e("a",{href:"#data-models-in-directus"},"Data Models in Directus"),t(".")],-1),D=e("h3",{id:"databases",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#databases"},"#"),t(" Databases")],-1),x=e("p",null,"Directus is an SQL database wrapper. A database is a set of data stored in a computer, in a structured way, making it organized, accessible, and scalable. The specific way you structure your data within a database is called your data model.",-1),I=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/database-schema-20220805A.webp",alt:"A Database Schema"})],-1),A=e("h3",{id:"database-vs-excel",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#database-vs-excel"},"#"),t(" Database vs Excel")],-1),S=e("p",null,[t("To make a comparison most business users can relate with, storing data in a database is "),e("em",null,"somewhat"),t(" similar to storing data in Excel spreadsheets. You know how you can build a table on one sheet in Excel, build another table on another sheet, then link the rows of each table together? That is pretty much how a relational data model works. But there are some key points where Excel and relational databases differ.")],-1),M=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/spreadsheet-20220805A.webp",alt:"Data in an Excel Spreadsheet"})],-1),j=e("p",null,[t("Many times, we store data as a table in Excel, but that\u2019s not always the case, as the program serves tons of other purposes. Excel lets you make your data stylized "),e("em",null,"(bold, italicized, colored, custom fonts, etc.)"),t(", set dynamic functions in cells, add graphics like charts and graphs, and input any kind of data into any cell you\u2019d like with no enforced structure. Your Excel spreadsheet is a blank canvas, designed to store up to tens of thousands of rows of information.")],-1),R=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/datatable-20220805A.webp",alt:"A data table"})],-1),E=e("p",null,[t("There is no stylization within databases. They strictly store raw data values in a structured way. Any time you want to style data, build a function, put data into a graph, "),e("em",null,"etc.,"),t(" you must create that functionality in your app or website. Databases store raw, un-stylized, structured data and are designed to handle millions, "),e("em",null,"and in some cases billions and trillions"),t(", of rows of information.")],-1),q=e("h3",{id:"data-tables",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#data-tables"},"#"),t(" Data Tables")],-1),C=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/rows-and-columns.webp",alt:"A Data Table: rows and columns"})],-1),F=e("p",null,[t("SQL databases store data across data tables. Data tables typically store information about one distinct type of record, object, or observation, such as a financial transaction, blog post, geo-position, user, IoT event, "),e("em",null,"or anything"),t(". Data tables are further broken down into columns and rows.")],-1),z=e("h3",{id:"columns",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#columns"},"#"),t(" Columns")],-1),L=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/columns-20220805A.webp",alt:"A Column"})],-1),N=e("p",null,[t("Columns are categories that store one kind of information. Each column has a unique, descriptive name and stores one unit of information in each of its "),e("a",{href:"#cell-values"},"cell values"),t(". Columns keep the data organized, consistent, and easily accessible. The columns you choose to add to a data table will completely depend on the information you need to store.")],-1),P=e("h3",{id:"cell-values",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#cell-values"},"#"),t(" Cell Values")],-1),Q=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/datatable-cell-value-20220805A.webp",alt:"Cell Values"})],-1),O=e("p",null,[t("Each value in a column is stored in its own cell. In general, you want to create columns that save "),e("em",null,"atomic"),t(" values. That means create the column to store the smallest indivisible units There is no restriction for the kinds of information to include in a column, but there are good and bad practices. For example:")],-1),U=e("ul",null,[e("li",null,[e("strong",null,"A Bad Column:"),t(" A "),e("code",null,"city_state_zipcode"),t(" column.")]),e("li",null,[e("strong",null,"Good Columns:"),t(" Separate "),e("code",null,"city"),t(", "),e("code",null,"state"),t(" and "),e("code",null,"zipcode"),t(" columns.")])],-1),Y=e("h3",{id:"data-types",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#data-types"},"#"),t(" Data Types")],-1),B=e("p",null,[t("To further maintain structure and consistency, when you create a column, you must also define its data type. For example, an "),e("code",null,"age"),t(" column might be assigned "),e("code",null,"INTEGER"),t(" and a "),e("code",null,"blog_content"),t(" column may be assigned a "),e("code",null,"STRING"),t(" or "),e("code",null,"TEXT"),t(" data type. There are countless incongruent, unexpected, and potentially dangerous behaviors that could emerge when a program tries to process data with the wrong data type.")],-1),G=e("p",null,[t("To give an example, if you type the character "),e("code",null,"2"),t(", it may be stored as an "),e("code",null,"INTEGER"),t(" or as "),e("code",null,"STRING"),t(". If you stored "),e("code",null,"2"),t(" as an "),e("code",null,"INTEGER"),t(", when you try to add "),e("code",null,"2 + 2"),t(", the computer will typically calculate "),e("code",null,"4"),t(". In some languages, if you stored the character "),e("code",null,'"2"'),t(" as a "),e("code",null,"STRING"),t(", when you try to add "),e("code",null,'"2" + "2"'),t(", the computer will concatenate them into "),e("code",null,"22"),t(", while in others, trying to do this may crash the program!")],-1),W=e("p",null,"Therefore when you work with data, it is important to know what its data type is because the wrong data type can cause unexpected and even dangerous behaviors in your program.",-1),H=e("h3",{id:"rows",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#rows"},"#"),t(" Rows")],-1),K=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/row-20220805A.webp",alt:"Rows"})],-1),V=e("p",null,[t("Each row stores data associated to a unique record, event, object, entity, observation, etc. Data tables can contain millions, "),e("em",null,"even billions and trillions"),t(" of rows of data.")],-1),J=e("h3",{id:"primary-keys",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#primary-keys"},"#"),t(" Primary Keys")],-1),X=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/primary-keys-20220805A.webp",alt:"Primary Key"})],-1),Z=e("p",null,[t("In order to uniquely identify and track each row, every data table must have a primary key column. A primary key is a unique ID that identifies a specific row. Any pattern or system could be used to generate primary keys, so long as it guarantees each key is unique. Perhaps the most common is incrementing integers, where the primary key on each new row increments as follows "),e("code",null,"1"),t(", "),e("code",null,"2"),t(", "),e("code",null,"3"),t(", "),e("code",null,"4"),t(", etc\u2026 The primary key column guarantees you can always find a row and differentiate it from other rows.")],-1),$=e("h3",{id:"foreign-keys",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#foreign-keys"},"#"),t(" Foreign Keys")],-1),ee=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/foreign-keys-20220805A.webp",alt:"Foreign Keys"})],-1),te=e("p",null,[t("Since primary keys uniquely identify each and every row in a data table, they are the perfect tool to create relationships. If you want to relationally link rows between two data tables, you create a column to store "),e("em",null,"foreign keys"),t(", which are simply primary keys from a foreign table. This is called a "),e("em",null,"foreign key column"),t(", to signify it stores the keys from a foreign table.")],-1),ae=e("h3",{id:"parent-vs.-related-tables",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#parent-vs.-related-tables"},"#"),t(" Parent vs. Related Tables")],-1),oe=e("p",null,[t("When we talk about two related tables, we refer to them as the "),e("em",null,"parent table"),t(" and the "),e("em",null,"related table"),t(". These two terms are based solely on perspective, similar to the terms "),e("em",null,"this"),t(" and "),e("em",null,"that"),t(" or the terms "),e("em",null,"here"),t(" and "),e("em",null,"there"),t(", signifying the perspective from which you are looking at the relationship.")],-1),ne=e("p",null,[t("For example, within the data model, a "),e("a",{href:"#types-of-relationships"},"many-to-one relationship"),t(" is the same as a "),e("a",{href:"#types-of-relationships"},"one-to-many relationship"),t(", the term used just depends on which collection you consider the parent.")],-1),se=e("h3",{id:"types-of-relationships",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#types-of-relationships"},"#"),t(" Types of Relationships")],-1),le=e("p",null,"There are several ways you can relationally link tables:",-1),ie=e("ul",null,[e("li",null,[e("strong",null,"One to One"),t(" \u2014 Each row in the parent data table can link to one row "),e("em",null,"(max)"),t(" in the related table.")]),e("li",null,[e("strong",null,"Many to One"),t(" \u2014 Many rows in the parent data table can link to one row in the related table.")]),e("li",null,[e("strong",null,"One to Many"),t(" \u2014 Each row in a data table can link to many rows in another data table."),e("br"),e("em",null,"Note: in a data model, Many-to-One and One-to-Many relationships are identical. The naming difference is a matter of perspective.")]),e("li",null,[e("strong",null,"Many to Many"),t(" \u2014 Many rows in the parent table can link to many rows in the related table. M2M relationships require a third table, called junction table. An M2M is nothing more than an O2M and an M2O stored on the junction table.")]),e("li",null,[e("strong",null,"Many to Any"),t(" \u2014 Many Rows in a data table can link to many rows across any other table in the database. Similar to M2M relationships, M2As require a junction data table as well as an additional column on the junction table to store the related tables\u2019 names.")])],-1),de=t("To learn more about how these relationships work conceptually, as well as how they are handled within Directus, see our guide on "),re=t("relationships"),ce=t("."),ue=e("h3",{id:"database-schemas",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#database-schemas"},"#"),t(" Database Schemas")],-1),he=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/datatable-to-schema-20220805A.webp",alt:"Data Table to schema"})],-1),me=e("p",null,[t("In our examples so far, we have seen and described actual "),e("a",{href:"#data-tables"},"data tables"),t(". As you design your relational data model, you will need to create a schema to keep track of its complexity.")],-1),pe=e("p",null,"A schema is a blueprint for your data model, which defines its data tables, columns in each table, details about each column and relationships between tables. It does not include the actual data points stored. Here is a simple schema of two relationally linked tables:",-1),ye=e("pre",null,[e("code",null,`table_one
1
+ import{a as i,o as r,b as c,w as a,l as e,e as n,E as t}from"./runtime-core.esm-bundler.32cac88a.js";const u={class:"markdown-body"},h=e("blockquote",null,[e("p",null,"The Directus data studio enables no-code configuration and management for any SQL database, with no arbitrary restrictions on how you build your data model. You get control over table, column and relationship configuration, as well as how users view and interact with data inside the data studio.")],-1),m={class:"tip hint"},p=e("div",{class:"hint-title"},"Learn More",-1),_=t("Remember, you will have full access to manage your database using SQL. Directus will mirror any changes. You can also configure your data model programmatically via the API. To learn more, see our API documentation on "),y=t("Collections"),b=t(", "),f=t("Fields"),w=t(", and "),g=t("Relations"),v=t("."),k=e("h2",{id:"relational-data-models",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#relational-data-models"},"#"),t(" Relational Data Models")],-1),D=e("p",null,[t("In order to understand how Directus handles data models, you will need an understanding of what relational data models are. This section provides a brief summary of the core concepts. It may be useful as a review, or for business users working on your team that want a simple explanation of how data models work. If you have a firm knowledge of relational data model concepts, such as databases, data tables, columns, data types, primary and foreign keys, rows, relationships, and schemas then feel free to jump to "),e("a",{href:"#data-models-in-directus"},"Data Models in Directus"),t(".")],-1),T=e("h3",{id:"databases",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#databases"},"#"),t(" Databases")],-1),x=e("p",null,"Directus is an SQL database wrapper. A database is a set of data stored in a computer, in a structured way, making it organized, accessible, and scalable. The specific way you structure your data within a database is called your data model.",-1),I=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/database-schema-20220805A.webp",alt:"A Database Schema"})],-1),A=e("h3",{id:"database-vs-excel",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#database-vs-excel"},"#"),t(" Database vs Excel")],-1),S=e("p",null,[t("To make a comparison most business users can relate with, storing data in a database is "),e("em",null,"somewhat"),t(" similar to storing data in Excel spreadsheets. You know how you can build a table on one sheet in Excel, build another table on another sheet, then link the rows of each table together? That is pretty much how a relational data model works. But there are some key points where Excel and relational databases differ.")],-1),M=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/spreadsheet-20220805A.webp",alt:"Data in an Excel Spreadsheet"})],-1),j=e("p",null,[t("Many times, we store data as a table in Excel, but that\u2019s not always the case, as the program serves tons of other purposes. Excel lets you make your data stylized "),e("em",null,"(bold, italicized, colored, custom fonts, etc.)"),t(", set dynamic functions in cells, add graphics like charts and graphs, and input any kind of data into any cell you\u2019d like with no enforced structure. Your Excel spreadsheet is a blank canvas, designed to store up to tens of thousands of rows of information.")],-1),E=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/datatable-20220805A.webp",alt:"A data table"})],-1),R=e("p",null,[t("There is no stylization within databases. They strictly store raw data values in a structured way. Any time you want to style data, build a function, put data into a graph, "),e("em",null,"etc.,"),t(" you must create that functionality in your app or website. Databases store raw, un-stylized, structured data and are designed to handle millions, "),e("em",null,"and in some cases billions and trillions"),t(", of rows of information.")],-1),q=e("h3",{id:"data-tables",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#data-tables"},"#"),t(" Data Tables")],-1),C=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/rows-and-columns.webp",alt:"A Data Table: rows and columns"})],-1),F=e("p",null,[t("SQL databases store data across data tables. Data tables typically store information about one distinct type of record, object, or observation, such as a financial transaction, blog post, geo-position, user, IoT event, "),e("em",null,"or anything"),t(". Data tables are further broken down into columns and rows.")],-1),z=e("h3",{id:"columns",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#columns"},"#"),t(" Columns")],-1),L=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/columns-20220805A.webp",alt:"A Column"})],-1),N=e("p",null,[t("Columns are categories that store one kind of information. Each column has a unique, descriptive name and stores one unit of information in each of its "),e("a",{href:"#cell-values"},"cell values"),t(". Columns keep the data organized, consistent, and easily accessible. The columns you choose to add to a data table will completely depend on the information you need to store.")],-1),P=e("h3",{id:"cell-values",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#cell-values"},"#"),t(" Cell Values")],-1),Q=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/datatable-cell-value-20220805A.webp",alt:"Cell Values"})],-1),O=e("p",null,[t("Each value in a column is stored in its own cell. In general, you want to create columns that save "),e("em",null,"atomic"),t(" values. That means create the column to store the smallest indivisible units There is no restriction for the kinds of information to include in a column, but there are good and bad practices. For example:")],-1),U=e("ul",null,[e("li",null,[e("strong",null,"A Bad Column:"),t(" A "),e("code",null,"city_state_zipcode"),t(" column.")]),e("li",null,[e("strong",null,"Good Columns:"),t(" Separate "),e("code",null,"city"),t(", "),e("code",null,"state"),t(" and "),e("code",null,"zipcode"),t(" columns.")])],-1),Y=e("h3",{id:"data-types",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#data-types"},"#"),t(" Data Types")],-1),G=e("p",null,[t("To further maintain structure and consistency, when you create a column, you must also define its data type. For example, an "),e("code",null,"age"),t(" column might be assigned "),e("code",null,"INTEGER"),t(" and a "),e("code",null,"blog_content"),t(" column may be assigned a "),e("code",null,"STRING"),t(" or "),e("code",null,"TEXT"),t(" data type. There are countless incongruent, unexpected, and potentially dangerous behaviors that could emerge when a program tries to process data with the wrong data type.")],-1),W=e("p",null,[t("To give an example, if you type the character "),e("code",null,"2"),t(", it may be stored as an "),e("code",null,"INTEGER"),t(" or as "),e("code",null,"STRING"),t(". If you stored "),e("code",null,"2"),t(" as an "),e("code",null,"INTEGER"),t(", when you try to add "),e("code",null,"2 + 2"),t(", the computer will typically calculate "),e("code",null,"4"),t(". In some languages, if you stored the character "),e("code",null,'"2"'),t(" as a "),e("code",null,"STRING"),t(", when you try to add "),e("code",null,'"2" + "2"'),t(", the computer will concatenate them into "),e("code",null,"22"),t(", while in others, trying to do this may crash the program!")],-1),B=e("p",null,"Therefore when you work with data, it is important to know what its data type is because the wrong data type can cause unexpected and even dangerous behaviors in your program.",-1),H=e("h3",{id:"rows",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#rows"},"#"),t(" Rows")],-1),K=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/row-20220805A.webp",alt:"Rows"})],-1),V=e("p",null,[t("Each row stores data associated to a unique record, event, object, entity, observation, etc. Data tables can contain millions, "),e("em",null,"even billions and trillions"),t(" of rows of data.")],-1),J=e("h3",{id:"primary-keys",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#primary-keys"},"#"),t(" Primary Keys")],-1),X=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/primary-keys-20220805A.webp",alt:"Primary Key"})],-1),Z=e("p",null,[t("In order to uniquely identify and track each row, every data table must have a primary key column. A primary key is a unique ID that identifies a specific row. Any pattern or system could be used to generate primary keys, so long as it guarantees each key is unique. Perhaps the most common is incrementing integers, where the primary key on each new row increments as follows "),e("code",null,"1"),t(", "),e("code",null,"2"),t(", "),e("code",null,"3"),t(", "),e("code",null,"4"),t(", etc\u2026 The primary key column guarantees you can always find a row and differentiate it from other rows.")],-1),$=e("h3",{id:"foreign-keys",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#foreign-keys"},"#"),t(" Foreign Keys")],-1),ee=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/foreign-keys-20220805A.webp",alt:"Foreign Keys"})],-1),te=e("p",null,[t("Since primary keys uniquely identify each and every row in a data table, they are the perfect tool to create relationships. If you want to relationally link rows between two data tables, you create a column to store "),e("em",null,"foreign keys"),t(", which are simply primary keys from a foreign table. This is called a "),e("em",null,"foreign key column"),t(", to signify it stores the keys from a foreign table.")],-1),ae=e("h3",{id:"parent-vs.-related-tables",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#parent-vs.-related-tables"},"#"),t(" Parent vs. Related Tables")],-1),oe=e("p",null,[t("When we talk about two related tables, we refer to them as the "),e("em",null,"parent table"),t(" and the "),e("em",null,"related table"),t(". These two terms are based solely on perspective, similar to the terms "),e("em",null,"this"),t(" and "),e("em",null,"that"),t(" or the terms "),e("em",null,"here"),t(" and "),e("em",null,"there"),t(", signifying the perspective from which you are looking at the relationship.")],-1),ne=e("p",null,[t("For example, within the data model, a "),e("a",{href:"#types-of-relationships"},"many-to-one relationship"),t(" is the same as a "),e("a",{href:"#types-of-relationships"},"one-to-many relationship"),t(", the term used just depends on which collection you consider the parent.")],-1),se=e("h3",{id:"types-of-relationships",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#types-of-relationships"},"#"),t(" Types of Relationships")],-1),ie=e("p",null,"There are several ways you can relationally link tables:",-1),le=e("ul",null,[e("li",null,[e("strong",null,"One to One"),t(" \u2014 Each row in the parent data table can link to one row "),e("em",null,"(max)"),t(" in the related table.")]),e("li",null,[e("strong",null,"Many to One"),t(" \u2014 Many rows in the parent data table can link to one row in the related table.")]),e("li",null,[e("strong",null,"One to Many"),t(" \u2014 Each row in a data table can link to many rows in another data table."),e("br"),e("em",null,"Note: in a data model, Many-to-One and One-to-Many relationships are identical. The naming difference is a matter of perspective.")]),e("li",null,[e("strong",null,"Many to Many"),t(" \u2014 Many rows in the parent table can link to many rows in the related table. M2M relationships require a third table, called junction table. An M2M is nothing more than an O2M and an M2O stored on the junction table.")]),e("li",null,[e("strong",null,"Many to Any"),t(" \u2014 Many Rows in a data table can link to many rows across any other table in the database. Similar to M2M relationships, M2As require a junction data table as well as an additional column on the junction table to store the related tables\u2019 names.")])],-1),de=t("To learn more about how these relationships work conceptually, as well as how they are handled within Directus, see our guide on "),re=t("relationships"),ce=t("."),ue=e("h3",{id:"database-schemas",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#database-schemas"},"#"),t(" Database Schemas")],-1),he=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/datatable-to-schema-20220805A.webp",alt:"Data Table to schema"})],-1),me=e("p",null,[t("In our examples so far, we have seen and described actual "),e("a",{href:"#data-tables"},"data tables"),t(". As you design your relational data model, you will need to create a schema to keep track of its complexity.")],-1),pe=e("p",null,"A schema is a blueprint for your data model, which defines its data tables, columns in each table, details about each column and relationships between tables. It does not include the actual data points stored. Here is a simple schema of two relationally linked tables:",-1),_e=e("pre",null,[e("code",null,`table_one
2
2
  - column1 (primary key)
3
3
  - column2 (data type, optionally explain what the column stores)
4
4
  - column3 (...)
5
- `)],-1),_e=e("pre",null,[e("code",null,`table_two
5
+ `)],-1),ye=e("pre",null,[e("code",null,`table_two
6
6
  - column1 (primary key)
7
7
  - column2 (...)
8
8
  - column3 (...)
9
9
  - table_one_id (foreign key, relationally links rows via table_one.column1)
10
- `)],-1),be=e("p",null,[t("In the schema above, we defined two tables with overtly generic names "),e("code",null,"table_one"),t(", "),e("code",null,"table_two"),t(" and "),e("code",null,"column1"),t(", "),e("code",null,"column2"),t(", etc. The names you choose for data tables and columns are up to you. Ideally, you should pick unique, memorable names that identify the data contents stored within.")],-1),fe=e("p",null,[t("In this documentation, we bend the rules of traditional database schemas in two ways. First, we sometimes add a full-length explanation of what a column is. Notice in "),e("code",null,"table_one.column2"),t(" there is a note after the column name "),e("code",null,"(data type, optionally...."),t(". It is common practice to include a column\u2019s data type in a table schema, but full descriptions are not. Second, in our examples, if columns exist in the table but its data type or other details are irrelevant to the current learning point, we omit their details so you can focus on the important columns.")],-1),ge=e("p",null,[t("Please note too, that with more complex schemas, containing dozens "),e("em",null,"(or maybe hundreds!)"),t(" of relationally linked data tables, you usually include datatype information as well as a visualization of how each and every table interlinks.")],-1),we=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/complex-schema.webp",alt:"A Complex Schema"})],-1),ve=e("h3",{id:"avoid-data-redundancy",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#avoid-data-redundancy"},"#"),t(" Avoid Data Redundancy")],-1),ke=e("p",null,"Relational databases allow us to build data models that avoid redundant data. Data redundancy is when you have the same data stored in multiple locations in your database. This is inefficient and dangerous.",-1),Te=e("p",null,[t("To give an example, let\u2019s consider a "),e("code",null,"blog"),t(" table. In a blog, you may want to display the author\u2019s details, so you add an "),e("code",null,"author_name"),t(" column.")],-1),De=e("pre",null,[e("code",null,`blog
10
+ `)],-1),be=e("p",null,[t("In the schema above, we defined two tables with overtly generic names "),e("code",null,"table_one"),t(", "),e("code",null,"table_two"),t(" and "),e("code",null,"column1"),t(", "),e("code",null,"column2"),t(", etc. The names you choose for data tables and columns are up to you. Ideally, you should pick unique, memorable names that identify the data contents stored within.")],-1),fe=e("p",null,[t("In this documentation, we bend the rules of traditional database schemas in two ways. First, we sometimes add a full-length explanation of what a column is. Notice in "),e("code",null,"table_one.column2"),t(" there is a note after the column name "),e("code",null,"(data type, optionally...."),t(". It is common practice to include a column\u2019s data type in a table schema, but full descriptions are not. Second, in our examples, if columns exist in the table but its data type or other details are irrelevant to the current learning point, we omit their details so you can focus on the important columns.")],-1),we=e("p",null,[t("Please note too, that with more complex schemas, containing dozens "),e("em",null,"(or maybe hundreds!)"),t(" of relationally linked data tables, you usually include datatype information as well as a visualization of how each and every table interlinks.")],-1),ge=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/complex-schema.webp",alt:"A Complex Schema"})],-1),ve=e("h3",{id:"avoid-data-duplication",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#avoid-data-duplication"},"#"),t(" Avoid Data Duplication")],-1),ke=e("p",null,"Relational databases allow us to build data models that avoid data duplication, or in other words, when you have the same data stored in multiple locations in your database. Data Duplication is inefficient and dangerous.",-1),De=e("p",null,[t("To give an example, let\u2019s consider a "),e("code",null,"blog"),t(" table. In a blog, you may want to display the author\u2019s details, so you add an "),e("code",null,"author_name"),t(" column.")],-1),Te=e("pre",null,[e("code",null,`blog
11
11
  - id
12
12
  - title
13
13
  - content
@@ -19,14 +19,14 @@ import{a as l,o as r,b as c,w as a,g as e,e as n,B as t}from"./runtime-core.esm-
19
19
  - author_name (string, stores author's full name)
20
20
  - author_email (string, stores author's email)
21
21
  - author_img (string, stores link to author's profile picture)
22
- `)],-1),Ae=e("p",null,[t("You might be starting to notice this data table no longer represents one single object, but two: blog posts and authors. This is "),e("em",null,"almost always"),t(" a sign the data should be split across different tables and relationally linked.")],-1),Se=e("p",null,[t("Now let\u2019s also imagine that authors are one type of user. All user details are stored in a "),e("code",null,"users"),t(" data table and its data is displayed on each user profile page, for chat messaging and other types of transactions, "),e("em",null,"this is a common situation in many projects"),t(". In this case, the author name and other details would also need to exist in the "),e("code",null,"users"),t(" table.")],-1),Me=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/data-redundancy-20220805A.webp",alt:"Data Redundancy"})],-1),je=e("p",null,"This creates data redundancy. There are two big problems with data redundancy:",-1),Re=e("p",null,[t("First, it becomes difficult or impossible to maintain accurate information. If the author decides to change their social media information under "),e("code",null,"users"),t(", someone would have to go through and update author details on every single row containing their blog posts. With just 10 or even 100 blog posts, this would be annoying but perhaps not a massive problem. However, as volume of data grows to millions or billions of rows, updating redundant data becomes a serious problem.")],-1),Ee=e("p",null,"Furthermore, an error on an author\u2019s name and personal information may not be a truly dangerous situation, but inaccurate information would be catastrophic in data tables containing banking transactions or medical records!",-1),qe=e("p",null,"Second, it wastes storage space and slows down performance. With a data model containing a few hundred blog posts, duplicate data may not take up enough space to cause huge drops in performance. But again, if you have the same information repeated again and again over millions or billions of rows, storage is wasted on a massive scale.",-1),Ce=e("h3",{id:"why-we-use-relational-data-models",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#why-we-use-relational-data-models"},"#"),t(" Why We Use Relational Data Models")],-1),Fe=e("p",null,[t("As shown from the previous section, you want to make sure that every single data point is unique. This is where the "),e("em",null,"relational"),t(" part of relational data models comes into play. To avoid data redundancy, it is always best practice to "),e("em",null,"normalize your data model"),t(", which is the technical term used to describe designing a data model so that there is no duplicate information stored "),e("em",null,"at all"),t(". Instead of storing all information needed in a given situation in one table, like we saw when mixing up blog and author information above, database normalization is the process of splitting up this information across tables and relationally linking it all together so that information is never repeated.")],-1),ze=e("p",null,[t("There is a lot to learn to master database normalization and a thorough education in the practice goes beyond the scope of this document. There are plenty of resources to learn about it online. However, to provide one simple example by improving the example "),e("code",null,"blog"),t(" data table provided in the previous "),e("a",{href:"#avoid-data-redundancy"},"Avoid Data Redundancy"),t(" section:")],-1),Le=e("pre",null,[e("code",null,`blog
22
+ `)],-1),Ae=e("p",null,[t("You might be starting to notice this data table no longer represents one single object, but two: blog posts and authors. This is "),e("em",null,"almost always"),t(" a sign the data should be split across different tables and relationally linked.")],-1),Se=e("p",null,[t("Now let\u2019s also imagine that authors are one type of user. All user details are stored in a "),e("code",null,"users"),t(" data table and its data is displayed on each user profile page, for chat messaging and other types of transactions, "),e("em",null,"this is a common situation in many projects"),t(". In this case, the author name and other details would also need to exist in the "),e("code",null,"users"),t(" table.")],-1),Me=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/duplicate-data-20220829A.webp",alt:"Duplicate Data"})],-1),je=e("p",null,"This creates duplicate data. There are two big problems with this:",-1),Ee=e("p",null,[t("First, it becomes difficult or impossible to maintain accurate information. If the author decides to change their social media information under "),e("code",null,"users"),t(", someone would have to go through and update author details on every single row containing their blog posts. With just 10 or even 100 blog posts, this would be annoying but perhaps not a massive problem. However, as volume of data grows to millions or billions of rows, updating duplicate data becomes a serious problem.")],-1),Re=e("p",null,"Furthermore, an error on an author\u2019s name and personal information may not be a truly dangerous situation, but inaccurate information would be catastrophic in data tables containing banking transactions or medical records!",-1),qe=e("p",null,"Second, it wastes storage space and slows down performance. With a data model containing a few hundred blog posts, duplicate data may not take up enough space to cause huge drops in performance. But again, if you have the same information repeated again and again over millions or billions of rows, storage is wasted on a massive scale.",-1),Ce=e("h3",{id:"why-we-use-relational-data-models",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#why-we-use-relational-data-models"},"#"),t(" Why We Use Relational Data Models")],-1),Fe=e("p",null,[t("As shown from the previous section, you want to make sure that every single data point is unique. This is where the "),e("em",null,"relational"),t(" part of relational data models comes into play. To avoid data duplication, it is always best practice to "),e("em",null,"normalize your data model"),t(", which is the technical term used to describe designing a data model so that there is no duplicate information stored "),e("em",null,"at all"),t(". Instead of storing all information needed in a given situation in one table, like we saw when mixing up blog and author information above, database normalization is the process of splitting up this information across tables and relationally linking it all together so that information is never repeated.")],-1),ze=e("p",null,[t("There is a lot to learn to master database normalization and a thorough education in the practice goes beyond the scope of this document. There are plenty of resources to learn about it online. However, to provide one simple example by improving the example "),e("code",null,"blog"),t(" data table provided in the previous "),e("a",{href:"#avoid-data-duplication"},"Avoid Data Duplication"),t(" section:")],-1),Le=e("pre",null,[e("code",null,`blog
23
23
  - id
24
24
  - title
25
25
  - content
26
26
  - author_name
27
27
  - author_email
28
28
  - author_img
29
- `)],-1),Ne=t("As described in the section on "),Pe=t("Rows"),Qe=t(", we want each row in a data table to represent one unique record, event, object, entity, observation, etc. To do this, we can remove the "),Oe=e("code",null,"author_name",-1),Ue=t(" column from the "),Ye=e("code",null,"blog",-1),Be=t(" table and replace it with an "),Ge=e("code",null,"author_id",-1),We=t(" foreign key table, which stores foreign keys from the "),He=e("code",null,"users",-1),Ke=t(" table."),Ve=e("pre",null,[e("code",null,`blog
29
+ `)],-1),Ne=t("As described in the section on "),Pe=t("Rows"),Qe=t(", we want each row in a data table to represent one unique record, event, object, entity, observation, etc. To do this, we can remove the "),Oe=e("code",null,"author_name",-1),Ue=t(" column from the "),Ye=e("code",null,"blog",-1),Ge=t(" table and replace it with an "),We=e("code",null,"author_id",-1),Be=t(" foreign key table, which stores foreign keys from the "),He=e("code",null,"users",-1),Ke=t(" table."),Ve=e("pre",null,[e("code",null,`blog
30
30
  - id
31
31
  - title
32
32
  - content
@@ -38,8 +38,8 @@ import{a as l,o as r,b as c,w as a,g as e,e as n,B as t}from"./runtime-core.esm-
38
38
  - role
39
39
  - email
40
40
  - twitter
41
- `)],-1),Xe=e("p",null,[t("Notice the difference. Previously, we placed the author\u2019s name directly into a column on the "),e("code",null,"blog"),t(" data table "),e("em",null,"(creating redundancy)"),t(". Here, we replaced "),e("code",null,"author_name"),t(", "),e("code",null,"author_email"),t(" and "),e("code",null,"author_img"),t(", with the "),e("code",null,"author_id"),t(" column, which contains foreign keys from "),e("code",null,"users"),t(". From here, we can use the foreign key to relationally link data between "),e("code",null,"blog"),t(" and "),e("code",null,"users"),t(".")],-1),Ze=e("h3",{id:"working-with-relational-data-models",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#working-with-relational-data-models"},"#"),t(" Working With Relational Data Models")],-1),$e=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/database-backend-frontend-20220805A.webp",alt:"Database, Backend, Frontend"})],-1),et=e("p",null,"Once you\u2019ve designed your data model conceptually, you typically build and interact with it using SQL, or Structured Querying Language. This language is used to create, read & query, update, and delete anything and everything in the database.",-1),tt=e("p",null,"Once the initial data tables are designed and built, a common next step is to build a backed using something like Node.js or Flask. In your backend, you must code custom API endpoints and logic to create, read, query, update, and delete data for your specific data model. However, when the backend accesses data, it is still raw, with no stylization. Raw data is easy to work with for computers, but often quite difficult to work with for humans.",-1),at=e("p",null,"To those who are unfamiliar, the SQL language, raw data, and traditional relational database jargon can feel unintuitive and overly-technical.",-1),ot=e("p",null,[t("It may not be practical to teach everyone on the team how to work with and think in terms of raw data. In some cases, business users may find it difficult or nearly impossible to work with raw data. People are accustomed to see information displayed "),e("em",null,"colorfully, stylized, embedded on a map, etc."),t(" For example, "),e("em",null,"most people in most situations"),t(" would find it easy to work with pinpoints on a map, yet find it nearly impossible to identify a position on a world map from raw latitude and longitude points stored as JSON.")],-1),nt=e("pre",null,[e("code",{class:"language-json"},[e("span",{class:"hljs-attr"},'"location"'),e("span",{class:"hljs-punctuation"},":"),t(),e("span",{class:"hljs-punctuation"},"{"),t(`
41
+ `)],-1),Xe=e("p",null,[t("Notice the difference. Previously, we placed the author\u2019s name directly into a column on the "),e("code",null,"blog"),t(" data table "),e("em",null,"(creating duplicate data)"),t(". Here, we replaced "),e("code",null,"author_name"),t(", "),e("code",null,"author_email"),t(" and "),e("code",null,"author_img"),t(", with the "),e("code",null,"author_id"),t(" column, which contains foreign keys from "),e("code",null,"users"),t(". From here, we can use the foreign key to relationally link data between "),e("code",null,"blog"),t(" and "),e("code",null,"users"),t(".")],-1),Ze=e("h3",{id:"working-with-relational-data-models",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#working-with-relational-data-models"},"#"),t(" Working With Relational Data Models")],-1),$e=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/database-backend-frontend-20220805A.webp",alt:"Database, Backend, Frontend"})],-1),et=e("p",null,"Once you\u2019ve designed your data model conceptually, you typically build and interact with it using SQL, or Structured Querying Language. This language is used to create, read & query, update, and delete anything and everything in the database.",-1),tt=e("p",null,"Once the initial data tables are designed and built, a common next step is to build a backed using something like Node.js or Flask. In your backend, you must code custom API endpoints and logic to create, read, query, update, and delete data for your specific data model. However, when the backend accesses data, it is still raw, with no stylization. Raw data is easy to work with for computers, but often quite difficult to work with for humans.",-1),at=e("p",null,"To those who are unfamiliar, the SQL language, raw data, and traditional relational database jargon can feel unintuitive and overly-technical.",-1),ot=e("p",null,[t("It may not be practical to teach everyone on the team how to work with and think in terms of raw data. In some cases, business users may find it difficult or nearly impossible to work with raw data. People are accustomed to see information displayed "),e("em",null,"colorfully, stylized, embedded on a map, etc."),t(" For example, "),e("em",null,"most people in most situations"),t(" would find it easy to work with pinpoints on a map, yet find it nearly impossible to identify a position on a world map from raw latitude and longitude points stored as JSON.")],-1),nt=e("pre",null,[e("code",{class:"language-json"},[e("span",{class:"hljs-attr"},'"location"'),e("span",{class:"hljs-punctuation"},":"),t(),e("span",{class:"hljs-punctuation"},"{"),t(`
42
42
  `),e("span",{class:"hljs-attr"},'"lat"'),e("span",{class:"hljs-punctuation"},":"),t(),e("span",{class:"hljs-number"},"36.088010"),e("span",{class:"hljs-punctuation"},","),t(`
43
43
  `),e("span",{class:"hljs-attr"},'"lng"'),e("span",{class:"hljs-punctuation"},":"),t(),e("span",{class:"hljs-number"},"120.379771"),t(`
44
44
  `),e("span",{class:"hljs-punctuation"},"}"),t(`
45
- `)])],-1),st=e("p",null,"Therefore, developers need to build front-ends with polished UIs and custom display logic to make working with the data human-friendly. However, even for developers with strong SQL database skills, building out APIs and GUIs to build and manage a data model is time consuming.",-1),lt=e("h2",{id:"data-models-in-directus",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#data-models-in-directus"},"#"),t(" Data Models in Directus")],-1),it=e("video",{title:"Settings > Data Model",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/data-model-overview-20220805A.mp4",type:"video/mp4"})],-1),dt=e("p",null,"All relational data model concepts listed above apply in Directus. You get complete, un-opinionated, relational data model design and configuration. The difference is that Directus handles all SQL, builds the API, and provides a Data Studio which lets business users work with data in a human-friendly way.",-1),rt=t("The Data Studio also offers features and functionalities to display and interact with your data intuitively. Once your data model is configured, the data is accessible across the other "),ct=t("modules"),ut=t("."),ht=e("p",null,"You have the power to do the following things, without a line of code or SQL:",-1),mt=e("ul",null,[e("li",null,"View, configure, and manage your relational data model and asset storage."),e("li",null,"Configure how data is displayed within the Data Studio."),e("li",null,"Configure how data is interacted with by users in the Data Studio."),e("li",null,"Translate any and all text in the Data Studio into any language.")],-1),pt=e("p",null,[t("Directus replaces traditional relational database jargon with more user-friendly terms and concepts. Please keep in mind that while traditional relational database jargon strictly encompasses database concepts, some of the new Directus terms encompass these relational database concepts "),e("em",null,"plus display and interaction logic"),t(". The following sections will introduce Directus terms and map them to classic relational database concepts.")],-1),yt=e("h2",{id:"collections",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#collections"},"#"),t(" Collections")],-1),_t=e("video",{title:"Collections",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/collections-20220805A.mp4",type:"video/mp4"})],-1),bt=e("p",null,[t("A collection "),e("em",null,[t("is a set of "),e("a",{href:"#items"},"items")]),t(". This can be a 1-1 match-up with a data table in SQL, a group of other collections, or a readonly view.")],-1),ft=t("You access all collections, including built-in system collections required to power your project, under "),gt=e("strong",null,"Settings > Data Model",-1),wt=t(". From there, click a collection to open its configurations page. To learn more, see our guide on "),vt=t("collections"),kt=t("."),Tt=e("h2",{id:"fields",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#fields"},"#"),t(" Fields")],-1),Dt=e("video",{title:"Fields",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/fields-20220805A.mp4",type:"video/mp4"})],-1),xt=e("p",null,"Fields are database columns, but with a twist.",-1),It=t("Remember, SQL database columns store pure, raw data. From there, developers build out custom logic and UIs to determine how this data is displayed and interacted with. In Directus, fields encompass column configurations, as well as custom configuration over how to the data is displayed and interacted with in the Data Studio. Directus also has "),At=t("alias fields"),St=t(", which are virtual and do not match directly to a column. To learn more, see our guide on "),Mt=t("fields"),jt=t("."),Rt=e("h2",{id:"items",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#items"},"#"),t(" Items")],-1),Et=e("video",{title:"Collections",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/items-20220805A.mp4",type:"video/mp4"})],-1),qt=e("p",null,"Items are data table rows, but with a twist.",-1),Ct=e("p",null,[t("Remember from our discussion above about traditional databases, the ideal relational database is "),e("em",null,"normalized"),t(". Unfortunately, normalized data is not always the easiest for people to imagine or envision because related data is spread across multiple data tables. Therefore, when you access an item, you may get more than just the current collection\u2019s row level-data, "),e("em",null,"in some cases an item may provide access to the data in related rows.")],-1),Ft=t("You access items from other app modules, such as "),zt=t("Content"),Lt=t(", "),Nt=t("User Directory"),Pt=t(", and "),Qt=t("File Library"),Ot=t("."),Ut=e("h2",{id:"data-type-superset",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#data-type-superset"},"#"),t(" Data Type Superset")],-1),Yt=t("Directus abstracts type differences between SQL vendors with a "),Bt=t("Data Type Superset"),Gt=t("."),Wt=e("h2",{id:"keys-and-ids",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#keys-and-ids"},"#"),t(" Keys and IDs")],-1),Ht=e("video",{title:"Keys and IDs",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/keys-and-ids-20220805A.mp4",type:"video/mp4"})],-1),Kt=t("Primary keys are called IDs in Directus fairly frequently. When you "),Vt=t("create a collection"),Jt=t(", you must add an "),Xt=e("code",null,"id",-1),Zt=t(" field. Directus supports the following types of IDs:"),$t=e("ul",null,[e("li",null,[e("strong",null,"Auto-Incremented Integer"),t(" \u2014 IDs increment "),e("code",null,"1"),t(", "),e("code",null,"2"),t(", "),e("code",null,"3"),t(" up to "),e("code",null,"2^31-1"),t(" or "),e("code",null,"2,147,483,647"),t(".")]),e("li",null,[e("strong",null,"Auto-Incremented Big Integer"),t(" \u2014 IDs increment "),e("code",null,"1"),t(", "),e("code",null,"2"),t(", "),e("code",null,"3"),t(" up to "),e("code",null,"2^63-1"),t(" or "),e("code",null,"9,223,372,036,854,775,807"),t(". "),e("em",null,"(only available in MySQL and PostgreSQL)")]),e("li",null,[e("strong",null,"Generated UUID"),t(" \u2014 Universally Unique Identifier. Creates a completely unique ID. IDs generated with this system "),e("em",null,"(not just in your database, but anywhere this system is used)"),t(" are so statistically unlikely to be repeated that for all practical purposes they are unique.")]),e("li",null,[e("strong",null,"Manually Entered String"),t(" \u2014 You manually type out a unique string as the ID for each item.")])],-1),ea=e("h2",{id:"relationships",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#relationships"},"#"),t(" Relationships")],-1),ta=e("video",{title:"Relations",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/relationships-20220805A.mp4",type:"video/mp4"})],-1),aa=t("Directus supports all standard "),oa=e("a",{href:"#types-of-relationships"},"types of relationships",-1),na=t(", as well as a few more of its own compound types. To learn more, see our guide on "),sa=t("relationships"),la=t("."),ua="Data Model",ha=!1,ma="The data model describes the structure of your database's schema using Collections, database tables, and Fields.",pa="15 min read",ya={name:"data-model",setup(ia,{expose:i}){const s={title:"Data Model",modularExtension:!1,description:"The data model describes the structure of your database's schema using Collections, database tables, and Fields.",readTime:"15 min read"};return i({frontmatter:s}),(da,ra)=>{const o=l("router-link"),d=l("docs-wrapper");return r(),c(d,{frontmatter:s},{default:a(()=>[e("div",u,[h,e("div",m,[p,e("p",null,[y,n(o,{to:"/docs/reference/system/collections"},{default:a(()=>[_]),_:1}),b,n(o,{to:"/docs/reference/system/fields"},{default:a(()=>[f]),_:1}),g,n(o,{to:"/docs/reference/system/relations"},{default:a(()=>[w]),_:1}),v])]),k,T,D,x,I,A,S,M,j,R,E,q,C,F,z,L,N,P,Q,O,U,Y,B,G,W,H,K,V,J,X,Z,$,ee,te,ae,oe,ne,se,le,ie,e("p",null,[de,n(o,{to:"/docs/configuration/data-model/relationships"},{default:a(()=>[re]),_:1}),ce]),ue,he,me,pe,ye,_e,be,fe,ge,we,ve,ke,Te,De,xe,Ie,Ae,Se,Me,je,Re,Ee,qe,Ce,Fe,ze,Le,e("p",null,[Ne,n(o,{to:"/docs/configuration/data-model#rows"},{default:a(()=>[Pe]),_:1}),Qe,Oe,Ue,Ye,Be,Ge,We,He,Ke]),Ve,Je,Xe,Ze,$e,et,tt,at,ot,nt,st,lt,it,dt,e("p",null,[rt,n(o,{to:"/docs/getting-started/glossary#modules"},{default:a(()=>[ct]),_:1}),ut]),ht,mt,pt,yt,_t,bt,e("p",null,[ft,gt,wt,n(o,{to:"/docs/configuration/data-model/collections"},{default:a(()=>[vt]),_:1}),kt]),Tt,Dt,xt,e("p",null,[It,n(o,{to:"/docs/getting-started/glossary#alias"},{default:a(()=>[At]),_:1}),St,n(o,{to:"/docs/configuration/data-model/fields/"},{default:a(()=>[Mt]),_:1}),jt]),Rt,Et,qt,Ct,e("p",null,[Ft,n(o,{to:"/docs/app/content"},{default:a(()=>[zt]),_:1}),Lt,n(o,{to:"/docs/app/user-directory"},{default:a(()=>[Nt]),_:1}),Pt,n(o,{to:"/docs/app/file-library"},{default:a(()=>[Qt]),_:1}),Ot]),Ut,e("p",null,[Yt,n(o,{to:"/docs/getting-started/glossary#data-type-superset"},{default:a(()=>[Bt]),_:1}),Gt]),Wt,Ht,e("p",null,[Kt,n(o,{to:"/docs/configuration/data-model/collections#create-a-collection"},{default:a(()=>[Vt]),_:1}),Jt,Xt,Zt]),$t,ea,ta,e("p",null,[aa,oa,na,n(o,{to:"/docs/configuration/data-model/relationships"},{default:a(()=>[sa]),_:1}),la])])]),_:1})}}};export{ya as default,ma as description,ha as modularExtension,pa as readTime,ua as title};
45
+ `)])],-1),st=e("p",null,"Therefore, developers need to build front-ends with polished UIs and custom display logic to make working with the data human-friendly. However, even for developers with strong SQL database skills, building out APIs and GUIs to build and manage a data model is time consuming.",-1),it=e("h2",{id:"data-models-in-directus",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#data-models-in-directus"},"#"),t(" Data Models in Directus")],-1),lt=e("video",{title:"Settings > Data Model",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/data-model-overview-20220805A.mp4",type:"video/mp4"})],-1),dt=e("p",null,"All relational data model concepts listed above apply in Directus. You get complete, un-opinionated, relational data model design and configuration. The difference is that Directus handles all SQL, builds the API, and provides a Data Studio which lets business users work with data in a human-friendly way.",-1),rt=t("The Data Studio also offers features and functionalities to display and interact with your data intuitively. Once your data model is configured, the data is accessible across the other "),ct=t("modules"),ut=t("."),ht=e("p",null,"You have the power to do the following things, without a line of code or SQL:",-1),mt=e("ul",null,[e("li",null,"View, configure, and manage your relational data model and asset storage."),e("li",null,"Configure how data is displayed within the Data Studio."),e("li",null,"Configure how data is interacted with by users in the Data Studio."),e("li",null,"Translate any and all text in the Data Studio into any language.")],-1),pt=e("p",null,[t("Directus replaces traditional relational database jargon with more user-friendly terms and concepts. Please keep in mind that while traditional relational database jargon strictly encompasses database concepts, some of the new Directus terms encompass these relational database concepts "),e("em",null,"plus display and interaction logic"),t(". The following sections will introduce Directus terms and map them to classic relational database concepts.")],-1),_t=e("h2",{id:"collections",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#collections"},"#"),t(" Collections")],-1),yt=e("video",{title:"Collections",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/collections-20220805A.mp4",type:"video/mp4"})],-1),bt=e("p",null,[t("A collection "),e("em",null,[t("is a set of "),e("a",{href:"#items"},"items")]),t(". This can be a 1-1 match-up with a data table in SQL, a group of other collections, or a readonly view.")],-1),ft=t("You access all collections, including built-in system collections required to power your project, under "),wt=e("strong",null,"Settings > Data Model",-1),gt=t(". From there, click a collection to open its configurations page. To learn more, see our guide on "),vt=t("collections"),kt=t("."),Dt=e("h2",{id:"fields",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#fields"},"#"),t(" Fields")],-1),Tt=e("video",{title:"Fields",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/fields-20220805A.mp4",type:"video/mp4"})],-1),xt=e("p",null,"Fields are database columns, but with a twist.",-1),It=t("Remember, SQL database columns store pure, raw data. From there, developers build out custom logic and UIs to determine how this data is displayed and interacted with. In Directus, fields encompass column configurations, as well as custom configuration over how to the data is displayed and interacted with in the Data Studio. Directus also has "),At=t("alias fields"),St=t(", which are virtual and do not match directly to a column. To learn more, see our guide on "),Mt=t("fields"),jt=t("."),Et=e("h2",{id:"items",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#items"},"#"),t(" Items")],-1),Rt=e("video",{title:"Collections",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/items-20220805A.mp4",type:"video/mp4"})],-1),qt=e("p",null,"Items are data table rows, but with a twist.",-1),Ct=e("p",null,[t("Remember from our discussion above about traditional databases, the ideal relational database is "),e("em",null,"normalized"),t(". Unfortunately, normalized data is not always the easiest for people to imagine or envision because related data is spread across multiple data tables. Therefore, when you access an item, you may get more than just the current collection\u2019s row level-data, "),e("em",null,"in some cases an item may provide access to the data in related rows.")],-1),Ft=t("You access items from other app modules, such as "),zt=t("Content"),Lt=t(", "),Nt=t("User Directory"),Pt=t(", and "),Qt=t("File Library"),Ot=t("."),Ut=e("h2",{id:"data-type-superset",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#data-type-superset"},"#"),t(" Data Type Superset")],-1),Yt=t("Directus abstracts type differences between SQL vendors with a "),Gt=t("Data Type Superset"),Wt=t("."),Bt=e("h2",{id:"keys-and-ids",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#keys-and-ids"},"#"),t(" Keys and IDs")],-1),Ht=e("video",{title:"Keys and IDs",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/keys-and-ids-20220805A.mp4",type:"video/mp4"})],-1),Kt=t("Primary keys are called IDs in Directus fairly frequently. When you "),Vt=t("create a collection"),Jt=t(", you must add an "),Xt=e("code",null,"id",-1),Zt=t(" field. Directus supports the following types of IDs:"),$t=e("ul",null,[e("li",null,[e("strong",null,"Auto-Incremented Integer"),t(" \u2014 IDs increment "),e("code",null,"1"),t(", "),e("code",null,"2"),t(", "),e("code",null,"3"),t(" up to "),e("code",null,"2^31-1"),t(" or "),e("code",null,"2,147,483,647"),t(".")]),e("li",null,[e("strong",null,"Auto-Incremented Big Integer"),t(" \u2014 IDs increment "),e("code",null,"1"),t(", "),e("code",null,"2"),t(", "),e("code",null,"3"),t(" up to "),e("code",null,"2^63-1"),t(" or "),e("code",null,"9,223,372,036,854,775,807"),t(". "),e("em",null,"(only available in MySQL and PostgreSQL)")]),e("li",null,[e("strong",null,"Generated UUID"),t(" \u2014 Universally Unique Identifier. Creates a completely unique ID. IDs generated with this system "),e("em",null,"(not just in your database, but anywhere this system is used)"),t(" are so statistically unlikely to be repeated that for all practical purposes they are unique.")]),e("li",null,[e("strong",null,"Manually Entered String"),t(" \u2014 You manually type out a unique string as the ID for each item.")])],-1),ea=e("h2",{id:"relationships",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#relationships"},"#"),t(" Relationships")],-1),ta=e("video",{title:"Relations",autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[e("source",{src:"https://cdn.directus.io/docs/v9/configuration/data-model/data-model-20220805/relationships-20220805A.mp4",type:"video/mp4"})],-1),aa=t("Directus supports all standard "),oa=e("a",{href:"#types-of-relationships"},"types of relationships",-1),na=t(", as well as a few more of its own compound types. To learn more, see our guide on "),sa=t("relationships"),ia=t("."),ua="Data Model",ha=!1,ma="The data model describes the structure of your database's schema using Collections, database tables, and Fields.",pa="15 min read",_a={name:"data-model",setup(la,{expose:l}){const s={title:"Data Model",modularExtension:!1,description:"The data model describes the structure of your database's schema using Collections, database tables, and Fields.",readTime:"15 min read"};return l({frontmatter:s}),(da,ra)=>{const o=i("router-link"),d=i("docs-wrapper");return r(),c(d,{frontmatter:s},{default:a(()=>[e("div",u,[h,e("div",m,[p,e("p",null,[_,n(o,{to:"/docs/reference/system/collections"},{default:a(()=>[y]),_:1}),b,n(o,{to:"/docs/reference/system/fields"},{default:a(()=>[f]),_:1}),w,n(o,{to:"/docs/reference/system/relations"},{default:a(()=>[g]),_:1}),v])]),k,D,T,x,I,A,S,M,j,E,R,q,C,F,z,L,N,P,Q,O,U,Y,G,W,B,H,K,V,J,X,Z,$,ee,te,ae,oe,ne,se,ie,le,e("p",null,[de,n(o,{to:"/docs/configuration/data-model/relationships"},{default:a(()=>[re]),_:1}),ce]),ue,he,me,pe,_e,ye,be,fe,we,ge,ve,ke,De,Te,xe,Ie,Ae,Se,Me,je,Ee,Re,qe,Ce,Fe,ze,Le,e("p",null,[Ne,n(o,{to:"/docs/configuration/data-model#rows"},{default:a(()=>[Pe]),_:1}),Qe,Oe,Ue,Ye,Ge,We,Be,He,Ke]),Ve,Je,Xe,Ze,$e,et,tt,at,ot,nt,st,it,lt,dt,e("p",null,[rt,n(o,{to:"/docs/getting-started/glossary#modules"},{default:a(()=>[ct]),_:1}),ut]),ht,mt,pt,_t,yt,bt,e("p",null,[ft,wt,gt,n(o,{to:"/docs/configuration/data-model/collections"},{default:a(()=>[vt]),_:1}),kt]),Dt,Tt,xt,e("p",null,[It,n(o,{to:"/docs/getting-started/glossary#alias"},{default:a(()=>[At]),_:1}),St,n(o,{to:"/docs/configuration/data-model/fields/"},{default:a(()=>[Mt]),_:1}),jt]),Et,Rt,qt,Ct,e("p",null,[Ft,n(o,{to:"/docs/app/content"},{default:a(()=>[zt]),_:1}),Lt,n(o,{to:"/docs/app/user-directory"},{default:a(()=>[Nt]),_:1}),Pt,n(o,{to:"/docs/app/file-library"},{default:a(()=>[Qt]),_:1}),Ot]),Ut,e("p",null,[Yt,n(o,{to:"/docs/getting-started/glossary#data-type-superset"},{default:a(()=>[Gt]),_:1}),Wt]),Bt,Ht,e("p",null,[Kt,n(o,{to:"/docs/configuration/data-model/collections#create-a-collection"},{default:a(()=>[Vt]),_:1}),Jt,Xt,Zt]),$t,ea,ta,e("p",null,[aa,oa,na,n(o,{to:"/docs/configuration/data-model/relationships"},{default:a(()=>[sa]),_:1}),ia])])]),_:1})}}};export{_a as default,ma as description,ha as modularExtension,pa as readTime,ua as title};
@@ -0,0 +1 @@
1
+ var e={identifier:"Identifikator",avatar:"Avatar",application:"Anwendung",default_provider:"Standard",method:"Methode",published:"Ver\xF6ffentlicht",draft:"Entwurf",archived:"Archiviert",modules:"Module",module_bar:"Modulleiste",logs:"Logs",reset_width:"Breite zur\xFCcksetzen",tile_size:"Kachelgr\xF6\xDFe",edit_field:"Feld bearbeiten",conditions:"Bedingungen",location:"Ort",condition_rules:"Bedingte Stile",input:"Eingabe",maps:"Karten",switch_user:"Benutzer wechseln",item_creation:"Element erstellt",item_revision:"Element \xFCberarbeitet",enter_a_name:"Namen eingeben...",duplicate_field:"Feld duplizieren",half_width:"Halbe Breite",full_width:"Volle Breite",group:"Gruppe",export_items:"Elemente exportieren",and:"Und",or:"Oder",init:"Initialisierung",dataset_too_large_currently_showing_n_items:"Datensatz ist zu gro\xDF. Derzeit werden die ersten {n} Elemente angezeigt.",modifier:"Ge\xE4ndert von",custom:"Eigene",hook:"Hook",fill_width:"Breite f\xFCllen",field_name_translations:"Feldnamen-\xDCbersetzungen",enter_password_to_enable_tfa:"Geben Sie Ihr Passwort ein, um die Zwei-Faktor-Authentifizierung zu aktivieren",add_field:"Feld hinzuf\xFCgen",role_name:"Rollenname",branch:"Branch",leaf:"Blatt",indeterminate:"Unbestimmt",edit_collection:"Sammlung bearbeiten",exclusive:"Exklusive",children:"Untergeordnete",db_only_click_to_configure:"Nur Datenbank: Zum Konfigurieren klicken",show_active_items:"Aktive Elemente anzeigen",show_archived_items:"Zeige archivierte Elemente",show_all_items:"Alle Elemente anzeigen",edited:"Wert bearbeitet",required:"Erforderlich",required_for_app_access:"Ben\xF6tigt f\xFCr App-Zugriff",requires_value:"Erfordert Wert",create_preset:"Vorlage erstellen",create_panel:"Panel erstellen",create_role:"Rolle erstellen",create_user:"Benutzer erstellen",message:"Nachricht",delete_panel:"Panel l\xF6schen",create_webhook:"Webhook erstellen",create_translation_string:"\xDCbersetzungselement erstellen",no_translation_string:"Keine \xDCbersetzung",no_translation_string_copy:"Es existiert noch keine \xDCbersetzung.",translation_string_key_placeholder:"Schl\xFCssel f\xFCr \xDCbersetzungselement...",translation_string_translations_placeholder:"Neue \xDCbersetzung hinzuf\xFCgen",edit_translation_string:"\xDCbersetzungselement editieren",delete_translation_string_copy:'Soll das \xDCbersetzungselement "{key}" wirklich gel\xF6scht werden? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.',invite_users:"Benutzer einladen",invite:"Einladen",email_already_invited:'E-Mail "{email}" wurde bereits eingeladen',subject:"Betreff",inbox:"Posteingang",emails:"E-Mails",connection_excellent:"Ausgezeichnete Verbindung",connection_good:"Gute Verbindung",connection_fair:"Brauchbare Verbindung",connection_poor:"Schlechte Verbindung",primary:"Prim\xE4r",rename_folder:"Ordner umbenennen",delete_folder:"Ordner l\xF6schen",prefix:"Pr\xE4fix",suffix:"Suffix",reset_bookmark:"Lesezeichen zur\xFCcksetzen",update_bookmark:"Lesezeichen bearbeiten",delete_bookmark:"Lesezeichen l\xF6schen",delete_bookmark_copy:'M\xF6chten Sie das Lesezeichen "{bookmark}" wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.',delete_personal_bookmark:"Pers\xF6nliches Lesezeichen l\xF6schen",delete_role_bookmark:"Rollen-Lesezeichen l\xF6schen",delete_global_bookmark:"Globales Lesezeichen l\xF6schen",logoutReason:{SIGN_OUT:"Abgemeldet",SESSION_EXPIRED:"Sitzung abgelaufen"},public_label:"\xD6ffentlich",public_description:"Bestimmt, welche API-Daten ohne Authentifizierung zug\xE4nglich sind.",admin_description:"Initiale administrative Rolle mit uneingeschr\xE4nktem App/API-Zugriff.",not_allowed:"Nicht erlaubt",directus_version:"Directus-Version",node_version:"NodeJS-Version",node_uptime:"Server-Betriebszeit",os_type:"Betriebssystem",os_version:"Betriebssystem-Version",os_uptime:"System-Betriebszeit",os_totalmem:"Arbeitsspeicher",archive:"Archivieren",archive_confirm:"Sind Sie sicher, dass Sie dieses Element archivieren m\xF6chten?",archive_confirm_count:"Keine Elemente ausgew\xE4hlt | M\xF6chten Sie dieses Element wirklich archivieren? | M\xF6chten Sie diese {count} Elemente wirklich archivieren?",reset_system_permissions_to:"Systemberechtigungen zur\xFCcksetzen auf:",reset_system_permissions_copy:"Diese Aktion wird alle benutzerdefinierten Berechtigungen \xFCberschreiben, die Sie m\xF6glicherweise auf die System-Sammlungen angewendet haben. Sind Sie sicher?",the_following_are_minimum_permissions:'Die folgenden Berechtigungen sind mindestens errforderlich, falls "App Acces" aktiviert ist. Sie k\xF6nnen die Berechtigungen dar\xFCber hinaus erweitern, jedoch nicht weiter einschr\xE4nken.',app_access_minimum:"App-Zugriff Minimum",recommended_defaults:"Empfohlene Standardwerte",unarchive:"Archivierung zur\xFCcksetzen",unarchive_confirm:"M\xF6chten Sie dieses Element wirklich aus dem Archiv zur\xFCckholen?",nested_files_folders_will_be_moved:"Verschachtelte Dateien und Ordner werden eine Ebene nach oben verschoben.",validation_errors_notice:"Die folgenden Felder sind ung\xFCltig:",validationError:{eq:"Der Wert muss {valid} sein",neq:"Der Wert kann nicht {invalid} sein",in:"G\xFCltige Werte sind: {valid}",nin:"Wert darf nicht einer von {invalid} sein",contains:"Der Wert muss {substring} enthalten",ncontains:"Der Wert darf {substring} nicht enthalten",gt:"Der Wert muss gr\xF6\xDFer sein als {valid}",gte:"Der Wert muss gr\xF6\xDFer oder gleich {valid} sein",lt:"Der Wert muss kleiner als {valid} sein",lte:"Der Wert muss kleiner oder gleich {valid} sein",empty:"Der Wert muss leer sein",nempty:"Der Wert darf nicht leer sein",null:"Der Wert muss leer sein",nnull:"Der Wert darf nicht leer sein",required:"Wert erforderlich",unique:"Wert muss eindeutig sein",regex:"Wert hat nicht das richtige Format"},all_access:"Kompletter Zugriff",no_access:"Kein Zugriff",use_custom:"Benutzerdefiniert",nullable:"NULL-Werte",allow_null_value:"NULL-Wert erlauben",allow_multiple:"Mehrere zulassen",allow_multiple_to_be_open:"Gleichzeitiges \xD6ffnen erlauben",enter_value_to_replace_nulls:"Bitte geben Sie einen neuen Wert ein, um alle NULLs zu ersetzen, die derzeit in diesem Feld liegen.",field_standard:"Standard",field_presentation:"Darstellung & Aliase",field_file:"Eine Datei",field_files:"Mehrere Dateien",field_m2o:"M2O Beziehung",field_m2a:"M2A Beziehung",field_o2m:"O2M Beziehung",field_m2m:"M2M Beziehung",field_translations:"\xDCbersetzungen",field_group:"Feldgruppe",item_permissions:"Item Berechtigungen",field_permissions:"Feldberechtigungen",field_validation:"Feld\xFCberpr\xFCfung",field_presets:"Feld-Vorlagen",permissions_for_role:"Items die {role} Rolle kann {action}.",fields_for_role:"Felder die von der {role} Rolle {action} werden k\xF6nnen.",validation_for_role:"Feld {action} Regeln, welche die {role} Rolle befolgen muss.",presets_for_role:"Standardwert f\xFCr die {role} Rolle.",presentation_and_aliases:"Darstellung & Aliase",revision_post_create:"So sah dieses Element bei der Erstellung aus.",revision_post_update:"So sieht dieses Element nach der \xDCberarbeitung aus.",changes_made:"Dies sind die spezifischen \xC4nderungen, die in dieser Revision vorgenommen wurden.",no_relational_data:"Beachten Sie, dass relationale Daten hier nicht enthalten sind.",bottom:"Unten",hide_field:"Felder ausblenden",hide_field_on_detail:"In Detailansicht ausblenden",show_field_on_detail:"In Detailansicht einblenden",delete_field:"Feld l\xF6schen",fields_and_layout:"Felder & Ansicht",field_create_success:'Erstelltes Feld: "{field}"',field_update_success:'Ge\xE4ndertes Feld: "{field}"',duplicate_where_to:"Wohin m\xF6chten Sie dieses Feld duplizieren?",language:"Sprache",language_placeholder:"Sprache ausw\xE4hlen...",aggregate_function:"Aggregations-Funktion",aggregate_precision:"Aggregations-Pr\xE4zision",group_aggregation:"Gruppen-Aggregation",group_precision:"Gruppen-Pr\xE4zision",global:"Globale Objekte",admins_have_all_permissions:"Administratoren haben alle Berechtigungen",camera:"Kamera",show_zero:"Null anzeigen",create_in_advanced_field_creation_mode:"Feld im erweiterten Modus erstellen",continue_in_advanced_field_creation_mode:"Im erweiterten Felderstellungsmodus fortfahren",validation:"Validierung",sum:"Summe",sum_distinct:"Summe, unterschiedliche Werte",avg:"Mittelwert",avg_distinct:"Mittelwert, unterschiedliche Werte",count:"Anzahl",count_distinct:"Anzahl, unterschiedliche Werte",min:"Min",max:"Max",exposure:"Belichtung",shutter:"Blende",iso:"ISO",focal_length:"Brennweite",schema_setup_key:"Datenbankspaltenname und API-Schl\xFCssel dieses Feldes",create_field:"Feld erstellen",creating_new_field:"Neues Feld ({collection})",field_in_collection:"{field} ({collection})",reset_page_preferences:"Seiteneinstellungen zur\xFCcksetzen",hidden_field:"Verstecktes Feld",hidden_on_detail:"In Detailansicht ausblenden",disabled_editing_value:"Bearbeitung des Wertes deaktivieren",key:"Schl\xFCssel",alias:"Alias",bigInteger:"Big Integer",boolean:"Boolean",date:"Datum",date_range:"Zeitspanne",datetime:"Datum mit Uhrzeit",dateTime:"Datum mit Uhrzeit",precision:"Pr\xE4zision",decimal:"Dezimal",float:"Float",integer:"Integer",json:"JSON",xml:"XML",string:"Zeichenkette",text:"Text",time:"Zeit",timestamp:"Zeitstempel",uuid:"UUID",hash:"Hash",geometry:"Geometrie (alle)","geometry.Point":"Point","geometry.LineString":"LineString","geometry.Polygon":"Polygon","geometry.MultiPoint":"MultiPoint","geometry.MultiLineString":"MultiLineString","geometry.MultiPolygon":"MultiPolygon",not_available_for_type:"Nicht verf\xFCgbar f\xFCr diesen Typ",create_translations:"\xDCbersetzungen erstellen",auto_refresh:"Auto-Aktualisierung",refresh_interval:"Aktualisierungsintervall",no_refresh:"Nicht aktualisieren",refresh_interval_seconds:"Sofort aktualisieren | Jede Sekunde | Alle {seconds} Sekunden",refresh_interval_minutes:"Jede Minute | Alle {minutes} Minuten",auto_generate:"Automatisch generieren",this_will_auto_setup_fields_relations:"Dies wird automatisch alle ben\xF6tigten Felder und Beziehungen einrichten.",click_here:"Hier klicken",to_manually_setup_translations:"um die \xDCbersetzung manuell einzurichten.",click_to_manage_translated_fields:"Es gibt noch keine \xFCbersetzten Felder. Klicke hier, um sie zu erstellen| Es gibt ein \xFCbersetztes Feld. Klicke hier, um es zu verwalten. | Es gibt {count} \xFCbersetzte Felder. Klicke hier, um sie zu verwalten.",fields_group:"Feldergruppe",no_collections_found:"Keine Sammlungen gefunden.",new_data_alert:"Folgendes wird innerhalb Ihres Datenmodells erstellt:",search_collection:"Sammlung suchen...",new_field:"Neues Feld",new_collection:"Neue Sammlung",add_m2o_to_collection:'M2O zu "{collection}" hinzuf\xFCgen',add_o2m_to_collection:'O2M zu "{collection} " hinzuf\xFCgen',add_m2m_to_collection:'M2M zu "{collection} " hinzuf\xFCgen',choose_a_type:"W\xE4hle einen Typ...",determined_by_relationship:"Bestimmt durch Beziehung",add_note:"F\xFCge eine hilfreiche Beschreibung f\xFCr die Benutzer hinzu...",add_link:"Verkn\xFCpfung hinzuf\xFCgen",custom_link:"Benutzerdefinierte Verkn\xFCpfung",default_value:"Standardwert",standard_field:"Standardfeld",single_file:"Eine Datei",multiple_files:"Mehrere Dateien",m2o_relationship:"n:1-Beziehung",o2m_relationship:"1:n-Beziehung",m2m_relationship:"n:m-Beziehung",m2a_relationship:"n:x-Beziehung (Many to Any)",invalid_item:"Ung\xFCltiges Element",next:"Weiter",field_name:"Feldname",translations:"\xDCbersetzungen",no_translations:"Keine \xDCbersetzung",left_to_right:"Von links nach rechts",right_to_left:"Von rechts nach links",note:"Notiz",enter_a_value:"Gib einen Wert ein...",enter_a_placeholder:"Platzhalter eingeben...",length:"L\xE4nge",soft_length:"Soft Limit",precision_scale:"Pr\xE4zision & Skalierung",readonly:"Lesezugriff",unique:"Eindeutig",updated_on:"Ge\xE4ndert am",updated_by:"Ge\xE4ndert von",primary_key:"Prim\xE4rschl\xFCssel",foreign_key:"Fremdschl\xFCssel",finish_setup:"Einrichtung abschlie\xDFen",dismiss:"Verwerfen",toggle_raw_editor:"Raw-Editor umschalten",raw_editor_placeholder:"{'{'}{'{'}$trigger.payload.example{'}'}{'}'}",raw_value:"Rohwert",copy_raw_value:"Unverarbeiteten Wert kopieren",copy_raw_value_success:"Kopiert",copy_raw_value_fail:"Kopieren fehlgeschlagen",paste_raw_value:"Unverarbeiteten Wert einf\xFCgen",paste_raw_value_success:"Eingef\xFCgt",paste_raw_value_fail:"Einf\xFCgen fehlgeschlagen",view_raw_value:"Unverarbeiteten Wert anzeigen",edit_raw_value:"Rohwert bearbeiten",enter_raw_value:"Rohwert eingeben...",clear_value:"Wert l\xF6schen",clear_changes:"\xC4nderungen l\xF6schen",reset_to_default:"Auf Standardwert zur\xFCcksetzen",undo_changes:"\xC4nderungen r\xFCckg\xE4ngig machen",notifications:"Benachrichtigungen",show_all_activity:"Alle Aktivit\xE4ten anzeigen",page_not_found:"Seite nicht gefunden",page_not_found_body:"Die Seite scheint nicht zu existieren.",confirm_revert:"Zur\xFCcksetzen best\xE4tigen",confirm_revert_body:"Dadurch wird das Element auf den ausgew\xE4hlten Zustand zur\xFCckgesetzt.",display:"Anzeige",settings_update_success:"Einstellungen aktualisiert",title:"Titel",revision_delta_created:"Erstellt",revision_delta_created_externally:"Extern erstellt",revision_delta_updated:"1 Feld aktualisiert | {count} Felder aktualisiert",revision_delta_deleted:"Gel\xF6scht",revision_delta_reverted:"Zur\xFCckgesetzt",revision_delta_update_message:"Dieses Feld wurde aktualisiert, aber sein Wert wird aus Sicherheitsgr\xFCnden verschleiert.",revision_delta_other:"Revision",revision_delta_by:"{date} von {user}",presentation_text_values_cannot_be_reimported:"Verwendet Pr\xE4sentationstext, Werte k\xF6nnen nicht neu importiert werden.",download_page_as_csv:"Als CSV herunterladen",private_user:"Privater Benutzer",creation_preview:"Erstellungs-Vorschau",revision_preview:"\xDCberarbeitungs-Vorschau",updates_made:"Erfolgte Aktualisierungen",leave_comment:"Kommentieren...",post_comment_success:"Kommentar ver\xF6ffentlicht",post_comment_updated:"Kommentar aktualisiert",item_create_success:"Element erstellt | Elemente erstellt",item_update_success:"Element aktualisiert | Elemente aktualisiert",item_delete_success:"Element gel\xF6scht | Elemente gel\xF6scht",this_collection:"Diese Sammlung",related_collection:"Verkn\xFCpfte Sammlung",related_collections:"Verwandte Sammlungen",translations_collection:"\xDCbersetzungs-Sammlung",languages_collection:"Sprachen-Sammlung",import_data_input_placeholder:"CSV oder JSON...",import_data_button:"Import starten",import_data_indeterminate:"Importiere Daten...",import_data_success:"Daten erfolgreich aus {filename} importiert",import_data_error:"Die Datenstruktur der Datei stimmt nicht mit der Sammlung \xFCberein.",label_import:"Import",label_export:"Export",import_export:"Import / Export",format:"Format",last_page:"Letzte Seite",last_access:"Letzter Zugriff",fill_template:"Mit Vorlagenwert f\xFCllen",a_unique_table_name:"Ein eindeutiger Tabellenname...",a_unique_column_name:"Ein eindeutiger Spaltenname...",enable_custom_values:"Benutzerdefinierte Werte aktivieren",submit:"Absenden",move_to_folder:"In Ordner verschieben",move:"Verschieben",system:"System",add_field_related:"Feld zur abh\xE4ngigen Sammlung hinzuf\xFCgen",interface_label:"Benutzeroberfl\xE4che",today:"Heute",yesterday:"Gestern",delete_comment:"Kommentar l\xF6schen",delete_share:"Freigabe l\xF6schen",functions:{year:"Jahr",month:"Monat",week:"Woche",day:"Tag",weekday:"Wochentag",hour:"Stunde",minute:"Minute",second:"Sekunde",count:"Anzahl"},"date-fns_date":"PPP","date-fns_time":"H:mm:ss","date-fns_time_no_seconds":"H:mm","date-fns_time_24hour":"HH:mm:ss","date-fns_time_no_seconds_24hour":"HH:mm","date-fns_date_short":"d MMM u","date-fns_time_short":"H:mm","date-fns_date_short_no_year":"d MMM",minutes:"Minuten",hours:"Stunden",month:"Monat",year:"Jahr",select_all:"Alle ausw\xE4hlen",months:{january:"Januar",february:"Februar",march:"M\xE4rz",april:"April",may:"Mai",june:"Juni",july:"Juli",august:"August",september:"September",october:"Oktober",november:"November",december:"Dezember"},drag_mode:"Drag-Modus",cancel_crop:"Zuschneiden abbrechen",original:"Original",url:"URL",import_label:"Import",file_details:"Datei-Informationen",dimensions:"Dimensionen",size:"Gr\xF6\xDFe",created:"Erstellt",modified:"Ge\xE4ndert",checksum:"Pr\xFCfsumme",owner:"Besitzer",edited_by:"Editiert von",folder:"Ordner",zoom:"Zoom",download:"Herunterladen",open:"\xD6ffnen",open_in_new_window:"In neuem Fenster \xF6ffnen",open_folder:'\xD6ffne den "{folder}" Ordner',foreground_color:"Vordergrundfarbe",background_color:"Hintergrundfarbe",upload_from_device:"Datei vom Ger\xE4t hochladen",choose_from_library:"Datei aus Bibliothek ausw\xE4hlen",import_from_url:"Datei von URL importieren",replace_from_device:"Mit Datei vom Ger\xE4t ersetzen",replace_from_library:"Mit Datei aus der Bibliothek ersetzen",replace_from_url:"Mit Datei von URL ersetzen",no_file_selected:"Keine Datei ausgew\xE4hlt",download_file:"Datei herunterladen",open_file_in_tab:"Datei in neuem Tab \xF6ffnen",start_export:"Export starten",not_available_for_local_downloads:"Nicht f\xFCr lokale Downloads verf\xFCgbar",exporting_all_items_in_collection:"Alle {total} Elemente innerhalb von {collection} exportieren.",exporting_limited_items_in_collection:"{limit} von {total} Elementen innerhalb von {collection} exportieren.",exporting_no_items_to_export:"Keine Elemente zu exportieren. Passen Sie die Konfiguration unten an.",exporting_download_hint:"Sobald abgeschlossen, wird die {format} Datei automatisch auf das Ger\xE4t heruntergeladen.",exporting_batch_hint:"Dieser Export wird in Batches abgearbeitet und sobald abgeschlossen wird die Datei {format} in der Dateibibliothek gespeichert.",exporting_batch_hint_forced:"Aufgrund der gro\xDFen Anzahl von Elementen muss dieser Export in Batches abgearbeitet werden und nach Fertigstellung wird die Datei {format} in der Dateibibliothek gespeichert.",collection_key:"Sammlungsschl\xFCssel",name:"Name",primary_key_field:"Prim\xE4rschl\xFCsselfeld",type:"Typ",creating_new_collection:"Neue Sammlung wird erstellt",created_by:"Erstellt von",created_on:"Erstellt am",creating_collection_info:"Benennen Sie die Sammlung und richten Sie ein eindeutiges \u201ESchl\xFCsselfeld\u201C ein...",creating_collection_system:"Aktivieren und benennen Sie eines dieser optionalen Felder.",auto_increment_integer:"Automatisch erh\xF6hter Integer-Wert",auto_increment_big_integer:"Automatisch erh\xF6hter gro\xDFer Integer",generated_uuid:"Generierte UUID",manual_string:"Manuell eingegebene Zeichenkette",save_and_create_new:"Speichern und neues Element anlegen",save_and_stay:"Speichern und auf der Seite bleiben",save_as_copy:"Als Kopie speichern",add_existing:"Vorhandene hinzuf\xFCgen",creating_items:"Elemente erstellen",enable_create_button:"Knopf zum Erstellen aktivieren",selecting_items:"Elemente ausw\xE4hlen",enable_select_button:"Knopf zum Ausw\xE4hlen aktivieren",allow_duplicates:"Duplikate erlauben",comments:"Kommentare",no_comments:"Noch keine Kommentare",click_to_expand:"Zum Erweitern klicken",select_item:"Element ausw\xE4hlen",no_items:"Keine Elemente",search_items:"Elemente suchen...",disabled:"Deaktiviert",information:"Information",report_bug:"Bug melden",request_feature:"Feature anfragen",request_body:"Rohdaten der Anfrage",interface_not_found:'Schnittstelle "{interface}" nicht gefunden.',operation_not_found:'Operation "{operation}" nicht gefunden.',reset_interface:"Schnittstelle zur\xFCcksetzen",display_not_found:'Anzeige "{display}" nicht gefunden.',reset_display:"Anzeige zur\xFCcksetzen","list-m2a":"Builder (n:x, Many to Any)",item_count:"Keine Elemente | Ein Element | {count} Elemente",no_items_copy:"Bisher gibt es noch keine Elemente in dieser Sammlung.",file_count:"Keine Dateien | Eine Datei | {count} Dateien",no_files_copy:"Keine Dateien vorhanden.",user_count:"Keine Benutzer | Ein Benutzer | {count} Benutzer",no_users_copy:"Es gibt noch keine Benutzer in dieser Rolle.",webhooks_count:"Keine Webhooks | Ein Webhook | {count} Webhooks",no_webhooks_copy:"Es wurden noch keine Webhooks konfiguriert.",no_notifications:"Keine Benachrichtigungen",no_notifications_copy:"Du bist auf dem neusten Stand!",activity_log:"Aktivit\xE4tsprotokoll",all_items:"Alle Elemente",any:"Irgendein",csv:"CSV",no_collections:"Keine Sammlungen",create_collection:"Sammlung erstellen",no_collections_copy_admin:"Keine Sammlungen vorhanden. Auf die untenstehende Schaltfl\xE4che klicken, um loszulegen.",no_collections_copy:"Keine Sammlungen vorhanden. Bitte Systemadministrator kontaktieren.",relationship_not_setup:"Die relationale Beziehung wurde nicht korrekt konfiguriert",display_template_not_setup:"Die Anzeige-Vorlage ist falsch konfiguriert",collection_field_not_setup:"Das Sammlungsfeld ist falsch konfiguriert",select_a_collection:"Sammlung ausw\xE4hlen",select_a_field:"Feld ausw\xE4hlen",active:"Aktiv",move_to:"Verschieben nach...",copy:"Kopieren",copy_to:"Kopieren nach...",no_other_dashboards_copy:"Sie haben noch keine anderen Dashboards.",inactive:"Inaktiv",users:"Benutzer",activity:"Aktivit\xE4t",activity_item:"Aktivit\xE4ten-Element",action:"Aktion",ip_address:"IP Adresse",user_agent:"Benutzer-Agent",origin:"Ursprung",webhooks:"Webhooks",decimals:"Dezimalstellen",value_decimals:"Wert Dezimalstellen",min_value:"Minimalwert",max_value:"Maximalwert",automatic:"Automatisch",field_width:"Feldbreite",add_filter:"Filter hinzuf\xFCgen",upper_limit:"Obere Grenze...",lower_limit:"Untere Grenze...",user_directory:"Benutzerverzeichnis",documentation:"Dokumentation",sidebar:"Seitenleiste",duration:"Dauer",charset:"Zeichensatz",second:"Sekunde",file_moved:"Datei verschoben",collection_created:"Sammlung erstellt",modified_on:"Ge\xE4ndert am",card_size:"Kartengr\xF6\xDFe",sort_field:"Sortierfeld",add_sort_field:"Sortierfeld hinzuf\xFCgen",sort:"Sortieren",status:"Status",remove:"L\xF6schen",toggle_manual_sorting:"Manuelle Sortierung umschalten",bookmark_doesnt_exist:"Lesezeichen existiert nicht",bookmark_doesnt_exist_copy:"Das zu \xF6ffnende Lesezeichen konnte nicht gefunden werden.",bookmark_doesnt_exist_cta:"Zur\xFCck zur Sammlung",select_an_item:"Element ausw\xE4hlen...",edit:"Bearbeiten",enabled:"Aktiviert",disable_tfa:"2FA deaktivieren",tfa_scan_code:"Scannen Sie den Code in Ihrer Authentifikator-App, um die Einrichtung von 2FA abzuschlie\xDFen",enter_otp_to_disable_tfa:"OTP zum deaktivieren der 2FA eingeben",create_account:"Konto erstellen",account_created_successfully:"Konto wurde erfolgreich erstellt",auto_fill:"Autom. ausf\xFCllen",corresponding_field:"Korrespondierendes Feld",errors:{COLLECTION_NOT_FOUND:"Sammlung existiert nicht",FIELD_NOT_FOUND:"Feld nicht gefunden",FORBIDDEN:"Verweigert",INVALID_CREDENTIALS:"Benutzername oder Passwort falsch",INVALID_OTP:"Falsches Einmalpasswort",INVALID_PAYLOAD:"Ung\xFCltige Nutzdaten",INVALID_PROVIDER:"Benutzer geh\xF6rt zu einem anderen Authentifizierungsanbieter",INVALID_QUERY:"Ung\xFCltige anfrage",INVALID_CONFIG:"Ung\xFCltige Konfiguration",INVALID_TOKEN:"Token ung\xFCltig",INVALID_IP:"IP-Adresse nicht erlaubt",INVALID_USER:"Nutzer konnte nicht authentifiziert werden",ITEM_LIMIT_REACHED:"Limit f\xFCr Elemente erreicht",ITEM_NOT_FOUND:"Element nicht gefunden",ROUTE_NOT_FOUND:"Nicht gefunden",RECORD_NOT_UNIQUE:"Doppelter Wert erkannt",USER_SUSPENDED:"Benutzer gesperrt",CONTAINS_NULL_VALUES:"Feld enth\xE4lt NULL-Werte",UNPROCESSABLE_ENTITY:"Unverarbeitbare Anfrage",INTERNAL_SERVER_ERROR:"Unerwarteter Fehler",NOT_NULL_VIOLATION:"Der Wert darf nicht leer sein",ILLEGAL_ASSET_TRANSFORMATION:"Bildquelle zu gro\xDF f\xFCr die Vorschau",VALUE_TOO_LONG:"Wert ist zu lang",VALUE_OUT_OF_RANGE:"Wert ist au\xDFerhalb des g\xFCltigen Bereichs",INVALID_FOREIGN_KEY:"Ung\xFCltiger Fremdschl\xFCssel",UNKNOWN:"Unerwarteter Fehler",GRAPHQL_VALIDATION_EXCEPTION:"GraphQL Validierungsfehler",SERVICE_UNAVAILABLE:"Dienst nicht verf\xFCgbar",UNEXPECTED_RESPONSE:"Unerwartete Antwort",TOKEN_EXPIRED:"Token abgelaufen",RANGE_NOT_SATISFIABLE:"Ung\xFCltiger Bereich",REQUESTS_EXCEEDED:"Anfragelimit erreicht"},security:"Sicherheit",value_hashed:"Wert sicher gehashed",bookmark_name:"Name des Lesezeichens...",create_bookmark:"Lesezeichen erstellen",edit_bookmark:"Lesezeichen bearbeiten",edit_personal_bookmark:"Pers\xF6nliches Lesezeichen bearbeiten",edit_role_bookmark:"Rollen-Lesezeichen bearbeiten",edit_global_bookmark:"Globales Lesezeichen bearbeiten",cannot_edit_role_bookmarks:"Rollen-Lesezeichen kann nicht bearbeitet werden",cannot_edit_global_bookmarks:"Globales Lesezeichen kann nicht bearbeitet werden",bookmarks:"Lesezeichen",presets:"Vorlagen",unexpected_error:"Unerwarteter Fehler",unexpected_error_copy:"Ein unerwarteter Fehler ist aufgetreten. Bitte versuche es sp\xE4ter erneut.",copy_details:"Details kopieren",no_app_access:"Kein App-Zugriff",no_app_access_copy:"Dieser Benutzer darf die Admin-App nicht verwenden.",password_reset_sent:"Wenn Sie ein Konto haben, haben wir Ihnen einen sicheren Link zum Zur\xFCcksetzen Ihres Passworts gesendet",password_reset_successful:"Das Passwort wurde erfolgreich zur\xFCckgesetzt",back:"Zur\xFCck",filter:"Filter",edit_image:"Bild bearbeiten",editing_image:"Bild bearbeiten",square:"Quadratisch",free:"Frei",flip_horizontal:"Horizontal spiegeln",flip_vertical:"Vertikal spiegeln",aspect_ratio:"Seitenverh\xE4ltnis",rotate:"Drehen",all_users:"Alle Benutzer",delete_collection:"Sammlung l\xF6schen",update_collection_success:"Sammlung aktualisiert",delete_collection_success:"Sammlung gel\xF6scht",make_collection_visible:"Sammlung sichtbar machen",make_collection_hidden:"Sammlung verstecken",make_folder_visible:"Ordner sichtbar machen",make_folder_hidden:"Ordner verstecken",goto_collection_content:"Inhalt anzeigen",start_end_of_count_items:"{start}-{end} von {count} Elementen",start_end_of_count_filtered_items:"{start}-{end} von {count} gefilterten Elementen",one_item:"1 Element",one_filtered_item:"1 gefiltertes Element",delete_collection_are_you_sure:'Sind Sie sicher, dass Sie die Sammlung "{collection}" l\xF6schen m\xF6chten? Dies wird die Sammlung und alle darin enthaltenen Elemente l\xF6schen. Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.',delete_folder_are_you_sure:'Sind Sie sicher, dass Sie den Ordner "{folder}" l\xF6schen wollen? Verschachtelte Ordner und Sammlungen werden an die oberste Ebene verschoben.',collections_shown:"Angezeigte Sammlungen",visible_collections:"Sichtbare Sammlungen",hidden_collections:"Versteckte Sammlungen",show_hidden_collections:"Ausgeblendete Sammlungen anzeigen",hide_hidden_collections:"Sammlungen ausblenden",show_header:"Titel anzeigen",unmanaged_collections:"Nicht konfigurierte Sammlungen",system_collections:"Systemsammlungen",placeholder:"Platzhalter",icon_left:"Icon links",icon_right:"Icon rechts",count_other_revisions:"{count} andere Revisionen",font:"Schriftart",sans_serif:"Sans Serif",serif:"Serif",monospace:"Monospace",divider:"Trenner",color:"Farbe",circle:"Kreis",empty_item:"Leeres Element",log_in_with:"Einloggen mit {provider}",conditional_styles:"Bedingte Stile",advanced_settings:"Erweiterte Einstellungen",advanced_filter:"Erweiterter Filter",delete_advanced_filter:"Filter zur\xFCcksetzen",change_advanced_filter_operator:"Operator \xE4ndern",advanced:"Erweitert",operators:{eq:"Gleich",neq:"Ungleich",lt:"Weniger als",gt:"Gr\xF6\xDFer als",lte:"Weniger oder gleich",gte:"Gr\xF6\xDFer oder gleich",in:"Ist einer von",nin:"Ist nicht einer von",null:"Ist null",nnull:"Ist nicht null",contains:"Enth\xE4lt",ncontains:"Enth\xE4lt nicht",icontains:"Enth\xE4lt (Gro\xDF-, Kleinschreibung wird ignoriert)",starts_with:"Beginnt mit",nstarts_with:"Beginnt nicht mit",ends_with:"Endet mit",nends_with:"Endet nicht mit",between:"Ist zwischen",nbetween:"Ist nicht zwischen",empty:"Ist leer",nempty:"Ist nicht leer",all:"Enth\xE4lt diese Schl\xFCssel",has:"Enth\xE4lt einige dieser Schl\xFCssel",intersects:"schneidet",nintersects:"Schneidet nicht",intersects_bbox:"Schneidet Begrenzung",nintersects_bbox:"Schneidet nicht Begrenzung",regex:"Entspricht RegExp"},custom_validation_message:"Benutzerdefinierte Validierungsnachricht",loading:"Wird geladen...",drop_to_upload:"Zum Hochladen ablegen",item:"Element",items:"Elemente",upload_file:"Datei hochladen",upload_file_indeterminate:"Datei wird hochgeladen...",upload_file_success:"Datei wurde hochgeladen",upload_files_indeterminate:"Hochladen von Dateien {done}/{total}",upload_files_success:"{count} Dateien hochgeladen",upload_pending:"Upload ausstehend",drag_file_here:"Datei hierher ziehen",click_to_browse:"Zum Durchsuchen klicken",interface_options:"Schnittstellenoptionen",layout_options:"Ansichtsoptionen",rows:"Reihen",columns:"Spalten",collection_setup:"Einrichtung Sammlung",optional_system_fields:"Optionale Systemfelder",value_unique:"Wert muss eindeutig sein",all_activity:"Alle Aktivit\xE4ten",create_item:"Element erstellen",display_template:"Anzeigevorlage",language_display_template:"Anzeigevorlage Sprache",translations_display_template:"Anzeigevorlage \xDCbersetzungen",n_items_selected:"Keine Objekte ausgew\xE4hlt | 1 Element ausgew\xE4hlt | {n} Elemente ausgew\xE4hlt",per_page:"Pro Seite",all_files:"Alle Dateien",my_files:"Meine Dateien",recent_files:"Zuletzt verwendete Dateien",create_folder:"Ordner erstellen",edit_folder:"Ordner bearbeiten",folder_name:"Ordnername...",folder_key:"Ordnerschl\xFCssel...",add_file:"Datei hinzuf\xFCgen",replace_file:"Datei ersetzen",no_results:"Keine Ergebnisse",no_results_copy:"Suchfilter anpassen oder l\xF6schen um Ergebnisse zu sehen.",clear_filters:"Filter l\xF6schen",saves_automatically:"Wird automatisch gespeichert",role:"Rolle",edit_role:"Rolle bearbeiten",rule:"Regel",user:"Benutzer",no_presets:"Keine Vorlagen",no_presets_copy:"Es wurden noch keine Vorlagen oder Lesezeichen gespeichert.",no_presets_cta:"Vorlage hinzuf\xFCgen",presets_only:"Nur Vorlagen",create:"Erstellen",on_create:"Beim Erstellen",on_update:"Beim Aktualisieren",read:"Lesen",update:"Aktualisieren",delete:"L\xF6schen",select_fields:"Fielder ausw\xE4hlen",format_text:"Text formatieren",format_value:"Wert formatieren",abbreviate_value:"Wert abk\xFCrzen",operator:"Operator",bold:"Fett",toggle:"Umschalten",icon_on:"Symbol an",icon_off:"Symbol aus",label:"Label",flows:"Flows",flow:"Flow",select_a_flow:"Flow ausw\xE4hlen",run_flow_on_current:"Flow f\xFCr aktuelles Element ausf\xFChren",run_flow_on_selected:"Keine Items ausgew\xE4hlt | Flow f\xFCr 1 ausgew\xE4hltes Element ausf\xFChren | Flow f\xFCr {n} ausgew\xE4hlte Items ausf\xFChren",run_flow_success:'Flow "{flow}" wurde erfolgreich ausgef\xFChrt',trigger:"Trigger",trigger_options:"Ausl\xF6se-Optionen",view_trigger:"Ausl\xF6ser anzeigen",create_trigger:"Einen Ausl\xF6ser hinzuf\xFCgen",trigger_setup:"Ausl\xF6ser Einstellungen",change_trigger:"Ausl\xF6ser wechseln",flow_delete_confirm:'Sind Sie sicher, dass sie den Flow "{flow}" l\xF6schen m\xF6chten? Diese Aktion ist permanent.',set_flow_active:"Setze Flow auf aktiv",set_flow_inactive:"Setze Flow auf Inaktiv",edit_flow:"Flow bearbeiten",delete_flow:"Flow l\xF6schen",no_other_flows_copy:"Sie haben noch keine anderen Flows.",no_flows:"Keine Flows",no_flows_copy:"Sie haben noch keine Flows.",create_flow:"Flow erstellen",creating_new_flow:"Neuen Flow erstellen",updating_flow:"Flow aktualisieren",flow_setup:"Flow Einstellungen",flow_name:"Name",flow_tracking:"Aktivit\xE4ts- und \xC4nderungsverfolgung",flow_tracking_all:"Verfolge Aktivit\xE4ten und \xC4nderungen",flow_tracking_activity:"Nur Aktivit\xE4ten verfolgen",flow_tracking_null:"Nichts verfolgen",start_flow:"Flow starten",stop_flow:"Flow stoppen",create_operation:"Operation erstellen",edit_operation:"Operation bearbeiten",code:"Code",operation_options:"Operation Optionen",operation_name:"Name der Operation...",operation_key:"Bezeichner f\xFCr Referenz...",operation_key_unique_error:"Operationsschl\xFCssel m\xFCssen in einem Flow eindeutig sein",operation_handle_resolve:"L\xF6sen: Zum Hinzuf\xFCgen klicken oder f\xFCr Reroute ziehen",operation_handle_reject:"Ablehnen: Zum Hinzuf\xFCgen klicken oder f\xFCr Reroute ziehen",insights:"Einblicke",dashboard:"Dashboard",panel:"Panel",panel_options:"Panel-Optionen",panel_header:"Panel-Titel",panel_name_placeholder:"Dieses Panel benennen...",panel_note_placeholder:"Optionale Details zu diesem Panel...",panel_delete_confirm:"M\xF6chten Sie dieses Panel wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.",dashboard_delete_confirm:"M\xF6chten Sie dieses Dashboard wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.",edit_dashboard:"Dashboard bearbeiten",delete_dashboard:"Dashboard l\xF6schen",visible:"Sichtbar",prefix_placeholder:"Text vor Wert...",suffix_placeholder:"Text nach Wert...",decimals_placeholder:"Anzahl der Nachkommastellen...",no_dashboards:"Keine Dashboards",no_dashboards_copy:"Sie haben noch keine Dashboards.",create_dashboard:"Dashboard erstellen",dashboard_name:"Name des Dashboards",no_data:"Keine Daten",no_data_in_flow:"Es wurden keine Daten verarbeitet",accountability:"Verantwortlichkeit",payload:"Nutzdaten",details:"Details",full_screen:"Vollbild",full_text_search:"Volltextsuche",edit_panels:"Panel bearbeiten",center_align:"Zentriert",left_align:"Linksb\xFCndig",right_align:"Rechtsb\xFCndig",fit_to_screen:"An Bildschirmgr\xF6\xDFe anpassen",image_url:"Bild-Url",alt_text:"Alternativ-Text",media:"Medien",quality:"Qualit\xE4t",width:"Breite",height:"H\xF6he",transformation_preset_key:"Transformation Preset Key",source:"Quelle",url_placeholder:"URL eingeben...",display_text:"Text anzeigen",display_text_placeholder:"Anzeigetext eingeben...",interface_group_text_and_numbers:"Text & Zahlen",interface_group_selection:"Auswahl",interface_group_relational:"Beziehung",interface_group_presentation:"Pr\xE4sentation",interface_group_groups:"Gruppen",interface_group_other:"Andere",tooltip:"Tooltip",tooltip_placeholder:"Tooltip eingeben...",unlimited:"Unlimitiert",open_link_in:"Link \xF6ffnen in",new_tab:"Neuer Tab",current_tab:"Aktueller Tab",save_image:"Bild speichern",save_media:"Medien speichern",wysiwyg_options:{aligncenter:"Zentriert",alignjustify:"Blocksatz",alignleft:"Linksb\xFCndig",alignnone:"Nicht ausrichten",alignright:"Rechtsb\xFCndig",forecolor:"Vordergrundfarbe",backcolor:"Hintergrundfarbe",bold:"Fett",italic:"Kursiv",underline:"Unterstrichen",strikethrough:"Durchgestrichen",subscript:"Tiefgestellt",superscript:"Hochgestellt",codeblock:"Code",blockquote:"Zitatblock",bullist:"Aufz\xE4hlung",numlist:"Nummerierte Liste",hr:"Horizontale Linie",link:"Link einf\xFCgen/bearbeiten",unlink:"Link entfernen",media:"Medien hinzuf\xFCgen/bearbeiten",image:"Bild hinzuf\xFCgen/bearbeiten",copy:"Kopieren",cut:"Ausschneiden",paste:"Einf\xFCgen",heading:"\xDCberschrift",h1:"\xDCberschrift 1",h2:"\xDCberschrift 2",h3:"\xDCberschrift 3",h4:"\xDCberschrift 4",h5:"\xDCberschrift 5",h6:"\xDCberschrift 6",fontselect:"Schriftart ausw\xE4hlen",fontsizeselect:"Schriftgr\xF6\xDFe ausw\xE4hlen",indent:"Einr\xFCcken",outdent:"Ausr\xFCcken",undo:"R\xFCckg\xE4ngig",redo:"Wiederherstellen",remove:"L\xF6schen",removeformat:"Formatierung entfernen",selectall:"Alle ausw\xE4hlen",table:"Tabelle",visualaid:"Unsichtbare Elemente anzeigen",source_code:"Quellcode bearbeiten",fullscreen:"Vollbild",directionality:"Richtung"},dropdown:"Dropdown",choices:"Optionen",choices_option_configured_incorrectly:"Auswahl falsch konfiguriert",deselect:"Abw\xE4hlen",deselect_all:"Alle abw\xE4hlen",other:"Andere...",adding_user:"Benutzer hinzuf\xFCgen",unknown_user:"Unbekannter Benutzer",creating_in:"Element in {collection} erstellen",editing_in:"Bearbeite Element in {collection}",viewing_in:"Element aus {collection} wird angezeigt",creating_unit:"Erstelle {unit}",editing_unit:"Bearbeite {unit}",editing_in_batch:"{count} Elemente werden bearbeitet",no_options_available:"Keine Optionen verf\xFCgbar",settings_data_model:"Datenmodell",settings_permissions:"Rollen & Berechtigungen",settings_project:"Projekteinstellungen",settings_webhooks:"Webhooks",settings_flows:"Flows",settings_presets:"Vorlagen & Lesezeichen",settings_translation_strings:"\xDCbersetzungselemente",one_or_more_options_are_missing:"Eine oder mehrere Optionen fehlen",scope:"Bereich",actions:"Aktionen",select:"Ausw\xE4hlen...",layout:"Ansicht",tree_view:"Baumansicht",changes_are_permanent:"\xC4nderungen k\xF6nnen nicht r\xFCckg\xE4ngig gemacht werden",preset_name_placeholder:"Standardwert, wenn leer...",preset_search_placeholder:"Suchabfrage...",editing_preset:"Vorlage bearbeiten",layout_preview:"Vorschau der Ansicht",layout_setup:"Einrichtung Ansicht",data:"Daten",unsaved_changes:"Nicht gespeicherte \xC4nderungen",unsaved_changes_copy:"M\xF6chten Sie diese Seite wirklich verlassen?",discard_changes:"\xC4nderungen verwerfen",discard_all_changes:"Alle \xC4nderungen verwerfen",discard_changes_copy:"M\xF6chten Sie wirklich alle \xC4nderungen verwerfen?",show_x_axis:"X-Achse anzeigen",show_y_axis:"Y-Achse anzeigen",keep_editing:"Weiter bearbeiten",page_help_collections_overview:"**Sammlungs\xFCbersicht** \u2014 Liste aller Sammlungen, auf die Sie Zugriff haben.",page_help_collections_collection:"**Durchsuche Elemente** \u2014 Auflistung aller Elemente in {collection}, auf welche Sie Zugriff haben. Passen Sie Ansicht, Filter und Sortierung an und speichern Sie diese Konfiguration bei Bedarf als Lesezeichen f\xFCr einen schnelleren Zugriff ab.",page_help_collections_item:"**Elementdetails** \u2014 Ein Formular zum Betrachten und Verwalten dieses Elements. Diese Sidebar enth\xE4lt auch einen vollst\xE4ndigen Verlauf von Revisionen und eingebetteten Kommentaren.",page_help_activity_collection:"**Aktivit\xE4t durchsuchen** \u2014 Eine umfassende Auflistung aller System- und Inhaltst\xE4tigkeiten Ihres Benutzers.",page_help_docs_global:"**Dokumentations\xFCbersicht** \u2014 Dokumentation, die speziell auf die Version und das Schema dieses Projekts zugeschnitten ist.",page_help_files_collection:"**Datei-Bibliothek** \u2014 Auflistung aller Dateien, welche in dieses Projekt hochgeladen wurden. Passen Sie Ansicht, Filter und Sortierung an und speichern Sie diese Konfigurationen bei Bedarf als Lesezeichen f\xFCr einen schnelleren Zugriff ab.",page_help_files_item:"**Datei-Details** \u2014 Ein Formular zur Verwaltung von Metadaten, zur Bearbeitung der urspr\xFCnglichen Datei und zur Aktualisierung der Zugriffseinstellungen.",page_help_settings_project:"**Projekteinstellungen** \u2014 die globalen Einstellungen Ihres Projekts.",page_help_settings_datamodel_collections:"**Datenmodell: Sammlungen** \u2014 Listet alle verf\xFCgbaren Sammlungen auf. Dazu geh\xF6ren sichtbare, ausgeblendete und Systemsammlungen sowie nicht verwaltete Datenbanktabellen, die hinzugef\xFCgt werden k\xF6nnen.",page_help_settings_datamodel_fields:"**Datenmodell: Sammlung** \u2014 Ein Formular zur Verwaltung dieser Sammlung und ihrer Felder.",page_help_settings_roles_collection:"**Rollen durchsuchen** \u2014 Auflistung der Admin-, \xF6ffentlichen und benutzerdefinierten Benutzerrollen.",page_help_settings_roles_item:"**Rollen-Detail** \u2014 Berechtigungen und andere Einstellungen einer Rolle verwalten.",page_help_settings_presets_collection:"**Vorlagen durchsuchen** \u2014 Auflistung aller Vorlagen im Projekt, einschlie\xDFlich: Benutzer, Rolle, globale Lesezeichen, sowie Standardansichten.",page_help_settings_presets_item:"**Vorlagen-Details** \u2014 Ein Formular zur Verwaltung von Lesezeichen und Vorlagen f\xFCr Sammlungen.",page_help_settings_webhooks_collection:"**Durchsuche Webhooks** \u2014 Auflistung aller Webhooks in diesem Projekt.",page_help_settings_webhooks_item:"**Webhook-Detail** \u2014 Ein Formular zum Erstellen und Verwalten von Webhooks.",page_help_settings_flows_collection:"**Flows anzeigen** \u2014 Zeige alle Flows des Projektes.",page_help_settings_flows_item:"**Flow Details** \u2014 Verwaltung einer oder mehrerer Operationen.",page_help_settings_translation_strings_collection:"**\xDCbersetzungsstrings durchsuchen** \u2014 Listet alle \xDCbersetzungselemente im Projekt auf.",page_help_users_collection:"**Benutzerverzeichnis** \u2014 Auflistung aller Benutzer in diesem Projekt.",page_help_users_item:"**Benutzer-Detail** \u2014 Kontoinformationen verwalten oder Details anderer Benutzer anzeigen.",page_help_insights_overview:"**Einblicke** \u2014 Liste der Dashboards, auf welche Sie Zugriff haben.",page_help_insights_dashboard:"**Dashboard** \u2014 Arbeitsbereich f\xFCr die Verwaltung von einer oder mehreren Panels",activity_feed:"Aktivit\xE4tenverlauf",add_new:"Neu erstellen",create_new:"Neu anlegen",all:"Alle",none:"Kein/e",no_layout_collection_selected_yet:"Noch keine Ansicht oder Sammlung ausgew\xE4hlt",batch_delete_confirm:"Keine Elemente ausgew\xE4hlt | M\xF6chten Sie dieses Element wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden. | M\xF6chten Sie diese {count} Elemente wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.",cancel:"Abbrechen",no_upscale:"Bilder nicht hochskalieren",collection:"Sammlung",collections:"Sammlungen",content:"Inhalt",singleton:"Einzelnes Element",singleton_label:"Als einzelnes Objekt behandeln",system_fields_locked:"Systemfelder sind gesperrt und k\xF6nnen nicht bearbeitet werden",directus_collection:{directus_activity:"Verantwortungsprotokoll f\xFCr alle Ereignisse",directus_collections:"Weitere Konfiguration und Metadaten",directus_dashboards:'Dashboards innerhalb des Moduls "Einblicke"',directus_fields:"Weitere Felder und Metadaten",directus_files:"Metadaten f\xFCr alle verwalteten Dateien",directus_flows:"Automation Flows",directus_folders:"Stellt virtuelle Verzeichnisse f\xFCr Dateien bereit",directus_migrations:"Welche Version der Datenbank verwenden Sie",directus_notifications:"Benachrichtigungen an Benutzer gesendet",directus_operations:"In Flows ausgef\xFChrte Operationen",directus_panels:"Individuelle Panels in Einblicke-Dashboards",directus_permissions:"Zugriffsrechte f\xFCr jede Rolle",directus_presets:"Vorlagen f\xFCr Sammlung und Lesezeichen",directus_relations:"Relationen und Metadaten",directus_revisions:"Speicherabzug f\xFCr alle Aktivit\xE4ten",directus_roles:"Berechtigungsgruppen f\xFCr Systembenutzer",directus_sessions:"Sitzungsinformation",directus_settings:"Projekt-Konfiguration",directus_shares:"Verfolgen von extern freigegebenen Elementen",directus_users:"Systembenutzer f\xFCr die Plattform",directus_webhooks:"Konfiguration f\xFCr ereignisbasierte HTTP-Anfragen"},fields:{directus_activity:{item:"Item-Prim\xE4rschl\xFCssel",action:"Aktion",collection:"Sammlung",timestamp:"Aktion am",user:"Aktion von",comment:"Kommentar",user_agent:"Benutzer-Agent",origin:"Ursprung",ip:"IP Adresse",revisions:"Revisionen"},directus_collections:{collection:"Sammlung",icon:"Symbol",note:"Notiz",color:"Farbe",display_template:"Anzeigevorlage",hidden:"Ausgeblendet",singleton:"Einzelnes Element",translations:"Namens-\xDCbersetzungen der Sammlung",archive_app_filter:"Archivierungs-App-Filter",archive_value:"Archivierungswert",unarchive_value:"Dearchivierungswert",sort_field:"Sortierfeld",accountability:"Aktivit\xE4ts- und \xC4nderungsverfolgung",archive_field:"Archivfeld",item_duplication_fields:"Vervielf\xE4ltigungsfelder"},directus_files:{$thumbnail:"Miniaturansicht",title:"Titel",description:"Beschreibung",tags:"Stichw\xF6rter",location:"Ort",storage:"Speicher",filename_disk:"Dateiname (Festplatte)",filename_download:"Dateiname (Download)",metadata:"Metadaten",type:"MIME-Typ",filesize:"Dateigr\xF6\xDFe",modified_by:"Ge\xE4ndert von",modified_on:"Ge\xE4ndert am",created_on:"Erstellt am",created_by:"Erstellt von",embed:"Einbetten",uploaded_by:"Hochgeladen von",folder:"Ordner",width:"Breite",uploaded_on:"Hochgeladen am",height:"H\xF6he",charset:"Zeichensatz",duration:"Dauer"},directus_users:{first_name:"Vorname",last_name:"Nachname",email:"E-Mail",password:"Passwort",avatar:"Avatar",location:"Ort",title:"Titel",description:"Beschreibung",tags:"Stichw\xF6rter",user_preferences:"Benutzereinstellungen",language:"Sprache",theme:"Design",theme_auto:"Automatisch (Systemeinstellung verwenden)",theme_light:"Heller Modus",theme_dark:"Nachtmodus",tfa_secret:"Zwei-Faktor-Authentifizierung",admin_options:"Admin-Optionen",status:"Status",status_draft:"Entwurf",status_invited:"Eingeladen",status_active:"Aktiv",status_suspended:"Angehalten",status_archived:"Archiviert",role:"Rolle",token:"Token",provider:"Anbieter",external_identifier:"Externer Identifikator",last_page:"Letzte Seite",last_access:"Letzter Zugriff",email_notifications:"E-Mail Benachrichtigungen"},directus_settings:{jpg:"JPEG",png:"PNG",webP:"WebP",tiff:"Tiff",mapping:"Zuordnung",basemaps:"Basiskarte",basemaps_raster:"Raster",basemaps_tile:"Raster TileJSON",basemaps_style:"Mapbox-Stil",mapbox_key:"Mapbox Zugangs-Token",mapbox_placeholder:"pk.eyJ1Ijo.....",attribution:"Attribuierung",attribution_placeholder:"\xA9 OpenStreetMap Mitwirkende",transforms_note:"Der Name der Sharp-Methode und die dazugeh\xF6rigen Argumente. Auf https://sharp.pixelplumbing.com/api-constructor k\xF6nnen weitere Informationen gefunden werden.",additional_transforms:"Zus\xE4tzliche Umwandlungen",project_name:"Projekt-Name",project_descriptor:"Projektuntertitel",project_url:"Projekt-URL",project_color:"Projektfarbe",project_logo:"Projektlogo",default_language:"Standardsprache",branding:"Branding & Stil",public_foreground:"\xD6ffentlicher Vordergrund",public_background:"\xD6ffentlicher Hintergrund",public_note:"\xD6ffentliche Anmerkung",auth_password_policy:"Kennwortrichtlinie",auth_login_attempts:"Maximale Anmeldeversuche",files_and_thumbnails:"Dateien & Speicher",storage_default_folder:"Standardordner",storage_asset_presets:"Assets-Transformationsvorgaben",storage_asset_transform:"Erlaubte Transformationen",overrides:"App-\xDCberschreibungen",custom_css:"Benutzerdefiniertes CSS",module_bar:"Modulleiste",transformations_all:"Alle Transformationen erlauben",transformations_none:"Transformationen deaktivieren",transformations_presets:"Transformationen auf untenstehende Voreinstellungen begrenzen",image_editor:"Bildeditor",custom_aspect_ratios:"Benutzerdefiniertes Seitenverh\xE4ltnis"},directus_shares:{name:"Name",role:"Rolle",password:"Passwort",date_start:"Anfangsdatum",date_end:"Enddatum",max_uses:"Max. Verwendungen",times_used:"Anzahl der Nutzungen"},directus_fields:{collection:"Sammlungsname",icon:"Sammlungsicon",note:"Notiz",hidden:"Ausgeblendet",singleton:"Einzelnes Element",translation:"Feldnamen-\xDCbersetzungen",display_template:"Vorlage"},directus_roles:{name:"Rollenname",icon:"Rollen-Symbol",description:"Beschreibung",app_access:"App-Zugriff",admin_access:"Admin-Zugriff",ip_access:"IP-Zugriff",enforce_tfa:"2FA erforderlich",users:"Benutzer in Rolle",module_list:"Modulnavigation"},directus_webhooks:{name:"Name",method:"Methode",status:"Status",data:"Daten",header:"Header",value:"Wert",headers:"Request-Headers",data_label:"Ereignisdaten senden",triggers:"Ausl\xF6ser",actions:"Aktionen",collections:"Sammlungen"}},field_options:{directus_settings:{project_name_placeholder:"Mein Projekt...",project_color_note:"Login & Logo Hintergrund",project_logo_note:"Wei\xDF 40x40 SVG/PNG",public_note_placeholder:"Eine kurze, \xF6ffentliche Nachricht, welche die Formatierung mittels Markdown unterst\xFCtzt...",security_divider_title:"Sicherheit",auth_password_policy:{none_text:"Keine - Nicht empfohlen",weak_text:"Schwach - Minimum 8 Zeichen",strong_text:"Stark - Gro\xDF / Klein / Zahlen / Spezialzeichen"},storage_asset_presets:{fit_label:"Passform",upscaling:"Hochskalierung",fit:{contain_text:"Enthalten (Seitenverh\xE4ltnis beibehalten)",cover_text:"Abdecken (erzwingt exakte Gr\xF6\xDFe)",fit_text:"Passform innen",outside_text:"Passform au\xDFen"}},additional_transforms:"Zus\xE4tzliche Umwandlungen",transforms_note:"Der Name der Sharp-Methode und die dazugeh\xF6rigen Argumente. Auf https://sharp.pixelplumbing.com/api-constructor k\xF6nnen weitere Informationen gefunden werden.",mapbox_key:"Mapbox Zugangs-Token",mapbox_placeholder:"pk.eyJ1Ijo.....",basemaps:"Basiskarte",basemaps_name_placeholder:"Geben Sie den Basemap-Namen ein...",basemaps_raster:"Raster",basemaps_tile:"Raster TileJSON",basemaps_style:"Mapbox-Stil",files_divider_title:"Dateien & Vorschaubilder",overrides_divider_title:"App-\xDCberschreibungen"},directus_activity:{login:"Login",create:"Erstellen",update:"Aktualisieren",delete:"L\xF6schen"},directus_collections:{track_activity_revisions:"Verfolge Aktivit\xE4ten und \xC4nderungen",only_track_activity:"Nur Aktivit\xE4ten verfolgen",do_not_track_anything:"Nichts verfolgen",collection_setup:"Einrichtung Sammlung",note_placeholder:"Eine Beschreibung dieser Sammlung...",hidden_label:"Innerhalb der App verstecken",singleton:"Als einzelnes Objekt behandeln",language:"Sprache",translation:"\xDCbersetzung",translation_placeholder:"Geben Sie eine \xDCbersetzung ein...",collection_name:"Sammlungsname",singular_unit:"Einzahl-Einheit",plural_unit:"Mehrzahl-Einheit",archive_divider:"Archivieren",archive_field_placeholder:"W\xE4hlen Sie ein Feld...",archive_app_filter:"App-Archivfilter aktivieren",archive_value:"Gesetzter Wert w\xE4hrend der Archivierung...",unarchive_value:"Gesetzter Wert w\xE4hrend der Wiederherstellung...",sort_divider:"Sortieren",sort_field:"W\xE4hlen Sie ein Feld...",accountability_divider:"Verantwortlichkeit",duplication_divider:"Duplikation"},directus_files:{title:"Ein einzigartiger Titel...",description:"Eine optionale Beschreibung...",location:"Eine optionale Position...",storage_divider:"Dateibenennung",filename_disk:"Name auf Festplatte...",filename_download:"Name w\xE4hrend des Downloads..."},directus_roles:{name:"Der einzigartige Name f\xFCr diese Rolle...",description:"Eine Beschreibung von dieser Rolle...",ip_access:"Erlaubte IP-Adressen hinzuf\xFCgen, leer lassen um alle zuzulassen...",fields:{icon_name:"Symbol",name_name:"Name",name_placeholder:"Titel eingeben...",link_name:"Link",link_placeholder:"Relative oder absolute URL..."},collections_name:"Sammlungen",collections_addLabel:"Sammlung hinzuf\xFCgen..."},directus_users:{preferences_divider:"Benutzereinstellungen",dropdown_auto:"Automatisch (Systemeinstellung verwenden)",dropdown_light:"Heller Modus",dropdown_dark:"Nachtmodus",admin_divider:"Admin-Optionen",status_dropdown_draft:"Entwurf",status_dropdown_invited:"Eingeladen",status_dropdown_active:"Aktiv",status_dropdown_suspended:"Angehalten",status_dropdown_archived:"Archiviert",token:"Einen sicheren Zugangs-Token eingeben..."},directus_webhooks:{status_options_active:"Aktiv",status_options_inactive:"Inaktiv",data_label:"Ereignisdaten senden",triggers_divider:"Ausl\xF6ser",actions_create:"Erstellen",actions_update:"Aktualisieren",actions_delete:"L\xF6schen",actions_login:"Login",headers:{header:"Header",value:"Wert",add:"Header hinzuf\xFCgen"}}},no_fields_in_collection:'Es gibt noch keine Felder in "{collection}"',no_value:"Kein Wert",do_nothing:"Keine Aktion",generate_and_save_uuid:"UUID generieren und speichern",save_current_user_id:"Aktuelle Benutzer-ID speichern",save_current_user_role:"Aktuelle Benutzerrolle speichern",save_current_datetime:"Aktuelles Datum/Zeit speichern",always_open:"Immer ge\xF6ffnet",start_open:"Ge\xF6ffnet starten",start_collapsed:"Eingeklappt starten",block:"Blockieren",inline:"Inline",comment:"Kommentar",shares:"Freigaben",unlimited_usage:"Unbegrenzte Nutzung",uses_left:"Keine Verwendungen \xFCbrig | 1 Verwendung \xFCbrig | {n} Verwendungen \xFCbrig",no_shares:"Keine Freigaben zum Anzeigen",new_share:"Neue Freigabe",expired:"Abgelaufen",upcoming:"Bevorstehend",share:"Teilen",share_item:"Element teilen",shared_with_you:"Ein Element wurde mit dir geteilt",shared_enter_passcode:"Kennwort eingeben um fortzufahren...",shared_leave_blank_for_unlimited:"Leer lassen f\xFCr kein Limit",shared_times_remaining:"Dieser Link kann nur {n} mal verwendet werden",shared_last_remaining:"Dieser Link kann nur einmal verwendet werden",shared_uses_left:"F\xFCr zus\xE4tzliche Sicherheit wurde diese freigegebene Seite mit einer begrenzten Anzahl von Aufrufen konfiguriert. Derzeit sind noch {n} Aufrufe verbleiben, danach wird die Seite nicht mehr zug\xE4nglich sein.",share_access_page:"Auf gemeinsame Seite zugreifen",share_access_not_found:"Diese freigegebene Seite existiert entweder nicht oder hat bereits die maximale Anzahl an erlaubten Verwendungen \xFCberschritten.",share_access_not_found_desc:"Bitte kontaktieren Sie einen autorisierten Benutzer dieses Projekts, um Zugriff anzufordern.",share_access_not_found_title:"Unbekannte geteilte Seite",share_copy_link:"Link kopieren",share_copy_link_success:"Link kopiert",share_copy_link_error:"Der Link konnte nicht kopiert werden",share_send_link:"Link senden",relational_triggers:"Relationale Trigger",referential_action_field_label_m2o:"Beim L\xF6schen von {collection}...",referential_action_field_label_o2m:"Beim Abw\xE4hlen von {collection}...",referential_action_no_action:"L\xF6schen verhindern",referential_action_cascade:"L\xF6sche das Element in {collection} (Cascade)",referential_action_set_null:"{field} auf Null setzen",referential_action_set_default:"{field} auf Standardwert setzen",choose_action:"Aktion ausw\xE4hlen",continue_label:"Weiter",continue_as:"{name} ist derzeit angemeldet. Wenn Sie dieses Konto kennen, dr\xFCcken Sie auf Fortfahren.",editing_role:"{role} Rolle",creating_webhook:"Webhook erstellen",default_label:"Standard",delete_label:"L\xF6schen",delete_are_you_sure:"Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden. Sind Sie sicher, dass Sie fortfahren m\xF6chten?",delete_field_are_you_sure:'Soll das Feld "{field}" wirklich gel\xF6scht werden? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.',description:"Beschreibung",done:"Erledigt",duplicate:"Duplikat",limit:"Limit",email:"E-Mail",embed:"Einbetten",fallback_icon:"Fallback-Symbol",field:"Feld | Felder",file:"Datei",file_library:"Dateien",forgot_password:"Passwort vergessen",hidden:"Ausgeblendet",hidden_in_group:"Versteckt in {group}",icon:"Symbol",info:"Information",normal:"Normal",success:"Erfolgreich",warning:"Warnung",danger:"Achtung",colors:{purple:"Lila",blue:"Blau",green:"Gr\xFCn",yellow:"Gelb",orange:"Orange",red:"Rot",black:"Schwarz",gray:"Grau",white:"Wei\xDF"},junction_collection:"Verbindungssammlung",latency:"Latenz",login:"Login",my_activity:"Meine Aktivit\xE4t",not_authenticated:"Nicht authentifiziert",authenticated:"Authentifiziert",options:"Optionen",otp:"Einmaliges Passwort",password:"Passwort",permissions:"Berechtigungen",relationship:"Beziehung",reset:"Zur\xFCcksetzen",reset_password:"Passwort zur\xFCcksetzen",revisions:"Revisionen",no_revisions:"Noch keine Revision",no_logs:"Keine Logs vorhanden",revert:"Zur\xFCcksetzen",save:"Speichern",schema:"Schema",search:"Suche",select_existing:"Bitte ausw\xE4hlen",select_field_type:"Feldtyp w\xE4hlen",select_interface:"W\xE4hle eine Schnittstelle",settings:"Einstellungen",sign_in:"Login",sign_out:"Ausloggen",sign_out_confirm:"M\xF6chten Sie sich wirklich abmelden?",something_went_wrong:"Irgendwas ist schief gelaufen.",sort_direction:"Sortierreihenfolge",export_location:"Speicherort des Exports",export_started:"Export gestartet",export_started_copy:"Der Export hat begonnen. Du wirst benachrichtigt, wenn die Datei zum Download bereit ist.",sort_asc:"Aufsteigend sortieren",sort_desc:"Absteigend sortieren",template:"Vorlage",require_value_to_be_set:"Wert muss bei Erstellung gesetzt werden",translation:"\xDCbersetzung",translation_placeholder:"Geben Sie eine \xDCbersetzung ein...",value:"Wert",view_project:"Projekt anzeigen",report_error:"Fehler melden",start:"Start",table:"Tabelle",list:"Liste",search_filter:"Suche & Filter",enable_search_filter:"Suche & Filterung aktivieren",item_link:"Elementlink",show_link_to_item:"Zeige Link zum Element",navigate_to_item:"Zum Element navigieren",undo_removed_item:"Entferntes Item r\xFCckg\xE4ngig",remove_item:"Item entfernen",delete_item:"Item l\xF6schen",interfaces:{filter:{name:"Filter",description:"Ein Filterobjekt konfigurieren.",add_filter:"Filter hinzuf\xFCgen",add_group:"Und / Oder Gruppe",add_value:"Wert hinzuf\xFCgen",logic_type_and:"Und",logic_type_or:"Oder",all:"Alle",any:"Irgendeiner",and:"und",of_the_following:"der folgenden",no_rules:"Keine konfigurierten Regeln",change_value:"Klicken um Wert zu \xE4ndern",placeholder:"Regeln hierher ziehen",add_key_placeholder:"Tag hinzuf\xFCgen und Enter dr\xFCcken..."},fields:{name:"Felder"},"group-accordion":{name:"Akkordeon",description:"Felder oder Gruppen als Akkordeonabschnitte anzeigen",start:"Start",all_closed:"Alle geschlossen",first_opened:"Zuerst ge\xF6ffnet",all_opened:"Alle ge\xF6ffnet",accordion_mode:"Akkordeon-Modus",max_one_section_open:"Max. einen Abschnitt \xF6ffnen"},"presentation-links":{"presentation-links":"Button-Links",links:"Links",description:"Konfigurierbare Link-Buttons f\xFCr dynamische URLs",style:"Stil",primary:"Prim\xE4r",link:"Links",button:"Buttons",error:"Aktion kann nicht ausgef\xFChrt werden"},"select-multiple-checkbox":{checkboxes:"Checkboxen",description:"Zwischen mehreren Optionen ausw\xE4hlen \xFCber Checkboxen",allow_other:"Andere erlauben",show_more:"Zeige {count} mehr",items_shown:"Angezeigte Elemente"},"select-multiple-checkbox-tree":{name:"Kontrollk\xE4stchen (Baum)",description:"Zwischen mehreren Optionen ausw\xE4hlen \xFCber Kontrollk\xE4stchen",value_combining:"Kombination Werte",value_combining_note:"Legt fest, welcher Werte gespeichert wird, wenn verschachtelte Selektionen gemacht werden.",show_all:"Alle anzeigen",show_selected:"Auswahl anzeigen"},"input-code":{code:"Code",description:"Code-Snippets schreiben oder teilen",line_number:"Zeilennummer",line_wrapping:"Zeilenumbruch",placeholder:"Code hier eingeben..."},"system-collection":{collection:"Sammlung",description:"Aus bestehenden Sammlungen ausw\xE4hlen",include_system_collections:"Systemsammlungen einbeziehen"},"system-collections":{collections:"Sammlungen",description:"Aus bestehenden Sammlungen ausw\xE4hlen",include_system_collections:"Systemsammlungen einbeziehen"},"select-color":{color:"Farbe",description:"Farbwert eingeben oder ausw\xE4hlen",placeholder:"Farbe w\xE4hlen...",preset_colors:"Farben f\xFCr Vorlage",opacity:"Deckkraft",preset_colors_add_label:"Farbe hinzuf\xFCgen...",name_placeholder:"Farbnamen eingeben..."},datetime:{datetime:"Datum & Uhrzeit",description:"Datum und Uhrzeit eingeben",include_seconds:"Sekunden einbeziehen",set_to_now:"Auf Jetzt setzen",use_24:"24-Stunden-Format verwenden",placeholder:"Datum w\xE4hlen..."},"system-fields":{select_a_collection:"Sammlung ausw\xE4hlen",no_fields:"Keine Felder"},"system-display-template":{"display-template":"Anzeigevorlage",description:"Statischen Text und dynamische Feldwerte mischen",collection_field:"Sammlungsfeld",collection_field_not_setup:"Das Sammlungsfeld ist falsch konfiguriert",select_a_collection:"Sammlung ausw\xE4hlen"},"presentation-divider":{divider:"Trenner",description:"Felder beschriften und in Abschnitte teilen",title_placeholder:"Titel eingeben oder leer lassen, um nur eine Zeile anzuzeigen...",inline_title:"Inline-Titel",inline_title_label:"Titel in Zeile anzeigen",margin_top:"Oberer Rand",margin_top_label:"Oberen Rand erh\xF6hen"},"select-dropdown":{description:"Wert aus einer Dropdown-Liste ausw\xE4hlen",choices_placeholder:"Neue Auswahl hinzuf\xFCgen",allow_other:"Andere erlauben",allow_other_label:"Andere Werte erlauben",allow_none:"Keine Auswahl zulassen",allow_none_label:"Keine Auswahl zulassen",choices_name_placeholder:"Namen eingeben...",choices_value_placeholder:"Gib einen Wert ein...",preview_threshold:"Vorschau-Grenzwert"},"select-multiple-dropdown":{"select-multiple-dropdown":"Dropdown (Mehrfachauswahl)",description:"Mehrere Werte aus einer Dropdown-Liste ausw\xE4hlen"},file:{file:"Datei",description:"Datei ausw\xE4hlen oder hochladen"},files:{files:"Dateien",description:"Mehrere Dateien ausw\xE4hlen oder hochladen"},"input-hash":{hash:"Hash",description:"Den zu hashenden Wert eingeben",masked:"Maskiert",masked_label:"Wahre Werte ausblenden"},"select-icon":{icon:"Symbol",description:"Icon aus einer Dropdown-Liste ausw\xE4hlen",search_for_icon:"Nach Icon suchen..."},"file-image":{image:"Bild",description:"Bild ausw\xE4hlen oder hochladen",crop:"Zuschneiden auf Passform",crop_label:"Bild nach Bedarf zuschneiden"},"system-interface":{interface:"Benutzeroberfl\xE4che",description:"Vorhandene Schnittstelle ausw\xE4hlen",placeholder:"Schnittstelle ausw\xE4hlen..."},"system-interface-options":{"interface-options":"Schnittstellenoptionen",description:"Ein Popup zum Ausw\xE4hlen der Schnittstellenoptionen"},"list-m2m":{"many-to-many":"n:n",description:"Mehrere verwandte Elemente ausw\xE4hlen",columns_configure_notice:"Sie k\xF6nnen Spalten nach dem Anlegen der Felder konfigurieren.",display_template_configure_notice:"Sie k\xF6nnen die Anzeige-Vorlage nach dem Erstellen dieses Feldes konfigurieren."},"select-dropdown-m2o":{"many-to-one":"n:1",description:"Ein einzelnes verwandtes Element ausw\xE4hlen",display_template:"Anzeigevorlage"},"input-rich-text-md":{markdown:"Markdown",description:"Markdown eingeben und Vorschau anzeigen",edit:"Bearbeiten",preview:"Vorschau",editorFont:"Editor Schriftart",previewFont:"Vorschau Schriftart",customSyntax:"Benutzerdefinierte Bl\xF6cke",customSyntax_label:"Eigene Syntaxtypen hinzuf\xFCgen",customSyntax_add:"Eigene Syntax hinzuf\xFCgen",box:"Block / Inline",imageToken:"Statisches Zugriffstoken",imageToken_label:"Statisches Zugriffstoken wird an die URL der Assets angeh\xE4ngt"},map:{map:"Karte",description:"Ort auf der Karte w\xE4hlen",zoom:"Zoom",geometry_type:"Geometrie-Typ",geometry_format:"Geometrie-Format",default_view:"Standard-Ansicht",invalid_options:"Ung\xFCltige Optionen",invalid_format:"Ung\xFCltiges Format ({format})",unexpected_geometry:"Erwartete {expected}, erhielt {got}.",fit_bounds:"Ansicht an Daten anpassen",native:"Nativ",geojson:"GeoJSON",lnglat:"L\xE4ngengrad, Breitengrad",wkt:"WKT",wkb:"WKB",click_to_select:"Klicken, um {geometry} auszuw\xE4hlen"},"presentation-notice":{notice:"Anmerkung",description:"Kurze Anmerkung anzeigen",text:"Inhalt der Anmerkung eingeben..."},"list-o2m":{"one-to-many":"1:n",description:"Mehrere verwandte Elemente ausw\xE4hlen",no_collection:"Die Sammlung konnte nicht gefunden werden"},"system-folder":{folder:"Ordner",description:"Ordner ausw\xE4hlen",field_hint:"Ordner f\xFCr hochgeladene Dateien. Bestehende Dateien werden nicht beeinflusst.",root_name:"Stammordner f\xFCr Dateien",system_default:"System-Standardeinstellungen"},"select-radio":{"radio-buttons":"Radio Buttons",description:"Eine von mehreren Optionen ausw\xE4hlen"},list:{repeater:"Repeater",description:"Mehrere Eintr\xE4ge derselben Struktur erstellen",edit_fields:"Felder bearbeiten",add_label:'Label f\xFCr "Neu erstellen"',sort:"Sortieren",sort_placeholder:"Manuell",field_name_placeholder:"Feldnamen eingeben...",field_note_placeholder:"Feldnotiz eingeben...",incompatible_data:"Die aktuellen Daten sind nicht kompatibel mit der Repeater-Schnittstelle und werden beim Hinzuf\xFCgen von Elementen zum Repeater \xFCberschrieben"},slider:{slider:"Slider",description:"Nummer mit Schieberegler ausw\xE4hlen",always_show_value:"Wert immer anzeigen"},tags:{tags:"Stichw\xF6rter",description:"Tags ausw\xE4hlen oder hinzuf\xFCgen",whitespace:"Leerzeichen",hyphen:"Mit Bindestrich ersetzen",underscore:"Mit Unterstrich ersetzen",remove:"Leerzeichen entfernen",capitalization:"Gro\xDFschreibung",uppercase:"In Gro\xDFbuchstaben umwandeln",lowercase:"In Kleinbuchstaben konvertieren",auto_formatter:"Auto-Formatierung f\xFCr Titel verwenden",alphabetize:"Alphabetisch",alphabetize_label:"Alphabetische Reihenfolge erzwingen",add_tags:"Tag hinzuf\xFCgen und Enter dr\xFCcken..."},input:{input:"Eingabe",description:"Wert manuell eingeben",trim:"Leerzeichen entfernen",trim_label:"Leerzeichen am Anfang und Ende entfernen",mask:"Maskiert",mask_label:"Tats\xE4chlichen Wert ausblenden",clear:"Gel\xF6schter Wert",clear_label:"Als leeren String abspeichern",minimum_value:"Minimalwert",maximum_value:"Maximalwert",step_interval:"Schrittintervall",slug:"URL-sicher machen",slug_label:"Eingegebenen Wert URL-sicher machen"},"input-multiline":{textarea:"Textfeld (mehrzeilig)",description:"Mehrzeiligen Klartext eingeben"},"input-translated-string":{"input-translated-string":"\xDCbersetzte Elemente",description:"\xDCbersetzungselement ausw\xE4hlen oder hinzuf\xFCgen",search_placeholder:"Suchen...",new_translation_string:"Neues \xDCbersetzungelement"},boolean:{toggle:"Umschalten",description:"Zwischen Ein und Aus wechseln",color_on:"Farbe Ein",color_off:"Farbe Aus",label_placeholder:"Label eingeben...",label_default:"Aktiviert"},translations:{display_template:"Anzeigevorlage",no_collection:"Keine Sammlung",toggle_split_view:"Teil-Ansicht umschalten",enable:"Aktivieren",user_language:"Aktuelle Benutzersprache verwenden",default_language:"Standardsprache",language_field:"Sprachindikatorfeld"},"list-o2m-tree-view":{description:"Baumansicht f\xFCr verschachtelte rekursive 1:n-Elemente",recursive_only:"Die Baumansicht funktioniert nur f\xFCr rekursive Beziehungen."},user:{user:"Benutzer",description:"Bestehenden Benutzer ausw\xE4hlen",select_mode:"Modus w\xE4hlen",modes:{auto:"Auto",dropdown:"Dropdown",modal:"Modal"}},"input-rich-text-html":{wysiwyg:"WYSIWYG",description:"Ein Rich-Text-Editor, der HTML-Inhalte erzeugt",toolbar:"Toolbar",custom_formats:"Benutzerdefinierte Formate",options_override:"Optionen \xFCberschreiben",folder_note:"Ordner f\xFCr hochgeladene Dateien. Bestehende Dateien werden nicht beeinflusst.",imageToken:"Statisches Zugriffstoken",imageToken_label:"Statisches Zugriffstoken wird an die URL der Assets angeh\xE4ngt"},"input-autocomplete-api":{"input-autocomplete-api":"Auto-Complete Eingabe (API)",description:"Auto-Complete bei der Suche von externen API-Werten.",results_path:"Pfad Ergebnis",value_path:"Wertpfad",text_path:"Textpfad",trigger:"Trigger",rate:"Frequenz"},"group-raw":{name:"Rohgruppe",description:"Felder so anzeigen wie sie sind"},"group-detail":{name:"Detailgruppe",description:"Felder als einklappbaren Abschnitt anzeigen",show_header:"Kopfzeile anzeigen",header_icon:"Icon Kopfzeile",header_color:"Farbe Kopfzeile",start_open:"Ge\xF6ffnet starten",start_closed:"Geschlossen starten"},"system-token":{"system-token":"Token",description:"Statische Zugriffstoken verwalten",placeholder:'Klicken Sie auf "Token generieren", um ein neuen statischen Zugriffstoken zu erstellen',value_securely_saved:"Wert sicher gespeichert",generate:"Token generieren",regenerate:"Token neu generieren",generate_success_copy:"Stellen Sie sicher, dass Sie den obige Token sichern und kopieren. Aus Sicherheitsgr\xFCnden k\xF6nnen Sie den Token nach dem Speichern und Navigieren von dieser Seite nicht mehr anzeigen.",remove_token:"Token l\xF6schen"}},displays:{translations:{translations:"\xDCbersetzungen",description:"Vorschau der \xDCbersetzungen",enable:"Aktivieren",user_language:"Aktuelle Benutzersprache verwenden",default_language:"Standardsprache",language_field:"Sprachindikatorfeld"},boolean:{boolean:"Boolean",description:"Ein-/Aus-Status anzeigen",label_on:"Label Ein",label_on_placeholder:"Label f\xFCr Ein eingeben...",label_off:"Label Aus",label_off_placeholder:"Label f\xFCr Aus eingeben...",icon_on:"Symbol an",icon_off:"Symbol aus",color_on:"Farbe Ein",color_off:"Farbe Aus"},collection:{collection:"Sammlung",description:"Sammlung anzeigen",icon_label:"Symbol der Sammlung anzeigen"},color:{color:"Farbe",description:"Einen farbigen Punkt anzeigen",default_color:"Standardfarbe"},datetime:{datetime:"Datum & Uhrzeit",description:"Werte in Bezug zur Zeit anzeigen",format:"Format",format_note:"Das benutzerdefinierte Format akzeptiert die __[Date Field Symbol Table](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)__",long:"Long",short:"Short",relative:"Relativ",relative_label:"Zeige relative Zeit, z. B.: vor 5 Minuten",suffix:"Suffix",strict:"Strikt"},file:{file:"Datei",description:"Dateien anzeigen"},filesize:{filesize:"Dateigr\xF6\xDFe",description:"Dateigr\xF6\xDFe anzeigen"},"formatted-value":{"formatted-value":"Formatierter Wert",description:"Eine formatierte Version des Textes anzeigen",format:"Format",format_label:"Automatisches Formatieren",font:"Schriftart",font_sans_serif:"Sans Serif",font_serif:"Serif",font_monospace:"Monospace",bold:"Fett",bold_label:"Fett-Schnitt verwenden",italic:"Kursiv",italic_label:"Kursivschrift verwenden",prefix:"Pr\xE4fix",prefix_label:"Text vorangestellt",suffix:"Suffix",suffix_label:"Angeh\xE4ngten Text",color:"Farbe",background:"Hintergrund",icon:"Symbol",border:"Umrandung",border_label:"Rahmen anzeigen",text:"Text",text_placeholder:"Optionaler Wert \xFCberschreiben..."},"formatted-json-value":{"formatted-json-value":"Formatierter JSON-Wert",description:"Eine formatierte Version des Objekts anzeigen"},icon:{icon:"Symbol",description:"Icon anzeigen",filled:"Ausgef\xFCllt",filled_label:"Gef\xFCllte Variante verwenden"},image:{image:"Bild",description:"Eine kleine Bildvorschau zeigen",circle:"Kreis",circle_label:"Als Kreis anzeigen"},labels:{labels:"Labels",description:"Entweder eine einzelne oder eine Liste von Labels anzeigen",default_foreground:"Standard Vordergrund",default_background:"Standard Hintergrund",format_label:"Jedes Label formatieren",show_as_dot:"Als Punkt anzeigen",choices_value_placeholder:"Gib einen Wert ein...",choices_text_placeholder:"Text eingeben..."},"mime-type":{"mime-type":"MIME-Typ",description:"MIME-Typ einer Datei anzeigen",extension_only:"Nur Dateiendung",extension_only_label:"Nur die Dateiendung anzeigen"},rating:{rating:"Bewertung",description:"Eine Zahl als Sterne im Verh\xE4ltnis zum Maximalwert anzeigen",simple:"Einfach",simple_label:"Sterne in einem einfachen Format anzeigen"},raw:{raw:"Rohwert"},"related-values":{"related-values":"Verwandte Werte",description:"Relative Werte anzeigen",display_template_configure_notice:"Sie k\xF6nnen die Anzeige-Vorlage nach dem Erstellen dieses Feldes konfigurieren."},user:{user:"Benutzer",description:"Benutzer anzeigen",avatar:"Avatar",name:"Name",both:"Beide",circle_label:"Benutzer in einem Kreis anzeigen"}},layouts:{cards:{cards:"Karten",image_source:"Bildquelle",image_fit:"Bildeinpassung",crop:"Zuschneiden",contain:"Enthalten",title:"Titel",subtitle:"Untertitel"},tabular:{tabular:"Tabelle",spacing:"Abstand",comfortable:"Gro\xDF",compact:"Kompakt",cozy:"Mittel"},calendar:{calendar:"Kalender",start_date_field:"Datumsfeld Start",end_date_field:"Datumsfeld Ende",optional:"Optional",first_day:"Erster Tag der Woche"},map:{map:"Karte",basemap:"Basiskarte",layers:"Ebenen",cluster_options:"Cluster-Optionen",cluster:"Cluster Nachbardaten",cluster_radius:"Cluster-Radius",cluster_minpoints:"Kleinstes Cluster",cluster_maxzoom:"Maximaler Zoom f\xFCr Cluster",field:"Geodaten-Feld",invalid_geometry:"Ung\xFCltige Geometrie",find_location:"Standort suchen...",default_template:"Verwenden des Sammlungs-Standards...",no_compatible_fields:"Keine kompatiblen Felder"},kanban:{name:"Kanban,",group_field:"Gruppieren nach,",group_field_placeholder:"Feld zum Gruppieren...,",group_title:"Gruppentitel,",group_title_placeholder:"Feld f\xFCr Gruppentitel...,",title:"Karten-Titel,",title_placeholder:"Optionales Titelfeld...,",text:"Karten-Text,",text_placeholder:"Optionales Textfeld...,",date:"Karten-Datum,",date_placeholder:"Optionales Datumsfeld...,",tags:"Karten-Tags,",tags_placeholder:"Optionales Tag-Feld...,",user:"Karten-Benutzer,",user_placeholder:"Optionales Benutzerfeld...,",image:"Karten-Bild,",image_placeholder:"Optionales Bildfeld...,",image_fit:"Karten-Bildf\xFCllmodus,",crop:"Beschneiden,",advanced:"Erweitert,",edit_group:"Gruppe bearbeiten,",delete_group:"Gruppe l\xF6schen,",add_group:"Gruppe hinzuf\xFCgen,",add_group_placeholder:"Neuen Gruppentitel eingeben...,",show_ungrouped:"Nicht gruppierte Elemente zeigen,",show:"Anzeigen,",no_group:"Keine Gruppe,",not_all_loaded:"Konnte nur die ersten 1000 Elemente laden."}},panels:{metric:{name:"Metrik",description:"Zeige einen einzelnen Wert basierend auf einer Abfrage",field:"Feld"},time_series:{name:"Zeitreihen",description:"Liniendiagramm anhand von Werten im Laufe der Zeit anzeigen",date_field:"Datums-Feld",value_field:"Wert-Feld",fill_type:"F\xFCllart",curve_type:"Kurventyp"},label:{name:"Label",description:"Einen Text anzeigen"},list:{name:"Liste",description:"Filtern und Auflisten von Feldern von einer Sammlung"},barchart:{name:"Balkendiagramm",description:"Balken- oder Spaltendiagramme zum Vergleich von Wertegruppen",select_field:"Sie m\xFCssen ein Feld ausw\xE4hlen.",select_collection:"Sie m\xFCssen eine Sammlung ausw\xE4hlen.",select_x_axis:"Sie m\xFCssen eine X-Achse ausw\xE4hlen.",function:"Funktion",horizontal:"Horizontal",x_axis_grouping:"Gruppierung X-Achse",x_axis:"X-Achse",y_axis_function:"Funktion Y-Achse",y_axis:"Y-Achse",show_x_axis:"X-Achse anzeigen",show_y_axis:"Y-Achse anzeigen",show_data_label:"Datenbezeichnung anzeigen",group_by:"Gruppieren nach",group_and_function:"Sie m\xFCssen sowohl eine Gruppe als auch eine Funktion hinzuf\xFCgen oder weglassen.",y_axis_NaN:"Die y-Achse muss eine Zahl sein.",y_axis_conditional_two:"muss eine Zahl sein."},linechart:{name:"Liniendiagramm",select_field:"Sie m\xFCssen ein Feld ausw\xE4hlen.",select_collection:"Sie m\xFCssen eine Sammlung ausw\xE4hlen.",select_x_axis:"Sie m\xFCssen eine X-Achse ausw\xE4hlen.",function:"Funktion",x_axis:"X-Achse",y_axis:"Y-Achse",datasets:"Datens\xE4tze",show_legend:"Legende anzeigen",include_dataset:"Mindestens ein Datensatz muss angegeben werden.",group_and_function:"Sie m\xFCssen sowohl eine Gruppe als auch eine Funktion hinzuf\xFCgen oder weglassen.",smooth:"Weich",straight:"Gerade"},meter:{name:"Meter",stroke_width:"Strichbreite",select_max_value:"Es muss einen Maximalwert ausgew\xE4hlt werden.",max_greater_than_zero:"Der Wert muss gr\xF6\xDFer als 0 sein.",select_field:"Sie m\xFCssen ein Feld ausw\xE4hlen.",select_collection:"Sie m\xFCssen eine Sammlung ausw\xE4hlen.",function:"Funktion",thin:"D\xFCnn",medium:"Mittel",broad:"Breit"},piechart:{name:"Kuchen oder Donut Diagramm",function:"Funktion",donut:"Donut",labels:"Label anzeigen",legend:"Legende anzeigen",right:"Rechts",bottom:"Unten",monochrome:"Monochrom"},variable:{name:"Globale Variable"}},triggers:{common:{response_body_last:"Daten der letzten Operation"},event:{action:"Aktion (nicht blockierend)",filter:"Filter (blockierend)"},webhook:{name:"Webhook",description:"Ausl\xF6send bei eingehender HTTP-Anfrage",method:"Methode",async:"Asynchron"},schedule:{name:"Zeitplan (CRON)",cron:"Intervall"},manual:{name:"Manuell",collection_and_item:"Sammlungen & Element Seiten"}},any_string_or_json:"Ein String oder JSON...",operations:{condition:{name:"Kondition"},exec:{name:"Skript ausf\xFChren",modules:"Die folgenden **Node Module** k\xF6nnen genutzt werden:"},"item-create":{name:"Daten erstellen",description:"Elemente in der Datenbank erstellen",payload:"Nutzdaten",emit_events:"Event ausl\xF6sen"},"item-delete":{name:"Daten l\xF6schen",description:"Elemente aus der Datenbank l\xF6schen",emit_events:"Event ausl\xF6sen",key:"IDs",query:"Abfrage"},"item-read":{name:"Daten lesen",description:"Elemente aus der Datenbank lesen",key:"IDs",query:"Abfrage",emit_events:"Event ausl\xF6sen"},"item-update":{name:"Daten aktualisieren",description:"Elemente in der Datenbank aktualisieren",emit_events:"Event ausl\xF6sen",key:"IDs",payload:"Nutzdaten",query:"Abfrage"},log:{name:"Konsolenausgabe",description:"Etwas in die Konsole ausgeben",message:"Nachricht",message_placeholder:"Geben Sie eine Nachricht ein, die in der Konsole angezeigt werden soll..."},mail:{name:"Email senden",description:"Sende eine E-Mail an eine oder mehrere Personen",to:"An",to_placeholder:"E-Mail-Adressen hinzuf\xFCgen und Enter dr\xFCcken...",body:"Inhalt"},notification:{name:"Benachrichtigung senden",recipient:"Benutzer",recipient_placeholder:"Benutzer UUID eingeben und Enter dr\xFCcken...",message:"Nachricht"},request:{name:"Webhook / Anfrage URL",description:"Eine Anfrage an eine URL senden",url:"URL",url_placeholder:"https://example.com/example",method:"Methode",data:"Daten",header:"Header",value_placeholder:"Bearer eyJhbGciOi..."},sleep:{description:"Gegebene Zeit in Millisekunden warten",milliseconds:"Millisekunden"},transform:{name:"Payload bearbeiten",description:"JSON Payload des Flows bearbeiten"},trigger:{name:"Flow ausl\xF6sen",description:"Daten an anderen Flow \xFCbergeben",flows:"Flows",flow:"Flow",data:"Daten"}}},n=e,t=e.identifier,r=e.avatar,i=e.application,a=e.default_provider,l=e.method,o=e.published,s=e.draft,_=e.archived,d=e.modules,c=e.module_bar,u=e.logs,m=e.reset_width,h=e.tile_size,g=e.edit_field,p=e.conditions,v=e.location,f=e.condition_rules,b=e.input,w=e.maps,k=e.switch_user,y=e.item_creation,z=e.item_revision,S=e.enter_a_name,A=e.duplicate_field,E=e.half_width,D=e.full_width,x=e.group,F=e.export_items,B=e.and,L=e.or,N=e.init,I=e.dataset_too_large_currently_showing_n_items,M=e.modifier,T=e.custom,K=e.hook,O=e.fill_width,W=e.field_name_translations,V=e.enter_password_to_enable_tfa,R=e.add_field,P=e.role_name,U=e.branch,G=e.leaf,Z=e.indeterminate,j=e.edit_collection,q=e.exclusive,H=e.children,C=e.db_only_click_to_configure,J=e.show_active_items,X=e.show_archived_items,Y=e.show_all_items,Q=e.edited,$=e.required,ee=e.required_for_app_access,ne=e.requires_value,te=e.create_preset,re=e.create_panel,ie=e.create_role,ae=e.create_user,le=e.message,oe=e.delete_panel,se=e.create_webhook,_e=e.create_translation_string,de=e.no_translation_string,ce=e.no_translation_string_copy,ue=e.translation_string_key_placeholder,me=e.translation_string_translations_placeholder,he=e.edit_translation_string,ge=e.delete_translation_string_copy,pe=e.invite_users,ve=e.invite,fe=e.email_already_invited,be=e.subject,we=e.inbox,ke=e.emails,ye=e.connection_excellent,ze=e.connection_good,Se=e.connection_fair,Ae=e.connection_poor,Ee=e.primary,De=e.rename_folder,xe=e.delete_folder,Fe=e.prefix,Be=e.suffix,Le=e.reset_bookmark,Ne=e.update_bookmark,Ie=e.delete_bookmark,Me=e.delete_bookmark_copy,Te=e.delete_personal_bookmark,Ke=e.delete_role_bookmark,Oe=e.delete_global_bookmark,We=e.logoutReason,Ve=e.public_label,Re=e.public_description,Pe=e.admin_description,Ue=e.not_allowed,Ge=e.directus_version,Ze=e.node_version,je=e.node_uptime,qe=e.os_type,He=e.os_version,Ce=e.os_uptime,Je=e.os_totalmem,Xe=e.archive,Ye=e.archive_confirm,Qe=e.archive_confirm_count,$e=e.reset_system_permissions_to,en=e.reset_system_permissions_copy,nn=e.the_following_are_minimum_permissions,tn=e.app_access_minimum,rn=e.recommended_defaults,an=e.unarchive,ln=e.unarchive_confirm,on=e.nested_files_folders_will_be_moved,sn=e.validation_errors_notice,_n=e.validationError,dn=e.all_access,cn=e.no_access,un=e.use_custom,mn=e.nullable,hn=e.allow_null_value,gn=e.allow_multiple,pn=e.allow_multiple_to_be_open,vn=e.enter_value_to_replace_nulls,fn=e.field_standard,bn=e.field_presentation,wn=e.field_file,kn=e.field_files,yn=e.field_m2o,zn=e.field_m2a,Sn=e.field_o2m,An=e.field_m2m,En=e.field_translations,Dn=e.field_group,xn=e.item_permissions,Fn=e.field_permissions,Bn=e.field_validation,Ln=e.field_presets,Nn=e.permissions_for_role,In=e.fields_for_role,Mn=e.validation_for_role,Tn=e.presets_for_role,Kn=e.presentation_and_aliases,On=e.revision_post_create,Wn=e.revision_post_update,Vn=e.changes_made,Rn=e.no_relational_data,Pn=e.bottom,Un=e.hide_field,Gn=e.hide_field_on_detail,Zn=e.show_field_on_detail,jn=e.delete_field,qn=e.fields_and_layout,Hn=e.field_create_success,Cn=e.field_update_success,Jn=e.duplicate_where_to,Xn=e.language,Yn=e.language_placeholder,Qn=e.aggregate_function,$n=e.aggregate_precision,et=e.group_aggregation,nt=e.group_precision,tt=e.global,rt=e.admins_have_all_permissions,it=e.camera,at=e.show_zero,lt=e.create_in_advanced_field_creation_mode,ot=e.continue_in_advanced_field_creation_mode,st=e.validation,_t=e.sum,dt=e.sum_distinct,ct=e.avg,ut=e.avg_distinct,mt=e.count,ht=e.count_distinct,gt=e.min,pt=e.max,vt=e.exposure,ft=e.shutter,bt=e.iso,wt=e.focal_length,kt=e.schema_setup_key,yt=e.create_field,zt=e.creating_new_field,St=e.field_in_collection,At=e.reset_page_preferences,Et=e.hidden_field,Dt=e.hidden_on_detail,xt=e.disabled_editing_value,Ft=e.key,Bt=e.alias,Lt=e.bigInteger,Nt=e.boolean,It=e.date,Mt=e.date_range,Tt=e.datetime,Kt=e.dateTime,Ot=e.precision,Wt=e.decimal,Vt=e.float,Rt=e.integer,Pt=e.json,Ut=e.xml,Gt=e.string,Zt=e.text,jt=e.time,qt=e.timestamp,Ht=e.uuid,Ct=e.hash,Jt=e.geometry,Xt=e.not_available_for_type,Yt=e.create_translations,Qt=e.auto_refresh,$t=e.refresh_interval,er=e.no_refresh,nr=e.refresh_interval_seconds,tr=e.refresh_interval_minutes,rr=e.auto_generate,ir=e.this_will_auto_setup_fields_relations,ar=e.click_here,lr=e.to_manually_setup_translations,or=e.click_to_manage_translated_fields,sr=e.fields_group,_r=e.no_collections_found,dr=e.new_data_alert,cr=e.search_collection,ur=e.new_field,mr=e.new_collection,hr=e.add_m2o_to_collection,gr=e.add_o2m_to_collection,pr=e.add_m2m_to_collection,vr=e.choose_a_type,fr=e.determined_by_relationship,br=e.add_note,wr=e.add_link,kr=e.custom_link,yr=e.default_value,zr=e.standard_field,Sr=e.single_file,Ar=e.multiple_files,Er=e.m2o_relationship,Dr=e.o2m_relationship,xr=e.m2m_relationship,Fr=e.m2a_relationship,Br=e.invalid_item,Lr=e.next,Nr=e.field_name,Ir=e.translations,Mr=e.no_translations,Tr=e.left_to_right,Kr=e.right_to_left,Or=e.note,Wr=e.enter_a_value,Vr=e.enter_a_placeholder,Rr=e.length,Pr=e.soft_length,Ur=e.precision_scale,Gr=e.readonly,Zr=e.unique,jr=e.updated_on,qr=e.updated_by,Hr=e.primary_key,Cr=e.foreign_key,Jr=e.finish_setup,Xr=e.dismiss,Yr=e.toggle_raw_editor,Qr=e.raw_editor_placeholder,$r=e.raw_value,ei=e.copy_raw_value,ni=e.copy_raw_value_success,ti=e.copy_raw_value_fail,ri=e.paste_raw_value,ii=e.paste_raw_value_success,ai=e.paste_raw_value_fail,li=e.view_raw_value,oi=e.edit_raw_value,si=e.enter_raw_value,_i=e.clear_value,di=e.clear_changes,ci=e.reset_to_default,ui=e.undo_changes,mi=e.notifications,hi=e.show_all_activity,gi=e.page_not_found,pi=e.page_not_found_body,vi=e.confirm_revert,fi=e.confirm_revert_body,bi=e.display,wi=e.settings_update_success,ki=e.title,yi=e.revision_delta_created,zi=e.revision_delta_created_externally,Si=e.revision_delta_updated,Ai=e.revision_delta_deleted,Ei=e.revision_delta_reverted,Di=e.revision_delta_update_message,xi=e.revision_delta_other,Fi=e.revision_delta_by,Bi=e.presentation_text_values_cannot_be_reimported,Li=e.download_page_as_csv,Ni=e.private_user,Ii=e.creation_preview,Mi=e.revision_preview,Ti=e.updates_made,Ki=e.leave_comment,Oi=e.post_comment_success,Wi=e.post_comment_updated,Vi=e.item_create_success,Ri=e.item_update_success,Pi=e.item_delete_success,Ui=e.this_collection,Gi=e.related_collection,Zi=e.related_collections,ji=e.translations_collection,qi=e.languages_collection,Hi=e.import_data_input_placeholder,Ci=e.import_data_button,Ji=e.import_data_indeterminate,Xi=e.import_data_success,Yi=e.import_data_error,Qi=e.label_import,$i=e.label_export,ea=e.import_export,na=e.format,ta=e.last_page,ra=e.last_access,ia=e.fill_template,aa=e.a_unique_table_name,la=e.a_unique_column_name,oa=e.enable_custom_values,sa=e.submit,_a=e.move_to_folder,da=e.move,ca=e.system,ua=e.add_field_related,ma=e.interface_label,ha=e.today,ga=e.yesterday,pa=e.delete_comment,va=e.delete_share,fa=e.functions,ba=e.minutes,wa=e.hours,ka=e.month,ya=e.year,za=e.select_all,Sa=e.months,Aa=e.drag_mode,Ea=e.cancel_crop,Da=e.original,xa=e.url,Fa=e.import_label,Ba=e.file_details,La=e.dimensions,Na=e.size,Ia=e.created,Ma=e.modified,Ta=e.checksum,Ka=e.owner,Oa=e.edited_by,Wa=e.folder,Va=e.zoom,Ra=e.download,Pa=e.open,Ua=e.open_in_new_window,Ga=e.open_folder,Za=e.foreground_color,ja=e.background_color,qa=e.upload_from_device,Ha=e.choose_from_library,Ca=e.import_from_url,Ja=e.replace_from_device,Xa=e.replace_from_library,Ya=e.replace_from_url,Qa=e.no_file_selected,$a=e.download_file,el=e.open_file_in_tab,nl=e.start_export,tl=e.not_available_for_local_downloads,rl=e.exporting_all_items_in_collection,il=e.exporting_limited_items_in_collection,al=e.exporting_no_items_to_export,ll=e.exporting_download_hint,ol=e.exporting_batch_hint,sl=e.exporting_batch_hint_forced,_l=e.collection_key,dl=e.name,cl=e.primary_key_field,ul=e.type,ml=e.creating_new_collection,hl=e.created_by,gl=e.created_on,pl=e.creating_collection_info,vl=e.creating_collection_system,fl=e.auto_increment_integer,bl=e.auto_increment_big_integer,wl=e.generated_uuid,kl=e.manual_string,yl=e.save_and_create_new,zl=e.save_and_stay,Sl=e.save_as_copy,Al=e.add_existing,El=e.creating_items,Dl=e.enable_create_button,xl=e.selecting_items,Fl=e.enable_select_button,Bl=e.allow_duplicates,Ll=e.comments,Nl=e.no_comments,Il=e.click_to_expand,Ml=e.select_item,Tl=e.no_items,Kl=e.search_items,Ol=e.disabled,Wl=e.information,Vl=e.report_bug,Rl=e.request_feature,Pl=e.request_body,Ul=e.interface_not_found,Gl=e.operation_not_found,Zl=e.reset_interface,jl=e.display_not_found,ql=e.reset_display,Hl=e.item_count,Cl=e.no_items_copy,Jl=e.file_count,Xl=e.no_files_copy,Yl=e.user_count,Ql=e.no_users_copy,$l=e.webhooks_count,eo=e.no_webhooks_copy,no=e.no_notifications,to=e.no_notifications_copy,ro=e.activity_log,io=e.all_items,ao=e.any,lo=e.csv,oo=e.no_collections,so=e.create_collection,_o=e.no_collections_copy_admin,co=e.no_collections_copy,uo=e.relationship_not_setup,mo=e.display_template_not_setup,ho=e.collection_field_not_setup,go=e.select_a_collection,po=e.select_a_field,vo=e.active,fo=e.move_to,bo=e.copy,wo=e.copy_to,ko=e.no_other_dashboards_copy,yo=e.inactive,zo=e.users,So=e.activity,Ao=e.activity_item,Eo=e.action,Do=e.ip_address,xo=e.user_agent,Fo=e.origin,Bo=e.webhooks,Lo=e.decimals,No=e.value_decimals,Io=e.min_value,Mo=e.max_value,To=e.automatic,Ko=e.field_width,Oo=e.add_filter,Wo=e.upper_limit,Vo=e.lower_limit,Ro=e.user_directory,Po=e.documentation,Uo=e.sidebar,Go=e.duration,Zo=e.charset,jo=e.second,qo=e.file_moved,Ho=e.collection_created,Co=e.modified_on,Jo=e.card_size,Xo=e.sort_field,Yo=e.add_sort_field,Qo=e.sort,$o=e.status,es=e.remove,ns=e.toggle_manual_sorting,ts=e.bookmark_doesnt_exist,rs=e.bookmark_doesnt_exist_copy,is=e.bookmark_doesnt_exist_cta,as=e.select_an_item,ls=e.edit,os=e.enabled,ss=e.disable_tfa,_s=e.tfa_scan_code,ds=e.enter_otp_to_disable_tfa,cs=e.create_account,us=e.account_created_successfully,ms=e.auto_fill,hs=e.corresponding_field,gs=e.errors,ps=e.security,vs=e.value_hashed,fs=e.bookmark_name,bs=e.create_bookmark,ws=e.edit_bookmark,ks=e.edit_personal_bookmark,ys=e.edit_role_bookmark,zs=e.edit_global_bookmark,Ss=e.cannot_edit_role_bookmarks,As=e.cannot_edit_global_bookmarks,Es=e.bookmarks,Ds=e.presets,xs=e.unexpected_error,Fs=e.unexpected_error_copy,Bs=e.copy_details,Ls=e.no_app_access,Ns=e.no_app_access_copy,Is=e.password_reset_sent,Ms=e.password_reset_successful,Ts=e.back,Ks=e.filter,Os=e.edit_image,Ws=e.editing_image,Vs=e.square,Rs=e.free,Ps=e.flip_horizontal,Us=e.flip_vertical,Gs=e.aspect_ratio,Zs=e.rotate,js=e.all_users,qs=e.delete_collection,Hs=e.update_collection_success,Cs=e.delete_collection_success,Js=e.make_collection_visible,Xs=e.make_collection_hidden,Ys=e.make_folder_visible,Qs=e.make_folder_hidden,$s=e.goto_collection_content,e_=e.start_end_of_count_items,n_=e.start_end_of_count_filtered_items,t_=e.one_item,r_=e.one_filtered_item,i_=e.delete_collection_are_you_sure,a_=e.delete_folder_are_you_sure,l_=e.collections_shown,o_=e.visible_collections,s_=e.hidden_collections,__=e.show_hidden_collections,d_=e.hide_hidden_collections,c_=e.show_header,u_=e.unmanaged_collections,m_=e.system_collections,h_=e.placeholder,g_=e.icon_left,p_=e.icon_right,v_=e.count_other_revisions,f_=e.font,b_=e.sans_serif,w_=e.serif,k_=e.monospace,y_=e.divider,z_=e.color,S_=e.circle,A_=e.empty_item,E_=e.log_in_with,D_=e.conditional_styles,x_=e.advanced_settings,F_=e.advanced_filter,B_=e.delete_advanced_filter,L_=e.change_advanced_filter_operator,N_=e.advanced,I_=e.operators,M_=e.custom_validation_message,T_=e.loading,K_=e.drop_to_upload,O_=e.item,W_=e.items,V_=e.upload_file,R_=e.upload_file_indeterminate,P_=e.upload_file_success,U_=e.upload_files_indeterminate,G_=e.upload_files_success,Z_=e.upload_pending,j_=e.drag_file_here,q_=e.click_to_browse,H_=e.interface_options,C_=e.layout_options,J_=e.rows,X_=e.columns,Y_=e.collection_setup,Q_=e.optional_system_fields,$_=e.value_unique,ed=e.all_activity,nd=e.create_item,td=e.display_template,rd=e.language_display_template,id=e.translations_display_template,ad=e.n_items_selected,ld=e.per_page,od=e.all_files,sd=e.my_files,_d=e.recent_files,dd=e.create_folder,cd=e.edit_folder,ud=e.folder_name,md=e.folder_key,hd=e.add_file,gd=e.replace_file,pd=e.no_results,vd=e.no_results_copy,fd=e.clear_filters,bd=e.saves_automatically,wd=e.role,kd=e.edit_role,yd=e.rule,zd=e.user,Sd=e.no_presets,Ad=e.no_presets_copy,Ed=e.no_presets_cta,Dd=e.presets_only,xd=e.create,Fd=e.on_create,Bd=e.on_update,Ld=e.read,Nd=e.update,Id=e.select_fields,Md=e.format_text,Td=e.format_value,Kd=e.abbreviate_value,Od=e.operator,Wd=e.bold,Vd=e.toggle,Rd=e.icon_on,Pd=e.icon_off,Ud=e.label,Gd=e.flows,Zd=e.flow,jd=e.select_a_flow,qd=e.run_flow_on_current,Hd=e.run_flow_on_selected,Cd=e.run_flow_success,Jd=e.trigger,Xd=e.trigger_options,Yd=e.view_trigger,Qd=e.create_trigger,$d=e.trigger_setup,ec=e.change_trigger,nc=e.flow_delete_confirm,tc=e.set_flow_active,rc=e.set_flow_inactive,ic=e.edit_flow,ac=e.delete_flow,lc=e.no_other_flows_copy,oc=e.no_flows,sc=e.no_flows_copy,_c=e.create_flow,dc=e.creating_new_flow,cc=e.updating_flow,uc=e.flow_setup,mc=e.flow_name,hc=e.flow_tracking,gc=e.flow_tracking_all,pc=e.flow_tracking_activity,vc=e.flow_tracking_null,fc=e.start_flow,bc=e.stop_flow,wc=e.create_operation,kc=e.edit_operation,yc=e.code,zc=e.operation_options,Sc=e.operation_name,Ac=e.operation_key,Ec=e.operation_key_unique_error,Dc=e.operation_handle_resolve,xc=e.operation_handle_reject,Fc=e.insights,Bc=e.dashboard,Lc=e.panel,Nc=e.panel_options,Ic=e.panel_header,Mc=e.panel_name_placeholder,Tc=e.panel_note_placeholder,Kc=e.panel_delete_confirm,Oc=e.dashboard_delete_confirm,Wc=e.edit_dashboard,Vc=e.delete_dashboard,Rc=e.visible,Pc=e.prefix_placeholder,Uc=e.suffix_placeholder,Gc=e.decimals_placeholder,Zc=e.no_dashboards,jc=e.no_dashboards_copy,qc=e.create_dashboard,Hc=e.dashboard_name,Cc=e.no_data,Jc=e.no_data_in_flow,Xc=e.accountability,Yc=e.payload,Qc=e.details,$c=e.full_screen,eu=e.full_text_search,nu=e.edit_panels,tu=e.center_align,ru=e.left_align,iu=e.right_align,au=e.fit_to_screen,lu=e.image_url,ou=e.alt_text,su=e.media,_u=e.quality,du=e.width,cu=e.height,uu=e.transformation_preset_key,mu=e.source,hu=e.url_placeholder,gu=e.display_text,pu=e.display_text_placeholder,vu=e.interface_group_text_and_numbers,fu=e.interface_group_selection,bu=e.interface_group_relational,wu=e.interface_group_presentation,ku=e.interface_group_groups,yu=e.interface_group_other,zu=e.tooltip,Su=e.tooltip_placeholder,Au=e.unlimited,Eu=e.open_link_in,Du=e.new_tab,xu=e.current_tab,Fu=e.save_image,Bu=e.save_media,Lu=e.wysiwyg_options,Nu=e.dropdown,Iu=e.choices,Mu=e.choices_option_configured_incorrectly,Tu=e.deselect,Ku=e.deselect_all,Ou=e.other,Wu=e.adding_user,Vu=e.unknown_user,Ru=e.creating_in,Pu=e.editing_in,Uu=e.viewing_in,Gu=e.creating_unit,Zu=e.editing_unit,ju=e.editing_in_batch,qu=e.no_options_available,Hu=e.settings_data_model,Cu=e.settings_permissions,Ju=e.settings_project,Xu=e.settings_webhooks,Yu=e.settings_flows,Qu=e.settings_presets,$u=e.settings_translation_strings,em=e.one_or_more_options_are_missing,nm=e.scope,tm=e.actions,rm=e.select,im=e.layout,am=e.tree_view,lm=e.changes_are_permanent,om=e.preset_name_placeholder,sm=e.preset_search_placeholder,_m=e.editing_preset,dm=e.layout_preview,cm=e.layout_setup,e=e.data,um=e.unsaved_changes,mm=e.unsaved_changes_copy,hm=e.discard_changes,gm=e.discard_all_changes,pm=e.discard_changes_copy,vm=e.show_x_axis,fm=e.show_y_axis,bm=e.keep_editing,wm=e.page_help_collections_overview,km=e.page_help_collections_collection,ym=e.page_help_collections_item,zm=e.page_help_activity_collection,Sm=e.page_help_docs_global,Am=e.page_help_files_collection,Em=e.page_help_files_item,Dm=e.page_help_settings_project,xm=e.page_help_settings_datamodel_collections,Fm=e.page_help_settings_datamodel_fields,Bm=e.page_help_settings_roles_collection,Lm=e.page_help_settings_roles_item,Nm=e.page_help_settings_presets_collection,Im=e.page_help_settings_presets_item,Mm=e.page_help_settings_webhooks_collection,Tm=e.page_help_settings_webhooks_item,Km=e.page_help_settings_flows_collection,Om=e.page_help_settings_flows_item,Wm=e.page_help_settings_translation_strings_collection,Vm=e.page_help_users_collection,Rm=e.page_help_users_item,Pm=e.page_help_insights_overview,Um=e.page_help_insights_dashboard,Gm=e.activity_feed,Zm=e.add_new,jm=e.create_new,qm=e.all,Hm=e.none,Cm=e.no_layout_collection_selected_yet,Jm=e.batch_delete_confirm,Xm=e.cancel,Ym=e.no_upscale,Qm=e.collection,$m=e.collections,eh=e.content,nh=e.singleton,th=e.singleton_label,rh=e.system_fields_locked,ih=e.directus_collection,ah=e.fields,lh=e.field_options,oh=e.no_fields_in_collection,sh=e.no_value,_h=e.do_nothing,dh=e.generate_and_save_uuid,ch=e.save_current_user_id,uh=e.save_current_user_role,mh=e.save_current_datetime,hh=e.always_open,gh=e.start_open,ph=e.start_collapsed,vh=e.block,fh=e.inline,bh=e.comment,wh=e.shares,kh=e.unlimited_usage,yh=e.uses_left,zh=e.no_shares,Sh=e.new_share,Ah=e.expired,Eh=e.upcoming,Dh=e.share,xh=e.share_item,Fh=e.shared_with_you,Bh=e.shared_enter_passcode,Lh=e.shared_leave_blank_for_unlimited,Nh=e.shared_times_remaining,Ih=e.shared_last_remaining,Mh=e.shared_uses_left,Th=e.share_access_page,Kh=e.share_access_not_found,Oh=e.share_access_not_found_desc,Wh=e.share_access_not_found_title,Vh=e.share_copy_link,Rh=e.share_copy_link_success,Ph=e.share_copy_link_error,Uh=e.share_send_link,Gh=e.relational_triggers,Zh=e.referential_action_field_label_m2o,jh=e.referential_action_field_label_o2m,qh=e.referential_action_no_action,Hh=e.referential_action_cascade,Ch=e.referential_action_set_null,Jh=e.referential_action_set_default,Xh=e.choose_action,Yh=e.continue_label,Qh=e.continue_as,$h=e.editing_role,eg=e.creating_webhook,ng=e.default_label,tg=e.delete_label,rg=e.delete_are_you_sure,ig=e.delete_field_are_you_sure,ag=e.description,lg=e.done,og=e.duplicate,sg=e.limit,_g=e.email,dg=e.embed,cg=e.fallback_icon,ug=e.field,mg=e.file,hg=e.file_library,gg=e.forgot_password,pg=e.hidden,vg=e.hidden_in_group,fg=e.icon,bg=e.info,wg=e.normal,kg=e.success,yg=e.warning,zg=e.danger,Sg=e.colors,Ag=e.junction_collection,Eg=e.latency,Dg=e.login,xg=e.my_activity,Fg=e.not_authenticated,Bg=e.authenticated,Lg=e.options,Ng=e.otp,Ig=e.password,Mg=e.permissions,Tg=e.relationship,Kg=e.reset,Og=e.reset_password,Wg=e.revisions,Vg=e.no_revisions,Rg=e.no_logs,Pg=e.revert,Ug=e.save,Gg=e.schema,Zg=e.search,jg=e.select_existing,qg=e.select_field_type,Hg=e.select_interface,Cg=e.settings,Jg=e.sign_in,Xg=e.sign_out,Yg=e.sign_out_confirm,Qg=e.something_went_wrong,$g=e.sort_direction,ep=e.export_location,np=e.export_started,tp=e.export_started_copy,rp=e.sort_asc,ip=e.sort_desc,ap=e.template,lp=e.require_value_to_be_set,op=e.translation,sp=e.translation_placeholder,_p=e.value,dp=e.view_project,cp=e.report_error,up=e.start,mp=e.table,hp=e.list,gp=e.search_filter,pp=e.enable_search_filter,vp=e.item_link,fp=e.show_link_to_item,bp=e.navigate_to_item,wp=e.undo_removed_item,kp=e.remove_item,yp=e.delete_item,zp=e.interfaces,Sp=e.displays,Ap=e.layouts,Ep=e.panels,Dp=e.triggers,xp=e.any_string_or_json,Fp=e.operations;export{la as a_unique_column_name,aa as a_unique_table_name,Kd as abbreviate_value,us as account_created_successfully,Xc as accountability,Eo as action,tm as actions,vo as active,So as activity,Gm as activity_feed,Ao as activity_item,ro as activity_log,Al as add_existing,R as add_field,ua as add_field_related,hd as add_file,Oo as add_filter,wr as add_link,pr as add_m2m_to_collection,hr as add_m2o_to_collection,Zm as add_new,br as add_note,gr as add_o2m_to_collection,Yo as add_sort_field,Wu as adding_user,Pe as admin_description,rt as admins_have_all_permissions,N_ as advanced,F_ as advanced_filter,x_ as advanced_settings,Qn as aggregate_function,$n as aggregate_precision,Bt as alias,qm as all,dn as all_access,ed as all_activity,od as all_files,io as all_items,js as all_users,Bl as allow_duplicates,gn as allow_multiple,pn as allow_multiple_to_be_open,hn as allow_null_value,ou as alt_text,hh as always_open,B as and,ao as any,xp as any_string_or_json,tn as app_access_minimum,i as application,Xe as archive,Ye as archive_confirm,Qe as archive_confirm_count,_ as archived,Gs as aspect_ratio,Bg as authenticated,ms as auto_fill,rr as auto_generate,bl as auto_increment_big_integer,fl as auto_increment_integer,Qt as auto_refresh,To as automatic,r as avatar,ct as avg,ut as avg_distinct,Ts as back,ja as background_color,Jm as batch_delete_confirm,Lt as bigInteger,vh as block,Wd as bold,ts as bookmark_doesnt_exist,rs as bookmark_doesnt_exist_copy,is as bookmark_doesnt_exist_cta,fs as bookmark_name,Es as bookmarks,Nt as boolean,Pn as bottom,U as branch,it as camera,Xm as cancel,Ea as cancel_crop,As as cannot_edit_global_bookmarks,Ss as cannot_edit_role_bookmarks,Jo as card_size,tu as center_align,L_ as change_advanced_filter_operator,ec as change_trigger,lm as changes_are_permanent,Vn as changes_made,Zo as charset,Ta as checksum,H as children,Iu as choices,Mu as choices_option_configured_incorrectly,vr as choose_a_type,Xh as choose_action,Ha as choose_from_library,S_ as circle,di as clear_changes,fd as clear_filters,_i as clear_value,ar as click_here,q_ as click_to_browse,Il as click_to_expand,or as click_to_manage_translated_fields,yc as code,Qm as collection,Ho as collection_created,ho as collection_field_not_setup,_l as collection_key,Y_ as collection_setup,$m as collections,l_ as collections_shown,z_ as color,Sg as colors,X_ as columns,bh as comment,Ll as comments,f as condition_rules,D_ as conditional_styles,p as conditions,vi as confirm_revert,fi as confirm_revert_body,ye as connection_excellent,Se as connection_fair,ze as connection_good,Ae as connection_poor,eh as content,Qh as continue_as,ot as continue_in_advanced_field_creation_mode,Yh as continue_label,bo as copy,Bs as copy_details,ei as copy_raw_value,ti as copy_raw_value_fail,ni as copy_raw_value_success,wo as copy_to,hs as corresponding_field,mt as count,ht as count_distinct,v_ as count_other_revisions,xd as create,cs as create_account,bs as create_bookmark,so as create_collection,qc as create_dashboard,yt as create_field,_c as create_flow,dd as create_folder,lt as create_in_advanced_field_creation_mode,nd as create_item,jm as create_new,wc as create_operation,re as create_panel,te as create_preset,ie as create_role,_e as create_translation_string,Yt as create_translations,Qd as create_trigger,ae as create_user,se as create_webhook,Ia as created,hl as created_by,gl as created_on,pl as creating_collection_info,vl as creating_collection_system,Ru as creating_in,El as creating_items,ml as creating_new_collection,zt as creating_new_field,dc as creating_new_flow,Gu as creating_unit,eg as creating_webhook,Ii as creation_preview,lo as csv,xu as current_tab,T as custom,kr as custom_link,M_ as custom_validation_message,zg as danger,Bc as dashboard,Oc as dashboard_delete_confirm,Hc as dashboard_name,e as data,I as dataset_too_large_currently_showing_n_items,It as date,Kt as dateTime,Mt as date_range,Tt as datetime,C as db_only_click_to_configure,Wt as decimal,Lo as decimals,Gc as decimals_placeholder,n as default,ng as default_label,a as default_provider,yr as default_value,B_ as delete_advanced_filter,rg as delete_are_you_sure,Ie as delete_bookmark,Me as delete_bookmark_copy,qs as delete_collection,i_ as delete_collection_are_you_sure,Cs as delete_collection_success,pa as delete_comment,Vc as delete_dashboard,jn as delete_field,ig as delete_field_are_you_sure,ac as delete_flow,xe as delete_folder,a_ as delete_folder_are_you_sure,Oe as delete_global_bookmark,yp as delete_item,tg as delete_label,oe as delete_panel,Te as delete_personal_bookmark,Ke as delete_role_bookmark,va as delete_share,ge as delete_translation_string_copy,ag as description,Tu as deselect,Ku as deselect_all,Qc as details,fr as determined_by_relationship,La as dimensions,ih as directus_collection,Ge as directus_version,ss as disable_tfa,Ol as disabled,xt as disabled_editing_value,gm as discard_all_changes,hm as discard_changes,pm as discard_changes_copy,Xr as dismiss,bi as display,jl as display_not_found,td as display_template,mo as display_template_not_setup,gu as display_text,pu as display_text_placeholder,Sp as displays,y_ as divider,_h as do_nothing,Po as documentation,lg as done,Ra as download,$a as download_file,Li as download_page_as_csv,s as draft,j_ as drag_file_here,Aa as drag_mode,K_ as drop_to_upload,Nu as dropdown,og as duplicate,A as duplicate_field,Jn as duplicate_where_to,Go as duration,ls as edit,ws as edit_bookmark,j as edit_collection,Wc as edit_dashboard,g as edit_field,ic as edit_flow,cd as edit_folder,zs as edit_global_bookmark,Os as edit_image,kc as edit_operation,nu as edit_panels,ks as edit_personal_bookmark,oi as edit_raw_value,kd as edit_role,ys as edit_role_bookmark,he as edit_translation_string,Q as edited,Oa as edited_by,Ws as editing_image,Pu as editing_in,ju as editing_in_batch,_m as editing_preset,$h as editing_role,Zu as editing_unit,_g as email,fe as email_already_invited,ke as emails,dg as embed,A_ as empty_item,Dl as enable_create_button,oa as enable_custom_values,pp as enable_search_filter,Fl as enable_select_button,os as enabled,S as enter_a_name,Vr as enter_a_placeholder,Wr as enter_a_value,ds as enter_otp_to_disable_tfa,V as enter_password_to_enable_tfa,si as enter_raw_value,vn as enter_value_to_replace_nulls,gs as errors,q as exclusive,Ah as expired,F as export_items,ep as export_location,np as export_started,tp as export_started_copy,rl as exporting_all_items_in_collection,ol as exporting_batch_hint,sl as exporting_batch_hint_forced,ll as exporting_download_hint,il as exporting_limited_items_in_collection,al as exporting_no_items_to_export,vt as exposure,cg as fallback_icon,ug as field,Hn as field_create_success,wn as field_file,kn as field_files,Dn as field_group,St as field_in_collection,zn as field_m2a,An as field_m2m,yn as field_m2o,Nr as field_name,W as field_name_translations,Sn as field_o2m,lh as field_options,Fn as field_permissions,bn as field_presentation,Ln as field_presets,fn as field_standard,En as field_translations,Cn as field_update_success,Bn as field_validation,Ko as field_width,ah as fields,qn as fields_and_layout,In as fields_for_role,sr as fields_group,mg as file,Jl as file_count,Ba as file_details,hg as file_library,qo as file_moved,ia as fill_template,O as fill_width,Ks as filter,Jr as finish_setup,au as fit_to_screen,Ps as flip_horizontal,Us as flip_vertical,Vt as float,Zd as flow,nc as flow_delete_confirm,mc as flow_name,uc as flow_setup,hc as flow_tracking,pc as flow_tracking_activity,gc as flow_tracking_all,vc as flow_tracking_null,Gd as flows,wt as focal_length,Wa as folder,md as folder_key,ud as folder_name,f_ as font,Za as foreground_color,Cr as foreign_key,gg as forgot_password,na as format,Md as format_text,Td as format_value,Rs as free,$c as full_screen,eu as full_text_search,D as full_width,fa as functions,dh as generate_and_save_uuid,wl as generated_uuid,Jt as geometry,tt as global,$s as goto_collection_content,x as group,et as group_aggregation,nt as group_precision,E as half_width,Ct as hash,cu as height,pg as hidden,s_ as hidden_collections,Et as hidden_field,vg as hidden_in_group,Dt as hidden_on_detail,Un as hide_field,Gn as hide_field_on_detail,d_ as hide_hidden_collections,K as hook,wa as hours,fg as icon,g_ as icon_left,Pd as icon_off,Rd as icon_on,p_ as icon_right,t as identifier,lu as image_url,Ci as import_data_button,Yi as import_data_error,Ji as import_data_indeterminate,Hi as import_data_input_placeholder,Xi as import_data_success,ea as import_export,Ca as import_from_url,Fa as import_label,yo as inactive,we as inbox,Z as indeterminate,bg as info,Wl as information,N as init,fh as inline,b as input,Fc as insights,Rt as integer,ku as interface_group_groups,yu as interface_group_other,wu as interface_group_presentation,bu as interface_group_relational,fu as interface_group_selection,vu as interface_group_text_and_numbers,ma as interface_label,Ul as interface_not_found,H_ as interface_options,zp as interfaces,Br as invalid_item,ve as invite,pe as invite_users,Do as ip_address,bt as iso,O_ as item,Hl as item_count,Vi as item_create_success,y as item_creation,Pi as item_delete_success,vp as item_link,xn as item_permissions,z as item_revision,Ri as item_update_success,W_ as items,Pt as json,Ag as junction_collection,bm as keep_editing,Ft as key,Ud as label,$i as label_export,Qi as label_import,Xn as language,rd as language_display_template,Yn as language_placeholder,qi as languages_collection,ra as last_access,ta as last_page,Eg as latency,im as layout,C_ as layout_options,dm as layout_preview,cm as layout_setup,Ap as layouts,G as leaf,Ki as leave_comment,ru as left_align,Tr as left_to_right,Rr as length,sg as limit,hp as list,T_ as loading,v as location,E_ as log_in_with,Dg as login,We as logoutReason,u as logs,Vo as lower_limit,Fr as m2a_relationship,xr as m2m_relationship,Er as m2o_relationship,Xs as make_collection_hidden,Js as make_collection_visible,Qs as make_folder_hidden,Ys as make_folder_visible,kl as manual_string,w as maps,pt as max,Mo as max_value,su as media,le as message,l as method,gt as min,Io as min_value,ba as minutes,Ma as modified,Co as modified_on,M as modifier,c as module_bar,d as modules,k_ as monospace,ka as month,Sa as months,da as move,fo as move_to,_a as move_to_folder,Ar as multiple_files,xg as my_activity,sd as my_files,ad as n_items_selected,dl as name,bp as navigate_to_item,on as nested_files_folders_will_be_moved,mr as new_collection,dr as new_data_alert,ur as new_field,Sh as new_share,Du as new_tab,Lr as next,cn as no_access,Ls as no_app_access,Ns as no_app_access_copy,oo as no_collections,co as no_collections_copy,_o as no_collections_copy_admin,_r as no_collections_found,Nl as no_comments,Zc as no_dashboards,jc as no_dashboards_copy,Cc as no_data,Jc as no_data_in_flow,oh as no_fields_in_collection,Qa as no_file_selected,Xl as no_files_copy,oc as no_flows,sc as no_flows_copy,Tl as no_items,Cl as no_items_copy,Cm as no_layout_collection_selected_yet,Rg as no_logs,no as no_notifications,to as no_notifications_copy,qu as no_options_available,ko as no_other_dashboards_copy,lc as no_other_flows_copy,Sd as no_presets,Ad as no_presets_copy,Ed as no_presets_cta,er as no_refresh,Rn as no_relational_data,pd as no_results,vd as no_results_copy,Vg as no_revisions,zh as no_shares,de as no_translation_string,ce as no_translation_string_copy,Mr as no_translations,Ym as no_upscale,Ql as no_users_copy,sh as no_value,eo as no_webhooks_copy,je as node_uptime,Ze as node_version,Hm as none,wg as normal,Ue as not_allowed,Fg as not_authenticated,tl as not_available_for_local_downloads,Xt as not_available_for_type,Or as note,mi as notifications,mn as nullable,Dr as o2m_relationship,Fd as on_create,Bd as on_update,r_ as one_filtered_item,t_ as one_item,em as one_or_more_options_are_missing,Pa as open,el as open_file_in_tab,Ga as open_folder,Ua as open_in_new_window,Eu as open_link_in,xc as operation_handle_reject,Dc as operation_handle_resolve,Ac as operation_key,Ec as operation_key_unique_error,Sc as operation_name,Gl as operation_not_found,zc as operation_options,Fp as operations,Od as operator,I_ as operators,Q_ as optional_system_fields,Lg as options,L as or,Fo as origin,Da as original,Je as os_totalmem,qe as os_type,Ce as os_uptime,He as os_version,Ou as other,Ng as otp,Ka as owner,zm as page_help_activity_collection,km as page_help_collections_collection,ym as page_help_collections_item,wm as page_help_collections_overview,Sm as page_help_docs_global,Am as page_help_files_collection,Em as page_help_files_item,Um as page_help_insights_dashboard,Pm as page_help_insights_overview,xm as page_help_settings_datamodel_collections,Fm as page_help_settings_datamodel_fields,Km as page_help_settings_flows_collection,Om as page_help_settings_flows_item,Nm as page_help_settings_presets_collection,Im as page_help_settings_presets_item,Dm as page_help_settings_project,Bm as page_help_settings_roles_collection,Lm as page_help_settings_roles_item,Wm as page_help_settings_translation_strings_collection,Mm as page_help_settings_webhooks_collection,Tm as page_help_settings_webhooks_item,Vm as page_help_users_collection,Rm as page_help_users_item,gi as page_not_found,pi as page_not_found_body,Lc as panel,Kc as panel_delete_confirm,Ic as panel_header,Mc as panel_name_placeholder,Tc as panel_note_placeholder,Nc as panel_options,Ep as panels,Ig as password,Is as password_reset_sent,Ms as password_reset_successful,ri as paste_raw_value,ai as paste_raw_value_fail,ii as paste_raw_value_success,Yc as payload,ld as per_page,Mg as permissions,Nn as permissions_for_role,h_ as placeholder,Oi as post_comment_success,Wi as post_comment_updated,Ot as precision,Ur as precision_scale,Fe as prefix,Pc as prefix_placeholder,Kn as presentation_and_aliases,Bi as presentation_text_values_cannot_be_reimported,om as preset_name_placeholder,sm as preset_search_placeholder,Ds as presets,Tn as presets_for_role,Dd as presets_only,Ee as primary,Hr as primary_key,cl as primary_key_field,Ni as private_user,Re as public_description,Ve as public_label,o as published,_u as quality,Qr as raw_editor_placeholder,$r as raw_value,Ld as read,Gr as readonly,_d as recent_files,rn as recommended_defaults,Hh as referential_action_cascade,Zh as referential_action_field_label_m2o,jh as referential_action_field_label_o2m,qh as referential_action_no_action,Jh as referential_action_set_default,Ch as referential_action_set_null,$t as refresh_interval,tr as refresh_interval_minutes,nr as refresh_interval_seconds,Gi as related_collection,Zi as related_collections,Gh as relational_triggers,Tg as relationship,uo as relationship_not_setup,es as remove,kp as remove_item,De as rename_folder,gd as replace_file,Ja as replace_from_device,Xa as replace_from_library,Ya as replace_from_url,Vl as report_bug,cp as report_error,Pl as request_body,Rl as request_feature,lp as require_value_to_be_set,$ as required,ee as required_for_app_access,ne as requires_value,Kg as reset,Le as reset_bookmark,ql as reset_display,Zl as reset_interface,At as reset_page_preferences,Og as reset_password,en as reset_system_permissions_copy,$e as reset_system_permissions_to,ci as reset_to_default,m as reset_width,Pg as revert,Fi as revision_delta_by,yi as revision_delta_created,zi as revision_delta_created_externally,Ai as revision_delta_deleted,xi as revision_delta_other,Ei as revision_delta_reverted,Di as revision_delta_update_message,Si as revision_delta_updated,On as revision_post_create,Wn as revision_post_update,Mi as revision_preview,Wg as revisions,iu as right_align,Kr as right_to_left,wd as role,P as role_name,Zs as rotate,J_ as rows,yd as rule,qd as run_flow_on_current,Hd as run_flow_on_selected,Cd as run_flow_success,b_ as sans_serif,Ug as save,yl as save_and_create_new,zl as save_and_stay,Sl as save_as_copy,mh as save_current_datetime,ch as save_current_user_id,uh as save_current_user_role,Fu as save_image,Bu as save_media,bd as saves_automatically,Gg as schema,kt as schema_setup_key,nm as scope,Zg as search,cr as search_collection,gp as search_filter,Kl as search_items,jo as second,ps as security,rm as select,go as select_a_collection,po as select_a_field,jd as select_a_flow,za as select_all,as as select_an_item,jg as select_existing,qg as select_field_type,Id as select_fields,Hg as select_interface,Ml as select_item,xl as selecting_items,w_ as serif,tc as set_flow_active,rc as set_flow_inactive,Cg as settings,Hu as settings_data_model,Yu as settings_flows,Cu as settings_permissions,Qu as settings_presets,Ju as settings_project,$u as settings_translation_strings,wi as settings_update_success,Xu as settings_webhooks,Dh as share,Kh as share_access_not_found,Oh as share_access_not_found_desc,Wh as share_access_not_found_title,Th as share_access_page,Vh as share_copy_link,Ph as share_copy_link_error,Rh as share_copy_link_success,xh as share_item,Uh as share_send_link,Bh as shared_enter_passcode,Ih as shared_last_remaining,Lh as shared_leave_blank_for_unlimited,Nh as shared_times_remaining,Mh as shared_uses_left,Fh as shared_with_you,wh as shares,J as show_active_items,hi as show_all_activity,Y as show_all_items,X as show_archived_items,Zn as show_field_on_detail,c_ as show_header,__ as show_hidden_collections,fp as show_link_to_item,vm as show_x_axis,fm as show_y_axis,at as show_zero,ft as shutter,Uo as sidebar,Jg as sign_in,Xg as sign_out,Yg as sign_out_confirm,Sr as single_file,nh as singleton,th as singleton_label,Na as size,Pr as soft_length,Qg as something_went_wrong,Qo as sort,rp as sort_asc,ip as sort_desc,$g as sort_direction,Xo as sort_field,mu as source,Vs as square,zr as standard_field,up as start,ph as start_collapsed,n_ as start_end_of_count_filtered_items,e_ as start_end_of_count_items,nl as start_export,fc as start_flow,gh as start_open,$o as status,bc as stop_flow,Gt as string,be as subject,sa as submit,kg as success,Be as suffix,Uc as suffix_placeholder,_t as sum,dt as sum_distinct,k as switch_user,ca as system,m_ as system_collections,rh as system_fields_locked,mp as table,ap as template,Zt as text,_s as tfa_scan_code,nn as the_following_are_minimum_permissions,Ui as this_collection,ir as this_will_auto_setup_fields_relations,h as tile_size,jt as time,qt as timestamp,ki as title,lr as to_manually_setup_translations,ha as today,Vd as toggle,ns as toggle_manual_sorting,Yr as toggle_raw_editor,zu as tooltip,Su as tooltip_placeholder,uu as transformation_preset_key,op as translation,sp as translation_placeholder,ue as translation_string_key_placeholder,me as translation_string_translations_placeholder,Ir as translations,ji as translations_collection,id as translations_display_template,am as tree_view,Jd as trigger,Xd as trigger_options,$d as trigger_setup,Dp as triggers,ul as type,an as unarchive,ln as unarchive_confirm,ui as undo_changes,wp as undo_removed_item,xs as unexpected_error,Fs as unexpected_error_copy,Zr as unique,Vu as unknown_user,Au as unlimited,kh as unlimited_usage,u_ as unmanaged_collections,um as unsaved_changes,mm as unsaved_changes_copy,Eh as upcoming,Nd as update,Ne as update_bookmark,Hs as update_collection_success,qr as updated_by,jr as updated_on,Ti as updates_made,cc as updating_flow,V_ as upload_file,R_ as upload_file_indeterminate,P_ as upload_file_success,U_ as upload_files_indeterminate,G_ as upload_files_success,qa as upload_from_device,Z_ as upload_pending,Wo as upper_limit,xa as url,hu as url_placeholder,un as use_custom,zd as user,xo as user_agent,Yl as user_count,Ro as user_directory,zo as users,yh as uses_left,Ht as uuid,st as validation,_n as validationError,sn as validation_errors_notice,Mn as validation_for_role,_p as value,No as value_decimals,vs as value_hashed,$_ as value_unique,dp as view_project,li as view_raw_value,Yd as view_trigger,Uu as viewing_in,Rc as visible,o_ as visible_collections,yg as warning,Bo as webhooks,$l as webhooks_count,du as width,Lu as wysiwyg_options,Ut as xml,ya as year,ga as yesterday,Va as zoom};
@@ -1 +1 @@
1
- import{y as p}from"./index.69857a47.entry.js";function u(o,i){return i.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in o)){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(o,i){(function(e){e(p.exports)})(function(e){e.defineMode("diff",function(){var t={"+":"positive","-":"negative","@":"meta"};return{token:function(r){var n=r.string.search(/[\t ]+?$/);if(!r.sol()||n===0)return r.skipToEnd(),("error "+(t[r.string.charAt(0)]||"")).replace(/ $/,"");var c=t[r.peek()]||r.skipToEnd();return n===-1?r.skipToEnd():r.pos=n,c}}}),e.defineMIME("text/x-diff","diff")})})();var a=f.exports,s=u({__proto__:null,default:a},[f.exports]);export{s as d};
1
+ import{y as p}from"./index.2c592891.entry.js";function u(o,i){return i.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in o)){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(o,i){(function(e){e(p.exports)})(function(e){e.defineMode("diff",function(){var t={"+":"positive","-":"negative","@":"meta"};return{token:function(r){var n=r.string.search(/[\t ]+?$/);if(!r.sol()||n===0)return r.skipToEnd(),("error "+(t[r.string.charAt(0)]||"")).replace(/ $/,"");var c=t[r.peek()]||r.skipToEnd();return n===-1?r.skipToEnd():r.pos=n,c}}}),e.defineMIME("text/x-diff","diff")})})();var a=f.exports,s=u({__proto__:null,default:a},[f.exports]);export{s as d};
@@ -1,3 +1,3 @@
1
- import{a as i,o as d,b as l,w as a,g as e,e as n,B as t}from"./runtime-core.esm-bundler.e3d5f5b7.js";const u={class:"markdown-body"},h=e("h2",{id:"1.-setup-a-repo-on-github",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#1.-setup-a-repo-on-github"},"#"),t(" 1. Setup a repo on GitHub")],-1),p=t("See the doc on "),_=t("installing Directus manually"),f=t(" to learn how to configure this repo."),m=e("h2",{id:"2.-sign-up-for-a-digitalocean-account",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#2.-sign-up-for-a-digitalocean-account"},"#"),t(" 2. Sign up for a DigitalOcean account")],-1),g=e("p",null,[t("Create your DigitalOcean account \u2014 "),e("a",{href:"https://m.do.co/c/4c0b6062c16e",target:"_blank",rel:"noopener noreferrer"},"get $100 of free credit"),t(" by using our referral link.")],-1),b=e("h2",{id:"3.-create-a-managed-database-instance",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#3.-create-a-managed-database-instance"},"#"),t(" 3. Create a Managed Database instance")],-1),v=e("p",null,[t("The exact size and need for a replica depends on your usage and project requirements. We recommend using the latest version of Postgres. DigitalOcean\u2019s MySQL offering isn\u2019t supported at this time. Please see "),e("a",{href:"https://github.com/knex/knex/issues/4141",target:"_blank",rel:"noopener noreferrer"},"https://github.com/knex/knex/issues/4141"),t(" for more information.")],-1),y=e("h2",{id:"4.-create-a-new-app-using-your-previously-created-repo",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#4.-create-a-new-app-using-your-previously-created-repo"},"#"),t(" 4. Create a new App using your previously created repo")],-1),w=e("p",null,"Make sure to select the database you created in step 2 during the configuration wizard.",-1),x=e("h2",{id:"5.-setup-the-build-step",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#5.-setup-the-build-step"},"#"),t(" 5. Setup the build-step")],-1),D=t("While Directus itself doesn\u2019t have to be built from source in order to use it on App Platform, we do recommend adding "),S=e("code",null,"npx directus bootstrap",-1),k=t(" as the \u201Cbuild\u201D step for DigitalOcean. This will automatically provision the database if it\u2019s empty, and migrate it to the latest version in case of upgrades. See "),C=t("Command Line Interface"),O=t(" for more information."),T=e("h2",{id:"6.-configure-the-environment-variables",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#6.-configure-the-environment-variables"},"#"),t(" 6. Configure the environment variables")],-1),A=t("See "),E=t("Environment Variables"),B=t(" for all available environment variables."),L=e("p",null,"DigitalOcean requires you to use SSL connections to managed databases. DigitalOcean provides a bunch of aliases to often used database properties that can be injected when the database is a component of your app. To enable SSL connections, set the following environment variables:",-1),P=e("pre",null,[e("code",null,`DB_SSL__REJECT_UNAUTHORIZED=true
1
+ import{a as i,o as d,b as l,w as a,l as e,e as n,E as t}from"./runtime-core.esm-bundler.32cac88a.js";const u={class:"markdown-body"},h=e("h2",{id:"1.-setup-a-repo-on-github",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#1.-setup-a-repo-on-github"},"#"),t(" 1. Setup a repo on GitHub")],-1),p=t("See the doc on "),_=t("installing Directus manually"),f=t(" to learn how to configure this repo."),m=e("h2",{id:"2.-sign-up-for-a-digitalocean-account",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#2.-sign-up-for-a-digitalocean-account"},"#"),t(" 2. Sign up for a DigitalOcean account")],-1),g=e("p",null,[t("Create your DigitalOcean account \u2014 "),e("a",{href:"https://m.do.co/c/4c0b6062c16e",target:"_blank",rel:"noopener noreferrer"},"get $100 of free credit"),t(" by using our referral link.")],-1),b=e("h2",{id:"3.-create-a-managed-database-instance",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#3.-create-a-managed-database-instance"},"#"),t(" 3. Create a Managed Database instance")],-1),v=e("p",null,[t("The exact size and need for a replica depends on your usage and project requirements. We recommend using the latest version of Postgres. DigitalOcean\u2019s MySQL offering isn\u2019t supported at this time. Please see "),e("a",{href:"https://github.com/knex/knex/issues/4141",target:"_blank",rel:"noopener noreferrer"},"https://github.com/knex/knex/issues/4141"),t(" for more information.")],-1),y=e("h2",{id:"4.-create-a-new-app-using-your-previously-created-repo",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#4.-create-a-new-app-using-your-previously-created-repo"},"#"),t(" 4. Create a new App using your previously created repo")],-1),w=e("p",null,"Make sure to select the database you created in step 2 during the configuration wizard.",-1),x=e("h2",{id:"5.-setup-the-build-step",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#5.-setup-the-build-step"},"#"),t(" 5. Setup the build-step")],-1),D=t("While Directus itself doesn\u2019t have to be built from source in order to use it on App Platform, we do recommend adding "),S=e("code",null,"npx directus bootstrap",-1),k=t(" as the \u201Cbuild\u201D step for DigitalOcean. This will automatically provision the database if it\u2019s empty, and migrate it to the latest version in case of upgrades. See "),C=t("Command Line Interface"),O=t(" for more information."),T=e("h2",{id:"6.-configure-the-environment-variables",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#6.-configure-the-environment-variables"},"#"),t(" 6. Configure the environment variables")],-1),E=t("See "),A=t("Environment Variables"),L=t(" for all available environment variables."),B=e("p",null,"DigitalOcean requires you to use SSL connections to managed databases. DigitalOcean provides a bunch of aliases to often used database properties that can be injected when the database is a component of your app. To enable SSL connections, set the following environment variables:",-1),P=e("pre",null,[e("code",null,`DB_SSL__REJECT_UNAUTHORIZED=true
2
2
  DB_SSL__CA=\${my-database-component-name.CA_CERT}
3
- `)],-1),H=e("div",{class:"warning hint"},[e("p",null,[t("Make sure to replace "),e("code",null,"my-database-component-name"),t(" with your actual database component name in the above env vars")])],-1),j="DigitalOcean App Platform",q=!1,z="How to host Directus on Digital Ocean.",I="2 min read",U={name:"digitalocean-app-platform",setup(M,{expose:r}){const s={title:"DigitalOcean App Platform",modularExtension:!1,description:"How to host Directus on Digital Ocean.",readTime:"2 min read"};return r({frontmatter:s}),(N,V)=>{const o=i("router-link"),c=i("docs-wrapper");return d(),l(c,{frontmatter:s},{default:a(()=>[e("div",u,[h,e("p",null,[p,n(o,{to:"/docs/self-hosted/installation/manual"},{default:a(()=>[_]),_:1}),f]),m,g,b,v,y,w,x,e("p",null,[D,S,k,n(o,{to:"/docs/self-hosted/installation/cli"},{default:a(()=>[C]),_:1}),O]),T,e("p",null,[A,n(o,{to:"/docs/self-hosted/config-options#general"},{default:a(()=>[E]),_:1}),B]),L,P,H])]),_:1})}}};export{U as default,z as description,q as modularExtension,I as readTime,j as title};
3
+ `)],-1),H=e("div",{class:"warning hint"},[e("p",null,[t("Make sure to replace "),e("code",null,"my-database-component-name"),t(" with your actual database component name in the above env vars")])],-1),j="DigitalOcean App Platform",q=!1,z="How to host Directus on Digital Ocean.",I="2 min read",U={name:"digitalocean-app-platform",setup(M,{expose:r}){const s={title:"DigitalOcean App Platform",modularExtension:!1,description:"How to host Directus on Digital Ocean.",readTime:"2 min read"};return r({frontmatter:s}),(N,V)=>{const o=i("router-link"),c=i("docs-wrapper");return d(),l(c,{frontmatter:s},{default:a(()=>[e("div",u,[h,e("p",null,[p,n(o,{to:"/docs/self-hosted/installation/manual"},{default:a(()=>[_]),_:1}),f]),m,g,b,v,y,w,x,e("p",null,[D,S,k,n(o,{to:"/docs/self-hosted/installation/cli"},{default:a(()=>[C]),_:1}),O]),T,e("p",null,[E,n(o,{to:"/docs/self-hosted/config-options#general"},{default:a(()=>[A]),_:1}),L]),B,P,H])]),_:1})}}};export{U as default,z as description,q as modularExtension,I as readTime,j as title};