@adminiumjs/i18n 0.1.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/a11y-keys.d.ts +17 -0
  2. package/dist/a11y-keys.d.ts.map +1 -0
  3. package/dist/a11y-keys.js +478 -0
  4. package/dist/a11y-keys.js.map +1 -0
  5. package/dist/create-i18n.d.ts.map +1 -1
  6. package/dist/create-i18n.js +37 -4
  7. package/dist/create-i18n.js.map +1 -1
  8. package/dist/editing.d.ts +17 -0
  9. package/dist/editing.d.ts.map +1 -0
  10. package/dist/editing.js +16 -0
  11. package/dist/editing.js.map +1 -0
  12. package/dist/fallback.d.ts +24 -0
  13. package/dist/fallback.d.ts.map +1 -0
  14. package/dist/fallback.js +40 -0
  15. package/dist/fallback.js.map +1 -0
  16. package/dist/format-errors.d.ts +41 -0
  17. package/dist/format-errors.d.ts.map +1 -0
  18. package/dist/format-errors.js +63 -0
  19. package/dist/format-errors.js.map +1 -0
  20. package/dist/icu-format.d.ts +4 -0
  21. package/dist/icu-format.d.ts.map +1 -1
  22. package/dist/icu-format.js +43 -3
  23. package/dist/icu-format.js.map +1 -1
  24. package/dist/index.d.ts +10 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +14 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/keys.d.ts +33 -0
  29. package/dist/keys.d.ts.map +1 -0
  30. package/dist/keys.js +77 -0
  31. package/dist/keys.js.map +1 -0
  32. package/dist/locales.d.ts +102 -13
  33. package/dist/locales.d.ts.map +1 -1
  34. package/dist/locales.js +142 -17
  35. package/dist/locales.js.map +1 -1
  36. package/dist/overrides.d.ts +62 -0
  37. package/dist/overrides.d.ts.map +1 -0
  38. package/dist/overrides.js +112 -0
  39. package/dist/overrides.js.map +1 -0
  40. package/dist/react.d.ts +6 -0
  41. package/dist/react.d.ts.map +1 -1
  42. package/dist/react.js +17 -26
  43. package/dist/react.js.map +1 -1
  44. package/dist/resources/ar-eg/common.d.ts +96 -0
  45. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  46. package/dist/resources/ar-eg/common.js +103 -7
  47. package/dist/resources/ar-eg/common.js.map +1 -1
  48. package/dist/resources/ar-eg/ui.d.ts +586 -586
  49. package/dist/resources/ar-eg/ui.js +586 -586
  50. package/dist/resources/ar-eg/ui.js.map +1 -1
  51. package/dist/resources/cs-cz/common.d.ts +96 -0
  52. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  53. package/dist/resources/cs-cz/common.js +101 -5
  54. package/dist/resources/cs-cz/common.js.map +1 -1
  55. package/dist/resources/cs-cz/ui.d.ts +582 -582
  56. package/dist/resources/cs-cz/ui.js +582 -582
  57. package/dist/resources/cs-cz/ui.js.map +1 -1
  58. package/dist/resources/da-dk/common.d.ts +97 -1
  59. package/dist/resources/da-dk/common.d.ts.map +1 -1
  60. package/dist/resources/da-dk/common.js +104 -8
  61. package/dist/resources/da-dk/common.js.map +1 -1
  62. package/dist/resources/da-dk/ui.d.ts +568 -568
  63. package/dist/resources/da-dk/ui.js +568 -568
  64. package/dist/resources/da-dk/ui.js.map +1 -1
  65. package/dist/resources/de-de/common.d.ts +100 -4
  66. package/dist/resources/de-de/common.d.ts.map +1 -1
  67. package/dist/resources/de-de/common.js +107 -11
  68. package/dist/resources/de-de/common.js.map +1 -1
  69. package/dist/resources/de-de/ui.d.ts +569 -569
  70. package/dist/resources/de-de/ui.js +569 -569
  71. package/dist/resources/de-de/ui.js.map +1 -1
  72. package/dist/resources/en-us/common.d.ts +96 -0
  73. package/dist/resources/en-us/common.d.ts.map +1 -1
  74. package/dist/resources/en-us/common.js +103 -7
  75. package/dist/resources/en-us/common.js.map +1 -1
  76. package/dist/resources/fr-fr/common.d.ts +98 -2
  77. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  78. package/dist/resources/fr-fr/common.js +105 -9
  79. package/dist/resources/fr-fr/common.js.map +1 -1
  80. package/dist/resources/fr-fr/ui.d.ts +559 -559
  81. package/dist/resources/fr-fr/ui.js +559 -559
  82. package/dist/resources/fr-fr/ui.js.map +1 -1
  83. package/dist/resources/zh-cn/common.d.ts +97 -1
  84. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  85. package/dist/resources/zh-cn/common.js +104 -8
  86. package/dist/resources/zh-cn/common.js.map +1 -1
  87. package/dist/resources/zh-cn/ui.d.ts +575 -575
  88. package/dist/resources/zh-cn/ui.js +575 -575
  89. package/dist/resources/zh-cn/ui.js.map +1 -1
  90. package/dist/resources/zh-tw/common.d.ts +96 -0
  91. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  92. package/dist/resources/zh-tw/common.js +103 -7
  93. package/dist/resources/zh-tw/common.js.map +1 -1
  94. package/dist/resources/zh-tw/ui.d.ts +575 -575
  95. package/dist/resources/zh-tw/ui.js +575 -575
  96. package/dist/resources/zh-tw/ui.js.map +1 -1
  97. package/dist/review-status.d.ts +55 -0
  98. package/dist/review-status.d.ts.map +1 -0
  99. package/dist/review-status.js +59 -0
  100. package/dist/review-status.js.map +1 -0
  101. package/dist/revision.d.ts +35 -0
  102. package/dist/revision.d.ts.map +1 -0
  103. package/dist/revision.js +55 -0
  104. package/dist/revision.js.map +1 -0
  105. package/dist/server.d.ts +36 -0
  106. package/dist/server.d.ts.map +1 -0
  107. package/dist/server.js +35 -0
  108. package/dist/server.js.map +1 -0
  109. package/dist/validate-message.d.ts +57 -0
  110. package/dist/validate-message.d.ts.map +1 -0
  111. package/dist/validate-message.js +178 -0
  112. package/dist/validate-message.js.map +1 -0
  113. package/locales/ar-EG/.meta.json +11134 -0
  114. package/locales/ar-EG/common.json +103 -7
  115. package/locales/ar-EG/ui.json +586 -586
  116. package/locales/cs-CZ/.meta.json +11134 -0
  117. package/locales/cs-CZ/common.json +101 -5
  118. package/locales/cs-CZ/ui.json +582 -582
  119. package/locales/da-DK/.meta.json +11134 -0
  120. package/locales/da-DK/common.json +104 -8
  121. package/locales/da-DK/ui.json +568 -568
  122. package/locales/de-DE/.meta.json +11134 -0
  123. package/locales/de-DE/common.json +107 -11
  124. package/locales/de-DE/ui.json +569 -569
  125. package/locales/en-US/common.json +103 -7
  126. package/locales/fr-FR/.meta.json +11134 -0
  127. package/locales/fr-FR/common.json +105 -9
  128. package/locales/fr-FR/ui.json +559 -559
  129. package/locales/zh-CN/.meta.json +11134 -0
  130. package/locales/zh-CN/common.json +104 -8
  131. package/locales/zh-CN/ui.json +575 -575
  132. package/locales/zh-TW/.meta.json +11134 -0
  133. package/locales/zh-TW/common.json +103 -7
  134. package/locales/zh-TW/ui.json +575 -575
  135. package/package.json +10 -2
@@ -26,7 +26,7 @@ declare const _default: {
26
26
  readonly hidePassword: "Masquer le mot de passe";
27
27
  readonly reveal: "Révéler";
28
28
  readonly hide: "Masquer";
29
- readonly clearSearch: "Clear search";
29
+ readonly clearSearch: "Effacer la recherche";
30
30
  };
