Skip to content

Commit 993fee5

Browse files
committed
FR translation: translate files
1 parent 80aae07 commit 993fee5

File tree

3 files changed

+57
-56
lines changed

3 files changed

+57
-56
lines changed

docs/playground/fr/3-7/Syntax and Messaging/Flattened Error Reporting.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
//// { compiler: { }, order: 3 }
22

3-
// TypeScript's error messages can sometimes be a tad verbose...
4-
// With 3.7, we've taken a few cases which could be particularly
5-
// egregious.
3+
// Les messages d'erreur TypeScript peuvent être un peu verbeux...
4+
// Avec la version 3.7, nous avons corrigé quelques cas qui
5+
// généraient des messages d'erreurs très longs.
66

7-
// Nested Properties
7+
// Propriétés imbriquées
88

99
let a = { b: { c: { d: { e: "string" } } } };
1010
let b = { b: { c: { d: { e: 12 } } } };
1111

1212
a = b;
1313

14-
// Before, it was 2 lines of code per nested property, which
15-
// quickly meant people learned to read error messages by
16-
// reading the first and then last line of an error message.
14+
// Auparavant, c'était deux lignes de code par propriété imbriquée, ce qui
15+
// a rapidement amené les gens à lire
16+
// uniquement la première et dernière ligne des messages d'erreur.
1717

18-
// Now they're inline. :tada:
18+
// Maintenant elles sont en ligne. :tada:
1919

20-
// Previously in 3.6:
20+
// Auparavant avec la version 3.6:
2121
//
2222
// Type '{ b: { c: { d: { e: number; }; }; }; }' is not assignable to type '{ b: { c: { d: { e: string; }; }; }; }'.
2323
// Types of property 'b' are incompatible.
@@ -29,8 +29,8 @@ a = b;
2929
// Types of property 'e' are incompatible.
3030
// Type 'number' is not assignable to type 'string'
3131

32-
// This can handle working through different types of objects,
33-
// to still give a useful and concise error message.
32+
// Ça peut aussi marcher avec des objets de types différents
33+
// et toujours donner un message d'erreur utile et concis.
3434

