@object-ui/i18n 17.7.0 → 18.0.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.
- package/CHANGELOG.md +1088 -0
- package/README.md +64 -1
- package/dist/LocalizationContext.d.ts +32 -9
- package/dist/LocalizationContext.js +32 -10
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -0
- package/dist/locales/ar.d.ts +591 -108
- package/dist/locales/ar.js +704 -208
- package/dist/locales/de.d.ts +475 -88
- package/dist/locales/de.js +589 -183
- package/dist/locales/en.d.ts +562 -175
- package/dist/locales/en.js +745 -208
- package/dist/locales/es.d.ts +504 -93
- package/dist/locales/es.js +617 -186
- package/dist/locales/fr.d.ts +504 -93
- package/dist/locales/fr.js +617 -187
- package/dist/locales/index.d.ts +5178 -1092
- package/dist/locales/ja.d.ts +475 -88
- package/dist/locales/ja.js +588 -182
- package/dist/locales/ko.d.ts +475 -88
- package/dist/locales/ko.js +588 -182
- package/dist/locales/pt.d.ts +504 -93
- package/dist/locales/pt.js +617 -186
- package/dist/locales/ru.d.ts +533 -98
- package/dist/locales/ru.js +646 -197
- package/dist/locales/zh.d.ts +563 -176
- package/dist/locales/zh.js +589 -197
- package/dist/useObjectLabel.d.ts +109 -88
- package/dist/useObjectLabel.js +86 -71
- package/dist/utils/first-day-of-week.d.ts +71 -0
- package/dist/utils/first-day-of-week.js +61 -0
- package/dist/utils/formatting.d.ts +7 -1
- package/dist/utils/formatting.js +11 -2
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/package.json +2 -2
package/dist/locales/fr.js
CHANGED
|
@@ -13,18 +13,19 @@ const fr = {
|
|
|
13
13
|
notRestored: 'Le serveur a accepté la demande mais n’a pas restauré votre session administrateur — vous incarnez toujours {{user}}. Déconnectez-vous puis reconnectez-vous pour y mettre fin.',
|
|
14
14
|
},
|
|
15
15
|
},
|
|
16
|
-
// objectui#2600 B5 — capability picker scope group headers (labels come from the
|
|
16
|
+
// objectui#2600 B5 — capability picker scope group headers (labels come from the capability registry).
|
|
17
17
|
capability: {
|
|
18
18
|
label: {
|
|
19
19
|
manage_users: "Gérer les utilisateurs",
|
|
20
20
|
manage_org_users: "Gérer les utilisateurs de l'organisation",
|
|
21
21
|
manage_metadata: "Gérer les métadonnées",
|
|
22
|
-
|
|
22
|
+
manage_mailboxes: "Gérer les boîtes aux lettres",
|
|
23
23
|
manage_platform_settings: "Gérer les paramètres de la plateforme",
|
|
24
24
|
setup_access: "Accès à la configuration",
|
|
25
25
|
setup_write: "Écriture des paramètres",
|
|
26
26
|
studio_access: "Accès à Studio",
|
|
27
27
|
manage_sharing: "Gérer le partage",
|
|
28
|
+
view_all_audit_log: "Voir tout le journal d'audit",
|
|
28
29
|
},
|
|
29
30
|
group: {
|
|
30
31
|
platform: 'Plateforme',
|
|
@@ -32,34 +33,6 @@ const fr = {
|
|
|
32
33
|
other: 'Autre',
|
|
33
34
|
},
|
|
34
35
|
},
|
|
35
|
-
// objectui#3546 slice six — le résumé en lecture seule des facettes
|
|
36
|
-
// d'autorisation de PermissionFacetLink. Apostrophe droite U+0027 comme dans
|
|
37
|
-
// le reste du paquet, et espace avant les deux-points.
|
|
38
|
-
perm: {
|
|
39
|
-
facet: {
|
|
40
|
-
none: "Aucun",
|
|
41
|
-
more: "+{{count}} de plus",
|
|
42
|
-
objects: "{{count}} objets",
|
|
43
|
-
objects_one: "{{count}} objet",
|
|
44
|
-
objects_many: "{{count}} d'objets",
|
|
45
|
-
objects_other: "{{count}} objets",
|
|
46
|
-
fields: "{{count}} règles de champ",
|
|
47
|
-
fields_one: "{{count}} règle de champ",
|
|
48
|
-
fields_many: "{{count}} de règles de champ",
|
|
49
|
-
fields_other: "{{count}} règles de champ",
|
|
50
|
-
rls: "{{count}} politiques RLS",
|
|
51
|
-
rls_one: "{{count}} politique RLS",
|
|
52
|
-
rls_many: "{{count}} de politiques RLS",
|
|
53
|
-
rls_other: "{{count}} politiques RLS",
|
|
54
|
-
tabs: "{{count}} règles d'onglet",
|
|
55
|
-
tabs_one: "{{count}} règle d'onglet",
|
|
56
|
-
tabs_many: "{{count}} de règles d'onglet",
|
|
57
|
-
tabs_other: "{{count}} règles d'onglet",
|
|
58
|
-
adminScope: "Administration déléguée configurée",
|
|
59
|
-
designInStudio: "Concevoir dans Studio →",
|
|
60
|
-
designInStudioHint: "Concevoir dans Studio",
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
36
|
lookup: {
|
|
64
37
|
recentlyUsed: 'Récemment utilisés',
|
|
65
38
|
allResults: 'Tous les résultats',
|
|
@@ -132,6 +105,7 @@ const fr = {
|
|
|
132
105
|
itemCount_many: "{{count}} d'éléments",
|
|
133
106
|
itemCount_other: "{{count}} éléments",
|
|
134
107
|
toggleSidebar: "Basculer la barre latérale",
|
|
108
|
+
breadcrumb: "Fil d'Ariane",
|
|
135
109
|
package: "Package",
|
|
136
110
|
done: "Terminé",
|
|
137
111
|
editInStudio: "Modifier dans Studio",
|
|
@@ -160,6 +134,7 @@ const fr = {
|
|
|
160
134
|
copyAll: 'Tout copier',
|
|
161
135
|
},
|
|
162
136
|
notAvailableHere: '« {{action}} » n\'est pas disponible sur la page actuelle.',
|
|
137
|
+
notAvailableForRecord: 'Non disponible pour cet enregistrement',
|
|
163
138
|
completedSuccessfully: 'Action effectuée avec succès',
|
|
164
139
|
failed: "Échec de l'action",
|
|
165
140
|
parallelFailed: 'Une ou plusieurs actions parallèles ont échoué',
|
|
@@ -196,6 +171,8 @@ const fr = {
|
|
|
196
171
|
// description, used when the form declares no `description` of its own.
|
|
197
172
|
dialogDescriptionFallback: "Remplissez les champs du formulaire, puis envoyez ou annulez.",
|
|
198
173
|
deniedDescription: "Vous n'avez pas l'autorisation de modifier ce champ.",
|
|
174
|
+
serverDefaultHint: "Défini automatiquement lors de l'enregistrement.",
|
|
175
|
+
maxFileSize: "Taille maximale : {{size}}",
|
|
199
176
|
masterDetail: {
|
|
200
177
|
loadingColumns: "Chargement des colonnes…",
|
|
201
178
|
subtotal: "Sous-total",
|
|
@@ -264,10 +241,14 @@ const fr = {
|
|
|
264
241
|
remove: "Supprimer l'image {{index}}",
|
|
265
242
|
enlarge: "Agrandir {{name}}",
|
|
266
243
|
preview: "Aperçu de l'image",
|
|
244
|
+
cropPreview: "Aperçu du recadrage de l'image",
|
|
267
245
|
previous: "Image précédente",
|
|
268
246
|
next: "Image suivante",
|
|
269
247
|
counter: "{{current}} / {{total}}",
|
|
270
248
|
},
|
|
249
|
+
percent: {
|
|
250
|
+
slider: "Pourcentage",
|
|
251
|
+
},
|
|
271
252
|
relativeDate: {
|
|
272
253
|
overdue: "En retard de {{count}} j",
|
|
273
254
|
overdue_one: "En retard de {{count}} j",
|
|
@@ -290,6 +271,8 @@ const fr = {
|
|
|
290
271
|
exceedsMaxSize: '« {{name}} » dépasse la taille maximale ({{max}} Mo)',
|
|
291
272
|
uploadFailed: 'Échec du téléversement de « {{name}} » : {{error}}',
|
|
292
273
|
uploadIncomplete: 'Le téléversement de « {{name}} » n’a pas abouti : aucun identifiant de fichier n’a été renvoyé, rien n’a été enregistré',
|
|
274
|
+
restricted: 'Fichier restreint',
|
|
275
|
+
restrictedHint: 'Vous n’avez pas accès aux détails de ce fichier',
|
|
293
276
|
},
|
|
294
277
|
richText: {
|
|
295
278
|
format: "Format : {{format}}",
|
|
@@ -306,6 +289,10 @@ const fr = {
|
|
|
306
289
|
search: "Rechercher des objets…",
|
|
307
290
|
empty: "Aucun objet trouvé",
|
|
308
291
|
},
|
|
292
|
+
registryRef: {
|
|
293
|
+
loadFailed: "La liste n'a pas pu être chargée. Vous pouvez toujours saisir le nom.",
|
|
294
|
+
notFound: "{{name}} (introuvable)",
|
|
295
|
+
},
|
|
309
296
|
recipient: {
|
|
310
297
|
selectTypeFirst: "Sélectionnez d'abord un type de destinataire.",
|
|
311
298
|
loading: "Chargement…",
|
|
@@ -347,6 +334,13 @@ const fr = {
|
|
|
347
334
|
dateTime: {
|
|
348
335
|
impossibleDay: "La valeur enregistrée « {{value}} » n’est pas une date réelle. Choisissez une date et une heure pour la remplacer.",
|
|
349
336
|
},
|
|
337
|
+
datePicker: {
|
|
338
|
+
today: "Aujourd’hui",
|
|
339
|
+
tomorrow: "Demain",
|
|
340
|
+
clear: "Effacer la date",
|
|
341
|
+
openCalendar: "Ouvrir le calendrier",
|
|
342
|
+
invalid: "Non enregistré : « {{value}} » n’est pas une date. Saisissez-la au format {{format}} ou choisissez-la dans le calendrier.",
|
|
343
|
+
},
|
|
350
344
|
number: {
|
|
351
345
|
badInput: "Non enregistré : le texte de ce champ n'est pas un nombre. Saisissez une décimale simple (exemple : {{example}}).",
|
|
352
346
|
},
|
|
@@ -361,6 +355,11 @@ const fr = {
|
|
|
361
355
|
postalCode: "Code postal",
|
|
362
356
|
country: "Pays",
|
|
363
357
|
},
|
|
358
|
+
boolean: {
|
|
359
|
+
offBadge: "{{label}} — Désactivé",
|
|
360
|
+
completed: "Terminé",
|
|
361
|
+
notCompleted: "Non terminé",
|
|
362
|
+
},
|
|
364
363
|
textarea: {
|
|
365
364
|
characterCount: "Nombre de caractères : {{count}} sur {{max}}",
|
|
366
365
|
charactersRemaining: "Caractères restants : {{count}}",
|
|
@@ -390,10 +389,15 @@ const fr = {
|
|
|
390
389
|
selectAllRows: "Sélectionner toutes les lignes",
|
|
391
390
|
expandRow: "Développer la ligne",
|
|
392
391
|
collapseRow: "Réduire la ligne",
|
|
392
|
+
rowActions: "Actions de la ligne",
|
|
393
393
|
hideColumn: "Masquer la colonne",
|
|
394
394
|
freezeColumn: "Figer la colonne",
|
|
395
395
|
unfreezeColumn: "Libérer la colonne",
|
|
396
396
|
pageInfo: "Page {{current}} sur {{total}}",
|
|
397
|
+
firstPage: "Première page",
|
|
398
|
+
previousPage: "Page précédente",
|
|
399
|
+
nextPage: "Page suivante",
|
|
400
|
+
lastPage: "Dernière page",
|
|
397
401
|
totalRecords: "{{count}} au total",
|
|
398
402
|
noResults: "Aucun résultat",
|
|
399
403
|
noResultsHint: "Essayez d'ajuster vos filtres ou vos termes de recherche.",
|
|
@@ -406,6 +410,10 @@ const fr = {
|
|
|
406
410
|
modified_one: "{{count}} ligne modifiée",
|
|
407
411
|
modified_many: "{{count}} de lignes modifiées",
|
|
408
412
|
modified_other: "{{count}} lignes modifiées",
|
|
413
|
+
saved: "{{count}} ligne(s) enregistrée(s)",
|
|
414
|
+
saved_one: "{{count}} ligne enregistrée",
|
|
415
|
+
saved_many: "{{count}} de lignes enregistrées",
|
|
416
|
+
saved_other: "{{count}} lignes enregistrées",
|
|
409
417
|
saveFailed: 'Échec de l’enregistrement',
|
|
410
418
|
selected: "{{count}} sélectionné(s)",
|
|
411
419
|
selected_one: "{{count}} sélectionné",
|
|
@@ -427,6 +435,7 @@ const fr = {
|
|
|
427
435
|
bulkAllOnPage_other: "Les {{count}} éléments de cette page sont sélectionnés.",
|
|
428
436
|
bulkSelectAllMatching: "Sélectionner les {{count}} correspondances",
|
|
429
437
|
bulkAllMatchingSelected: "Les {{count}} enregistrements correspondants sont tous sélectionnés.",
|
|
438
|
+
bulkActions: "Actions groupées",
|
|
430
439
|
bulk: {
|
|
431
440
|
confirmDefault: "Ceci s'appliquera à {{count}} enregistrement(s).",
|
|
432
441
|
confirmDefault_one: "Ceci s'appliquera à {{count}} enregistrement.",
|
|
@@ -467,6 +476,7 @@ const fr = {
|
|
|
467
476
|
pullToRefresh: "Tirer pour actualiser",
|
|
468
477
|
refreshing: "Actualisation…",
|
|
469
478
|
openRecord: "Ouvrir l'enregistrement",
|
|
479
|
+
recordUnavailable: "{{object}} · enregistrement indisponible",
|
|
470
480
|
rowHeight: "Hauteur de ligne : {{mode}}",
|
|
471
481
|
openMenu: "Ouvrir le menu",
|
|
472
482
|
empty: "Vide",
|
|
@@ -486,6 +496,7 @@ const fr = {
|
|
|
486
496
|
// pack controls its own separator and word order.
|
|
487
497
|
summary: {
|
|
488
498
|
pattern: "{{label}} : {{value}}",
|
|
499
|
+
pagePattern: "{{label}} (cette page) : {{value}}",
|
|
489
500
|
count: "Nombre",
|
|
490
501
|
countEmpty: "Vides",
|
|
491
502
|
countFilled: "Remplis",
|
|
@@ -553,9 +564,6 @@ const fr = {
|
|
|
553
564
|
needMatchFields: "Sélectionnez au moins un champ de correspondance.",
|
|
554
565
|
matchOnlyField: "(correspondance seule)",
|
|
555
566
|
optCreateOptions: "Conserver les valeurs d'option inconnues",
|
|
556
|
-
optRunAutomations: "Exécuter les automatisations et déclencheurs",
|
|
557
|
-
optTreatHistorical: "Importer comme données historiques",
|
|
558
|
-
optTreatHistoricalHint: "(importer les enregistrements terminés tels quels — ignorer les contrôles de la machine à états et conserver leurs horodatages et auteurs d'origine au lieu d'horodater maintenant)",
|
|
559
567
|
optSkipBlankKey: "Ignorer les lignes dont la valeur de correspondance est vide",
|
|
560
568
|
optBackground: "Importer en arrière-plan",
|
|
561
569
|
optBackgroundHint: "(s'exécute comme une tâche annulable)",
|
|
@@ -570,6 +578,7 @@ const fr = {
|
|
|
570
578
|
invalidBoolean: "« {{value}} » n'est pas une valeur vrai/faux valide",
|
|
571
579
|
invalidNumber: "« {{value}} » n'est pas un nombre valide",
|
|
572
580
|
invalidDate: "« {{value}} » n'est pas une date valide",
|
|
581
|
+
invalidTime: "« {{value}} » n'est pas une heure valide",
|
|
573
582
|
invalidOption: "« {{value}} » ne fait pas partie des options autorisées",
|
|
574
583
|
requiredValue: "Ce champ est obligatoire",
|
|
575
584
|
matchAmbiguous: "Correspond à plusieurs enregistrements existants — utilisez une valeur unique ou l'identifiant de l'enregistrement",
|
|
@@ -593,6 +602,10 @@ const fr = {
|
|
|
593
602
|
undoing: "Annulation…",
|
|
594
603
|
undoConfirm: "Annuler cet import ? Les enregistrements créés seront supprimés et les enregistrements mis à jour seront rétablis à leurs valeurs précédentes.",
|
|
595
604
|
reverted: "Annulé",
|
|
605
|
+
undoPartial: "{{count}} lignes n'ont pas été annulées. Annuler à nouveau ne réessaie que ces lignes.",
|
|
606
|
+
undoPartial_one: "{{count}} ligne n'a pas été annulée. Annuler à nouveau ne réessaie que cette ligne.",
|
|
607
|
+
undoPartial_many: "{{count}} de lignes n'ont pas été annulées. Annuler à nouveau ne réessaie que ces lignes.",
|
|
608
|
+
undoPartial_other: "{{count}} lignes n'ont pas été annulées. Annuler à nouveau ne réessaie que ces lignes.",
|
|
596
609
|
jobStatus: {
|
|
597
610
|
pending: "En attente",
|
|
598
611
|
running: "En cours",
|
|
@@ -660,6 +673,8 @@ const fr = {
|
|
|
660
673
|
showingRows: "Affichage de {{shown}} sur {{total}} lignes",
|
|
661
674
|
importing: "Importation… {{progress}}%",
|
|
662
675
|
importComplete: "Importation terminée",
|
|
676
|
+
importPartial: "Importation terminée avec des erreurs",
|
|
677
|
+
importFailed: "Échec de l'importation",
|
|
663
678
|
imported: "{{count}} importé(s)",
|
|
664
679
|
skippedCount: "{{count}} ignoré(s)",
|
|
665
680
|
moreErrors: "…et {{count}} erreur(s) de plus",
|
|
@@ -723,6 +738,7 @@ const fr = {
|
|
|
723
738
|
firstRunMessage: "Créez votre premier enregistrement pour commencer.",
|
|
724
739
|
noMatches: "Aucun enregistrement correspondant",
|
|
725
740
|
noMatchesMessage: "Aucun enregistrement ne correspond à vos filtres ou à votre recherche. Essayez de les ajuster ou de les effacer.",
|
|
741
|
+
viewFilterNoMatchesMessage: "Aucun enregistrement ne correspond au filtre de cette vue.",
|
|
726
742
|
loadErrorTitle: "Impossible de charger les enregistrements",
|
|
727
743
|
loadErrorMessage: "Une erreur s'est produite lors du chargement de ces données. Vérifiez votre connexion et réessayez.",
|
|
728
744
|
loadErrorForbiddenTitle: "Accès refusé",
|
|
@@ -763,15 +779,22 @@ const fr = {
|
|
|
763
779
|
recordCount_many: "{{count}} d'enregistrements",
|
|
764
780
|
recordCount_other: "{{count}} enregistrements",
|
|
765
781
|
addRecord: "Ajouter un enregistrement",
|
|
782
|
+
// objectui#12703 — the compact list's footer link to the object's list or the block's view.
|
|
783
|
+
viewAll: "Tout afficher",
|
|
766
784
|
tabs: "Onglets",
|
|
767
785
|
allRecords: "Tous les enregistrements",
|
|
768
786
|
search: "Rechercher",
|
|
769
787
|
filter: "Filtrer",
|
|
770
788
|
filterRecords: "Filtrer les enregistrements",
|
|
789
|
+
filterActive: "Filtrer, {{count}} actifs",
|
|
790
|
+
filterActive_one: "Filtrer, {{count}} actif",
|
|
791
|
+
filterActive_many: "Filtrer, {{count}} actifs",
|
|
792
|
+
filterActive_other: "Filtrer, {{count}} actifs",
|
|
771
793
|
sort: "Trier",
|
|
772
794
|
sortRecords: "Trier les enregistrements",
|
|
773
795
|
sortByIdSuffix: "(par ID)",
|
|
774
796
|
sortRelationalHint: "Les colonnes qui pointent vers un autre enregistrement ne sont pas listées : elles ne peuvent être triées que par l'ID stocké, et non par le nom affiché dans la cellule. Pour trier par ce nom, dénormalisez-le sur cet objet sous la forme d'un champ stocké, écrit à chaque modification de la source, puis triez sur ce champ. Pas un champ de formule : il est virtuel, aucune colonne n'est stockée pour lui et le serveur refuse de trier dessus.",
|
|
797
|
+
sortRelationalPicked: "Une colonne liée est triée par l'ID stocké, et non par le nom affiché.",
|
|
775
798
|
resetSortToDefault: "Réinitialiser au tri par défaut de la vue",
|
|
776
799
|
group: "Grouper",
|
|
777
800
|
groupBy: "Grouper par",
|
|
@@ -792,14 +815,15 @@ const fr = {
|
|
|
792
815
|
print: "Imprimer",
|
|
793
816
|
hideFieldsTitle: "Masquer les champs",
|
|
794
817
|
dataLimitReached: "Les {{limit}} premiers enregistrements sont affichés. Il peut y avoir plus de données disponibles.",
|
|
795
|
-
|
|
796
|
-
|
|
818
|
+
display: "Affichage",
|
|
819
|
+
layout: "Disposition",
|
|
820
|
+
rowNumbers: "Numéros de ligne",
|
|
821
|
+
resetToViewDefault: "Rétablir les valeurs par défaut de la vue",
|
|
797
822
|
addGroup: "Ajouter un champ de groupe",
|
|
798
823
|
collapsedByDefault: "Réduit par défaut",
|
|
799
824
|
removeGroup: "Supprimer",
|
|
800
825
|
inlineEditShort: "Édition en ligne",
|
|
801
826
|
inlineEditLabel: "Modifier les enregistrements en ligne (cliquez sur une cellule pour modifier)",
|
|
802
|
-
recordEditingTitle: "Modification des enregistrements",
|
|
803
827
|
},
|
|
804
828
|
managedByBadge: {
|
|
805
829
|
systemWritable: {
|
|
@@ -830,6 +854,7 @@ const fr = {
|
|
|
830
854
|
},
|
|
831
855
|
kanban: {
|
|
832
856
|
uncategorized: "Non catégorisé",
|
|
857
|
+
loadMore: "Charger plus",
|
|
833
858
|
columns: "colonnes",
|
|
834
859
|
addCard: "Ajouter une carte",
|
|
835
860
|
addColumn: "Ajouter une colonne",
|
|
@@ -837,13 +862,28 @@ const fr = {
|
|
|
837
862
|
deleteCard: "Supprimer la carte",
|
|
838
863
|
deleteColumn: "Supprimer la colonne",
|
|
839
864
|
noCards: "Aucune carte",
|
|
865
|
+
columnCards: "Cartes de la colonne {{column}}",
|
|
866
|
+
laneCards: "Cartes de {{column}} - {{lane}}",
|
|
840
867
|
cardTitlePlaceholder: "Saisir le titre de la carte…",
|
|
841
868
|
requiredFieldsTitle: "Compléter les champs obligatoires",
|
|
842
869
|
requiredFieldsDescription: "Ce déplacement rend les champs ci-dessous obligatoires. Remplissez-les pour continuer.",
|
|
870
|
+
dnd: {
|
|
871
|
+
start: "Carte {{card}} saisie dans la colonne {{column}}.",
|
|
872
|
+
overCard: "Carte {{card}} au-dessus de la carte {{target}} dans la colonne {{column}}.",
|
|
873
|
+
overColumn: "Carte {{card}} au-dessus de la colonne {{column}}.",
|
|
874
|
+
overNone: "La carte {{card}} n'est au-dessus d'aucune colonne.",
|
|
875
|
+
moved: "Carte {{card}} déplacée dans la colonne {{column}}.",
|
|
876
|
+
dropped: "Carte {{card}} déposée. Elle reste dans la colonne {{column}}.",
|
|
877
|
+
cancelled: "Déplacement annulé. La carte {{card}} reste dans la colonne {{column}}.",
|
|
878
|
+
untitledCard: "sans titre",
|
|
879
|
+
unnamedColumn: "sans nom",
|
|
880
|
+
instructions: "Pour déplacer cette carte vers une autre colonne, faites-la glisser avec la souris ou au toucher.",
|
|
881
|
+
dragging: "Déplacement de la carte {{card}}",
|
|
882
|
+
},
|
|
843
883
|
},
|
|
844
884
|
timeline: {
|
|
845
885
|
bucket: {
|
|
846
|
-
|
|
886
|
+
earlier: "Plus tôt",
|
|
847
887
|
today: "Aujourd'hui",
|
|
848
888
|
tomorrow: "Demain",
|
|
849
889
|
thisWeek: "Cette semaine",
|
|
@@ -1027,10 +1067,13 @@ const fr = {
|
|
|
1027
1067
|
readonlyAriaLabel: "Vue en lecture seule",
|
|
1028
1068
|
readonlyTooltip: "Vue système — définie dans le code, en lecture seule.",
|
|
1029
1069
|
malformedFilter: "Le filtre de cette vue est incorrect, aucun enregistrement n’est donc affiché : la condition {{subject}} ne peut pas être appliquée.",
|
|
1070
|
+
noObject: "Aucun objet indiqué : définissez {{property}} ou dataSource.object.",
|
|
1030
1071
|
},
|
|
1031
1072
|
designer: {
|
|
1032
1073
|
undo: "Annuler",
|
|
1033
1074
|
redo: "Rétablir",
|
|
1075
|
+
canvasMinimap: "Mini-carte du canevas",
|
|
1076
|
+
versionHistory: "Historique des versions",
|
|
1034
1077
|
},
|
|
1035
1078
|
detail: {
|
|
1036
1079
|
editInlineHint: "Double-cliquez pour modifier",
|
|
@@ -1117,6 +1160,7 @@ const fr = {
|
|
|
1117
1160
|
noAttachments: "Aucune pièce jointe pour le moment. Téléversez un fichier pour commencer.",
|
|
1118
1161
|
downloadAttachment: "Télécharger",
|
|
1119
1162
|
deleteAttachment: "Supprimer la pièce jointe",
|
|
1163
|
+
deleteAttachmentConfirm: "Êtes-vous sûr de vouloir supprimer la pièce jointe \"{{name}}\" ?",
|
|
1120
1164
|
attachmentDeleteDenied: "Seule la personne qui l'a téléversée ou une personne pouvant modifier cet enregistrement peut supprimer cette pièce jointe.",
|
|
1121
1165
|
attachmentParentAccessDenied: "Vous n'avez pas accès pour joindre des fichiers à cet enregistrement.",
|
|
1122
1166
|
attachmentDownloadDenied: "Vous n'avez pas accès pour télécharger cette pièce jointe.",
|
|
@@ -1181,10 +1225,12 @@ const fr = {
|
|
|
1181
1225
|
lockedByApproval: "Verrouillé pour approbation",
|
|
1182
1226
|
lockedTooltip: "Cet enregistrement a une demande d'approbation en attente ; la modification est verrouillée",
|
|
1183
1227
|
writeStrippedTitle: "Enregistré — mais certains champs n'ont pas été appliqués",
|
|
1228
|
+
writeWarningsTitle: "Enregistré — avec des avertissements",
|
|
1184
1229
|
writeStrippedReadonly: "En lecture seule, donc non appliqué : {{fields}}",
|
|
1185
1230
|
writeStrippedByState: "Non modifiable dans l'état actuel de cet enregistrement, donc non appliqué : {{fields}}",
|
|
1186
1231
|
writeStrippedPrimaryKey: "L'identifiant de l'enregistrement ne peut pas être modifié lors d'un enregistrement, donc non appliqué : {{fields}}",
|
|
1187
1232
|
writeStrippedComputed: "Calculé par le serveur à partir d'une formule, donc la valeur envoyée n'a pas été appliquée : {{fields}}",
|
|
1233
|
+
writeStrippedStoredExpression: "Calculé à partir de l'enregistrement, donc la valeur calculée a été enregistrée à la place de celle envoyée : {{fields}}",
|
|
1188
1234
|
writeStrippedUnknownReason: "Non appliqué par le serveur : {{fields}}",
|
|
1189
1235
|
approvalPendingEditable: "En approbation · modifiable",
|
|
1190
1236
|
approvalPendingTooltip: "Cet enregistrement a une demande d'approbation en attente ; cette étape autorise encore la modification",
|
|
@@ -1208,6 +1254,11 @@ const fr = {
|
|
|
1208
1254
|
linkCopied: "Lien copié dans le presse-papiers",
|
|
1209
1255
|
commentFailed: "Votre commentaire n'a pas été publié. Rien n'a été enregistré — veuillez réessayer.",
|
|
1210
1256
|
reactionFailed: "Votre réaction n'a pas été enregistrée. Veuillez réessayer.",
|
|
1257
|
+
editComment: "Modifier le commentaire",
|
|
1258
|
+
deleteComment: "Supprimer le commentaire",
|
|
1259
|
+
deleteCommentConfirm: "Êtes-vous sûr de vouloir supprimer ce commentaire ?",
|
|
1260
|
+
commentEditFailed: "Votre modification n'a pas été enregistrée. Le commentaire conserve son texte précédent.",
|
|
1261
|
+
commentDeleteFailed: "Le commentaire n'a pas été supprimé. Veuillez réessayer.",
|
|
1211
1262
|
linkCopyFailed: "Impossible de copier le lien",
|
|
1212
1263
|
cancel: "Annuler",
|
|
1213
1264
|
cancelEdit: "Abandonner les modifications",
|
|
@@ -1623,7 +1674,8 @@ const fr = {
|
|
|
1623
1674
|
},
|
|
1624
1675
|
console: {
|
|
1625
1676
|
studio: {
|
|
1626
|
-
|
|
1677
|
+
title: "Studio",
|
|
1678
|
+
accessRequired: "Vous avez besoin de l'accès à Studio pour ouvrir Studio.",
|
|
1627
1679
|
},
|
|
1628
1680
|
saveAdvisoryTitle: "Enregistré — le contrôle de création a signalé {{count}} recommandation(s)",
|
|
1629
1681
|
saveAdvisoryTitle_one: "Enregistré — le contrôle de création a signalé {{count}} recommandation",
|
|
@@ -1641,13 +1693,13 @@ const fr = {
|
|
|
1641
1693
|
savedViewsUnreadable: "Cette liste est vide parce qu’elle n’a pas pu être lue, et non parce que cet objet n’aurait aucune vue enregistrée. Réessayez, et signalez le problème s’il persiste.",
|
|
1642
1694
|
settingsHub: {
|
|
1643
1695
|
title: "Paramètres",
|
|
1644
|
-
subtitle: "Configurez votre
|
|
1696
|
+
subtitle: "Configurez votre système, vos intégrations et vos indicateurs de fonctionnalité.",
|
|
1645
1697
|
loadError: "Échec du chargement des paramètres",
|
|
1646
1698
|
empty: "Aucun paramètre enregistré. Les plugins peuvent enregistrer des manifestes de paramètres via le SettingsService.",
|
|
1647
1699
|
settingsCount: "{{n}} paramètres",
|
|
1648
1700
|
beta: "Bêta",
|
|
1649
1701
|
categories: {
|
|
1650
|
-
Workspace: "
|
|
1702
|
+
Workspace: "Général",
|
|
1651
1703
|
Communication: "Communication",
|
|
1652
1704
|
Security: "Sécurité",
|
|
1653
1705
|
Infrastructure: "Infrastructure",
|
|
@@ -1692,8 +1744,7 @@ const fr = {
|
|
|
1692
1744
|
},
|
|
1693
1745
|
usage: {
|
|
1694
1746
|
title: "Utilisation de l'IA",
|
|
1695
|
-
|
|
1696
|
-
meterAsk: "Demander",
|
|
1747
|
+
poolUsed: "{{percent}} utilisé",
|
|
1697
1748
|
statusOk: "Il en reste beaucoup",
|
|
1698
1749
|
statusLow: "Bientôt épuisé",
|
|
1699
1750
|
statusFull: "Limite atteinte",
|
|
@@ -1710,7 +1761,6 @@ const fr = {
|
|
|
1710
1761
|
ctaUpgrade: "Passer à l'offre supérieure pour continuer",
|
|
1711
1762
|
ctaTopUp: "Ajouter des crédits pour continuer",
|
|
1712
1763
|
ariaLabel: "Utilisation de l'IA : {{status}}",
|
|
1713
|
-
breakdownTitle: "Utilisé jusqu'à présent",
|
|
1714
1764
|
},
|
|
1715
1765
|
workspaceTitle: "Espace de travail IA",
|
|
1716
1766
|
workspaceSubtitle: "Posez des questions, inspectez et reprenez vos conversations",
|
|
@@ -1767,6 +1817,8 @@ const fr = {
|
|
|
1767
1817
|
liveCanvasUnlisted: "Application en direct — {{app}} (non répertoriée jusqu'à publication)",
|
|
1768
1818
|
loadingAgents: "Chargement des agents…",
|
|
1769
1819
|
askAnything: "Posez n'importe quelle question…",
|
|
1820
|
+
askOrChangeApp: "Posez une question sur vos données ou demandez-moi de modifier cette app…",
|
|
1821
|
+
describeAppToBuild: "Décrivez l’app que vous voulez créer, ou ce qu’il faut modifier…",
|
|
1770
1822
|
emptyTitle: "Démarrer une conversation",
|
|
1771
1823
|
emptyDescription: "Posez n'importe quelle question — l'assistant a accès au contexte de votre application actuelle.",
|
|
1772
1824
|
switchAssistant: "Changer d'assistant",
|
|
@@ -1788,12 +1840,17 @@ const fr = {
|
|
|
1788
1840
|
},
|
|
1789
1841
|
clearConversation: "Effacer",
|
|
1790
1842
|
sendHint: "pour envoyer",
|
|
1843
|
+
newlineHint: "pour un retour à la ligne",
|
|
1791
1844
|
agentActivity: "Activité de l'agent",
|
|
1792
1845
|
toolCompleted: "Terminé",
|
|
1793
1846
|
toolRunning: "En cours",
|
|
1794
1847
|
toolAwaitingApproval: "En attente d'approbation",
|
|
1795
1848
|
toolFailed: "Échec",
|
|
1796
1849
|
toolDetailsHidden: "Les entrées des outils et les résultats bruts sont masqués dans cette vue.",
|
|
1850
|
+
toolDenyReason: "Rejeté par l'opérateur depuis le chat",
|
|
1851
|
+
builderHandoffTitle: "Créer dans le constructeur",
|
|
1852
|
+
builderHandoffOpen: "Ouvrir dans le constructeur →",
|
|
1853
|
+
builderHandoffSuperseded: "Une demande plus récente est disponible",
|
|
1797
1854
|
copy: "Copier",
|
|
1798
1855
|
copied: "Copié",
|
|
1799
1856
|
regenerate: "Régénérer",
|
|
@@ -1808,7 +1865,7 @@ const fr = {
|
|
|
1808
1865
|
publishOk: "Publié — les objets sont maintenant actifs.",
|
|
1809
1866
|
seedWarn: "Publié, mais certaines données d'exemple n'ont pas pu être chargées.",
|
|
1810
1867
|
openBuiltApp: "Ouvrir l'application",
|
|
1811
|
-
|
|
1868
|
+
viewBuiltAppInStudio: "Voir dans Studio",
|
|
1812
1869
|
previewDraft: "Aperçu",
|
|
1813
1870
|
previewApp: "Aperçu de l'application",
|
|
1814
1871
|
resizeSplit: "Redimensionner la discussion et l'aperçu",
|
|
@@ -1935,6 +1992,7 @@ const fr = {
|
|
|
1935
1992
|
collapse: "Réduire la discussion",
|
|
1936
1993
|
maximize: "Ouvrir en pleine page",
|
|
1937
1994
|
open: "Ouvrir l'assistant",
|
|
1995
|
+
planAwaitingApproval: "Un plan proposé attend votre approbation",
|
|
1938
1996
|
},
|
|
1939
1997
|
group: {
|
|
1940
1998
|
today: "Aujourd'hui",
|
|
@@ -1945,12 +2003,9 @@ const fr = {
|
|
|
1945
2003
|
},
|
|
1946
2004
|
},
|
|
1947
2005
|
title: "Console ObjectStack",
|
|
1948
|
-
initializing: "
|
|
1949
|
-
|
|
2006
|
+
initializing: "Ouverture de votre console…",
|
|
2007
|
+
skipToContent: "Aller au contenu",
|
|
1950
2008
|
breadcrumb: {
|
|
1951
|
-
dashboards: "Tableaux de bord",
|
|
1952
|
-
pages: "Pages",
|
|
1953
|
-
reports: "Rapports",
|
|
1954
2009
|
system: "Système",
|
|
1955
2010
|
marketplace: "Marketplace",
|
|
1956
2011
|
settings: 'Paramètres',
|
|
@@ -1980,16 +2035,31 @@ const fr = {
|
|
|
1980
2035
|
unsavedCount_one: "{{count}} modification non enregistrée",
|
|
1981
2036
|
unsavedCount_many: "{{count}} de modifications non enregistrées",
|
|
1982
2037
|
unsavedCount_other: "{{count}} modifications non enregistrées",
|
|
2038
|
+
fieldErrorsToast: "{{count}} paramètres nécessitent votre attention : {{settings}}",
|
|
2039
|
+
fieldErrorsToast_one: "{{count}} paramètre nécessite votre attention : {{settings}}",
|
|
2040
|
+
fieldErrorsToast_many: "{{count}} de paramètres nécessitent votre attention : {{settings}}",
|
|
2041
|
+
fieldErrorsToast_other: "{{count}} paramètres nécessitent votre attention : {{settings}}",
|
|
1983
2042
|
cryptoRefusalTitle: "Ce déploiement ne peut pas chiffrer les secrets",
|
|
1984
2043
|
cryptoRefusalSubjectSuffix: "est déclaré chiffré, aucune écriture n'a donc eu lieu.",
|
|
1985
2044
|
cryptoRefusalNoSubject: "La valeur déclarée chiffrée a été refusée, aucune écriture n'a donc eu lieu.",
|
|
1986
2045
|
cryptoRefusalToast: "Impossible de chiffrer les secrets : {{subject}}",
|
|
1987
2046
|
cryptoRefusalToastNoSubject: "Impossible de chiffrer les secrets",
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
2047
|
+
sourceBadgeInherited: "Hérité de {{source}}",
|
|
2048
|
+
sourceBadgeOverrides: "Remplace {{source}}",
|
|
2049
|
+
resetToDefault: "Rétablir la valeur par défaut",
|
|
2050
|
+
envLockBadge: "Verrouillé par l'env.",
|
|
2051
|
+
envLockBadgeTitle: "Fixé par une variable d'environnement — modification impossible depuis l'interface.",
|
|
2052
|
+
deprecatedBadge: "Obsolète",
|
|
2053
|
+
deprecatedBadgeReplacedBy: "Obsolète → {{replacedBy}}",
|
|
2054
|
+
unsupportedSpecifierType: "Type de paramètre non pris en charge : {{type}}",
|
|
2055
|
+
},
|
|
2056
|
+
workspaceTimezonePrompt: {
|
|
2057
|
+
title: "Définir le fuseau horaire du système",
|
|
2058
|
+
description: "Ce système utilise encore le fuseau horaire par défaut de la plateforme, {{current}}. Le fuseau horaire du système détermine ce que signifie « aujourd’hui » dans les formules, la façon dont les rapports regroupent les dates et l’affichage des dates et des heures, pour tous les utilisateurs du système. Le fuseau horaire de votre navigateur est renseigné ci-dessous.",
|
|
2059
|
+
laterHint: "Vous pouvez le modifier à tout moment sur la page Paramètres.",
|
|
2060
|
+
decline: "Conserver la valeur par défaut",
|
|
2061
|
+
confirm: "Définir le fuseau horaire",
|
|
2062
|
+
saved: "Fuseau horaire du système défini sur {{zone}}",
|
|
1993
2063
|
},
|
|
1994
2064
|
error: {
|
|
1995
2065
|
connectionFailed: "Impossible de se connecter au serveur",
|
|
@@ -2014,27 +2084,28 @@ const fr = {
|
|
|
2014
2084
|
groups: {
|
|
2015
2085
|
general: "Général",
|
|
2016
2086
|
navigation: "Navigation",
|
|
2017
|
-
dataViews: "Vues de données",
|
|
2018
2087
|
aiChat: "Assistant IA",
|
|
2019
|
-
preferences: "Préférences",
|
|
2020
2088
|
},
|
|
2021
2089
|
openCommandPalette: "Ouvrir la palette de commandes",
|
|
2022
2090
|
showShortcuts: "Afficher les raccourcis clavier",
|
|
2023
2091
|
closeDialog: "Fermer le dialogue / panneau",
|
|
2024
2092
|
toggleSidebar: "Basculer la barre latérale",
|
|
2025
|
-
focusSearch: "Focus sur la recherche",
|
|
2026
|
-
createRecord: "Créer un nouvel enregistrement",
|
|
2027
|
-
refreshData: "Actualiser les données",
|
|
2028
|
-
editRecord: "Modifier l'enregistrement sélectionné",
|
|
2029
2093
|
newChat: "Nouvelle discussion",
|
|
2030
2094
|
toggleChatsList: "Basculer la liste des discussions",
|
|
2031
|
-
|
|
2095
|
+
goHome: "Retour à l'accueil",
|
|
2096
|
+
},
|
|
2097
|
+
reportIndex: {
|
|
2098
|
+
title: "Rapports",
|
|
2099
|
+
emptyTitle: "Aucun rapport",
|
|
2100
|
+
emptyDescription: "Cette application n’a aucun rapport que vous pouvez ouvrir.",
|
|
2032
2101
|
},
|
|
2033
2102
|
commandPalette: {
|
|
2034
2103
|
title: "Palette de commandes",
|
|
2035
2104
|
placeholder: "Tapez une commande ou recherchez…",
|
|
2036
2105
|
noResults: "Aucun résultat trouvé.",
|
|
2037
2106
|
objects: "Objets",
|
|
2107
|
+
packages: "Packages",
|
|
2108
|
+
flows: "Flux",
|
|
2038
2109
|
dashboards: "Tableaux de bord",
|
|
2039
2110
|
pages: "Pages",
|
|
2040
2111
|
reports: "Rapports",
|
|
@@ -2053,9 +2124,9 @@ const fr = {
|
|
|
2053
2124
|
},
|
|
2054
2125
|
// objectui#9954 — see the `en` pack for what raises each case.
|
|
2055
2126
|
readRate: {
|
|
2056
|
-
ratioTitle: 'Volume de lecture inhabituel dans
|
|
2127
|
+
ratioTitle: 'Volume de lecture inhabituel dans ce système',
|
|
2057
2128
|
ratio: '{{ratio}} lignes sont lues pour chaque ligne écrite. La plateforme signale tout ce qui dépasse {{threshold}}. Rien n’est limité ni bloqué ; il s’agit d’un rapport permettant d’examiner le schéma de lecture.',
|
|
2058
|
-
noWritesTitle: 'Lectures sans aucune écriture dans
|
|
2129
|
+
noWritesTitle: 'Lectures sans aucune écriture dans ce système',
|
|
2059
2130
|
noWrites: 'Des lignes sont lues alors qu’aucune n’est écrite, de sorte que le taux de lecture n’a aucune limite supérieure. C’est la mesure la plus grave. La plateforme signale tout ce qui dépasse {{threshold}}. Rien n’est limité ni bloqué ; il s’agit d’un rapport permettant d’examiner le schéma de lecture.',
|
|
2060
2131
|
},
|
|
2061
2132
|
// objectui#10439 — see the `en` pack for what raises each case.
|
|
@@ -2096,12 +2167,14 @@ const fr = {
|
|
|
2096
2167
|
viewNameInvalid: "Utilisez des minuscules, des chiffres et des tirets bas ; commencez par une lettre ou un tiret bas.",
|
|
2097
2168
|
systemViewReadonly: "Vue système définie dans le code — en lecture seule.",
|
|
2098
2169
|
cannotEditMetaView: "Cette vue est intégrée et définie dans le code — elle ne peut pas être modifiée.",
|
|
2099
|
-
|
|
2170
|
+
resetView: "Réinitialiser la vue",
|
|
2171
|
+
resetViewTitle: "Rétablir le tri, les filtres et les largeurs de colonnes propres à cette vue. Seuls vos réglages changent.",
|
|
2100
2172
|
cannotDeleteMetaView: "Cette vue est intégrée et définie dans le code — elle ne peut pas être supprimée.",
|
|
2101
2173
|
expandToPage: "Ouvrir en pleine page",
|
|
2102
2174
|
objectNotFound: "Objet introuvable",
|
|
2103
2175
|
objectNotFoundDescription: "L'objet « {{objectName}} » n'existe pas dans la configuration actuelle.",
|
|
2104
2176
|
objectNotFoundHint: "Vérifiez les paramètres de navigation de votre application ou sélectionnez un autre objet dans la barre latérale.",
|
|
2177
|
+
objectPackageDisabled: "L'objet « {{objectName}} » appartient à un package désactivé et n'est donc pas servi.",
|
|
2105
2178
|
filterOrNotSavable: "Ce filtre relie les conditions par OU, ce qu'une vue enregistrée ne peut pas encore stocker. Il s'applique toujours à cette liste — supprimez le groupement OU pour l'enregistrer dans la vue.",
|
|
2106
2179
|
filterNestedNotSavable: "Ce filtre utilise des groupes de conditions imbriqués, qu'une vue enregistrée ne peut pas stocker. Aplatissez-le en une seule liste de conditions pour l'enregistrer dans la vue.",
|
|
2107
2180
|
allRecords: "Tous les enregistrements",
|
|
@@ -2192,6 +2265,10 @@ const fr = {
|
|
|
2192
2265
|
ufAddField: "+ Ajouter un champ de filtre…",
|
|
2193
2266
|
ufShowAllRecords: "Afficher l'onglet \"Tous les enregistrements\"",
|
|
2194
2267
|
},
|
|
2268
|
+
runtimeDraft: {
|
|
2269
|
+
publishFailed: "Échec de la publication",
|
|
2270
|
+
discardFailed: "Échec de l'abandon du brouillon",
|
|
2271
|
+
},
|
|
2195
2272
|
localeSwitcher: {
|
|
2196
2273
|
label: "Langue",
|
|
2197
2274
|
},
|
|
@@ -2199,17 +2276,22 @@ const fr = {
|
|
|
2199
2276
|
nav: {
|
|
2200
2277
|
pinItem: "Épingler {{name}}",
|
|
2201
2278
|
unpinItem: "Désépingler {{name}}",
|
|
2202
|
-
dragToReorder: "Glisser pour réorganiser",
|
|
2203
2279
|
favorites: "Favoris",
|
|
2204
2280
|
launcherLabel: "Lanceur d'applications",
|
|
2205
2281
|
menuLabel: "Navigation de l'application",
|
|
2206
2282
|
menuEmpty: "Cette application n'a aucune entrée de navigation que vous pouvez ouvrir.",
|
|
2283
|
+
itemMenu: "Plus d'actions pour {{name}}",
|
|
2284
|
+
openInNewTab: "Ouvrir dans un nouvel onglet",
|
|
2285
|
+
copyLink: "Copier le lien",
|
|
2286
|
+
linkCopied: "Lien copié dans le presse-papiers",
|
|
2287
|
+
linkCopyFailed: "Impossible de copier le lien",
|
|
2288
|
+
design: "Concevoir",
|
|
2207
2289
|
},
|
|
2208
2290
|
},
|
|
2209
2291
|
auth: {
|
|
2210
2292
|
setPassword: {
|
|
2211
2293
|
title: "Définir un mot de passe de secours",
|
|
2212
|
-
description: "Vous vous êtes connecté via l'authentification unique. Définissez un mot de passe local afin de pouvoir toujours vous connecter directement
|
|
2294
|
+
description: "Vous vous êtes connecté via l'authentification unique. Définissez un mot de passe local afin de pouvoir toujours vous connecter directement si le SSO devenait indisponible.",
|
|
2213
2295
|
email: "E-mail",
|
|
2214
2296
|
newPassword: "Nouveau mot de passe",
|
|
2215
2297
|
confirmPassword: "Confirmer le mot de passe",
|
|
@@ -2225,9 +2307,8 @@ const fr = {
|
|
|
2225
2307
|
signingIn: "Connexion en cours…",
|
|
2226
2308
|
ssoHandoff: "Continuer vers {{target}}",
|
|
2227
2309
|
devAdminHint: {
|
|
2228
|
-
title: "Instance de développement",
|
|
2229
|
-
|
|
2230
|
-
dismiss: "Ignorer",
|
|
2310
|
+
title: "Instance de développement locale",
|
|
2311
|
+
signIn: "Se connecter en tant qu'administrateur de développement",
|
|
2231
2312
|
},
|
|
2232
2313
|
title: "Connectez-vous à votre compte",
|
|
2233
2314
|
description: "Entrez votre e-mail et votre mot de passe pour continuer",
|
|
@@ -2259,6 +2340,20 @@ const fr = {
|
|
|
2259
2340
|
usePasswordSignInText: "Se connecter avec un mot de passe à la place",
|
|
2260
2341
|
socialButton: "Continuer avec {provider}",
|
|
2261
2342
|
orText: "ou continuer avec l'e-mail",
|
|
2343
|
+
ssoButton: "Se connecter avec le SSO",
|
|
2344
|
+
ssoOnlyDescription: "Connectez-vous avec l'authentification unique de votre organisation",
|
|
2345
|
+
usePasswordText: "Utiliser un mot de passe à la place",
|
|
2346
|
+
backToSsoText: "Revenir à l'authentification unique",
|
|
2347
|
+
// objectui#12600 — the console login card's own header, the password
|
|
2348
|
+
// field's reveal toggle, and the footer's legal links.
|
|
2349
|
+
welcomeTitle: "Bon retour",
|
|
2350
|
+
welcomeDescription: "Connectez-vous pour reprendre votre travail",
|
|
2351
|
+
showPasswordText: "Afficher le mot de passe",
|
|
2352
|
+
hidePasswordText: "Masquer le mot de passe",
|
|
2353
|
+
footer: {
|
|
2354
|
+
privacy: "Confidentialité",
|
|
2355
|
+
terms: "Conditions",
|
|
2356
|
+
},
|
|
2262
2357
|
},
|
|
2263
2358
|
register: {
|
|
2264
2359
|
title: "Créer un compte",
|
|
@@ -2281,7 +2376,7 @@ const fr = {
|
|
|
2281
2376
|
orText: "ou continuer avec l'e-mail",
|
|
2282
2377
|
errors: {
|
|
2283
2378
|
userExists: "Un compte avec cet e-mail existe déjà. Essayez de vous connecter.",
|
|
2284
|
-
selfRegistrationClosed: "L'inscription libre n'est pas ouverte
|
|
2379
|
+
selfRegistrationClosed: "L'inscription libre n'est pas ouverte sur ce système. Demandez une invitation à un administrateur.",
|
|
2285
2380
|
emailDomainNotAllowed: "Le domaine de cet e-mail n'est pas autorisé à s'inscrire ici. Utilisez l'e-mail de votre organisation ou demandez une invitation à un administrateur.",
|
|
2286
2381
|
},
|
|
2287
2382
|
verifyInbox: {
|
|
@@ -2358,7 +2453,7 @@ const fr = {
|
|
|
2358
2453
|
checkSpam: "E-mail non reçu ? Vérifiez votre dossier spam ou contactez le support.",
|
|
2359
2454
|
or: "Ou",
|
|
2360
2455
|
// objectui#3546 slice three.
|
|
2361
|
-
resendUnavailable: "L'envoi d'e-mails n'est peut-être pas configuré pour
|
|
2456
|
+
resendUnavailable: "L'envoi d'e-mails n'est peut-être pas configuré pour ce système. Contactez le support si le problème persiste.",
|
|
2362
2457
|
},
|
|
2363
2458
|
setup: {
|
|
2364
2459
|
welcomeTitle: "Bienvenue sur ObjectStack",
|
|
@@ -2402,7 +2497,7 @@ const fr = {
|
|
|
2402
2497
|
disabledDescription: "L'autorisation d'appareil n'est pas activée sur ce déploiement, cet appareil ne peut donc pas être approuvé ici.",
|
|
2403
2498
|
},
|
|
2404
2499
|
shell: {
|
|
2405
|
-
tenantHostHint: "Vous vous connectez à
|
|
2500
|
+
tenantHostHint: "Vous vous connectez à ce système",
|
|
2406
2501
|
},
|
|
2407
2502
|
layout: {
|
|
2408
2503
|
headline: "Créez des applications métier puissantes, plus vite.",
|
|
@@ -2412,6 +2507,7 @@ const fr = {
|
|
|
2412
2507
|
signOut: "Se déconnecter à la place",
|
|
2413
2508
|
password: {
|
|
2414
2509
|
title: "Votre mot de passe a expiré",
|
|
2510
|
+
resetTitle: "Vous devez changer votre mot de passe",
|
|
2415
2511
|
fallbackMessage: "Veuillez définir un nouveau mot de passe pour continuer.",
|
|
2416
2512
|
current: "Mot de passe actuel",
|
|
2417
2513
|
next: "Nouveau mot de passe",
|
|
@@ -2437,6 +2533,11 @@ const fr = {
|
|
|
2437
2533
|
verifying: "Vérification…",
|
|
2438
2534
|
invalidCode: "Code invalide. Veuillez réessayer.",
|
|
2439
2535
|
},
|
|
2536
|
+
impersonation: {
|
|
2537
|
+
passwordTitle: "{{user}} doit changer son mot de passe",
|
|
2538
|
+
mfaTitle: "{{user}} doit configurer l'authentification à deux facteurs",
|
|
2539
|
+
body: "Vous incarnez {{user}}, et seule cette personne peut le faire elle-même. Arrêtez l'usurpation pour revenir à votre propre compte.",
|
|
2540
|
+
},
|
|
2440
2541
|
},
|
|
2441
2542
|
},
|
|
2442
2543
|
// objectui#3546 slice three — the /oauth/consent screen.
|
|
@@ -2445,12 +2546,17 @@ const fr = {
|
|
|
2445
2546
|
title: "{{appName}} souhaite accéder à votre compte",
|
|
2446
2547
|
request: "{{appName}} demande une autorisation{{suffix}}.",
|
|
2447
2548
|
unknownApp: "une application",
|
|
2549
|
+
unidentified: "Cette application n'a pas pu être identifiée.",
|
|
2550
|
+
clientId: "ID client",
|
|
2448
2551
|
willAllow: "Cette application pourra :",
|
|
2449
2552
|
scope: {
|
|
2450
2553
|
openid: "Confirmer votre identité",
|
|
2451
2554
|
profile: "Lire votre profil de base (nom, photo)",
|
|
2452
2555
|
email: "Lire votre adresse e-mail",
|
|
2453
2556
|
offlineAccess: "Rester connecté (renouveler l'accès)",
|
|
2557
|
+
dataRead: "Lire des enregistrements (dans la limite de vos propres autorisations)",
|
|
2558
|
+
dataWrite: "Créer, modifier et supprimer des enregistrements (dans la limite de vos propres autorisations)",
|
|
2559
|
+
actionsExecute: "Exécuter des actions en votre nom (dans la limite de vos propres autorisations)",
|
|
2454
2560
|
},
|
|
2455
2561
|
deny: "Refuser",
|
|
2456
2562
|
authorize: "Autoriser",
|
|
@@ -2493,8 +2599,8 @@ const fr = {
|
|
|
2493
2599
|
password: {
|
|
2494
2600
|
changeTitle: "Changer le mot de passe",
|
|
2495
2601
|
setTitle: "Définir un mot de passe local",
|
|
2496
|
-
changeDescription: "Mettez à jour le mot de passe que vous utilisez pour vous connecter
|
|
2497
|
-
setDescription: "Vous vous êtes connecté via l'authentification unique. Définissez un mot de passe local pour pouvoir également vous connecter avec votre e-mail et un mot de passe
|
|
2602
|
+
changeDescription: "Mettez à jour le mot de passe que vous utilisez pour vous connecter.",
|
|
2603
|
+
setDescription: "Vous vous êtes connecté via l'authentification unique. Définissez un mot de passe local pour pouvoir également vous connecter avec votre e-mail et un mot de passe.",
|
|
2498
2604
|
current: "Mot de passe actuel",
|
|
2499
2605
|
new: "Nouveau mot de passe",
|
|
2500
2606
|
password: "Mot de passe",
|
|
@@ -2503,7 +2609,7 @@ const fr = {
|
|
|
2503
2609
|
mismatch: "Les mots de passe ne correspondent pas",
|
|
2504
2610
|
enterCurrent: "Saisissez votre mot de passe actuel",
|
|
2505
2611
|
changed: "Mot de passe modifié.",
|
|
2506
|
-
localSet: "Mot de passe local défini. Vous pouvez désormais vous connecter avec votre e-mail et votre mot de passe
|
|
2612
|
+
localSet: "Mot de passe local défini. Vous pouvez désormais vous connecter avec votre e-mail et votre mot de passe.",
|
|
2507
2613
|
changeAction: "Changer le mot de passe",
|
|
2508
2614
|
setAction: "Définir le mot de passe",
|
|
2509
2615
|
},
|
|
@@ -2518,21 +2624,21 @@ const fr = {
|
|
|
2518
2624
|
unknown: "Une erreur inattendue s'est produite.",
|
|
2519
2625
|
},
|
|
2520
2626
|
workspace: {
|
|
2521
|
-
label: "
|
|
2522
|
-
default: "Mon
|
|
2523
|
-
switch: "Changer d'
|
|
2524
|
-
createTitle: "Créer
|
|
2525
|
-
createDescription: "
|
|
2526
|
-
createButton: "Créer
|
|
2527
|
-
nameLabel: "Nom de l'
|
|
2627
|
+
label: "Organisations",
|
|
2628
|
+
default: "Mon organisation",
|
|
2629
|
+
switch: "Changer d'organisation",
|
|
2630
|
+
createTitle: "Créer une organisation",
|
|
2631
|
+
createDescription: "Une organisation est un lieu partagé pour la collaboration de votre équipe.",
|
|
2632
|
+
createButton: "Créer une organisation",
|
|
2633
|
+
nameLabel: "Nom de l'organisation",
|
|
2528
2634
|
namePlaceholder: "p.ex., Acme Inc",
|
|
2529
2635
|
slugLabel: "Slug URL",
|
|
2530
2636
|
slugHint: "Utilisé dans les URL. Uniquement lettres minuscules, chiffres et tirets.",
|
|
2531
2637
|
invite: "Inviter un membre",
|
|
2532
2638
|
members: "Membres",
|
|
2533
|
-
settings: "Paramètres de l'
|
|
2639
|
+
settings: "Paramètres de l'organisation",
|
|
2534
2640
|
multiOrgDisabled: "La création de nouvelles organisations est désactivée sur cette instance.",
|
|
2535
|
-
createFailed: "Échec de la création de l'
|
|
2641
|
+
createFailed: "Échec de la création de l'organisation",
|
|
2536
2642
|
},
|
|
2537
2643
|
help: {
|
|
2538
2644
|
onThisPage: "Sur cette page",
|
|
@@ -2540,6 +2646,12 @@ const fr = {
|
|
|
2540
2646
|
appDocs: 'Documentation de cette app',
|
|
2541
2647
|
allDocs: 'Toute la documentation',
|
|
2542
2648
|
onlineDocs: 'Documentation en ligne',
|
|
2649
|
+
loadingDocumentation: 'Chargement de la documentation',
|
|
2650
|
+
about: 'À propos',
|
|
2651
|
+
aboutTitle: 'À propos de cette console',
|
|
2652
|
+
aboutDescription: 'Le build à partir duquel cette console a été compilée.',
|
|
2653
|
+
aboutBuild: 'Build de la console',
|
|
2654
|
+
aboutBuildUnknown: 'Build inconnu (aucune version n’a été définie lors de la compilation de cette console)',
|
|
2543
2655
|
},
|
|
2544
2656
|
sidebar: {
|
|
2545
2657
|
packageManagement: "Gestion des packages",
|
|
@@ -2554,18 +2666,16 @@ const fr = {
|
|
|
2554
2666
|
area: "Zone",
|
|
2555
2667
|
scope: "Périmètre",
|
|
2556
2668
|
recent: "Récent",
|
|
2557
|
-
favorites: "Favoris",
|
|
2558
2669
|
starred: "Étoilés",
|
|
2559
2670
|
removeFromFavorites: "Retirer {{name}} des favoris",
|
|
2671
|
+
allReports: "Tous les rapports",
|
|
2560
2672
|
},
|
|
2561
2673
|
topbar: {
|
|
2562
2674
|
openAssistant: "Ouvrir l'assistant {{name}}",
|
|
2563
2675
|
offline: "Hors ligne",
|
|
2564
2676
|
usersOnline: "Utilisateurs actuellement en ligne",
|
|
2565
2677
|
switchView: "Changer de vue",
|
|
2566
|
-
switchObject: "Changer d'objet",
|
|
2567
2678
|
connection: {
|
|
2568
|
-
connected: "Connecté",
|
|
2569
2679
|
connecting: "Connexion…",
|
|
2570
2680
|
reconnecting: "Reconnexion…",
|
|
2571
2681
|
disconnected: "Déconnecté",
|
|
@@ -2578,23 +2688,22 @@ const fr = {
|
|
|
2578
2688
|
},
|
|
2579
2689
|
aiAssistant: "Assistant IA",
|
|
2580
2690
|
designInStudio: "Concevoir dans Studio",
|
|
2691
|
+
editApp: "Modifier l'application",
|
|
2581
2692
|
},
|
|
2582
2693
|
home: {
|
|
2583
2694
|
build: {
|
|
2584
2695
|
title: "Créer une application",
|
|
2585
|
-
|
|
2586
|
-
noCapability: "La création d'applications n'est pas disponible dans cet espace de travail : elle requiert l'autorisation « Gérer les métadonnées », que votre compte ne possède pas.",
|
|
2696
|
+
noCapability: "La création d'applications n'est pas disponible dans ce système : elle requiert l'autorisation « Gérer les métadonnées », que votre compte ne possède pas.",
|
|
2587
2697
|
},
|
|
2588
2698
|
template: {
|
|
2589
2699
|
title: "Partir d'un modèle",
|
|
2590
|
-
subtitle: "Installez une application modèle depuis la place de marché et personnalisez-la.",
|
|
2591
2700
|
marketplaceDisabled: "Aucune place de marché d'applications n'est configurée pour ce runtime : il n'y a donc aucun modèle à installer ici.",
|
|
2592
2701
|
},
|
|
2593
2702
|
welcomeAdminDescription: "Décrivez votre activité en une phrase — l'IA génère les objets, les écrans, les API et les outils d'agent. Ou configurez tout vous-même depuis le menu de gauche.",
|
|
2594
2703
|
welcomeAdminDescriptionNoBuild: "Configurez votre première application depuis le menu Administration à gauche. Une fois les données en place, l'assistant IA pourra vous aider à les explorer.",
|
|
2595
2704
|
welcomeAdminDescriptionNoAi: "Configurez votre première application depuis le menu Administration à gauche.",
|
|
2596
2705
|
noAppsTitle: "Aucune application pour l'instant",
|
|
2597
|
-
noAppsDescription: "
|
|
2706
|
+
noAppsDescription: "Le système est en cours de configuration — les applications partagées par votre administrateur apparaîtront ici.",
|
|
2598
2707
|
buildWithAI: "Créer avec l'IA",
|
|
2599
2708
|
askAI: "Demander à l'IA",
|
|
2600
2709
|
recoveryReminder: {
|
|
@@ -2603,10 +2712,16 @@ const fr = {
|
|
|
2603
2712
|
dismiss: "Ignorer",
|
|
2604
2713
|
},
|
|
2605
2714
|
pendingDrafts: {
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2715
|
+
// objectui#12602 — the drafts row in Home's "My work" section: the
|
|
2716
|
+
// count, then the first draft names joined by `nameSeparator`, in
|
|
2717
|
+
// their package when they share one.
|
|
2718
|
+
title: "{{count}} modification(s) non publiée(s)",
|
|
2719
|
+
title_one: "{{count}} modification non publiée",
|
|
2720
|
+
title_many: "{{count}} modifications non publiées",
|
|
2721
|
+
title_other: "{{count}} modifications non publiées",
|
|
2722
|
+
inPackage: "{{names}} en attente de publication dans {{package}}",
|
|
2723
|
+
waiting: "{{names}} en attente de publication",
|
|
2724
|
+
nameSeparator: ", ",
|
|
2610
2725
|
cta: "Publier",
|
|
2611
2726
|
publishing: "Publication…",
|
|
2612
2727
|
published: "Publié ! Vos modifications sont actives.",
|
|
@@ -2627,11 +2742,18 @@ const fr = {
|
|
|
2627
2742
|
showMoreApps: "Plus",
|
|
2628
2743
|
showLess: "Afficher moins",
|
|
2629
2744
|
continueEmpty: "Les éléments que vous ouvrez apparaîtront ici.",
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2745
|
+
// objectui#12602 — Home's "My work" section: its heading, the link to the
|
|
2746
|
+
// full inbox, each column's title, "view all" link and empty line.
|
|
2747
|
+
myWork: {
|
|
2748
|
+
title: "Mon travail",
|
|
2749
|
+
openInbox: "Ouvrir la boîte de réception",
|
|
2750
|
+
viewAll: "Tout afficher",
|
|
2751
|
+
approvals: "À approuver",
|
|
2752
|
+
approvalsEmpty: "Rien n'attend votre approbation",
|
|
2753
|
+
notifications: "Notifications",
|
|
2754
|
+
notificationsEmpty: "Aucune notification non lue",
|
|
2633
2755
|
},
|
|
2634
|
-
loading: "Chargement
|
|
2756
|
+
loading: "Chargement…",
|
|
2635
2757
|
welcome: "Bienvenue dans ObjectUI",
|
|
2636
2758
|
welcomeDescription: "Commencez par créer votre première application ou configurer les paramètres système.",
|
|
2637
2759
|
createFirstApp: "Créez votre première app",
|
|
@@ -2642,7 +2764,7 @@ const fr = {
|
|
|
2642
2764
|
manageObjects: "Gérer les objets",
|
|
2643
2765
|
manageObjectsDesc: "Configurer les modèles de données",
|
|
2644
2766
|
systemSettings: "Paramètres système",
|
|
2645
|
-
systemSettingsDesc: "Configurez votre
|
|
2767
|
+
systemSettingsDesc: "Configurez votre système",
|
|
2646
2768
|
},
|
|
2647
2769
|
appCard: {
|
|
2648
2770
|
noDescription: "Aucune description",
|
|
@@ -2652,7 +2774,18 @@ const fr = {
|
|
|
2652
2774
|
greetingAfternoon: "Bon après-midi",
|
|
2653
2775
|
greetingEvening: "Bonsoir",
|
|
2654
2776
|
greetingNight: "Travail de nuit",
|
|
2655
|
-
|
|
2777
|
+
greetingSeparator: ", ",
|
|
2778
|
+
greetingEnd: ".",
|
|
2779
|
+
search: "Rechercher des applications, enregistrements, pages…",
|
|
2780
|
+
summary: {
|
|
2781
|
+
approvals: "{{count}} approbations vous attendent aujourd'hui",
|
|
2782
|
+
approvals_one: "{{count}} approbation vous attend aujourd'hui",
|
|
2783
|
+
approvals_many: "{{count}} approbations vous attendent aujourd'hui",
|
|
2784
|
+
approvals_other: "{{count}} approbations vous attendent aujourd'hui",
|
|
2785
|
+
none: "Rien ne vous attend aujourd'hui",
|
|
2786
|
+
},
|
|
2787
|
+
addApp: "Ajouter une application",
|
|
2788
|
+
appOpened: "{{time}}",
|
|
2656
2789
|
open: "Ouvrir",
|
|
2657
2790
|
recentApps: {
|
|
2658
2791
|
title: "Récemment ouverts",
|
|
@@ -2661,6 +2794,8 @@ const fr = {
|
|
|
2661
2794
|
dashboard: "Tableau de bord",
|
|
2662
2795
|
page: "Page",
|
|
2663
2796
|
report: "Rapport",
|
|
2797
|
+
package: "Package",
|
|
2798
|
+
view: "Vue de liste",
|
|
2664
2799
|
record: "Enregistrement",
|
|
2665
2800
|
metadata: "Métadonnées",
|
|
2666
2801
|
},
|
|
@@ -2698,11 +2833,17 @@ const fr = {
|
|
|
2698
2833
|
manageAllApps: "Gérer toutes les applications",
|
|
2699
2834
|
systemConsole: "Console système",
|
|
2700
2835
|
noAppsConfigured: "Aucune application configurée",
|
|
2836
|
+
allApps: "Toutes les applications",
|
|
2837
|
+
editAppInStudio: "Modifier {{app}} dans Studio",
|
|
2838
|
+
backToHome: "Retour à l'accueil",
|
|
2839
|
+
settings: "Paramètres",
|
|
2840
|
+
productHome: "Accueil {{product}}",
|
|
2701
2841
|
},
|
|
2702
2842
|
activityFeed: {
|
|
2703
2843
|
title: "Activité récente",
|
|
2704
2844
|
filter: "Filtrer",
|
|
2705
2845
|
empty: "Aucune activité récente",
|
|
2846
|
+
accessDenied: "Vous n'avez pas l'autorisation de consulter l'activité.",
|
|
2706
2847
|
ariaLabel: "Fil d'activité",
|
|
2707
2848
|
typeCreate: "Créer",
|
|
2708
2849
|
typeUpdate: "Mettre à jour",
|
|
@@ -2769,11 +2910,19 @@ const fr = {
|
|
|
2769
2910
|
appAccessDenied: "Vous n'avez pas accès à cette application",
|
|
2770
2911
|
appAccessDeniedDescription: "Cette application existe, mais votre compte n'est pas autorisé à l'ouvrir. Demandez l'accès à un administrateur.",
|
|
2771
2912
|
appAccessDeniedHome: "Retour à l'accueil",
|
|
2913
|
+
appNothingAvailable: "Rien dans {{app}} ne vous est encore accessible",
|
|
2914
|
+
appNothingAvailableDescription: "Cette application ne contient aucune page que votre compte peut ouvrir. Demandez l'accès à un administrateur.",
|
|
2915
|
+
appNothingAvailableGrantDescription: "Cette application ne contient aucune page que votre compte peut ouvrir. Vous pouvez accorder l'accès dans la configuration.",
|
|
2916
|
+
openSetup: "Ouvrir la configuration",
|
|
2772
2917
|
createFirstApp: "Créer la première application",
|
|
2773
2918
|
systemSettings: "Paramètres système",
|
|
2774
2919
|
back: "Retour",
|
|
2775
2920
|
recordNotFound: "Enregistrement introuvable",
|
|
2776
2921
|
recordNotFoundDescription: "L'enregistrement que vous recherchez n'existe pas ou a peut-être été supprimé.",
|
|
2922
|
+
recordAccessDenied: "Vous n'avez pas accès aux enregistrements {{object}}",
|
|
2923
|
+
recordAccessDeniedDescription: "Vous n'avez pas la permission de consulter les enregistrements de ce type. Contactez votre administrateur si vous pensez devoir y accéder.",
|
|
2924
|
+
recordLoadFailed: "Impossible de charger cet enregistrement",
|
|
2925
|
+
recordLoadFailedDescription: "Une erreur s'est produite lors du chargement. Vérifiez votre connexion et réessayez.",
|
|
2777
2926
|
},
|
|
2778
2927
|
actionDialog: {
|
|
2779
2928
|
title: "Paramètres d'action",
|
|
@@ -2806,12 +2955,16 @@ const fr = {
|
|
|
2806
2955
|
updateFailed: "Impossible de mettre à jour la navigation",
|
|
2807
2956
|
},
|
|
2808
2957
|
objectActions: {
|
|
2809
|
-
resetPackageSetConfirm: "Ce jeu d'autorisations est fourni avec un package installé et ne peut pas être supprimé. La suppression le réinitialise à la version livrée et abandonne vos personnalisations dans cet environnement. Continuer ?",
|
|
2810
|
-
resetPackageSetSuccess: "Jeu d'autorisations réinitialisé à la version livrée",
|
|
2811
2958
|
deleteSuccess: "{{label}} supprimé avec succès",
|
|
2812
2959
|
deleteFailed: "Impossible de supprimer {{label}}",
|
|
2813
2960
|
noRecordId: "Aucun ID d'enregistrement fourni",
|
|
2814
2961
|
deleteConfirm: "Supprimer cet enregistrement ?",
|
|
2962
|
+
deleteConfirmTitle: "Supprimer {{label}} \"{{name}}\" ?",
|
|
2963
|
+
bulkDeleteConfirmTitle: "Supprimer {{count}} enregistrement(s) {{label}} ?",
|
|
2964
|
+
bulkDeleteConfirmTitle_one: "Supprimer {{count}} enregistrement {{label}} ?",
|
|
2965
|
+
bulkDeleteConfirmTitle_many: "Supprimer {{count}} d'enregistrements {{label}} ?",
|
|
2966
|
+
bulkDeleteConfirmTitle_other: "Supprimer {{count}} enregistrements {{label}} ?",
|
|
2967
|
+
deleteConfirmButton: "Supprimer",
|
|
2815
2968
|
bulkDeleteSuccess: "{{count}} enregistrement(s) {{label}} supprimé(s)",
|
|
2816
2969
|
bulkDeleteSuccess_one: "{{count}} enregistrement {{label}} supprimé",
|
|
2817
2970
|
bulkDeleteSuccess_many: "{{count}} d'enregistrements {{label}} supprimés",
|
|
@@ -2848,6 +3001,7 @@ const fr = {
|
|
|
2848
3001
|
loading: "Chargement…",
|
|
2849
3002
|
failedToLoad: "Échec du chargement de la matrice : {{message}}",
|
|
2850
3003
|
needsAcross: "Le rapport matriciel nécessite au moins un champ `groupingsAcross`.",
|
|
3004
|
+
forbiddenMessage: "Vous n’avez pas l’autorisation de voir les données de ce rapport.",
|
|
2851
3005
|
aggregate: {
|
|
2852
3006
|
count: "Compter",
|
|
2853
3007
|
countDistinct: "Compter distincts",
|
|
@@ -2862,18 +3016,18 @@ const fr = {
|
|
|
2862
3016
|
},
|
|
2863
3017
|
},
|
|
2864
3018
|
organizations: {
|
|
2865
|
-
create: "Créer
|
|
2866
|
-
mine: "Mes
|
|
2867
|
-
title: "
|
|
2868
|
-
heading: "Vos
|
|
2869
|
-
subtitle: "Sélectionnez
|
|
2870
|
-
searchPlaceholder: "Rechercher
|
|
2871
|
-
new: "
|
|
2872
|
-
current: "
|
|
3019
|
+
create: "Créer une organisation",
|
|
3020
|
+
mine: "Mes organisations",
|
|
3021
|
+
title: "Organisations",
|
|
3022
|
+
heading: "Vos organisations",
|
|
3023
|
+
subtitle: "Sélectionnez une organisation pour continuer ou créez-en une nouvelle.",
|
|
3024
|
+
searchPlaceholder: "Rechercher une organisation",
|
|
3025
|
+
new: "Nouvelle organisation",
|
|
3026
|
+
current: "Organisation actuelle",
|
|
2873
3027
|
manage: "Gérer",
|
|
2874
|
-
emptyTitle: "
|
|
2875
|
-
emptyDescription: "Créez votre
|
|
2876
|
-
noMatches: "
|
|
3028
|
+
emptyTitle: "Aucune organisation pour le moment",
|
|
3029
|
+
emptyDescription: "Créez votre première organisation pour commencer.",
|
|
3030
|
+
noMatches: "Aucune organisation ne correspond à votre recherche.",
|
|
2877
3031
|
},
|
|
2878
3032
|
organization: {
|
|
2879
3033
|
roles: {
|
|
@@ -2958,6 +3112,7 @@ const fr = {
|
|
|
2958
3112
|
readOnlyNote: "Seuls les propriétaires peuvent modifier les paramètres.",
|
|
2959
3113
|
nameLabel: "Nom de l'organisation",
|
|
2960
3114
|
slugLabel: "Slug",
|
|
3115
|
+
slugLockedNote: "Cette organisation a des environnements actifs, son slug ne peut donc pas être modifié ici : le renommer déplace aussi leurs sous-domaines.",
|
|
2961
3116
|
logoLabel: "Logo",
|
|
2962
3117
|
logoUpload: "Téléverser",
|
|
2963
3118
|
logoReplace: "Remplacer",
|
|
@@ -3032,8 +3187,14 @@ const fr = {
|
|
|
3032
3187
|
noPendingApprovals: "Aucune approbation en attente",
|
|
3033
3188
|
openApprovalsInbox: "Ouvrir la boîte d'approbations",
|
|
3034
3189
|
badgeTotal: "{{total}} au total",
|
|
3035
|
-
badgeNotifications: "{{
|
|
3036
|
-
|
|
3190
|
+
badgeNotifications: "{{count}} notifications",
|
|
3191
|
+
badgeNotifications_one: "{{count}} notification",
|
|
3192
|
+
badgeNotifications_many: "{{count}} de notifications",
|
|
3193
|
+
badgeNotifications_other: "{{count}} notifications",
|
|
3194
|
+
badgeApprovals: "{{count}} approbations en attente",
|
|
3195
|
+
badgeApprovals_one: "{{count}} approbation en attente",
|
|
3196
|
+
badgeApprovals_many: "{{count}} d'approbations en attente",
|
|
3197
|
+
badgeApprovals_other: "{{count}} approbations en attente",
|
|
3037
3198
|
arrivalMany: "{{count}} nouveaux messages",
|
|
3038
3199
|
arrivalMany_one: "{{count}} nouveau message",
|
|
3039
3200
|
arrivalMany_many: "{{count}} de nouveaux messages",
|
|
@@ -3080,10 +3241,10 @@ const fr = {
|
|
|
3080
3241
|
body: 'La surface MCP est désactivée (OS_MCP_SERVER_ENABLED=false). Demandez à votre opérateur de la réactiver.',
|
|
3081
3242
|
},
|
|
3082
3243
|
url: {
|
|
3083
|
-
title: 'Endpoint MCP de
|
|
3244
|
+
title: 'Endpoint MCP de ce système',
|
|
3084
3245
|
body: 'Tout client IA compatible MCP se connecte avec cette URL. L’identité est en libre-service : le déploiement est son propre serveur d’autorisation OAuth 2.1 — vous vous connectez en votre nom, et chaque appel s’exécute sous vos permissions et la sécurité au niveau des lignes.',
|
|
3085
3246
|
downloadSkill: 'Télécharger SKILL.md',
|
|
3086
|
-
skillHint: 'La skill d’agent portable : apprend à tout agent compatible à travailler avec
|
|
3247
|
+
skillHint: 'La skill d’agent portable : apprend à tout agent compatible à travailler avec ce système.',
|
|
3087
3248
|
},
|
|
3088
3249
|
claude: {
|
|
3089
3250
|
body: 'Paramètres → Connecteurs → Ajouter un connecteur personnalisé, collez cette URL puis connectez-vous dans le navigateur.',
|
|
@@ -3127,15 +3288,8 @@ const fr = {
|
|
|
3127
3288
|
importAction: "Importer",
|
|
3128
3289
|
dismiss: "Ignorer",
|
|
3129
3290
|
},
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
hintReady: "Votre environnement de production est prêt. Ouvrez-le pour créer et exécuter vos applications — tout se passe à l'intérieur.",
|
|
3133
|
-
createEnvironment: "Créer votre environnement",
|
|
3134
|
-
openProduction: "Ouvrir la production",
|
|
3135
|
-
manageEnvironments: "Gérer les environnements",
|
|
3136
|
-
},
|
|
3137
|
-
cloudPlanStatus: {
|
|
3138
|
-
current: "Offre actuelle",
|
|
3291
|
+
cloudWorkspaceTimezoneNotice: {
|
|
3292
|
+
seeded: "Le fuseau horaire de l’environnement a été défini sur {{zone}} d’après votre navigateur lors de sa création. Vous pouvez le modifier dans Paramètres → Localisation.",
|
|
3139
3293
|
},
|
|
3140
3294
|
ai: {
|
|
3141
3295
|
nlQuery: {
|
|
@@ -3214,8 +3368,8 @@ const fr = {
|
|
|
3214
3368
|
rowConversational: "Modèle Build / Ask",
|
|
3215
3369
|
rowStructured: "Structuré (blueprint / seed)",
|
|
3216
3370
|
rowReasoning: "Effort de raisonnement",
|
|
3217
|
-
readFailed: "Impossible de lire le modèle d'IA effectif.
|
|
3218
|
-
readFailedWithStatus: "Impossible de lire le modèle d'IA effectif (HTTP {{status}}).
|
|
3371
|
+
readFailed: "Impossible de lire le modèle d'IA effectif. Ce système n'exécute peut-être pas de service d'IA, ou vous n'avez pas la permission ai:read.",
|
|
3372
|
+
readFailedWithStatus: "Impossible de lire le modèle d'IA effectif (HTTP {{status}}). Ce système n'exécute peut-être pas de service d'IA, ou vous n'avez pas la permission ai:read.",
|
|
3219
3373
|
overridesInEffect: "Surcharges actives : ",
|
|
3220
3374
|
noOverrides: "aucune — les valeurs par défaut du code déployé s'appliquent.",
|
|
3221
3375
|
adapter: "Adaptateur : ",
|
|
@@ -3233,9 +3387,13 @@ const fr = {
|
|
|
3233
3387
|
// against). `humanizeToolName` looks each up as
|
|
3234
3388
|
// `chatbot.tool.<tool_name>` and falls back to its English
|
|
3235
3389
|
// title-caser for a custom / third-party tool, so a name
|
|
3236
|
-
// missing here is degraded, never broken.
|
|
3237
|
-
//
|
|
3238
|
-
//
|
|
3390
|
+
// missing here is degraded, never broken. Every value, `en`
|
|
3391
|
+
// included, is a short sentence in the pack's language
|
|
3392
|
+
// saying what the step does (cloud#2927 Target 3, ruled
|
|
3393
|
+
// 「同意」; objectui#12724): never the tool id, and never
|
|
3394
|
+
// the title-caser's output for it, which is how the step
|
|
3395
|
+
// reads for a tool the pack has no entry for.
|
|
3396
|
+
// `toolLabels-locale-parity-7481` holds both.
|
|
3239
3397
|
// `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
|
|
3240
3398
|
// set for both surfaces (they used to carry separate
|
|
3241
3399
|
// tables and disagreed on casing).
|
|
@@ -3253,42 +3411,48 @@ const fr = {
|
|
|
3253
3411
|
// pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
|
|
3254
3412
|
// against the registry instead of against its own hand-held list.
|
|
3255
3413
|
chatbot: {
|
|
3414
|
+
answer: {
|
|
3415
|
+
showFull: 'Afficher toute la réponse',
|
|
3416
|
+
collapse: 'Réduire',
|
|
3417
|
+
expandTable: 'Agrandir',
|
|
3418
|
+
exitExpandedTable: 'Fermer',
|
|
3419
|
+
},
|
|
3256
3420
|
tool: {
|
|
3257
|
-
aggregate_data: "
|
|
3258
|
-
get_record: "Lire
|
|
3259
|
-
query_data: "Interroger les données",
|
|
3260
|
-
query_records: "
|
|
3261
|
-
search_knowledge: "
|
|
3262
|
-
visualize_data: "
|
|
3263
|
-
add_field: "Ajouter un champ",
|
|
3264
|
-
apply_blueprint: "Construire l’application",
|
|
3265
|
-
apply_edit: "Appliquer
|
|
3266
|
-
create_metadata: "Créer
|
|
3267
|
-
create_object: "Créer un objet",
|
|
3268
|
-
create_package: "Créer un paquet",
|
|
3269
|
-
create_seed: "Générer des données d’exemple",
|
|
3270
|
-
delete_field: "Supprimer
|
|
3271
|
-
describe_metadata: "
|
|
3272
|
-
describe_object: "
|
|
3273
|
-
get_active_package: "
|
|
3274
|
-
get_authoring_rules: "
|
|
3275
|
-
get_metadata_schema: "
|
|
3276
|
-
get_package: "
|
|
3277
|
-
list_metadata: "Lister les métadonnées",
|
|
3278
|
-
list_objects: "Lister les objets",
|
|
3279
|
-
list_packages: "Lister les paquets",
|
|
3280
|
-
load_tools: "Charger
|
|
3281
|
-
modify_field: "Modifier
|
|
3282
|
-
open_record: "Ouvrir
|
|
3283
|
-
propose_blueprint: "
|
|
3284
|
-
set_active_package: "
|
|
3285
|
-
suggest_builder: "Proposer
|
|
3286
|
-
test_flow: "
|
|
3287
|
-
todo_write: "Noter les
|
|
3288
|
-
toggle_flow: "Activer ou désactiver
|
|
3289
|
-
update_metadata: "Mettre à jour
|
|
3290
|
-
validate_expression: "
|
|
3291
|
-
verify_build: "Vérifier la construction",
|
|
3421
|
+
aggregate_data: "Synthétiser les données",
|
|
3422
|
+
get_record: "Lire l’enregistrement",
|
|
3423
|
+
query_data: "Interroger les données nécessaires",
|
|
3424
|
+
query_records: "Rechercher les enregistrements",
|
|
3425
|
+
search_knowledge: "Consulter la base de connaissances",
|
|
3426
|
+
visualize_data: "Représenter les données en graphique",
|
|
3427
|
+
add_field: "Ajouter un champ à l’objet",
|
|
3428
|
+
apply_blueprint: "Construire l’application selon le plan",
|
|
3429
|
+
apply_edit: "Appliquer la modification",
|
|
3430
|
+
create_metadata: "Créer un élément de métadonnées",
|
|
3431
|
+
create_object: "Créer un nouvel objet",
|
|
3432
|
+
create_package: "Créer un nouveau paquet",
|
|
3433
|
+
create_seed: "Générer des données d’exemple pour les objets",
|
|
3434
|
+
delete_field: "Supprimer le champ",
|
|
3435
|
+
describe_metadata: "Examiner les métadonnées",
|
|
3436
|
+
describe_object: "Examiner la structure de l’objet",
|
|
3437
|
+
get_active_package: "Vérifier le paquet actif",
|
|
3438
|
+
get_authoring_rules: "Consulter les règles d’écriture",
|
|
3439
|
+
get_metadata_schema: "Consulter le format des métadonnées",
|
|
3440
|
+
get_package: "Examiner le paquet",
|
|
3441
|
+
list_metadata: "Lister les métadonnées existantes",
|
|
3442
|
+
list_objects: "Lister les objets existants",
|
|
3443
|
+
list_packages: "Lister les paquets existants",
|
|
3444
|
+
load_tools: "Charger d’autres outils",
|
|
3445
|
+
modify_field: "Modifier le champ",
|
|
3446
|
+
open_record: "Ouvrir cette fiche",
|
|
3447
|
+
propose_blueprint: "Rédiger le plan de l’application",
|
|
3448
|
+
set_active_package: "Passer au paquet cible",
|
|
3449
|
+
suggest_builder: "Proposer de construire avec l’IA",
|
|
3450
|
+
test_flow: "Faire un essai du flux",
|
|
3451
|
+
todo_write: "Noter les vérifications à faire",
|
|
3452
|
+
toggle_flow: "Activer ou désactiver ce flux",
|
|
3453
|
+
update_metadata: "Mettre à jour un élément de métadonnées",
|
|
3454
|
+
validate_expression: "Vérifier l’expression",
|
|
3455
|
+
verify_build: "Vérifier le résultat de la construction",
|
|
3292
3456
|
},
|
|
3293
3457
|
toolState: {
|
|
3294
3458
|
agentActivity: "Activité de l’agent",
|
|
@@ -3301,6 +3465,16 @@ const fr = {
|
|
|
3301
3465
|
denied: "Refusé",
|
|
3302
3466
|
failed: "Échec",
|
|
3303
3467
|
},
|
|
3468
|
+
phase: {
|
|
3469
|
+
build: "Création",
|
|
3470
|
+
design: "Conception du plan",
|
|
3471
|
+
stepCount: "{{count}} étapes",
|
|
3472
|
+
stepCount_one: "{{count}} étape",
|
|
3473
|
+
stepCount_many: "{{count}} d’étapes",
|
|
3474
|
+
stepCount_other: "{{count}} étapes",
|
|
3475
|
+
expand: "Afficher les étapes",
|
|
3476
|
+
collapse: "Masquer les étapes",
|
|
3477
|
+
},
|
|
3304
3478
|
plan: {
|
|
3305
3479
|
countObjects: "{{count}} objets",
|
|
3306
3480
|
countObjects_one: "{{count}} objet",
|
|
@@ -3315,10 +3489,17 @@ const fr = {
|
|
|
3315
3489
|
countDashboards_many: "{{count}} de tableaux de bord",
|
|
3316
3490
|
countDashboards_other: "{{count}} tableaux de bord",
|
|
3317
3491
|
countSeedData: "données d’exemple",
|
|
3492
|
+
extendTarget: "Ajout à l’app existante : {{app}}",
|
|
3493
|
+
awaitingConfirm: "En attente de confirmation",
|
|
3494
|
+
objectsAndFields: "Objets et champs",
|
|
3495
|
+
views: "Vues",
|
|
3496
|
+
suggestedField: "suggéré",
|
|
3497
|
+
nameField: "Nom : {{field}}",
|
|
3318
3498
|
},
|
|
3319
3499
|
build: {
|
|
3320
3500
|
building: "Création de {{app}}…",
|
|
3321
3501
|
built: "Création de {{app}} terminée",
|
|
3502
|
+
builtAndLive: "Créée et en ligne · {{app}}",
|
|
3322
3503
|
appFallback: "votre application",
|
|
3323
3504
|
addingSampleData: "ajout de données d’exemple",
|
|
3324
3505
|
group: {
|
|
@@ -3329,6 +3510,46 @@ const fr = {
|
|
|
3329
3510
|
seed: "Données d’exemple",
|
|
3330
3511
|
},
|
|
3331
3512
|
moreArtifacts: "+{{n}} autres",
|
|
3513
|
+
verifying: "Vérification de la modification…",
|
|
3514
|
+
verifyStep: "étape {{n}}",
|
|
3515
|
+
verified: "Modification vérifiée",
|
|
3516
|
+
unknownPhase: "Phase de création inconnue",
|
|
3517
|
+
nextStepsLead: "Ensuite, vous pouvez dire : {{steps}}",
|
|
3518
|
+
nextStepQuote: "« {{step}} »",
|
|
3519
|
+
draftPosture: "Les modifications suivantes sont enregistrées comme brouillons, et vous les publiez dans Studio.",
|
|
3520
|
+
checksPassed: "Vérifications réussies {{passed}}/{{total}}",
|
|
3521
|
+
},
|
|
3522
|
+
changes: {
|
|
3523
|
+
planTitle: "Plan de modifications · {{count}} modifications",
|
|
3524
|
+
planTitle_one: "Plan de modifications · {{count}} modification",
|
|
3525
|
+
planTitle_many: "Plan de modifications · {{count}} de modifications",
|
|
3526
|
+
planTitle_other: "Plan de modifications · {{count}} modifications",
|
|
3527
|
+
saveDraft: "Enregistrer comme brouillon",
|
|
3528
|
+
reviewAndPublish: "Vérifier les modifications et publier",
|
|
3529
|
+
undo: "Annuler",
|
|
3530
|
+
undoWithOthers: "Annuler (avec {{count}} autres brouillons)",
|
|
3531
|
+
undoWithOthers_one: "Annuler (avec {{count}} autre brouillon)",
|
|
3532
|
+
undoWithOthers_many: "Annuler (avec {{count}} d'autres brouillons)",
|
|
3533
|
+
undoWithOthers_other: "Annuler (avec {{count}} autres brouillons)",
|
|
3534
|
+
undoConfirm: "Annuler supprime les {{total}} brouillons non publiés de ce package, dont {{count}} qui ne font pas partie de cette modification.",
|
|
3535
|
+
undoConfirm_one: "Annuler supprime les {{total}} brouillons non publiés de ce package, dont {{count}} qui ne fait pas partie de cette modification.",
|
|
3536
|
+
undoConfirm_many: "Annuler supprime les {{total}} brouillons non publiés de ce package, dont {{count}} de brouillons qui ne font pas partie de cette modification.",
|
|
3537
|
+
undoConfirm_other: "Annuler supprime les {{total}} brouillons non publiés de ce package, dont {{count}} qui ne font pas partie de cette modification.",
|
|
3538
|
+
undoConfirmUnknown: "Annuler supprime tous les brouillons non publiés de ce package, pas seulement cette modification.",
|
|
3539
|
+
undoConfirmAction: "Tout annuler",
|
|
3540
|
+
undoCancel: "Conserver",
|
|
3541
|
+
undoing: "Annulation…",
|
|
3542
|
+
undone: "Annulé",
|
|
3543
|
+
undoFailed: "Échec de l'annulation",
|
|
3544
|
+
kind: {
|
|
3545
|
+
field: "Champ",
|
|
3546
|
+
object: "Objet",
|
|
3547
|
+
view: "Vue",
|
|
3548
|
+
dashboard: "Tableau de bord",
|
|
3549
|
+
app: "Application",
|
|
3550
|
+
seed: "Données d'exemple",
|
|
3551
|
+
package: "Package d'application",
|
|
3552
|
+
},
|
|
3332
3553
|
},
|
|
3333
3554
|
},
|
|
3334
3555
|
chatbotError: {
|
|
@@ -3344,10 +3565,13 @@ const fr = {
|
|
|
3344
3565
|
buyCredits: "Acheter un pack de crédits",
|
|
3345
3566
|
upgradePlan: "Changer d'offre",
|
|
3346
3567
|
},
|
|
3568
|
+
planTier: {
|
|
3569
|
+
teamAndUp: "À partir de l'offre Team",
|
|
3570
|
+
},
|
|
3347
3571
|
environment: {
|
|
3348
|
-
addEnvironment: "Ajouter un environnement",
|
|
3349
3572
|
setUpProduction: "Configurer votre environnement de production",
|
|
3350
3573
|
addDevelopment: "Ajouter un environnement de développement",
|
|
3574
|
+
developmentLocked: "Environnements de développement · {{tier}}",
|
|
3351
3575
|
// Plan/capacity dialog (EnvironmentEntitlementDialog) — cloud#959.
|
|
3352
3576
|
entitlement: {
|
|
3353
3577
|
productionLimitTitle: "Vous avez déjà votre environnement de production",
|
|
@@ -3395,7 +3619,7 @@ const fr = {
|
|
|
3395
3619
|
},
|
|
3396
3620
|
unbound: {
|
|
3397
3621
|
title: "Non connecté",
|
|
3398
|
-
body: "
|
|
3622
|
+
body: "Ce runtime n'est connecté à aucun plan de contrôle. « Connecter » ouvre votre compte cloud dans une nouvelle fenêtre, où un seul clic approuve la liaison — aucun identifiant ni justificatif n'est saisi sur cette page.",
|
|
3399
3623
|
connect: "Connecter",
|
|
3400
3624
|
},
|
|
3401
3625
|
},
|
|
@@ -3408,6 +3632,13 @@ const fr = {
|
|
|
3408
3632
|
dismiss: "Ignorer",
|
|
3409
3633
|
confirmedToast: "« {{set}} » est désormais accordé à {{anchor}}.",
|
|
3410
3634
|
dismissedToast: "Suggestion pour « {{set}} » ignorée.",
|
|
3635
|
+
guestUnsupported: "Impossible de l'accorder ici : les ensembles de la position Guest ne sont pas dérivés des suggestions acceptées.",
|
|
3636
|
+
acceptedState: "« {{set}} » a été accepté pour tous les utilisateurs connectés (position Everyone).",
|
|
3637
|
+
notInForceState: "« {{set}} » a été accepté, mais n'est pas encore en vigueur : la position Everyone n'a pas changé lors de cette requête. Le journal du serveur indique pourquoi.",
|
|
3638
|
+
dismissedState: "« {{set}} » n'est pas accordé : la suggestion a été ignorée ou révoquée.",
|
|
3639
|
+
revoke: "Révoquer",
|
|
3640
|
+
revoking: "Révocation…",
|
|
3641
|
+
revokedToast: "Acceptation de « {{set}} » révoquée.",
|
|
3411
3642
|
},
|
|
3412
3643
|
title: "Marketplace d'applications",
|
|
3413
3644
|
subtitle: "Parcourez les applications approuvées publiées dans le catalogue ObjectStack. Cliquez sur une application pour voir les détails et l'installer dans l'un de vos environnements.",
|
|
@@ -3421,21 +3652,26 @@ const fr = {
|
|
|
3421
3652
|
noMatchFilters: "Aucune application ne correspond à vos filtres.",
|
|
3422
3653
|
noDescription: "Aucune description disponible.",
|
|
3423
3654
|
back: "Retour au marketplace",
|
|
3424
|
-
installedTitle: "Applications installées",
|
|
3425
|
-
installedSubtitle: "Paquets du marketplace actuellement installés dans le noyau de ce runtime.",
|
|
3426
|
-
installedEmpty: "Aucune application du marketplace installée dans ce runtime pour l'instant.",
|
|
3427
3655
|
browseLink: "Parcourir le marketplace →",
|
|
3428
|
-
installedAdditiveNote: "
|
|
3429
|
-
installedAt: "Installé {{when}}",
|
|
3430
|
-
installedBy: "par {{user}}",
|
|
3431
|
-
installedPackageId: "Paquet",
|
|
3432
|
-
cachedAs: "Mis en cache sous <code>{{path}}</code>",
|
|
3656
|
+
installedAdditiveNote: "La désinstallation retire immédiatement l'application du noyau en cours d'exécution, avec ses jeux d'autorisations et leurs attributions, et supprime le manifeste en cache pour que le paquet ne se charge pas au prochain démarrage. Les enregistrements stockés dans ses objets restent dans la base de données.",
|
|
3433
3657
|
versionBadge: "v{{version}}",
|
|
3434
3658
|
installedBadge: "Installé v{{version}}",
|
|
3659
|
+
// objectui#11645 — an install-local entry this runtime refused to load at
|
|
3660
|
+
// startup (the listing's `notLoaded` marker), read on Installed Apps.
|
|
3661
|
+
notLoaded: {
|
|
3662
|
+
badge: "Non chargé",
|
|
3663
|
+
protocolIncompatible: "Ce runtime n'a pas chargé ce paquet : il cible le protocole {{requiredRange}}, que ce runtime ne prend pas en charge.",
|
|
3664
|
+
otherReason: "Ce runtime n'a pas chargé ce paquet ({{code}}).",
|
|
3665
|
+
},
|
|
3435
3666
|
load: {
|
|
3436
3667
|
failed: "Impossible de charger le marketplace",
|
|
3437
3668
|
failedHintConfigured: "Ce runtime accède à la place de marché via le plan de contrôle situé à {{url}}. Vérifiez qu'il est en ligne et joignable depuis ici.",
|
|
3438
|
-
failedHintSameOrigin: "
|
|
3669
|
+
failedHintSameOrigin: "Le catalogue de la place de marché est accessible via ce runtime. Vérifiez que le runtime est en ligne et qu'il peut joindre le catalogue.",
|
|
3670
|
+
loading: "Chargement du catalogue de la place de marché…",
|
|
3671
|
+
slow: "Chargement en cours — le catalogue de la place de marché tarde à répondre.",
|
|
3672
|
+
retry: "Réessayer",
|
|
3673
|
+
unreachable: "Le catalogue de la place de marché est injoignable.",
|
|
3674
|
+
answeredError: "Le catalogue de la place de marché a répondu par une erreur (HTTP {{status}}).",
|
|
3439
3675
|
packageFailed: "Impossible de charger le paquet",
|
|
3440
3676
|
notFound: "Introuvable.",
|
|
3441
3677
|
},
|
|
@@ -3479,6 +3715,7 @@ const fr = {
|
|
|
3479
3715
|
working: "Traitement…",
|
|
3480
3716
|
installToCloud: "Installer dans le cloud…",
|
|
3481
3717
|
installing: "Installation…",
|
|
3718
|
+
updating: "Mise à jour…",
|
|
3482
3719
|
uninstall: "Désinstaller",
|
|
3483
3720
|
uninstalling: "Désinstallation…",
|
|
3484
3721
|
details: "Détails",
|
|
@@ -3496,15 +3733,45 @@ const fr = {
|
|
|
3496
3733
|
environmentPlaceholder: "Sélectionner un environnement",
|
|
3497
3734
|
includeSampleData: "Inclure des données d'exemple",
|
|
3498
3735
|
noEnvs: "Aucun environnement trouvé dans votre organisation active.",
|
|
3499
|
-
noPermission: "Vous n'avez pas la permission d'installer des applications dans un environnement. Seuls les propriétaires et administrateurs de l'organisation peuvent installer.",
|
|
3736
|
+
noPermission: "Vous n'avez pas la permission d'installer des applications dans un environnement. Seuls les propriétaires et administrateurs de l'organisation peuvent installer — contactez l'administrateur de votre organisation.",
|
|
3500
3737
|
signInFirst: "Vous devez d'abord vous connecter à ObjectStack Cloud.",
|
|
3501
3738
|
success: "Installé avec succès. Ouvrez l'environnement pour voir la nouvelle application.",
|
|
3502
3739
|
localSuccess: "v{{version}} installé dans ce runtime. \"{{name}}\" devrait maintenant apparaître dans le sélecteur d'applications.",
|
|
3740
|
+
localLoadsAtRestart: "v{{version}} installé dans ce runtime. \"{{name}}\" sera chargé au prochain redémarrage du runtime et n'apparaîtra pas dans le sélecteur d'applications d'ici là.",
|
|
3503
3741
|
localManifestConflict: "{{message}}\nRemarque : Une application locale possède déjà ce manifest_id. Supprimez-la d'abord de objectstack.config.ts.",
|
|
3504
3742
|
localUnauthorized: "Connectez-vous d'abord à ce runtime.",
|
|
3505
3743
|
localMarketplaceUnavailable: "Ce runtime n'a pas de OS_CLOUD_URL configuré.",
|
|
3506
3744
|
updateTo: "Mettre à jour → v{{version}}",
|
|
3507
3745
|
installedVersion: "Installé v{{version}}",
|
|
3746
|
+
deploying: "Déploiement de l'application…",
|
|
3747
|
+
deployed: "L'application est déployée et prête.",
|
|
3748
|
+
openApp: "Ouvrir {{name}}",
|
|
3749
|
+
deployTimeout: "L'installation a été enregistrée, mais cet environnement ne sert pas encore l'application. Le déploiement est peut-être encore en cours : vérifiez à nouveau dans un instant. Si elle n'apparaît jamais, le paquet n'a peut-être pas été chargé, ne contient aucune application, ou son application exige une autorisation que vous n'avez pas.",
|
|
3750
|
+
checkAgain: "Vérifier à nouveau",
|
|
3751
|
+
// ADR-0131 D6 — the install modes a package's manifest permits, and
|
|
3752
|
+
// what an unmanaged install answers (MarketplacePackagePage).
|
|
3753
|
+
mode: {
|
|
3754
|
+
label: "Mode d'installation",
|
|
3755
|
+
managed: "Géré",
|
|
3756
|
+
managedHint: "Le paquet reste l'autorité : il est enregistré comme code, reçoit ses mises à niveau, et ses éléments ne sont pas modifiés ici.",
|
|
3757
|
+
unmanaged: "Copie non gérée",
|
|
3758
|
+
unmanagedHint: "Copié une seule fois dans ce runtime comme ses propres métadonnées : chaque élément est modifiable ici, et la copie ne reçoit aucune mise à niveau.",
|
|
3759
|
+
required: "Choisissez un mode d'installation pour installer ce paquet.",
|
|
3760
|
+
},
|
|
3761
|
+
unmanagedSuccess: "v{{version}} de \"{{name}}\" copié dans ce runtime comme ses propres métadonnées, dans la base {{base}}. La copie est modifiable et ne reçoit aucune mise à niveau.",
|
|
3762
|
+
unmanagedStrippedLocks: "Le paquet verrouillait ces éléments. La copie est modifiable, leurs verrous n'ont donc pas été copiés :",
|
|
3763
|
+
unmanagedIgnored: "Ce runtime ne prend pas en charge les installations non gérées : \"{{name}}\" a donc été installé en mode géré (enregistré comme code) au lieu d'être copié. Mettez à niveau le runtime, puis désinstallez le paquet et réinstallez-le comme copie non gérée.",
|
|
3764
|
+
},
|
|
3765
|
+
// objectui#12146 — the install dialog opened as an UPDATE of the copy
|
|
3766
|
+
// this environment holds (MarketplacePackagePage).
|
|
3767
|
+
update: {
|
|
3768
|
+
dialogTitle: "Mettre à jour {{name}}",
|
|
3769
|
+
dialogDescCurrent: "Mettre à jour la copie installée dans cet environnement ({{host}}).",
|
|
3770
|
+
dialogDescPicker: "Choisissez l'environnement dont la copie installée doit être mise à jour. Vous devez être connecté à ObjectStack Cloud.",
|
|
3771
|
+
majorNotice: "Il s'agit d'une mise à jour de version majeure (v{{fromMajor}} → v{{toMajor}}), qui peut comporter des changements incompatibles.",
|
|
3772
|
+
releaseNotes: "Lire les notes de version de la v{{version}}",
|
|
3773
|
+
success: "Mis à jour vers la v{{version}}.",
|
|
3774
|
+
deployTimeout: "La mise à jour a été enregistrée, mais cet environnement ne sert pas encore la v{{version}}. Le déploiement est peut-être encore en cours : vérifiez à nouveau dans un instant.",
|
|
3508
3775
|
},
|
|
3509
3776
|
// objectui#3546 — the MarketplacePage "Your organization" strip.
|
|
3510
3777
|
org: {
|
|
@@ -3537,9 +3804,11 @@ const fr = {
|
|
|
3537
3804
|
},
|
|
3538
3805
|
},
|
|
3539
3806
|
uninstall: {
|
|
3540
|
-
confirm: "Désinstaller {{manifestId}} v{{version}} de ce runtime ?\n\
|
|
3541
|
-
successInList: "{{manifestId}}
|
|
3542
|
-
successInDetail: "
|
|
3807
|
+
confirm: "Désinstaller {{manifestId}} v{{version}} de ce runtime ?\n\nL'application sera retirée immédiatement du noyau en cours d'exécution, avec ses jeux d'autorisations et leurs attributions, et le manifeste en cache sera supprimé. Les enregistrements stockés dans ses objets restent dans la base de données.",
|
|
3808
|
+
successInList: "{{manifestId}} supprimé : l'application a été retirée du noyau en cours d'exécution, avec ses jeux d'autorisations et leurs attributions. Les enregistrements stockés dans ses objets restent dans la base de données.",
|
|
3809
|
+
successInDetail: "{{manifestId}} et son manifeste en cache supprimés : l'application a été retirée du noyau en cours d'exécution, avec ses jeux d'autorisations et leurs attributions. Les enregistrements stockés dans ses objets restent dans la base de données.",
|
|
3810
|
+
confirmNotLoaded: "Désinstaller {{manifestId}} v{{version}} de ce runtime ?\n\nLe manifeste en cache sera supprimé. Ce runtime n'a pas chargé le paquet, donc aucune partie n'est en cours d'exécution.",
|
|
3811
|
+
successNotLoaded: "{{manifestId}} supprimé. Il n'était pas chargé, aucun redémarrage n'est nécessaire.",
|
|
3543
3812
|
},
|
|
3544
3813
|
accessDenied: {
|
|
3545
3814
|
title: "Marketplace réservé aux administrateurs",
|
|
@@ -3619,6 +3888,7 @@ const fr = {
|
|
|
3619
3888
|
progressEligible_other: '{{count}} approbateurs éligibles',
|
|
3620
3889
|
progressBar: 'Avancement de la décision',
|
|
3621
3890
|
declaredActions: 'Actions',
|
|
3891
|
+
decisionPanelOffRequestPage: 'Le panneau de décision d\'approbation ne fonctionne que sur les pages de demande d\'approbation.',
|
|
3622
3892
|
attachmentChip: 'Pièce jointe',
|
|
3623
3893
|
attachmentOpenFailed: "Impossible d'ouvrir la pièce jointe — veuillez réessayer",
|
|
3624
3894
|
approveOneTitle: 'Approuver « {{title}} » ?',
|
|
@@ -3685,6 +3955,10 @@ const fr = {
|
|
|
3685
3955
|
emptyPending: 'Tout est à jour — rien n\'attend votre approbation.',
|
|
3686
3956
|
emptyOther: 'Rien ici pour l\'instant.',
|
|
3687
3957
|
emptyViewAll: 'Voir toutes les demandes',
|
|
3958
|
+
waitingOnOthers: "{{count}} demandes attendent d'autres approbateurs",
|
|
3959
|
+
waitingOnOthers_one: "{{count}} demande attend d'autres approbateurs",
|
|
3960
|
+
waitingOnOthers_many: "{{count}} de demandes attendent d'autres approbateurs",
|
|
3961
|
+
waitingOnOthers_other: "{{count}} demandes attendent d'autres approbateurs",
|
|
3688
3962
|
noMatches: 'Aucun résultat avec les filtres actuels.',
|
|
3689
3963
|
keyboardHint: 'Clavier : j/k déplacer · Entrée ouvrir · x sélectionner · a approuver · r rejeter',
|
|
3690
3964
|
drawerTitle: 'Demande d\'approbation',
|
|
@@ -3702,12 +3976,12 @@ const fr = {
|
|
|
3702
3976
|
overrideActionLabel: '{{action}} (dérogation)',
|
|
3703
3977
|
overrideNotice: "Vous n'occupez aucun poste d'approbateur à cette étape. En continuant, votre dérogation d'administrateur sera utilisée : l'étape est finalisée immédiatement et tout approbateur n'ayant pas encore statué est contourné. La décision est enregistrée comme une dérogation d'administrateur.",
|
|
3704
3978
|
overrideNoticeWho: "Vous n'occupez aucun poste d'approbateur à cette étape. En continuant, votre dérogation d'administrateur sera utilisée : l'étape est finalisée immédiatement et les approbateurs n'ayant pas encore statué sont contournés — {{who}}. La décision est enregistrée comme une dérogation d'administrateur.",
|
|
3979
|
+
overrideReassignNotice: "Vous n'occupez aucun poste d'approbateur à cette étape. En continuant, votre dérogation d'administrateur sera utilisée : l'étape passe au nouvel approbateur que vous choisissez, qui remplace tout approbateur n'ayant pas encore statué. La demande reste en attente de la décision du nouvel approbateur. La réattribution est enregistrée comme une dérogation d'administrateur.",
|
|
3980
|
+
overrideReassignNoticeWho: "Vous n'occupez aucun poste d'approbateur à cette étape. En continuant, votre dérogation d'administrateur sera utilisée : l'étape passe au nouvel approbateur que vous choisissez, qui remplace les approbateurs n'ayant pas encore statué — {{who}}. La demande reste en attente de la décision du nouvel approbateur. La réattribution est enregistrée comme une dérogation d'administrateur.",
|
|
3981
|
+
overrideRecallNotice: "Vous n'avez pas soumis cette demande. En continuant, votre dérogation d'administrateur sera utilisée : la demande est retirée, aucun approbateur n'ayant pas encore statué ne pourra plus agir sur elle, et l'enregistrement est déverrouillé.",
|
|
3982
|
+
overrideRecallNoticeWho: "Vous n'avez pas soumis cette demande. En continuant, votre dérogation d'administrateur sera utilisée : la demande est retirée, l'enregistrement est déverrouillé, et les approbateurs n'ayant pas encore statué ne pourront plus agir sur elle — {{who}}.",
|
|
3705
3983
|
viaOverrideChip: 'Dérogation administrateur',
|
|
3706
3984
|
viaOverrideHint: "L'auteur n'occupait aucun poste d'approbateur à cette étape — admis par la voie de dérogation administrateur.",
|
|
3707
|
-
rawData: 'Données brutes (JSON)',
|
|
3708
|
-
copy: 'Copier',
|
|
3709
|
-
copied: 'Copié',
|
|
3710
|
-
copyFailed: 'Échec de la copie',
|
|
3711
3985
|
overrideActor: 'Agir sous une autre identité (admin)',
|
|
3712
3986
|
actor: 'Acteur',
|
|
3713
3987
|
auto: 'Auto',
|
|
@@ -3796,6 +4070,10 @@ const fr = {
|
|
|
3796
4070
|
publishing: 'Publication…',
|
|
3797
4071
|
exit: "Quitter l'aperçu",
|
|
3798
4072
|
changes: 'Modifications',
|
|
4073
|
+
pendingHere: 'Aperçu du brouillon · {{count}} modifications non publiées sur cette page',
|
|
4074
|
+
pendingHere_one: 'Aperçu du brouillon · {{count}} modification non publiée sur cette page',
|
|
4075
|
+
pendingHere_many: 'Aperçu du brouillon · {{count}} de modifications non publiées sur cette page',
|
|
4076
|
+
pendingHere_other: 'Aperçu du brouillon · {{count}} modifications non publiées sur cette page',
|
|
3799
4077
|
},
|
|
3800
4078
|
changes: {
|
|
3801
4079
|
title: 'Modifications en attente',
|
|
@@ -3813,7 +4091,71 @@ const fr = {
|
|
|
3813
4091
|
confirmNote_one: 'La publication libère atomiquement {{count}} brouillon en attente de ce paquet.',
|
|
3814
4092
|
confirmNote_many: 'La publication libère atomiquement les {{count}} de brouillons en attente de ce paquet.',
|
|
3815
4093
|
confirmNote_other: 'La publication libère atomiquement les {{count}} brouillons en attente de ce paquet.',
|
|
4094
|
+
// objectui#11591 — the package-less sheet: no package to batch, so each
|
|
4095
|
+
// draft publishes by itself and one that fails stays pending.
|
|
4096
|
+
confirmNoteSeparate: 'La publication libère les {{count}} brouillons en attente un par un : celui qui échoue reste en attente, les autres sont publiés quand même.',
|
|
4097
|
+
confirmNoteSeparate_one: 'La publication libère isolément {{count}} brouillon en attente : s’il échoue, il reste en attente.',
|
|
4098
|
+
confirmNoteSeparate_many: 'La publication libère les {{count}} de brouillons en attente un par un : celui qui échoue reste en attente, les autres sont publiés quand même.',
|
|
4099
|
+
confirmNoteSeparate_other: 'La publication libère les {{count}} brouillons en attente un par un : celui qui échoue reste en attente, les autres sont publiés quand même.',
|
|
3816
4100
|
publishConfirm: 'Tout publier',
|
|
4101
|
+
summaryItems: '{{count}} éléments',
|
|
4102
|
+
summaryItems_one: '{{count}} élément',
|
|
4103
|
+
summaryItems_many: '{{count}} d’éléments',
|
|
4104
|
+
summaryItems_other: '{{count}} éléments',
|
|
4105
|
+
summaryType: '{{n}} {{type}}',
|
|
4106
|
+
typeCount: {
|
|
4107
|
+
object: '{{count}} objets',
|
|
4108
|
+
object_one: '{{count}} objet',
|
|
4109
|
+
object_many: '{{count}} d’objets',
|
|
4110
|
+
object_other: '{{count}} objets',
|
|
4111
|
+
view: '{{count}} vues',
|
|
4112
|
+
view_one: '{{count}} vue',
|
|
4113
|
+
view_many: '{{count}} de vues',
|
|
4114
|
+
view_other: '{{count}} vues',
|
|
4115
|
+
page: '{{count}} pages',
|
|
4116
|
+
page_one: '{{count}} page',
|
|
4117
|
+
page_many: '{{count}} de pages',
|
|
4118
|
+
page_other: '{{count}} pages',
|
|
4119
|
+
dashboard: '{{count}} tableaux de bord',
|
|
4120
|
+
dashboard_one: '{{count}} tableau de bord',
|
|
4121
|
+
dashboard_many: '{{count}} de tableaux de bord',
|
|
4122
|
+
dashboard_other: '{{count}} tableaux de bord',
|
|
4123
|
+
app: '{{count}} applications',
|
|
4124
|
+
app_one: '{{count}} application',
|
|
4125
|
+
app_many: '{{count}} d’applications',
|
|
4126
|
+
app_other: '{{count}} applications',
|
|
4127
|
+
action: '{{count}} actions',
|
|
4128
|
+
action_one: '{{count}} action',
|
|
4129
|
+
action_many: '{{count}} d’actions',
|
|
4130
|
+
action_other: '{{count}} actions',
|
|
4131
|
+
report: '{{count}} rapports',
|
|
4132
|
+
report_one: '{{count}} rapport',
|
|
4133
|
+
report_many: '{{count}} de rapports',
|
|
4134
|
+
report_other: '{{count}} rapports',
|
|
4135
|
+
flow: '{{count}} flux',
|
|
4136
|
+
flow_one: '{{count}} flux',
|
|
4137
|
+
flow_many: '{{count}} de flux',
|
|
4138
|
+
flow_other: '{{count}} flux',
|
|
4139
|
+
permission: '{{count}} ensembles d’autorisations',
|
|
4140
|
+
permission_one: '{{count}} ensemble d’autorisations',
|
|
4141
|
+
permission_many: '{{count}} d’ensembles d’autorisations',
|
|
4142
|
+
permission_other: '{{count}} ensembles d’autorisations',
|
|
4143
|
+
agent: '{{count}} agents',
|
|
4144
|
+
agent_one: '{{count}} agent',
|
|
4145
|
+
agent_many: '{{count}} d’agents',
|
|
4146
|
+
agent_other: '{{count}} agents',
|
|
4147
|
+
email_template: '{{count}} modèles d’e-mail',
|
|
4148
|
+
email_template_one: '{{count}} modèle d’e-mail',
|
|
4149
|
+
email_template_many: '{{count}} de modèles d’e-mail',
|
|
4150
|
+
email_template_other: '{{count}} modèles d’e-mail',
|
|
4151
|
+
},
|
|
4152
|
+
// objectui#12929 — the unchecked choice under an added object field whose
|
|
4153
|
+
// literal default the batch publish can write into the existing records.
|
|
4154
|
+
backfillOption: 'Renseigner la valeur par défaut ({{count}} enregistrements existants)',
|
|
4155
|
+
backfillOption_one: 'Renseigner la valeur par défaut ({{count}} enregistrement existant)',
|
|
4156
|
+
backfillOption_many: 'Renseigner la valeur par défaut ({{count}} d’enregistrements existants)',
|
|
4157
|
+
backfillOption_other: 'Renseigner la valeur par défaut ({{count}} enregistrements existants)',
|
|
4158
|
+
backfillOptionNoCount: 'Renseigner la valeur par défaut',
|
|
3817
4159
|
// [`7a90afdf9`] Pre-publish security-posture findings, shown next to
|
|
3818
4160
|
// the confirm button so a refusal the door would issue is read BEFORE
|
|
3819
4161
|
// the click rather than as a toast after the batch rolled back.
|
|
@@ -3896,6 +4238,10 @@ const fr = {
|
|
|
3896
4238
|
exists: "Est défini",
|
|
3897
4239
|
notExists: "N'est pas défini",
|
|
3898
4240
|
},
|
|
4241
|
+
emptyCheckHint: {
|
|
4242
|
+
text: '« {{isEmpty}} » correspond aussi à un texte vide ; « {{isNull}} » uniquement à une valeur absente.',
|
|
4243
|
+
list: '« {{isEmpty}} » correspond aussi à une liste vide ; « {{isNull}} » uniquement à une valeur absente.',
|
|
4244
|
+
},
|
|
3899
4245
|
},
|
|
3900
4246
|
sortBuilder: {
|
|
3901
4247
|
sortBy: "Trier par",
|
|
@@ -4013,6 +4359,8 @@ const fr = {
|
|
|
4013
4359
|
setDefaultFailed: "Échec de la définition de l'application par défaut : {{reason}}",
|
|
4014
4360
|
appDeleted: "{{name}} supprimée",
|
|
4015
4361
|
deleteFailed: "Échec de la suppression de l'application : {{reason}}",
|
|
4362
|
+
nothingToDelete: "Rien à supprimer pour {{name}} : {{reason}}",
|
|
4363
|
+
alreadyAtDefault: "elle est déjà à la valeur par défaut de son package",
|
|
4016
4364
|
bulkEnabled: "{{n}} applications activées",
|
|
4017
4365
|
bulkDisabled: "{{n}} applications désactivées",
|
|
4018
4366
|
bulkFailed: "Échec pour {{n}} : {{details}}",
|
|
@@ -4037,6 +4385,7 @@ const fr = {
|
|
|
4037
4385
|
toggleLabel: "Activation de {{label}}",
|
|
4038
4386
|
on: "Activé",
|
|
4039
4387
|
off: "Désactivé",
|
|
4388
|
+
notRunning: "Ne s'exécute pas ici",
|
|
4040
4389
|
clone: "Cloner",
|
|
4041
4390
|
cloneTitle: "Cloner le flux du package",
|
|
4042
4391
|
cloneBody: "La copie reprend toute la définition et exige un nouveau nom machine et un nouveau libellé. Modifiez la copie dans Studio.",
|
|
@@ -4045,6 +4394,9 @@ const fr = {
|
|
|
4045
4394
|
cancel: "Annuler",
|
|
4046
4395
|
cloneConfirm: "Créer le clone",
|
|
4047
4396
|
cloneCreated: "Flux « {{name}} » créé.",
|
|
4397
|
+
cloneSwitchSourceOff: "Désactiver « {{label}} »",
|
|
4398
|
+
cloneSourceOff: "Le flux empaqueté « {{label}} » est désactivé.",
|
|
4399
|
+
cloneOpen: "Ouvrir la copie dans Studio",
|
|
4048
4400
|
emptyTitle: "Aucun flux de package",
|
|
4049
4401
|
emptyBody: "Aucun package installé ne fournit de flux d'automatisation sur ce déploiement. Les flux que vous créez vous-même se trouvent dans Studio.",
|
|
4050
4402
|
loadFailed: "Impossible de charger l'automatisation des packages.",
|
|
@@ -4052,6 +4404,7 @@ const fr = {
|
|
|
4052
4404
|
toggleFailed: "Impossible de modifier l'activation.",
|
|
4053
4405
|
cloneFailedHttp: "Impossible de cloner ce flux (HTTP {{status}}).",
|
|
4054
4406
|
cloneFailed: "Impossible de cloner ce flux.",
|
|
4407
|
+
reasonDetails: "Détails",
|
|
4055
4408
|
actionsSubtitle: "Actions fournies par les packages installés. Désactivez-en une pour ce déploiement et elle cesse de s'exécuter partout où elle est proposée. Vous pouvez toujours créer votre propre action à côté, dans Studio.",
|
|
4056
4409
|
colAction: "Action",
|
|
4057
4410
|
colObject: "Objet",
|
|
@@ -4062,7 +4415,84 @@ const fr = {
|
|
|
4062
4415
|
},
|
|
4063
4416
|
element: {
|
|
4064
4417
|
number: {
|
|
4065
|
-
noObject: "Aucun objet indiqué : définissez
|
|
4418
|
+
noObject: "Aucun objet indiqué : définissez dataSource.object.",
|
|
4419
|
+
sourceUnresolved: "La source de données de cet indicateur n’a pas pu être résolue",
|
|
4420
|
+
},
|
|
4421
|
+
image: {
|
|
4422
|
+
noSource: "Aucune source d’image",
|
|
4423
|
+
},
|
|
4424
|
+
recordPicker: {
|
|
4425
|
+
sourceUnresolved: "La source de données de ce sélecteur d’enregistrement n’a pas pu être résolue",
|
|
4426
|
+
},
|
|
4427
|
+
calendar: {
|
|
4428
|
+
sourceUnresolved: "La source de données de ce calendrier n’a pas pu être résolue",
|
|
4429
|
+
},
|
|
4430
|
+
chart: {
|
|
4431
|
+
sourceUnresolved: "La source de données de ce graphique n’a pas pu être résolue",
|
|
4432
|
+
},
|
|
4433
|
+
pivotTable: {
|
|
4434
|
+
sourceUnresolved: "La source de données de ce tableau croisé dynamique n’a pas pu être résolue",
|
|
4435
|
+
},
|
|
4436
|
+
detailView: {
|
|
4437
|
+
sourceUnresolved: "La source de données de cette vue détaillée n’a pas pu être résolue",
|
|
4438
|
+
},
|
|
4439
|
+
relatedList: {
|
|
4440
|
+
sourceUnresolved: "La source de données de cette liste associée n’a pas pu être résolue",
|
|
4441
|
+
parentUnreadable: "L’enregistrement parent de cette liste associée n’a pas pu être lu",
|
|
4442
|
+
},
|
|
4443
|
+
form: {
|
|
4444
|
+
sourceUnresolved: "La source de données de ce formulaire n’a pas pu être résolue",
|
|
4445
|
+
},
|
|
4446
|
+
lineItems: {
|
|
4447
|
+
sourceUnresolved: "La source de données de ce panneau de lignes n’a pas pu être résolue",
|
|
4448
|
+
},
|
|
4449
|
+
gantt: {
|
|
4450
|
+
sourceUnresolved: "La source de données de ce diagramme de Gantt n’a pas pu être résolue",
|
|
4451
|
+
},
|
|
4452
|
+
grid: {
|
|
4453
|
+
sourceUnresolved: "La source de données de cette grille n’a pas pu être résolue",
|
|
4454
|
+
},
|
|
4455
|
+
board: {
|
|
4456
|
+
sourceUnresolved: "La source de données de ce tableau n’a pas pu être résolue",
|
|
4457
|
+
},
|
|
4458
|
+
listView: {
|
|
4459
|
+
sourceUnresolved: "La source de données de cette vue en liste n’a pas pu être résolue",
|
|
4460
|
+
},
|
|
4461
|
+
map: {
|
|
4462
|
+
sourceUnresolved: "La source de données de cette carte n’a pas pu être résolue",
|
|
4463
|
+
},
|
|
4464
|
+
timeline: {
|
|
4465
|
+
sourceUnresolved: "La source de données de cette chronologie n’a pas pu être résolue",
|
|
4466
|
+
},
|
|
4467
|
+
component: {
|
|
4468
|
+
sourceUnresolved: "La source de données de ce composant n’a pas pu être résolue",
|
|
4469
|
+
noDataSource: "Aucune source de données résolue",
|
|
4470
|
+
apiRefused: "La source de données API de ce composant est refusée",
|
|
4471
|
+
apiUnreadable: "La source de données API de ce composant n’a pas pu être lue",
|
|
4472
|
+
},
|
|
4473
|
+
metadataViewer: {
|
|
4474
|
+
missingKey: "{{key}} manquant pour cette vue.",
|
|
4475
|
+
loading: "Chargement de {{name}}…",
|
|
4476
|
+
loadFailed: "Impossible de charger {{name}} : {{message}}",
|
|
4477
|
+
notFound: "{{name}} introuvable.",
|
|
4478
|
+
stateMachine: "Machine à états",
|
|
4479
|
+
flow: "Flux",
|
|
4480
|
+
permission: "Autorisation",
|
|
4481
|
+
noStateMachine: "Aucune machine à états sur {{object}}.",
|
|
4482
|
+
noStateMachineNamed: "Aucune machine à états nommée « {{name}} » sur {{object}}.",
|
|
4483
|
+
lifecycle: "Cycle de vie de {{object}}",
|
|
4484
|
+
field: "champ {{field}}",
|
|
4485
|
+
initial: "début",
|
|
4486
|
+
final: "fin",
|
|
4487
|
+
steps: "Étapes : {{count}}",
|
|
4488
|
+
noSteps: "Aucune étape à afficher.",
|
|
4489
|
+
untitledStep: "(étape)",
|
|
4490
|
+
hiddenSteps: "Étapes techniques masquées : {{count}} · définissez {{setting}} pour tout afficher",
|
|
4491
|
+
objectAccess: "Accès aux objets : {{count}}",
|
|
4492
|
+
noPermissions: "Aucune autorisation d’objet déclarée.",
|
|
4493
|
+
object: "Objet",
|
|
4494
|
+
unknownType: "Type de vue de métadonnées inconnu. Attendu : {{a}}, {{b}} ou {{c}}.",
|
|
4495
|
+
unknownTypeNamed: "Type de vue de métadonnées inconnu « {{type}} ». Attendu : {{a}}, {{b}} ou {{c}}.",
|
|
4066
4496
|
},
|
|
4067
4497
|
},
|
|
4068
4498
|
};
|