31
31
  readonly state: {
32
32
  readonly loading: "Chargement…";
@@ -69,8 +69,8 @@ declare const _default: {
69
69
  };
70
70
  readonly usageMeter: {
71
71
  readonly description: "Consommation du quota par rapport à une limite ; la barre passe à l'orange puis au rouge au-delà de vos seuils.";
72
- readonly usageLabel: "Usage";
73
- readonly ofLabel: "of";
72
+ readonly usageLabel: "Utilisation";
73
+ readonly ofLabel: "sur";
74
74
  };
75
75
  readonly statTileCompact: {
76
76
  readonly description: "Une tuile de mesure fine avec micro-libellé, puce de tendance et spark à 6 barres — pour des rangées denses de 4 à 6.";
@@ -87,16 +87,16 @@ declare const _default: {
87
87
  };
88
88
  readonly gaugeArc: {
89
89
  readonly description: "Un arc de compteur avec plages qualitatives et aiguille ; affiche aussi une grille de jauges.";
90
- readonly emptyTitle: "No gauges to show";
91
- readonly emptyBody: "Services appear here as gauges once there is a reading for them.";
90
+ readonly emptyTitle: "Aucune jauge à afficher";
91
+ readonly emptyBody: "Les services apparaissent ici sous forme de jauges dès qu’une mesure existe pour eux.";
92
92
  };
93
93
  readonly periodComparison: {
94
94
  readonly description: "Cette période face à la précédente en deux barres, avec l'écart calculé en dessous.";
95
95
  readonly higherLabel: "de plus";
96
96
  readonly lowerLabel: "de moins";
97
97
  readonly flatLabel: "stable";
98
- readonly periodALabel: "This period";
99
- readonly periodBLabel: "Last period";
98
+ readonly periodALabel: "Cette période";
99
+ readonly periodBLabel: "Période précédente";
100
100
  };
101
101
  readonly microKpiSubtitle: {
102
102
  readonly description: "Une statistique d'en-tête sur une ligne, construite à partir d'un modèle et recalculée en direct.";
@@ -113,216 +113,216 @@ declare const _default: {
113
113
  readonly description: "Résumé en boîte à moustaches de la dispersion d'une colonne numérique par catégorie — min, quartiles, médiane et max.";
114
114
  readonly emptyTitle: "Aucune distribution à tracer";
115
115
  readonly emptyBody: "Aucune ligne ne correspond aux filtres pour les boîtes à moustaches.";
116
- readonly chartLabel: "Box plot";
116
+ readonly chartLabel: "Boîte à moustaches";
117
117
  };
118
118
  readonly violin: {
119
119
  readonly description: "Courbes de densité en miroir comparant la distribution d'une colonne numérique entre les groupes.";
120
120
  readonly emptyTitle: "Aucune distribution à tracer";
121
121
  readonly emptyBody: "Aucune ligne ne correspond aux filtres pour les profils de densité.";
122
- readonly chartLabel: "Violin plot";
122
+ readonly chartLabel: "Diagramme en violon";
123
123
  };
124
124
  readonly ridgeline: {
125
125
  readonly description: "Crêtes de densité superposées comparant une colonne numérique entre groupes ordonnés.";
126
126
  readonly emptyTitle: "Aucune crête à tracer";
127
127
  readonly emptyBody: "Aucune ligne ne correspond aux filtres pour les profils de densité.";
128
- readonly chartLabel: "Ridgeline";
128
+ readonly chartLabel: "Crêtes de densité";
129
129
  };
130
130
  readonly scatterBubble: {
131
131
  readonly description: "Deux colonnes numériques en points, avec une taille de bulle et une ligne de tendance en option.";
132
132
  readonly emptyTitle: "Aucun point à tracer";
133
133
  readonly emptyBody: "Aucune ligne ne correspond aux filtres pour les colonnes choisies.";
134
- readonly chartLabel: "Scatter plot";
134
+ readonly chartLabel: "Nuage de points";
135
135
  };
136
136
  readonly hexbin: {
137
137
  readonly description: "Densité hexagonale de deux colonnes numériques, teintée selon le nombre de lignes par tuile.";
138
138
  readonly emptyTitle: "Aucune densité à tracer";
139
139
  readonly emptyBody: "Aucune ligne ne correspond aux filtres à regrouper.";
140
- readonly chartLabel: "Density hexbin";
140
+ readonly chartLabel: "Densité hexagonale";
141
141
  };
142
142
  readonly correlationMatrix: {
143
143
  readonly description: "Corrélation de Pearson entre colonnes numériques choisies, du fortement positif au fortement négatif.";
144
144
  readonly emptyTitle: "Rien à corréler";
145
145
  readonly emptyBody: "Choisissez au moins deux colonnes numériques avec des lignes correspondantes.";
146
- readonly chartLabel: "Correlation matrix";
146
+ readonly chartLabel: "Matrice de corrélation";
147
147
  };
148
148
  readonly parallelCoordinates: {
149
149
  readonly description: "Chaque enregistrement en ligne sur plusieurs axes numériques normalisés, coloré par catégorie.";
150
150
  readonly emptyTitle: "Aucun enregistrement à tracer";
151
151
  readonly emptyBody: "Aucune ligne ne correspond aux filtres sur les axes choisis.";
152
- readonly chartLabel: "Parallel coordinates";
152
+ readonly chartLabel: "Coordonnées parallèles";
153
153
  };
154
- readonly unexpectedShape: "Unexpected data shape.";
154
+ readonly unexpectedShape: "Format de données inattendu.";
155
155
  readonly lineArea: {
156
- readonly chartLabel: "Line chart";
157
- readonly description: "A metric over time as a line with a soft area fill, with an optional dashed prior-period comparison.";
156
+ readonly chartLabel: "Graphique en courbes";
157
+ readonly description: "Une mesure dans le temps sous forme de courbe avec aire remplie en douceur, et une comparaison en pointillés avec la période précédente en option.";
158
158
  };
159
159
  readonly bar: {
160
- readonly chartLabel: "Bar chart";
161
- readonly description: "Categorical or time-bucketed values as vertical bars, with an optional highlight on the largest or current bar.";
160
+ readonly chartLabel: "Graphique à barres";
161
+ readonly description: "Des valeurs par catégorie ou par intervalle de temps en barres verticales, avec mise en évidence de la barre la plus haute ou de la barre actuelle en option.";
162
162
  };
163
163
  readonly donut: {
164
- readonly chartLabel: "Donut chart";
165
- readonly otherLabel: "Other";
166
- readonly description: "Category shares as donut slices with a legend and centre total, folding small slices into an Other bucket.";
164
+ readonly chartLabel: "Graphique en anneau";
165
+ readonly otherLabel: "Autres";
166
+ readonly description: "Les parts de chaque catégorie en segments d’anneau, avec légende et total au centre, les petites parts étant regroupées sous « Autres ».";
167
167
  };
168
168
  readonly bullet: {
169
- readonly chartLabel: "Bullet chart";
170
- readonly description: "Progress toward a goal as a measure bar over qualitative bands, with a target tick per row.";
171
- readonly emptyTitle: "No goals to track";
172
- readonly emptyBody: "Add measures with targets to compare against.";
169
+ readonly chartLabel: "Graphique en puce";
170
+ readonly description: "La progression vers un objectif sous forme de barre de mesure sur des plages qualitatives, avec un repère de cible par ligne.";
171
+ readonly emptyTitle: "Aucun objectif à suivre";
172
+ readonly emptyBody: "Ajoutez des mesures assorties de cibles à comparer.";
173
173
  };
174
174
  readonly rankingBars: {
175
- readonly chartLabel: "Ranking";
176
- readonly description: "A top-N ranking as horizontal barsthe leader at full strength, the rest dimmedwith values alongside.";
177
- readonly emptyTitle: "Nothing to rank";
178
- readonly emptyBody: "No records matched this breakdown yet.";
175
+ readonly chartLabel: "Classement";
176
+ readonly description: "Un classement des N premiers en barres horizontalesle leader en pleine intensité, les autres atténuésavec les valeurs à côté.";
177
+ readonly emptyTitle: "Rien à classer";
178
+ readonly emptyBody: "Aucun enregistrement ne correspond encore à cette répartition.";
179
179
  };
180
180
  readonly pareto: {
181
- readonly chartLabel: "Pareto chart";
182
- readonly description: "Sorted category bars under a cumulative-percent line, with an optional 80% cutline.";
183
- readonly emptyTitle: "No categories to chart";
184
- readonly emptyBody: "No grouped counts were returned for this range.";
181
+ readonly chartLabel: "Diagramme de Pareto";
182
+ readonly description: "Des barres de catégories triées sous une courbe de pourcentage cumulé, avec une ligne de coupure à 80 % en option.";
183
+ readonly emptyTitle: "Aucune catégorie à représenter";
184
+ readonly emptyBody: "Aucun décompte groupé n’a été renvoyé pour cette plage.";
185
185
  };
186
186
  readonly waterfall: {
187
- readonly chartLabel: "Waterfall chart";
188
- readonly description: "A floating-bar bridge from a start total through positive and negative steps to a net total.";
189
- readonly emptyTitle: "No movement to bridge";
190
- readonly emptyBody: "No start, change, or total steps were found.";
187
+ readonly chartLabel: "Graphique en cascade";
188
+ readonly description: "Un pont de barres flottantes allant d’un total de départ à un total net, en passant par des étapes positives et négatives.";
189
+ readonly emptyTitle: "Aucune variation à relier";
190
+ readonly emptyBody: "Aucune étape de départ, de variation ou de total n’a été trouvée.";
191
191
  };
192
192
  readonly marimekko: {
193
- readonly chartLabel: "Marimekko chart";
194
- readonly description: "A two-level mix as variable-width stacked columnswidth for the outer share, segments for the inner split.";
195
- readonly emptyTitle: "No mix to break down";
196
- readonly emptyBody: "No two-level breakdown was returned for this range.";
193
+ readonly chartLabel: "Graphique Marimekko";
194
+ readonly description: "Une répartition à deux niveaux en colonnes empilées de largeur variable la largeur pour la part extérieure, les segments pour la répartition intérieure.";
195
+ readonly emptyTitle: "Aucune répartition à détailler";
196
+ readonly emptyBody: "Aucune répartition à deux niveaux n’a été renvoyée pour cette plage.";
197
197
  };
198
198
  readonly stackedBar100: {
199
- readonly chartLabel: "100% stacked bar";
200
- readonly description: "One 100% bar split into proportional segments with a legend, comparing shares of a whole.";
201
- readonly emptyTitle: "No shares to split";
202
- readonly emptyBody: "No parts were returned for this breakdown.";
199
+ readonly chartLabel: "Barre empilée à 100 %";
200
+ readonly description: "Une barre à 100 % découpée en segments proportionnels avec légende, pour comparer les parts d’un tout.";
201
+ readonly emptyTitle: "Aucune part à répartir";
202
+ readonly emptyBody: "Aucune part n’a été renvoyée pour cette répartition.";
203
203
  };
204
204
  readonly slope: {
205
- readonly chartLabel: "Slope chart";
206
- readonly description: "Two periods joined by one line per record, coloured by whether the value rose or fell.";
207
- readonly emptyTitle: "No period shift to show";
208
- readonly emptyBody: "No before/after values were returned to compare.";
205
+ readonly chartLabel: "Graphique de pente";
206
+ readonly description: "Deux périodes reliées par une ligne par enregistrement, colorée selon que la valeur a augmenté ou baissé.";
207
+ readonly emptyTitle: "Aucune évolution entre périodes à afficher";
208
+ readonly emptyBody: "Aucune valeur avant/après n’a été renvoyée à comparer.";
209
209
  };
210
210
  readonly multiline: {
211
- readonly chartLabel: "Multi-line chart";
212
- readonly description: "Several series as overlaid lines with end labels, comparing trends over the same time span.";
213
- readonly emptyTitle: "No series to plot";
214
- readonly emptyBody: "No time series matched the filters for this range.";
211
+ readonly chartLabel: "Graphique multicourbes";
212
+ readonly description: "Plusieurs séries en courbes superposées avec libellés en fin de courbe, pour comparer les tendances sur la même période.";
213
+ readonly emptyTitle: "Aucune série à tracer";
214
+ readonly emptyBody: "Aucune série temporelle ne correspond aux filtres pour cette plage.";
215
215
  };
216
216
  readonly stream: {
217
- readonly chartLabel: "Stream chart";
218
- readonly description: "Stacked bands flowing around a centre line, showing how a total's composition shifts over time.";
219
- readonly emptyTitle: "No flow to chart";
220
- readonly emptyBody: "No stacked series were returned for this range.";
217
+ readonly chartLabel: "Graphique en flux";
218
+ readonly description: "Des bandes empilées ondulant autour d’un axe central, montrant comment la composition d’un total évolue dans le temps.";
219
+ readonly emptyTitle: "Aucun flux à représenter";
220
+ readonly emptyBody: "Aucune série empilée n’a été renvoyée pour cette plage.";
221
221
  };
222
222
  readonly forecast: {
223
- readonly chartLabel: "Forecast chart";
224
- readonly nowLabel: "Now";
225
- readonly forecastLabel: "Forecast";
226
- readonly actualLabel: "Actual";
227
- readonly description: "A history line extended by a dashed projection inside a widening confidence band, split at a now divider.";
228
- readonly emptyTitle: "No history to project";
229
- readonly emptyBody: "No past points were returned to forecast from.";
223
+ readonly chartLabel: "Graphique de prévision";
224
+ readonly nowLabel: "Maintenant";
225
+ readonly forecastLabel: "Prévision";
226
+ readonly actualLabel: "Réel";
227
+ readonly description: "Une courbe d’historique prolongée par une projection en pointillés dans une bande de confiance qui s’élargit, séparée par un repère du moment présent.";
228
+ readonly emptyTitle: "Aucun historique à projeter";
229
+ readonly emptyBody: "Aucun point passé n’a été renvoyé pour établir une prévision.";
230
230
  };
231
231
  readonly anomaly: {
232
- readonly chartLabel: "Anomaly chart";
233
- readonly description: "A value line over its expected range, flagging points that fall outside it with halo dots.";
234
- readonly emptyTitle: "No signal to scan";
235
- readonly emptyBody: "No points were returned to check for anomalies.";
232
+ readonly chartLabel: "Graphique d’anomalies";
233
+ readonly description: "Une courbe de valeurs sur sa plage attendue, signalant par des points auréolés ceux qui en sortent.";
234
+ readonly emptyTitle: "Aucun signal à analyser";
235
+ readonly emptyBody: "Aucun point n’a été renvoyé pour rechercher des anomalies.";
236
236
  };
237
237
  readonly candlestick: {
238
- readonly chartLabel: "Candlestick chart";
239
- readonly livePillLabel: "Live";
240
- readonly description: "Open-high-low-close candles coloured by direction, with a dashed last-price line and an optional live pill.";
241
- readonly emptyTitle: "No candles to chart";
242
- readonly emptyBody: "No open-high-low-close rows matched this range.";
238
+ readonly chartLabel: "Graphique en chandeliers";
239
+ readonly livePillLabel: "Actif";
240
+ readonly description: "Des chandeliers ouverture-haut-bas-clôture colorés selon le sens, avec une ligne de dernier cours en pointillés et une pastille d’activité en option.";
241
+ readonly emptyTitle: "Aucun chandelier à représenter";
242
+ readonly emptyBody: "Aucune ligne ouverture-haut-bas-clôture ne correspond à cette plage.";
243
243
  };
244
244
  readonly bump: {
245
- readonly chartLabel: "Bump chart";
246
- readonly description: "Rank-over-time lines showing how competitors trade places between periods.";
247
- readonly emptyTitle: "No ranks to trace";
248
- readonly emptyBody: "No period-over-period rankings were returned.";
245
+ readonly chartLabel: "Graphique de rangs";
246
+ readonly description: "Des courbes de rang dans le temps montrant comment les concurrents échangent leurs places d’une période à l’autre.";
247
+ readonly emptyTitle: "Aucun rang à tracer";
248
+ readonly emptyBody: "Aucun classement d’une période à l’autre n’a été renvoyé.";
249
249
  };
250
250
  readonly timelineLanes: {
251
- readonly chartLabel: "Timeline lanes";
252
- readonly laneLabel: "Events";
253
- readonly description: "Dated events as pills on horizontal swimlanes sharing one time axis.";
254
- readonly emptyTitle: "No events to place";
255
- readonly emptyBody: "No events matched the filters for this range.";
251
+ readonly chartLabel: "Couloirs chronologiques";
252
+ readonly laneLabel: "Événements";
253
+ readonly description: "Des événements datés sous forme de pastilles sur des couloirs horizontaux partageant un même axe temporel.";
254
+ readonly emptyTitle: "Aucun événement à placer";
255
+ readonly emptyBody: "Aucun événement ne correspond aux filtres pour cette plage.";
256
256
  };
257
257
  readonly treemap: {
258
- readonly chartLabel: "Treemap";
259
- readonly otherLabel: "Other";
260
- readonly description: "A part-to-whole breakdown as squarified tiles sized by value, folding small slices into an Other tile.";
261
- readonly emptyTitle: "No slices to tile";
262
- readonly emptyBody: "No categories were returned for this breakdown.";
258
+ readonly chartLabel: "Carte proportionnelle";
259
+ readonly otherLabel: "Autres";
260
+ readonly description: "Une répartition partie-tout sous forme de tuiles carrées dimensionnées par valeur, les petites parts étant regroupées dans une tuile « Autres ».";
261
+ readonly emptyTitle: "Aucune part à disposer";
262
+ readonly emptyBody: "Aucune catégorie n’a été renvoyée pour cette répartition.";
263
263
  };
264
264
  readonly sunburst: {
265
- readonly chartLabel: "Sunburst";
266
- readonly description: "A two-level hierarchy as nested rings — parents inside, their children outsidewith a parent legend.";
267
- readonly emptyTitle: "No rings to draw";
268
- readonly emptyBody: "No grouped categories were returned to nest.";
265
+ readonly chartLabel: "Rayons de soleil";
266
+ readonly description: "Une hiérarchie à deux niveaux en anneaux imbriqués les parents à l’intérieur, leurs enfants à l’extérieur avec une légende des parents.";
267
+ readonly emptyTitle: "Aucun anneau à dessiner";
268
+ readonly emptyBody: "Aucune catégorie groupée n’a été renvoyée à imbriquer.";
269
269
  };
270
270
  readonly funnel: {
271
- readonly chartLabel: "Funnel";
272
- readonly description: "Ordered shrinking stages with per-step continuation rates and an overall-conversion footer.";
273
- readonly emptyTitle: "No stages to funnel";
274
- readonly emptyBody: "No step counts were returned for this range.";
271
+ readonly chartLabel: "Entonnoir";
272
+ readonly description: "Des étapes ordonnées qui se rétrécissent, avec un taux de passage par étape et un pied de page indiquant la conversion globale.";
273
+ readonly emptyTitle: "Aucune étape à représenter";
274
+ readonly emptyBody: "Aucun décompte d’étape n’a été renvoyé pour cette plage.";
275
275
  };
276
276
  readonly radialBar: {
277
- readonly chartLabel: "Radial bar";
278
- readonly description: "Up to four percentages as concentric progress rings with a dot legend.";
279
- readonly emptyTitle: "No rings to fill";
280
- readonly emptyBody: "No categories matched this breakdown yet.";
277
+ readonly chartLabel: "Barres radiales";
278
+ readonly description: "Jusqu’à quatre pourcentages en anneaux de progression concentriques avec une légende à pastilles.";
279
+ readonly emptyTitle: "Aucun anneau à remplir";
280
+ readonly emptyBody: "Aucune catégorie ne correspond encore à cette répartition.";
281
281
  };
282
282
  readonly radar: {
283
283
  readonly chartLabel: "Radar";
284
- readonly description: "Several named axes on a polygon with one filled shape per series, against an optional target overlay.";
285
- readonly emptyTitle: "No axes to compare";
286
- readonly emptyBody: "No matrix of series and axes was returned.";
284
+ readonly description: "Plusieurs axes nommés sur un polygone avec une forme remplie par série, sur une superposition de cible en option.";
285
+ readonly emptyTitle: "Aucun axe à comparer";
286
+ readonly emptyBody: "Aucune matrice de séries et d’axes n’a été renvoyée.";
287
287
  };
288
288
  readonly chord: {
289
- readonly chartLabel: "Chord";
290
- readonly description: "Pairwise flows as ribbons between nodes on a ring, with ribbon opacity weighted by volume.";
291
- readonly emptyTitle: "No flows to link";
292
- readonly emptyBody: "No connections between groups were returned.";
289
+ readonly chartLabel: "Diagramme en cordes";
290
+ readonly description: "Des flux deux à deux sous forme de rubans entre des nœuds disposés en anneau, l’opacité des rubans reflétant le volume.";
291
+ readonly emptyTitle: "Aucun flux à relier";
292
+ readonly emptyBody: "Aucune connexion entre groupes n’a été renvoyée.";
293
293
  };
294
294
  readonly wordcloud: {
295
- readonly chartLabel: "Word cloud";
296
- readonly description: "Terms sized by frequency and flowed into rows, for a glanceable view of what dominates.";
297
- readonly emptyTitle: "No terms to cloud";
298
- readonly emptyBody: "No weighted terms matched the filters.";
295
+ readonly chartLabel: "Nuage de mots";
296
+ readonly description: "Des termes dimensionnés selon leur fréquence et répartis en lignes, pour voir d’un coup d’œil ce qui domine.";
297
+ readonly emptyTitle: "Aucun terme à afficher";
298
+ readonly emptyBody: "Aucun terme pondéré ne correspond aux filtres.";
299
299
  };
300
300
  readonly cohortMatrix: {
301
- readonly chartLabel: "Cohort retention";
302
- readonly description: "Cohort rows against period columns, each cell shaded by retention or revenue.";
301
+ readonly chartLabel: "Rétention par cohorte";
302
+ readonly description: "Des lignes de cohortes face à des colonnes de périodes, chaque cellule étant teintée selon la rétention ou le chiffre d’affaires.";
303
303
  };
304
304
  readonly heatmapCalendar: {
305
- readonly chartLabel: "Activity calendar";
306
- readonly legendLessLabel: "Less";
307
- readonly legendMoreLabel: "More";
308
- readonly description: "A year of daily activity as a week-by-day grid shaded by intensity.";
305
+ readonly chartLabel: "Calendrier d’activité";
306
+ readonly legendLessLabel: "Moins";
307
+ readonly legendMoreLabel: "Plus";
308
+ readonly description: "Une année d’activité quotidienne sous forme de grille semaines × jours teintée selon l’intensité.";
309
309
  };
310
310
  readonly heatMonth: {
311
- readonly chartLabel: "Monthly activity";
312
- readonly description: "One calendar month as a day grid shaded by each day's value.";
311
+ readonly chartLabel: "Activité mensuelle";
312
+ readonly description: "Un mois calendaire sous forme de grille de jours teintée selon la valeur de chaque jour.";
313
313
  };
314
314
  readonly choroplethGrid: {
315
- readonly chartLabel: "Regional breakdown";
316
- readonly legendLowLabel: "Low";
317
- readonly legendHighLabel: "High";
318
- readonly description: "Regional values as a tinted US tilegram or compact grid, with an optional top-N ranking list.";
315
+ readonly chartLabel: "Répartition régionale";
316
+ readonly legendLowLabel: "Faible";
317
+ readonly legendHighLabel: "Élevé";
318
+ readonly description: "Des valeurs régionales sous forme de carte en tuiles des États-Unis ou de grille compacte, avec une liste de classement des N premiers en option.";
319
319
  };
320
320
  readonly sankey: {
321
- readonly chartLabel: "Flow";
322
- readonly description: "Layered source-to-target flows as ribbons whose thickness encodes volume.";
321
+ readonly chartLabel: "Flux";
322
+ readonly description: "Des flux source-cible en couches sous forme de rubans dont l’épaisseur traduit le volume.";
323
323
  };
324
324
  readonly sparkline: {
325
- readonly description: "An inline micro-trend of recent valuesno axes or labelsfor KPI cards, table cells and list rows.";
325
+ readonly description: "Une micro-tendance en ligne des valeurs récentes sans axes ni libelléspour les cartes d’indicateurs, les cellules de tableau et les lignes de liste.";
326
326
  };
327
327
  };
328
328
  readonly feeds: {
@@ -330,32 +330,32 @@ declare const _default: {
330
330
  readonly description: "Un fil continu de qui a fait quoi dans votre espace de travail, du plus récent au plus ancien.";
331
331
  readonly emptyTitle: "Aucune activité récente";
332
332
  readonly emptyBody: "Les actions de votre espace de travail apparaîtront ici.";
333
- readonly viewAllLabel: "View all";
333
+ readonly viewAllLabel: "Tout afficher";
334
334
  };
335
335
  readonly notificationFeed: {
336
336
  readonly description: "Notifications groupées avec état non lu, filtres et actions intégrées.";
337
337
  readonly emptyTitle: "Aucune notification";
338
338
  readonly emptyBody: "Les nouvelles notifications apparaîtront ici.";
339
- readonly allLabel: "All";
340
- readonly unreadLabel: "Unread";
339
+ readonly allLabel: "Toutes";
340
+ readonly unreadLabel: "Non lues";
341
341
  readonly mentionsLabel: "Mentions";
342
- readonly filterLabel: "Notification filter";
343
- readonly markAllReadLabel: "Mark all read";
344
- readonly todayLabel: "Today";
345
- readonly yesterdayLabel: "Yesterday";
346
- readonly earlierLabel: "Earlier";
347
- readonly dismissLabel: "Dismiss";
348
- readonly emptyUnreadTitle: "You're all caught up";
349
- readonly emptyMentionsTitle: "No mentions";
342
+ readonly filterLabel: "Filtre de notifications";
343
+ readonly markAllReadLabel: "Tout marquer comme lu";
344
+ readonly todayLabel: "Aujourd’hui";
345
+ readonly yesterdayLabel: "Hier";
346
+ readonly earlierLabel: "Plus tôt";
347
+ readonly dismissLabel: "Fermer";
348
+ readonly emptyUnreadTitle: "Vous êtes à jour";
349
+ readonly emptyMentionsTitle: "Aucune mention";
350
350
  };
351
351
  readonly realtimeFeed: {
352
352
  readonly description: "Un flux d’événements en direct qui ajoute les nouveaux éléments en tête.";
353
353
  readonly emptyTitle: "En attente d’événements";
354
354
  readonly emptyBody: "Les événements en direct s’afficheront au fur et à mesure.";
355
- readonly liveLabel: "Live";
356
- readonly pausedLabel: "Paused";
357
- readonly pauseLabel: "Pause";
358
- readonly resumeLabel: "Resume";
355
+ readonly liveLabel: "Actif";
356
+ readonly pausedLabel: "En pause";
357
+ readonly pauseLabel: "Mettre en pause";
358
+ readonly resumeLabel: "Reprendre";
359
359
  };
360
360
  readonly timelineVertical: {
361
361
  readonly description: "Une chronologie verticale d’événements, de versions, d’incidents ou d’étapes d’exécution.";
@@ -385,22 +385,22 @@ declare const _default: {
385
385
  readonly description: "Une grille mensuelle des événements planifiés avec des puces par jour et la navigation entre les mois.";
386
386
  readonly emptyTitle: "Rien de planifié";
387
387
  readonly emptyBody: "Les événements planifiés apparaîtront dans ce calendrier.";
388
- readonly previousLabel: "Previous month";
389
- readonly nextLabel: "Next month";
390
- readonly overflowLabel: "+{count} more";
388
+ readonly previousLabel: "Mois précédent";
389
+ readonly nextLabel: "Mois suivant";
390
+ readonly overflowLabel: "+{count} de plus";
391
391
  };
392
392
  readonly dayAgenda: {
393
393
  readonly description: "Les événements du jour sélectionné sous forme d'agenda chronologique.";
394
394
  readonly emptyTitle: "Rien de planifié";
395
395
  readonly emptyBody: "Les événements du jour sélectionné apparaîtront ici.";
396
- readonly countLabel: "{count, plural, one {{n} event} other {{n} events}}";
396
+ readonly countLabel: "{count, plural, one {{n} événement} other {{n} événements}}";
397
397
  };
398
398
  readonly scheduleMatrix: {
399
399
  readonly description: "Une grille de postes par ressource et par jour avec la couverture quotidienne et une légende.";
400
400
  readonly emptyTitle: "Aucun poste planifié";
401
401
  readonly emptyBody: "Les postes attribués apparaîtront dans ce planning.";
402
- readonly resourceLabel: "Resource";
403
- readonly coverageLabel: "Coverage";
402
+ readonly resourceLabel: "Ressource";
403
+ readonly coverageLabel: "Couverture";
404
404
  readonly hoursLabel: "{hours}h";
405
405
  };
406
406
  readonly capacityBoard: {
@@ -408,16 +408,16 @@ declare const _default: {
408
408
  readonly emptyTitle: "Aucune donnée de charge";
409
409
  readonly emptyBody: "L'utilisation des membres apparaîtra ici une fois les affectations créées.";
410
410
  readonly status: {
411
- readonly overloaded: "Overloaded";
412
- readonly balanced: "Balanced";
413
- readonly available: "Available";
411
+ readonly overloaded: "Surchargé";
412
+ readonly balanced: "Équilibré";
413
+ readonly available: "Disponible";
414
414
  };
415
- readonly utilizationLabel: "{name}: {util}%";
415
+ readonly utilizationLabel: "{name} : {util} %";
416
416
  readonly assignmentLabel: "{project} · {hours}h";
417
417
  readonly periodLabel: "h · {period}";
418
418
  readonly period: {
419
- readonly week: "week";
420
- readonly month: "month";
419
+ readonly week: "semaine";
420
+ readonly month: "mois";
421
421
  };
422
422
  };
423
423
  readonly calendarLegendFilter: {
@@ -459,26 +459,26 @@ declare const _default: {
459
459
  readonly description: "Une liste sélectionnable d’enregistrements qui pilote un volet de détail.";
460
460
  readonly emptyTitle: "Aucun élément";
461
461
  readonly emptyBody: "Les éléments apparaîtront ici une fois créés.";
462
- readonly allLabel: "All";
463
- readonly toggleLabel: "Toggle {title}";
464
- readonly progressLabel: "{title} progress";
462
+ readonly allLabel: "Tous";
463
+ readonly toggleLabel: "Basculer {title}";
464
+ readonly progressLabel: "Progression de {title}";
465
465
  };
466
466
  readonly logTable: {
467
467
  readonly description: "Un journal d’événements avec recherche, filtre d’erreurs et actions par ligne.";
468
468
  readonly emptyTitle: "Aucune entrée de journal";
469
469
  readonly emptyBody: "Les événements seront enregistrés ici au fur et à mesure.";
470
- readonly liveLabel: "Live";
471
- readonly placeholder: "Search logs…";
472
- readonly filterLabel: "Log filter";
473
- readonly allLabel: "All";
474
- readonly errorsLabel: "Errors";
475
- readonly noMatchesLabel: "No matching entries";
476
- readonly todayLabel: "Today";
477
- readonly yesterdayLabel: "Yesterday";
470
+ readonly liveLabel: "Actif";
471
+ readonly placeholder: "Rechercher dans les journaux…";
472
+ readonly filterLabel: "Filtre du journal";
473
+ readonly allLabel: "Tout";
474
+ readonly errorsLabel: "Erreurs";
475
+ readonly noMatchesLabel: "Aucune entrée correspondante";
476
+ readonly todayLabel: "Aujourd’hui";
477
+ readonly yesterdayLabel: "Hier";
478
478
  readonly action: {
479
- readonly retry: "retry";
480
- readonly download: "download";
481
- readonly inspect: "inspect";
479
+ readonly retry: "réessayer";
480
+ readonly download: "télécharger";
481
+ readonly inspect: "inspecter";
482
482
  };
483
483
  };
484
484
  readonly cardGallery: {
@@ -490,21 +490,21 @@ declare const _default: {
490
490
  readonly description: "Lignes groupées avec colonnes d’agrégats, détails dépliables et totaux.";
491
491
  readonly emptyTitle: "Aucune donnée de synthèse";
492
492
  readonly emptyBody: "Les totaux groupés apparaîtront ici dès qu’il y aura des données.";
493
- readonly groupLabel: "Group";
493
+ readonly groupLabel: "Groupe";
494
494
  readonly totalsLabel: "Total";
495
495
  };
496
496
  readonly schemaTree: {
497
497
  readonly description: "Un explorateur de schémas, tables et colonnes avec badges de type et de clé.";
498
498
  readonly emptyTitle: "Aucun schéma analysé";
499
499
  readonly emptyBody: "Connectez une base de données pour explorer son schéma ici.";
500
- readonly treeLabel: "Schema";
501
- readonly viewLabel: "view";
500
+ readonly treeLabel: "Schéma";
501
+ readonly viewLabel: "vue";
502
502
  };
503
503
  readonly toggleMatrix: {
504
504
  readonly description: "Une grille interactive de bascules booléennes pour rôles, règles ou canaux.";
505
505
  readonly emptyTitle: "Aucune matrice configurée";
506
506
  readonly emptyBody: "Les lignes et colonnes apparaîtront ici une fois configurées.";
507
- readonly matrixLabel: "Permissions matrix";
507
+ readonly matrixLabel: "Matrice de permissions";
508
508
  readonly rowHeaderLabel: "Permission";
509
509
  };
510
510
  readonly sparklineTable: {
@@ -540,38 +540,38 @@ declare const _default: {
540
540
  readonly moreLabel: "+{n} de plus";
541
541
  };
542
542
  readonly dataGrid: {
543
- readonly selectAllLabel: "Select all rows";
544
- readonly selectRowLabel: "Select row";
545
- readonly sortByLabel: "Sort by {column}";
546
- readonly description: "The canonical CRUD grid with sortable columns, row selection, and type-aware cells.";
543
+ readonly selectAllLabel: "Sélectionner toutes les lignes";
544
+ readonly selectRowLabel: "Sélectionner la ligne";
545
+ readonly sortByLabel: "Trier par {column}";
546
+ readonly description: "La grille CRUD de référence, avec colonnes triables, sélection de lignes et cellules adaptées au type.";
547
547
  };
548
548
  readonly paginationFooter: {
549
- readonly emptyLabel: "0 rows";
550
- readonly ofLabel: "of";
551
- readonly pageSizeLabel: "Rows";
549
+ readonly emptyLabel: "0 ligne";
550
+ readonly ofLabel: "sur";
551
+ readonly pageSizeLabel: "Lignes";
552
552
  readonly a11y: {
553
- readonly pageSize: "Rows per page";
553
+ readonly pageSize: "Lignes par page";
554
554
  };
555
- readonly prevLabel: "Previous page";
556
- readonly nextLabel: "Next page";
557
- readonly description: "A footer with the visible row range, prev/next paging, and a page-size select.";
555
+ readonly prevLabel: "Page précédente";
556
+ readonly nextLabel: "Page suivante";
557
+ readonly description: "Un pied de page avec la plage de lignes visible, la pagination précédent/suivant et un sélecteur de taille de page.";
558
558
  };
559
559
  readonly bulkActionToolbar: {
560
- readonly selectedLabel: "selected";
561
- readonly clearLabel: "Clear selection";
562
- readonly toolbarLabel: "Bulk actions";
563
- readonly description: "A selection-aware toolbar showing the selected count and bulk actions.";
560
+ readonly selectedLabel: "sélectionnées";
561
+ readonly clearLabel: "Effacer la sélection";
562
+ readonly toolbarLabel: "Actions groupées";
563
+ readonly description: "Une barre d’outils liée à la sélection, affichant le nombre d’éléments sélectionnés et les actions groupées.";
564
564
  };
565
565
  readonly miniTable: {
566
- readonly viewAllLabel: "View all";
567
- readonly description: "A compact dashboard row list with mapped columns and a view-all link.";
566
+ readonly viewAllLabel: "Tout afficher";
567
+ readonly description: "Une liste de lignes compacte pour tableau de bord, avec colonnes mappées et un lien « tout afficher ».";
568
568
  };
569
- readonly revealLabel: "Reveal value";
570
- readonly hideLabel: "Hide value";
571
- readonly trueLabel: "true";
572
- readonly falseLabel: "false";
569
+ readonly revealLabel: "Révéler la valeur";
570
+ readonly hideLabel: "Masquer la valeur";
571
+ readonly trueLabel: "vrai";
572
+ readonly falseLabel: "faux";
573
573
  readonly detailKeyValue: {
574
- readonly description: "A record's fields as label/value rows with type-aware values.";
574
+ readonly description: "Les champs d’un enregistrement en lignes libellé/valeur, avec des valeurs adaptées au type.";
575
575
  };
576
576
  };
577
577
  readonly boards: {
@@ -639,7 +639,7 @@ declare const _default: {
639
639
  readonly configureBody: "Ajoutez une clé Anthropic ou OpenAI — ou pointez Adminium vers votre propre point de terminaison — pour poser des questions sur votre schéma.";
640
640
  readonly configureCtaLabel: "Configurer un fournisseur";
641
641
  readonly assistantLabel: "Assistant";
642
- readonly composerLabel: "Ask a question";
642
+ readonly composerLabel: "Poser une question";
643
643
  };
644
644
  readonly typingIndicator: {
645
645
  readonly description: "Un avatar et une ligne en italique « en train d’écrire… », liée à un booléen actif par conversation.";
@@ -677,7 +677,7 @@ declare const _default: {
677
677
  readonly emptyBody: "Les lignes comportant un code de région et une valeur numérique apparaissent ici sous forme de tuiles teintées.";
678
678
  readonly legendLowLabel: "Faible";
679
679
  readonly legendHighLabel: "Élevé";
680
- readonly chartLabel: "Regional breakdown";
680
+ readonly chartLabel: "Répartition régionale";
681
681
  };
682
682
  };
683
683
  readonly domain: {
@@ -706,8 +706,8 @@ declare const _default: {
706
706
  readonly billedToLabel: "Facturé à";
707
707
  readonly issuedLabel: "Émis le";
708
708
  readonly dueLabel: "Échéance";
709
- readonly noDocumentTitle: "No document yet";
710
- readonly noDocumentBody: "Pick a starter template or add a block to begin.";
709
+ readonly noDocumentTitle: "Aucun document pour l’instant";
710
+ readonly noDocumentBody: "Choisissez un modèle de départ ou ajoutez un bloc pour commencer.";
711
711
  };
712
712
  readonly blockTotalsSummary: {
713
713
  readonly description: "Les totaux du document — sous-total, remise, taxe et total dû, recalculés à partir des lignes.";
@@ -736,13 +736,13 @@ declare const _default: {
736
736
  readonly description: "Un mini-graphique à barres dans la couleur du document, dimensionné pour un bloc.";
737
737
  readonly emptyTitle: "Aucune donnée à représenter";
738
738
  readonly emptyBody: "Les barres apparaissent dès que le rapport contient une série.";
739
- readonly a11yLabel: "Bar chart";
739
+ readonly a11yLabel: "Graphique à barres";
740
740
  };
741
741
  readonly blockLineChart: {
742
742
  readonly description: "Un mini-graphique en courbe avec aire remplie facultative, dimensionné pour un bloc.";
743
743
  readonly emptyTitle: "Aucune donnée à représenter";
744
744
  readonly emptyBody: "La courbe apparaît dès que le rapport contient une série.";
745
- readonly a11yLabel: "Line chart";
745
+ readonly a11yLabel: "Graphique en courbes";
746
746
  };
747
747
  readonly blockTwoColTable: {
748
748
  readonly description: "Un tableau à deux colonnes avec une ligne d'en-tête stylisée et une colonne de valeurs en chasse fixe.";
@@ -801,7 +801,7 @@ declare const _default: {
801
801
  readonly namePlaceholder: "Nom complet";
802
802
  readonly titlePlaceholder: "Fonction";
803
803
  readonly dateLabel: "Date";
804
- readonly nameInputLabel: "Signature name";
804
+ readonly nameInputLabel: "Nom du signataire";
805
805
  };
806
806
  readonly blockTermsCheckbox: {
807
807
  readonly description: "Une case pour les conditions, avec libellé modifiable.";
@@ -847,114 +847,114 @@ declare const _default: {
847
847
  readonly description: "Une grille de modèles prédéfinis avec vignettes générées ; en choisir un initialise un document complet.";
848
848
  readonly emptyTitle: "Aucun modèle";
849
849
  readonly emptyBody: "Définissez des modèles dans la configuration ou liez une table de modèles.";
850
- readonly blankLabel: "Blank";
850
+ readonly blankLabel: "Vierge";
851
851
  readonly kicker: {
852
- readonly invoice: "Invoice";
853
- readonly report: "Report";
854
- readonly email: "Email";
852
+ readonly invoice: "Facture";
853
+ readonly report: "Rapport";
854
+ readonly email: "E-mail";
855
855
  };
856
856
  };
857
857
  readonly sloMonitorCard: {
858
858
  readonly description: "Carte SLA par service avec statut, disponibilité par rapport à la cible, bande de disponibilité quotidienne, budget d'erreur et latence p95.";
859
859
  readonly emptyTitle: "Aucun moniteur";
860
860
  readonly emptyBody: "Liez une table de moniteurs avec une colonne de statut et de disponibilité.";
861
- readonly targetLabel: "Target";
862
- readonly budgetLabel: "Error budget";
863
- readonly latencyLabel: "p95 latency";
861
+ readonly targetLabel: "Cible";
862
+ readonly budgetLabel: "Budget d’erreur";
863
+ readonly latencyLabel: "Latence p95";
864
864
  readonly status: {
865
- readonly operational: "Operational";
866
- readonly degraded: "Degraded";
867
- readonly down: "Down";
868
- readonly unknown: "Unknown";
865
+ readonly operational: "Opérationnel";
866
+ readonly degraded: "Dégradé";
867
+ readonly down: "Hors service";
868
+ readonly unknown: "Inconnu";
869
869
  };
870
870
  };
871
871
  readonly uptimeSegmentBar: {
872
872
  readonly description: "Bandes journalières de type page de statut, colorées selon le statut du jour, avec bascule 30/90 jours.";
873
873
  readonly emptyTitle: "Aucun historique de disponibilité";
874
874
  readonly emptyBody: "Les lignes de statut quotidien apparaissent ici sous forme de bande.";
875
- readonly daysAgoLabel: "{days} days ago";
876
- readonly todayLabel: "Today";
877
- readonly uptimeLabel: "uptime";
878
- readonly period30Label: "30d";
879
- readonly period90Label: "90d";
875
+ readonly daysAgoLabel: "Il y a {days} jours";
876
+ readonly todayLabel: "Aujourd’hui";
877
+ readonly uptimeLabel: "de disponibilité";
878
+ readonly period30Label: "30 j";
879
+ readonly period90Label: "90 j";
880
880
  readonly status: {
881
- readonly operational: "Operational";
882
- readonly degraded: "Degraded";
883
- readonly down: "Down";
884
- readonly unknown: "No data";
881
+ readonly operational: "Opérationnel";
882
+ readonly degraded: "Dégradé";
883
+ readonly down: "Hors service";
884
+ readonly unknown: "Aucune donnée";
885
885
  };
886
886
  };
887
887
  readonly experimentVariantCompare: {
888
888
  readonly description: "Barres de conversion par variante avec le gain face au témoin et un indicateur de significativité.";
889
889
  readonly emptyTitle: "Aucune variante";
890
890
  readonly emptyBody: "Liez une table de variantes d'expérience avec des chiffres de conversion.";
891
- readonly controlLabel: "CONTROL";
892
- readonly winnerLabel: "WINNER";
893
- readonly significanceLabel: "Confidence";
894
- readonly verdictSignificantLabel: "Statistically significantsafe to call.";
895
- readonly verdictInconclusiveLabel: "Not yet significantkeep the test running.";
891
+ readonly controlLabel: "TÉMOIN";
892
+ readonly winnerLabel: "GAGNANTE";
893
+ readonly significanceLabel: "Confiance";
894
+ readonly verdictSignificantLabel: "Statistiquement significatifvous pouvez conclure.";
895
+ readonly verdictInconclusiveLabel: "Pas encore significatiflaissez le test se poursuivre.";
896
896
  readonly countsLabel: "{users} participants · {conversions} conversions";
897
897
  };
898
898
  readonly creditCardTile: {
899
899
  readonly description: "Un moyen de paiement enregistré sous forme de carte de marque avec numéro masqué, titulaire et expiration.";
900
900
  readonly emptyTitle: "Aucun moyen de paiement";
901
901
  readonly emptyBody: "Ajoutez une carte pour la voir ici.";
902
- readonly defaultLabel: "Default";
903
- readonly setDefaultLabel: "Set default";
904
- readonly manageLabel: "Manage";
905
- readonly addLabel: "Add payment method";
906
- readonly expiresLabel: "Expires";
902
+ readonly defaultLabel: "Par défaut";
903
+ readonly setDefaultLabel: "Définir par défaut";
904
+ readonly manageLabel: "Gérer";
905
+ readonly addLabel: "Ajouter un moyen de paiement";
906
+ readonly expiresLabel: "Expire le";
907
907
  };
908
908
  readonly planPricingCards: {
909
909
  readonly description: "Paliers tarifaires avec bascule mensuel/annuel, listes de fonctionnalités et une offre mise en avant.";
910
910
  readonly emptyTitle: "Aucune offre";
911
911
  readonly emptyBody: "Liez une table d'offres avec un nom et un prix mensuel.";
912
- readonly monthlyLabel: "Monthly";
913
- readonly annualLabel: "Annual";
914
- readonly popularLabel: "POPULAR";
915
- readonly perMonthLabel: "/ month";
916
- readonly billedAnnuallyLabel: "Billed {total} yearly";
917
- readonly currentLabel: "Current plan";
918
- readonly ctaLabel: "Choose plan";
912
+ readonly monthlyLabel: "Mensuel";
913
+ readonly annualLabel: "Annuel";
914
+ readonly popularLabel: "POPULAIRE";
915
+ readonly perMonthLabel: "/ mois";
916
+ readonly billedAnnuallyLabel: "Facturé {total} par an";
917
+ readonly currentLabel: "Offre actuelle";
918
+ readonly ctaLabel: "Choisir cette offre";
919
919
  };
920
920
  readonly apiKeysPanel: {
921
921
  readonly description: "Clés d'API avec badges d'environnement, valeurs masquées, portées, dernière utilisation et actions de copie, de renouvellement et de révocation.";
922
922
  readonly emptyTitle: "Aucune clé d'API";
923
923
  readonly emptyBody: "Créez une clé pour commencer à appeler l'API.";
924
- readonly revealedTitle: "Key created";
925
- readonly revealedBody: "Copy it now it is never shown again.";
926
- readonly copyLabel: "Copy";
927
- readonly copiedLabel: "Copied";
928
- readonly revealLabel: "Reveal key";
929
- readonly hideLabel: "Hide key";
930
- readonly rollLabel: "Roll key";
931
- readonly revokeLabel: "Revoke key";
932
- readonly neverUsedLabel: "Never used";
933
- readonly lastUsedLabel: "Last used {since}";
924
+ readonly revealedTitle: "Clé créée";
925
+ readonly revealedBody: "Copiez-la maintenantelle ne sera plus jamais affichée.";
926
+ readonly copyLabel: "Copier";
927
+ readonly copiedLabel: "Copié";
928
+ readonly revealLabel: "Révéler la clé";
929
+ readonly hideLabel: "Masquer la clé";
930
+ readonly rollLabel: "Renouveler la clé";
931
+ readonly revokeLabel: "Révoquer la clé";
932
+ readonly neverUsedLabel: "Jamais utilisée";
933
+ readonly lastUsedLabel: "Dernière utilisation {since}";
934
934
  };
935
935
  readonly apiPlayground: {
936
936
  readonly description: "Un compositeur de requête avec paramètres et volet de réponse. Il compose seulement et n'envoie jamais de vraie requête.";
937
937
  readonly emptyTitle: "Aucun point de terminaison sélectionné";
938
938
  readonly emptyBody: "Choisissez un point de terminaison pour composer une requête.";
939
- readonly sendLabel: "Send";
940
- readonly requestLabel: "Request";
941
- readonly responseLabel: "Response";
942
- readonly paramsLabel: "Parameters";
943
- readonly responsePlaceholder: "Send the request to see the response.";
939
+ readonly sendLabel: "Envoyer";
940
+ readonly requestLabel: "Requête";
941
+ readonly responseLabel: "Réponse";
942
+ readonly paramsLabel: "Paramètres";
943
+ readonly responsePlaceholder: "Envoyez la requête pour voir la réponse.";
944
944
  };
945
945
  readonly codeSnippetBlock: {
946
946
  readonly description: "Un extrait de code copiable avec une puce de langage et des onglets optionnels par langage.";
947
947
  readonly emptyTitle: "Aucun extrait";
948
948
  readonly emptyBody: "Liez une colonne de code ou définissez un extrait statique dans la configuration.";
949
- readonly copyLabel: "Copy";
950
- readonly copiedLabel: "Copied";
949
+ readonly copyLabel: "Copier";
950
+ readonly copiedLabel: "Copié";
951
951
  };
952
952
  readonly webhookEndpointsList: {
953
953
  readonly description: "Points de terminaison webhook avec leur événement, URL cible, dernier déclenchement et interrupteur d'activation.";
954
954
  readonly emptyTitle: "Aucun point de terminaison";
955
955
  readonly emptyBody: "Ajoutez un point de terminaison webhook pour recevoir les événements de table.";
956
- readonly neverFiredLabel: "Never fired";
957
- readonly lastFiredLabel: "Last fired {since}";
956
+ readonly neverFiredLabel: "Jamais déclenché";
957
+ readonly lastFiredLabel: "Dernier déclenchement {since}";
958
958
  };
959
959
  readonly resourceApiCard: {
960
960
  readonly description: "La surface d'API générée d'une table : nombre de lignes, badge de sécurité, puces de méthode et volume de requêtes.";
@@ -962,43 +962,43 @@ declare const _default: {
962
962
  readonly emptyBody: "Liez une table pour afficher sa surface d'API générée.";
963
963
  readonly rlsLabel: "RLS";
964
964
  readonly publicLabel: "Public";
965
- readonly rowsLabel: "rows";
966
- readonly perDayLabel: "{count}/day";
965
+ readonly rowsLabel: "lignes";
966
+ readonly perDayLabel: "{count}/jour";
967
967
  };
968
968
  readonly liveTimer: {
969
969
  readonly description: "Un chronomètre démarrer/arrêter pour une tâche ; l'arrêter enregistre une entrée de temps.";
970
970
  readonly emptyTitle: "Aucun chronomètre";
971
971
  readonly emptyBody: "Liez une ligne d'entrée de temps avec une tâche et une colonne de durée.";
972
- readonly startLabel: "Start";
973
- readonly stopLabel: "Stop";
974
- readonly taskPlaceholder: "Untitled task";
972
+ readonly startLabel: "Démarrer";
973
+ readonly stopLabel: "Arrêter";
974
+ readonly taskPlaceholder: "Tâche sans titre";
975
975
  };
976
976
  readonly syncStatusCard: {
977
977
  readonly description: "Identité de la connexion, latence, lignes synchronisées et planning de synchronisation, avec une action de synchronisation immédiate.";
978
978
  readonly emptyTitle: "Aucune connexion";
979
979
  readonly emptyBody: "Liez une ligne de connexion pour afficher son état de synchronisation.";
980
- readonly connectedLabel: "Connected";
981
- readonly disconnectedLabel: "Disconnected";
982
- readonly rowsSyncedLabel: "Rows synced";
980
+ readonly connectedLabel: "Connectée";
981
+ readonly disconnectedLabel: "Déconnectée";
982
+ readonly rowsSyncedLabel: "Lignes synchronisées";
983
983
  readonly tablesLabel: "Tables";
984
- readonly lastSyncLabel: "Last sync";
985
- readonly nextSyncLabel: "Next sync";
986
- readonly syncingLabel: "Syncing…";
987
- readonly syncActionLabel: "Sync now";
984
+ readonly lastSyncLabel: "Dernière synchronisation";
985
+ readonly nextSyncLabel: "Prochaine synchronisation";
986
+ readonly syncingLabel: "Synchronisation…";
987
+ readonly syncActionLabel: "Synchroniser maintenant";
988
988
  };
989
989
  readonly ipAllowlistCard: {
990
990
  readonly description: "Adresses IP de sortie fixes à autoriser dans un pare-feu, chacune avec un bouton de copie.";
991
991
  readonly emptyTitle: "Aucune IP de sortie";
992
992
  readonly emptyBody: "Les adresses de sortie apparaissent ici une fois la connexion provisionnée.";
993
- readonly copyLabel: "Copy";
994
- readonly copiedLabel: "Copied";
993
+ readonly copyLabel: "Copier";
994
+ readonly copiedLabel: "Copié";
995
995
  };
996
996
  readonly onboardingChecklist: {
997
997
  readonly description: "Étapes de configuration avec estimations de durée et actions, au-dessus d'un anneau et d'une barre de progression recalculés en direct.";
998
998
  readonly emptyTitle: "Rien à configurer";
999
999
  readonly emptyBody: "Ajoutez des étapes d'intégration dans la configuration ou liez une table d'étapes.";
1000
- readonly progressLabel: "{done} of {total} done";
1001
- readonly celebrateTitle: "All done";
1000
+ readonly progressLabel: "{done} sur {total} terminées";
1001
+ readonly celebrateTitle: "Tout est terminé";
1002
1002
  };
1003
1003
  readonly testimonialCard: {
1004
1004
  readonly description: "Une citation client avec avatar et attribution.";
@@ -1042,7 +1042,7 @@ declare const _default: {
1042
1042
  readonly description: "Une grille de moodboard avec emplacements d'images et légendes, pour les tables contenant des URL d'images.";
1043
1043
  readonly emptyTitle: "Aucune image pour l'instant";
1044
1044
  readonly emptyBody: "Les images de référence apparaîtront sur ce tableau.";
1045
- readonly placeholder: "Drop reference";
1045
+ readonly placeholder: "Déposez une référence";
1046
1046
  };
1047
1047
  readonly linkList: {
1048
1048
  readonly description: "Liens de référence avec titres et URL, ouverts dans un nouvel onglet.";
@@ -1083,16 +1083,16 @@ declare const _default: {
1083
1083
  readonly successTitle: "Enregistrement créé";
1084
1084
  readonly successBody: "L’enregistrement a été sauvegardé.";
1085
1085
  readonly required: "Ce champ est obligatoire.";
1086
- readonly titleLabel: "Create record";
1087
- readonly closeLabel: "Close";
1086
+ readonly titleLabel: "Créer un enregistrement";
1087
+ readonly closeLabel: "Fermer";
1088
1088
  };
1089
1089
  readonly drawerForm: {
1090
1090
  readonly description: "Un panneau latéral de création ou d’édition pour les enregistrements à nombreux champs.";
1091
1091
  readonly trigger: "Nouveau";
1092
1092
  readonly submit: "Enregistrer";
1093
1093
  readonly cancel: "Annuler";
1094
- readonly titleLabel: "New record";
1095
- readonly closeLabel: "Close";
1094
+ readonly titleLabel: "Nouvel enregistrement";
1095
+ readonly closeLabel: "Fermer";
1096
1096
  };
1097
1097
  readonly stepper: {
1098
1098
  readonly description: "Un indicateur d’étapes montrant l’avancement d’un parcours en plusieurs étapes.";
@@ -1144,20 +1144,20 @@ declare const _default: {
1144
1144
  readonly valuePlaceholder: "Valeur…";
1145
1145
  readonly emptyBody: "Aucune condition — ajoutez-en une pour définir ce segment.";
1146
1146
  readonly op: {
1147
- readonly eq: "is";
1148
- readonly neq: "is not";
1149
- readonly gt: "is greater than";
1150
- readonly gte: "is at least";
1151
- readonly lt: "is less than";
1152
- readonly lte: "is at most";
1153
- readonly contains: "contains";
1154
- readonly "not-contains": "does not contain";
1155
- readonly "starts-with": "starts with";
1156
- readonly in: "is one of";
1157
- readonly before: "is before";
1158
- readonly after: "is after";
1159
- readonly "is-null": "is empty";
1160
- readonly "is-not-null": "is not empty";
1147
+ readonly eq: "est";
1148
+ readonly neq: "n’est pas";
1149
+ readonly gt: "est supérieur à";
1150
+ readonly gte: "est supérieur ou égal à";
1151
+ readonly lt: "est inférieur à";
1152
+ readonly lte: "est inférieur ou égal à";
1153
+ readonly contains: "contient";
1154
+ readonly "not-contains": "ne contient pas";
1155
+ readonly "starts-with": "commence par";
1156
+ readonly in: "fait partie de";
1157
+ readonly before: "est avant";
1158
+ readonly after: "est après";
1159
+ readonly "is-null": "est vide";
1160
+ readonly "is-not-null": "n’est pas vide";
1161
1161
  };
1162
1162
  };
1163
1163
  readonly flowBuilder: {
@@ -1225,14 +1225,14 @@ declare const _default: {
1225
1225
  readonly emptyTitle: "Aucune question";
1226
1226
  readonly emptyBody: "Choisissez un type de question pour commencer votre sondage.";
1227
1227
  readonly questionLabel: "Question";
1228
- readonly dropdownPlaceholder: "Choose…";
1228
+ readonly dropdownPlaceholder: "Choisir…";
1229
1229
  readonly kind: {
1230
- readonly "single-choice": "Single choice";
1231
- readonly "multi-choice": "Multiple choice";
1232
- readonly dropdown: "Dropdown";
1233
- readonly "short-text": "Short text";
1234
- readonly "long-text": "Long text";
1235
- readonly rating: "Star rating";
1230
+ readonly "single-choice": "Choix unique";
1231
+ readonly "multi-choice": "Choix multiple";
1232
+ readonly dropdown: "Liste déroulante";
1233
+ readonly "short-text": "Texte court";
1234
+ readonly "long-text": "Texte long";
1235
+ readonly rating: "Note en étoiles";
1236
1236
  readonly nps: "NPS 0–10";
1237
1237
  readonly date: "Date";
1238
1238
  };
@@ -1243,7 +1243,7 @@ declare const _default: {
1243
1243
  readonly save: "Enregistrer";
1244
1244
  readonly cancel: "Annuler";
1245
1245
  readonly empty: "Vide";
1246
- readonly valueLabel: "Value";
1246
+ readonly valueLabel: "Valeur";
1247
1247
  };
1248
1248
  readonly passwordStrengthMeter: {
1249
1249
  readonly description: "Un indicateur en quatre segments de la robustesse du mot de passe.";
@@ -1268,7 +1268,7 @@ declare const _default: {
1268
1268
  readonly navigate: "Naviguer";
1269
1269
  readonly select: "Ouvrir";
1270
1270
  readonly close: "Fermer";
1271
- readonly emptyTitle: "No results for \"{query}\"";
1271
+ readonly emptyTitle: "Aucun résultat pour « {query} »";
1272
1272
  readonly emptyBody: "Commencez à taper pour rechercher.";
1273
1273
  readonly groupActions: "Actions";
1274
1274
  readonly groupNavigate: "Naviguer";
@@ -1285,8 +1285,8 @@ declare const _default: {
1285
1285
  readonly summary: "{count} résultats pour « {query} »";
1286
1286
  readonly emptyTitle: "Aucun résultat";
1287
1287
  readonly emptyBody: "Essayez un autre terme de recherche.";
1288
- readonly searchLabel: "Search";
1289
- readonly facetRailLabel: "Filter by type";
1288
+ readonly searchLabel: "Rechercher";
1289
+ readonly facetRailLabel: "Filtrer par type";
1290
1290
  };
1291
1291
  readonly breadcrumb: {
1292
1292
  readonly description: "Le fil d’Ariane de l’enregistrement ou du dossier courant.";
@@ -1306,22 +1306,22 @@ declare const _default: {
1306
1306
  readonly footerHint: "Appuyez sur ? à tout moment";
1307
1307
  readonly then: "puis";
1308
1308
  readonly emptyTitle: "Aucun raccourci enregistré.";
1309
- readonly generalGroupLabel: "General";
1309
+ readonly generalGroupLabel: "Général";
1310
1310
  readonly navigationGroupLabel: "Navigation";
1311
- readonly recordsGroupLabel: "Records";
1312
- readonly openCommandPaletteLabel: "Open command palette";
1313
- readonly searchLabel: "Search";
1314
- readonly showShortcutsLabel: "Show shortcuts";
1315
- readonly goToDashboardLabel: "Go to dashboard";
1316
- readonly goToOrdersLabel: "Go to orders";
1317
- readonly newRecordLabel: "New record";
1318
- readonly saveLabel: "Save";
1319
- readonly undoLabel: "Undo";
1311
+ readonly recordsGroupLabel: "Enregistrements";
1312
+ readonly openCommandPaletteLabel: "Ouvrir la palette de commandes";
1313
+ readonly searchLabel: "Rechercher";
1314
+ readonly showShortcutsLabel: "Afficher les raccourcis";
1315
+ readonly goToDashboardLabel: "Aller au tableau de bord";
1316
+ readonly goToOrdersLabel: "Aller aux commandes";
1317
+ readonly newRecordLabel: "Nouvel enregistrement";
1318
+ readonly saveLabel: "Enregistrer";
1319
+ readonly undoLabel: "Annuler";
1320
1320
  };
1321
1321
  readonly avatarStack: {
1322
1322
  readonly description: "Des avatars superposés avec débordement « +N » et présence optionnelle.";
1323
1323
  readonly online: "{count} en ligne";
1324
- readonly a11yLabel: "People";
1324
+ readonly a11yLabel: "Personnes";
1325
1325
  };
1326
1326
  };
1327
1327
  readonly system: {
@@ -1396,10 +1396,10 @@ declare const _default: {
1396
1396
  readonly latency: "Latence";
1397
1397
  };
1398
1398
  readonly widgetMissing: {
1399
- readonly description: "The fallback card shown when a stored page references a widget that is not installed.";
1400
- readonly title: "Widget unavailable";
1401
- readonly bodyLead: "No widget is registered as";
1402
- readonly bodyTail: "It may belong to a newer version or an uninstalled extension.";
1399
+ readonly description: "La carte de repli affichée lorsqu’une page enregistrée référence un widget qui n’est pas installé.";
1400
+ readonly title: "Widget indisponible";
1401
+ readonly bodyLead: "Aucun widget n’est enregistré sous";
1402
+ readonly bodyTail: "Il appartient peut-être à une version plus récente ou à une extension désinstallée.";
1403
1403
  };
1404
1404
  };
1405
1405
  };
@@ -1413,350 +1413,350 @@ declare const _default: {
1413
1413
  readonly committed: "{title} placé à la colonne {col}, ligne {row}.";
1414
1414
  readonly reverted: "{title} remis à sa position initiale.";
1415
1415
  };
1416
- readonly draggableRole: "draggable widget";
1416
+ readonly draggableRole: "widget déplaçable";
1417
1417
  };
1418
1418
  readonly templates: {
1419
1419
  readonly crud: {
1420
- readonly newRow: "New row";
1421
- readonly exportAction: "Export";
1422
- readonly searchPlaceholder: "Search {table}…";
1423
- readonly removeFilter: "Remove {column} filter";
1424
- readonly queryFailed: "Query failed";
1425
- readonly loadingRows: "Loading rows";
1426
- readonly noMatchesTitle: "No matching rows";
1427
- readonly emptyTitle: "{count, plural, one {No {entity} yet} other {No {entity}s yet}}";
1428
- readonly createTitle: "Add {entity}";
1429
- readonly createSubtitle: "Creates one row in {table}.";
1430
- readonly createSubmit: "Add {entity}";
1431
- readonly createSuccessTitle: "{name} added";
1432
- readonly createSuccessBody: "You can undo this from the toast.";
1433
- readonly editTitle: "Edit {entity}";
1434
- readonly saveSubmit: "Save changes";
1435
- readonly deleteTitle: "Delete {entity}";
1436
- readonly deletePreflight: "Checking references…";
1437
- readonly deleteNoReferences: "This row has no inbound references.";
1438
- readonly deleteConsequencesIntro: "Deleting this row also affects:";
1439
- readonly referenceRows: "{count, plural, one {{n} row} other {{n} rows}}";
1440
- readonly confirmPrompt: "Type {value} to confirm";
1441
- readonly bulkDeleteTitle: "{count, plural, one {Delete {n} row} other {Delete {n} rows}}";
1442
- readonly bulkDeleteBody: "Referential consequences apply to every selected row.";
1443
- readonly bulkDeleteConfirm: "Delete rows";
1444
- readonly uniqueHelper: "Must be unique in {table}.";
1445
- readonly uniqueHelperCounted: "{count, plural, one {Checked against {n} row.} other {Checked against {n} rows.}}";
1420
+ readonly newRow: "Nouvelle ligne";
1421
+ readonly exportAction: "Exporter";
1422
+ readonly searchPlaceholder: "Rechercher dans {table}…";
1423
+ readonly removeFilter: "Supprimer le filtre {column}";
1424
+ readonly queryFailed: "Échec de la requête";
1425
+ readonly loadingRows: "Chargement des lignes";
1426
+ readonly noMatchesTitle: "Aucune ligne correspondante";
1427
+ readonly emptyTitle: "{count, plural, one {Pas encore de {entity}} other {Pas encore de {entity}}}";
1428
+ readonly createTitle: "Ajouter {entity}";
1429
+ readonly createSubtitle: "Crée une ligne dans {table}.";
1430
+ readonly createSubmit: "Ajouter {entity}";
1431
+ readonly createSuccessTitle: "{name} ajouté";
1432
+ readonly createSuccessBody: "Vous pouvez annuler cette action depuis la notification.";
1433
+ readonly editTitle: "Modifier {entity}";
1434
+ readonly saveSubmit: "Enregistrer les modifications";
1435
+ readonly deleteTitle: "Supprimer {entity}";
1436
+ readonly deletePreflight: "Vérification des références…";
1437
+ readonly deleteNoReferences: "Cette ligne n’a aucune référence entrante.";
1438
+ readonly deleteConsequencesIntro: "Supprimer cette ligne affecte aussi :";
1439
+ readonly referenceRows: "{count, plural, one {{n} ligne} other {{n} lignes}}";
1440
+ readonly confirmPrompt: "Saisissez {value} pour confirmer";
1441
+ readonly bulkDeleteTitle: "{count, plural, one {Supprimer {n} ligne} other {Supprimer {n} lignes}}";
1442
+ readonly bulkDeleteBody: "Les conséquences référentielles s’appliquent à chaque ligne sélectionnée.";
1443
+ readonly bulkDeleteConfirm: "Supprimer les lignes";
1444
+ readonly uniqueHelper: "Doit être unique dans {table}.";
1445
+ readonly uniqueHelperCounted: "{count, plural, one {Vérifié sur {n} ligne.} other {Vérifié sur {n} lignes.}}";
1446
1446
  readonly toast: {
1447
- readonly created: "{entity} created.";
1448
- readonly createFailed: "Create failed.";
1449
- readonly saved: "Changes saved.";
1450
- readonly updateFailed: "Update failed.";
1451
- readonly deleted: "{name} deleted.";
1452
- readonly deleteFailed: "Delete failed.";
1453
- readonly bulkDeleted: "{count, plural, one {{n} row deleted.} other {{n} rows deleted.}}";
1454
- readonly bulkDeleteFailed: "Bulk delete failed.";
1455
- readonly undone: "Change undone.";
1456
- readonly undoFailed: "Undo failed.";
1447
+ readonly created: "{entity} créé.";
1448
+ readonly createFailed: "Échec de la création.";
1449
+ readonly saved: "Modifications enregistrées.";
1450
+ readonly updateFailed: "Échec de la mise à jour.";
1451
+ readonly deleted: "{name} supprimé.";
1452
+ readonly deleteFailed: "Échec de la suppression.";
1453
+ readonly bulkDeleted: "{count, plural, one {{n} ligne supprimée.} other {{n} lignes supprimées.}}";
1454
+ readonly bulkDeleteFailed: "Échec de la suppression groupée.";
1455
+ readonly undone: "Modification annulée.";
1456
+ readonly undoFailed: "Échec de l’annulation.";
1457
1457
  };
1458
1458
  readonly detail: {
1459
- readonly fields: "Fields";
1460
- readonly inboundReferences: "inbound references";
1461
- readonly relatedCount: "{count, plural, one {{n} related record in {table}} other {{n} related records in {table}}}";
1462
- readonly loadError: "Failed to load the record.";
1459
+ readonly fields: "Champs";
1460
+ readonly inboundReferences: "références entrantes";
1461
+ readonly relatedCount: "{count, plural, one {{n} enregistrement lié dans {table}} other {{n} enregistrements liés dans {table}}}";
1462
+ readonly loadError: "Impossible de charger l’enregistrement.";
1463
1463
  };
1464
1464
  };
1465
1465
  readonly queue: {
1466
- readonly allSegment: "All";
1467
- readonly daysUnit: "{count, plural, one {{count} day} other {{count} days}}";
1468
- readonly approvedToast: "{count} approved.";
1469
- readonly rejectedToast: "{count} rejected.";
1470
- readonly undoneToast: "Decision undone.";
1471
- readonly undoFailedToast: "Could not undo this decision.";
1472
- readonly failedToast: "Decision failed.";
1473
- readonly invalidConfig: "This queue’s stored configuration is invalid. Regenerate the page to restore it.";
1474
- readonly queueLabel: "Queue";
1475
- readonly statusFilterLabel: "Status filter";
1476
- readonly errorTitle: "This queue failed to load";
1477
- readonly loading: "Loading queue";
1478
- readonly emptyTitle: "Nothing in the queue";
1479
- readonly emptyBody: "New requests appear here as they arrive.";
1480
- readonly caughtUpTitle: "You're all caught up";
1481
- readonly caughtUpBody: "No requests in this tab right now.";
1482
- readonly selectItem: "Select {title}";
1483
- readonly selectPrompt: "Select a request";
1484
- readonly selectBody: "Choose an item to review its details.";
1485
- readonly rejectTitle: "Reject requests";
1486
- readonly rejectCount: "Selected · {count}";
1487
- readonly rejectPlaceholder: "Add a note for the requester…";
1488
- readonly rejectReasonLabel: "Rejection reason";
1489
- readonly rejectNote: "The requester will be notified with your note.";
1466
+ readonly allSegment: "Tout";
1467
+ readonly daysUnit: "{count, plural, one {{count} jour} other {{count} jours}}";
1468
+ readonly approvedToast: "{count} approuvées.";
1469
+ readonly rejectedToast: "{count} rejetées.";
1470
+ readonly undoneToast: "Décision annulée.";
1471
+ readonly undoFailedToast: "Impossible d’annuler cette décision.";
1472
+ readonly failedToast: "Échec de la décision.";
1473
+ readonly invalidConfig: "La configuration enregistrée de cette file d’attente est invalide. Régénérez la page pour la restaurer.";
1474
+ readonly queueLabel: "File d’attente";
1475
+ readonly statusFilterLabel: "Filtre de statut";
1476
+ readonly errorTitle: "Cette file d’attente n’a pas pu être chargée";
1477
+ readonly loading: "Chargement de la file d’attente";
1478
+ readonly emptyTitle: "Rien dans la file d’attente";
1479
+ readonly emptyBody: "Les nouvelles demandes apparaissent ici à mesure qu’elles arrivent.";
1480
+ readonly caughtUpTitle: "Vous êtes à jour";
1481
+ readonly caughtUpBody: "Aucune demande dans cet onglet pour l’instant.";
1482
+ readonly selectItem: "Sélectionner {title}";
1483
+ readonly selectPrompt: "Sélectionnez une demande";
1484
+ readonly selectBody: "Choisissez un élément pour en examiner les détails.";
1485
+ readonly rejectTitle: "Rejeter les demandes";
1486
+ readonly rejectCount: "Sélectionnées · {count}";
1487
+ readonly rejectPlaceholder: "Ajoutez une note pour le demandeur…";
1488
+ readonly rejectReasonLabel: "Motif du rejet";
1489
+ readonly rejectNote: "Le demandeur sera notifié avec votre note.";
1490
1490
  };
1491
1491
  readonly dashboard: {
1492
- readonly invalidLayout: "This dashboard’s stored layout is invalid. Regenerate the page or reset its layout.";
1492
+ readonly invalidLayout: "La disposition enregistrée de ce tableau de bord est invalide. Régénérez la page ou réinitialisez sa disposition.";
1493
1493
  };
1494
1494
  readonly builder: {
1495
- readonly publish: "Publish";
1496
- readonly paletteTitle: "Blocks";
1497
- readonly inspectorTitle: "Inspector";
1498
- readonly startFromTemplate: "Start from a template";
1499
- readonly untitledDoc: "Untitled document";
1500
- readonly invalidConfig: "This builder page’s stored config is invalid. Regenerate the page or reset it.";
1495
+ readonly publish: "Publier";
1496
+ readonly paletteTitle: "Blocs";
1497
+ readonly inspectorTitle: "Inspecteur";
1498
+ readonly startFromTemplate: "Partir d’un modèle";
1499
+ readonly untitledDoc: "Document sans titre";
1500
+ readonly invalidConfig: "La configuration enregistrée de cette page d’éditeur est invalide. Régénérez la page ou réinitialisez-la.";
1501
1501
  readonly starterPicker: {
1502
- readonly subtitle: "Selection replaces the current draft.";
1502
+ readonly subtitle: "Votre sélection remplace le brouillon actuel.";
1503
1503
  };
1504
1504
  readonly inspector: {
1505
- readonly titleLabel: "Title";
1506
- readonly numberLabel: "Number";
1507
- readonly currencyLabel: "Currency";
1508
- readonly taxRateLabel: "Tax rate %";
1505
+ readonly titleLabel: "Titre";
1506
+ readonly numberLabel: "Numéro";
1507
+ readonly currencyLabel: "Devise";
1508
+ readonly taxRateLabel: "Taux de taxe %";
1509
1509
  readonly modulesLabel: "Modules";
1510
1510
  };
1511
1511
  readonly summary: {
1512
1512
  readonly questions: "Questions";
1513
- readonly estLength: "Est. length";
1513
+ readonly estLength: "Durée est.";
1514
1514
  readonly estMinutes: "~{minutes} min";
1515
- readonly steps: "Steps";
1516
- readonly triggers: "Triggers";
1515
+ readonly steps: "Étapes";
1516
+ readonly triggers: "Déclencheurs";
1517
1517
  readonly conditions: "Conditions";
1518
1518
  readonly actions: "Actions";
1519
- readonly triggerLocked: "The trigger step can’t be removed.";
1519
+ readonly triggerLocked: "L’étape de déclenchement ne peut pas être supprimée.";
1520
1520
  };
1521
1521
  readonly publishModal: {
1522
- readonly confirmTitle: "Publish survey?";
1523
- readonly confirmSubtitle: "Review before it goes live.";
1524
- readonly confirmCta: "Publish survey";
1525
- readonly publishedTitle: "Survey published";
1526
- readonly publishedSubtitle: "Your survey is live and collecting responses right now.";
1522
+ readonly confirmTitle: "Publier le sondage ?";
1523
+ readonly confirmSubtitle: "Vérifiez avant la mise en ligne.";
1524
+ readonly confirmCta: "Publier le sondage";
1525
+ readonly publishedTitle: "Sondage publié";
1526
+ readonly publishedSubtitle: "Votre sondage est en ligne et collecte des réponses dès maintenant.";
1527
1527
  };
1528
1528
  readonly blocks: {
1529
- readonly "block-totals-summary": "Totals summary";
1530
- readonly "block-line-items": "Line items";
1531
- readonly "block-kpi-row": "KPI row";
1532
- readonly "block-bar-chart": "Bar chart";
1533
- readonly "block-line-chart": "Line chart";
1534
- readonly "block-two-col-table": "Two-column table";
1535
- readonly "block-tax-breakdown": "Tax breakdown";
1536
- readonly "block-multi-currency": "Multi-currency";
1537
- readonly "block-payment-history": "Payment history";
1538
- readonly "block-discount-codes": "Discount codes";
1539
- readonly "block-loyalty-banner": "Loyalty points";
1540
- readonly "block-recurring-banner": "Recurring";
1541
- readonly "block-qr-pay": "Payment QR";
1542
- readonly "block-delivery-stepper": "Delivery timeline";
1529
+ readonly "block-totals-summary": "Récapitulatif des totaux";
1530
+ readonly "block-line-items": "Lignes du document";
1531
+ readonly "block-kpi-row": "Rangée de KPI";
1532
+ readonly "block-bar-chart": "Graphique à barres";
1533
+ readonly "block-line-chart": "Graphique en courbes";
1534
+ readonly "block-two-col-table": "Tableau à deux colonnes";
1535
+ readonly "block-tax-breakdown": "Détail des taxes";
1536
+ readonly "block-multi-currency": "Multidevise";
1537
+ readonly "block-payment-history": "Historique des paiements";
1538
+ readonly "block-discount-codes": "Codes de remise";
1539
+ readonly "block-loyalty-banner": "Points de fidélité";
1540
+ readonly "block-recurring-banner": "Récurrence";
1541
+ readonly "block-qr-pay": "QR de paiement";
1542
+ readonly "block-delivery-stepper": "Suivi de livraison";
1543
1543
  readonly "block-signature": "Signature";
1544
- readonly "block-terms-checkbox": "Terms";
1545
- readonly "block-approval": "Approval";
1546
- readonly "block-attachments": "Attachments";
1547
- readonly "block-late-fees": "Late fees";
1544
+ readonly "block-terms-checkbox": "Conditions";
1545
+ readonly "block-approval": "Approbation";
1546
+ readonly "block-attachments": "Pièces jointes";
1547
+ readonly "block-late-fees": "Pénalités de retard";
1548
1548
  readonly "block-image-placeholder": "Image";
1549
1549
  readonly "block-contact": "Contact";
1550
- readonly "block-highlight-box": "Highlight box";
1550
+ readonly "block-highlight-box": "Encadré";
1551
1551
  };
1552
1552
  readonly starters: {
1553
1553
  readonly titles: {
1554
- readonly "st-standard": "Standard invoice";
1555
- readonly "st-recurring": "Recurring subscription";
1556
- readonly "st-deposit": "Deposit request";
1557
- readonly "st-credit-note": "Credit note";
1558
- readonly "st-late-reminder": "Late-payment reminder";
1559
- readonly "st-quote": "Quote / estimate";
1554
+ readonly "st-standard": "Facture standard";
1555
+ readonly "st-recurring": "Abonnement récurrent";
1556
+ readonly "st-deposit": "Demande d’acompte";
1557
+ readonly "st-credit-note": "Avoir";
1558
+ readonly "st-late-reminder": "Relance de paiement en retard";
1559
+ readonly "st-quote": "Devis / estimation";
1560
1560
  readonly "st-proforma": "Pro forma";
1561
- readonly "st-receipt": "Payment receipt";
1562
- readonly "st-retainer": "Retainer";
1563
- readonly "st-usage": "Usage-based invoice";
1564
- readonly "st-milestone": "Project milestone";
1565
- readonly "st-donation": "Donation receipt (Tax ID)";
1566
- readonly "st-monthly": "Monthly summary";
1567
- readonly "st-quarterly": "Quarterly review";
1568
- readonly "st-usage-report": "Usage breakdown";
1569
- readonly "st-exec": "Executive one-pager";
1570
- readonly "st-welcome": "Welcome email";
1571
- readonly "st-receipt-email": "Invoice receipt";
1572
- readonly "st-digest": "Weekly digest";
1573
- readonly "st-dunning": "Payment reminder";
1561
+ readonly "st-receipt": "Reçu de paiement";
1562
+ readonly "st-retainer": "Provision sur honoraires";
1563
+ readonly "st-usage": "Facture à l’usage";
1564
+ readonly "st-milestone": "Jalon de projet";
1565
+ readonly "st-donation": "Reçu de don (numéro fiscal)";
1566
+ readonly "st-monthly": "Récapitulatif mensuel";
1567
+ readonly "st-quarterly": "Bilan trimestriel";
1568
+ readonly "st-usage-report": "Détail de la consommation";
1569
+ readonly "st-exec": "Synthèse d’une page";
1570
+ readonly "st-welcome": "E-mail de bienvenue";
1571
+ readonly "st-receipt-email": "Reçu de facture";
1572
+ readonly "st-digest": "Résumé hebdomadaire";
1573
+ readonly "st-dunning": "Rappel de paiement";
1574
1574
  };
1575
1575
  readonly categories: {
1576
- readonly billing: "Billing";
1577
- readonly sales: "Sales";
1578
- readonly nonProfit: "Non-profit";
1579
- readonly reports: "Reports";
1580
- readonly lifecycle: "Lifecycle";
1581
- readonly transactional: "Transactional";
1576
+ readonly billing: "Facturation";
1577
+ readonly sales: "Ventes";
1578
+ readonly nonProfit: "Associatif";
1579
+ readonly reports: "Rapports";
1580
+ readonly lifecycle: "Cycle de vie";
1581
+ readonly transactional: "Transactionnel";
1582
1582
  readonly marketing: "Marketing";
1583
1583
  };
1584
1584
  };
1585
1585
  };
1586
1586
  readonly common: {
1587
- readonly clearFilters: "Clear filters";
1588
- readonly noMatchesBody: "Try a different search or remove a filter.";
1589
- readonly detailLabel: "Detail";
1590
- readonly loadingRecord: "Loading record";
1587
+ readonly clearFilters: "Effacer les filtres";
1588
+ readonly noMatchesBody: "Essayez une autre recherche ou supprimez un filtre.";
1589
+ readonly detailLabel: "Détail";
1590
+ readonly loadingRecord: "Chargement de l’enregistrement";
1591
1591
  };
1592
1592
  readonly directory: {
1593
- readonly invalidConfig: "This directory’s stored configuration is invalid. Regenerate the page to restore it.";
1594
- readonly searchPlaceholder: "Search people…";
1595
- readonly memberCount: "{count, plural, one {{n} person} other {{n} people}}";
1596
- readonly errorTitle: "This directory failed to load";
1597
- readonly loading: "Loading people";
1598
- readonly emptyTitle: "No people yet";
1599
- readonly emptyBody: "People appear here as rows land in the table.";
1600
- readonly noMatchesTitle: "No matching people";
1601
- readonly detailTitle: "Person";
1593
+ readonly invalidConfig: "La configuration enregistrée de cet annuaire est invalide. Régénérez la page pour la restaurer.";
1594
+ readonly searchPlaceholder: "Rechercher des personnes…";
1595
+ readonly memberCount: "{count, plural, one {{n} personne} other {{n} personnes}}";
1596
+ readonly errorTitle: "Cet annuaire n’a pas pu être chargé";
1597
+ readonly loading: "Chargement des personnes";
1598
+ readonly emptyTitle: "Aucune personne pour l’instant";
1599
+ readonly emptyBody: "Les personnes apparaissent ici à mesure que des lignes arrivent dans la table.";
1600
+ readonly noMatchesTitle: "Aucune personne correspondante";
1601
+ readonly detailTitle: "Personne";
1602
1602
  };
1603
1603
  readonly masterDetail: {
1604
- readonly invalidConfig: "This page’s stored configuration is invalid. Regenerate the page to restore it.";
1605
- readonly railTitle: "Records";
1606
- readonly errorTitle: "This list failed to load";
1607
- readonly loading: "Loading records";
1608
- readonly emptyBody: "Records appear here as rows land in the table.";
1609
- readonly noMatchesTitle: "No matching records";
1610
- readonly noMatchesBody: "Try removing a filter.";
1611
- readonly selectPrompt: "Select a record";
1612
- readonly selectBody: "Choose an item from the list to see its details.";
1604
+ readonly invalidConfig: "La configuration enregistrée de cette page est invalide. Régénérez la page pour la restaurer.";
1605
+ readonly railTitle: "Enregistrements";
1606
+ readonly errorTitle: "Cette liste n’a pas pu être chargée";
1607
+ readonly loading: "Chargement des enregistrements";
1608
+ readonly emptyBody: "Les enregistrements apparaissent ici à mesure que des lignes arrivent dans la table.";
1609
+ readonly noMatchesTitle: "Aucun enregistrement correspondant";
1610
+ readonly noMatchesBody: "Essayez de supprimer un filtre.";
1611
+ readonly selectPrompt: "Sélectionnez un enregistrement";
1612
+ readonly selectBody: "Choisissez un élément de la liste pour en voir les détails.";
1613
1613
  };
1614
1614
  readonly chat: {
1615
- readonly invalidLayout: "This chat page’s stored layout is invalid. Regenerate the page or reset its layout.";
1616
- readonly noInboxTitle: "No inbox on this page";
1617
- readonly noInboxBody: "Regenerate the page.";
1618
- readonly conversationsFailed: "The conversation query failed";
1619
- readonly messagesFailed: "The messages query failed";
1620
- readonly loadingConversations: "Loading conversations";
1621
- readonly loadingMessages: "Loading messages";
1622
- readonly selectTitle: "Select a conversation";
1623
- readonly selectBody: "Pick a conversation from the inbox to read its messages.";
1615
+ readonly invalidLayout: "La disposition enregistrée de cette page de messagerie est invalide. Régénérez la page ou réinitialisez sa disposition.";
1616
+ readonly noInboxTitle: "Aucune boîte de réception sur cette page";
1617
+ readonly noInboxBody: "Régénérez la page.";
1618
+ readonly conversationsFailed: "La requête des conversations a échoué";
1619
+ readonly messagesFailed: "La requête des messages a échoué";
1620
+ readonly loadingConversations: "Chargement des conversations";
1621
+ readonly loadingMessages: "Chargement des messages";
1622
+ readonly selectTitle: "Sélectionnez une conversation";
1623
+ readonly selectBody: "Choisissez une conversation dans la boîte de réception pour lire ses messages.";
1624
1624
  };
1625
1625
  readonly files: {
1626
- readonly allFiles: "All files";
1627
- readonly recent: "Recent";
1628
- readonly starred: "Starred";
1629
- readonly invalidLayout: "This files page’s stored layout is invalid. Regenerate the page or reset its layout.";
1630
- readonly missingSlotTitle: "No file browser on this page";
1631
- readonly missingSlotBody: "The stored layout has no browser slot. Regenerate the page.";
1632
- readonly loadFailed: "The file query failed";
1633
- readonly loading: "Loading files";
1634
- readonly uploadsUnavailable: "Uploads are not available on this page yet.";
1635
- readonly previewTitle: "File";
1636
- readonly kindLabel: "Kind";
1637
- readonly linkLabel: "Link";
1626
+ readonly allFiles: "Tous les fichiers";
1627
+ readonly recent: "Récents";
1628
+ readonly starred: "Favoris";
1629
+ readonly invalidLayout: "La disposition enregistrée de cette page de fichiers est invalide. Régénérez la page ou réinitialisez sa disposition.";
1630
+ readonly missingSlotTitle: "Aucun explorateur de fichiers sur cette page";
1631
+ readonly missingSlotBody: "La disposition enregistrée n’a aucun emplacement d’explorateur. Régénérez la page.";
1632
+ readonly loadFailed: "La requête des fichiers a échoué";
1633
+ readonly loading: "Chargement des fichiers";
1634
+ readonly uploadsUnavailable: "Les téléversements ne sont pas encore disponibles sur cette page.";
1635
+ readonly previewTitle: "Fichier";
1636
+ readonly kindLabel: "Nature";
1637
+ readonly linkLabel: "Lien";
1638
1638
  };
1639
1639
  readonly logViewer: {
1640
- readonly invalidLayout: "This log page’s stored layout is invalid. Regenerate the page or reset its layout.";
1641
- readonly levelFilterLabel: "Log level filter";
1642
- readonly timeFilterLabel: "Time window filter";
1640
+ readonly invalidLayout: "La disposition enregistrée de cette page de journal est invalide. Régénérez la page ou réinitialisez sa disposition.";
1641
+ readonly levelFilterLabel: "Filtre de niveau de journal";
1642
+ readonly timeFilterLabel: "Filtre de fenêtre temporelle";
1643
1643
  readonly window: {
1644
- readonly "1h": "1h";
1645
- readonly "24h": "24h";
1646
- readonly "7d": "7d";
1644
+ readonly "1h": "1 h";
1645
+ readonly "24h": "24 h";
1646
+ readonly "7d": "7 j";
1647
1647
  };
1648
1648
  readonly heldCount: "+{count}";
1649
- readonly missingSlotTitle: "No log widget on this page";
1650
- readonly missingSlotBody: "The stored layout has no log slot. Regenerate the page.";
1651
- readonly loadFailed: "The log query failed";
1652
- readonly loading: "Loading log entries";
1649
+ readonly missingSlotTitle: "Aucun widget de journal sur cette page";
1650
+ readonly missingSlotBody: "La disposition enregistrée n’a aucun emplacement de journal. Régénérez la page.";
1651
+ readonly loadFailed: "La requête du journal a échoué";
1652
+ readonly loading: "Chargement des entrées de journal";
1653
1653
  readonly traceTitle: "Trace";
1654
- readonly latestTitle: "Latest activity";
1655
- readonly backToLatest: "Back to latest";
1656
- readonly eventFallback: "Event";
1654
+ readonly latestTitle: "Activité récente";
1655
+ readonly backToLatest: "Revenir aux dernières entrées";
1656
+ readonly eventFallback: "Événement";
1657
1657
  };
1658
1658
  readonly calendar: {
1659
- readonly eventCount: "{count, plural, one {{n} event} other {{n} events}}";
1660
- readonly composePlaceholder: "Event title…";
1661
- readonly addEvent: "Add event";
1662
- readonly dateRange: "Date range";
1659
+ readonly eventCount: "{count, plural, one {{n} événement} other {{n} événements}}";
1660
+ readonly composePlaceholder: "Titre de l’événement…";
1661
+ readonly addEvent: "Ajouter un événement";
1662
+ readonly dateRange: "Période";
1663
1663
  readonly agendaTitle: "Agenda";
1664
- readonly categoriesTitle: "Categories";
1665
- readonly upcomingTitle: "Upcoming";
1666
- readonly invalidLayout: "This calendar’s stored layout is invalid. Regenerate the page or reset its layout.";
1664
+ readonly categoriesTitle: "Catégories";
1665
+ readonly upcomingTitle: "À venir";
1666
+ readonly invalidLayout: "La disposition enregistrée de ce calendrier est invalide. Régénérez la page ou réinitialisez sa disposition.";
1667
1667
  };
1668
1668
  readonly scheduler: {
1669
- readonly previousWeek: "Previous week";
1670
- readonly nextWeek: "Next week";
1671
- readonly week: "Week";
1672
- readonly month: "Month";
1673
- readonly invalidLayout: "This schedule’s stored layout is invalid. Regenerate the page or reset its layout.";
1674
- readonly shiftCount: "{count, plural, one {{n} shift} other {{n} shifts}}";
1675
- readonly addShift: "Add shift";
1669
+ readonly previousWeek: "Semaine précédente";
1670
+ readonly nextWeek: "Semaine suivante";
1671
+ readonly week: "Semaine";
1672
+ readonly month: "Mois";
1673
+ readonly invalidLayout: "La disposition enregistrée de ce planning est invalide. Régénérez la page ou réinitialisez sa disposition.";
1674
+ readonly shiftCount: "{count, plural, one {{n} créneau} other {{n} créneaux}}";
1675
+ readonly addShift: "Ajouter un créneau";
1676
1676
  };
1677
1677
  readonly settings: {
1678
- readonly title: "Notification settings";
1679
- readonly subtitle: "Choose what you're notified about and how";
1680
- readonly matrixLabel: "Notify me about";
1681
- readonly rowHeader: "Event";
1682
- readonly saved: "Saved";
1683
- readonly unavailableTag: "Not available yet";
1684
- readonly loading: "Loading preferences";
1685
- readonly errorTitle: "These settings failed to load";
1686
- readonly emptyTitle: "Nothing to configure yet";
1687
- readonly emptyBody: "Notification events appear here as producers ship.";
1678
+ readonly title: "Paramètres de notification";
1679
+ readonly subtitle: "Choisissez de quoi vous êtes notifié et comment";
1680
+ readonly matrixLabel: "Me notifier pour";
1681
+ readonly rowHeader: "Événement";
1682
+ readonly saved: "Enregistré";
1683
+ readonly unavailableTag: "Pas encore disponible";
1684
+ readonly loading: "Chargement des préférences";
1685
+ readonly errorTitle: "Ces paramètres n’ont pas pu être chargés";
1686
+ readonly emptyTitle: "Rien à configurer pour l’instant";
1687
+ readonly emptyBody: "Les événements de notification apparaissent ici à mesure que leurs producteurs sont livrés.";
1688
1688
  };
1689
1689
  readonly pageCrud: {
1690
- readonly description: "The canonical table page: searchable data grid, create/edit forms, safe deletes with reference checks, and undoable changes.";
1690
+ readonly description: "La page de table de référence : grille de données avec recherche, formulaires de création et d’édition, suppressions sûres avec vérification des références et modifications annulables.";
1691
1691
  };
1692
1692
  readonly pageDashboard: {
1693
- readonly description: "A widget dashboard over your data: KPI cards, charts, and lists on an editable grid.";
1693
+ readonly description: "Un tableau de bord de widgets sur vos données : cartes de KPI, graphiques et listes sur une grille modifiable.";
1694
1694
  };
1695
1695
  readonly pageBoard: {
1696
- readonly description: "A kanban board grouped by a status fielddrag cards between columns to update records.";
1696
+ readonly description: "Un tableau kanban regroupé par un champ de statutfaites glisser les cartes entre les colonnes pour mettre à jour les enregistrements.";
1697
1697
  };
1698
1698
  readonly pageCalendar: {
1699
- readonly description: "A month calendar with agenda, category filters, and quick event capture from a date field.";
1699
+ readonly description: "Un calendrier mensuel avec agenda, filtres de catégorie et saisie rapide d’événements à partir d’un champ de date.";
1700
1700
  };
1701
1701
  readonly pageScheduler: {
1702
- readonly description: "A week-by-resource shift matrix with capacity tracking and coverage totals.";
1702
+ readonly description: "Une matrice de créneaux semaine par ressource, avec suivi de la capacité et totaux de couverture.";
1703
1703
  };
1704
1704
  readonly pageDirectory: {
1705
- readonly description: "A people directory with search, group filters, and a profile drawer.";
1705
+ readonly description: "Un annuaire de personnes avec recherche, filtres de groupe et un panneau latéral de profil.";
1706
1706
  };
1707
1707
  readonly pageMasterDetail: {
1708
- readonly description: "A list-beside-detail layout: pick a record on the left, work with it on the right.";
1708
+ readonly description: "Une disposition liste et détail : choisissez un enregistrement à gauche, travaillez dessus à droite.";
1709
1709
  };
1710
1710
  readonly pageQueueInbox: {
1711
- readonly description: "A review queue with approve/reject decisions, bulk actions, and undo.";
1711
+ readonly description: "Une file d’attente de revue avec décisions d’approbation ou de rejet, actions groupées et annulation.";
1712
1712
  };
1713
1713
  readonly pageLogViewer: {
1714
- readonly description: "A live-tailing log table with level and time filters and a trace side panel.";
1714
+ readonly description: "Un tableau de journal en suivi direct, avec filtres de niveau et de temps et un panneau latéral de trace.";
1715
1715
  };
1716
1716
  readonly pageFiles: {
1717
- readonly description: "A file browser with smart folders, uploads, and a preview drawer.";
1717
+ readonly description: "Un explorateur de fichiers avec dossiers intelligents, téléversements et un panneau latéral d’aperçu.";
1718
1718
  };
1719
1719
  readonly pageChat: {
1720
- readonly description: "A conversation inbox beside a message thread, bound to your messages tables.";
1720
+ readonly description: "Une boîte de réception de conversations à côté d’un fil de messages, liée à vos tables de messages.";
1721
1721
  };
1722
1722
  readonly pageBuilder: {
1723
- readonly description: "A drag-and-drop document builder with block palette, inspector, and publish flow.";
1723
+ readonly description: "Un éditeur de documents en glisser-déposer avec palette de blocs, inspecteur et flux de publication.";
1724
1724
  };
1725
1725
  readonly pageWizard: {
1726
- readonly description: "A multi-step guided flow that walks users through a structured process.";
1726
+ readonly description: "Un flux guidé en plusieurs étapes qui accompagne les utilisateurs dans un processus structuré.";
1727
1727
  };
1728
1728
  readonly pageSettings: {
1729
- readonly description: "A notification-preferences matrix with per-channel toggles and autosave.";
1729
+ readonly description: "Une matrice de préférences de notification avec interrupteurs par canal et enregistrement automatique.";
1730
1730
  };
1731
1731
  };
1732
1732
  readonly frame: {
1733
- readonly noResult: "No result for widget";
1734
- readonly emptyTitle: "No data for range";
1735
- readonly loadError: "Something went wrong loading this widget.";
1736
- readonly renderError: "This widget failed to render.";
1737
- readonly refreshing: "Refreshing";
1738
- readonly infoLabel: "Widget info";
1739
- readonly menuLabel: "Widget menu";
1733
+ readonly noResult: "Aucun résultat pour ce widget";
1734
+ readonly emptyTitle: "Aucune donnée pour cette période";
1735
+ readonly loadError: "Une erreur s’est produite lors du chargement de ce widget.";
1736
+ readonly renderError: "Ce widget n’a pas pu s’afficher.";
1737
+ readonly refreshing: "Actualisation";
1738
+ readonly infoLabel: "Infos du widget";
1739
+ readonly menuLabel: "Menu du widget";
1740
1740
  };
1741
1741
  readonly charts: {
1742
- readonly livePillLabel: "Live";
1742
+ readonly livePillLabel: "En direct";
1743
1743
  readonly forecast: {
1744
- readonly nowLabel: "Now";
1745
- readonly forecastLabel: "Forecast";
1746
- readonly actualLabel: "Actual";
1744
+ readonly nowLabel: "Maintenant";
1745
+ readonly forecastLabel: "Prévision";
1746
+ readonly actualLabel: "Réel";
1747
1747
  };
1748
- readonly otherLabel: "Other";
1748
+ readonly otherLabel: "Autre";
1749
1749
  readonly heat: {
1750
- readonly lessLabel: "Less";
1751
- readonly moreLabel: "More";
1750
+ readonly lessLabel: "Moins";
1751
+ readonly moreLabel: "Plus";
1752
1752
  };
1753
1753
  readonly choropleth: {
1754
- readonly lowLabel: "Low";
1755
- readonly highLabel: "High";
1754
+ readonly lowLabel: "Faible";
1755
+ readonly highLabel: "Élevé";
1756
1756
  };
1757
1757
  readonly funnel: {
1758
- readonly stepConversion: "{pct}% continue";
1759
- readonly overallConversion: "{pct}% overall";
1758
+ readonly stepConversion: "{pct}% poursuivent";
1759
+ readonly overallConversion: "{pct}% au total";
1760
1760
  };
1761
1761
  };
1762
1762
  };