@gooddata/sdk-ui-dashboard 10.33.0-alpha.66 → 10.33.0-alpha.67

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 (48) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +1 -1
  4. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js.map +1 -1
  5. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +1 -1
  6. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js.map +1 -1
  7. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +1 -1
  8. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js.map +1 -1
  9. package/esm/presentation/localization/bundles/en-US.json +477 -477
  10. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +685 -3458
  11. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  12. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +686 -3459
  13. package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
  14. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +1 -1
  15. package/esm/presentation/localization/bundles/es-419.localization-bundle.js.map +1 -1
  16. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +1 -1
  17. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js.map +1 -1
  18. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +1 -1
  19. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js.map +1 -1
  20. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +1 -1
  21. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js.map +1 -1
  22. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +1 -1
  23. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js.map +1 -1
  24. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +1 -1
  25. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js.map +1 -1
  26. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +1 -1
  27. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js.map +1 -1
  28. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +1 -1
  29. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js.map +1 -1
  30. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +1 -1
  31. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js.map +1 -1
  32. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +1 -1
  33. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js.map +1 -1
  34. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +1 -1
  35. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js.map +1 -1
  36. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +1 -1
  37. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js.map +1 -1
  38. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +1 -1
  39. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js.map +1 -1
  40. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +1 -1
  41. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js.map +1 -1
  42. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +1 -1
  43. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js.map +1 -1
  44. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +1 -1
  45. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js.map +1 -1
  46. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +1 -1
  47. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js.map +1 -1
  48. package/package.json +15 -15
@@ -1,52 +1,52 @@
1
1
  {
2
2
  "loading": {
3
3
  "value": "Loading…",
4
- "comment": "Use '…' as one character, not 3 dots ('...').",
4
+ "comment": "Text shown during content loading operations",
5
5
  "limit": 0
6
6
  },
7
7
  "untitled": {
8
8
  "value": "Untitled",
9
- "comment": "",
9
+ "comment": "Default title for untitled dashboards or widgets",
10
10
  "limit": 0
11
11
  },
12
12
  "empty_value": {
13
13
  "value": "empty value",
14
- "comment": "",
14
+ "comment": "Display text when a value is empty or not available",
15
15
  "limit": 0
16
16
  },
17
17
  "gs.list.cancel": {
18
18
  "value": "Cancel",
19
- "comment": "",
19
+ "comment": "Button label to cancel the current action",
20
20
  "limit": 0
21
21
  },
22
22
  "gs.list.apply": {
23
23
  "value": "Apply",
24
- "comment": "",
24
+ "comment": "Button label to apply the current selection or changes",
25
25
  "limit": 0
26
26
  },
27
27
  "messages.dashboardSaveSuccess": {
28
28
  "value": "Great. We saved your dashboard.",
29
- "comment": "",
29
+ "comment": "Success notification shown after successfully saving a dashboard",
30
30
  "limit": 0
31
31
  },
32
32
  "options.menu.save.as": {
33
33
  "value": "Save as new",
34
- "comment": "Save As New Dashboard",
34
+ "comment": "Menu option to save the current dashboard as a new dashboard",
35
35
  "limit": 0
36
36
  },
37
37
  "options.menu.save.as.tooltip": {
38
38
  "value": "Empty dashboard cannot be saved.",
39
- "comment": "Empty dashboard cannot be saved.",
39
+ "comment": "Tooltip shown when trying to save an empty dashboard",
40
40
  "limit": 0
41
41
  },
42
42
  "options.menu.settings": {
43
43
  "value": "Settings",
44
- "comment": "Settings of the dashboard",
44
+ "comment": "Menu option to open the dashboard settings dialog",
45
45
  "limit": 0
46
46
  },
47
47
  "messages.dashboardSaveFailed": {
48
48
  "value": "Dashboard save failed. Remove any unavailable visualizations, then try again, or contact your administrator.",
49
- "comment": "",
49
+ "comment": "Error notification shown when saving a dashboard fails",
50
50
  "limit": 0
51
51
  },
52
52
  "messages.dashboard.incompatibleDefaultFilters.title": {
@@ -56,28 +56,28 @@
56
56
  },
57
57
  "messages.dashboard.invalidDrills.title": {
58
58
  "value": "<b>Some interactions were removed</b>",
59
- "comment": "Title of the warning message shown while editing KPI dashboard with some invalid drills.",
59
+ "comment": "Warning notification title when dashboard interactions were removed due to changes in data",
60
60
  "limit": 0
61
61
  },
62
62
  "messages.dashboard.invalidDrills.body.modern._measure|insight": {
63
63
  "value": "One or more dashboard/visualization/measure/attribute has been changed or deleted causing some interactions to be removed from following widgets: <b>{listOfWidgetTitles}</b>",
64
- "comment": "Expanded text of the warning message shown while editing KPI dashboard with some invalid drills. Don't translate placeholder '{listOfWidgetTitles}'.",
64
+ "comment": "Warning message details for invalid drill interactions with list of affected widgets",
65
65
  "limit": 0
66
66
  },
67
67
  "messages.dashboard.invalidDrills.body.modern._metric|insight": {
68
68
  "value": "One or more dashboard/visualization/metric/attribute has been changed or deleted causing some interactions to be removed from following widgets: <b>{listOfWidgetTitles}</b>",
69
- "comment": "Expanded text of the warning message shown while editing KPI dashboard with some invalid drills. Don't translate placeholder '{listOfWidgetTitles}'.",
69
+ "comment": "Warning message details for invalid drill interactions using metrics with list of affected widgets",
70
70
  "limit": 0
71
71
  },
72
72
  "messages.dashboard.invalidDrills.body.modern._measure|report": {
73
73
  "value": "One or more dashboard/report/measure/attribute has been changed or deleted causing some interactions to be removed from following widgets: <b>{listOfWidgetTitles}</b>",
74
- "comment": "Expanded text of the warning message shown while editing KPI dashboard with some invalid drills. Don't translate placeholder '{listOfWidgetTitles}'.",
74
+ "comment": "Warning message details for invalid drill interactions with measures in reports",
75
75
  "translate": false,
76
76
  "limit": 0
77
77
  },
78
78
  "messages.dashboard.invalidDrills.body.modern._metric|report": {
79
79
  "value": "One or more dashboard/report/metric/attribute has been changed or deleted causing some interactions to be removed from following widgets: <b>{listOfWidgetTitles}</b>",
80
- "comment": "Expanded text of the warning message shown while editing KPI dashboard with some invalid drills. Don't translate placeholder '{listOfWidgetTitles}'.",
80
+ "comment": "Warning message details for invalid drill interactions with metrics in reports",
81
81
  "translate": false,
82
82
  "limit": 0
83
83
  },
@@ -88,12 +88,12 @@
88
88
  },
89
89
  "messages.dashboard.invalidCustomUrlDrills.body.modern|insight": {
90
90
  "value": "Invalid URL parameters in your custom URLs are causing drill-into-URL interactions to fail on these widgets: <b>{listOfWidgetTitles}</b>",
91
- "comment": "Expanded text of the warning message shown while editing KPI dashboard with some invalid drills. Don't translate placeholder '{listOfWidgetTitles}'.",
91
+ "comment": "Warning message explaining URL drill failures with list of affected widgets",
92
92
  "limit": 0
93
93
  },
94
94
  "messages.dashboard.invalidCustomUrlDrills.body.modern|report": {
95
95
  "value": "Invalid URL parameters in your custom URLs are causing drill-into-URL interactions to fail on these widgets: <b>{listOfWidgetTitles}</b>",
96
- "comment": "Expanded text of the warning message shown while editing KPI dashboard with some invalid drills. Don't translate placeholder '{listOfWidgetTitles}'.",
96
+ "comment": "Warning message explaining URL drill failures in report widgets",
97
97
  "translate": false,
98
98
  "limit": 0
99
99
  },
@@ -109,97 +109,97 @@
109
109
  },
110
110
  "messages.drill.InteractionConfiguredSuccess": {
111
111
  "value": "Interaction configured.",
112
- "comment": "Dialog. Configure of drill interaction is created.",
112
+ "comment": "Success message shown after creating a new drill interaction",
113
113
  "limit": 0
114
114
  },
115
115
  "messages.drill.InteractionUpdatedSuccess": {
116
116
  "value": "Interaction updated.",
117
- "comment": "Dialog. Configure of drill interaction is updated.",
117
+ "comment": "Success message shown after modifying an existing drill interaction",
118
118
  "limit": 0
119
119
  },
120
120
  "filterBar.label": {
121
121
  "value": "Filters",
122
- "comment": "",
122
+ "comment": "Label for the filter bar section",
123
123
  "limit": 0
124
124
  },
125
125
  "filterBar.showAll": {
126
126
  "value": "Show all",
127
- "comment": "",
127
+ "comment": "Link text to expand and show all available filters",
128
128
  "limit": 0
129
129
  },
130
130
  "filterBar.showLess": {
131
131
  "value": "Show less",
132
- "comment": "",
132
+ "comment": "Link text to collapse the expanded filter list",
133
133
  "limit": 0
134
134
  },
135
135
  "filterBar.unappliedFiltersNotification": {
136
136
  "value": "<link>Apply filters</link> to see updated data.",
137
- "comment": "Message banner. Some filters are changed by user but not applied yet. Do not translate HTML markup enclosed in <>.",
137
+ "comment": "Message banner shown when filters are changed but not yet applied. The <link> tags create a clickable action to apply the filters.",
138
138
  "limit": 0
139
139
  },
140
140
  "filterBar.executionTimestampNotificationMessage": {
141
141
  "value": "<bold>Note.</bold> You're viewing up-to-date data, but for any relative date filters the dashboard treats {date} as “today.”",
142
- "comment": "Message banner describing dashboard with specific data timestamp. Don't translate placeholders enclosed in '{}'.",
142
+ "comment": "Message banner describing dashboard with specific data timestamp. Placeholder {date} is replaced with the current date.",
143
143
  "limit": 0
144
144
  },
145
145
  "filterBar.executionTimestampNotificationAction": {
146
146
  "value": "<link>Reset to today</link>",
147
- "comment": "Do not translate HTML markup enclosed in <>.",
147
+ "comment": "Action button to reset timestamp to current date. The <link> tags create a clickable action.",
148
148
  "limit": 0
149
149
  },
150
150
  "options.menu.export": {
151
151
  "value": "Export",
152
- "comment": "Export submenu",
152
+ "comment": "Main export menu option in the dashboard",
153
153
  "limit": 0
154
154
  },
155
155
  "options.menu.export.header.data": {
156
156
  "value": "Data",
157
- "comment": "Export submenu for data",
157
+ "comment": "Header for data export options in the export submenu",
158
158
  "limit": 0
159
159
  },
160
160
  "options.menu.export_to_pdf": {
161
161
  "value": "Export to PDF",
162
- "comment": "Export whole KPI dashboard to PDF",
162
+ "comment": "Menu option to export the entire dashboard as a PDF document",
163
163
  "limit": 0
164
164
  },
165
165
  "options.menu.export.PDF": {
166
166
  "value": "Snapshot (.pdf)",
167
- "comment": "Export whole KPI dashboard to PDF",
167
+ "comment": "Export option for saving a visual snapshot of the dashboard as a PDF file",
168
168
  "limit": 0
169
169
  },
170
170
  "options.menu.export.dialog.EXCEL": {
171
171
  "value": "Export data (.xlsx)",
172
- "comment": "Dialog title to export whole KPI dashboard to EXCEL",
172
+ "comment": "Dialog title when exporting the entire dashboard's data to Excel",
173
173
  "limit": 0
174
174
  },
175
175
  "options.menu.export.dialog.widget.EXCEL": {
176
176
  "value": "Export formatted data (.xlsx)",
177
- "comment": "Dialog title to export widget to EXCEL",
177
+ "comment": "Dialog title when exporting a single widget's data to Excel with formatting preserved",
178
178
  "limit": 0
179
179
  },
180
180
  "options.menu.export.dialog.includeExportInfo": {
181
181
  "value": "Include sheet with export info",
182
- "comment": "Dialog checkbox to include sheet with export info",
182
+ "comment": "Checkbox option to include metadata about the export in a separate Excel sheet",
183
183
  "limit": 0
184
184
  },
185
185
  "options.menu.export.EXCEL": {
186
186
  "value": "Data (.xlsx)",
187
- "comment": "Export whole KPI dashboard to EXCEL",
187
+ "comment": "Export option for saving dashboard data as an Excel file",
188
188
  "limit": 0
189
189
  },
190
190
  "options.menu.export.presentation.PPTX": {
191
191
  "value": "Slide Deck (.pptx)",
192
- "comment": "Export whole KPI dashboard to PowerPoint",
192
+ "comment": "Export option for saving dashboard as a PowerPoint presentation",
193
193
  "limit": 0
194
194
  },
195
195
  "options.menu.export.presentation.PDF": {
196
196
  "value": "Slide Deck (.pdf)",
197
- "comment": "Export whole KPI dashboard to PowerPoint",
197
+ "comment": "Export option for saving dashboard as a PDF file with slide layout",
198
198
  "limit": 0
199
199
  },
200
200
  "options.menu.export.image.PNG": {
201
201
  "value": "Snapshot (.png)",
202
- "comment": "Export to image in png format",
202
+ "comment": "Export option for saving dashboard as a PNG image",
203
203
  "limit": 0
204
204
  },
205
205
  "options.menu.export.presentation.unsupported.oldWidget": {
@@ -209,57 +209,57 @@
209
209
  },
210
210
  "options.menu.export.in.progress": {
211
211
  "value": "Export is in progress. Wait until it is finished before exporting again.",
212
- "comment": "Export whole KPI dashboard to PowerPoint",
212
+ "comment": "Message shown when trying to start a new export while another is still in progress",
213
213
  "limit": 0
214
214
  },
215
215
  "options.menu.schedule.email": {
216
216
  "value": "Schedule export",
217
- "comment": "Translate as imperative. Schedule emailing whole KPI dashboard",
217
+ "comment": "Menu option to set up recurring automated exports of the dashboard",
218
218
  "limit": 0
219
219
  },
220
220
  "options.menu.schedule.email.tooltip": {
221
221
  "value": "No destination available. To schedule an export, <a>create destination</a>.",
222
- "comment": "Do not translate html tags <a>, </a>",
222
+ "comment": "Tooltip shown when no export destinations are available for scheduled exports",
223
223
  "limit": 0
224
224
  },
225
225
  "options.menu.schedule.email.edit": {
226
226
  "value": "Show schedules",
227
- "comment": "Translate as imperative. Schedule emailing edit whole KPI dashboard",
227
+ "comment": "Menu option to view or edit existing scheduled dashboard exports",
228
228
  "limit": 0
229
229
  },
230
230
  "options.menu.schedule.email.edit.noCreatePermissions": {
231
231
  "value": "Scheduled exports",
232
- "comment": "Translate as imperative. Schedule emailing edit whole KPI dashboard, without create permissions.",
232
+ "comment": "Menu option to view existing scheduled exports when user doesn't have permission to create new ones",
233
233
  "limit": 0
234
234
  },
235
235
  "options.menu.alerts.edit": {
236
236
  "value": "Show alerts",
237
- "comment": "Translate as imperative. Schedule alerts for dashboard or widget",
237
+ "comment": "Menu option to view or edit existing metric alerts for the dashboard or widget",
238
238
  "limit": 0
239
239
  },
240
240
  "options.menu.alerts.edit.noCreatePermissions": {
241
241
  "value": "Alerts",
242
- "comment": "Translate as imperative. Schedule alerts for dashboard or widget, without create permissions.",
242
+ "comment": "Menu option to view existing alerts when user doesn't have permission to create new ones",
243
243
  "limit": 0
244
244
  },
245
245
  "options.menu.data.too.large": {
246
246
  "value": "Export unavailable due to too many data points in the result.",
247
- "comment": "",
247
+ "comment": "Error message shown when trying to export data that exceeds size limitations",
248
248
  "limit": 0
249
249
  },
250
250
  "options.menu.unsupported.raw.error": {
251
251
  "value": "Export unavailable due to too many data points or error in the result",
252
- "comment": "Error popup. Visualization cannot be exported to the file.",
252
+ "comment": "Error message shown when visualization export fails due to data size or errors",
253
253
  "limit": 0
254
254
  },
255
255
  "options.menu.delete": {
256
256
  "value": "Delete",
257
- "comment": "Delete Dashboard",
257
+ "comment": "Menu option to delete the current dashboard",
258
258
  "limit": 0
259
259
  },
260
260
  "options.menu.addFilterViews": {
261
261
  "value": "Create view",
262
- "comment": "Open menu with dialog with form to create a new filter view.",
262
+ "comment": "Menu option to create a new dashboard filter view",
263
263
  "limit": 0
264
264
  },
265
265
  "options.menu.listFilterViews": {
@@ -305,217 +305,217 @@
305
305
  },
306
306
  "dialogs.schedule.email.accessibilityTitle": {
307
307
  "value": "Scheduled emails",
308
- "comment": "",
308
+ "comment": "Accessibility title for scheduled emails dialog",
309
309
  "limit": 0
310
310
  },
311
311
  "dialogs.schedule.email.delete.success": {
312
312
  "value": "Success! Your scheduled email was deleted.",
313
- "comment": "",
313
+ "comment": "Success message shown after successfully deleting a schedule",
314
314
  "limit": 0
315
315
  },
316
316
  "dialogs.schedule.email.submit.success": {
317
317
  "value": "Success! Your dashboard is scheduled for emailing.",
318
- "comment": "",
318
+ "comment": "Success message shown after successfully scheduling an export",
319
319
  "limit": 0
320
320
  },
321
321
  "dialogs.schedule.email.submit.error": {
322
322
  "value": "Failed to schedule the dashboard. Try again later.",
323
- "comment": "",
323
+ "comment": "Error message shown when scheduling an export fails",
324
324
  "limit": 0
325
325
  },
326
326
  "dialogs.schedule.email.save.success": {
327
327
  "value": "Success! Your schedule has been saved.",
328
- "comment": "",
328
+ "comment": "Success message shown after successfully saving an export schedule",
329
329
  "limit": 0
330
330
  },
331
331
  "dialogs.schedule.email.save.error": {
332
332
  "value": "Failed to save the schedule. Try again later.",
333
- "comment": "",
333
+ "comment": "Error message shown when saving an export schedule fails",
334
334
  "limit": 0
335
335
  },
336
336
  "dialogs.schedule.error.too_long": {
337
337
  "value": "Error: Text too long — reduce to {value} characters or fewer.",
338
- "comment": "",
338
+ "comment": "Error message shown when schedule text exceeds character limit. {value} is the maximum allowed length.",
339
339
  "limit": 0
340
340
  },
341
341
  "dialogs.alert.error.too_long": {
342
342
  "value": "Error: Text too long — reduce to {value} characters or fewer.",
343
- "comment": "",
343
+ "comment": "Error message shown when alert text exceeds character limit. {value} is the maximum allowed length.",
344
344
  "limit": 0
345
345
  },
346
346
  "dialogs.save.as.new.title": {
347
347
  "value": "Save dashboard as new",
348
- "comment": "",
348
+ "comment": "Dialog title when creating a copy of an existing dashboard",
349
349
  "limit": 0
350
350
  },
351
351
  "dialogs.save.as.new.desc": {
352
352
  "value": "Give your new dashboard a new descriptive name, so it's easier to find it later on.",
353
- "comment": "",
353
+ "comment": "Instructions shown in the Save As New dashboard dialog",
354
354
  "limit": 0
355
355
  },
