@gooddata/sdk-ui 11.15.0-alpha.9 → 11.15.0

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 (35) hide show
  1. package/esm/base/localization/bundles/en-US.localization-bundle.d.ts +3604 -899
  2. package/esm/base/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  3. package/esm/base/localization/bundles/en-US.localization-bundle.js +3604 -899
  4. package/esm/base/localization/bundles/en-US.localization-bundle.js.map +1 -1
  5. package/esm/base/react/legacy/availableDrillTargets.d.ts +4 -4
  6. package/esm/base/react/legacy/availableDrillTargets.d.ts.map +1 -1
  7. package/esm/base/react/legacy/availableDrillTargets.js +20 -7
  8. package/esm/base/react/legacy/availableDrillTargets.js.map +1 -1
  9. package/esm/base/vis/Events.d.ts +6 -1
  10. package/esm/base/vis/Events.d.ts.map +1 -1
  11. package/esm/base/vis/Events.js +1 -1
  12. package/esm/sdk-ui.d.ts +10 -4
  13. package/package.json +15 -15
  14. package/esm/base/localization/bundles/de-DE.json +0 -852
  15. package/esm/base/localization/bundles/en-AU.json +0 -852
  16. package/esm/base/localization/bundles/en-GB.json +0 -852
  17. package/esm/base/localization/bundles/en-US.json +0 -3598
  18. package/esm/base/localization/bundles/es-419.json +0 -852
  19. package/esm/base/localization/bundles/es-ES.json +0 -852
  20. package/esm/base/localization/bundles/fi-FI.json +0 -852
  21. package/esm/base/localization/bundles/fr-CA.json +0 -852
  22. package/esm/base/localization/bundles/fr-FR.json +0 -852
  23. package/esm/base/localization/bundles/it-IT.json +0 -852
  24. package/esm/base/localization/bundles/ja-JP.json +0 -852
  25. package/esm/base/localization/bundles/ko-KR.json +0 -852
  26. package/esm/base/localization/bundles/nl-NL.json +0 -852
  27. package/esm/base/localization/bundles/pl-PL.json +0 -852
  28. package/esm/base/localization/bundles/pt-BR.json +0 -852
  29. package/esm/base/localization/bundles/pt-PT.json +0 -852
  30. package/esm/base/localization/bundles/ru-RU.json +0 -852
  31. package/esm/base/localization/bundles/sl-SI.json +0 -829
  32. package/esm/base/localization/bundles/tr-TR.json +0 -852
  33. package/esm/base/localization/bundles/zh-HK.json +0 -852
  34. package/esm/base/localization/bundles/zh-Hans.json +0 -852
  35. package/esm/base/localization/bundles/zh-Hant.json +0 -852
@@ -1,904 +1,3609 @@
1
1
  // (C) 2021-2024 GoodData Corporation
2
2
  // DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
