@zzzen/pyright-internal 1.2.0-dev.20240107 → 1.2.0-dev.20240121
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/dist/analyzer/binder.d.ts +1 -3
- package/dist/analyzer/binder.js +27 -37
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +2 -2
- package/dist/analyzer/checker.js +345 -351
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +2 -2
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/commentUtils.js +7 -7
- package/dist/analyzer/commentUtils.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +29 -30
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +10 -11
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +3 -3
- package/dist/analyzer/constructors.js +12 -14
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +17 -17
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/decorators.d.ts +1 -2
- package/dist/analyzer/decorators.js +13 -10
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.d.ts +4 -2
- package/dist/analyzer/enums.js +109 -50
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.js +1 -2
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +2 -2
- package/dist/analyzer/importResolver.js +96 -27
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/namedTuples.js +8 -7
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +19 -21
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +37 -0
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +26 -23
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +18 -4
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +8 -8
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +37 -30
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.d.ts +1 -1
- package/dist/analyzer/service.js +21 -20
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +2 -2
- package/dist/analyzer/sourceFile.js +17 -17
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +1042 -875
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +12 -11
- package/dist/analyzer/typeEvaluatorTypes.js +2 -4
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +16 -11
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +3 -4
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +5 -2
- package/dist/analyzer/typeUtils.js +19 -0
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +30 -34
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +12 -13
- package/dist/analyzer/types.js +49 -61
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +12 -11
- package/dist/backgroundAnalysisBase.js +60 -64
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +6 -5
- package/dist/backgroundThreadBase.js +63 -60
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/quickActionCommand.js +1 -1
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/cancellationUtils.d.ts +6 -3
- package/dist/common/cancellationUtils.js +29 -5
- package/dist/common/cancellationUtils.js.map +1 -1
- package/dist/common/commandLineOptions.d.ts +1 -0
- package/dist/common/commandLineOptions.js.map +1 -1
- package/dist/common/commandUtils.d.ts +2 -0
- package/dist/common/commandUtils.js +24 -0
- package/dist/common/commandUtils.js.map +1 -0
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +13 -11
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/core.d.ts +1 -1
- package/dist/common/core.js.map +1 -1
- package/dist/common/extensibility.d.ts +7 -6
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileBasedCancellationUtils.js +19 -13
- package/dist/common/fileBasedCancellationUtils.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +1 -1
- package/dist/common/fullAccessHost.js +2 -2
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +2 -2
- package/dist/common/host.js.map +1 -1
- package/dist/common/realFileSystem.js +8 -8
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProvider.js +8 -1
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +11 -3
- package/dist/common/uri/baseUri.js +54 -25
- package/dist/common/uri/baseUri.js.map +1 -1
- package/dist/common/uri/emptyUri.d.ts +9 -4
- package/dist/common/uri/emptyUri.js +22 -8
- package/dist/common/uri/emptyUri.js.map +1 -1
- package/dist/common/uri/fileUri.d.ts +14 -4
- package/dist/common/uri/fileUri.js +65 -9
- package/dist/common/uri/fileUri.js.map +1 -1
- package/dist/common/uri/memoization.js +1 -1
- package/dist/common/uri/memoization.js.map +1 -1
- package/dist/common/uri/uri.d.ts +9 -2
- package/dist/common/uri/uri.js +5 -2
- package/dist/common/uri/uri.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +2 -0
- package/dist/common/uri/uriUtils.js +21 -4
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/common/uri/webUri.d.ts +8 -1
- package/dist/common/uri/webUri.js +59 -13
- package/dist/common/uri/webUri.js.map +1 -1
- package/dist/common/workspaceEditUtils.d.ts +6 -5
- package/dist/common/workspaceEditUtils.js +18 -17
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +2 -0
- package/dist/languageServerBase.js +29 -25
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +1 -2
- package/dist/languageService/analyzerServiceExecutor.js +8 -5
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.js +3 -3
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +9 -7
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.js +3 -2
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +2 -4
- package/dist/languageService/completionProvider.js +14 -18
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.js +5 -4
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/navigationUtils.js +2 -1
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/renameProvider.js +2 -2
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js +2 -1
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +10 -9
- package/dist/localization/localize.js +9 -5
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +50 -9
- package/dist/localization/package.nls.de.json +51 -10
- package/dist/localization/package.nls.en-us.json +11 -9
- package/dist/localization/package.nls.es.json +51 -10
- package/dist/localization/package.nls.fr.json +50 -9
- package/dist/localization/package.nls.it.json +51 -10
- package/dist/localization/package.nls.ja.json +51 -10
- package/dist/localization/package.nls.ko.json +51 -10
- package/dist/localization/package.nls.pl.json +51 -10
- package/dist/localization/package.nls.pt-br.json +51 -10
- package/dist/localization/package.nls.qps-ploc.json +51 -10
- package/dist/localization/package.nls.ru.json +50 -9
- package/dist/localization/package.nls.tr.json +51 -10
- package/dist/localization/package.nls.zh-cn.json +51 -10
- package/dist/localization/package.nls.zh-tw.json +51 -10
- package/dist/parser/parser.d.ts +1 -4
- package/dist/parser/parser.js +201 -201
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.d.ts +2 -4
- package/dist/parser/tokenizer.js +5 -6
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/parser/tokenizerTypes.d.ts +2 -2
- package/dist/parser/tokenizerTypes.js.map +1 -1
- package/dist/pyright.js +11 -9
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.js +2 -2
- package/dist/server.js +7 -5
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +8 -8
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/completions.test.js +3 -3
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +14 -6
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +6 -6
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +23 -9
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +4 -0
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashTypes.d.ts +3 -0
- package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +2 -0
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +13 -0
- package/dist/tests/harness/fourslash/testState.js +14 -8
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +1 -1
- package/dist/tests/harness/vfs/factory.js +4 -4
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +1 -1
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +21 -22
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/localizer.test.js +2 -2
- package/dist/tests/localizer.test.js.map +1 -1
- package/dist/tests/serialization.test.d.ts +2 -0
- package/dist/tests/serialization.test.js +88 -0
- package/dist/tests/serialization.test.js.map +1 -0
- package/dist/tests/service.test.js +1 -1
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +2 -3
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +3 -3
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +2 -2
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +1 -1
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.js +2 -2
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +1 -2
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +15 -3
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +12 -8
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +24 -6
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +5 -5
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +4 -0
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/uri.test.js +95 -15
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +8 -8
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +1 -0
- package/dist/workspaceFactory.js +2 -1
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -1
@@ -14,7 +14,7 @@
|
|
14
14
|
"indexValueDetail": "Valeur de l'indice"
|
15
15
|
},
|
16
16
|
"Diagnostic": {
|
17
|
-
"abstractMethodInvocation": "
|
17
|
+
"abstractMethodInvocation": "Désolé, nous n’avons pas pu appeler la méthode « {method} », car elle est abstraite et non implémentée",
|
18
18
|
"annotatedParamCountMismatch": "Non-concordance du nombre d'annotations de paramètre : attendu {expected} mais reçu {received}",
|
19
19
|
"annotatedTypeArgMissing": "Un argument de type et une ou plusieurs annotations sont attendus pour « Annotation »",
|
20
20
|
"annotationFormatString": "Les annotations de type ne peuvent pas utiliser de littéraux de chaîne de format (f-strings)",
|
@@ -44,6 +44,7 @@
|
|
44
44
|
"assignmentTargetExpr": "L’expression ne peut pas être une cible d’assignation",
|
45
45
|
"asyncNotInAsyncFunction": "L'utilisation de \"async\" n'est pas autorisée en dehors de la fonction async",
|
46
46
|
"awaitIllegal": "L’utilisation de « await » nécessite Python 3.5 ou version ultérieure",
|
47
|
+
"awaitNotAllowed": "Les annotations de type ne peuvent pas utiliser « await »",
|
47
48
|
"awaitNotInAsync": "« await » autorisé uniquement dans la fonction asynchrone",
|
48
49
|
"backticksIllegal": "Les expressions entourées de accents inverses ne sont pas prises en charge dans Python 3.x; utiliser repr à la place",
|
49
50
|
"baseClassCircular": "La classe ne peut pas dériver d'elle-même",
|
@@ -53,6 +54,7 @@
|
|
53
54
|
"baseClassMethodTypeIncompatible": "Les classes de base de la classe « {classType} » définissent la méthode « {name} » de manière incompatible",
|
54
55
|
"baseClassUnknown": "Le type de classe de base est inconnu, ce qui masque le type de classe dérivée",
|
55
56
|
"baseClassVariableTypeIncompatible": "Les classes de base de la classe « {classType} » définissent la variable « {name} » de manière incompatible",
|
57
|
+
"binaryOperationNotAllowed": "Opérateur binaire non autorisé dans l’annotation de type",
|
56
58
|
"bindTypeMismatch": "Impossible de lier la méthode \"{methodName}\" car \"{type}\" n'est pas attribuable au paramètre \"{paramName}\"",
|
57
59
|
"breakOutsideLoop": "\"break\" ne peut être utilisé qu'à l'intérieur d'une boucle",
|
58
60
|
"callableExtraArgs": "Seuls deux arguments de type sont attendus pour « Joignable »",
|
@@ -69,6 +71,7 @@
|
|
69
71
|
"classPatternBuiltInArgPositional": "Le modèle de classe accepte uniquement le sous-modèle positionnel",
|
70
72
|
"classPatternPositionalArgCount": "Trop de modèles positionnels pour les \"{type}\" de classe ; {expected} attendue mais {received} reçues",
|
71
73
|
"classPatternTypeAlias": "\"{type}\" ne peut pas être utilisé dans un modèle de classe car il s'agit d'un alias de type spécialisé",
|
74
|
+
"classPropertyDeprecated": "Les propriétés de classe sont obsolètes dans Python 3.11 et ne seront pas prises en charge dans Python 3.13",
|
72
75
|
"classTypeParametersIllegal": "La syntaxe du paramètre de type de classe nécessite Python 3.12 ou version ultérieure",
|
73
76
|
"classVarFirstArgMissing": "Attendu un argument de type après \"ClassVar\"",
|
74
77
|
"classVarNotAllowed": "« ClassVar » n’est pas autorisé dans ce contexte",
|
@@ -82,6 +85,7 @@
|
|
82
85
|
"comparisonAlwaysTrue": "La condition prend toujours la valeur True, car les types « {leftType} » et « {rightType} » ne se chevauchent pas",
|
83
86
|
"comprehensionInDict": "La compréhension ne peut pas être utilisée avec d’autres entrées de dictionnaire",
|
84
87
|
"comprehensionInSet": "La compréhension ne peut pas être utilisée avec d'autres entrées définies",
|
88
|
+
"concatenateContext": "« Concatenate » n’est pas autorisé dans ce contexte",
|
85
89
|
"concatenateParamSpecMissing": "Le dernier argument de type pour « Concatener » doit être un ParamSpec ou bien « ... »",
|
86
90
|
"concatenateTypeArgsMissing": "\"Concaténation\" nécessite au moins deux arguments de type",
|
87
91
|
"conditionalOperandInvalid": "Opérande conditionnel non valide de type \"{type}\"",
|
@@ -107,6 +111,7 @@
|
|
107
111
|
"dataClassTransformFieldSpecifier": "Tuple attendu de classes ou de fonctions mais type reçu \"{type}\"",
|
108
112
|
"dataClassTransformPositionalParam": "Tous les arguments de « dataclass_transform » doivent être des arguments de mot clé",
|
109
113
|
"dataClassTransformUnknownArgument": "L’argument « {name} » n’est pas pris en charge par dataclass_transform",
|
114
|
+
"dataProtocolInSubclassCheck": "Les protocoles de données (qui incluent des attributs non méthode) ne sont pas autorisés dans les appels de sous-classe",
|
110
115
|
"declaredReturnTypePartiallyUnknown": "Le type de retour déclaré « {returnType} » est partiellement inconnu",
|
111
116
|
"declaredReturnTypeUnknown": "Le type de retour déclaré est inconnu",
|
112
117
|
"defaultValueContainsCall": "Les appels de fonction et les objets mutables ne sont pas autorisés dans l'expression de la valeur par défaut du paramètre",
|
@@ -196,9 +201,10 @@
|
|
196
201
|
"expectedTypeNotString": "Type attendu mais réception d’un littéral de chaîne",
|
197
202
|
"expectedTypeParameterName": "Nom de paramètre de type attendu",
|
198
203
|
"expectedYieldExpr": "Expression attendue dans l'instruction yield",
|
199
|
-
"finalClassIsAbstract": "
|
204
|
+
"finalClassIsAbstract": "Class \"{type}\" is marked final and must implement all abstract symbols",
|
200
205
|
"finalContext": "« Final » n’est pas autorisé dans ce contexte",
|
201
206
|
"finalMethodOverride": "La méthode « {name} » ne peut pas remplacer la méthode finale définie dans la classe « {className} »",
|
207
|
+
"finalNonMethod": "La fonction « {name} » ne peut pas être marquée @final, car il ne s’agit pas d’une méthode",
|
202
208
|
"finalReassigned": "\"{name}\" est déclaré final et ne peut pas être réaffecté",
|
203
209
|
"finalRedeclaration": "« {name} » a été déclaré comme final",
|
204
210
|
"finalRedeclarationBySubclass": "« {name} » ne peut pas être redéclaré, car la classe parente « {className} » la déclare final",
|
@@ -242,6 +248,7 @@
|
|
242
248
|
"inconsistentIndent": "Le montant du retrait ne correspond pas au retrait précédent",
|
243
249
|
"inconsistentTabs": "Utilisation incohérente des onglets et des espaces dans la mise en retrait",
|
244
250
|
"initMustReturnNone": "Le type de retour de « __init__ » doit être None",
|
251
|
+
"initSubclassCallFailed": "Arguments de mot clé incorrects pour la méthode __init_subclass__",
|
245
252
|
"initSubclassClsParam": "__init_subclass__ remplacement doit prendre un paramètre « cls »",
|
246
253
|
"instanceMethodSelfParam": "Les méthodes d’instance doivent prendre un paramètre « self »",
|
247
254
|
"instanceVarOverridesClassVar": "La variable d'instance \"{name}\" remplace la variable de classe du même nom dans la classe \"{className}\"",
|
@@ -265,6 +272,7 @@
|
|
265
272
|
"listAssignmentMismatch": "Impossible d’affecter l’expression de type « {type} » à la liste cible",
|
266
273
|
"listInAnnotation": "Expression de liste non autorisée dans l’annotation de type",
|
267
274
|
"literalEmptyArgs": "Attendu un ou plusieurs arguments de type après \"Literal\"",
|
275
|
+
"literalNotAllowed": "\"Littéral\" ne peut pas être utilisé dans ce contexte sans argument de type",
|
268
276
|
"literalNotCallable": "Impossible d’instancier le type littéral",
|
269
277
|
"literalUnsupportedType": "Les arguments de type pour « Literal » doivent être None, une valeur littérale (int, bool, str ou bytes) ou une valeur enum",
|
270
278
|
"matchIncompatible": "Les instructions de correspondance nécessitent Python 3.10 ou version ultérieure",
|
@@ -281,7 +289,6 @@
|
|
281
289
|
"methodOrdering": "Impossible de créer un classement de méthode cohérent",
|
282
290
|
"methodOverridden": "\"{name}\" remplace la méthode du même nom dans la classe \"{className}\" avec un type incompatible \"{type}\"",
|
283
291
|
"methodReturnsNonObject": "La méthode « {name} » ne retourne pas d’objet",
|
284
|
-
"missingProtocolMembers": "La classe dérive d'une ou plusieurs classes de protocole mais n'implémente pas tous les membres requis",
|
285
292
|
"missingSuperCall": "La méthode « {methodName} » n’appelle pas la méthode du même nom dans la classe parente",
|
286
293
|
"moduleAsType": "Le module ne peut pas être utilisé comme type",
|
287
294
|
"moduleNotCallable": "Le module ne peut pas être appelé",
|
@@ -297,11 +304,13 @@
|
|
297
304
|
"namedTupleNoTypes": "« namedtuple » ne fournit aucun type pour les entrées de tuple ; utilisez « NamedTuple » à la place",
|
298
305
|
"namedTupleSecondArg": "Liste d’entrées de tuple nommée attendue en tant que deuxième argument",
|
299
306
|
"newClsParam": "__new__ remplacement doit prendre un paramètre « cls »",
|
307
|
+
"newTypeAnyOrUnknown": "Le deuxième argument de NewType doit être une classe connue, et non Any ou Unknown",
|
300
308
|
"newTypeBadName": "Le premier argument de NewType doit être un littéral de chaîne",
|
301
309
|
"newTypeLiteral": "Impossible d’utiliser NewType avec le type Literal",
|
310
|
+
"newTypeNameMismatch": "NewType doit être affecté à une variable portant le même nom",
|
302
311
|
"newTypeNotAClass": "Classe attendue comme deuxième argument de NewType",
|
303
312
|
"newTypeParamCount": "NewType requiert deux arguments positionnels",
|
304
|
-
"newTypeProtocolClass": "
|
313
|
+
"newTypeProtocolClass": "Désolé, nous n’avons pas pu utiliser NewType avec un type structurelle (un protocole ou une classe TypedDict)",
|
305
314
|
"noOverload": "Aucune surcharge pour « {name} » ne correspond aux arguments fournis",
|
306
315
|
"noReturnContainsReturn": "La fonction avec le type de retour déclaré « NoReturn » ne peut pas inclure d’instruction de retour",
|
307
316
|
"noReturnContainsYield": "La fonction avec le type de retour déclaré « NoReturn » ne peut pas inclure d’instruction yield",
|
@@ -333,8 +342,12 @@
|
|
333
342
|
"overlappingKeywordArgs": "Le dictionnaire tapé chevauche avec le mot clé paramètre : {names}",
|
334
343
|
"overlappingOverload": "La surcharge {obscured} pour « {name} » ne sera jamais utilisée, car ses paramètres chevauchent la surcharge {obscuredBy}",
|
335
344
|
"overloadAbstractMismatch": "Les méthodes surchargées doivent toutes être abstraites ou non",
|
345
|
+
"overloadClassMethodInconsistent": "Les surcharges pour « {name} » utilisent @classmethod de manière incohérente",
|
346
|
+
"overloadFinalInconsistencyImpl": "La surcharge pour « {name} » est marquée @final, mais l’implémentation ne l’est pas",
|
347
|
+
"overloadFinalInconsistencyNoImpl": "La surcharge {index} pour « {name} » est marquée @final mais la surcharge 1 n’est pas",
|
336
348
|
"overloadImplementationMismatch": "L’implémentation surchargée n’est pas cohérente avec la signature de la surcharge {index}",
|
337
349
|
"overloadReturnTypeMismatch": "La surcharge {prevIndex} pour « {name} » chevauche la surcharge {newIndex} et retourne un type incompatible",
|
350
|
+
"overloadStaticMethodInconsistent": "Les surcharges pour « {name} » utilisent @staticmethod de manière incohérente",
|
338
351
|
"overloadWithoutImplementation": "\"{name}\" est marqué comme surcharge, mais aucune implémentation n'est fournie",
|
339
352
|
"overriddenMethodNotFound": "La méthode \"{name}\" est marquée comme prioritaire, mais aucune méthode de base du même nom n'est présente",
|
340
353
|
"overrideDecoratorMissing": "La méthode \"{name}\" n'est pas marquée comme override mais remplace une méthode dans la classe \"{className}\"",
|
@@ -375,6 +388,8 @@
|
|
375
388
|
"protocolBaseClass": "La classe de protocole \"{classType}\" ne peut pas dériver de la classe non protocolaire \"{baseType}\"",
|
376
389
|
"protocolBaseClassWithTypeArgs": "Les arguments de type ne sont pas autorisés avec la classe Protocol lors de l'utilisation de la syntaxe des paramètres de type",
|
377
390
|
"protocolIllegal": "L’utilisation de « Protocole » nécessite Python 3.7 ou une version plus récente",
|
391
|
+
"protocolNotAllowed": "\"Protocole\" ne peut pas être utilisé dans ce contexte",
|
392
|
+
"protocolUnsafeOverlap": "La classe chevauche « {name} » de manière non sécurisée et peut produire une correspondance au moment de l’exécution",
|
378
393
|
"protocolVarianceContravariant": "La variable de type \"{variable}\" utilisée dans le protocole générique \"{class}\" doit être contravariante",
|
379
394
|
"protocolVarianceCovariant": "La variable de type \"{variable}\" utilisée dans le protocole générique \"{class}\" doit être covariante",
|
380
395
|
"protocolVarianceInvariant": "La variable de type \"{variable}\" utilisée dans le protocole générique \"{class}\" doit être invariante",
|
@@ -405,6 +420,7 @@
|
|
405
420
|
"revealTypeExpectedTextMismatch": "Incompatibilité de texte de type ; « {expected} » attendu, mais a reçu « {received} »",
|
406
421
|
"revealTypeExpectedTypeMismatch": "Incompatibilité de type; attendu \"{expected}\" mais reçu \"{received}\"",
|
407
422
|
"selfTypeContext": "« Self » n’est pas valide dans ce contexte",
|
423
|
+
"selfTypeMetaclass": "« Self » ne peut pas être utilisé dans une métaclasse (une sous-classe de « type »)",
|
408
424
|
"selfTypeWithTypedSelfOrCls": "« Self » ne peut pas être utilisé dans une fonction avec un paramètre « self » ou « cls » qui a une annotation de type autre que « Self »",
|
409
425
|
"setterGetterTypeMismatch": "Le type valeur setter de propriété n’est pas assignable au type de retour getter",
|
410
426
|
"singleOverload": "« {name} » est marqué comme surcharge, mais des surcharges supplémentaires sont manquantes",
|
@@ -431,6 +447,7 @@
|
|
431
447
|
"symbolIsUnbound": "« {name} » est indépendant",
|
432
448
|
"symbolIsUndefined": "« {name} » n’est pas défini",
|
433
449
|
"symbolOverridden": "« {name} » remplace le symbole du même nom dans la classe « {className} »",
|
450
|
+
"ternaryNotAllowed": "Expression ternaire non autorisée dans l’annotation de type",
|
434
451
|
"totalOrderingMissingMethod": "La classe doit définir « __lt__ », « __le__ », « __gt__ » ou « __ge__ » pour utiliser total_ordering",
|
435
452
|
"trailingCommaInFromImport": "Virgule de fin non autorisée sans parenthèses adjacentes",
|
436
453
|
"tryWithoutExcept": "L'instruction try doit avoir au moins une clause except ou finally",
|
@@ -441,7 +458,9 @@
|
|
441
458
|
"typeAliasIsRecursiveDirect": "L'alias de type \"{name}\" ne peut pas s'utiliser lui-même dans sa définition",
|
442
459
|
"typeAliasNotInModuleOrClass": "Un TypeAlias ne peut être défini qu’au sein d’un module ou d’une étendue de classe",
|
443
460
|
"typeAliasRedeclared": "« {name} » est déclaré en tant que TypeAlias et ne peut être attribué qu’une seule fois",
|
461
|
+
"typeAliasStatementBadScope": "Une instruction de type ne peut être utilisée que dans une étendue de module ou de classe",
|
444
462
|
"typeAliasStatementIllegal": "L’instruction d’alias de type nécessite Python 3.12 ou version ultérieure",
|
463
|
+
"typeAliasTypeBaseClass": "A type alias defined in a \"type\" statement cannot be used as a base class",
|
445
464
|
"typeAliasTypeMustBeAssigned": "TypeAliasType doit être affecté à une variable portant le même nom que l'alias de type",
|
446
465
|
"typeAliasTypeNameArg": "Le premier argument de TypeAliasType doit être un littéral de chaîne représentant le nom de l'alias de type",
|
447
466
|
"typeAliasTypeNameMismatch": "Le nom de l’alias de type doit correspondre au nom de la variable à laquelle il est affecté",
|
@@ -498,6 +517,7 @@
|
|
498
517
|
"typeVarPossiblyUnsolvable": "La variable de type \"{name}\" peut rester non résolue si l'appelant ne fournit aucun argument pour le paramètre \"{param}\"",
|
499
518
|
"typeVarScopedToReturnType": "La variable de type \"{name}\" est limitée à un appelable dans le type de retour et ne peut pas être référencée dans le corps de la fonction",
|
500
519
|
"typeVarSingleConstraint": "TypeVar doit avoir au moins deux types contraints",
|
520
|
+
"typeVarTupleConstraints": "TypeVarTuple ne peut pas avoir de contraintes de valeur",
|
501
521
|
"typeVarTupleContext": "TypeVarTuple n’est pas autorisé dans ce contexte",
|
502
522
|
"typeVarTupleDefaultNotUnpacked": "Le type par défaut TypeVarTuple doit être un tuple décompressé ou TypeVarTuple",
|
503
523
|
"typeVarTupleMustBeUnpacked": "L'opérateur Unpack est requis pour la valeur TypeVarTuple",
|
@@ -509,6 +529,7 @@
|
|
509
529
|
"typeVarWithoutDefault": "\"{name}\" ne peut pas apparaître après \"{other}\" dans la liste des paramètres de type car il n'a pas de type par défaut",
|
510
530
|
"typeVarsNotInGenericOrProtocol": "Generic[] ou Protocol[] doit inclure toutes les variables de type",
|
511
531
|
"typedDictAccess": "Impossible d’accéder à l’élément dans TypedDict",
|
532
|
+
"typedDictAssignedName": "TypedDict doit être affecté à une variable nommée « {name} »",
|
512
533
|
"typedDictBadVar": "Les classes TypedDict ne peuvent contenir que des annotations de type",
|
513
534
|
"typedDictBaseClass": "Toutes les classes de base pour les classes TypedDict doivent également être des classes TypedDict",
|
514
535
|
"typedDictBoolParam": "Paramètre « {name} » attendu avec la valeur True ou False",
|
@@ -517,8 +538,12 @@
|
|
517
538
|
"typedDictEntryName": "Littéral de chaîne attendu pour le nom d’entrée du dictionnaire",
|
518
539
|
"typedDictEntryUnique": "Les noms dans un dictionnaire doivent être uniques",
|
519
540
|
"typedDictExtraArgs": "Arguments TypedDict supplémentaires non pris en charge",
|
541
|
+
"typedDictFieldNotRequiredRedefinition": "Le champ TypedDict « {name} » ne peut pas être redéfini comme NotRequired",
|
520
542
|
"typedDictFieldReadOnlyRedefinition": "Le champ TypedDict « {name} » ne peut pas être redéfini en lecture seule",
|
543
|
+
"typedDictFieldRequiredRedefinition": "Le champ TypedDict « {name} » ne peut pas être redéfini comme Required",
|
521
544
|
"typedDictFirstArg": "Nom de classe TypedDict attendu comme premier argument",
|
545
|
+
"typedDictInitsubclassParameter": "TypedDict ne prend pas en charge __init_subclass__ paramètre « {name} »",
|
546
|
+
"typedDictNotAllowed": "\"TypedDict\" ne peut pas être utilisé dans ce contexte",
|
522
547
|
"typedDictSecondArgDict": "Paramètre de mot clé ou de dict attendu en tant que deuxième paramètre",
|
523
548
|
"typedDictSecondArgDictEntry": "Entrée de dictionnaire simple attendue",
|
524
549
|
"typedDictSet": "Impossible d'attribuer l'élément dans TypedDict",
|
@@ -528,6 +553,7 @@
|
|
528
553
|
"unaccessedSymbol": "« {name} » n’est pas accessible",
|
529
554
|
"unaccessedVariable": "La variable « {name} » n’est pas accessible",
|
530
555
|
"unannotatedFunctionSkipped": "L'analyse de la fonction \"{name}\" est ignorée car elle n'est pas annotée",
|
556
|
+
"unaryOperationNotAllowed": "Opérateur unaire non autorisé dans l’annotation de type",
|
531
557
|
"unexpectedAsyncToken": "« def », « with » ou « for » attendu pour suivre « async »",
|
532
558
|
"unexpectedExprToken": "Jeton inattendu à la fin de l’expression",
|
533
559
|
"unexpectedIndent": "Retrait inattendu",
|
@@ -539,6 +565,8 @@
|
|
539
565
|
"unionForwardReferenceNotAllowed": "La syntaxe Union ne peut pas être utilisée avec l’opérande de chaîne ; utiliser des guillemets autour de l’expression entière",
|
540
566
|
"unionSyntaxIllegal": "Une autre syntaxe pour les unions nécessite Python 3.10 ou une version plus récente",
|
541
567
|
"unionTypeArgCount": "L’union requiert au moins deux arguments de type",
|
568
|
+
"unionUnpackedTuple": "Union ne peut pas inclure un tuple décompressé",
|
569
|
+
"unionUnpackedTypeVarTuple": "Union ne peut pas inclure un TypeVarTuple décompressé",
|
542
570
|
"unmatchedEndregionComment": "#endregion n’a pas de #region correspondante",
|
543
571
|
"unmatchedRegionComment": "#region n’a pas de #endregion correspondante",
|
544
572
|
"unnecessaryCast": "Appel \"cast\" inutile ; le type est déjà \"{type}\"",
|
@@ -605,21 +633,26 @@
|
|
605
633
|
"conditionalRequiresBool": "La méthode __bool__ pour le type « {operandType} » retourne le type « {boolReturnType} » plutôt que « bool »",
|
606
634
|
"dataClassFieldLocation": "Déclaration de champ",
|
607
635
|
"dataClassFrozen": "« {name} » est figé",
|
636
|
+
"dataProtocolUnsupported": "« {name} » est un protocole de données",
|
608
637
|
"descriptorAccessBindingFailed": "Échec de la liaison du « {name} » de méthode pour la classe de descripteur « {className} »",
|
609
638
|
"descriptorAccessCallFailed": "Échec de l’appel du « {name} » de méthode pour la classe de descripteur « {className} »",
|
610
639
|
"finalMethod": "Méthode finale",
|
611
640
|
"functionParamDefaultMissing": "Le paramètre \"{name}\" n'a pas d'argument par défaut",
|
612
641
|
"functionParamName": "Incompatibilité de nom de paramètre : « {destName} » et « {srcName} »",
|
642
|
+
"functionParamPositionOnly": "Non-correspondance des paramètres position uniquement ; le paramètre « {name} » n’est pas en position seule",
|
613
643
|
"functionReturnTypeMismatch": "Le type de retour de fonction \"{sourceType}\" est incompatible avec le type \"{destType}\"",
|
614
644
|
"functionTooFewParams": "La fonction accepte trop peu de paramètres positionnels ; {expected} attendu, mais {received} reçu",
|
615
645
|
"functionTooManyParams": "La fonction accepte trop de paramètres positionnels ; {expected} attendu, mais {received} reçu",
|
646
|
+
"genericClassNotAllowed": "Type générique avec des arguments de type non autorisé pour les vérifications d’instance ou de classe",
|
616
647
|
"incompatibleDeleter": "La méthode du deleter de propriété n’est pas compatible",
|
617
648
|
"incompatibleGetter": "La méthode de récupération de propriété est incompatible",
|
618
649
|
"incompatibleSetter": "La méthode setter de propriété n’est pas compatible",
|
619
650
|
"initMethodLocation": "La méthode __init__ est définie dans la classe « {type} »",
|
620
651
|
"initMethodSignature": "La signature de __init__ est « {type} »",
|
652
|
+
"initSubclassLocation": "La méthode __init_subclass__ est définie dans la classe « {name} »",
|
621
653
|
"invariantSuggestionDict": "Envisagez de passer de « dict » à « Mapping », qui est covariant dans le type valeur",
|
622
654
|
"invariantSuggestionList": "Envisagez de passer de « list » à « Sequence » qui est covariant",
|
655
|
+
"invariantSuggestionSet": "Pensez à passer de \"set\" à \"Container\" qui est covariant",
|
623
656
|
"keyNotRequired": "\"{name}\" n'est pas une clé requise dans \"{type}\", donc l'accès peut entraîner une exception d'exécution",
|
624
657
|
"keyReadOnly": "« {name} » est une clé en lecture seule dans « {type} »",
|
625
658
|
"keyRequiredDeleted": "« {name} » est une clé obligatoire et ne peut pas être supprimée",
|
@@ -630,11 +663,14 @@
|
|
630
663
|
"matchIsNotExhaustiveHint": "Si la gestion exhaustive n’est pas prévue, ajoutez « case _: pass »",
|
631
664
|
"matchIsNotExhaustiveType": "Type non géré : « {type} »",
|
632
665
|
"memberAssignment": "L'expression de type \"{type}\" ne peut pas être attribuée au membre \"{name}\" de la classe \"{classType}\"",
|
633
|
-
"memberIsAbstract": "\"{type}.{
|
666
|
+
"memberIsAbstract": "\"{type}.{name}\" is not implemented",
|
634
667
|
"memberIsAbstractMore": "et {count} autres...",
|
668
|
+
"memberIsClassVarInProtocol": "« {name} » est défini en tant que ClassVar dans le protocole",
|
635
669
|
"memberIsFinalInProtocol": "« {name} » est marqué final dans le protocole",
|
636
670
|
"memberIsInitVar": "Le membre « {name} » est un champ d’initialisation uniquement",
|
637
671
|
"memberIsInvariant": "« {name} » est invariant, car il est mutable",
|
672
|
+
"memberIsNotClassVarInClass": "\"{name}\" must be defined as a ClassVar to be compatible with protocol",
|
673
|
+
"memberIsNotClassVarInProtocol": "« {name} » n’est pas défini en tant que ClassVar dans le protocole",
|
638
674
|
"memberIsNotFinalInProtocol": "\"{name}\" n'est pas marqué Final dans le protocole",
|
639
675
|
"memberIsWritableInProtocol": "« {name} » est accessible en écriture dans le protocole",
|
640
676
|
"memberSetClassVar": "Le membre \"{name}\" ne peut pas être attribué via une instance de classe car il s'agit d'une ClassVar",
|
@@ -643,14 +679,15 @@
|
|
643
679
|
"metaclassConflict": "La métaclasse « {metaclass1} » est en conflit avec « {metaclass2} »",
|
644
680
|
"missingDeleter": "La méthode de suppression de propriétés est manquante",
|
645
681
|
"missingGetter": "La méthode getter de propriété est manquante",
|
646
|
-
"missingProtocolMember": "Le membre « {name} » est déclaré dans la classe de protocole « {classType} »",
|
647
682
|
"missingSetter": "La méthode de définition de propriété est manquante",
|
648
683
|
"namedParamMissingInDest": "Le paramètre de mot clé « {name} » est manquant dans la destination",
|
649
684
|
"namedParamMissingInSource": "Le paramètre de mot-clé \"{name}\" est manquant dans la source",
|
650
685
|
"namedParamTypeMismatch": "Impossible d’affecter le paramètre de mot clé « {name} » de type « {sourceType} » au type « {destType} »",
|
651
686
|
"newMethodLocation": "La méthode __new__ est définie dans la classe « {type} »",
|
652
687
|
"newMethodSignature": "La signature de __new__ est « {type} »",
|
688
|
+
"newTypeClassNotAllowed": "La classe créée avec NewType ne peut pas être utilisée avec des vérifications de instance et de classe",
|
653
689
|
"noOverloadAssignable": "Aucune fonction surchargée ne correspond au type « {type} »",
|
690
|
+
"noneNotAllowed": "Aucun ne peut être utilisé pour les vérifications de instance ou de classe",
|
654
691
|
"orPatternMissingName": "Noms manquants : {name}",
|
655
692
|
"overloadIndex": "La surcharge {index} est la correspondance la plus proche",
|
656
693
|
"overloadNotAssignable": "Une ou plusieurs surcharges de « {name} » ne sont pas assignables",
|
@@ -670,7 +707,7 @@
|
|
670
707
|
"overrideParamName": "Incompatibilité de nom de paramètre {index} : le paramètre de base est nommé \"{baseName}\", le paramètre de remplacement est nommé \"{overrideName}\"",
|
671
708
|
"overrideParamNameExtra": "Le paramètre « {name} » est manquant dans la base",
|
672
709
|
"overrideParamNameMissing": "Le paramètre \"{name}\" est manquant dans le remplacement",
|
673
|
-
"overrideParamNamePositionOnly": "
|
710
|
+
"overrideParamNamePositionOnly": "Incompatibilité du paramètre {index} : le paramètre de base \"{baseName}\" est un paramètre de mot-clé, le paramètre de remplacement est uniquement de position",
|
674
711
|
"overrideParamNoDefault": "Non-concordance du paramètre {index} : le paramètre de base a une valeur d'argument par défaut, le paramètre de remplacement n'en a pas",
|
675
712
|
"overrideParamType": "Incompatibilité de type de paramètre {index} : le paramètre de base est de type \"{baseType}\", le paramètre de remplacement est de type \"{overrideType}\"",
|
676
713
|
"overridePositionalParamCount": "Non-concordance du nombre de paramètres positionnels ; la méthode de base a {baseCount}, mais la substitution a {overrideCount}",
|
@@ -686,9 +723,10 @@
|
|
686
723
|
"propertyMissingDeleter": "La propriété « {name} » n’a pas de deleter défini",
|
687
724
|
"propertyMissingSetter": "La propriété « {name} » n’a pas de méthode setter définie",
|
688
725
|
"protocolIncompatible": "\"{sourceType}\" est incompatible avec le protocole \"{destType}\"",
|
689
|
-
"protocolMemberClassVar": "« {name} » n’est pas une variable de classe",
|
690
726
|
"protocolMemberMissing": "« {name} » n’est pas présent",
|
727
|
+
"protocolRequiresRuntimeCheckable": "La classe de protocole doit être @runtime_checkable à utiliser avec des vérifications d’instance et de classe",
|
691
728
|
"protocolSourceIsNotConcrete": "\"{sourceType}\" n'est pas un type de classe concret et ne peut pas être affecté au type \"{destType}\"",
|
729
|
+
"protocolUnsafeOverlap": "Les attributs de « {name} » ont les mêmes noms que le protocole",
|
692
730
|
"pyrightCommentIgnoreTip": "Utilisez « #ight: ignore[<diagnostic rules>] pour supprimer les diagnostics pour une seule ligne",
|
693
731
|
"readOnlyAttribute": "L’attribut « {name} » est en lecture seule",
|
694
732
|
"seeClassDeclaration": "Voir la déclaration de classe",
|
@@ -702,6 +740,7 @@
|
|
702
740
|
"tupleEntryTypeMismatch": "Le type de l’entrée de tuple {entry} est incorrect",
|
703
741
|
"tupleSizeIndeterminate": "Incompatibilité de taille de tuple ; attendu {expected} mais reçu pour une durée indéterminée",
|
704
742
|
"tupleSizeMismatch": "Incompatibilité de taille de tuple ; attendu {expected} mais reçu {received}",
|
743
|
+
"typeAliasInstanceCheck": "Type alias created with \"type\" statement cannot be used with instance and class checks",
|
705
744
|
"typeAssignmentMismatch": "Impossible d’affecter le type « {sourceType} » au type « {destType} »",
|
706
745
|
"typeBound": "Le type « {sourceType} » n’est pas compatible avec le type lié « {destType} » pour la variable de type « {name} »",
|
707
746
|
"typeConstrainedTypeVar": "Le «{type}» de type n’est pas compatible avec les «{name}» de variable de type contrainte",
|
@@ -715,11 +754,13 @@
|
|
715
754
|
"typeVarIsContravariant": "Le paramètre de type \"{name}\" est contravariant, mais \"{sourceType}\" n'est pas un supertype de \"{destType}\"",
|
716
755
|
"typeVarIsCovariant": "Le paramètre de type \"{name}\" est covariant, mais \"{sourceType}\" n'est pas un sous-type de \"{destType}\"",
|
717
756
|
"typeVarIsInvariant": "Le paramètre de type \"{name}\" est invariant, mais \"{sourceType}\" n'est pas le même que \"{destType}\"",
|
718
|
-
"typeVarNotAllowed": "TypeVar
|
757
|
+
"typeVarNotAllowed": "TypeVar non autorisé pour les vérifications d’instance ou de classe",
|
719
758
|
"typeVarTupleRequiresKnownLength": "TypeVarTuple ne peut pas être lié à un tuple de longueur inconnue",
|
759
|
+
"typeVarUnnecessarySuggestion": "Utilisez plutôt {type}",
|
720
760
|
"typeVarUnsolvableRemedy": "Fournir une surcharge qui spécifie le type de retour lorsque l’argument n’est pas fourni",
|
721
761
|
"typeVarsMissing": "Variables de type manquantes : {names}",
|
722
762
|
"typedDictBaseClass": "La classe \"{type}\" n'est pas un TypedDict",
|
763
|
+
"typedDictClassNotAllowed": "Classe TypedDict non autorisée pour les vérifications d’instance ou de classe",
|
723
764
|
"typedDictFieldMissing": "« {name} » est manquant dans « {type} »",
|
724
765
|
"typedDictFieldNotReadOnly": "« {name} » n’est pas en lecture seule dans « {type} »",
|
725
766
|
"typedDictFieldNotRequired": "« {name} » n’est pas obligatoire dans « {type} »",
|