356
356
  "dialogs.save.as.new.default.title": {
357
357
  "value": "Copy of {title}",
358
- "comment": "",
358
+ "comment": "Default title format when creating a copy of a dashboard. {title} is the original dashboard title.",
359
359
  "limit": 0
360
360
  },
361
361
  "dialogs.save.as.new.alertsAndEmailsMessage": {
362
362
  "value": "Alerts and email schedules will not be duplicated",
363
- "comment": "",
363
+ "comment": "Warning message shown when saving a dashboard as new, indicating that alerts and email schedules won't be copied",
364
364
  "limit": 0
365
365
  },
366
366
  "dialogs.save.as.new.alertsMessage": {
367
367
  "value": "Alerts will not be duplicated",
368
- "comment": "",
368
+ "comment": "Warning message in Save As dialog about alerts not being copied",
369
369
  "limit": 0
370
370
  },
371
371
  "dialogs.save.as.new.emailsMessage": {
372
372
  "value": "Email schedules will not be duplicated",
373
- "comment": "",
373
+ "comment": "Warning message in Save As dialog about email schedules not being copied",
374
374
  "limit": 0
375
375
  },
376
376
  "cancelConfirmationDialog.headline": {
377
377
  "value": "Discard changes?",
378
- "comment": "",
378
+ "comment": "Confirmation dialog title when canceling changes",
379
379
  "limit": 0
380
380
  },
381
381
  "cancelConfirmationDialog.message": {
382
382
  "value": "All changes will be lost",
383
- "comment": "",
383
+ "comment": "Warning message shown in confirmation dialog when discarding changes",
384
384
  "limit": 0
385
385
  },
386
386
  "cancelConfirmationDialog.submitButtonText": {
387
387
  "value": "Discard changes",
388
- "comment": "",
388
+ "comment": "Button label to confirm discarding changes",
389
389
  "limit": 0
390
390
  },
391
391
  "settingsDashboardDialog.headline": {
392
392
  "value": "Dashboard settings",
393
- "comment": "",
393
+ "comment": "Title of the dashboard settings dialog",
394
394
  "limit": 0
395
395
  },
396
396
  "settingsDashboardDialog.section.alert": {
397
397
  "value": "Alerts",
398
- "comment": "",
398
+ "comment": "Section title for alert settings in the dashboard settings dialog",
399
399
  "limit": 0
400
400
  },
401
401
  "settingsDashboardDialog.section.alert.inherit": {
402
402
  "value": "Use the default evaluation frequency set by your organization.",
403
- "comment": "",
403
+ "comment": "Label for option to use organization's default alert evaluation frequency",
404
404
  "limit": 0
405
405
  },
406
406
  "settingsDashboardDialog.section.alert.note": {
407
407
  "value": "<strong>Note:</strong> Applies to new alerts only — use the API to update existing ones.",
408
- "comment": "",
408
+ "comment": "Note about alert settings applying only to new alerts",
409
409
  "limit": 0
410
410
  },
411
411
  "settingsDashboardDialog.section.alert.label": {
412
412
  "value": "Evaluation Frequency",
413
- "comment": "",
413
+ "comment": "Label for alert evaluation frequency setting",
414
414
  "limit": 0
415
415
  },
416
416
  "deleteDashboardDialog.headline": {
417
417
  "value": "Delete dashboard?",
418
- "comment": "",
418
+ "comment": "Confirmation dialog for deleting a dashboard",
419
419
  "limit": 0
420
420
  },
421
421
  "deleteDashboardDialog.submitButtonText": {
422
422
  "value": "Delete",
423
- "comment": "",
423
+ "comment": "Label for the confirmation button in the delete dashboard dialog",
424
424
  "limit": 0
425
425
  },
426
426
  "deleteDashboardDialog.defaultMessage": {
427
427
  "value": "Are you sure you want to delete dashboard {title}?",
428
- "comment": "Do not translate placeholder {title}",
428
+ "comment": "Confirmation dialog for deleting a dashboard. The {title} placeholder shows the specific dashboard name.",
429
429
  "limit": 0
430
430
  },
431
431
  "deleteDashboardDialog.objectsMessage": {
432
432
  "value": "Following objects associated with the dashboard {title} will be permanently deleted:",
433
- "comment": "Do not translate placeholder {title}",
433
+ "comment": "Warning message listing objects to be deleted with the dashboard. The {title} placeholder shows the specific dashboard name.",
434
434
  "limit": 0
435
435
  },
436
436
  "deleteDashboardDialog.alerts": {
437
437
  "value": "alerts",
438
- "comment": "",
438
+ "comment": "Label for alerts that will be deleted with the dashboard",
439
439
  "limit": 0
440
440
  },
441
441
  "deleteDashboardDialog.schedules": {
442
442
  "value": "scheduled exports",
443
- "comment": "",
443
+ "comment": "Label for scheduled exports that will be deleted with the dashboard",
444
444
  "limit": 0
445
445
  },
446
446
  "deleteDashboardDialog.drills": {
447
447
  "value": "drilling",
448
- "comment": "",
448
+ "comment": "Label for drill configurations that will be removed with the dashboard",
449
449
  "limit": 0
450
450
  },
451
451
  "deleteWidgetDialog.headline": {
452
452
  "value": "Remove widget?",
453
- "comment": "",
453
+ "comment": "Confirmation dialog title when removing a widget from a dashboard",
454
454
  "limit": 0
455
455
  },
456
456
  "deleteWidgetDialog.objectsMessage": {
457
457
  "value": "Following types objects associated with the widget {title} will no longer work:",
458
- "comment": "Do not translate placeholder {title}",
458
+ "comment": "Warning message about objects that will be affected when deleting a widget. The {title} placeholder shows the specific widget name.",
459
459
  "limit": 0
460
460
  },
461
461
  "deleteWidgetDialog.alerts": {
462
462
  "value": "alerts",
463
- "comment": "",
463
+ "comment": "Label for alerts that will be affected by widget removal",
464
464
  "limit": 0
465
465
  },
466
466
  "deleteWidgetDialog.schedules": {
467
467
  "value": "scheduled exports",
468
- "comment": "",
468
+ "comment": "Label for scheduled exports that will be affected by widget removal",
469
469
  "limit": 0
470
470
  },
471
471
  "create.dashboard": {
472
472
  "value": "Create dashboard",
473
- "comment": "",
473
+ "comment": "Button label or menu item for creating a new dashboard",
474
474
  "limit": 0
475
475
  },
476
476
  "drill_modal_picker.drill-down": {
477
477
  "value": "Drill down",
478
- "comment": "Title of widget interactions",
478
+ "comment": "Label for the drill down interaction in the drill configuration modal",
479
479
  "limit": 0
480
480
  },
481
481
  "drill_modal_picker.drill-into": {
482
482
  "value": "Drill into",
483
- "comment": "Title of widget interactions",
483
+ "comment": "Label for the drill into interaction in the drill configuration modal",
484
484
  "limit": 0
485
485
  },
486
486
  "drill_modal_picker.cross-filter": {
487
487
  "value": "Cross-filter",
488
- "comment": "Title of widget interactions",
488
+ "comment": "Label for the cross-filter interaction in the drill configuration modal",
489
489
  "limit": 0
490
490
  },
491
491
  "drill_modal_picker.more.details": {
492
492
  "value": "More details",
493
- "comment": "",
493
+ "comment": "Label for viewing more details about drill interactions",
494
494
  "limit": 0
495
495
  },
496
496
  "drill_modal_picker.label": {
497
497
  "value": "Choose drill action",
498
- "comment": "",
498
+ "comment": "Instruction text in the drill modal for selecting a drill action",
499
499
  "limit": 0
500
500
  },
501
501
  "drillModal.backToTop": {
502
502
  "value": "Back to top",
503
- "comment": "",
503
+ "comment": "Navigation button label to return to the top level in the drill modal",
504
504
  "limit": 0
505
505
  },
506
506
  "filters.alertMessage.relativePreset": {
507
507
  "value": "in {calendarIcon} {range}",
508
- "comment": "Don't translate placeholders '{calendarIcon}', '{range}'.",
508
+ "comment": "Message displayed in filter alert showing a relative date range with calendar icon. Example: 'in (calendar icon) last 7 days'.",
509
509
  "limit": 0
510
510
  },
511
511
  "filters.alertMessage.relativePreset.inPeriod": {
512
512
  "value": "in period {calendarIcon} {range}",
513
- "comment": "Don't translate placeholders '{calendarIcon}', '{range}'. Example text: 'in period (calendar) from 2 months ago to 2 months ahead'",
513
+ "comment": "Message displayed in filter alert showing a relative date range with period specification. Example: 'in period (calendar icon) from 2 months ago to 2 months ahead'.",
514
514
  "limit": 0
515
515
  },
516
516
  "filters.config.warning.multipleProjectConfigs": {
517
517
  "value": "There is more than one project date filter configuration associated with this project. The first one was used.",
518
- "comment": "Displayed if there is more than one project date filter configuration associated with the project.",
518
+ "comment": "Warning shown when multiple date filter configurations are found for a project, and the system automatically selects the first one",
519
519
  "limit": 0
520
520
  },
521
521
  "filters.config.warning.multipleWorkspacesConfigs": {
@@ -550,47 +550,47 @@
550
550
  },
551
551
  "filters.configurationPanel.header": {
552
552
  "value": "Filters",
553
- "comment": "Filtering configuration panel - header.",
553
+ "comment": "Header for the filter configuration panel in dashboard settings",
554
554
  "limit": 0
555
555
  },
556
556
  "filters.configurationPanel.crossFiltering.toggle": {
557
557
  "value": "Cross-filtering",
558
- "comment": "Filters Configuration - label for toggle that disables or enables cross-filtering.",
558
+ "comment": "Label for toggle that enables or disables cross-filtering in the filter configuration panel",
559
559
  "limit": 0
560
560
  },
561
561
  "filters.configurationPanel.crossFiltering.toggle.tooltip": {
562
562
  "value": "Allow users to filter the dashboard by clicking data points in visualizations.",
563
- "comment": "Filters Configuration - tooltip for toggle that disables or enables cross-filtering.",
563
+ "comment": "Tooltip explaining cross-filtering functionality when hovering over the toggle",
564
564
  "limit": 0
565
565
  },
566
566
  "filters.configurationPanel.userFilterReset.toggle": {
567
567
  "value": "Reset",
568
- "comment": "Filters Configuration - label for toggle that disables or enables user reset of filters.",
568
+ "comment": "Label for toggle that enables or disables filter reset functionality in dashboard",
569
569
  "limit": 0
570
570
  },
571
571
  "filters.configurationPanel.userFilterReset.toggle.tooltip": {
572
572
  "value": "Allow users to reset all filters to default.",
573
- "comment": "Filters Configuration - tooltip for toggle that disables or enables user reset of filters.",
573
+ "comment": "Tooltip explaining what the reset toggle does when enabled",
574
574
  "limit": 0
575
575
  },
576
576
  "filters.configurationPanel.userFilterSave.toggle": {
577
577
  "value": "Auto-save last state",
578
- "comment": "Filters Configuration - label for toggle that disables or enables user save of filters.",
578
+ "comment": "Label for toggle that enables or disables automatic saving of filter state",
579
579
  "limit": 0
580
580
  },
581
581
  "filters.configurationPanel.userFilterSave.toggle.tooltip": {
582
582
  "value": "Allow auto-save of the filters' last state. When users return, their filters will remain as they left them.",
583
- "comment": "Filters Configuration - tooltip for toggle that disables or enables user save of filters.",
583
+ "comment": "Tooltip explaining the auto-save filter functionality when hovering over the toggle",
584
584
  "limit": 0
585
585
  },
586
586
  "filters.configurationPanel.filterViews.toggle": {
587
587
  "value": "Saved views",
588
- "comment": "Filters Configuration - label for toggle that disables or enables filter views.",
588
+ "comment": "Label for toggle that enables or disables saving custom filter views",
589
589
  "limit": 0
590
590
  },
591
591
  "filters.configurationPanel.filterViews.toggle.tooltip": {
592
592
  "value": "<p>Allows users to save filters state as a personal views they can return to later.</p><p>Only the user who saved the view can access it and set it as their default view.</p>",
593
- "comment": "Filters Configuration - tooltip for toggle that disables or enables filter views. Do not translate <p> and </p> tags.",
593
+ "comment": "Tooltip explaining saved views functionality when hovering over the toggle",
594
594
  "limit": 0
595
595
  },
596
596
  "dialogs.schedule.email.attachments.label": {
@@ -600,7 +600,7 @@
600
600
  },
601
601
  "dialogs.schedule.email.title.placeholder": {
602
602
  "value": "Untitled schedule",
603
- "comment": "Placeholder for schedule title input",
603
+ "comment": "Placeholder text shown in the schedule title input field when no title has been entered",
604
604
  "limit": 0
605
605
  },
606
606
  "dialogs.alert.title.placeholder": {
@@ -610,12 +610,12 @@
610
610
  },
611
611
  "dialogs.alert.accessibility.label.title": {
612
612
  "value": "Alert name",
613
- "comment": "",
613
+ "comment": "Accessibility label for alert name input field",
614
614
  "limit": 0
615
615
  },
616
616
  "dialogs.schedule.accessibility.label.email.title": {
617
617
  "value": "Schedule name",
618
- "comment": "",
618
+ "comment": "Accessibility label for schedule name input field",
619
619
  "limit": 0
620
620
  },
621
621
  "dialogs.schedule.email.message.label": {
@@ -685,7 +685,7 @@
685
685
  },
686
686
  "dialogs.schedule.email.user.noMatch": {
687
687
  "value": "No matching users or groups.",
688
- "comment": "",
688
+ "comment": "Message shown when searching for recipients and no users or groups match the search criteria",
689
689
  "limit": 0
690
690
  },
691
691
  "dialogs.schedule.email.user.notMe": {
@@ -705,22 +705,22 @@
705
705
  },
706
706
  "dialogs.schedule.email.subject.label": {
707
707
  "value": "Subject",
708
- "comment": "Subject of the schedule email.",
708
+ "comment": "Label for the subject field in scheduled email form",
709
709
  "limit": 0
710
710
  },
711
711
  "dialogs.schedule.email.recipients.label": {
712
712
  "value": "Recipients",
713
- "comment": "Emails of the schedule email.",
713
+ "comment": "Label for recipients field in scheduled email form",
714
714
  "limit": 0
715
715
  },
716
716
  "dialogs.schedule.email.filters": {
717
717
  "value": "Filters ({count})",
718
- "comment": "Pick filters for automated schedule. Do not translate variable enclosed in {}.",
718
+ "comment": "Label for filters selection in scheduled email form, with count of active filters",
719
719
  "limit": 0
720
720
  },
721
721
  "dialogs.schedule.email.destination": {
722
722
  "value": "Destination",
723
- "comment": "Way how to send automated schedule",
723
+ "comment": "Label for selecting destination method for scheduled email delivery",
724
724
  "limit": 0
725
725
  },
726
726
  "dialogs.schedule.email.destination.missing": {
@@ -735,7 +735,7 @@
735
735
  },
736
736
  "dialogs.schedule.email.message.placeholder": {
737
737
  "value": "Hello,\n\nYour scheduled email is ready. You can download the dashboard in attachments.",
738
- "comment": "Don't translate '\n\n' which adds 2 new lines to the text.",
738
+ "comment": "Default message text shown in scheduled email message field",
739
739
  "limit": 0
740
740
  },
741
741
  "dialogs.schedule.email.create": {
@@ -780,82 +780,82 @@
780
780
  },
781
781
  "dialogs.schedule.email.save.executionTimestampMode": {
782
782
  "value": "To create or edit scheduled exports, reset the dashboard date to today.",
783
- "comment": "",
783
+ "comment": "Error message shown when trying to schedule exports with non-current date filters applied",
784
784
  "limit": 0
785
785
  },
786
786
  "dialogs.alert.save.executionTimestampMode": {
787
787
  "value": "To create or edit alerts, reset the dashboard date to today.",
788
- "comment": "",
788
+ "comment": "Error message shown when trying to create alerts with non-current date filters applied",
789
789
  "limit": 0
790
790
  },
791
791
  "dialogs.schedule.email.widgetError": {
792
792
  "value": "The alert is not working because the source widget was deleted. Delete the alert or contact your administrator.",
793
- "comment": "Invalid schedule error message",
793
+ "comment": "Error message shown when alert configuration references a deleted widget",
794
794
  "limit": 0
795
795
  },
796
796
  "dialogs.schedule.email.destinationWarning": {
797
797
  "value": "The selected destination only supports sending the export to yourself.",
798
- "comment": "Schedule warning message",
798
+ "comment": "Warning shown when selected export destination restricts recipients to the current user only",
799
799
  "limit": 0
800
800
  },
801
801
  "dialogs.automation.filters.showAll": {
802
802
  "value": "Show all",
803
- "comment": "Show full list of all filters",
803
+ "comment": "Button label to expand and show the complete list of filters",
804
804
  "limit": 0
805
805
  },
806
806
  "dialogs.automation.filters.showAll.ariaLabel": {
807
807
  "value": "Expand to show all applied filters",
808
- "comment": "Show full list of all filters - aria label",
808
+ "comment": "Accessibility label for the button that shows all filters",
809
809
  "limit": 0
810
810
  },
811
811
  "dialogs.automation.filters.showLess": {
812
812
  "value": "Show less",
813
- "comment": "Show shortened list of all filters",
813
+ "comment": "Button label to collapse and show fewer filters in the list",
814
814
  "limit": 0
815
815
  },
816
816
  "dialogs.automation.filters.showLess.ariaLabel": {
817
817
  "value": "Collapse to show less applied filters",
818
- "comment": "Show shortened list of all filters - aria label",
818
+ "comment": "Accessibility label for the button that collapses the filter list",
819
819
  "limit": 0
820
820
  },
821
821
  "dialogs.automation.filters.add": {
822
822
  "value": "Add filter",
823
- "comment": "Label of add filter button in scheduling",
823
+ "comment": "Button label to add a new filter in the automation dialog",
824
824
  "limit": 0
825
825
  },
826
826
  "dialogs.automation.filters.title": {
827
827
  "value": "Add filters",
828
- "comment": "Schedule filters dialog title",
828
+ "comment": "Title of the dialog for adding filters to automation",
829
829
  "limit": 0
830
830
  },
831
831
  "dialogs.automation.filters.noFilters": {
832
832
  "value": "No more filters available",
833
- "comment": "Schedule filters selection message",
833
+ "comment": "Message shown when there are no additional filters that can be added",
834
834
  "limit": 0
835
835
  },
836
836
  "dialogs.automation.filters.attachment": {
837
837
  "value": "Use filters in automation",
838
- "comment": "Label of a checkbox field for dashboard automation.",
838
+ "comment": "Label for checkbox to enable filter usage in automated exports",
839
839
  "limit": 0
840
840
  },
841
841
  "dialogs.automation.filters.useFiltersMessage": {
842
842
  "value": "Always use these filters for future exports",
843
- "comment": "",
843
+ "comment": "Message explaining that selected filters will be applied to all future exports",
844
844
  "limit": 0
845
845
  },
846
846
  "dialogs.automation.filters.useFiltersMessage.tooltip": {
847
847
  "value": "Check to keep these filters for every export. If unchecked, the export will use the latest default filters from the dashboard. <a>Learn more</a>",
848
- "comment": "Do not translate html tags <a>, </a>",
848
+ "comment": "Tooltip explaining filter persistence options for scheduled exports",
849
849
  "limit": 0
850
850
  },
