@adminiumjs/i18n 0.1.0 → 0.1.2

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 (89) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/locales.d.ts +1 -1
  4. package/dist/locales.js +1 -1
  5. package/dist/react.d.ts +10 -0
  6. package/dist/react.d.ts.map +1 -1
  7. package/dist/react.js +37 -0
  8. package/dist/react.js.map +1 -1
  9. package/dist/resources/ar-eg/common.d.ts +4 -0
  10. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  11. package/dist/resources/ar-eg/common.js +4 -0
  12. package/dist/resources/ar-eg/common.js.map +1 -1
  13. package/dist/resources/ar-eg/ui.d.ts +769 -1
  14. package/dist/resources/ar-eg/ui.d.ts.map +1 -1
  15. package/dist/resources/ar-eg/ui.js +823 -55
  16. package/dist/resources/ar-eg/ui.js.map +1 -1
  17. package/dist/resources/cs-cz/common.d.ts +4 -0
  18. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  19. package/dist/resources/cs-cz/common.js +4 -0
  20. package/dist/resources/cs-cz/common.js.map +1 -1
  21. package/dist/resources/cs-cz/ui.d.ts +769 -1
  22. package/dist/resources/cs-cz/ui.d.ts.map +1 -1
  23. package/dist/resources/cs-cz/ui.js +823 -55
  24. package/dist/resources/cs-cz/ui.js.map +1 -1
  25. package/dist/resources/da-dk/common.d.ts +4 -0
  26. package/dist/resources/da-dk/common.d.ts.map +1 -1
  27. package/dist/resources/da-dk/common.js +4 -0
  28. package/dist/resources/da-dk/common.js.map +1 -1
  29. package/dist/resources/da-dk/ui.d.ts +769 -1
  30. package/dist/resources/da-dk/ui.d.ts.map +1 -1
  31. package/dist/resources/da-dk/ui.js +823 -55
  32. package/dist/resources/da-dk/ui.js.map +1 -1
  33. package/dist/resources/de-de/common.d.ts +4 -0
  34. package/dist/resources/de-de/common.d.ts.map +1 -1
  35. package/dist/resources/de-de/common.js +4 -0
  36. package/dist/resources/de-de/common.js.map +1 -1
  37. package/dist/resources/de-de/ui.d.ts +769 -1
  38. package/dist/resources/de-de/ui.d.ts.map +1 -1
  39. package/dist/resources/de-de/ui.js +823 -55
  40. package/dist/resources/de-de/ui.js.map +1 -1
  41. package/dist/resources/en-us/common.d.ts +4 -0
  42. package/dist/resources/en-us/common.d.ts.map +1 -1
  43. package/dist/resources/en-us/common.js +4 -0
  44. package/dist/resources/en-us/common.js.map +1 -1
  45. package/dist/resources/en-us/ui.d.ts +809 -41
  46. package/dist/resources/en-us/ui.d.ts.map +1 -1
  47. package/dist/resources/en-us/ui.js +861 -93
  48. package/dist/resources/en-us/ui.js.map +1 -1
  49. package/dist/resources/fr-fr/common.d.ts +4 -0
  50. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  51. package/dist/resources/fr-fr/common.js +4 -0
  52. package/dist/resources/fr-fr/common.js.map +1 -1
  53. package/dist/resources/fr-fr/ui.d.ts +769 -1
  54. package/dist/resources/fr-fr/ui.d.ts.map +1 -1
  55. package/dist/resources/fr-fr/ui.js +823 -55
  56. package/dist/resources/fr-fr/ui.js.map +1 -1
  57. package/dist/resources/zh-cn/common.d.ts +4 -0
  58. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  59. package/dist/resources/zh-cn/common.js +4 -0
  60. package/dist/resources/zh-cn/common.js.map +1 -1
  61. package/dist/resources/zh-cn/ui.d.ts +769 -1
  62. package/dist/resources/zh-cn/ui.d.ts.map +1 -1
  63. package/dist/resources/zh-cn/ui.js +823 -55
  64. package/dist/resources/zh-cn/ui.js.map +1 -1
  65. package/dist/resources/zh-tw/common.d.ts +4 -0
  66. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  67. package/dist/resources/zh-tw/common.js +4 -0
  68. package/dist/resources/zh-tw/common.js.map +1 -1
  69. package/dist/resources/zh-tw/ui.d.ts +769 -1
  70. package/dist/resources/zh-tw/ui.d.ts.map +1 -1
  71. package/dist/resources/zh-tw/ui.js +823 -55
  72. package/dist/resources/zh-tw/ui.js.map +1 -1
  73. package/locales/ar-EG/common.json +4 -0
  74. package/locales/ar-EG/ui.json +823 -55
  75. package/locales/cs-CZ/common.json +4 -0
  76. package/locales/cs-CZ/ui.json +823 -55
  77. package/locales/da-DK/common.json +4 -0
  78. package/locales/da-DK/ui.json +823 -55
  79. package/locales/de-DE/common.json +4 -0
  80. package/locales/de-DE/ui.json +823 -55
  81. package/locales/en-US/common.json +4 -0
  82. package/locales/en-US/ui.json +861 -93
  83. package/locales/fr-FR/common.json +4 -0
  84. package/locales/fr-FR/ui.json +823 -55
  85. package/locales/zh-CN/common.json +4 -0
  86. package/locales/zh-CN/ui.json +823 -55
  87. package/locales/zh-TW/common.json +4 -0
  88. package/locales/zh-TW/ui.json +823 -55
  89. package/package.json +1 -1
@@ -25,7 +25,8 @@ export default {
25
25
  "showPassword": "顯示密碼",
26
26
  "hidePassword": "隱藏密碼",
27
27
  "reveal": "顯示",
28
- "hide": "隱藏"
28
+ "hide": "隱藏",
29
+ "clearSearch": "Clear search"
29
30
  },
