@liujitcn/kratos-admin-system 0.0.20 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +51 -50
  2. package/dist/package/declarations/src/api/system/base_language.d.ts +51 -0
  3. package/dist/package/declarations/src/api/system/base_translation.d.ts +7 -0
  4. package/dist/package/declarations/src/api/system/code_gen_i18n.d.ts +8 -0
  5. package/dist/package/declarations/src/components/DynamicTranslationCell.vue.d.ts +39 -0
  6. package/dist/package/declarations/src/components/DynamicTranslationEditor.vue.d.ts +23 -0
  7. package/dist/package/declarations/src/components/dynamicTranslation.d.ts +44 -0
  8. package/dist/package/declarations/src/rpc/system/admin/v1/base_config.d.ts +5 -0
  9. package/dist/package/declarations/src/rpc/system/admin/v1/base_dict.d.ts +79 -0
  10. package/dist/package/declarations/src/rpc/system/admin/v1/base_language.d.ts +114 -0
  11. package/dist/package/declarations/src/rpc/system/admin/v1/base_menu.d.ts +40 -0
  12. package/dist/package/declarations/src/rpc/system/admin/v1/base_translation.d.ts +102 -0
  13. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen.d.ts +2 -0
  14. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen_column.d.ts +7 -0
  15. package/dist/package/declarations/src/rpc/system/admin/v1/code_gen_table.d.ts +13 -0
  16. package/dist/package/declarations/src/views/tool/code-gen/components/CodeGenLocaleEditor.vue.d.ts +23 -0
  17. package/dist/package/declarations/src/views/tool/code-gen/config.d.ts +7 -7
  18. package/dist/package/declarations/src/views/tool/language/index.vue.d.ts +3 -0
  19. package/dist/package/src/api/base/ai_message.ts +7 -12
  20. package/dist/package/src/api/base/sse.ts +3 -1
  21. package/dist/package/src/api/system/base_language.ts +137 -0
  22. package/dist/package/src/api/system/base_translation.ts +22 -0
  23. package/dist/package/src/api/system/code_gen_column.ts +17 -3
  24. package/dist/package/src/api/system/code_gen_i18n.ts +18 -0
  25. package/dist/package/src/api/system/code_gen_table.ts +12 -4
  26. package/dist/package/src/components/DynamicTranslationCell.vue +176 -0
  27. package/dist/package/src/components/DynamicTranslationEditor.vue +166 -0
  28. package/dist/package/src/components/dynamicTranslation.ts +86 -0
  29. package/dist/package/src/locales/README.md +28 -0
  30. package/dist/package/src/locales/en-US.json +929 -0
  31. package/dist/package/src/locales/es-ES.json +928 -0
  32. package/dist/package/src/locales/fr-FR.json +928 -0
  33. package/dist/package/src/locales/ja-JP.json +929 -0
  34. package/dist/package/src/locales/ko-KR.json +928 -0
  35. package/dist/package/src/locales/zh-CN.json +929 -0
  36. package/dist/package/src/locales/zh-TW.json +928 -0
  37. package/dist/package/src/module.ts +19 -1
  38. package/dist/package/src/rpc/system/admin/v1/base_config.ts +5 -0
  39. package/dist/package/src/rpc/system/admin/v1/base_dict.ts +81 -0
  40. package/dist/package/src/rpc/system/admin/v1/base_language.ts +135 -0
  41. package/dist/package/src/rpc/system/admin/v1/base_menu.ts +41 -0
  42. package/dist/package/src/rpc/system/admin/v1/base_translation.ts +117 -0
  43. package/dist/package/src/rpc/system/admin/v1/code_gen.ts +5 -1
  44. package/dist/package/src/rpc/system/admin/v1/code_gen_column.ts +8 -0
  45. package/dist/package/src/rpc/system/admin/v1/code_gen_table.ts +15 -0
  46. package/dist/package/src/views/ai/chat/components/AiMarkdown.vue +1 -6
  47. package/dist/package/src/views/ai/chat/components/ChatPanel.vue +70 -53
  48. package/dist/package/src/views/ai/chat/components/SessionPanel.vue +20 -9
  49. package/dist/package/src/views/ai/chat/components/XSender.vue +36 -23
  50. package/dist/package/src/views/ai/chat/index.vue +55 -39
  51. package/dist/package/src/views/ai/chat/message.ts +18 -17
  52. package/dist/package/src/views/base/api/index.vue +121 -83
  53. package/dist/package/src/views/base/area/index.vue +81 -31
  54. package/dist/package/src/views/base/config/index.vue +272 -78
  55. package/dist/package/src/views/base/dept/index.vue +110 -61
  56. package/dist/package/src/views/base/dict/index.vue +137 -58
  57. package/dist/package/src/views/base/dict/item.vue +147 -61
  58. package/dist/package/src/views/base/job/index.vue +134 -81
  59. package/dist/package/src/views/base/job/log.vue +21 -22
  60. package/dist/package/src/views/base/log/index.vue +68 -46
  61. package/dist/package/src/views/base/menu/index.vue +257 -156
  62. package/dist/package/src/views/base/migration/index.vue +49 -29
  63. package/dist/package/src/views/base/post/index.vue +128 -59
  64. package/dist/package/src/views/base/role/index.vue +145 -78
  65. package/dist/package/src/views/base/tenant/index.vue +132 -63
  66. package/dist/package/src/views/base/user/components/dept-tree.vue +2 -1
  67. package/dist/package/src/views/base/user/index.vue +192 -112
  68. package/dist/package/src/views/profile/components/base.vue +44 -27
  69. package/dist/package/src/views/profile/components/password.vue +43 -27
  70. package/dist/package/src/views/profile/components/security.vue +89 -53
  71. package/dist/package/src/views/profile/index.vue +10 -9
  72. package/dist/package/src/views/tool/api-doc/index.vue +6 -2
  73. package/dist/package/src/views/tool/code-gen/code-preview/index.vue +30 -14
  74. package/dist/package/src/views/tool/code-gen/columns/index.vue +382 -273
  75. package/dist/package/src/views/tool/code-gen/columns/option-copy.ts +1 -6
  76. package/dist/package/src/views/tool/code-gen/components/CodeGenLocaleEditor.vue +118 -0
  77. package/dist/package/src/views/tool/code-gen/components/CodeGenProgressDialog.vue +65 -36
  78. package/dist/package/src/views/tool/code-gen/components/CodePreviewPane.vue +8 -5
  79. package/dist/package/src/views/tool/code-gen/config.ts +114 -77
  80. package/dist/package/src/views/tool/code-gen/preview/data.ts +19 -17
  81. package/dist/package/src/views/tool/code-gen/preview/index.vue +96 -58
  82. package/dist/package/src/views/tool/code-gen/proto/index.vue +110 -62
  83. package/dist/package/src/views/tool/code-gen/table/index.vue +197 -117
  84. package/dist/package/src/views/tool/language/index.vue +256 -0
  85. package/dist/package/src/views/tool/project-doc/index.vue +17 -15
  86. package/package.json +6 -2