851
851
  "dialogs.automation.filters.activeFilters": {
852
852
  "value": "Note: These filters will always be used for future exports.",
853
- "comment": "",
853
+ "comment": "Informational message about filters being permanently applied to exports",
854
854
  "limit": 0
855
855
  },
856
856
  "dialogs.automation.filters.missing": {
857
857
  "value": "<b>Warning:</b> Some filters couldn't be applied — they're no longer available on the dashboard.",
858
- "comment": "",
858
+ "comment": "Warning message when saved filters are no longer available on the dashboard",
859
859
  "limit": 0
860
860
  },
861
861
  "dialogs.automation.applyCurrentFilters.confirm.title": {
@@ -870,67 +870,67 @@
870
870
  },
871
871
  "dialogs.automation.applyCurrentFilters.alert.confirm": {
872
872
  "value": "<b>Warning</b>: Some filters used when this alert was created are no longer available or valid. Editing will apply the current dashboard filters.",
873
- "comment": "Do not translate html tags <b>, </b>. Message of the dialog, that confirms that the user wants to edit the alert with the current dashboard filters.",
873
+ "comment": "Warning message when editing an alert with outdated filters",
874
874
  "limit": 0
875
875
  },
876
876
  "dialogs.automation.applyCurrentFilters.schedule.confirm": {
877
877
  "value": "<b>Warning</b>: Some filters used when this schedule was created are no longer available or valid. Editing will apply the current dashboard filters.",
878
- "comment": "Do not translate html tags <b>, </b>. Message of the dialog, that confirms that the user wants to edit the schedule with the current dashboard filters.",
878
+ "comment": "Warning message when editing a schedule with outdated filters",
879
879
  "limit": 0
880
880
  },
881
881
  "dialogs.schedule.management.title": {
882
882
  "value": "Scheduled exports",
883
- "comment": "",
883
+ "comment": "Title of the scheduled exports management dialog",
884
884
  "limit": 0
885
885
  },
886
886
  "dialogs.schedule.management.delete": {
887
887
  "value": "Delete the schedule.",
888
- "comment": "",
888
+ "comment": "Button tooltip for deleting a scheduled export",
889
889
  "limit": 0
890
890
  },
891
891
  "dialogs.schedule.management.delete.dialog": {
892
892
  "value": "Delete schedule?",
893
- "comment": "",
893
+ "comment": "Title of the confirmation dialog when deleting a scheduled export",
894
894
  "limit": 0
895
895
  },
896
896
  "dialogs.schedule.management.delete.dialog.confirm": {
897
897
  "value": "<b>The schedule</b> will be permanently deleted.",
898
- "comment": "Do not translate html tags <b>, </b>",
898
+ "comment": "Confirmation message when deleting a scheduled export",
899
899
  "limit": 0
900
900
  },
901
901
  "dialogs.schedule.management.list.title": {
902
902
  "value": "Your scheduled exports",
903
- "comment": "",
903
+ "comment": "Title for the list of user's scheduled exports",
904
904
  "limit": 0
905
905
  },
906
906
  "dialogs.schedule.management.create": {
907
907
  "value": "Create",
908
- "comment": "",
908
+ "comment": "Button label to create a new scheduled export",
909
909
  "limit": 0
910
910
  },
911
911
  "dialogs.schedule.management.create.tooManyMessage": {
912
912
  "value": "Your organization has reached the limit of scheduled exports. Contact your administrator to create more.",
913
- "comment": "",
913
+ "comment": "Error message shown when organization has reached maximum scheduled exports limit",
914
914
  "limit": 0
915
915
  },
916
916
  "dialogs.schedule.management.noSchedules": {
917
917
  "value": "There are no scheduled exports.{br}Create new.",
918
- "comment": "",
918
+ "comment": "Message shown when no scheduled exports exist, with line break placeholder",
919
919
  "limit": 0
920
920
  },
921
921
  "dialogs.schedule.management.attachments.attachment": {
922
922
  "value": "Attach as a {format} file",
923
- "comment": "Label of a checkbox field for different format types, eg. PDF, CSV, XLSX. Do not translate format placeholder.",
923
+ "comment": "File format checkbox label in scheduled export settings. {format} is the file format, e.g. PDF, CSV, XLSX.",
924
924
  "limit": 0
925
925
  },
926
926
  "dialogs.schedule.management.attachments.xlsx.settings": {
927
927
  "value": "XLSX options",
928
- "comment": "Do not translate format 'XLSX'",
928
+ "comment": "Section header for Excel export format configuration. XLSX is the file format.",
929
929
  "limit": 0
930
930
  },
931
931
  "dialogs.schedule.management.attachments.cells.merged": {
932
932
  "value": "Keep attribute cells merged",
933
- "comment": "Label of a checkbox field",
933
+ "comment": "Label for checkbox option in Excel export settings to keep attribute cells merged",
934
934
  "limit": 0
935
935
  },
936
936
  "dialogs.schedule.management.attachments.exportInfo": {
@@ -940,102 +940,102 @@
940
940
  },
941
941
  "dialogs.schedule.management.attachments.filters.title": {
942
942
  "value": "Dashboard filters",
943
- "comment": "Title of dropdown for selected type of dashboard filters for attachment",
943
+ "comment": "Section title for filter settings in scheduled export configuration",
944
944
  "limit": 0
945
945
  },
946
946
  "dialogs.schedule.management.attachments.filters.using": {
947
947
  "value": "using",
948
- "comment": "Describes which filters will be used in the attachment",
948
+ "comment": "Conjunction word connecting the export action with the filter selection",
949
949
  "limit": 0
950
950
  },
951
951
  "dialogs.schedule.management.attachments.filters.default": {
952
952
  "value": "default dashboard filters",
953
- "comment": "Attachment filters type title",
953
+ "comment": "Label indicating that default dashboard filters will be used in export",
954
954
  "limit": 0
955
955
  },
956
956
  "dialogs.schedule.management.attachments.filters.edited": {
957
957
  "value": "edited dashboard filters",
958
- "comment": "Attachment filters type title",
958
+ "comment": "Label indicating that custom edited filters will be used in export",
959
959
  "limit": 0
960
960
  },
961
961
  "dialogs.schedule.management.attachments.filters.item.default": {
962
962
  "value": "Use default filters",
963
- "comment": "Attachment filters type item",
963
+ "comment": "Dropdown option to use default dashboard filters in scheduled export",
964
964
  "limit": 0
965
965
  },
966
966
  "dialogs.schedule.management.attachments.filters.item.edited": {
967
967
  "value": "Use edited filters",
968
- "comment": "Attachment filters type item",
968
+ "comment": "Dropdown option to use custom edited filters in scheduled export",
969
969
  "limit": 0
970
970
  },
971
971
  "dialogs.schedule.management.attachments.filters.item.tooltip": {
972
972
  "value": "Default state of dashboard filters will be used in the scheduled export, even if the default values change in the future.",
973
- "comment": "Attachment filters type tooltip",
973
+ "comment": "Tooltip explaining how default filters work in scheduled exports",
974
974
  "limit": 0
975
975
  },
976
976
  "dialogs.schedule.management.attachments.filters.item.tooltip.disabled": {
977
977
  "value": "To schedule an export with default filters, create a new scheduled export.",
978
- "comment": "Attachment filters type tooltip when filter option is disabled",
978
+ "comment": "Tooltip explaining why default filter option is disabled and how to use it",
979
979
  "limit": 0
980
980
  },
981
981
  "dialogs.schedule.management.attachments.message": {
982
982
  "value": "<strong>Note</strong>. Cross-filtering will not be applied in the scheduled export.",
983
- "comment": "Message about used filters. Do not translate HTML tags.",
983
+ "comment": "Important notice about scheduled exports. The <strong> tags emphasize that cross-filtering won't apply to exported data.",
984
984
  "limit": 0
985
985
  },
986
986
  "dialogs.schedule.management.attachments.title": {
987
987
  "value": "Attachments",
988
- "comment": "",
988
+ "comment": "Header for attachments section in scheduled export dialog",
989
989
  "limit": 0
990
990
  },
991
991
  "scheduledEmail.attachmentFormat.widget.png": {
992
992
  "value": "Snapshot (.png)",
993
- "comment": "",
993
+ "comment": "Attachment format for widget snapshot in scheduled export",
994
994
  "limit": 0
995
995
  },
996
996
  "scheduledEmail.attachmentFormat.widget.pptx": {
997
997
  "value": "Single Slide (.pptx)",
998
- "comment": "",
998
+ "comment": "Attachment format for single slide in scheduled export",
999
999
  "limit": 0
1000
1000
  },
1001
1001
  "scheduledEmail.attachmentFormat.widget.pdf": {
1002
1002
  "value": "Single Slide (.pdf)",
1003
- "comment": "",
1003
+ "comment": "Attachment format for single slide in scheduled export",
1004
1004
  "limit": 0
1005
1005
  },
1006
1006
  "scheduledEmail.attachmentFormat.widget.formattedXLSX": {
1007
1007
  "value": "Formatted data (.xlsx)",
1008
- "comment": "",
1008
+ "comment": "Attachment format for formatted data in scheduled export",
1009
1009
  "limit": 0
1010
1010
  },
1011
1011
  "scheduledEmail.attachmentFormat.widget.formattedCSV": {
1012
1012
  "value": "Formatted data (.csv)",
1013
- "comment": "",
1013
+ "comment": "Attachment format for formatted data in scheduled export",
1014
1014
  "limit": 0
1015
1015
  },
1016
1016
  "scheduledEmail.attachmentFormat.widget.rawCSV": {
1017
1017
  "value": "Raw data (.csv)",
1018
- "comment": "",
1018
+ "comment": "Attachment format for raw data in scheduled export",
1019
1019
  "limit": 0
1020
1020
  },
1021
1021
  "scheduledEmail.attachmentFormat.dashboard.pptx": {
1022
1022
  "value": "Slide Deck (.pptx)",
1023
- "comment": "",
1023
+ "comment": "Attachment format for slide deck in scheduled export",
1024
1024
  "limit": 0
1025
1025
  },
1026
1026
  "scheduledEmail.attachmentFormat.dashboard.pdf": {
1027
1027
  "value": "Snapshot (.pdf)",
1028
- "comment": "",
1028
+ "comment": "Attachment format for snapshot in scheduled export",
1029
1029
  "limit": 0
1030
1030
  },
1031
1031
  "scheduledEmail.attachmentFormat.dashboard.formattedXLSX": {
1032
1032
  "value": "Data (.xlsx)",
1033
- "comment": "",
1033
+ "comment": "Attachment format for data in scheduled export",
1034
1034
  "limit": 0
1035
1035
  },
1036
1036
  "scheduledEmail.attachmentFormat.dashboard.pdfSlides": {
1037
1037
  "value": "Slide Deck (.pdf)",
1038
- "comment": "",
1038
+ "comment": "Attachment format for slide deck in scheduled export",
1039
1039
  "limit": 0
1040
1040
  },
1041
1041
  "scheduledEmail.attachments.warning.noAttachmentsSelected": {
@@ -1045,72 +1045,72 @@
1045
1045
  },
1046
1046
  "scheduledEmail.attachments.error.noAttachmentsSelected": {
1047
1047
  "value": "Error: No attachments selected — select at least one attachment to schedule an export.",
1048
- "comment": "",
1048
+ "comment": "Error message shown when no attachments are selected in scheduled export dialog",
1049
1049
  "limit": 0
1050
1050
  },
1051
1051
  "dialogs.schedule.management.load.error": {
1052
1052
  "value": "Failed to load. Try again later.",
1053
- "comment": "",
1053
+ "comment": "Error message shown when schedule management data fails to load",
1054
1054
  "limit": 0
1055
1055
  },
1056
1056
  "dialogs.schedule.management.delete.error": {
1057
1057
  "value": "Failed to delete schedule. Try again later.",
1058
- "comment": "",
1058
+ "comment": "Error message shown when schedule deletion fails",
1059
1059
  "limit": 0
1060
1060
  },
1061
1061
  "dialogs.alerting.management.title": {
1062
1062
  "value": "Alerts",
1063
- "comment": "",
1063
+ "comment": "Title of the alerts management dialog",
1064
1064
  "limit": 0
1065
1065
  },
1066
1066
  "dialogs.alerting.management.load.error": {
1067
1067
  "value": "Failed to load. Try again later.",
1068
- "comment": "",
1068
+ "comment": "Error message shown when alerts fail to load",
1069
1069
  "limit": 0
1070
1070
  },
1071
1071
  "dialogs.alerting.create.error": {
1072
1072
  "value": "Failed to create alert. Try again later.",
1073
- "comment": "",
1073
+ "comment": "Error message shown when alert creation fails",
1074
1074
  "limit": 0
1075
1075
  },
1076
1076
  "dialogs.alerting.create.success": {
1077
1077
  "value": "Alert created successfully.",
1078
- "comment": "",
1078
+ "comment": "Success message after alert is created",
1079
1079
  "limit": 0
1080
1080
  },
1081
1081
  "dialogs.alerting.update.error": {
1082
1082
  "value": "Failed to update alert. Try again later.",
1083
- "comment": "",
1083
+ "comment": "Error message shown when alert update fails",
1084
1084
  "limit": 0
1085
1085
  },
1086
1086
  "dialogs.alerting.update.success": {
1087
1087
  "value": "Alert updated successfully.",
1088
- "comment": "",
1088
+ "comment": "Success message after alert is updated",
1089
1089
  "limit": 0
1090
1090
  },
1091
1091
  "dialogs.alerting.management.delete.error": {
1092
1092
  "value": "Failed to delete alert. Try again later.",
1093
- "comment": "",
1093
+ "comment": "Error message shown when alert deletion fails",
1094
1094
  "limit": 0
1095
1095
  },
1096
1096
  "dialogs.alerting.management.pause.error": {
1097
1097
  "value": "Failed to pause alert. Try again later.",
1098
- "comment": "",
1098
+ "comment": "Error message shown when pausing an alert fails",
1099
1099
  "limit": 0
1100
1100
  },
1101
1101
  "dialogs.alerting.management.pause.success": {
1102
1102
  "value": "Your alert has been paused.",
1103
- "comment": "",
1103
+ "comment": "Success message after alert is paused",
1104
1104
  "limit": 0
1105
1105
  },
1106
1106
  "dialogs.alerting.management.activate.error": {
1107
1107
  "value": "Failed to un-pause alert. Try again later.",
1108
- "comment": "",
1108
+ "comment": "Error message shown when reactivating a paused alert fails",
1109
1109
  "limit": 0
1110
1110
  },
1111
1111
  "dialogs.alerting.management.activate.success": {
1112
1112
  "value": "Your alert has been un-paused.",
1113
- "comment": "",
1113
+ "comment": "Success message after alert is reactivated",
1114
1114
  "limit": 0
1115
1115
  },
1116
1116
  "dialogs.alerting.footer.title": {
@@ -1125,12 +1125,12 @@
1125
1125
  },
1126
1126
  "dialogs.alerting.management.list.title": {
1127
1127
  "value": "Your alerts",
1128
- "comment": "",
1128
+ "comment": "Title for the list of user's alerts",
1129
1129
  "limit": 0
1130
1130
  },
1131
1131
  "dialogs.alerting.management.noAlerts": {
1132
1132
  "value": "There are no alerts.",
1133
- "comment": "",
1133
+ "comment": "Message shown when the user has no alerts",
1134
1134
  "limit": 0
1135
1135
  },
1136
1136
  "dialogs.alerting.title.placeholder": {
@@ -1140,42 +1140,42 @@
1140
1140
  },
1141
1141
  "dialogs.alerting.management.delete.dialog": {
1142
1142
  "value": "Delete alert?",
1143
- "comment": "",
1143
+ "comment": "Title of the confirmation dialog when deleting an alert",
1144
1144
  "limit": 0
1145
1145
  },
1146
1146
  "dialogs.alerting.management.delete.dialog.confirm": {
1147
1147
  "value": "<b>The alert</b> will be permanently deleted, along with all its notifications.",
1148
- "comment": "Do not translate html tags <b>, </b>",
1148
+ "comment": "Confirmation message shown when deleting an alert",
1149
1149
  "limit": 0
1150
1150
  },
1151
1151
  "dialogs.alerting.delete.success": {
1152
1152
  "value": "Success! Your alert was deleted.",
1153
- "comment": "",
1153
+ "comment": "Success message after alert is deleted",
1154
1154
  "limit": 0
1155
1155
  },
1156
1156
  "alerting.alert.menu.delete": {
1157
1157
  "value": "Delete",
1158
- "comment": "",
1158
+ "comment": "Menu option to delete an alert",
1159
1159
  "limit": 0
1160
1160
  },
1161
1161
  "alerting.alert.menu.pause": {
1162
1162
  "value": "Pause",
1163
- "comment": "",
1163
+ "comment": "Menu option to pause an active alert",
1164
1164
  "limit": 0
1165
1165
  },
1166
1166
  "alerting.alert.menu.resume": {
1167
1167
  "value": "Unpause",
1168
- "comment": "",
1168
+ "comment": "Menu option to resume a paused alert",
1169
1169
  "limit": 0
1170
1170
  },
1171
1171
  "alerting.alert.menu.edit": {
1172
1172
  "value": "Edit",
1173
- "comment": "",
1173
+ "comment": "Menu option to edit an existing alert",
1174
1174
  "limit": 0
1175
1175
  },
1176
1176
  "delete": {
1177
1177
  "value": "Delete",
1178
- "comment": "",
1178
+ "comment": "Action button label to remove or delete an item",
1179
1179
  "limit": 0
1180
1180
  },
1181
1181
  "close": {
@@ -1185,37 +1185,37 @@
1185
1185
  },
1186
1186
  "cancel": {
1187
1187
  "value": "Cancel",
1188
- "comment": "",
1188
+ "comment": "Label for a button that cancels an action and closes a dialog without saving changes",
1189
1189
  "limit": 0
1190
1190
  },
1191
1191
  "save": {
1192
1192
  "value": "Save",
1193
- "comment": "",
1193
+ "comment": "Label for a button that saves changes and completes an action",
1194
1194
  "limit": 0
1195
1195
  },
1196
1196
  "create": {
1197
1197
  "value": "Create",
1198
- "comment": "",
1198
+ "comment": "Label for a button that creates a new item or completes a creation flow",
1199
1199
  "limit": 0
1200
1200
  },
1201
1201
  "apply": {
1202
1202
  "value": "Apply",
1203
- "comment": "",
1203
+ "comment": "Label for a button that applies changes without closing a dialog or panel",
1204
1204
  "limit": 0
1205
1205
  },
1206
1206
  "gs.date.today": {
1207
1207
  "value": "Today",
1208
- "comment": "",
1208
+ "comment": "Label for the current day in date filters and selectors",
1209
1209
  "limit": 0
1210
1210
  },
1211
1211
  "gs.date.tomorrow": {
1212
1212
  "value": "Tomorrow",
1213
- "comment": "",
1213
+ "comment": "Label for the day after today in date filters and selectors",
1214
1214
  "limit": 0
1215
1215
  },
1216
1216
  "gs.date.yesterday": {
1217
1217
  "value": "Yesterday",
1218
- "comment": "",
1218
+ "comment": "Label for the day before today in date filters and selectors",
1219
1219
  "limit": 0
1220
1220
  },
1221
1221
  "messages.exportResultError": {
@@ -1271,48 +1271,48 @@
1271
1271
  },