30
31
  "state": {
31
32
  "loading": "載入中…",
@@ -67,7 +68,9 @@ export default {
67
68
  "description": "常用指標卡:一個主要彙總值,可選趨勢標章與迷你走勢圖。"
68
69
  },
69
70
  "usageMeter": {
70
- "description": "配額用量與上限的對比;超過所設門檻後,進度列會依序轉為橘色和紅色。"
71
+ "description": "配額用量與上限的對比;超過所設門檻後,進度列會依序轉為橘色和紅色。",
72
+ "usageLabel": "Usage",
73
+ "ofLabel": "of"
71
74
  },
72
75
  "statTileCompact": {
73
76
  "description": "纖薄的指標磚,含微型標籤、趨勢標記與 6 條走勢圖——適合 4 至 6 個一列的密集版面。"
@@ -83,13 +86,17 @@ export default {
83
86
  "description": "用於分數或百分比的環形量表,依數值所在區間著色。"
84
87
  },
85
88
  "gaugeArc": {
86
- "description": "帶定性區間與指針的速度表弧線;也可呈現量表格線。"
89
+ "description": "帶定性區間與指針的速度表弧線;也可呈現量表格線。",
90
+ "emptyTitle": "No gauges to show",
91
+ "emptyBody": "Services appear here as gauges once there is a reading for them."
87
92
  },
88
93
  "periodComparison": {
89
94
  "description": "本期與上期以兩條進度列對比,下方列出計算出的差額。",
90
95
  "higherLabel": "較高",
91
96
  "lowerLabel": "較低",
92
- "flatLabel": "持平"
97
+ "flatLabel": "持平",
98
+ "periodALabel": "This period",
99
+ "periodBLabel": "Last period"
93
100
  },
94
101
  "microKpiSubtitle": {
95
102
  "description": "由範本產生的單行頁首統計,隨即時狀態重新計算。"
@@ -105,54 +112,250 @@ export default {
105
112
  "boxplot": {
106
113
  "description": "依類別彙總數值欄位分佈的盒鬚圖——最小值、四分位數、中位數與最大值。",
107
114
  "emptyTitle": "沒有可繪製的分佈",
108
- "emptyBody": "沒有符合篩選條件的資料列可用於盒鬚圖。"
115
+ "emptyBody": "沒有符合篩選條件的資料列可用於盒鬚圖。",
116
+ "chartLabel": "Box plot"
109
117
  },
110
118
  "violin": {
111
119
  "description": "鏡像密度曲線,比較數值欄位在各群組之間的分佈。",
112
120
  "emptyTitle": "沒有可繪製的分佈",
113
- "emptyBody": "沒有符合篩選條件的資料列可用於密度曲線。"
121
+ "emptyBody": "沒有符合篩選條件的資料列可用於密度曲線。",
122
+ "chartLabel": "Violin plot"
114
123
  },
115
124
  "ridgeline": {
116
125
  "description": "重疊的密度山脊圖,比較數值欄位在有序群組間的分佈。",
117
126
  "emptyTitle": "沒有可繪製的山脊",
118
- "emptyBody": "沒有符合篩選條件的資料列可用於密度曲線。"
127
+ "emptyBody": "沒有符合篩選條件的資料列可用於密度曲線。",
128
+ "chartLabel": "Ridgeline"
119
129
  },
120
130
  "scatterBubble": {
121
131
  "description": "將兩個數值欄位繪製為散佈點,可選氣泡大小與趨勢線。",
122
132
  "emptyTitle": "沒有可繪製的散佈點",
123
- "emptyBody": "沒有符合篩選條件的資料列符合所選欄位。"
133
+ "emptyBody": "沒有符合篩選條件的資料列符合所選欄位。",
134
+ "chartLabel": "Scatter plot"
124
135
  },
125
136
  "hexbin": {
126
137
  "description": "兩個數值欄位的六邊形密度圖,依每格落入的資料列數著色。",
127
138
  "emptyTitle": "沒有可繪製的密度",
128
- "emptyBody": "沒有符合篩選條件的資料列可供分箱。"
139
+ "emptyBody": "沒有符合篩選條件的資料列可供分箱。",
140
+ "chartLabel": "Density hexbin"
129
141
  },
130
142
  "correlationMatrix": {
131
143
  "description": "所選數值欄位之間的皮爾森相關性,從強正相關到強負相關。",
132
144
  "emptyTitle": "沒有可計算的相關性",
133
- "emptyBody": "請至少選擇兩個具有相符資料列的數值欄位。"
145
+ "emptyBody": "請至少選擇兩個具有相符資料列的數值欄位。",
146
+ "chartLabel": "Correlation matrix"
134
147
  },
135
148
  "parallelCoordinates": {
136
149
  "description": "將每筆記錄繪製為跨多個正規化數值軸的折線,依類別著色。",
137
150
  "emptyTitle": "沒有可繪製的記錄",
138
- "emptyBody": "沒有符合篩選條件的資料列涵蓋所選各軸。"
151
+ "emptyBody": "沒有符合篩選條件的資料列涵蓋所選各軸。",
152
+ "chartLabel": "Parallel coordinates"
153
+ },
154
+ "unexpectedShape": "Unexpected data shape.",
155
+ "lineArea": {
156
+ "chartLabel": "Line chart",
157
+ "description": "A metric over time as a line with a soft area fill, with an optional dashed prior-period comparison."
158
+ },
159
+ "bar": {
160
+ "chartLabel": "Bar chart",
161
+ "description": "Categorical or time-bucketed values as vertical bars, with an optional highlight on the largest or current bar."
162
+ },
163
+ "donut": {
164
+ "chartLabel": "Donut chart",
165
+ "otherLabel": "Other",
166
+ "description": "Category shares as donut slices with a legend and centre total, folding small slices into an Other bucket."
167
+ },
168
+ "bullet": {
169
+ "chartLabel": "Bullet chart",
170
+ "description": "Progress toward a goal as a measure bar over qualitative bands, with a target tick per row.",
171
+ "emptyTitle": "No goals to track",
172
+ "emptyBody": "Add measures with targets to compare against."
173
+ },
174
+ "rankingBars": {
175
+ "chartLabel": "Ranking",
176
+ "description": "A top-N ranking as horizontal bars — the leader at full strength, the rest dimmed — with values alongside.",
177
+ "emptyTitle": "Nothing to rank",
178
+ "emptyBody": "No records matched this breakdown yet."
179
+ },
180
+ "pareto": {
181
+ "chartLabel": "Pareto chart",
182
+ "description": "Sorted category bars under a cumulative-percent line, with an optional 80% cutline.",
183
+ "emptyTitle": "No categories to chart",
184
+ "emptyBody": "No grouped counts were returned for this range."
185
+ },
186
+ "waterfall": {
187
+ "chartLabel": "Waterfall chart",
188
+ "description": "A floating-bar bridge from a start total through positive and negative steps to a net total.",
189
+ "emptyTitle": "No movement to bridge",
190
+ "emptyBody": "No start, change, or total steps were found."
191
+ },
192
+ "marimekko": {
193
+ "chartLabel": "Marimekko chart",
194
+ "description": "A two-level mix as variable-width stacked columns — width for the outer share, segments for the inner split.",
195
+ "emptyTitle": "No mix to break down",
196
+ "emptyBody": "No two-level breakdown was returned for this range."
197
+ },
198
+ "stackedBar100": {
199
+ "chartLabel": "100% stacked bar",
200
+ "description": "One 100% bar split into proportional segments with a legend, comparing shares of a whole.",
201
+ "emptyTitle": "No shares to split",
202
+ "emptyBody": "No parts were returned for this breakdown."
203
+ },
204
+ "slope": {
205
+ "chartLabel": "Slope chart",
206
+ "description": "Two periods joined by one line per record, coloured by whether the value rose or fell.",
207
+ "emptyTitle": "No period shift to show",
208
+ "emptyBody": "No before/after values were returned to compare."
209
+ },
210
+ "multiline": {
211
+ "chartLabel": "Multi-line chart",
212
+ "description": "Several series as overlaid lines with end labels, comparing trends over the same time span.",
213
+ "emptyTitle": "No series to plot",
214
+ "emptyBody": "No time series matched the filters for this range."
215
+ },
216
+ "stream": {
217
+ "chartLabel": "Stream chart",
218
+ "description": "Stacked bands flowing around a centre line, showing how a total's composition shifts over time.",
219
+ "emptyTitle": "No flow to chart",
220
+ "emptyBody": "No stacked series were returned for this range."
221
+ },
222
+ "forecast": {
223
+ "chartLabel": "Forecast chart",
224
+ "nowLabel": "Now",
225
+ "forecastLabel": "Forecast",
226
+ "actualLabel": "Actual",
227
+ "description": "A history line extended by a dashed projection inside a widening confidence band, split at a now divider.",
228
+ "emptyTitle": "No history to project",
229
+ "emptyBody": "No past points were returned to forecast from."
230
+ },
231
+ "anomaly": {
232
+ "chartLabel": "Anomaly chart",
233
+ "description": "A value line over its expected range, flagging points that fall outside it with halo dots.",
234
+ "emptyTitle": "No signal to scan",
235
+ "emptyBody": "No points were returned to check for anomalies."
236
+ },
237
+ "candlestick": {
238
+ "chartLabel": "Candlestick chart",
239
+ "livePillLabel": "Live",
240
+ "description": "Open-high-low-close candles coloured by direction, with a dashed last-price line and an optional live pill.",
241
+ "emptyTitle": "No candles to chart",
242
+ "emptyBody": "No open-high-low-close rows matched this range."
243
+ },
244
+ "bump": {
245
+ "chartLabel": "Bump chart",
246
+ "description": "Rank-over-time lines showing how competitors trade places between periods.",
247
+ "emptyTitle": "No ranks to trace",
248
+ "emptyBody": "No period-over-period rankings were returned."
249
+ },
250
+ "timelineLanes": {
251
+ "chartLabel": "Timeline lanes",
252
+ "laneLabel": "Events",
253
+ "description": "Dated events as pills on horizontal swimlanes sharing one time axis.",
254
+ "emptyTitle": "No events to place",
255
+ "emptyBody": "No events matched the filters for this range."
256
+ },
257
+ "treemap": {
258
+ "chartLabel": "Treemap",
259
+ "otherLabel": "Other",
260
+ "description": "A part-to-whole breakdown as squarified tiles sized by value, folding small slices into an Other tile.",
261
+ "emptyTitle": "No slices to tile",
262
+ "emptyBody": "No categories were returned for this breakdown."
263
+ },
264
+ "sunburst": {
265
+ "chartLabel": "Sunburst",
266
+ "description": "A two-level hierarchy as nested rings — parents inside, their children outside — with a parent legend.",
267
+ "emptyTitle": "No rings to draw",
268
+ "emptyBody": "No grouped categories were returned to nest."
269
+ },
270
+ "funnel": {
271
+ "chartLabel": "Funnel",
272
+ "description": "Ordered shrinking stages with per-step continuation rates and an overall-conversion footer.",
273
+ "emptyTitle": "No stages to funnel",
274
+ "emptyBody": "No step counts were returned for this range."
275
+ },
276
+ "radialBar": {
277
+ "chartLabel": "Radial bar",
278
+ "description": "Up to four percentages as concentric progress rings with a dot legend.",
279
+ "emptyTitle": "No rings to fill",
280
+ "emptyBody": "No categories matched this breakdown yet."
281
+ },
282
+ "radar": {
283
+ "chartLabel": "Radar",
284
+ "description": "Several named axes on a polygon with one filled shape per series, against an optional target overlay.",
285
+ "emptyTitle": "No axes to compare",
286
+ "emptyBody": "No matrix of series and axes was returned."
287
+ },
288
+ "chord": {
289
+ "chartLabel": "Chord",
290
+ "description": "Pairwise flows as ribbons between nodes on a ring, with ribbon opacity weighted by volume.",
291
+ "emptyTitle": "No flows to link",
292
+ "emptyBody": "No connections between groups were returned."
293
+ },
294
+ "wordcloud": {
295
+ "chartLabel": "Word cloud",
296
+ "description": "Terms sized by frequency and flowed into rows, for a glanceable view of what dominates.",
297
+ "emptyTitle": "No terms to cloud",
298
+ "emptyBody": "No weighted terms matched the filters."
299
+ },
300
+ "cohortMatrix": {
301
+ "chartLabel": "Cohort retention",
302
+ "description": "Cohort rows against period columns, each cell shaded by retention or revenue."
303
+ },
304
+ "heatmapCalendar": {
305
+ "chartLabel": "Activity calendar",
306
+ "legendLessLabel": "Less",
307
+ "legendMoreLabel": "More",
308
+ "description": "A year of daily activity as a week-by-day grid shaded by intensity."
309
+ },
310
+ "heatMonth": {
311
+ "chartLabel": "Monthly activity",
312
+ "description": "One calendar month as a day grid shaded by each day's value."
313
+ },
314
+ "choroplethGrid": {
315
+ "chartLabel": "Regional breakdown",
316
+ "legendLowLabel": "Low",
317
+ "legendHighLabel": "High",
318
+ "description": "Regional values as a tinted US tilegram or compact grid, with an optional top-N ranking list."
319
+ },
320
+ "sankey": {
321
+ "chartLabel": "Flow",
322
+ "description": "Layered source-to-target flows as ribbons whose thickness encodes volume."
323
+ },
324
+ "sparkline": {
325
+ "description": "An inline micro-trend of recent values — no axes or labels — for KPI cards, table cells and list rows."
139
326
  }
140
327
  },
141
328
  "feeds": {
142
329
  "activityFeed": {
143
330
  "description": "依時間倒序顯示工作區中誰做了什麼的動態資訊流。",
144
331
  "emptyTitle": "尚無近期動態",
145
- "emptyBody": "工作區中的操作將顯示在這裡。"
332
+ "emptyBody": "工作區中的操作將顯示在這裡。",
333
+ "viewAllLabel": "View all"
146
334
  },
147
335
  "notificationFeed": {
148
336
  "description": "帶未讀狀態、篩選與內嵌操作的分組通知。",
149
337
  "emptyTitle": "尚無通知",
150
- "emptyBody": "新通知將顯示在這裡。"
338
+ "emptyBody": "新通知將顯示在這裡。",
339
+ "allLabel": "All",
340
+ "unreadLabel": "Unread",
341
+ "mentionsLabel": "Mentions",
342
+ "filterLabel": "Notification filter",
343
+ "markAllReadLabel": "Mark all read",
344
+ "todayLabel": "Today",
345
+ "yesterdayLabel": "Yesterday",
346
+ "earlierLabel": "Earlier",
347
+ "dismissLabel": "Dismiss",
348
+ "emptyUnreadTitle": "You're all caught up",
349
+ "emptyMentionsTitle": "No mentions"
151
350
  },
152
351
  "realtimeFeed": {
153
352
  "description": "即時事件串流,新項目抵達時會置於頂端。",
154
353
  "emptyTitle": "正在等待事件",
155
- "emptyBody": "即時事件將隨發生即時顯示。"
354
+ "emptyBody": "即時事件將隨發生即時顯示。",
355
+ "liveLabel": "Live",
356
+ "pausedLabel": "Paused",
357
+ "pauseLabel": "Pause",
358
+ "resumeLabel": "Resume"
156
359
  },
157
360
  "timelineVertical": {
158
361
  "description": "事件、發佈、事故或執行步驟的垂直時間軸。",
@@ -181,22 +384,41 @@ export default {
181
384
  "calendarMonth": {
182
385
  "description": "按月顯示已排程事件的格線,含每日標籤與月份導覽。",
183
386
  "emptyTitle": "尚無排程",
184
- "emptyBody": "已排程的事件將顯示在此行事曆中。"
387
+ "emptyBody": "已排程的事件將顯示在此行事曆中。",
388
+ "previousLabel": "Previous month",
389
+ "nextLabel": "Next month",
390
+ "overflowLabel": "+{count} more"
185
391
  },
186
392
  "dayAgenda": {
187
393
  "description": "所選日期的事件依時間排序的議程。",
188
394
  "emptyTitle": "尚無排程",
189
- "emptyBody": "所選日期的事件將顯示在此處。"
395
+ "emptyBody": "所選日期的事件將顯示在此處。",
396
+ "countLabel": "{count, plural, other {{n} events}}"
190
397
  },
191
398
  "scheduleMatrix": {
192
399
  "description": "依資源與日期排列的班次格線,含每日涵蓋情形與圖例。",
193
400
  "emptyTitle": "尚無排班",
194
- "emptyBody": "已指派的班次將顯示在此排班表中。"
401
+ "emptyBody": "已指派的班次將顯示在此排班表中。",
402
+ "resourceLabel": "Resource",
403
+ "coverageLabel": "Coverage",
404
+ "hoursLabel": "{hours}h"
195
405
  },
196
406
  "capacityBoard": {
197
407
  "description": "依成員顯示使用率長條,含專案細分與負載狀態。",
198
408
  "emptyTitle": "尚無工作量資料",
199
- "emptyBody": "有指派後,成員的使用率將顯示在此處。"
409
+ "emptyBody": "有指派後,成員的使用率將顯示在此處。",
410
+ "status": {
411
+ "overloaded": "Overloaded",
412
+ "balanced": "Balanced",
413
+ "available": "Available"
414
+ },
415
+ "utilizationLabel": "{name}: {util}%",
416
+ "assignmentLabel": "{project} · {hours}h",
417
+ "periodLabel": "h · {period}",
418
+ "period": {
419
+ "week": "week",
420
+ "month": "month"
421
+ }
200
422
  },
201
423
  "calendarLegendFilter": {
202
424
  "description": "附計數的事件類別;切換即可篩選旁邊的行事曆。",
@@ -236,12 +458,28 @@ export default {
236
458
  "masterList": {
237
459
  "description": "可選取的記錄清單,用於驅動詳細資料窗格。",
238
460
  "emptyTitle": "尚無項目",
239
- "emptyBody": "項目存在後將顯示在這裡。"
461
+ "emptyBody": "項目存在後將顯示在這裡。",
462
+ "allLabel": "All",
463
+ "toggleLabel": "Toggle {title}",
464
+ "progressLabel": "{title} progress"
240
465
  },
241
466
  "logTable": {
242
467
  "description": "帶搜尋、錯誤篩選與列操作的附加式事件記錄。",
243
468
  "emptyTitle": "尚無記錄項目",
244
- "emptyBody": "事件將隨發生記錄在這裡。"
469
+ "emptyBody": "事件將隨發生記錄在這裡。",
470
+ "liveLabel": "Live",
471
+ "placeholder": "Search logs…",
472
+ "filterLabel": "Log filter",
473
+ "allLabel": "All",
474
+ "errorsLabel": "Errors",
475
+ "noMatchesLabel": "No matching entries",
476
+ "todayLabel": "Today",
477
+ "yesterdayLabel": "Yesterday",
478
+ "action": {
479
+ "retry": "retry",
480
+ "download": "download",
481
+ "inspect": "inspect"
482
+ }
245
483
  },
246
484
  "cardGallery": {
247
485
  "description": "帶狀態與快捷操作的自適應實體卡片庫。",
@@ -251,17 +489,23 @@ export default {
251
489
  "groupedSummaryTable": {
252
490
  "description": "帶彙總欄、可展開明細與合計的分組列。",
253
491
  "emptyTitle": "尚無彙總資料",
254
- "emptyBody": "有資料後分組合計將顯示在這裡。"
492
+ "emptyBody": "有資料後分組合計將顯示在這裡。",
493
+ "groupLabel": "Group",
494
+ "totalsLabel": "Total"
255
495
  },
256
496
  "schemaTree": {
257
497
  "description": "帶型別與索引鍵標章的結構描述、資料表與欄位瀏覽器。",
258
498
  "emptyTitle": "尚未讀取結構描述",
259
- "emptyBody": "連接資料庫即可在此瀏覽其結構描述。"
499
+ "emptyBody": "連接資料庫即可在此瀏覽其結構描述。",
500
+ "treeLabel": "Schema",
501
+ "viewLabel": "view"
260
502
  },
261
503
  "toggleMatrix": {
262
504
  "description": "用於角色、原則或管道的布林開關互動格線。",
263
505
  "emptyTitle": "尚未設定矩陣",
264
- "emptyBody": "設定後列與欄將顯示在這裡。"
506
+ "emptyBody": "設定後列與欄將顯示在這裡。",
507
+ "matrixLabel": "Permissions matrix",
508
+ "rowHeaderLabel": "Permission"
265
509
  },
266
510
  "sparklineTable": {
267
511
  "description": "指標列,包含迷你走勢圖、目前數值以及可分辨好壞方向的變化標籤。",
@@ -294,6 +538,40 @@ export default {
294
538
  "emptyTitle": "尚未探索到內容",
295
539
  "emptyBody": "找到資料表與變數後,會以標籤形式顯示在這裡。",
296
540
  "moreLabel": "還有 {n} 個"
541
+ },
542
+ "dataGrid": {
543
+ "selectAllLabel": "Select all rows",
544
+ "selectRowLabel": "Select row",
545
+ "sortByLabel": "Sort by {column}",
546
+ "description": "The canonical CRUD grid with sortable columns, row selection, and type-aware cells."
547
+ },
548
+ "paginationFooter": {
549
+ "emptyLabel": "0 rows",
550
+ "ofLabel": "of",
551
+ "pageSizeLabel": "Rows",
552
+ "a11y": {
553
+ "pageSize": "Rows per page"
554
+ },
555
+ "prevLabel": "Previous page",
556
+ "nextLabel": "Next page",
557
+ "description": "A footer with the visible row range, prev/next paging, and a page-size select."
558
+ },
559
+ "bulkActionToolbar": {
560
+ "selectedLabel": "selected",
561
+ "clearLabel": "Clear selection",
562
+ "toolbarLabel": "Bulk actions",
563
+ "description": "A selection-aware toolbar showing the selected count and bulk actions."
564
+ },
565
+ "miniTable": {
566
+ "viewAllLabel": "View all",
567
+ "description": "A compact dashboard row list with mapped columns and a view-all link."
568
+ },
569
+ "revealLabel": "Reveal value",
570
+ "hideLabel": "Hide value",
571
+ "trueLabel": "true",
572
+ "falseLabel": "false",
573
+ "detailKeyValue": {
574
+ "description": "A record's fields as label/value rows with type-aware values."
297
575
  }
298
576
  },
299
577
  "boards": {
@@ -347,7 +625,8 @@ export default {
347
625
  "composerPlaceholder": "輸入訊息…",
348
626
  "sendLabel": "傳送",
349
627
  "attachLabel": "新增附件",
350
- "typingLabel": "正在輸入…"
628
+ "typingLabel": "正在輸入…",
629
+ "composerLabel": "Message"
351
630
  },
352
631
  "aiChatPanel": {
353
632
  "description": "用於詢問資料庫結構與資料的助理面板。",
@@ -358,7 +637,9 @@ export default {
358
637
  "pendingLabel": "思考中…",
359
638
  "configureTitle": "尚未設定 AI 供應商",
360
639
  "configureBody": "新增 Anthropic 或 OpenAI 金鑰,或將 Adminium 指向你自己的端點,即可詢問資料庫結構。",
361
- "configureCtaLabel": "設定供應商"
640
+ "configureCtaLabel": "設定供應商",
641
+ "assistantLabel": "Assistant",
642
+ "composerLabel": "Ask a question"
362
643
  },
363
644
  "typingIndicator": {
364
645
  "description": "頭像加斜體「輸入中…」列,繫結至每個對話的即時布林值。",
@@ -395,7 +676,8 @@ export default {
395
676
  "emptyTitle": "沒有區域",
396
677
  "emptyBody": "包含區域代碼與數值的列會在這裡顯示為著色方塊。",
397
678
  "legendLowLabel": "低",
398
- "legendHighLabel": "高"
679
+ "legendHighLabel": "高",
680
+ "chartLabel": "Regional breakdown"
399
681
  }
400
682
  },
401
683
  "domain": {
@@ -423,7 +705,9 @@ export default {
423
705
  "blockListLabel": "文件區塊",
424
706
  "billedToLabel": "帳單開立對象",
425
707
  "issuedLabel": "開立日期",
426
- "dueLabel": "到期日"
708
+ "dueLabel": "到期日",
709
+ "noDocumentTitle": "No document yet",
710
+ "noDocumentBody": "Pick a starter template or add a block to begin."
427
711
  },
428
712
  "blockTotalsSummary": {
429
713
  "description": "文件總計:小計、折扣、稅金與應付總額,皆依明細列重新計算。",
@@ -451,12 +735,14 @@ export default {
451
735
  "blockBarChart": {
452
736
  "description": "採用文件強調色的迷你長條圖,尺寸適合文件區塊。",
453
737
  "emptyTitle": "尚無繪圖資料",
454
- "emptyBody": "報表包含資料數列後,長條將顯示於此。"
738
+ "emptyBody": "報表包含資料數列後,長條將顯示於此。",
739
+ "a11yLabel": "Bar chart"
455
740
  },
456
741
  "blockLineChart": {
457
742
  "description": "迷你折線圖,可選填滿區域,尺寸適合文件區塊。",
458
743
  "emptyTitle": "尚無繪圖資料",
459
- "emptyBody": "報表包含資料數列後,折線將顯示於此。"
744
+ "emptyBody": "報表包含資料數列後,折線將顯示於此。",
745
+ "a11yLabel": "Line chart"
460
746
  },
461
747
  "blockTwoColTable": {
462
748
  "description": "兩欄表格,首列為樣式化表頭,右欄使用等寬字型。",
@@ -514,7 +800,8 @@ export default {
514
800
  "emptyBody": "文件指定簽署人後,簽名欄將顯示於此。",
515
801
  "namePlaceholder": "姓名",
516
802
  "titlePlaceholder": "職稱",
517
- "dateLabel": "日期"
803
+ "dateLabel": "日期",
804
+ "nameInputLabel": "Signature name"
518
805
  },
519
806
  "blockTermsCheckbox": {
520
807
  "description": "條款勾選方塊,標籤可編輯。",
@@ -559,77 +846,159 @@ export default {
559
846
  "starterTemplatePicker": {
560
847
  "description": "預設範本格線,附有產生的縮圖;選取後即可建立完整文件。",
561
848
  "emptyTitle": "尚無範本",
562
- "emptyBody": "請在設定中定義範本,或繫結範本資料表。"
849
+ "emptyBody": "請在設定中定義範本,或繫結範本資料表。",
850
+ "blankLabel": "Blank",
851
+ "kicker": {
852
+ "invoice": "Invoice",
853
+ "report": "Report",
854
+ "email": "Email"
855
+ }
563
856
  },
564
857
  "sloMonitorCard": {
565
858
  "description": "依服務顯示的 SLA 卡片,包含狀態、相對目標的可用率、每日運作狀態條、錯誤預算與 p95 延遲。",
566
859
  "emptyTitle": "尚無監控",
567
- "emptyBody": "請繫結含狀態欄與可用率欄的監控資料表。"
860
+ "emptyBody": "請繫結含狀態欄與可用率欄的監控資料表。",
861
+ "targetLabel": "Target",
862
+ "budgetLabel": "Error budget",
863
+ "latencyLabel": "p95 latency",
864
+ "status": {
865
+ "operational": "Operational",
866
+ "degraded": "Degraded",
867
+ "down": "Down",
868
+ "unknown": "Unknown"
869
+ }
568
870
  },
569
871
  "uptimeSegmentBar": {
570
872
  "description": "狀態頁風格的每日狀態條,依當日狀態上色,可於 30 天與 90 天之間切換。",
571
873
  "emptyTitle": "尚無運作記錄",
572
- "emptyBody": "每日狀態資料將在此顯示為運作狀態條。"
874
+ "emptyBody": "每日狀態資料將在此顯示為運作狀態條。",
875
+ "daysAgoLabel": "{days} days ago",
876
+ "todayLabel": "Today",
877
+ "uptimeLabel": "uptime",
878
+ "period30Label": "30d",
879
+ "period90Label": "90d",
880
+ "status": {
881
+ "operational": "Operational",
882
+ "degraded": "Degraded",
883
+ "down": "Down",
884
+ "unknown": "No data"
885
+ }
573
886
  },
574
887
  "experimentVariantCompare": {
575
888
  "description": "依變體顯示的轉換條,含相對對照組的提升幅度與顯著性指示器。",
576
889
  "emptyTitle": "尚無變體",
577
- "emptyBody": "請繫結含轉換數據的實驗變體資料表。"
890
+ "emptyBody": "請繫結含轉換數據的實驗變體資料表。",
891
+ "controlLabel": "CONTROL",
892
+ "winnerLabel": "WINNER",
893
+ "significanceLabel": "Confidence",
894
+ "verdictSignificantLabel": "Statistically significant — safe to call.",
895
+ "verdictInconclusiveLabel": "Not yet significant — keep the test running.",
896
+ "countsLabel": "{users} participants · {conversions} conversions"
578
897
  },
579
898
  "creditCardTile": {
580
899
  "description": "已儲存的付款方式,以品牌卡片形式顯示遮罩卡號、持卡人與有效期限。",
581
900
  "emptyTitle": "尚無付款方式",
582
- "emptyBody": "新增卡片後即可在此檢視。"
901
+ "emptyBody": "新增卡片後即可在此檢視。",
902
+ "defaultLabel": "Default",
903
+ "setDefaultLabel": "Set default",
904
+ "manageLabel": "Manage",
905
+ "addLabel": "Add payment method",
906
+ "expiresLabel": "Expires"
583
907
  },
584
908
  "planPricingCards": {
585
909
  "description": "方案級距,含按月/按年切換、功能清單與重點推薦方案。",
586
910
  "emptyTitle": "尚無方案",
587
- "emptyBody": "請繫結含名稱與每月價格的方案資料表。"
911
+ "emptyBody": "請繫結含名稱與每月價格的方案資料表。",
912
+ "monthlyLabel": "Monthly",
913
+ "annualLabel": "Annual",
914
+ "popularLabel": "POPULAR",
915
+ "perMonthLabel": "/ month",
916
+ "billedAnnuallyLabel": "Billed {total} yearly",
917
+ "currentLabel": "Current plan",
918
+ "ctaLabel": "Choose plan"
588
919
  },
589
920
  "apiKeysPanel": {
590
921
  "description": "API 金鑰清單,含環境標記、遮罩值、權限範圍、最近使用時間,以及複製、輪替與撤銷操作。",
591
922
  "emptyTitle": "尚無 API 金鑰",
592
- "emptyBody": "建立金鑰後即可開始呼叫 API。"
923
+ "emptyBody": "建立金鑰後即可開始呼叫 API。",
924
+ "revealedTitle": "Key created",
925
+ "revealedBody": "Copy it now — it is never shown again.",
926
+ "copyLabel": "Copy",
927
+ "copiedLabel": "Copied",
928
+ "revealLabel": "Reveal key",
929
+ "hideLabel": "Hide key",
930
+ "rollLabel": "Roll key",
931
+ "revokeLabel": "Revoke key",
932
+ "neverUsedLabel": "Never used",
933
+ "lastUsedLabel": "Last used {since}"
593
934
  },
594
935
  "apiPlayground": {
595
936
  "description": "請求編輯器,含參數與回應面板。僅用於組合請求,絕不會真正送出。",
596
937
  "emptyTitle": "未選取端點",
597
- "emptyBody": "請選取端點以組合針對它的請求。"
938
+ "emptyBody": "請選取端點以組合針對它的請求。",
939
+ "sendLabel": "Send",
940
+ "requestLabel": "Request",
941
+ "responseLabel": "Response",
942
+ "paramsLabel": "Parameters",
943
+ "responsePlaceholder": "Send the request to see the response."
598
944
  },
599
945
  "codeSnippetBlock": {
600
946
  "description": "可複製的程式碼片段,含語言標記與選用的分語言頁籤。",
601
947
  "emptyTitle": "尚無程式碼片段",
602
- "emptyBody": "請繫結程式碼欄,或在設定中指定靜態程式碼片段。"
948
+ "emptyBody": "請繫結程式碼欄,或在設定中指定靜態程式碼片段。",
949
+ "copyLabel": "Copy",
950
+ "copiedLabel": "Copied"
603
951
  },
604
952
  "webhookEndpointsList": {
605
953
  "description": "Webhook 端點清單,含事件、目標網址、最近觸發時間與啟用開關。",
606
954
  "emptyTitle": "尚無端點",
607
- "emptyBody": "新增 Webhook 端點以接收資料表事件。"
955
+ "emptyBody": "新增 Webhook 端點以接收資料表事件。",
956
+ "neverFiredLabel": "Never fired",
957
+ "lastFiredLabel": "Last fired {since}"
608
958
  },
609
959
  "resourceApiCard": {
610
960
  "description": "資料表產生的 API 介面:資料列數、安全標記、方法標籤與請求量。",
611
961
  "emptyTitle": "尚無資源",
612
- "emptyBody": "請繫結資料表以顯示其產生的 API 介面。"
962
+ "emptyBody": "請繫結資料表以顯示其產生的 API 介面。",
963
+ "rlsLabel": "RLS",
964
+ "publicLabel": "Public",
965
+ "rowsLabel": "rows",
966
+ "perDayLabel": "{count}/day"
613
967
  },
614
968
  "liveTimer": {
615
969
  "description": "任務用的啟停碼錶;停止後會自動建立一筆工時記錄。",
616
970
  "emptyTitle": "尚無計時器",
617
- "emptyBody": "請繫結含任務與時長欄的工時記錄列。"
971
+ "emptyBody": "請繫結含任務與時長欄的工時記錄列。",
972
+ "startLabel": "Start",
973
+ "stopLabel": "Stop",
974
+ "taskPlaceholder": "Untitled task"
618
975
  },
619
976
  "syncStatusCard": {
620
977
  "description": "連線識別、延遲、已同步資料列數與同步排程,並提供立即同步操作。",
621
978
  "emptyTitle": "尚無連線",
622
- "emptyBody": "請繫結連線資料列以顯示其同步狀態。"
979
+ "emptyBody": "請繫結連線資料列以顯示其同步狀態。",
980
+ "connectedLabel": "Connected",
981
+ "disconnectedLabel": "Disconnected",
982
+ "rowsSyncedLabel": "Rows synced",
983
+ "tablesLabel": "Tables",
984
+ "lastSyncLabel": "Last sync",
985
+ "nextSyncLabel": "Next sync",
986
+ "syncingLabel": "Syncing…",
987
+ "syncActionLabel": "Sync now"
623
988
  },
624
989
  "ipAllowlistCard": {
625
990
  "description": "需在防火牆中放行的固定輸出 IP 位址,每項皆附複製按鈕。",
626
991
  "emptyTitle": "尚無輸出 IP",
627
- "emptyBody": "連線佈建完成後,輸出位址將在此顯示。"
992
+ "emptyBody": "連線佈建完成後,輸出位址將在此顯示。",
993
+ "copyLabel": "Copy",
994
+ "copiedLabel": "Copied"
628
995
  },
629
996
  "onboardingChecklist": {
630
997
  "description": "設定步驟,含預估時間與操作按鈕,上方為即時重算的進度環與進度條。",
631
998
  "emptyTitle": "尚無待辦事項",
632
- "emptyBody": "請在設定中新增導覽步驟,或繫結步驟資料表。"
999
+ "emptyBody": "請在設定中新增導覽步驟,或繫結步驟資料表。",
1000
+ "progressLabel": "{done} of {total} done",
1001
+ "celebrateTitle": "All done"
633
1002
  },
634
1003
  "testimonialCard": {
635
1004
  "description": "客戶推薦,含頭像與署名。",
@@ -672,7 +1041,8 @@ export default {
672
1041
  "imageBoard": {
673
1042
  "description": "附說明文字的圖片格線靈感板,適用於含圖片 URL 的資料表。",
674
1043
  "emptyTitle": "尚無圖片",
675
- "emptyBody": "參考圖片將顯示在此看板上。"
1044
+ "emptyBody": "參考圖片將顯示在此看板上。",
1045
+ "placeholder": "Drop reference"
676
1046
  },
677
1047
  "linkList": {
678
1048
  "description": "附標題與網址的參考連結,於新分頁開啟。",
@@ -712,13 +1082,17 @@ export default {
712
1082
  "done": "完成",
713
1083
  "successTitle": "記錄已建立",
714
1084
  "successBody": "記錄已儲存。",
715
- "required": "此欄位為必填。"
1085
+ "required": "此欄位為必填。",
1086
+ "titleLabel": "Create record",
1087
+ "closeLabel": "Close"
716
1088
  },
717
1089
  "drawerForm": {
718
1090
  "description": "用於欄位較多記錄的側邊抽屜建立或編輯表單。",
719
1091
  "trigger": "新增",
720
1092
  "submit": "儲存",
721
- "cancel": "取消"
1093
+ "cancel": "取消",
1094
+ "titleLabel": "New record",
1095
+ "closeLabel": "Close"
722
1096
  },
723
1097
  "stepper": {
724
1098
  "description": "顯示多步驟流程進度的步驟指示器。",
@@ -768,7 +1142,23 @@ export default {
768
1142
  "operator": "運算子",
769
1143
  "value": "值",
770
1144
  "valuePlaceholder": "值…",
771
- "emptyBody": "尚無條件——新增一個以定義此分眾。"
1145
+ "emptyBody": "尚無條件——新增一個以定義此分眾。",
1146
+ "op": {
1147
+ "eq": "is",
1148
+ "neq": "is not",
1149
+ "gt": "is greater than",
1150
+ "gte": "is at least",
1151
+ "lt": "is less than",
1152
+ "lte": "is at most",
1153
+ "contains": "contains",
1154
+ "not-contains": "does not contain",
1155
+ "starts-with": "starts with",
1156
+ "in": "is one of",
1157
+ "before": "is before",
1158
+ "after": "is after",
1159
+ "is-null": "is empty",
1160
+ "is-not-null": "is not empty"
1161
+ }
772
1162
  },
773
1163
  "flowBuilder": {
774
1164
  "description": "由觸發器、條件與動作步驟組成的直向工作流程畫布。",
@@ -833,14 +1223,27 @@ export default {
833
1223
  "required": "必填",
834
1224
  "questionPlaceholder": "輸入題目…",
835
1225
  "emptyTitle": "尚無題目",
836
- "emptyBody": "選擇一種題型,開始建立您的問卷。"
1226
+ "emptyBody": "選擇一種題型,開始建立您的問卷。",
1227
+ "questionLabel": "Question",
1228
+ "dropdownPlaceholder": "Choose…",
1229
+ "kind": {
1230
+ "single-choice": "Single choice",
1231
+ "multi-choice": "Multiple choice",
1232
+ "dropdown": "Dropdown",
1233
+ "short-text": "Short text",
1234
+ "long-text": "Long text",
1235
+ "rating": "Star rating",
1236
+ "nps": "NPS 0–10",
1237
+ "date": "Date"
1238
+ }
837
1239
  },
838
1240
  "inlineEditableField": {
839
1241
  "description": "文件或畫布中可點擊編輯的值。",
840
1242
  "edit": "編輯",
841
1243
  "save": "儲存",
842
1244
  "cancel": "取消",
843
- "empty": "空白"
1245
+ "empty": "空白",
1246
+ "valueLabel": "Value"
844
1247
  },
845
1248
  "passwordStrengthMeter": {
846
1249
  "description": "顯示密碼強度的四段式指示器。",
@@ -865,7 +1268,7 @@ export default {
865
1268
  "navigate": "導覽",
866
1269
  "select": "開啟",
867
1270
  "close": "關閉",
868
- "emptyTitle": "無結果",
1271
+ "emptyTitle": "No results for \"{query}\"",
869
1272
  "emptyBody": "開始輸入以搜尋。",
870
1273
  "groupActions": "動作",
871
1274
  "groupNavigate": "導覽",
@@ -881,7 +1284,9 @@ export default {
881
1284
  "all": "全部",
882
1285
  "summary": "「{query}」的 {count} 筆結果",
883
1286
  "emptyTitle": "無結果",
884
- "emptyBody": "請嘗試其他搜尋字詞。"
1287
+ "emptyBody": "請嘗試其他搜尋字詞。",
1288
+ "searchLabel": "Search",
1289
+ "facetRailLabel": "Filter by type"
885
1290
  },
886
1291
  "breadcrumb": {
887
1292
  "description": "目前記錄或資料夾的階層路徑。",
@@ -900,11 +1305,23 @@ export default {
900
1305
  "description": "鍵盤快速鍵速查表。",
901
1306
  "footerHint": "隨時按 ?",
902
1307
  "then": "接著",
903
- "emptyTitle": "未註冊任何快速鍵。"
1308
+ "emptyTitle": "未註冊任何快速鍵。",
1309
+ "generalGroupLabel": "General",
1310
+ "navigationGroupLabel": "Navigation",
1311
+ "recordsGroupLabel": "Records",
1312
+ "openCommandPaletteLabel": "Open command palette",
1313
+ "searchLabel": "Search",
1314
+ "showShortcutsLabel": "Show shortcuts",
1315
+ "goToDashboardLabel": "Go to dashboard",
1316
+ "goToOrdersLabel": "Go to orders",
1317
+ "newRecordLabel": "New record",
1318
+ "saveLabel": "Save",
1319
+ "undoLabel": "Undo"
904
1320
  },
905
1321
  "avatarStack": {
906
1322
  "description": "帶「+N」溢位與可選在線狀態的重疊頭像。",
907
- "online": "{count} 人在線"
1323
+ "online": "{count} 人在線",
1324
+ "a11yLabel": "People"
908
1325
  }
909
1326
  },
910
1327
  "system": {
@@ -977,6 +1394,12 @@ export default {
977
1394
  "tls": "TLS",
978
1395
  "auth": "驗證",
979
1396
  "latency": "延遲"
1397
+ },
1398
+ "widgetMissing": {
1399
+ "description": "The fallback card shown when a stored page references a widget that is not installed.",
1400
+ "title": "Widget unavailable",
1401
+ "bodyLead": "No widget is registered as",
1402
+ "bodyTail": "It may belong to a newer version or an uninstalled extension."
980
1403
  }
981
1404
  }
982
1405
  },
@@ -989,6 +1412,351 @@ export default {
989
1412
  "resized": "{title} 已調整為 {w} 欄 × {h} 列。",
990
1413
  "committed": "{title} 已放置在第 {col} 欄,第 {row} 列。",
991
1414
  "reverted": "{title} 已返回原始位置。"
1415
+ },
1416
+ "draggableRole": "draggable widget"
1417
+ },
1418
+ "templates": {
1419
+ "crud": {
1420
+ "newRow": "New row",
1421
+ "exportAction": "Export",
1422
+ "searchPlaceholder": "Search {table}…",
1423
+ "removeFilter": "Remove {column} filter",
1424
+ "queryFailed": "Query failed",
1425
+ "loadingRows": "Loading rows",
1426
+ "noMatchesTitle": "No matching rows",
1427
+ "emptyTitle": "{count, plural, other {No {entity}s yet}}",
1428
+ "createTitle": "Add {entity}",
1429
+ "createSubtitle": "Creates one row in {table}.",
1430
+ "createSubmit": "Add {entity}",
1431
+ "createSuccessTitle": "{name} added",
1432
+ "createSuccessBody": "You can undo this from the toast.",
1433
+ "editTitle": "Edit {entity}",
1434
+ "saveSubmit": "Save changes",
1435
+ "deleteTitle": "Delete {entity}",
1436
+ "deletePreflight": "Checking references…",
1437
+ "deleteNoReferences": "This row has no inbound references.",
1438
+ "deleteConsequencesIntro": "Deleting this row also affects:",
1439
+ "referenceRows": "{count, plural, other {{n} rows}}",
1440
+ "confirmPrompt": "Type {value} to confirm",
1441
+ "bulkDeleteTitle": "{count, plural, other {Delete {n} rows}}",
1442
+ "bulkDeleteBody": "Referential consequences apply to every selected row.",
1443
+ "bulkDeleteConfirm": "Delete rows",
1444
+ "uniqueHelper": "Must be unique in {table}.",
1445
+ "uniqueHelperCounted": "{count, plural, other {Checked against {n} rows.}}",
1446
+ "toast": {
1447
+ "created": "{entity} created.",
1448
+ "createFailed": "Create failed.",
1449
+ "saved": "Changes saved.",
1450
+ "updateFailed": "Update failed.",
1451
+ "deleted": "{name} deleted.",
1452
+ "deleteFailed": "Delete failed.",
1453
+ "bulkDeleted": "{count, plural, other {{n} rows deleted.}}",
1454
+ "bulkDeleteFailed": "Bulk delete failed.",
1455
+ "undone": "Change undone.",
1456
+ "undoFailed": "Undo failed."
1457
+ },
1458
+ "detail": {
1459
+ "fields": "Fields",
1460
+ "inboundReferences": "inbound references",
1461
+ "relatedCount": "{count, plural, other {{n} related records in {table}}}",
1462
+ "loadError": "Failed to load the record."
1463
+ }
1464
+ },
1465
+ "queue": {
1466
+ "allSegment": "All",
1467
+ "daysUnit": "{count, plural, other {{count} days}}",
1468
+ "approvedToast": "{count} approved.",
1469
+ "rejectedToast": "{count} rejected.",
1470
+ "undoneToast": "Decision undone.",
1471
+ "undoFailedToast": "Could not undo this decision.",
1472
+ "failedToast": "Decision failed.",
1473
+ "invalidConfig": "This queue’s stored configuration is invalid. Regenerate the page to restore it.",
1474
+ "queueLabel": "Queue",
1475
+ "statusFilterLabel": "Status filter",
1476
+ "errorTitle": "This queue failed to load",
1477
+ "loading": "Loading queue",
1478
+ "emptyTitle": "Nothing in the queue",
1479
+ "emptyBody": "New requests appear here as they arrive.",
1480
+ "caughtUpTitle": "You're all caught up",
1481
+ "caughtUpBody": "No requests in this tab right now.",
1482
+ "selectItem": "Select {title}",
1483
+ "selectPrompt": "Select a request",
1484
+ "selectBody": "Choose an item to review its details.",
1485
+ "rejectTitle": "Reject requests",
1486
+ "rejectCount": "Selected · {count}",
1487
+ "rejectPlaceholder": "Add a note for the requester…",
1488
+ "rejectReasonLabel": "Rejection reason",
1489
+ "rejectNote": "The requester will be notified with your note."
1490
+ },
1491
+ "dashboard": {
1492
+ "invalidLayout": "This dashboard’s stored layout is invalid. Regenerate the page or reset its layout."
1493
+ },
1494
+ "builder": {
1495
+ "publish": "Publish",
1496
+ "paletteTitle": "Blocks",
1497
+ "inspectorTitle": "Inspector",
1498
+ "startFromTemplate": "Start from a template",
1499
+ "untitledDoc": "Untitled document",
1500
+ "invalidConfig": "This builder page’s stored config is invalid. Regenerate the page or reset it.",
1501
+ "starterPicker": {
1502
+ "subtitle": "Selection replaces the current draft."
1503
+ },
1504
+ "inspector": {
1505
+ "titleLabel": "Title",
1506
+ "numberLabel": "Number",
1507
+ "currencyLabel": "Currency",
1508
+ "taxRateLabel": "Tax rate %",
1509
+ "modulesLabel": "Modules"
1510
+ },
1511
+ "summary": {
1512
+ "questions": "Questions",
1513
+ "estLength": "Est. length",
1514
+ "estMinutes": "~{minutes} min",
1515
+ "steps": "Steps",
1516
+ "triggers": "Triggers",
1517
+ "conditions": "Conditions",
1518
+ "actions": "Actions",
1519
+ "triggerLocked": "The trigger step can’t be removed."
1520
+ },
1521
+ "publishModal": {
1522
+ "confirmTitle": "Publish survey?",
1523
+ "confirmSubtitle": "Review before it goes live.",
1524
+ "confirmCta": "Publish survey",
1525
+ "publishedTitle": "Survey published",
1526
+ "publishedSubtitle": "Your survey is live and collecting responses right now."
1527
+ },
1528
+ "blocks": {
1529
+ "block-totals-summary": "Totals summary",
1530
+ "block-line-items": "Line items",
1531
+ "block-kpi-row": "KPI row",
1532
+ "block-bar-chart": "Bar chart",
1533
+ "block-line-chart": "Line chart",
1534
+ "block-two-col-table": "Two-column table",
1535
+ "block-tax-breakdown": "Tax breakdown",
1536
+ "block-multi-currency": "Multi-currency",
1537
+ "block-payment-history": "Payment history",
1538
+ "block-discount-codes": "Discount codes",
1539
+ "block-loyalty-banner": "Loyalty points",
1540
+ "block-recurring-banner": "Recurring",
1541
+ "block-qr-pay": "Payment QR",
1542
+ "block-delivery-stepper": "Delivery timeline",
1543
+ "block-signature": "Signature",
1544
+ "block-terms-checkbox": "Terms",
1545
+ "block-approval": "Approval",
1546
+ "block-attachments": "Attachments",
1547
+ "block-late-fees": "Late fees",
1548
+ "block-image-placeholder": "Image",
1549
+ "block-contact": "Contact",
1550
+ "block-highlight-box": "Highlight box"
1551
+ },
1552
+ "starters": {
1553
+ "titles": {
1554
+ "st-standard": "Standard invoice",
1555
+ "st-recurring": "Recurring subscription",
1556
+ "st-deposit": "Deposit request",
1557
+ "st-credit-note": "Credit note",
1558
+ "st-late-reminder": "Late-payment reminder",
1559
+ "st-quote": "Quote / estimate",
1560
+ "st-proforma": "Pro forma",
1561
+ "st-receipt": "Payment receipt",
1562
+ "st-retainer": "Retainer",
1563
+ "st-usage": "Usage-based invoice",
1564
+ "st-milestone": "Project milestone",
1565
+ "st-donation": "Donation receipt (Tax ID)",
1566
+ "st-monthly": "Monthly summary",
1567
+ "st-quarterly": "Quarterly review",
1568
+ "st-usage-report": "Usage breakdown",
1569
+ "st-exec": "Executive one-pager",
1570
+ "st-welcome": "Welcome email",
1571
+ "st-receipt-email": "Invoice receipt",
1572
+ "st-digest": "Weekly digest",
1573
+ "st-dunning": "Payment reminder"
1574
+ },
1575
+ "categories": {
1576
+ "billing": "Billing",
1577
+ "sales": "Sales",
1578
+ "nonProfit": "Non-profit",
1579
+ "reports": "Reports",
1580
+ "lifecycle": "Lifecycle",
1581
+ "transactional": "Transactional",
1582
+ "marketing": "Marketing"
1583
+ }
1584
+ }
1585
+ },
1586
+ "common": {
1587
+ "clearFilters": "Clear filters",
1588
+ "noMatchesBody": "Try a different search or remove a filter.",
1589
+ "detailLabel": "Detail",
1590
+ "loadingRecord": "Loading record"
1591
+ },
1592
+ "directory": {
1593
+ "invalidConfig": "This directory’s stored configuration is invalid. Regenerate the page to restore it.",
1594
+ "searchPlaceholder": "Search people…",
1595
+ "memberCount": "{count, plural, other {{n} people}}",
1596
+ "errorTitle": "This directory failed to load",
1597
+ "loading": "Loading people",
1598
+ "emptyTitle": "No people yet",
1599
+ "emptyBody": "People appear here as rows land in the table.",
1600
+ "noMatchesTitle": "No matching people",
1601
+ "detailTitle": "Person"
1602
+ },
1603
+ "masterDetail": {
1604
+ "invalidConfig": "This page’s stored configuration is invalid. Regenerate the page to restore it.",
1605
+ "railTitle": "Records",
1606
+ "errorTitle": "This list failed to load",
1607
+ "loading": "Loading records",
1608
+ "emptyBody": "Records appear here as rows land in the table.",
1609
+ "noMatchesTitle": "No matching records",
1610
+ "noMatchesBody": "Try removing a filter.",
1611
+ "selectPrompt": "Select a record",
1612
+ "selectBody": "Choose an item from the list to see its details."
1613
+ },
1614
+ "chat": {
1615
+ "invalidLayout": "This chat page’s stored layout is invalid. Regenerate the page or reset its layout.",
1616
+ "noInboxTitle": "No inbox on this page",
1617
+ "noInboxBody": "Regenerate the page.",
1618
+ "conversationsFailed": "The conversation query failed",
1619
+ "messagesFailed": "The messages query failed",
1620
+ "loadingConversations": "Loading conversations",
1621
+ "loadingMessages": "Loading messages",
1622
+ "selectTitle": "Select a conversation",
1623
+ "selectBody": "Pick a conversation from the inbox to read its messages."
1624
+ },
1625
+ "files": {
1626
+ "allFiles": "All files",
1627
+ "recent": "Recent",
1628
+ "starred": "Starred",
1629
+ "invalidLayout": "This files page’s stored layout is invalid. Regenerate the page or reset its layout.",
1630
+ "missingSlotTitle": "No file browser on this page",
1631
+ "missingSlotBody": "The stored layout has no browser slot. Regenerate the page.",
1632
+ "loadFailed": "The file query failed",
1633
+ "loading": "Loading files",
1634
+ "uploadsUnavailable": "Uploads are not available on this page yet.",
1635
+ "previewTitle": "File",
1636
+ "kindLabel": "Kind",
1637
+ "linkLabel": "Link"
1638
+ },
1639
+ "logViewer": {
1640
+ "invalidLayout": "This log page’s stored layout is invalid. Regenerate the page or reset its layout.",
1641
+ "levelFilterLabel": "Log level filter",
1642
+ "timeFilterLabel": "Time window filter",
1643
+ "window": {
1644
+ "1h": "1h",
1645
+ "24h": "24h",
1646
+ "7d": "7d"
1647
+ },
1648
+ "heldCount": "+{count}",
1649
+ "missingSlotTitle": "No log widget on this page",
1650
+ "missingSlotBody": "The stored layout has no log slot. Regenerate the page.",
1651
+ "loadFailed": "The log query failed",
1652
+ "loading": "Loading log entries",
1653
+ "traceTitle": "Trace",
1654
+ "latestTitle": "Latest activity",
1655
+ "backToLatest": "Back to latest",
1656
+ "eventFallback": "Event"
1657
+ },
1658
+ "calendar": {
1659
+ "eventCount": "{count, plural, other {{n} events}}",
1660
+ "composePlaceholder": "Event title…",
1661
+ "addEvent": "Add event",
1662
+ "dateRange": "Date range",
1663
+ "agendaTitle": "Agenda",
1664
+ "categoriesTitle": "Categories",
1665
+ "upcomingTitle": "Upcoming",
1666
+ "invalidLayout": "This calendar’s stored layout is invalid. Regenerate the page or reset its layout."
1667
+ },
1668
+ "scheduler": {
1669
+ "previousWeek": "Previous week",
1670
+ "nextWeek": "Next week",
1671
+ "week": "Week",
1672
+ "month": "Month",
1673
+ "invalidLayout": "This schedule’s stored layout is invalid. Regenerate the page or reset its layout.",
1674
+ "shiftCount": "{count, plural, other {{n} shifts}}",
1675
+ "addShift": "Add shift"
1676
+ },
1677
+ "settings": {
1678
+ "title": "Notification settings",
1679
+ "subtitle": "Choose what you're notified about and how",
1680
+ "matrixLabel": "Notify me about",
1681
+ "rowHeader": "Event",
1682
+ "saved": "Saved",
1683
+ "unavailableTag": "Not available yet",
1684
+ "loading": "Loading preferences",
1685
+ "errorTitle": "These settings failed to load",
1686
+ "emptyTitle": "Nothing to configure yet",
1687
+ "emptyBody": "Notification events appear here as producers ship."
1688
+ },
1689
+ "pageCrud": {
1690
+ "description": "The canonical table page: searchable data grid, create/edit forms, safe deletes with reference checks, and undoable changes."
1691
+ },
1692
+ "pageDashboard": {
1693
+ "description": "A widget dashboard over your data: KPI cards, charts, and lists on an editable grid."
1694
+ },
1695
+ "pageBoard": {
1696
+ "description": "A kanban board grouped by a status field — drag cards between columns to update records."
1697
+ },
1698
+ "pageCalendar": {
1699
+ "description": "A month calendar with agenda, category filters, and quick event capture from a date field."
1700
+ },
1701
+ "pageScheduler": {
1702
+ "description": "A week-by-resource shift matrix with capacity tracking and coverage totals."
1703
+ },
1704
+ "pageDirectory": {
1705
+ "description": "A people directory with search, group filters, and a profile drawer."
1706
+ },
1707
+ "pageMasterDetail": {
1708
+ "description": "A list-beside-detail layout: pick a record on the left, work with it on the right."
1709
+ },
1710
+ "pageQueueInbox": {
1711
+ "description": "A review queue with approve/reject decisions, bulk actions, and undo."
1712
+ },
1713
+ "pageLogViewer": {
1714
+ "description": "A live-tailing log table with level and time filters and a trace side panel."
1715
+ },
1716
+ "pageFiles": {
1717
+ "description": "A file browser with smart folders, uploads, and a preview drawer."
1718
+ },
1719
+ "pageChat": {
1720
+ "description": "A conversation inbox beside a message thread, bound to your messages tables."
1721
+ },
1722
+ "pageBuilder": {
1723
+ "description": "A drag-and-drop document builder with block palette, inspector, and publish flow."
1724
+ },
1725
+ "pageWizard": {
1726
+ "description": "A multi-step guided flow that walks users through a structured process."
1727
+ },
1728
+ "pageSettings": {
1729
+ "description": "A notification-preferences matrix with per-channel toggles and autosave."
1730
+ }
1731
+ },
1732
+ "frame": {
1733
+ "noResult": "No result for widget",
1734
+ "emptyTitle": "No data for range",
1735
+ "loadError": "Something went wrong loading this widget.",
1736
+ "renderError": "This widget failed to render.",
1737
+ "refreshing": "Refreshing",
1738
+ "infoLabel": "Widget info",
1739
+ "menuLabel": "Widget menu"
1740
+ },
1741
+ "charts": {
1742
+ "livePillLabel": "Live",
1743
+ "forecast": {
1744
+ "nowLabel": "Now",
1745
+ "forecastLabel": "Forecast",
1746
+ "actualLabel": "Actual"
1747
+ },
1748
+ "otherLabel": "Other",
1749
+ "heat": {
1750
+ "lessLabel": "Less",
1751
+ "moreLabel": "More"
1752
+ },
1753
+ "choropleth": {
1754
+ "lowLabel": "Low",
1755
+ "highLabel": "High"
1756
+ },
1757
+ "funnel": {
1758
+ "stepConversion": "{pct}% continue",
1759
+ "overallConversion": "{pct}% overall"
992
1760
  }
993
1761
  }
994
1762
  };