3
3
  export const en_US = {
4
- "empty_value": "empty value",
5
- "gs.date.at": "at",
6
- "gs.time": "time",
7
- "gs.header.help": "Help",
8
- "gs.header.help.label": "Help links",
9
- "gs.header.search": "Search",
10
- "gs.header.ai": "Open AI Assistant",
11
- "gs.header.logo.title.accessibility": "{organizationName} logo",
12
- "gs.header.href.accessibility": "Go to homepage",
13
- "gs.header.accessibility.label": "Global application header",
14
- "gs.header.menu.accessibility.label": "Global navigation",
15
- "gs.header.notifications": "Notifications",
16
- "gs.header.logout": "Logout",
17
- "gs.header.workspaceSettings": "Workspace settings",
18
- "gs.header.account.title": "Account",
19
- "gs.list.all": "All",
20
- "gs.list.allAndCount": "All ({count})",
21
- "gs.list.allSearchResultsAndCount": "All search results ({count})",
22
- "gs.list.except": "except",
23
- "gs.list.is": "is",
24
- "gs.list.search.placeholder": "Search…",
25
- "gs.list.acessibility.search.label": "Search attribute values",
26
- "gs.list.notAvailableAbbreviation": "N/A",
27
- "gs.list.searchResults": "search results",
28
- "gs.visualizationsList.loading": "Loading…",
29
- "gs.color-picker.inputPlaceholder": "#color",
30
- "gs.color-picker.currentColor": "current",
31
- "gs.color-picker.newColor": "new",
32
- "gs.color-picker.cancelButton": "Cancel",
33
- "gs.color-picker.okButton": "OK",
34
- "gs.color-picker.hex": "hex",
35
- "gs.noData.noMatchingData": "No matching data",
36
- "gs.noData.noDataAvailable": "No matching data",
37
- "geochart.scroll.zoom.blocker": "Use {button} + scroll to zoom the map",
38
- "geochart.touch.pan.blocker": "Use two fingers to move the map",
39
- "visualizations.of": "{page} of {pagesCount}",
40
- "visualizations.totals.dropdown.title.sum": "Sum",
41
- "visualizations.totals.dropdown.title.avg": "Avg",
42
- "visualizations.totals.dropdown.title.min": "Min",
43
- "visualizations.totals.dropdown.title.max": "Max",
44
- "visualizations.totals.dropdown.title.nat": "Rollup (Total)",
45
- "visualizations.totals.dropdown.tooltip.nat.disabled.mvf": "Rollup (Total) aggregation is not available when filtering the visualization by metric value. To use Rollup (Total), remove all metric value filters from the filter bar.",
46
- "visualizations.totals.dropdown.tooltip.nat.disabled.ranking": "Rollup (Total) aggregation is not available when filtering the visualization by ranking filter. To use Rollup (Total), remove ranking filter from the filter bar.",
47
- "visualizations.totals.dropdown.title.med": "Median",
48
- "visualizations.headline.tertiary.title": "Versus",
49
- "visualizations.headline.comparison.title.change": "Change",
50
- "visualizations.headline.comparison.title.change.positive": "Increase",
51
- "visualizations.headline.comparison.title.change.negative": "Decrease",
52
- "visualizations.headline.comparison.title.change.equals": "No change",
53
- "visualizations.headline.comparison.title.ratio": "of",
54
- "visualizations.headline.comparison.title.difference": "Difference",
55
- "visualizations.headline.comparison.title.difference.positive": "Increase",
56
- "visualizations.headline.comparison.title.difference.negative": "Decrease",
57
- "visualizations.headline.comparison.title.difference.equals": "No difference",
58
- "visualizations.headline.pagination.next.metricLabel": "Show next comparative metric",
59
- "visualizations.headline.pagination.previous.metricLabel": "Show previous comparative metric",
60
- "visualizations.headline.pagination.drill.hint": "Drilling available. Press Enter or Space to continue.",
61
- "visualizations.headline.comparison.ariaLabel.singleValuePositiveChange": "up {mainValue}",
62
- "visualizations.headline.comparison.ariaLabel.singleValueNegativeChange": "down {mainValue}",
63
- "visualizations.headline.comparison.ariaLabel.twoValuesPositiveChange": "up {mainValue} (the difference is {secondaryValue})",
64
- "visualizations.headline.comparison.ariaLabel.twoValuesNegativeChange": "down {mainValue} (the difference is {secondaryValue})",
65
- "visualizations.headline.comparison.ariaLabel.twoValues": "{mainValue} (the difference is {secondaryValue})",
66
- "visualization.numericValues.k": "k",
67
- "visualization.numericValues.m": "M",
68
- "visualization.numericValues.g": "G",
69
- "visualization.numericValues.t": "T",
70
- "visualization.numericValues.p": "P",
71
- "visualization.numericValues.e": "E",
72
- "visualization.emptyValue": "empty value",
73
- "visualization.waterfall.total": "Total",
74
- "visualization.cluster": "Cluster",
75
- "visualization.ErrorMessageGeneric": "Sorry, we can't display this visualization",
76
- "visualization.ErrorDescriptionGeneric": "Contact your administrator.",
77
- "visualization.ErrorMessageDataTooLarge": "Too many data points to display",
78
- "visualization.ErrorDescriptionDataTooLarge": "Try applying filters.",
79
- "visualization.ErrorMessageNoData": "No data",
80
- "visualization.ErrorDescriptionNoData": "No data for your filter selection.",
81
- "visualization.ErrorMessageKpi": "Error",
82
- "visualization.ErrorMessageUnauthorized": "Unauthorized",
83
- "visualization.ErrorDescriptionUnauthorized": "Sorry you don't have access to this visualization. Login or ask your administrator to grant you permissions.",
84
- "visualization.ErrorMessageNotFound": "Sorry, we can't find this visualization",
85
- "visualization.ErrorDescriptionNotFound": "The visualization with this URL does not exist.",
86
- "visualization.ErrorMessageResultCacheMissing": "Visualization needs refresh",
87
- "visualization.ErrorDescriptionResultCacheMissing": "The underlying data changed or expired. Refresh the page.",
88
- "visualization.ErrorDescriptionMissingMapboxToken": "The Geochart configuration requires a valid API access token.",
89
- "visualization.tooltip.resetZoom": "Reset zoom",
90
- "visualization.tooltip.interaction": "Click chart to drill",
91
- "visualization.tooltip.generic.interaction": "Click to drill or filter",
92
- "gs.filterLabel.all": "All",
93
- "gs.filterLabel.none": "None",
94
- "gs.filter.loading": "Loading filter…",
95
- "gs.filter.error": "Error when loading filter.",
96
- "gs.filter.error.tooltip": "Error. Values cannot be loaded.",
97
- "gs.list.clear": "Clear",
98
- "gs.list.cancel": "Cancel",
99
- "gs.list.apply": "Apply",
100
- "gs.list.only": "Only",
101
- "gs.list.selectAll": "Select all",
102
- "gs.list.limitExceeded": "Sorry, you have exceeded the limit ({limit}).",
103
- "gs.list.limitReached": "You have reached the limit of {limit} selected values.",
104
- "gs.list.cannotSelectMoreValues": "You cannot select more than {limit} values.",
105
- "gs.list.noItemsFound": "No items found.",
106
- "gs.list.noResultsMatch": "No results match",
107
- "gs.list.error": "Error when loading filter values.",
108
- "gs.header.upsellButtonText": "Upgrade",
109
- "gs.header.countdown.numberOfDaysLeft": "{number} days left",
110
- "gs.header.countdown.numberOfMonthsLeft": "{number} months left",
111
- "gs.header.countdown.oneMonthLeft": "1 month left",
112
- "gs.header.countdown.lastDay": "This is your last day",
113
- "measure.title.suffix.same_period_year_ago": "SP year ago",
114
- "measure.title.suffix.previous_period": "period ago",
115
- "visualizations.measure.arithmetic.sum.title": "Sum of {firstMeasureTitle} and {secondMeasureTitle}",
116
- "visualizations.measure.arithmetic.difference.title": "Difference of {firstMeasureTitle} and {secondMeasureTitle}",
117
- "visualizations.measure.arithmetic.multiplication.title": "Product of {firstMeasureTitle} and {secondMeasureTitle}",
118
- "visualizations.measure.arithmetic.ratio.title": "Ratio of {firstMeasureTitle} and {secondMeasureTitle}",
119
- "visualizations.measure.arithmetic.change.title": "Change from {secondMeasureTitle} to {firstMeasureTitle}",
120
- "visualizations.legend.text.top": "Top",
121
- "visualizations.legend.text.bottom": "Bottom",
122
- "visualizations.legend.text.left": "Left",
123
- "visualizations.legend.text.right": "Right",
124
- "visualizations.legend.text.colon": ":",
125
- "visualizations.legend.text.column": "Column",
126
- "visualizations.legend.text.line": "Line",
127
- "visualizations.legend.text.area": "Area",
128
- "visualizations.legend.text.combo": "{0} ({1})",
129
- "visualizations.pagination.previous": "Previous page",
130
- "visualizations.pagination.next": "Next page",
131
- "visualizations.table.pagination.of": "of",
132
- "visualizations.menu.aggregations": "Aggregate",
133
- "visualizations.menu.aggregations.rows": "Rows",
134
- "visualizations.menu.aggregations.columns": "Columns",
135
- "visualizations.menu.aggregations.all-rows": "of all rows",
136
- "visualizations.menu.aggregations.all-columns": "of all columns",
137
- "visualizations.menu.aggregations.within-attribute": "within {attributeName}",
138
- "visualizations.menu.textWrapping": "Wrap text",
139
- "visualizations.menu.textWrapping.header": "Headers",
140
- "visualizations.menu.textWrapping.cell": "Cells",
141
- "visualizations.menu.sort": "Sort",
142
- "visualizations.menu.sort.ascending": "Ascending",
143
- "visualizations.menu.sort.descending": "Descending",
144
- "visualizations.menu.header.openAriaLabel": "Open header menu",
145
- "visualizations.table.header.keyboardInstructions.mac": "Open menu with Option + Down Arrow. Sort with Return. Add to multi-sort with Shift + Return. Resize column with Option + Left or Right Arrow.",
146
- "visualizations.table.header.keyboardInstructions.windows": "Open menu with Alt + Down Arrow. Sort with Enter. Add to multi-sort with Shift + Enter. Resize column with Alt + Left or Right Arrow.",
147
- "visualizations.table.header.aria.sortedAscending": "ascending",
148
- "visualizations.table.header.aria.sortedDescending": "descending",
149
- "visualizations.table.header.aria.priority": "rank {rank}",
150
- "visualizations.table.header.aria.sorted": "sorted {direction}",
151
- "apply": "Apply",
152
- "cancel": "Cancel",
153
- "close": "Close",
154
- "save": "Save",
155
- "loading": "Loading…",
156
- "filtering": "Filtering…",
157
- "dateFilterDropdown.title": "Date range",
158
- "dateFilterDropdown.setDefault": "Set default date filter for{nbsp}viewers:",
159
- "dateFilterDropdown.configuration": "Configuration",
160
- "dateFilterDropdown.label": "Select a date range",
161
- "dateFilterDropdown.relativeForm.label": "Granularity",
162
- "dateFilter.tab.standard": "Standard",
163
- "dateFilter.tab.fiscal": "Fiscal",
164
- "filters.thisMinute.title": "This minute",
165
- "filters.lastMinute.title": "Last minute",
166
- "filters.nextMinute.title": "Next minute",
167
- "filters.thisHour.title": "This hour",
168
- "filters.lastHour.title": "Last hour",
169
- "filters.nextHour.title": "Next hour",
170
- "filters.thisDay.title": "Today",
171
- "filters.lastDay.title": "Yesterday",
172
- "filters.nextDay.title": "Tomorrow",
173
- "filters.thisWeek.title": "This week",
174
- "filters.thisWeekToDate.title": "This week to date (WTD)",
175
- "filters.lastWeek.title": "Last week",
176
- "filters.nextWeek.title": "Next week",
177
- "filters.thisMonth.title": "This month",
178
- "filters.thisMonthToDate.title": "This month to date (MTD)",
179
- "filters.lastMonth.title": "Last month",
180
- "filters.nextMonth.title": "Next month",
181
- "filters.thisQuarter.title": "This quarter",
182
- "filters.thisQuarterToDate.title": "This quarter to date (QTD)",
183
- "filters.lastQuarter.title": "Last quarter",
184
- "filters.nextQuarter.title": "Next quarter",
185
- "filters.thisYear.title": "This year",
186
- "filters.thisYearToDate.title": "This year to date (YTD)",
187
- "filters.lastYear.title": "Last year",
188
- "filters.nextYear.title": "Next year",
189
- "filters.thisFiscalMonth.title": "This fiscal month",
190
- "filters.thisFiscalMonthToDate.title": "This fiscal month to date",
191
- "filters.lastFiscalMonth.title": "Last fiscal month",
192
- "filters.nextFiscalMonth.title": "Next fiscal month",
193
- "filters.thisFiscalQuarter.title": "This fiscal quarter",
194
- "filters.thisFiscalQuarterToDate.title": "This fiscal quarter to date",
195
- "filters.lastFiscalQuarter.title": "Last fiscal quarter",
196
- "filters.nextFiscalQuarter.title": "Next fiscal quarter",
197
- "filters.thisFiscalYear.title": "This fiscal year",
198
- "filters.thisFiscalYearToDate.title": "This fiscal year to date",
199
- "filters.lastFiscalYear.title": "Last fiscal year",
200
- "filters.nextFiscalYear.title": "Next fiscal year",
201
- "filters.lastNMinutes": "{n, plural, one {Last # minute} other {Last # minutes}}",
202
- "filters.lastNHours": "{n, plural, one {Last # hour} other {Last # hours}}",
203
- "filters.lastNDays": "{n, plural, one {Last # day} other {Last # days}}",
204
- "filters.lastNWeeks": "{n, plural, one {Last # week} other {Last # weeks}}",
205
- "filters.lastNMonths": "{n, plural, one {Last # month} other {Last # months}}",
206
- "filters.lastNQuarters": "{n, plural, one {Last # quarter} other {Last # quarters}}",
207
- "filters.lastNYears": "{n, plural, one {Last # year} other {Last # years}}",
208
- "filters.lastNFiscalMonths": "{n, plural, one {Last # fiscal month} other {Last # fiscal months}}",
209
- "filters.lastNFiscalQuarters": "{n, plural, one {Last # fiscal quarter} other {Last # fiscal quarters}}",
210
- "filters.lastNFiscalYears": "{n, plural, one {Last # fiscal year} other {Last # fiscal years}}",
211
- "filters.nextNMinutes": "{n, plural, one {Next # minute} other {Next # minutes}}",
212
- "filters.nextNHours": "{n, plural, one {Next # hour} other {Next # hours}}",
213
- "filters.nextNDays": "{n, plural, one {Next # day} other {Next # days}}",
214
- "filters.nextNWeeks": "{n, plural, one {Next # week} other {Next # weeks}}",
215
- "filters.nextNMonths": "{n, plural, one {Next # month} other {Next # months}}",
216
- "filters.nextNQuarters": "{n, plural, one {Next # quarter} other {Next # quarters}}",
217
- "filters.nextNYears": "{n, plural, one {Next # year} other {Next # years}}",
218
- "filters.nextNFiscalMonths": "{n, plural, one {Next # fiscal month} other {Next # fiscal months}}",
219
- "filters.nextNFiscalQuarters": "{n, plural, one {Next # fiscal quarter} other {Next # fiscal quarters}}",
220
- "filters.nextNFiscalYears": "{n, plural, one {Next # fiscal year} other {Next # fiscal years}}",
221
- "filters.interval.minutes.past": "From {from} to {to} {to, plural, one {minute} other {minutes}} ago",
222
- "filters.interval.minutes.past.sameValue": "{value} {value, plural, one {minute} other {minutes}} ago",
223
- "filters.interval.minutes.future": "From {from} to {to} {to, plural, one {minute} other {minutes}} ahead",
224
- "filters.interval.minutes.future.sameValue": "{value} {value, plural, one {minute} other {minutes}} ahead",
225
- "filters.interval.minutes.mixed": "From {from} {from, plural, one {minute} other {minutes}} ago to {to} {to, plural, one {minute} other {minutes}} ahead",
226
- "filters.interval.hours.past": "From {from} to {to} {to, plural, one {hour} other {hours}} ago",
227
- "filters.interval.hours.past.sameValue": "{value} {value, plural, one {hour} other {hours}} ago",
228
- "filters.interval.hours.future": "From {from} to {to} {to, plural, one {hour} other {hours}} ahead",
229
- "filters.interval.hours.future.sameValue": "{value} {value, plural, one {hour} other {hours}} ahead",
230
- "filters.interval.hours.mixed": "From {from} {from, plural, one {hour} other {hours}} ago to {to} {to, plural, one {hour} other {hours}} ahead",
231
- "filters.interval.days.past": "From {from} to {to} {to, plural, one {day} other {days}} ago",
232
- "filters.interval.days.past.sameValue": "{value} {value, plural, one {day} other {days}} ago",
233
- "filters.interval.days.future": "From {from} to {to} {to, plural, one {day} other {days}} ahead",
234
- "filters.interval.days.future.sameValue": "{value} {value, plural, one {day} other {days}} ahead",
235
- "filters.interval.days.mixed": "From {from} {from, plural, one {day} other {days}} ago to {to} {to, plural, one {day} other {days}} ahead",
236
- "filters.interval.weeks.past": "From {from} to {to} {to, plural, one {week} other {weeks}} ago",
237
- "filters.interval.weeks.past.sameValue": "{value} {value, plural, one {week} other {weeks}} ago",
238
- "filters.interval.weeks.future": "From {from} to {to} {to, plural, one {week} other {weeks}} ahead",
239
- "filters.interval.weeks.future.sameValue": "{value} {value, plural, one {week} other {weeks}} ahead",
240
- "filters.interval.weeks.mixed": "From {from} {from, plural, one {week} other {weeks}} ago to {to} {to, plural, one {week} other {weeks}} ahead",
241
- "filters.interval.months.past": "From {from} to {to} {to, plural, one {month} other {months}} ago",
242
- "filters.interval.months.past.sameValue": "{value} {value, plural, one {month} other {months}} ago",
243
- "filters.interval.months.future": "From {from} to {to} {to, plural, one {month} other {months}} ahead",
244
- "filters.interval.months.future.sameValue": "{value} {value, plural, one {month} other {months}} ahead",
245
- "filters.interval.months.mixed": "From {from} {from, plural, one {month} other {months}} ago to {to} {to, plural, one {month} other {months}} ahead",
246
- "filters.interval.quarters.past": "From {from} to {to} {to, plural, one {quarter} other {quarters}} ago",
247
- "filters.interval.quarters.past.sameValue": "{value} {value, plural, one {quarter} other {quarters}} ago",
248
- "filters.interval.quarters.future": "From {from} to {to} {to, plural, one {quarter} other {quarters}} ahead",
249
- "filters.interval.quarters.future.sameValue": "{value} {value, plural, one {quarter} other {quarters}} ahead",
250
- "filters.interval.quarters.mixed": "From {from} {from, plural, one {quarter} other {quarters}} ago to {to} {to, plural, one {quarter} other {quarters}} ahead",
251
- "filters.interval.years.past": "From {from} to {to} {to, plural, one {year} other {years}} ago",
252
- "filters.interval.years.past.sameValue": "{value} {value, plural, one {year} other {years}} ago",
253
- "filters.interval.years.future": "From {from} to {to} {to, plural, one {year} other {years}} ahead",
254
- "filters.interval.years.future.sameValue": "{value} {value, plural, one {year} other {years}} ahead",
255
- "filters.interval.years.mixed": "From {from} {from, plural, one {year} other {years}} ago to {to} {to, plural, one {year} other {years}} ahead",
256
- "filters.interval.fiscalMonths.past": "From {from} to {to} {to, plural, one {fiscal month} other {fiscal months}} ago",
257
- "filters.interval.fiscalMonths.past.sameValue": "{value} {value, plural, one {fiscal month} other {fiscal months}} ago",
258
- "filters.interval.fiscalMonths.future": "From {from} to {to} {to, plural, one {fiscal month} other {fiscal months}} ahead",
259
- "filters.interval.fiscalMonths.future.sameValue": "{value} {value, plural, one {fiscal month} other {fiscal months}} ahead",
260
- "filters.interval.fiscalMonths.mixed": "From {from} {from, plural, one {fiscal month} other {fiscal months}} ago to {to} {to, plural, one {fiscal month} other {fiscal months}} ahead",
261
- "filters.interval.fiscalQuarters.past": "From {from} to {to} {to, plural, one {fiscal quarter} other {fiscal quarters}} ago",
262
- "filters.interval.fiscalQuarters.past.sameValue": "{value} {value, plural, one {fiscal quarter} other {fiscal quarters}} ago",
263
- "filters.interval.fiscalQuarters.future": "From {from} to {to} {to, plural, one {fiscal quarter} other {fiscal quarters}} ahead",
264
- "filters.interval.fiscalQuarters.future.sameValue": "{value} {value, plural, one {fiscal quarter} other {fiscal quarters}} ahead",
265
- "filters.interval.fiscalQuarters.mixed": "From {from} {from, plural, one {fiscal quarter} other {fiscal quarters}} ago to {to} {to, plural, one {fiscal quarter} other {fiscal quarters}} ahead",
266
- "filters.interval.fiscalYears.past": "From {from} to {to} {to, plural, one {fiscal year} other {fiscal years}} ago",
267
- "filters.interval.fiscalYears.past.sameValue": "{value} {value, plural, one {fiscal year} other {fiscal years}} ago",
268
- "filters.interval.fiscalYears.future": "From {from} to {to} {to, plural, one {fiscal year} other {fiscal years}} ahead",
269
- "filters.interval.fiscalYears.future.sameValue": "{value} {value, plural, one {fiscal year} other {fiscal years}} ahead",
270
- "filters.interval.fiscalYears.mixed": "From {from} {from, plural, one {fiscal year} other {fiscal years}} ago to {to} {to, plural, one {fiscal year} other {fiscal years}} ahead",
271
- "filters.granularity.minutes": "Minutes",
272
- "filters.granularity.hours": "Hours",
273
- "filters.granularity.days": "Days",
274
- "filters.granularity.weeks": "Weeks",
275
- "filters.granularity.months": "Months",
276
- "filters.granularity.quarters": "Quarters",
277
- "filters.granularity.years": "Years",
278
- "filters.granularity.fiscalYears": "Fiscal years",
279
- "filters.granularity.fiscalQuarters": "Fiscal quarters",
280
- "filters.granularity.periods": "Periods",
281
- "filters.staticPeriod.dateFrom": "Start date",
282
- "filters.staticPeriod.timeFrom": "Start time",
283
- "filters.staticPeriod.dateTimeFrom": "Start date and time",
284
- "filters.staticPeriod.dateTo": "End date",
285
- "filters.staticPeriod.timeTo": "End time",
286
- "filters.staticPeriod.dateTimeTo": "End date and time",
287
- "filters.staticPeriod.dateFormatHint": "Use date format {format}.",
288
- "filters.staticPeriod.timeFormatHint": "Use time format HH:MM; max value is 23:59.",
289
- "filters.date.accessibility.label.from": "Select date from",
290
- "filters.date.accessibility.label.to": "Select date to",
291
- "filters.time.accessibility.label.from": "Select time from",
292
- "filters.time.accessibility.label.to": "Select time to",
293
- "filters.relative.placeholder": "Type or select",
294
- "filters.relative.from.label": "Period start",
295
- "filters.relative.from.invalid.value": "Error: Invalid period start — enter a valid period or select it from the list.",
296
- "filters.relative.from.empty.value": "Error: Period start is empty — enter a valid period or select it from the list.",
297
- "filters.relative.to.label": "Period end",
298
- "filters.relative.to.invalid.value": "Error: Invalid period end enter a valid period or select it from the list.",
299
- "filters.relative.to.empty.value": "Error: Period end is empty — enter a valid period or select it from the list.",
300
- "filters.floatingRange": "Relative period",
301
- "filters.floatingRange.noMatch": "No match found",
302
- "filters.floatingRange.tooBig": "Maximum value: {limit}",
303
- "filters.floatingRange.option.minute.offset.history": "{n, plural, one {last minute} other {# minutes ago}}",
304
- "filters.floatingRange.option.minute.offset.today": "this minute",
305
- "filters.floatingRange.option.minute.offset.future": "{n, plural, one {next minute} other {# minutes ahead}}",
306
- "filters.floatingRange.option.hour.offset.history": "{n, plural, one {last hour} other {# hours ago}}",
307
- "filters.floatingRange.option.hour.offset.today": "this hour",
308
- "filters.floatingRange.option.hour.offset.future": "{n, plural, one {next hour} other {# hours ahead}}",
309
- "filters.floatingRange.option.day.offset.history": "{n, plural, one {yesterday} other {# days ago}}",
310
- "filters.floatingRange.option.day.offset.today": "today",
311
- "filters.floatingRange.option.day.offset.future": "{n, plural, one {tomorrow} other {# days ahead}}",
312
- "filters.floatingRange.option.week.offset.history": "{n, plural, one {last week} other {# weeks ago}}",
313
- "filters.floatingRange.option.week.offset.today": "this week",
314
- "filters.floatingRange.option.week.offset.future": "{n, plural, one {next week} other {# weeks ahead}}",
315
- "filters.floatingRange.option.month.offset.history": "{n, plural, one {last month} other {# months ago}}",
316
- "filters.floatingRange.option.month.offset.today": "this month",
317
- "filters.floatingRange.option.month.offset.future": "{n, plural, one {next month} other {# months ahead}}",
318
- "filters.floatingRange.option.quarter.offset.history": "{n, plural, one {last quarter} other {# quarters ago}}",
319
- "filters.floatingRange.option.quarter.offset.today": "this quarter",
320
- "filters.floatingRange.option.quarter.offset.future": "{n, plural, one {next quarter} other {# quarters ahead}}",
321
- "filters.floatingRange.option.year.offset.history": "{n, plural, one {last year} other {# years ago}}",
322
- "filters.floatingRange.option.year.offset.today": "this year",
323
- "filters.floatingRange.option.year.offset.future": "{n, plural, one {next year} other {# years ahead}}",
324
- "filters.allTime.title": "All time",
325
- "filters.allTime.excludeCurrentPeriod": "Exclude open period",
326
- "filters.minute.title": "MINUTE",
327
- "filters.minute.excludeCurrentPeriod": "Exclude this minute",
328
- "filters.hour.title": "HOUR",
329
- "filters.hour.excludeCurrentPeriod": "Exclude this hour",
330
- "filters.day.title": "DAY",
331
- "filters.day.excludeCurrentPeriod": "Exclude today",
332
- "filters.week.title": "WEEK",
333
- "filters.week.excludeCurrentPeriod": "Exclude this week",
334
- "filters.month.title": "MONTH",
335
- "filters.month.excludeCurrentPeriod": "Exclude this month",
336
- "filters.quarter.title": "QUARTER",
337
- "filters.quarter.excludeCurrentPeriod": "Exclude this quarter",
338
- "filters.year.title": "YEAR",
339
- "filters.year.excludeCurrentPeriod": "Exclude this year",
340
- "filters.fiscalYear.title": "FISCAL YEAR",
341
- "filters.fiscalQuarter.title": "FISCAL QUARTER",
342
- "filters.period.title": "PERIOD",
343
- "filters.excludeCurrentPeriod.unavailable": "Not available for the selected date range",
344
- "filters.staticPeriod": "Static period",
345
- "filters.staticPeriod.errors.emptyStartDate": "Error: Start date is empty enter a valid date to continue.",
346
- "filters.staticPeriod.errors.invalidStartDate": "Error: Invalid start date use {format} format.",
347
- "filters.staticPeriod.errors.startDateAfterEndDate": "Error: Invalid start date — set a date before the end date.",
348
- "filters.staticPeriod.errors.startTimeAfterEndTime": "Error: Invalid start time — set a time before the end time.",
349
- "filters.staticPeriod.errors.emptyEndDate": "Error: End date is empty — enter a valid date to continue.",
350
- "filters.staticPeriod.errors.invalidEndDate": "Error: Invalid end date use {format} format.",
351
- "filters.staticPeriod.errors.endDateBeforeStartDate": "Error: Invalid end date — set a date after the start date.",
352
- "filters.staticPeriod.errors.endTimeBeforeStartTime": "Error: Invalid end time — set a time after the start time.",
353
- "filters.locked.filter.tooltip": "This filter is locked",
354
- "mvf.operator.all": "all",
355
- "mvf.condition": "Condition",
356
- "mvf.operator.greaterThan": "greater than",
357
- "mvf.operator.greaterThan.withValue": "greater than {value}",
358
- "mvf.operator.greaterThanOrEqualTo": "greater than or equal to",
359
- "mvf.operator.greaterThanOrEqualTo.withValue": "greater than or equal to {value}",
360
- "mvf.operator.lessThan": "less than",
361
- "mvf.operator.lessThan.withValue": "less than {value}",
362
- "mvf.operator.lessThanOrEqualTo": "less than or equal to",
363
- "mvf.operator.lessThanOrEqualTo.withValue": "less than or equal to {value}",
364
- "mvf.operator.equalTo": "equal to",
365
- "mvf.operator.equalTo.withValue": "equal to {value}",
366
- "mvf.operator.notEqualTo": "not equal to",
367
- "mvf.operator.notEqualTo.withValue": "not equal to {value}",
368
- "mvf.operator.between": "between",
369
- "mvf.operator.between.withValue": "between {from} and {to}",
370
- "mvf.operator.notBetween": "not between",
371
- "mvf.operator.notBetween.withValue": "not between {from} and {to}",
372
- "mvf.operator.between.tooltip.bubble": "Start and end values are included.",
373
- "mvf.operator.notBetween.tooltip.bubble": "Start and end values are not included.",
374
- "mvf.treatNullValuesAsZeroLabel": "Treat blank values as 0",
375
- "mvf.treatNullValuesAsZeroTooltip": "If the filter condition includes 0, blank values will be treated as 0 and included in calculations.",
376
- "mvf.preview.filterWithoutDimensionality": "{metric} is <b>{condition}</b>",
377
- "mvf.preview.filterWithDimensionality": "{metric} is <b>{condition} for each {dimensionality}</b>",
378
- "mvf.dimensionality.backwardCompatibilityNote": "“For each” currently follows the visualization’s attributes. Editing the filter will stop this and let you choose which attributes it uses.",
379
- "mvf.dimensionality.forEach": "For each",
380
- "mvf.dimensionality.reset": "Reset",
381
- "mvf.dimensionality.reset.tooltip": "Reset to all currently used attributes in the visualization.",
382
- "mvf.dimensionality.addButton.tooltip": "Add attributes",
383
- "mvf.dimensionality.addAttributes": "Add attribute",
384
- "mvf.dimensionality.section.fromVisualization": "From Visualization",
385
- "mvf.attributePicker.title": "Select attributes or dates",
386
- "mvf.attributePicker.filter.attributes": "Attributes",
387
- "mvf.attributePicker.filter.dates": "Dates",
388
- "mvf.attributePicker.dateAs": "Date as",
389
- "mvf.attributePicker.noResults": "No item matches the search term.",
390
- "mvf.attributePicker.noItems": "No items available.",
391
- "measureNumberFormat.custom.optionLabel": "Custom",
392
- "measureNumberFormat.buttonLabel": "Format: {selectedFormatPresetName}",
393
- "measureNumberFormat.numberFormat.preset.inherit": "Inherit",
394
- "measureNumberFormat.numberFormat.preset.rounded": "Rounded",
395
- "measureNumberFormat.numberFormat.preset.decimal1": "Decimal (1)",
396
- "measureNumberFormat.numberFormat.preset.decimal2": "Decimal (2)",
397
- "measureNumberFormat.numberFormat.preset.percentRounded": "Percent (rounded)",
398
- "measureNumberFormat.numberFormat.preset.percent1": "Percent (1)",
399
- "measureNumberFormat.numberFormat.preset.percent2": "Percent (2)",
400
- "measureNumberFormat.numberFormat.preset.currency": "Currency (2)",
401
- "measureNumberFormat.numberFormat.preset.currency1": "Currency (1)",
402
- "measureNumberFormat.numberFormat.preset.currencyRounded": "Currency (rounded)",
403
- "measureNumberFormat.numberFormat.preset.currencyShortened": "Currency (shortened)",
404
- "measureNumberFormat.numberFormat.template.rounded": "Rounded",
405
- "measureNumberFormat.numberFormat.template.decimal1": "Decimal (1)",
406
- "measureNumberFormat.numberFormat.template.decimal2": "Decimal (2)",
407
- "measureNumberFormat.numberFormat.template.percentRounded": "Percent (rounded)",
408
- "measureNumberFormat.numberFormat.template.percent1": "Percent (1)",
409
- "measureNumberFormat.numberFormat.template.percent2": "Percent (2)",
410
- "measureNumberFormat.numberFormat.template.largeNumbersShortened": "Large numbers shortened",
411
- "measureNumberFormat.numberFormat.template.largeNumbersShortenedWithColors": "Large numbers shortened with colors",
412
- "measureNumberFormat.numberFormat.template.negativeNumbersRed": "Negative numbers in red",
413
- "measureNumberFormat.numberFormat.template.financial": "Financial",
414
- "measureNumberFormat.numberFormat.template.decimalWithoutThousandsSeparator": "Decimal (2) without thousands separator",
415
- "measureNumberFormat.numberFormat.template.conditionalColors": "Conditional colors",
416
- "measureNumberFormat.numberFormat.template.trendSymbols": "Trend symbols",
417
- "measureNumberFormat.numberFormat.template.timeFromSeconds": "Time (from seconds)",
418
- "measureNumberFormat.numberFormat.template.zeroInsteadOfNull": "Zero instead of blank value",
419
- "measureNumberCustomFormatDialog.title": "Custom format",
420
- "measureNumberCustomFormatDialog.template.preview.title": "Format preview",
421
- "measureNumberCustomFormatDialog.template.title": "Templates",
422
- "measureNumberCustomFormatDialog.extendedPreview.button": "Show more",
423
- "measureNumberCustomFormatDialog.howToFormat": "How to format?",
424
- "measureNumberCustomFormatDialog.definition": "Definition",
425
- "measureNumberCustomFormatDialog.preview": "Preview",
426
- "properties.legend.title": "Legend",
427
- "properties.legend.series.item.description": "Use to toggle visibility",
428
- "properties.legend.more.button": "Show all legend items in a dialog",
429
- "properties.legend.series.named": "Legend: {name}",
430
- "properties.legend.series.unnamed": "Visualization legend",
431
- "properties.color.total": "Total",
432
- "properties.color.positive": "Positive",
433
- "properties.color.negative": "Negative",
434
- "attrf.all": "All",
435
- "attrf.all_except": "All except",
436
- "rankingFilter.topBottom": "Top/bottom values",
437
- "rankingFilter.top": "Top",
438
- "rankingFilter.bottom": "Bottom",
439
- "rankingFilter.allRecords": "All",
440
- "rankingFilter.allRecords.tooltip": "Apply the filter to all attributes in the visualization.",
441
- "rankingFilter.attributeDropdown.oneAttributeTooltip": "The visualization is sliced only by one attribute. The filter will apply to all its values.",
442
- "rankingFilter.outOf": "Out of",
443
- "rankingFilter.basedOn": "Based on",
444
- "rankingFilter.valueTooSmall": "Input value should be a positive number.",
445
- "rankingFilter.valueTooLarge": "Input value too large.",
446
- "rankingFilter.preview": "Preview:",
447
- "rankingFilter.preview.top_without_attribute": "Top {value} of <strong>{measure}</strong>",
448
- "rankingFilter.preview.bottom_without_attribute": "Bottom {value} of <strong>{measure}</strong>",
449
- "rankingFilter.preview.top_with_attribute": "Top {value} out of <strong>{attribute}</strong> based on <strong>{measure}</strong>",
450
- "rankingFilter.preview.bottom_with_attribute": "Bottom {value} out of <strong>{attribute}</strong> based on <strong>{measure}</strong>",
451
- "rankingFilter.valueTooltip": "If multiple items have the same value, the filter shows all items with this value. The visualization may then display more items than the number set.",
452
- "attributesDropdown.itemsFiltered.tooltip": "Values are filtered by: <strong>{filters}</strong>",
453
- "attributesDropdown.itemsFiltered": "Items are filtered",
454
- "attributeFilterDropdown.emptyValue": "empty value",
455
- "attributesDropdown.alternativeValueTooltip": "Alternative value from primary label {label}: {value}",
456
- "attributesDropdown.alternativeValueTooltipShort": "({label}: {value})",
457
- "attributesDropdown.filterValues": "Filter values",
458
- "attributesDropdown.selectedValues": "Selected values",
459
- "attributesDropdown.onlyLabel": "Select only {itemTitle}",
460
- "attributesDropdown.noChanges": "No changes to apply",
461
- "attributesDropdown.noData": "This attribute has no values.",
462
- "attributesDropdown.noResultsMatch": "No results match.",
463
- "attributesDropdown.allItemsFiltered": "All values are filtered out.",
464
- "attributesDropdown.configuration": "Configuration",
465
- "attributesDropdown.removeTooltip": "Remove from dashboard",
466
- "attributesDropdown.display_as": "Display as: {title}",
467
- "attributesDropdown.empty.item.tooltip": "Include missing (null) and empty (\"\") values.",
468
- "attributesDropdown.filterConfiguredMessage": "<strong>{parentTitle}</strong> is already filtered by <strong>{childTitle}</strong> filter directly or through other filters.",
469
- "attributesDropdown.attributeNameWithData": "with data of",
470
- "attributesDropdown.noConnectionMessage": "<strong>{childTitle}</strong> cannot be filtered by <strong>{parentTitle}</strong>. There is no connection between the filter attributes in the data model.",
471
- "attributesDropdown.details.type": "Attribute",
472
- "attributesDropdown.details.dataset": "Dataset",
473
- "attributesDropdown.relevantValues": "Relevant values only.{nbsp}",
474
- "attributesDropdown.relevantValues.tooltip.parentFilters": "Available values for <strong>{child}</strong> are filtered by selected <strong>{parents}</strong>.",
475
- "attributesDropdown.relevantValues.tooltip.limits": "Values for <strong>{child}</strong> are filtered by an additional filter setting. ",
476
- "attributesDropdown.relevantValues.tooltip.parentFiltersLimits": "Values for <strong>{child}</strong> are filtered by the selected <strong>{parents}</strong> and an additional filter setting.",
477
- "attributesDropdown.noRelevantValues": "No relevant values",
478
- "attributesDropdown.noRelevantValues.tooltip": "Your selection in the dependent filter has resulted in no matching values for this filter.{break}Click 'Show all' to see all available options.",
479
- "attributesDropdown.irrelevantValues": "Irrelevant value selected.{nbsp}",
480
- "attributesDropdown.irrelevantValues.tooltip": "Selected value is no longer relevant due to changes in <strong>{parents}</strong>.",
481
- "attributesDropdown.irrelevantValues.clear": "Clear",
482
- "attributesDropdown.showAll": "Show all",
483
- "shareDialog.share.grantee.title": "Share with users and groups",
484
- "shareDialog.share.dashboard.title": "Share dashboard",
485
- "shareDialog.share.dashboard.list.title": "Users & groups",
486
- "shareDialog.share.link.helperText": "Link reflects current filters. Only accessible to users with dashboard access.",
487
- "shareDialog.share.link.helperTextWithTabs": "Link reflects current filters on active tab. Only accessible to users with dashboard access.",
488
- "shareDialog.share.link.title": "Link",
489
- "shareDialog.share.link.buttonText": "Copy dashboard link",
490
- "shareDialog.share.grantee.share": "Share",
491
- "shareDialog.share.grantee.list.title": "Shared with",
492
- "shareDialog.share.grantee.add": "Add",
493
- "shareDialog.share.grantee.addLabel": "Add users or groups",
494
- "shareDialog.share.grantee.add.empty.selection": "No user or group selected.",
495
- "shareDialog.share.grantee.add.info": "Add users and groups",
496
- "shareDialog.share.grantee.add.search.placeholder": "Search users and groups",
497
- "shareDialog.share.grantee.add.search.error.message": "Failed to load users and groups. Try again later.",
498
- "shareDialog.share.grantee.add.label.user": "Users",
499
- "shareDialog.share.grantee.add.label.group": "Groups",
500
- "shareDialog.share.grantee.add.search.no.matching.items": "No matching users or groups.",
501
- "shareDialog.share.grantee.item.you": "{userName} (You)",
502
- "shareDialog.share.grantee.item.users.count": "{granteeCount} users",
503
- "shareDialog.share.grantee.item.creator": "Creator",
504
- "shareDialog.share.grantee.item.user.all": "All users",
505
- "shareDialog.share.grantee.item.user.inactive": "Inactive user",
506
- "shareDialog.share.grantee.item.user.inactive.description": "User was deleted from this workspace",
507
- "shareDialog.share.grantee.item.remove.selection": "Remove from selection.",
508
- "shareDialog.share.granular.grantee.permission.edit": "Can edit & share",
509
- "shareDialog.share.granular.grantee.permission.share": "Can view & share",
510
- "shareDialog.share.granular.grantee.permission.view": "Can view",
511
- "shareDialog.share.granular.grantee.permission.remove": "Remove",
512
- "shareDialog.share.granular.granularUser.tooltip.cannotChangeHigher": "You cannot remove or change permissions for users with higher permissions than you have.",
513
- "shareDialog.share.granular.granularGroup.tooltip.cannotChangeHigher": "You cannot remove or change permissions for groups with higher permissions than you have.",
514
- "shareDialog.share.granular.grantee.tooltip.cannotGrantHigher": "You cannot set higher permissions than you have.",
515
- "shareDialog.share.granular.granularUser.tooltip.cannotGrantLower": "You cannot set lower permissions than are the permissions from user groups with this user.",
516
- "shareDialog.share.granular.granularGroup.tooltip.cannotGrantLower": "You cannot set lower permissions than are the permissions from user groups that include this group.",
517
- "shareDialog.share.granular.granularUser.tooltip.cannotRemoveFromParent": "You cannot remove permissions for this user in this workspace. To remove the permissions, do so from the parent workspace.",
518
- "shareDialog.share.granular.granularGroup.tooltip.cannotRemoveFromParent": "You cannot remove permissions for this user group in this workspace. To remove the permissions, do so from the parent workspace.",
519
- "shareDialog.share.granular.granularUser.tooltip.noChangeAvailable": "You cannot remove or change permissions for this user in this workspace. To edit the permissions, do so from the parent workspace.",
520
- "shareDialog.share.granular.granularGroup.tooltip.noChangeAvailable": "You cannot remove or change permissions for this user group in this workspace. To edit the permissions, do so from the parent workspace.",
521
- "shareDialog.share.granular.administrator.info": "<b>Note.</b> You and other administrators have full access to all dashboards.",
522
- "shareDialog.share.granular.grantee.permission.label": "Permission",
523
- "dialogs.closeLabel": "Close dialog",
524
- "dialogs.backButtonLabel": "Back to previous step",
525
- "sorting.dropdown.header": "Sort visualization",
526
- "sorting.type.alphabetical.asc": "A to Z",
527
- "sorting.type.alphabetical.desc": "Z to A",
528
- "sorting.type.date.asc": "Oldest to newest",
529
- "sorting.type.date.desc": "Newest to oldest",
530
- "sorting.type.default": "Default",
531
- "sorting.type.numerical.asc": "Smallest to largest",
532
- "sorting.type.numerical.desc": "Largest to smallest",
533
- "sorting.by": "by",
534
- "sorting.sum.of.all.measure": "Total",
535
- "sorting.default.tooltip": "Use the order defined in the attribute.",
536
- "embedInsightDialog.actions.close": "Close",
537
- "embedInsightDialog.actions.copyCode": "Copy code",
538
- "embedInsightDialog.component.type": "Component type",
539
- "embedInsightDialog.code.language.codeAs": "Code as",
540
- "embedInsightDialog.react.options": "Other options",
541
- "embedInsightDialog.webComponents.options": "Options",
542
- "embedInsightDialog.webComponents.options.displayTitle": "Display title",
543
- "embedInsightDialog.webComponents.options.customTitle": "Custom title",
544
- "embedInsightDialog.webComponents.options.locale": "Locale",
545
- "embedInsightDialog.webComponents.locale.tooltip": "Choose a specific language localization. If disabled, the visualization defaults to your current display language settings.",
546
- "embedInsightDialog.code.options.include.config.info": "Include the visualization configuration of colors, axes, legend, and canvas if available.",
547
- "embedInsightDialog.code.options.custom.height": "Custom height",
548
- "embedInsightDialog.code.options.display.configuration": "Include configuration",
549
- "embedInsightDialog.headLine.embedInsight": "Embed visualization",
550
- "embedInsightDialog.componentType.byReference.tooltip": "Embed as a reference to a saved visualization in a generic GD.UI react component. Any future changes to the visualization (such as visualization type, metrics, attributes) will be reflected in the embedded version.",
551
- "embedInsightDialog.componentType.byDefinition.tooltip": "Embed as an visualization definition in a specific GD.UI react component based on the currently selected visualization type. No future changes to the visualization (such as visualization type, metrics, attributes) made in this application will be reflected in the embedded version.",
552
- "embedInsightDialog.webComponents.customTitle.tooltip": "Define the text of the title directly in the code snippet.",
553
- "embedInsightDialog.webComponents.customTitle.disabled.tooltip": "Enable Display title first.",
554
- "embedInsightDialog.prepareEnvironmentMessage": "<b>Note.</b> In order for this snippet to work, prepare your environment.",
555
- "embedInsightDialog.prepareEnvironmentMessage.link": "Learn more",
556
- "embed.dialog.numeric.input.validation": "The value must be a number greater than 0",
557
- "embed.dialog.numeric.input.warning": "This input accepts only digits greater than 0",
558
- "embedInsightDialog.complete.list.props.message": "Complete list of embedding properties",
559
- "embedInsightDialog.emptyInsight.byReference": "Code snipped will be displayed here once you <a>save the visualization</a>.",
560
- "embedInsightDialog.emptyInsight.byDefinition": "This visualization type cannot be embedded as programmatic type component.",
561
- "embedDialog.tab.react": "React",
562
- "embedDialog.tab.webComponents": "Web Components",
563
- "error.overlay.login": "Login",
564
- "error.overlay.title": "You have been logged out",
565
- "error.overlay.text": "Please log back in to continue your work.",
566
- "stylingPicker.title.basic": "Default",
567
- "stylingPicker.title.custom": "Custom",
568
- "stylingPicker.title.create": "Create",
569
- "stylingEditor.dialog.name": "Name",
570
- "stylingEditor.dialog.name.required": "Cannot save. Specify a name.",
571
- "stylingEditor.dialog.definition": "Definition",
572
- "stylingEditor.dialog.definition.required": "Cannot save. Specify a definition.",
573
- "stylingEditor.dialog.definition.invalid": "Cannot save. The definition is not a valid JSON object.",
574
- "stylingEditor.dialog.examples": "Templates",
575
- "stylingEditor.dialog.example.paste": "Paste",
576
- "stylingPicker.item.edit": "Edit",
577
- "stylingPicker.item.delete": "Delete",
578
- "stylingPicker.item.delete.tooltip": "Applied item cannot be deleted.",
579
- "descriptionPanel.button.more": "Show more",
580
- "descriptionPanel.button.less": "Show less",
581
- "configurationPanel.drillConfig.learn.more.link": "Learn more",
582
- "configurationPanel.drillConfig.drillToDashboard.tooltip": "Open a related dashboard for an expanded view on the selected data point, carrying over relevant filters and context. <a>Learn more</a>",
583
- "configurationPanel.drillConfig.drillToInsight.tooltip": "Open a related visualization, maintaining the applied filters from the original view. <a>Learn more</a>",
584
- "configurationPanel.drillConfig.drillToUrl.tooltip": "Open a custom URL with dynamic parameters based on the selected data point. <a>Learn more</a>",
585
- "configurationPanel.drillConfig.drilldown": "Drill down",
586
- "configurationPanel.drillConfig.drilldown.tooltip": "Drill down within the current visualization, following predefined attribute hierarchies to view your data on an increasingly granular level. <a>Learn more</a>",
587
- "configurationPanel.drillConfig.drilldown.tooltip.disabled.insight": "Drill down is turned off in this visualization's configuration.",
588
- "configurationPanel.drillConfig.drilldown.tooltip.disabled.metric": "Drill down can only be set for attributes, not metrics.",
589
- "configurationPanel.drillConfig.drilldown.emtpy.hierarchy.info": "Attribute must be in a hierarchy to enable drill down.",
590
- "configurationPanel.drillConfig.selectHierarchy": "Choose hierarchy…",
591
- "configurationPanel.drillConfig.drilldown.create.hierarchy": "Create attribute hierarchy",
592
- "attributeHierarchyEditor.untitled": "Untitled attribute hierarchy",
593
- "attributeHierarchyEditor.hierarchy.levels": "Hierarchy levels",
594
- "attributeHierarchyEditor.button.cancel": "Cancel",
595
- "attributeHierarchyEditor.button.create": "Create hierarchy",
596
- "attributeHierarchyEditor.button.save": "Save changes",
597
- "attributeHierarchyEditor.button.delete": "Delete",
598
- "attributeHierarchyEditor.delete.confirm.title": "Delete attribute hierarchy?",
599
- "attributeHierarchyEditor.delete.confirm.message": "All existing drill down interactions using this hierarchy will be removed.",
600
- "attributeHierarchyEditor.remove.attribute": "Remove",
601
- "attributeHierarchyEditor.add.attribute": "Add attribute",
602
- "attributeHierarchyEditor.add.attribute.above": "Add attribute above",
603
- "attributeHierarchyEditor.add.attribute.bellow": "Add attribute bellow",
604
- "attributeHierarchyEditor.howToWork.link": "How to work with hierarchies",
605
- "attributeHierarchyEditor.attribute.dropdown.title": "Choose attribute…",
606
- "attributeHierarchyEditor.attribute.dropdown.search": "Search…",
607
- "attributeHierarchyEditor.note.title": "Note:",
608
- "attributeHierarchyEditor.note.message": "<b>Note:</b> The attribute hierarchy you define is applied globally to all visualizations. This enables drill down interactions not just for the {br}current visualization, but for all visualizations that include any of the attributes within the hierarchy.",
609
- "attributeHierarchyEditor.howItWorks.title": "How it works",
610
- "attributeHierarchyEditor.howItWorks.message.heading": "Hierarchy is applied to all visualizations.",
611
- "attributeHierarchyEditor.message.create.success": "Great! We created the attribute hierarchy!",
612
- "attributeHierarchyEditor.message.update.success": "Great! We saved the attribute hierarchy!",
613
- "attributeHierarchyEditor.message.delete.success": "Great! We deleted the attribute hierarchy!",
614
- "attributeHierarchyEditor.message.create.failed": "Failed to create. Try again later.",
615
- "attributeHierarchyEditor.message.update.failed": "Failed to save. Try again later.",
616
- "attributeHierarchyEditor.message.delete.failed": "Failed to delete. Try again later.",
617
- "attributeHierarchyEditor.howItWorks.message.content": "Drill down interaction will be enabled to not only this visualization, but all visualization containing one of the attributes in hierarchy.",
618
- "attributeHierarchyList.tooltip.generic.date.title": "Generic date",
619
- "attributeHierarchyList.tooltip.generic.date.info": "This hierarchy is generated automatically and applies to any date dimension.",
620
- "attributeHierarchyList.tooltip.hierarchy.levels": "Hierarchy levels",
621
- "attributeHierarchyList.tooltip.button.edit": "Edit",
622
- "catalog.attribute.tooltip.hierarchy.title": "Hierarchy",
623
- "visualizationConfig.interactions.section.title": "Interactions",
624
- "visualizationConfig.interactions.section.drilldown": "Drill down",
625
- "workspaceHierarchy.lockedInsight": "Only Admins can save changes to this visualization.",
626
- "workspaceHierarchy.inheritedInsight": "You cannot edit or delete this visualization.{br}It is centrally managed and certified.",
627
- "userManagement.workspace.noMatchingItems": "No matching workspaces.",
628
- "userManagement.workspace.searchPlaceholder": "Search workspaces",
629
- "userManagement.workspace.searchError": "Failed to load workspaces. Try again later.",
630
- "userManagement.dataSource.searchError": "Failed to load data sources. Try again later.",
631
- "userManagement.workspace.emptySelection.user.view": "This user does not have permissions for any workspaces.",
632
- "userManagement.workspace.emptySelection.userGroup.view": "This group does not have permissions for any workspaces.",
633
- "userManagement.workspace.emptySelection.edit": "No workspace selected.",
634
- "userManagement.workspace.title": "Add workspace permission",
635
- "userManagement.workspace.edit.title": "Edit workspace permission",
636
- "userManagement.dataSource.searchPlaceholder": "Search data sources",
637
- "userManagement.workspace.addButton": "Add",
638
- "userManagement.userGroups.addButton": "Add",
639
- "userManagement.userGroups.cancelButton": "Cancel",
640
- "userManagement.tab.workspaces": "Workspaces ({count})",
641
- "userManagement.tab.groups": "Groups ({count})",
642
- "userManagement.tab.users": "Members ({count})",
643
- "userManagement.tab.details": "Details",
644
- "userManagement.buttons.addWorkspace": "Add workspace permission",
645
- "userManagement.buttons.addToGroup": "Add to group",
646
- "userManagement.buttons.addUser": "Add members",
647
- "userManagement.buttons.edit": "Edit",
648
- "userManagement.dataSource.title": "Add data source permission",
649
- "userManagement.tab.dataSources": "Data Sources ({count})",
650
- "userManagement.buttons.addDataSourcePermission": "Add data source permission",
651
- "userManagement.dataSources.emptySelection.view": "This user does not have permissions for any data sources.",
652
- "userManagement.dataSources.emptySelection.userGroup.view": "This group does not have permissions for any data sources.",
653
- "userManagement.dataSources.emptySelection.edit": "No data sources selected.",
654
- "userManagement.dataSources.permission.manage": "Manage",
655
- "userManagement.dataSources.permission.use": "Use",
656
- "userManagement.dataSources.permission.remove": "Remove",
657
- "userManagement.dataSources.noMatchingItems": "No matching data source.",
658
- "userManagement.users.multipleDataSources.addSuccess": "Great! You have successfully added permissions to the users.",
659
- "userManagement.userGroups.multipleDataSources.addSuccess": "Great! You have successfully added permissions to the groups.",
660
- "userManagement.users.multipleDataSources.addError": "Addition of the permission to the users failed.",
661
- "userManagement.userGroups.multipleDataSources.addError": "Addition of the permission to the groups failed.",
662
- "userManagement.dataSources.removeSuccess": "Great! You have successfully deleted the data source permission.",
663
- "userManagement.dataSources.removeError": "Deletion of the data source permission failed.",
664
- "userManagement.dataSources.changeSuccess": "Great! You have successfully changed the data source permission(s).",
665
- "userManagement.dataSources.changeError": "Change of the data source permission(s) failed.",
666
- "userManagement.users.deleteLink": "Delete user",
667
- "userManagement.userGroups.deleteLink": "Delete group",
668
- "userManagement.closeButton": "Close",
669
- "userManagement.workspace.removeSuccess": "Great! You have successfully deleted the permission.",
670
- "userManagement.workspace.removeError": "Deletion of the permission failed.",
671
- "userManagement.workspace.addSuccess": "Great! You have successfully added the workspace permission(s).",
672
- "userManagement.workspace.addError": "Addition of the workspace permission(s) failed.",
673
- "userManagement.dataSource.addSuccess": "Great! You have successfully added the data source permission(s).",
674
- "userManagement.dataSource.addError": "Addition of the data source permission(s) failed.",
675
- "userManagement.users.multipleWorkspaces.addSuccess": "Great! You have successfully added workspace permissions to the users.",
676
- "userManagement.users.multipleWorkspaces.addError": "Addition of the workspace permission to the users failed.",
677
- "userManagement.userGroups.multipleWorkspaces.addSuccess": "Great! You have successfully added workspace permissions to the groups.",
678
- "userManagement.userGroups.multipleWorkspaces.addError": "Addition of the workspace permission to the groups failed.",
679
- "userManagement.workspace.changeSuccess": "Great! You have successfully changed the workspace permission(s).",
680
- "userManagement.workspace.changeError": "Change of the workspace permission(s) failed.",
681
- "userManagement.workspace.hierarchicalPermission.yes": "Include sub-hierarchy",
682
- "userManagement.workspace.hierarchicalPermission.yes.tooltip": "Apply the permission to this workspace and all its child workspaces.",
683
- "userManagement.workspace.hierarchicalPermission.no": "This workspace",
684
- "userManagement.workspace.hierarchicalPermission.no.tooltip": "Apply the permission only to this workspace.",
685
- "userManagement.workspace.permission.view": "View",
686
- "userManagement.workspace.permissionUser.view.tooltip": "The user can view dashboards that have been shared with them.",
687
- "userManagement.workspace.permissionGroup.view.tooltip": "The group members can view dashboards that have been shared with the group.",
688
- "userManagement.workspace.permission.viewSaveViews": "View & Save Views",
689
- "userManagement.workspace.permissionUser.viewSaveViews.tooltip": "The user can view dashboards that have been shared with them and save the state of dashboard filters as personal views for future use.",
690
- "userManagement.workspace.permissionGroup.viewSaveViews.tooltip": "The group members can view dashboards that have been shared with them and save the state of dashboard filters as personal views for future use.",
691
- "userManagement.dataSources.permissionUser.use.tooltip": "The user can use data sources that have been shared with them.",
692
- "userManagement.dataSources.permissionGroup.use.tooltip": "The group members can use data sources that have been shared with the group.",
693
- "userManagement.workspace.permission.viewExport": "View & Export",
694
- "userManagement.workspace.permissionUser.viewExport.tooltip": "Covers the View permission. Additionally, the user can export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files.",
695
- "userManagement.workspace.permissionGroup.viewExport.tooltip": "Covers the View permission. Additionally, the group members can export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files.",
696
- "userManagement.workspace.permission.viewExportSaveViews": "View, Export & Save Views",
697
- "userManagement.workspace.permissionUser.viewExportSaveViews.tooltip": "Covers the View permission. Additionally, the user can create, edit, or delete dashboards and visualizations, and view the LDM and metrics. They can also export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files, and save the state of dashboard filters as personal views for future use.",
698
- "userManagement.workspace.permissionGroup.viewExportSaveViews.tooltip": "Covers the View permission. Additionally, the group members can create, edit, or delete dashboards and visualizations, and view the LDM and metrics. They can also export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files, and save the state of dashboard filters as personal views for future use.",
699
- "userManagement.workspace.permission.analyze": "Analyze",
700
- "userManagement.workspace.permissionUser.analyze.tooltip": "Covers the View and Save Views permissions. Additionally, the user can create, edit, or delete dashboards and visualizations, and view the LDM and metrics.",
701
- "userManagement.workspace.permissionGroup.analyze.tooltip": "Covers the View and Save Views permissions. Additionally, the group members can create, edit, or delete dashboards and visualizations, and view the LDM and metrics.",
702
- "userManagement.workspace.permission.analyzeExport": "Analyze & Export",
703
- "userManagement.workspace.permissionUser.analyzeExport.tooltip": "Covers the View and Save Views permissions. Additionally, the user can create, edit, or delete dashboards and visualizations, and view the LDM and metrics. They can also export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files.",
704
- "userManagement.workspace.permissionGroup.analyzeExport.tooltip": "Covers the View and Save Views permissions. Additionally, the group members can create, edit, or delete dashboards and visualizations, and view the LDM and metrics. They can also export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files.",
705
- "userManagement.workspace.permission.manage": "Manage",
706
- "userManagement.workspace.permissionUser.manage.tooltip": "Covers the View, Analyze, Export, and Save Views permissions. Additionally, the user can create, edit, or delete the logical data model and metrics, and gets unrestricted access to all dashboards and their permissions.",
707
- "userManagement.workspace.permissionGroup.manage.tooltip": "Covers the View, Analyze, Export, and Save Views permissions. Additionally, the group members can create, edit, or delete the logical data model and metrics, and gets unrestricted access to all dashboards and their permissions.",
708
- "userManagement.dataSources.permissionUser.manage.tooltip": "User can create, edit or delete the data sources.",
709
- "userManagement.dataSources.permissionGroup.manage.tooltip": "Group members can create, edit or delete the data sources.",
710
- "userManagement.workspace.permission.export": "Exports",
711
- "userManagement.workspace.permission.export.tooltip": "Adds EXPORT permission to export dashboards and visualizations in various formats.",
712
- "userManagement.workspace.permission.exportTabular": "Export XLSX and CSV",
713
- "userManagement.workspace.permission.exportTabular.tooltip": "Adds EXPORT_TABULAR permission to export dashboards and visualizations in CSV and XLSX formats.",
714
- "userManagement.workspace.permission.exportPdf": "Export PDF",
715
- "userManagement.workspace.permission.exportPdf.tooltip": "Adds EXPORT_PDF permission to export dashboards and visualizations as PDF files.",
716
- "userManagement.workspace.permission.createFilterView": "Saved filter views",
717
- "userManagement.workspace.permission.createFilterView.tooltip": "Adds CREATE_FILTER_VIEW permission to create and save dashboard filter combinations for quick reuse.",
718
- "userManagement.workspace.permission.createAutomation": "Alerts and scheduled exports",
719
- "userManagement.workspace.permission.createAutomation.tooltip": "Adds CREATE_AUTOMATIONS permission to create automated alerts and scheduled exports.",
720
- "userManagement.workspace.permission.useAiAssistant": "AI Assistant",
721
- "userManagement.workspace.permission.useAiAssistant.tooltip": "Adds USE_AI_ASSISTANT permission to access and interact with the AI chatbot for analytics questions.",
722
- "userManagement.workspace.granularPermission.noWorkspace": "No workspace selected",
723
- "userManagement.workspace.granularPermission.hierarchy": "Include child workspaces",
724
- "userManagement.workspace.granularPermission.hierarchy.tooltip": "Applies the permission to this workspace and all its child workspaces.",
725
- "userManagement.workspace.granularPermission.workspaceAccess.title": "Workspace access",
726
- "userManagement.workspace.granularPermission.additionalAccess.title": "Additional permissions",
727
- "userManagement.workspace.granularPermission.help": "Learn about workspace permissions",
728
- "userManagement.workspace.granularPermission.view.description": "Allows users to view dashboards that have been shared with them or their user group.",
729
- "userManagement.workspace.granularPermission.analyze.description": "Allows users to create, edit, or delete dashboards and visualizations, alongside viewing the Logical Data Model (LDM) and metrics.",
730
- "userManagement.workspace.granularPermission.manage.description": "Allows users can to, edit or delete the logical data model and metrics, and access all dashboards and edit their dashboard permissions without limitations.",
731
- "userManagement.workspace.granularPermission.warning": "<b>Caution:</b> This action will remove any redundant combinations.",
732
- "userManagement.workspace.permission.remove": "Remove",
733
- "userManagement.workspace.permission.and": "and",
734
- "userManagement.groupDetail.id.label": "ID",
735
- "userManagement.groupDetail.name.label": "Name",
736
- "userManagement.userDetail.firstName.label": "First name",
737
- "userManagement.userDetail.lastName.label": "Last name",
738
- "userManagement.userDetail.email.label": "E-mail",
739
- "userManagement.userDetail.orgPermission.label": "Org. permission",
740
- "userManagement.detail.orgPermission.admin": "Admin",
741
- "userManagement.detail.orgPermission.admin.tooltip": "Organization administrator. This user has access to any protected action or resource.",
742
- "userManagement.detail.orgPermission.member": "Member",
743
- "userManagement.detail.orgPermission.member.tooltip": "Organization member. This user has access to action or resource to which he has permission to.",
744
- "userManagement.userDetail.id.label": "ID",
745
- "userManagement.userDetail.emptyValue": "not set",
746
- "userManagement.userGroups.emptySelection.view": "This user is not a member of any groups.",
747
- "userManagement.userGroups.emptySelection.edit": "No groups selected.",
748
- "userManagement.userDetail.saveButton": "Save",
749
- "userManagement.userDetail.cancelButton": "Cancel",
750
- "userManagement.groupDetail.saveButton": "Save",
751
- "userManagement.groupDetail.cancelButton": "Cancel",
752
- "userManagement.userDetails.updatedSuccess": "Great! You have successfully changed the user details.",
753
- "userManagement.userDetails.updatedFailure": "Change of the user details failed.",
754
- "userManagement.groupDetails.updatedSuccess": "Great! You have successfully changed the group details.",
755
- "userManagement.groupDetails.updatedFailure": "Change of the user details group failed.",
756
- "userManagement.userGroup.addSuccess": "Great! You have successfully added the group(s).",
757
- "userManagement.userGroup.addError": "Addition of the group(s) failed.",
758
- "userManagement.multipleUserGroup.addSuccess": "Great! You have successfully added users to the group.",
759
- "userManagement.multipleUserGroup.addError": "Addition of the users to groups failed.",
760
- "userManagement.userGroups.title": "Add to group",
761
- "userManagement.userGroups.noMatchingItems": "No matching group.",
762
- "userManagement.userGroups.searchPlaceholder": "Search groups",
763
- "userManagement.userGroups.searchError": "Failed to load groups. Try again later.",
764
- "userManagement.userGroup.removeSuccess": "Great! You have successfully removed the group.",
765
- "userManagement.userGroup.removeFailure": "Removal of the group failed.",
766
- "userManagement.userGroups.removeSuccess": "Great! You have successfully deleted the group.",
767
- "userManagement.userGroups.removeFailure": "Deletion of the group failed.",
768
- "userManagement.userGroups.removeTooltip": "Remove group from the user.",
769
- "userManagement.userGroups.removeDisabledTooltip": "The group cannot be removed from the user.",
770
- "userManagement.deleteDialog.user.title": "Delete user?",
771
- "userManagement.deleteDialog.user.body": "The user will be irreversibly deleted, but their visualizations and dashboards will remain unaffected.",
772
- "userManagement.deleteDialog.user.disabledTooltip": "User cannot be deleted.",
773
- "userManagement.deleteDialog.userGroup.adminDisabledTooltip": "This group cannot be deleted.",
774
- "userManagement.deleteDialog.userGroup.nonEmptyDisabledTooltip": "This group cannot be deleted, because it contains members. ",
775
- "userManagement.deleteDialog.multipleUsers.title": "Delete users?",
776
- "userManagement.deleteDialog.multipleUsers.body": "<b>{count} users</b> will be irreversibly deleted, but their visualizations and dashboards will remain unaffected.",
777
- "userManagement.deleteDialog.group.title": "Delete group?",
778
- "userManagement.deleteDialog.group.body": "The group will be irreversibly deleted. All its members will lose the rights defined by the group's permissions.",
779
- "userManagement.deleteDialog.multipleGroups.title": "Delete groups?",
780
- "userManagement.deleteDialog.multipleGroups.body": "<b>{count} groups</b> will be irreversibly deleted. All their members will lose the rights defined by the group-specific permissions.",
781
- "userManagement.deleteDialog.cancelButton": "Cancel",
782
- "userManagement.deleteDialog.confirmButton": "Delete",
783
- "userManagement.userGroups.deleteSuccess": "Great! You have successfully deleted the group.",
784
- "userManagement.userGroups.deleteFailure": "Deletion of the group failed.",
785
- "userManagement.multipleUserGroups.deleteSuccess": "Great! You have successfully deleted the groups.",
786
- "userManagement.multipleUserGroups.deleteFailure": "Deletion of the groups failed.",
787
- "userManagement.createUserGroup.createSuccess": "Great! You have successfully created the group.",
788
- "userManagement.createUserGroup.createFailure": "Creation of the group failed.",
789
- "userManagement.users.loadingError.title": "Can't open user",
790
- "userManagement.users.loadingError.notExist": "The user you are trying to view does not exist.",
791
- "userManagement.users.loadingError.unknown": "The user you are trying to view cannot be loaded.",
792
- "userManagement.userGroups.loadingError.title": "Can't open group",
793
- "userManagement.userGroups.loadingError.notExist": "The group you are trying to view does not exist.",
794
- "userManagement.userGroups.loadingError.unknown": "The group you are trying to view cannot be loaded.",
795
- "userManagement.users.deleteSuccess": "Great! You have successfully deleted the user.",
796
- "userManagement.users.deleteFailure": "Deletion of the user failed.",
797
- "userManagement.multipleUsers.deleteSuccess": "Great! You have successfully deleted the users.",
798
- "userManagement.multipleUsers.deleteFailure": "Deletion of the users failed.",
799
- "userManagement.users.searchError": "Failed to load users. Try again later.",
800
- "userManagement.users.emptySelection.view": "This group does not have any members.",
801
- "userManagement.users.emptySelection.edit": "No users selected.",
802
- "userManagement.users.removeUserFromGroup": "Remove user from the group.",
803
- "userManagement.users.removeUserFromGroupDisabledTooltip": "This user cannot be removed the group.",
804
- "userManagement.users.removeUserFromSelection": "Remove.",
805
- "userManagement.userGroups.removeUserGroupFromSelection": "Remove.",
806
- "userManagement.users.noMatchingItems": "No matching user.",
807
- "userManagement.users.searchPlaceholder": "Search users",
808
- "userManagement.users.title": "Add group members",
809
- "userManagement.users.cancelButton": "Cancel",
810
- "userManagement.users.addButton": "Add",
811
- "userManagement.users.addSuccess": "Great! You have successfully added users to the group.",
812
- "userManagement.users.addFailure": "Addition of the users to the group failed.",
813
- "userManagement.users.addToUserGroupsSuccess": "Great! You have successfully added users to the groups.",
814
- "userManagement.users.addToUserGroupsFailure": "Addition of the users to groups failed.",
815
- "userManagement.users.removeSuccess": "Great! You have successfully removed the user(s).",
816
- "userManagement.users.removeFailure": "Removal of the user(s) failed.",
817
- "userManagement.buttons.close": "Close",
818
- "userManagement.admin.alert": "Admins have full access to all workspaces, resources, and actions.",
819
- "userManagement.adminGroup.alert": "Members have full access to all workspaces, resources, and actions.",
820
- "userManagement.admin.pill": "Admin",
821
- "userManagement.createUserGroup.createButton": "Create",
822
- "userManagement.createUserGroup.cancelButton": "Cancel",
823
- "userManagement.createUserGroup.dialogTitle": "Create group",
824
- "userManagement.createUserGroup.inputPlaceholder": "Name",
825
- "richText.placeholder": "Use Markdown to style text and reference data:",
826
- "richText.tooltip": "You can use Markdown syntax to style the description:",
827
- "richText.no_data": "No data",
828
- "richText.multiple_data": "Multiple items",
829
- "richText.no_fetch": "Data could not be retrieved",
830
- "recurrence.starts": "Starts on",
831
- "recurrence.repeats": "Repeats",
832
- "recurrence.types.hourly": "Hourly",
833
- "recurrence.types.daily": "Daily",
834
- "recurrence.types.weekly": "Weekly on {day}",
835
- "recurrence.types.monthly.last": "Monthly on the last {day}",
836
- "recurrence.types.monthly.first": "Monthly on the first day",
837
- "recurrence.types.weekly.first": "Weekly on the first day",
838
- "recurrence.types.monthly": "Monthly on the {week, select, 1 {first} 2 {second} 3 {third} 4 {fourth} other {last}} {day}",
839
- "recurrence.types.cron": "Cron expression",
840
- "recurrence.types.inherit": "Organization default",
841
- "recurrence.types.inherit.info": "Use the default evaluation frequency set by your organization.",
842
- "recurrence.description.hourly": "At start of every hour",
843
- "recurrence.description.daily": "At {hour} every day",
844
- "recurrence.description.weekly_first": "At {hour} every week start",
845
- "recurrence.description.weekly": "At {hour} on {dayOfWeekName} every week",
846
- "recurrence.description.monthly_first": "At {hour} every month start",
847
- "recurrence.description.monthly": "At {hour} on {dayOfWeekName} every {weekNumber}. week in month",
848
- "recurrence.error.too_often": "Error: Frequency too high — reduce to max 1 per hour",
849
- "recurrence.error.empty": "Error: Required field — enter a Spring cron expression with six fields: seconds, minutes, hours, day of month, month, and day of week. <a>Learn more</a>",
850
- "recurrence.error.wrongFormat": "Error: Invalid format use Spring cron format with six fields: seconds, minutes, hours, day of month, month, and day of week. <a>Learn more</a>",
851
- "recurrence.cron.tooltip": "Use Spring cron format — six fields: seconds, minutes, hours, day of month, month, day of week. <a>Learn more</a>",
852
- "recurrence.datetime.format.help": "Format: {dateFormat}",
853
- "recurrence.datetime.timezone.help": "{timezone} timezone",
854
- "recurrence.datetime.empty.error": "Error: Required field enter a valid date to continue.",
855
- "recurrence.datetime.wrong.format.error": "Error: Invalid date — format must be {dateFormat}",
856
- "message.accessibility.dismiss.notification": "Dismiss notification",
857
- "datePicker.accessibility.label": "Select start date",
858
- "timePicker.accessibility.label": "Select starting time",
859
- "menu.close": "Close menu",
860
- "menu.back": "Back to the parent menu",
861
- "table.title.searchPlaceholder": "Search...",
862
- "table.filter.label": "Filter",
863
- "table.filter.searchPlaceholder": "Search...",
864
- "table.filter.optionAll": "All",
865
- "table.filter.optionApply": "Apply",
866
- "table.filter.optionCancel": "Cancel",
867
- "table.filter.error.tooLarge": "<strong>Error:</strong> Selection across filters too large — deselect some values and try again.",
868
- "table.header.ariaLabel": "Header",
869
- "table.header.checkbox.ariaLabel": "Select action",
870
- "table.header.menu.ariaLabel": "Actions",
871
- "table.bulkActions.chooseAction": "Choose an action...",
872
- "table.bulkActions.selectedCount": "{selectedCount} of {totalCount} selected",
873
- "table.bulkActions.selectedCountShort": "{selectedCount} selected",
874
- "table.bulkActions.selectAll": "Select all",
875
- "table.bulkActions.selectedFiltersCount": "{selectedCount} selected",
876
- "table.emptyState.noMatch": "No match found",
877
- "table.emptyState.tryAdjustingFilters": "Check the spelling or adjust filters.",
878
- "tabs.all": "All",
879
- "tabs.actions": "Actions for the current tab",
880
- "tabs.showAllTabs": "Show all tabs",
881
- "tabs.allTabsListLabel.withActions": "List of all tabs. Use the right arrow key to move to the tab actions menu.",
882
- "tabs.allTabsListLabel.noActions": "List of all tabs",
883
- "messages.accessibility.noMessages": "No messages",
884
- "messages.accessibility.partial.error": "{count, plural, one {# error} other {# errors}}",
885
- "messages.accessibility.partial.warning": "{count, plural, one {# warning} other {# warnings}}",
886
- "messages.accessibility.partial.success": "{count, plural, one {# success} other {# successes}}",
887
- "messages.accessibility.partial.progress": "{count, plural, one {# progress} other {# progresses}}",
888
- "messages.accessibility.label": "{count, plural, one {# message} other {# messages}}: {partial}",
889
- "search.results.none": "No results match.",
890
- "search.results.few": "{count, plural, one {# result} other {# results}}: {values}",
891
- "search.results.many": "{count} results",
892
- "dialogs.export.pdf.headline": "Export settings (.pdf)",
893
- "dialogs.export.pdf.includePageExportInfo": "Include page export info",
894
- "dialogs.export.pdf.pageOrientation": "Orientation",
895
- "dialogs.export.pdf.pageSize": "Page size",
896
- "dialogs.export.pdf.pageSize.option.a3": "A3",
897
- "dialogs.export.pdf.pageSize.option.a4": "A4",
898
- "dialogs.export.pdf.pageSize.option.letter": "Letter",
899
- "dialogs.export.pdf.pageOrientation.option.portrait": "Portrait",
900
- "dialogs.export.pdf.pageOrientation.option.landscape": "Landscape",
901
- "dialogs.export.submit": "Export",
902
- "gs.header.mainMenu.ariaLabel": "Main menu"
4
+ "empty_value": {
5
+ "text": "empty value",
6
+ "crowdinContext": "Text displayed when a data field has no value. Used throughout the application to represent null or undefined values in data displays and tables."
7
+ },
8
+ "gs.date.at": {
9
+ "text": "at",
10
+ "crowdinContext": "Preposition used for connecting date and time expressions, e.g., 'January 1, 2023 at 3:00 PM'. Used in various date-time displays throughout the application."
11
+ },
12
+ "gs.time": {
13
+ "text": "time",
14
+ "crowdinContext": "Global string for displaying time units or labels. Used in various time-related components or expressions, such as 'Meeting time' or timestamp displays."
15
+ },
16
+ "gs.header.help": {
17
+ "text": "Help",
18
+ "crowdinContext": "Label for the help button in the global application header. Clicking this opens the help menu or documentation."
19
+ },
20
+ "gs.header.help.label": {
21
+ "text": "Help links",
22
+ "crowdinContext": "ARIA label for the help links section in the help menu. Used for accessibility purposes to describe the collection of help-related links."
23
+ },
24
+ "gs.header.search": {
25
+ "text": "Search",
26
+ "crowdinContext": "A global semantic search button label in the main menu"
27
+ },
28
+ "gs.header.ai": {
29
+ "text": "Open AI Assistant",
30
+ "crowdinContext": "A global open AI Assistant button label in the main menu"
31
+ },
32
+ "gs.header.ai.mobile": {
33
+ "text": "AI Assistant",
34
+ "crowdinContext": "A global open AI Assistant button label in the main menu"
35
+ },
36
+ "gs.header.logo.title.accessibility": {
37
+ "text": "{organizationName} logo",
38
+ "crowdinContext": "Accessibility text for the application logo in the header. Used by screen readers to identify the logo element."
39
+ },
40
+ "gs.header.href.accessibility": {
41
+ "text": "Go to homepage",
42
+ "crowdinContext": "Accessibility text describing the action of clicking the application logo in the header, which navigates to the homepage."
43
+ },
44
+ "gs.header.accessibility.label": {
45
+ "text": "Global application header",
46
+ "crowdinContext": "ARIA label for the main header section of the application. Used by screen readers to identify the header area."
47
+ },
48
+ "gs.header.menu.accessibility.label": {
49
+ "text": "Global navigation",
50
+ "crowdinContext": "ARIA label for the primary navigation menu in the header. Used by screen readers to identify the main navigation area."
51
+ },
52
+ "gs.header.notifications": {
53
+ "text": "Notifications",
54
+ "crowdinContext": "A global notifications button label in the main menu"
55
+ },
56
+ "gs.header.logout": {
57
+ "text": "Logout",
58
+ "crowdinContext": "Label for the logout button in the user menu. Clicking this signs the user out of their current session."
59
+ },
60
+ "gs.header.menu": {
61
+ "text": "Menu",
62
+ "crowdinContext": "Label for the menu title in vertical mobile menu."
63
+ },
64
+ "gs.header.workspaceSettings": {
65
+ "text": "Workspace settings",
66
+ "crowdinContext": "Label for the workspace settings option in the user menu. Clicking this navigates to the workspace configuration page."
67
+ },
68
+ "gs.header.account.title": {
69
+ "text": "Account",
70
+ "crowdinContext": "Title for the user account menu in the header. Displays user-related options like profile settings and logout."
71
+ },
72
+ "gs.list.all": {
73
+ "text": "All",
74
+ "crowdinContext": "Option in filter controls to select all items. Used in various dropdown lists and filter components."
75
+ },
76
+ "gs.list.allAndCount": {
77
+ "text": "All ({count})",
78
+ "crowdinContext": "Label for option in filter controls to select all items with count."
79
+ },
80
+ "gs.list.allSearchResultsAndCount": {
81
+ "text": "All search results ({count})",
82
+ "crowdinContext": "Label for option in filter controls to select all search results."
83
+ },
84
+ "gs.list.except": {
85
+ "text": "except",
86
+ "crowdinContext": "Used in filter expressions to indicate exclusion, e.g., 'All except [selected items]'. Appears in filter components."
87
+ },
88
+ "gs.list.is": {
89
+ "text": "is",
90
+ "crowdinContext": "Used in filter expressions to indicate equality, e.g., 'Product is Shoes'. Appears in filter component descriptions."
91
+ },
92
+ "gs.list.search.placeholder": {
93
+ "text": "Search…",
94
+ "crowdinContext": "Placeholder text displayed in search input fields within list components, prompting users to enter search terms."
95
+ },
96
+ "gs.list.acessibility.search.label": {
97
+ "text": "Search attribute values",
98
+ "crowdinContext": "ARIA label for search input fields in attribute filter components. Used by screen readers to identify the search functionality."
99
+ },
100
+ "gs.list.notAvailableAbbreviation": {
101
+ "text": "N/A",
102
+ "crowdinContext": "Stands for 'Not Available"
103
+ },
104
+ "gs.list.searchResults": {
105
+ "text": "search results",
106
+ "crowdinContext": "Label for indicating search results in filter dropdowns and list components. Used in phrases like '5 search results'."
107
+ },
108
+ "gs.visualizationsList.loading": {
109
+ "text": "Loading…",
110
+ "crowdinContext": "Loading indicator text shown while visualizations or data are being fetched or processed."
111
+ },
112
+ "gs.color-picker.inputPlaceholder": {
113
+ "text": "#color",
114
+ "crowdinContext": "Placeholder text in the color input field, showing the expected format for hexadecimal color codes."
115
+ },
116
+ "gs.color-picker.currentColor": {
117
+ "text": "current",
118
+ "crowdinContext": "Label for the currently selected color in the color picker component. Appears next to the color swatch."
119
+ },
120
+ "gs.color-picker.newColor": {
121
+ "text": "new",
122
+ "crowdinContext": "Label for the newly selected color in the color picker component. Appears next to the new color swatch being chosen."
123
+ },
124
+ "gs.color-picker.cancelButton": {
125
+ "text": "Cancel",
126
+ "crowdinContext": "Label for the cancel button in the color picker dialog. Clicking this discards color changes and closes the dialog."
127
+ },
128
+ "gs.color-picker.okButton": {
129
+ "text": "OK",
130
+ "crowdinContext": "Label for the OK/confirm button in the color picker dialog. Clicking this applies the selected color and closes the dialog."
131
+ },
132
+ "gs.color-picker.hex": {
133
+ "text": "hex",
134
+ "crowdinContext": "label that inidicates that user should enter hexadecimal color value, e.g. #C0D6E4"
135
+ },
136
+ "gs.noData.noMatchingData": {
137
+ "text": "No matching data",
138
+ "crowdinContext": "Message displayed when no data matches the current filter criteria in visualizations or data views."
139
+ },
140
+ "gs.noData.noDataAvailable": {
141
+ "text": "No matching data",
142
+ "crowdinContext": "Message displayed when no data is available for the current visualization or view based on the applied filters or data configuration."
143
+ },
144
+ "geochart.scroll.zoom.blocker": {
145
+ "text": "Use {button} + scroll to zoom the map",
146
+ "crowdinContext": "This message will appear when map zooming on GeoChart is disabled and available only, while the button is pressed."
147
+ },
148
+ "geochart.touch.pan.blocker": {
149
+ "text": "Use two fingers to move the map",
150
+ "crowdinContext": "This message will appear when moving map on GeoChart is disabled by one finger and available only with two."
151
+ },
152
+ "visualizations.of": {
153
+ "text": "{page} of {pagesCount}",
154
+ "crowdinContext": "Pagination indicator showing current page number and total pages (e.g., '2 of 5'). The {page} and {pagesCount} placeholders will be replaced with actual numbers."
155
+ },
156
+ "visualizations.totals.dropdown.title.sum": {
157
+ "text": "Sum",
158
+ "crowdinContext": "Total of type 'Sum'. Showed in menu before adding to table."
159
+ },
160
+ "visualizations.totals.dropdown.title.avg": {
161
+ "text": "Avg",
162
+ "crowdinContext": "Total of type 'Avg'. Showed in menu before adding to table."
163
+ },
164
+ "visualizations.totals.dropdown.title.min": {
165
+ "text": "Min",
166
+ "crowdinContext": "Total of type 'Min'. Showed in menu before adding to table."
167
+ },
168
+ "visualizations.totals.dropdown.title.max": {
169
+ "text": "Max",
170
+ "crowdinContext": "Total of type 'Max'. Showed in menu before adding to table."
171
+ },
172
+ "visualizations.totals.dropdown.title.nat": {
173
+ "text": "Rollup (Total)",
174
+ "crowdinContext": "Total of type 'Rollup' where 'Total' is hint and synonym. Showed in menu before adding to table."
175
+ },
176
+ "visualizations.totals.dropdown.tooltip.nat.disabled.mvf": {
177
+ "text": "Rollup (Total) aggregation is not available when filtering the visualization by metric value. To use Rollup (Total), remove all metric value filters from the filter bar.",
178
+ "crowdinContext": "The tooltip that is shown in pivot's table totals menu when rollup (native) total is disabled because metric value filters are configured for the pivot."
179
+ },
180
+ "visualizations.totals.dropdown.tooltip.nat.disabled.ranking": {
181
+ "text": "Rollup (Total) aggregation is not available when filtering the visualization by ranking filter. To use Rollup (Total), remove ranking filter from the filter bar.",
182
+ "crowdinContext": "The tooltip that is shown in pivot's table totals menu when rollup (native) total is disabled because ranking filters are configured for the pivot."
183
+ },
184
+ "visualizations.totals.dropdown.title.med": {
185
+ "text": "Median",
186
+ "crowdinContext": "Total of type 'Median'. Showed in menu before adding to table."
187
+ },
188
+ "visualizations.headline.tertiary.title": {
189
+ "text": "Versus",
190
+ "crowdinContext": "Means comparison of two values - for example '100 (this week) VERSUS 10 (last week)'."
191
+ },
192
+ "visualizations.headline.comparison.title.change": {
193
+ "text": "Change",
194
+ "crowdinContext": "The label of the dropdown option that specifies the arithmetic operation to calculate the change between two values."
195
+ },
196
+ "visualizations.headline.comparison.title.change.positive": {
197
+ "text": "Increase",
198
+ "crowdinContext": "The label will be used when the arithmetic operation is `change` and primary value is greater then secondary value."
199
+ },
200
+ "visualizations.headline.comparison.title.change.negative": {
201
+ "text": "Decrease",
202
+ "crowdinContext": "The label will be used when the arithmetic operation is `change` and primary value is less then secondary value."
203
+ },
204
+ "visualizations.headline.comparison.title.change.equals": {
205
+ "text": "No change",
206
+ "crowdinContext": "The label will be used when the arithmetic operation is `change` and primary value is equals secondary value."
207
+ },
208
+ "visualizations.headline.comparison.title.ratio": {
209
+ "text": "of",
210
+ "crowdinContext": "The label of the dropdown option that specifies the arithmetic operation to calculate the the ratio between two values."
211
+ },
212
+ "visualizations.headline.comparison.title.difference": {
213
+ "text": "Difference",
214
+ "crowdinContext": "The label of the dropdown option that specifies the arithmetic operation to calculate the difference between two values."
215
+ },
216
+ "visualizations.headline.comparison.title.difference.positive": {
217
+ "text": "Increase",
218
+ "crowdinContext": "The label will be used when the arithmetic operation is `difference` and primary value is greater then secondary value."
219
+ },
220
+ "visualizations.headline.comparison.title.difference.negative": {
221
+ "text": "Decrease",
222
+ "crowdinContext": "The label will be used when the arithmetic operation is `difference` and primary value is less then secondary value."
223
+ },
224
+ "visualizations.headline.comparison.title.difference.equals": {
225
+ "text": "No difference",
226
+ "crowdinContext": "The label will be used when the arithmetic operation is `difference` and primary value is equals secondary value."
227
+ },
228
+ "visualizations.headline.pagination.next.metricLabel": {
229
+ "text": "Show next comparative metric",
230
+ "crowdinContext": "Accessibility label for the button that shows the next comparative metric in the headline visualization. Used by screen readers."
231
+ },
232
+ "visualizations.headline.pagination.previous.metricLabel": {
233
+ "text": "Show previous comparative metric",
234
+ "crowdinContext": "Accessibility label for the button that shows the previous comparative metric in the headline visualization. Used by screen readers."
235
+ },
236
+ "visualizations.headline.pagination.drill.hint": {
237
+ "text": "Drilling available. Press Enter or Space to continue.",
238
+ "crowdinContext": "Accessibility hint informing users that they can drill into the visualization by pressing Enter or Space. Used by screen readers."
239
+ },
240
+ "visualizations.headline.comparison.ariaLabel.singleValuePositiveChange": {
241
+ "text": "up {mainValue}",
242
+ "crowdinContext": "Screen reader text for upward trend arrow in headline comparison. Announced with the value, e.g., 'up 100%'. Do not translate placeholder {mainValue}. It will be replaced with a value in the real time."
243
+ },
244
+ "visualizations.headline.comparison.ariaLabel.singleValueNegativeChange": {
245
+ "text": "down {mainValue}",
246
+ "crowdinContext": "Screen reader text for downward trend arrow in headline comparison. Announced with the value, e.g., 'down 25%'. Do not translate placeholder {mainValue}. It will be replaced with a value in the real time."
247
+ },
248
+ "visualizations.headline.comparison.ariaLabel.twoValuesPositiveChange": {
249
+ "text": "up {mainValue} (the difference is {secondaryValue})",
250
+ "crowdinContext": "Screen reader text for upward trend arrow in headline comparison. Announced with the value, e.g., 'up 100% (the difference is 254)'. Do not translate placeholders {mainValue} and {secondaryValue}. It will be replaced with a value in the real time."
251
+ },
252
+ "visualizations.headline.comparison.ariaLabel.twoValuesNegativeChange": {
253
+ "text": "down {mainValue} (the difference is {secondaryValue})",
254
+ "crowdinContext": "Screen reader text for downward trend arrow in headline comparison. Announced with the value, e.g., 'down 25% (the difference is 15258)'. Do not translate placeholders {mainValue} and {secondaryValue}. It will be replaced with a value in the real time."
255
+ },
256
+ "visualizations.headline.comparison.ariaLabel.twoValues": {
257
+ "text": "{mainValue} (the difference is {secondaryValue})",
258
+ "crowdinContext": "Screen reader text for headline comparison. Announced with the value, e.g., '100% (the difference is 254)'. Do not translate placeholders {mainValue} and {secondaryValue}. It will be replaced with a value in the real time."
259
+ },
260
+ "visualization.numericValues.k": {
261
+ "text": "k",
262
+ "crowdinContext": "Character 'k' stands for metric prefix kilo (1.000)."
263
+ },
264
+ "visualization.numericValues.m": {
265
+ "text": "M",
266
+ "crowdinContext": "Character 'M' stands for metric prefix mega (1.000.000)."
267
+ },
268
+ "visualization.numericValues.g": {
269
+ "text": "G",
270
+ "crowdinContext": "Character 'G' stands for metric prefix giga (1.000.000.000)."
271
+ },
272
+ "visualization.numericValues.t": {
273
+ "text": "T",
274
+ "crowdinContext": "Character 'T' stands for metric prefix tera (1.000.000.000.000)."
275
+ },
276
+ "visualization.numericValues.p": {
277
+ "text": "P",
278
+ "crowdinContext": "Character 'P' stands for metric prefix peta (1.000.000.000.000.000)."
279
+ },
280
+ "visualization.numericValues.e": {
281
+ "text": "E",
282
+ "crowdinContext": "Character 'E' stands for metric prefix exa (1.000.000.000.000.000.000)."
283
+ },
284
+ "visualization.emptyValue": {
285
+ "text": "empty value",
286
+ "crowdinContext": "Text displayed when a data field has no value in visualizations. Used to represent null or undefined values."
287
+ },
288
+ "visualization.waterfall.total": {
289
+ "text": "Total",
290
+ "crowdinContext": "The default name for the waterfall total column"
291
+ },
292
+ "visualization.cluster": {
293
+ "text": "Cluster",
294
+ "crowdinContext": "The default title for the cluster group"
295
+ },
296
+ "visualization.ErrorMessageGeneric": {
297
+ "text": "Sorry, we can't display this visualization",
298
+ "crowdinContext": "Generic error message shown when a visualization cannot be displayed due to an unspecified technical issue."
299
+ },
300
+ "visualization.ErrorDescriptionGeneric": {
301
+ "text": "Contact your administrator.",
302
+ "crowdinContext": "Follow-up instruction text shown below error messages, advising the user to contact an administrator for help."
303
+ },
304
+ "visualization.ErrorMessageDataTooLarge": {
305
+ "text": "Too many data points to display",
306
+ "crowdinContext": "Error message shown when visualization cannot be rendered because the dataset is too large for the visualization engine to process."
307
+ },
308
+ "visualization.ErrorDescriptionDataTooLarge": {
309
+ "text": "Try applying filters.",
310
+ "crowdinContext": "Suggestion shown below the 'Too many data points' error message, advising users to reduce the dataset size by applying filters."
311
+ },
312
+ "visualization.ErrorMessageNoData": {
313
+ "text": "No data",
314
+ "crowdinContext": "Error message shown when the visualization has no data to display, typically because filters exclude all data or the dataset is empty."
315
+ },
316
+ "visualization.ErrorDescriptionNoData": {
317
+ "text": "No data for your filter selection.",
318
+ "crowdinContext": "Explanation shown below the 'No data' error message, indicating that the current filter selection results in no data to display."
319
+ },
320
+ "visualization.ErrorMessageKpi": {
321
+ "text": "Error",
322
+ "crowdinContext": "Generic error indicator text shown in KPI (Key Performance Indicator) visualizations when they cannot be displayed properly."
323
+ },
324
+ "visualization.ErrorMessageUnauthorized": {
325
+ "text": "Unauthorized",
326
+ "crowdinContext": "Error message shown when the user does not have permission to view the requested visualization or data."
327
+ },
328
+ "visualization.ErrorDescriptionUnauthorized": {
329
+ "text": "Sorry you don't have access to this visualization. Login or ask your administrator to grant you permissions.",
330
+ "crowdinContext": "Explanation shown when the user lacks permissions to view a visualization, providing instructions for resolution."
331
+ },
332
+ "visualization.ErrorMessageNotFound": {
333
+ "text": "Sorry, we can't find this visualization",
334
+ "crowdinContext": "Error message shown when the requested visualization cannot be found, typically because it has been deleted or the URL is incorrect."
335
+ },
336
+ "visualization.ErrorDescriptionNotFound": {
337
+ "text": "The visualization with this URL does not exist.",
338
+ "crowdinContext": "Explanation shown when a visualization cannot be found, indicating that no visualization exists with the requested identifier."
339
+ },
340
+ "visualization.ErrorMessageResultCacheMissing": {
341
+ "text": "Visualization needs refresh",
342
+ "crowdinContext": "Error message shown when a visualization cannot reuse its cached execution result because it was cleared from the backend result cache."
343
+ },
344
+ "visualization.ErrorDescriptionResultCacheMissing": {
345
+ "text": "The underlying data changed or expired. Refresh the page.",
346
+ "crowdinContext": "Follow-up text shown under the 'result is no longer available' error message, instructing the user to rerun the execution to obtain fresh data."
347
+ },
348
+ "visualization.ErrorDescriptionMissingMapboxToken": {
349
+ "text": "The Geochart configuration requires a valid API access token.",
350
+ "crowdinContext": "Error message shown when trying to display a geographic visualization without having a valid Mapbox API token configured."
351
+ },
352
+ "visualization.tooltip.resetZoom": {
353
+ "text": "Reset zoom",
354
+ "crowdinContext": "Button tooltip for resetting the zoom level to default in visualizations that support zooming, like charts and maps."
355
+ },
356
+ "visualization.tooltip.interaction": {
357
+ "text": "Click chart to drill",
358
+ "crowdinContext": "Informational tooltip that appears over charts, informing users they can click to drill down for more detailed data."
359
+ },
360
+ "visualization.tooltip.generic.interaction": {
361
+ "text": "Click to drill or filter",
362
+ "crowdinContext": "Informational tooltip that appears over interactive visualization elements, indicating users can click for drilling or filtering actions."
363
+ },
364
+ "gs.filterLabel.all": {
365
+ "text": "All",
366
+ "crowdinContext": "Filter option label indicating that all available items or values are selected in a filter control."
367
+ },
368
+ "gs.filterLabel.none": {
369
+ "text": "None",
370
+ "crowdinContext": "Filter option label indicating that no items or values are selected in a filter control."
371
+ },
372
+ "gs.filter.loading": {
373
+ "text": "Loading filter…",
374
+ "crowdinContext": "Loading indicator text shown when filter values are being loaded from the server. The ellipsis (…) indicates an in-progress operation."
375
+ },
376
+ "gs.filter.error": {
377
+ "text": "Error when loading filter.",
378
+ "crowdinContext": "Error message displayed when a filter component fails to load its values from the server."
379
+ },
380
+ "gs.filter.error.tooltip": {
381
+ "text": "Error. Values cannot be loaded.",
382
+ "crowdinContext": "Tooltip shown when hovering over a filter that encountered an error when trying to load its values."
383
+ },
384
+ "gs.list.clear": {
385
+ "text": "Clear",
386
+ "crowdinContext": "Button label for clearing all selections in a list or filter component, returning it to empty state."
387
+ },
388
+ "gs.list.cancel": {
389
+ "text": "Cancel",
390
+ "crowdinContext": "Button label for canceling the current operation in list or filter components and returning to the previous state."
391
+ },
392
+ "gs.list.apply": {
393
+ "text": "Apply",
394
+ "crowdinContext": "Button label for applying selected filters or options in list or filter components."
395
+ },
396
+ "gs.list.only": {
397
+ "text": "Only",
398
+ "crowdinContext": "Label used in filter expressions to indicate exclusive selection, e.g., 'Only Product A'."
399
+ },
400
+ "gs.list.selectAll": {
401
+ "text": "Select all",
402
+ "crowdinContext": "Button or option label that allows users to select all available items in a list or filter component."
403
+ },
404
+ "gs.list.limitExceeded": {
405
+ "text": "Sorry, you have exceeded the limit ({limit}).",
406
+ "crowdinContext": "Error message shown when a user exceeds the maximum allowed number of selections in a list component. The {limit} placeholder will be replaced with the actual limit number."
407
+ },
408
+ "gs.list.limitReached": {
409
+ "text": "You have reached the limit of {limit} selected values.",
410
+ "crowdinContext": "Informational message shown when a user reaches the maximum allowed number of selections in a list component. The {limit} placeholder will be replaced with the actual limit number."
411
+ },
412
+ "gs.list.cannotSelectMoreValues": {
413
+ "text": "You cannot select more than {limit} values.",
414
+ "crowdinContext": "Error message shown when a user attempts to select more items than allowed in a list component. The {limit} placeholder will be replaced with the maximum allowed number of selections."
415
+ },
416
+ "gs.list.noItemsFound": {
417
+ "text": "No items found.",
418
+ "crowdinContext": "Message displayed when a search or filter operation in a list component returns no results."
419
+ },
420
+ "gs.list.noResultsMatch": {
421
+ "text": "No results match",
422
+ "crowdinContext": "Message displayed when a search query in a list or filter component doesn't match any available items."
423
+ },
424
+ "gs.list.error": {
425
+ "text": "Error when loading filter values.",
426
+ "crowdinContext": "Error message shown when the application fails to load values for a filter from the server."
427
+ },
428
+ "gs.header.upsellButtonText": {
429
+ "text": "Upgrade",
430
+ "crowdinContext": "Button text for upgrading to a higher tier or paid version of the product from a free or lower tier."
431
+ },
432
+ "gs.header.countdown.numberOfDaysLeft": {
433
+ "text": "{number} days left",
434
+ "crowdinContext": "Text showing the number of days remaining in a trial or subscription period. The {number} placeholder will be replaced with the actual count of days."
435
+ },
436
+ "gs.header.countdown.numberOfMonthsLeft": {
437
+ "text": "{number} months left",
438
+ "crowdinContext": "Countdown message showing the number of months remaining in a trial or subscription period. The {number} placeholder will be replaced with the actual count of months."
439
+ },
440
+ "gs.header.countdown.oneMonthLeft": {
441
+ "text": "1 month left",
442
+ "crowdinContext": "Countdown message indicating that one month remains in the current trial or subscription period."
443
+ },
444
+ "gs.header.countdown.lastDay": {
445
+ "text": "This is your last day",
446
+ "crowdinContext": "Message shown on the final day of a trial or subscription period, indicating it's the last day of access."
447
+ },
448
+ "measure.title.suffix.same_period_year_ago": {
449
+ "text": "SP year ago",
450
+ "crowdinContext": "Suffix added to a measure title to indicate it shows data from the same period in the previous year (SP = Same Period). Used in time-based comparisons."
451
+ },
452
+ "measure.title.suffix.previous_period": {
453
+ "text": "period ago",
454
+ "crowdinContext": "Suffix added to a measure title to indicate it shows data from the previous time period. The specific time period (day, week, month, etc.) is determined by the current context."
455
+ },
456
+ "visualizations.measure.arithmetic.sum.title": {
457
+ "text": "Sum of {firstMeasureTitle} and {secondMeasureTitle}",
458
+ "crowdinContext": "Title of an arithmetic measure of type Sum."
459
+ },
460
+ "visualizations.measure.arithmetic.difference.title": {
461
+ "text": "Difference of {firstMeasureTitle} and {secondMeasureTitle}",
462
+ "crowdinContext": "Title of an arithmetic measure of type Difference."
463
+ },
464
+ "visualizations.measure.arithmetic.multiplication.title": {
465
+ "text": "Product of {firstMeasureTitle} and {secondMeasureTitle}",
466
+ "crowdinContext": "Title of an arithmetic measure of type Product."
467
+ },
468
+ "visualizations.measure.arithmetic.ratio.title": {
469
+ "text": "Ratio of {firstMeasureTitle} and {secondMeasureTitle}",
470
+ "crowdinContext": "Title of an arithmetic measure of type Ratio."
471
+ },
472
+ "visualizations.measure.arithmetic.change.title": {
473
+ "text": "Change from {secondMeasureTitle} to {firstMeasureTitle}",
474
+ "crowdinContext": "Title of an arithmetic measure of type Change."
475
+ },
476
+ "visualizations.legend.text.top": {
477
+ "text": "Top",
478
+ "crowdinContext": "Legend position option to place the legend above the chart or visualization."
479
+ },
480
+ "visualizations.legend.text.bottom": {
481
+ "text": "Bottom",
482
+ "crowdinContext": "Legend position option to place the legend below the chart or visualization."
483
+ },
484
+ "visualizations.legend.text.left": {
485
+ "text": "Left",
486
+ "crowdinContext": "Legend position option to place the legend to the left of the chart or visualization."
487
+ },
488
+ "visualizations.legend.text.right": {
489
+ "text": "Right",
490
+ "crowdinContext": "Legend position option to place the legend to the right of the chart or visualization."
491
+ },
492
+ "visualizations.legend.text.colon": {
493
+ "text": ":",
494
+ "crowdinContext": "A colon character stands right after legend. eg: 'Left:'"
495
+ },
496
+ "visualizations.legend.text.column": {
497
+ "text": "Column",
498
+ "crowdinContext": "Label for the column chart series type in visualization legends, used to identify data series represented by vertical bars in charts."
499
+ },
500
+ "visualizations.legend.text.line": {
501
+ "text": "Line",
502
+ "crowdinContext": "Label for the line chart series type in visualization legends, used to identify data series represented by lines in charts."
503
+ },
504
+ "visualizations.legend.text.area": {
505
+ "text": "Area",
506
+ "crowdinContext": "Label for the area chart series type in visualization legends, used to identify data series represented by areas in charts."
507
+ },
508
+ "visualizations.legend.text.combo": {
509
+ "text": "{0} ({1})",
510
+ "crowdinContext": "Combination of chart type & y-axis position. eg: 'Legend settings: Column (Left)' where 'Column' is '{0}' and '(Left)' is '({1})'. You can switch order of placeholders '{0}' and '({1})' for right-to-left languages if makes more sense."
511
+ },
512
+ "visualizations.pagination.previous": {
513
+ "text": "Previous page",
514
+ "crowdinContext": "Button label to navigate to the previous page in a paginated view. Shown when there are more items available before the current page."
515
+ },
516
+ "visualizations.pagination.next": {
517
+ "text": "Next page",
518
+ "crowdinContext": "Button label to navigate to the next page in a paginated view. Shown when there are more items available after the current page."
519
+ },
520
+ "visualizations.table.pagination.of": {
521
+ "text": "of",
522
+ "crowdinContext": "Preposition used in pagination to separate current page from total pages (e.g., '2 of 17'). Keep it short and lowercase to match pagination styling."
523
+ },
524
+ "visualizations.menu.aggregations": {
525
+ "text": "Aggregate",
526
+ "crowdinContext": "Heading showed above menu listing possible aggregations (totals). Use imperative."
527
+ },
528
+ "visualizations.menu.aggregations.rows": {
529
+ "text": "Rows",
530
+ "crowdinContext": "Heading showed above row attributes of the table you may apply one of aggregation (total) on."
531
+ },
532
+ "visualizations.menu.aggregations.columns": {
533
+ "text": "Columns",
534
+ "crowdinContext": "Heading showed above columns attributes of the table you may apply one of aggregation (total) on."
535
+ },
536
+ "visualizations.menu.aggregations.all-rows": {
537
+ "text": "of all rows",
538
+ "crowdinContext": "Menu option that adds row aggregation (grand total) to the table. Example: 'Sum of all rows'"
539
+ },
540
+ "visualizations.menu.aggregations.all-columns": {
541
+ "text": "of all columns",
542
+ "crowdinContext": "Menu option that adds column aggregation (grand total) to the table. Example: 'Sum of all columns'"
543
+ },
544
+ "visualizations.menu.aggregations.within-attribute": {
545
+ "text": "within {attributeName}",
546
+ "crowdinContext": "Menu option that adds row aggregation (sub-total) for specific attribute to the table. Example: 'Sum within Attribute A'."
547
+ },
548
+ "visualizations.menu.textWrapping": {
549
+ "text": "Wrap text",
550
+ "crowdinContext": "Heading for the section that controls text wrapping in headers and cells."
551
+ },
552
+ "visualizations.menu.textWrapping.header": {
553
+ "text": "Headers",
554
+ "crowdinContext": "Menu option label to toggle text wrapping in header cells."
555
+ },
556
+ "visualizations.menu.textWrapping.cell": {
557
+ "text": "Cells",
558
+ "crowdinContext": "Menu option label to toggle text wrapping in body cells."
559
+ },
560
+ "visualizations.menu.sort": {
561
+ "text": "Sort",
562
+ "crowdinContext": "Heading for the section that controls sorting of the column."
563
+ },
564
+ "visualizations.menu.sort.ascending": {
565
+ "text": "Ascending",
566
+ "crowdinContext": "Menu option label to sort the column in ascending order."
567
+ },
568
+ "visualizations.menu.sort.descending": {
569
+ "text": "Descending",
570
+ "crowdinContext": "Menu option label to sort the column in descending order."
571
+ },
572
+ "visualizations.menu.header.openAriaLabel": {
573
+ "text": "Open header menu",
574
+ "crowdinContext": "ARIA label for the button that opens the header context menu in pivot table."
575
+ },
576
+ "visualizations.table.header.keyboardInstructions.mac": {
577
+ "text": "Open menu with Option + Down Arrow. Sort with Return. Add to multi-sort with Shift + Return. Resize column with Option + Left or Right Arrow.",
578
+ "crowdinContext": "ARIA description for column header keyboard shortcuts on macOS. Screen readers announce this when users focus on a sortable column header."
579
+ },
580
+ "visualizations.table.header.keyboardInstructions.windows": {
581
+ "text": "Open menu with Alt + Down Arrow. Sort with Enter. Add to multi-sort with Shift + Enter. Resize column with Alt + Left or Right Arrow.",
582
+ "crowdinContext": "ARIA description for column header keyboard shortcuts on Windows/Linux. Screen readers announce this when users focus on a sortable column header."
583
+ },
584
+ "visualizations.table.header.aria.sortedAscending": {
585
+ "text": "ascending",
586
+ "crowdinContext": "ARIA label indicating the column is sorted in ascending order. Used in screen reader announcements for sorted columns."
587
+ },
588
+ "visualizations.table.header.aria.sortedDescending": {
589
+ "text": "descending",
590
+ "crowdinContext": "ARIA label indicating the column is sorted in descending order. Used in screen reader announcements for sorted columns."
591
+ },
592
+ "visualizations.table.header.aria.priority": {
593
+ "text": "rank {rank}",
594
+ "crowdinContext": "ARIA label for multi-sort priority. Example: 'priority 2' means this is the second column in the sort order."
595
+ },
596
+ "visualizations.table.header.aria.sorted": {
597
+ "text": "sorted {direction}",
598
+ "crowdinContext": "ARIA label for header cell sort state. Example: 'sorted ascending'. The {direction} placeholder is replaced with 'ascending' or 'descending'."
599
+ },
600
+ "apply": {
601
+ "text": "Apply",
602
+ "crowdinContext": "Button label to confirm and apply changes or selections in a dialog or form."
603
+ },
604
+ "cancel": {
605
+ "text": "Cancel",
606
+ "crowdinContext": "Button label to discard changes and close a dialog or form without applying any changes."
607
+ },
608
+ "close": {
609
+ "text": "Close",
610
+ "crowdinContext": "Button for closing the popup without triggering any action."
611
+ },
612
+ "save": {
613
+ "text": "Save",
614
+ "crowdinContext": "Label of save button or visual element"
615
+ },
616
+ "loading": {
617
+ "text": "Loading…",
618
+ "crowdinContext": "Text shown during content loading operations"
619
+ },
620
+ "filtering": {
621
+ "text": "Filtering…",
622
+ "crowdinContext": "Text shown during filtering operations"
623
+ },
624
+ "dateFilterDropdown.title": {
625
+ "text": "Date range",
626
+ "crowdinContext": "Title for the date filter dropdown component, allowing users to select a time range for filtering data."
627
+ },
628
+ "dateFilterDropdown.setDefault": {
629
+ "text": "Set default date filter for{nbsp}viewers:",
630
+ "crowdinContext": "Message with non-breaking space for proper formatting. The {nbsp} represents a non-breaking space character."
631
+ },
632
+ "dateFilterDropdown.configuration": {
633
+ "text": "Configuration",
634
+ "crowdinContext": "Configuration button label in date filter dropdown"
635
+ },
636
+ "dateFilterDropdown.label": {
637
+ "text": "Select a date range",
638
+ "crowdinContext": "Label for the date filter dropdown component, allowing users to select a time range for filtering data."
639
+ },
640
+ "dateFilterDropdown.relativeForm.label": {
641
+ "text": "Granularity",
642
+ "crowdinContext": "Label for the granularity selection in the date filter dropdown component, allowing users to select a time range for filtering data."
643
+ },
644
+ "dateFilter.tab.standard": {
645
+ "text": "Standard",
646
+ "crowdinContext": "Tab label for standard calendar date presets in the date filter dropdown."
647
+ },
648
+ "dateFilter.tab.fiscal": {
649
+ "text": "Fiscal",
650
+ "crowdinContext": "Tab label for fiscal calendar date presets in the date filter dropdown."
651
+ },
652
+ "filters.thisMinute.title": {
653
+ "text": "This minute",
654
+ "crowdinContext": "Filter option to select the current minute in time-based filtering controls."
655
+ },
656
+ "filters.lastMinute.title": {
657
+ "text": "Last minute",
658
+ "crowdinContext": "Filter option to select the previous minute in time-based filtering controls."
659
+ },
660
+ "filters.nextMinute.title": {
661
+ "text": "Next minute",
662
+ "crowdinContext": "Filter option to select the upcoming minute in time-based filtering controls."
663
+ },
664
+ "filters.thisHour.title": {
665
+ "text": "This hour",
666
+ "crowdinContext": "Filter option to select the current hour in time-based filtering controls."
667
+ },
668
+ "filters.lastHour.title": {
669
+ "text": "Last hour",
670
+ "crowdinContext": "Filter option to select the previous hour in time-based filtering controls."
671
+ },
672
+ "filters.nextHour.title": {
673
+ "text": "Next hour",
674
+ "crowdinContext": "Filter option to select the upcoming hour in time-based filtering controls."
675
+ },
676
+ "filters.thisDay.title": {
677
+ "text": "Today",
678
+ "crowdinContext": "Filter option for the current day"
679
+ },
680
+ "filters.lastDay.title": {
681
+ "text": "Yesterday",
682
+ "crowdinContext": "Filter option for the previous day"
683
+ },
684
+ "filters.nextDay.title": {
685
+ "text": "Tomorrow",
686
+ "crowdinContext": "Filter option for the next day"
687
+ },
688
+ "filters.thisWeek.title": {
689
+ "text": "This week",
690
+ "crowdinContext": "Filter option for the current week"
691
+ },
692
+ "filters.thisWeekToDate.title": {
693
+ "text": "This week to date (WTD)",
694
+ "crowdinContext": "Filter option for the current week to date"
695
+ },
696
+ "filters.lastWeek.title": {
697
+ "text": "Last week",
698
+ "crowdinContext": "Filter option for the previous week"
699
+ },
700
+ "filters.nextWeek.title": {
701
+ "text": "Next week",
702
+ "crowdinContext": "Filter option for the next week"
703
+ },
704
+ "filters.thisMonth.title": {
705
+ "text": "This month",
706
+ "crowdinContext": "Filter option for the current month"
707
+ },
708
+ "filters.thisMonthToDate.title": {
709
+ "text": "This month to date (MTD)",
710
+ "crowdinContext": "Filter option for the current month to date"
711
+ },
712
+ "filters.lastMonth.title": {
713
+ "text": "Last month",
714
+ "crowdinContext": "Filter option for the previous month"
715
+ },
716
+ "filters.nextMonth.title": {
717
+ "text": "Next month",
718
+ "crowdinContext": "Filter option for the next month"
719
+ },
720
+ "filters.thisQuarter.title": {
721
+ "text": "This quarter",
722
+ "crowdinContext": "Filter option for the current quarter"
723
+ },
724
+ "filters.thisQuarterToDate.title": {
725
+ "text": "This quarter to date (QTD)",
726
+ "crowdinContext": "Filter option for the current quarter to date"
727
+ },
728
+ "filters.lastQuarter.title": {
729
+ "text": "Last quarter",
730
+ "crowdinContext": "Filter option for the previous quarter"
731
+ },
732
+ "filters.nextQuarter.title": {
733
+ "text": "Next quarter",
734
+ "crowdinContext": "Filter option for the next quarter"
735
+ },
736
+ "filters.thisYear.title": {
737
+ "text": "This year",
738
+ "crowdinContext": "Filter option for the current year"
739
+ },
740
+ "filters.thisYearToDate.title": {
741
+ "text": "This year to date (YTD)",
742
+ "crowdinContext": "Filter option for the current year to date"
743
+ },
744
+ "filters.lastYear.title": {
745
+ "text": "Last year",
746
+ "crowdinContext": "Filter option for the previous year"
747
+ },
748
+ "filters.nextYear.title": {
749
+ "text": "Next year",
750
+ "crowdinContext": "Filter option for the next year"
751
+ },
752
+ "filters.thisFiscalMonth.title": {
753
+ "text": "This fiscal month",
754
+ "crowdinContext": "Filter option for the current fiscal month"
755
+ },
756
+ "filters.thisFiscalMonthToDate.title": {
757
+ "text": "This fiscal month to date",
758
+ "crowdinContext": "Filter option for the current fiscal month to date"
759
+ },
760
+ "filters.lastFiscalMonth.title": {
761
+ "text": "Last fiscal month",
762
+ "crowdinContext": "Filter option for the previous fiscal month"
763
+ },
764
+ "filters.nextFiscalMonth.title": {
765
+ "text": "Next fiscal month",
766
+ "crowdinContext": "Filter option for the next fiscal month"
767
+ },
768
+ "filters.thisFiscalQuarter.title": {
769
+ "text": "This fiscal quarter",
770
+ "crowdinContext": "Filter option for the current fiscal quarter"
771
+ },
772
+ "filters.thisFiscalQuarterToDate.title": {
773
+ "text": "This fiscal quarter to date",
774
+ "crowdinContext": "Filter option for the current fiscal quarter to date"
775
+ },
776
+ "filters.lastFiscalQuarter.title": {
777
+ "text": "Last fiscal quarter",
778
+ "crowdinContext": "Filter option for the previous fiscal quarter"
779
+ },
780
+ "filters.nextFiscalQuarter.title": {
781
+ "text": "Next fiscal quarter",
782
+ "crowdinContext": "Filter option for the next fiscal quarter"
783
+ },
784
+ "filters.thisFiscalYear.title": {
785
+ "text": "This fiscal year",
786
+ "crowdinContext": "Filter option for the current fiscal year"
787
+ },
788
+ "filters.thisFiscalYearToDate.title": {
789
+ "text": "This fiscal year to date",
790
+ "crowdinContext": "Filter option for the current fiscal year to date"
791
+ },
792
+ "filters.lastFiscalYear.title": {
793
+ "text": "Last fiscal year",
794
+ "crowdinContext": "Filter option for the previous fiscal year"
795
+ },
796
+ "filters.nextFiscalYear.title": {
797
+ "text": "Next fiscal year",
798
+ "crowdinContext": "Filter option for the next fiscal year"
799
+ },
800
+ "filters.lastNMinutes": {
801
+ "text": "{n, plural, one {Last # minute} other {Last # minutes}}",
802
+ "crowdinContext": "Filter option for the last N minutes (singular/plural)"
803
+ },
804
+ "filters.lastNHours": {
805
+ "text": "{n, plural, one {Last # hour} other {Last # hours}}",
806
+ "crowdinContext": "Filter option for the last N hours (singular/plural)"
807
+ },
808
+ "filters.lastNDays": {
809
+ "text": "{n, plural, one {Last # day} other {Last # days}}",
810
+ "crowdinContext": "Filter option for the last N days (singular/plural)"
811
+ },
812
+ "filters.lastNWeeks": {
813
+ "text": "{n, plural, one {Last # week} other {Last # weeks}}",
814
+ "crowdinContext": "Filter option for the last N weeks (singular/plural)"
815
+ },
816
+ "filters.lastNMonths": {
817
+ "text": "{n, plural, one {Last # month} other {Last # months}}",
818
+ "crowdinContext": "Filter option for the last N months (singular/plural)"
819
+ },
820
+ "filters.lastNQuarters": {
821
+ "text": "{n, plural, one {Last # quarter} other {Last # quarters}}",
822
+ "crowdinContext": "Filter option for the last N quarters (singular/plural)"
823
+ },
824
+ "filters.lastNYears": {
825
+ "text": "{n, plural, one {Last # year} other {Last # years}}",
826
+ "crowdinContext": "Filter option for the last N years (singular/plural)"
827
+ },
828
+ "filters.lastNFiscalMonths": {
829
+ "text": "{n, plural, one {Last # fiscal month} other {Last # fiscal months}}",
830
+ "crowdinContext": "Filter option for the last N fiscal months (singular/plural)"
831
+ },
832
+ "filters.lastNFiscalQuarters": {
833
+ "text": "{n, plural, one {Last # fiscal quarter} other {Last # fiscal quarters}}",
834
+ "crowdinContext": "Filter option for the last N fiscal quarters (singular/plural)"
835
+ },
836
+ "filters.lastNFiscalYears": {
837
+ "text": "{n, plural, one {Last # fiscal year} other {Last # fiscal years}}",
838
+ "crowdinContext": "Filter option for the last N fiscal years (singular/plural)"
839
+ },
840
+ "filters.nextNMinutes": {
841
+ "text": "{n, plural, one {Next # minute} other {Next # minutes}}",
842
+ "crowdinContext": "Filter option for the next N minutes (singular/plural)"
843
+ },
844
+ "filters.nextNHours": {
845
+ "text": "{n, plural, one {Next # hour} other {Next # hours}}",
846
+ "crowdinContext": "Filter option for the next N hours (singular/plural)"
847
+ },
848
+ "filters.nextNDays": {
849
+ "text": "{n, plural, one {Next # day} other {Next # days}}",
850
+ "crowdinContext": "Filter option for the next N days (singular/plural)"
851
+ },
852
+ "filters.nextNWeeks": {
853
+ "text": "{n, plural, one {Next # week} other {Next # weeks}}",
854
+ "crowdinContext": "Filter option for the next N weeks (singular/plural)"
855
+ },
856
+ "filters.nextNMonths": {
857
+ "text": "{n, plural, one {Next # month} other {Next # months}}",
858
+ "crowdinContext": "Filter option for the next N months (singular/plural)"
859
+ },
860
+ "filters.nextNQuarters": {
861
+ "text": "{n, plural, one {Next # quarter} other {Next # quarters}}",
862
+ "crowdinContext": "Filter option for the next N quarters (singular/plural)"
863
+ },
864
+ "filters.nextNYears": {
865
+ "text": "{n, plural, one {Next # year} other {Next # years}}",
866
+ "crowdinContext": "Filter option for the next N years (singular/plural)"
867
+ },
868
+ "filters.nextNFiscalMonths": {
869
+ "text": "{n, plural, one {Next # fiscal month} other {Next # fiscal months}}",
870
+ "crowdinContext": "Filter option for the next N fiscal months (singular/plural)"
871
+ },
872
+ "filters.nextNFiscalQuarters": {
873
+ "text": "{n, plural, one {Next # fiscal quarter} other {Next # fiscal quarters}}",
874
+ "crowdinContext": "Filter option for the next N fiscal quarters (singular/plural)"
875
+ },
876
+ "filters.nextNFiscalYears": {
877
+ "text": "{n, plural, one {Next # fiscal year} other {Next # fiscal years}}",
878
+ "crowdinContext": "Filter option for the next N fiscal years (singular/plural)"
879
+ },
880
+ "filters.interval.minutes.past": {
881
+ "text": "From {from} to {to} {to, plural, one {minute} other {minutes}} ago",
882
+ "crowdinContext": "Time interval in past minutes (e.g., 'From 5 to 10 minutes ago')"
883
+ },
884
+ "filters.interval.minutes.past.sameValue": {
885
+ "text": "{value} {value, plural, one {minute} other {minutes}} ago",
886
+ "crowdinContext": "Time interval for a single past minute (e.g., '5 minutes ago')"
887
+ },
888
+ "filters.interval.minutes.future": {
889
+ "text": "From {from} to {to} {to, plural, one {minute} other {minutes}} ahead",
890
+ "crowdinContext": "Time interval in future minutes (e.g., 'From 5 to 10 minutes ahead')"
891
+ },
892
+ "filters.interval.minutes.future.sameValue": {
893
+ "text": "{value} {value, plural, one {minute} other {minutes}} ahead",
894
+ "crowdinContext": "Time interval for a single future minute (e.g., '5 minutes ahead')"
895
+ },
896
+ "filters.interval.minutes.mixed": {
897
+ "text": "From {from} {from, plural, one {minute} other {minutes}} ago to {to} {to, plural, one {minute} other {minutes}} ahead",
898
+ "crowdinContext": "Time interval spanning past and future in minutes (e.g., 'From 1 minute ago to 2 minutes ahead')"
899
+ },
900
+ "filters.interval.hours.past": {
901
+ "text": "From {from} to {to} {to, plural, one {hour} other {hours}} ago",
902
+ "crowdinContext": "Time interval in past hours (e.g., 'From 1 to 3 hours ago')"
903
+ },
904
+ "filters.interval.hours.past.sameValue": {
905
+ "text": "{value} {value, plural, one {hour} other {hours}} ago",
906
+ "crowdinContext": "Time interval for a single past hour (e.g., '2 hours ago')"
907
+ },
908
+ "filters.interval.hours.future": {
909
+ "text": "From {from} to {to} {to, plural, one {hour} other {hours}} ahead",
910
+ "crowdinContext": "Time interval in future hours (e.g., 'From 1 to 3 hours ahead')"
911
+ },
912
+ "filters.interval.hours.future.sameValue": {
913
+ "text": "{value} {value, plural, one {hour} other {hours}} ahead",
914
+ "crowdinContext": "Time interval for a single future hour (e.g., '2 hours ahead')"
915
+ },
916
+ "filters.interval.hours.mixed": {
917
+ "text": "From {from} {from, plural, one {hour} other {hours}} ago to {to} {to, plural, one {hour} other {hours}} ahead",
918
+ "crowdinContext": "Time interval spanning past and future in hours (e.g., 'From 1 hour ago to 2 hours ahead')"
919
+ },
920
+ "filters.interval.days.past": {
921
+ "text": "From {from} to {to} {to, plural, one {day} other {days}} ago",
922
+ "crowdinContext": "Time interval in past days (e.g., 'From 1 to 3 days ago')"
923
+ },
924
+ "filters.interval.days.past.sameValue": {
925
+ "text": "{value} {value, plural, one {day} other {days}} ago",
926
+ "crowdinContext": "Time interval for a single past day (e.g., '2 days ago')"
927
+ },
928
+ "filters.interval.days.future": {
929
+ "text": "From {from} to {to} {to, plural, one {day} other {days}} ahead",
930
+ "crowdinContext": "Time interval for future days with a range, showing the number of days ahead (e.g., 'From 2 to 4 days ahead'). The placeholders {from} and {to} represent the start and end days."
931
+ },
932
+ "filters.interval.days.future.sameValue": {
933
+ "text": "{value} {value, plural, one {day} other {days}} ahead",
934
+ "crowdinContext": "Time interval for a single future day (e.g., '2 days ahead'). The placeholder {value} represents the number of days."
935
+ },
936
+ "filters.interval.days.mixed": {
937
+ "text": "From {from} {from, plural, one {day} other {days}} ago to {to} {to, plural, one {day} other {days}} ahead",
938
+ "crowdinContext": "Time interval spanning both past and future days (e.g., 'From 1 day ago to 2 days ahead'). The placeholders {from} and {to} represent the number of days in the past and future respectively."
939
+ },
940
+ "filters.interval.weeks.past": {
941
+ "text": "From {from} to {to} {to, plural, one {week} other {weeks}} ago",
942
+ "crowdinContext": "Time interval for past weeks with a range, showing the number of weeks ago (e.g., 'From 2 to 4 weeks ago'). The placeholders {from} and {to} represent the start and end weeks."
943
+ },
944
+ "filters.interval.weeks.past.sameValue": {
945
+ "text": "{value} {value, plural, one {week} other {weeks}} ago",
946
+ "crowdinContext": "Time interval for a single past week (e.g., '2 weeks ago'). The placeholder {value} represents the number of weeks."
947
+ },
948
+ "filters.interval.weeks.future": {
949
+ "text": "From {from} to {to} {to, plural, one {week} other {weeks}} ahead",
950
+ "crowdinContext": "Time interval for future weeks with a range, showing the number of weeks ahead (e.g., 'From 2 to 4 weeks ahead'). The placeholders {from} and {to} represent the start and end weeks."
951
+ },
952
+ "filters.interval.weeks.future.sameValue": {
953
+ "text": "{value} {value, plural, one {week} other {weeks}} ahead",
954
+ "crowdinContext": "Time interval for a single future week (e.g., '2 weeks ahead'). The placeholder {value} represents the number of weeks."
955
+ },
956
+ "filters.interval.weeks.mixed": {
957
+ "text": "From {from} {from, plural, one {week} other {weeks}} ago to {to} {to, plural, one {week} other {weeks}} ahead",
958
+ "crowdinContext": "Time interval spanning both past and future weeks (e.g., 'From 1 week ago to 2 weeks ahead'). The placeholders {from} and {to} represent the number of weeks in the past and future respectively."
959
+ },
960
+ "filters.interval.months.past": {
961
+ "text": "From {from} to {to} {to, plural, one {month} other {months}} ago",
962
+ "crowdinContext": "Time interval for past months with a range, showing the number of months ago (e.g., 'From 2 to 4 months ago'). The placeholders {from} and {to} represent the start and end months."
963
+ },
964
+ "filters.interval.months.past.sameValue": {
965
+ "text": "{value} {value, plural, one {month} other {months}} ago",
966
+ "crowdinContext": "Time interval for a single past month (e.g., '2 months ago'). The placeholder {value} represents the number of months."
967
+ },
968
+ "filters.interval.months.future": {
969
+ "text": "From {from} to {to} {to, plural, one {month} other {months}} ahead",
970
+ "crowdinContext": "Time interval for future months with a range, showing the number of months ahead (e.g., 'From 2 to 4 months ahead'). The placeholders {from} and {to} represent the start and end months."
971
+ },
972
+ "filters.interval.months.future.sameValue": {
973
+ "text": "{value} {value, plural, one {month} other {months}} ahead",
974
+ "crowdinContext": "Time interval for a single future month (e.g., '2 months ahead'). The placeholder {value} represents the number of months."
975
+ },
976
+ "filters.interval.months.mixed": {
977
+ "text": "From {from} {from, plural, one {month} other {months}} ago to {to} {to, plural, one {month} other {months}} ahead",
978
+ "crowdinContext": "Time interval spanning both past and future months (e.g., 'From 1 month ago to 2 months ahead'). The placeholders {from} and {to} represent the number of months in the past and future respectively."
979
+ },
980
+ "filters.interval.quarters.past": {
981
+ "text": "From {from} to {to} {to, plural, one {quarter} other {quarters}} ago",
982
+ "crowdinContext": "Time interval for past quarters with a range, showing the number of quarters ago (e.g., 'From Q2 to Q4 last year'). The placeholders {from} and {to} represent the start and end quarters."
983
+ },
984
+ "filters.interval.quarters.past.sameValue": {
985
+ "text": "{value} {value, plural, one {quarter} other {quarters}} ago",
986
+ "crowdinContext": "Time interval for a single past quarter (e.g., '2 quarters ago'). The placeholder {value} represents the number of quarters."
987
+ },
988
+ "filters.interval.quarters.future": {
989
+ "text": "From {from} to {to} {to, plural, one {quarter} other {quarters}} ahead",
990
+ "crowdinContext": "Time interval for future quarters with a range, showing the number of quarters ahead (e.g., 'From Q3 to Q4 next year'). The placeholders {from} and {to} represent the start and end quarters."
991
+ },
992
+ "filters.interval.quarters.future.sameValue": {
993
+ "text": "{value} {value, plural, one {quarter} other {quarters}} ahead",
994
+ "crowdinContext": "Time interval for a single future quarter (e.g., '2 quarters ahead'). The placeholder {value} represents the number of quarters."
995
+ },
996
+ "filters.interval.quarters.mixed": {
997
+ "text": "From {from} {from, plural, one {quarter} other {quarters}} ago to {to} {to, plural, one {quarter} other {quarters}} ahead",
998
+ "crowdinContext": "Time interval spanning both past and future quarters (e.g., 'From Q1 last year to Q2 next year'). The placeholders {from} and {to} represent the number of quarters in the past and future respectively."
999
+ },
1000
+ "filters.interval.years.past": {
1001
+ "text": "From {from} to {to} {to, plural, one {year} other {years}} ago",
1002
+ "crowdinContext": "Time interval for past years with a range, showing the number of years ago (e.g., 'From 2 to 4 years ago'). The placeholders {from} and {to} represent the start and end years."
1003
+ },
1004
+ "filters.interval.years.past.sameValue": {
1005
+ "text": "{value} {value, plural, one {year} other {years}} ago",
1006
+ "crowdinContext": "Time interval for a single past year (e.g., '2 years ago'). The placeholder {value} represents the number of years."
1007
+ },
1008
+ "filters.interval.years.future": {
1009
+ "text": "From {from} to {to} {to, plural, one {year} other {years}} ahead",
1010
+ "crowdinContext": "Time interval for future years with a range, showing the number of years ahead (e.g., 'From 2025 to 2027'). The placeholders {from} and {to} represent the start and end years."
1011
+ },
1012
+ "filters.interval.years.future.sameValue": {
1013
+ "text": "{value} {value, plural, one {year} other {years}} ahead",
1014
+ "crowdinContext": "Time interval for a single future year (e.g., '2 years ahead'). The placeholder {value} represents the number of years."
1015
+ },
1016
+ "filters.interval.years.mixed": {
1017
+ "text": "From {from} {from, plural, one {year} other {years}} ago to {to} {to, plural, one {year} other {years}} ahead",
1018
+ "crowdinContext": "Time interval spanning both past and future years (e.g., 'From 1 year ago to 2 years ahead'). The placeholders {from} and {to} represent the number of years in the past and future respectively."
1019
+ },
1020
+ "filters.interval.fiscalMonths.past": {
1021
+ "text": "From {from} to {to} {to, plural, one {fiscal month} other {fiscal months}} ago",
1022
+ "crowdinContext": "Time interval in past fiscal months"
1023
+ },
1024
+ "filters.interval.fiscalMonths.past.sameValue": {
1025
+ "text": "{value} {value, plural, one {fiscal month} other {fiscal months}} ago",
1026
+ "crowdinContext": "Time interval for a single past fiscal month"
1027
+ },
1028
+ "filters.interval.fiscalMonths.future": {
1029
+ "text": "From {from} to {to} {to, plural, one {fiscal month} other {fiscal months}} ahead",
1030
+ "crowdinContext": "Time interval in future fiscal months"
1031
+ },
1032
+ "filters.interval.fiscalMonths.future.sameValue": {
1033
+ "text": "{value} {value, plural, one {fiscal month} other {fiscal months}} ahead",
1034
+ "crowdinContext": "Time interval for a single future fiscal month"
1035
+ },
1036
+ "filters.interval.fiscalMonths.mixed": {
1037
+ "text": "From {from} {from, plural, one {fiscal month} other {fiscal months}} ago to {to} {to, plural, one {fiscal month} other {fiscal months}} ahead",
1038
+ "crowdinContext": "Time interval spanning both past and future fiscal months"
1039
+ },
1040
+ "filters.interval.fiscalQuarters.past": {
1041
+ "text": "From {from} to {to} {to, plural, one {fiscal quarter} other {fiscal quarters}} ago",
1042
+ "crowdinContext": "Time interval in past fiscal quarters"
1043
+ },
1044
+ "filters.interval.fiscalQuarters.past.sameValue": {
1045
+ "text": "{value} {value, plural, one {fiscal quarter} other {fiscal quarters}} ago",
1046
+ "crowdinContext": "Time interval for a single past fiscal quarter"
1047
+ },
1048
+ "filters.interval.fiscalQuarters.future": {
1049
+ "text": "From {from} to {to} {to, plural, one {fiscal quarter} other {fiscal quarters}} ahead",
1050
+ "crowdinContext": "Time interval in future fiscal quarters"
1051
+ },
1052
+ "filters.interval.fiscalQuarters.future.sameValue": {
1053
+ "text": "{value} {value, plural, one {fiscal quarter} other {fiscal quarters}} ahead",
1054
+ "crowdinContext": "Time interval for a single future fiscal quarter"
1055
+ },
1056
+ "filters.interval.fiscalQuarters.mixed": {
1057
+ "text": "From {from} {from, plural, one {fiscal quarter} other {fiscal quarters}} ago to {to} {to, plural, one {fiscal quarter} other {fiscal quarters}} ahead",
1058
+ "crowdinContext": "Time interval spanning both past and future fiscal quarters"
1059
+ },
1060
+ "filters.interval.fiscalYears.past": {
1061
+ "text": "From {from} to {to} {to, plural, one {fiscal year} other {fiscal years}} ago",
1062
+ "crowdinContext": "Time interval in past fiscal years"
1063
+ },
1064
+ "filters.interval.fiscalYears.past.sameValue": {
1065
+ "text": "{value} {value, plural, one {fiscal year} other {fiscal years}} ago",
1066
+ "crowdinContext": "Time interval for a single past fiscal year"
1067
+ },
1068
+ "filters.interval.fiscalYears.future": {
1069
+ "text": "From {from} to {to} {to, plural, one {fiscal year} other {fiscal years}} ahead",
1070
+ "crowdinContext": "Time interval in future fiscal years"
1071
+ },
1072
+ "filters.interval.fiscalYears.future.sameValue": {
1073
+ "text": "{value} {value, plural, one {fiscal year} other {fiscal years}} ahead",
1074
+ "crowdinContext": "Time interval for a single future fiscal year"
1075
+ },
1076
+ "filters.interval.fiscalYears.mixed": {
1077
+ "text": "From {from} {from, plural, one {fiscal year} other {fiscal years}} ago to {to} {to, plural, one {fiscal year} other {fiscal years}} ahead",
1078
+ "crowdinContext": "Time interval spanning both past and future fiscal years"
1079
+ },
1080
+ "filters.granularity.minutes": {
1081
+ "text": "Minutes",
1082
+ "crowdinContext": "Time granularity option for filtering data at the minute level. Used in time-based filters and selectors."
1083
+ },
1084
+ "filters.granularity.hours": {
1085
+ "text": "Hours",
1086
+ "crowdinContext": "Time granularity option for filtering data at the hour level. Used in time-based filters and selectors."
1087
+ },
1088
+ "filters.granularity.days": {
1089
+ "text": "Days",
1090
+ "crowdinContext": "Time granularity option for filtering data at the day level. Used in time-based filters and selectors."
1091
+ },
1092
+ "filters.granularity.weeks": {
1093
+ "text": "Weeks",
1094
+ "crowdinContext": "Time granularity option for filtering data at the week level. Used in time-based filters and selectors."
1095
+ },
1096
+ "filters.granularity.months": {
1097
+ "text": "Months",
1098
+ "crowdinContext": "Time granularity option for filtering data at the month level. Used in time-based filters and selectors."
1099
+ },
1100
+ "filters.granularity.quarters": {
1101
+ "text": "Quarters",
1102
+ "crowdinContext": "Time granularity option for filtering data at the quarter level. Used in time-based filters and selectors."
1103
+ },
1104
+ "filters.granularity.years": {
1105
+ "text": "Years",
1106
+ "crowdinContext": "Time granularity option for filtering data at the year level. Used in time-based filters and selectors."
1107
+ },
1108
+ "filters.granularity.fiscalYears": {
1109
+ "text": "Fiscal years",
1110
+ "crowdinContext": "Time granularity option for filtering data at the fiscal year level. Used in time-based filters and selectors."
1111
+ },
1112
+ "filters.granularity.fiscalQuarters": {
1113
+ "text": "Fiscal quarters",
1114
+ "crowdinContext": "Time granularity option for filtering data at the fiscal quarter level. Used in time-based filters and selectors."
1115
+ },
1116
+ "filters.granularity.periods": {
1117
+ "text": "Periods",
1118
+ "crowdinContext": "Time granularity option for filtering data at the fiscal month (period) level. Used in time-based filters and selectors."
1119
+ },
1120
+ "filters.staticPeriod.dateFrom": {
1121
+ "text": "Start date",
1122
+ "crowdinContext": "Displayed as label of input where user enters a date that marks the start of date range."
1123
+ },
1124
+ "filters.staticPeriod.timeFrom": {
1125
+ "text": "Start time",
1126
+ "crowdinContext": "Displayed as label of input where user enters a time that marks the start of date range."
1127
+ },
1128
+ "filters.staticPeriod.dateTimeFrom": {
1129
+ "text": "Start date and time",
1130
+ "crowdinContext": "Hidden but read by a screen reader as legend of inputs where user enters date and time that marks the start of date range."
1131
+ },
1132
+ "filters.staticPeriod.dateTo": {
1133
+ "text": "End date",
1134
+ "crowdinContext": "Displayed as label of input where user enters a date that marks the end of date range."
1135
+ },
1136
+ "filters.staticPeriod.timeTo": {
1137
+ "text": "End time",
1138
+ "crowdinContext": "Displayed as label of input where user enters a time that marks the end of date range."
1139
+ },
1140
+ "filters.staticPeriod.dateTimeTo": {
1141
+ "text": "End date and time",
1142
+ "crowdinContext": "Hidden but read by a screen reader as legend of inputs where user enters date and time that marks the end of date range."
1143
+ },
1144
+ "filters.staticPeriod.dateFormatHint": {
1145
+ "text": "Use date format {format}.",
1146
+ "crowdinContext": "Date input field hint. The {format} placeholder shows the expected date format pattern (e.g., 'MM/DD/YYYY')."
1147
+ },
1148
+ "filters.staticPeriod.timeFormatHint": {
1149
+ "text": "Use time format HH:MM; max value is 23:59.",
1150
+ "crowdinContext": "Displayed as a hint below input in which user enters a time."
1151
+ },
1152
+ "filters.date.accessibility.label.from": {
1153
+ "text": "Select date from",
1154
+ "crowdinContext": "Accessibility label for the 'from' date input field in date range selectors. Used by screen readers to identify the start date selection."
1155
+ },
1156
+ "filters.date.accessibility.label.to": {
1157
+ "text": "Select date to",
1158
+ "crowdinContext": "Accessibility label for the 'to' date input field in date range selectors. Used by screen readers to identify the end date selection."
1159
+ },
1160
+ "filters.time.accessibility.label.from": {
1161
+ "text": "Select time from",
1162
+ "crowdinContext": "Accessibility label for the 'from' time input field in time range selectors. Used by screen readers to identify the start time selection."
1163
+ },
1164
+ "filters.time.accessibility.label.to": {
1165
+ "text": "Select time to",
1166
+ "crowdinContext": "Accessibility label for the 'to' time input field in time range selectors. Used by screen readers to identify the end time selection."
1167
+ },
1168
+ "filters.relative.placeholder": {
1169
+ "text": "Type or select",
1170
+ "crowdinContext": "Placeholder text shown in relative date filter inputs, indicating users can either type a value or select from a list of options."
1171
+ },
1172
+ "filters.relative.from.label": {
1173
+ "text": "Period start",
1174
+ "crowdinContext": "Label for the starting point of a relative time period in date range selectors. Indicates where the time period begins."
1175
+ },
1176
+ "filters.relative.from.invalid.value": {
1177
+ "text": "Error: Invalid period start — enter a valid period or select it from the list.",
1178
+ "crowdinContext": "Error message shown when an invalid value is entered for the start of a relative time period. Guides users to enter a valid value or select from available options."
1179
+ },
1180
+ "filters.relative.from.empty.value": {
1181
+ "text": "Error: Period start is empty — enter a valid period or select it from the list.",
1182
+ "crowdinContext": "Error message shown when the start period field is left empty in a relative date filter. Guides users to provide a valid value or select from available options."
1183
+ },
1184
+ "filters.relative.to.label": {
1185
+ "text": "Period end",
1186
+ "crowdinContext": "Label for the ending point of a relative time period in date range selectors. Indicates where the time period concludes."
1187
+ },
1188
+ "filters.relative.to.invalid.value": {
1189
+ "text": "Error: Invalid period end — enter a valid period or select it from the list.",
1190
+ "crowdinContext": "Error message shown when an invalid value is entered for the end of a relative time period. Helps users correct their input with valid values."
1191
+ },
1192
+ "filters.relative.to.empty.value": {
1193
+ "text": "Error: Period end is empty — enter a valid period or select it from the list.",
1194
+ "crowdinContext": "Error message shown when the end period field is left empty in a relative date filter. Prompts users to provide a valid value or select from available options."
1195
+ },
1196
+ "filters.floatingRange": {
1197
+ "text": "Relative period",
1198
+ "crowdinContext": "Label for the relative period filter option, allowing users to select time periods relative to the current date (e.g., 'Last 7 days')."
1199
+ },
1200
+ "filters.floatingRange.noMatch": {
1201
+ "text": "No match found",
1202
+ "crowdinContext": "Message displayed when a search or filter operation in the relative period selector doesn't return any matching results."
1203
+ },
1204
+ "filters.floatingRange.tooBig": {
1205
+ "text": "Maximum value: {limit}",
1206
+ "crowdinContext": "Error message shown when a user enters a value exceeding the maximum allowed limit in a relative period filter. Example: 'Maximum value: 100'."
1207
+ },
1208
+ "filters.floatingRange.option.minute.offset.history": {
1209
+ "text": "{n, plural, one {last minute} other {# minutes ago}}",
1210
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1211
+ },
1212
+ "filters.floatingRange.option.minute.offset.today": {
1213
+ "text": "this minute",
1214
+ "crowdinContext": "Option in the relative time selector referring to the current minute. Used when filtering data to include only the current minute's data."
1215
+ },
1216
+ "filters.floatingRange.option.minute.offset.future": {
1217
+ "text": "{n, plural, one {next minute} other {# minutes ahead}}",
1218
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1219
+ },
1220
+ "filters.floatingRange.option.hour.offset.history": {
1221
+ "text": "{n, plural, one {last hour} other {# hours ago}}",
1222
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1223
+ },
1224
+ "filters.floatingRange.option.hour.offset.today": {
1225
+ "text": "this hour",
1226
+ "crowdinContext": "Relative time filter option referring to the current hour. Used to filter data for the current 60-minute period."
1227
+ },
1228
+ "filters.floatingRange.option.hour.offset.future": {
1229
+ "text": "{n, plural, one {next hour} other {# hours ahead}}",
1230
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1231
+ },
1232
+ "filters.floatingRange.option.day.offset.history": {
1233
+ "text": "{n, plural, one {yesterday} other {# days ago}}",
1234
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1235
+ },
1236
+ "filters.floatingRange.option.day.offset.today": {
1237
+ "text": "today",
1238
+ "crowdinContext": "Relative time filter option for the current calendar day. Used to filter data for the current 24-hour period from midnight to midnight."
1239
+ },
1240
+ "filters.floatingRange.option.day.offset.future": {
1241
+ "text": "{n, plural, one {tomorrow} other {# days ahead}}",
1242
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1243
+ },
1244
+ "filters.floatingRange.option.week.offset.history": {
1245
+ "text": "{n, plural, one {last week} other {# weeks ago}}",
1246
+ "crowdinContext": "Relative time filter option for past weeks. The placeholder {n} represents the number of weeks ago. Used in time-based filtering to reference previous weeks."
1247
+ },
1248
+ "filters.floatingRange.option.week.offset.today": {
1249
+ "text": "this week",
1250
+ "crowdinContext": "Relative time filter option for the current calendar week (typically Sunday to Saturday or Monday to Sunday, depending on locale). Used to filter data for the current 7-day period."
1251
+ },
1252
+ "filters.floatingRange.option.week.offset.future": {
1253
+ "text": "{n, plural, one {next week} other {# weeks ahead}}",
1254
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1255
+ },
1256
+ "filters.floatingRange.option.month.offset.history": {
1257
+ "text": "{n, plural, one {last month} other {# months ago}}",
1258
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1259
+ },
1260
+ "filters.floatingRange.option.month.offset.today": {
1261
+ "text": "this month",
1262
+ "crowdinContext": "Relative time filter option for the current calendar month. Used to filter data for the current month from first to last day."
1263
+ },
1264
+ "filters.floatingRange.option.month.offset.future": {
1265
+ "text": "{n, plural, one {next month} other {# months ahead}}",
1266
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1267
+ },
1268
+ "filters.floatingRange.option.quarter.offset.history": {
1269
+ "text": "{n, plural, one {last quarter} other {# quarters ago}}",
1270
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1271
+ },
1272
+ "filters.floatingRange.option.quarter.offset.today": {
1273
+ "text": "this quarter",
1274
+ "crowdinContext": "Relative time filter option for the current calendar quarter (Q1: Jan-Mar, Q2: Apr-Jun, etc.). Used to filter data for the current 3-month period."
1275
+ },
1276
+ "filters.floatingRange.option.quarter.offset.future": {
1277
+ "text": "{n, plural, one {next quarter} other {# quarters ahead}}",
1278
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1279
+ },
1280
+ "filters.floatingRange.option.year.offset.history": {
1281
+ "text": "{n, plural, one {last year} other {# years ago}}",
1282
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1283
+ },
1284
+ "filters.floatingRange.option.year.offset.today": {
1285
+ "text": "this year",
1286
+ "crowdinContext": "Relative time filter option for the current calendar year. Used to filter data for the current 12-month period from January to December."
1287
+ },
1288
+ "filters.floatingRange.option.year.offset.future": {
1289
+ "text": "{n, plural, one {next year} other {# years ahead}}",
1290
+ "crowdinContext": "Relative time expression using plural forms. Keep the {n, plural, ...} format and the # placeholder for numbers. Examples: 'last minute', '5 minutes ago', 'next hour', '3 days ahead'."
1291
+ },
1292
+ "filters.allTime.title": {
1293
+ "text": "All time",
1294
+ "crowdinContext": "Filter option indicating no time-based filtering should be applied, including all available historical data in the results."
1295
+ },
1296
+ "filters.allTime.excludeCurrentPeriod": {
1297
+ "text": "Exclude open period",
1298
+ "crowdinContext": "Option to exclude incomplete or in-progress time periods from the 'All time' filter, such as the current day, week, or month that hasn't fully elapsed."
1299
+ },
1300
+ "filters.minute.title": {
1301
+ "text": "MINUTE",
1302
+ "crowdinContext": "Header label for minute-level time filter options. Used in filter configuration interfaces to group minute-related filtering controls."
1303
+ },
1304
+ "filters.minute.excludeCurrentPeriod": {
1305
+ "text": "Exclude this minute",
1306
+ "crowdinContext": "Option to exclude the current minute from the filtered results. Useful when the current minute might contain incomplete or in-progress data."
1307
+ },
1308
+ "filters.hour.title": {
1309
+ "text": "HOUR",
1310
+ "crowdinContext": "Header label for hour-level time filter options. Used in filter configuration interfaces to group hour-related filtering controls."
1311
+ },
1312
+ "filters.hour.excludeCurrentPeriod": {
1313
+ "text": "Exclude this hour",
1314
+ "crowdinContext": "Option to exclude the current hour from the filtered results. Useful when the current hour might contain incomplete or in-progress data."
1315
+ },
1316
+ "filters.day.title": {
1317
+ "text": "DAY",
1318
+ "crowdinContext": "Header label for day-level time filter options. Used in filter configuration interfaces to group day-related filtering controls."
1319
+ },
1320
+ "filters.day.excludeCurrentPeriod": {
1321
+ "text": "Exclude today",
1322
+ "crowdinContext": "Option to exclude the current day from the filtered results. Useful when today's data might be incomplete or still being collected."
1323
+ },
1324
+ "filters.week.title": {
1325
+ "text": "WEEK",
1326
+ "crowdinContext": "Header label for week-level time filter options. Used in filter configuration interfaces to group week-related filtering controls."
1327
+ },
1328
+ "filters.week.excludeCurrentPeriod": {
1329
+ "text": "Exclude this week",
1330
+ "crowdinContext": "Option to exclude the current week from the filtered results. Useful when the current week's data might be incomplete or still being collected."
1331
+ },
1332
+ "filters.month.title": {
1333
+ "text": "MONTH",
1334
+ "crowdinContext": "Header label for month-level time filter options. Used in filter configuration interfaces to group month-related filtering controls."
1335
+ },
1336
+ "filters.month.excludeCurrentPeriod": {
1337
+ "text": "Exclude this month",
1338
+ "crowdinContext": "Option to exclude the current month from the filtered results. Useful when the current month's data might be incomplete or still being collected."
1339
+ },
1340
+ "filters.quarter.title": {
1341
+ "text": "QUARTER",
1342
+ "crowdinContext": "Header label for quarter-level time filter options. Used in filter configuration interfaces to group quarter-related filtering controls."
1343
+ },
1344
+ "filters.quarter.excludeCurrentPeriod": {
1345
+ "text": "Exclude this quarter",
1346
+ "crowdinContext": "Option to exclude the current quarter from the filtered results. Useful when the current quarter's data might be incomplete or still being collected."
1347
+ },
1348
+ "filters.year.title": {
1349
+ "text": "YEAR",
1350
+ "crowdinContext": "Header label for year-level time filter options. Used in filter configuration interfaces to group year-related filtering controls."
1351
+ },
1352
+ "filters.year.excludeCurrentPeriod": {
1353
+ "text": "Exclude this year",
1354
+ "crowdinContext": "Option to exclude the current year from the filtered results. Useful when the current year's data might be incomplete or still being collected."
1355
+ },
1356
+ "filters.fiscalYear.title": {
1357
+ "text": "FISCAL YEAR",
1358
+ "crowdinContext": "Header label for fiscal year-level time filter options."
1359
+ },
1360
+ "filters.fiscalQuarter.title": {
1361
+ "text": "FISCAL QUARTER",
1362
+ "crowdinContext": "Header label for fiscal quarter-level time filter options."
1363
+ },
1364
+ "filters.period.title": {
1365
+ "text": "PERIOD",
1366
+ "crowdinContext": "Header label for fiscal month (period) time filter options."
1367
+ },
1368
+ "filters.excludeCurrentPeriod.unavailable": {
1369
+ "text": "Not available for the selected date range",
1370
+ "crowdinContext": "Message displayed when the 'exclude current period' option is not applicable to the currently selected date range filter settings."
1371
+ },
1372
+ "filters.staticPeriod": {
1373
+ "text": "Static period",
1374
+ "crowdinContext": "Label for the static period filter option, allowing users to select fixed date ranges that don't change over time (as opposed to relative periods)."
1375
+ },
1376
+ "filters.staticPeriod.errors.emptyStartDate": {
1377
+ "text": "Error: Start date is empty — enter a valid date to continue.",
1378
+ "crowdinContext": "The error is displayed when user did not entered value that specifies start of the daterange."
1379
+ },
1380
+ "filters.staticPeriod.errors.invalidStartDate": {
1381
+ "text": "Error: Invalid start date — use {format} format.",
1382
+ "crowdinContext": "Placeholder '{format}' is used for showing date format. Example 'Error: Start date is not in MM/dd/yyyy format'."
1383
+ },
1384
+ "filters.staticPeriod.errors.startDateAfterEndDate": {
1385
+ "text": "Error: Invalid start date — set a date before the end date.",
1386
+ "crowdinContext": "This error is displayed once there is a datetime range and Start date is after End date."
1387
+ },
1388
+ "filters.staticPeriod.errors.startTimeAfterEndTime": {
1389
+ "text": "Error: Invalid start time — set a time before the end time.",
1390
+ "crowdinContext": "This error is displayed once there is a datetime range and Start time is after End time."
1391
+ },
1392
+ "filters.staticPeriod.errors.emptyEndDate": {
1393
+ "text": "Error: End date is empty — enter a valid date to continue.",
1394
+ "crowdinContext": "The error is displayed when user did not entered value that specifies end of the daterange."
1395
+ },
1396
+ "filters.staticPeriod.errors.invalidEndDate": {
1397
+ "text": "Error: Invalid end date — use {format} format.",
1398
+ "crowdinContext": "Placeholder '{format}' is used for showing date format. Example 'Error: End date is not in MM/dd/yyyy format'."
1399
+ },
1400
+ "filters.staticPeriod.errors.endDateBeforeStartDate": {
1401
+ "text": "Error: Invalid end date — set a date after the start date.",
1402
+ "crowdinContext": "This error is displayed once there is a datetime range and End date is before Start date."
1403
+ },
1404
+ "filters.staticPeriod.errors.endTimeBeforeStartTime": {
1405
+ "text": "Error: Invalid end time — set a time after the start time.",
1406
+ "crowdinContext": "This error is displayed once there is a datetime range and End time is before Start time."
1407
+ },
1408
+ "filters.locked.filter.tooltip": {
1409
+ "text": "This filter is locked",
1410
+ "crowdinContext": "Tooltip explaining that the current filter is locked and cannot be interactive."
1411
+ },
1412
+ "mvf.operator.all": {
1413
+ "text": "all",
1414
+ "crowdinContext": "Covers all the operators like 'Greater than', 'Less than', etc."
1415
+ },
1416
+ "mvf.condition": {
1417
+ "text": "Condition",
1418
+ "crowdinContext": "Measure value filter dropdown label"
1419
+ },
1420
+ "mvf.operator.greaterThan": {
1421
+ "text": "greater than",
1422
+ "crowdinContext": "Filter operator that matches values greater than the specified value. Used in measure value filters to filter data points above a certain threshold."
1423
+ },
1424
+ "mvf.operator.greaterThan.withValue": {
1425
+ "text": "greater than {value}",
1426
+ "crowdinContext": "Filter operator that matches values greater than the specified value. Used in measure value filters to previewfilter data points above a certain threshold."
1427
+ },
1428
+ "mvf.operator.greaterThanOrEqualTo": {
1429
+ "text": "greater than or equal to",
1430
+ "crowdinContext": "Filter operator that matches values greater than or equal to the specified value. Used in measure value filters to include the threshold value in the results."
1431
+ },
1432
+ "mvf.operator.greaterThanOrEqualTo.withValue": {
1433
+ "text": "greater than or equal to {value}",
1434
+ "crowdinContext": "Filter operator that matches values greater than or equal to the specified value. Used in measure value filters to preview the filter data points above a certain threshold."
1435
+ },
1436
+ "mvf.operator.lessThan": {
1437
+ "text": "less than",
1438
+ "crowdinContext": "Filter operator that matches values less than the specified value. Used in measure value filters to filter data points below a certain threshold."
1439
+ },
1440
+ "mvf.operator.lessThan.withValue": {
1441
+ "text": "less than {value}",
1442
+ "crowdinContext": "Filter operator that matches values less than the specified value. Used in measure value filters to preview the filter data points below a certain threshold."
1443
+ },
1444
+ "mvf.operator.lessThanOrEqualTo": {
1445
+ "text": "less than or equal to",
1446
+ "crowdinContext": "Filter operator that matches values less than or equal to the specified value. Used in measure value filters to include the threshold value in the results."
1447
+ },
1448
+ "mvf.operator.lessThanOrEqualTo.withValue": {
1449
+ "text": "less than or equal to {value}",
1450
+ "crowdinContext": "Filter operator that matches values less than or equal to the specified value. Used in measure value filters to preview the filter data points below a certain threshold."
1451
+ },
1452
+ "mvf.operator.equalTo": {
1453
+ "text": "equal to",
1454
+ "crowdinContext": "Filter operator that matches values exactly equal to the specified value. Used in measure value filters to find specific data points."
1455
+ },
1456
+ "mvf.operator.equalTo.withValue": {
1457
+ "text": "equal to {value}",
1458
+ "crowdinContext": "Filter operator that matches values exactly equal to the specified value. Used in measure value filters to preview the filter data points exactly equal to the specified value."
1459
+ },
1460
+ "mvf.operator.notEqualTo": {
1461
+ "text": "not equal to",
1462
+ "crowdinContext": "Filter operator that matches all values except the specified value. Used in measure value filters to exclude specific data points."
1463
+ },
1464
+ "mvf.operator.notEqualTo.withValue": {
1465
+ "text": "not equal to {value}",
1466
+ "crowdinContext": "Filter operator that matches all values except the specified value. Used in measure value filters to preview the filter data points not equal to the specified value."
1467
+ },
1468
+ "mvf.operator.between": {
1469
+ "text": "between",
1470
+ "crowdinContext": "Filter operator that matches values within a specified range (inclusive of boundaries). Used in measure value filters to find data points within a specific range."
1471
+ },
1472
+ "mvf.operator.between.withValue": {
1473
+ "text": "between {from} and {to}",
1474
+ "crowdinContext": "Filter operator that matches values within a specified range (inclusive of boundaries). Used in measure value filters to preview the filter data points within a specific range."
1475
+ },
1476
+ "mvf.operator.notBetween": {
1477
+ "text": "not between",
1478
+ "crowdinContext": "Filter operator that matches values outside a specified range (exclusive of boundaries). Used in measure value filters to exclude data points within a specific range."
1479
+ },
1480
+ "mvf.operator.notBetween.withValue": {
1481
+ "text": "not between {from} and {to}",
1482
+ "crowdinContext": "Filter operator that matches values outside a specified range (exclusive of boundaries). Used in measure value filters to preview the filter data points outside a specific range."
1483
+ },
1484
+ "mvf.operator.between.tooltip.bubble": {
1485
+ "text": "Start and end values are included.",
1486
+ "crowdinContext": "Tooltip explaining that when using the 'between' operator, the range is inclusive of both the start and end values in the filter criteria."
1487
+ },
1488
+ "mvf.operator.notBetween.tooltip.bubble": {
1489
+ "text": "Start and end values are not included.",
1490
+ "crowdinContext": "Tooltip explaining that when using the 'not between' operator, the range is exclusive of both the start and end values in the filter criteria."
1491
+ },
1492
+ "mvf.treatNullValuesAsZeroLabel": {
1493
+ "text": "Treat blank values as 0",
1494
+ "crowdinContext": "Checkbox label. 'blank values' are data rows without any value (empty), which can be considered to be 0 in calculations."
1495
+ },
1496
+ "mvf.treatNullValuesAsZeroTooltip": {
1497
+ "text": "If the filter condition includes 0, blank values will be treated as 0 and included in calculations.",
1498
+ "crowdinContext": "Checkbox label tooltip. 'blank values' are data rows without any value (empty), which can be considered to be 0 during calculations. If the filter is set to '< 1' for example, it includes values of 0 (less than one) and therefore all the blank (empty) values are going to be considered to be 0 in calculations."
1499
+ },
1500
+ "mvf.preview.filterWithoutDimensionality": {
1501
+ "text": "{metric} is <b>{condition}</b>",
1502
+ "crowdinContext": "Template for preview of the measure value filter without dimensionality. Example: 'Sales is greater than 1000'. Do not translate the {metric} and {condition}. These placeholders will be replaced with the actual metric and condition at runtime. <b> is used to bold the condition."
1503
+ },
1504
+ "mvf.preview.filterWithDimensionality": {
1505
+ "text": "{metric} is <b>{condition} for each {dimensionality}</b>",
1506
+ "crowdinContext": "Template for preview of the measure value filter with dimensionality. Example: 'Sales is greater than 1000 for each Product & Brand'. Do not translate the {metric}, {condition}, and {dimensionality} placeholders. These placeholders will be replaced with the actual metric, condition, and dimensionality at runtime. <b> is used to bold the condition and the dimensionality."
1507
+ },
1508
+ "mvf.dimensionality.backwardCompatibilityNote": {
1509
+ "text": "“For each” currently follows the visualization’s attributes. Editing the filter will stop this and let you choose which attributes it uses.",
1510
+ "crowdinContext": "Note about backward compatibility of the 'For each' dimensionality feature. Explains that editing the filter will change its behavior and allow attribute selection."
1511
+ },
1512
+ "mvf.dimensionality.forEach": {
1513
+ "text": "For each",
1514
+ "crowdinContext": "Label of list of attribute items that define granularity (rows) of the report."
1515
+ },
1516
+ "mvf.dimensionality.reset": {
1517
+ "text": "Reset",
1518
+ "crowdinContext": "Button that resets a list to its original state."
1519
+ },
1520
+ "mvf.dimensionality.reset.tooltip": {
1521
+ "text": "Reset to all currently used attributes in the visualization.",
1522
+ "crowdinContext": "Tooltip for the reset button in the dimensionality section of the measure value filter."
1523
+ },
1524
+ "mvf.dimensionality.addButton.tooltip": {
1525
+ "text": "Add attributes",
1526
+ "crowdinContext": "Tooltip for the add button when it is enabled in the dimensionality section."
1527
+ },
1528
+ "mvf.dimensionality.addAttributes": {
1529
+ "text": "Add attribute",
1530
+ "crowdinContext": "A label of button that adds a new attribute to the list."
1531
+ },
1532
+ "mvf.dimensionality.section.fromVisualization": {
1533
+ "text": "From Visualization",
1534
+ "crowdinContext": "Section header label for attributes that are currently used in the visualization buckets."
1535
+ },
1536
+ "mvf.attributePicker.title": {
1537
+ "text": "Select attributes or dates",
1538
+ "crowdinContext": "Title/aria-label for the attribute picker dialog in measure value filter."
1539
+ },
1540
+ "mvf.attributePicker.filter.attributes": {
1541
+ "text": "Attributes",
1542
+ "crowdinContext": "Aria label for the button that filters the attribute picker list to show only attributes."
1543
+ },
1544
+ "mvf.attributePicker.filter.dates": {
1545
+ "text": "Dates",
1546
+ "crowdinContext": "Aria label for the button that filters the attribute picker list to show only date attributes."
1547
+ },
1548
+ "mvf.attributePicker.dateAs": {
1549
+ "text": "Date as",
1550
+ "crowdinContext": "Label for the date dataset selector shown in the Date tab of the measure value filter dimensionality picker."
1551
+ },
1552
+ "mvf.attributePicker.noResults": {
1553
+ "text": "No item matches the search term.",
1554
+ "crowdinContext": "Message shown when no items match the search in the attribute picker."
1555
+ },
1556
+ "mvf.attributePicker.noItems": {
1557
+ "text": "No items available.",
1558
+ "crowdinContext": "Message shown in the measure value filter dimensionality picker when there are no items to select and no search term is entered."
1559
+ },
1560
+ "measureNumberFormat.custom.optionLabel": {
1561
+ "text": "Custom",
1562
+ "crowdinContext": "An item in list of presets. Denotes a custom preset"
1563
+ },
1564
+ "measureNumberFormat.buttonLabel": {
1565
+ "text": "Format: {selectedFormatPresetName}",
1566
+ "crowdinContext": "A label informing the user about the currently selected format. The values of selectedFormatPresetName can be for instance 'Whole number', 'Decimal number', or 'Custom'"
1567
+ },
1568
+ "measureNumberFormat.numberFormat.preset.inherit": {
1569
+ "text": "Inherit",
1570
+ "crowdinContext": "Preset name for number format that inherits formatting from workspace settings or parent metric"
1571
+ },
1572
+ "measureNumberFormat.numberFormat.preset.rounded": {
1573
+ "text": "Rounded",
1574
+ "crowdinContext": "Preset name for number format that displays whole numbers without decimals (e.g., 1,000)"
1575
+ },
1576
+ "measureNumberFormat.numberFormat.preset.decimal1": {
1577
+ "text": "Decimal (1)",
1578
+ "crowdinContext": "Preset name for number format that displays numbers with one decimal place (e.g., 1,000.0)"
1579
+ },
1580
+ "measureNumberFormat.numberFormat.preset.decimal2": {
1581
+ "text": "Decimal (2)",
1582
+ "crowdinContext": "Preset name for number format that displays numbers with two decimal places (e.g., 1,000.00)"
1583
+ },
1584
+ "measureNumberFormat.numberFormat.preset.percentRounded": {
1585
+ "text": "Percent (rounded)",
1586
+ "crowdinContext": "Preset name for percentage format that displays whole percentages without decimals (e.g., 10%)"
1587
+ },
1588
+ "measureNumberFormat.numberFormat.preset.percent1": {
1589
+ "text": "Percent (1)",
1590
+ "crowdinContext": "Preset name for percentage format that displays percentages with one decimal place (e.g., 10.1%)"
1591
+ },
1592
+ "measureNumberFormat.numberFormat.preset.percent2": {
1593
+ "text": "Percent (2)",
1594
+ "crowdinContext": "Preset name for percentage format that displays percentages with two decimal places (e.g., 10.12%)"
1595
+ },
1596
+ "measureNumberFormat.numberFormat.preset.currency": {
1597
+ "text": "Currency (2)",
1598
+ "crowdinContext": "Preset name for currency format that displays currency values with two decimal places (e.g., $1,000.00). Note: Display text changed from 'Currency' to 'Currency (2)' for consistency."
1599
+ },
1600
+ "measureNumberFormat.numberFormat.preset.currency1": {
1601
+ "text": "Currency (1)",
1602
+ "crowdinContext": "Preset name for currency format that displays currency values with one decimal place (e.g., $1,000.0)"
1603
+ },
1604
+ "measureNumberFormat.numberFormat.preset.currencyRounded": {
1605
+ "text": "Currency (rounded)",
1606
+ "crowdinContext": "Preset name for currency format that displays currency values rounded to whole numbers (e.g., $1,000)"
1607
+ },
1608
+ "measureNumberFormat.numberFormat.preset.currencyShortened": {
1609
+ "text": "Currency (shortened)",
1610
+ "crowdinContext": "Preset name for currency format that displays large currency values in shortened form (e.g., $1.0 K, $1.0 M, $1.0 B)"
1611
+ },
1612
+ "measureNumberFormat.numberFormat.template.rounded": {
1613
+ "text": "Rounded",
1614
+ "crowdinContext": "Template name for number format that displays whole numbers without decimals (e.g., 1,000)"
1615
+ },
1616
+ "measureNumberFormat.numberFormat.template.decimal1": {
1617
+ "text": "Decimal (1)",
1618
+ "crowdinContext": "Template name for number format that displays numbers with one decimal place (e.g., 1,000.0)"
1619
+ },
1620
+ "measureNumberFormat.numberFormat.template.decimal2": {
1621
+ "text": "Decimal (2)",
1622
+ "crowdinContext": "Template name for number format that displays numbers with two decimal places (e.g., 1,000.00)"
1623
+ },
1624
+ "measureNumberFormat.numberFormat.template.percentRounded": {
1625
+ "text": "Percent (rounded)",
1626
+ "crowdinContext": "Template name for percentage format that displays whole percentages without decimals (e.g., 10%)"
1627
+ },
1628
+ "measureNumberFormat.numberFormat.template.percent1": {
1629
+ "text": "Percent (1)",
1630
+ "crowdinContext": "Template name for percentage format that displays percentages with one decimal place (e.g., 10.1%)"
1631
+ },
1632
+ "measureNumberFormat.numberFormat.template.percent2": {
1633
+ "text": "Percent (2)",
1634
+ "crowdinContext": "Template name for percentage format that displays percentages with two decimal places (e.g., 10.12%)"
1635
+ },
1636
+ "measureNumberFormat.numberFormat.template.largeNumbersShortened": {
1637
+ "text": "Large numbers shortened",
1638
+ "crowdinContext": "Template name for format that displays large numbers in shortened form (e.g., 1.0 K, 1.0 M, 1.0 B)"
1639
+ },
1640
+ "measureNumberFormat.numberFormat.template.largeNumbersShortenedWithColors": {
1641
+ "text": "Large numbers shortened with colors",
1642
+ "crowdinContext": "Template name for format that displays large numbers in shortened form with color coding (green for positive large values, red for negative)"
1643
+ },
1644
+ "measureNumberFormat.numberFormat.template.negativeNumbersRed": {
1645
+ "text": "Negative numbers in red",
1646
+ "crowdinContext": "Template name for format that displays negative numbers in red color"
1647
+ },
1648
+ "measureNumberFormat.numberFormat.template.financial": {
1649
+ "text": "Financial",
1650
+ "crowdinContext": "Template name for financial format that displays negative numbers in parentheses (e.g., (1,000.0) for negative values)"
1651
+ },
1652
+ "measureNumberFormat.numberFormat.template.decimalWithoutThousandsSeparator": {
1653
+ "text": "Decimal (2) without thousands separator",
1654
+ "crowdinContext": "Template name for decimal format without thousands separator (e.g., 1000.00 instead of 1,000.00)"
1655
+ },
1656
+ "measureNumberFormat.numberFormat.template.conditionalColors": {
1657
+ "text": "Conditional colors",
1658
+ "crowdinContext": "Template name for format that applies different colors based on value ranges (e.g., red for negative, black for small values, green for large values)"
1659
+ },
1660
+ "measureNumberFormat.numberFormat.template.trendSymbols": {
1661
+ "text": "Trend symbols",
1662
+ "crowdinContext": "Template name for format that displays trend symbols with percentages (▲ for positive, ▼ for negative, no symbol for zero)"
1663
+ },
1664
+ "measureNumberFormat.numberFormat.template.timeFromSeconds": {
1665
+ "text": "Time (from seconds)",
1666
+ "crowdinContext": "Template name for format that converts seconds to time format (e.g., days, hours, minutes, seconds)"
1667
+ },
1668
+ "measureNumberFormat.numberFormat.template.zeroInsteadOfNull": {
1669
+ "text": "Zero instead of blank value",
1670
+ "crowdinContext": "Template name for format that displays zero instead of null/empty values"
1671
+ },
1672
+ "measureNumberCustomFormatDialog.title": {
1673
+ "text": "Custom format",
1674
+ "crowdinContext": "Title of the dialog for setting a custom measure format."
1675
+ },
1676
+ "measureNumberCustomFormatDialog.template.preview.title": {
1677
+ "text": "Format preview",
1678
+ "crowdinContext": "The title of the help bubble for custom measure format template"
1679
+ },
1680
+ "measureNumberCustomFormatDialog.template.title": {
1681
+ "text": "Templates",
1682
+ "crowdinContext": "Title of the list of templates"
1683
+ },
1684
+ "measureNumberCustomFormatDialog.extendedPreview.button": {
1685
+ "text": "Show more",
1686
+ "crowdinContext": "The title of button which will display more examples"
1687
+ },
1688
+ "measureNumberCustomFormatDialog.howToFormat": {
1689
+ "text": "How to format?",
1690
+ "crowdinContext": "Link to help"
1691
+ },
1692
+ "measureNumberCustomFormatDialog.definition": {
1693
+ "text": "Definition",
1694
+ "crowdinContext": "Header of format definition field."
1695
+ },
1696
+ "measureNumberCustomFormatDialog.preview": {
1697
+ "text": "Preview",
1698
+ "crowdinContext": "Header of a preview section"
1699
+ },
1700
+ "properties.legend.title": {
1701
+ "text": "Legend",
1702
+ "crowdinContext": "Title for the legend section in visualization properties. The legend provides a key to the colors and patterns used in the chart."
1703
+ },
1704
+ "properties.legend.series.item.description": {
1705
+ "text": "Use to toggle visibility",
1706
+ "crowdinContext": "Tooltip for legend items. Space and Enter stands for keyboard keys."
1707
+ },
1708
+ "properties.legend.more.button": {
1709
+ "text": "Show all legend items in a dialog",
1710
+ "crowdinContext": "Button text for opening a dialog to show all legend items"
1711
+ },
1712
+ "properties.legend.series.named": {
1713
+ "text": "Legend: {name}",
1714
+ "crowdinContext": "Title for a named legend item in visualization properties. {name} is a placeholder for the legend name."
1715
+ },
1716
+ "properties.legend.series.unnamed": {
1717
+ "text": "Visualization legend",
1718
+ "crowdinContext": "Title for the legend section in visualization properties. The legend provides a key to the colors and patterns used in the chart."
1719
+ },
1720
+ "properties.color.total": {
1721
+ "text": "Total",
1722
+ "crowdinContext": "Label for total values color configuration"
1723
+ },
1724
+ "properties.color.positive": {
1725
+ "text": "Positive",
1726
+ "crowdinContext": "Label for positive values color configuration"
1727
+ },
1728
+ "properties.color.negative": {
1729
+ "text": "Negative",
1730
+ "crowdinContext": "Label for negative values color configuration"
1731
+ },
1732
+ "attrf.all": {
1733
+ "text": "All",
1734
+ "crowdinContext": "Option to select all items in an attribute filter. When selected, the filter will include all possible values of the attribute."
1735
+ },
1736
+ "attrf.all_except": {
1737
+ "text": "All except",
1738
+ "crowdinContext": "Option to exclude specific items from an attribute filter. When selected, all values except the specified ones will be included in the filter."
1739
+ },
1740
+ "rankingFilter.topBottom": {
1741
+ "text": "Top/bottom values",
1742
+ "crowdinContext": "Filter title"
1743
+ },
1744
+ "rankingFilter.top": {
1745
+ "text": "Top",
1746
+ "crowdinContext": "Top ranking operator option."
1747
+ },
1748
+ "rankingFilter.bottom": {
1749
+ "text": "Bottom",
1750
+ "crowdinContext": "Bottom ranking operator option."
1751
+ },
1752
+ "rankingFilter.allRecords": {
1753
+ "text": "All",
1754
+ "crowdinContext": "Option describing all records."
1755
+ },
1756
+ "rankingFilter.allRecords.tooltip": {
1757
+ "text": "Apply the filter to all attributes in the visualization.",
1758
+ "crowdinContext": "Explanation of 'All' option."
1759
+ },
1760
+ "rankingFilter.attributeDropdown.oneAttributeTooltip": {
1761
+ "text": "The visualization is sliced only by one attribute. The filter will apply to all its values.",
1762
+ "crowdinContext": "Tooltip when no options are available for attribute dropdown."
1763
+ },
1764
+ "rankingFilter.outOf": {
1765
+ "text": "Out of",
1766
+ "crowdinContext": "Section title to specify ranking attribute."
1767
+ },
1768
+ "rankingFilter.basedOn": {
1769
+ "text": "Based on",
1770
+ "crowdinContext": "Section title to specify ranking by measure."
1771
+ },
1772
+ "rankingFilter.valueTooSmall": {
1773
+ "text": "Input value should be a positive number.",
1774
+ "crowdinContext": "Warning message when value is lower than 1."
1775
+ },
1776
+ "rankingFilter.valueTooLarge": {
1777
+ "text": "Input value too large.",
1778
+ "crowdinContext": "Warning message when value is too large."
1779
+ },
1780
+ "rankingFilter.preview": {
1781
+ "text": "Preview:",
1782
+ "crowdinContext": "Section title that shows ranking filter preview."
1783
+ },
1784
+ "rankingFilter.preview.top_without_attribute": {
1785
+ "text": "Top {value} of <strong>{measure}</strong>",
1786
+ "crowdinContext": "Preview text showing the top N values based on a measure, where {value} is the number of items and {measure} is the measure name. Used when no attribute is specified for ranking."
1787
+ },
1788
+ "rankingFilter.preview.bottom_without_attribute": {
1789
+ "text": "Bottom {value} of <strong>{measure}</strong>",
1790
+ "crowdinContext": "Preview text showing the bottom N values based on a measure, where {value} is the number of items and {measure} is the measure name. Used when no attribute is specified for ranking."
1791
+ },
1792
+ "rankingFilter.preview.top_with_attribute": {
1793
+ "text": "Top {value} out of <strong>{attribute}</strong> based on <strong>{measure}</strong>",
1794
+ "crowdinContext": "Preview text showing the top N values of a specific attribute based on a measure, where {value} is the number of items, {attribute} is the attribute name, and {measure} is the measure name."
1795
+ },
1796
+ "rankingFilter.preview.bottom_with_attribute": {
1797
+ "text": "Bottom {value} out of <strong>{attribute}</strong> based on <strong>{measure}</strong>",
1798
+ "crowdinContext": "Preview text showing the bottom N values of a specific attribute based on a measure, where {value} is the number of items, {attribute} is the attribute name, and {measure} is the measure name."
1799
+ },
1800
+ "rankingFilter.valueTooltip": {
1801
+ "text": "If multiple items have the same value, the filter shows all items with this value. The visualization may then display more items than the number set.",
1802
+ "crowdinContext": "Tooltip with explanation of why ranking filter can return more rows than the number user entered in the filter."
1803
+ },
1804
+ "attributesDropdown.itemsFiltered.tooltip": {
1805
+ "text": "Values are filtered by: <strong>{filters}</strong>",
1806
+ "crowdinContext": "Tooltip explaining which filters are currently applied to the attribute dropdown items. The {filters} placeholder will be replaced with the names of active filters."
1807
+ },
1808
+ "attributesDropdown.itemsFiltered": {
1809
+ "text": "Items are filtered",
1810
+ "crowdinContext": "This message is displayed when attribute elements are being filtered out by parent filters"
1811
+ },
1812
+ "attributeFilterDropdown.emptyValue": {
1813
+ "text": "empty value",
1814
+ "crowdinContext": "Display text for empty or null values in the attribute filter dropdown. Used when an attribute has no value assigned."
1815
+ },
1816
+ "attributesDropdown.alternativeValueTooltip": {
1817
+ "text": "Alternative value from primary label {label}: {value}",
1818
+ "crowdinContext": "Shown to screen readers when there is an alternative value to an attribute."
1819
+ },
1820
+ "attributesDropdown.alternativeValueTooltipShort": {
1821
+ "text": "({label}: {value})",
1822
+ "crowdinContext": "Shown to screen readers when there is an alternative value to an attribute."
1823
+ },
1824
+ "attributesDropdown.filterValues": {
1825
+ "text": "Filter values",
1826
+ "crowdinContext": "Shown to screen readers as a label for the list of picked attribute values"
1827
+ },
1828
+ "attributesDropdown.selectedValues": {
1829
+ "text": "Selected values",
1830
+ "crowdinContext": "Shown to screen readers as a label for the list of picked attribute values"
1831
+ },
1832
+ "attributesDropdown.onlyLabel": {
1833
+ "text": "Select only {itemTitle}",
1834
+ "crowdinContext": "Shown to screen readers as a label for the 'Only' button that filters out all other attribute values"
1835
+ },
1836
+ "attributesDropdown.noChanges": {
1837
+ "text": "No changes to apply",
1838
+ "crowdinContext": "Shown to screen readers on a disabled apply button when there are no changes to apply"
1839
+ },
1840
+ "attributesDropdown.noData": {
1841
+ "text": "This attribute has no values.",
1842
+ "crowdinContext": "This message is displayed when when there are no items available because the attribute has no elements."
1843
+ },
1844
+ "attributesDropdown.noResultsMatch": {
1845
+ "text": "No results match.",
1846
+ "crowdinContext": "This message is displayed when when there are no items available because they were filtered out by search."
1847
+ },
1848
+ "attributesDropdown.allItemsFiltered": {
1849
+ "text": "All values are filtered out.",
1850
+ "crowdinContext": "This message is displayed when there are no items available because they were filtered out by parent filters."
1851
+ },
1852
+ "attributesDropdown.configuration": {
1853
+ "text": "Configuration",
1854
+ "crowdinContext": "Configuration button label in attribute filter dropdown"
1855
+ },
1856
+ "attributesDropdown.removeTooltip": {
1857
+ "text": "Remove from dashboard",
1858
+ "crowdinContext": "Tooltip text of button for deleting filter"
1859
+ },
1860
+ "attributesDropdown.display_as": {
1861
+ "text": "Display as: {title}",
1862
+ "crowdinContext": "Label shown on dropdown button that changes form of the attribute used in visualization. For example 'Display as: Shortened name'"
1863
+ },
1864
+ "attributesDropdown.empty.item.tooltip": {
1865
+ "text": "Include missing (null) and empty (\"\") values.",
1866
+ "crowdinContext": "Tooltip text of how selecting an (empty value) item affects the values shown."
1867
+ },
1868
+ "attributesDropdown.filterConfiguredMessage": {
1869
+ "text": "<strong>{parentTitle}</strong> is already filtered by <strong>{childTitle}</strong> filter directly or through other filters.",
1870
+ "crowdinContext": "Message explaining filter configuration status. The <strong> tags emphasize attribute names, and {parentTitle}/{childTitle} show the specific filter names."
1871
+ },
1872
+ "attributesDropdown.attributeNameWithData": {
1873
+ "text": "with data of",
1874
+ "crowdinContext": "Will be used in sentence between two nouns. For instance 'Filter by AttributeX with data of MetricY'"
1875
+ },
1876
+ "attributesDropdown.noConnectionMessage": {
1877
+ "text": "<strong>{childTitle}</strong> cannot be filtered by <strong>{parentTitle}</strong>. There is no connection between the filter attributes in the data model.",
1878
+ "crowdinContext": "Message explaining that a filter cannot be applied because there is no connection between the filter attributes in the data model."
1879
+ },
1880
+ "attributesDropdown.details.type": {
1881
+ "text": "Attribute",
1882
+ "crowdinContext": "Label indicating the type of metadata being displayed, in this case an 'Attribute' type field in the attribute dropdown details."
1883
+ },
1884
+ "attributesDropdown.details.dataset": {
1885
+ "text": "Dataset",
1886
+ "crowdinContext": "Label for the dataset field in the attribute dropdown details, showing which dataset the attribute belongs to."
1887
+ },
1888
+ "attributesDropdown.relevantValues": {
1889
+ "text": "Relevant values only.{nbsp}",
1890
+ "crowdinContext": "Message explaining that only relevant values are displayed in the dropdown."
1891
+ },
1892
+ "attributesDropdown.relevantValues.tooltip.parentFilters": {
1893
+ "text": "Available values for <strong>{child}</strong> are filtered by selected <strong>{parents}</strong>.",
1894
+ "crowdinContext": "Message about filter dependencies. The <strong> tags emphasize filter names, and {child}/{parents} placeholders show the specific filter relationships."
1895
+ },
1896
+ "attributesDropdown.relevantValues.tooltip.limits": {
1897
+ "text": "Values for <strong>{child}</strong> are filtered by an additional filter setting. ",
1898
+ "crowdinContext": "Message about filter dependencies. The <strong> tags emphasize filter names, and {child}/{parents} placeholders show the specific filter relationships."
1899
+ },
1900
+ "attributesDropdown.relevantValues.tooltip.parentFiltersLimits": {
1901
+ "text": "Values for <strong>{child}</strong> are filtered by the selected <strong>{parents}</strong> and an additional filter setting.",
1902
+ "crowdinContext": "Message about filter dependencies. The <strong> tags emphasize filter names, and {child}/{parents} placeholders show the specific filter relationships."
1903
+ },
1904
+ "attributesDropdown.noRelevantValues": {
1905
+ "text": "No relevant values",
1906
+ "crowdinContext": "Message displayed when there are no matching values available in the dropdown based on the current filter criteria."
1907
+ },
1908
+ "attributesDropdown.noRelevantValues.tooltip": {
1909
+ "text": "Your selection in the dependent filter has resulted in no matching values for this filter.{break}Click 'Show all' to see all available options.",
1910
+ "crowdinContext": "Tooltip explaining that the current filter combination yields no results and suggests viewing all available options by clicking the 'Show all' button."
1911
+ },
1912
+ "attributesDropdown.irrelevantValues": {
1913
+ "text": "Irrelevant value selected.{nbsp}",
1914
+ "crowdinContext": "Message with non-breaking space for proper formatting. The {nbsp} represents a non-breaking space character."
1915
+ },
1916
+ "attributesDropdown.irrelevantValues.tooltip": {
1917
+ "text": "Selected value is no longer relevant due to changes in <strong>{parents}</strong>.",
1918
+ "crowdinContext": "Message about parent filter restrictions. The <strong> tags emphasize filter names, and {parents} shows the list of conflicting filters."
1919
+ },
1920
+ "attributesDropdown.irrelevantValues.clear": {
1921
+ "text": "Clear",
1922
+ "crowdinContext": "Button label for clearing the current selection of irrelevant values in the attribute filter dropdown."
1923
+ },
1924
+ "attributesDropdown.showAll": {
1925
+ "text": "Show all",
1926
+ "crowdinContext": "Button label that reveals all available options in the dropdown, regardless of current filter settings."
1927
+ },
1928
+ "shareDialog.share.grantee.title": {
1929
+ "text": "Share with users and groups",
1930
+ "crowdinContext": "Title of dialog used for sharing of private dashboard with other users or user groups."
1931
+ },
1932
+ "shareDialog.share.dashboard.title": {
1933
+ "text": "Share dashboard",
1934
+ "crowdinContext": "Title of dialog used for sharing dashboard."
1935
+ },
1936
+ "shareDialog.share.dashboard.list.title": {
1937
+ "text": "Users & groups",
1938
+ "crowdinContext": "Title shown above list of grantees in share dialog."
1939
+ },
1940
+ "shareDialog.share.link.helperText": {
1941
+ "text": "Link reflects current filters. Only accessible to users with dashboard access.",
1942
+ "crowdinContext": "Helper text shown below the share link input in the share dialog."
1943
+ },
1944
+ "shareDialog.share.link.helperTextWithTabs": {
1945
+ "text": "Link reflects current filters on active tab. Only accessible to users with dashboard access.",
1946
+ "crowdinContext": "Helper text shown below the share link input in the share dialog."
1947
+ },
1948
+ "shareDialog.share.link.title": {
1949
+ "text": "Link",
1950
+ "crowdinContext": "Title shown above the share link input in the share dialog."
1951
+ },
1952
+ "shareDialog.share.link.buttonText": {
1953
+ "text": "Copy dashboard link",
1954
+ "crowdinContext": "Label of button that copies the share link to the clipboard."
1955
+ },
1956
+ "shareDialog.share.grantee.share": {
1957
+ "text": "Share",
1958
+ "crowdinContext": "Title of confirm button of share dialog"
1959
+ },
1960
+ "shareDialog.share.grantee.list.title": {
1961
+ "text": "Shared with",
1962
+ "crowdinContext": "Title shown above list of grantees in share dialog."
1963
+ },
1964
+ "shareDialog.share.grantee.add": {
1965
+ "text": "Add",
1966
+ "crowdinContext": "Label of button than adds a new grantee in share dialog."
1967
+ },
1968
+ "shareDialog.share.grantee.addLabel": {
1969
+ "text": "Add users or groups",
1970
+ "crowdinContext": "Label of button than adds a new grantee in share dialog."
1971
+ },
1972
+ "shareDialog.share.grantee.add.empty.selection": {
1973
+ "text": "No user or group selected.",
1974
+ "crowdinContext": "Information message shown when there is no user or group in grantees list in share dialog."
1975
+ },
1976
+ "shareDialog.share.grantee.add.info": {
1977
+ "text": "Add users and groups",
1978
+ "crowdinContext": "Title of dialog used for sharing of private dashboard with other users or user groups."
1979
+ },
1980
+ "shareDialog.share.grantee.add.search.placeholder": {
1981
+ "text": "Search users and groups",
1982
+ "crowdinContext": "Placeholder of empty share dialog search input."
1983
+ },
1984
+ "shareDialog.share.grantee.add.search.error.message": {
1985
+ "text": "Failed to load users and groups. Try again later.",
1986
+ "crowdinContext": "Error message shown to the user when query in search input failed"
1987
+ },
1988
+ "shareDialog.share.grantee.add.label.user": {
1989
+ "text": "Users",
1990
+ "crowdinContext": "Label shown to the user when query in search input matches an user"
1991
+ },
1992
+ "shareDialog.share.grantee.add.label.group": {
1993
+ "text": "Groups",
1994
+ "crowdinContext": "Label shown to the user when query in search input matches a group of users"
1995
+ },
1996
+ "shareDialog.share.grantee.add.search.no.matching.items": {
1997
+ "text": "No matching users or groups.",
1998
+ "crowdinContext": "Information shown to the user when query in search input does no match any user or group."
1999
+ },
2000
+ "shareDialog.share.grantee.item.you": {
2001
+ "text": "{userName} (You)",
2002
+ "crowdinContext": "Text used for currently logged user in the list of grantees in share dialog. '{userName}' placeholder is replaced with logged user name, for example, 'John Doe (You)'. Keep {userName} placeholder unchanged."
2003
+ },
2004
+ "shareDialog.share.grantee.item.users.count": {
2005
+ "text": "{granteeCount} users",
2006
+ "crowdinContext": "Description of grantee user group in share dialog that informs about how many users are in the group. {granteeCount} placeholder will be replaced with a number, for example '110 users'"
2007
+ },
2008
+ "shareDialog.share.grantee.item.creator": {
2009
+ "text": "Creator",
2010
+ "crowdinContext": "Tag rendered next to the name of a user in grantees list in share dialog that marks user as creator of the shared dashboard. The text is rendered in a 'pill' component."
2011
+ },
2012
+ "shareDialog.share.grantee.item.user.all": {
2013
+ "text": "All users",
2014
+ "crowdinContext": "Title of user group that contains all the users in the system."
2015
+ },
2016
+ "shareDialog.share.grantee.item.user.inactive": {
2017
+ "text": "Inactive user",
2018
+ "crowdinContext": "Title of user that is inactive or deleted in workspace"
2019
+ },
2020
+ "shareDialog.share.grantee.item.user.inactive.description": {
2021
+ "text": "User was deleted from this workspace",
2022
+ "crowdinContext": "Description of inactive user"
2023
+ },
2024
+ "shareDialog.share.grantee.item.remove.selection": {
2025
+ "text": "Remove from selection.",
2026
+ "crowdinContext": "Text of the tooltip shown above button that removes user or group from unsaved selection of newly added grantees that will gain access right to the dashboard after changes in share dialog are saved."
2027
+ },
2028
+ "shareDialog.share.granular.grantee.permission.edit": {
2029
+ "text": "Can edit & share",
2030
+ "crowdinContext": "Permission level that grants the user full edit and share capabilities for the dashboard, including modifying content and managing access for others."
2031
+ },
2032
+ "shareDialog.share.granular.grantee.permission.share": {
2033
+ "text": "Can view & share",
2034
+ "crowdinContext": "Permission level that allows users to view the dashboard and share it with others, but not modify the dashboard content."
2035
+ },
2036
+ "shareDialog.share.granular.grantee.permission.view": {
2037
+ "text": "Can view",
2038
+ "crowdinContext": "Basic read-only permission level that allows users to view the dashboard content but not make any changes or share it with others."
2039
+ },
2040
+ "shareDialog.share.granular.grantee.permission.remove": {
2041
+ "text": "Remove",
2042
+ "crowdinContext": "Button label for removing a user's or group's permissions entirely from the dashboard."
2043
+ },
2044
+ "shareDialog.share.granular.granularUser.tooltip.cannotChangeHigher": {
2045
+ "text": "You cannot remove or change permissions for users with higher permissions than you have.",
2046
+ "crowdinContext": "Error message shown when a user attempts to modify permissions of another user who has higher access rights than themselves."
2047
+ },
2048
+ "shareDialog.share.granular.granularGroup.tooltip.cannotChangeHigher": {
2049
+ "text": "You cannot remove or change permissions for groups with higher permissions than you have.",
2050
+ "crowdinContext": "Error message shown when a user attempts to modify permissions of a group that has higher access rights than they do."
2051
+ },
2052
+ "shareDialog.share.granular.grantee.tooltip.cannotGrantHigher": {
2053
+ "text": "You cannot set higher permissions than you have.",
2054
+ "crowdinContext": "Error message shown when a user attempts to grant permissions that exceed their own permission level."
2055
+ },
2056
+ "shareDialog.share.granular.granularUser.tooltip.cannotGrantLower": {
2057
+ "text": "You cannot set lower permissions than are the permissions from user groups with this user.",
2058
+ "crowdinContext": "Error message shown when attempting to set permissions for a user that would be lower than what they inherit from their group memberships."
2059
+ },
2060
+ "shareDialog.share.granular.granularGroup.tooltip.cannotGrantLower": {
2061
+ "text": "You cannot set lower permissions than are the permissions from user groups that include this group.",
2062
+ "crowdinContext": "Error message shown when attempting to set permissions for a group that would be lower than what's inherited from parent groups."
2063
+ },
2064
+ "shareDialog.share.granular.granularUser.tooltip.cannotRemoveFromParent": {
2065
+ "text": "You cannot remove permissions for this user in this workspace. To remove the permissions, do so from the parent workspace.",
2066
+ "crowdinContext": "Error message shown when a user tries to remove permissions that are inherited from a parent workspace and cannot be modified in the current context."
2067
+ },
2068
+ "shareDialog.share.granular.granularGroup.tooltip.cannotRemoveFromParent": {
2069
+ "text": "You cannot remove permissions for this user group in this workspace. To remove the permissions, do so from the parent workspace.",
2070
+ "crowdinContext": "Error message shown when a user tries to remove permissions for a group that are inherited from a parent workspace and cannot be modified in the current context."
2071
+ },
2072
+ "shareDialog.share.granular.granularUser.tooltip.noChangeAvailable": {
2073
+ "text": "You cannot remove or change permissions for this user in this workspace. To edit the permissions, do so from the parent workspace.",
2074
+ "crowdinContext": "Error message shown when a user attempts to modify permissions that are managed at a higher level and cannot be changed in the current workspace context."
2075
+ },
2076
+ "shareDialog.share.granular.granularGroup.tooltip.noChangeAvailable": {
2077
+ "text": "You cannot remove or change permissions for this user group in this workspace. To edit the permissions, do so from the parent workspace.",
2078
+ "crowdinContext": "Error message shown when a user attempts to modify group permissions that are managed at a higher level and cannot be changed in the current workspace context."
2079
+ },
2080
+ "shareDialog.share.granular.administrator.info": {
2081
+ "text": "<b>Note.</b> You and other administrators have full access to all dashboards.",
2082
+ "crowdinContext": "Informational message displayed to administrators, indicating they have full access privileges across all dashboards by default."
2083
+ },
2084
+ "shareDialog.share.granular.grantee.permission.label": {
2085
+ "text": "Permission",
2086
+ "crowdinContext": "Label for permissions selector"
2087
+ },
2088
+ "dialogs.closeLabel": {
2089
+ "text": "Close dialog",
2090
+ "crowdinContext": "Label of a close button"
2091
+ },
2092
+ "dialogs.backButtonLabel": {
2093
+ "text": "Back to previous step",
2094
+ "crowdinContext": "Label of a back button"
2095
+ },
2096
+ "sorting.dropdown.header": {
2097
+ "text": "Sort visualization",
2098
+ "crowdinContext": "The title of sorting dropdown where you can choose which sort options you want to use. For example sort by attribute A1."
2099
+ },
2100
+ "sorting.type.alphabetical.asc": {
2101
+ "text": "A to Z",
2102
+ "crowdinContext": "Title of sort option when visualization is sorted alphabetically and in ascending order."
2103
+ },
2104
+ "sorting.type.alphabetical.desc": {
2105
+ "text": "Z to A",
2106
+ "crowdinContext": "Title of sort option when visualization is sorted alphabetically and in descending order."
2107
+ },
2108
+ "sorting.type.date.asc": {
2109
+ "text": "Oldest to newest",
2110
+ "crowdinContext": "Title of sort option when visualization is sorted by date and in ascending order."
2111
+ },
2112
+ "sorting.type.date.desc": {
2113
+ "text": "Newest to oldest",
2114
+ "crowdinContext": "Title of sort option when visualization is sorted by date and in descending order."
2115
+ },
2116
+ "sorting.type.default": {
2117
+ "text": "Default",
2118
+ "crowdinContext": "Title of sort option when visualization is sorted by default order."
2119
+ },
2120
+ "sorting.type.numerical.asc": {
2121
+ "text": "Smallest to largest",
2122
+ "crowdinContext": "Title of sort option when visualization is sorted numerically and in ascending order."
2123
+ },
2124
+ "sorting.type.numerical.desc": {
2125
+ "text": "Largest to smallest",
2126
+ "crowdinContext": "Title of sort option when visualization is sorted numerically and in descending order."
2127
+ },
2128
+ "sorting.by": {
2129
+ "text": "by",
2130
+ "crowdinContext": "Text that will appear before the measures from which attribute will be sorted."
2131
+ },
2132
+ "sorting.sum.of.all.measure": {
2133
+ "text": "Total",
2134
+ "crowdinContext": "Title of sort option when is sorted by sum of all measures."
2135
+ },
2136
+ "sorting.default.tooltip": {
2137
+ "text": "Use the order defined in the attribute.",
2138
+ "crowdinContext": "Tooltip that explains user that default sorting of the selected attribute will be applied on the visualization."
2139
+ },
2140
+ "embedInsightDialog.actions.close": {
2141
+ "text": "Close",
2142
+ "crowdinContext": "Label for the close button in the embed insight dialog, allowing users to exit the dialog without copying any code."
2143
+ },
2144
+ "embedInsightDialog.actions.copyCode": {
2145
+ "text": "Copy code",
2146
+ "crowdinContext": "Label of confirm button, copy code to clipboard."
2147
+ },
2148
+ "embedInsightDialog.component.type": {
2149
+ "text": "Component type",
2150
+ "crowdinContext": "Selector that define the component type of generated code Referential or Programmatic"
2151
+ },
2152
+ "embedInsightDialog.code.language.codeAs": {
2153
+ "text": "Code as",
2154
+ "crowdinContext": "Selector that define language of generated code Typescript or Javascript"
2155
+ },
2156
+ "embedInsightDialog.react.options": {
2157
+ "text": "Other options",
2158
+ "crowdinContext": "Options of generated code. Include component specific item, define height etc."
2159
+ },
2160
+ "embedInsightDialog.webComponents.options": {
2161
+ "text": "Options",
2162
+ "crowdinContext": "Options of generated code. Include component specific item, define height etc."
2163
+ },
2164
+ "embedInsightDialog.webComponents.options.displayTitle": {
2165
+ "text": "Display title",
2166
+ "crowdinContext": "Option to control whether the title of the embedded insight should be displayed in the web component."
2167
+ },
2168
+ "embedInsightDialog.webComponents.options.customTitle": {
2169
+ "text": "Custom title",
2170
+ "crowdinContext": "Options of generated code. Include component specific item, define height etc."
2171
+ },
2172
+ "embedInsightDialog.webComponents.options.locale": {
2173
+ "text": "Locale",
2174
+ "crowdinContext": "Options of generated code. Include component specific item, define height etc."
2175
+ },
2176
+ "embedInsightDialog.webComponents.locale.tooltip": {
2177
+ "text": "Choose a specific language localization. If disabled, the visualization defaults to your current display language settings.",
2178
+ "crowdinContext": "Tooltip for the web components locale"
2179
+ },
2180
+ "embedInsightDialog.code.options.include.config.info": {
2181
+ "text": "Include the visualization configuration of colors, axes, legend, and canvas if available.",
2182
+ "crowdinContext": "Tool tip that explain Include configuration"
2183
+ },
2184
+ "embedInsightDialog.code.options.custom.height": {
2185
+ "text": "Custom height",
2186
+ "crowdinContext": "Option to specify a custom height for the embedded insight component in the generated code."
2187
+ },
2188
+ "embedInsightDialog.code.options.display.configuration": {
2189
+ "text": "Include configuration",
2190
+ "crowdinContext": "Option to include visualization configuration (colors, axes, legend settings) in the generated embed code."
2191
+ },
2192
+ "embedInsightDialog.headLine.embedInsight": {
2193
+ "text": "Embed visualization",
2194
+ "crowdinContext": "Title of the dialog for embedding a visualization, shown when the user wants to embed a specific visualization."
2195
+ },
2196
+ "embedInsightDialog.componentType.byReference.tooltip": {
2197
+ "text": "Embed as a reference to a saved visualization in a generic GD.UI react component. Any future changes to the visualization (such as visualization type, metrics, attributes) will be reflected in the embedded version.",
2198
+ "crowdinContext": "Tooltip that explain what Embed as a live visualization means"
2199
+ },
2200
+ "embedInsightDialog.componentType.byDefinition.tooltip": {
2201
+ "text": "Embed as an visualization definition in a specific GD.UI react component based on the currently selected visualization type. No future changes to the visualization (such as visualization type, metrics, attributes) made in this application will be reflected in the embedded version.",
2202
+ "crowdinContext": "Tooltip that explain what Embed as a a permanent report"
2203
+ },
2204
+ "embedInsightDialog.webComponents.customTitle.tooltip": {
2205
+ "text": "Define the text of the title directly in the code snippet.",
2206
+ "crowdinContext": "Tooltip for the web components custom title"
2207
+ },
2208
+ "embedInsightDialog.webComponents.customTitle.disabled.tooltip": {
2209
+ "text": "Enable Display title first.",
2210
+ "crowdinContext": "Tooltip for the web components custom title when it is disabled"
2211
+ },
2212
+ "embedInsightDialog.prepareEnvironmentMessage": {
2213
+ "text": "<b>Note.</b> In order for this snippet to work, prepare your environment.",
2214
+ "crowdinContext": "Message explaining code area restrictions. The <b> or <a> tags provide emphasis and clickable actions respectively."
2215
+ },
2216
+ "embedInsightDialog.prepareEnvironmentMessage.link": {
2217
+ "text": "Learn more",
2218
+ "crowdinContext": "Link with additional info"
2219
+ },
2220
+ "embed.dialog.numeric.input.validation": {
2221
+ "text": "The value must be a number greater than 0",
2222
+ "crowdinContext": "Validation of custom embedded dashboard height"
2223
+ },
2224
+ "embed.dialog.numeric.input.warning": {
2225
+ "text": "This input accepts only digits greater than 0",
2226
+ "crowdinContext": "Validation of custom embedded dashboard height"
2227
+ },
2228
+ "embedInsightDialog.complete.list.props.message": {
2229
+ "text": "Complete list of embedding properties",
2230
+ "crowdinContext": "Link to documentation of used component and all component properties"
2231
+ },
2232
+ "embedInsightDialog.emptyInsight.byReference": {
2233
+ "text": "Code snipped will be displayed here once you <a>save the visualization</a>.",
2234
+ "crowdinContext": "Message explaining code area restrictions. The <b> or <a> tags provide emphasis and clickable actions respectively."
2235
+ },
2236
+ "embedInsightDialog.emptyInsight.byDefinition": {
2237
+ "text": "This visualization type cannot be embedded as programmatic type component.",
2238
+ "crowdinContext": "The disabled message for code area"
2239
+ },
2240
+ "embedDialog.tab.react": {
2241
+ "text": "React",
2242
+ "crowdinContext": "The tab title"
2243
+ },
2244
+ "embedDialog.tab.webComponents": {
2245
+ "text": "Web Components",
2246
+ "crowdinContext": "The tab title"
2247
+ },
2248
+ "error.overlay.login": {
2249
+ "text": "Login",
2250
+ "crowdinContext": "Button label for the login action shown in the error overlay when a user has been logged out."
2251
+ },
2252
+ "error.overlay.title": {
2253
+ "text": "You have been logged out",
2254
+ "crowdinContext": "Title shown in the error overlay when a user's session has expired or they have been logged out."
2255
+ },
2256
+ "error.overlay.text": {
2257
+ "text": "Please log back in to continue your work.",
2258
+ "crowdinContext": "Instructional text shown in the error overlay, guiding the user to log back in after being logged out."
2259
+ },
2260
+ "stylingPicker.title.basic": {
2261
+ "text": "Default",
2262
+ "crowdinContext": "Label for the default styling option in the styling picker, using the system's default styles."
2263
+ },
2264
+ "stylingPicker.title.custom": {
2265
+ "text": "Custom",
2266
+ "crowdinContext": "Label for the custom styling option in the styling picker, allowing users to apply their own styles."
2267
+ },
2268
+ "stylingPicker.title.create": {
2269
+ "text": "Create",
2270
+ "crowdinContext": "Button label for creating a new custom style in the styling picker interface."
2271
+ },
2272
+ "stylingEditor.dialog.name": {
2273
+ "text": "Name",
2274
+ "crowdinContext": "Label for the name input field in the styling editor dialog."
2275
+ },
2276
+ "stylingEditor.dialog.name.required": {
2277
+ "text": "Cannot save. Specify a name.",
2278
+ "crowdinContext": "Error message shown when attempting to save a style without providing a name."
2279
+ },
2280
+ "stylingEditor.dialog.definition": {
2281
+ "text": "Definition",
2282
+ "crowdinContext": "Name of the text field to describe an object."
2283
+ },
2284
+ "stylingEditor.dialog.definition.required": {
2285
+ "text": "Cannot save. Specify a definition.",
2286
+ "crowdinContext": "Error message shown when attempting to save a style without providing a definition."
2287
+ },
2288
+ "stylingEditor.dialog.definition.invalid": {
2289
+ "text": "Cannot save. The definition is not a valid JSON object.",
2290
+ "crowdinContext": "Error message shown when the style definition contains invalid JSON syntax."
2291
+ },
2292
+ "stylingEditor.dialog.examples": {
2293
+ "text": "Templates",
2294
+ "crowdinContext": "Label for the templates section in the styling editor dialog, containing predefined style examples."
2295
+ },
2296
+ "stylingEditor.dialog.example.paste": {
2297
+ "text": "Paste",
2298
+ "crowdinContext": "Button text to paste content into text field."
2299
+ },
2300
+ "stylingPicker.item.edit": {
2301
+ "text": "Edit",
2302
+ "crowdinContext": "Button label for editing an existing style in the styling picker."
2303
+ },
2304
+ "stylingPicker.item.delete": {
2305
+ "text": "Delete",
2306
+ "crowdinContext": "Button label for removing a style from the styling picker."
2307
+ },
2308
+ "stylingPicker.item.delete.tooltip": {
2309
+ "text": "Applied item cannot be deleted.",
2310
+ "crowdinContext": "Tooltip message shown when attempting to delete a style that is currently in use."
2311
+ },
2312
+ "descriptionPanel.button.more": {
2313
+ "text": "Show more",
2314
+ "crowdinContext": "The button title which will display more description text"
2315
+ },
2316
+ "descriptionPanel.button.less": {
2317
+ "text": "Show less",
2318
+ "crowdinContext": "The button title which will display less description text."
2319
+ },
2320
+ "configurationPanel.drillConfig.learn.more.link": {
2321
+ "text": "Learn more",
2322
+ "crowdinContext": "Link with additional info"
2323
+ },
2324
+ "configurationPanel.drillConfig.drillToDashboard.tooltip": {
2325
+ "text": "Open a related dashboard for an expanded view on the selected data point, carrying over relevant filters and context. <a>Learn more</a>",
2326
+ "crowdinContext": "Tooltip explaining drilling behavior. The <a> tags create clickable help links for more information."
2327
+ },
2328
+ "configurationPanel.drillConfig.drillToInsight.tooltip": {
2329
+ "text": "Open a related visualization, maintaining the applied filters from the original view. <a>Learn more</a>",
2330
+ "crowdinContext": "Tooltip explaining drilling behavior. The <a> tags create clickable help links for more information."
2331
+ },
2332
+ "configurationPanel.drillConfig.drillToUrl.tooltip": {
2333
+ "text": "Open a custom URL with dynamic parameters based on the selected data point. <a>Learn more</a>",
2334
+ "crowdinContext": "Tooltip explaining drilling behavior. The <a> tags create clickable help links for more information."
2335
+ },
2336
+ "configurationPanel.drillConfig.drilldown": {
2337
+ "text": "Drill down",
2338
+ "crowdinContext": "The title of the drill down action."
2339
+ },
2340
+ "configurationPanel.drillConfig.drilldown.tooltip": {
2341
+ "text": "Drill down within the current visualization, following predefined attribute hierarchies to view your data on an increasingly granular level. <a>Learn more</a>",
2342
+ "crowdinContext": "Tooltip explaining drilling behavior. The <a> tags create clickable help links for more information."
2343
+ },
2344
+ "configurationPanel.drillConfig.drilldown.tooltip.disabled.insight": {
2345
+ "text": "Drill down is turned off in this visualization's configuration.",
2346
+ "crowdinContext": "Tooltip explaining drill down is disabled by visualization's configuration"
2347
+ },
2348
+ "configurationPanel.drillConfig.drilldown.tooltip.disabled.metric": {
2349
+ "text": "Drill down can only be set for attributes, not metrics.",
2350
+ "crowdinContext": "Tooltip explaining drill down is disabled for metrics"
2351
+ },
2352
+ "configurationPanel.drillConfig.drilldown.emtpy.hierarchy.info": {
2353
+ "text": "Attribute must be in a hierarchy to enable drill down.",
2354
+ "crowdinContext": "Label show on drill down configuration that there is no hierarchy defined for the attribute"
2355
+ },
2356
+ "configurationPanel.drillConfig.selectHierarchy": {
2357
+ "text": "Choose hierarchy…",
2358
+ "crowdinContext": "Hint guiding users that attribute hierarchy in select box has to be selected."
2359
+ },
2360
+ "configurationPanel.drillConfig.drilldown.create.hierarchy": {
2361
+ "text": "Create attribute hierarchy",
2362
+ "crowdinContext": "Link to create attribute hierarchy"
2363
+ },
2364
+ "attributeHierarchyEditor.untitled": {
2365
+ "text": "Untitled attribute hierarchy",
2366
+ "crowdinContext": "Default title in attribute hierarchy editor"
2367
+ },
2368
+ "attributeHierarchyEditor.hierarchy.levels": {
2369
+ "text": "Hierarchy levels",
2370
+ "crowdinContext": "Label show hierarchy levels"
2371
+ },
2372
+ "attributeHierarchyEditor.button.cancel": {
2373
+ "text": "Cancel",
2374
+ "crowdinContext": "Text of cancel button"
2375
+ },
2376
+ "attributeHierarchyEditor.button.create": {
2377
+ "text": "Create hierarchy",
2378
+ "crowdinContext": "Text of create button"
2379
+ },
2380
+ "attributeHierarchyEditor.button.save": {
2381
+ "text": "Save changes",
2382
+ "crowdinContext": "Text of save button"
2383
+ },
2384
+ "attributeHierarchyEditor.button.delete": {
2385
+ "text": "Delete",
2386
+ "crowdinContext": "Text of delete button"
2387
+ },
2388
+ "attributeHierarchyEditor.delete.confirm.title": {
2389
+ "text": "Delete attribute hierarchy?",
2390
+ "crowdinContext": "Title in confirm dialog when deleting hierarchy"
2391
+ },
2392
+ "attributeHierarchyEditor.delete.confirm.message": {
2393
+ "text": "All existing drill down interactions using this hierarchy will be removed.",
2394
+ "crowdinContext": "Text in confirm dialog when deleting hierarchy"
2395
+ },
2396
+ "attributeHierarchyEditor.remove.attribute": {
2397
+ "text": "Remove",
2398
+ "crowdinContext": "Tooltip for button remove attribute in hierarchy"
2399
+ },
2400
+ "attributeHierarchyEditor.add.attribute": {
2401
+ "text": "Add attribute",
2402
+ "crowdinContext": "Text for button add attribute in hierarchy"
2403
+ },
2404
+ "attributeHierarchyEditor.add.attribute.above": {
2405
+ "text": "Add attribute above",
2406
+ "crowdinContext": "Text for button add attribute above the current item"
2407
+ },
2408
+ "attributeHierarchyEditor.add.attribute.bellow": {
2409
+ "text": "Add attribute bellow",
2410
+ "crowdinContext": "Text for button add attribute bellow the current item"
2411
+ },
2412
+ "attributeHierarchyEditor.howToWork.link": {
2413
+ "text": "How to work with hierarchies",
2414
+ "crowdinContext": "Link to document describe how attribute hierarchy works"
2415
+ },
2416
+ "attributeHierarchyEditor.attribute.dropdown.title": {
2417
+ "text": "Choose attribute…",
2418
+ "crowdinContext": "Text for dropdown title to select an attribute."
2419
+ },
2420
+ "attributeHierarchyEditor.attribute.dropdown.search": {
2421
+ "text": "Search…",
2422
+ "crowdinContext": "Text for dropdown search input placeholder."
2423
+ },
2424
+ "attributeHierarchyEditor.note.title": {
2425
+ "text": "Note:",
2426
+ "crowdinContext": "Label for a note title"
2427
+ },
2428
+ "attributeHierarchyEditor.note.message": {
2429
+ "text": "<b>Note:</b> The attribute hierarchy you define is applied globally to all visualizations. This enables drill down interactions not just for the {br}current visualization, but for all visualizations that include any of the attributes within the hierarchy.",
2430
+ "crowdinContext": "Information about hierarchy editor functionality. The <b> tags emphasize important terms and {br} represents line breaks."
2431
+ },
2432
+ "attributeHierarchyEditor.howItWorks.title": {
2433
+ "text": "How it works",
2434
+ "crowdinContext": "Title of description section"
2435
+ },
2436
+ "attributeHierarchyEditor.howItWorks.message.heading": {
2437
+ "text": "Hierarchy is applied to all visualizations.",
2438
+ "crowdinContext": "Text in description section"
2439
+ },
2440
+ "attributeHierarchyEditor.message.create.success": {
2441
+ "text": "Great! We created the attribute hierarchy!",
2442
+ "crowdinContext": "The toast message will be shown when the attribute hierarchy is created successfully."
2443
+ },
2444
+ "attributeHierarchyEditor.message.update.success": {
2445
+ "text": "Great! We saved the attribute hierarchy!",
2446
+ "crowdinContext": "The toast message will be shown when the attribute hierarchy is updated successfully."
2447
+ },
2448
+ "attributeHierarchyEditor.message.delete.success": {
2449
+ "text": "Great! We deleted the attribute hierarchy!",
2450
+ "crowdinContext": "The toast message will be shown when the attribute hierarchy is deleted successfully."
2451
+ },
2452
+ "attributeHierarchyEditor.message.create.failed": {
2453
+ "text": "Failed to create. Try again later.",
2454
+ "crowdinContext": "The toast message will be shown when create the attribute hierarchy is failed."
2455
+ },
2456
+ "attributeHierarchyEditor.message.update.failed": {
2457
+ "text": "Failed to save. Try again later.",
2458
+ "crowdinContext": "The toast message will be shown when save the attribute hierarchy is failed."
2459
+ },
2460
+ "attributeHierarchyEditor.message.delete.failed": {
2461
+ "text": "Failed to delete. Try again later.",
2462
+ "crowdinContext": "The toast message will be shown when delete the attribute hierarchy is failed."
2463
+ },
2464
+ "attributeHierarchyEditor.howItWorks.message.content": {
2465
+ "text": "Drill down interaction will be enabled to not only this visualization, but all visualization containing one of the attributes in hierarchy.",
2466
+ "crowdinContext": "Text in description section"
2467
+ },
2468
+ "attributeHierarchyList.tooltip.generic.date.title": {
2469
+ "text": "Generic date",
2470
+ "crowdinContext": "Title of hierarchy for date"
2471
+ },
2472
+ "attributeHierarchyList.tooltip.generic.date.info": {
2473
+ "text": "This hierarchy is generated automatically and applies to any date dimension.",
2474
+ "crowdinContext": "Text show in date hierarchy"
2475
+ },
2476
+ "attributeHierarchyList.tooltip.hierarchy.levels": {
2477
+ "text": "Hierarchy levels",
2478
+ "crowdinContext": "Label show hierarchy levels"
2479
+ },
2480
+ "attributeHierarchyList.tooltip.button.edit": {
2481
+ "text": "Edit",
2482
+ "crowdinContext": "Text for edit button"
2483
+ },
2484
+ "catalog.attribute.tooltip.hierarchy.title": {
2485
+ "text": "Hierarchy",
2486
+ "crowdinContext": "Title of hierarchy section"
2487
+ },
2488
+ "visualizationConfig.interactions.section.title": {
2489
+ "text": "Interactions",
2490
+ "crowdinContext": "Title of interactions section"
2491
+ },
2492
+ "visualizationConfig.interactions.section.drilldown": {
2493
+ "text": "Drill down",
2494
+ "crowdinContext": "Text of drill down option"
2495
+ },
2496
+ "workspaceHierarchy.lockedInsight": {
2497
+ "text": "Only Admins can save changes to this visualization.",
2498
+ "crowdinContext": "Shown when hovering over lock indicator."
2499
+ },
2500
+ "workspaceHierarchy.inheritedInsight": {
2501
+ "text": "You cannot edit or delete this visualization.{br}It is centrally managed and certified.",
2502
+ "crowdinContext": "Shown when hovering over lock indicator. Placeholder {br} is replaced with visual line break"
2503
+ },
2504
+ "userManagement.workspace.noMatchingItems": {
2505
+ "text": "No matching workspaces.",
2506
+ "crowdinContext": "Information shown to the user when query in search input does no match any workspace."
2507
+ },
2508
+ "userManagement.workspace.searchPlaceholder": {
2509
+ "text": "Search workspaces",
2510
+ "crowdinContext": "Placeholder of empty workspace dialog search input."
2511
+ },
2512
+ "userManagement.workspace.searchError": {
2513
+ "text": "Failed to load workspaces. Try again later.",
2514
+ "crowdinContext": "Error message shown to the user when query in search input failed"
2515
+ },
2516
+ "userManagement.dataSource.searchError": {
2517
+ "text": "Failed to load data sources. Try again later.",
2518
+ "crowdinContext": "Error message shown to the user when query in search input failed"
2519
+ },
2520
+ "userManagement.workspace.emptySelection.user.view": {
2521
+ "text": "This user does not have permissions for any workspaces.",
2522
+ "crowdinContext": "Information shown when no workspaces were selected yet."
2523
+ },
2524
+ "userManagement.workspace.emptySelection.userGroup.view": {
2525
+ "text": "This group does not have permissions for any workspaces.",
2526
+ "crowdinContext": "Information shown when no workspaces were selected yet."
2527
+ },
2528
+ "userManagement.workspace.emptySelection.edit": {
2529
+ "text": "No workspace selected.",
2530
+ "crowdinContext": "Shown when user did not typed anything to the search dialog."
2531
+ },
2532
+ "userManagement.workspace.title": {
2533
+ "text": "Add workspace permission",
2534
+ "crowdinContext": "Title of dialog used for granting workspace permission to users or groups."
2535
+ },
2536
+ "userManagement.workspace.edit.title": {
2537
+ "text": "Edit workspace permission",
2538
+ "crowdinContext": "Title of dialog used for granting workspace permission to users or groups."
2539
+ },
2540
+ "userManagement.dataSource.searchPlaceholder": {
2541
+ "text": "Search data sources",
2542
+ "crowdinContext": "Placeholder of empty data source dialog search input."
2543
+ },
2544
+ "userManagement.workspace.addButton": {
2545
+ "text": "Add",
2546
+ "crowdinContext": "Title of confirm button that adds new items to the list."
2547
+ },
2548
+ "userManagement.userGroups.addButton": {
2549
+ "text": "Add",
2550
+ "crowdinContext": "Title of confirm button that adds new items to the list."
2551
+ },
2552
+ "userManagement.userGroups.cancelButton": {
2553
+ "text": "Cancel",
2554
+ "crowdinContext": "Button that closes the current dialog."
2555
+ },
2556
+ "userManagement.tab.workspaces": {
2557
+ "text": "Workspaces ({count})",
2558
+ "crowdinContext": "Label of tab that lists user permissions to workspaces. The placeholder {count} will be replaced with a number, e.g., 'Workspaces (5)' when user has 5 workspace assignments. For example, if the user has 5 workspace assignments, the label will be 'Workspaces (5)'. The placeholder {count} will be replaced with a number, e.g., 'Workspaces (5)' when user has 5 workspace assignments."
2559
+ },
2560
+ "userManagement.tab.groups": {
2561
+ "text": "Groups ({count})",
2562
+ "crowdinContext": "Label of tab that lists user groups user is member of. The placeholder {count} will be replaced with a number, e.g., 'Groups (3)' when user belongs to 3 groups."
2563
+ },
2564
+ "userManagement.tab.users": {
2565
+ "text": "Members ({count})",
2566
+ "crowdinContext": "Label of tab that lists user members of a user group. The placeholder {count} will be replaced with a number, e.g., 'Members (12)' when group has 12 members."
2567
+ },
2568
+ "userManagement.tab.details": {
2569
+ "text": "Details",
2570
+ "crowdinContext": "Label of tab that lists user details (name, surname, etc.)"
2571
+ },
2572
+ "userManagement.buttons.addWorkspace": {
2573
+ "text": "Add workspace permission",
2574
+ "crowdinContext": "Label of button that opens selection of workspaces user can get permissions to."
2575
+ },
2576
+ "userManagement.buttons.addToGroup": {
2577
+ "text": "Add to group",
2578
+ "crowdinContext": "Label of button that opens selection of groups user can be assigned into to."
2579
+ },
2580
+ "userManagement.buttons.addUser": {
2581
+ "text": "Add members",
2582
+ "crowdinContext": "Label of button that opens selection of users that can be assigned into the group."
2583
+ },
2584
+ "userManagement.buttons.edit": {
2585
+ "text": "Edit",
2586
+ "crowdinContext": "Label of button that edit user's details (name, surname, etc.)"
2587
+ },
2588
+ "userManagement.dataSource.title": {
2589
+ "text": "Add data source permission",
2590
+ "crowdinContext": "Title of dialog used for granting data source permission to users or groups."
2591
+ },
2592
+ "userManagement.tab.dataSources": {
2593
+ "text": "Data Sources ({count})",
2594
+ "crowdinContext": "Label of tab that lists data sources assigned to a user. The placeholder {count} will be replaced with a number, e.g., 'Data Sources (5)' when user has 5 data source assignments."
2595
+ },
2596
+ "userManagement.buttons.addDataSourcePermission": {
2597
+ "text": "Add data source permission",
2598
+ "crowdinContext": "Label of button that opens selection of users that can be assigned into the group."
2599
+ },
2600
+ "userManagement.dataSources.emptySelection.view": {
2601
+ "text": "This user does not have permissions for any data sources.",
2602
+ "crowdinContext": "Information shown when no data sources were selected yet."
2603
+ },
2604
+ "userManagement.dataSources.emptySelection.userGroup.view": {
2605
+ "text": "This group does not have permissions for any data sources.",
2606
+ "crowdinContext": "Information shown when no data sources were selected yet."
2607
+ },
2608
+ "userManagement.dataSources.emptySelection.edit": {
2609
+ "text": "No data sources selected.",
2610
+ "crowdinContext": "Shown when user did not typed anything to the search dialog."
2611
+ },
2612
+ "userManagement.dataSources.permission.manage": {
2613
+ "text": "Manage",
2614
+ "crowdinContext": "Name of the data source permission that allows user to fully manage data in data source."
2615
+ },
2616
+ "userManagement.dataSources.permission.use": {
2617
+ "text": "Use",
2618
+ "crowdinContext": "Name of the data source permission that allows user to use data in data source."
2619
+ },
2620
+ "userManagement.dataSources.permission.remove": {
2621
+ "text": "Remove",
2622
+ "crowdinContext": "Label of option that removes data source permission from user and user group."
2623
+ },
2624
+ "userManagement.dataSources.noMatchingItems": {
2625
+ "text": "No matching data source.",
2626
+ "crowdinContext": "Message shown when no data source matches search criteria."
2627
+ },
2628
+ "userManagement.users.multipleDataSources.addSuccess": {
2629
+ "text": "Great! You have successfully added permissions to the users.",
2630
+ "crowdinContext": "Confirmation message shown to the user when data source permission was added successfully to multiple users."
2631
+ },
2632
+ "userManagement.userGroups.multipleDataSources.addSuccess": {
2633
+ "text": "Great! You have successfully added permissions to the groups.",
2634
+ "crowdinContext": "Confirmation message shown to the user when data source permissions were added to multiple user groups successfully."
2635
+ },
2636
+ "userManagement.users.multipleDataSources.addError": {
2637
+ "text": "Addition of the permission to the users failed.",
2638
+ "crowdinContext": "Error message shown to user when addition of data source permission to multiple users failed."
2639
+ },
2640
+ "userManagement.userGroups.multipleDataSources.addError": {
2641
+ "text": "Addition of the permission to the groups failed.",
2642
+ "crowdinContext": "Error message shown to user when addition of data source permission to multiple user groups failed."
2643
+ },
2644
+ "userManagement.dataSources.removeSuccess": {
2645
+ "text": "Great! You have successfully deleted the data source permission.",
2646
+ "crowdinContext": "Confirm message shown to user when data source permission was successfully deleted."
2647
+ },
2648
+ "userManagement.dataSources.removeError": {
2649
+ "text": "Deletion of the data source permission failed.",
2650
+ "crowdinContext": "Error message shown to user when data source permission deletion failed."
2651
+ },
2652
+ "userManagement.dataSources.changeSuccess": {
2653
+ "text": "Great! You have successfully changed the data source permission(s).",
2654
+ "crowdinContext": "Confirmation message shown to the user when change of one or more data source permission succeeded."
2655
+ },
2656
+ "userManagement.dataSources.changeError": {
2657
+ "text": "Change of the data source permission(s) failed.",
2658
+ "crowdinContext": "Error message shown to the user when change of one or more data source permissions failed."
2659
+ },
2660
+ "userManagement.users.deleteLink": {
2661
+ "text": "Delete user",
2662
+ "crowdinContext": "Label of link that deletes the user."
2663
+ },
2664
+ "userManagement.userGroups.deleteLink": {
2665
+ "text": "Delete group",
2666
+ "crowdinContext": "Label of link that deletes the user grouo."
2667
+ },
2668
+ "userManagement.closeButton": {
2669
+ "text": "Close",
2670
+ "crowdinContext": "Label of button that closes the dialog"
2671
+ },
2672
+ "userManagement.workspace.removeSuccess": {
2673
+ "text": "Great! You have successfully deleted the permission.",
2674
+ "crowdinContext": "Confirm message shown to user when workspace permission was successfully deleted."
2675
+ },
2676
+ "userManagement.workspace.removeError": {
2677
+ "text": "Deletion of the permission failed.",
2678
+ "crowdinContext": "Error message shown to user when workspace permission deletion failed."
2679
+ },
2680
+ "userManagement.workspace.addSuccess": {
2681
+ "text": "Great! You have successfully added the workspace permission(s).",
2682
+ "crowdinContext": "Confirm message shown to user when one or more workspace permissions were successfully added to a single user."
2683
+ },
2684
+ "userManagement.workspace.addError": {
2685
+ "text": "Addition of the workspace permission(s) failed.",
2686
+ "crowdinContext": "Error message shown to user when workspace permission addition failed."
2687
+ },
2688
+ "userManagement.dataSource.addSuccess": {
2689
+ "text": "Great! You have successfully added the data source permission(s).",
2690
+ "crowdinContext": "Confirm message shown to user when one or more workspace permissions were successfully added to a single user."
2691
+ },
2692
+ "userManagement.dataSource.addError": {
2693
+ "text": "Addition of the data source permission(s) failed.",
2694
+ "crowdinContext": "Error message shown to user when workspace permission addition failed."
2695
+ },
2696
+ "userManagement.users.multipleWorkspaces.addSuccess": {
2697
+ "text": "Great! You have successfully added workspace permissions to the users.",
2698
+ "crowdinContext": "Confirmation message shown to the user when workspace permission was added successfully to multiple users."
2699
+ },
2700
+ "userManagement.users.multipleWorkspaces.addError": {
2701
+ "text": "Addition of the workspace permission to the users failed.",
2702
+ "crowdinContext": "Error message shown to user when addition of workspace permission to multiple users failed."
2703
+ },
2704
+ "userManagement.userGroups.multipleWorkspaces.addSuccess": {
2705
+ "text": "Great! You have successfully added workspace permissions to the groups.",
2706
+ "crowdinContext": "Confirmation message shown to the user when workspace permissions were added to multiple user groups successfully."
2707
+ },
2708
+ "userManagement.userGroups.multipleWorkspaces.addError": {
2709
+ "text": "Addition of the workspace permission to the groups failed.",
2710
+ "crowdinContext": "Error message shown to user when addition of workspace permission to multiple user groups failed."
2711
+ },
2712
+ "userManagement.workspace.changeSuccess": {
2713
+ "text": "Great! You have successfully changed the workspace permission(s).",
2714
+ "crowdinContext": "Confirmation message shown to the user when change of one or more workspace permission succeeded."
2715
+ },
2716
+ "userManagement.workspace.changeError": {
2717
+ "text": "Change of the workspace permission(s) failed.",
2718
+ "crowdinContext": "Error message shown to the user when change of one or more workspace permissions failed."
2719
+ },
2720
+ "userManagement.workspace.hierarchicalPermission.yes": {
2721
+ "text": "Include sub-hierarchy",
2722
+ "crowdinContext": "Label of option that states that selected permission will be added to the selected workspace and to all workspaces in tree hierarchy of workspaces under it."
2723
+ },
2724
+ "userManagement.workspace.hierarchicalPermission.yes.tooltip": {
2725
+ "text": "Apply the permission to this workspace and all its child workspaces.",
2726
+ "crowdinContext": "Tooltip that explains option that adds permission to workspace and all the child workpaces in the tree hierarchy."
2727
+ },
2728
+ "userManagement.workspace.hierarchicalPermission.no": {
2729
+ "text": "This workspace",
2730
+ "crowdinContext": "Label of option that states that selected permission will be added just to the selected workspace and not to workspace in tree hierarchy of workspaces under it."
2731
+ },
2732
+ "userManagement.workspace.hierarchicalPermission.no.tooltip": {
2733
+ "text": "Apply the permission only to this workspace.",
2734
+ "crowdinContext": "Tooltip that explains option that adds permission to only the selected workspace and not to any of the child workpaces in the tree hierarchy."
2735
+ },
2736
+ "userManagement.workspace.permission.view": {
2737
+ "text": "View",
2738
+ "crowdinContext": "Name of the workspace permission that allows user view workspace objects."
2739
+ },
2740
+ "userManagement.workspace.permissionUser.view.tooltip": {
2741
+ "text": "The user can view dashboards that have been shared with them.",
2742
+ "crowdinContext": "Tooltip of the workspace permission that allows user view workspace objects."
2743
+ },
2744
+ "userManagement.workspace.permissionGroup.view.tooltip": {
2745
+ "text": "The group members can view dashboards that have been shared with the group.",
2746
+ "crowdinContext": "Tooltip of the workspace permission that allows user group view workspace objects."
2747
+ },
2748
+ "userManagement.workspace.permission.viewSaveViews": {
2749
+ "text": "View & Save Views",
2750
+ "crowdinContext": "Name of the workspace permission that allows user view workspace objects."
2751
+ },
2752
+ "userManagement.workspace.permissionUser.viewSaveViews.tooltip": {
2753
+ "text": "The user can view dashboards that have been shared with them and save the state of dashboard filters as personal views for future use.",
2754
+ "crowdinContext": "Tooltip of the workspace permission that allows user view workspace objects."
2755
+ },
2756
+ "userManagement.workspace.permissionGroup.viewSaveViews.tooltip": {
2757
+ "text": "The group members can view dashboards that have been shared with them and save the state of dashboard filters as personal views for future use.",
2758
+ "crowdinContext": "Tooltip of the workspace permission that allows user group view workspace objects."
2759
+ },
2760
+ "userManagement.dataSources.permissionUser.use.tooltip": {
2761
+ "text": "The user can use data sources that have been shared with them.",
2762
+ "crowdinContext": "Tooltip of the data source permission that allows user use data source objects."
2763
+ },
2764
+ "userManagement.dataSources.permissionGroup.use.tooltip": {
2765
+ "text": "The group members can use data sources that have been shared with the group.",
2766
+ "crowdinContext": "Tooltip of the data source permission that allows user group use data source objects."
2767
+ },
2768
+ "userManagement.workspace.permission.viewExport": {
2769
+ "text": "View & Export",
2770
+ "crowdinContext": "Name of the workspace permission that allows user view and export workspace objects."
2771
+ },
2772
+ "userManagement.workspace.permissionUser.viewExport.tooltip": {
2773
+ "text": "Covers the View permission. Additionally, the user can export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files.",
2774
+ "crowdinContext": "Tooltip of the workspace permission that allows user view and export workspace objects."
2775
+ },
2776
+ "userManagement.workspace.permissionGroup.viewExport.tooltip": {
2777
+ "text": "Covers the View permission. Additionally, the group members can export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files.",
2778
+ "crowdinContext": "Tooltip of the workspace permission that allows user group view and export workspace objects."
2779
+ },
2780
+ "userManagement.workspace.permission.viewExportSaveViews": {
2781
+ "text": "View, Export & Save Views",
2782
+ "crowdinContext": "Name of the workspace permission that allows user view and export workspace objects and save filter view objects."
2783
+ },
2784
+ "userManagement.workspace.permissionUser.viewExportSaveViews.tooltip": {
2785
+ "text": "Covers the View permission. Additionally, the user can create, edit, or delete dashboards and visualizations, and view the LDM and metrics. They can also export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files, and save the state of dashboard filters as personal views for future use.",
2786
+ "crowdinContext": "Tooltip of the workspace permission that allows user view and export workspace objects."
2787
+ },
2788
+ "userManagement.workspace.permissionGroup.viewExportSaveViews.tooltip": {
2789
+ "text": "Covers the View permission. Additionally, the group members can create, edit, or delete dashboards and visualizations, and view the LDM and metrics. They can also export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files, and save the state of dashboard filters as personal views for future use.",
2790
+ "crowdinContext": "Tooltip of the workspace permission that allows user group view and export workspace objects."
2791
+ },
2792
+ "userManagement.workspace.permission.analyze": {
2793
+ "text": "Analyze",
2794
+ "crowdinContext": "Name of the workspace permission that allows user analyze data in workspace."
2795
+ },
2796
+ "userManagement.workspace.permissionUser.analyze.tooltip": {
2797
+ "text": "Covers the View and Save Views permissions. Additionally, the user can create, edit, or delete dashboards and visualizations, and view the LDM and metrics.",
2798
+ "crowdinContext": "Tooltip of the workspace permission that allows user analyze data in workspace."
2799
+ },
2800
+ "userManagement.workspace.permissionGroup.analyze.tooltip": {
2801
+ "text": "Covers the View and Save Views permissions. Additionally, the group members can create, edit, or delete dashboards and visualizations, and view the LDM and metrics.",
2802
+ "crowdinContext": "Tooltip of the workspace permission that allows user group analyze data in workspace."
2803
+ },
2804
+ "userManagement.workspace.permission.analyzeExport": {
2805
+ "text": "Analyze & Export",
2806
+ "crowdinContext": "Name of the workspace permission that allows user analyze and export data in workspace."
2807
+ },
2808
+ "userManagement.workspace.permissionUser.analyzeExport.tooltip": {
2809
+ "text": "Covers the View and Save Views permissions. Additionally, the user can create, edit, or delete dashboards and visualizations, and view the LDM and metrics. They can also export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files.",
2810
+ "crowdinContext": "Tooltip of the workspace permission that allows user analyze and export data in workspace."
2811
+ },
2812
+ "userManagement.workspace.permissionGroup.analyzeExport.tooltip": {
2813
+ "text": "Covers the View and Save Views permissions. Additionally, the group members can create, edit, or delete dashboards and visualizations, and view the LDM and metrics. They can also export dashboards to PDF files and tabular data from visualizations to XLSX and CSV files.",
2814
+ "crowdinContext": "Tooltip of the workspace permission that allows user analyze and export and analyze data in workspace."
2815
+ },
2816
+ "userManagement.workspace.permission.manage": {
2817
+ "text": "Manage",
2818
+ "crowdinContext": "Name of the workspace permission that allows user to fully manage data in workspace."
2819
+ },
2820
+ "userManagement.workspace.permissionUser.manage.tooltip": {
2821
+ "text": "Covers the View, Analyze, Export, and Save Views permissions. Additionally, the user can create, edit, or delete the logical data model and metrics, and gets unrestricted access to all dashboards and their permissions.",
2822
+ "crowdinContext": "Tooltip of the workspace permission that allows user to fully manage data in workspace."
2823
+ },
2824
+ "userManagement.workspace.permissionGroup.manage.tooltip": {
2825
+ "text": "Covers the View, Analyze, Export, and Save Views permissions. Additionally, the group members can create, edit, or delete the logical data model and metrics, and gets unrestricted access to all dashboards and their permissions.",
2826
+ "crowdinContext": "Tooltip of the workspace permission that allows user group to fully manage data in workspace."
2827
+ },
2828
+ "userManagement.dataSources.permissionUser.manage.tooltip": {
2829
+ "text": "User can create, edit or delete the data sources.",
2830
+ "crowdinContext": "Tooltip of the data source permission that allows user to fully manage data sources."
2831
+ },
2832
+ "userManagement.dataSources.permissionGroup.manage.tooltip": {
2833
+ "text": "Group members can create, edit or delete the data sources.",
2834
+ "crowdinContext": "Tooltip of the data source permission that allows user group to fully manage data sources."
2835
+ },
2836
+ "userManagement.workspace.permission.export": {
2837
+ "text": "Exports",
2838
+ "crowdinContext": "Name of the workspace permission that allows user to export data in workspace."
2839
+ },
2840
+ "userManagement.workspace.permission.export.tooltip": {
2841
+ "text": "Adds EXPORT permission to export dashboards and visualizations in various formats.",
2842
+ "crowdinContext": "Export permission tooltip"
2843
+ },
2844
+ "userManagement.workspace.permission.exportTabular": {
2845
+ "text": "Export XLSX and CSV",
2846
+ "crowdinContext": "Name of the workspace permission that allows user to export data in workspace."
2847
+ },
2848
+ "userManagement.workspace.permission.exportTabular.tooltip": {
2849
+ "text": "Adds EXPORT_TABULAR permission to export dashboards and visualizations in CSV and XLSX formats.",
2850
+ "crowdinContext": "Export tabular permission tooltip"
2851
+ },
2852
+ "userManagement.workspace.permission.exportPdf": {
2853
+ "text": "Export PDF",
2854
+ "crowdinContext": "Name of the workspace permission that allows user to export data in workspace."
2855
+ },
2856
+ "userManagement.workspace.permission.exportPdf.tooltip": {
2857
+ "text": "Adds EXPORT_PDF permission to export dashboards and visualizations as PDF files.",
2858
+ "crowdinContext": "Export PDF permission tooltip"
2859
+ },
2860
+ "userManagement.workspace.permission.createFilterView": {
2861
+ "text": "Saved filter views",
2862
+ "crowdinContext": "Name of the workspace permission that allows user to create filter views in workspace."
2863
+ },
2864
+ "userManagement.workspace.permission.createFilterView.tooltip": {
2865
+ "text": "Adds CREATE_FILTER_VIEW permission to create and save dashboard filter combinations for quick reuse.",
2866
+ "crowdinContext": "Create saved filter view permission tooltip"
2867
+ },
2868
+ "userManagement.workspace.permission.createAutomation": {
2869
+ "text": "Alerts and scheduled exports",
2870
+ "crowdinContext": "Name of the workspace permission that allows user to create automations in workspace."
2871
+ },
2872
+ "userManagement.workspace.permission.createAutomation.tooltip": {
2873
+ "text": "Adds CREATE_AUTOMATIONS permission to create automated alerts and scheduled exports.",
2874
+ "crowdinContext": "Create automation permission tooltip"
2875
+ },
2876
+ "userManagement.workspace.permission.useAiAssistant": {
2877
+ "text": "AI Assistant",
2878
+ "crowdinContext": "Name of the workspace permission that allows user to use ai assistant in workspace."
2879
+ },
2880
+ "userManagement.workspace.permission.useAiAssistant.tooltip": {
2881
+ "text": "Adds USE_AI_ASSISTANT permission to access and interact with the AI chatbot for analytics questions.",
2882
+ "crowdinContext": "Use AI Assistant permission tooltip"
2883
+ },
2884
+ "userManagement.workspace.granularPermission.noWorkspace": {
2885
+ "text": "No workspace selected",
2886
+ "crowdinContext": "Empty content message"
2887
+ },
2888
+ "userManagement.workspace.granularPermission.hierarchy": {
2889
+ "text": "Include child workspaces",
2890
+ "crowdinContext": "Label of option that states that selected permission will be added to the selected workspace and to all workspaces in tree hierarchy of workspaces under it."
2891
+ },
2892
+ "userManagement.workspace.granularPermission.hierarchy.tooltip": {
2893
+ "text": "Applies the permission to this workspace and all its child workspaces.",
2894
+ "crowdinContext": "Tooltip that explains option that adds permission to workspace and children."
2895
+ },
2896
+ "userManagement.workspace.granularPermission.workspaceAccess.title": {
2897
+ "text": "Workspace access",
2898
+ "crowdinContext": "Label of workspace subsection of permissions"
2899
+ },
2900
+ "userManagement.workspace.granularPermission.additionalAccess.title": {
2901
+ "text": "Additional permissions",
2902
+ "crowdinContext": "Label of additional subsection of permissions"
2903
+ },
2904
+ "userManagement.workspace.granularPermission.help": {
2905
+ "text": "Learn about workspace permissions",
2906
+ "crowdinContext": "Label of help button for permissions"
2907
+ },
2908
+ "userManagement.workspace.granularPermission.view.description": {
2909
+ "text": "Allows users to view dashboards that have been shared with them or their user group.",
2910
+ "crowdinContext": "Description of permission"
2911
+ },
2912
+ "userManagement.workspace.granularPermission.analyze.description": {
2913
+ "text": "Allows users to create, edit, or delete dashboards and visualizations, alongside viewing the Logical Data Model (LDM) and metrics.",
2914
+ "crowdinContext": "Description of permission"
2915
+ },
2916
+ "userManagement.workspace.granularPermission.manage.description": {
2917
+ "text": "Allows users can to, edit or delete the logical data model and metrics, and access all dashboards and edit their dashboard permissions without limitations.",
2918
+ "crowdinContext": "Description of permission"
2919
+ },
2920
+ "userManagement.workspace.granularPermission.warning": {
2921
+ "text": "<b>Caution:</b> This action will remove any redundant combinations.",
2922
+ "crowdinContext": "Warning message shown when user tries to add 'Manage' permission to user or user group."
2923
+ },
2924
+ "userManagement.workspace.permission.remove": {
2925
+ "text": "Remove",
2926
+ "crowdinContext": "Label of option that removes workspace permission from user and user group."
2927
+ },
2928
+ "userManagement.workspace.permission.and": {
2929
+ "text": "and",
2930
+ "crowdinContext": "Connection word when concatenating permissions"
2931
+ },
2932
+ "userManagement.groupDetail.id.label": {
2933
+ "text": "ID",
2934
+ "crowdinContext": "Label of input that contains ID of the user group."
2935
+ },
2936
+ "userManagement.groupDetail.name.label": {
2937
+ "text": "Name",
2938
+ "crowdinContext": "Label of input that contains name of the user group."
2939
+ },
2940
+ "userManagement.userDetail.firstName.label": {
2941
+ "text": "First name",
2942
+ "crowdinContext": "Label of input that contains first name of the user."
2943
+ },
2944
+ "userManagement.userDetail.lastName.label": {
2945
+ "text": "Last name",
2946
+ "crowdinContext": "Label of input that contains last name of the user."
2947
+ },
2948
+ "userManagement.userDetail.email.label": {
2949
+ "text": "E-mail",
2950
+ "crowdinContext": "Label of input that contains e-mail of the user."
2951
+ },
2952
+ "userManagement.userDetail.orgPermission.label": {
2953
+ "text": "Org. permission",
2954
+ "crowdinContext": "Label of input that contains state of the user organization permissions. The possible values are 'admin' or 'member'."
2955
+ },
2956
+ "userManagement.detail.orgPermission.admin": {
2957
+ "text": "Admin",
2958
+ "crowdinContext": "One of the possible types of user's organization permissions. It states user is organization administrator."
2959
+ },
2960
+ "userManagement.detail.orgPermission.admin.tooltip": {
2961
+ "text": "Organization administrator. This user has access to any protected action or resource.",
2962
+ "crowdinContext": "Tooltip that explains what does it mean if user is organization administrator. Displayed over option called 'Admin'"
2963
+ },
2964
+ "userManagement.detail.orgPermission.member": {
2965
+ "text": "Member",
2966
+ "crowdinContext": "One of the possible types of user's organization permissions. It states user is standard member without any elevated permissions."
2967
+ },
2968
+ "userManagement.detail.orgPermission.member.tooltip": {
2969
+ "text": "Organization member. This user has access to action or resource to which he has permission to.",
2970
+ "crowdinContext": "Tooltip that explains what does it mean if user is organization member. Displayed over option called 'Member'"
2971
+ },
2972
+ "userManagement.userDetail.id.label": {
2973
+ "text": "ID",
2974
+ "crowdinContext": "Label of input that contains ID of the user."
2975
+ },
2976
+ "userManagement.userDetail.emptyValue": {
2977
+ "text": "not set",
2978
+ "crowdinContext": "Value displayed in user form when user detail does not have value (for example he does not have first name, last name, etc.)"
2979
+ },
2980
+ "userManagement.userGroups.emptySelection.view": {
2981
+ "text": "This user is not a member of any groups.",
2982
+ "crowdinContext": "Information message shown when lst of user's user groups is empty."
2983
+ },
2984
+ "userManagement.userGroups.emptySelection.edit": {
2985
+ "text": "No groups selected.",
2986
+ "crowdinContext": "Shown when user did not type anything yet."
2987
+ },
2988
+ "userManagement.userDetail.saveButton": {
2989
+ "text": "Save",
2990
+ "crowdinContext": "Label of button that saves the changed user details."
2991
+ },
2992
+ "userManagement.userDetail.cancelButton": {
2993
+ "text": "Cancel",
2994
+ "crowdinContext": "Label of button that cancels the changes to user details."
2995
+ },
2996
+ "userManagement.groupDetail.saveButton": {
2997
+ "text": "Save",
2998
+ "crowdinContext": "Label of button that saves the changed user group details."
2999
+ },
3000
+ "userManagement.groupDetail.cancelButton": {
3001
+ "text": "Cancel",
3002
+ "crowdinContext": "Label of button that cancels the changes to user group details."
3003
+ },
3004
+ "userManagement.userDetails.updatedSuccess": {
3005
+ "text": "Great! You have successfully changed the user details.",
3006
+ "crowdinContext": "Confirmation message shown when user saved changes to user details (name, login, etc.) successfully."
3007
+ },
3008
+ "userManagement.userDetails.updatedFailure": {
3009
+ "text": "Change of the user details failed.",
3010
+ "crowdinContext": "Error message shown when user tried to save changes to user details (name, login, etc.) but the action failed."
3011
+ },
3012
+ "userManagement.groupDetails.updatedSuccess": {
3013
+ "text": "Great! You have successfully changed the group details.",
3014
+ "crowdinContext": "Confirmation message shown when user saved changes to user group details (name, login, etc.) successfully."
3015
+ },
3016
+ "userManagement.groupDetails.updatedFailure": {
3017
+ "text": "Change of the user details group failed.",
3018
+ "crowdinContext": "Error message shown when user tried to save changes to user group details (name, login, etc.) but the operation failed."
3019
+ },
3020
+ "userManagement.userGroup.addSuccess": {
3021
+ "text": "Great! You have successfully added the group(s).",
3022
+ "crowdinContext": "Confirmation message shown when user added one or more user groups to another user successfully."
3023
+ },
3024
+ "userManagement.userGroup.addError": {
3025
+ "text": "Addition of the group(s) failed.",
3026
+ "crowdinContext": "Error message shown when user tried add one or more user groups to another user but the action failed."
3027
+ },
3028
+ "userManagement.multipleUserGroup.addSuccess": {
3029
+ "text": "Great! You have successfully added users to the group.",
3030
+ "crowdinContext": "Confirmation message shown when user added one or more user groups to multiple users successfully."
3031
+ },
3032
+ "userManagement.multipleUserGroup.addError": {
3033
+ "text": "Addition of the users to groups failed.",
3034
+ "crowdinContext": "Error message shown when user tried to add one or more user groups to multiple users successfully but action failed."
3035
+ },
3036
+ "userManagement.userGroups.title": {
3037
+ "text": "Add to group",
3038
+ "crowdinContext": "Title of dialog that allows to add user groups to the user."
3039
+ },
3040
+ "userManagement.userGroups.noMatchingItems": {
3041
+ "text": "No matching group.",
3042
+ "crowdinContext": "Message shown when no user group matches search criteria."
3043
+ },
3044
+ "userManagement.userGroups.searchPlaceholder": {
3045
+ "text": "Search groups",
3046
+ "crowdinContext": "Placeholder in the input box that is used to search user groups."
3047
+ },
3048
+ "userManagement.userGroups.searchError": {
3049
+ "text": "Failed to load groups. Try again later.",
3050
+ "crowdinContext": "Message shown when fetching of user groups from server failed."
3051
+ },
3052
+ "userManagement.userGroup.removeSuccess": {
3053
+ "text": "Great! You have successfully removed the group.",
3054
+ "crowdinContext": "Confirmation message shown when user group was successfully deleted."
3055
+ },
3056
+ "userManagement.userGroup.removeFailure": {
3057
+ "text": "Removal of the group failed.",
3058
+ "crowdinContext": "Error message shown when deletion of user group failed."
3059
+ },
3060
+ "userManagement.userGroups.removeSuccess": {
3061
+ "text": "Great! You have successfully deleted the group.",
3062
+ "crowdinContext": "Confirmation message shown when user group was successfully deleted."
3063
+ },
3064
+ "userManagement.userGroups.removeFailure": {
3065
+ "text": "Deletion of the group failed.",
3066
+ "crowdinContext": "Error message shown when deletion of user group failed."
3067
+ },
3068
+ "userManagement.userGroups.removeTooltip": {
3069
+ "text": "Remove group from the user.",
3070
+ "crowdinContext": "Tooltip shown over button that remove user group from the user."
3071
+ },
3072
+ "userManagement.userGroups.removeDisabledTooltip": {
3073
+ "text": "The group cannot be removed from the user.",
3074
+ "crowdinContext": "Tooltip shown over button that remove user group from the user if the action is disabled."
3075
+ },
3076
+ "userManagement.deleteDialog.user.title": {
3077
+ "text": "Delete user?",
3078
+ "crowdinContext": "Title of dialog that deletes a user."
3079
+ },
3080
+ "userManagement.deleteDialog.user.body": {
3081
+ "text": "The user will be irreversibly deleted, but their visualizations and dashboards will remain unaffected.",
3082
+ "crowdinContext": "Body of dialog that deletes a users"
3083
+ },
3084
+ "userManagement.deleteDialog.user.disabledTooltip": {
3085
+ "text": "User cannot be deleted.",
3086
+ "crowdinContext": "Tooltip shown over disabled delete button."
3087
+ },
3088
+ "userManagement.deleteDialog.userGroup.adminDisabledTooltip": {
3089
+ "text": "This group cannot be deleted.",
3090
+ "crowdinContext": "Tooltip shown over disabled delete button."
3091
+ },
3092
+ "userManagement.deleteDialog.userGroup.nonEmptyDisabledTooltip": {
3093
+ "text": "This group cannot be deleted, because it contains members. ",
3094
+ "crowdinContext": "Tooltip shown over disabled delete button."
3095
+ },
3096
+ "userManagement.deleteDialog.multipleUsers.title": {
3097
+ "text": "Delete users?",
3098
+ "crowdinContext": "Title of dialog that deletes multiple users."
3099
+ },
3100
+ "userManagement.deleteDialog.multipleUsers.body": {
3101
+ "text": "<b>{count} users</b> will be irreversibly deleted, but their visualizations and dashboards will remain unaffected.",
3102
+ "crowdinContext": "Body of dialog that deletes multiple users. The placeholder {count} will be replaced with a number, e.g., '5 users'."
3103
+ },
3104
+ "userManagement.deleteDialog.group.title": {
3105
+ "text": "Delete group?",
3106
+ "crowdinContext": "Title of dialog that deletes a user group."
3107
+ },
3108
+ "userManagement.deleteDialog.group.body": {
3109
+ "text": "The group will be irreversibly deleted. All its members will lose the rights defined by the group's permissions.",
3110
+ "crowdinContext": "Body of dialog that deletes a user group."
3111
+ },
3112
+ "userManagement.deleteDialog.multipleGroups.title": {
3113
+ "text": "Delete groups?",
3114
+ "crowdinContext": "Title of dialog that deletes multiple user groups."
3115
+ },
3116
+ "userManagement.deleteDialog.multipleGroups.body": {
3117
+ "text": "<b>{count} groups</b> will be irreversibly deleted. All their members will lose the rights defined by the group-specific permissions.",
3118
+ "crowdinContext": "Body of dialog that deletes multiple user groups. The placeholder {count} will be replaced with a number, e.g., '5 groups'."
3119
+ },
3120
+ "userManagement.deleteDialog.cancelButton": {
3121
+ "text": "Cancel",
3122
+ "crowdinContext": "Label of button that cancels delete action."
3123
+ },
3124
+ "userManagement.deleteDialog.confirmButton": {
3125
+ "text": "Delete",
3126
+ "crowdinContext": "Label of button that confirms delete action."
3127
+ },
3128
+ "userManagement.userGroups.deleteSuccess": {
3129
+ "text": "Great! You have successfully deleted the group.",
3130
+ "crowdinContext": "Confirmation message shown when user group was successfully deleted."
3131
+ },
3132
+ "userManagement.userGroups.deleteFailure": {
3133
+ "text": "Deletion of the group failed.",
3134
+ "crowdinContext": "Error message shown when deletion of user group failed."
3135
+ },
3136
+ "userManagement.multipleUserGroups.deleteSuccess": {
3137
+ "text": "Great! You have successfully deleted the groups.",
3138
+ "crowdinContext": "Confirmation message shown when multiple user groups were successfully deleted."
3139
+ },
3140
+ "userManagement.multipleUserGroups.deleteFailure": {
3141
+ "text": "Deletion of the groups failed.",
3142
+ "crowdinContext": "Error message shown when deletion of multiple user group failed."
3143
+ },
3144
+ "userManagement.createUserGroup.createSuccess": {
3145
+ "text": "Great! You have successfully created the group.",
3146
+ "crowdinContext": "Confirmation message shown when user group was successfully created."
3147
+ },
3148
+ "userManagement.createUserGroup.createFailure": {
3149
+ "text": "Creation of the group failed.",
3150
+ "crowdinContext": "Error message shown when creation of user group failed."
3151
+ },
3152
+ "userManagement.users.loadingError.title": {
3153
+ "text": "Can't open user",
3154
+ "crowdinContext": "Error title shown when user detail loading ended up with error."
3155
+ },
3156
+ "userManagement.users.loadingError.notExist": {
3157
+ "text": "The user you are trying to view does not exist.",
3158
+ "crowdinContext": "Error shown when user detail loading ended up with 404 error."
3159
+ },
3160
+ "userManagement.users.loadingError.unknown": {
3161
+ "text": "The user you are trying to view cannot be loaded.",
3162
+ "crowdinContext": "Error shown when user detail loading ended up with error."
3163
+ },
3164
+ "userManagement.userGroups.loadingError.title": {
3165
+ "text": "Can't open group",
3166
+ "crowdinContext": "Error title shown when user group detail loading ended up with error."
3167
+ },
3168
+ "userManagement.userGroups.loadingError.notExist": {
3169
+ "text": "The group you are trying to view does not exist.",
3170
+ "crowdinContext": "Error shown when user group detail loading ended up with 404 error."
3171
+ },
3172
+ "userManagement.userGroups.loadingError.unknown": {
3173
+ "text": "The group you are trying to view cannot be loaded.",
3174
+ "crowdinContext": "Error shown when user group detail loading ended up with error."
3175
+ },
3176
+ "userManagement.users.deleteSuccess": {
3177
+ "text": "Great! You have successfully deleted the user.",
3178
+ "crowdinContext": "Confirmation message shown when user was successfully deleted."
3179
+ },
3180
+ "userManagement.users.deleteFailure": {
3181
+ "text": "Deletion of the user failed.",
3182
+ "crowdinContext": "Error message shown when deletion of user failed."
3183
+ },
3184
+ "userManagement.multipleUsers.deleteSuccess": {
3185
+ "text": "Great! You have successfully deleted the users.",
3186
+ "crowdinContext": "Confirmation message shown when multiple users were successfully deleted."
3187
+ },
3188
+ "userManagement.multipleUsers.deleteFailure": {
3189
+ "text": "Deletion of the users failed.",
3190
+ "crowdinContext": "Error message shown when deletion of multiple users failed."
3191
+ },
3192
+ "userManagement.users.searchError": {
3193
+ "text": "Failed to load users. Try again later.",
3194
+ "crowdinContext": "Error shown when user list was not fetched from server."
3195
+ },
3196
+ "userManagement.users.emptySelection.view": {
3197
+ "text": "This group does not have any members.",
3198
+ "crowdinContext": "Message shown when there are no users in the user group."
3199
+ },
3200
+ "userManagement.users.emptySelection.edit": {
3201
+ "text": "No users selected.",
3202
+ "crowdinContext": "Shown when no user has been added to selection yet."
3203
+ },
3204
+ "userManagement.users.removeUserFromGroup": {
3205
+ "text": "Remove user from the group.",
3206
+ "crowdinContext": "Tooltip on button that removes particular user from the user group."
3207
+ },
3208
+ "userManagement.users.removeUserFromGroupDisabledTooltip": {
3209
+ "text": "This user cannot be removed the group.",
3210
+ "crowdinContext": "Tooltip shown over button that remove user from the user group if the action is disabled."
3211
+ },
3212
+ "userManagement.users.removeUserFromSelection": {
3213
+ "text": "Remove.",
3214
+ "crowdinContext": "Label of action that removes selected user."
3215
+ },
3216
+ "userManagement.userGroups.removeUserGroupFromSelection": {
3217
+ "text": "Remove.",
3218
+ "crowdinContext": "Label of action that removes selected user group."
3219
+ },
3220
+ "userManagement.users.noMatchingItems": {
3221
+ "text": "No matching user.",
3222
+ "crowdinContext": "Message shown when no user matches the entered search criteria."
3223
+ },
3224
+ "userManagement.users.searchPlaceholder": {
3225
+ "text": "Search users",
3226
+ "crowdinContext": "Placeholder of input box that is used to search for users."
3227
+ },
3228
+ "userManagement.users.title": {
3229
+ "text": "Add group members",
3230
+ "crowdinContext": "Title of dialog that adds users to user group."
3231
+ },
3232
+ "userManagement.users.cancelButton": {
3233
+ "text": "Cancel",
3234
+ "crowdinContext": "Label of button that cancels the unsaved changes in the dialog."
3235
+ },
3236
+ "userManagement.users.addButton": {
3237
+ "text": "Add",
3238
+ "crowdinContext": "Label of button that adds users to user group."
3239
+ },
3240
+ "userManagement.users.addSuccess": {
3241
+ "text": "Great! You have successfully added users to the group.",
3242
+ "crowdinContext": "Confirmation message shown when users were successfully added to the user group."
3243
+ },
3244
+ "userManagement.users.addFailure": {
3245
+ "text": "Addition of the users to the group failed.",
3246
+ "crowdinContext": "Error message shown when addition of users to the user group failed."
3247
+ },
3248
+ "userManagement.users.addToUserGroupsSuccess": {
3249
+ "text": "Great! You have successfully added users to the groups.",
3250
+ "crowdinContext": "Confirmation message shown when multiple users were successfully added to the multiple user group."
3251
+ },
3252
+ "userManagement.users.addToUserGroupsFailure": {
3253
+ "text": "Addition of the users to groups failed.",
3254
+ "crowdinContext": "Error message shown when trying to add multiple users to the multiple user group failed."
3255
+ },
3256
+ "userManagement.users.removeSuccess": {
3257
+ "text": "Great! You have successfully removed the user(s).",
3258
+ "crowdinContext": "Confirmation message shown when one or more users were sucessfuly removed from the user group."
3259
+ },
3260
+ "userManagement.users.removeFailure": {
3261
+ "text": "Removal of the user(s) failed.",
3262
+ "crowdinContext": "Error message shown when removal of one or more users were from the user group failed."
3263
+ },
3264
+ "userManagement.buttons.close": {
3265
+ "text": "Close",
3266
+ "crowdinContext": "Label of button that closes the dialog."
3267
+ },
3268
+ "userManagement.admin.alert": {
3269
+ "text": "Admins have full access to all workspaces, resources, and actions.",
3270
+ "crowdinContext": "Text shown in user dialog that explains that user is organization administrator and has full access to everything."
3271
+ },
3272
+ "userManagement.adminGroup.alert": {
3273
+ "text": "Members have full access to all workspaces, resources, and actions.",
3274
+ "crowdinContext": "Text shown in user group dialog that explains that user group has organization administrator rights and its members has full access to everything."
3275
+ },
3276
+ "userManagement.admin.pill": {
3277
+ "text": "Admin",
3278
+ "crowdinContext": "Text shown in pill component next to the user name. The information states that user is organization administrator."
3279
+ },
3280
+ "userManagement.createUserGroup.createButton": {
3281
+ "text": "Create",
3282
+ "crowdinContext": "Label of button that creates a new user group."
3283
+ },
3284
+ "userManagement.createUserGroup.cancelButton": {
3285
+ "text": "Cancel",
3286
+ "crowdinContext": "Label of button that closes dialog."
3287
+ },
3288
+ "userManagement.createUserGroup.dialogTitle": {
3289
+ "text": "Create group",
3290
+ "crowdinContext": "Title of dialog that creates new user group."
3291
+ },
3292
+ "userManagement.createUserGroup.inputPlaceholder": {
3293
+ "text": "Name",
3294
+ "crowdinContext": "Placeholder shown in input box where user types name of a new user group."
3295
+ },
3296
+ "richText.placeholder": {
3297
+ "text": "Use Markdown to style text and reference data:",
3298
+ "crowdinContext": "Do not translate word 'Markdown'"
3299
+ },
3300
+ "richText.tooltip": {
3301
+ "text": "You can use Markdown syntax to style the description:",
3302
+ "crowdinContext": "Do not translate word 'Markdown'"
3303
+ },
3304
+ "richText.no_data": {
3305
+ "text": "No data",
3306
+ "crowdinContext": "No data retrieved from the server"
3307
+ },
3308
+ "richText.multiple_data": {
3309
+ "text": "Multiple items",
3310
+ "crowdinContext": "Error when multiple items are retrieved from server for attribute"
3311
+ },
3312
+ "richText.no_fetch": {
3313
+ "text": "Data could not be retrieved",
3314
+ "crowdinContext": "Data could not be retrieved from the server"
3315
+ },
3316
+ "recurrence.starts": {
3317
+ "text": "Starts on",
3318
+ "crowdinContext": "Describes when recurrence starts."
3319
+ },
3320
+ "recurrence.repeats": {
3321
+ "text": "Repeats",
3322
+ "crowdinContext": "Describes how recurrence repeats."
3323
+ },
3324
+ "recurrence.types.hourly": {
3325
+ "text": "Hourly",
3326
+ "crowdinContext": "Repeats the schedule hourly."
3327
+ },
3328
+ "recurrence.types.daily": {
3329
+ "text": "Daily",
3330
+ "crowdinContext": "Repeats the schedule daily."
3331
+ },
3332
+ "recurrence.types.weekly": {
3333
+ "text": "Weekly on {day}",
3334
+ "crowdinContext": "Example: 'Weekly on Friday'. Placeholder '{day}' refers to a day of a week."
3335
+ },
3336
+ "recurrence.types.monthly.last": {
3337
+ "text": "Monthly on the last {day}",
3338
+ "crowdinContext": "Example: 'Monthly on the last Friday'. The placeholder {day} will be replaced with a day of the week name like 'Friday', 'Monday', etc."
3339
+ },
3340
+ "recurrence.types.monthly.first": {
3341
+ "text": "Monthly on the first day",
3342
+ "crowdinContext": "Example: 'Monthly on the first day'."
3343
+ },
3344
+ "recurrence.types.weekly.first": {
3345
+ "text": "Weekly on the first day",
3346
+ "crowdinContext": "Example: 'Weekly on the first day'."
3347
+ },
3348
+ "recurrence.types.monthly": {
3349
+ "text": "Monthly on the {week, select, 1 {first} 2 {second} 3 {third} 4 {fourth} other {last}} {day}",
3350
+ "crowdinContext": "Recurrence pattern description. The placeholder {week} will be replaced with a number (1-4) to select the appropriate week ordinal, and {day} will be replaced with a day name. Examples: 'Monthly on the first Friday', 'Monthly on the second Monday', 'Monthly on the last Sunday'."
3351
+ },
3352
+ "recurrence.types.cron": {
3353
+ "text": "Cron expression",
3354
+ "crowdinContext": "Repeats the schedule email using custom cron expression defined by the user. Do not translate word 'Cron' as it is a name of technical specification."
3355
+ },
3356
+ "recurrence.types.inherit": {
3357
+ "text": "Organization default",
3358
+ "crowdinContext": "Repeats the schedule email using the same recurrence as the setup in parent."
3359
+ },
3360
+ "recurrence.types.inherit.info": {
3361
+ "text": "Use the default evaluation frequency set by your organization.",
3362
+ "crowdinContext": "Info tooltip for inherit option."
3363
+ },
3364
+ "recurrence.description.hourly": {
3365
+ "text": "At start of every hour",
3366
+ "crowdinContext": "Description of hourly recurrence pattern, indicating execution at the beginning of each hour."
3367
+ },
3368
+ "recurrence.description.daily": {
3369
+ "text": "At {hour} every day",
3370
+ "crowdinContext": "The placeholder {hour} will be replaced with a time value like '9:00 AM', '14:30', etc."
3371
+ },
3372
+ "recurrence.description.weekly_first": {
3373
+ "text": "At {hour} every week start",
3374
+ "crowdinContext": "The placeholder {hour} will be replaced with a time value like '9:00 AM', '14:30', etc."
3375
+ },
3376
+ "recurrence.description.weekly": {
3377
+ "text": "At {hour} on {dayOfWeekName} every week",
3378
+ "crowdinContext": "The placeholder {hour} will be replaced with a time value like '9:00 AM', '14:30', etc. The placeholder {dayOfWeekName} will be replaced with a day name like 'Monday', 'Tuesday', etc."
3379
+ },
3380
+ "recurrence.description.monthly_first": {
3381
+ "text": "At {hour} every month start",
3382
+ "crowdinContext": "The placeholder {hour} will be replaced with a time value like '9:00 AM', '14:30', etc."
3383
+ },
3384
+ "recurrence.description.monthly": {
3385
+ "text": "At {hour} on {dayOfWeekName} every {weekNumber}. week in month",
3386
+ "crowdinContext": "The placeholder {hour} will be replaced with a time value like '9:00 AM', '14:30', etc. The placeholder {dayOfWeekName} will be replaced with a day name like 'Monday', 'Tuesday', etc. The placeholder {weekNumber} will be replaced with a number like '1', '2', '3', etc."
3387
+ },
3388
+ "recurrence.error.too_often": {
3389
+ "text": "Error: Frequency too high — reduce to max 1 per hour",
3390
+ "crowdinContext": "Invalid frequency recurrence."
3391
+ },
3392
+ "recurrence.error.empty": {
3393
+ "text": "Error: Required field — enter a Spring cron expression with six fields: seconds, minutes, hours, day of month, month, and day of week. <a>Learn more</a>",
3394
+ "crowdinContext": "Input field validation message. The <a> tags create clickable help links for assistance."
3395
+ },
3396
+ "recurrence.error.wrongFormat": {
3397
+ "text": "Error: Invalid format — use Spring cron format with six fields: seconds, minutes, hours, day of month, month, and day of week. <a>Learn more</a>",
3398
+ "crowdinContext": "Input field has wrong format. The <a> tags create clickable help links for assistance."
3399
+ },
3400
+ "recurrence.cron.tooltip": {
3401
+ "text": "Use Spring cron format — six fields: seconds, minutes, hours, day of month, month, day of week. <a>Learn more</a>",
3402
+ "crowdinContext": "Input field tooltip. The <a> tags create clickable help links for assistance."
3403
+ },
3404
+ "recurrence.datetime.format.help": {
3405
+ "text": "Format: {dateFormat}",
3406
+ "crowdinContext": "Input field tooltip. Example: Format: YYYY-MM-DD"
3407
+ },
3408
+ "recurrence.datetime.timezone.help": {
3409
+ "text": "{timezone} timezone",
3410
+ "crowdinContext": "Additional description for timepicker. Should include the timezone value and specify that it's a timezone."
3411
+ },
3412
+ "recurrence.datetime.empty.error": {
3413
+ "text": "Error: Required field — enter a valid date to continue.",
3414
+ "crowdinContext": "Input field validation message."
3415
+ },
3416
+ "recurrence.datetime.wrong.format.error": {
3417
+ "text": "Error: Invalid date — format must be {dateFormat}",
3418
+ "crowdinContext": "Error message shown when the date format doesn't match the expected format. The placeholder {dateFormat} shows the required format."
3419
+ },
3420
+ "message.accessibility.dismiss.notification": {
3421
+ "text": "Dismiss notification",
3422
+ "crowdinContext": "Accessibility label for the button that closes or dismisses a notification message. Used by screen readers."
3423
+ },
3424
+ "datePicker.accessibility.label": {
3425
+ "text": "Select start date",
3426
+ "crowdinContext": "Accessibility label for the date picker component, indicating it's used to select a start date. Used by screen readers."
3427
+ },
3428
+ "timePicker.accessibility.label": {
3429
+ "text": "Select starting time",
3430
+ "crowdinContext": "Accessibility label for the time picker component, indicating it's used to select a starting time. Used by screen readers."
3431
+ },
3432
+ "menu.close": {
3433
+ "text": "Close menu",
3434
+ "crowdinContext": "Button label for closing a menu. Used in various dropdown and context menus throughout the application."
3435
+ },
3436
+ "menu.back": {
3437
+ "text": "Back to the parent menu",
3438
+ "crowdinContext": "Button label for navigating back to the parent menu in a nested menu structure. Used in hierarchical navigation."
3439
+ },
3440
+ "table.title.searchPlaceholder": {
3441
+ "text": "Search...",
3442
+ "crowdinContext": "Placeholder text for the search input field in the table title"
3443
+ },
3444
+ "table.filter.label": {
3445
+ "text": "Filter",
3446
+ "crowdinContext": "Label for the filters section in the table toolbar"
3447
+ },
3448
+ "table.filter.searchPlaceholder": {
3449
+ "text": "Search...",
3450
+ "crowdinContext": "Placeholder text for the search input within filter dropdowns"
3451
+ },
3452
+ "table.filter.optionAll": {
3453
+ "text": "All",
3454
+ "crowdinContext": "Label for the 'All' option in the filter dropdown"
3455
+ },
3456
+ "table.filter.optionApply": {
3457
+ "text": "Apply",
3458
+ "crowdinContext": "Label for the 'Apply' button in the filter dropdown"
3459
+ },
3460
+ "table.filter.optionCancel": {
3461
+ "text": "Cancel",
3462
+ "crowdinContext": "Label for the 'Cancel' button in the filter dropdown"
3463
+ },
3464
+ "table.filter.error.tooLarge": {
3465
+ "text": "<strong>Error:</strong> Selection across filters too large — deselect some values and try again.",
3466
+ "crowdinContext": "Error message shown when the selection across filters is too large"
3467
+ },
3468
+ "table.header.ariaLabel": {
3469
+ "text": "Header",
3470
+ "crowdinContext": "ARIA label for the table header row, used by screen readers to identify the header section of the table"
3471
+ },
3472
+ "table.header.checkbox.ariaLabel": {
3473
+ "text": "Select action",
3474
+ "crowdinContext": "ARIA label for the checkbox column header in tables with bulk actions, used by screen readers"
3475
+ },
3476
+ "table.header.menu.ariaLabel": {
3477
+ "text": "Actions",
3478
+ "crowdinContext": "ARIA label for the menu/actions column header in tables, used by screen readers"
3479
+ },
3480
+ "table.bulkActions.chooseAction": {
3481
+ "text": "Choose an action...",
3482
+ "crowdinContext": "Label for the bulk actions dropdown button"
3483
+ },
3484
+ "table.bulkActions.selectedCount": {
3485
+ "text": "{selectedCount} of {totalCount} selected",
3486
+ "crowdinContext": "Shows the number of selected items with total count. Example: '5 of 100 selected'"
3487
+ },
3488
+ "table.bulkActions.selectedCountShort": {
3489
+ "text": "{selectedCount} selected",
3490
+ "crowdinContext": "Shows the number of selected items. Example: '5 selected'"
3491
+ },
3492
+ "table.bulkActions.selectAll": {
3493
+ "text": "Select all",
3494
+ "crowdinContext": "Tooltip content: Select all"
3495
+ },
3496
+ "table.bulkActions.selectedFiltersCount": {
3497
+ "text": "{selectedCount} selected",
3498
+ "crowdinContext": "Shows the number of selected filters. Example: '5 selected'"
3499
+ },
3500
+ "table.emptyState.noMatch": {
3501
+ "text": "No match found",
3502
+ "crowdinContext": "Message shown when no items match the current filters or search"
3503
+ },
3504
+ "table.emptyState.tryAdjustingFilters": {
3505
+ "text": "Check the spelling or adjust filters.",
3506
+ "crowdinContext": "Suggestion text shown when no items match the current filters or search"
3507
+ },
3508
+ "tabs.all": {
3509
+ "text": "All",
3510
+ "crowdinContext": "Label for the overflow dropdown button in tabs component. When clicked, shows all available tabs in a dropdown list."
3511
+ },
3512
+ "tabs.actions": {
3513
+ "text": "Actions for the current tab",
3514
+ "crowdinContext": "Label for the button that opens a menu of actions for a specific tab"
3515
+ },
3516
+ "tabs.showAllTabs": {
3517
+ "text": "Show all tabs",
3518
+ "crowdinContext": "Accessibility label for the overflow dropdown button in tabs component. Used by screen readers to describe the action of opening a dropdown with all available tabs."
3519
+ },
3520
+ "tabs.allTabsListLabel.withActions": {
3521
+ "text": "List of all tabs. Use the right arrow key to move to the tab actions menu.",
3522
+ "crowdinContext": "Screen reader description for the list of all tabs. Includes the possible actions."
3523
+ },
3524
+ "tabs.allTabsListLabel.noActions": {
3525
+ "text": "List of all tabs",
3526
+ "crowdinContext": "Screen reader description for the list of all tabs when there are no actions available."
3527
+ },
3528
+ "messages.accessibility.noMessages": {
3529
+ "text": "No messages",
3530
+ "crowdinContext": "Accessibility label for the empty state of the message list. Used by screen readers."
3531
+ },
3532
+ "messages.accessibility.partial.error": {
3533
+ "text": "{count, plural, one {# error} other {# errors}}",
3534
+ "crowdinContext": "Accessibility label for the number of errors in the message list. Used by screen readers."
3535
+ },
3536
+ "messages.accessibility.partial.warning": {
3537
+ "text": "{count, plural, one {# warning} other {# warnings}}",
3538
+ "crowdinContext": "Accessibility label for the number of warnings in the message list. Used by screen readers."
3539
+ },
3540
+ "messages.accessibility.partial.success": {
3541
+ "text": "{count, plural, one {# success} other {# successes}}",
3542
+ "crowdinContext": "Accessibility label for the number of successes in the message list. Used by screen readers."
3543
+ },
3544
+ "messages.accessibility.partial.progress": {
3545
+ "text": "{count, plural, one {# progress} other {# progresses}}",
3546
+ "crowdinContext": "Accessibility label for the number of progress indicators in the message list. Used by screen readers."
3547
+ },
3548
+ "messages.accessibility.label": {
3549
+ "text": "{count, plural, one {# message} other {# messages}}: {partial}",
3550
+ "crowdinContext": "Accessibility label for the message list. Used by screen readers."
3551
+ },
3552
+ "search.results.none": {
3553
+ "text": "No results match.",
3554
+ "crowdinContext": "Accessibility label for the empty state of the search results. Used by screen readers."
3555
+ },
3556
+ "search.results.few": {
3557
+ "text": "{count, plural, one {# result} other {# results}}: {values}",
3558
+ "crowdinContext": "Accessibility label for the search results. Used by screen readers."
3559
+ },
3560
+ "search.results.many": {
3561
+ "text": "{count} results",
3562
+ "crowdinContext": "Accessibility label for the search results. Used by screen readers."
3563
+ },
3564
+ "dialogs.export.pdf.headline": {
3565
+ "text": "Export settings (.pdf)",
3566
+ "crowdinContext": "Title of the export PDF dialog"
3567
+ },
3568
+ "dialogs.export.pdf.includePageExportInfo": {
3569
+ "text": "Include page export info",
3570
+ "crowdinContext": "Label for the include page export info checkbox in the export PDF dialog"
3571
+ },
3572
+ "dialogs.export.pdf.pageOrientation": {
3573
+ "text": "Orientation",
3574
+ "crowdinContext": "Label for the orientation dropdown in the export PDF dialog"
3575
+ },
3576
+ "dialogs.export.pdf.pageSize": {
3577
+ "text": "Page size",
3578
+ "crowdinContext": "Label for the page size dropdown in the export PDF dialog"
3579
+ },
3580
+ "dialogs.export.pdf.pageSize.option.a3": {
3581
+ "text": "A3",
3582
+ "crowdinContext": "Export PDF dialog: Page size dropdown option representing the A3 paper format."
3583
+ },
3584
+ "dialogs.export.pdf.pageSize.option.a4": {
3585
+ "text": "A4",
3586
+ "crowdinContext": "Export PDF dialog: Page size dropdown option representing the A4 paper format."
3587
+ },
3588
+ "dialogs.export.pdf.pageSize.option.letter": {
3589
+ "text": "Letter",
3590
+ "crowdinContext": "Export PDF dialog: Page size dropdown option representing the Letter paper format."
3591
+ },
3592
+ "dialogs.export.pdf.pageOrientation.option.portrait": {
3593
+ "text": "Portrait",
3594
+ "crowdinContext": "Export PDF dialog: Orientation dropdown option showing the portrait page orientation."
3595
+ },
3596
+ "dialogs.export.pdf.pageOrientation.option.landscape": {
3597
+ "text": "Landscape",
3598
+ "crowdinContext": "Export PDF dialog: Orientation dropdown option showing the landscape page orientation."
3599
+ },
3600
+ "dialogs.export.submit": {
3601
+ "text": "Export",
3602
+ "crowdinContext": "Start to export data to file"
3603
+ },
3604
+ "gs.header.mainMenu.ariaLabel": {
3605
+ "text": "Main menu",
3606
+ "crowdinContext": "Accessibility label for the main menu button in the header, used by screen readers"
3607
+ }
903
3608
  };
904
3609
  //# sourceMappingURL=en-US.localization-bundle.js.map