1272
1272
  "visualization.dataTooLarge.headline": {
1273
1273
  "value": "Too many data points to display",
1274
- "comment": "",
1274
+ "comment": "Error message headline when visualization has too much data to render",
1275
1275
  "limit": 0
1276
1276
  },
1277
1277
  "visualization.dataTooLarge.text": {
1278
1278
  "value": "Try applying one or more filters to your dashboard.",
1279
- "comment": "",
1279
+ "comment": "Suggested action when visualization has too much data to render",
1280
1280
  "limit": 0
1281
1281
  },
1282
1282
  "visualization.execute_protected_report.headline": {
1283
1283
  "value": "You are not authorized to see this report",
1284
- "comment": "",
1284
+ "comment": "Error message headline when user lacks permission to view a report",
1285
1285
  "limit": 0
1286
1286
  },
1287
1287
  "visualization.execute_protected_report.text": {
1288
1288
  "value": "Contact your administrator.",
1289
- "comment": "",
1289
+ "comment": "Suggested action when user lacks permission to view a report",
1290
1290
  "limit": 0
1291
1291
  },
1292
1292
  "visualization.empty.headline": {
1293
1293
  "value": "No data for your filter selection",
1294
- "comment": "",
1294
+ "comment": "Message shown when a visualization has no data to display due to the current filter settings",
1295
1295
  "limit": 0
1296
1296
  },
1297
1297
  "visualization.error.headline|insight": {
1298
1298
  "value": "Sorry, we can't display this visualization",
1299
- "comment": "",
1299
+ "comment": "Error message header when a visualization fails to load or render",
1300
1300
  "limit": 0
1301
1301
  },
1302
1302
  "visualization.error.headline|report": {
1303
1303
  "value": "Sorry, we can't display this report",
1304
- "comment": "",
1304
+ "comment": "Error message header when a report fails to load or render",
1305
1305
  "limit": 0,
1306
1306
  "translate": false
1307
1307
  },
1308
1308
  "visualization.error.text": {
1309
1309
  "value": "Contact your administrator.",
1310
- "comment": "",
1310
+ "comment": "Instructional text shown below an error message, guiding users to contact support",
1311
1311
  "limit": 0
1312
1312
  },
1313
1313
  "visualization.warning.export.too_small": {
1314
1314
  "value": "Not enough space for visualization",
1315
- "comment": "",
1315
+ "comment": "Warning shown when there is insufficient space to properly display a visualization during export",
1316
1316
  "limit": 0
1317
1317
  },
1318
1318
  "options.menu.unsupported.error._measure|insight": {
@@ -1350,12 +1350,12 @@
1350
1350
  },
1351
1351
  "options.menu.unsupported.incompatibleWidget": {
1352
1352
  "value": "Unable to schedule the export on custom widget.",
1353
- "comment": "",
1353
+ "comment": "Error message shown when attempting to schedule an export for an unsupported custom widget type",
1354
1354
  "limit": 0
1355
1355
  },
1356
1356
  "options.menu.unsupported.schedulingForInsightNotEnabled": {
1357
1357
  "value": "You cannot schedule an export for this widget.",
1358
- "comment": "Tooltip for the widget that does not support scheduling, because it's disabled on the insight.",
1358
+ "comment": "Error message shown when scheduling exports is not enabled for the current insight or visualization. Tooltip for the widget that does not support scheduling, because it's disabled on the insight.",
1359
1359
  "limit": 0
1360
1360
  },
1361
1361
  "options.menu.unsupported.alertingForInsightNotEnabled": {
@@ -1365,17 +1365,17 @@
1365
1365
  },
1366
1366
  "options.menu.unsupported.oldWidget": {
1367
1367
  "value": "Unable to schedule the export. Please resave the dashboard or contact your administrator.",
1368
- "comment": "",
1368
+ "comment": "Error message shown when attempting to schedule an export for a widget that needs to be resaved due to compatibility issues",
1369
1369
  "limit": 0
1370
1370
  },
1371
1371
  "options.menu.unsupported.xlsxOldWidget": {
1372
1372
  "value": "Unable to export. Please resave the dashboard or contact your administrator.",
1373
- "comment": "",
1373
+ "comment": "Error message shown when unable to export to XLSX due to widget compatibility issues, suggesting to resave the dashboard",
1374
1374
  "limit": 0
1375
1375
  },
1376
1376
  "options.menu.unsupported.alertingOldWidget": {
1377
1377
  "value": "Unable to create an alert. Please resave the dashboard or contact your administrator.",
1378
- "comment": "",
1378
+ "comment": "Error message shown when unable to create an alert due to widget compatibility issues, suggesting to resave the dashboard",
1379
1379
  "limit": 0
1380
1380
  },
1381
1381
  "export.defaultTitle|insight": {
@@ -1396,12 +1396,12 @@
1396
1396
  },
1397
1397
  "widget.options.description": {
1398
1398
  "value": "Description",
1399
- "comment": "",
1399
+ "comment": "Label for the widget description field in widget options",
1400
1400
  "limit": 0
1401
1401
  },
1402
1402
  "widget.options.menu": {
1403
1403
  "value": "Options",
1404
- "comment": "",
1404
+ "comment": "Title for the widget options menu that appears when clicking the options button on a widget",
1405
1405
  "limit": 0
1406
1406
  },
1407
1407
  "widget.options.menu.exportToCSV": {
@@ -1421,12 +1421,12 @@
1421
1421
  },
1422
1422
  "widget.options.menu.scheduleExport": {
1423
1423
  "value": "Schedule export",
1424
- "comment": "",
1424
+ "comment": "Menu item for scheduling regular exports of widget data",
1425
1425
  "limit": 0
1426
1426
  },
1427
1427
  "widget.options.menu.scheduleExport.edit": {
1428
1428
  "value": "Show schedules",
1429
- "comment": "",
1429
+ "comment": "Menu item to view and manage existing export schedules for the widget",
1430
1430
  "limit": 0
1431
1431
  },
1432
1432
  "widget.options.menu.XLSX": {
@@ -1446,27 +1446,27 @@
1446
1446
  },
1447
1447
  "widget.error.missing_insight.message": {
1448
1448
  "value": "No visualization available",
1449
- "comment": "",
1449
+ "comment": "Error message shown when a widget's visualization cannot be loaded or is missing",
1450
1450
  "limit": 0
1451
1451
  },
1452
1452
  "widget.error.missing_insight.description": {
1453
1453
  "value": "This visualization has been removed or is no longer accessible. Please contact your administrator or remove it from the dashboard.",
1454
- "comment": "",
1454
+ "comment": "Detailed error message explaining that a visualization is missing and suggesting actions to resolve the issue",
1455
1455
  "limit": 0
1456
1456
  },
1457
1457
  "widget.drill.dialog.exportToXLSX": {
1458
1458
  "value": "Export to XLSX",
1459
- "comment": "",
1459
+ "comment": "Button label for exporting widget data to XLSX format from the drill dialog",
1460
1460
  "limit": 0
1461
1461
  },
1462
1462
  "widget.drill.dialog.exportToCSV.formatted": {
1463
1463
  "value": "Export to CSV (formatted)",
1464
- "comment": "",
1464
+ "comment": "Button label for exporting formatted widget data to CSV format from the drill dialog",
1465
1465
  "limit": 0
1466
1466
  },
1467
1467
  "widget.drill.dialog.exportToCSV.raw": {
1468
1468
  "value": "Export to CSV (raw)",
1469
- "comment": "",
1469
+ "comment": "Button label for exporting raw widget data to CSV format from the drill dialog, without any formatting applied",
1470
1470
  "limit": 0
1471
1471
  },
1472
1472
  "share.button.text": {
@@ -1481,53 +1481,53 @@
1481
1481
  },
1482
1482
  "dashboard.error.empty.heading": {
1483
1483
  "value": "This dashboard is empty",
1484
- "comment": "The user has a dashboard that contains no widgets.",
1484
+ "comment": "Heading shown when a dashboard contains no widgets or visualizations",
1485
1485
  "limit": 0
1486
1486
  },
1487
1487
  "dashboard.error.empty.text|insight": {
1488
1488
  "value": "All visualizations were removed.",
1489
- "comment": "The user has a dashboard that contains no widgets.",
1489
+ "comment": "Message shown when all visualizations have been removed from the dashboard",
1490
1490
  "limit": 0
1491
1491
  },
1492
1492
  "dashboard.error.empty.text|report": {
1493
1493
  "value": "All reports were removed.",
1494
- "comment": "The user has a dashboard that contains no widgets.",
1494
+ "comment": "Message shown when all reports have been removed from the dashboard",
1495
1495
  "translate": false,
1496
1496
  "limit": 0
1497
1497
  },
1498
1498
  "dashboard.shareDialog.underLenientControl.label": {
1499
1499
  "value": "Other users can access this dashboard if they drill to it",
1500
- "comment": "Label of checkbox that sets if other users than the ones in the list above the checkbox will be able to access the dashboard if they drill into it from another dashboard.",
1500
+ "comment": "Label for the checkbox that controls whether users can access this dashboard by drilling into it from another dashboard, even if they're not explicitly granted access",
1501
1501
  "limit": 0
1502
1502
  },
1503
1503
  "dashboard.shareDialog.lock.label": {
1504
1504
  "value": "Only admins can edit this dashboard",
1505
- "comment": "Label of checkbox that sets edit right for the dashboard",
1505
+ "comment": "Label for the checkbox that restricts dashboard editing to administrators only",
1506
1506
  "limit": 0
1507
1507
  },
1508
1508
  "header.lockStatus.tooltip": {
1509
1509
  "value": "<b>This dashboard is locked.</b> Only administrators can edit this dashboard.",
1510
- "comment": "Shown when hovering over lock indicator. Dont translate html tags <b>, </b>",
1510
+ "comment": "Tooltip shown when hovering over the dashboard lock icon, with emphasis on the locked status",
1511
1511
  "limit": 0
1512
1512
  },
1513
1513
  "header.shareStatus.private.text": {
1514
1514
  "value": "Private",
1515
- "comment": "Share indicator text when dashboard is private",
1515
+ "comment": "Text shown in the share status indicator when the dashboard is set to private visibility",
1516
1516
  "limit": 0
1517
1517
  },
1518
1518
  "header.shareStatus.private.strict.tooltip": {
1519
1519
  "value": "Only you can view and edit this dashboard.",
1520
- "comment": "Shown when hovering over share indicator of private dashboard and strict access.",
1520
+ "comment": "Tooltip shown when hovering over the private share status indicator with strict access enabled, indicating restricted access",
1521
1521
  "limit": 0
1522
1522
  },
1523
1523
  "header.shareStatus.private.not.strict.tooltip": {
1524
1524
  "value": "The creator can edit this dashboard. Other users with appropriate user roles can edit this dashboard when they drill to it.",
1525
- "comment": "Shown when hovering over share indicator of private dashboard and not strict access.",
1525
+ "comment": "Tooltip explaining that while the dashboard is private, users with proper roles can edit it when accessing through drill navigation",
1526
1526
  "limit": 0
1527
1527
  },
1528
1528
  "dashboard.shareDialog.removeAccessGranteeTooltip": {
1529
1529
  "value": "Remove access to this dashboard.",
1530
- "comment": "Text of the tooltip shown above button that removes user or group dashboard access right.",
1530
+ "comment": "Tooltip for the button that revokes a user's or group's access to the dashboard",
1531
1531
  "limit": 0
1532
1532
  },
1533
1533
  "dashboard.shareDialog.removeAccessCreatorTooltip": {
@@ -1537,7 +1537,7 @@
1537
1537
  },
1538
1538
  "attributesDropdown.placeholder": {
1539
1539
  "value": "Search…",
1540
- "comment": "Use '…' as one character, not 3 dots ('...').",
1540
+ "comment": "Placeholder text in attribute filter search input",
1541
1541
  "limit": 0
1542
1542
  },
1543
1543
  "attributesDropdown.configuration": {
@@ -1557,37 +1557,37 @@
1557
1557
  },
1558
1558
  "attributesDropdown.displayValuesAs": {
1559
1559
  "value": "Display values as",
1560
- "comment": "Filter section label in attribute filter dropdown configuration. Displayed before dropdown button that changes form of the attribute used in visualization. For example 'Display as: Shortened name'.",
1560
+ "comment": "Label for display format selection in attribute filter configuration",
1561
1561
  "limit": 0
1562
1562
  },
1563
1563
  "attributesDropdown.title": {
1564
1564
  "value": "Title",
1565
- "comment": "",
1565
+ "comment": "Label for the title field in attribute dropdown components",
1566
1566
  "limit": 0
1567
1567
  },
1568
1568
  "attributesDropdown.title.reset": {
1569
1569
  "value": "Reset",
1570
- "comment": "",
1570
+ "comment": "Button label to reset the attribute title to its default value",
1571
1571
  "limit": 0
1572
1572
  },
1573
1573
  "attributesDropdown.selectionMode": {
1574
1574
  "value": "Selection",
1575
- "comment": "Dropdown subsection title.",
1575
+ "comment": "Label for the selection mode dropdown in attribute filter configuration",
1576
1576
  "limit": 0
1577
1577
  },
1578
1578
  "attributesDropdown.selectionMode.multi": {
1579
1579
  "value": "Multiple values",
1580
- "comment": "Input selection choice.",
1580
+ "comment": "Option to allow selecting multiple values in the attribute filter",
1581
1581
  "limit": 0
1582
1582
  },
1583
1583
  "attributesDropdown.selectionMode.single": {
1584
1584
  "value": "Single value",
1585
- "comment": "Input selection choice.",
1585
+ "comment": "Option to allow selecting only one value in the attribute filter",
1586
1586
  "limit": 0
1587
1587
  },
1588
1588
  "attributesDropdown.selectionMode.disabled.tooltip": {
1589
1589
  "value": "Single value selection is not allowed if any filters are selected in Filter by.To use the Single value selection, disable all filters in Filter by.",
1590
- "comment": "Tooltip describing why selection value is disabled.",
1590
+ "comment": "Tooltip explaining why single value selection is disabled when filters are applied",
1591
1591
  "limit": 0
1592
1592
  },
1593
1593
  "attributesDropdown.parentFilter.disabled.tooltip": {
@@ -1597,22 +1597,22 @@
1597
1597
  },
1598
1598
  "attributesDropdown.noConnectionMessage": {
1599
1599
  "value": "<strong>{childTitle}</strong> cannot be filtered by <strong>{parentTitle}</strong>. There is no connection between the filter attributes in the data model.",
1600
- "comment": "Do not translate HTML markup enclosed in <> and placeholders enclosed in {}.",
1600
+ "comment": "Error message when attributes cannot be filtered together. The <strong> tags emphasize attribute names, and {childTitle}/{parentTitle} show the specific attribute names.",
1601
1601
  "limit": 0
1602
1602
  },
1603
1603
  "attributesDropdown.details.dataset": {
1604
1604
  "value": "Dataset",
1605
- "comment": "",
1605
+ "comment": "Label for the dataset information section in attribute filter details",
1606
1606
  "limit": 0
1607
1607
  },
1608
1608
  "attributesDropdown.details.values": {
1609
1609
  "value": "Values",
1610
- "comment": "",
1610
+ "comment": "Label for the values section in attribute filter details",
1611
1611
  "limit": 0
1612
1612
  },
1613
1613
  "attributesDropdown.details.shortening_decoration": {
1614
1614
  "value": "…and {count} more",
1615
- "comment": "Don't translate placeholder '{count}'. Use '…' as one character, not 3 dots ('...').",
1615
+ "comment": "Text shown when a list of attribute values is truncated. Placeholder {count} shows the number of additional attribute filter values. Example: '…and 5 more'.",
1616
1616
  "limit": 0
1617
1617
  },
1618
1618
  "attributesDropdown.removeTooltip": {
@@ -1622,7 +1622,7 @@
1622
1622
  },
1623
1623
  "layout.header.characters.left": {
1624
1624
  "value": "{currentCharactersCount} / {maximumCharactersCount} characters left",
1625
- "comment": "Number of characters that can be written e.g. : 4 /20 characters left",
1625
+ "comment": "Label showing the number of characters remaining in the input field (e.g., '4 / 20 characters left')",
1626
1626
  "limit": 0
1627
1627
  },
1628
1628
  "layout.header.add.title.placeholder": {
@@ -1637,243 +1637,243 @@
1637
1637
  },
1638
1638
  "controlButtons.options.tooltip": {
1639
1639
  "value": "More actions",
1640
- "comment": "",
1640
+ "comment": "Tooltip shown when hovering over the options menu button",
1641
1641
  "limit": 0
1642
1642
  },
1643
1643
  "controlButtons.options.back": {
1644
1644
  "value": "Back to previous step",
1645
- "comment": "",
1645
+ "comment": "Button text for returning to the previous screen or action",
1646
1646
  "limit": 0
1647
1647
  },
1648
1648
  "controlButtons.options.closeMenu": {
1649
1649
  "value": "Close menu",
1650
- "comment": "",
1650
+ "comment": "Button text for closing the options menu",
1651
1651
  "limit": 0
1652
1652
  },
1653
1653
  "controlButtons.edit.value": {
1654
1654
  "value": "Edit",
1655
- "comment": "",
1655
+ "comment": "Button text for entering dashboard edit mode",
1656
1656
  "limit": 0
1657
1657
  },
1658
1658
  "controlButtons.edit.tooltip": {
1659
1659
  "value": "Edit dashboard",
1660
- "comment": "",
1660
+ "comment": "Tooltip shown when hovering over the edit dashboard button",
1661
1661
  "limit": 0
1662
1662
  },
1663
1663
  "controlButtons.edit.executionTimestampMode.tooltip": {
1664
1664
  "value": "To edit the dashboard, reset the date to today.",
1665
- "comment": "",
1665
+ "comment": "Tooltip explaining that historical dashboard view must be reset before editing",
1666
1666
  "limit": 0
1667
1667
  },
1668
1668
  "controlButtons.setting.value": {
1669
1669
  "value": "Settings",
1670
- "comment": "",
1670
+ "comment": "Button text for accessing dashboard settings",
1671
1671
  "limit": 0
1672
1672
  },
1673
1673
  "controlButtons.setting.title": {
1674
1674
  "value": "All settings related to this dashboard. You can change the dashboard description cross-filtering, saved filters allowed, and alerts evaluation frequency.",
1675
- "comment": "",
1675
+ "comment": "Extended tooltip describing available dashboard settings options",
1676
1676
  "limit": 0
1677
1677
  },
1678
1678
  "controlButtons.saveAndPublish.value": {
1679
1679
  "value": "Save & Publish",
1680
- "comment": "",
1680
+ "comment": "Button text for saving changes and publishing them to all users",
1681
1681
  "limit": 0
1682
1682
  },
1683
1683
  "controlButtons.save.value": {
1684
1684
  "value": "Save",
1685
- "comment": "",
1685
+ "comment": "Button text for saving dashboard changes",
1686
1686
  "limit": 0
1687
1687
  },
1688
1688
  "controlButtons.saveAndPublish.title": {
1689
1689
  "value": "All changes will be immediately visible to everyone who can access this dashboard.",
1690
- "comment": "",
1690
+ "comment": "Tooltip explaining the effect of saving and publishing dashboard changes",
1691
1691
  "limit": 0
1692
1692
  },
1693
1693
  "controlButtons.saveAsPrivate.title": {
1694
1694
  "value": "All changes will be saved.",
1695
- "comment": "",
1695
+ "comment": "Tooltip explaining private save action effect",
1696
1696
  "limit": 0
1697
1697
  },