3535
class ExampleClass {
3636
state = "ok";
@@ -44,7 +44,7 @@ let x = { a: { b: { c: { d: { e: { f: ExampleClass } } } } } };
4444
let y = { a: { b: { c: { d: { e: { f: OtherClass } } } } } };
4545
x = y;
4646

47-
// Previously in 3.6:
47+
// Auparavant avec la version 3.6:
4848
//
4949
// Type '{ a: { b: { c: { d: { e: { f: typeof OtherClass; }; }; }; }; }; }' is not assignable to type '{ a: { b: { c: { d: { e: { f: typeof ExampleClass; }; }; }; }; }; }'.
5050
// Types of property 'a' are incompatible.
Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,45 @@
11
//// { compiler: { }, order: 2 }
22

3-
// The nullish coalescing operator is an alternative to ||
4-
// which returns the right-side expression if the left-side
5-
// is null or undefined.
3+
// L'opérateur de coalescence des nuls (nullish coalescing operator) est une
4+
// alternative à || qui retourne l'expression de droite si celle de gauche
5+
// est nulle ou non-définie.
66

7-
// In contrast, || uses falsy checks, meaning an empty
8-
// string or the number 0 would be considered false.
7+
// En revanche, || vérifie si la valeur est de type fausse (falsy), ce qui veut dire
8+
// qu'une chaîne de caractères, ou le nombre 0, seraient considérés faux.
99

10-
// A good example for this feature is dealing with partial
11-
// objects which have defaults when a key isn't passed in.
10+
// Un bon example est la gestion des objets partiellement
11+
// définis, pour lesquels il est possible d'avoir des valeurs par défaut
12+
// quand une clef est manquante.
1213

1314
interface AppConfiguration {
14-
// Default: "(no name)"; empty string IS valid
15+
// Défaut: "(no name)"; une chaîne de caractère vide est une valeur valide
1516
name: string;
1617

17-
// Default: -1; 0 is valid
18+
// Défaut: -1; 0 est une valeur valide
1819
items: number;
1920

20-
// Default: true
21+
// Défaut: true
2122
active: boolean;
2223
}
2324

2425
function updateApp(config: Partial<AppConfiguration>) {
25-
// With null-coalescing operator
26+
// Avec l'opérateur de coalescence des nuls
2627
config.name = config.name ?? "(no name)";
2728
config.items = config.items ?? -1;
2829
config.active = config.active ?? true;
2930

30-
// Current solution
31+
// Sans l'opérateur de coalescence des nuls
3132
config.name = typeof config.name === "string" ? config.name : "(no name)";
3233
config.items = typeof config.items === "number" ? config.items : -1;
3334
config.active = typeof config.active === "boolean" ? config.active : true;
3435

35-
// Using || operator which could give bad data
36-
config.name = config.name || "(no name)"; // does not allow for "" input
37-
config.items = config.items || -1; // does not allow for 0 input
38-
config.active = config.active || true; // really bad, always true
36+
// L'opérateur || pourrait retourner des valeurs incorrectes
37+
config.name = config.name || "(no name)"; // empêche de passer "" comme valeur
38+
config.items = config.items || -1; // empêche de passer 0 comme valeur
39+
config.active = config.active || true; // incorrect, sera toujours true
3940
}
4041

41-
// You can read more about nullish coalescing in the 3.7 blog post:
42+
// Plus de détails sur l'opérateur de coalescence des nuls dans la version 3.7
43+
// sur le blog:
4244
//
4345
// https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/
Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
//// { compiler: { }, order: 1 }
22

3-
// Optional chaining reached TC39 Stage 3 consensus during
4-
// 3.7's development. Optional Chaining allows you to write
5-
// code which can immediately stop running expressions when
6-
// it hits a null or undefined.
3+
// Le chaînage optionnel a atteint l'étape 3 du TC39 pendant le development
4+
// de la version 3.7. Le chaînage optionnel permet d'écrire du code qui va
5+
// interrompre l'execution des expressions dès qu'il atteint une valeur
6+
// null ou undefined.
77

8-
// Property Access
8+
// Accès aux propriétés d'un objet
99

10-
// Let's imagine we have an album where the artist, and the
11-
// artists bio might not be present in the data. For example
12-
// a compilation may not have a single artist.
10+
// Imaginons que nous ayons un album où l'artiste, et sa bio, puissent ne pas
11+
// être present dans les données. Par exemple, une compilation pourrait n'aurait pas un seul artiste.
1312

1413
type AlbumAPIResponse = {
1514
title: string;
@@ -22,40 +21,40 @@ type AlbumAPIResponse = {
2221

2322
declare const album: AlbumAPIResponse;
2423

25-
// With optional chaining, you can write
26-
// code like this:
24+
// Avec le chaînage optionnel,
25+
// vous pouvez écrire le code suivant:
2726

2827
const artistBio = album?.artist?.bio;
2928

30-
// Instead of:
29+
// A la place de:
3130

3231
const maybeArtistBio = album.artist && album.artist.bio;
3332

34-
// In this case ?. acts differently than the &&s since &&
35-
// will act differently on "falsy" values (e.g. an empty string,
36-
// 0, NaN, and, well, false).
33+
// Dans ce cas ?. agit différemment que le ET logique (&&) car ce dernier traite
34+
// les valeur fausses (e.g. une chaîne de caractères vide, 0, Nan et false) de
35+
// façon différente.
3736

38-
// Optional chaining will only take null or undefined as
39-
// a signal to stop and return an undefined.
37+
// Le chaînage optionnel va seulement arrêter l'évaluation et retourner undefined
38+
// si la valeur est null ou undefined.
4039

41-
// Optional Element Access
40+
// Accès à un élément optionnel
4241

43-
// Property access is via the . operator, the optional chaining
44-
// also works with the [] operators when accessing elements.
42+
// Acceder à une propriété se fait avec l'opérateur ., et le chaînage optionnel
43+
// marche aussi avec l'opérateur [] pour acceder à des éléments.
4544

4645
const maybeArtistBioElement = album?.["artist"]?.["bio"];
4746

4847
const maybeFirstPreviousAlbum = album?.artist?.previousAlbums?.[0];
4948

50-
// Optional Calls
49+
// Appel optionnel
5150

52-
// When dealing with functions which may or may not exist at
53-
// runtime, optional chaining supports only calling a function
54-
// if it exists. This can replace code where you would traditionally
55-
// write something like: if (func) func()
51+
// Quand il s'agit d'appeler des fonctions qui peuvent être définies ou non définies,
52+
// le chaînage optionnel permet d'appeler la fonction uniquement si elle existe.
53+
// Cela peut remplacer le code où l'on écrirait traditionnellement quelque chose comme:
54+
// if (func) func()
5655

57-
// For example here's an optional call to the callback from
58-
// an API request:
56+
// Par example le chaînage optionnel pour appeler un callback après une requête
57+
// vers une API:
5958

6059
const callUpdateMetadata = (metadata: any) => Promise.resolve(metadata); // Fake API call
6160

@@ -65,6 +64,6 @@ const updateAlbumMetadata = async (metadata: any, callback?: () => void) => {
6564
callback?.();
6665
};
6766

68-
// You can read more about optional chaining in the 3.7 blog post:
67+
// Plus de détails sur le chaînage optionnel dans la version 3.7 sur le blog:
6968
//
7069
// https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/

0 commit comments

Comments
 (0)