drizzle-cube 0.5.3 → 0.5.5

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 (202) hide show
  1. package/dist/adapters/express/index.cjs +2 -2
  2. package/dist/adapters/express/index.js +105 -104
  3. package/dist/adapters/fastify/index.cjs +2 -2
  4. package/dist/adapters/fastify/index.js +107 -106
  5. package/dist/adapters/{google-CBfBGU4F.js → google-CT4kgmBf.js} +1 -1
  6. package/dist/adapters/{google-BOAwi9Ib.cjs → google-Dgo9-Kb5.cjs} +1 -1
  7. package/dist/adapters/{handler-Cqf-CqAS.cjs → handler-C1Qs8JMY.cjs} +13 -13
  8. package/dist/adapters/{handler-BC3nFNxV.js → handler-CoaNnZyf.js} +154 -34
  9. package/dist/adapters/hono/index.cjs +1 -1
  10. package/dist/adapters/hono/index.js +99 -98
  11. package/dist/adapters/{locale-BoiA6WiV.cjs → locale-CTuvUGBs.cjs} +7 -7
  12. package/dist/adapters/{locale-D9VQkLXt.js → locale-wMBdZ3Ks.js} +1 -1
  13. package/dist/adapters/mcp-tools.cjs +1 -1
  14. package/dist/adapters/mcp-tools.js +8 -3
  15. package/dist/adapters/mcp-transport-B_HoB1HQ.js +579 -0
  16. package/dist/adapters/mcp-transport-bQzyrBPI.cjs +40 -0
  17. package/dist/adapters/mcp-transport.d.ts +22 -0
  18. package/dist/adapters/nextjs/index.cjs +1 -1
  19. package/dist/adapters/nextjs/index.js +136 -135
  20. package/dist/adapters/{openai-B4N3KfTG.cjs → openai-BjLV_Wjx.cjs} +1 -1
  21. package/dist/adapters/{openai-BWdm0JvG.js → openai-DQawCWQb.js} +1 -1
  22. package/dist/adapters/utils-CIRA5_JO.cjs +128 -0
  23. package/dist/adapters/{utils-CTYvfZ3I.js → utils-hC7Z8V39.js} +1114 -664
  24. package/dist/adapters/utils.cjs +1 -1
  25. package/dist/adapters/utils.d.ts +52 -5
  26. package/dist/adapters/utils.js +1 -1
  27. package/dist/client/charts/chartConfigs.d.ts +34 -0
  28. package/dist/client/charts.js +12 -12
  29. package/dist/client/chunks/{DashboardEditModal-IU_0dgfC.js → DashboardEditModal-DayTXEH0.js} +10 -10
  30. package/dist/client/chunks/{DashboardEditModal-IU_0dgfC.js.map → DashboardEditModal-DayTXEH0.js.map} +1 -1
  31. package/dist/client/chunks/{FieldSearchModal-BCWanpPX.js → FieldSearchModal-B7Mr8UNT.js} +4 -4
  32. package/dist/client/chunks/{FieldSearchModal-BCWanpPX.js.map → FieldSearchModal-B7Mr8UNT.js.map} +1 -1
  33. package/dist/client/chunks/KpiDelta-C-hZ1x01.js +2 -0
  34. package/dist/client/chunks/KpiNumber-Beo8CK0a.js +2 -0
  35. package/dist/client/chunks/KpiText-ytYiRTRO.js +2 -0
  36. package/dist/client/chunks/{RetentionCombinedChart-CQMBODsK.js → RetentionCombinedChart-D3dRmoos.js} +3 -3
  37. package/dist/client/chunks/{RetentionCombinedChart-CQMBODsK.js.map → RetentionCombinedChart-D3dRmoos.js.map} +1 -1
  38. package/dist/client/chunks/{RetentionHeatmap-B_5sewwi.js → RetentionHeatmap-DHPnn0qH.js} +2 -2
  39. package/dist/client/chunks/{RetentionHeatmap-B_5sewwi.js.map → RetentionHeatmap-DHPnn0qH.js.map} +1 -1
  40. package/dist/client/chunks/SchemaVisualization-DbYZBTyi.js +2 -0
  41. package/dist/client/chunks/SchemaVisualizationLazy-BGo-1S3q.js +2 -0
  42. package/dist/client/chunks/{af-ZA-xDmO5F0s.js → af-ZA-BtTNqvHF.js} +8 -3
  43. package/dist/client/chunks/af-ZA-BtTNqvHF.js.map +1 -0
  44. package/dist/client/chunks/{analysis-builder-Dm6eD_AX.js → analysis-builder-lcGl099d.js} +245 -255
  45. package/dist/client/chunks/analysis-builder-lcGl099d.js.map +1 -0
  46. package/dist/client/chunks/{analysis-builder-shared-DT5bXwCA.js → analysis-builder-shared-6BRZcEnu.js} +391 -459
  47. package/dist/client/chunks/analysis-builder-shared-6BRZcEnu.js.map +1 -0
  48. package/dist/client/chunks/{chart-activity-grid-CWT0gLv4.js → chart-activity-grid-BnY-jaoa.js} +26 -6
  49. package/dist/client/chunks/chart-activity-grid-BnY-jaoa.js.map +1 -0
  50. package/dist/client/chunks/{chart-area-DDti9Qtp.js → chart-area-G3OvLLK4.js} +2 -2
  51. package/dist/client/chunks/{chart-area-DDti9Qtp.js.map → chart-area-G3OvLLK4.js.map} +1 -1
  52. package/dist/client/chunks/{chart-bar-B3s9qDlh.js → chart-bar-MLIWiLrc.js} +3 -3
  53. package/dist/client/chunks/{chart-bar-B3s9qDlh.js.map → chart-bar-MLIWiLrc.js.map} +1 -1
  54. package/dist/client/chunks/{chart-box-plot-o-h9MRX5.js → chart-box-plot-c2XqKTWq.js} +2 -2
  55. package/dist/client/chunks/{chart-box-plot-o-h9MRX5.js.map → chart-box-plot-c2XqKTWq.js.map} +1 -1
  56. package/dist/client/chunks/{chart-bubble-CMDp4Pfm.js → chart-bubble-CAGvnYb1.js} +2 -2
  57. package/dist/client/chunks/{chart-bubble-CMDp4Pfm.js.map → chart-bubble-CAGvnYb1.js.map} +1 -1
  58. package/dist/client/chunks/{chart-candlestick-WyANJ0Ky.js → chart-candlestick-oSPk-KQp.js} +2 -2
  59. package/dist/client/chunks/{chart-candlestick-WyANJ0Ky.js.map → chart-candlestick-oSPk-KQp.js.map} +1 -1
  60. package/dist/client/chunks/{chart-config-activity-grid-C-EkgYoa.js → chart-config-activity-grid-Dssynumw.js} +8 -1
  61. package/dist/client/chunks/chart-config-activity-grid-Dssynumw.js.map +1 -0
  62. package/dist/client/chunks/{chart-config-area-CMZpbIah.js → chart-config-area-40fbx2Ah.js} +8 -1
  63. package/dist/client/chunks/chart-config-area-40fbx2Ah.js.map +1 -0
  64. package/dist/client/chunks/{chart-config-bar-B8_V4YLg.js → chart-config-bar-CUWHwOPN.js} +8 -1
  65. package/dist/client/chunks/chart-config-bar-CUWHwOPN.js.map +1 -0
  66. package/dist/client/chunks/{chart-config-box-plot-Dwj7sEbU.js → chart-config-box-plot-D3Y0ien3.js} +8 -1
  67. package/dist/client/chunks/chart-config-box-plot-D3Y0ien3.js.map +1 -0
  68. package/dist/client/chunks/{chart-config-bubble-B0w0ZVp4.js → chart-config-bubble-BXSTKLn-.js} +8 -1
  69. package/dist/client/chunks/chart-config-bubble-BXSTKLn-.js.map +1 -0
  70. package/dist/client/chunks/{chart-config-candlestick-Bvo3zeIn.js → chart-config-candlestick-DEuD2Av0.js} +8 -1
  71. package/dist/client/chunks/chart-config-candlestick-DEuD2Av0.js.map +1 -0
  72. package/dist/client/chunks/{chart-config-gauge-C5ZiyZy7.js → chart-config-gauge-CCva3FfA.js} +5 -1
  73. package/dist/client/chunks/chart-config-gauge-CCva3FfA.js.map +1 -0
  74. package/dist/client/chunks/{chart-config-heat-map-Cv8qNnVP.js → chart-config-heat-map-Db4Z8UUn.js} +8 -1
  75. package/dist/client/chunks/chart-config-heat-map-Db4Z8UUn.js.map +1 -0
  76. package/dist/client/chunks/{chart-config-kpi-delta-BraHQc2E.js → chart-config-kpi-delta-BfLf3iyi.js} +8 -1
  77. package/dist/client/chunks/chart-config-kpi-delta-BfLf3iyi.js.map +1 -0
  78. package/dist/client/chunks/{chart-config-kpi-number-CeCkx7mC.js → chart-config-kpi-number-DWKFc9PX.js} +5 -1
  79. package/dist/client/chunks/chart-config-kpi-number-DWKFc9PX.js.map +1 -0
  80. package/dist/client/chunks/{chart-config-kpi-text-CImM3SvH.js → chart-config-kpi-text-Dr4OG6cY.js} +5 -1
  81. package/dist/client/chunks/chart-config-kpi-text-Dr4OG6cY.js.map +1 -0
  82. package/dist/client/chunks/{chart-config-line-BVKapAQK.js → chart-config-line-DGYYdDw9.js} +8 -1
  83. package/dist/client/chunks/chart-config-line-DGYYdDw9.js.map +1 -0
  84. package/dist/client/chunks/{chart-config-measure-profile-KTVV1gO3.js → chart-config-measure-profile-sB3n_Azv.js} +5 -1
  85. package/dist/client/chunks/chart-config-measure-profile-sB3n_Azv.js.map +1 -0
  86. package/dist/client/chunks/{chart-config-pie-BZxVl25X.js → chart-config-pie-kte7OXa9.js} +8 -1
  87. package/dist/client/chunks/chart-config-pie-kte7OXa9.js.map +1 -0
  88. package/dist/client/chunks/{chart-config-radar-B7FByX3t.js → chart-config-radar-C9IxP5tc.js} +8 -1
  89. package/dist/client/chunks/chart-config-radar-C9IxP5tc.js.map +1 -0
  90. package/dist/client/chunks/{chart-config-radial-bar-UfW_3yyX.js → chart-config-radial-bar-C3WJ8Uhm.js} +8 -1
  91. package/dist/client/chunks/chart-config-radial-bar-C3WJ8Uhm.js.map +1 -0
  92. package/dist/client/chunks/{chart-config-scatter-BVVJuOnt.js → chart-config-scatter-BVN_29G5.js} +8 -1
  93. package/dist/client/chunks/chart-config-scatter-BVN_29G5.js.map +1 -0
  94. package/dist/client/chunks/{chart-config-tree-map-IHp97OyV.js → chart-config-tree-map-meeJEDi8.js} +8 -1
  95. package/dist/client/chunks/chart-config-tree-map-meeJEDi8.js.map +1 -0
  96. package/dist/client/chunks/{chart-config-waterfall-BdqG1V-x.js → chart-config-waterfall-CaPeWZMl.js} +8 -1
  97. package/dist/client/chunks/chart-config-waterfall-CaPeWZMl.js.map +1 -0
  98. package/dist/client/chunks/{chart-data-table-Qrt6EAno.js → chart-data-table-BRXHT2H-.js} +68 -68
  99. package/dist/client/chunks/chart-data-table-BRXHT2H-.js.map +1 -0
  100. package/dist/client/chunks/{chart-funnel-C7pgktN5.js → chart-funnel-aQ7G_CqU.js} +2 -2
  101. package/dist/client/chunks/{chart-funnel-C7pgktN5.js.map → chart-funnel-aQ7G_CqU.js.map} +1 -1
  102. package/dist/client/chunks/{chart-gauge-D2r2B_AR.js → chart-gauge-DqbDKr9E.js} +2 -2
  103. package/dist/client/chunks/{chart-gauge-D2r2B_AR.js.map → chart-gauge-DqbDKr9E.js.map} +1 -1
  104. package/dist/client/chunks/{chart-heat-map-Dw2yjwfO.js → chart-heat-map--6QnhUM8.js} +2 -2
  105. package/dist/client/chunks/{chart-heat-map-Dw2yjwfO.js.map → chart-heat-map--6QnhUM8.js.map} +1 -1
  106. package/dist/client/chunks/{chart-kpi-delta-CgldZ7zO.js → chart-kpi-delta-DOSpRjfs.js} +3 -3
  107. package/dist/client/chunks/{chart-kpi-delta-CgldZ7zO.js.map → chart-kpi-delta-DOSpRjfs.js.map} +1 -1
  108. package/dist/client/chunks/{chart-kpi-number-ByfuX1ki.js → chart-kpi-number-BcMjeKm8.js} +5 -5
  109. package/dist/client/chunks/{chart-kpi-number-ByfuX1ki.js.map → chart-kpi-number-BcMjeKm8.js.map} +1 -1
  110. package/dist/client/chunks/{chart-kpi-text-DeNuDraJ.js → chart-kpi-text-BI9isc2i.js} +3 -3
  111. package/dist/client/chunks/{chart-kpi-text-DeNuDraJ.js.map → chart-kpi-text-BI9isc2i.js.map} +1 -1
  112. package/dist/client/chunks/{chart-line-RdZwtk27.js → chart-line-C0IHQteu.js} +3 -3
  113. package/dist/client/chunks/{chart-line-RdZwtk27.js.map → chart-line-C0IHQteu.js.map} +1 -1
  114. package/dist/client/chunks/{chart-markdown-CiGRZdJj.js → chart-markdown-BmgSMqPg.js} +2 -2
  115. package/dist/client/chunks/{chart-markdown-CiGRZdJj.js.map → chart-markdown-BmgSMqPg.js.map} +1 -1
  116. package/dist/client/chunks/{chart-measure-profile-Ckjw9bX6.js → chart-measure-profile-DEyLW1fd.js} +3 -3
  117. package/dist/client/chunks/{chart-measure-profile-Ckjw9bX6.js.map → chart-measure-profile-DEyLW1fd.js.map} +1 -1
  118. package/dist/client/chunks/{chart-pie-BvY4FY__.js → chart-pie-DSIekr7p.js} +3 -3
  119. package/dist/client/chunks/{chart-pie-BvY4FY__.js.map → chart-pie-DSIekr7p.js.map} +1 -1
  120. package/dist/client/chunks/{chart-radar-DjiiEAmc.js → chart-radar-SGl62hK8.js} +3 -3
  121. package/dist/client/chunks/{chart-radar-DjiiEAmc.js.map → chart-radar-SGl62hK8.js.map} +1 -1
  122. package/dist/client/chunks/{chart-radial-bar-lla_JEYu.js → chart-radial-bar-C42EykOa.js} +3 -3
  123. package/dist/client/chunks/{chart-radial-bar-lla_JEYu.js.map → chart-radial-bar-C42EykOa.js.map} +1 -1
  124. package/dist/client/chunks/{chart-sankey-WwkZAhLy.js → chart-sankey-DguImp0W.js} +2 -2
  125. package/dist/client/chunks/{chart-sankey-WwkZAhLy.js.map → chart-sankey-DguImp0W.js.map} +1 -1
  126. package/dist/client/chunks/{chart-scatter-DwXnI0rr.js → chart-scatter-Doeox4OP.js} +3 -3
  127. package/dist/client/chunks/{chart-scatter-DwXnI0rr.js.map → chart-scatter-Doeox4OP.js.map} +1 -1
  128. package/dist/client/chunks/{chart-sunburst-CIDB_pTl.js → chart-sunburst-F3tgCpL-.js} +3 -3
  129. package/dist/client/chunks/{chart-sunburst-CIDB_pTl.js.map → chart-sunburst-F3tgCpL-.js.map} +1 -1
  130. package/dist/client/chunks/{chart-tree-map-DJHoA26f.js → chart-tree-map-DvuSCIc8.js} +3 -3
  131. package/dist/client/chunks/{chart-tree-map-DJHoA26f.js.map → chart-tree-map-DvuSCIc8.js.map} +1 -1
  132. package/dist/client/chunks/{chart-waterfall-Y7c8csO5.js → chart-waterfall-Be5duXlO.js} +3 -3
  133. package/dist/client/chunks/{chart-waterfall-Y7c8csO5.js.map → chart-waterfall-Be5duXlO.js.map} +1 -1
  134. package/dist/client/chunks/{charts-core-BXOqaYFn.js → charts-core-XlOwoP_r.js} +2 -2
  135. package/dist/client/chunks/{charts-core-BXOqaYFn.js.map → charts-core-XlOwoP_r.js.map} +1 -1
  136. package/dist/client/chunks/{nl-NL-vCifBijs.js → nl-NL-BLDeSy_P.js} +24 -4
  137. package/dist/client/chunks/nl-NL-BLDeSy_P.js.map +1 -0
  138. package/dist/client/chunks/{schema-visualization-DWwJukK7.js → schema-visualization-CM5ikSWB.js} +4 -4
  139. package/dist/client/chunks/{schema-visualization-DWwJukK7.js.map → schema-visualization-CM5ikSWB.js.map} +1 -1
  140. package/dist/client/chunks/{useDebounce-DyJVREop.js → useDebounce-NEZQbfxN.js} +4 -4
  141. package/dist/client/chunks/{useDebounce-DyJVREop.js.map → useDebounce-NEZQbfxN.js.map} +1 -1
  142. package/dist/client/chunks/{useExplainAI-CxSkjocM.js → useExplainAI-DivfI0dW.js} +4 -4
  143. package/dist/client/chunks/{useExplainAI-CxSkjocM.js.map → useExplainAI-DivfI0dW.js.map} +1 -1
  144. package/dist/client/chunks/{utils-BHZdKxua.js → utils-Ctl_cVNR.js} +2 -2
  145. package/dist/client/chunks/{utils-BHZdKxua.js.map → utils-Ctl_cVNR.js.map} +1 -1
  146. package/dist/client/chunks/{vendor-CBD_Olr0.js → vendor-BcLQ6iVZ.js} +2 -2
  147. package/dist/client/chunks/{vendor-CBD_Olr0.js.map → vendor-BcLQ6iVZ.js.map} +1 -1
  148. package/dist/client/components/AnalysisBuilder/types.d.ts +2 -2
  149. package/dist/client/components.js +3 -3
  150. package/dist/client/hooks.js +3 -3
  151. package/dist/client/icons.js +1 -1
  152. package/dist/client/index.js +14 -14
  153. package/dist/client/providers.js +1 -1
  154. package/dist/client/schema.js +1 -1
  155. package/dist/client/shared/chartDefaults.d.ts +5 -10
  156. package/dist/client/utils.js +5 -5
  157. package/dist/client-bundle-stats.html +1 -1
  158. package/dist/mcp-app/mcp-app.html +24 -24
  159. package/dist/server/index.cjs +135 -134
  160. package/dist/server/index.js +1128 -948
  161. package/package.json +2 -2
  162. package/dist/adapters/mcp-prompts-BUFyQLHQ.js +0 -377
  163. package/dist/adapters/mcp-prompts-B_NvEJT_.cjs +0 -111
  164. package/dist/adapters/mcp-transport-B0mgxRnJ.js +0 -579
  165. package/dist/adapters/mcp-transport-irsahKmD.cjs +0 -39
  166. package/dist/adapters/utils-XPOzzMdY.cjs +0 -17
  167. package/dist/client/chunks/KpiDelta-_igN6cJa.js +0 -2
  168. package/dist/client/chunks/KpiNumber-t5n8PtRU.js +0 -2
  169. package/dist/client/chunks/KpiText-BCZJJ6a0.js +0 -2
  170. package/dist/client/chunks/SchemaVisualization-BUUhlOvG.js +0 -2
  171. package/dist/client/chunks/SchemaVisualizationLazy-CwaPCUL0.js +0 -2
  172. package/dist/client/chunks/af-ZA-xDmO5F0s.js.map +0 -1
  173. package/dist/client/chunks/analysis-builder-Dm6eD_AX.js.map +0 -1
  174. package/dist/client/chunks/analysis-builder-shared-DT5bXwCA.js.map +0 -1
  175. package/dist/client/chunks/chart-activity-grid-CWT0gLv4.js.map +0 -1
  176. package/dist/client/chunks/chart-config-activity-grid-C-EkgYoa.js.map +0 -1
  177. package/dist/client/chunks/chart-config-area-CMZpbIah.js.map +0 -1
  178. package/dist/client/chunks/chart-config-bar-B8_V4YLg.js.map +0 -1
  179. package/dist/client/chunks/chart-config-box-plot-Dwj7sEbU.js.map +0 -1
  180. package/dist/client/chunks/chart-config-bubble-B0w0ZVp4.js.map +0 -1
  181. package/dist/client/chunks/chart-config-candlestick-Bvo3zeIn.js.map +0 -1
  182. package/dist/client/chunks/chart-config-gauge-C5ZiyZy7.js.map +0 -1
  183. package/dist/client/chunks/chart-config-heat-map-Cv8qNnVP.js.map +0 -1
  184. package/dist/client/chunks/chart-config-kpi-delta-BraHQc2E.js.map +0 -1
  185. package/dist/client/chunks/chart-config-kpi-number-CeCkx7mC.js.map +0 -1
  186. package/dist/client/chunks/chart-config-kpi-text-CImM3SvH.js.map +0 -1
  187. package/dist/client/chunks/chart-config-line-BVKapAQK.js.map +0 -1
  188. package/dist/client/chunks/chart-config-measure-profile-KTVV1gO3.js.map +0 -1
  189. package/dist/client/chunks/chart-config-pie-BZxVl25X.js.map +0 -1
  190. package/dist/client/chunks/chart-config-radar-B7FByX3t.js.map +0 -1
  191. package/dist/client/chunks/chart-config-radial-bar-UfW_3yyX.js.map +0 -1
  192. package/dist/client/chunks/chart-config-scatter-BVVJuOnt.js.map +0 -1
  193. package/dist/client/chunks/chart-config-tree-map-IHp97OyV.js.map +0 -1
  194. package/dist/client/chunks/chart-config-waterfall-BdqG1V-x.js.map +0 -1
  195. package/dist/client/chunks/chart-data-table-Qrt6EAno.js.map +0 -1
  196. package/dist/client/chunks/nl-NL-vCifBijs.js.map +0 -1
  197. /package/dist/adapters/{anthropic-Cto4Jxqt.cjs → anthropic-BIva8k1r.cjs} +0 -0
  198. /package/dist/adapters/{anthropic-DpEbCVvF.js → anthropic-B_rg0BhK.js} +0 -0
  199. /package/dist/adapters/{dist-BnyV9wfA.cjs → dist-Boc63-1q.cjs} +0 -0
  200. /package/dist/adapters/{dist-DjVh2RFz.js → dist-De5fzUEM.js} +0 -0
  201. /package/dist/adapters/{openai-CoqT_FM5.cjs → openai-Bgri5TJc.cjs} +0 -0
  202. /package/dist/adapters/{openai-D0Nsvc9L.js → openai-CuUGrKaK.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nl-NL-BLDeSy_P.js","names":[],"sources":["../../../src/i18n/locales/nl-NL.json"],"sourcesContent":["{\n \"analysis.modes.query.label\": \"Zoekopdracht\",\n \"analysis.modes.query.description\": \"Standard analyse (enkele of meerdere-query)\",\n \"analysis.modes.funnel.label\": \"Trechter\",\n \"analysis.modes.funnel.description\": \"Sequential conversion analyse\",\n \"analysis.modes.flow.label\": \"Stroom\",\n \"analysis.modes.flow.description\": \"Bidirectional pad analyse met Sankey visualisatie\",\n \"analysis.modes.retention.label\": \"Retentie\",\n \"analysis.modes.retention.description\": \"Cohortgebaseerde retentieanalyse over tijdsperioden\",\n \"analysis.ai.title\": \"AI-querygenerator\",\n \"analysis.ai.generating\": \"Genereren...\",\n \"analysis.ai.placeholder\": \"Beschrijf je query in natuurlijke taal... (bijv. 'Toon totale verkoop per maand voor het afgelopen jaar')\",\n \"analysis.ai.shortcutHint\": \"Druk op Enter om te genereren, Shift+Enter voor een nieuwe regel\",\n \"analysis.ai.successMessage\": \"Query gegenereerd en geladen! Controleer de resultaten hieronder en klik op Accepteren om te behouden of Annuleren om terug te draaien.\",\n \"analysis.ai.button.accept\": \"Accepteren\",\n \"analysis.ai.button.cancel\": \"Annuleren\",\n \"analysis.ai.button.close\": \"Sluiten\",\n \"analysis.ai.button.generate\": \"Genereren\",\n \"analysis.ai.button.generating\": \"Genereren...\",\n \"analysis.sections.metrics\": \"Metrieken\",\n \"analysis.sections.breakdown\": \"Opsplitsing\",\n \"analysis.sections.dimensions\": \"Dimensies\",\n \"analysis.sections.filters\": \"Filter\",\n \"analysis.sections.limit\": \"Limiet\",\n \"analysis.tabs.query\": \"Zoekopdracht\",\n \"analysis.tabs.chart\": \"Grafiek\",\n \"analysis.tabs.chartTitle\": \"Grafiek configuratie\",\n \"analysis.tabs.display\": \"Weergave\",\n \"analysis.tabs.displayTitle\": \"Weergave options\",\n \"analysis.multiQuery.removeQuery\": \"Verwijderen query\",\n \"analysis.multiQuery.addQuery\": \"Voeg new query\",\n \"analysis.multiQuery.addAnother\": \"Voeg another query\",\n \"analysis.multiQuery.mergeExplanation\": \"In samenvoegen modus, dimensies zijn shared van Q1.\",\n \"analysis.multiQuery.switchToSeparate\": \"Schakel naar aparte reeksen\",\n \"analysis.mergeStrategy.concat\": \"Apart reeksen\",\n \"analysis.mergeStrategy.merge\": \"Samenvoegen op dimensie\",\n \"analysis.mergeStrategy.funnel\": \"Trechter\",\n \"analysis.placeholders.addMetrics\": \"Voeg metingen toe om SQL te genereren\",\n \"analysis.placeholders.hoverField\": \"Beweeg over een veld om details te zien\",\n \"analysis.placeholders.noData\": \"Geen gegevens beschikbaar\",\n \"common.actions.accept\": \"Accepteren\",\n \"common.actions.cancel\": \"Annuleren\",\n \"common.actions.delete\": \"Verwijderen\",\n \"common.actions.close\": \"Sluiten\",\n \"common.actions.edit\": \"Bewerken\",\n \"common.actions.save\": \"Opslaan\",\n \"common.actions.copy\": \"Kopiëren\",\n \"common.actions.duplicate\": \"Dupliceren\",\n \"common.actions.refresh\": \"Vernieuwen\",\n \"common.actions.confirm\": \"Bevestigen\",\n \"common.actions.add\": \"Voeg\",\n \"common.actions.clear\": \"Wissen\",\n \"common.actions.select\": \"Selecteer\",\n \"common.actions.navigate\": \"Navigeer\",\n \"common.actions.share\": \"Delen\",\n \"common.loading\": \"Laden...\",\n \"common.modal.processing\": \"Verwerken...\",\n \"common.modal.dashboardName\": \"Dashboard Naam\",\n \"common.modal.deleteConfirmation\": \"Weet je het zeker? Deze actie kan niet ongedaan worden gemaakt.\",\n \"common.sorting.ascending\": \"Oplopend gesorteerd (klik voor aflopend)\",\n \"common.sorting.descending\": \"Aflopend gesorteerd (klik om te verwijderen)\",\n \"common.sorting.none\": \"Klik om oplopend te sorteren\",\n \"fieldTypes.count\": \"Aantal\",\n \"fieldTypes.countDistinct\": \"Aantal Distinct\",\n \"fieldTypes.countDistinctApprox\": \"Aantal Distinct (Approx)\",\n \"fieldTypes.sum\": \"Som\",\n \"fieldTypes.avg\": \"Gemiddelde\",\n \"fieldTypes.min\": \"Minimum\",\n \"fieldTypes.max\": \"Maximum\",\n \"fieldTypes.runningTotal\": \"Uitvoeren Totaal\",\n \"fieldTypes.number\": \"Nummer\",\n \"fieldTypes.string\": \"Tekst\",\n \"fieldTypes.boolean\": \"Boolean\",\n \"fieldTypes.time\": \"Tijd Dimensie\",\n \"fieldTypes.geo\": \"Geografisch\",\n \"fieldTypes.dimension\": \"Dimensie\",\n \"fieldPanel.emptyState\": \"Beweeg over een veld om details te zien\",\n \"fieldPanel.usageHint\": \"Druk op Enter of klik om dit veld aan je query toe te voegen.\",\n \"fieldPanel.labels.type\": \"Type\",\n \"fieldPanel.labels.cube\": \"Cube\",\n \"fieldPanel.labels.category\": \"Categorie\",\n \"fieldCategory.measure\": \"Meting\",\n \"fieldCategory.timeDimension\": \"Tijd Dimensie\",\n \"fieldCategory.dimension\": \"Dimensie\",\n \"fieldSearch.placeholder.metrics\": \"Zoeken metingen...\",\n \"fieldSearch.placeholder.filter\": \"Zoeken velden naar filter...\",\n \"fieldSearch.placeholder.dimensions\": \"Zoeken dimensies...\",\n \"fieldSearch.modal.title.metrics\": \"Selecteer a Metric\",\n \"fieldSearch.modal.title.filter\": \"Selecteer a Veld naar Filter\",\n \"fieldSearch.modal.title.dimensions\": \"Selecteer a Dimensie\",\n \"fieldSearch.filter.allCubes\": \"Alle Cubes\",\n \"fieldSearch.categories.all\": \"Alle\",\n \"fieldSearch.empty.heading\": \"Geen velden gevonden\",\n \"fieldSearch.empty.noMatchMetrics\": \"Geen metingen match \\\"{searchTerm}\\\"\",\n \"fieldSearch.empty.noMatchDimensions\": \"Geen dimensies match \\\"{searchTerm}\\\"\",\n \"fieldSearch.empty.noMetrics\": \"Geen metingen beschikbaar\",\n \"fieldSearch.empty.noDimensions\": \"Geen dimensies beschikbaar\",\n \"fieldSearch.section.recents\": \"Recent\",\n \"fieldSearch.footer.metricsAvailable\": \"metrieken beschikbaar\",\n \"fieldSearch.footer.fieldsAvailable\": \"velden beschikbaar\",\n \"fieldSearch.footer.dimensionsAvailable\": \"dimensies beschikbaar\",\n \"fieldSearch.shortcut.navigate\": \"Navigeer\",\n \"fieldSearch.shortcut.keyEnter\": \"Enter\",\n \"fieldSearch.shortcut.keyShift\": \"Shift\",\n \"fieldSearch.shortcut.keyEsc\": \"Esc\",\n \"fieldSearch.shortcut.plusClick\": \"+Klik\",\n \"fieldSearch.shortcut.select\": \"Selecteer\",\n \"fieldSearch.shortcut.multiSelect\": \"Meerdere-selecteer\",\n \"fieldSearch.shortcut.close\": \"Sluiten\",\n \"filter.group.condition\": \"voorwaarde\",\n \"filter.group.conditions\": \"voorwaarden\",\n \"filter.group.addFilter\": \"Voeg Filter\",\n \"filter.group.addAndGroup\": \"Voeg EN Groep\",\n \"filter.group.addOrGroup\": \"Voeg OF Groep\",\n \"filter.group.removeGroup\": \"Verwijderen groep\",\n \"filter.group.empty\": \"Geen conditions in deze groep\",\n \"filter.group.addFilterLink\": \"Voeg a filter\",\n \"filter.modal.title\": \"Bewerken Filter\",\n \"filter.modal.fieldLabel\": \"Veld\",\n \"filter.modal.operatorLabel\": \"Operator\",\n \"filter.modal.valueLabel\": \"Waarde\",\n \"filter.modal.selectRange\": \"Selecteer range\",\n \"filter.modal.noValueRequired\": \"Geen waarde vereist\",\n \"filter.modal.dateTo\": \"naar\",\n \"filter.modal.min\": \"Min\",\n \"filter.modal.to\": \"naar\",\n \"filter.modal.max\": \"Max\",\n \"filter.modal.enterNumber\": \"Enter nummer\",\n \"filter.modal.loading\": \"Laden...\",\n \"filter.modal.selectValue\": \"Selecteer waarde...\",\n \"filter.modal.search\": \"Zoeken...\",\n \"filter.modal.errorPrefix\": \"Fout:\",\n \"filter.modal.noValues\": \"Geen waarden gevonden\",\n \"filter.modal.multiSelectHint\": \"Houd Shift ingedrukt om meerdere waarden te selecteren\",\n \"filter.modal.enterValue\": \"Enter waarde...\",\n \"filter.removeButton.title\": \"Verwijderen filter\",\n \"filter.section.clearAll\": \"Wissen alle\",\n \"filter.section.dropHint\": \"Sleep hierheen om filter toe te voegen\",\n \"filter.section.empty\": \"Geen filters toegepast\",\n \"filter.valueDisplay.empty\": \"(leeg)\",\n \"filter.valueDisplay.more\": \"meer\",\n \"filter.operator.equals.label\": \"gelijk aan\",\n \"filter.operator.equals.description\": \"Exacte overeenkomst\",\n \"filter.operator.notEquals.label\": \"niet gelijk aan\",\n \"filter.operator.notEquals.description\": \"Komt niet overeen\",\n \"filter.operator.contains.label\": \"bevat\",\n \"filter.operator.contains.description\": \"Bevat tekst (hoofdletterongevoelig)\",\n \"filter.operator.notContains.label\": \"niet bevat\",\n \"filter.operator.notContains.description\": \"Bevat geen tekst\",\n \"filter.operator.startsWith.label\": \"begint met\",\n \"filter.operator.startsWith.description\": \"Begint met tekst\",\n \"filter.operator.notStartsWith.label\": \"niet begint met\",\n \"filter.operator.notStartsWith.description\": \"Begint niet met tekst\",\n \"filter.operator.endsWith.label\": \"eindigt met\",\n \"filter.operator.endsWith.description\": \"Eindigt met tekst\",\n \"filter.operator.notEndsWith.label\": \"niet eindigt met\",\n \"filter.operator.notEndsWith.description\": \"Eindigt niet met tekst\",\n \"filter.operator.like.label\": \"like\",\n \"filter.operator.like.description\": \"SQL LIKE pattern overeenkomstige (hoofdletter gevoelig)\",\n \"filter.operator.notLike.label\": \"niet like\",\n \"filter.operator.notLike.description\": \"SQL NIET LIKE pattern overeenkomstige (hoofdletter gevoelig)\",\n \"filter.operator.ilike.label\": \"ilike\",\n \"filter.operator.ilike.description\": \"SQL ILIKE pattern overeenkomstige (hoofdletter ongevoelig)\",\n \"filter.operator.gt.label\": \"groter dan\",\n \"filter.operator.gt.description\": \"Groter dan waarde\",\n \"filter.operator.gte.label\": \"groter dan van gelijk\",\n \"filter.operator.gte.description\": \"Groter dan van gelijk naar waarde\",\n \"filter.operator.lt.label\": \"kleiner dan\",\n \"filter.operator.lt.description\": \"Kleiner dan waarde\",\n \"filter.operator.lte.label\": \"kleiner dan van gelijk\",\n \"filter.operator.lte.description\": \"Kleiner dan van gelijk naar waarde\",\n \"filter.operator.between.label\": \"tussen\",\n \"filter.operator.between.description\": \"Tussen twee waarden (inclusive)\",\n \"filter.operator.notBetween.label\": \"niet tussen\",\n \"filter.operator.notBetween.description\": \"Niet tussen twee waarden\",\n \"filter.operator.in.label\": \"in\",\n \"filter.operator.in.description\": \"Komt overeen elke van de opgegeven waarden\",\n \"filter.operator.notIn.label\": \"niet in\",\n \"filter.operator.notIn.description\": \"Komt niet overeen elke van de opgegeven waarden\",\n \"filter.operator.set.label\": \"is set\",\n \"filter.operator.set.description\": \"Is niet nul/leeg\",\n \"filter.operator.notSet.label\": \"is niet set\",\n \"filter.operator.notSet.description\": \"Is nul/leeg\",\n \"filter.operator.isEmpty.label\": \"is leeg\",\n \"filter.operator.isEmpty.description\": \"Is leeg tekenreeks van nul\",\n \"filter.operator.isNotEmpty.label\": \"is niet leeg\",\n \"filter.operator.isNotEmpty.description\": \"Is niet leeg tekenreeks en niet nul\",\n \"filter.operator.inDateRange.label\": \"in datum bereik\",\n \"filter.operator.inDateRange.description\": \"Tussen twee dates\",\n \"filter.operator.beforeDate.label\": \"voor datum\",\n \"filter.operator.beforeDate.description\": \"Voor opgegeven datum\",\n \"filter.operator.afterDate.label\": \"na datum\",\n \"filter.operator.afterDate.description\": \"Na opgegeven datum\",\n \"filter.operator.regex.label\": \"komt overeen regex\",\n \"filter.operator.regex.description\": \"Komt overeen reguliere expressie pattern\",\n \"filter.operator.notRegex.label\": \"niet komt overeen regex\",\n \"filter.operator.notRegex.description\": \"Komt niet overeen reguliere expressie pattern\",\n \"filter.operator.arrayContains.label\": \"array bevat alle\",\n \"filter.operator.arrayContains.description\": \"Array veld bevat alle opgegeven waarden (PostgreSQL alleen)\",\n \"filter.operator.arrayOverlaps.label\": \"array bevat elke\",\n \"filter.operator.arrayOverlaps.description\": \"Array veld bevat elke van de opgegeven waarden (PostgreSQL alleen)\",\n \"filter.operator.arrayContained.label\": \"array waarden in\",\n \"filter.operator.arrayContained.description\": \"Alle array veld waarden vallen binnen specified waarden (PostgreSQL only)\",\n \"dateRange.custom\": \"Aangepast\",\n \"dateRange.today\": \"Vandaag\",\n \"dateRange.yesterday\": \"Gisteren\",\n \"dateRange.thisWeek\": \"Deze week\",\n \"dateRange.thisMonth\": \"Deze maand\",\n \"dateRange.thisQuarter\": \"Deze quarter\",\n \"dateRange.thisYear\": \"Deze jaar\",\n \"dateRange.last7Days\": \"Laatste 7 days\",\n \"dateRange.last30Days\": \"Laatste 30 days\",\n \"dateRange.lastNDays\": \"Laatste N days\",\n \"dateRange.lastWeek\": \"Laatste week\",\n \"dateRange.lastNWeeks\": \"Laatste N weeks\",\n \"dateRange.lastMonth\": \"Laatste month\",\n \"dateRange.last12Months\": \"Laatste 12 months\",\n \"dateRange.lastNMonths\": \"Laatste N months\",\n \"dateRange.lastQuarter\": \"Laatste quarter\",\n \"dateRange.lastNQuarters\": \"Laatste N quarters\",\n \"dateRange.lastYear\": \"Laatste jaar\",\n \"dateRange.lastNYears\": \"Laatste N years\",\n \"timeGranularity.hour\": \"Uur\",\n \"timeGranularity.day\": \"Dag\",\n \"timeGranularity.week\": \"Week\",\n \"timeGranularity.month\": \"Maand\",\n \"timeGranularity.quarter\": \"Kwartaal\",\n \"timeGranularity.year\": \"Jaar\",\n \"query.limit.label\": \"Limiet\",\n \"query.limit.clear\": \"Wissen\",\n \"chart.bar.label\": \"Staaf Grafiek\",\n \"chart.bar.description\": \"Vergelijk waarden over categorieën\",\n \"chart.bar.useCase\": \"Beste voor het vergelijken van discrete categorieën, het tonen van ranglijsten of het weergeven van wijzigingen in de tijd\",\n \"chart.line.label\": \"Lijn Grafiek\",\n \"chart.line.description\": \"Toon trends en wijzigingen in de tijd\",\n \"chart.line.useCase\": \"Beste voor doorlopende gegevens, trends, time reeksen, en toont relationships tussen multiple reeksen\",\n \"chart.area.label\": \"Area Grafiek\",\n \"chart.area.description\": \"Benadruk de omvang van veranderingen in de tijd\",\n \"chart.area.useCase\": \"Beste voor het tonen van cumulatieve totalen, volumewijzigingen of gestapelde vergelijkingen in de tijd\",\n \"chart.pie.label\": \"Taart Grafiek\",\n \"chart.pie.description\": \"Toon proportions of a whole\",\n \"chart.pie.useCase\": \"Beste voor toont percentage distribution of composition of a totaal (limit naar 5-7 slices)\",\n \"chart.scatter.label\": \"Spreiding Plot\",\n \"chart.scatter.description\": \"Reveal correlations tussen variables\",\n \"chart.scatter.useCase\": \"Beste voor identifying patterns, correlations, outliers, en relationships tussen two metingen\",\n \"chart.bubble.label\": \"Bubble Grafiek\",\n \"chart.bubble.description\": \"Vergelijk three dimensies of gegevens\",\n \"chart.bubble.useCase\": \"Beste voor toont relationships tussen three variables (X, Y, en size), market analyse\",\n \"chart.radar.label\": \"Radar Grafiek\",\n \"chart.radar.description\": \"Vergelijk meerdere metingen over categorieën\",\n \"chart.radar.useCase\": \"Beste voor multivariate comparisons, prestatie metingen, strengths/weaknesses analyse\",\n \"chart.radialBar.label\": \"Radial Staaf Grafiek\",\n \"chart.radialBar.description\": \"Circular voortgang en KPI visualisatie\",\n \"chart.radialBar.useCase\": \"Beste voor toont voortgang toward doelen, KPIs, of comparing percentages in a compact form\",\n \"chart.treemap.label\": \"Boomkaart\",\n \"chart.treemap.description\": \"Visualise hierarchical gegevens met nested rectangles\",\n \"chart.treemap.useCase\": \"Beste voor toont part-naar-whole relationships in hierarchical gegevens, disk usage, budget allocation\",\n \"chart.table.label\": \"Gegevens Tabel\",\n \"chart.table.description\": \"Weergave gedetailleerde tabular gegevens\",\n \"chart.table.useCase\": \"Beste voor precise waarden, gedetailleerde analyse, sortable/filterable gegevens exploration\",\n \"chart.activityGrid.label\": \"Activiteit Raster\",\n \"chart.activityGrid.description\": \"GitHub-stijl activiteitenraster dat temporele patronen over verschillende tijdschalen toont\",\n \"chart.activityGrid.useCase\": \"Beste voor het visualiseren van activiteitspatronen in de tijd. Ondersteunt uur (3-uursblokken × dagen), dag (dagen × weken), week (weken × maanden), maand (maanden × kwartalen) en kwartaal (kwartalen × jaren) granulariteit\",\n \"chart.kpiNumber.label\": \"KPI Nummer\",\n \"chart.kpiNumber.description\": \"Weergave key prestatie indicators as large numbers\",\n \"chart.kpiNumber.useCase\": \"Perfect voor toont belangrijk metrieken like omzet, gebruiker aantal, van andere sleutel business metrieken in een prominent, easy-naar-read format\",\n \"chart.kpiDelta.label\": \"KPI-delta\",\n \"chart.kpiDelta.description\": \"Weergave change tussen latest en previous waarden met trend indicators\",\n \"chart.kpiDelta.useCase\": \"Ideaal voor het tonen van prestatieveranderingen in de tijd, zoals omzetgroei, wijzigingen in gebruikersacquisitie en andere metrieken waarbij trend en delta belangrijker zijn dan de absolute waarde\",\n \"chart.kpiText.label\": \"KPI Tekst\",\n \"chart.kpiText.description\": \"Weergave key prestatie indicators as customisable text\",\n \"chart.kpiText.useCase\": \"Perfect voor toont metrieken met custom formatting, combining meerdere waarden, van displaying contextual KPI information met templates\",\n \"chart.markdown.label\": \"Markdown\",\n \"chart.markdown.description\": \"Weergave custom markdown content met formatting\",\n \"chart.markdown.useCase\": \"Perfect voor adding documentation, notes, section kopteksten, instructions, van formatted tekst naar dashboards\",\n \"chart.funnel.label\": \"Funnel Grafiek\",\n \"chart.funnel.description\": \"Toon conversion through sequential stappen\",\n \"chart.funnel.useCase\": \"Beste voor visualiseren user journey funnels, verkoop pipelines, of meerdere-stap processes\",\n \"chart.sankey.label\": \"Sankey Grafiek\",\n \"chart.sankey.description\": \"Toon flow tussen states of stappen\",\n \"chart.sankey.useCase\": \"Beste voor visualiseren user journey flows, pad analyse, of state transitions\",\n \"chart.sunburst.label\": \"Sunburst Grafiek\",\n \"chart.sunburst.description\": \"Toon hierarchical flow as radial rings\",\n \"chart.sunburst.useCase\": \"Beste voor visualiseren forward paden van a startende gebeurtenis in a compact radial layout\",\n \"chart.heatmap.label\": \"Heatmap\",\n \"chart.heatmap.description\": \"Visualiseer intensiteit over twee dimensies\",\n \"chart.heatmap.useCase\": \"Beste voor toont patterns in matrix gegevens like correlations, schedules, of categorie comparisons\",\n \"chart.retentionHeatmap.label\": \"Retentie Matrix\",\n \"chart.retentionHeatmap.description\": \"Cohort retentie matrix visualisatie\",\n \"chart.retentionHeatmap.useCase\": \"Visualiseer gebruikersretentie in de tijd per cohort\",\n \"chart.retentionCombined.label\": \"Retentie Grafiek\",\n \"chart.retentionCombined.description\": \"Combined retentie visualisatie met lijngrafiek en heatmap modes\",\n \"chart.retentionCombined.useCase\": \"Visualiseer gebruikersretentie in de tijd met optionele segmentatie naar uitsplitsing\",\n \"chart.boxPlot.label\": \"Boxplot\",\n \"chart.boxPlot.description\": \"Toon statistische verdeling (mediaan, IQR, whiskers) over categorieën\",\n \"chart.boxPlot.useCase\": \"Beste voor P&L-spreiding per symbool, verdeling van handelsgrootte en latentieverdeling over platforms\",\n \"chart.waterfall.label\": \"Waterfall Grafiek\",\n \"chart.waterfall.description\": \"Toon cumulative effect of sequential positive en negative waarden\",\n \"chart.waterfall.useCase\": \"Beste voor P&L decomposition, cash flow analyse, budget variance, of elke sequential contribution breakdown\",\n \"chart.candlestick.label\": \"Candlestick Grafiek\",\n \"chart.candlestick.description\": \"Financial candlestick grafiek toont openen/sluiten body en hoog/laag wicks\",\n \"chart.candlestick.useCase\": \"Beste voor EOD quotes (bid/ask spread per date/symbol), markout distribution bands, of OHLC price gegevens\",\n \"chart.measureProfile.label\": \"Meting Profile\",\n \"chart.measureProfile.description\": \"Plot N metingen als opeenvolgende X-aspunten om een profiel of vorm over intervallen te visualiseren\",\n \"chart.measureProfile.useCase\": \"Beste voor markout-intervalanalyse (bijv. avgMinus2m → avgAtEvent → avgPlus2h), metricprofielen of elk patroon over geordende metingen\",\n \"chart.gauge.label\": \"Gauge Grafiek\",\n \"chart.gauge.description\": \"Half-circle arc meter voor een enkele KPI waarde versus een maximum target\",\n \"chart.gauge.useCase\": \"Beste voor hoogwatermerken vs equity, margin utilisation, of elke enkele waarde voortgang toward a doel\",\n \"chart.config.chartType\": \"Grafiek Type\",\n \"chart.config.loading\": \"Laden grafiek configuratie...\",\n \"chart.config.axisConfig\": \"Grafiek Configuration\",\n \"chart.config.unassigned\": \"Unassigned Velden\",\n \"chart.config.unassignedHint\": \"Drag velden naar grafiek axes above\",\n \"chart.config.noFields\": \"Voeg metingen en uitsplitsingen toe in het tabblad Query om grafiekassen te configureren\",\n \"chart.dropZone.xAxis.label\": \"X-As (Categorieën)\",\n \"chart.dropZone.xAxis.description\": \"Dimensies en time dimensies voor grouping\",\n \"chart.dropZone.xAxis.empty\": \"Sleep dimensies & tijd dimensies hier\",\n \"chart.dropZone.yAxis.label\": \"Y-As (Waarden)\",\n \"chart.dropZone.yAxis.description\": \"Metingen voor waarden of dimensies voor reeksen\",\n \"chart.dropZone.yAxis.empty\": \"Sleep metingen van dimensies hier\",\n \"chart.dropZone.series.label\": \"Reeks (Splits naar Multiple Reeks)\",\n \"chart.dropZone.series.description\": \"Dimensies naar create separate gegevens reeksen\",\n \"chart.dropZone.series.empty\": \"Sleep dimensies hier naar splits gegevens naar reeksen\",\n \"chart.dropZone.maxReached\": \"Maximaal aantal items bereikt\",\n \"chart.dropZone.default.empty\": \"Sleep velden hierheen\",\n\n \"chart.bar.dropZone.xAxis.empty\": \"Sleep dimensies & tijdsdimensies hierheen\",\n \"chart.bar.dropZone.yAxis.empty\": \"Sleep metingen hierheen\",\n \"chart.bar.dropZone.series.empty\": \"Sleep dimensies hierheen om gegevens in reeksen te splitsen\",\n \"chart.line.dropZone.xAxis.empty\": \"Sleep tijdsdimensies of dimensies hierheen\",\n \"chart.line.dropZone.yAxis.empty\": \"Sleep metingen hierheen\",\n \"chart.line.dropZone.series.empty\": \"Sleep dimensies hierheen voor meerdere lijnen\",\n \"chart.area.dropZone.xAxis.empty\": \"Sleep tijdsdimensies of dimensies hierheen\",\n \"chart.area.dropZone.yAxis.empty\": \"Sleep metingen hierheen\",\n \"chart.area.dropZone.series.empty\": \"Sleep dimensies hierheen voor gestapelde gebieden\",\n \"chart.pie.dropZone.xAxis.empty\": \"Sleep een dimensie voor categorieën\",\n \"chart.pie.dropZone.yAxis.empty\": \"Sleep een meting voor waarden\",\n \"chart.scatter.dropZone.xAxis.empty\": \"Sleep een veld voor X-as\",\n \"chart.scatter.dropZone.yAxis.empty\": \"Sleep een meting voor Y-as\",\n \"chart.scatter.dropZone.series.empty\": \"Sleep een dimensie om punten te kleuren\",\n \"chart.bubble.dropZone.xAxis.empty\": \"Sleep een veld voor X-aspositie\",\n \"chart.bubble.dropZone.yAxis.empty\": \"Sleep een meting voor Y-aspositie\",\n \"chart.bubble.dropZone.sizeField.empty\": \"Sleep een meting voor bellengrootte\",\n \"chart.bubble.dropZone.series.empty\": \"Sleep een dimensie voor bellenlabels\",\n \"chart.bubble.dropZone.colorField.empty\": \"Sleep een veld voor bellenkleur (optioneel)\",\n \"chart.radar.dropZone.xAxis.empty\": \"Sleep dimensies voor radarassen\",\n \"chart.radar.dropZone.yAxis.empty\": \"Sleep metingen voor waarden\",\n \"chart.radar.dropZone.series.empty\": \"Sleep dimensies voor meerdere vormen\",\n \"chart.radialBar.dropZone.xAxis.empty\": \"Sleep dimensies voor categorieën\",\n \"chart.radialBar.dropZone.yAxis.empty\": \"Sleep een meting voor waarden\",\n \"chart.treemap.dropZone.xAxis.empty\": \"Sleep dimensies voor categorieën\",\n \"chart.treemap.dropZone.yAxis.empty\": \"Sleep een meting voor grootte\",\n \"chart.treemap.dropZone.series.empty\": \"Sleep een dimensie voor kleurgroepering\",\n \"chart.table.dropZone.xAxis.empty\": \"Sleep velden om als kolommen weer te geven (of laat leeg voor alles)\",\n \"chart.activityGrid.dropZone.dateField.empty\": \"Sleep een tijdsdimensie (granulariteit beïnvloedt rasterstructuur)\",\n \"chart.activityGrid.dropZone.valueField.empty\": \"Sleep een meting voor activiteitsintensiteit\",\n \"chart.kpiNumber.dropZone.yAxis.empty\": \"Sleep een meting hierheen\",\n \"chart.kpiDelta.dropZone.yAxis.empty\": \"Sleep een meting hierheen\",\n \"chart.kpiDelta.dropZone.xAxis.empty\": \"Sleep een dimensie voor ordening\",\n \"chart.kpiText.dropZone.yAxis.empty\": \"Sleep een meting hierheen\",\n \"chart.funnel.dropZone.xAxis.empty\": \"Stappen gedefinieerd in trechterconfig\",\n \"chart.funnel.dropZone.yAxis.empty\": \"Tellingen berekend uit trechteruitvoering\",\n \"chart.sankey.dropZone.xAxis.empty\": \"Automatisch ingevuld vanuit stroomconfig\",\n \"chart.sankey.dropZone.yAxis.empty\": \"Berekend vanuit stroomuitvoering\",\n \"chart.sunburst.dropZone.xAxis.empty\": \"Automatisch ingevuld vanuit stroomconfig\",\n \"chart.sunburst.dropZone.yAxis.empty\": \"Berekend vanuit stroomuitvoering\",\n \"chart.heatmap.dropZone.xAxis.empty\": \"Sleep één dimensie hierheen\",\n \"chart.heatmap.dropZone.yAxis.empty\": \"Sleep één dimensie hierheen\",\n \"chart.heatmap.dropZone.valueField.empty\": \"Sleep één meting hierheen\",\n \"chart.boxPlot.dropZone.xAxis.empty\": \"Sleep een dimensie hierheen\",\n \"chart.boxPlot.dropZone.yAxis.empty\": \"Sleep 1, 3 of 5 metingen hierheen\",\n \"chart.waterfall.dropZone.xAxis.empty\": \"Sleep een dimensie hierheen\",\n \"chart.waterfall.dropZone.yAxis.empty\": \"Sleep een meting hierheen\",\n \"chart.candlestick.dropZone.xAxis.empty\": \"Sleep een tijd- of dimensie hierheen\",\n \"chart.candlestick.dropZone.yAxis.empty\": \"Sleep 2+ metingen hierheen\",\n \"chart.measureProfile.dropZone.yAxis.empty\": \"Sleep 2+ metingen hierheen (weergegeven links → rechts)\",\n \"chart.measureProfile.dropZone.series.empty\": \"Sleep een dimensie hierheen om meerdere lijnen te maken\",\n \"chart.gauge.dropZone.yAxis.empty\": \"Sleep 1 meting hierheen (optioneel 2e voor dynamisch max)\",\n\n \"chart.activityGrid.validation.timeDimensionRequired\": \"Tijdsdimensie is vereist voor activiteitsraster\",\n \"chart.activityGrid.validation.measureRequired\": \"Activiteitsmeting is vereist voor intensiteitstoewijzing\",\n \"chart.kpiDelta.validation.measureRequired\": \"Een meting is vereist voor KPI Delta-grafieken\",\n \"chart.heatmap.validation.xAxisRequired\": \"X-as dimensie vereist\",\n \"chart.heatmap.validation.yAxisRequired\": \"Y-as dimensie vereist\",\n \"chart.heatmap.validation.valueRequired\": \"Waardemeting vereist\",\n\n \"chart.option.stacking.label\": \"Stapeling\",\n \"chart.option.stacking.none\": \"Geen\",\n \"chart.option.stacking.stacked\": \"Gestapeld\",\n \"chart.option.stacking.percent\": \"Gestapeld 100%\",\n \"chart.option.stacking.description\": \"Hoe naar stack meerdere reeksen\",\n \"chart.option.target.label\": \"Doelwaardes\",\n \"chart.option.target.description\": \"Enkele waarde of door komma's gescheiden waarden om over de X-as te spreiden\",\n \"chart.option.connectNulls.label\": \"Verbind null-waarden\",\n \"chart.option.connectNulls.description\": \"Tekenen doorlopende regel through ontbrekend gegevens punten\",\n \"chart.option.leftYAxisFormat.label\": \"Left Y-As Format\",\n \"chart.option.leftYAxisFormat.description\": \"Nummer formatting voor left Y-axis\",\n \"chart.option.rightYAxisFormat.label\": \"Right Y-As Format\",\n \"chart.option.rightYAxisFormat.description\": \"Nummer formatting voor right Y-axis\",\n \"chart.option.xAxisFormat.label\": \"X-As Format\",\n \"chart.option.xAxisFormat.description\": \"Nummer formatting voor X-axis\",\n \"chart.option.yAxisFormat.label\": \"Y-As Format\",\n \"chart.option.yAxisFormat.description\": \"Nummer formatting voor Y-axis\",\n \"chart.option.valueFormat.label\": \"Waarde Format\",\n \"chart.option.valueFormat.description\": \"Nummer formatting voor waarden\",\n \"chart.option.innerRadius.label\": \"Binnenradius\",\n \"chart.option.innerRadius.description\": \"Hollow centre grootte (0% = solid pie, higher = donut style)\",\n \"chart.option.showLabels.label\": \"Toon Cell Waarden\",\n \"chart.option.showLabels.description\": \"Weergave waarden inside each cell\",\n \"chart.option.cellShape.label\": \"Celvorm\",\n \"chart.option.cellShape.rectangle\": \"Rechthoek\",\n \"chart.option.cellShape.circle\": \"Cirkel\",\n \"chart.option.funnelStyle.label\": \"Trechterstijl\",\n \"chart.option.funnelStyle.bars\": \"Balken\",\n \"chart.option.funnelStyle.funnel\": \"Trechter\",\n \"chart.option.funnelOrientation.label\": \"Oriëntatie\",\n \"chart.option.funnelOrientation.horizontal\": \"Horizontaal\",\n \"chart.option.funnelOrientation.vertical\": \"Verticaal\",\n \"chart.option.hideSummaryFooter.label\": \"Verbergen Samenvatting Footer\",\n \"chart.option.hideSummaryFooter.description\": \"Verberg de samenvattingsfooter die het aantal stappen en de totale conversie toont\",\n \"chart.option.showConversion.label\": \"Toon Conversion Rate\",\n \"chart.option.showConversion.description\": \"Weergave stap-naar-stap conversion percentage\",\n \"chart.option.showAvgTime.label\": \"Toon Avg Tijd\",\n \"chart.option.showAvgTime.description\": \"Weergave average time naar convert\",\n \"chart.option.showMedianTime.label\": \"Toon Median Tijd\",\n \"chart.option.showMedianTime.description\": \"Weergave median time naar convert\",\n \"chart.option.showP90Time.label\": \"Toon P90 Tijd\",\n \"chart.option.showP90Time.description\": \"Weergave 90th percentile time naar convert\",\n \"chart.option.linkOpacity.label\": \"Link-opaciteit\",\n \"chart.option.linkOpacity.light\": \"Licht\",\n \"chart.option.linkOpacity.medium\": \"Gemiddeld\",\n \"chart.option.linkOpacity.dark\": \"Donker\",\n \"chart.option.showNodeLabels.label\": \"Toon Node Labels\",\n \"chart.option.showNodeLabels.description\": \"Weergave labels on flow nodes\",\n \"chart.option.prefix.label\": \"Voorvoegsel\",\n \"chart.option.prefix.description\": \"Tekst om vóór het getal weer te geven\",\n \"chart.option.suffix.label\": \"Achtervoegsel\",\n \"chart.option.suffix.description\": \"Tekst om na het getal weer te geven\",\n \"chart.option.decimals.label\": \"Aantal decimalen\",\n \"chart.option.decimals.description\": \"Nummer of decimal places naar weergeven\",\n \"chart.option.showHistogram.label\": \"Toon Variance Histogram\",\n \"chart.option.showHistogram.description\": \"Toon historische variantiegrafiek onder de delta\",\n \"chart.option.useLastCompletePeriod.label\": \"Gebruik Laatste Voltooid Periode\",\n \"chart.option.useLastCompletePeriod.description\": \"Exclude current incomplete periode van calculation (e.g., partial week/maand)\",\n \"chart.option.skipLastPeriod.label\": \"Skip Laatste Periode\",\n \"chart.option.skipLastPeriod.description\": \"Always exclude de laatste periode regardless van completeness\",\n \"chart.option.retentionDisplayMode.label\": \"Weergave Mode\",\n \"chart.option.retentionDisplayMode.lineChart\": \"Lijn Grafiek\",\n \"chart.option.retentionDisplayMode.heatmapTable\": \"Heatmap Tabel\",\n \"chart.option.retentionDisplayMode.combined\": \"Gecombineerd\",\n \"chart.option.showLegend.label\": \"Toon Legenda\",\n \"chart.option.showLegend.description\": \"Toon de legenda\",\n \"chart.option.showGrid.label\": \"Toon Grid\",\n \"chart.option.showGrid.description\": \"Toon rasterlijnen op de grafiek\",\n \"chart.option.showTooltip.label\": \"Toon Tooltip\",\n \"chart.option.showTooltip.description\": \"Toon tooltip on zweef met gedetailleerde stats\",\n \"chart.option.priorPeriodStyle.label\": \"Prior Periode Lijn Style\",\n \"chart.option.priorPeriodStyle.dashed\": \"Gestreept\",\n \"chart.option.priorPeriodStyle.dotted\": \"Gestippeld\",\n \"chart.option.priorPeriodStyle.solid\": \"Vol\",\n \"chart.option.priorPeriodStyle.description\": \"Lijn style voor prior period in comparison mode\",\n \"chart.option.priorPeriodOpacity.label\": \"Prior Periode Opacity\",\n \"chart.option.priorPeriodOpacity.description\": \"Opacity voor prior periode lines (0.1 naar 1)\",\n \"chart.option.showTotal.label\": \"Toon Totaal Staaf\",\n \"chart.option.showTotal.description\": \"Append een final staaf toont de draaiend totaal\",\n \"chart.option.showConnectorLine.label\": \"Toon Connector Lijn\",\n \"chart.option.showConnectorLine.description\": \"Tekenen een dashed stap-regel connecting staaf tops\",\n \"chart.option.showDataLabels.label\": \"Toon Gegevens Labels\",\n \"chart.option.showDataLabels.description\": \"Toon de waarde bij elk datapunt\",\n \"chart.option.showReferenceLineAtZero.label\": \"Toon Zero Reference Lijn\",\n \"chart.option.showReferenceLineAtZero.description\": \"Tekenen een dashed regel bij Y = 0\",\n \"chart.option.lineType.label\": \"Lijn Interpolation\",\n \"chart.option.lineType.smooth\": \"Vloeiend (monotoon)\",\n \"chart.option.lineType.linear\": \"Lineair\",\n \"chart.option.lineType.step\": \"Stap\",\n \"chart.option.lineType.description\": \"Hoe gegevens punten zijn connected\",\n \"chart.option.rangeMode.label\": \"Grafiek Mode\",\n \"chart.option.rangeMode.ohlc\": \"OHLC (openen, sluiten, hoog, laag)\",\n \"chart.option.rangeMode.range\": \"Bereik (hoog, laag / bid, ask)\",\n \"chart.option.rangeMode.description\": \"OHLC: 4 metingen. Bereik: 2 metingen (hoog + laag).\",\n \"chart.option.bullColor.label\": \"Bullish Kleur\",\n \"chart.option.bullColor.description\": \"Candle kleur when sluiten ≥ openen\",\n \"chart.option.bearColor.label\": \"Bearish Kleur\",\n \"chart.option.bearColor.description\": \"Candle kleur when sluiten < openen\",\n \"chart.option.showWicks.label\": \"Toon Wicks\",\n \"chart.option.showWicks.description\": \"Tekenen hoog/laag wicks above en onder de body\",\n \"chart.option.minValue.label\": \"Minimum Waarde\",\n \"chart.option.minValue.description\": \"Lower bound van de meter arc (standaard 0)\",\n \"chart.option.maxValue.label\": \"Maximum Waarde (static)\",\n \"chart.option.maxValue.description\": \"Upper bound van de meter. Leave leeg naar use yAxis[1] van standaard 100\",\n \"chart.option.showCentreLabel.label\": \"Toon Centre Label\",\n \"chart.option.showCentreLabel.description\": \"Toon huidige waarde en veldnaam in het midden van de gauge\",\n \"chart.option.showPercentage.label\": \"Toon as Percentage\",\n \"chart.option.showPercentage.description\": \"Weergave waarde as % of max instead of raw number\",\n \"chart.option.fitToWidth.label\": \"Fit naar Width\",\n \"chart.option.fitToWidth.description\": \"Automatically grootte blocks naar fill portlet width en hoogte while maintaining aspect ratio\",\n \"chart.option.fontSize.label\": \"Font Grootte\",\n \"chart.option.fontSize.small\": \"Klein\",\n \"chart.option.fontSize.medium\": \"Gemiddeld\",\n \"chart.option.fontSize.large\": \"Groot\",\n \"chart.option.alignment.label\": \"Tekst Alignment\",\n \"chart.option.alignment.left\": \"Links\",\n \"chart.option.alignment.center\": \"Midden\",\n \"chart.option.alignment.right\": \"Rechts\",\n \"chart.option.hideHeader.label\": \"Verbergen Header\",\n \"chart.option.hideHeader.description\": \"Verberg de portlet-headerbalk (titel en actieknoppen)\",\n \"chart.option.transparentBackground.label\": \"Transparante achtergrond\",\n \"chart.option.transparentBackground.description\": \"Verwijderen card background, border, en shadow voor seamless integration as section headers\",\n \"chart.option.autoHeight.label\": \"Automatisch Hoogte\",\n \"chart.option.autoHeight.description\": \"In rij en mobile layouts, grootte naar markdown content instead van fixed rij hoogte\",\n \"chart.option.accentBorder.label\": \"Accentrand\",\n \"chart.option.accentBorder.none\": \"Geen\",\n \"chart.option.accentBorder.left\": \"Links\",\n \"chart.option.accentBorder.top\": \"Boven\",\n \"chart.option.accentBorder.bottom\": \"Onderkant\",\n \"chart.option.accentBorder.description\": \"Voeg een accentkleurige rand toe aan één zijde van de inhoud\",\n \"chart.configText.20_percent\": \"20%\",\n \"chart.configText.40_percent\": \"40%\",\n \"chart.configText.60_percent\": \"60%\",\n \"chart.configText.80_percent\": \"80%\",\n \"chart.configText.accent_color\": \"Accentkleur\",\n \"chart.configText.activity_measure\": \"Activiteitsmeetwaarde\",\n \"chart.configText.add_2_or_more_measures_they_become_the_x_axis_categories_in_the_order_li\": \"Voeg 2 of meer meetwaarden toe — ze worden de X-as-categorieen in de opgegeven volgorde\",\n \"chart.configText.add_an_accent_colored_border_on_one_side_of_the_content\": \"Voeg een accentgekleurde rand toe aan een zijde van de inhoud\",\n \"chart.configText.all_fields_to_display_as_columns\": \"Alle velden om als kolommen weer te geven\",\n \"chart.configText.array_of_value_0_1_fraction_color_bands_shown_as_outer_arc_markers\": \"Array van {value (0-1 fractie), color}-banden, getoond als markeringen op de buitenste boog\",\n \"chart.configText.axes_categories\": \"Assen (Categorieen)\",\n \"chart.configText.bubble_colour\": \"Bubbelkleur\",\n \"chart.configText.bubble_labels\": \"Bubbellabels\",\n \"chart.configText.bubble_radius\": \"Bubbelstraal\",\n \"chart.configText.categories\": \"Categorieen\",\n \"chart.configText.choose_how_to_visualize_retention_data\": \"Kies hoe retentiedata wordt gevisualiseerd\",\n \"chart.configText.color_bubbles_by_this_field_optional\": \"Kleur bubbels op basis van dit veld (optioneel)\",\n \"chart.configText.color_for_negative_changes_decreases\": \"Kleur voor negatieve veranderingen (dalingen)\",\n \"chart.configText.color_for_positive_changes_increases\": \"Kleur voor positieve veranderingen (stijgingen)\",\n \"chart.configText.color_from_the_dashboard_palette_for_headers_bullets_and_links\": \"Kleur uit het dashboardpalet voor koppen, opsommingstekens en links\",\n \"chart.configText.color_from_the_dashboard_palette_for_the_kpi_value_text\": \"Kleur uit het dashboardpalet voor de KPI-waardetekst\",\n \"chart.configText.color_groups\": \"Kleurgroepen\",\n \"chart.configText.columns\": \"Kolommen\",\n \"chart.configText.columns_x_axis\": \"Kolommen (X-as)\",\n \"chart.configText.count_at_each_step_auto_calculated\": \"Aantal per stap (automatisch berekend)\",\n \"chart.configText.count_of_entities_following_each_path\": \"Aantal entiteiten dat elk pad volgt\",\n \"chart.configText.current_value_to_display_on_the_gauge_e_g_current_equity_margin_used\": \"Huidige waarde om op de meter te tonen (bijv. huidige equity, gebruikte marge)\",\n \"chart.configText.dimension_for_column_categories\": \"Dimensie voor kolomcategorieen\",\n \"chart.configText.dimension_for_ordering_data_typically_time\": \"Dimensie voor het ordenen van data (meestal tijd)\",\n \"chart.configText.dimension_for_pie_slices\": \"Dimensie voor taartsegmenten\",\n \"chart.configText.dimension_for_row_categories\": \"Dimensie voor rijcategorieen\",\n \"chart.configText.dimension_labels_for_each_bar_segment_e_g_symbol_transaction_type\": \"Dimensielabels voor elk staafsegment (bijv. symbool, transactietype)\",\n \"chart.configText.dimension_optional\": \"Dimensie (optioneel)\",\n \"chart.configText.dimension_to_color_points_by_category\": \"Dimensie om punten per categorie te kleuren\",\n \"chart.configText.dimension_to_color_rectangles_by_category\": \"Dimensie om rechthoeken per categorie te kleuren\",\n \"chart.configText.dimension_to_group_boxes_by_e_g_symbol_platform\": \"Dimensie om boxen op te groeperen (bijv. symbool, platform)\",\n \"chart.configText.dimension_to_split_data_into_separate_profile_lines_e_g_symbol_platform\": \"Dimensie om data op te splitsen in aparte profiellijnen (bijv. symbool, platform)\",\n \"chart.configText.dimensions_for_radar_axes\": \"Dimensies voor radarassen\",\n \"chart.configText.dimensions_for_radial_segments\": \"Dimensies voor radiale segmenten\",\n \"chart.configText.dimensions_for_treemap_rectangles\": \"Dimensies voor treemap-rechthoeken\",\n \"chart.configText.dimensions_to_create_multiple_radar_shapes\": \"Dimensies om meerdere radarvormen te maken\",\n \"chart.configText.dimensions_to_create_separate_lines\": \"Dimensies om afzonderlijke lijnen te maken\",\n \"chart.configText.dimensions_to_create_stacked_areas\": \"Dimensies om gestapelde gebieden te maken\",\n \"chart.configText.display_the_value_above_each_bar_segment\": \"Toon de waarde boven elk staafsegment\",\n \"chart.configText.display_value_at_each_data_point\": \"Toon de waarde bij elk datapunt\",\n \"chart.configText.drop_1_measure_for_auto_mode_3_for_avg_stddev_median_mode_or_5_for_min_q\": \"Sleep 1 meetwaarde voor automatische modus, 3 voor avg/stddev/mediaanmodus, of 5 voor min/q1/mediaan/q3/max-modus\",\n \"chart.configText.drop_2_4_measures_in_order_open_close_high_low_ohlc_mode_for_range_mode_\": \"Sleep 2-4 meetwaarden in deze volgorde: open, close, high, low (OHLC-modus). Sleep voor bereikmodus 2: high, low.\",\n \"chart.configText.enter_markdown_text_supports_headers_bold_text_italic_text_links_text_ur\": \"Voer markdowntekst in. Ondersteunt koppen (#), vet (**tekst**), cursief (*tekst*), links ([tekst](url)), lijsten (- item) en horizontale lijnen (---).\",\n \"chart.configText.event_dimension_that_categorizes_flow_nodes\": \"Eventdimensie die flowknooppunten categoriseert\",\n \"chart.configText.event_type\": \"Eventtype\",\n \"chart.configText.exclude_current_incomplete_period_from_aggregation_e_g_partial_week_mont\": \"Sluit de huidige onvolledige periode uit van aggregatie (bijv. gedeeltelijke week/maand)\",\n \"chart.configText.exclude_current_incomplete_period_from_delta_calculation_e_g_partial_wee\": \"Sluit de huidige onvolledige periode uit van deltaberekening (bijv. gedeeltelijke week/maand)\",\n \"chart.configText.field_to_use_for_bubble_labels_and_identification\": \"Veld voor bubbellabels en identificatie\",\n \"chart.configText.flow_count\": \"Flowaantal\",\n \"chart.configText.hide_the_statistics_footer_below_the_chart\": \"Verberg de statistiekfooter onder de grafiek\",\n \"chart.configText.hollow_center_size_0_percent_solid_pie_higher_donut_style\": \"Grootte van het holle midden (0% = volle taart, hoger = donutstijl)\",\n \"chart.configText.horizontal_alignment_of_the_markdown_content\": \"Horizontale uitlijning van de markdowninhoud\",\n \"chart.configText.horizontal_axis_position\": \"Horizontale aspositie\",\n \"chart.configText.how_to_stack_multiple_area_series\": \"Hoe meerdere gebiedsreeksen te stapelen\",\n \"chart.configText.how_to_stack_multiple_bar_series\": \"Hoe meerdere staafreeksen te stapelen\",\n \"chart.configText.markdown_content\": \"Markdowninhoud\",\n \"chart.configText.measure_for_rectangle_sizes\": \"Meetwaarde voor rechthoekgroottes\",\n \"chart.configText.measure_for_slice_sizes\": \"Meetwaarde voor segmentgroottes\",\n \"chart.configText.measure_for_y_position\": \"Meetwaarde voor Y-positie\",\n \"chart.configText.measure_or_dimension_for_x_position\": \"Meetwaarde of dimensie voor X-positie\",\n \"chart.configText.measure_that_determines_cell_color\": \"Meetwaarde die de celkleur bepaalt\",\n \"chart.configText.measure_to_display_as_kpi_number\": \"Meetwaarde om als KPI-getal te tonen\",\n \"chart.configText.measure_to_display_in_the_kpi_text_template\": \"Meetwaarde om in de KPI-tekstsjabloon te tonen\",\n \"chart.configText.measure_to_track_changes_for\": \"Meetwaarde om veranderingen voor te volgen\",\n \"chart.configText.measure_used_for_activity_intensity_color_coding\": \"Meetwaarde voor activiteitsintensiteit (kleurcodering)\",\n \"chart.configText.measures_for_area_values\": \"Meetwaarden voor gebiedswaarden\",\n \"chart.configText.measures_for_bar_heights\": \"Meetwaarden voor staafhoogtes\",\n \"chart.configText.measures_for_line_values\": \"Meetwaarden voor lijnwaarden\",\n \"chart.configText.measures_for_radar_values\": \"Meetwaarden voor radarwaarden\",\n \"chart.configText.measures_for_radial_bar_lengths\": \"Meetwaarden voor lengtes van radiale staven\",\n \"chart.configText.measures_x_axis_order\": \"Meetwaarden (X-asvolgorde)\",\n \"chart.configText.negative_change_color\": \"Kleur bij negatieve verandering\",\n \"chart.configText.none_pie\": \"Geen (Taart)\",\n \"chart.configText.number_formatting_for_cell_values_and_legend\": \"Getalopmaak voor celwaarden en legenda\",\n \"chart.configText.number_formatting_for_numeric_values\": \"Getalopmaak voor numerieke waarden\",\n \"chart.configText.number_formatting_for_size_values\": \"Getalopmaak voor groottewaarden\",\n \"chart.configText.number_formatting_for_the_displayed_value_and_axis_labels\": \"Getalopmaak voor de getoonde waarde en aslabels\",\n \"chart.configText.number_formatting_for_the_price_axis\": \"Getalopmaak voor de prijsas\",\n \"chart.configText.number_formatting_for_the_value_axis\": \"Getalopmaak voor de waarde-as\",\n \"chart.configText.number_formatting_for_the_y_axis\": \"Getalopmaak voor de Y-as\",\n \"chart.configText.number_formatting_for_x_axis_labels\": \"Getalopmaak voor X-aslabels\",\n \"chart.configText.number_formatting_for_y_axis_and_values\": \"Getalopmaak voor Y-as en waarden\",\n \"chart.configText.number_formatting_for_y_axis_labels\": \"Getalopmaak voor Y-aslabels\",\n \"chart.configText.number_of_decimal_places_to_display_for_numeric_values\": \"Aantal decimalen om te tonen voor numerieke waarden\",\n \"chart.configText.ohlc_measures_open_close_high_low\": \"OHLC-meetwaarden (open, close, high, low)\",\n \"chart.configText.opacity_of_flow_links\": \"Dekking van flowlinks\",\n \"chart.configText.overall_text_size_for_the_markdown_content\": \"Algemene tekstgrootte voor de markdowninhoud\",\n \"chart.configText.positive_change_color\": \"Kleur bij positieve verandering\",\n \"chart.configText.rows_y_axis\": \"Rijen (Y-as)\",\n \"chart.configText.series_color_groups\": \"Reeksen (Kleurgroepen)\",\n \"chart.configText.series_multiple_lines\": \"Reeksen (Meerdere lijnen)\",\n \"chart.configText.series_multiple_shapes\": \"Reeksen (Meerdere vormen)\",\n \"chart.configText.series_split_into_multiple_lines\": \"Reeksen (Opgesplitst in meerdere lijnen)\",\n \"chart.configText.series_stack_areas\": \"Reeksen (Gebieden stapelen)\",\n \"chart.configText.show_series_legend_only_visible_with_a_series_dimension\": \"Toon reekslegenda (alleen zichtbaar met een reeksdimensie)\",\n \"chart.configText.show_the_color_intensity_legend\": \"Toon de legenda voor kleurintensiteit\",\n \"chart.configText.show_the_legend_for_breakdown_segments\": \"Toon de legenda voor segmenten in uitsplitsing\",\n \"chart.configText.single_measure_whose_values_are_summed_cumulatively\": \"Enkele meetwaarde waarvan de waarden cumulatief worden opgeteld\",\n \"chart.configText.size\": \"Grootte\",\n \"chart.configText.size_of_bubbles_based_on_this_measure\": \"Grootte van bubbels op basis van deze meetwaarde\",\n \"chart.configText.size_of_the_center_hole_0_for_full_circle\": \"Grootte van het middengat (0 voor volledige cirkel)\",\n \"chart.configText.step_count\": \"Stapaantal\",\n \"chart.configText.step_name\": \"Stapnaam\",\n \"chart.configText.step_names_auto_populated_from_funnel_steps\": \"Stapnamen (automatisch ingevuld vanuit funnelstappen)\",\n \"chart.configText.target_value_to_compare_against_first_value_used_if_multiple_provided\": \"Doelwaarde om mee te vergelijken (eerste waarde wordt gebruikt als er meerdere zijn opgegeven)\",\n \"chart.configText.template_for_displaying_the_text_use_value_to_insert_the_measure_value\": \"Sjabloon voor het tonen van tekst. Gebruik ${value} om de meetwaarde in te voegen.\",\n \"chart.configText.text_template\": \"Tekstsjabloon\",\n \"chart.configText.threshold_bands\": \"Drempelbanden\",\n \"chart.configText.time_dimension\": \"Tijddimensie\",\n \"chart.configText.time_dimension_or_category_for_each_candle_e_g_date_symbol\": \"Tijddimensie of categorie voor elke candle (bijv. datum, symbool)\",\n \"chart.configText.time_dimensions_or_dimensions_for_x_axis\": \"Tijddimensies of dimensies voor de X-as\",\n \"chart.configText.time_field_that_determines_grid_structure_granularity_affects_layout\": \"Tijdveld dat de roosterstructuur bepaalt (granulariteit beinvloedt de layout)\",\n \"chart.configText.value\": \"Waarde\",\n \"chart.configText.value_color\": \"Waardekleur\",\n \"chart.configText.value_color_intensity\": \"Waarde (Kleurintensiteit)\",\n \"chart.configText.value_measure\": \"Waardemeetwaarde\",\n \"chart.configText.values\": \"Waarden\",\n \"chart.configText.vertical_axis_position\": \"Verticale aspositie\",\n \"chart.configText.visualization_style\": \"Visualisatiestijl\",\n \"chart.configText.x_axis_groups\": \"X-as (Groepen)\",\n \"chart.configText.x_axis_time_categories\": \"X-as (Tijd/Categorieen)\",\n \"chart.configText.x_axis_time_category\": \"X-as (Tijd / Categorie)\",\n \"chart.configText.y_axis\": \"Y-as\",\n \"chart.configText.y_axis_measures\": \"Y-as (Meetwaarden)\",\n \"chart.configText.y_axis_value\": \"Y-as (Waarde)\",\n \"display.loading\": \"Laden weergeven options...\",\n \"display.noOptions\": \"Geen weergeven options beschikbaar voor deze grafiek type.\",\n \"display.heading\": \"Weergave Opties\",\n \"results.loading.title\": \"Query uitvoeren...\",\n \"results.loading.subtitle\": \"Je query wordt uitgevoerd tegen de Cube API\",\n \"results.error.title\": \"Query Uitvoering Mislukt\",\n \"results.error.subtitle\": \"Er is een fout opgetreden bij het uitvoeren van je query. Controleer de query en probeer het opnieuw.\",\n \"results.waiting.title\": \"Query voorbereiden...\",\n \"results.waiting.subtitle\": \"Je query wordt zo uitgevoerd\",\n \"results.needsRefresh.title\": \"Ready naar Execute\",\n \"results.needsRefresh.subtitle\": \"Klik op vernieuwen om je query uit te voeren\",\n \"results.needsRefresh.runButton\": \"Uitvoeren Query\",\n \"results.empty.query\": \"Voeg metingen of uitsplitsingen toe vanuit het paneel rechts om resultaten te zien\",\n \"results.empty.retention\": \"Selecteer een cube en configureer retentie-instellingen om resultaten te zien\",\n \"results.empty.funnel\": \"Voeg funnelstappen toe om conversieanalyse te zien\",\n \"results.empty.flow\": \"Configureer flowanalyse om gebruikerspaden te zien\",\n \"results.empty.title\": \"Geen Resultaten Yet\",\n \"results.ai.button\": \"Analyse met AI\",\n \"results.noData.title\": \"Query geslaagd\",\n \"results.noData.subtitle\": \"Geen gegevens geretourneerd door de query\",\n \"results.chart.noData\": \"Geen gegevens om weer te geven\",\n \"results.chart.noDataHint\": \"Voer een query uit om grafiekvisualisatie te zien\",\n \"results.chart.unsupported\": \"Unsupported grafiek type\",\n \"results.refreshing\": \"Vernieuwen resultaten...\",\n \"results.header.rows\": \"rijen\",\n \"results.header.row\": \"rij\",\n \"results.header.stale\": \"Resultaten may be outdated\",\n \"results.header.failed\": \"Query mislukt\",\n \"results.header.executing\": \"Uitvoeren...\",\n \"results.header.noResults\": \"Geen results\",\n \"results.view.chart\": \"Grafiek\",\n \"results.view.merged\": \"Samengevoegd\",\n \"results.warning.largeDataset\": \"Groot dataset:\",\n \"results.warning.configChanged\": \"Query configuratie changed. Resultaten may be outdated.\",\n \"results.warning.refreshNow\": \"Vernieuwen Now\",\n \"results.share.copied\": \"Gekopieerd!\",\n \"results.share.noChart\": \"(geen grafiek)\",\n \"server.errors.dbNotConfigured\": \"Database-executor is niet geconfigureerd\",\n \"server.errors.cubeNotFound\": \"Cube '{cubeName}' niet gevonden\",\n \"server.errors.noCubesInQuery\": \"Geen cubes gevonden in query\",\n \"server.errors.dbAdapterRequired\": \"DatabaseExecutor moet hebben een databaseAdapter property\",\n \"server.errors.rlsRequiresTransactions\": \"rlsSetup vereist een database driver dat ondersteunt transactions (db.transaction)\",\n \"server.errors.queryExecutionFailed\": \"Query uitvoering mislukt: {message}\",\n \"server.errors.queryExecutionUnknown\": \"Query-uitvoering mislukt: onbekende fout\",\n \"server.errors.noCompareDateRange\": \"Geen compareDateRange gevonden in query\",\n \"server.errors.compareDateRangeInvalid\": \"compareDateRange vereist bij minimaal 2 periodes\",\n \"server.errors.funnelValidationFailed\": \"Funnel validatie mislukt: {errors}\",\n \"server.errors.flowValidationFailed\": \"Flow validatie mislukt: {errors}\",\n \"server.errors.retentionValidationFailed\": \"Retentie validatie mislukt: {errors}\",\n \"server.errors.cubeRefUnresolved\": \"{cubeName}.joins.{joinName}: target cube '{targetCube}' is niet registered\",\n \"server.errors.unresolvedCubeRefs\": \"Unresolved cube verwijzingen:\\n{details}\",\n \"server.errors.calculatedMeasureValidation\": \"Berekend meting validatie mislukt voor cube '{cubeName}':\\n{details}\",\n \"server.errors.queryValidationFailed\": \"Query validatie mislukt: {errors}\",\n \"server.errors.queryContainsMultipleModes\": \"Query bevat meerdere query modes: {modes}\",\n \"server.errors.primaryCubeNotFound\": \"Primary cube '{cubeName}' niet gevonden\",\n \"server.errors.noJoinPath\": \"Geen join pad gevonden van '{fromCube}' naar '{toCube}'\",\n \"server.errors.cubeNotFoundForMeasure\": \"Cube '{cubeName}' niet gevonden voor meting '{measure}'\",\n \"server.errors.cubeNotFoundForDimension\": \"Cube '{cubeName}' niet gevonden voor dimensie '{dimension}'\",\n \"server.errors.cubeNotFoundForTimeDimension\": \"Cube '{cubeName}' niet gevonden voor tijd dimensie '{timeDimension}'\",\n \"server.errors.invalidFunnelConfig\": \"Query is niet contain a valid funnel configuratie\",\n \"server.errors.invalidFlowConfig\": \"Query is niet contain a valid flow configuratie\",\n \"server.errors.invalidRetentionConfig\": \"Query is niet contain a valid retentie configuratie\",\n \"server.errors.llmInitFailed\": \"Mislukt naar initialize LLM provider\",\n \"server.validation.ai.bindingKeyRequired.flow\": \"flow.bindingKey is vereist\",\n \"server.validation.ai.bindingKeyRequired.funnel\": \"funnel.bindingKey is vereist\",\n \"server.validation.ai.bindingKeyRequired.retention\": \"retentie.bindingKey is vereist\",\n \"server.validation.ai.cubeNotFoundInFilter\": \"Cube '{cubeName}' niet gevonden in filter\",\n \"server.validation.ai.cubeNotFoundWithAvailable\": \"Cube '{cubeName}' niet gevonden\",\n \"server.validation.ai.cubeNotFoundWithSuggestion\": \"Cube '{cubeName}' niet gevonden\",\n \"server.validation.ai.dimensionNotFoundWithAvailable\": \"Dimensie '{dimensionName}' not gevonden on cube '{cubeName}'\",\n \"server.validation.ai.dimensionNotFoundWithSuggestion\": \"Dimensie '{dimensionName}' not gevonden on cube '{cubeName}'\",\n \"server.validation.ai.dimensionNotTimeType\": \"Dimensie '{dimension}' is not a time type (it's '{type}')\",\n \"server.validation.ai.emptyQuery\": \"Query moet hebben bij minimaal één meting van dimensie\",\n \"server.validation.ai.eventDimensionRequired\": \"flow.eventDimension is vereist\",\n \"server.validation.ai.filterFieldNotFound\": \"Filter veld '{fieldName}' niet gevonden op cube '{cubeName}'\",\n \"server.validation.ai.filterFieldNotFoundWithSuggestion\": \"Filter veld '{fieldName}' niet gevonden op cube '{cubeName}'\",\n \"server.validation.ai.funnelRequiresSteps\": \"funnel vereist bij minimaal 2 stappen\",\n \"server.validation.ai.funnelStepsRequired\": \"funnel.stappen array is vereist\",\n \"server.validation.ai.granularityNotSpecified\": \"retentie.granularity not specified\",\n \"server.validation.ai.invalidDimensionFormat\": \"Ongeldig dimensie format: '{dimension}'. Expected 'CubeName.dimensionName'\",\n \"server.validation.ai.invalidFilterMemberFormat\": \"Ongeldig filter member format: '{member}'\",\n \"server.validation.ai.invalidMeasureFormat\": \"Ongeldig meting format: '{measure}'. Expected 'CubeName.measureName'\",\n \"server.validation.ai.measureNotFoundWithAvailable\": \"Meting '{measureName}' not gevonden on cube '{cubeName}'\",\n \"server.validation.ai.measureNotFoundWithSuggestion\": \"Meting '{measureName}' not gevonden on cube '{cubeName}'\",\n \"server.validation.ai.performanceManyDimensions\": \"Query heeft {count} dimensies, welke kan produce veel rijen\",\n \"server.validation.ai.performanceManyMeasures\": \"Query heeft {count} metingen, welke kan impact prestatie\",\n \"server.validation.ai.periodsNotSpecified\": \"retentie.periods not specified\",\n \"server.validation.ai.retentionTimeDimensionRequired\": \"retentie.timeDimension is vereist\",\n \"server.validation.ai.stepMissingName\": \"Stap {step} is ontbrekend a name\",\n \"server.validation.ai.stepsBothMissing\": \"Neither stepsBefore nor stepsAfter opgegeven\",\n \"server.validation.ai.suggestAddDimensionFilters\": \"Overweeg adding filters van reducing dimensies\",\n \"server.validation.ai.suggestAddStepNames\": \"Voeg descriptive names naar funnel stappen\",\n \"server.validation.ai.suggestSetSteps\": \"Set stepsBefore en/van stepsAfter naar zien gebeurtenis sequences\",\n \"server.validation.ai.suggestSpecifyGranularity\": \"Specify granularity: \\\"day\\\", \\\"week\\\", van \\\"maand\\\"\",\n \"server.validation.ai.suggestSpecifyPeriods\": \"Specify nummer van periodes naar analyze\",\n \"server.validation.ai.suggestSplitQueries\": \"Overweeg splitting naar meerdere queries\",\n \"server.validation.ai.suggestUseTimeDimension\": \"Gebruik a dimensie met type \\\"time\\\" voor timeDimensions\",\n \"server.validation.ai.timeDimensionRequired.flow\": \"flow.timeDimension is vereist\",\n \"server.validation.ai.timeDimensionRequired.funnel\": \"funnel.timeDimension is vereist\",\n \"server.validation.chart.barNeedsDimension\": \"Staafgrafieken hebben een xAxis-dimensie nodig voor categorielabels. Voeg een dimensie toe aan de query of gebruik in plaats daarvan het grafiektype \\\"table\\\".\",\n \"server.validation.chart.barXAxisRequired\": \"chartConfig.xAxis is vereist voor staaf grafieken. Put een dimensie in xAxis so bars hebben categorie labels.\",\n \"server.validation.chart.dropZoneRequired\": \"chartConfig.{key} is vereist voor {chartType} grafiek ({label}). Accepts: {acceptDesc}.\",\n \"server.validation.chart.seriesDuplicatesXAxis\": \"chartConfig.series mag niet hetzelfde veld bevatten als xAxis (gevonden: {duplicates}). Het series-veld is alleen bedoeld om te splitsen in gegroepeerde/gestapelde subseries met een ANDERE dimensie. Verwijder het duplicaat uit series.\",\n \"server.validation.flow.bindingKeyCubeNotFound\": \"Koppeling sleutel cube niet gevonden: {cubeName}\",\n \"server.validation.flow.bindingKeyDimNotFound\": \"Koppeling sleutel dimensie niet gevonden: {dimName} in cube {cubeName}\",\n \"server.validation.flow.bindingKeyMappingCubeNotFound\": \"Koppeling sleutel mapping cube niet gevonden: {cubeName}\",\n \"server.validation.flow.eventDimCubeNotFound\": \"Gebeurtenis dimensie cube not gevonden: {cubeName}\",\n \"server.validation.flow.eventDimNotFound\": \"Gebeurtenis dimensie not gevonden: {dimName} in cube {cubeName}\",\n \"server.validation.flow.eventDimRequired\": \"Gebeurtenis dimensie is vereist voor flow analyse\",\n \"server.validation.flow.highStepDepthWarning\": \"Hoog stap depth (4-5) kan impact query prestatie op groot datasets\",\n \"server.validation.flow.invalidBindingKeyFormat\": \"Ongeldig binding key format: {bindingKey}. Expected 'CubeName.dimensionName'\",\n \"server.validation.flow.invalidEventDimFormat\": \"Ongeldig gebeurtenis dimensie format: {eventDimension}. Expected 'CubeName.dimensionName'\",\n \"server.validation.flow.invalidJoinStrategy\": \"Ongeldig joinStrategy: {joinStrategy}\",\n \"server.validation.flow.invalidTimeDimFormat\": \"Ongeldig time dimensie format: {timeDimension}. Expected 'CubeName.dimensionName'\",\n \"server.validation.flow.lateralNotSupported\": \"Lateral joins zijn niet supported op deze database\",\n \"server.validation.flow.lateralNotSupportedExec\": \"Lateral joins met CTE verwijzingen zijn niet supported op deze database\",\n \"server.validation.flow.sqliteNotSupported\": \"Flow queries zijn niet supported on SQLite. Gebruik PostgreSQL of MySQL voor flow analyse.\",\n \"server.validation.flow.startingStepFilterRequired\": \"Startende stap moet hebben bij minimaal één filter\",\n \"server.validation.flow.startingStepNameMissing\": \"Startende stap heeft geen naam - met standaard\",\n \"server.validation.flow.startingStepRequired\": \"Startende stap is vereist voor flow analyse\",\n \"server.validation.flow.stepsBeforeRange\": \"stepsBefore moet zijn tussen 0 en 5, got: {value}\",\n \"server.validation.flow.stepsAfterRange\": \"stepsAfter moet zijn tussen 0 en 5, got: {value}\",\n \"server.validation.flow.timeDimCubeNotFound\": \"Tijd dimensie cube not gevonden: {cubeName}\",\n \"server.validation.flow.timeDimNotFound\": \"Tijd dimensie not gevonden: {dimName} in cube {cubeName}\",\n \"server.validation.funnel.bindingKeyCubeNotFound\": \"Koppeling sleutel cube niet gevonden: {cubeName}\",\n \"server.validation.funnel.bindingKeyDimNotFound\": \"Koppeling sleutel dimensie niet gevonden: {dimName} in cube {cubeName}\",\n \"server.validation.funnel.bindingKeyMappingCubeNotFound\": \"Koppeling sleutel mapping cube niet gevonden: {cubeName}\",\n \"server.validation.funnel.invalidBindingKeyFormat\": \"Ongeldig binding key format: {bindingKey}. Expected 'CubeName.dimensionName'\",\n \"server.validation.funnel.invalidTimeDimFormat\": \"Ongeldig time dimensie format: {timeDimension}. Expected 'CubeName.dimensionName'\",\n \"server.validation.funnel.minSteps\": \"Funnel moet hebben bij minimaal 2 stappen\",\n \"server.validation.funnel.stepCubeNotFound\": \"Stap {step} cube not gevonden: {cube}\",\n \"server.validation.funnel.stepFilterCubeNotFound\": \"Stap {step} filter cube not gevonden: {cubeName}\",\n \"server.validation.funnel.stepFilterIsMeasure\": \"Stap {step} filter '{member}' is a meting. Funnel stap filters only support dimensies, not metingen.\",\n \"server.validation.funnel.stepFilterMemberNotFound\": \"Stap {step} filter member not gevonden: {field} in cube {cubeName}\",\n \"server.validation.funnel.stepFilterNoJoinPath\": \"Stap {step} filter '{member}' requires a join van '{stepCube}' but no join pad was gevonden. Define a join relationship tussen these cubes.\",\n \"server.validation.funnel.stepMustHaveName\": \"Stap {step} moet have a name\",\n \"server.validation.funnel.stepTimeToConvertFormat\": \"Stap {step} timeToConvert moet be ISO 8601 duration format: {value}\",\n \"server.validation.funnel.timeDimCubeNotFound\": \"Tijd dimensie cube not gevonden: {cubeName}\",\n \"server.validation.funnel.timeDimNotFound\": \"Tijd dimensie not gevonden: {dimName} in cube {cubeName}\",\n \"server.validation.retention.bindingKeyCubeNotFound\": \"Koppeling sleutel cube niet gevonden: {cubeName}\",\n \"server.validation.retention.bindingKeyDimNotFound\": \"Koppeling sleutel dimensie niet gevonden: {dimName} in cube {cubeName}\",\n \"server.validation.retention.bindingKeyMappingCubeNotFound\": \"Koppeling sleutel mapping cube niet gevonden: {cubeName}\",\n \"server.validation.retention.breakdownDimCubeNotFound\": \"Opsplitsing dimensie cube niet gevonden: {cubeName}\",\n \"server.validation.retention.breakdownDimNotFound\": \"Opsplitsing dimensie niet gevonden: {dimName} in cube {cubeName}\",\n \"server.validation.retention.cubeNotFound\": \"Cube niet gevonden: {cubeName}\",\n \"server.validation.retention.dateRangeEndRequired\": \"Datum range end is vereist\",\n \"server.validation.retention.dateRangeInvalidEnd\": \"Ongeldig date range end format\",\n \"server.validation.retention.dateRangeInvalidStart\": \"Ongeldig date range start format\",\n \"server.validation.retention.dateRangeRequired\": \"Datum range is vereist\",\n \"server.validation.retention.dateRangeStartBeforeEnd\": \"Datum range start moet be voor of equal naar end\",\n \"server.validation.retention.dateRangeStartRequired\": \"Datum range start is vereist\",\n \"server.validation.retention.invalidBindingKeyFormat\": \"Ongeldig binding key format: {bindingKey}. Expected 'CubeName.dimensionName'\",\n \"server.validation.retention.invalidBreakdownDimFormat\": \"Ongeldig breakdown dimensie format: {dimension}. Expected 'CubeName.dimensionName'\",\n \"server.validation.retention.invalidGranularity\": \"Ongeldig granularity: {granularity}\",\n \"server.validation.retention.invalidRetentionType\": \"Ongeldig retentie type: {retentionType}\",\n \"server.validation.retention.invalidTimeDimFormat\": \"Ongeldig time dimensie format: {timeDimension}\",\n \"server.validation.retention.noBindingKeyMapping\": \"Geen binding key mapping gevonden voor cube: {cubeName}\",\n \"server.validation.retention.periodsMax\": \"Periodes kan niet exceed 52 (prestatie limiet)\",\n \"server.validation.retention.periodsMin\": \"Periodes moet zijn bij minimaal 1\",\n \"server.validation.retention.timeDimNotFound\": \"Tijd dimensie not gevonden: {dimName}\",\n \"server.validation.calculatedMeasure.mustHaveCalculatedSql\": \"Berekend meting '{cubeName}.{fieldName}' moet hebben calculatedSql property\",\n \"server.validation.calculatedMeasure.invalidSyntax\": \"Ongeldig calculatedSql syntax in '{cubeName}.{fieldName}': {errors}\",\n \"server.validation.calculatedMeasure.circularDependency\": \"Circular dependency detected in berekend metingen: {cycle}\",\n \"server.validation.query.multipleQueryModes\": \"Query bevat meerdere query modes: {modes}\",\n \"server.validation.query.funnelBindingKeyCubeNotFound\": \"Funnel koppeling sleutel cube niet gevonden: {cubeName}\",\n \"server.validation.query.flowBindingKeyCubeNotFound\": \"Flow koppeling sleutel cube niet gevonden: {cubeName}\",\n \"server.validation.query.retentionCubeNotFound\": \"Retentie cube niet gevonden: {cubeName}\",\n \"server.validation.query.retentionBindingKeyCubeNotFound\": \"Retentie koppeling sleutel cube niet gevonden: {cubeName}\",\n \"server.validation.query.retentionBreakdownCubeNotFound\": \"Retentie opsplitsing cube niet gevonden: {cubeName}\",\n \"server.validation.query.invalidMeasureFormat\": \"Ongeldig meting format: {measure}. Expected format: 'CubeName.fieldName'\",\n \"server.validation.query.cubeNotFoundForMeasure\": \"Cube '{cubeName}' niet gevonden (referenced in meting '{measure}')\",\n \"server.validation.query.measureNotFound\": \"Meting '{fieldName}' not gevonden on cube '{cubeName}'{hint}\",\n \"server.validation.query.invalidDimensionFormat\": \"Ongeldig dimensie format: {dimension}. Expected format: 'CubeName.fieldName'\",\n \"server.validation.query.cubeNotFoundForDimension\": \"Cube '{cubeName}' niet gevonden (referenced in dimensie '{dimension}')\",\n \"server.validation.query.dimensionNotFound\": \"Dimensie '{fieldName}' not gevonden on cube '{cubeName}'{hint}\",\n \"server.validation.query.invalidTimeDimensionFormat\": \"Ongeldig timeDimension format: {dimension}. Expected format: 'CubeName.fieldName'\",\n \"server.validation.query.cubeNotFoundForTimeDimension\": \"Cube '{cubeName}' niet gevonden (referenced in timeDimension '{dimension}')\",\n \"server.validation.query.timeDimensionNotFound\": \"TimeDimension '{fieldName}' niet gevonden op cube '{cubeName}' (moet zijn een dimensie met tijd type)\",\n \"server.validation.query.mustReferenceAtLeastOneCube\": \"Query moet reference bij minimaal één cube through metingen, dimensies, van filters\",\n \"server.validation.query.ungroupedRequiresDimension\": \"Ongegroepeerd queries require bij minimaal één dimensie van tijd dimensie\",\n \"server.validation.query.ungroupedIncompatibleFunnel\": \"Ungrouped queries are incompatible met funnel analyse\",\n \"server.validation.query.ungroupedIncompatibleFlow\": \"Ungrouped queries are incompatible met flow analyse\",\n \"server.validation.query.ungroupedIncompatibleRetention\": \"Ungrouped queries are incompatible met retentie analyse\",\n \"server.validation.query.ungroupedIncompatibleCompareDateRange\": \"Ongegroepeerd queries zijn incompatible met compareDateRange\",\n \"server.validation.query.ungroupedIncompatibleFillMissingDates\": \"Ongroepeerde queries zijn niet compatibel met fillMissingDates\",\n \"server.validation.query.filterMustHaveMember\": \"Filter moet hebben een lid veld\",\n \"server.validation.query.invalidFilterMemberFormat\": \"Ongeldig filter member format: {member}. Expected format: 'CubeName.fieldName'\",\n \"server.validation.query.cubeNotFoundForFilter\": \"Cube '{cubeName}' niet gevonden (referenced in filter '{member}')\",\n \"server.validation.query.filterFieldNotFound\": \"Filter veld '{fieldName}' niet gevonden op cube '{cubeName}' (moet zijn een dimensie van meting){hint}\",\n \"server.errors.funnel.cubeNotFoundForStep\": \"Cube niet gevonden voor stap: {cube}\",\n \"server.errors.funnel.cubeNotFoundForBindingKey\": \"Cube niet gevonden voor koppeling sleutel: {bindingKey}\",\n \"server.errors.funnel.cannotResolveCubeForStep\": \"Kan niet resolve cube voor stap - meerdere-cube funnel vereist cube specification in each stap\",\n \"server.errors.funnel.bindingKeyDimNotFound\": \"Koppeling sleutel dimensie niet gevonden: {bindingKey}\",\n \"server.errors.funnel.noBindingKeyMapping\": \"Geen binding key mapping gevonden voor cube: {cubeName}\",\n \"server.errors.funnel.bindingKeyMappingDimNotFound\": \"Koppeling sleutel dimensie niet gevonden: {dimension}\",\n \"server.errors.funnel.timeDimNotFound\": \"Tijd dimensie not gevonden: {timeDimension}\",\n \"server.errors.funnel.noTimeDimMapping\": \"Geen time dimensie mapping gevonden voor cube: {cubeName}\",\n \"server.errors.funnel.timeDimMappingNotFound\": \"Tijd dimensie not gevonden: {dimension}\",\n \"server.errors.flow.cannotResolveCube\": \"Kan niet resolve cube voor flow query\",\n \"server.errors.flow.cubeNotFound\": \"Cube niet gevonden: {cubeName}\",\n \"server.errors.flow.bindingKeyDimNotFound\": \"Koppeling sleutel dimensie niet gevonden: {bindingKey}\",\n \"server.errors.flow.noBindingKeyMapping\": \"Geen binding key mapping gevonden voor cube: {cubeName}\",\n \"server.errors.flow.bindingKeyMappingDimNotFound\": \"Koppeling sleutel dimensie niet gevonden: {dimension}\",\n \"server.errors.flow.timeDimNotFound\": \"Tijd dimensie not gevonden: {timeDimension}\",\n \"server.errors.flow.noTimeDimMapping\": \"Geen time dimensie mapping gevonden voor cube: {cubeName}\",\n \"server.errors.flow.timeDimMappingNotFound\": \"Tijd dimensie not gevonden: {dimension}\",\n \"server.errors.flow.eventDimNotFound\": \"Gebeurtenis dimensie not gevonden: {eventDimension}\",\n \"server.validation.template.emptyReference\": \"Leeg lid reference {} gevonden in template\",\n \"server.validation.template.invalidMemberReference\": \"Ongeldig member reference {ref}: moet start met letter of underscore, en contain only letters, numbers, underscores, en dots\",\n \"server.validation.template.multipleDots\": \"Ongeldig member reference {ref}: only one dot allowed (Cube.meting format)\",\n \"server.validation.template.nestedBraces\": \"Nested braces zijn niet allowed in lid verwijzingen\",\n \"server.validation.template.substituteTargetCubeNotFound\": \"Kan niet substitute {ref}: cube '{cubeName}' niet gevonden\",\n \"server.validation.template.substituteMeasureNotResolved\": \"Kan niet substitute {ref}: meting '{measureName}' niet resolved yet. Ensure metingen zijn resolved in dependency order.\",\n \"server.validation.template.unmatchedClosingBrace\": \"Unmatched closing brace bij position {position}\",\n \"server.validation.template.unmatchedOpeningBrace\": \"Ongepaarde openingsaccolade in sjabloon\",\n \"notebook.aiAssistant\": \"AI-assistent\",\n \"notebook.saveAsDashboard\": \"Opslaan as Dashboard\",\n \"notebook.saveAsDashboardTitle\": \"Opslaan notebook as a dashboard\",\n \"notebook.clearTitle\": \"Wissen notebook en chat\",\n \"notebook.feedbackThanks\": \"Thanks voor je feedback!\",\n \"notebook.feedbackQuestion\": \"Was deze helpful?\",\n \"notebook.feedbackYes\": \"Ja\",\n \"notebook.feedbackNo\": \"Nee\",\n \"notebook.thinking\": \"Denken...\",\n \"notebook.emptyState.title\": \"Gegevens Analyse Assistant\",\n \"notebook.emptyState.description\": \"Ask me about je gegevens en I'll create visualisaties en insights.\",\n \"notebook.emptyState.example1\": \"\\\"Toon me employee productivity trends\\\"\",\n \"notebook.emptyState.example2\": \"\\\"What zijn de boven departments op headcount?\\\"\",\n \"notebook.emptyState.example3\": \"\\\"Vergelijk omzet per productcategorie\\\"\",\n \"notebook.saveAsDashboardPrompt\": \"Sla het huidige notebook op als dashboard met een professionele lay-out, sectiekoppen en passende filters.\",\n \"notebook.chatInput.placeholder\": \"Ask about je gegevens...\",\n \"notebook.chatInput.stop\": \"Stoppen\",\n \"notebook.chatInput.continue\": \"Doorgaan\",\n \"notebook.chatInput.send\": \"Verzenden\",\n \"notebook.canvas.emptyTitle\": \"Je notebook is leeg\",\n \"notebook.canvas.emptyDescription\": \"Stel de AI-assistent een vraag over je gegevens. Grafieken en inzichten verschijnen hier terwijl de assistent je gegevens analyseert.\",\n \"notebook.canvas.editVisualization\": \"Bewerken Visualization\",\n \"notebook.canvas.update\": \"Bijwerken\",\n \"notebook.collapsed.noBlocks\": \"Geen blocks\",\n \"notebook.collapsed.expandNotebook\": \"Notitieblok uitklappen\",\n \"notebook.collapsed.expandChat\": \"AI-chat uitklappen\",\n \"notebook.collapsed.aiChat\": \"AI-chat\",\n \"notebook.collapsed.markdown\": \"Markdown\",\n \"schema.loading\": \"Laden cube schema...\",\n \"schema.error\": \"Mislukt naar load cube schema\",\n \"schema.noCubes\": \"Geen cubes gevonden\",\n \"schema.noCubesHint\": \"Register some kubussen naar zien de relationship diagram\",\n \"schema.computingLayout\": \"Layout berekenen...\",\n \"schema.searchPlaceholder\": \"Zoeken cubes en velden...\",\n \"schema.autoLayout\": \"Automatisch Layout\",\n \"schema.missingDeps.title\": \"Schema Visualization vereist additional packages\",\n \"schema.missingDeps.description\": \"Install de vereist dependencies naar enable de interactive schema diagram:\",\n \"schema.loadingVisualization\": \"Laden schema visualisatie...\",\n \"schema.measures\": \"Metingen ({count})\",\n \"schema.timeDimensions\": \"Tijd Dimensies ({count})\",\n \"schema.dimensions\": \"Dimensies ({count})\",\n \"schema.cubeInfo\": \"Cube-info\",\n \"dataBrowser.selectCube\": \"Selecteer a cube\",\n \"dataBrowser.selectCubeHint\": \"Kies een cube uit de zijbalk om de gegevens te bekijken\",\n \"dataBrowser.loadingData\": \"Laden gegevens...\",\n \"dataBrowser.noData\": \"Geen gegevens\",\n \"dataBrowser.noRows\": \"Geen rijen geretourneerd voor deze query\",\n \"dataBrowser.toolbar.filters\": \"Filters\",\n \"dataBrowser.toolbar.columns\": \"Kolommen\",\n \"dataBrowser.toolbar.rows\": \"{count} rijen\",\n \"dataBrowser.sidebar.cubes\": \"Kubussen\",\n \"dataBrowser.sidebar.searchPlaceholder\": \"Zoeken...\",\n \"dataBrowser.sidebar.noCubes\": \"Geen cubes gevonden\",\n \"queryAnalysis.summary\": \"Query Samenvatting\",\n \"queryAnalysis.summary.type\": \"Type\",\n \"queryAnalysis.summary.cubes\": \"Kubussen\",\n \"queryAnalysis.summary.joins\": \"Joins\",\n \"queryAnalysis.summary.ctes\": \"CTE's\",\n \"queryAnalysis.summary.strategy\": \"Strategie\",\n \"queryAnalysis.primaryCube\": \"Primary Cube (VAN tabel)\",\n \"queryAnalysis.primaryCube.showCandidates\": \"Toon candidates ({count})\",\n \"queryAnalysis.primaryCube.reachable\": \"bereikbaar\",\n \"queryAnalysis.primaryCube.cannotReachAll\": \"kan niet reach alle\",\n \"queryAnalysis.joinPaths\": \"Join Paden\",\n \"queryAnalysis.joinPaths.steps\": \"{count} stap\",\n \"queryAnalysis.joinPaths.stepsPlural\": \"{count} stappen\",\n \"queryAnalysis.joinPaths.noPath\": \"Geen pad\",\n \"queryAnalysis.joinPaths.selection\": \"Selectie:\",\n \"queryAnalysis.joinPaths.pathCandidates\": \"Pad scoring candidates ({count})\",\n \"queryAnalysis.joinPaths.visitedCubes\": \"Kubussen visited during search ({count})\",\n \"queryAnalysis.preAggregations\": \"Pre-aggregatie-CTE's\",\n \"queryAnalysis.preAggregations.measures\": \"Metingen:\",\n \"queryAnalysis.preAggregations.joinKeys\": \"Join-sleutels:\",\n \"queryAnalysis.warnings\": \"Waarschuwingen\",\n \"queryAnalysis.cubesInvolved\": \"Kubussen involved:\",\n \"common.actions.copied\": \"Gekopieerd\",\n \"common.actions.copyToClipboard\": \"Kopiëren naar clipboard\",\n \"chart.availability.requiresMeasure\": \"Vereist ten minste 1 meting\",\n \"chart.availability.requiresTwoMeasures\": \"Vereist ten minste 2 metingen\",\n \"chart.availability.requiresDimension\": \"Vereist ten minste 1 dimensie\",\n \"chart.availability.requiresTwoDimensions\": \"Vereist ten minste 2 dimensies\",\n \"chart.availability.requiresTimeDimension\": \"Vereist een tijdsdimensie\",\n \"chart.availability.scatter\": \"Vereist 2 metingen, of 1 meting plus 1 dimensie\",\n \"chart.availability.bubble\": \"Vereist ten minste 2 metingen en 1 dimensie\",\n\n \"chart.runtime.noData\": \"Geen gegevens beschikbaar\",\n \"chart.runtime.noDataHint.bar\": \"Geen datapunten om weer te geven in staafgrafiek\",\n \"chart.runtime.noDataHint.line\": \"Geen datapunten om weer te geven in lijngrafiek\",\n \"chart.runtime.noDataHint.area\": \"Geen datapunten om weer te geven in vlakgrafiek\",\n \"chart.runtime.noDataHint.pie\": \"Geen datapunten om weer te geven in cirkeldiagram\",\n \"chart.runtime.noDataHint.scatter\": \"Geen datapunten om weer te geven in spreidingsdiagram\",\n \"chart.runtime.noDataHint.radar\": \"Geen datapunten om weer te geven in radardiagram\",\n \"chart.runtime.noDataHint.radialBar\": \"Geen datapunten om weer te geven in radial staafgrafiek\",\n \"chart.runtime.noDataHint.treemap\": \"Geen datapunten om weer te geven in boomkaart\",\n \"chart.runtime.noDataHint.bubble\": \"Geen datapunten om weer te geven in bellendiagram\",\n \"chart.runtime.noDataHint.boxPlot\": \"Geen datapunten om weer te geven in boxplot\",\n \"chart.runtime.noDataHint.waterfall\": \"Geen datapunten om weer te geven in watervalgrafiek\",\n \"chart.runtime.noDataHint.candlestick\": \"Geen datapunten om weer te geven in candlestickgrafiek\",\n \"chart.runtime.noDataHint.gauge\": \"Geen datapunten om weer te geven in meterdiagram\",\n \"chart.runtime.noDataHint.measureProfile\": \"Geen datapunten om weer te geven in meetprofielgrafiek\",\n \"chart.runtime.noDataHint.activityGrid\": \"Geen datapunten om weer te geven in activiteitenraster\",\n \"chart.runtime.noDataHint.heatmap\": \"Voer een query uit om de heatmap-visualisatie te zien\",\n \"chart.runtime.noDataHint.table\": \"Geen gegevens naar weergeven in tabel\",\n \"chart.runtime.noDataHint.kpi\": \"Geen gegevens points naar weergeven\",\n \"chart.runtime.noDataHint.funnel\": \"Configureer een funnel met minimaal 2 stappen en een koppelingssleutel\",\n \"chart.runtime.noDataHint.flow\": \"Configureer een flowanalyse met een startstap en eventdimensie\",\n \"chart.runtime.noDataHint.retention\": \"Configureer retentieanalyse om resultaten te zien\",\n \"chart.runtime.noValidData\": \"Geen geldige gegevens\",\n \"chart.runtime.noValidDataHint.bar\": \"Geen geldige datapunten voor staafgrafiek na transformatie\",\n \"chart.runtime.noValidDataHint.line\": \"Geen geldige datapunten voor lijngrafiek na transformatie\",\n \"chart.runtime.noValidDataHint.area\": \"Geen geldige datapunten voor vlakgrafiek na transformatie\",\n \"chart.runtime.noValidDataHint.scatter\": \"Geen geldige datapunten voor spreidingsdiagram na transformatie\",\n \"chart.runtime.noValidDataHint.radar\": \"Geen geldige datapunten voor radardiagram na transformatie\",\n \"chart.runtime.noValidDataHint.radialBar\": \"Geen geldige datapunten voor radial staafgrafiek na transformatie\",\n \"chart.runtime.noValidDataHint.treemap\": \"Geen geldige datapunten voor boomkaart na transformatie\",\n \"chart.runtime.noValidDataHint.pie\": \"Geen datapunten om weer te geven in cirkeldiagram\",\n \"chart.runtime.noValidDataHint.pieFiltered\": \"Uitgefilterd {count} gegevens punten (zero van ongeldig waarden)\",\n \"chart.runtime.noValidDataHint.boxPlot\": \"Kon boxplotstatistieken niet berekenen uit de opgegeven gegevens\",\n \"chart.runtime.noValidDataHint.gauge\": \"Gauge-waarde is geen geldig getal\",\n \"chart.runtime.noValidDataHint.kpiText\": \"Alle waarden are null of ongeldig\",\n \"chart.runtime.configError\": \"Configuratiefout\",\n \"chart.runtime.configErrorHint.axisInvalid\": \"Ongeldige of ontbrekende grafiek-asconfiguratie\",\n \"chart.runtime.configErrorHint.axisFields\": \"Vereiste velden voor X-as of Y-as ontbreken\",\n \"chart.runtime.configErrorHint.pieAxis\": \"chartConfig.x/y of chartConfig.xAxis/yAxis is vereist voor cirkeldiagram\",\n \"chart.runtime.configErrorHint.radarNumeric\": \"Geen numerieke velden gevonden voor radardiagramwaarden\",\n \"chart.runtime.configErrorHint.radialBarNumeric\": \"Geen numeriek veld gevonden voor radial-bar-grafiekwaarden\",\n \"chart.runtime.configErrorHint.treemapNumeric\": \"Geen numeriek veld gevonden voor treemapgrootte\",\n \"chart.runtime.configErrorHint.noMeasure\": \"Geen metingveld geconfigureerd\",\n \"chart.runtime.configErrorHint.noMeasures\": \"Geen metingvelden geconfigureerd\",\n \"chart.runtime.configErrorHint.bubbleRequired\": \"Bellendiagram vereist xAxis-, yAxis-, reeksen- en sizeField-dimensies\",\n \"chart.runtime.configErrorHint.bubbleOptional\": \"Optioneel: colorField voor bubble-kleuring\",\n \"chart.runtime.configErrorHint.activityGridRequired\": \"Activiteitsraster vereist een tijdsdimensie en een meting\",\n \"chart.runtime.chartError\": \"{chartType} Fout\",\n \"chart.runtime.unknownError\": \"Onbekende renderfout\",\n \"chart.runtime.checkConfig\": \"Controleer de gegevens en configuratie\",\n \"chart.runtime.unableToRender\": \"Kan retentiegegevens niet renderen\",\n \"chart.runtime.dataFormatIncorrect\": \"Gegevensindeling kan onjuist zijn\",\n \"chart.runtime.measuringDimensions\": \"Grafiekafmetingen worden gemeten...\",\n \"chart.runtime.unableToDisplay\": \"Kan grafiek niet weergeven\",\n \"chart.runtime.responsiveContainerError\": \"Maken van responsieve container mislukt\",\n \"chart.runtime.noDataToDisplay\": \"Geen gegevens om weer te geven\",\n \"chart.runtime.table.invalidStructure\": \"Gegevens structure is ongeldig\",\n \"chart.runtime.heatmapNoResults\": \"De query retourneerde geen resultaten voor de heatmap\",\n \"chart.runtime.heatmapConfigRequired\": \"Configuratie vereist\",\n \"chart.runtime.heatmapXRequired\": \"X-asdimensie vereist.\",\n \"chart.runtime.heatmapYRequired\": \"Y-asdimensie vereist.\",\n \"chart.runtime.heatmapValueRequired\": \"Waarde-meting vereist.\",\n \"chart.runtime.heatmapTruncated\": \"Gegevens ingekort tot {maxRows}x{maxCols} cellen (origineel: {originalRows}x{originalCols}). Voeg filters toe om dimensies te verkleinen.\",\n \"chart.runtime.activityGridGranularityTooHigh\": \"Granulariteit te hoog\",\n \"chart.runtime.activityGridGranularityHint\": \"Activiteitsrasters werken het best met uur-, dag-, week-, maand- of kwartaalgranulariteit\",\n \"chart.runtime.activityGridGranularityAction\": \"Kies een lagere granulariteit voor je tijdsdimensie\",\n \"chart.runtime.activityGridConfigRequired\": \"Configuratie vereist\",\n \"chart.runtime.retention.cohort\": \"Cohort\",\n \"chart.runtime.retention.segment\": \"Segment\",\n \"chart.runtime.retention.users\": \"Gebruikers\",\n \"chart.runtime.retention.cohortSize\": \"Cohortgrootte: {count}\",\n \"chart.runtime.retention.retained\": \"Behouden: {count}\",\n \"chart.runtime.retention.rate\": \"Percentage: {rate}\",\n \"chart.runtime.retention.retentionPercent\": \"Retentie %\",\n \"chart.runtime.retention.periodLabel\": \"{cohort} - Periode {period}\",\n \"chart.runtime.retention.noData\": \"Geen gegevens\",\n \"chart.runtime.retention.total\": \"Totaal\",\n \"chart.runtime.retention.retention\": \"Retentie\",\n \"chart.runtime.funnel.noData\": \"Geen funnelgegevens\",\n \"chart.runtime.funnel.steps\": \"stappen\",\n \"chart.runtime.funnel.overall\": \"Totaal:\",\n \"chart.runtime.funnel.completed\": \"{completed} / {total} voltooid\",\n \"chart.runtime.flow.noData\": \"Geen flowgegevens\",\n \"chart.runtime.flow.events\": \"gebeurtenissen\",\n \"chart.runtime.flow.eventsAfter\": \"gebeurtenissen (na)\",\n \"chart.runtime.flow.paths\": \"Paden:\",\n \"chart.runtime.flow.startingEntities\": \"startende entiteiten\",\n \"chart.runtime.flow.entities\": \"entiteiten\",\n \"chart.runtime.kpiDelta.insufficientData\": \"Onvoldoende gegevens\",\n \"chart.runtime.kpiDelta.requiresTwoPoints\": \"Delta calculation vereist bij minimaal 2 gegevens punten\",\n \"chart.runtime.kpiDelta.currentPoints\": \"Huidige gegevens points: {count}\",\n \"chart.runtime.kpiDelta.noVariance\": \"Geen variance gegevens\",\n \"chart.runtime.kpiNumber.noData\": \"Geen gegevens\",\n \"chart.runtime.markdown.noContent\": \"Geen inhoud\",\n \"chart.runtime.markdown.addContent\": \"Voeg markdown-inhoud toe in de grafiekconfiguratie\",\n \"chart.runtime.axisFormat.label\": \"Label\",\n \"chart.runtime.axisFormat.autoLabel\": \"Automatisch-gegenereerd label\",\n \"chart.runtime.axisFormat.unit\": \"Eenheid\",\n \"chart.runtime.axisFormat.custom\": \"Aangepast\",\n \"chart.runtime.axisFormat.prefix\": \"Voorvoegsel\",\n \"chart.runtime.axisFormat.prefixExample\": \"bijv., $\",\n \"chart.runtime.axisFormat.suffix\": \"Achtervoegsel\",\n \"chart.runtime.axisFormat.suffixExample\": \"bijv., eenheden\",\n \"chart.runtime.axisFormat.abbreviation\": \"Afkorting\",\n \"chart.runtime.axisFormat.yes\": \"Ja\",\n \"chart.runtime.axisFormat.no\": \"Nee\",\n \"chart.runtime.axisFormat.decimals\": \"Decimalen\",\n \"chart.runtime.axisFormat.preview\": \"Voorbeeld\",\n \"chart.runtime.axisFormat.leftYAxis\": \"Left Y-As\",\n \"chart.runtime.axisFormat.rightYAxis\": \"Right Y-As\",\n \"chart.runtime.axisFormat.xAxis\": \"X-As\",\n \"chart.runtime.missingDep.title\": \"Ontbrekende afhankelijkheid\",\n \"chart.runtime.missingDep.description\": \"De {chartType} grafiek vereist de {packageName} package.\",\n \"chart.runtime.missingDep.restartHint\": \"Start na installatie je ontwikkelserver opnieuw.\",\n \"chart.runtime.unknownChartType\": \"Onbekend grafiektype\",\n \"chart.runtime.unknownChartTypeHint\": \"\\\"{chartType}\\\" is niet registered\",\n \"chart.runtime.boxPlot.truncated\": \"Gegevens ingekort tot {max} groepen (origineel: {total})\",\n \"chart.runtime.candlestick.truncated\": \"Toont de eerste {max} candles (totaal: {total})\",\n \"chart.runtime.bar.hiddenPoints\": \"{count} gegevens punt(en) met geen waarden hidden\",\n \"chart.runtime.waterfall.increase\": \"Toename\",\n \"chart.runtime.waterfall.decrease\": \"Afname\",\n \"chart.runtime.waterfall.total\": \"Totaal\",\n \"chart.runtime.tooltip.noData\": \"Geen gegevens\",\n \"chart.runtime.tooltip.targetValue\": \"Doelwaarde\",\n \"results.toolbar.refreshing\": \"Vernieuwen\",\n \"results.toolbar.refresh\": \"Vernieuwen\",\n \"results.toolbar.refreshTitle\": \"Vernieuwen gegevens (Shift+klik naar bypass cache)\",\n \"results.toolbar.refreshingTitle\": \"Vernieuwen...\",\n \"results.toolbar.cacheBustTitle\": \"Klik naar vernieuw en bypass cache\",\n \"results.toolbar.clear\": \"Wissen\",\n \"results.toolbar.clearFunnel\": \"Wissen funnel\",\n \"results.toolbar.clearQuery\": \"Wissen alle query gegevens\",\n \"results.toolbar.aiClose\": \"Sluiten AI assistant\",\n \"results.toolbar.aiOpen\": \"Analyse met AI\",\n \"results.toolbar.shareTitle\": \"Share deze analyse\",\n \"results.toolbar.shareCopied\": \"Link gekopieerd!\",\n \"results.toolbar.schemaHide\": \"Verbergen schema diagram\",\n \"results.toolbar.schemaShow\": \"Toon schema diagram\",\n \"results.toolbar.debugHide\": \"Verbergen debug info\",\n \"results.toolbar.debugShow\": \"Toon debug info\",\n \"results.toolbar.chartView\": \"Grafiek view\",\n \"results.toolbar.chartDisabled\": \"Voeg metingen naar enable grafiek view\",\n \"results.toolbar.tableView\": \"Tabel view\",\n \"results.toolbar.mergedTableView\": \"Merged tabel view\",\n \"results.view.table\": \"Tabel\",\n \"results.warning.filterHint\": \"Overweeg adding filters naar improve prestatie.\",\n \"results.debug.query\": \"Query:\",\n \"results.debug.queryAnalysis\": \"Query Analyse\",\n \"results.debug.copyMarkdownTitle\": \"Kopieer query, analyse, en SQL as markdown\",\n \"results.debug.copyAsMarkdown\": \"Kopiëren as Markdown\",\n \"results.debug.analysisError\": \"Analyse unavailable due naar fout\",\n \"results.debug.analysisEmpty\": \"Voeg metingen toe om analyse te zien\",\n \"results.debug.cubeQuery\": \"Cube-query\",\n \"results.debug.cubeQueryExecuted\": \"Executed Query (met funnel filters)\",\n \"results.debug.funnelFilterHint\": \"Deze query includes an IN filter met koppeling sleutel waarden van de previous stap\",\n \"results.debug.noQuery\": \"Geen query\",\n \"results.debug.serverResponse\": \"Serverantwoord\",\n \"results.debug.noResults\": \"Geen results yet\",\n \"results.debug.chartConfig\": \"Grafiek Configuratie\",\n \"results.debug.displayConfig\": \"Weergave Configuratie\",\n \"results.debug.generatedSql\": \"Gegenereerd SQL\",\n \"results.debug.loadingSql\": \"Laden SQL...\",\n \"results.debug.executionError\": \"Execution Fout\",\n \"results.confirm.clearFunnel\": \"Wissen Funnel\",\n \"results.confirm.clearQuery\": \"Wissen Query\",\n \"results.confirm.clearFunnelMessage\": \"Zijn je sure je want naar clear deze funnel? Deze action kan niet be undone.\",\n \"results.confirm.clearQueryMessage\": \"Zijn je sure je want naar clear deze query? Deze action kan niet be undone.\",\n \"results.table.noData\": \"Geen gegevens om weer te geven\",\n \"results.table.noDataHint\": \"Voer een query uit om tabelgegevens te zien\",\n \"results.flow.noData\": \"Geen flow gegevens naar weergeven\",\n \"results.flow.noDataHint\": \"Configureer flowanalyse om resultaten te zien\",\n \"results.flow.nodes\": \"Knooppunten ({count})\",\n \"results.flow.transitions\": \"Overgangen ({count})\",\n \"results.flow.layer\": \"Laag\",\n \"results.flow.name\": \"Naam\",\n \"results.flow.count\": \"Aantal\",\n \"results.flow.from\": \"Van\",\n \"results.flow.to\": \"Naar\",\n \"results.debug.funnel.label\": \"Trechter-query\",\n \"results.debug.funnel.steps\": \"{count} stappen\",\n \"results.debug.funnel.serverQuery\": \"Trechter-serverquery\",\n \"results.debug.funnel.noQuery\": \"Geen funnelquery geconfigureerd\",\n \"results.debug.funnel.sqlPlaceholder\": \"Configureer funnel-koppelingssleutel om SQL te genereren\",\n \"results.debug.funnel.stepsTitle\": \"Funnel Stappen\",\n \"results.debug.flow.label\": \"Flow-query\",\n \"results.debug.flow.badge\": \"{before} voor, {after} na\",\n \"results.debug.flow.serverQuery\": \"Flow-serverquery\",\n \"results.debug.flow.noQuery\": \"Geen flowquery geconfigureerd\",\n \"results.debug.flow.sqlPlaceholder\": \"Configureer flow om SQL te genereren\",\n \"results.debug.flow.configTitle\": \"Flow Configuratie\",\n \"results.debug.flow.startingStep\": \"Startende Stap:\",\n \"results.debug.flow.eventDimension\": \"Gebeurtenis Dimensie:\",\n \"results.debug.flow.stepsBefore\": \"Stappen Voor:\",\n \"results.debug.flow.stepsAfter\": \"Stappen Na:\",\n \"results.debug.flow.notSet\": \"Niet set\",\n \"results.debug.flow.responseTitle\": \"Server Response (Sankey Gegevens)\",\n \"results.debug.retention.label\": \"Retentie Query\",\n \"results.debug.retention.badge\": \"{segments} segment(en), {users} gebruikers\",\n \"results.debug.retention.serverQuery\": \"Retentie Server Query\",\n \"results.debug.retention.configIncomplete\": \"Configuratie Incomplete\",\n \"results.debug.retention.configHint\": \"Configureer de retentieanalyse-instellingen om een query te genereren.\",\n \"results.debug.retention.sqlPlaceholder\": \"Configureer retentie om SQL te genereren\",\n \"results.debug.retention.configTitle\": \"Retentie Configuratie\",\n \"results.debug.retention.summaryTitle\": \"Retentie Samenvatting\",\n \"results.debug.retention.retentionType\": \"Retentie Type:\",\n \"results.debug.retention.periods\": \"Periodes:\",\n \"results.debug.retention.granularity\": \"Granulariteit:\",\n \"results.debug.retention.segments\": \"Segmenten:\",\n \"results.debug.retention.avgPeriod1\": \"Avg Periode 1:\",\n \"results.debug.retention.maxPeriod1\": \"Max Periode 1:\",\n \"results.debug.retention.minPeriod1\": \"Min Periode 1:\",\n \"results.debug.standard.sqlPlaceholder\": \"Voeg metingen toe om SQL te genereren\",\n \"flow.tabs.flow\": \"Stroom\",\n \"flow.tabs.display\": \"Weergave\",\n \"flow.tabs.displayUnavailable\": \"Weergave options not beschikbaar\",\n \"flow.tabs.displayTitle\": \"Weergave options\",\n \"flow.visualization.title\": \"Visualisatie\",\n \"flow.visualization.description\": \"Kies hoe je de flowgegevens wilt visualiseren. Dit bepaalt hoe gegevens worden geaggregeerd.\",\n \"flow.visualization.sankey\": \"Sankey\",\n \"flow.visualization.sankeyHint\": \"Paden can converge\",\n \"flow.visualization.sunburst\": \"Sunburst\",\n \"flow.visualization.sunburstHint\": \"Unique paden alleen\",\n \"flow.startingStep.title\": \"Startende Stap\",\n \"flow.startingStep.description\": \"Define de anchor gebeurtenis van welke paden will zijn explored in both directions.\",\n \"flow.startingStep.filterLabel\": \"Filter Voorwaarden\",\n \"flow.depth.title\": \"Verkenningsdiepte\",\n \"flow.depth.descriptionSankey\": \"Hoe veel stappen naar explore voor en na de startende stap.\",\n \"flow.depth.descriptionSunburst\": \"Hoe veel stappen naar explore na de startende stap.\",\n \"flow.depth.stepsBefore\": \"Stappen Voor\",\n \"flow.depth.stepsBeforeNA\": \"(N/EEN)\",\n \"flow.depth.stepsAfter\": \"Stappen Na\",\n \"flow.depth.performanceWarning\": \"Hoog stap depth (4-5) kan impact query prestatie op groot datasets.\",\n \"flow.joinStrategy.title\": \"Join-strategie\",\n \"flow.joinStrategy.description\": \"Control hoe voor/na stappen zijn fetched. Schakel naar window if lateral is slower op je DB.\",\n \"flow.joinStrategy.auto\": \"Automatisch (prefer lateral if beschikbaar)\",\n \"flow.joinStrategy.lateral\": \"Lateraal (index-zoekacties)\",\n \"flow.joinStrategy.window\": \"Venster (ROW_NUMBER)\",\n \"retention.tabs.retention\": \"Retentie\",\n \"retention.tabs.display\": \"Weergave\",\n \"retention.tabs.displayUnavailable\": \"Weergave options not beschikbaar\",\n \"retention.tabs.displayTitle\": \"Weergave options\",\n \"retention.dateRange.title\": \"Datum Range\",\n \"retention.dateRange.description\": \"Selecteer het datumbereik voor cohort-instroom. Gebruikers die voor het eerst binnen dit bereik verschijnen worden geanalyseerd.\",\n \"retention.dateRange.label\": \"Datum Range\",\n \"retention.dateRange.selectRange\": \"Selecteer date range\",\n \"retention.dateRange.customRange\": \"Aangepast Range\",\n \"retention.dateRange.applyCustom\": \"Toepassen Aangepast Range\",\n \"retention.cohortFilter.title\": \"Cohortfilter\",\n \"retention.cohortFilter.description\": \"Bepaal wie tot het cohort behoort. Gebruikers waarvan de eerste gebeurtenis binnen het datumbereik aan deze filters voldoet, worden opgenomen.\",\n \"retention.returnFilter.title\": \"Terugkeerfilter\",\n \"retention.returnFilter.description\": \"Define what counts as a return. Gebeurtenissen matching these filters in subsequent periods count as retentie.\",\n \"retention.breakdown.title\": \"Opsplitsing\",\n \"retention.breakdown.description\": \"Optionally segment retentie by dimensies (e.g., country, plan type).\",\n \"retention.settings.title\": \"Instellingen\",\n \"retention.settings.description\": \"Configureer hoe retentie wordt berekend en weergegeven.\",\n \"retention.settings.granularityLabel\": \"Periode Granularity\",\n \"retention.settings.periodsLabel\": \"Nummer of Periods ({min}-{max})\",\n \"retention.settings.periodsWarning\": \"Hoog periode aantal kan impact query prestatie.\",\n \"retention.settings.retentionTypeLabel\": \"Retentie Type\",\n \"debug.explainPlan\": \"Uitleggen Plan\",\n \"debug.explainRunning\": \"Draaiend...\",\n \"debug.explainIncludeTiming\": \"Inclusief timing\",\n \"debug.explainRunningAnalyze\": \"Draaiend UITLEGGEN ANALYZE...\",\n \"debug.explainRunningBasic\": \"Draaiend UITLEGGEN...\",\n \"debug.explainError\": \"Explain Fout:\",\n \"debug.sequentialScans\": \"Sequentiële scans gedetecteerd\",\n \"debug.indexesUsed\": \"{count} index gebruikt\",\n \"debug.indexesUsedPlural\": \"{count} indexen gebruikt\",\n \"debug.executionTime\": \"Uitvoering: {time}ms\",\n \"debug.planningTime\": \"Planning: {time} ms\",\n \"debug.cost\": \"Kosten: {cost}\",\n \"debug.indexes\": \"Indexen:\",\n \"debug.executionPlanTitle\": \"Uitvoering Plan ({database})\",\n \"debug.aiAnalyzing\": \"Analyseren...\",\n \"debug.aiAnalysis\": \"AI Analyse\",\n \"debug.aiAnalysisError\": \"AI Analyse Fout:\",\n \"explainAI.title\": \"AI Performance Analyse\",\n \"explainAI.assessment.good\": \"Goed\",\n \"explainAI.assessment.warning\": \"Waarschuwing\",\n \"explainAI.assessment.critical\": \"Kritiek\",\n \"explainAI.summary\": \"Samenvatting\",\n \"explainAI.queryAnalysis\": \"Query Analyse\",\n \"explainAI.issuesFound\": \"Issues Gevonden ({count})\",\n \"explainAI.recommendations\": \"Aanbevelingen ({count})\",\n \"explainAI.noRecommendations\": \"Geen specifieke aanbevelingen. De query lijkt goed geoptimaliseerd.\",\n \"explainAI.expectedImpact\": \"Verwachte impact:\",\n \"explainAI.addToCube\": \"Voeg naar {cubeName} cube:\",\n \"explainAI.modelLabel\": \"Model:\",\n \"explainAI.usingUserKey\": \"(met je API sleutel)\",\n \"explainAI.copied\": \"Gekopieerd!\",\n \"explainAI.copy\": \"Kopiëren\",\n \"explainAI.type.index\": \"INDEX\",\n \"explainAI.type.table\": \"TABEL\",\n \"explainAI.type.cube\": \"CUBE\",\n \"explainAI.type.general\": \"TIP\",\n \"errorBoundary.modeError\": \"Mode Fout\",\n \"errorBoundary.modeErrorDescription\": \"Er is een probleem opgetreden met de modus {mode}. Dit kan komen door ongeldige configuratiegegevens.\",\n \"errorBoundary.showDetails\": \"Toon fout details\",\n \"errorBoundary.unknownError\": \"Onbekend fout\",\n \"errorBoundary.tryAgain\": \"Opnieuw proberen\",\n \"errorBoundary.switchToQuery\": \"Schakel naar Query Modus\",\n \"funnel.tabs.steps\": \"Stappen\",\n \"funnel.tabs.display\": \"Weergave\",\n \"funnel.tabs.displayUnavailable\": \"Weergave options not beschikbaar\",\n \"funnel.tabs.displayTitle\": \"Weergave options\",\n \"funnel.steps.title\": \"Funnel Stappen\",\n \"funnel.steps.emptyMessage\": \"Geen stappen defined. Voeg at least 2 stappen naar create a funnel.\",\n \"funnel.steps.addFirst\": \"Voeg First Stap\",\n \"funnel.steps.addStep\": \"Voeg Stap\",\n \"funnel.steps.validationHint\": \"Voeg at least one more stap naar create a valid funnel\",\n \"funnel.step.removeTitle\": \"Verwijderen stap\",\n \"funnel.step.editNameTitle\": \"Klik naar edit naam\",\n \"funnel.step.placeholder\": \"Stap name\",\n \"funnel.step.timeWindow\": \"Tijd Window\",\n \"funnel.step.timeWindowHelp\": \"Max tijd van previous stap naar qualify\",\n \"funnel.step.filters\": \"{count} filter\",\n \"funnel.step.filtersPlural\": \"{count} filters\",\n \"funnel.step.within\": \"binnen {time}\",\n \"funnel.step.noFilters\": \"Geen filters geconfigureerd\",\n \"funnel.config.configuration\": \"Configuratie\",\n \"funnel.config.cube\": \"Cube\",\n \"funnel.config.cubeHelp\": \"Selecteer een cube die is geconfigureerd voor funnelanalyse\",\n \"funnel.config.cubePlaceholder\": \"Selecteer gebeurtenis stream cube\",\n \"funnel.config.bindingKey\": \"Koppeling Sleutel\",\n \"funnel.config.bindingKeyHelp\": \"Entity dat connects stappen (e.g., gebruiker ID, order ID)\",\n \"funnel.config.bindingKeyPlaceholder\": \"Selecteer binding key\",\n \"funnel.config.selectCubeFirst\": \"Selecteer cube first\",\n \"funnel.config.timeDimension\": \"Tijd Dimensie\",\n \"funnel.config.timeDimensionHelp\": \"Tijdstempel veld voor stap ordering\",\n \"funnel.config.timeDimensionPlaceholder\": \"Selecteer time dimensie\",\n \"funnel.config.noMatchingFields\": \"Geen matching velden gevonden\",\n \"funnel.bindingKey.searchPlaceholder\": \"Zoeken dimensies...\",\n \"funnel.bindingKey.noMatching\": \"Geen matching dimensies gevonden\",\n \"funnel.bindingKey.helpText\": \"Selecteer een dimensie die entiteiten over funnelstappen identificeert (bijv. gebruikers-ID, order-ID)\",\n \"funnel.bindingKey.clearTitle\": \"Wissen binding key\",\n \"flow.config.configuration\": \"Configuratie\",\n \"flow.config.cube\": \"Cube\",\n \"flow.config.cubeHelp\": \"Selecteer een cube die is geconfigureerd voor flowanalyse\",\n \"flow.config.cubePlaceholder\": \"Selecteer gebeurtenis stream cube\",\n \"flow.config.bindingKey\": \"Koppeling Sleutel\",\n \"flow.config.bindingKeyHelp\": \"Entity dat links gebeurtenissen together (e.g., gebruiker ID)\",\n \"flow.config.bindingKeyPlaceholder\": \"Selecteer binding key\",\n \"flow.config.selectCubeFirst\": \"Selecteer cube first\",\n \"flow.config.timeDimension\": \"Tijd Dimensie\",\n \"flow.config.timeDimensionHelp\": \"Tijdstempel veld voor gebeurtenis ordering\",\n \"flow.config.timeDimensionPlaceholder\": \"Selecteer time dimensie\",\n \"flow.config.eventDimension\": \"Gebeurtenis Dimensie\",\n \"flow.config.eventDimensionHelp\": \"Dimensie dat categorizes gebeurtenissen (node labels in Sankey)\",\n \"flow.config.eventDimensionPlaceholder\": \"Selecteer gebeurtenis dimensie\",\n \"flow.config.noMatchingFields\": \"Geen matching velden gevonden\",\n \"retention.config.configuration\": \"Configuratie\",\n \"retention.config.cube\": \"Cube\",\n \"retention.config.cubeHelp\": \"Selecteer de cube met je gebruikersgebeurtenissen\",\n \"retention.config.cubePlaceholder\": \"Selecteer cube\",\n \"retention.config.bindingKey\": \"Koppeling Sleutel\",\n \"retention.config.bindingKeyHelp\": \"Dimensie die entiteiten over gebeurtenissen identificeert (bijv. gebruikers-ID, klant-ID)\",\n \"retention.config.bindingKeyPlaceholder\": \"Selecteer user identifier\",\n \"retention.config.selectCubeFirst\": \"Selecteer cube first\",\n \"retention.config.timestamp\": \"Tijdstempel\",\n \"retention.config.timestampHelp\": \"Tijdstempel veld voor cohort entry en activiteit\",\n \"retention.config.timestampPlaceholder\": \"Selecteer timestamp\",\n \"retention.config.noMatchingFields\": \"Geen matching velden gevonden\",\n \"retention.config.searchPlaceholder\": \"Zoeken...\",\n \"display.showLegend\": \"Toon Legenda\",\n \"display.showGrid\": \"Toon Grid\",\n \"display.showTooltip\": \"Toon Tooltip\",\n \"display.stacked\": \"Gestapeld\",\n \"display.hideHeader\": \"Verbergen Header\",\n \"fieldSearch.aria.closeDialog\": \"Sluiten dialog\",\n \"fieldSearch.aria.filterByCube\": \"Filter op cube\",\n \"fieldSearch.aria.cubeCategories\": \"Cube-categorieën\",\n \"fieldSearch.aria.availableFields\": \"Beschikbaar velden\",\n \"chart.dropZone.required\": \"Deze veld is vereist\",\n \"common.actions.apply\": \"Toepassen\",\n \"common.actions.done\": \"Klaar\",\n \"common.actions.update\": \"Bijwerken\",\n \"common.actions.retry\": \"Opnieuw proberen\",\n \"common.actions.exit\": \"Afsluiten\",\n \"common.actions.selectAll\": \"Selecteer Alle\",\n \"common.saving\": \"Opslaan...\",\n \"common.labels.title\": \"Titel\",\n \"dashboardFilter.editFilter\": \"Bewerken Filter\",\n \"dashboardFilter.filterLabel\": \"Filterlabel\",\n \"dashboardFilter.enterFilterLabel\": \"Enter filter label\",\n \"dashboardFilter.universalTimeFilter\": \"Universal Tijd Filter\",\n \"dashboardFilter.universalTimeDescription\": \"Dit filter wordt toegepast op alle tijdsdimensies in gekoppelde portlets. Gebruikers kunnen het datumbereik kiezen bij het bekijken van het dashboard.\",\n \"dashboardFilter.field\": \"Veld\",\n \"dashboardFilter.showDashboardFields\": \"Toon dashboard velden only\",\n \"dashboardFilter.showAllFields\": \"Toon alle velden\",\n \"dashboardFilter.dashboard\": \"Dashboard\",\n \"dashboardFilter.all\": \"Alle\",\n \"dashboardFilter.clickToSelectField\": \"Klik naar selecteer een veld\",\n \"dashboardFilter.operator\": \"Operator\",\n \"dashboardFilter.defaultValue\": \"Standaard Waarde\",\n \"dashboardFilter.deleteFilter\": \"Verwijderen Filter\",\n \"dashboardFilter.noValueRequired\": \"Geen waarde vereist\",\n \"dashboardFilter.to\": \"naar\",\n \"dashboardFilter.selectValue\": \"Selecteer waarde...\",\n \"dashboardFilter.search\": \"Zoeken...\",\n \"dashboardFilter.errorPrefix\": \"Fout:\",\n \"dashboardFilter.noValuesFound\": \"Geen waarden gevonden\",\n \"dashboardFilter.enterValue\": \"Enter waarde...\",\n \"dashboardFilter.enterNumber\": \"Enter nummer\",\n \"dashboardFilter.min\": \"Min\",\n \"dashboardFilter.max\": \"Max\",\n \"dashboardFilter.filterLabelRequired\": \"Filter label is vereist\",\n \"dashboardFilter.selectFieldRequired\": \"Selecteer een veld voor het filter\",\n \"dashboardFilter.notSet\": \"(niet set)\",\n \"dashboardFilter.clickToConfigure\": \"Klik om te configureren\",\n \"dashboardFilter.customDate.startDate\": \"Start Datum\",\n \"dashboardFilter.customDate.endDate\": \"End Datum\",\n \"dashboardFilter.customDate.sinceDate\": \"Since Datum\",\n \"dashboardFilter.customDate.fromSelectedToToday\": \"Van selected date naar today\",\n \"dashboardFilter.customDate.number\": \"Nummer\",\n \"dashboardFilter.customDate.unit\": \"Eenheid\",\n \"dashboardFilter.customDate.lastNPreview\": \"Laatste {number} {unit}\",\n \"dashboardFilter.editMode.filters\": \"Filters\",\n \"dashboardFilter.editMode.noFilters\": \"Geen filters geconfigureerd. Klik op \\\"Voeg toe\\\" om er één te maken.\",\n \"dashboardFilter.editMode.dateRange\": \"Datum Range\",\n \"dashboardFilter.editMode.filter\": \"Filter\",\n \"dashboardFilter.editMode.editFilter\": \"Bewerken filter\",\n \"dashboardFilter.editMode.removeFilter\": \"Verwijderen filter\",\n \"dashboardFilter.filterValue.editValue\": \"Bewerken waarde\",\n \"dashboardFilter.readOnly.filters\": \"Filters\",\n \"filter.shared.fieldsInQuery\": \"Velden in Query ({count})\",\n \"filter.shared.allAvailableFields\": \"Alle Beschikbaar Velden ({count})\",\n \"filter.shared.noFieldsMatch\": \"Geen velden gevonden matching \\\"{searchTerm}\\\"\",\n \"filter.shared.searchFields\": \"Zoeken velden...\",\n \"filter.shared.selectField\": \"Selecteer veld...\",\n \"filter.shared.schemaNotLoaded\": \"Schema niet geladen\",\n \"filter.shared.group.addFilter\": \"Voeg Filter\",\n \"filter.shared.group.addAndGroup\": \"Voeg EN Groep\",\n \"filter.shared.group.addOrGroup\": \"Voeg OF Groep\",\n \"filter.shared.group.addCondition\": \"Voeg condition\",\n \"filter.shared.group.noConditions\": \"Geen conditions in deze groep.\",\n \"filter.shared.group.addFilterLink\": \"Voeg a filter\",\n \"filter.shared.builder.filters\": \"Filters ({count})\",\n \"filter.shared.builder.clearAll\": \"Wissen alle\",\n \"filter.shared.builder.addFilter\": \"Voeg Filter\",\n \"filter.shared.dateRange.title\": \"Datum Ranges ({count})\",\n \"filter.shared.dateRange.clearAll\": \"Wissen alle\",\n \"filter.shared.dateRange.addDateRange\": \"Voeg Datum Range\",\n \"filter.shared.dateRange.allHaveDateRanges\": \"Alle time dimensies already have date ranges\",\n \"filter.shared.valueSelector.noValueRequired\": \"Geen waarde vereist\",\n \"filter.shared.valueSelector.to\": \"naar\",\n \"filter.shared.valueSelector.min\": \"Min\",\n \"filter.shared.valueSelector.max\": \"Max\",\n \"filter.shared.valueSelector.enterNumber\": \"Enter nummer\",\n \"filter.shared.valueSelector.loadingValues\": \"Laden waarden...\",\n \"filter.shared.valueSelector.selectValue\": \"Selecteer waarde...\",\n \"filter.shared.valueSelector.searchValues\": \"Zoeken waarden...\",\n \"filter.shared.valueSelector.searching\": \"Searching...\",\n \"filter.shared.valueSelector.errorLoading\": \"Fout laden waarden: {error}\",\n \"filter.shared.valueSelector.noMatchingValues\": \"Geen matching waarden\",\n \"filter.shared.valueSelector.noValuesAvailable\": \"Geen waarden beschikbaar\",\n \"filter.shared.valueSelector.enterValue\": \"Enter {type} waarde\",\n \"dashboard.noPortlets\": \"Geen Portlets\",\n \"dashboard.noPortletsDescription\": \"Voeg je first portlet naar start visualizing je gegevens\",\n \"dashboard.addText\": \"Voeg Tekst\",\n \"dashboard.addPortlet\": \"Voeg Portlet\",\n \"dashboard.finishEditing\": \"Finish Editing\",\n \"dashboard.edit\": \"Bewerken\",\n \"dashboard.grid\": \"Raster\",\n \"dashboard.rows\": \"Rijen\",\n \"dashboard.desktopRequired\": \"Desktop view vereist voor editing\",\n \"dashboard.editModeHint\": \"Drag • Resize • Automatisch-save\",\n \"dashboard.filterSelectionMode\": \"Filter Selection Modus - Klik portlets naar toggle '{filterLabel}'\",\n \"dashboard.filterSelectionEscHint\": \"• Druk ESC naar exit\",\n \"dashboard.editPortlet\": \"Bewerken Portlet\",\n \"dashboard.addNewPortlet\": \"Voeg Nieuw Portlet\",\n \"dashboard.updatePortlet\": \"Bijwerken Portlet\",\n \"dashboard.deletePortlet\": \"Verwijderen Portlet\",\n \"dashboard.deletePortletConfirm\": \"Zijn je sure je want naar verwijder\",\n \"dashboard.deletePortletSuffix\": \"? Deze action kan niet zijn undone.\",\n \"dashboard.thisPortlet\": \"deze portlet\",\n \"dashboard.editModal.dashboardName\": \"Dashboard Naam\",\n \"dashboard.editModal.enterDashboardName\": \"Enter dashboard naam...\",\n \"dashboard.editModal.descriptionOptional\": \"Beschrijving (optional)\",\n \"dashboard.editModal.enterDescription\": \"Enter description...\",\n \"portlet.configRequired\": \"Configuratie vereist\",\n \"portlet.configRequiredHint\": \"Configureer deze grafiek\",\n \"portlet.queryError\": \"Query Fout\",\n \"portlet.queryWithFilters\": \"Query (met filters toegepast)\",\n \"portlet.chartConfig\": \"Grafiek Configuratie\",\n \"portlet.noDataAvailable\": \"Geen gegevens beschikbaar\",\n \"portlet.noDataDrilled\": \"Geen datapunten om weer te geven voor het huidige filter\",\n \"portlet.invalidQuery\": \"Ongeldig query of no results\",\n \"portlet.unsupportedChartType\": \"Unsupported grafiek type\",\n \"portlet.unableToRender\": \"Kan niet renderen grafiek\",\n \"portlet.enterTitle\": \"Enter portlet title...\",\n \"portlet.enterPortletTitle\": \"Voer een titel in voor de portlet.\",\n \"portlet.configureQuery\": \"Configureer een query voordat je opslaat.\",\n \"portlet.configureFlow\": \"Configureer de flowanalyse (binding key, tijdsdimensie, gebeurtenisdimensie en startstapfilter).\",\n \"portlet.configureRetention\": \"Configureer de retentieanalyse (binding key, tijdsdimensie en datumbereik).\",\n \"portlet.configureFunnel\": \"Alstublieft add at least two funnel stappen.\",\n \"portlet.addMetricOrBreakdown\": \"Alstublieft add at least one metric of breakdown naar je query.\",\n \"portlet.filterConfig.title\": \"Configureer dashboardfilters\",\n \"portlet.filterConfig.subtitle\": \"Kies which dashboard filters apply naar \\\"{portletTitle}\\\"\",\n \"portlet.filterConfig.noFilters\": \"Geen dashboard filters beschikbaar\",\n \"portlet.filterConfig.noFiltersHint\": \"Voeg eerst filters toe op dashboardniveau\",\n \"portlet.filterConfig.availableFilters\": \"Beschikbaar Filters\",\n \"portlet.filterConfig.selectedCount\": \"{selected} van {total} selected\",\n \"portlet.filterConfig.applied\": \"Toegepast\",\n \"portlet.filterConfig.noValue\": \"geen waarde\",\n \"portlet.filterConfig.complexFilter\": \"Complex filter\",\n \"portlet.filterConfig.groupFilter\": \"{type} groep met {count} filter\",\n \"portlet.filterConfig.groupFilterPlural\": \"{type} groep met {count} filters\",\n \"portlet.filterConfig.applyFilters\": \"Toepassen Filters\",\n \"textPortlet.editText\": \"Bewerken Tekst\",\n \"textPortlet.addText\": \"Voeg Tekst\",\n \"textPortlet.markdownContent\": \"Markdown Content\",\n \"textPortlet.markdownHint\": \"Ondersteunt kopteksten (#), bold (**tekst**), italic (*tekst*), links ([tekst](url)), lists (- item), en horizontal rules (---).\",\n \"textPortlet.preview\": \"Voorbeeld\",\n \"debug.title\": \"Grafiek Debug Information\",\n \"debug.chartType\": \"Grafiek Type\",\n \"debug.fieldAnalysis\": \"Veld Analyse\",\n \"debug.chartConfig\": \"Grafiek Configuratie\",\n \"debug.displayConfig\": \"Weergave Configuratie\",\n \"debug.queryObject\": \"Query-object\",\n \"debug.dataSample\": \"Gegevens Sample (first 3 rijen)\",\n \"debug.cacheStatus\": \"Cachestatus\",\n \"debug.cacheHit\": \"Cache-hit\",\n \"debug.cachedAt\": \"Cached Bij:\",\n \"debug.ttl\": \"TTL:\",\n \"debug.ttlRemaining\": \"Resterende TTL:\",\n \"debug.freshQuery\": \"Nieuwe query\",\n \"debug.notFromCache\": \"Resultaat not served van cache\",\n \"debug.escToClose\": \"Druk\",\n \"debug.escKey\": \"ESC\",\n \"debug.toClose\": \"naar sluiten\",\n \"debug.tooltip\": \"Debug grafiek configuratie\",\n \"error.unableToRender\": \"Kan niet renderen grafiek\",\n \"error.unableToRenderNamed\": \"Kan niet renderen {title}\",\n \"error.renderDescription\": \"There was an fout rendering deze grafiek component. De fout details zijn shown onder.\",\n \"error.errorLabel\": \"Fout:\",\n \"error.typeLabel\": \"Type:\",\n \"error.portletConfig\": \"Portlet Configuratie\",\n \"error.cubeQuery\": \"Cube-query\",\n \"error.componentStack\": \"Componentstack\",\n \"error.tryAgain\": \"Opnieuw proberen\",\n \"drill.back\": \"Terug\",\n \"drill.goBackOneLevel\": \"Go back één level\",\n \"drill.returnToTop\": \"Return naar boven level\",\n \"drill.navigateTo\": \"Navigeer naar {label}\",\n \"drill.empty\": \"(leeg)\",\n \"analyticsPage.title\": \"Analysepagina - Komt in fase 4\",\n \"dataHistogram.average\": \"Gemiddelde van {count} waarden\",\n \"dataHistogram.valuesInRange\": \"{count} waarden in deze bereik\",\n\n \"mcp.status.connecting\": \"Verbinden...\",\n \"mcp.status.loading\": \"Laden...\",\n \"mcp.status.waiting\": \"Wachten op queryresultaten...\",\n \"mcp.error.connectionLabel\": \"Verbindingsfout:\",\n \"mcp.error.errorLabel\": \"Fout:\",\n \"mcp.error.noTextContent\": \"Geen tekstinhoud in resultaat\",\n \"mcp.error.invalidResultFormat\": \"Ongeldig resultaatformaat: data-array ontbreekt\",\n \"mcp.error.parseFailed\": \"Kon resultaat niet verwerken: {message}\",\n \"mcp.error.queryFailed\": \"Query mislukt: {message}\",\n \"mcp.footer.rows\": \"{count} rij\",\n \"mcp.footer.rowsPlural\": \"{count} rijen\",\n \"mcp.footer.measures\": \"{count} metriek\",\n \"mcp.footer.measuresPlural\": \"{count} metrieken\",\n \"mcp.footer.dimensions\": \"{count} dimensie\",\n \"mcp.footer.dimensionsPlural\": \"{count} dimensies\"\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
- import { A as e, c as t } from "./chart-data-table-Qrt6EAno.js";
2
- import { k as n } from "./chart-activity-grid-CWT0gLv4.js";
1
+ import { A as e, c as t } from "./chart-data-table-BRXHT2H-.js";
2
+ import { k as n } from "./chart-activity-grid-BnY-jaoa.js";
3
3
  import { Suspense as r, createContext as i, lazy as a, useCallback as o, useContext as s, useEffect as c, useMemo as l, useRef as u, useState as d } from "react";
4
4
  import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
5
5
  //#region src/client/components/SchemaVisualization/xyflowContext.tsx
@@ -52,7 +52,7 @@ function b() {
52
52
  })
53
53
  });
54
54
  }
55
- var x = a(async () => ({ default: (await import("./SchemaVisualization-BUUhlOvG.js")).SchemaVisualization }));
55
+ var x = a(async () => ({ default: (await import("./SchemaVisualization-DbYZBTyi.js")).SchemaVisualization }));
56
56
  function S(e) {
57
57
  let [t, n] = d(null), [i, a] = d(v);
58
58
  return c(() => {
@@ -1056,4 +1056,4 @@ function z({ className: r = "", onFieldClick: i, highlightedCubes: a, highlighte
1056
1056
  //#endregion
1057
1057
  export { S as n, z as t };
1058
1058
 
1059
- //# sourceMappingURL=schema-visualization-DWwJukK7.js.map
1059
+ //# sourceMappingURL=schema-visualization-CM5ikSWB.js.map