1698
1698
  "controlButtons.saveAndPublish.disable.empty.title": {
1699
1699
  "value": "Empty dashboard cannot be saved",
1700
- "comment": "",
1700
+ "comment": "Tooltip shown when save button is disabled because dashboard has no content",
1701
1701
  "limit": 0
1702
1702
  },
1703
1703
  "controlButtons.saveAndPublish.disable.noChanges.title": {
1704
1704
  "value": "There are no changes to save",
1705
- "comment": "",
1705
+ "comment": "Tooltip shown when save button is disabled because there are no unsaved changes",
1706
1706
  "limit": 0
1707
1707
  },
1708
1708
  "controlButtons.saving.value": {
1709
1709
  "value": "Saving…",
1710
- "comment": "Use '…' as one character, not 3 dots ('...').",
1710
+ "comment": "Text shown while dashboard changes are being saved",
1711
1711
  "limit": 0
1712
1712
  },
1713
1713
  "gs.visualizationsList.tabs.all": {
1714
1714
  "value": "all",
1715
- "comment": "",
1715
+ "comment": "Tab label for showing all visualizations regardless of creator",
1716
1716
  "limit": 0
1717
1717
  },
1718
1718
  "gs.visualizationsList.tabs.my": {
1719
1719
  "value": "created by me",
1720
- "comment": "",
1720
+ "comment": "Tab label for filtering visualizations to show only those created by current user",
1721
1721
  "limit": 0
1722
1722
  },
1723
1723
  "visualizationsList.noInsights|insight": {
1724
1724
  "value": "This workspace contains no visualizations.",
1725
- "comment": "",
1725
+ "comment": "Message shown when no visualizations exist in the workspace",
1726
1726
  "limit": 0
1727
1727
  },
1728
1728
  "visualizationsList.noInsights|report": {
1729
1729
  "value": "This workspace contains no reports.",
1730
- "comment": "",
1730
+ "comment": "Message shown when no reports exist in the workspace",
1731
1731
  "limit": 0,
1732
1732
  "translate": false
1733
1733
  },
1734
1734
  "visualizationsList.create|insight": {
1735
1735
  "value": "Create visualization",
1736
- "comment": "",
1736
+ "comment": "Button text for creating a new visualization",
1737
1737
  "limit": 0
1738
1738
  },
1739
1739
  "visualizationsList.create|report": {
1740
1740
  "value": "Create report",
1741
- "comment": "",
1741
+ "comment": "Button text for creating a new report",
1742
1742
  "translate": false,
1743
1743
  "limit": 0
1744
1744
  },
1745
1745
  "visualizationsList.noUserInsights|insight": {
1746
1746
  "value": "No visualizations created.",
1747
- "comment": "",
1747
+ "comment": "Message shown when user has not created any visualizations",
1748
1748
  "limit": 0
1749
1749
  },
1750
1750
  "visualizationsList.noUserInsights|report": {
1751
1751
  "value": "No reports created.",
1752
- "comment": "",
1752
+ "comment": "Message shown when user has not created any reports",
1753
1753
  "limit": 0,
1754
1754
  "translate": false
1755
1755
  },
1756
1756
  "visualizationsList.noVisualizationsFound|insight": {
1757
1757
  "value": "No visualization matched.",
1758
- "comment": "",
1758
+ "comment": "Message shown when search returns no visualizations",
1759
1759
  "limit": 0
1760
1760
  },
1761
1761
  "visualizationsList.noVisualizationsFound|report": {
1762
1762
  "value": "No report matched.",
1763
- "comment": "",
1763
+ "comment": "Message shown when search returns no reports",
1764
1764
  "limit": 0,
1765
1765
  "translate": false
1766
1766
  },
1767
1767
  "search_insights|insight": {
1768
1768
  "value": "Search all visualizations…",
1769
- "comment": "Use '…' as one character, not 3 dots ('...').",
1769
+ "comment": "Placeholder text in visualization search input field",
1770
1770
  "limit": 0
1771
1771
  },
1772
1772
  "search_insights|report": {
1773
1773
  "value": "Search all reports…",
1774
- "comment": "Use '…' as one character, not 3 dots ('...').",
1774
+ "comment": "Placeholder text in report search input field",
1775
1775
  "limit": 0,
1776
1776
  "translate": false
1777
1777
  },
1778
1778
  "save.as.new": {
1779
1779
  "value": "Save as new",
1780
- "comment": "",
1780
+ "comment": "Button text for saving current item as a new copy",
1781
1781
  "limit": 0
1782
1782
  },
1783
1783
  "addPanel.deleteItem": {
1784
1784
  "value": "Drop to remove",
1785
- "comment": "",
1785
+ "comment": "Instructions shown in deletion target area during drag and drop",
1786
1786
  "limit": 0
1787
1787
  },
1788
1788
  "addPanel.newItem": {
1789
1789
  "value": "New item",
1790
- "comment": "",
1790
+ "comment": "Generic label for a new dashboard item being added",
1791
1791
  "limit": 0
1792
1792
  },
1793
1793
  "addPanel.attributeFilter": {
1794
1794
  "value": "Attribute Filter",
1795
- "comment": "",
1795
+ "comment": "Label for attribute filter component in add panel",
1796
1796
  "limit": 0
1797
1797
  },
1798
1798
  "addPanel.filter": {
1799
1799
  "value": "Filter",
1800
- "comment": "",
1800
+ "comment": "Label for generic filter component in add panel",
1801
1801
  "limit": 0
1802
1802
  },
1803
1803
  "addPanel.attributeFilter.tooltip.no_attributes": {
1804
1804
  "value": "The attribute filter requires an attribute.",
1805
- "comment": "",
1805
+ "comment": "Error message shown when attempting to create filter without selecting attribute",
1806
1806
  "limit": 0
1807
1807
  },
1808
1808
  "addPanel.attributeFilter.tooltip.no_items": {
1809
1809
  "value": "The filter requires an attribute or a date dataset.",
1810
- "comment": "",
1810
+ "comment": "Error message shown when filter has no data items selected",
1811
1811
  "limit": 0
1812
1812
  },
1813
1813
  "addPanel.attributeFilter.tooltip.no_attributes.link": {
1814
1814
  "value": "Learn more",
1815
- "comment": "",
1815
+ "comment": "Link text for documentation about attribute filters",
1816
1816
  "limit": 0
1817
1817
  },
1818
1818
  "addPanel.kpi": {
1819
1819
  "value": "Key Performance Indicator",
1820
- "comment": "",
1820
+ "comment": "Label for KPI component in add panel",
1821
1821
  "limit": 0
1822
1822
  },
1823
1823
  "addPanel.richText": {
1824
1824
  "value": "Rich Text",
1825
- "comment": "",
1825
+ "comment": "Label for rich text editor component in add panel",
1826
1826
  "limit": 0
1827
1827
  },
1828
1828
  "addPanel.visualizationSwitcher": {
1829
1829
  "value": "Visualization switcher",
1830
- "comment": "",
1830
+ "comment": "Label for visualization switcher component in add panel",
1831
1831
  "limit": 0
1832
1832
  },
1833
1833
  "addPanel.visualizationSwitcher.tooltip": {
1834
1834
  "value": "Combine multiple visualizations into a single element with a navigation dropdown for switching between them.",
1835
- "comment": "",
1835
+ "comment": "Tooltip describing the purpose of the visualization switcher component",
1836
1836
  "limit": 0
1837
1837
  },
1838
1838
  "addPanel.dashboardLayout": {
1839
1839
  "value": "Column container",
1840
- "comment": "",
1840
+ "comment": "Label for container component that can group widgets in add panel",
1841
1841
  "limit": 0
1842
1842
  },
1843
1843
  "addPanel.dashboardLayout.tooltip": {
1844
1844
  "value": "Create a vertical group of widgets placed in a single column inside your section. Ideal for stacking multiple items.",
1845
- "comment": "",
1845
+ "comment": "Tooltip describing the purpose of the container component",
1846
1846
  "limit": 0
1847
1847
  },
1848
1848
  "addPanel.dashboardLayout.tooltip.learnMore": {
1849
1849
  "value": "Learn more",
1850
- "comment": "",
1850
+ "comment": "Link text for documentation about container component",
1851
1851
  "limit": 0
1852
1852
  },
1853
1853
  "visualizationsList.dragToAdd": {
1854
1854
  "value": "Drag to add",
1855
- "comment": "",
1855
+ "comment": "Instruction to drag visualization to dashboard",
1856
1856
  "limit": 0
1857
1857
  },
1858
1858
  "visualizationsList.savedVisualizations|insight": {
1859
1859
  "value": "Saved visualizations",
1860
- "comment": "",
1860
+ "comment": "Header for the list of saved visualizations",
1861
1861
  "limit": 0
1862
1862
  },
1863
1863
  "visualizationsList.savedVisualizations|report": {
1864
1864
  "value": "Saved reports",
1865
- "comment": "",
1865
+ "comment": "Header for the list of saved reports",
1866
1866
  "translate": false,
1867
1867
  "limit": 0
1868
1868
  },
1869
1869
  "configurationPanel.drillConfig.selectDashboard": {
1870
1870
  "value": "Choose dashboard…",
1871
- "comment": "Hint guiding users that drill target dashboard in select box has to be selected. Use '…' as one character, not 3 dots ('...').",
1871
+ "comment": "Placeholder text in dashboard selector for drill configuration",
1872
1872
  "limit": 0
1873
1873
  },
1874
1874
  "configurationPanel.drillConfig.drillIntoDashboard.searchPlaceholder": {
1875
1875
  "value": "Search all dashboards…",
1876
- "comment": "Use '…' as one character, not 3 dots ('...').",
1876
+ "comment": "Placeholder text in search field for finding dashboards to drill into",
1877
1877
  "limit": 0
1878
1878
  },
1879
1879
  "configurationPanel.drillConfig.forbiddenDashboard": {
@@ -1893,27 +1893,27 @@
1893
1893
  },
1894
1894
  "configurationPanel.remove.form.dashboard": {
1895
1895
  "value": "Remove from dashboard",
1896
- "comment": "",
1896
+ "comment": "Button text for removing a widget from the dashboard",
1897
1897
  "limit": 0
1898
1898
  },
1899
1899
  "filterBar.filter.drop": {
1900
1900
  "value": "drop to add",
1901
- "comment": "",
1901
+ "comment": "Instruction shown in filter bar drop zone during drag operation",
1902
1902
  "limit": 0
1903
1903
  },
1904
1904
  "filterBar.filter.addFilterPlaceholder": {
1905
1905
  "value": "Drag {icon} here",
1906
- "comment": "Do not translate variable enclosed in {}.",
1906
+ "comment": "Instruction indicating where to drag filters with icon placeholder",
1907
1907
  "limit": 0
1908
1908
  },
1909
1909
  "filterBar.filter.dropzone.tooltip": {
1910
1910
  "value": "Drag the attribute filter here.",
1911
- "comment": "",
1911
+ "comment": "Tooltip for attribute filter drop zone in filter bar",
1912
1912
  "limit": 0
1913
1913
  },
1914
1914
  "filterBar.filter.dropzone.tooltip.generic": {
1915
1915
  "value": "Drag the filter here.",
1916
- "comment": "",
1916
+ "comment": "Tooltip for generic filter drop zone in filter bar",
1917
1917
  "limit": 0
1918
1918
  },
1919
1919
  "configurationPanel.title": {
@@ -1923,336 +1923,336 @@
1923
1923
  },
1924
1924
  "configurationPanel.filterBy": {
1925
1925
  "value": "Filter by",
1926
- "comment": "",
1926
+ "comment": "Label for filter selection in widget configuration panel",
1927
1927
  "limit": 0
1928
1928
  },
1929
1929
  "configurationPanel.dateAs": {
1930
1930
  "value": "as",
1931
- "comment": "",
1931
+ "comment": "Conjunction word used in date granularity selection",
1932
1932
  "limit": 0
1933
1933
  },
1934
1934
  "configurationPanel.vizCantBeFilteredByAttribute|insight": {
1935
1935
  "value": "The visualization cannot be filtered by {attributeName}. Unselect the check box.",
1936
- "comment": "Don't translate placeholder '{attributeName}'.",
1936
+ "comment": "Warning message when attempting to apply incompatible attribute filter to visualization",
1937
1937
  "limit": 0
1938
1938
  },
1939
1939
  "configurationPanel.vizCantBeFilteredByAttribute|report": {
1940
1940
  "value": "The report cannot be filtered by {attributeName}. Unselect the check box.",
1941
- "comment": "Don't translate placeholder '{attributeName}'.",
1941
+ "comment": "Warning message when attempting to apply incompatible attribute filter to report",
1942
1942
  "translate": false,
1943
1943
  "limit": 0
1944
1944
  },
1945
1945
  "configurationPanel.kpiCantBeFilteredByAttribute": {
1946
1946
  "value": "The kpi cannot be filtered by {attributeName}. Unselect the check box.",
1947
- "comment": "Don't translate placeholder '{attributeName}'.",
1947
+ "comment": "Warning message when attempting to apply incompatible attribute filter to KPI",
1948
1948
  "limit": 0
1949
1949
  },
1950
1950
  "configurationPanel.vizCantBeFilteredByDate|insight": {
1951
1951
  "value": "The visualization cannot be filtered by Date. Unselect the check box.",
1952
- "comment": "",
1952
+ "comment": "Warning message when attempting to apply date filter to incompatible visualization",
1953
1953
  "limit": 0
1954
1954
  },
1955
1955
  "configurationPanel.vizCantBeFilteredByDate|report": {
1956
1956
  "value": "The report cannot be filtered by Date. Unselect the check box.",
1957
- "comment": "",
1957
+ "comment": "Warning message when attempting to apply date filter to incompatible report",
1958
1958
  "translate": false,
1959
1959
  "limit": 0
1960
1960
  },
1961
1961
  "configurationPanel.kpiCantBeFilteredByDate": {
1962
1962
  "value": "The kpi cannot be filtered by Date. Unselect the check box.",
1963
- "comment": "",
1963
+ "comment": "Warning message when attempting to apply date filter to incompatible KPI",
1964
1964
  "limit": 0
1965
1965
  },
1966
1966
  "configurationPanel.unrelatedVizDateInfo|insight": {
1967
1967
  "value": "\"{dateDataSet}\" can no longer be applied to the visualization. Select a different dimension or edit the visualization.",
1968
- "comment": "Don't translate placeholder '{dateDataSet}' and keep '\"' characters as are.",
1968
+ "comment": "Error message when selected date dimension is no longer compatible with the visualization",
1969
1969
  "limit": 0
1970
1970
  },
1971
1971
  "configurationPanel.unrelatedVizDateInfo|report": {
1972
1972
  "value": "\"{dateDataSet}\" can no longer be applied to the report. Select a different dimension or edit the report.",
1973
- "comment": "Don't translate placeholder '{dateDataSet}' and keep '\"' characters as are.",
1973
+ "comment": "Error message when selected date dimension is no longer compatible with the report",
1974
1974
  "translate": false,
1975
1975
  "limit": 0
1976
1976
  },
1977
1977
  "configurationPanel.unrelatedKpiDateInfo": {
1978
1978
  "value": "\"{dateDataSet}\" can no longer be applied to the kpi. Select a different dimension or edit the kpi.",
1979
- "comment": "Don't translate placeholder '{dateDataSet}' and keep '\"' characters as are.",
1979
+ "comment": "Error message when selected date dimension is no longer compatible with the KPI",
1980
1980
  "limit": 0
1981
1981
  },
1982
1982
  "configurationPanel.interactions": {
1983
1983
  "value": "Interactions",
1984
- "comment": "",
1984
+ "comment": "Header for the section configuring widget interaction options",
1985
1985
  "limit": 0
1986
1986
  },
1987
1987
  "configurationPanel.drillConfig.interactions": {
1988
1988
  "value": "Drill interactions",
1989
- "comment": "Header of a section where user can set drilling for some visualization widget containing some visualization (chart, table, etc). Interactions here stands for user interactions.",
1989
+ "comment": "Header of a section for configuring data drilling capabilities",
1990
1990
  "limit": 0
1991
1991
  },
1992
1992
  "configurationPanel.drillConfig.addInteraction": {
1993
1993
  "value": "Add interaction",
1994
- "comment": "Use imperative. Button label that is related to \"Interactions\" section. This button adds some drilling to a widget.",
1994
+ "comment": "Button label for creating a new drill interaction in widget configuration",
1995
1995
  "limit": 30
1996
1996
  },
1997
1997
  "configurationPanel.drillConfig.clickHint": {
1998
1998
  "value": "When I click on",
1999
- "comment": "Hint guiding users how to understand interaction (drilling) setting. Example in sentence: \"WHEN I CLICK ON on value of measure 'Number of user accounts', drill into detail.\"",
1999
+ "comment": "First part of the drill interaction configuration sentence. Example in sentence: \"WHEN I CLICK ON on value of measure 'Number of user accounts', drill into detail.\"",
2000
2000
  "limit": 0
2001
2001
  },
2002
2002
  "configurationPanel.drillConfig.measureValue._measure": {
2003
2003
  "value": "Value of measure",
2004
- "comment": "Hint guiding users how to understand interaction (drilling) setting. Example in sentence: \"When I click on VALUE OF MEASURE 'Number of user accounts', drill into detail.\"",
2004
+ "comment": "Label for selecting measure value as drill target in configuration. Example in sentence: \"When I click on VALUE OF MEASURE 'Number of user accounts', drill into detail.\"",
2005
2005
  "limit": 0
2006
2006
  },
2007
2007
  "configurationPanel.drillConfig.measureValue._metric": {
2008
2008
  "value": "Value of metric",
2009
- "comment": "Hint guiding users how to understand interaction (drilling) setting. Example in sentence: \"When I click on VALUE OF METRIC 'Number of user accounts', drill into detail.\"",
2009
+ "comment": "Label for selecting metric value as drill target in configuration. Example in sentence: \"When I click on VALUE OF METRIC 'Number of user accounts', drill into detail.\"",
2010
2010
  "limit": 0
2011
2011
  },
2012
2012
  "configurationPanel.drillConfig.attributeValue": {
2013
2013
  "value": "Value of attribute",
2014
- "comment": "Hint guiding users how to understand interaction (drilling) setting. Example in sentence: \"When I click on VALUE OF ATTRIBUTE 'Account', drill into detail.\"",
2014
+ "comment": "Label for selecting attribute value as drill target in configuration. Example in sentence: \"When I click on VALUE OF ATTRIBUTE 'Account', drill into detail.\"",
2015
2015
  "limit": 0
2016
2016
  },
2017
2017
  "configurationPanel.drillConfig.selectTarget": {
2018
2018
  "value": "I want to",
2019
- "comment": "",
2019
+ "comment": "Middle part of the drill interaction configuration sentence",
2020
2020
  "limit": 0
2021
2021
  },
2022
2022
  "configurationPanel.drillConfig.clickHintItem": {
2023
2023
  "value": "When I click on <addon>(value of)</addon>",
2024
- "comment": "Do not translate <addon...> and </addon>, but translate (value of)",
2024
+ "comment": "First part of drill interaction configuration with addon markup",
2025
2025
  "limit": 0
2026
2026
  },
2027
2027
  "configurationPanel.drillConfig.drillIntoDashboard": {
2028
2028
  "value": "Drill into dashboard",
2029
- "comment": "",
2029
+ "comment": "Option for drilling into another dashboard in data interaction",
2030
2030
  "limit": 0
2031
2031
  },
