@object-ui/i18n 17.5.0 → 17.6.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 +634 -0
- package/README.md +42 -0
- package/dist/i18n.d.ts +1 -1
- package/dist/i18n.js +1 -2
- package/dist/index.d.ts +23 -23
- package/dist/index.js +23 -23
- package/dist/locales/ar.d.ts +172 -262
- package/dist/locales/ar.js +187 -273
- package/dist/locales/de.d.ts +172 -262
- package/dist/locales/de.js +187 -273
- package/dist/locales/en.d.ts +173 -263
- package/dist/locales/en.js +223 -263
- package/dist/locales/es.d.ts +172 -262
- package/dist/locales/es.js +188 -274
- package/dist/locales/fr.d.ts +172 -262
- package/dist/locales/fr.js +187 -273
- package/dist/locales/index.d.ts +1740 -2640
- package/dist/locales/index.js +20 -20
- package/dist/locales/ja.d.ts +172 -262
- package/dist/locales/ja.js +189 -273
- package/dist/locales/ko.d.ts +172 -262
- package/dist/locales/ko.js +187 -273
- package/dist/locales/pt.d.ts +172 -262
- package/dist/locales/pt.js +187 -273
- package/dist/locales/ru.d.ts +172 -262
- package/dist/locales/ru.js +189 -273
- package/dist/locales/zh.d.ts +173 -263
- package/dist/locales/zh.js +180 -263
- package/dist/pickLocalized.d.ts +37 -0
- package/dist/pickLocalized.js +75 -0
- package/dist/provider.d.ts +1 -1
- package/dist/provider.js +2 -2
- package/dist/useDisplayLocale.js +2 -2
- package/dist/useObjectLabel.d.ts +86 -12
- package/dist/useObjectLabel.js +106 -13
- package/dist/useSafeTranslation.js +1 -1
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.js +4 -4
- package/package.json +2 -2
package/dist/locales/fr.js
CHANGED
|
@@ -82,6 +82,7 @@ const fr = {
|
|
|
82
82
|
removeFromFavorites: "Retirer des favoris",
|
|
83
83
|
loading: "Chargement…",
|
|
84
84
|
save: "Enregistrer",
|
|
85
|
+
discard: "Abandonner",
|
|
85
86
|
cancel: "Annuler",
|
|
86
87
|
delete: "Supprimer",
|
|
87
88
|
edit: "Modifier",
|
|
@@ -261,6 +262,14 @@ const fr = {
|
|
|
261
262
|
tags: {
|
|
262
263
|
placeholder: "Saisissez puis appuyez sur Entrée pour ajouter…",
|
|
263
264
|
},
|
|
265
|
+
// objectui#4028 — `AddressField`'s five sub-labels.
|
|
266
|
+
address: {
|
|
267
|
+
street: "Adresse (rue)",
|
|
268
|
+
city: "Ville",
|
|
269
|
+
state: "État / Province",
|
|
270
|
+
postalCode: "Code postal",
|
|
271
|
+
country: "Pays",
|
|
272
|
+
},
|
|
264
273
|
textarea: {
|
|
265
274
|
characterCount: "Nombre de caractères : {{count}} sur {{max}}",
|
|
266
275
|
charactersRemaining: "Caractères restants : {{count}}",
|
|
@@ -895,6 +904,10 @@ const fr = {
|
|
|
895
904
|
attachmentDownloadDenied: "Vous n'avez pas accès pour télécharger cette pièce jointe.",
|
|
896
905
|
attachmentAuthRequired: "Veuillez vous connecter pour télécharger cette pièce jointe.",
|
|
897
906
|
attachmentPermissionDenied: "Vous n'avez pas la permission de faire cela.",
|
|
907
|
+
attachmentsAccessDenied: "Vous n'avez pas accès à ces pièces jointes.",
|
|
908
|
+
attachmentsLoadFailed: "Impossible de charger les pièces jointes de cet enregistrement.",
|
|
909
|
+
attachmentsApiUnavailable: "La liste des pièces jointes n'est pas disponible sur cet objet.",
|
|
910
|
+
retryLoadAttachments: "Réessayer",
|
|
898
911
|
unifiedDiff: "Vue unifiée",
|
|
899
912
|
sideBySideDiff: "Vue côte à côte",
|
|
900
913
|
noChanges: "Aucune modification",
|
|
@@ -946,6 +959,8 @@ const fr = {
|
|
|
946
959
|
writeStrippedTitle: "Enregistré — mais certains champs n'ont pas été appliqués",
|
|
947
960
|
writeStrippedReadonly: "En lecture seule, donc non appliqué : {{fields}}",
|
|
948
961
|
writeStrippedByState: "Non modifiable dans l'état actuel de cet enregistrement, donc non appliqué : {{fields}}",
|
|
962
|
+
writeStrippedPrimaryKey: "L'identifiant de l'enregistrement ne peut pas être modifié lors d'un enregistrement, donc non appliqué : {{fields}}",
|
|
963
|
+
writeStrippedUnknownReason: "Non appliqué par le serveur : {{fields}}",
|
|
949
964
|
approvalPendingEditable: "En approbation · modifiable",
|
|
950
965
|
approvalPendingTooltip: "Cet enregistrement a une demande d'approbation en attente ; cette étape autorise encore la modification",
|
|
951
966
|
approvalProgress: "Approbations — {{got}} sur {{need}}",
|
|
@@ -958,6 +973,13 @@ const fr = {
|
|
|
958
973
|
cancelApprovalTooltipUnlocked: "Annuler la demande d'approbation en attente",
|
|
959
974
|
cancelApprovalFailed: "Échec de l'annulation de l'approbation",
|
|
960
975
|
cancelApprovalUnavailable: "L'annulation des approbations n'est pas prise en charge par cette source de données",
|
|
976
|
+
pathLabel: "Parcours de l'enregistrement",
|
|
977
|
+
pathStageCompleted: '{{stage}}, terminée',
|
|
978
|
+
pathStageCurrent: '{{stage}}, étape actuelle',
|
|
979
|
+
pathStageUpcoming: '{{stage}}, à venir',
|
|
980
|
+
pathStageLostCurrent: '{{stage}}, perdue, étape actuelle',
|
|
981
|
+
pathStageLostUpcoming: '{{stage}}, perdue, non atteinte',
|
|
982
|
+
pathStageWonUpcoming: '{{stage}}, étape objectif, non atteinte',
|
|
961
983
|
linkCopied: "Lien copié dans le presse-papiers",
|
|
962
984
|
linkCopyFailed: "Impossible de copier le lien",
|
|
963
985
|
cancel: "Annuler",
|
|
@@ -1016,66 +1038,6 @@ const fr = {
|
|
|
1016
1038
|
invalidCoordinates: "{{count}} enregistrement avec des coordonnées manquantes ou invalides exclu de la carte.",
|
|
1017
1039
|
invalidCoordinatesPlural: "{{count}} enregistrements avec des coordonnées manquantes ou invalides exclus de la carte.",
|
|
1018
1040
|
},
|
|
1019
|
-
workflow: {
|
|
1020
|
-
draft: "Brouillon",
|
|
1021
|
-
active: "Actif",
|
|
1022
|
-
paused: "En pause",
|
|
1023
|
-
completed: "Terminé",
|
|
1024
|
-
cancelled: "Annulé",
|
|
1025
|
-
save: "Enregistrer",
|
|
1026
|
-
publish: "Publier",
|
|
1027
|
-
addNode: "Ajouter un nœud",
|
|
1028
|
-
workflowFlow: "Flux de travail",
|
|
1029
|
-
properties: "Propriétés",
|
|
1030
|
-
connections: "Connexions",
|
|
1031
|
-
quickConnect: "Connexion rapide",
|
|
1032
|
-
fromPlaceholder: "De…",
|
|
1033
|
-
toPlaceholder: "Vers…",
|
|
1034
|
-
connect: "Connecter",
|
|
1035
|
-
label: "Libellé",
|
|
1036
|
-
type: "Type",
|
|
1037
|
-
description: "Description",
|
|
1038
|
-
assignee: "Responsable",
|
|
1039
|
-
assigneeType: "Type de responsable",
|
|
1040
|
-
user: "Utilisateur",
|
|
1041
|
-
role: "Rôle",
|
|
1042
|
-
group: "Groupe",
|
|
1043
|
-
expression: "Expression",
|
|
1044
|
-
timeoutMinutes: "Délai (minutes)",
|
|
1045
|
-
selectNodeToEdit: "Sélectionnez un nœud pour modifier ses propriétés",
|
|
1046
|
-
workflowTitle: "Titre du workflow",
|
|
1047
|
-
newWorkflow: "Nouveau workflow",
|
|
1048
|
-
outConnections: "{{count}} sortie(s)",
|
|
1049
|
-
start: "Début",
|
|
1050
|
-
end: "Fin",
|
|
1051
|
-
task: "Tâche",
|
|
1052
|
-
userTask: "Tâche utilisateur",
|
|
1053
|
-
serviceTask: "Tâche service",
|
|
1054
|
-
scriptTask: "Tâche script",
|
|
1055
|
-
approval: "Approbation",
|
|
1056
|
-
condition: "Condition",
|
|
1057
|
-
parallelGateway: "Passerelle parallèle",
|
|
1058
|
-
joinGateway: "Passerelle de jonction",
|
|
1059
|
-
boundaryEvent: "Événement limite",
|
|
1060
|
-
delay: "Délai",
|
|
1061
|
-
notification: "Notification",
|
|
1062
|
-
webhook: "Webhook",
|
|
1063
|
-
allowConcurrency: "Autoriser (exécution simultanée)",
|
|
1064
|
-
forbidConcurrency: "Interdire (ignorer les nouveaux)",
|
|
1065
|
-
replaceConcurrency: "Remplacer (annuler les existants)",
|
|
1066
|
-
queueConcurrency: "File d'attente (exécuter après)",
|
|
1067
|
-
conditionEvent: "Condition",
|
|
1068
|
-
manualEvent: "Manuel",
|
|
1069
|
-
webhookEvent: "Webhook",
|
|
1070
|
-
timerEvent: "Minuterie",
|
|
1071
|
-
signalEvent: "Signal",
|
|
1072
|
-
versionHistory: "Historique des versions",
|
|
1073
|
-
importBpmn: "Importer BPMN",
|
|
1074
|
-
exportBpmn: "Exporter BPMN",
|
|
1075
|
-
undo: "Annuler",
|
|
1076
|
-
redo: "Rétablir",
|
|
1077
|
-
resetZoom: "Réinitialiser le zoom",
|
|
1078
|
-
},
|
|
1079
1041
|
dashboard: {
|
|
1080
1042
|
noRows: "Aucune ligne",
|
|
1081
1043
|
loading: "Chargement…",
|
|
@@ -1115,6 +1077,105 @@ const fr = {
|
|
|
1115
1077
|
total: "Total",
|
|
1116
1078
|
noDataAvailable: "Aucune donnée disponible",
|
|
1117
1079
|
noDataSourceFor: "Aucune source de données pour",
|
|
1080
|
+
config: {
|
|
1081
|
+
breadcrumb: {
|
|
1082
|
+
dashboard: "Tableau de bord",
|
|
1083
|
+
configuration: "Configuration",
|
|
1084
|
+
widget: "Widget",
|
|
1085
|
+
chart: "Graphique",
|
|
1086
|
+
table: "Tableau",
|
|
1087
|
+
pivotTable: "Tableau croisé",
|
|
1088
|
+
},
|
|
1089
|
+
section: {
|
|
1090
|
+
general: "Général",
|
|
1091
|
+
layout: "Disposition",
|
|
1092
|
+
data: "Données",
|
|
1093
|
+
dataBinding: "Liaison de données",
|
|
1094
|
+
appearance: "Apparence",
|
|
1095
|
+
},
|
|
1096
|
+
field: {
|
|
1097
|
+
title: "Titre",
|
|
1098
|
+
description: "Description",
|
|
1099
|
+
columns: "Colonnes",
|
|
1100
|
+
gap: "Espacement",
|
|
1101
|
+
rowHeight: "Hauteur de ligne (px)",
|
|
1102
|
+
autoRefresh: "Actualisation automatique",
|
|
1103
|
+
showDescription: "Afficher la description",
|
|
1104
|
+
theme: "Thème",
|
|
1105
|
+
widgetType: "Type de widget",
|
|
1106
|
+
colorVariant: "Variante de couleur",
|
|
1107
|
+
dataset: "Jeu de données",
|
|
1108
|
+
dimensions: "Dimensions",
|
|
1109
|
+
values: "Valeurs",
|
|
1110
|
+
width: "Largeur (colonnes)",
|
|
1111
|
+
height: "Hauteur (lignes)",
|
|
1112
|
+
},
|
|
1113
|
+
placeholder: {
|
|
1114
|
+
dashboardTitle: "Titre du tableau de bord",
|
|
1115
|
+
dashboardDescription: "Résumé court affiché sous le titre",
|
|
1116
|
+
widgetTitle: "Titre du widget",
|
|
1117
|
+
widgetDescription: "Description du widget",
|
|
1118
|
+
datasetName: "Nom du jeu de données",
|
|
1119
|
+
selectDataset: "Sélectionner un jeu de données…",
|
|
1120
|
+
searchDatasets: "Rechercher des jeux de données…",
|
|
1121
|
+
addDimension: "Ajouter une dimension…",
|
|
1122
|
+
addMeasure: "Ajouter une mesure…",
|
|
1123
|
+
searchMembers: "Rechercher…",
|
|
1124
|
+
},
|
|
1125
|
+
empty: {
|
|
1126
|
+
datasets: "Aucun jeu de données trouvé.",
|
|
1127
|
+
dimensions: "Aucune dimension sélectionnée.",
|
|
1128
|
+
measures: "Aucune mesure sélectionnée.",
|
|
1129
|
+
nothingToAdd: "Plus rien à ajouter.",
|
|
1130
|
+
},
|
|
1131
|
+
help: {
|
|
1132
|
+
dataset: "Le jeu de données de la couche sémantique auquel ce widget est lié (ADR-0021).",
|
|
1133
|
+
dimensions: "Grouper/diviser les valeurs selon ces dimensions du jeu de données.",
|
|
1134
|
+
dimensionsPivot: "Champs de groupement/division. La dernière dimension se déploie en colonnes.",
|
|
1135
|
+
values: "Mesures du jeu de données à afficher (au moins une).",
|
|
1136
|
+
},
|
|
1137
|
+
action: {
|
|
1138
|
+
add: "Ajouter",
|
|
1139
|
+
remove: "Supprimer {{name}}",
|
|
1140
|
+
},
|
|
1141
|
+
refresh: {
|
|
1142
|
+
off: "Désactivé",
|
|
1143
|
+
every30s: "Toutes les 30 s",
|
|
1144
|
+
every1m: "Toutes les minutes",
|
|
1145
|
+
every5m: "Toutes les 5 min",
|
|
1146
|
+
every15m: "Toutes les 15 min",
|
|
1147
|
+
every30m: "Toutes les 30 min",
|
|
1148
|
+
every1h: "Toutes les heures",
|
|
1149
|
+
},
|
|
1150
|
+
themeOption: {
|
|
1151
|
+
light: "Clair",
|
|
1152
|
+
dark: "Sombre",
|
|
1153
|
+
auto: "Automatique",
|
|
1154
|
+
},
|
|
1155
|
+
widgetType: {
|
|
1156
|
+
metric: "Indicateur",
|
|
1157
|
+
bar: "Graphique à barres",
|
|
1158
|
+
horizontalBar: "Barres horizontales",
|
|
1159
|
+
line: "Graphique en courbes",
|
|
1160
|
+
pie: "Graphique circulaire",
|
|
1161
|
+
donut: "Graphique en anneau",
|
|
1162
|
+
area: "Graphique en aires",
|
|
1163
|
+
scatter: "Nuage de points",
|
|
1164
|
+
funnel: "Entonnoir",
|
|
1165
|
+
table: "Tableau",
|
|
1166
|
+
pivot: "Tableau croisé",
|
|
1167
|
+
},
|
|
1168
|
+
color: {
|
|
1169
|
+
default: "Par défaut",
|
|
1170
|
+
blue: "Bleu",
|
|
1171
|
+
teal: "Sarcelle",
|
|
1172
|
+
orange: "Orange",
|
|
1173
|
+
purple: "Violet",
|
|
1174
|
+
success: "Succès",
|
|
1175
|
+
warning: "Avertissement",
|
|
1176
|
+
danger: "Danger",
|
|
1177
|
+
},
|
|
1178
|
+
},
|
|
1118
1179
|
trend: {
|
|
1119
1180
|
vsLastQuarter: "vs. trimestre dernier",
|
|
1120
1181
|
vsLastMonth: "vs. mois dernier",
|
|
@@ -1124,24 +1185,6 @@ const fr = {
|
|
|
1124
1185
|
vsPreviousPeriod: "vs. période précédente",
|
|
1125
1186
|
},
|
|
1126
1187
|
},
|
|
1127
|
-
configPanel: {
|
|
1128
|
-
save: "Enregistrer",
|
|
1129
|
-
discard: "Annuler",
|
|
1130
|
-
close: "Fermer",
|
|
1131
|
-
layout: "Disposition",
|
|
1132
|
-
columns: "Colonnes",
|
|
1133
|
-
gap: "Espacement",
|
|
1134
|
-
rowHeight: "Hauteur de ligne",
|
|
1135
|
-
data: "Données",
|
|
1136
|
-
refreshInterval: "Intervalle de rafraîchissement",
|
|
1137
|
-
appearance: "Apparence",
|
|
1138
|
-
title: "Titre",
|
|
1139
|
-
showDescription: "Afficher la description",
|
|
1140
|
-
theme: "Thème",
|
|
1141
|
-
configuration: "Configuration",
|
|
1142
|
-
general: "Général",
|
|
1143
|
-
advanced: "Avancé",
|
|
1144
|
-
},
|
|
1145
1188
|
appDesigner: {
|
|
1146
1189
|
createApp: "Créer une application",
|
|
1147
1190
|
editApp: "Modifier l'application",
|
|
@@ -1192,8 +1235,6 @@ const fr = {
|
|
|
1192
1235
|
showSort: "Afficher le tri",
|
|
1193
1236
|
appearance: "Apparence",
|
|
1194
1237
|
rowHeight: "Hauteur de ligne",
|
|
1195
|
-
stripedRows: "Lignes alternées",
|
|
1196
|
-
bordered: "Avec bordure",
|
|
1197
1238
|
livePreview: "Aperçu en direct",
|
|
1198
1239
|
stepBasicDesc: "Nom, titre et mise en page",
|
|
1199
1240
|
stepObjectsDesc: "Sélectionner les objets métier",
|
|
@@ -1307,7 +1348,6 @@ const fr = {
|
|
|
1307
1348
|
unique: "Unique",
|
|
1308
1349
|
readOnly: "Lecture seule",
|
|
1309
1350
|
hidden: "Masqué",
|
|
1310
|
-
indexed: "Indexé",
|
|
1311
1351
|
externalId: "ID externe",
|
|
1312
1352
|
trackHistory: "Suivre l'historique",
|
|
1313
1353
|
defaultValue: "Valeur par défaut",
|
|
@@ -1381,6 +1421,13 @@ const fr = {
|
|
|
1381
1421
|
passwordsDownload: "Télécharger le CSV",
|
|
1382
1422
|
},
|
|
1383
1423
|
ai: {
|
|
1424
|
+
pendingDrafts: {
|
|
1425
|
+
count: "{{count}} modification(s) ne sont pas encore publiée(s) — les utilisateurs ne peuvent pas les voir.",
|
|
1426
|
+
publish: "Publier",
|
|
1427
|
+
published: "Toutes les modifications en attente sont actives.",
|
|
1428
|
+
failed: "Échec de la publication.",
|
|
1429
|
+
publishedWithFindings: "Publié, mais les contrôles d'exécution ont signalé des problèmes : {{detail}}",
|
|
1430
|
+
},
|
|
1384
1431
|
usage: {
|
|
1385
1432
|
title: "Utilisation de l'IA",
|
|
1386
1433
|
meterBuild: "Créer",
|
|
@@ -1516,6 +1563,11 @@ const fr = {
|
|
|
1516
1563
|
changesConfirmed: "Confirmé",
|
|
1517
1564
|
changesConfirm: "Confirmer",
|
|
1518
1565
|
changesConfirmHint: "Répondez pour confirmer ou ajuster cette modification.",
|
|
1566
|
+
changesApplying: "Application…",
|
|
1567
|
+
changesApplied: "Appliqué",
|
|
1568
|
+
changesDrafted: "Enregistré comme brouillon",
|
|
1569
|
+
changesFailed: "Non appliqué",
|
|
1570
|
+
discussing: "Sujet : {{target}}",
|
|
1519
1571
|
changeVerb: {
|
|
1520
1572
|
createObject: "Créer un objet",
|
|
1521
1573
|
addField: "Ajouter un champ",
|
|
@@ -1715,101 +1767,31 @@ const fr = {
|
|
|
1715
1767
|
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.",
|
|
1716
1768
|
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.",
|
|
1717
1769
|
allRecords: "Tous les enregistrements",
|
|
1718
|
-
exitDesignMode: "Quitter le mode conception",
|
|
1719
|
-
enterDesignMode: "Entrer en mode conception",
|
|
1720
|
-
metadataInspector: "Inspecteur de métadonnées",
|
|
1721
|
-
editView: "Modifier la vue",
|
|
1722
|
-
addView: "Ajouter une vue",
|
|
1723
|
-
designTools: "Outils de conception",
|
|
1724
1770
|
new: "Nouveau",
|
|
1725
1771
|
configureView: "Configurer la vue",
|
|
1726
|
-
closePanel: "Fermer le panneau",
|
|
1727
|
-
page: "Page",
|
|
1728
|
-
pageConfigHint: "Barre d'outils, navigation et paramètres du shell de vue",
|
|
1729
|
-
listConfigHint: "Rendu des données, colonnes et apparence pour ce type de liste",
|
|
1730
|
-
general: "Général",
|
|
1731
|
-
generalHint: "Titre, description et type de la vue",
|
|
1732
1772
|
toolbar: "Barre d'outils",
|
|
1733
|
-
toolbarHint: "Recherche, filtre, tri, regroupement et bascule de densité",
|
|
1734
1773
|
toolbarEnabledCount: "{{count}} sur {{total}} activés",
|
|
1735
|
-
navigationSection: "Navigation",
|
|
1736
|
-
navigationHint: "Comportement au clic sur la ligne et paramètres de la vue détaillée",
|
|
1737
|
-
records: "Enregistrements",
|
|
1738
|
-
recordsHint: "Mode de sélection, ajout d'enregistrement et édition en ligne",
|
|
1739
|
-
exportPrint: "Export et impression",
|
|
1740
|
-
exportPrintHint: "Formats d'export, impression et affichage du nombre d'enregistrements",
|
|
1741
|
-
showAllFields: "Tout afficher",
|
|
1742
|
-
hideAllFields: "Tout masquer",
|
|
1743
1774
|
searchFields: "Rechercher des champs…",
|
|
1744
1775
|
title: "Titre",
|
|
1745
|
-
description: "Description",
|
|
1746
|
-
data: "Données",
|
|
1747
|
-
source: "Source",
|
|
1748
|
-
columns: "Colonnes",
|
|
1749
|
-
filterBy: "Filtrer par",
|
|
1750
|
-
sortBy: "Trier par",
|
|
1751
|
-
appearance: "Apparence",
|
|
1752
|
-
showDescription: "Afficher la description",
|
|
1753
1776
|
viewType: "Type de vue",
|
|
1754
|
-
userFilters: "Filtres utilisateur",
|
|
1755
|
-
enableSearch: "Activer la recherche",
|
|
1756
|
-
enableFilter: "Activer le filtre",
|
|
1757
|
-
enableSort: "Activer le tri",
|
|
1758
|
-
enableHideFields: "Activer masquer les champs",
|
|
1759
|
-
enableGroup: "Activer le regroupement",
|
|
1760
|
-
enableColor: "Activer la couleur",
|
|
1761
|
-
enableDensity: "Activer la densité",
|
|
1762
|
-
userActions: "Actions utilisateur",
|
|
1763
|
-
addRecordViaForm: "Ajouter des enregistrements via un formulaire",
|
|
1764
|
-
advanced: "Avancé",
|
|
1765
|
-
allowExport: "Autoriser l'exportation",
|
|
1766
1777
|
recordCount: "{{count}} enregistrements",
|
|
1767
|
-
noDescription: "Aucune description",
|
|
1768
|
-
none: "Aucun",
|
|
1769
|
-
columnsConfigured: "{{count}} colonnes",
|
|
1770
1778
|
save: "Enregistrer",
|
|
1771
1779
|
discard: "Annuler",
|
|
1772
1780
|
createView: "Créer une vue",
|
|
1773
1781
|
newView: "Nouvelle vue",
|
|
1774
|
-
typeOptions: "Options de type",
|
|
1775
1782
|
groupByField: "Champ de regroupement",
|
|
1776
1783
|
startDateField: "Champ de date de début",
|
|
1777
1784
|
titleField: "Champ de titre",
|
|
1778
1785
|
latitudeField: "Champ de latitude",
|
|
1779
1786
|
longitudeField: "Champ de longitude",
|
|
1780
1787
|
imageField: "Champ d'image",
|
|
1781
|
-
dateField: "Champ de date",
|
|
1782
1788
|
selectField: "Sélectionner un champ…",
|
|
1783
|
-
gridOptionsHint: "La vue grille utilise les colonnes configurées ci-dessus.",
|
|
1784
1789
|
groupBy: "Regrouper par",
|
|
1785
|
-
prefixField: "Champ de préfixe",
|
|
1786
|
-
fields: "Champs",
|
|
1787
|
-
fieldsVisible: "{{count}} visibles",
|
|
1788
|
-
sortsCount: "{{count}} tris",
|
|
1789
|
-
filtersCount: "{{count}} filtres",
|
|
1790
1790
|
endDateField: "Champ de date de fin",
|
|
1791
|
-
color: "Couleur",
|
|
1792
|
-
fieldTextColor: "Couleur du texte du champ",
|
|
1793
|
-
rowHeight: "Hauteur de ligne",
|
|
1794
|
-
wrapHeaders: "Retour à la ligne des en-têtes",
|
|
1795
|
-
showFieldDescriptions: "Afficher les descriptions des champs",
|
|
1796
|
-
collapseAllByDefault: "Tout réduire par défaut",
|
|
1797
|
-
striped: "Lignes rayées",
|
|
1798
|
-
bordered: "Cellules bordées",
|
|
1799
|
-
inlineEdit: "Modifier les enregistrements en ligne",
|
|
1800
|
-
addDeleteRecordsInline: "Ajouter/supprimer des enregistrements en ligne",
|
|
1801
|
-
clickIntoRecordDetails: "Cliquer pour les détails de l'enregistrement",
|
|
1802
|
-
navigationMode: "Mode de navigation",
|
|
1803
|
-
navigationWidth: "Largeur de navigation",
|
|
1804
|
-
navigationWidthHint: "Disponible pour les modes de navigation tiroir, modale et partagée",
|
|
1805
|
-
openNewTab: "Ouvrir dans un nouvel onglet",
|
|
1806
|
-
openNewTabHint: "Disponible pour les modes de navigation page et nouvelle fenêtre",
|
|
1807
1791
|
import: "Importer",
|
|
1808
1792
|
importTitle: "Importer depuis CSV",
|
|
1809
1793
|
importedToast: "{{count}} ligne(s) importée(s).",
|
|
1810
1794
|
importedWithSkipped: "{{ok}} ligne(s) importée(s) ; {{skipped}} ignorée(s).",
|
|
1811
|
-
showAdvancedSettings: "Afficher les paramètres avancés",
|
|
1812
|
-
showFewerSettings: "Afficher moins de paramètres",
|
|
1813
1795
|
createViewDesc: "Choisissez un type de vue et donnez-lui un nom. Tous les paramètres peuvent être modifiés ensuite.",
|
|
1814
1796
|
cancel: "Annuler",
|
|
1815
1797
|
create: "Créer",
|
|
@@ -1857,58 +1839,9 @@ const fr = {
|
|
|
1857
1839
|
xAxisFieldHelp: "La dimension catégorielle ou temporelle.",
|
|
1858
1840
|
yAxisField: "Champ axe Y",
|
|
1859
1841
|
yAxisFieldHelp: "Le champ numérique à agréger.",
|
|
1860
|
-
selectionMode: "Mode de sélection",
|
|
1861
|
-
selectionNone: "Aucun",
|
|
1862
|
-
selectionSingle: "Unique",
|
|
1863
|
-
selectionMultiple: "Multiple",
|
|
1864
|
-
pageSize: "Taille de page",
|
|
1865
|
-
pageSizeOptions: "Options de taille de page",
|
|
1866
|
-
exportFormats: "Formats d'exportation",
|
|
1867
|
-
exportMaxRecords: "Enregistrements max",
|
|
1868
|
-
exportIncludeHeaders: "Inclure les en-têtes",
|
|
1869
|
-
exportFileNamePrefix: "Préfixe du nom de fichier",
|
|
1870
|
-
searchableFields: "Champs recherchables",
|
|
1871
|
-
filterableFields: "Champs filtrables",
|
|
1872
|
-
resizableColumns: "Colonnes redimensionnables",
|
|
1873
|
-
densityCompact: "Compact",
|
|
1874
|
-
densityComfortable: "Normal",
|
|
1875
|
-
densitySpacious: "Spacieux",
|
|
1876
|
-
densityMode: "Mode de densité",
|
|
1877
|
-
hiddenFields: "Champs masqués",
|
|
1878
|
-
rowActions: "Actions de ligne",
|
|
1879
|
-
bulkActions: "Actions en masse",
|
|
1880
|
-
sharing: "Partage",
|
|
1881
|
-
sharingEnabled: "Partage activé",
|
|
1882
|
-
sharingVisibility: "Visibilité",
|
|
1883
|
-
addRecordEnabled: "Ajout d'enregistrement activé",
|
|
1884
|
-
addRecordPosition: "Position",
|
|
1885
|
-
addRecordMode: "Mode",
|
|
1886
|
-
addRecordFormView: "Vue formulaire",
|
|
1887
|
-
conditionalFormatting: "Mise en forme conditionnelle",
|
|
1888
|
-
addRule: "Ajouter une règle",
|
|
1889
|
-
quickFilters: "Filtres rapides",
|
|
1890
|
-
addQuickFilter: "Ajouter un filtre rapide",
|
|
1891
|
-
ufElements: "Éléments",
|
|
1892
|
-
ufDropdown: "Liste déroulante",
|
|
1893
1842
|
ufTabs: "Onglets",
|
|
1894
|
-
ufToggle: "Bascule",
|
|
1895
1843
|
ufAddField: "+ Ajouter un champ de filtre…",
|
|
1896
|
-
ufNoFields: "Aucun champ disponible",
|
|
1897
|
-
ufAddTab: "+ Ajouter un onglet",
|
|
1898
|
-
ufTabLabel: "Étiquette",
|
|
1899
1844
|
ufShowAllRecords: "Afficher l'onglet \"Tous les enregistrements\"",
|
|
1900
|
-
ufAllowAddTab: "Autoriser l'ajout d'onglets",
|
|
1901
|
-
showRecordCount: "Afficher le nombre d'enregistrements",
|
|
1902
|
-
allowPrinting: "Autoriser l'impression",
|
|
1903
|
-
virtualScroll: "Défilement virtuel",
|
|
1904
|
-
emptyStateTitle: "Titre de l'état vide",
|
|
1905
|
-
emptyStateMessage: "Message de l'état vide",
|
|
1906
|
-
emptyStateIcon: "Icône de l'état vide",
|
|
1907
|
-
ariaLabel: "Étiquette ARIA",
|
|
1908
|
-
ariaDescribedBy: "Décrit par ARIA",
|
|
1909
|
-
ariaLive: "ARIA en direct",
|
|
1910
|
-
accessibility: "Accessibilité",
|
|
1911
|
-
viewTabs: "Onglets de vue",
|
|
1912
1845
|
},
|
|
1913
1846
|
localeSwitcher: {
|
|
1914
1847
|
label: "Langue",
|
|
@@ -2010,7 +1943,7 @@ const fr = {
|
|
|
2010
1943
|
submitButton: "Envoyer le lien de réinitialisation",
|
|
2011
1944
|
submittingButton: "Envoi en cours…",
|
|
2012
1945
|
successTitle: "Vérifiez vos e-mails",
|
|
2013
|
-
successDescription: "Nous avons envoyé un lien de réinitialisation du mot de passe à {
|
|
1946
|
+
successDescription: "Nous avons envoyé un lien de réinitialisation du mot de passe à {email}. Veuillez vérifier votre boîte de réception.",
|
|
2014
1947
|
backToSignInText: "Retour à la connexion",
|
|
2015
1948
|
rememberPasswordText: "Vous vous souvenez de votre mot de passe ?",
|
|
2016
1949
|
signInText: "Se connecter",
|
|
@@ -2285,10 +2218,12 @@ const fr = {
|
|
|
2285
2218
|
build: {
|
|
2286
2219
|
title: "Créer une application",
|
|
2287
2220
|
subtitle: "Partir de zéro — concevez les objets, formulaires, automatisations et interfaces.",
|
|
2221
|
+
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.",
|
|
2288
2222
|
},
|
|
2289
2223
|
template: {
|
|
2290
2224
|
title: "Partir d'un modèle",
|
|
2291
2225
|
subtitle: "Installez une application modèle depuis la place de marché et personnalisez-la.",
|
|
2226
|
+
marketplaceDisabled: "Aucune place de marché d'applications n'est configurée pour ce runtime : il n'y a donc aucun modèle à installer ici.",
|
|
2292
2227
|
},
|
|
2293
2228
|
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.",
|
|
2294
2229
|
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.",
|
|
@@ -2471,21 +2406,6 @@ const fr = {
|
|
|
2471
2406
|
recordNotFound: "Enregistrement introuvable",
|
|
2472
2407
|
recordNotFoundDescription: "L'enregistrement que vous recherchez n'existe pas ou a peut-être été supprimé.",
|
|
2473
2408
|
},
|
|
2474
|
-
renderer: {
|
|
2475
|
-
noPageSchema: "Aucun schéma de page fourni",
|
|
2476
|
-
noFormSchema: "Aucun schéma de formulaire fourni",
|
|
2477
|
-
noDashboardSchema: "Aucun schéma de tableau de bord fourni",
|
|
2478
|
-
pageRendering: "Rendu de la page : {{name}}",
|
|
2479
|
-
dashboardRendering: "Rendu du tableau de bord : {{name}}",
|
|
2480
|
-
formRenderingMode: "Formulaire rendu en mode {{mode}}",
|
|
2481
|
-
formRenderingFor: "pour l'enregistrement {{id}}",
|
|
2482
|
-
createRecord: "Créer un enregistrement",
|
|
2483
|
-
editRecord: "Modifier l'enregistrement",
|
|
2484
|
-
page: "Page",
|
|
2485
|
-
dashboard: "Tableau de bord",
|
|
2486
|
-
save: "Enregistrer",
|
|
2487
|
-
cancel: "Annuler",
|
|
2488
|
-
},
|
|
2489
2409
|
actionDialog: {
|
|
2490
2410
|
title: "Paramètres d'action",
|
|
2491
2411
|
description: "Veuillez saisir les informations requises pour continuer.",
|
|
@@ -2585,17 +2505,17 @@ const fr = {
|
|
|
2585
2505
|
},
|
|
2586
2506
|
organizations: {
|
|
2587
2507
|
create: "Créer un espace de travail",
|
|
2588
|
-
mine: "Mes
|
|
2589
|
-
title: "
|
|
2590
|
-
heading: "Vos
|
|
2591
|
-
subtitle: "Sélectionnez
|
|
2592
|
-
searchPlaceholder: "Rechercher
|
|
2593
|
-
new: "
|
|
2594
|
-
current: "
|
|
2508
|
+
mine: "Mes espaces de travail",
|
|
2509
|
+
title: "Espaces de travail",
|
|
2510
|
+
heading: "Vos espaces de travail",
|
|
2511
|
+
subtitle: "Sélectionnez un espace de travail pour continuer ou créez-en un nouveau.",
|
|
2512
|
+
searchPlaceholder: "Rechercher un espace de travail",
|
|
2513
|
+
new: "Nouvel espace de travail",
|
|
2514
|
+
current: "Espace de travail actuel",
|
|
2595
2515
|
manage: "Gérer",
|
|
2596
|
-
emptyTitle: "
|
|
2597
|
-
emptyDescription: "Créez votre
|
|
2598
|
-
noMatches: "
|
|
2516
|
+
emptyTitle: "Aucun espace de travail pour le moment",
|
|
2517
|
+
emptyDescription: "Créez votre premier espace de travail pour commencer.",
|
|
2518
|
+
noMatches: "Aucun espace de travail ne correspond à votre recherche.",
|
|
2599
2519
|
},
|
|
2600
2520
|
organization: {
|
|
2601
2521
|
roles: {
|
|
@@ -2724,6 +2644,9 @@ const fr = {
|
|
|
2724
2644
|
declined: "Invitation refusée",
|
|
2725
2645
|
declineFailed: "Impossible de refuser l'invitation",
|
|
2726
2646
|
},
|
|
2647
|
+
current: {
|
|
2648
|
+
label: "Organisation actuelle",
|
|
2649
|
+
},
|
|
2727
2650
|
switcher: {
|
|
2728
2651
|
label: "Changer d'organisation",
|
|
2729
2652
|
groupLabel: "Organisation de travail",
|
|
@@ -2771,52 +2694,6 @@ const fr = {
|
|
|
2771
2694
|
consentRequired: "Veuillez accepter la politique de confidentialité pour continuer.",
|
|
2772
2695
|
rateLimited: "Prenez un moment pour vérifier vos réponses avant d'envoyer.",
|
|
2773
2696
|
redirectBlocked: "Soumission acceptée, mais l'URL de redirection a été bloquée pour des raisons de sécurité.",
|
|
2774
|
-
demo: {
|
|
2775
|
-
contactTitle: "Nous contacter",
|
|
2776
|
-
contactDescription: "Parlez-nous de votre projet et un représentant commercial vous contactera dans un jour ouvrable.",
|
|
2777
|
-
supportTitle: "Soumettre une demande d'assistance",
|
|
2778
|
-
supportDescription: "Décrivez-nous le problème — notre équipe répondra dans un jour ouvrable.",
|
|
2779
|
-
thankYouSalesTitle: "Merci — nous avons reçu votre message !",
|
|
2780
|
-
thankYouSalesMessage: "Un représentant commercial vous contactera dans un jour ouvrable.",
|
|
2781
|
-
thankYouSupportTitle: "C'est bon — votre demande est en file d'attente.",
|
|
2782
|
-
thankYouSupportMessage: "Un ingénieur d'assistance vous fera un suivi bientôt. Sauvegardez cette page si vous avez des captures d'écran supplémentaires.",
|
|
2783
|
-
field: {
|
|
2784
|
-
firstName: "Prénom",
|
|
2785
|
-
lastName: "Nom",
|
|
2786
|
-
email: "E-mail professionnel",
|
|
2787
|
-
phone: "Téléphone",
|
|
2788
|
-
jobTitle: "Titre du poste",
|
|
2789
|
-
company: "Entreprise",
|
|
2790
|
-
website: "Site web",
|
|
2791
|
-
industry: "Secteur",
|
|
2792
|
-
companySize: "Taille de l'entreprise",
|
|
2793
|
-
howCanWeHelp: "Comment pouvons-nous vous aider ?",
|
|
2794
|
-
subject: "Sujet",
|
|
2795
|
-
description: "Description",
|
|
2796
|
-
issueType: "Type de problème",
|
|
2797
|
-
priority: "Priorité",
|
|
2798
|
-
},
|
|
2799
|
-
industry: {
|
|
2800
|
-
technology: "Technologie",
|
|
2801
|
-
software: "Logiciel / SaaS",
|
|
2802
|
-
finance: "Finance",
|
|
2803
|
-
healthcare: "Santé",
|
|
2804
|
-
retail: "Commerce de détail",
|
|
2805
|
-
other: "Autre",
|
|
2806
|
-
},
|
|
2807
|
-
issueType: {
|
|
2808
|
-
question: "Question",
|
|
2809
|
-
problem: "Problème",
|
|
2810
|
-
bug: "Bug",
|
|
2811
|
-
feature_request: "Demande de fonctionnalité",
|
|
2812
|
-
},
|
|
2813
|
-
priority: {
|
|
2814
|
-
low: "Faible",
|
|
2815
|
-
medium: "Moyen",
|
|
2816
|
-
high: "Élevé",
|
|
2817
|
-
critical: "Critique",
|
|
2818
|
-
},
|
|
2819
|
-
},
|
|
2820
2697
|
},
|
|
2821
2698
|
connectAgent: {
|
|
2822
2699
|
disabled: {
|
|
@@ -2929,6 +2806,7 @@ const fr = {
|
|
|
2929
2806
|
retry: "Réessayer",
|
|
2930
2807
|
errors: {
|
|
2931
2808
|
expired: "La demande a expiré avant d'être approuvée. Recommencez.",
|
|
2809
|
+
accessDenied: "La demande de connexion a été refusée. Recommencez.",
|
|
2932
2810
|
bindFailed: "Échec de la liaison.",
|
|
2933
2811
|
deviceCodeFailed: "Échec de la demande de code d'appareil.",
|
|
2934
2812
|
},
|
|
@@ -2994,10 +2872,16 @@ const fr = {
|
|
|
2994
2872
|
installedBadge: "Installé v{{version}}",
|
|
2995
2873
|
load: {
|
|
2996
2874
|
failed: "Impossible de charger le marketplace",
|
|
2997
|
-
|
|
2875
|
+
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.",
|
|
2876
|
+
failedHintSameOrigin: "Ce runtime sert lui-même le catalogue de la place de marché. Vérifiez qu'il est en ligne.",
|
|
2998
2877
|
packageFailed: "Impossible de charger le paquet",
|
|
2999
2878
|
notFound: "Introuvable.",
|
|
3000
2879
|
},
|
|
2880
|
+
disabled: {
|
|
2881
|
+
title: "La place de marché des applications est désactivée",
|
|
2882
|
+
description: "Aucune place de marché n'est configurée pour ce runtime : il n'y a donc rien à parcourir ni à installer ici.",
|
|
2883
|
+
hint: "C'est l'état attendu lorsque le runtime démarre avec <code>OS_CLOUD_URL=off</code> (ou <code>none</code>, <code>local</code>, <code>disabled</code>). Pour activer la place de marché, faites pointer <code>OS_CLOUD_URL</code> vers un plan de contrôle puis redémarrez le runtime.",
|
|
2884
|
+
},
|
|
3001
2885
|
detail: {
|
|
3002
2886
|
homepage: "Page d'accueil",
|
|
3003
2887
|
installedV: "Installé · v{{version}}",
|
|
@@ -3237,12 +3121,19 @@ const fr = {
|
|
|
3237
3121
|
submittedAgo: 'Soumise {{when}}',
|
|
3238
3122
|
completedAt: 'Terminée {{when}}',
|
|
3239
3123
|
waitingOn: 'En attente de',
|
|
3124
|
+
approverNameSeparator: ', ',
|
|
3125
|
+
approverUnstaffed: '{{seat}} (poste actuellement vacant)',
|
|
3240
3126
|
history: 'Activité',
|
|
3241
3127
|
noActions: 'Aucune action pour le moment.',
|
|
3242
3128
|
actSubmit: 'Soumise',
|
|
3243
3129
|
actApprove: 'Approuvée',
|
|
3244
3130
|
actReject: 'Rejetée',
|
|
3245
3131
|
actRecall: 'Retirée',
|
|
3132
|
+
overrideActionLabel: '{{action}} (dérogation)',
|
|
3133
|
+
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.",
|
|
3134
|
+
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.",
|
|
3135
|
+
viaOverrideChip: 'Dérogation administrateur',
|
|
3136
|
+
viaOverrideHint: "L'auteur n'occupait aucun poste d'approbateur à cette étape — admis par la voie de dérogation administrateur.",
|
|
3246
3137
|
rawData: 'Données brutes (JSON)',
|
|
3247
3138
|
copy: 'Copier',
|
|
3248
3139
|
copied: 'Copié',
|
|
@@ -3329,6 +3220,11 @@ const fr = {
|
|
|
3329
3220
|
detailChangedKeys: 'Également modifié :',
|
|
3330
3221
|
confirmNote: 'La publication libère atomiquement les {{count}} brouillons en attente de ce paquet.',
|
|
3331
3222
|
publishConfirm: 'Tout publier',
|
|
3223
|
+
// [objectui#5418] Pre-publish security-posture findings, shown next to
|
|
3224
|
+
// the confirm button so a refusal the door would issue is read BEFORE
|
|
3225
|
+
// the click rather than as a toast after the batch rolled back.
|
|
3226
|
+
securityBlockTitle: 'La publication sera refusée — {{count}} élément(s) nécessitent d’abord une décision',
|
|
3227
|
+
securityBlockWhere: 'Corrigez-le sur l’objet dans Paramètres → Partage d’enregistrements, puis publiez à nouveau.',
|
|
3332
3228
|
},
|
|
3333
3229
|
// ADR-0045 — the materialized-but-unlisted app banner
|
|
3334
3230
|
// (UnpublishedAppBar.tsx), sibling of draftBar above.
|
|
@@ -3375,10 +3271,15 @@ const fr = {
|
|
|
3375
3271
|
noResults: "Aucun résultat",
|
|
3376
3272
|
searchField: "Rechercher {{label}}…",
|
|
3377
3273
|
enterId: "Saisir l'ID {{label}}",
|
|
3274
|
+
addValue: "Saisir une valeur, puis Entrée",
|
|
3275
|
+
removeValue: "Supprimer {{value}}",
|
|
3276
|
+
rangeStart: "De",
|
|
3277
|
+
rangeEnd: "À",
|
|
3378
3278
|
operators: {
|
|
3379
3279
|
equals: "Égal à",
|
|
3380
3280
|
notEquals: "Différent de",
|
|
3381
3281
|
contains: "Contient",
|
|
3282
|
+
containsCaseInsensitive: "Contient (ignorer la casse)",
|
|
3382
3283
|
notContains: "Ne contient pas",
|
|
3383
3284
|
isEmpty: "Est vide",
|
|
3384
3285
|
isNotEmpty: "N'est pas vide",
|
|
@@ -3391,6 +3292,12 @@ const fr = {
|
|
|
3391
3292
|
between: "Entre",
|
|
3392
3293
|
in: "Dans",
|
|
3393
3294
|
notIn: "Pas dans",
|
|
3295
|
+
startsWith: "Commence par",
|
|
3296
|
+
endsWith: "Se termine par",
|
|
3297
|
+
isNull: "Est null",
|
|
3298
|
+
isNotNull: "N'est pas null",
|
|
3299
|
+
exists: "Est défini",
|
|
3300
|
+
notExists: "N'est pas défini",
|
|
3394
3301
|
},
|
|
3395
3302
|
},
|
|
3396
3303
|
sortBuilder: {
|
|
@@ -3439,6 +3346,13 @@ const fr = {
|
|
|
3439
3346
|
wizard: {
|
|
3440
3347
|
missingRequired: "Veuillez renseigner les champs obligatoires : {{fields}}",
|
|
3441
3348
|
},
|
|
3349
|
+
flowRunner: {
|
|
3350
|
+
title: 'Saisie',
|
|
3351
|
+
submitting: 'Envoi…',
|
|
3352
|
+
saveAndContinue: 'Enregistrer et continuer',
|
|
3353
|
+
nextStep: 'Enregistré — étape suivante',
|
|
3354
|
+
completed: 'Flux « {{flow}} » terminé',
|
|
3355
|
+
},
|
|
3442
3356
|
appManagement: {
|
|
3443
3357
|
title: "Applications",
|
|
3444
3358
|
subtitle: "Gérer toutes les applications configurées",
|