@mk-kit/ui 0.47.0 → 0.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,495 @@
1
+ import { provideMkI18n } from '@mk-kit/ui/core';
2
+
3
+ /**
4
+ * Picks the French plural form for a count — CLDR's `fr` rules for integers:
5
+ * `one` for 0 and 1, `other` for everything else.
6
+ *
7
+ * ```ts
8
+ * mkPluralFr(1, 'résultat', 'résultats'); // 'résultat'
9
+ * mkPluralFr(0, 'résultat', 'résultats'); // 'résultat'
10
+ * mkPluralFr(3, 'résultat', 'résultats'); // 'résultats'
11
+ * ```
12
+ */
13
+ function mkPluralFr(count, one, other) {
14
+ return Math.abs(Math.trunc(count)) <= 1 ? one : other;
15
+ }
16
+ const plural = mkPluralFr;
17
+ /** French month and weekday names (Sunday-first, lowercase as in `Intl`). */
18
+ const MK_FR_DATE_NAMES = {
19
+ months: [
20
+ 'janvier', 'février', 'mars', 'avril', 'mai', 'juin',
21
+ 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre',
22
+ ],
23
+ monthsShort: [
24
+ 'janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin',
25
+ 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.',
26
+ ],
27
+ weekdays: [
28
+ 'dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi',
29
+ ],
30
+ weekdaysShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
31
+ weekdaysNarrow: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
32
+ };
33
+ /** French validation messages rendered by `mk-form-field`. */
34
+ const MK_FR_VALIDATION = {
35
+ required: 'Ce champ est obligatoire',
36
+ email: 'Saisissez une adresse e-mail valide',
37
+ min: ({ min }) => `La valeur ne peut pas être inférieure à ${min}`,
38
+ max: ({ max }) => `La valeur ne peut pas être supérieure à ${max}`,
39
+ minlength: ({ requiredLength }) => `Saisissez au moins ${requiredLength} ${plural(requiredLength, 'caractère', 'caractères')}`,
40
+ maxlength: ({ requiredLength }) => `Saisissez au plus ${requiredLength} ${plural(requiredLength, 'caractère', 'caractères')}`,
41
+ pattern: 'Saisissez une valeur au format attendu',
42
+ mkMinDate: ({ min }) => `La date ne peut pas être antérieure au ${min.toLocaleDateString('fr-FR')}`,
43
+ mkMaxDate: ({ max }) => `La date ne peut pas être postérieure au ${max.toLocaleDateString('fr-FR')}`,
44
+ mkDateFilter: 'Cette date n’est pas disponible',
45
+ mkDateRangeIncomplete: 'Sélectionnez une date de début et une date de fin',
46
+ mkMinTime: ({ min }) => `L’heure ne peut pas être antérieure à ${min}`,
47
+ mkMaxTime: ({ max }) => `L’heure ne peut pas être postérieure à ${max}`,
48
+ mkMaxItems: ({ max }) => `Sélectionnez au plus ${max} ${plural(max, 'élément', 'éléments')}`,
49
+ mkFileSize: ({ name, maxLabel }) => `Le fichier ${name} dépasse ${maxLabel}`,
50
+ mkFileType: ({ name }) => `Le fichier ${name} a un type non autorisé`,
51
+ cardNumber: 'Saisissez un numéro de carte valide',
52
+ iban: ({ expectedLength }) => expectedLength
53
+ ? `Saisissez un IBAN valide (${expectedLength} caractères)`
54
+ : 'Saisissez un IBAN valide',
55
+ postalCode: ({ example }) => `Saisissez un code postal valide, p. ex. ${example}`,
56
+ taxId: ({ label, example }) => `Saisissez un ${label} valide, p. ex. ${example}`,
57
+ unknown: 'Valeur non valide',
58
+ };
59
+ /** French strings of the block editor's chrome. */
60
+ const MK_FR_BLOCK_EDITOR = {
61
+ addBlock: 'Ajouter un bloc',
62
+ addFirstBlock: 'Ajouter le premier bloc',
63
+ insertBlockHere: 'Insérer un bloc ici',
64
+ blockInserter: 'Insertion de blocs',
65
+ searchBlocks: 'Rechercher des blocs…',
66
+ blocks: 'Blocs',
67
+ moveBlockUp: 'Déplacer le bloc vers le haut',
68
+ moveBlockDown: 'Déplacer le bloc vers le bas',
69
+ blockOptions: 'Options du bloc',
70
+ duplicate: 'Dupliquer',
71
+ remove: 'Supprimer',
72
+ textFormatting: 'Mise en forme du texte',
73
+ altText: 'Texte alternatif',
74
+ caption: 'Légende',
75
+ alignment: 'Alignement',
76
+ replaceImage: 'Remplacer l’image',
77
+ imageUrl: 'URL de l’image',
78
+ externalContent: 'Contenu externe',
79
+ embedUrl: 'URL d’intégration',
80
+ columnSettings: 'Réglages des colonnes',
81
+ columns: 'Colonnes',
82
+ ratio: 'Proportions',
83
+ gap: 'Espacement',
84
+ align: 'Aligner',
85
+ justify: 'Répartir',
86
+ headingLevel: (level) => `Titre de niveau ${level}`,
87
+ editorLabel: 'Éditeur de contenu par blocs',
88
+ emptyBlockPlaceholder: 'Tapez / pour choisir un bloc, ou commencez simplement à écrire…',
89
+ dragHandle: 'Poignée de déplacement',
90
+ turnInto: (label) => `Transformer en : ${label}`,
91
+ unknownBlock: (type) => `Bloc inconnu : ${type}`,
92
+ blockAdded: (label) => `Ajouté : ${label}`,
93
+ blockDuplicated: 'Bloc dupliqué',
94
+ blockDeleted: (label) => `Supprimé : ${label}`,
95
+ blockMovedUp: 'Bloc déplacé vers le haut',
96
+ blockMovedDown: 'Bloc déplacé vers le bas',
97
+ turnedInto: (label) => `Transformé en : ${label}`,
98
+ noBlocksMatch: (query) => `Aucun bloc ne correspond à « ${query} ».`,
99
+ groupText: 'Texte',
100
+ groupMedia: 'Médias',
101
+ groupLayout: 'Mise en page',
102
+ blockParagraph: 'Paragraphe',
103
+ blockParagraphDesc: 'Texte avec mise en forme en ligne.',
104
+ blockHeading: 'Titre',
105
+ blockHeadingDesc: 'Titre de section (H1–H4).',
106
+ blockList: 'Liste',
107
+ blockListDesc: 'Liste à puces ou numérotée.',
108
+ blockQuote: 'Citation',
109
+ blockQuoteDesc: 'Citation avec source facultative.',
110
+ blockCode: 'Code',
111
+ blockCodeDesc: 'Code mis en forme à chasse fixe.',
112
+ blockImage: 'Image',
113
+ blockImageDesc: 'Téléversez une image ou ajoutez un lien.',
114
+ blockEmbed: 'Intégration',
115
+ blockEmbedDesc: 'YouTube, Vimeo ou n’importe quelle URL.',
116
+ blockButton: 'Bouton',
117
+ blockButtonDesc: 'Un bouton d’appel à l’action.',
118
+ blockDivider: 'Séparateur',
119
+ blockDividerDesc: 'Une ligne de séparation horizontale.',
120
+ blockColumns: 'Colonnes',
121
+ blockColumnsDesc: 'Mise en page adaptative multicolonne.',
122
+ bold: 'Gras',
123
+ italic: 'Italique',
124
+ underline: 'Souligné',
125
+ strikethrough: 'Barré',
126
+ inlineCode: 'Code en ligne',
127
+ link: 'Lien',
128
+ clearFormatting: 'Effacer la mise en forme',
129
+ linkUrlPrompt: 'URL du lien',
130
+ editableText: 'Texte modifiable',
131
+ headingPlaceholder: (level) => `Titre ${level}`,
132
+ headingLevelGroup: 'Niveau de titre',
133
+ listStyle: 'Style de liste',
134
+ bulleted: 'À puces',
135
+ numbered: 'Numérotée',
136
+ listItem: 'Élément de liste',
137
+ quoteText: 'Texte de la citation',
138
+ citation: 'Source',
139
+ addCitation: '— Ajouter une source',
140
+ codeLanguage: 'Langage du code',
141
+ codeLanguagePlaceholder: 'langage (facultatif)',
142
+ enterCode: 'Saisissez le code…',
143
+ imageWidth: (percent) => `Largeur : ${percent} %`,
144
+ uploading: 'Téléversement…',
145
+ dropImagePrompt: 'Glissez-déposez une image ou',
146
+ chooseFile: 'Choisir un fichier',
147
+ pasteImageUrl: '…ou collez l’URL d’une image',
148
+ notAnImage: 'Choisissez un fichier image.',
149
+ uploadFailed: 'Le téléversement a échoué. Réessayez ou collez une URL.',
150
+ imageAdded: 'Image ajoutée',
151
+ pasteEmbedUrl: 'Collez une URL de YouTube, Vimeo ou autre…',
152
+ embedFallbackNote: 'Cette URL ne peut pas être intégrée ; elle sera affichée comme un lien.',
153
+ embedTitle: (provider) => `Intégration ${provider}`,
154
+ embedAdded: (provider) => `Intégration ${provider} ajoutée`,
155
+ embeddedContent: 'Contenu intégré',
156
+ buttonLabel: 'Libellé',
157
+ buttonLink: 'Lien (href)',
158
+ buttonTone: 'Ton',
159
+ buttonVariant: 'Variante',
160
+ buttonDefaultLabel: 'Cliquez ici',
161
+ alignLeft: 'À gauche',
162
+ alignCenter: 'Centré',
163
+ alignRight: 'À droite',
164
+ tonePrimary: 'Principal',
165
+ toneNeutral: 'Neutre',
166
+ toneSuccess: 'Succès',
167
+ toneWarning: 'Avertissement',
168
+ toneDanger: 'Danger',
169
+ toneInfo: 'Info',
170
+ variantSolid: 'Plein',
171
+ variantSoft: 'Doux',
172
+ variantOutline: 'Contour',
173
+ ratioEqual: 'Égales',
174
+ alignStretch: 'Étirer',
175
+ alignTop: 'Haut',
176
+ alignMiddle: 'Milieu',
177
+ alignBottom: 'Bas',
178
+ justifyStart: 'Début',
179
+ justifyCenter: 'Centre',
180
+ justifyEnd: 'Fin',
181
+ justifyBetween: 'Uniforme',
182
+ };
183
+ const PASSWORD_STRENGTH_LABELS = ['Faible', 'Faible', 'Moyen', 'Bon', 'Fort'];
184
+ /**
185
+ * The complete French string map — every key of {@link MkI18nStrings},
186
+ * `locale: 'fr-FR'` and `currency: 'EUR'` for the formatting pipes.
187
+ * Provide it whole with {@link provideMkI18nFr}, or pass it as the base of
188
+ * `provideMkI18n(overrides, MK_FR_I18N)`.
189
+ */
190
+ const MK_FR_I18N = {
191
+ locale: 'fr-FR',
192
+ currency: 'EUR',
193
+ validation: MK_FR_VALIDATION,
194
+ close: 'Fermer',
195
+ dismiss: 'Ignorer',
196
+ clear: 'Effacer',
197
+ confirm: 'Confirmer',
198
+ cancel: 'Annuler',
199
+ ok: 'OK',
200
+ save: 'Enregistrer',
201
+ submit: 'Envoyer',
202
+ edit: 'Modifier',
203
+ remove: 'Supprimer',
204
+ removeItem: (name) => `Supprimer ${name}`,
205
+ empty: 'Vide',
206
+ optional: 'Facultatif',
207
+ filter: 'Filtrer…',
208
+ confirmMessage: 'Êtes-vous sûr ?',
209
+ decrease: 'Diminuer',
210
+ increase: 'Augmenter',
211
+ loading: 'Chargement…',
212
+ noOptions: 'Aucune option',
213
+ noResults: 'Aucun résultat',
214
+ noData: 'Aucune donnée à afficher',
215
+ resultsCount: (count) => `${count} ${plural(count, 'résultat', 'résultats')}`,
216
+ previousPage: 'Aller à la page précédente',
217
+ nextPage: 'Aller à la page suivante',
218
+ goToPage: (page) => `Aller à la page ${page}`,
219
+ paginationLabel: 'Pagination',
220
+ previousSlide: 'Diapositive précédente',
221
+ nextSlide: 'Diapositive suivante',
222
+ goToSlide: (slide) => `Aller à la diapositive ${slide}`,
223
+ carouselLabel: 'Carrousel',
224
+ pauseSlideshow: 'Mettre le diaporama en pause',
225
+ playSlideshow: 'Reprendre le diaporama',
226
+ slideOf: (slide, total) => `Diapositive ${slide} sur ${total}`,
227
+ dateNames: MK_FR_DATE_NAMES,
228
+ previousMonth: 'Mois précédent',
229
+ nextMonth: 'Mois suivant',
230
+ previousYear: 'Année précédente',
231
+ nextYear: 'Année suivante',
232
+ previousYears: 'Années précédentes',
233
+ nextYears: 'Années suivantes',
234
+ selectDate: 'Sélectionnez une date…',
235
+ selectRange: 'Sélectionnez une période…',
236
+ selectTime: 'Sélectionnez une heure…',
237
+ selectMonth: 'Sélectionnez un mois…',
238
+ selectYear: 'Sélectionnez une année…',
239
+ selectWeek: 'Sélectionnez une semaine…',
240
+ selectPlaceholder: 'Sélectionner…',
241
+ chooseDate: 'Sélection de la date',
242
+ chooseDateRange: 'Sélection de la période',
243
+ chooseMonth: 'Sélection du mois',
244
+ chooseYear: 'Sélection de l’année',
245
+ chooseWeek: 'Sélection de la semaine',
246
+ openCalendar: 'Ouvrir le calendrier',
247
+ openTimeList: 'Ouvrir la liste des heures',
248
+ moreActions: 'Plus d’actions',
249
+ selectDateTime: 'Sélectionnez la date et l’heure…',
250
+ chooseDateTime: 'Sélection de la date et de l’heure',
251
+ chooseTime: 'Sélection de l’heure',
252
+ openDateTimePicker: 'Ouvrir le sélecteur de date et d’heure',
253
+ daySegment: 'Jour',
254
+ monthSegment: 'Mois',
255
+ yearSegment: 'Année',
256
+ countdownDays: 'j',
257
+ countdownHours: 'h',
258
+ countdownMinutes: 'min',
259
+ countdownSeconds: 's',
260
+ countdownFinished: 'Terminé',
261
+ dayEvents: (count, titles) => `${count} ${plural(count, 'événement', 'événements')}${titles ? ` : ${titles}` : ''}`,
262
+ moreEvents: (count) => `+${count} de plus`,
263
+ selectAllRows: 'Sélectionner toutes les lignes',
264
+ selectRow: (row) => (row ? `Sélectionner la ligne ${row}` : 'Sélectionner la ligne'),
265
+ expandHeader: 'Développer',
266
+ expandRow: 'Développer la ligne',
267
+ collapseRow: 'Réduire la ligne',
268
+ expandTreeRow: 'Afficher les lignes enfants',
269
+ collapseTreeRow: 'Masquer les lignes enfants',
270
+ expandGroup: 'Développer le groupe',
271
+ collapseGroup: 'Réduire le groupe',
272
+ groupCount: (count) => `${count} ${plural(count, 'élément', 'éléments')}`,
273
+ resizeColumn: 'Redimensionner la colonne',
274
+ columnWidth: (column, width) => `Largeur de la colonne ${column} : ${width} px`,
275
+ columnMoved: (column, position, total) => `Colonne ${column} déplacée en position ${position} sur ${total}`,
276
+ editCell: 'Appuyez sur Entrée pour modifier',
277
+ cellSaved: (value) => `${value} enregistré`,
278
+ sortedBy: (column, direction) => `Trié par ${column} ${direction === 'asc' ? 'croissant' : 'décroissant'}`,
279
+ sortingCleared: (column) => `Tri par ${column} annulé`,
280
+ showPassword: 'Afficher le mot de passe',
281
+ hidePassword: 'Masquer le mot de passe',
282
+ passwordRuleMinLength: (length) => `Au moins ${length} ${plural(length, 'caractère', 'caractères')}`,
283
+ passwordRuleUppercase: 'Une majuscule',
284
+ passwordRuleNumber: 'Un chiffre',
285
+ passwordRuleSymbol: 'Un caractère spécial',
286
+ passwordStrength: (score) => PASSWORD_STRENGTH_LABELS[Math.max(0, Math.min(4, score))],
287
+ passwordStrengthLabel: 'Robustesse du mot de passe :',
288
+ ruleMet: 'Respecté :',
289
+ ruleNotMet: 'Non respecté :',
290
+ oneTimeCode: 'Code à usage unique',
291
+ otpDigit: (position) => `Chiffre ${position}`,
292
+ numericKeypadLabel: 'Pavé numérique',
293
+ keypadClear: 'Effacer',
294
+ keypadBackspace: 'Retour arrière',
295
+ keypadDigitsEntered: (count, length) => `${count} chiffres saisis sur ${length}`,
296
+ onScreenKeyboardLabel: 'Clavier à l’écran',
297
+ keyboardShift: 'Maj',
298
+ keyboardSpace: 'Espace',
299
+ keyboardEnter: 'Entrée',
300
+ keyboardAltLayer: 'Plus de caractères',
301
+ keyboardBaseLayer: 'Lettres',
302
+ ratingLabel: 'Note',
303
+ ratingValueText: (value, max) => `${value} ${plural(value, 'étoile', 'étoiles')} sur ${max}`,
304
+ minimum: 'Minimum',
305
+ maximum: 'Maximum',
306
+ chooseColor: 'Choisir une couleur',
307
+ hexValue: 'Valeur hexadécimale',
308
+ presetColors: 'Couleurs prédéfinies',
309
+ chooseCountry: 'Choisir un pays',
310
+ searchCountries: 'Rechercher un pays…',
311
+ phoneNumber: 'Numéro de téléphone',
312
+ postalCode: 'Code postal',
313
+ amount: 'Montant',
314
+ cardNumber: 'Numéro de carte',
315
+ cardBrand: (brand) => `Type de carte : ${brand}`,
316
+ iban: 'IBAN',
317
+ taxId: 'Numéro d’identification fiscale',
318
+ signature: 'Signature',
319
+ jsonLabel: 'JSON',
320
+ logViewerLabel: 'Journal des événements',
321
+ logFollow: 'Suivre',
322
+ logCopyAll: 'Copier le journal',
323
+ logWrapLines: 'Retour à la ligne automatique',
324
+ orgChartLabel: 'Organigramme',
325
+ orgChartExpand: 'Développer {label}',
326
+ orgChartCollapse: 'Réduire {label}',
327
+ chatLabel: 'Conversation',
328
+ chatComposerLabel: 'Message',
329
+ chatPlaceholder: 'Écrivez un message…',
330
+ chatSend: 'Envoyer',
331
+ chatStop: 'Arrêter la génération',
332
+ chatAttach: 'Joindre des fichiers',
333
+ chatRemoveAttachment: 'Retirer la pièce jointe',
334
+ chatAttachments: 'Pièces jointes',
335
+ chatSuggestions: 'Suggestions',
336
+ chatCopy: 'Copier le message',
337
+ chatRetry: 'Réessayer',
338
+ chatTyping: 'En train d’écrire…',
339
+ chatStreaming: 'Génération…',
340
+ chatJumpToLatest: 'Aller aux plus récents',
341
+ chatEmpty: 'Aucun message',
342
+ chatYou: 'Vous',
343
+ chatAssistant: 'Assistant',
344
+ chatToolRunning: 'En cours',
345
+ chatToolDone: 'Terminé',
346
+ chatToolError: 'Échec',
347
+ dynamicFormAdd: 'Ajouter',
348
+ dynamicFormRemove: (index) => `Supprimer l’élément ${index}`,
349
+ queryBuilderLabel: 'Conditions de filtrage',
350
+ queryAddRule: 'Ajouter une règle',
351
+ queryAddGroup: 'Ajouter un groupe',
352
+ queryRemoveRule: 'Supprimer la règle',
353
+ queryRemoveGroup: 'Supprimer le groupe',
354
+ queryAnd: 'Et',
355
+ queryOr: 'Ou',
356
+ queryNot: 'Non',
357
+ queryField: 'Champ',
358
+ queryOperator: 'Opérateur',
359
+ queryValue: 'Valeur',
360
+ queryValueFrom: 'De',
361
+ queryValueTo: 'À',
362
+ queryEmptyGroup: 'Aucune condition',
363
+ queryTrue: 'Vrai',
364
+ queryFalse: 'Faux',
365
+ queryOpEq: 'est égal à',
366
+ queryOpNeq: 'est différent de',
367
+ queryOpContains: 'contient',
368
+ queryOpNotContains: 'ne contient pas',
369
+ queryOpStartsWith: 'commence par',
370
+ queryOpEndsWith: 'se termine par',
371
+ queryOpGt: 'supérieur à',
372
+ queryOpGte: 'au moins',
373
+ queryOpLt: 'inférieur à',
374
+ queryOpLte: 'au plus',
375
+ queryOpBetween: 'entre',
376
+ queryOpIn: 'est l’un de',
377
+ queryOpNotIn: 'n’est aucun de',
378
+ queryOpBefore: 'avant',
379
+ queryOpAfter: 'après',
380
+ queryOpEmpty: 'est vide',
381
+ queryOpNotEmpty: 'n’est pas vide',
382
+ dialogMove: 'Déplacer la fenêtre (flèches ; Début réinitialise)',
383
+ dialogResize: 'Redimensionner la fenêtre (flèches ; Début réinitialise)',
384
+ listboxFilter: 'Filtrer les options',
385
+ listboxEmpty: 'Aucune option correspondante',
386
+ eventCalendarGrabbed: (title, from, to) => `${title} saisi, ${from} – ${to}. Les flèches déplacent, ` +
387
+ 'Maj avec flèche haut ou bas modifie l’heure de fin, ' +
388
+ 'Entrée enregistre, Échap annule.',
389
+ eventCalendarPosition: (title, day, from, to) => `${title}, ${day}, ${from} – ${to}.`,
390
+ eventCalendarMoved: (title, day, from, to) => `${title} déplacé au ${day}, ${from} – ${to}.`,
391
+ eventCalendarResized: (title, to) => `${title} se termine maintenant à ${to}.`,
392
+ eventCalendarEditCancelled: 'Déplacement annulé. L’événement garde son horaire d’origine.',
393
+ eventCalendarMovableEvent: 'Événement déplaçable',
394
+ previousImage: 'Image précédente',
395
+ nextImage: 'Image suivante',
396
+ imageOf: (index, total) => `Image ${index} sur ${total}`,
397
+ viewImage: (alt) => (alt ? `Voir ${alt}` : 'Voir l’image'),
398
+ imageFailed: 'Impossible de charger l’image',
399
+ zoom: 'Zoom',
400
+ zoomIn: 'Agrandir',
401
+ zoomOut: 'Réduire',
402
+ mediaLibrary: 'Médiathèque',
403
+ dropzoneLabel: 'Glissez des fichiers ici ou cliquez pour les choisir',
404
+ uploadFailed: 'Le téléversement a échoué',
405
+ retryUpload: 'Réessayer le téléversement',
406
+ errorSummaryTitle: 'Il y a un problème',
407
+ available: 'Disponibles',
408
+ selected: 'Sélectionnés',
409
+ transferSelected: (target) => `Déplacer la sélection vers : ${target}`,
410
+ transferAll: (target) => `Tout déplacer vers : ${target}`,
411
+ itemsMoved: (count, target) => `${count} ${plural(count, 'élément déplacé', 'éléments déplacés')} vers : ${target}`,
412
+ notificationsTitle: 'Notifications',
413
+ allCaughtUp: 'Tout est lu',
414
+ markAllRead: 'Tout marquer comme lu',
415
+ notificationsUnread: (count) => `Notifications, ${count} ${plural(count, 'non lue', 'non lues')}`,
416
+ unread: 'Non lues',
417
+ tourStepOf: (step, total) => `Étape ${step} sur ${total}`,
418
+ tourSkip: 'Passer',
419
+ tourPrevious: 'Précédent',
420
+ tourNext: 'Suivant',
421
+ tourDone: 'Terminé',
422
+ commandPalettePlaceholder: 'Tapez une commande ou recherchez…',
423
+ commandPaletteLabel: 'Palette de commandes',
424
+ stepCompleted: 'Terminée',
425
+ stepError: 'Contient des erreurs',
426
+ diffAddedLine: 'Ajouté :',
427
+ diffRemovedLine: 'Supprimé :',
428
+ itemAdded: (name) => `${name} ajouté`,
429
+ itemRemoved: (name) => `${name} supprimé`,
430
+ resizePanes: 'Redimensionner les panneaux',
431
+ backToTop: 'Retour en haut',
432
+ breadcrumbLabel: 'Fil d’Ariane',
433
+ fabLabel: 'Actions',
434
+ diffBefore: 'Avant',
435
+ diffAfter: 'Après',
436
+ diffChanges: 'Modifications',
437
+ skipToContent: 'Aller au contenu',
438
+ primaryNav: 'Principale',
439
+ dndPickedUp: (position, total) => `Saisi. Élément ${position} sur ${total}. ` +
440
+ 'Les flèches déplacent, Espace ou Entrée dépose, Échap annule.',
441
+ dndMoved: (position, total) => `Déplacé en position ${position} sur ${total}.`,
442
+ dndMovedToList: (list, position, total) => `Déplacé vers : ${list}, position ${position} sur ${total}.`,
443
+ dndDropped: (position) => `Déposé en position ${position}.`,
444
+ dndCancelled: 'Déplacement annulé. L’élément est revenu à sa place d’origine.',
445
+ repeaterAddRow: 'Ajouter une ligne',
446
+ repeaterRemoveRow: (index) => `Supprimer la ligne ${index}`,
447
+ repeaterReorderRow: (index) => `Réordonner la ligne ${index}`,
448
+ repeaterRowMoved: (from, to) => `Ligne déplacée de la position ${from} à la position ${to}.`,
449
+ fileRejectedType: (name) => `${name} : type non pris en charge`,
450
+ fileRejectedSize: (name, limit) => `${name} : dépasse ${limit}`,
451
+ fileRejectedCount: (name, max) => `${name} : limite de ${max} ${plural(max, 'fichier', 'fichiers')} dépassée`,
452
+ chartCategory: 'Catégorie',
453
+ chartValue: 'Valeur',
454
+ chartSeries: 'Série',
455
+ chartSlice: 'Secteur',
456
+ chartStage: 'Étape',
457
+ chartConversion: 'Conversion',
458
+ chartAxis: 'Axe',
459
+ chartShare: 'Part',
460
+ chartLabel: 'Libellé',
461
+ qrCodeLabel: (text) => `Code QR : ${text}`,
462
+ sortableListLabel: 'Liste triable',
463
+ filterColumn: (column) => `Filtrer ${column}`,
464
+ clearFilter: (column) => `Effacer le filtre de la colonne ${column}`,
465
+ filterAny: 'Tous',
466
+ filterMin: 'Min.',
467
+ blockEditor: MK_FR_BLOCK_EDITOR,
468
+ };
469
+ /**
470
+ * Provides the French strings — {@link MK_FR_I18N} with any `overrides`
471
+ * merged on top (deep for `dateNames`, `blockEditor` and `validation`, like
472
+ * `provideMkI18n`).
473
+ *
474
+ * ```ts
475
+ * bootstrapApplication(App, {
476
+ * providers: [provideMkI18nFr({ noData: 'Rien à afficher ici' })],
477
+ * });
478
+ * ```
479
+ */
480
+ function provideMkI18nFr(overrides = {}) {
481
+ return provideMkI18n(overrides, MK_FR_I18N);
482
+ }
483
+
484
+ /**
485
+ * French locale pack for @mk-kit/ui — `@mk-kit/ui/locales/fr`.
486
+ *
487
+ * Its own entry point so an app carries only the locales it provides.
488
+ */
489
+
490
+ /**
491
+ * Generated bundle index. Do not edit.
492
+ */
493
+
494
+ export { MK_FR_BLOCK_EDITOR, MK_FR_DATE_NAMES, MK_FR_I18N, MK_FR_VALIDATION, mkPluralFr, provideMkI18nFr };
495
+ //# sourceMappingURL=mk-kit-ui-locales-fr.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mk-kit-ui-locales-fr.mjs","sources":["../../../projects/mk-kit/locales/fr/fr.ts","../../../projects/mk-kit/locales/fr/index.ts","../../../projects/mk-kit/locales/fr/mk-kit-ui-locales-fr.ts"],"sourcesContent":["import type { Provider } from '@angular/core';\nimport {\n type MkBlockEditorStrings,\n type MkDateNames,\n type MkI18nOverrides,\n type MkI18nStrings,\n type MkValidationStrings,\n provideMkI18n,\n} from '@mk-kit/ui/core';\n\n/**\n * Picks the French plural form for a count — CLDR's `fr` rules for integers:\n * `one` for 0 and 1, `other` for everything else.\n *\n * ```ts\n * mkPluralFr(1, 'résultat', 'résultats'); // 'résultat'\n * mkPluralFr(0, 'résultat', 'résultats'); // 'résultat'\n * mkPluralFr(3, 'résultat', 'résultats'); // 'résultats'\n * ```\n */\nexport function mkPluralFr(count: number, one: string, other: string): string {\n return Math.abs(Math.trunc(count)) <= 1 ? one : other;\n}\n\nconst plural = mkPluralFr;\n\n/** French month and weekday names (Sunday-first, lowercase as in `Intl`). */\nexport const MK_FR_DATE_NAMES: MkDateNames = {\n months: [\n 'janvier', 'février', 'mars', 'avril', 'mai', 'juin',\n 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre',\n ],\n monthsShort: [\n 'janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin',\n 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.',\n ],\n weekdays: [\n 'dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi',\n ],\n weekdaysShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],\n weekdaysNarrow: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],\n};\n\n/** French validation messages rendered by `mk-form-field`. */\nexport const MK_FR_VALIDATION: MkValidationStrings = {\n required: 'Ce champ est obligatoire',\n email: 'Saisissez une adresse e-mail valide',\n min: ({ min }) => `La valeur ne peut pas être inférieure à ${min}`,\n max: ({ max }) => `La valeur ne peut pas être supérieure à ${max}`,\n minlength: ({ requiredLength }) =>\n `Saisissez au moins ${requiredLength} ${plural(requiredLength, 'caractère', 'caractères')}`,\n maxlength: ({ requiredLength }) =>\n `Saisissez au plus ${requiredLength} ${plural(requiredLength, 'caractère', 'caractères')}`,\n pattern: 'Saisissez une valeur au format attendu',\n mkMinDate: ({ min }) =>\n `La date ne peut pas être antérieure au ${min.toLocaleDateString('fr-FR')}`,\n mkMaxDate: ({ max }) =>\n `La date ne peut pas être postérieure au ${max.toLocaleDateString('fr-FR')}`,\n mkDateFilter: 'Cette date n’est pas disponible',\n mkDateRangeIncomplete: 'Sélectionnez une date de début et une date de fin',\n mkMinTime: ({ min }) => `L’heure ne peut pas être antérieure à ${min}`,\n mkMaxTime: ({ max }) => `L’heure ne peut pas être postérieure à ${max}`,\n mkMaxItems: ({ max }) =>\n `Sélectionnez au plus ${max} ${plural(max, 'élément', 'éléments')}`,\n mkFileSize: ({ name, maxLabel }) => `Le fichier ${name} dépasse ${maxLabel}`,\n mkFileType: ({ name }) => `Le fichier ${name} a un type non autorisé`,\n cardNumber: 'Saisissez un numéro de carte valide',\n iban: ({ expectedLength }) =>\n expectedLength\n ? `Saisissez un IBAN valide (${expectedLength} caractères)`\n : 'Saisissez un IBAN valide',\n postalCode: ({ example }) => `Saisissez un code postal valide, p. ex. ${example}`,\n taxId: ({ label, example }) => `Saisissez un ${label} valide, p. ex. ${example}`,\n unknown: 'Valeur non valide',\n};\n\n/** French strings of the block editor's chrome. */\nexport const MK_FR_BLOCK_EDITOR: MkBlockEditorStrings = {\n addBlock: 'Ajouter un bloc',\n addFirstBlock: 'Ajouter le premier bloc',\n insertBlockHere: 'Insérer un bloc ici',\n blockInserter: 'Insertion de blocs',\n searchBlocks: 'Rechercher des blocs…',\n blocks: 'Blocs',\n moveBlockUp: 'Déplacer le bloc vers le haut',\n moveBlockDown: 'Déplacer le bloc vers le bas',\n blockOptions: 'Options du bloc',\n duplicate: 'Dupliquer',\n remove: 'Supprimer',\n textFormatting: 'Mise en forme du texte',\n altText: 'Texte alternatif',\n caption: 'Légende',\n alignment: 'Alignement',\n replaceImage: 'Remplacer l’image',\n imageUrl: 'URL de l’image',\n externalContent: 'Contenu externe',\n embedUrl: 'URL d’intégration',\n columnSettings: 'Réglages des colonnes',\n columns: 'Colonnes',\n ratio: 'Proportions',\n gap: 'Espacement',\n align: 'Aligner',\n justify: 'Répartir',\n headingLevel: (level) => `Titre de niveau ${level}`,\n editorLabel: 'Éditeur de contenu par blocs',\n emptyBlockPlaceholder: 'Tapez / pour choisir un bloc, ou commencez simplement à écrire…',\n dragHandle: 'Poignée de déplacement',\n turnInto: (label) => `Transformer en : ${label}`,\n unknownBlock: (type) => `Bloc inconnu : ${type}`,\n blockAdded: (label) => `Ajouté : ${label}`,\n blockDuplicated: 'Bloc dupliqué',\n blockDeleted: (label) => `Supprimé : ${label}`,\n blockMovedUp: 'Bloc déplacé vers le haut',\n blockMovedDown: 'Bloc déplacé vers le bas',\n turnedInto: (label) => `Transformé en : ${label}`,\n noBlocksMatch: (query) => `Aucun bloc ne correspond à « ${query} ».`,\n groupText: 'Texte',\n groupMedia: 'Médias',\n groupLayout: 'Mise en page',\n blockParagraph: 'Paragraphe',\n blockParagraphDesc: 'Texte avec mise en forme en ligne.',\n blockHeading: 'Titre',\n blockHeadingDesc: 'Titre de section (H1–H4).',\n blockList: 'Liste',\n blockListDesc: 'Liste à puces ou numérotée.',\n blockQuote: 'Citation',\n blockQuoteDesc: 'Citation avec source facultative.',\n blockCode: 'Code',\n blockCodeDesc: 'Code mis en forme à chasse fixe.',\n blockImage: 'Image',\n blockImageDesc: 'Téléversez une image ou ajoutez un lien.',\n blockEmbed: 'Intégration',\n blockEmbedDesc: 'YouTube, Vimeo ou n’importe quelle URL.',\n blockButton: 'Bouton',\n blockButtonDesc: 'Un bouton d’appel à l’action.',\n blockDivider: 'Séparateur',\n blockDividerDesc: 'Une ligne de séparation horizontale.',\n blockColumns: 'Colonnes',\n blockColumnsDesc: 'Mise en page adaptative multicolonne.',\n bold: 'Gras',\n italic: 'Italique',\n underline: 'Souligné',\n strikethrough: 'Barré',\n inlineCode: 'Code en ligne',\n link: 'Lien',\n clearFormatting: 'Effacer la mise en forme',\n linkUrlPrompt: 'URL du lien',\n editableText: 'Texte modifiable',\n headingPlaceholder: (level) => `Titre ${level}`,\n headingLevelGroup: 'Niveau de titre',\n listStyle: 'Style de liste',\n bulleted: 'À puces',\n numbered: 'Numérotée',\n listItem: 'Élément de liste',\n quoteText: 'Texte de la citation',\n citation: 'Source',\n addCitation: '— Ajouter une source',\n codeLanguage: 'Langage du code',\n codeLanguagePlaceholder: 'langage (facultatif)',\n enterCode: 'Saisissez le code…',\n imageWidth: (percent) => `Largeur : ${percent} %`,\n uploading: 'Téléversement…',\n dropImagePrompt: 'Glissez-déposez une image ou',\n chooseFile: 'Choisir un fichier',\n pasteImageUrl: '…ou collez l’URL d’une image',\n notAnImage: 'Choisissez un fichier image.',\n uploadFailed: 'Le téléversement a échoué. Réessayez ou collez une URL.',\n imageAdded: 'Image ajoutée',\n pasteEmbedUrl: 'Collez une URL de YouTube, Vimeo ou autre…',\n embedFallbackNote: 'Cette URL ne peut pas être intégrée ; elle sera affichée comme un lien.',\n embedTitle: (provider) => `Intégration ${provider}`,\n embedAdded: (provider) => `Intégration ${provider} ajoutée`,\n embeddedContent: 'Contenu intégré',\n buttonLabel: 'Libellé',\n buttonLink: 'Lien (href)',\n buttonTone: 'Ton',\n buttonVariant: 'Variante',\n buttonDefaultLabel: 'Cliquez ici',\n alignLeft: 'À gauche',\n alignCenter: 'Centré',\n alignRight: 'À droite',\n tonePrimary: 'Principal',\n toneNeutral: 'Neutre',\n toneSuccess: 'Succès',\n toneWarning: 'Avertissement',\n toneDanger: 'Danger',\n toneInfo: 'Info',\n variantSolid: 'Plein',\n variantSoft: 'Doux',\n variantOutline: 'Contour',\n ratioEqual: 'Égales',\n alignStretch: 'Étirer',\n alignTop: 'Haut',\n alignMiddle: 'Milieu',\n alignBottom: 'Bas',\n justifyStart: 'Début',\n justifyCenter: 'Centre',\n justifyEnd: 'Fin',\n justifyBetween: 'Uniforme',\n};\n\nconst PASSWORD_STRENGTH_LABELS = ['Faible', 'Faible', 'Moyen', 'Bon', 'Fort'];\n\n/**\n * The complete French string map — every key of {@link MkI18nStrings},\n * `locale: 'fr-FR'` and `currency: 'EUR'` for the formatting pipes.\n * Provide it whole with {@link provideMkI18nFr}, or pass it as the base of\n * `provideMkI18n(overrides, MK_FR_I18N)`.\n */\nexport const MK_FR_I18N: MkI18nStrings = {\n locale: 'fr-FR',\n currency: 'EUR',\n\n validation: MK_FR_VALIDATION,\n\n close: 'Fermer',\n dismiss: 'Ignorer',\n clear: 'Effacer',\n confirm: 'Confirmer',\n cancel: 'Annuler',\n ok: 'OK',\n save: 'Enregistrer',\n submit: 'Envoyer',\n edit: 'Modifier',\n remove: 'Supprimer',\n removeItem: (name) => `Supprimer ${name}`,\n empty: 'Vide',\n optional: 'Facultatif',\n filter: 'Filtrer…',\n confirmMessage: 'Êtes-vous sûr ?',\n decrease: 'Diminuer',\n increase: 'Augmenter',\n\n loading: 'Chargement…',\n noOptions: 'Aucune option',\n noResults: 'Aucun résultat',\n noData: 'Aucune donnée à afficher',\n resultsCount: (count) =>\n `${count} ${plural(count, 'résultat', 'résultats')}`,\n\n previousPage: 'Aller à la page précédente',\n nextPage: 'Aller à la page suivante',\n goToPage: (page) => `Aller à la page ${page}`,\n paginationLabel: 'Pagination',\n previousSlide: 'Diapositive précédente',\n nextSlide: 'Diapositive suivante',\n goToSlide: (slide) => `Aller à la diapositive ${slide}`,\n carouselLabel: 'Carrousel',\n pauseSlideshow: 'Mettre le diaporama en pause',\n playSlideshow: 'Reprendre le diaporama',\n slideOf: (slide, total) => `Diapositive ${slide} sur ${total}`,\n\n dateNames: MK_FR_DATE_NAMES,\n previousMonth: 'Mois précédent',\n nextMonth: 'Mois suivant',\n previousYear: 'Année précédente',\n nextYear: 'Année suivante',\n previousYears: 'Années précédentes',\n nextYears: 'Années suivantes',\n selectDate: 'Sélectionnez une date…',\n selectRange: 'Sélectionnez une période…',\n selectTime: 'Sélectionnez une heure…',\n selectMonth: 'Sélectionnez un mois…',\n selectYear: 'Sélectionnez une année…',\n selectWeek: 'Sélectionnez une semaine…',\n selectPlaceholder: 'Sélectionner…',\n chooseDate: 'Sélection de la date',\n chooseDateRange: 'Sélection de la période',\n chooseMonth: 'Sélection du mois',\n chooseYear: 'Sélection de l’année',\n chooseWeek: 'Sélection de la semaine',\n openCalendar: 'Ouvrir le calendrier',\n openTimeList: 'Ouvrir la liste des heures',\n moreActions: 'Plus d’actions',\n selectDateTime: 'Sélectionnez la date et l’heure…',\n chooseDateTime: 'Sélection de la date et de l’heure',\n chooseTime: 'Sélection de l’heure',\n openDateTimePicker: 'Ouvrir le sélecteur de date et d’heure',\n daySegment: 'Jour',\n monthSegment: 'Mois',\n yearSegment: 'Année',\n countdownDays: 'j',\n countdownHours: 'h',\n countdownMinutes: 'min',\n countdownSeconds: 's',\n countdownFinished: 'Terminé',\n dayEvents: (count, titles) =>\n `${count} ${plural(count, 'événement', 'événements')}${titles ? ` : ${titles}` : ''}`,\n moreEvents: (count) => `+${count} de plus`,\n\n selectAllRows: 'Sélectionner toutes les lignes',\n selectRow: (row) => (row ? `Sélectionner la ligne ${row}` : 'Sélectionner la ligne'),\n expandHeader: 'Développer',\n expandRow: 'Développer la ligne',\n collapseRow: 'Réduire la ligne',\n expandTreeRow: 'Afficher les lignes enfants',\n collapseTreeRow: 'Masquer les lignes enfants',\n expandGroup: 'Développer le groupe',\n collapseGroup: 'Réduire le groupe',\n groupCount: (count) =>\n `${count} ${plural(count, 'élément', 'éléments')}`,\n resizeColumn: 'Redimensionner la colonne',\n columnWidth: (column, width) => `Largeur de la colonne ${column} : ${width} px`,\n columnMoved: (column, position, total) =>\n `Colonne ${column} déplacée en position ${position} sur ${total}`,\n editCell: 'Appuyez sur Entrée pour modifier',\n cellSaved: (value) => `${value} enregistré`,\n sortedBy: (column, direction) =>\n `Trié par ${column} ${direction === 'asc' ? 'croissant' : 'décroissant'}`,\n sortingCleared: (column) => `Tri par ${column} annulé`,\n\n showPassword: 'Afficher le mot de passe',\n hidePassword: 'Masquer le mot de passe',\n passwordRuleMinLength: (length) =>\n `Au moins ${length} ${plural(length, 'caractère', 'caractères')}`,\n passwordRuleUppercase: 'Une majuscule',\n passwordRuleNumber: 'Un chiffre',\n passwordRuleSymbol: 'Un caractère spécial',\n passwordStrength: (score) =>\n PASSWORD_STRENGTH_LABELS[Math.max(0, Math.min(4, score))],\n passwordStrengthLabel: 'Robustesse du mot de passe :',\n ruleMet: 'Respecté :',\n ruleNotMet: 'Non respecté :',\n oneTimeCode: 'Code à usage unique',\n otpDigit: (position) => `Chiffre ${position}`,\n numericKeypadLabel: 'Pavé numérique',\n keypadClear: 'Effacer',\n keypadBackspace: 'Retour arrière',\n keypadDigitsEntered: (count, length) => `${count} chiffres saisis sur ${length}`,\n onScreenKeyboardLabel: 'Clavier à l’écran',\n keyboardShift: 'Maj',\n keyboardSpace: 'Espace',\n keyboardEnter: 'Entrée',\n keyboardAltLayer: 'Plus de caractères',\n keyboardBaseLayer: 'Lettres',\n ratingLabel: 'Note',\n ratingValueText: (value, max) =>\n `${value} ${plural(value, 'étoile', 'étoiles')} sur ${max}`,\n minimum: 'Minimum',\n maximum: 'Maximum',\n chooseColor: 'Choisir une couleur',\n hexValue: 'Valeur hexadécimale',\n presetColors: 'Couleurs prédéfinies',\n chooseCountry: 'Choisir un pays',\n searchCountries: 'Rechercher un pays…',\n phoneNumber: 'Numéro de téléphone',\n postalCode: 'Code postal',\n amount: 'Montant',\n cardNumber: 'Numéro de carte',\n cardBrand: (brand) => `Type de carte : ${brand}`,\n iban: 'IBAN',\n taxId: 'Numéro d’identification fiscale',\n signature: 'Signature',\n jsonLabel: 'JSON',\n\n logViewerLabel: 'Journal des événements',\n logFollow: 'Suivre',\n logCopyAll: 'Copier le journal',\n logWrapLines: 'Retour à la ligne automatique',\n\n orgChartLabel: 'Organigramme',\n orgChartExpand: 'Développer {label}',\n orgChartCollapse: 'Réduire {label}',\n\n chatLabel: 'Conversation',\n chatComposerLabel: 'Message',\n chatPlaceholder: 'Écrivez un message…',\n chatSend: 'Envoyer',\n chatStop: 'Arrêter la génération',\n chatAttach: 'Joindre des fichiers',\n chatRemoveAttachment: 'Retirer la pièce jointe',\n chatAttachments: 'Pièces jointes',\n chatSuggestions: 'Suggestions',\n chatCopy: 'Copier le message',\n chatRetry: 'Réessayer',\n chatTyping: 'En train d’écrire…',\n chatStreaming: 'Génération…',\n chatJumpToLatest: 'Aller aux plus récents',\n chatEmpty: 'Aucun message',\n chatYou: 'Vous',\n chatAssistant: 'Assistant',\n chatToolRunning: 'En cours',\n chatToolDone: 'Terminé',\n chatToolError: 'Échec',\n\n dynamicFormAdd: 'Ajouter',\n dynamicFormRemove: (index) => `Supprimer l’élément ${index}`,\n\n queryBuilderLabel: 'Conditions de filtrage',\n queryAddRule: 'Ajouter une règle',\n queryAddGroup: 'Ajouter un groupe',\n queryRemoveRule: 'Supprimer la règle',\n queryRemoveGroup: 'Supprimer le groupe',\n queryAnd: 'Et',\n queryOr: 'Ou',\n queryNot: 'Non',\n queryField: 'Champ',\n queryOperator: 'Opérateur',\n queryValue: 'Valeur',\n queryValueFrom: 'De',\n queryValueTo: 'À',\n queryEmptyGroup: 'Aucune condition',\n queryTrue: 'Vrai',\n queryFalse: 'Faux',\n queryOpEq: 'est égal à',\n queryOpNeq: 'est différent de',\n queryOpContains: 'contient',\n queryOpNotContains: 'ne contient pas',\n queryOpStartsWith: 'commence par',\n queryOpEndsWith: 'se termine par',\n queryOpGt: 'supérieur à',\n queryOpGte: 'au moins',\n queryOpLt: 'inférieur à',\n queryOpLte: 'au plus',\n queryOpBetween: 'entre',\n queryOpIn: 'est l’un de',\n queryOpNotIn: 'n’est aucun de',\n queryOpBefore: 'avant',\n queryOpAfter: 'après',\n queryOpEmpty: 'est vide',\n queryOpNotEmpty: 'n’est pas vide',\n\n dialogMove: 'Déplacer la fenêtre (flèches ; Début réinitialise)',\n dialogResize: 'Redimensionner la fenêtre (flèches ; Début réinitialise)',\n\n listboxFilter: 'Filtrer les options',\n listboxEmpty: 'Aucune option correspondante',\n\n eventCalendarGrabbed: (title, from, to) =>\n `${title} saisi, ${from} – ${to}. Les flèches déplacent, ` +\n 'Maj avec flèche haut ou bas modifie l’heure de fin, ' +\n 'Entrée enregistre, Échap annule.',\n eventCalendarPosition: (title, day, from, to) =>\n `${title}, ${day}, ${from} – ${to}.`,\n eventCalendarMoved: (title, day, from, to) =>\n `${title} déplacé au ${day}, ${from} – ${to}.`,\n eventCalendarResized: (title, to) => `${title} se termine maintenant à ${to}.`,\n eventCalendarEditCancelled:\n 'Déplacement annulé. L’événement garde son horaire d’origine.',\n eventCalendarMovableEvent: 'Événement déplaçable',\n\n previousImage: 'Image précédente',\n nextImage: 'Image suivante',\n imageOf: (index, total) => `Image ${index} sur ${total}`,\n viewImage: (alt) => (alt ? `Voir ${alt}` : 'Voir l’image'),\n imageFailed: 'Impossible de charger l’image',\n zoom: 'Zoom',\n zoomIn: 'Agrandir',\n zoomOut: 'Réduire',\n mediaLibrary: 'Médiathèque',\n dropzoneLabel: 'Glissez des fichiers ici ou cliquez pour les choisir',\n uploadFailed: 'Le téléversement a échoué',\n retryUpload: 'Réessayer le téléversement',\n errorSummaryTitle: 'Il y a un problème',\n\n available: 'Disponibles',\n selected: 'Sélectionnés',\n transferSelected: (target) => `Déplacer la sélection vers : ${target}`,\n transferAll: (target) => `Tout déplacer vers : ${target}`,\n itemsMoved: (count, target) =>\n `${count} ${plural(count, 'élément déplacé', 'éléments déplacés')} vers : ${target}`,\n\n notificationsTitle: 'Notifications',\n allCaughtUp: 'Tout est lu',\n markAllRead: 'Tout marquer comme lu',\n notificationsUnread: (count) =>\n `Notifications, ${count} ${plural(count, 'non lue', 'non lues')}`,\n unread: 'Non lues',\n tourStepOf: (step, total) => `Étape ${step} sur ${total}`,\n tourSkip: 'Passer',\n tourPrevious: 'Précédent',\n tourNext: 'Suivant',\n tourDone: 'Terminé',\n\n commandPalettePlaceholder: 'Tapez une commande ou recherchez…',\n commandPaletteLabel: 'Palette de commandes',\n stepCompleted: 'Terminée',\n stepError: 'Contient des erreurs',\n diffAddedLine: 'Ajouté :',\n diffRemovedLine: 'Supprimé :',\n itemAdded: (name) => `${name} ajouté`,\n itemRemoved: (name) => `${name} supprimé`,\n resizePanes: 'Redimensionner les panneaux',\n backToTop: 'Retour en haut',\n breadcrumbLabel: 'Fil d’Ariane',\n fabLabel: 'Actions',\n diffBefore: 'Avant',\n diffAfter: 'Après',\n diffChanges: 'Modifications',\n skipToContent: 'Aller au contenu',\n primaryNav: 'Principale',\n\n dndPickedUp: (position, total) =>\n `Saisi. Élément ${position} sur ${total}. ` +\n 'Les flèches déplacent, Espace ou Entrée dépose, Échap annule.',\n dndMoved: (position, total) => `Déplacé en position ${position} sur ${total}.`,\n dndMovedToList: (list, position, total) =>\n `Déplacé vers : ${list}, position ${position} sur ${total}.`,\n dndDropped: (position) => `Déposé en position ${position}.`,\n dndCancelled: 'Déplacement annulé. L’élément est revenu à sa place d’origine.',\n\n repeaterAddRow: 'Ajouter une ligne',\n repeaterRemoveRow: (index) => `Supprimer la ligne ${index}`,\n repeaterReorderRow: (index) => `Réordonner la ligne ${index}`,\n repeaterRowMoved: (from, to) =>\n `Ligne déplacée de la position ${from} à la position ${to}.`,\n\n fileRejectedType: (name) => `${name} : type non pris en charge`,\n fileRejectedSize: (name, limit) => `${name} : dépasse ${limit}`,\n fileRejectedCount: (name, max) =>\n `${name} : limite de ${max} ${plural(max, 'fichier', 'fichiers')} dépassée`,\n\n chartCategory: 'Catégorie',\n chartValue: 'Valeur',\n chartSeries: 'Série',\n chartSlice: 'Secteur',\n chartStage: 'Étape',\n chartConversion: 'Conversion',\n chartAxis: 'Axe',\n chartShare: 'Part',\n chartLabel: 'Libellé',\n\n qrCodeLabel: (text) => `Code QR : ${text}`,\n\n sortableListLabel: 'Liste triable',\n filterColumn: (column) => `Filtrer ${column}`,\n clearFilter: (column) => `Effacer le filtre de la colonne ${column}`,\n filterAny: 'Tous',\n filterMin: 'Min.',\n\n blockEditor: MK_FR_BLOCK_EDITOR,\n};\n\n/**\n * Provides the French strings — {@link MK_FR_I18N} with any `overrides`\n * merged on top (deep for `dateNames`, `blockEditor` and `validation`, like\n * `provideMkI18n`).\n *\n * ```ts\n * bootstrapApplication(App, {\n * providers: [provideMkI18nFr({ noData: 'Rien à afficher ici' })],\n * });\n * ```\n */\nexport function provideMkI18nFr(overrides: MkI18nOverrides = {}): Provider {\n return provideMkI18n(overrides, MK_FR_I18N);\n}\n","/**\n * French locale pack for @mk-kit/ui — `@mk-kit/ui/locales/fr`.\n *\n * Its own entry point so an app carries only the locales it provides.\n */\nexport * from './fr';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}