2032
2032
  "configurationPanel.drillConfig.drillIntoInsight|insight": {
2033
2033
  "value": "Drill into visualization",
2034
- "comment": "",
2034
+ "comment": "Option for drilling into detailed visualization in data interaction",
2035
2035
  "limit": 0
2036
2036
  },
2037
2037
  "configurationPanel.drillConfig.drillIntoInsight|report": {
2038
2038
  "value": "Drill into report",
2039
- "comment": "",
2039
+ "comment": "Option for drilling into detailed report in data interaction",
2040
2040
  "translate": false,
2041
2041
  "limit": 0
2042
2042
  },
2043
2043
  "configurationPanel.drillConfig.drillDown": {
2044
2044
  "value": "Drill down",
2045
- "comment": "Name of an option in dropdown that is used to select drill down type of dashboard drill.",
2045
+ "comment": "Option for navigating to next level of detail in data hierarchy",
2046
2046
  "limit": 0
2047
2047
  },
2048
2048
  "configurationPanel.drillConfig.disableDrillDownTooltip": {
2049
2049
  "value": "Drill down is turned off in this visualization's configuration.",
2050
- "comment": "The disable tooltip message for the Drill down item",
2050
+ "comment": "Tooltip explaining why drill down option is disabled",
2051
2051
  "limit": 0
2052
2052
  },
2053
2053
  "configurationPanel.drillConfig.drillIntoUrl": {
2054
2054
  "value": "Drill into URL",
2055
- "comment": "Name of an option in dropdown that is used to select type of dashboard drill.",
2055
+ "comment": "Option for creating external URL link from data point",
2056
2056
  "limit": 0
2057
2057
  },
2058
2058
  "configurationPanel.drillConfig.drillIntoUrl.invalidCustomUrl": {
2059
2059
  "value": "Invalid URL parameters",
2060
- "comment": "Warning displayed in drill config when drill into URL has invalid parameters of custom URL.",
2060
+ "comment": "Error message shown when URL drill target has invalid parameters",
2061
2061
  "limit": 0
2062
2062
  },
2063
2063
  "configurationPanel.drillConfig.select": {
2064
2064
  "value": "Choose action…",
2065
- "comment": "Hint guiding users that drill actions in select box has to be selected. Use '…' as one character, not 3 dots ('...').",
2065
+ "comment": "Placeholder text in drill action dropdown menu",
2066
2066
  "limit": 0
2067
2067
  },
2068
2068
  "configurationPanel.drillConfig.drillIntoDashboard.dateFilterWarning|insight": {
2069
2069
  "value": "The date attribute value from the visualization will not be transferred to filter the target dashboard.",
2070
- "comment": "Warning displayed in drill config when drill into dashboard has date attribute as source or in intersection",
2070
+ "comment": "Warning about limitations when drilling with date attributes",
2071
2071
  "limit": 0
2072
2072
  },
2073
2073
  "configurationPanel.drillConfig.drillIntoDashboard.dateFilterWarning|report": {
2074
2074
  "value": "The date attribute value from the report will not be transferred to filter the target dashboard.",
2075
- "comment": "Warning displayed in drill config when drill into dashboard has date attribute as source or in intersection",
2075
+ "comment": "Warning about limitations when drilling with date attributes from reports",
2076
2076
  "translate": false,
2077
2077
  "limit": 0
2078
2078
  },
2079
2079
  "configurationPanel.drillConfig.drillIntersectionIgnoredAttributes.label": {
2080
2080
  "value": "Pass as filter:",
2081
- "comment": "Label of the dropdown to select drill intersection ignored attributes.",
2081
+ "comment": "Label for selecting which attributes to pass as filters during drill",
2082
2082
  "limit": 0
2083
2083
  },
2084
2084
  "configurationPanel.drillConfig.drillIntersectionIgnoredAttributes.dropdown.title": {
2085
2085
  "value": "Pass as filters",
2086
- "comment": "Title of the dropdown to select drill intersection ignored attributes.",
2086
+ "comment": "Title of the attribute filter selection dropdown",
2087
2087
  "limit": 0
2088
2088
  },
2089
2089
  "configurationPanel.drillConfig.drillIntersectionIgnoredAttributes.dropdown.tooltip": {
2090
2090
  "value": "Disable the attribute or date to exclude its value from being passed as a filter to the drill destination.",
2091
- "comment": "Tooltip of the dropdown to select drill intersection ignored attributes.",
2091
+ "comment": "Tooltip explaining how to exclude attributes from drill filters",
2092
2092
  "limit": 0
2093
2093
  },
2094
2094
  "configurationPanel.drillConfig.drillIntersectionIgnoredAttributes.dropdown.all": {
2095
2095
  "value": "All",
2096
- "comment": "Title of the dropdown, when all values are selected and none attribute is ignored.",
2096
+ "comment": "Option to pass all attributes as filters during drill",
2097
2097
  "limit": 0
2098
2098
  },
2099
2099
  "configurationPanel.drillConfig.drillIntersectionIgnoredAttributes.dropdown.none": {
2100
2100
  "value": "None",
2101
- "comment": "Title of the dropdown, when no values are selected and all attributes are ignored.",
2101
+ "comment": "Option to not pass any attributes as filters during drill",
2102
2102
  "limit": 0
2103
2103
  },
2104
2104
  "configurationPanel.visualprops.sectionTitle": {
2105
2105
  "value": "Title",
2106
- "comment": "",
2106
+ "comment": "Section header for widget title configuration",
2107
2107
  "limit": 0
2108
2108
  },
2109
2109
  "configurationPanel.visualprops.hideTitle": {
2110
2110
  "value": "Hide title",
2111
- "comment": "",
2111
+ "comment": "Checkbox label to hide widget title",
2112
2112
  "limit": 0
2113
2113
  },
2114
2114
  "configurationPanel.visualprops.sectionDescription": {
2115
2115
  "value": "Description",
2116
- "comment": "",
2116
+ "comment": "Section header for widget description configuration",
2117
2117
  "limit": 0
2118
2118
  },
2119
2119
  "configurationPanel.visualprops.inheritDescription": {
2120
2120
  "value": "Inherit",
2121
- "comment": "",
2121
+ "comment": "Option to use the original description from the source item",
2122
2122
  "limit": 0
2123
2123
  },
2124
2124
  "configurationPanel.visualprops.inheritDescriptionHelp|insight": {
2125
2125
  "value": "Inherit the description from the visualization.",
2126
- "comment": "",
2126
+ "comment": "Help text explaining the inherit description option for visualizations",
2127
2127
  "limit": 0
2128
2128
  },
2129
2129
  "configurationPanel.visualprops.inheritDescriptionHelp|report": {
2130
2130
  "value": "Inherit the description from the report.",
2131
- "comment": "",
2131
+ "comment": "Help text explaining the inherit description option for reports",
2132
2132
  "translate": false,
2133
2133
  "limit": 0
2134
2134
  },
2135
2135
  "configurationPanel.visualprops.customDescription": {
2136
2136
  "value": "Custom",
2137
- "comment": "",
2137
+ "comment": "Option to create a custom description rather than using default",
2138
2138
  "limit": 0
2139
2139
  },
2140
2140
  "configurationPanel.visualprops.customDescriptionHelp|insight": {
2141
2141
  "value": "Add a custom description for this instance of the visualization.",
2142
- "comment": "",
2142
+ "comment": "Help text explaining the custom description option for visualizations",
2143
2143
  "limit": 0
2144
2144
  },
2145
2145
  "configurationPanel.visualprops.customDescriptionHelp|report": {
2146
2146
  "value": "Add a custom description for this instance of the report.",
2147
- "comment": "",
2147
+ "comment": "Help text explaining the custom description option for reports",
2148
2148
  "translate": false,
2149
2149
  "limit": 0
2150
2150
  },
2151
2151
  "configurationPanel.visualprops.noneDescription": {
2152
2152
  "value": "None",
2153
- "comment": "",
2153
+ "comment": "Option to hide description completely",
2154
2154
  "limit": 0
2155
2155
  },
2156
2156
  "configurationPanel.visualprops.includeMetrics._measure": {
2157
2157
  "value": "Include measure descriptions",
2158
- "comment": "",
2158
+ "comment": "Checkbox label for option to show measure descriptions",
2159
2159
  "limit": 0
2160
2160
  },
2161
2161
  "configurationPanel.visualprops.includeMetrics._metric": {
2162
2162
  "value": "Include metric descriptions",
2163
- "comment": "",
2163
+ "comment": "Checkbox label for option to show metric descriptions",
2164
2164
  "limit": 0
2165
2165
  },
2166
2166
  "configurationPanel.visualprops.includeMetricsHelp._measure|insight": {
2167
2167
  "value": "Display section with list of visualization’s measures and their description.",
2168
- "comment": "",
2168
+ "comment": "Help text explaining the option to show measure descriptions in visualization",
2169
2169
  "limit": 0
2170
2170
  },
2171
2171
  "configurationPanel.visualprops.includeMetricsHelp._metric|insight": {
2172
2172
  "value": "Display section with list of visualization’s metrics and their description.",
2173
- "comment": "",
2173
+ "comment": "Help text explaining the option to show metric descriptions in visualization",
2174
2174
  "limit": 0
2175
2175
  },
2176
2176
  "configurationPanel.visualprops.includeMetricsHelp._measure|report": {
2177
2177
  "value": "Display section with list of report’s measures and their description.",
2178
- "comment": "",
2178
+ "comment": "Help text explaining the option to show measure descriptions in report",
2179
2179
  "translate": false,
2180
2180
  "limit": 0
2181
2181
  },
2182
2182
  "configurationPanel.visualprops.includeMetricsHelp._metric|report": {
2183
2183
  "value": "Display section with list of report’s metrics and their description.",
2184
- "comment": "",
2184
+ "comment": "Help text explaining the option to show metric descriptions in report",
2185
2185
  "translate": false,
2186
2186
  "limit": 0
2187
2187
  },
2188
2188
  "configurationPanel.visualprops.descriptionPlaceholder": {
2189
2189
  "value": "Add description…",
2190
- "comment": "",
2190
+ "comment": "Placeholder text in description input field",
2191
2191
  "limit": 0
2192
2192
  },
2193
2193
  "configurationPanel.drillIntoUrl.defaultButtonValue": {
2194
2194
  "value": "Choose URL",
2195
- "comment": "Default value of 'Drill into URL' dropdown button before a value is selected.",
2195
+ "comment": "Default text in URL drill target selection dropdown",
2196
2196
  "limit": 0
2197
2197
  },
2198
2198
  "configurationPanel.drillIntoUrl.attributeUrlSectionTitle": {
2199
2199
  "value": "Hyperlink in attribute label",
2200
- "comment": "Title of 'Drill into URL' dropdown section.",
2200
+ "comment": "Section title for attribute hyperlink configuration",
2201
2201
  "limit": 0
2202
2202
  },
2203
2203
  "configurationPanel.drillIntoUrl.customUrlSectionTitle": {
2204
2204
  "value": "Custom URL",
2205
- "comment": "Title of 'Drill into URL' dropdown section.",
2205
+ "comment": "Section title for custom URL configuration",
2206
2206
  "limit": 0
2207
2207
  },
2208
2208
  "configurationPanel.drillIntoUrl.editor.addUrlTitle": {
2209
2209
  "value": "Add custom URL",
2210
- "comment": "Title of Drill to URL 'Custom URL' editor when URL is not defined.",
2210
+ "comment": "Dialog title when creating a new custom URL",
2211
2211
  "limit": 0
2212
2212
  },
2213
2213
  "configurationPanel.drillIntoUrl.editor.editUrlTitle": {
2214
2214
  "value": "Edit custom URL",
2215
- "comment": "Title of Drill to URL 'Custom URL' editor when URL is defined.",
2215
+ "comment": "Dialog title when modifying an existing custom URL",
2216
2216
  "limit": 0
2217
2217
  },
2218
2218
  "configurationPanel.drillIntoUrl.editor.textAreaLabel": {
2219
2219
  "value": "URL",
2220
- "comment": "Label of the textarea in Drill to URL 'Custom URL' editor.",
2220
+ "comment": "Label for URL input field in the URL editor",
2221
2221
  "limit": 0
2222
2222
  },
2223
2223
  "configurationPanel.drillIntoUrl.editor.parametersPanelLabel": {
2224
2224
  "value": "Parameters",
2225
- "comment": "Label of the panel in Drill to URL 'Custom URL' editor.",
2225
+ "comment": "Section header for URL parameters configuration",
2226
2226
  "limit": 0
2227
2227
  },
2228
2228
  "configurationPanel.drillIntoUrl.editor.parametersPanelTooltip": {
2229
2229
  "value": "Parameters are placeholders that are replaced by dynamic values during drilling.",
2230
- "comment": "Tooltip displayed when user hovers over question mark icon next to label of the parameters panel in Drill to URL 'Custom URL' editor.",
2230
+ "comment": "Tooltip explaining URL parameters functionality",
2231
2231
  "limit": 0
2232
2232
  },
2233
2233
  "configurationPanel.drillIntoUrl.editor.addParameterButtonLabel": {
2234
2234
  "value": "Add",
2235
- "comment": "Label of the button that adds a parameter to URL in Drill to URL 'Custom URL' editor.",
2235
+ "comment": "Button text for adding a new URL parameter",
2236
2236
  "limit": 0
2237
2237
  },
2238
2238
  "configurationPanel.drillIntoUrl.editor.parameterDetailType": {
2239
2239
  "value": "Type",
2240
- "comment": "Title of type section in parameter detail in 'Custom URL' editor.",
2240
+ "comment": "Label for parameter type selector in URL editor",
2241
2241
  "limit": 0
2242
2242
  },
2243
2243
  "configurationPanel.drillIntoUrl.editor.parameterDetailLabel": {
2244
2244
  "value": "Label",
2245
- "comment": "Title of label section in parameter detail in 'Custom URL' editor.",
2245
+ "comment": "Label for parameter name field in URL editor",
2246
2246
  "limit": 0
2247
2247
  },
2248
2248
  "configurationPanel.drillIntoUrl.editor.parameterDetailValues": {
2249
2249
  "value": "{numberOfValues, plural, one {Value} other {Values}}",
2250
- "comment": "Translate only uppercase words in '{numberOfValues, plural, one {VALUE} other {VALUES}}'. Title of values section in parameter detail in 'Custom URL' editor.",
2250
+ "comment": "Title of values section in parameter detail in 'Custom URL' editor. Uses pluralization based on the number of values. Examples: When there is 1 value, it will show 'Value'. When there are multiple values, it will show 'Values'.",
2251
2251
  "limit": 0
2252
2252
  },
2253
2253
  "configurationPanel.drillIntoUrl.editor.parameterDetailMoreValues": {
2254
2254
  "value": "...and {count} more",
2255
- "comment": "Translate only uppercase words In '...AND {count} MORE'. Info about number of other values not shown in parameter detail in 'Custom URL' editor.",
2255
+ "comment": "Info about number of additional values not shown in parameter detail in 'Custom URL' editor. The placeholder {count} will be replaced with a number. Example: '...and 5 more' when there are 5 additional values not displayed.",
2256
2256
  "limit": 0
2257
2257
  },
2258
2258
  "configurationPanel.drillIntoUrl.editor.insightIdParameterLabel|insight": {
@@ -2298,68 +2298,68 @@
2298
2298
  },
2299
2299
  "configurationPanel.drillIntoUrl.editor.identifierTypeLabel": {
2300
2300
  "value": "Identifier",
2301
- "comment": "Type label of identifier in parameter detail in 'Custom URL' editor.",
2301
+ "comment": "Type label of identifier in parameter detail",
2302
2302
  "limit": 0
2303
2303
  },
2304
2304
  "configurationPanel.drillIntoUrl.editor.insightParametersSectionLabel|insight": {
2305
2305
  "value": "Visualization",
2306
- "comment": "Label of the parameters section that contains attributes and measures in Drill to URL 'Custom URL' editor.",
2306
+ "comment": "Section header for insight parameters",
2307
2307
  "limit": 0
2308
2308
  },
2309
2309
  "configurationPanel.drillIntoUrl.editor.insightParametersSectionLabel|report": {
2310
2310
  "value": "Report",
2311
- "comment": "Label of the parameters section that contains attributes and measures in Drill to URL 'Custom URL' editor.",
2311
+ "comment": "Section header for report parameters",
2312
2312
  "translate": false,
2313
2313
  "limit": 0
2314
2314
  },
2315
2315
  "configurationPanel.drillIntoUrl.editor.identifierParametersSectionLabel": {
2316
2316
  "value": "Identifiers",
2317
- "comment": "Label of the parameters section that contains identifiers in Drill to URL 'Custom URL' editor.",
2317
+ "comment": "Section header for identifier parameters in URL drill editor",
2318
2318
  "limit": 0
2319
2319
  },
2320
2320
  "configurationPanel.drillIntoUrl.editor.dashboardParametersSectionLabel": {
2321
2321
  "value": "Dashboard",
2322
- "comment": "Label of the parameters section that contains dashboard filters in Drill to URL 'Custom URL' editor.",
2322
+ "comment": "Section header for dashboard filter parameters in URL drill editor",
2323
2323
  "limit": 0
2324
2324
  },
2325
2325
  "configurationPanel.drillIntoUrl.editor.applyButtonLabel": {
2326
2326
  "value": "Apply",
2327
- "comment": "Label of the button that applies changes in Drill to URL 'Custom URL' editor.",
2327
+ "comment": "Button to confirm and save URL drill configuration",
2328
2328
  "limit": 0
2329
2329
  },
2330
2330
  "configurationPanel.drillIntoUrl.editor.cancelButtonLabel": {
2331
2331
  "value": "Cancel",
2332
- "comment": "Label of the button that cancels changes in Drill to URL 'Custom URL' editor.",
2332
+ "comment": "Button to discard URL drill configuration changes",
2333
2333
  "limit": 0
2334
2334
  },
2335
2335
  "configurationPanel.drillIntoUrl.editor.textAreaPlaceholder": {
2336
2336
  "value": "Enter URL and add parameters from the right panel.",
2337
- "comment": "Placeholder of textarea in Drill to URL 'Custom URL' editor.",
2337
+ "comment": "Placeholder text in URL input field",
2338
2338
  "limit": 0
2339
2339
  },
2340
2340
  "configurationPanel.drillIntoUrl.editor.helpButtonLabel": {
2341
2341
  "value": "How to create custom URLs?",
2342
- "comment": "Help button label in Drill to URL 'Custom URL' editor.",
2342
+ "comment": "Help link text for URL drill configuration",
2343
2343
  "limit": 0
2344
2344
  },
2345
2345
  "configurationPanel.drillIntoUrl.editor.invalidAttributeDisplayForms": {
2346
2346
  "value": "Invalid parameters: {invalidParameters}",
2347
- "comment": "Help button label in Drill to URL 'Custom URL' editor. Do not translate '{invalidParameters}' placeholder.",
2347
+ "comment": "Error message shown when URL contains invalid parameters",
2348
2348
  "limit": 0
2349
2349
  },
2350
2350
  "configurationPanel.drillIntoUrl.customUrlAddButtonLabel": {
2351
2351
  "value": "Add custom URL",
2352
- "comment": "Label of the button in 'Drill into URL' dropdown that is used for adding of the custom URL.",
2352
+ "comment": "Button to create a new custom URL for drilling",
2353
2353
  "limit": 0
2354
2354
  },