@@ -0,0 +1,928 @@
1
+ {
2
+ "system.ai.requestFailedWithStatus": "La demande d'assistant IA a échoué ({status})",
3
+ "system.profile.title": "Centre personnel",
4
+ "system.common.action.createResource": "Ajout de {resource}",
5
+ "system.common.action.deleteResource": "Supprimer {resource}",
6
+ "system.common.action.editResource": "Modifier {resource}",
7
+ "system.common.action.refreshCache": "Actualiser le cache",
8
+ "system.common.dialog.cancelDelete": "Non supprimé {resource}",
9
+ "system.common.dialog.deleteBatch": "Êtes-vous sûr de supprimer le {count}{unit}{resource} sélectionné ?",
10
+ "system.common.dialog.deleteSelected": "Êtes-vous sûr de supprimer le {resource} sélectionné ?",
11
+ "system.common.dialog.deleteSingle": "Êtes-vous sûr de vouloir supprimer {resource} ?",
12
+ "system.common.dialog.resourceField": "{field} : {value}",
13
+ "system.common.dialog.statusChange": "Êtes-vous sûr de {action}{resource} ?\n{field} : {value}",
14
+ "system.common.field.createdAt": "Heure de création",
15
+ "system.common.field.operation": "Fonctionnement",
16
+ "system.common.field.remark": "Remarques",
17
+ "system.common.field.sort": "Trier\nStatut",
18
+ "system.common.field.status": "Status",
19
+ "system.common.field.tenant": "Locataire",
20
+ "system.common.field.updatedAt": "Heure de mise à jour",
21
+ "system.common.message.createSuccess": "{resource} a été ajouté avec succès",
22
+ "system.common.message.deleteSuccess": "Suppression de {resource} réussie",
23
+ "system.common.message.loadChildrenFailed": "n'a pas réussi à charger le nœud enfant {resource}",
24
+ "system.common.message.refreshSuccess": "Actualisé avec succès",
25
+ "system.common.message.selectDeleteItem": "Veuillez cocher pour supprimer l'élément",
26
+ "system.common.message.statusSuccess": "{action} Succès",
27
+ "system.common.message.updateSuccess": "a modifié {resource} avec succès",
28
+ "system.common.placeholder.remark": "Veuillez saisir des remarques",
29
+ "system.common.validation.maxLength": "{field} ne peut pas dépasser {max} caractères",
30
+ "system.common.validation.requiredInput": "Veuillez saisir {field}",
31
+ "system.common.validation.requiredSelect": "Veuillez sélectionner {field}",
32
+ "system.common.validation.sortPositive": "Le tri doit être supérieur à 0",
33
+ "system.area.action.create": "Ajouter une nouvelle région administrative",
34
+ "system.area.action.edit": "Modifier la région administrative",
35
+ "system.area.field.name": "nom de la zone",
36
+ "system.area.field.parent": "Espace parents",
37
+ "system.area.message.deleteBatch": "Etes-vous sûr de supprimer la zone administrative sélectionnée ?",
38
+ "system.area.message.deleteSingle": "Etes-vous sûr de vouloir supprimer la zone administrative ?",
39
+ "system.area.resource": "Région administrative",
40
+ "system.common.field.index": "numéro de série",
41
+ "system.language.resource": "Langue",
42
+ "system.language.action.create": "Nouvelle langue",
43
+ "system.language.action.edit": "Langue d'édition",
44
+ "system.language.field.code": "code langue",
45
+ "system.language.field.name": "Nom de la langue",
46
+ "system.language.field.nativeName": "nom local",
47
+ "system.language.field.sort": "Trier",
48
+ "system.language.field.primary": "Langue principale",
49
+ "system.language.field.status": "S'il faut activer",
50
+ "system.language.placeholder.code": "Veuillez saisir le code de langue",
51
+ "system.language.placeholder.name": "Veuillez saisir le nom de la langue",
52
+ "system.language.placeholder.nativeName": "Veuillez entrer le nom local",
53
+ "system.language.placeholder.sort": "Veuillez saisir le tri",
54
+ "system.language.message.primaryCannotDisable": "La langue principale ne peut pas être désactivée",
55
+ "system.language.message.primaryCannotDelete": "La langue principale ne peut pas être supprimée",
56
+ "system.language.message.confirmStatus": "Êtes-vous sûr de la langue {action} ?\nLangue : {name}",
57
+ "system.language.message.confirmPrimary": "Définir cette langue comme langue principale ?\nLangue : {name}",
58
+ "system.language.message.confirmDelete": "Etes-vous sûr de vouloir supprimer la langue ?\nLangue : {name}",
59
+ "system.area.value.root": "Nœud de niveau supérieur",
60
+ "system.post.field.code": "Numéro de position",
61
+ "system.post.field.name": "Nom du poste",
62
+ "system.post.resource": "Poste",
63
+ "system.dept.field.name": "Nom du département",
64
+ "system.dept.field.parent": "Département Supérieur\nDépartement",
65
+ "system.dept.resource": "department",
66
+ "system.dept.value.root": "Département supérieur",
67
+ "system.tenant.field.code": "Numéro de locataire",
68
+ "system.tenant.field.contactName": "Contacter",
69
+ "system.tenant.field.contactPhone": "Numéro de téléphone",
70
+ "system.tenant.field.name": "Nom du locataire",
71
+ "system.tenant.message.phoneInvalid": "Veuillez entrer le numéro de contact correct",
72
+ "system.tenant.message.protectedDelete": "Le locataire par défaut ne peut pas être supprimé",
73
+ "system.tenant.message.protectedStatus": "Le locataire par défaut ne peut pas modifier le statut",
74
+ "system.tenant.resource": "Locataire\nClé de configuration",
75
+ "system.config.field.key": "Configuration key",
76
+ "system.config.field.name": "nom de la configuration\nEmplacement de configuration",
77
+ "system.config.field.site": "Type de configuration",
78
+ "system.config.field.type": "Valeur de configuration",
79
+ "system.config.field.value": "Configuration value",
80
+ "system.config.message.imageMissing": "Aucune image configurée",
81
+ "system.config.message.richTextMissing": "Texte enrichi non configuré",
82
+ "system.config.message.valueMissing": "non configuré",
83
+ "system.config.resource": "Configuration du système",
84
+ "system.log.field.browser": "Navigateur",
85
+ "system.log.field.clientId": "ID client",
86
+ "system.log.field.clientIp": "IP du client",
87
+ "system.log.field.clientName": "nom du client",
88
+ "system.log.field.costTime": "Temps d'exécution (ms)",
89
+ "system.log.field.location": "Emplacement",
90
+ "system.log.field.method": "Méthode de requête",
91
+ "system.log.field.operation": "Comment fonctionner",
92
+ "system.log.field.os": "Système d'exploitation",
93
+ "system.log.field.path": "chemin de requête",
94
+ "system.log.field.reason": "Raison de l'échec",
95
+ "system.log.field.referer": "page source",
96
+ "system.log.field.requestBody": "corps de la demande",
97
+ "system.log.field.requestHeader": "en-tête de requête",
98
+ "system.log.field.requestId": "ID de demande",
99
+ "system.log.field.requestResult": "Résultats de la demande",
100
+ "system.log.field.requestTime": "Temps de fonctionnement",
101
+ "system.log.field.requestUri": "URI de la demande",
102
+ "system.log.field.result": "Résultat de l'opération\nCode d'état",
103
+ "system.log.field.statusCode": "Status code",
104
+ "system.log.field.userId": "ID utilisateur",
105
+ "system.log.field.userName": "Nom d'utilisateur",
106
+ "system.log.section.basic": "Informations de base",
107
+ "system.log.section.client": "Informations client",
108
+ "system.log.section.request": "Demander des informations",
109
+ "system.log.section.user": "Informations utilisateur",
110
+ "system.log.status.failed": "a échoué",
111
+ "system.log.status.success": "Succès",
112
+ "system.log.title.detail": "Détails du journal système",
113
+ "system.common.field.action": "Fonctionnement",
114
+ "system.common.placeholder.startDate": "Heure de début",
115
+ "system.common.placeholder.endDate": "Date limite",
116
+ "system.jobLog.title.detail": "Détails du journal des tâches planifiées",
117
+ "system.jobLog.section.basic": "Informations de base",
118
+ "system.jobLog.section.execution": "Informations d'exécution\nParamètres d'exécution",
119
+ "system.jobLog.field.input": "Input",
120
+ "system.jobLog.field.output": "Résultats de sortie",
121
+ "system.jobLog.field.error": "Raison de l'échec",
122
+ "system.jobLog.field.executeTime": "temps d'exécution",
123
+ "system.jobLog.field.processTime": "Cela prend du temps",
124
+ "system.jobLog.field.processTimeMs": "Temps consommé (ms)",
125
+ "system.apiDoc.message.empty": "Aucun document pour l'instant\nModule",
126
+ "system.migration.field.module": "Source de données",
127
+ "system.migration.field.dataSource": "Version",
128
+ "system.migration.field.version": "Version",
129
+ "system.migration.placeholder.module": "Veuillez entrer dans le module de migration",
130
+ "system.migration.placeholder.dataSource": "Veuillez saisir le nom de la source de données",
131
+ "system.migration.placeholder.version": "Veuillez saisir le numéro de version",
132
+ "system.migration.message.emptyHistory": "Aucun historique de mise à niveau pour l'instant",
133
+ "system.migration.title.history": "Historique de mise à niveau de la base de données",
134
+ "system.migration.title.list": "Liste des enregistrements de mise à niveau",
135
+ "system.migration.value.defaultModule": "Migration de base de données",
136
+ "system.migration.message.total": "Total de {total} articles",
137
+ "system.migration.section.description": "Instructions de mise à niveau",
138
+ "system.migration.section.sql": "Script SQL",
139
+ "system.migration.field.upScript": "script de mise à niveau",
140
+ "system.migration.field.downScript": "script de restauration",
141
+ "system.migration.action.copyUpScript": "Copier le script de mise à niveau",
142
+ "system.migration.action.copyDownScript": "Copier le script de secours",
143
+ "system.migration.message.emptyDetail": "Cet enregistrement n'a pas encore de description ou de script",
144
+ "system.migration.message.selectRecord": "Veuillez sélectionner un enregistrement de mise à niveau",
145
+ "system.migration.message.copySuccess": "Script SQL copié",
146
+ "system.migration.message.copyFailed": "Échec de la copie, veuillez sélectionner le contenu du script manuellement",
147
+ "system.common.value.yes": "Oui",
148
+ "system.common.value.no": "Non",
149
+ "system.common.value.unknown": "Inconnu",
150
+ "system.api.title.detail": "Détails de l'API",
151
+ "system.api.title.edit": "API d'édition",
152
+ "system.api.field.toolName": "nom de l'outil",
153
+ "system.api.field.toolPrompts": "mot d'info-bulle",
154
+ "system.api.field.serviceName": "Nom du service",
155
+ "system.api.field.serviceDescription": "Description du service",
156
+ "system.api.field.description": "Descriptif",
157
+ "system.api.field.operation": "Comment fonctionner",
158
+ "system.api.field.method": "Méthode de requête",
159
+ "system.api.field.path": "Adresse de la demande",
160
+ "system.api.field.mcpTool": "Outils MCP",
161
+ "system.api.field.agentTool": "Outil Agent",
162
+ "system.api.field.mcpStatus": "État de l'outil MCP",
163
+ "system.api.field.agentStatus": "État de l'outil Agent",
164
+ "system.api.placeholder.toolPrompt": "Veuillez saisir le mot de l'info-bulle",
165
+ "system.api.section.parameters": "paramètres de requête",
166
+ "system.api.section.requestBody": "corps de la demande",
167
+ "system.api.section.responses": "valeur de retour\nChamp",
168
+ "system.api.doc.field.name": "Field",
169
+ "system.api.doc.field.location": "Emplacement\nType",
170
+ "system.api.doc.field.type": "Type",
171
+ "system.api.doc.field.required": "Obligatoire",
172
+ "system.api.doc.field.description": "Descriptif",
173
+ "system.api.message.noParameters": "Aucun paramètre de requête",
174
+ "system.api.message.noRequestBody": "Aucun corps de requête",
175
+ "system.api.message.noResponseBody": "Aucun corps de réponse",
176
+ "system.api.message.noResponses": "Aucune valeur de retour",
177
+ "system.api.message.saveSuccess": "Enregistré avec succès",
178
+ "system.api.message.confirmMcpStatus": "Êtes-vous sûr que {action} est la fonctionnalité de l'outil MCP pour cette API ?\nAPI : {api}",
179
+ "system.api.message.confirmAgentStatus": "Êtes-vous sûr que {action} est la fonctionnalité de l'outil Agent de cette API ?\nAPI : {api}",
180
+ "system.job.action.create": "Ajouter une nouvelle tâche planifiée",
181
+ "system.job.action.edit": "Modifier les tâches planifiées",
182
+ "system.job.action.start": "Début",
183
+ "system.job.action.stop": "Arrêter",
184
+ "system.job.action.execute": "Exécuter une fois",
185
+ "system.job.action.log": "Journal",
186
+ "system.job.action.addArg": "Ajouter des paramètres",
187
+ "system.job.field.name": "Nom de la tâche",
188
+ "system.job.field.invokeTarget": "cible de l'appel",
189
+ "system.job.field.cron": "Expression Cron",
190
+ "system.job.field.args": "paramètre cible",
191
+ "system.job.field.argsShort": "Paramètres",
192
+ "system.job.field.argKey": "Paramètres\nValeur",
193
+ "system.job.field.argValue": "Value",
194
+ "system.job.field.entryId": "ID de tâche",
195
+ "system.job.placeholder.name": "Veuillez saisir le nom de la tâche",
196
+ "system.job.placeholder.invokeTarget": "Veuillez saisir la cible de l'appel",
197
+ "system.job.validation.argKeyRequired": "Tous les paramètres doivent être renseignés",
198
+ "system.job.message.createSuccess": "Nouvelle tâche planifiée avec succès",
199
+ "system.job.message.updateSuccess": "Tâche planifiée modifiée avec succès",
200
+ "system.job.message.confirmStatus": "Êtes-vous sûr de la tâche planifiée {action} ?\nNom de la tâche : {name}",
201
+ "system.job.message.confirmDeleteSingle": "Êtes-vous sûr de supprimer la tâche planifiée ?\nNom de la tâche : {name}",
202
+ "system.job.message.confirmDeleteBatch": "Êtes-vous sûr de supprimer les tâches planifiées {count} sélectionnées ?",
203
+ "system.job.message.confirmDeleteSelected": "Êtes-vous sûr de supprimer la tâche planifiée sélectionnée ?",
204
+ "system.job.message.deleteSuccess": "Suppression de la tâche planifiée avec succès",
205
+ "system.job.message.deleteCanceled": "La suppression de la tâche planifiée a été annulée",
206
+ "system.job.message.confirmStart": "Êtes-vous sûr de démarrer la tâche planifiée ?\nNom de la tâche : {name}",
207
+ "system.job.message.startSuccess": "Démarré avec succès",
208
+ "system.job.message.startCanceled": "Le démarrage planifié de la tâche a été annulé",
209
+ "system.job.message.confirmStop": "Êtes-vous sûr de vouloir arrêter la tâche planifiée ?\nNom de la tâche : {name}",
210
+ "system.job.message.stopSuccess": "Arrêtez-vous avec succès",
211
+ "system.job.message.stopCanceled": "La tâche planifiée a été annulée",
212
+ "system.job.message.confirmExecute": "Êtes-vous sûr d'exécuter une tâche planifiée ?\nNom de la tâche : {name}",
213
+ "system.job.message.executeSuccess": "exécuté avec succès",
214
+ "system.job.message.executeCanceled": "L'exécution de la tâche planifiée a été annulée",
215
+ "system.job.title.log": "[{name}] Journal des tâches planifiées",
216
+ "system.role.action.create": "Nouveau rôle",
217
+ "system.role.action.edit": "Modifier le rôle",
218
+ "system.role.action.assignPermission": "Attribuer des autorisations",
219
+ "system.role.action.collapseNodes": "nœud de réduction",
220
+ "system.role.action.expandNodes": "Développer le nœud",
221
+ "system.role.title.assignPermission": "[{name}] Attribution d'autorisations",
222
+ "system.role.field.tenant": "Locataire auquel",
223
+ "system.role.field.tenantShort": "Locataire",
224
+ "system.role.field.name": "nom du rôle\nCode de rôle",
225
+ "system.role.field.code": "Role code",
226
+ "system.role.field.dataScope": "Autorisations de données",
227
+ "system.role.field.menuPermission": "Autorisations de menu",
228
+ "system.role.field.treeOperation": "Opérations sur l'arborescence",
229
+ "system.role.field.selectionMode": "Mode de vérification",
230
+ "system.role.field.parentChildLinked": "Lien père-fils",
231
+ "system.role.placeholder.tenant": "Veuillez sélectionner le locataire",
232
+ "system.role.placeholder.name": "Veuillez saisir le nom du rôle",
233
+ "system.role.placeholder.code": "Veuillez saisir le code de rôle",
234
+ "system.role.placeholder.menuPermission": "Nom de l'autorisation du menu",
235
+ "system.role.validation.menuDuplicate": "Les autorisations de menu ne peuvent pas être répétées",
236
+ "system.role.message.parentChildLinkedTip": "Si vous avez uniquement besoin de vérifier les autorisations du menu et que vous n'avez pas besoin de vérifier les autorisations du sous-menu ou des boutons, veuillez désactiver la liaison parent-enfant.",
237
+ "system.role.message.createSuccess": "Caractère ajouté avec succès",
238
+ "system.role.message.updateSuccess": "Modification de rôle réussie",
239
+ "system.role.message.protectedStatus": "Le rôle par défaut ne permet pas la modification du statut",
240
+ "system.role.message.protectedDelete": "Le rôle par défaut ne peut pas être supprimé",
241
+ "system.role.message.protectedPermission": "Le locataire actuel ne peut pas se voir attribuer cette autorisation de rôle intégrée.",
242
+ "system.role.message.confirmStatus": "Êtes-vous sûr du rôle {action} ?\nNom du rôle : {name}",
243
+ "system.role.message.confirmDeleteSingle": "Êtes-vous sûr de vouloir supprimer le rôle ?\nNom du rôle : {name}",
244
+ "system.role.message.confirmDeleteBatch": "Êtes-vous sûr de vouloir supprimer les {count} caractères sélectionnés ?",
245
+ "system.role.message.confirmDeleteSelected": "Etes-vous sûr de supprimer le caractère sélectionné ?",
246
+ "system.role.message.deleteSuccess": "Rôle supprimé avec succès",
247
+ "system.role.message.deleteCanceled": "Caractère non supprimé",
248
+ "system.role.message.assignSuccess": "Autorisations attribuées avec succès",
249
+ "system.user.action.create": "Ajouter un nouvel utilisateur",
250
+ "system.user.action.edit": "Modifier l'utilisateur",
251
+ "system.user.action.resetPassword": "Réinitialiser le mot de passe",
252
+ "system.user.title.departmentList": "Liste des départements",
253
+ "system.user.title.resetPassword": "Réinitialiser le mot de passe : {name}",
254
+ "system.user.field.tenant": "Locataire auquel",
255
+ "system.user.field.tenantShort": "Locataire",
256
+ "system.user.field.userName": "Compte utilisateur",
257
+ "system.user.field.userCode": "Numéro d'utilisateur",
258
+ "system.user.field.nickName": "Pseudonyme de l'utilisateur",
259
+ "system.user.field.nickNameShort": "Pseudo\nRôle",
260
+ "system.user.field.role": "Role",
261
+ "system.user.field.department": "Département utilisateur\nDépartement",
262
+ "system.user.field.departmentShort": "Department",
263
+ "system.user.field.post": "Position de l'utilisateur",
264
+ "system.user.field.postShort": "Poste",
265
+ "system.user.field.password": "Mot de passe",
266
+ "system.user.field.newPassword": "Nouveau mot de passe",
267
+ "system.user.field.passwordStrength": "Astuce de force",
268
+ "system.user.field.gender": "Sexe",
269
+ "system.user.placeholder.tenant": "Veuillez sélectionner le locataire",
270
+ "system.user.placeholder.userName": "Veuillez entrer le compte utilisateur",
271
+ "system.user.placeholder.userCode": "Veuillez saisir le numéro d'utilisateur",
272
+ "system.user.placeholder.nickName": "Veuillez saisir le pseudo de l'utilisateur",
273
+ "system.user.placeholder.department": "Veuillez sélectionner le département utilisateur",
274
+ "system.user.placeholder.post": "Veuillez sélectionner la position de l'utilisateur",
275
+ "system.user.placeholder.password": "Veuillez saisir le mot de passe",
276
+ "system.user.placeholder.newPassword": "Veuillez saisir un nouveau mot de passe",
277
+ "system.user.message.resetPasswordSuccess": "Réinitialisation du mot de passe réussie\nNom d'utilisateur : {name}",
278
+ "system.user.message.createSuccess": "Nouvel utilisateur ajouté avec succès",
279
+ "system.user.message.updateSuccess": "Modification de l'utilisateur réussie",
280
+ "system.user.message.protectedAccount": "Le compte administrateur intégré ne peut être modifié que via le centre personnel",
281
+ "system.user.message.confirmStatus": "Êtes-vous sûr d'être l'utilisateur {action} ?\nNom d'utilisateur : {name}",
282
+ "system.user.message.confirmDeleteSingle": "Êtes-vous sûr de vouloir supprimer l'utilisateur ?\nNom d'utilisateur : {name}",
283
+ "system.user.message.confirmDeleteBatch": "Êtes-vous sûr de vouloir supprimer les utilisateurs {count} sélectionnés ?",
284
+ "system.user.message.confirmDeleteSelected": "Êtes-vous sûr de supprimer l'utilisateur sélectionné ?",
285
+ "system.user.message.deleteSuccess": "Utilisateur supprimé avec succès",
286
+ "system.user.message.deleteCanceled": "L'utilisateur a été supprimé",
287
+ "system.translation.field.translations": "Traduction multilingue",
288
+ "system.translation.field.nameTranslations": "Traduction du nom",
289
+ "system.translation.field.valueTranslations": "traduction de valeur",
290
+ "system.translation.placeholder.text": "Veuillez saisir la traduction de {language}",
291
+ "system.translation.action.generateDraft": "génère un brouillon {language}",
292
+ "system.translation.message.saveBeforeDraft": "Veuillez d'abord enregistrer les ressources en chinois, puis générer un brouillon de traduction automatique.",
293
+ "system.translation.message.draftSuccess": "{language}Brouillon généré avec succès",
294
+ "system.translation.status.pending": "A traduire",
295
+ "system.translation.status.machine": "Projet de machine",
296
+ "system.translation.status.reviewed": "Révisé",
297
+ "system.translation.status.sourceChanged": "Modifications du texte source",
298
+ "system.menu.title.list": "Liste des menus",
299
+ "system.menu.action.create": "Nouveau menu",
300
+ "system.menu.action.edit": "Modifier le menu",
301
+ "system.menu.action.addRouteParam": "Ajouter des paramètres de routage",
302
+ "system.menu.type.folder": "Table des matières",
303
+ "system.menu.type.menu": "Menu\nBouton",
304
+ "system.menu.type.button": "Button",
305
+ "system.menu.type.external": "lien externe",
306
+ "system.menu.access.public": "Accès public",
307
+ "system.menu.access.guest": "Visiteurs uniquement",
308
+ "system.menu.access.authenticated": "Accès à la connexion",
309
+ "system.menu.field.parent": "Menu précédent",
310
+ "system.menu.field.type": "Type de menu",
311
+ "system.menu.field.name": "Nom du menu",
312
+ "system.menu.field.title": "Titre du menu",
313
+ "system.menu.field.buttonName": "nom du bouton\nIcône de menu",
314
+ "system.menu.field.icon": "Menu icon",
315
+ "system.menu.field.defaultIcon": "Icône par défaut",
316
+ "system.menu.field.selectedIcon": "Icône de vérification",
317
+ "system.menu.field.path": "chemin de routage",
318
+ "system.menu.field.pathOrPermission": "Identification du chemin de routage/de l'autorité",
319
+ "system.menu.field.logicalPath": "chemin logique",
320
+ "system.menu.field.permission": "identification de l'autorisation",
321
+ "system.menu.field.internalPath": "chemin interne",
322
+ "system.menu.field.routeName": "nom de l'itinéraire",
323
+ "system.menu.field.logicalName": "nom logique",
324
+ "system.menu.field.component": "chemin du composant\nAdresse de redirection",
325
+ "system.menu.field.redirect": "Redirect URL",
326
+ "system.menu.field.redirectRoute": "Itinéraire de saut",
327
+ "system.menu.field.externalUrl": "adresse du lien externe",
328
+ "system.menu.field.displayStatus": "Afficher l'état",
329
+ "system.menu.field.viewKey": "clé d'affichage",
330
+ "system.menu.field.access": "Mode d'accès",
331
+ "system.menu.field.hidden": "S'il faut masquer",
332
+ "system.menu.field.alwaysShow": "toujours affiché\nPage de cache",
333
+ "system.menu.field.keepAlive": "Cache page",
334
+ "system.menu.field.fullscreen": "Mode plein écran",
335
+ "system.menu.field.affix": "Balise fixe\nParamètres de routage",
336
+ "system.menu.field.routeParams": "Route parameters",
337
+ "system.menu.field.apiList": "Liste des API",
338
+ "system.menu.status.hidden": "Masquer",
339
+ "system.menu.status.visible": "spectacle",
340
+ "system.menu.placeholder.parent": "Veuillez sélectionner le menu supérieur",
341
+ "system.menu.placeholder.title": "Veuillez saisir le titre du menu",
342
+ "system.menu.placeholder.buttonName": "Veuillez saisir le nom du bouton",
343
+ "system.menu.placeholder.icon": "Veuillez sélectionner l'icône du menu",
344
+ "system.menu.placeholder.defaultIcon": "par exemple. ACCUEIL_DEFAULT",
345
+ "system.menu.placeholder.selectedIcon": "par exemple. HOME_SELECTED",
346
+ "system.menu.placeholder.logicalName": "Par exemple AppHome",
347
+ "system.menu.placeholder.routeName": "Veuillez saisir le nom de l'itinéraire",
348
+ "system.menu.placeholder.viewKey": "par exemple. ACCUEIL",
349
+ "system.menu.placeholder.access": "Veuillez sélectionner le mode d'accès",
350
+ "system.menu.placeholder.permission": "Veuillez saisir l'ID d'autorisation du bouton",
351
+ "system.menu.placeholder.logicalPath": "Par exemple application/accueil",
352
+ "system.menu.placeholder.redirectRoute": "Veuillez entrer l'itinéraire de saut",
353
+ "system.menu.tooltip.mobileIcon": "Remplissez la clé icône ou l'adresse image HTTPS enregistrée par le module du terminal mobile.",
354
+ "system.menu.tooltip.logicalName": "La page mobile utilise le nom logique unique du préfixe de l'application.",
355
+ "system.menu.tooltip.routeName": "Si vous devez activer la mise en cache, vous devez vous assurer que le nom dans setOptions de la page est cohérent avec celui-ci. Il est recommandé d'utiliser un étui Camel.",
356
+ "system.menu.tooltip.viewKey": "doit être cohérent avec la viewKey stable enregistrée dans le module du terminal mobile et le chemin du fichier du composant n'est pas renseigné.",
357
+ "system.menu.tooltip.component": "Le chemin complet de la page du composant, au format nom du module/chemin des vues dans le module, tel que system/base/user/index, et le suffixe par défaut est .vue.",
358
+ "system.menu.tooltip.alwaysShow": "Sélectionnez \"Oui\", même s'il n'y a qu'un seul nœud enfant sous le répertoire ou le menu, le nœud parent sera affiché ; sélectionnez \"Non\", s'il n'y a qu'un seul nœud enfant, seul le nœud enfant sera affiché.",
359
+ "system.menu.tooltip.routeParams": "La page du composant utilise le nom useRoute().query.parameter pour obtenir la valeur du paramètre de routage.",
360
+ "system.menu.tooltip.logicalPath": "Utilisez le chemin logique stable avec le préfixe app/ et ne renseignez pas le chemin de la page physique uni-app.",
361
+ "system.menu.tooltip.permission": "Le menu de type de bouton utilise un identifiant d'autorisation, tel que base:user:create.",
362
+ "system.menu.tooltip.internalPath": "Le lien externe utilise un chemin interne unique, tel que externe/exemple ; l'adresse réelle est renseignée dans l'adresse du lien externe.",
363
+ "system.menu.tooltip.folderPath": "Le répertoire ne renseigne pas le chemin, il sert uniquement à organiser les menus de niveau inférieur.",
364
+ "system.menu.tooltip.routePath": "Les chemins de menu n'ont généralement pas de /, comme utilisateur.",
365
+ "system.menu.validation.defaultIcon": "Veuillez saisir l'icône par défaut",
366
+ "system.menu.validation.viewKey": "Veuillez saisir la clé d'affichage",
367
+ "system.menu.validation.selectedIcon": "Veuillez saisir l'icône de vérification",
368
+ "system.menu.validation.permission": "Veuillez saisir l'ID d'autorisation",
369
+ "system.menu.validation.externalUrl": "Veuillez saisir l'adresse complète du lien externe",
370
+ "system.menu.validation.logicalPath": "Veuillez entrer le chemin logique",
371
+ "system.menu.validation.routePath": "Veuillez saisir le chemin de routage",
372
+ "system.menu.validation.appPathPrefix": "Le chemin logique mobile doit utiliser le préfixe app/",
373
+ "system.menu.validation.httpUrl": "Veuillez saisir l'adresse complète du lien externe HTTP",
374
+ "system.menu.validation.logicalName": "Veuillez saisir un nom logique",
375
+ "system.menu.validation.appNamePrefix": "Le nom logique mobile doit utiliser le préfixe App",
376
+ "system.menu.validation.component": "Veuillez saisir le chemin du composant",
377
+ "system.menu.value.availableApi": "API facultative",
378
+ "system.menu.value.selectedApi": "API sélectionnée",
379
+ "system.menu.message.createSuccess": "Menu créé avec succès",
380
+ "system.menu.message.updateSuccess": "Menu mis à jour avec succès",
381
+ "system.menu.message.confirmStatus": "Êtes-vous sûr du menu {action} ?\nNom du menu : {name}",
382
+ "system.menu.message.protectedDelete": "Le menu fixe ne permet pas la suppression",
383
+ "system.menu.message.confirmDeleteSingle": "Etes-vous sûr de vouloir supprimer le menu ?\nNom du menu : {name}",
384
+ "system.menu.message.confirmDeleteBatch": "Êtes-vous sûr de vouloir supprimer les éléments de menu {count} sélectionnés ?",
385
+ "system.menu.message.confirmDeleteSelected": "Êtes-vous sûr de supprimer l'élément de menu sélectionné ?",
386
+ "system.menu.message.deleteSuccess": "Supprimer le menu avec succès",
387
+ "system.menu.message.deleteCanceled": "Supprimer le menu annulé",
388
+ "system.common.value.none": "Aucun",
389
+ "system.dict.action.create": "Nouveau dictionnaire",
390
+ "system.dict.action.edit": "Modifier le dictionnaire",
391
+ "system.dict.action.items": "données du dictionnaire",
392
+ "system.dict.title.items": "【{name}】Données du dictionnaire",
393
+ "system.dict.field.name": "nom du dictionnaire",
394
+ "system.dict.field.code": "encodage du dictionnaire",
395
+ "system.dict.placeholder.name": "Veuillez saisir le nom du dictionnaire",
396
+ "system.dict.placeholder.code": "Veuillez saisir le code du dictionnaire",
397
+ "system.dict.message.createSuccess": "Nouveau dictionnaire ajouté avec succès",
398
+ "system.dict.message.updateSuccess": "Dictionnaire modifié avec succès",
399
+ "system.dict.message.confirmStatus": "Etes-vous sûr du dictionnaire {action} ?\nNom du dictionnaire : {name}",
400
+ "system.dict.message.confirmDeleteSingle": "Êtes-vous sûr de vouloir supprimer le dictionnaire ?\nNom du dictionnaire : {name}",
401
+ "system.dict.message.confirmDeleteBatch": "Êtes-vous sûr de vouloir supprimer les dictionnaires {count} sélectionnés ?",
402
+ "system.dict.message.confirmDeleteSelected": "Etes-vous sûr de supprimer le dictionnaire sélectionné ?",
403
+ "system.dict.message.deleteSuccess": "Supprimer le dictionnaire avec succès",
404
+ "system.dict.message.deleteCanceled": "Dictionnaire supprimé",
405
+ "system.dictItem.action.create": "Ajouter de nouvelles données de dictionnaire",
406
+ "system.dictItem.action.edit": "Modifier les données du dictionnaire",
407
+ "system.dictItem.action.clearTag": "Effacer\nBalise de dictionnaire",
408
+ "system.dictItem.field.label": "Dictionary label",
409
+ "system.dictItem.field.value": "valeur du dictionnaire\nType de balise",
410
+ "system.dictItem.field.tagType": "Tag type",
411
+ "system.dictItem.placeholder.label": "Veuillez saisir la balise du dictionnaire",
412
+ "system.dictItem.placeholder.value": "Veuillez saisir la valeur du dictionnaire",
413
+ "system.dictItem.validation.label": "Veuillez saisir une balise de dictionnaire (100 caractères ou moins)",
414
+ "system.dictItem.validation.value": "Veuillez saisir la valeur du dictionnaire (50 caractères ou moins)",
415
+ "system.dictItem.value.tagPreview": "Aperçu des balises",
416
+ "system.dictItem.message.createSuccess": "Les données du dictionnaire ont été ajoutées avec succès",
417
+ "system.dictItem.message.updateSuccess": "Données du dictionnaire modifiées avec succès",
418
+ "system.dictItem.message.confirmStatus": "Êtes-vous sûr des données du dictionnaire {action} ?\nBalise du dictionnaire : {name}",
419
+ "system.dictItem.message.confirmDeleteSingle": "Êtes-vous sûr de vouloir supprimer les données du dictionnaire ?\nBalise de dictionnaire : {name}",
420
+ "system.dictItem.message.confirmDeleteBatch": "Êtes-vous sûr de supprimer les données du dictionnaire d'éléments {count} sélectionnées ?",
421
+ "system.dictItem.message.confirmDeleteSelected": "Êtes-vous sûr de supprimer les données du dictionnaire sélectionnées ?",
422
+ "system.dictItem.message.deleteSuccess": "Supprimer les données du dictionnaire avec succès",
423
+ "system.dictItem.message.deleteCanceled": "Données du dictionnaire non supprimées",
424
+ "system.profile.account.title": "Informations sur le compte",
425
+ "system.profile.account.navDescription": "Conserver l'avatar et les informations",
426
+ "system.profile.account.description": "Conservez l'avatar, le surnom et les informations de base du compte.",
427
+ "system.profile.account.action.edit": "Modifier les informations de base\nAvatar",
428
+ "system.profile.account.field.avatar": "Avatar",
429
+ "system.profile.account.field.userName": "Compte de connexion",
430
+ "system.profile.account.field.nickName": "Pseudo",
431
+ "system.profile.account.field.gender": "Sexe",
432
+ "system.profile.account.field.phone": "Associer le téléphone portable",
433
+ "system.profile.account.field.role": "Rôle",
434
+ "system.profile.account.field.dept": "Département",
435
+ "system.profile.account.placeholder.nickName": "Veuillez entrer votre pseudo",
436
+ "system.profile.account.message.avatarHint": "Cliquez dans le coin inférieur droit pour changer l'avatar",
437
+ "system.profile.account.message.avatarUpdated": "Avatar mis à jour avec succès",
438
+ "system.profile.account.message.avatarUploadFailed": "Échec du téléchargement de l'avatar",
439
+ "system.profile.account.message.updated": "Les informations de base ont été mises à jour",
440
+ "system.profile.value.unbound": "non lié",
441
+ "system.profile.value.private": "Confidentiel",
442
+ "system.profile.security.title": "Paramètres de sécurité",
443
+ "system.profile.security.navDescription": "Gérer l'authentification et la sécurité",
444
+ "system.profile.security.description": "Gérez le mot de passe de connexion, la vérification du téléphone mobile et l'intégrité du compte.",
445
+ "system.profile.security.value.accountNormal": "L'état du compte est normal",
446
+ "system.profile.security.field.loginPassword": "Mot de passe de connexion",
447
+ "system.profile.security.field.phone": "Associer le téléphone portable",
448
+ "system.profile.security.field.phoneNumber": "Numéro de portable",
449
+ "system.profile.security.field.code": "Code de vérification",
450
+ "system.profile.security.field.phoneVerification": "Vérification du téléphone portable",
451
+ "system.profile.security.field.profileCompletion": "Complétude des données",
452
+ "system.profile.security.message.passwordHint": "Il est recommandé de le mettre à jour régulièrement pour éviter d'utiliser le même mot de passe pendant une longue période.",
453
+ "system.profile.security.message.phoneBound": "Lié : {phone}",
454
+ "system.profile.security.message.phoneUnbound": "n'est actuellement pas lié à un téléphone mobile.",
455
+ "system.profile.security.message.oauthBound": "a été lié et peut être utilisé pour se connecter à l'arrière-plan de gestion.",
456
+ "system.profile.security.message.oauthUnbound": "n'est pas lié. Il peut être utilisé pour se connecter à l'arrière-plan de gestion après une liaison réussie.",
457
+ "system.profile.security.message.oauthBindSuccess": "Liaison de compte tiers réussie",
458
+ "system.profile.security.message.oauthUnbindSuccess": "Le compte tiers a été dissocié",
459
+ "system.profile.security.message.codeSent": "Code de vérification envoyé",
460
+ "system.profile.security.message.phoneUpdated": "Numéro de téléphone portable mis à jour avec succès",
461
+ "system.profile.security.action.changePassword": "Aller pour modifier",
462
+ "system.profile.security.action.changePhone": "Changer le numéro de téléphone portable",
463
+ "system.profile.security.action.bindNow": "Lier maintenant\nLiaison",
464
+ "system.profile.security.action.bind": "Bind",
465
+ "system.profile.security.action.unbind": "Dissocier",
466
+ "system.profile.security.action.sendCode": "Envoyer le code de vérification\nRéessayez après",
467
+ "system.profile.security.action.retryAfter": "{seconds}s",
468
+ "system.profile.security.status.title": "Statut du compte",
469
+ "system.profile.security.status.description": "Vérifiez l'état actuel de la vérification du compte et l'intégrité des données.",
470
+ "system.profile.security.dialog.bindPhone": "Associer le téléphone mobile",
471
+ "system.profile.security.dialog.confirmUnbind": "Êtes-vous sûr de dissocier cette méthode de connexion ?\nMéthode de connexion : {provider}",
472
+ "system.profile.security.placeholder.phone": "Veuillez saisir votre numéro de téléphone portable",
473
+ "system.profile.security.placeholder.code": "Veuillez saisir le code de vérification",
474
+ "system.profile.security.validation.phone": "Veuillez saisir le numéro de téléphone portable correct",
475
+ "system.profile.password.title": "Changer le mot de passe",
476
+ "system.profile.password.navDescription": "Mettre à jour le mot de passe de connexion",
477
+ "system.profile.password.description": "Mettez à jour le mot de passe de connexion actuel pour assurer la sécurité de votre compte.",
478
+ "system.profile.password.value.strongRecommended": "Haute intensité recommandée",
479
+ "system.profile.password.action.update": "Mettre à jour le mot de passe",
480
+ "system.profile.password.field.oldPassword": "Mot de passe d'origine",
481
+ "system.profile.password.field.newPassword": "Nouveau mot de passe",
482
+ "system.profile.password.field.confirmPassword": "Confirmer le mot de passe",
483
+ "system.profile.password.placeholder.oldPassword": "Veuillez saisir le mot de passe d'origine",
484
+ "system.profile.password.placeholder.newPassword": "Veuillez saisir un nouveau mot de passe",
485
+ "system.profile.password.placeholder.confirmPassword": "Veuillez saisir à nouveau le nouveau mot de passe",
486
+ "system.profile.password.message.mismatch": "Les mots de passe saisis deux fois sont incohérents.",
487
+ "system.profile.password.message.strengthInsufficient": "Le nouveau mot de passe n'est pas assez fort. Veuillez l'augmenter à la force la plus élevée.",
488
+ "system.profile.password.message.updated": "Le mot de passe a été modifié avec succès, veuillez vous reconnecter",
489
+ "system.profile.password.tip.uniqueTitle": "Évitez de répéter les mots de passe",
490
+ "system.profile.password.tip.uniqueDescription": "Ne réutilisez pas d'anciens mots de passe ou des mots de passe déjà utilisés par d'autres systèmes.",
491
+ "system.profile.password.tip.strengthTitle": "Contrôler la force du mot de passe",
492
+ "system.profile.password.tip.strengthDescription": "Une combinaison de lettres majuscules et minuscules, de chiffres et de symboles est recommandée.",
493
+ "system.profile.password.tip.recordTitle": "Mettre à jour les enregistrements à temps",
494
+ "system.profile.password.tip.recordDescription": "En cas de transfert de compte, veuillez mettre à jour simultanément le dossier de garde.",
495
+ "system.ai.chat.welcomeDescription": "Vous pouvez poser des questions directement ou télécharger des pièces jointes pour analyse ensemble.",
496
+ "system.ai.chat.welcome.morning": "Bonjour, je suis l'assistant universel d'IA",
497
+ "system.ai.chat.welcome.afternoon": "Bonjour, je suis l'assistant universel d'IA",
498
+ "system.ai.chat.welcome.evening": "Bonsoir, je suis l'Assistant IA Universel",
499
+ "system.ai.chat.shortcut.eyebrow": "Fonctionnement rapide",
500
+ "system.ai.chat.shortcut.startTitle": "Commencez avec des flux de travail courants",
501
+ "system.ai.chat.shortcut.continueTitle": "Continuer à appeler des processus communs",
502
+ "system.ai.chat.action.refreshShortcuts": "Modifier un lot",
503
+ "system.ai.chat.action.copyRequest": "Copier le message de demande",
504
+ "system.ai.chat.action.viewRuntime": "Afficher les détails d'exécution",
505
+ "system.ai.chat.action.send": "Envoyer",
506
+ "system.ai.chat.action.copy": "Copie",
507
+ "system.ai.chat.action.resend": "Renvoyer",
508
+ "system.ai.chat.action.regenerate": "Régénérer",
509
+ "system.ai.chat.action.createBranch": "Créer une session de branche à partir d'ici",
510
+ "system.ai.chat.action.speak": "Lire à haute voix",
511
+ "system.ai.chat.action.stopSpeaking": "Arrêter la lecture",
512
+ "system.ai.chat.action.uploadAttachment": "Télécharger la pièce jointe",
513
+ "system.ai.chat.action.selectLocalFile": "Sélectionnez le fichier local",
514
+ "system.ai.chat.action.voiceInput": "Saisie vocale",
515
+ "system.ai.chat.action.stopVoiceInput": "Arrêter la saisie vocale",
516
+ "system.ai.chat.action.collapseSessions": "Fermer la barre de conversation",
517
+ "system.ai.chat.action.expandSessions": "Développer la barre de conversation",
518
+ "system.ai.chat.action.newConversation": "Nouvelle session",
519
+ "system.ai.chat.action.conversationMenu": "Opérations de session",
520
+ "system.ai.chat.action.rename": "Renommer",
521
+ "system.ai.chat.action.continue": "Continuer",
522
+ "system.ai.chat.action.confirmDeleteConversation": "Confirmer la suppression",
523
+ "system.ai.chat.title.errorDetail": "Détails de l'erreur",
524
+ "system.ai.chat.title.runtime": "Détails de l'opération",
525
+ "system.ai.chat.title.recentConversations": "Conversations récentes\nEntrée",
526
+ "system.ai.chat.field.inputTokens": "Sortie",
527
+ "system.ai.chat.field.outputTokens": "Output",
528
+ "system.ai.chat.field.cacheTokens": "Lecture du cache",
529
+ "system.ai.chat.field.totalTokens": "Total",
530
+ "system.ai.chat.field.duration": "Cela prend du temps",
531
+ "system.ai.chat.field.firstToken": "Premier jeton",
532
+ "system.ai.chat.field.totalDuration": "Temps total pris",
533
+ "system.ai.chat.status.loading": "Chargement",
534
+ "system.ai.chat.status.failed": "a échoué",
535
+ "system.ai.chat.status.completed": "Terminé",
536
+ "system.ai.chat.status.thinking": "Réflexion",
537
+ "system.ai.chat.status.answering": "Répondre",
538
+ "system.ai.chat.status.sendFailed": "n'a pas réussi à envoyer",
539
+ "system.ai.chat.status.uploading": "Téléchargement...",
540
+ "system.ai.chat.status.recognizingVoice": "Reconnaissance de la parole...",
541
+ "system.ai.chat.status.uploadingAttachments": "La pièce jointe est en cours de téléchargement...",
542
+ "system.ai.chat.source.network": "Données réseau",
543
+ "system.ai.chat.source.model": "réponse modèle",
544
+ "system.ai.chat.source.fallback": "Réponse à un déclassement",
545
+ "system.ai.chat.value.itemCount": "{count} article",
546
+ "system.ai.chat.value.generalAssistant": "Assistant général",
547
+ "system.ai.chat.value.shortcutTools": "{group} · {count} outils",
548
+ "system.ai.chat.value.tool": "Outils",
549
+ "system.ai.chat.value.selectedAttachments": "{count} pièces jointes sélectionnées",
550
+ "system.ai.chat.value.attachmentsAvailable": "peut télécharger des pièces jointes",
551
+ "system.ai.chat.value.analyzeAttachments": "Veuillez poursuivre l'analyse en fonction du contenu ci-joint",
552
+ "system.ai.chat.value.newConversation": "Nouvelle conversation",
553
+ "system.ai.chat.value.branchTitle": "Succursale : {title}",
554
+ "system.ai.chat.placeholder.input": "Saisissez n'importe quelle question ou téléchargez une pièce jointe pour continuer à la poser.",
555
+ "system.ai.chat.placeholder.searchConversation": "Rechercher des conversations",
556
+ "system.ai.chat.placeholder.conversationName": "Veuillez saisir un nom de session",
557
+ "system.ai.chat.message.loadingShortcuts": "Chargement de l'entrée de raccourci...",
558
+ "system.ai.chat.message.serverError": "Exception du serveur, il est recommandé de réessayer plus tard.",
559
+ "system.ai.chat.message.replyFailed": "La réponse n'a pas été renvoyée avec succès cette fois. Vous pouvez réessayer la question directement.",
560
+ "system.ai.chat.message.requestCopied": "Le message de demande a été copié",
561
+ "system.ai.chat.message.copyUnsupported": "Le navigateur actuel ne prend pas en charge la copie",
562
+ "system.ai.chat.message.contentRequired": "Le contenu du message ne peut pas être vide",
563
+ "system.ai.chat.message.contentUnchanged": "Le contenu du message n'a pas changé",
564
+ "system.ai.chat.message.attachmentHint": "peut être complété par des pièces jointes d'images ou de texte, qui seront utilisées pour l'analyse du problème actuel après l'envoi.",
565
+ "system.ai.chat.message.voiceUnsupported": "Le navigateur actuel ne prend pas en charge la reconnaissance vocale",
566
+ "system.ai.chat.message.microphoneDenied": "L'autorisation du microphone a échoué, veuillez vérifier les autorisations du navigateur",
567
+ "system.ai.chat.message.voiceFailed": "La reconnaissance vocale a échoué, veuillez réessayer plus tard.",
568
+ "system.ai.chat.message.attachmentsUploaded": "a téléchargé {count} pièces jointes",
569
+ "system.ai.chat.message.attachmentUploadFailed": "Échec du téléchargement de la pièce jointe",
570
+ "system.ai.chat.message.attachmentLimit": "Téléchargez jusqu'à {count} pièces jointes",
571
+ "system.ai.chat.message.attachmentUnsupported": "La pièce jointe \"{name}\" n'est pas encore prise en charge et a été ignorée",
572
+ "system.ai.chat.message.attachmentTooLarge": "La pièce jointe \"{name}\" dépasse {size}Mo et a été ignorée",
573
+ "system.ai.chat.message.attachmentRemaining": "Vous pouvez sélectionner jusqu'à {count} pièces jointes, qui ont été automatiquement interceptées",
574
+ "system.ai.chat.message.actionCanceled": "Opération annulée",
575
+ "system.ai.chat.message.conversationCreated": "Nouvelle session créée",
576
+ "system.ai.chat.message.emptyStream": "La réponse de streaming de l'assistant IA est vide",
577
+ "system.ai.chat.message.incompleteStream": "La réponse de streaming de l'assistant IA n'est pas renvoyée complètement",
578
+ "system.ai.chat.message.requestFailed": "La demande d'assistant IA a échoué",
579
+ "system.ai.chat.message.updatedAndRegenerated": "mis à jour et régénéré",
580
+ "system.ai.chat.message.updateFailed": "Échec de la mise à jour du message",
581
+ "system.ai.chat.message.messageCopied": "Message copié",
582
+ "system.ai.chat.message.messageDeleted": "Message supprimé",
583
+ "system.ai.chat.message.localRetryMissing": "Aucun message local trouvé à renvoyer",
584
+ "system.ai.chat.message.resent": "Renvoyer",
585
+ "system.ai.chat.message.retryFailedOnly": "Seuls les messages dont l'envoi a échoué peuvent être renvoyés.",
586
+ "system.ai.chat.message.regenerated": "Régénéré",
587
+ "system.ai.chat.message.regenerateFailed": "Échec de la régénération",
588
+ "system.ai.chat.message.branchCreated": "Session de branche créée",
589
+ "system.ai.chat.message.speechUnsupported": "Le navigateur actuel ne prend pas en charge la lecture à haute voix",
590
+ "system.ai.chat.message.conversationRenamed": "Session renommée",
591
+ "system.ai.chat.message.conversationDeleted": "Séance supprimée",
592
+ "system.ai.chat.message.thinking": "compile les réponses",
593
+ "system.ai.chat.dialog.confirmDeleteMessage": "Confirmer pour supprimer le message actuel ?",
594
+ "system.ai.chat.dialog.confirmResendMessage": "Confirmer pour renvoyer le message actuel ?",
595
+ "system.ai.chat.dialog.confirmRegenerateMessage": "La régénération écrasera le message actuel",
596
+ "system.ai.chat.dialog.renameTitle": "Renommer la session",
597
+ "system.ai.chat.dialog.renameDescription": "Veuillez saisir un nouveau nom de session\nNom actuel : {title}",
598
+ "system.ai.chat.dialog.deleteTitle": "Supprimer la session",
599
+ "system.ai.chat.dialog.deleteDescription": "Supprimer cette session ?\nNom de la session : {title}",
600
+ "system.codegen.action.batchGenerate": "Génération par lots",
601
+ "system.codegen.action.batchRestore": "Restauration par lots",
602
+ "system.codegen.action.confirmRestore": "Confirmer la restauration",
603
+ "system.codegen.action.generate": "générer",
604
+ "system.codegen.action.recentTask": "Tâches récentes",
605
+ "system.codegen.action.restore": "Restaurer",
606
+ "system.codegen.value.on": "sur",
607
+ "system.codegen.value.off": "Fermer",
608
+ "system.codegen.value.generate": "générer",
609
+ "system.codegen.value.skip": "Sauter",
610
+ "system.codegen.value.lazy": "Chargement paresseux",
611
+ "system.codegen.value.eager": "Tout charger",
612
+ "system.codegen.pageType.normal": "Forme ordinaire",
613
+ "system.codegen.pageType.tree": "Table arborescente",
614
+ "system.codegen.pageType.treeLazy": "Chargement paresseux en forme d'arbre",
615
+ "system.codegen.pageType.leftTree": "Arbre gauche table droite",
616
+ "system.codegen.source.static": "données statiques",
617
+ "system.codegen.source.dict": "Dictionnaire",
618
+ "system.codegen.source.table": "Fiche technique",
619
+ "system.codegen.operator.eq": "est égal à",
620
+ "system.codegen.operator.like": "Correspondance floue",
621
+ "system.codegen.operator.between": "intervalle",
622
+ "system.codegen.component.input": "Saisie de texte",
623
+ "system.codegen.component.password": "Saisie du mot de passe",
624
+ "system.codegen.component.textarea": "Plusieurs lignes de texte",
625
+ "system.codegen.component.inputNumber": "Saisie numérique",
626
+ "system.codegen.component.segmented": "Sélection des segments\ncommutateur",
627
+ "system.codegen.component.switch": "Case à cocher",
628
+ "system.codegen.component.checkbox": "Checkbox",
629
+ "system.codegen.component.select": "sélection déroulante",
630
+ "system.codegen.component.selectShort": "liste déroulante",
631
+ "system.codegen.component.dict": "Sélection du dictionnaire",
632
+ "system.codegen.component.radioGroup": "Groupe radio",
633
+ "system.codegen.component.checkboxGroup": "Groupe à sélection multiple",
634
+ "system.codegen.component.treeSelect": "Sélection de l'arborescence",
635
+ "system.codegen.component.datePicker": "Sélection des dates",
636
+ "system.codegen.component.cron": "Expression Cron",
637
+ "system.codegen.component.transfer": "boîte à navette",
638
+ "system.codegen.component.imageUpload": "Téléchargement d'une seule image",
639
+ "system.codegen.component.imagesUpload": "Téléchargement de plusieurs images",
640
+ "system.codegen.component.fileUpload": "Téléchargement d'un seul fichier",
641
+ "system.codegen.component.filesUpload": "Téléchargement de plusieurs fichiers",
642
+ "system.codegen.component.richText": "Texte enrichi",
643
+ "system.codegen.component.dynamicList": "liste dynamique",
644
+ "system.codegen.component.kvList": "liste de valeurs clés",
645
+ "system.codegen.component.slot": "Emplacement personnalisé",
646
+ "system.codegen.component.text": "texte",
647
+ "system.codegen.component.tree": "forme d'arbre",
648
+ "system.codegen.component.image": "Image",
649
+ "system.codegen.component.money": "Montant",
650
+ "system.codegen.component.date": "Date",
651
+ "system.codegen.validation.tableRequired": "Veuillez sélectionner la table professionnelle",
652
+ "system.codegen.validation.moduleRequired": "Veuillez saisir un module métier valide",
653
+ "system.codegen.validation.commentLength": "La description de la table métier ne peut pas dépasser 128 caractères",
654
+ "system.codegen.validation.parentMenuRequired": "Veuillez sélectionner un menu parent",
655
+ "system.codegen.validation.pageTypeRequired": "Veuillez sélectionner le type de page",
656
+ "system.codegen.validation.parentColumnRequired": "Veuillez sélectionner le champ du nœud parent",
657
+ "system.codegen.validation.treeLabelRequired": "Veuillez sélectionner un champ d'affichage de l'arborescence",
658
+ "system.codegen.validation.remarkLength": "La note ne peut pas dépasser 500 caractères",
659
+ "system.codegen.validation.leftTreeTableRequired": "Veuillez sélectionner le tableau de données de l'arborescence de gauche",
660
+ "system.codegen.validation.filterColumnRequired": "Veuillez sélectionner un champ de filtre",
661
+ "system.codegen.validation.leftTreeParentRequired": "Veuillez sélectionner le champ parent de l'arborescence de gauche",
662
+ "system.codegen.validation.leftTreeLabelRequired": "Veuillez sélectionner le champ d'affichage de l'arborescence de gauche",
663
+ "system.codegen.validation.leftTreeValueRequired": "Veuillez sélectionner le champ de valeur de l'arborescence de gauche",
664
+ "system.codegen.i18n.field.translations": "Descriptions dans les langues non principales",
665
+ "system.codegen.i18n.action.editColumn": "Modifier les descriptions des champs dans les langues non principales",
666
+ "system.codegen.i18n.status.complete": "Rempli",
667
+ "system.codegen.i18n.status.missing": "est manquant",
668
+ "system.codegen.i18n.message.missing": "Vous devez renseigner avant la génération formelle : {locales}",
669
+ "system.codegen.i18n.placeholder.comment": "Source chinois : {source}",
670
+ "system.codegen.i18n.placeholder.leftTreeComment": "Zuo Shuyuan Chinois : {source}",
671
+ "system.codegen.i18n.tooltip.table": "Conserve les descriptions dans les langues non principales pour les pages, menus et fichiers de langue générés. Les configurations manquantes peuvent être temporairement stockées et doivent être complètes une fois officiellement générées.",
672
+ "system.codegen.table.title.create": "Ajout de la configuration de la table de génération de code",
673
+ "system.codegen.table.title.edit": "Modifier la configuration de la table de génération de code",
674
+ "system.codegen.table.field.name": "Nom de la table d'entreprise",
675
+ "system.codegen.table.field.comment": "Description de la table métier",
676
+ "system.codegen.table.field.businessModule": "Module métier",
677
+ "system.codegen.table.field.parentMenu": "Menu parent",
678
+ "system.codegen.table.field.pageType": "Type de page",
679
+ "system.codegen.table.field.parentColumn": "Champ du nœud parent",
680
+ "system.codegen.table.field.treeLabelColumn": "champs d'affichage de l'arborescence",
681
+ "system.codegen.table.field.leftTreeTable": "Tableau de données Zuoshu",
682
+ "system.codegen.table.field.leftTreeComment": "Description de l'arborescence de gauche\nChamp de filtre",
683
+ "system.codegen.table.field.filterColumn": "Filter column",
684
+ "system.codegen.table.field.leftTreeParentColumn": "Champ parent de l'arborescence de gauche",
685
+ "system.codegen.table.field.leftTreeLabelColumn": "Champ d'affichage de l'arborescence de gauche",
686
+ "system.codegen.table.field.leftTreeValueColumn": "Champ de valeur de l'arborescence de gauche",
687
+ "system.codegen.table.field.leftTreeLazy": "Chargement du paresseux gauche",
688
+ "system.codegen.table.field.genBackend": "Générer un backend",
689
+ "system.codegen.table.field.genFrontend": "Générer un frontal",
690
+ "system.codegen.table.field.genSql": "Générer SQL\nStatut",
691
+ "system.codegen.table.field.status": "Status",
692
+ "system.codegen.table.field.remark": "Remarques",
693
+ "system.codegen.table.field.createdAt": "Heure de création",
694
+ "system.codegen.table.placeholder.databaseTable": "Veuillez sélectionner une table de base de données",
695
+ "system.codegen.table.placeholder.comment": "est automatiquement ressorti après sélection de la table métier et peut être modifié.",
696
+ "system.codegen.table.placeholder.businessModule": "Veuillez sélectionner le module métier",
697
+ "system.codegen.table.placeholder.parentMenu": "Veuillez choisir de générer le menu de montage de page",
698
+ "system.codegen.table.placeholder.parentColumn": "Veuillez sélectionner le champ du nœud parent",
699
+ "system.codegen.table.placeholder.treeLabelColumn": "Veuillez sélectionner un champ d'affichage de l'arborescence",
700
+ "system.codegen.table.placeholder.leftTreeTable": "Veuillez sélectionner le tableau de données de l'arborescence de gauche",
701
+ "system.codegen.table.placeholder.leftTreeComment": "est automatiquement affiché après avoir sélectionné la table de données de l'arborescence de gauche et peut être modifié.",
702
+ "system.codegen.table.placeholder.filterColumn": "Veuillez sélectionner le champ de filtre de table actuel",
703
+ "system.codegen.table.placeholder.leftTreeParentColumn": "Veuillez sélectionner le champ parent de l'arborescence de gauche",
704
+ "system.codegen.table.placeholder.leftTreeLabelColumn": "Veuillez sélectionner le champ d'affichage de l'arborescence de gauche",
705
+ "system.codegen.table.placeholder.leftTreeValueColumn": "Veuillez sélectionner le champ de valeur de l'arborescence de gauche",
706
+ "system.codegen.table.placeholder.remark": "Veuillez saisir des remarques",
707
+ "system.codegen.table.tooltip.name": "Sélectionnez la table de base de données source pour la génération de code ; la même table ne peut pas être configurée à plusieurs reprises.",
708
+ "system.codegen.table.tooltip.comment": "Description chinoise de l'entreprise, utilisée pour les titres de menu Proto, backend, frontend et chinois.",
709
+ "system.codegen.table.tooltip.businessModule": "Le nom du module et de la table déterminent ensemble les chemins du proto, du service, de l'API et de la page.",
710
+ "system.codegen.table.tooltip.parentMenu": "Sélectionnez le répertoire de montage pour générer la page ; synchroniser les autorisations des menus et des boutons lorsque les conditions de génération sont remplies.",
711
+ "system.codegen.table.tooltip.pageType": "Sélectionnez une table paginée, une table arborescente, une table arborescente à chargement paresseux ou une disposition de table arborescente gauche droite.",
712
+ "system.codegen.table.tooltip.parentColumn": "Champ de la table arborescente pointant vers l'enregistrement parent, tel que parent_id.",
713
+ "system.codegen.table.tooltip.treeLabelColumn": "Le champ de texte affiché par le nœud de l'arborescence, tel que le nom.",
714
+ "system.codegen.table.tooltip.leftTreeTable": "La table source de données de l'arborescence de gauche.",
715
+ "system.codegen.table.tooltip.leftTreeComment": "Le titre chinois de l'arborescence de gauche n'affecte pas l'interface et le chemin du fichier.",
716
+ "system.codegen.table.tooltip.filterColumn": "Le champ de requête associé à la valeur du nœud d'arborescence de gauche dans la table métier actuelle.",
717
+ "system.codegen.table.tooltip.leftTreeParentColumn": "Champ dans la table source de l'arborescence de gauche pointant vers le nœud parent.",
718
+ "system.codegen.table.tooltip.leftTreeLabelColumn": "Le champ de texte affiché par le nœud d'arborescence de gauche.",
719
+ "system.codegen.table.tooltip.leftTreeValueColumn": "Le champ de valeur unique transmis par le nœud d'arborescence de gauche à la liste de droite.",
720
+ "system.codegen.table.tooltip.leftTreeLazy": "Demande uniquement les enfants du nœud actuel lors du développement.",
721
+ "system.codegen.table.tooltip.genBackend": "Générer un proto, un backend Biz, un service et un code d'enregistrement.",
722
+ "system.codegen.table.tooltip.genFrontend": "Générez l'API front-end, les pages et les fichiers de langue dans les sept langues.",
723
+ "system.codegen.table.tooltip.genSql": "Synchronisez les menus de page, les autorisations des boutons et leurs traductions dans les sept langues.",
724
+ "system.codegen.table.tooltip.status": "La configuration désactivée peut uniquement être visualisée ; il sera automatiquement généré après une génération réussie.",
725
+ "system.codegen.table.tooltip.remark": "est uniquement destiné au personnel de maintenance et ne participe pas à la génération de noms.",
726
+ "system.codegen.table.value.disabledModule": "{module} (désactivé)",
727
+ "system.codegen.table.action.columns": "Configuration du terrain",
728
+ "system.codegen.table.action.proto": "Configuration du prototype",
729
+ "system.codegen.table.action.pagePreview": "Aperçu de la page",
730
+ "system.codegen.table.action.codePreview": "Aperçu du code",
731
+ "system.codegen.table.message.selectGenerate": "Veuillez vérifier l'élément généré",
732
+ "system.codegen.table.message.disabled": "Configuration de la table de génération de codes {name} Désactivé",
733
+ "system.codegen.table.message.selectRestore": "Veuillez sélectionner une entrée de génération de code qui dispose d'un instantané de restauration disponible",
734
+ "system.codegen.table.message.restoreSuccess": "Restaurer le résultat de la génération de code avec succès",
735
+ "system.codegen.table.message.createSuccess": "Configuration de la nouvelle table de génération de code réussie",
736
+ "system.codegen.table.message.updateSuccess": "Modification réussie de la configuration de la table de génération de code",
737
+ "system.codegen.table.message.selectDelete": "Veuillez cocher pour supprimer l'élément",
738
+ "system.codegen.table.message.deleteCanceled": "Configuration de la table de génération de code non supprimée",
739
+ "system.codegen.table.message.deleteSuccess": "Supprimer avec succès la configuration de la table de génération de code",
740
+ "system.codegen.table.dialog.generateOne": "Confirmez la table métier générée : {name} ?",
741
+ "system.codegen.table.dialog.generateBatch": "Confirmer pour générer {count} tables métier dans l'ordre de vérification ?",
742
+ "system.codegen.table.dialog.restoreOne": "Confirmez pour restaurer la table métier : {name} ? Les fichiers de construction, les menus de pages et les autorisations des boutons seront restaurés à leur état d'avant la construction.",
743
+ "system.codegen.table.dialog.restoreBatch": "Confirmer la restauration par lots des tables métier {count} ? Les fichiers partagés générés par lots doivent être restaurés par lots.",
744
+ "system.codegen.table.dialog.deleteOne": "Confirmer la suppression de la table métier : {name} ?",
745
+ "system.codegen.table.dialog.deleteBatch": "Confirmer pour supprimer les configurations {count} sélectionnées ?\nChamp de base de données",
746
+ "system.codegen.column.title.databaseFields": "Configuration du champ",
747
+ "system.codegen.column.title.workspace": "Configuration du champ",
748
+ "system.codegen.column.title.workspaceWithTable": "{table}\nOption",
749
+ "system.codegen.column.title.options": "{scope} - {column}",
750
+ "system.codegen.column.title.optionWarning": "avertissement de configuration des options\nChamp de base de données",
751
+ "system.codegen.column.field.databaseColumn": "Database column",
752
+ "system.codegen.column.field.comment": "Description du champ",
753
+ "system.codegen.column.field.query": "Requête\nListe",
754
+ "system.codegen.column.field.list": "Formulaire",
755
+ "system.codegen.column.field.form": "Form",
756
+ "system.codegen.column.field.selectionMode": "Sélectionner le mode",
757
+ "system.codegen.column.field.source": "Source",
758
+ "system.codegen.column.field.dictionary": "Dictionnaire",
759
+ "system.codegen.column.field.activeValue": "valeur d'activation",
760
+ "system.codegen.column.field.inactiveValue": "valeur de clôture",
761
+ "system.codegen.column.field.dataTable": "Fiche technique",
762
+ "system.codegen.column.field.treeParent": "champ parent de l'arborescence",
763
+ "system.codegen.column.field.loadMode": "Méthode de chargement",
764
+ "system.codegen.column.field.treeLabel": "champs d'affichage de l'arborescence",
765
+ "system.codegen.column.field.labelField": "Champ d'étiquette",
766
+ "system.codegen.column.field.treeValue": "champ de valeur de l'arborescence",
767
+ "system.codegen.column.field.valueField": "Champ de valeur",
768
+ "system.codegen.column.field.staticData": "données statiques",
769
+ "system.codegen.column.scope.query": "Requête\nListe",
770
+ "system.codegen.column.scope.list": "Formulaire",
771
+ "system.codegen.column.scope.form": "Form",
772
+ "system.codegen.column.value.tableName": "Nom de la table : {name}",
773
+ "system.codegen.column.value.tableComment": "Annotation du tableau : {comment}",
774
+ "system.codegen.column.value.queryCount": "Requête de l'élément {count}",
775
+ "system.codegen.column.value.listCount": "Liste {count} élément",
776
+ "system.codegen.column.value.formCount": "formulaire {count} entrée",
777
+ "system.codegen.column.value.database": "Base de données",
778
+ "system.codegen.column.value.primaryKey": "Clé primaire",
779
+ "system.codegen.column.value.autoIncrement": "auto-incrémentation",
780
+ "system.codegen.column.value.nullable": "Nullable",
781
+ "system.codegen.column.value.notNull": "n'est pas vide",
782
+ "system.codegen.column.value.required": "Obligatoire",
783
+ "system.codegen.column.value.single": "Choix unique",
784
+ "system.codegen.column.value.multiple": "Choix multiples",
785
+ "system.codegen.column.value.lazyChildren": "Chargement paresseux des nœuds enfants",
786
+ "system.codegen.column.placeholder.comment": "Veuillez saisir la description du champ",
787
+ "system.codegen.column.placeholder.queryOperator": "Méthode de requête",
788
+ "system.codegen.column.placeholder.queryComponent": "Composant de requête",
789
+ "system.codegen.column.placeholder.listComponent": "Composant d'affichage",
790
+ "system.codegen.column.placeholder.formComponent": "Composant d'entrée",
791
+ "system.codegen.column.placeholder.source": "Sélectionnez la source",
792
+ "system.codegen.column.placeholder.dictionary": "Sélectionner le dictionnaire",
793
+ "system.codegen.column.placeholder.activeValue": "Sélectionnez la valeur d'activation",
794
+ "system.codegen.column.placeholder.inactiveValue": "Sélectionnez la valeur de clôture",
795
+ "system.codegen.column.placeholder.dataTable": "Sélectionner la table de données",
796
+ "system.codegen.column.placeholder.treeParent": "Sélectionner le champ parent de l'arborescence",
797
+ "system.codegen.column.placeholder.treeLabel": "Sélectionner les champs d'affichage de l'arborescence",
798
+ "system.codegen.column.placeholder.labelField": "Sélectionner les champs d'affichage",
799
+ "system.codegen.column.placeholder.treeValue": "Sélectionner le champ de valeur de l'arborescence",
800
+ "system.codegen.column.placeholder.valueField": "Sélectionner le champ de valeur",
801
+ "system.codegen.column.placeholder.optionLabel": "Afficher le texte",
802
+ "system.codegen.column.placeholder.optionValue": "soumettre la valeur\nOptions",
803
+ "system.codegen.column.action.options": "Options",
804
+ "system.codegen.column.action.saveAndClose": "Enregistrer et fermer",
805
+ "system.codegen.column.action.deleteStatic": "Supprimer les données statiques",
806
+ "system.codegen.column.action.continueSave": "Continuer à enregistrer",
807
+ "system.codegen.column.action.backToEdit": "Retour pour modifier",
808
+ "system.codegen.column.message.empty": "Aucune configuration de champ pour l'instant",
809
+ "system.codegen.column.message.selectRecord": "Veuillez d'abord choisir de générer des enregistrements",
810
+ "system.codegen.column.message.emptyStatic": "Aucune donnée statique pour l'instant",
811
+ "system.codegen.column.message.nameAndTypeRequired": "Le nom du champ et le type de base de données ne peuvent pas être vides\nLa source de l'option du champ est incohérente. Voulez-vous continuer à épargner ?",
812
+ "system.codegen.column.dialog.inconsistentSource": "La source de l'option {scopes} dans le champ {column} est incohérente. Voulez-vous continuer à épargner ?",
813
+ "system.codegen.column.tooltip.drag": "Tri par glisser-déposer",
814
+ "system.codegen.column.tooltip.dragAria": "Glisser-déposer pour ajuster l'ordre des champs",
815
+ "system.codegen.column.tooltip.multipleJsonOnly": "La sélection multiple ne prend en charge que les champs JSON",
816
+ "system.codegen.column.tooltip.optionConfigured": "a été configuré et peut être enregistré directement ; il peut être ouvert et modifié lorsqu'un écrasement est nécessaire.",
817
+ "system.codegen.column.tooltip.configureOption": "Options de configuration\nLa configuration de l'option du champ n'a pas de composant correspondant\nConfiguration de commutateur incomplète pour dans le champ \nLa valeur ouverte et la valeur fermée du champ ne peuvent pas être identiques\nL'option du champ",
818
+ "system.codegen.column.validation.optionComponentMissing": "La configuration de l'option {scope} du champ {column} n'a pas de composant correspondant",
819
+ "system.codegen.column.validation.switchIncomplete": "Configuration de commutateur incomplète pour {scope} pour le champ {column}",
820
+ "system.codegen.column.validation.switchValuesSame": "Les valeurs d'activation et de désactivation de {scope} du champ {column} ne peuvent pas être identiques.",
821
+ "system.codegen.column.validation.switchValuesUnsupported": "{column} ne peut pas configurer la valeur du commutateur\nLe champ {scope}",
822
+ "system.codegen.column.validation.lazyTreeOnly": "字段 {column} 的{scope}仅树形选项支持懒加载",
823
+ "system.codegen.column.validation.treeTableOnly": "L'option d'arborescence {scope} pour le champ {column} ne peut utiliser que la source de la table de données.",
824
+ "system.codegen.column.validation.sourceIncomplete": "Configuration de la source d'option {scope} incomplète pour le champ {column}",
825
+ "system.codegen.column.validation.staticIncomplete": "L'option {scope} du champ {column} nécessite au moins une donnée statique complète",
826
+ "system.codegen.column.validation.tableFieldsIncomplete": "La configuration du champ d'option de table de données {scope} pour le champ {column} est incomplète.",
827
+ "system.codegen.proto.trigger.crud": "Page CRUD",
828
+ "system.codegen.proto.trigger.pageTree": "Arborescence des pages",
829
+ "system.codegen.proto.trigger.leftTree": "Arbre gauche table droite",
830
+ "system.codegen.proto.trigger.entityOption": "Options d'entité\nOptions du champ",
831
+ "system.codegen.proto.trigger.fieldOption": "état du champ",
832
+ "system.codegen.proto.trigger.fieldStatus": "Field status",
833
+ "system.codegen.proto.apiKind.crud": "Ajouter, supprimer, modifier et vérifier\nListe",
834
+ "system.codegen.proto.apiKind.list": "Options",
835
+ "system.codegen.proto.apiKind.option": "Options",
836
+ "system.codegen.proto.apiKind.tree": "forme d'arbre\nStatut",
837
+ "system.codegen.proto.apiKind.status": "Status",
838
+ "system.codegen.proto.field.triggerType": "source de déclenchement\nType d'interface",
839
+ "system.codegen.proto.field.apiKind": "API type",
840
+ "system.codegen.proto.field.capability": "Capacités du prototype",
841
+ "system.codegen.proto.field.generateSetting": "Paramètres de construction",
842
+ "system.codegen.proto.field.methodComment": "Description de la méthode",
843
+ "system.codegen.proto.field.methodName": "nom de la méthode",
844
+ "system.codegen.proto.field.protoPath": "Chemin du proto",
845
+ "system.codegen.proto.field.serviceComment": "Description du service",
846
+ "system.codegen.proto.field.serviceName": "Nom du service",
847
+ "system.codegen.proto.field.parentColumn": "Champ du nœud parent",
848
+ "system.codegen.proto.field.labelColumn": "Champs d'affichage\nChamp de valeur",
849
+ "system.codegen.proto.field.valueColumn": "Champ d'état",
850
+ "system.codegen.proto.field.statusColumn": "Status column",
851
+ "system.codegen.proto.field.loadMode": "Méthode de chargement",
852
+ "system.codegen.proto.action.configure": "Configuration",
853
+ "system.codegen.proto.action.generateApi": "Générer une interface",
854
+ "system.codegen.proto.status.exists": "existe déjà",
855
+ "system.codegen.proto.status.missing": "à générer",
856
+ "system.codegen.proto.title.config": "{method} - {kind} Configuration",
857
+ "system.codegen.proto.title.workspace": "Configuration du prototype",
858
+ "system.codegen.proto.title.workspaceWithTable": "{table} Configuration du protocole",
859
+ "system.codegen.proto.placeholder.parentColumn": "Veuillez sélectionner le champ du nœud parent",
860
+ "system.codegen.proto.placeholder.labelColumn": "Veuillez sélectionner un champ à afficher",
861
+ "system.codegen.proto.placeholder.valueColumn": "Veuillez sélectionner un champ de valeur",
862
+ "system.codegen.proto.placeholder.statusColumn": "Veuillez sélectionner un champ de statut",
863
+ "system.codegen.proto.message.configureFirst": "Veuillez d'abord compléter la configuration requise",
864
+ "system.codegen.proto.message.saveSuccess": "Enregistrer la configuration Proto avec succès",
865
+ "system.codegen.progress.title": "Progression de la génération de code",
866
+ "system.codegen.progress.value.current": "Actuel : {table}",
867
+ "system.codegen.progress.value.steps": "Étapes {completed} / {total}",
868
+ "system.codegen.progress.value.createdAt": "créé en {time}",
869
+ "system.codegen.progress.value.finishedAt": "Terminé en {time}",
870
+ "system.codegen.progress.status.pending": "En attente",
871
+ "system.codegen.progress.status.running": "Génération",
872
+ "system.codegen.progress.status.succeeded": "Terminé",
873
+ "system.codegen.progress.status.failed": "a échoué",
874
+ "system.codegen.progress.action.copyError": "Copier le message d'erreur",
875
+ "system.codegen.progress.action.reload": "Recharger",
876
+ "system.codegen.progress.field.step": "Étapes",
877
+ "system.codegen.progress.field.result": "résultats\nSortie",
878
+ "system.codegen.progress.field.output": "Output",
879
+ "system.codegen.progress.message.unavailableTitle": "La tâche n'est pas disponible",
880
+ "system.codegen.progress.message.unavailable": "La tâche a expiré, n'existe pas ou n'a pas de droits d'accès",
881
+ "system.codegen.progress.message.copied": "Message d'erreur copié",
882
+ "system.codegen.progress.message.copyFailed": "Échec de la copie du message d'erreur",
883
+ "system.codegen.preview.field.path": "chemin du fichier",
884
+ "system.codegen.preview.field.action": "Opérations sur les fichiers",
885
+ "system.codegen.preview.field.message": "Descriptif",
886
+ "system.codegen.preview.field.passwordStrength": "Astuce de force",
887
+ "system.codegen.preview.status.exists": "existe déjà",
888
+ "system.codegen.preview.status.pendingCreate": "à créer",
889
+ "system.codegen.preview.title.code": "Aperçu du code",
890
+ "system.codegen.preview.title.workspace": "{table}Aperçu du code",
891
+ "system.codegen.preview.title.create": "Ajout de {resource}",
892
+ "system.codegen.preview.title.edit": "Éditeur{resource}",
893
+ "system.codegen.preview.title.categoryList": "Liste des catégories",
894
+ "system.codegen.preview.title.deleteConfirm": "Supprimer la confirmation",
895
+ "system.codegen.preview.title.dataList": "Liste de données",
896
+ "system.codegen.preview.dialog.confirmDelete": "Êtes-vous sûr de supprimer les données {count} sélectionnées ?",
897
+ "system.codegen.preview.placeholder.customSlot": "Contenu d'emplacement personnalisé",
898
+ "system.codegen.preview.placeholder.input": "Veuillez saisir {field}",
899
+ "system.codegen.preview.placeholder.select": "Veuillez sélectionner {field}",
900
+ "system.codegen.preview.validation.required": "{field} ne peut pas être vide",
901
+ "system.codegen.preview.value.custom": "Personnalisé",
902
+ "system.codegen.preview.value.category": "Classement\nDonnées",
903
+ "system.codegen.preview.value.data": "record",
904
+ "system.codegen.preview.value.enableField": "Activer {field}",
905
+ "system.codegen.preview.value.topLevel": "Nœud de niveau supérieur",
906
+ "system.codegen.preview.value.available": "Facultatif",
907
+ "system.codegen.preview.value.selected": "sélectionné\nClé",
908
+ "system.codegen.preview.value.key": "Valeur",
909
+ "system.codegen.preview.value.value": "Value",
910
+ "system.codegen.preview.value.rangeSeparator": "à",
911
+ "system.codegen.preview.value.option": "{source} option {index}",
912
+ "system.codegen.preview.message.emptyFiles": "Aucun fichier d'aperçu disponible pour l'instant",
913
+ "system.codegen.preview.message.noPreviewFiles": "La configuration actuelle ne génère pas de fichier prévisualisable",
914
+ "system.codegen.preview.message.loadFailed": "L'aperçu du code n'a pas pu être chargé, veuillez vérifier la configuration de build",
915
+ "system.codegen.preview.message.emptyPage": "Aucune configuration de page pour l'instant",
916
+ "system.codegen.preview.message.createSuccess": "ajouté avec succès",
917
+ "system.codegen.preview.message.updateSuccess": "modifié avec succès",
918
+ "system.codegen.preview.message.deleteSuccess": "Suppression réussie",
919
+ "system.codegen.preview.message.missingTranslations": "doit être complété avant la génération formelle : {items}",
920
+ "system.codegen.preview.value.listSeparator": ",",
921
+ "system.projectDoc.title.navigation": "Répertoire des documents du projet",
922
+ "system.projectDoc.placeholder.search": "Rechercher un élément ou un chemin",
923
+ "system.projectDoc.message.noMatch": "Aucun document correspondant pour l'instant",
924
+ "system.projectDoc.message.empty": "Aucun document de projet pour l'instant",
925
+ "system.projectDoc.message.select": "Veuillez sélectionner un document de projet",
926
+ "system.projectDoc.message.uncollected": "Document de référence non collecté : {path}",
927
+ "system.projectDoc.value.updatedAt": "mis à jour depuis {time}"
928
+ }