2355
2355
  "configurationPanel.drillIntoUrl.customUrlEditButtonLabel": {
2356
2356
  "value": "Edit custom URL",
2357
- "comment": "Label of the button in 'Drill into URL' dropdown that is used for editing of the custom URL.",
2357
+ "comment": "Button to modify an existing custom URL",
2358
2358
  "limit": 0
2359
2359
  },
2360
2360
  "configurationPanel.drillIntoUrl.editor.defaultDisplayFormTypeLabel": {
2361
2361
  "value": "Attribute label value",
2362
- "comment": "Type label of default display form in parameter detail in 'Custom URL' editor.",
2362
+ "comment": "Display type option for showing attribute labels in URL parameters",
2363
2363
  "limit": 0
2364
2364
  },
2365
2365
  "configurationPanel.drillIntoUrl.editor.geoDisplayFormTypeLabel": {
@@ -2379,160 +2379,160 @@
2379
2379
  },
2380
2380
  "configurationPanel.zoomInsight|insight": {
2381
2381
  "value": "Zoomable visualization",
2382
- "comment": "",
2382
+ "comment": "Label for zoomable visualization option in configuration panel",
2383
2383
  "limit": 0
2384
2384
  },
2385
2385
  "configurationPanel.zoomInsight|report": {
2386
2386
  "value": "Zoomable report",
2387
- "comment": "",
2387
+ "comment": "Label for zoomable report option in configuration panel",
2388
2388
  "translate": false,
2389
2389
  "limit": 0
2390
2390
  },
2391
2391
  "configurationPanel.zoomInsight.help|insight": {
2392
2392
  "value": "Enable to zoom the visualization to display a detailed view. Hold the shift key to pan the zoomed area.",
2393
- "comment": "",
2393
+ "comment": "Tooltip for zoomable visualization option in configuration panel",
2394
2394
  "limit": 0
2395
2395
  },
2396
2396
  "configurationPanel.zoomInsight.help|report": {
2397
2397
  "value": "Enable to zoom the report to display a detailed view. Hold the shift key to pan the zoomed area.",
2398
- "comment": "",
2398
+ "comment": "Tooltip for zoomable report option in configuration panel",
2399
2399
  "translate": false,
2400
2400
  "limit": 0
2401
2401
  },
2402
2402
  "configurationPanel.zoomInsight.notice": {
2403
2403
  "value": "Zoom will not be applied to exported dashboards",
2404
- "comment": "",
2404
+ "comment": "Notice about zoom limitations in exported dashboard content",
2405
2405
  "limit": 0
2406
2406
  },
2407
2407
  "configurationPanel.drillConfig.selectInsight|insight": {
2408
2408
  "value": "Choose visualization…",
2409
- "comment": "Hint guiding users that drill target visualization in select box has to be selected. Use '…' as one character, not 3 dots ('...').",
2409
+ "comment": "Placeholder text in dropdown for selecting drill target visualization",
2410
2410
  "limit": 0
2411
2411
  },
2412
2412
  "configurationPanel.drillConfig.selectInsight|report": {
2413
2413
  "value": "Choose report…",
2414
- "comment": "Hint guiding users that drill target report in select box has to be selected. Use '…' as one character, not 3 dots ('...').",
2414
+ "comment": "Hint guiding users that drill target report in select box has to be selected.",
2415
2415
  "translate": false,
2416
2416
  "limit": 0
2417
2417
  },
2418
2418
  "gs.date.date-dataset.recommended": {
2419
2419
  "value": "Recommended",
2420
- "comment": "",
2420
+ "comment": "Label for recommended date datasets section",
2421
2421
  "limit": 0
2422
2422
  },
2423
2423
  "gs.date.date-dataset.other": {
2424
2424
  "value": "Other",
2425
- "comment": "",
2425
+ "comment": "Label for section containing additional date datasets",
2426
2426
  "limit": 0
2427
2427
  },
2428
2428
  "gs.date.date-dataset.related": {
2429
2429
  "value": "Related",
2430
- "comment": "",
2430
+ "comment": "Label for section containing related date datasets",
2431
2431
  "limit": 0
2432
2432
  },
2433
2433
  "gs.date.date-dataset.unrelated": {
2434
2434
  "value": "Unrelated",
2435
- "comment": "",
2435
+ "comment": "Label for section containing unrelated date datasets",
2436
2436
  "limit": 0
2437
2437
  },
2438
2438
  "gs.date.date-dataset.unrelated_hidden": {
2439
2439
  "value": "{count} unrelated {count, plural, one {date} other {dates}} {isShow, select, true {visible} other {hidden}}.",
2440
- "comment": "Don't translate placeholder '{count}'. In '{count, plural, one {DATE} other {DATES}} and {isShow, select, true {VISIBLE} other {HIDDEN}}' translate only uppercase words.",
2440
+ "comment": "Status message showing count of unrelated dates that are visible or hidden",
2441
2441
  "limit": 0
2442
2442
  },
2443
2443
  "gs.date.date-dataset.unrelated.show": {
2444
2444
  "value": "Show",
2445
- "comment": "The unrelated items button",
2445
+ "comment": "Button to display unrelated date items",
2446
2446
  "limit": 0
2447
2447
  },
2448
2448
  "gs.date.date-dataset.unrelated.hide": {
2449
2449
  "value": "Hide",
2450
- "comment": "The unrelated items button",
2450
+ "comment": "Button to hide unrelated date items",
2451
2451
  "limit": 0
2452
2452
  },
2453
2453
  "gs.date.date-dataset.duplicityWarning": {
2454
2454
  "value": "Another filter is using the same date dataset. Disable this filter or set a different date.",
2455
- "comment": "",
2455
+ "comment": "Warning shown when multiple filters are using the same date dataset",
2456
2456
  "limit": 0
2457
2457
  },
2458
2458
  "layout.widget.width.min": {
2459
2459
  "value": "Widget is at the minimal width",
2460
- "comment": "Shown as red text inside of widget if resized under min limit.",
2460
+ "comment": "Warning shown when widget cannot be resized smaller",
2461
2461
  "limit": 0
2462
2462
  },
2463
2463
  "layout.widget.width.max": {
2464
2464
  "value": "Widget is at the maximal width",
2465
- "comment": "Shown as red text inside of widget if resized under max limit.",
2465
+ "comment": "Warning shown when widget cannot be resized wider",
2466
2466
  "limit": 0
2467
2467
  },
2468
2468
  "layout.widget.height.min": {
2469
2469
  "value": "Widget is at the minimal height",
2470
- "comment": "Shown as red text inside of widget if resized under min limit.",
2470
+ "comment": "Warning shown when widget cannot be resized shorter",
2471
2471
  "limit": 0
2472
2472
  },
2473
2473
  "layout.widget.height.max": {
2474
2474
  "value": "Widget is at the maximal height",
2475
- "comment": "Shown as red text inside of widget if resized under max limit.",
2475
+ "comment": "Warning shown when widget cannot be resized taller",
2476
2476
  "limit": 0
2477
2477
  },
2478
2478
  "layout.widget.addedByPlugin": {
2479
2479
  "value": "Added by plugin",
2480
- "comment": "",
2480
+ "comment": "Indicator that widget was added by a plugin extension",
2481
2481
  "limit": 0
2482
2482
  },
2483
2483
  "layout.widget.modifiedByPlugin": {
2484
2484
  "value": "Modified by plugin",
2485
- "comment": "",
2485
+ "comment": "Indicator that widget was modified by a plugin extension",
2486
2486
  "limit": 0
2487
2487
  },
2488
2488
  "layout.widget.hideOverlay": {
2489
2489
  "value": "Hide overlay",
2490
- "comment": "",
2490
+ "comment": "Button to hide informational overlay on widget",
2491
2491
  "limit": 0
2492
2492
  },
2493
2493
  "dropzone.new.row.desc": {
2494
2494
  "value": "Drop to create a{nbsp}<b>new section</b>",
2495
- "comment": "Used as placeholder when user drags some widget and tries to drop it on dashboard. Dropping the widget over such placeholder creates new section of a dashboard. Do not translate HTML markup enclosed in <>. Translate words 'new section'.",
2495
+ "comment": "Instruction shown when dragging a widget to create a new dashboard section",
2496
2496
  "limit": 0
2497
2497
  },
2498
2498
  "dropzone.widget.desc": {
2499
2499
  "value": "Drop <b>here</b>",
2500
- "comment": "Do not translate HTML markup enclosed in <>. Translate word 'here'.",
2500
+ "comment": "Instruction shown in highlighted dropzone when dragging a widget",
2501
2501
  "limit": 0
2502
2502
  },
2503
2503
  "dropzone.widget.last.in.row.desc": {
2504
2504
  "value": "Drop to the <b>existing section</b>",
2505
- "comment": "Used as placeholder when user drags some widget and tries to drop it on dashboard. Dropping the widget over such placeholder will cause adding the widget to an existing section of a dashboard. Do not translate HTML markup enclosed in <>. Translate words 'existing section'.",
2505
+ "comment": "Instruction shown when dragging a widget to add to an existing dashboard section",
2506
2506
  "limit": 0
2507
2507
  },
2508
2508
  "dropzone.widget.last.in.container.row.desc": {
2509
2509
  "value": "Drop to the <b>existing container</b>",
2510
- "comment": "Used as placeholder when user drags some widget and tries to drop it on dashboard. Dropping the widget over such placeholder will cause adding the widget to an existing container of a dashboard. Do not translate HTML markup enclosed in <>. Translate words 'existing container'.",
2510
+ "comment": "Instruction shown when dragging a widget to add to an existing container",
2511
2511
  "limit": 0
2512
2512
  },
2513
2513
  "deleteKpiConfirmationDialog.headline": {
2514
2514
  "value": "Delete KPI",
2515
- "comment": "",
2515
+ "comment": "Confirmation dialog title when deleting a KPI widget",
2516
2516
  "limit": 0
2517
2517
  },
2518
2518
  "deleteKpiConfirmationDialog.message": {
2519
2519
  "value": "All alerts set up for this KPI will also be deleted.",
2520
- "comment": "",
2520
+ "comment": "Warning message about alerts being deleted when removing a KPI widget",
2521
2521
  "limit": 0
2522
2522
  },
2523
2523
  "deleteKpiConfirmationDialog.submitButtonText": {
2524
2524
  "value": "Delete",
2525
- "comment": "",
2525
+ "comment": "Button label to confirm KPI deletion",
2526
2526
  "limit": 0
2527
2527
  },
2528
2528
  "newDashboard.title|insight": {
2529
2529
  "value": "Drag visualization here",
2530
- "comment": "",
2530
+ "comment": "Instruction shown on empty dashboard prompting to add visualizations",
2531
2531
  "limit": 0
2532
2532
  },
2533
2533
  "newDashboard.title|report": {
2534
2534
  "value": "Drag report here",
2535
- "comment": "",
2535
+ "comment": "Instruction shown on empty dashboard prompting to add reports",
2536
2536
  "translate": false,
2537
2537
  "limit": 0
2538
2538
  },
@@ -2549,7 +2549,7 @@
2549
2549
  },
2550
2550
  "attributesDropdown.filterConfiguredMessage": {
2551
2551
  "value": "<strong>{parentTitle}</strong> is already filtered by <strong>{childTitle}</strong> filter directly or through other filters.",
2552
- "comment": "Do not translate HTML markup enclosed in <> and placeholders enclosed in {}.",
2552
+ "comment": "Message explaining filter configuration status. The <strong> tags emphasize attribute names, and {parentTitle}/{childTitle} show the specific filter names.",
2553
2553
  "limit": 0
2554
2554
  },
2555
2555
  "attributesDropdown.attributeNameWithData": {
@@ -2594,7 +2594,7 @@
2594
2594
  },
2595
2595
  "dateFilterDropdown.title": {
2596
2596
  "value": "Date range",
2597
- "comment": "",
2597
+ "comment": "Header for date filter dropdown selector",
2598
2598
  "limit": 0
2599
2599
  },
2600
2600
  "filter.configuration.mode.title": {
@@ -2634,12 +2634,12 @@
2634
2634
  },
2635
2635
  "filter.dependency.icon.tooltip": {
2636
2636
  "value": "Values for <strong>{filterTitle}</strong> are filtered by selection in another filter.",
2637
- "comment": "Do not translate HTML markup enclosed in <> and placeholders enclosed in {}.",
2637
+ "comment": "Tooltip explaining that filter values are affected by another filter selection",
2638
2638
  "limit": 0
2639
2639
  },
2640
2640
  "configurationPanel.drillConfig.alreadyUsedTooltip": {
2641
2641
  "value": "This <strong>hierarchy</strong> is already used for <strong>the same</strong> drill down.",
2642
- "comment": "Tooltip displayed when hierarchy object cannot be used again for drill down functionality.",
2642
+ "comment": "Warning tooltip when attempting to use an already selected hierarchy for drill down",
2643
2643
  "limit": 0
2644
2644
  },
2645
2645
  "configurationPanel.respectCrossFiltering": {
@@ -2654,142 +2654,142 @@
2654
2654
  },
2655
2655
  "richText.formattingOptions": {
2656
2656
  "value": "Formatting options",
2657
- "comment": "",
2657
+ "comment": "Label for rich text formatting toolbar options",
2658
2658
  "limit": 0
2659
2659
  },
2660
2660
  "richText.deleteDialog.header": {
2661
2661
  "value": "Delete rich text?",
2662
- "comment": "",
2662
+ "comment": "Title of confirmation dialog when deleting a rich text component",
2663
2663
  "limit": 0
2664
2664
  },
2665
2665
  "richText.deleteDialog.message": {
2666
2666
  "value": "The rich text and all of its content will be irreversibly deleted.",
2667
- "comment": "",
2667
+ "comment": "Warning message when deleting a rich text component",
2668
2668
  "limit": 0
2669
2669
  },
2670
2670
  "richText.emptyContent": {
2671
2671
  "value": "No rich text content",
2672
- "comment": "",
2672
+ "comment": "Message shown when rich text component has no content",
2673
2673
  "limit": 0
2674
2674
  },
2675
2675
  "visualizationSwitcher.emptyContent": {
2676
2676
  "value": "No visualization in switcher",
2677
- "comment": "",
2677
+ "comment": "Message shown when visualization switcher has no visualizations",
2678
2678
  "limit": 0
2679
2679
  },
2680
2680
  "visualizationSwitcherToolbar.visualizationsList.header": {
2681
2681
  "value": "Visualizations",
2682
- "comment": "",
2682
+ "comment": "Title of visualizations list in the switcher toolbar",
2683
2683
  "limit": 0
2684
2684
  },
2685
2685
  "visualizationSwitcherToolbar.visualizationsList.tooltip": {
2686
2686
  "value": "Visualizations",
2687
- "comment": "",
2687
+ "comment": "Tooltip shown when hovering over the visualizations list button",
2688
2688
  "limit": 0
2689
2689
  },
2690
2690
  "visualizationSwitcherToolbar.visualizationsList.prev": {
2691
2691
  "value": "Previous",
2692
- "comment": "",
2692
+ "comment": "Button label to show previous visualization in switcher",
2693
2693
  "limit": 0
2694
2694
  },
2695
2695
  "visualizationSwitcherToolbar.visualizationsList.next": {
2696
2696
  "value": "Next",
2697
- "comment": "",
2697
+ "comment": "Button label to show next visualization in switcher",
2698
2698
  "limit": 0
2699
2699
  },
2700
2700
  "visualizationSwitcherToolbar.visualizationsList.empty": {
2701
2701
  "value": "No visualization in switcher, add one to continue.",
2702
- "comment": "",
2702
+ "comment": "Message shown when no visualizations are available in the switcher",
2703
2703
  "limit": 0
2704
2704
  },
2705
2705
  "visualizationSwitcherToolbar.visualizationsList.add": {
2706
2706
  "value": "Add visualization",
2707
- "comment": "",
2707
+ "comment": "Button label to add a new visualization to the switcher",
2708
2708
  "limit": 0
2709
2709
  },
2710
2710
  "visualizationSwitcherToolbar.remove": {
2711
2711
  "value": "Remove switcher",
2712
- "comment": "",
2712
+ "comment": "Button label to remove the visualization switcher",
2713
2713
  "limit": 0
2714
2714
  },
2715
2715
  "visualizationSwitcher.configurationPanel.remove.from.switcher": {
2716
2716
  "value": "Remove from switcher",
2717
- "comment": "",
2717
+ "comment": "Button label to remove a visualization from the switcher",
2718
2718
  "limit": 0
2719
2719
  },
2720
2720
  "visualizationSwitcher.list.menu.move.up": {
2721
2721
  "value": "Move up",
2722
- "comment": "",
2722
+ "comment": "Menu option to move visualization up in the list of switcher",
2723
2723
  "limit": 0
2724
2724
  },
2725
2725
  "visualizationSwitcher.list.menu.move.down": {
2726
2726
  "value": "Move down",
2727
- "comment": "",
2727
+ "comment": "Menu option to move visualization down in the list of switcher",
2728
2728
  "limit": 0
2729
2729
  },
2730
2730
  "visualizationSwitcher.list.menu.remove": {
2731
2731
  "value": "Remove",
2732
- "comment": "",
2732
+ "comment": "Menu option to remove visualization from the switcher list",
2733
2733
  "limit": 0
2734
2734
  },
2735
2735
  "nestedLayoutToolbar.hideHeader": {
2736
2736
  "value": "Hide title and description.",
2737
- "comment": "",
2737
+ "comment": "Button tooltip for hiding container title and description",
2738
2738
  "limit": 0
2739
2739
  },
2740
2740
  "nestedLayoutToolbar.showHeader": {
2741
2741
  "value": "Show title and description.",
2742
- "comment": "",
2742
+ "comment": "Button tooltip for showing container title and description",
2743
2743
  "limit": 0
2744
2744
  },
2745
2745
  "nestedLayoutToolbar.remove": {
2746
2746
  "value": "Remove from dashboard.",
2747
- "comment": "",
2747
+ "comment": "Button tooltip for removing container from dashboard",
2748
2748
  "limit": 0
2749
2749
  },
2750
2750
  "nestedLayoutToolbar.direction.title": {
2751
2751
  "value": "Layout direction",
2752
- "comment": "",
2752
+ "comment": "Title for the layout direction selector in the nested layout toolbar",
2753
2753
  "limit": 0
2754
2754
  },
2755
2755
  "nestedLayoutToolbar.direction.row": {
2756
2756
  "value": "Horizontal with wrap",
2757
- "comment": "",
2757
+ "comment": "Option for horizontal layout direction with wrapping in the nested layout toolbar",
2758
2758
  "limit": 0
2759
2759
  },
2760
2760
  "nestedLayoutToolbar.direction.row.tooltip": {
2761
2761
  "value": "Horizontal layout with wrap.",
2762
- "comment": "",
2762
+ "comment": "Tooltip explaining the horizontal with wrap layout option",
2763
2763
  "limit": 0
2764
2764
  },
2765
2765
  "nestedLayoutToolbar.direction.column": {
2766
2766
  "value": "Vertical",
2767
- "comment": "",
2767
+ "comment": "Option for vertical layout direction in the nested layout toolbar",
2768
2768
  "limit": 0
2769
2769
  },
2770
2770
  "nestedLayoutToolbar.direction.column.tooltip": {
2771
2771
  "value": "Vertical layout.",
2772
- "comment": "",
2772
+ "comment": "Tooltip explaining the vertical layout option",
2773
2773
  "limit": 0
2774
2774
  },
2775
2775
  "nestedLayoutToolbar.direction.column.disabledTooltip": {
2776
2776
  "value": "Direction cannot be changed to a vertical if the container contains nested containers with a horizontal direction.",
2777
- "comment": "",
2777
+ "comment": "Tooltip explaining why vertical layout option is disabled in certain scenarios",
2778
2778
  "limit": 0
2779
2779
  },
2780
2780
  "nestedLayout.tab.title": {
2781
2781
  "value": "Container",
2782
- "comment": "",
2782
+ "comment": "Tab title for container configuration panel",
2783
2783
  "limit": 0
2784
2784
  },
2785
2785
  "nestedLayout.emptyDropZone.message": {
2786
2786
  "value": "<b>Drag here</b>{br}to add to the container",
2787
- "comment": "<b>, </b> and {br} are HTML tags. Do not translate them.",
2787
+ "comment": "Message shown in empty container drop zone",
2788
2788
  "limit": 0
2789
2789
  },
2790
2790
  "nestedLayout.emptyDropZone.active.message": {
2791
2791
  "value": "<b>Drop here</b>{br}to add to the container",
2792
- "comment": "<b>, </b> and {br} are HTML tags. Do not translate them.",
2792
+ "comment": "Message shown when dragging an item over empty container",
2793
2793
  "limit": 0
2794
2794
  },
2795
2795
  "attributesDropdown.valuesLimiting.title": {
@@ -2824,17 +2824,17 @@
2824
2824
  },
2825
2825
  "attributesDropdown.valuesLimiting.searchPlaceholder": {
2826
2826
  "value": "Search…",
2827
- "comment": "Placeholder in a search field. Use '…' as one character, not 3 dots ('...').",
2827
+ "comment": "Search field placeholder in the attribute values filter selection",
2828
2828
  "limit": 0
2829
2829
  },
2830
2830
  "attributesDropdown.valuesLimiting.sumFact": {
2831
2831
  "value": "Sum of {fact}",
2832
- "comment": "List item that represents filtering metric which is a sum aggregation of particular data fact. Do not translate placeholder {fact}. It will be replaced with the name of the selected fact in the runtime.",
2832
+ "comment": "Label for sum aggregation of a fact in metric selection dropdown",
2833
2833
  "limit": 0
2834
2834
  },
2835
2835
  "attributesDropdown.valuesLimiting.countAttribute": {
2836
2836
  "value": "Count of {attribute}",
2837
- "comment": "List item that represents filtering metric which is a sum aggregation of particular data attribute. Do not translate placeholder {attribute}. It will be replaced with the name of the selected attribute in the runtime.",
2837
+ "comment": "Label for count aggregation of an attribute in metric selection dropdown",
2838
2838
  "limit": 0
2839
2839
  },
2840
2840
  "attributesDropdown.valuesLimiting.metricsEmpty": {
@@ -2874,27 +2874,27 @@
2874
2874
  },
2875
2875
  "attributesDropdown.valuesLimiting.addLimitingItem.description": {
2876
2876
  "value": "Use a metric to hide irrelevant values. Only values with non-null results for the metric are shown. <a>Learn more</a>",
2877
- "comment": "Description of section that describe the action user can choose. The action selects an existing dashboard filter to be used as a validation items to hide attribute filter elements. Do not translate <a> and </a> placeholders. They will be replaced with HTML tags in the runtime.",
2877
+ "comment": "Description of using metrics to filter attribute values, with a learn more link",
2878
2878
  "limit": 0
2879
2879
  },
2880
2880
  "attributesDropdown.valuesLimiting.commonDateFilterTitle": {
2881
2881
  "value": "{dateFilterTitle} as {dataSetTitle}",
2882
- "comment": "Do not translate variables enclosed in {}.",
2882
+ "comment": "Format for displaying a date filter and its dataset in the filter selection",
2883
2883
  "limit": 0
2884
2884
  },
2885
2885
  "attributesDropdown.valuesLimiting.addDateTitle": {
2886
2886
  "value": "Choose date",
2887
- "comment": "Title of popup with selection of date filters will available date datasets values.",
2887
+ "comment": "Dialog title for selecting date filters to limit attribute values",
2888
2888
  "limit": 0
2889
2889
  },
2890
2890
  "attributesDropdown.valuesLimiting.disableDateFilter": {
2891
2891
  "value": "Filter not available: The <strong>{dateFilterTitle}</strong> filter is already using this date dataset.",
2892
- "comment": "Do not translate variable enclosed in {}.",
2892
+ "comment": "Error message shown when a date filter is already in use elsewhere",
2893
2893
  "limit": 0
2894
2894
  },
2895
2895
  "attributesDropdown.valuesLimiting.disableDataSet": {
2896
2896
  "value": "Date dataset not available: The <strong>{dateFilterTitle}</strong> filter is already using this date dataset.",
2897
- "comment": "Do not translate variable enclosed in {}.",
2897
+ "comment": "Error message shown when a date dataset is already in use by another filter",
2898
2898
  "limit": 0
2899
2899
  },
2900
2900
  "filters.filterViews.dropdown.buttonEmpty": {
@@ -2904,7 +2904,7 @@
2904
2904
  },
2905
2905
  "filters.filterViews.dropdown.button": {
2906
2906
  "value": "My views ({count})",
2907
- "comment": "Title of the dropdown button that opens list of filter views (saved values) saved by the user. Do not translate {count} placeholder.",
2907
+ "comment": "Dropdown button label showing number of saved filter views",
2908
2908
  "limit": 0
2909
2909
  },
2910
2910
  "filters.filterViews.dropdown.title": {
@@ -2929,7 +2929,7 @@
2929
2929
  },
2930
2930
  "filters.filterViews.dropdown.tooltip": {
2931
2931
  "value": "<p>Views are saved sets of filters that let you quickly return to a specific filter state.</p><p>If you set a view as the default, it will apply automatically every time you open the dashboard.</p>",
2932
- "comment": "Tooltip of saved views dropdown. Do not translate <p> and </p> tags.",
2932
+ "comment": "Tooltip explaining the purpose and behavior of saved filter views",
2933
2933
  "limit": 0
2934
2934
  },
2935
2935
  "filters.filterViews.dropdown.newButton": {
@@ -3039,7 +3039,7 @@
3039
3039
  },
3040
3040
  "filters.filterViews.delete.body": {
3041
3041
  "value": "Your view <b>{view}</b> will be permanently deleted.",
3042
- "comment": "The text shown in the body of the dialog that confirms deletion of the filter view entity. Do not translate tags <b> and </b> and placeholder {view} that will be replaced with the name of the deleted filter view in the runtime.",
3042
+ "comment": "Confirmation dialog for deleting a filter view. The <b> tags emphasize the view name, and {view} placeholder shows the specific filter view being deleted.",
3043
3043
  "limit": 0
3044
3044
  },
3045
3045
  "filters.filterViews.delete.deleteButton": {
@@ -3094,52 +3094,52 @@
3094
3094
  },
3095
3095
  "insightAlert.config.changeOperator.header": {
3096
3096
  "value": "CHANGE %",
3097
- "comment": "",
3097
+ "comment": "Header label for the percentage change operator in alert configuration",
3098
3098
  "limit": 0
3099
3099
  },
3100
3100
  "insightAlert.config.changeOperator.header.info": {
3101
3101
  "value": "Change{spacer}Calculates the relative change between primary (current time period) and secondary (previous time period) metric values.{spacer}FORMULA{spacer}(Primary - Secondary) / Secondary",
3102
- "comment": "",
3102
+ "comment": "Description and formula for the percentage change calculation in alert configuration. {spacer} is a placeholder for line breaks.",
3103
3103
  "limit": 0
3104
3104
  },
3105
3105
  "insightAlert.config.differenceOperator.header": {
3106
3106
  "value": "DIFFERENCE #",
3107
- "comment": "",
3107
+ "comment": "Header label for the numeric difference operator in alert configuration",
3108
3108
  "limit": 0
3109
3109
  },
3110
3110
  "insightAlert.config.differenceOperator.header.info": {
3111
3111
  "value": "Difference{spacer}Calculates the net difference between primary (current time period) and secondary (previous time period) metric values.{spacer}FORMULA{spacer}Primary - Secondary",
3112
- "comment": "",
3112
+ "comment": "Description and formula for the numeric difference calculation in alert configuration. {spacer} is a placeholder for line breaks.",
3113
3113
  "limit": 0
3114
3114
  },
3115
3115
  "insightAlert.config.changeOperator.increasesBy": {
3116
3116
  "value": "Increases by",
3117
- "comment": "",
3117
+ "comment": "Alert condition for when a metric's percentage change increases by a specified amount",
3118
3118
  "limit": 0
3119
3119
  },
3120
3120
  "insightAlert.config.changeOperator.decreasesBy": {
3121
3121
  "value": "Decreases by",
3122
- "comment": "",
3122
+ "comment": "Alert condition for when a metric's percentage change decreases by a specified amount",
3123
3123
  "limit": 0
3124
3124
  },
3125
3125
  "insightAlert.config.changeOperator.changesBy": {
3126
3126
  "value": "Changes by",
3127
- "comment": "",
3127
+ "comment": "Alert condition for when a metric's percentage change (either increase or decrease) exceeds a specified amount",
3128
3128
  "limit": 0
3129
3129
  },
3130
3130
  "insightAlert.config.differenceOperator.increasesBy": {
3131
3131
  "value": "Increases by",
3132
- "comment": "",
3132
+ "comment": "Alert condition for when a metric's numeric value increases by a specified amount",
3133
3133
  "limit": 0
3134
3134
  },
3135
3135
  "insightAlert.config.differenceOperator.decreasesBy": {
3136
3136
  "value": "Decreases by",
3137
- "comment": "",
3137
+ "comment": "Alert condition for when a metric's numeric value decreases by a specified amount",
3138
3138
  "limit": 0
3139
3139
  },
3140
3140
  "insightAlert.config.differenceOperator.changesBy": {
3141
3141
  "value": "Changes by",
3142
- "comment": "",
3142
+ "comment": "Alert condition for when a metric's numeric value changes (either increases or decreases) by a specified amount",
3143
3143
  "limit": 0
3144
3144
  },
3145
3145
  "insightAlert.config.alerts": {
@@ -3159,12 +3159,12 @@
3159
3159
  },
3160
3160
  "insightAlert.config.noAlertMeasures.title": {
3161
3161
  "value": "No metrics available for alerting.",
3162
- "comment": "",
3162
+ "comment": "Message shown when a visualization has no metrics that can be used for alert configuration",
3163
3163
  "limit": 0
3164
3164
  },
3165
3165
  "insightAlert.config.noAlertMeasures.description": {
3166
3166
  "value": "Please add a metric to enable alerting.",
3167
- "comment": "",
3167
+ "comment": "Instruction shown when alerts cannot be created due to missing metrics",
3168
3168
  "limit": 0
3169
3169
  },
3170
3170
  "insightAlert.config.createAlert": {
@@ -3249,7 +3249,7 @@
3249
3249
  },
3250
3250
  "insightAlert.config.filters": {
3251
3251
  "value": "using {n} {n, plural, one {filter} other {filters}}",
3252
- "comment": "In 'USING {n} {n, plural, one {FILTER} other {FILTERS}}' translate only uppercase word.",
3252
+ "comment": "Text showing how many filters are being used in an alert configuration. The placeholder {n} will be replaced with a number and the word 'filter' will be pluralized accordingly. Examples: 'using 1 filter', 'using 3 filters'.",
3253
3253
  "limit": 0
3254
3254
  },
3255
3255
  "insightAlert.config.and": {
@@ -3264,107 +3264,107 @@
3264
3264
  },
3265
3265
  "insightAlert.config.filters.info": {
3266
3266
  "value": "Alerts respect the dashboard filters as set at the time of their creation.{spacer}To modify the time period used for comparison, adjust the date filter.",
3267
- "comment": "",
3267
+ "comment": "Alerts configuration info message",
3268
3268
  "limit": 0
3269
3269
  },
3270
3270
  "insightAlert.config.compare_with_sp": {
3271
3271
  "value": "same period previous year",
3272
- "comment": "",
3272
+ "comment": "Comparison option for alerts to compare with the same period in the previous year",
3273
3273
  "limit": 0
3274
3274
  },
3275
3275
  "insightAlert.config.compare_with_pp": {
3276
3276
  "value": "previous period",
3277
- "comment": "",
3277
+ "comment": "Comparison option for alerts to compare with the immediately preceding time period",
3278
3278
  "limit": 0
3279
3279
  },
3280
3280
  "insightAlert.config.compare_with_sp_granularity": {
3281
3281
  "value": "same {period} previous year",
3282
- "comment": "Do not translate placeholder {period}. It will be replaced with the name of the selected period in the runtime.",
3282
+ "comment": "Comparison option with dynamic time period. The {period} placeholder shows the specific time comparison (e.g., 'same month previous year').",
3283
3283
  "limit": 0
3284
3284
  },
3285
3285
  "insightAlert.config.compare_with_pp_granularity": {
3286
3286
  "value": "previous {period}",
3287
- "comment": "Do not translate placeholder {period}. It will be replaced with the name of the selected period in the runtime.",
3287
+ "comment": "Comparison option with dynamic time period. The {period} placeholder shows the specific time comparison (e.g., 'previous month').",
3288
3288
  "limit": 0
3289
3289
  },
3290
3290
  "insightAlert.config.addAlert": {
3291
3291
  "value": "Add alert",
3292
- "comment": "Action to create new alert",
3292
+ "comment": "Button label for creating a new alert on a visualization",
3293
3293
  "limit": 0
3294
3294
  },
3295
3295
  "insightAlert.config.triggerMode.always": {
3296
3296
  "value": "Every time",
3297
- "comment": "How many times alert should be triggered",
3297
+ "comment": "Alert trigger option to send notification every time the condition is met",
3298
3298
  "limit": 0
3299
3299
  },
3300
3300
  "insightAlert.config.triggerMode.once": {
3301
3301
  "value": "Once, then pause",
3302
- "comment": "How many times alert should be triggered",
3302
+ "comment": "Alert trigger option to send notification only once when condition is met, then automatically pause",
3303
3303
  "limit": 0
3304
3304
  },
3305
3305
  "insightAlert.config.delete.success": {
3306
3306
  "value": "Success. The alert has been deleted.",
3307
- "comment": "Alert action success message",
3307
+ "comment": "Success notification shown after deleting an alert",
3308
3308
  "limit": 0
3309
3309
  },
3310
3310
  "insightAlert.config.resume.success": {
3311
3311
  "value": "Success. The alert has been resumed.",
3312
- "comment": "Alert action success message",
3312
+ "comment": "Success notification shown after resuming a paused alert",
3313
3313
  "limit": 0
3314
3314
  },
3315
3315
  "insightAlert.config.pause.success": {
3316
3316
  "value": "Success. The alert has been paused.",
3317
- "comment": "Alert action success message",
3317
+ "comment": "Success notification shown after pausing an active alert",
3318
3318
  "limit": 0
3319
3319
  },
3320
3320
  "insightAlert.config.update.success": {
3321
3321
  "value": "Success. The alert has been updated.",
3322
- "comment": "Alert action success message",
3322
+ "comment": "Success notification shown after modifying an existing alert",
3323
3323
  "limit": 0
3324
3324
  },
3325
3325
  "insightAlert.config.add.success": {
3326
3326
  "value": "Success. The alert has been added.",
3327
- "comment": "Alert action success message",
3327
+ "comment": "Success notification shown after creating a new alert",
3328
3328
  "limit": 0
3329
3329
  },
3330
3330
  "insightAlert.config.delete.title": {
3331
3331
  "value": "Delete alert?",
3332
- "comment": "Alert action title",
3332
+ "comment": "Confirmation dialog title when deleting an alert",
3333
3333
  "limit": 0
3334
3334
  },
3335
3335
  "insightAlert.config.delete.message": {
3336
3336
  "value": "The alert for <b>{title}</b> will be permanently deleted, along with all its notifications.",
3337
- "comment": "Do not translate html tags <b>, </b> or {title} placeholder",
3337
+ "comment": "Warning message shown when deleting an alert, with the alert name emphasized",
3338
3338
  "limit": 0
3339
3339
  },
3340
3340
  "insightAlert.noDestination.tooltip": {
3341
3341
  "value": "No destination available. <a>Create a destination</a> to set up an alert.",
3342
- "comment": "Do not translate html tags <a>, </a>",
3342
+ "comment": "Tooltip shown when no alert destinations are configured, with a clickable link",
3343
3343
  "limit": 0
3344
3344
  },
3345
3345
  "insightAlert.maxAlertsReached": {
3346
3346
  "value": "Your organization has reached the limit of alerts. Contact your administrator to create more.",
3347
- "comment": "",
3347
+ "comment": "Error message shown when organization has reached maximum number of alerts",
3348
3348
  "limit": 0
3349
3349
  },
3350
3350
  "insightAlert.executionTimestampMode": {
3351
3351
  "value": "To create or edit alerts, reset the dashboard date to today.",
3352
- "comment": "",
3352
+ "comment": "Warning shown when trying to configure alerts with a historical date selected",
3353
3353
  "limit": 0
3354
3354
  },
3355
3355
  "insightAlert.config.loading.error": {
3356
3356
  "value": "Failed to load necessary information. Try again later.",
3357
- "comment": "",
3357
+ "comment": "Error message shown when alert configuration data cannot be loaded",
3358
3358
  "limit": 0
3359
3359
  },
3360
3360
  "insightAlert.config.save.error": {
3361
3361
  "value": "Failed to save alert. Try again later.",
3362
- "comment": "",
3362
+ "comment": "Error message shown when alert cannot be saved",
3363
3363
  "limit": 0
3364
3364
  },
3365
3365
  "insightAlert.config.delete.error": {
3366
3366
  "value": "Failed to delete alert. Try again later.",
3367
- "comment": "",
3367
+ "comment": "Error message shown when alert cannot be deleted",
3368
3368
  "limit": 0
3369
3369
  },
3370
3370
  "insightAlert.config.invalid": {
@@ -3389,12 +3389,12 @@
3389
3389
  },
3390
3390
  "insightAlert.config.accessbility.input": {
3391
3391
  "value": "Condition value",
3392
- "comment": "",
3392
+ "comment": "Accessibility label for alert threshold input field",
3393
3393
  "limit": 0
3394
3394
  },
3395
3395
  "alert.accessibility.destination.label": {
3396
3396
  "value": "Select how to send the alert",
3397
- "comment": "",
3397
+ "comment": "Accessibility label for alert destination dropdown",
3398
3398
  "limit": 0
3399
3399
  },
3400
3400
  "granularity.this_keyword": {
@@ -3444,17 +3444,17 @@
3444
3444
  },
3445
3445
  "menu.close": {
3446
3446
  "value": "Close menu",
3447
- "comment": "",
3447
+ "comment": "Button label to close a menu",
3448
3448
  "limit": 0
3449
3449
  },
3450
3450
  "controlButtons.asTable": {
3451
3451
  "value": "Show as table",
3452
- "comment": "",
3452
+ "comment": "Message displayed in filter alert showing a relative date range with calendar icon. Example: 'in (calendar icon) last 7 days'.",
3453
3453
  "limit": 0
3454
3454
  },
3455
3455
  "controlButtons.asOriginal": {
3456
3456
  "value": "Show original visualization",
3457
- "comment": "",
3457
+ "comment": "Message displayed in filter alert showing a relative date range with calendar icon. Example: 'in (calendar icon) last 7 days'.",
3458
3458
  "limit": 0
3459
3459
  }
3460
3460
  }