/* image accessibility for the advanced enemy page. Image is of the blob monster (with antennas) chasing a scared looking Sphero. */
"advancedEnemy.imageAccessibility.advancedEnemyImage" = "Un ennemi en colère poursuit Sphero qui a peur.";

/* VoiceOver description of Aim page before code is run. Image is of blue shoes and Sphero tracing out roll forward, roll backward. */
"aim.accessibilityContainer.description" = "Sphero est devant une paire de chaussures bleues. Une ligne pointillée indique qu'il doit rouler vers l'avant, faire demi-tour et revenir.";

/* aim fail assessment, user didn't use matching delays */
"aim.fail.differentDelays" = "Les temps d'attente n'ont pas tous la même durée. Essaie d'ajuster les temps d'attente pour qu'ils soient tous égaux au premier.";

/* aim fail assessment, user didnt use matching headings, %.0f is a difference in angles, i.e 30 degrees */
"aim.fail.differentHeadings" = "Sphero n'est pas revenu directement vers toi, essaie d'ajuster la direction du deuxième `roll`. Il y avait un décalage de %.0f degrés.";

/* aim fail assessment, user didn't use matching speeds */
"aim.fail.differentSpeeds" = "Sphero n'est pas revenu directement vers toi, essaie d'ajuster la vitesse du deuxième `roll` pour qu'elle soit égale à celle du premier.";

/* aim fail assessment, user never told Sphero to roll back */
"aim.fail.noReturn" = "Tu n'as pas dit à Sphero de revenir ! Pour que Sphero revienne vers toi, essaie d'appeler la fonction `roll`.";

/* aim fail assessment, user never stopped rolling */
"aim.fail.noStop" = "Tu as dit à Sphero de rouler mais tu ne lui as jamais dit de s'arrêter ! Pour que Sphero s’arrête, essaie d'appeler la fonction `stopRoll`.";

/* aim fail assessment, user never told Sphero to stop on the way back */
"aim.fail.noStopOnReturn" = "Sphero doit s’arrêter quand il revient ! Pour que Sphero s’arrête, essaie d'appeler la fonction `stopRoll`.";

/* aim fail assessment, user didn't use the `wait` function. */
"aim.fail.noWaitOnReturn" = "Sphero s'est arrêté juste après avoir commencé à rouler. Essaie d'appeler `wait` après que Sphero a commencé à rouler.";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nOn to the next page' */
"aim.success.pageComplete" = "### Bravo ! \nAllons à la [page suivante](@next).";

/* aiming modal accessibility. */
"aiming.bodyLabel.accessibilityLabel" = "Si tu as du mal à orienter %@, touche Prêt(e). Observe la direction dans laquelle il va : son feu arrière bleu est dirigé à l'opposé de cette direction.";

/* body text for aiming, turn Sphero until its small blue taillight is facing the user, \n newline for separating the two strings */
"aiming.bodyLabel.text" = "Vérifie que le feu arrière bleu est face à toi !";

/* accessibility hint describing what the ready button does. */
"aiming.readyButton.accessibilityHint" = "Fait disparaître la fenêtre d'orientation et lance ton code.";

/* button title; finished aiming and ready to run program. */
"aiming.readyButton.text" = "Prêt(e)";

/* aiming image accessiblity, image shows a small Sphero with a blue tail light facing away from an arrow and towards a pair of shoes */
"aiming.spheroImage.accessibility" = "Une paire de chaussures se trouve derrière %@. Son feu arrière bleu est allumé et dirigé vers les chaussures et à l'opposé d'une flèche. La flèche indique la direction dans laquelle il va rouler.";

/* title label for aiming */
"aiming.titleLabel.text" = "Orienter %@";

/* Assessment hint when the toy disconnects unexpectedly while code is running. */
"asessment.unexpectedDisconnect" = "Sphero est déconnecté ! Connecte Sphero et exécute ton code pour réessayer.";

/* image accessibility for basic enemies page */
"basicEnemies.imageAccessibility.basicEnemyImage" = "Deux ennemis avec des antennes et un gros œil.";

/* sphero bop it score label, %d is a score, ie, Score: 12 */
"bopIt.gameScoreLabel.text" = "Score : %d";

/* VoiceOver description of animated Sphero being shaken quickly with a nauseous facial expression. */
"bopIt.gestures.shake.voiceOverDescription" = "Sphero est secoué rapidement et a l'air malade.";

/* VoiceOver description of animated Sphero spinning quickly with a dizzy facial expression. */
"bopIt.gestures.spin.voiceOverDescription" = "Sphero tourbillonne rapidement et a l'air d'avoir le tournis.";

/* VoiceOver description of animated Sphero being hit to the side and closing one eye. */
"bopIt.gestures.tap.voiceOverDescription" = "Sphero est frappé de côté et fait la grimace.";

/* VoiceOver description of animated Sphero jumping into the air while smiling. */
"bopIt.gestures.toss.voiceOverDescription" = "Sphero saute dans les airs et sourit.";

/* VoiceOver description of an image of a Sphero */
"bopIt.spheroAnimation.default.voiceOverDescription" = "Sphero";

/* VoiceOver dscription of a Sphero inside a trophy cup with the number of points scored written on the trophy.  %@ is replaced with the type of trophy (Gold, Silver or Bronze), and %d is replaced with the number of points written on it. */
"bopIt.spheroAnimation.spheroInTrophy.voiceOverDescription" = "Sphero est content, il est dans un trophée en %1$@ décoré du nombre %2$d.";

/* VoiceOver description of a Sphero backflipping into a trophy cup when a game of BopIt ends.  %d is replaced with the number of points the player scored. %@ is the colour of a trophy, ie gold/silver */
"bopIt.spheroAnimation.winning.voiceOverDescription" = "Tu as marqué %1$d points. Sphero fait un saut périlleux en arrière et atterrit dans un trophée en %2$@.";

/* bop it winning label title text, best result */
"bopIt.spheroWinString.best" = "Bravo !\nC'est toi le/la meilleur(e) !";

/* bop it winning label title text, 2nd best result */
"bopIt.spheroWinString.big" = "Ouah ! Tu es génial(e) !";

/* bop it winning label title text, worst result */
"bopIt.spheroWinString.lowest" = "Allons,\ntu peux faire mieux que ça !";

/* bop it winning label title text, 2nd worst result */
"bopIt.spheroWinString.small" = "Pas mal.\nTu es plutôt doué(e) !";

/* VoiceOver description of an image of sphero shaking side to side quickly, with a nauseous facial expression. */
"bopIt.staticGesture.shake.voiceOverDescription" = "Sphero a l'air malade, des lignes montrent qu'il est secoué.";

/* VoiceOver description of an image of a spinning sphero that looks dizzy. */
"bopIt.staticGesture.spin.voiceOverDescription" = "Sphero a le tournis, sa tête est encerclée d'étoiles et des flèches montrent qu'il est en train de tourner.";

/* VoiceOver description of an image of a Sphero with one eye closed being hit to the side. */
"bopIt.staticGesture.tap.voiceOverDescription" = "Sphero est frappé de côté et fait la grimace.";

/* VoiceOver description of a smiling sphero with lines under it that show it's jumping into the air. */
"bopIt.staticGesture.toss.voiceOverDescription" = "Sphero est content et saute dans les airs.";

/* bounce angle page image accessibility, image is a diagram showing various angles that Sphero will roll back at after a collision. */
"bounceAngle.diagram.accessibility" = "Un schéma représente Sphero qui rebondit contre un mur. Une ligne verticale part de Sphero pour représenter un angle de base de 180º. Deux lignes partent de Sphero en formant un cône pour représenter les directions possibles du robot après la collision. La limite gauche du cône représente la valeur minimum passée dans la fonction aléatoire et la limite droite du cône représente la valeur maximum passée dans la fonction aléatoire.";

/* assessment fail, user used an angle that was too large */
"bounceAngle.fail.angleTooLarge" = "Oh la, Sphero rebondit à des angles trop obtus ! Essaie de réduire l'intervalle des valeurs aléatoires limites.";

/* assessment fail, user didn't call the random number function */
"bounceAngle.fail.noRandomNumber" = "Tu n'as pas utilisé la fonction `randomNumber`. Essaie de l'utiliser pour générer la portion aléatoire de l'angle de rebond.";

/* assessment fail, user didn't start a roll after a collision event */
"bounceAngle.fail.noRoll" = "Tu n'as pas dit à Sphero de rouler après la collision ! Essaie d'appeler la fonction `roll`.";

/* title label for a sensor display, 'Heading' is direction, i.e/ Sphero's currenting heading is 180 degrees */
"bounceAngle.headingSensor.titleLabel" = "Direction";

/* 180 degrees, indicating direction Sphero is rolling */
"bounceAngle.headingSensor.value" = "180°";

/* bounce angle diagram, 'max input' is the maximum value the user would input for a random number generator */
"bounceAngle.maxInput.text" = "valeur max.";

/* bounce angle diagram, 'min input' is the minimum value the user would input for a random number generator */
"bounceAngle.minInput.text" = "valeur min.";

/* random number input value placeholder */
"bounceAngle.sensorView.inputText" = "valeur";

/* title label for maximum value user provides to random number function */
"bounceAngle.sensorView.maxInput.titleLabel" = "Max";

/* title label for minimum value user provides to random number function */
"bounceAngle.sensorView.minInput.titleLabel" = "Min";

/* title label, title for the total outgoing heading, where heading is direction. i.e/ 180 degrees + 32 (random number) = 112 degrees outgoing heading */
"bounceAngle.sensorView.outgoingTitle" = "Direction post-collision";

/* title label, title for the random number that was generated from the random function. */
"bounceAngle.sensorView.randomNumberTitle" = "Valeur aléatoire";

/* first part of a string splice. complete string is '180 + random (input to input), where the numbers are degrees and random (0 to 0) is a random number between 'input' and 'input' where inputs are user supplied numbers */
"bounceAngle.sensorView.randomSplice" = "+ aléatoire (de";

/* middle part of a string splice, complete string is '180 + random (input to input), where the numbers are degrees and random (0 to 0) is a random number between 'input' and 'input' where inputs are user supplied numbers */
"bounceAngle.sensorView.secondTextLabel" = "à";

/* last part of a string splice, complete string is '180 + random (input to input), where the numbers are degrees and random (input to input) is a random number between 'input' and 'input' where inputs are user supplied numbers */
"bounceAngle.sensorView.thirdTextLabel" = ")";

/* bounce angle sensor accessibility, initial state. */
"bounceAngle.sensorViews.accessibilityLabel" = "La direction post-collision sera de 180 degrés plus une valeur aléatoire comprise entre min et max.";

/* bounce angle sensor view accessibility, first %d is a randomly generated number, second %d is the final bounce angle. string reads ...plus the randomly generated 32 degrees, totalling 212 degrees. */
"bounceAngle.sensorViews.accessibilityLabelFinal" = "La direction post-collision était de 180 degrés plus les %1$d degrés générés aléatoirement, soit %2$d degrés au total.";

/* bounce angle sensor accessibility, interim state before Sphero has collided. */
"bounceAngle.sensorViews.accessibilityLabelIncomplete" = "La direction post-collision sera de 180 degrés plus une valeur aléatoire qui n'a pas encore été calculée.";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nOn to the next page' */
"bounceAngle.success.pageComplete" = "### Bravo ! \nAllons à la [page suivante](@next).";

/* collision image accessibility */
"collision.accessibilityContainer.accessibilityLabel" = "Sphero entre en collision avec un mur avec un point d'exclamation au-dessus de sa tête et des traits de vitesse derrière lui.";

/* collision fail assessment, Sphero detected a collision, but user failed to update Spheros LED color. */
"collision.fail.noLEDChange" = "Sphero a bien détecté une collision, mais tu n'as pas réglé la couleur de sa LED. Pour régler la couleur de la LED, essaie d'appeler la fonction `setMainLed(color: .red)`.";

/* collision sensor value, Impact Acceleration is how many 'g's the accelerometer measured when Sphero ran into a wall */
"collision.sensorDisplay.titleText" = "Accélération à l'impact";

/* collision impact acceleration sensor display accessibility label, %.1f g-forces is how hard the robot collided with the wall, in 'g's, ie 1.8g */
"collision.sensorView.accessbilityLabel" = "Accélération à l'impact. %.1f force g";

/* collision impact acceleration sensor display, %.1fg is how hard the robot collided with the wall, in 'g's, ie 1.8g */
"collision.sensorView.sensorValue" = "%.1f g";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Good Going! \nYour Sphero detected a collision, and you set the LED color!\n\nYou're all set for next page' */
"collision.success.pageComplete" = "### Bien joué ! \nSphero a détecté une collision et tu as réglé la couleur de sa LED !\n\nTu es prêt(e) pour le [chapitre suivant](@next).";

/* Instructions to update firmware */
"connection.firmware.instructions" = "Télécharge l'[app Sphero Edu](x-playgrounds-launch-app://com.sphero.sprk?iTunesID=1017847674) et connecte ton robot pour mettre à jour son firmware.";

/* Connection view state -- connecting */
"connection.view.connecting" = "Connexion au robot...";

/* Connection view state -- Robot cannot be used */
"connection.view.firmwareoutofdate" = "Connecter un autre robot";

/* Connection view state -- not connected */
"connection.view.noConnection" = "Connecter le robot";

/* Connection view state -- searching for robots */
"connection.view.searching" = "Recherche de robots...";

/* Connection view state -- selecting a robot */
"connection.view.selecting" = "Sélectionner un robot";

/* Name of unknown robot type */
"connection.view.unknown" = "???";

/* difficulty ramp assessment fail, `timerDuration` got too low. */
"difficultyRamp.fail.impossibleGame" = "Ton jeu est bien trop dur ! La valeur de `timerDuration` doit être supérieure à `1.0`, sinon tu n'as pas le temps d'effectuer les mouvements.";

/* difficulty ramp assessment fail, increased timer instead of decreasing it. */
"difficultyRamp.fail.increasedTimer" = "Tu as rendu le jeu plus facile ! Pour augmenter la difficulté, tu dois diminuer la valeur de `timerDuration`.";

/* difficulty ramp assessment fail, didn't increase score. */
"difficultyRamp.fail.noScoreIncrease" = "Tu as effectué le bon mouvement, mais tu n'as pas augmenté le score. Tu dois augmenter la variable `score` de 1 à chaque fois que tu réussis un mouvement.";

/* difficulty ramp assessment fail, didn't decrease `timerDuration`. */
"difficultyRamp.fail.noTimerDecrease" = "Le `score` a augmenté de 5 points, mais tu n'as pas diminué la variable `timerDuration`.";

/* difficulty ramp assessment fail, increased score by more than 1. */
"difficultyRamp.fail.tooMuchScore" = "Tu as augmenté la variable `score` de plus d'un point. Tu ne gagnes qu'un seul point quand tu réussis un mouvement.";

/* difficulty ramp assessment fail, changed timer at the wrong time */
"difficultyRamp.fail.wrongTimerDecrease" = "Tu as modifié la variable `timerDuration` mais le score n'a pas changé. Le chronomètre doit être modifié uniquement après que 5 nouveaux points sont marqués.";

/* difficulty ramp assessment fail, changed timer at the wrong increment */
"difficultyRamp.fail.wrongTimerDecreaseTwo" = "Tu as modifié la variable `timerDuration` mais le score n'a pas encore augmenté de 5. Le chronomètre doit être modifié uniquement après que 5 nouveaux points sont marqués.";

/* image accessibility, describing the image on screen. */
"difficultyRamp.imageAccessbility.label" = "Sphero est en haut d'escaliers. Il y a un escargot sur la marche la plus basse et un lièvre sur la plus haute pour représenter les niveaux de difficulté du jeu.";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nYou have now finished the last step to for Sphero Bop It. Let's play the [full game]' */
"difficultyRamp.success.pageComplete" = "### Bravo !\nTu as terminé la dernière étape de Sphero Bop It. Joue maintenant au [jeu complet](@next).";

/* instructions for firmware update */
"firmware.moreInfoLabel.text" = "Touche pour en savoir plus";

/* firmware update. toy needs an update */
"firmwareUpdate.bodyLabel.bb8Text" = "BB-8 doit être mis à jour";

/* firmware update. toy needs an update */
"firmwareUpdate.bodyLabel.bb9eText" = "BB-9E doit être mis à jour";

/* firmware update. toy needs an update */
"firmwareUpdate.bodyLabel.sprkText" = "SPRK+ doit être mis à jour";

/* firmware update. toy needs an update */
"firmwareUpdate.bodyLabel.boltText" = "BOLT doit être mis à jour";

/* firmware update. toy needs an update */
"firmwareUpdate.bodyLabel.miniText" = "Mini doit être mis à jour";

/* accessibility for BB-8 firmware update */
"firmwareUpdate.image.bb8Accessibility" = "BB-8 doit être mis à jour : une flèche est dirigée vers le coin supérieur droit de l'écran pour indiquer où appuyer.";

/* accessibility for BB-8 firmware update */
"firmwareUpdate.image.bb9eAccessibility" = "BB-9E doit être mis à jour : une flèche est dirigée vers le coin supérieur droit de l'écran pour indiquer où appuyer.";

/* accessibility for sprk+ firmware update */
"firmwareUpdate.image.sprkAccessibility" = "Sphero est triste, son antenne est de travers. Le robot doit être mis à jour. Une flèche est dirigée vers le coin supérieur droit de l'écran pour indiquer où appuyer.";

/* accessibility label for gyro sensor view, %d is how fast the robot is spinning in degrees per second,  ie 500 °/s */
"gyro.sensorView.accessibilityLabel" = "Fréquence de rotation autour de l'axe z. %d degrés par seconde";

/* the z rotation speed of the robot, %d is a number, degrees per second, ie 500 °/s */
"gyro.sensorView.value.text" = "%d °/s";

/* heading image accessibility, image is a Sphero sitting on the corner of the dashed line square */
"heading.accessibilityContainer.accessibilityLabel" = "Sphero se trouve au coin d'un carré en pointillés et des flèches dirigées dans le sens inverse des aiguilles d'une montre indiquent la direction dans laquelle il doit rouler.";

/* heading fail assessment, user didn't use 90 degree corners for their square */
"heading.fail.differentCornerAngles" = "Tous les angles d'un carré font 90 degrés. À chaque fois que tu dis à Sphero de tourner, tu dois modifier sa direction de 90 degrés.";

/* heading fail assessment, user used different delays in their roll commands for the sides of the square. need equal delays to make a square */
"heading.fail.differentDelays" = "Les temps d'attente sont différents sur certains côtés du carré. Essaie d'utiliser la même durée à chaque fois, sinon tu risques d'obtenir un rectangle !";

/* heading fail assessment, user didn't turn the robot in the same direction for each corner. must add 90 degrees for each roll function */
"heading.fail.differentDirections" = "Vérifie que le robot tourne dans la même direction à chaque fois. Essaie d'augmenter l'angle de 90 degrés à chaque fois que tu appelles `roll`.";

/* heading fail assessment, user needs to use matching speeds in their roll functions, otherwise their square will be a rectangle */
"heading.fail.differentSpeeds" = "Vérifie que tu utilises la même vitesse pour chaque côté du carré, sinon tu risques d'obtenir un rectangle !";

/* heading fail assessment, user never called the roll function to start their Sphero */
"heading.fail.noRoll" = "Essaie de dire à Sphero de rouler avec `roll(heading: 0.0, speed: 50.0)`.";

/* heading fail assessment, user didn't add a wait function after rolling. Calling stop right after roll will cause Sphero to not move at all. */
"heading.fail.noRollWait" = "Tu as dit à Sphero de s’arrêter de rouler immédiatement après avoir commencé. Tu peux définir un temps d'attente d'une seconde avec `wait(for: 1.0)`.";

/* heading fail assessment, user never told their Sphero to stop rolling after calling the roll function */
"heading.fail.noStop" = "Tu as oublié de dire à Sphero d’arrêter de rouler. Il va continuer de rouler indéfiniment. Essaie d'appeler `stopRoll` à la fin de ton code.";

/* heading fail assessment, user didn't add a wait function after stopping. Sphero takes some time to come to a complete stop. */
"heading.fail.noStopWait" = "Tu as dit à Sphero de rouler immédiatement après s’être arrêté. Pour que le carré ait des angles bien définis, essaie de le faire attendre après lui avoir dit de s’arrêter.";

/* heading fail assessment, code had no mistakes but they didn't finish all four sides of the square */
"heading.fail.notASquare" = "Ton code s'est exécuté sans problème mais tu n'as pas effectué un carré complet. Essaie d'ajouter plus de `roll`.";

/* heading fail assessment, user needs to call the `stopRoll` function between roll commands, otherwise their square will have rounded corners */
"heading.fail.roundedCorners" = "Vérifie que Sphero s’arrête entre chaque déplacement, sinon le carré n'aura pas des angles bien définis. Pour que Sphero s’arrête, appelle `stopRoll`.";

/* accessibility for heading sensor view. %.0f is the direction the robot is heading in degrees. ie 130 degrees */
"heading.headingSensor.accessibilityLabel" = "Direction. %0.f degrés";

/* value of heading sensor readout, %.0f is the robots heading in degrees, ° is the symbol for degrees. */
"heading.headingSensor.sensorValue.text" = "%.0f°";

/* heading sensor title, heading is the direction Sphero is rolling */
"heading.headingSensor.titleLabel" = "Direction";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nYour Sphero rolled in a square! \nTry the next page' */
"heading.success.pageComplete" = "### Bravo ! \nSphero a roulé en formant un carré ! \nPasse à la [page suivante](@next).";

/* accessibility for velocity sensor view. %.1f is the robots speed in centimeters per second, ie 13 cm/s */
"heading.velocitySensor.accessibilityLabel" = "Vitesse. %.1f centimètres par seconde";

/* velocity sensor title, velocity is how fast Sphero is rolling */
"heading.velocitySensor.titleLabel" = "Vitesse";

/* value of the velocity sensor readout, %.1f is the robots speed in centimeters per second, ie 13 cm/s */
"heading.velocitySesnor.sensorValue.text" = "%.1f cm/s";

/* accessibility for joysticks pitch sensor view. %.0f is the robots current pitch in degrees. ie 130 degrees */
"joystick.pitchSensor.accessibilityLabel" = "Tangage. %d degrés";

/* value of joysticks pitch sensor readout, %.0f is the robots pitch in degrees, ° is the symbol for degrees. */
"joystick.pitchSensor.sensorValue.text" = "%d°";

/* joystick pitch sensor title label */
"joystick.pitchSensor.titleLabel.text" = "Tangage";

/* accessibility for joysticks roll sensor view. %.0f is the robots current roll in degrees. ie 130 degrees */
"joystick.rollSensor.accessibilityLabel" = "Roulis. %d degrés";

/* value of joystick's roll sensor readout, %.0f is the robots pitch in degrees, ° is the symbol for degrees. */
"joystick.rollSensor.sensorValue.text" = "%d°";

/* joystick roll sensor title label */
"joystick.rollSensor.titleLabel.text" = "Roulis";

/* Description of the direction a joystick is pointed when it is pushed down. */
"joystickDirection.down" = "Bas";

/* Description of the direction a joystick is pointed when it is pushed left. */
"joystickDirection.left" = "Gauche";

/* Description of the direction a joystick is pointed when it is not pushed in any direction, i.e. 'no direction'. */
"joystickDirection.none" = "Aucune";

/* Description of the direction a joystick is pointed when it is pushed right. */
"joystickDirection.right" = "Droite";

/* Description of the direction a joystick is pointed when it is pushed up. */
"joystickDirection.up" = "Haut";

/* keeping score assessment fail. user increased points when locator hadn't increased past the defined threshold. Locator is Sphero's sensor that reports distance travelled, %d cm is distance travelled in centimeters, ie 132 cm */
"keepingScore.fail.badPointScored" = "Tu as attribué un point, mais le capteur de localisation indique que Sphero était à moins de %d cm du centre. Vérifie que la variable `locatorY` est supérieure à la distance parcourue avant d'attribuer un point au joueur actuel.";

/* keeping score assessment fail. user didn't increase points when locator increased past the defined threshold. Locator is Sphero's sensor that reports distance travelled, %d cm is distance travelled in centimeters, ie 132 cm */
"keepingScore.fail.noPointScored" = "Le capteur de localisation indique que Sphero a parcouru plus de %d cm mais tu n'as pas attribué de point au joueur actuel ! Pour augmenter son score, essaie d'appeler `player(number:scored:)`.";

/* Keeping score assessment fail. User awarded the wrong player a point. */
"keepingScore.fail.wrongPlayerPoint" = "Tu as attribué un point au mauvais joueur. Pour déterminer quel joueur devrait recevoir le point, essaie d'utiliser la variable `currentPlayer`.";

/* keeping score assessment fail, user didn't correctly update the score total. */
"keepingScore.fail.wrongScoreUpdate" = "Tu as mis le score à jour, mais il n'est pas juste. Vérifie ta logique et réessaie.";

/* keeping score page image accessibility, image is Sphero sitting on a scoreboard. Scoreboard is showing player 1 winning with 3 points and player 2 with 1 point */
"keepingScore.scoreboardImage.accessibility" = "Sphero est assis sur un tableau de score qui indique trois points pour le joueur 1 et un point pour le joueur 2.";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nOn to the next page' */
"keepingScore.success.pageComplete" = "### Bravo ! \nAllons à la [page suivante](@next).";

/* [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Wasn't that fun? Tap the \"PLAY AGAIN\" button, or move on to the next page' */
"originalPong.success.pageComplete" = "C'était sympa, non ? Touche le bouton REJOUER ou vas à la [page suivante](@next).";

/* VoiceOver accessibility hint for pong paddle. */
"OriginalPong_AccessibilityHintPaddle" = "Raquette";

/* VoiceOver message when a player scores a point in original pong */
"OriginalPong_AccessibilityScorePointMessage" = "Sphero a dépassé la raquette du joueur %1$d. Le joueur %2$d marque un point.";

/* Accessibility hint for 8-bit Sphero image in original pong. */
"OriginalPong_AccessibilitySpheroHint" = "Sphero 8-bit";

/* VoiceOver message when lightning strikes Sphero in original pong. */
"OriginalPong_LightningVoiceOverMessage" = "Sphero est frappé par la foudre, il est en feu.";

/* Button to play another game of pong after a game is played. */
"OriginalPong_PlayAgainButton" = "REJOUER";

/* Message prompting the user to run their code in order to play a game of pong. */
"OriginalPong_PlayButton" = "EXECUTE LE CODE POUR JOUER";

/* VoiceOver description of the number of points a player has in original pong. */
"OriginalPong_PlayerScoreAccessibilityHint" = "Score du joueur %d";

/* VoiceOver description of original pong game before game is started. */
"OriginalPong_PongGameAccessibilityDescription" = "Ceci est un jeu de Pong, Sphero se trouve entre deux raquettes. Pour jouer, exécute ton code.";

/* VoiceOver description of original pong game while it is active. */
"OriginalPong_PongGameActiveAccessibilityDescription" = "Sphero rebondit en faisant des allers-retours entre deux raquettes. Touche deux fois et reste appuyé(e) pour contrôler la raquette du joueur 1 en la faisant glisser de haut en bas. Si tu as du mal à voir Sphero, balaie vers le haut avec trois doigts pour activer le mode audio.";

/* Message prompting user to touch a paddle in original pong to control it. */
"OriginalPong_TouchPaddle" = "TOUCHER LA RAQUETTE POUR JOUER";

/* Message when a player wins a game of pong. \"%d\" is replaced with the winning player, 1 or 2. */
"OriginalPong_WinningMessage" = "LE JOUEUR %d\nGAGNE !";

/* Assessment hint when the user's code has an enemy move away from Sphero. %@ is replaced with the swift code for the direction which won't be translated (code isn't translated). */
"pacMan.advancedEnemyAssessment.moveAwayFromSphero" = "Ton code a défini `.%@` comme direction de l'ennemi alors que Sphero ne s'y trouve pas ! Vérifie que ton code choisit la direction correctement.";

/* Assessment hint when the user's code has an enemy move into a wall. %@ is replaced with the swift code for the direction which won't be translated (code isn't translated). */
"pacMan.advancedEnemyAssessment.moveTowardsWall" = "Ton code a défini `.%@` comme direction de l'ennemi alors qu'il y a un mur ! Vérifie que tu utilises la fonction `canMove` avant de définir la direction de l'ennemi.";

/* Assessment hint when the user's code doesn't change the enemy's direction but it should.  %1$@ is replaced with the swift code for the direction, and %2$@ and %3$@ are replaced with swift code variable names. None of these replacements are translated (code isn't translated). */
"pacMan.advancedEnemyAssessment.noChange" = "Ton code n'a pas modifié la direction de l'ennemi alors qu'il aurait dû définir `%1$@` comme direction car c'est vers là que se trouve Sphero. Vérifie que ton code compare `%2$@` avec `%3$@` et définit la direction de l'ennemi en conséquence.";

/* advanced enemy assessment success message, ## is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nYou've coded an advanced enemy! \nOn to the [next page]  ' */
"pacMan.advancedEnemyAssessment.pass" = "### Bravo ! \nTu as codé un ennemi avancé ! \nAllons à la [page suivante](@next).";

/* `enemyDirection`, `turnLeft`, `turnRight` and `turnAround` are swift code and should not be translated. */
"pacMan.advancedEnemyAssessment.turnInsteadOfSetDirection" = "Sur cette page, ton code doit définir la direction de l'ennemi à l'aide de la variable `enemyDirection` au lieu des fonctions `turnLeft`, `turnRight` et `turnAround` que tu as utilisées à la page précédente.";

/* Basic Enemies assessment hint when the user's code for the first enemy does anything other than turn right. */
"pacMan.basicEnemiesAssessment.firstEnemy.wrongDirection" = "Le premier ennemi doit toujours tourner à droite. Essaie d'appeler `turnRight` dans le code du premier ennemi.";

/* basic enemies assessment success message, ## is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nYou've coded some simple enemies!  \nOn to the [next page]' */
"pacMan.basicEnemiesAssessment.pass" = "### Bravo ! \nTu as codé des ennemis simples. \nAllons à la [page suivante](@next).";

/* Basic Enemies assessment hint when the second enemy only turns in one direction. %@ is replaced with a direction, either Left or Right. */
"pacMan.basicEnemiesAssessment.secondEnemy.onlyOneDirection" = "Le deuxième ennemi ne tourne qu'à %@ ! Il devrait choisir de tourner à gauche ou à droite de manière aléatoire.";

/* Basic Enemies assessment hint when the second enemy mostly turns in one direction. %@ is replaced with a direction, either Left or Right. */
"pacMan.basicEnemiesAssessment.secondEnemy.preferredDirection" = "Le deuxième ennemi tourne surtout à %@ ! Il devrait tourner à droite ou à gauche avec une probabilité égale. Essaie d'utiliser le résultat de `randomNumber(min: 0, max: 1)` pour choisir la direction où tourner.";

/* Basic Enemies assessment hint when the user's code for the second enemy does anything other than turn right or left. */
"pacMan.basicEnemiesAssessment.secondEnemy.wrongDirection" = "Le deuxième ennemi devrait toujours tourner à gauche ou à droite. Vérifie que ton code appelle l'un ou l'autre quelle que soit la situation.";

/* VoiceOver Description of pac-man sphero rolling at an increasing speed and jumping over part of the level */
"pacman.boostAccessibilityDescription" = "Sphero accélère et saute de l'autre côté du niveau.";

/* game over text label */
"pacman.gameOver.text" = "GAME OVER";

/* VoiceOver description of second part of pac man losing animation. */
"pacman.laughingEnemyDescription" = "Un ennemi apparaît à l'écran et se moque de toi.";

/* VoiceOver description of pac man losing animation. */
"pacman.loseAnimationDescription" = "Sphero fait des allers-retours sur l'écran en étant poursuivi par des ennemis.";

/* pacman score label, %d is a number, SCORE: 243 */
"pacman.scoreLabel.text" = "SCORE : %d";

/* VoiceOver description of pac man winning animation. */
"pacman.winAnimationDescription" = "Sphero saute de la droite de l'écran. Un trophée vole depuis la gauche de l'écran. Sphero atterrit dans le trophée en vol qui se pose au sol avec Sphero dedans.";

/* winning label for pac man game */
"pacman.winningLabel.text" = "GAGNÉ !";

/* First assessment hint on final page when the user loses in the first level. */
"pacManFullGameAssessment.fail.firstHint" = "Perdu ! Exécute ton code pour réessayer. Essaie de dépasser le premier niveau !";

/* Second assessment hint on final page when the user loses in the first level. */
"pacManFullGameAssessment.fail.secondHint" = "Si tu trouves le jeu trop difficile, tu peux modifier le code pour que les ennemis soient plus faciles.";

/* Success message on final page when the user wins the game. %d is replaced with a number and shouldn't be localized. (@next) is a link and shouldn't be localized, but [next page] *should* be localized. */
"pacManFullGameAssessment.firstLevelWin" = "Bravo, tu as atteint le niveau %d ! Exécute ton code pour réessayer ou vas à la [page suivante](@next).";

/* Assessment hint on pac man power-up page when the enemy touches sphero before all dots are collected. */
"pacManPowerUpAssessment.caughtByEnemy" = "L'ennemi a attrapé Sphero ! Essaie de ramasser toutes les pac-gommes et super pac-gommes avant que l'ennemi n'attrape Sphero.";

/* `disablePowerup` and `enablePowerup` are swift code and shouldn't be translated. */
"pacManPowerUpAssessment.disabledBeforeEnable" = "Ton code a appelé `disablePowerup` avant d'appeler `enablePowerup`. `disablePowerup` doit être appelé seulement `10` secondes après qu'une super pac-gomme est activée.";

/* Assessment hint on pac man power-up page when `disablePowerup` is called twice. */
"pacManPowerUpAssessment.doubleDisable" = "Ton code a appelé `disablePowerup` deux fois ! `disablePowerup` ne doit être appelé qu'une seule fois.";

/* Assessment hint on pac man power-up page when enablePowerup() is called twice. */
"pacManPowerUpAssessment.doubleEnable" = "Ton code a appelé `enablePowerup` deux fois ! `enablePowerup` ne doit être appelé qu'une seule fois.";

/* Hint on pac man power-up page when Sphero collects a power-up but the powerupEnabled function isn't called immediately. */
"pacManPowerUpAssessment.enabledTooLate" = "Sphero a ramassé une super pac-gomme mais elle n'a pas été activée immédiatement ! Vérifie que tu appelles la fonction `enablePowerup` dès que Sphero ramasse une super pac-gomme.";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nYou beat the game! \nWhen you're done playing, proceed to the [next page]' */
"pacManPowerUpAssessment.fullGameWin" = "### Bravo ! \nTu as battu le jeu ! \nQuand tu as fini de jouer, vas à la [page suivante](@next).";

/* Assessment hint when the user's code changes the score after waiting. */
"pacManPowerUpAssessment.lateScore" = "Tu as augmenté le score du bon nombre de points mais il a été modifié après avoir attendu. Une super pac-gomme augmente le score de `10` points quand elle est ramassée et le score ne devrait pas changer ensuite.";

/* Assessment hint on pac man power-up page when the user fails to call the `disablePowerup` function. */
"pacManPowerUpAssessment.noPowerupDisable" = "Ton code a appelé `enablePowerup` mais n'a jamais appelé `disablePowerup` ! Ton code doit toujours appeler `disablePowerup` 10 secondes après avoir appelé `enablePowerup`.";

/* Hint on pac man power-up page when Sphero collects a power-up but the score isn't increased. */
"pacManPowerUpAssessment.noScoreChange" = "Sphero a ramassé une super pac-gomme mais le score n'a pas été immédiatement modifié ! Vérifie que tu augmentes le score de 10 dès que Sphero ramasse une super pac-gomme.";

/* Assessment hint on pac man power-up page when the user's code doesn't wait between enabling and disabling a power-up. */
"pacManPowerUpAssessment.noWait" = "Ton code a appelé `disablePowerup` immédiatement après avoir appelé `enablePowerup`. La super pac-gomme n'aura aucun effet si elle immédiatement désactivée ! Essaie d'appeler `wait(for: 10)` avant d'appeler `disablePowerup`.";

/* ## is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nYou collected the power-ups and defeated the enemy!! \nOn to the [next page]' */
"pacManPowerUpAssessment.pass" = "### Bravo ! \nTu as ramassé les super pac-gommes et battu les ennemis ! \nAllons à la [page suivante](@next).";

/* Assessment hint on pac man powerup page when the user's code takes too long to complete. */
"pacManPowerUpAssessment.userCodeNotFinished" = "Ton code n'a pas fini de s'exécuter après 10 secondes ! Vérifie que le temps d'attente est égale à 10 secondes en tout.";

/* Assessment hint on pac man power-up page when the wrong number of points are awarded for collecting a power-up. */
"pacManPowerUpAssessment.wrongValue" = "Tu as augmenté le score, mais de la mauvaise valeur ! Tu dois gagner `10` points dès que Sphero ramasse une super pac-gomme.";

/* Assessment hint on pac man power-up page when the user's code waits for the wrong amount of time between enabling and disabling a power-up. */
"pacManPowerUpAssessment.wrongWait" = "Le temps d'attente entre le moment où le code appelle `enablePowerup` puis `disablePowerup` n'était pas égal à 10 secondes ! Vérifie que tu attends exactement 10 secondes.";

/* Assessment hint on pac man scoring page when the enemy touches sphero before all dots are collected. */
"pacManScoringAssessment.caughtByEnemy" = "L'ennemi a attrapé Sphero ! Essaie de ramasser toutes les pac-gommes avant que l'ennemi ne t'attrape.";

/* Assessment hint on pac man scoring page when the user calls the winTheGame() function before the game is over. */
"pacManScoringAssessment.earlyWin" = "Sphero n'a pas ramassé toutes les pac-gommes, mais le code a quand même appelé la fonction `winTheGame` ! Vérifie que tu n'appelles pas `winTheGame` avant que la variable `remainingDotCount` n'atteigne zéro.";

/* Assessment hint on pac man scoring page when Sphero collects a dot but the remainingDotCount variable isn't decremented. */
"pacManScoringAssessment.noDotCountChange" = "Sphero a ramassé une pac-gomme mais la variable `remainingDotCount` n'a pas changé. Vérifie que tu diminues la variable `remainingDotCount` de un chaque fois que Sphero ramasse une pac-gomme.";

/* Hint on pac man scoring page when Sphero collects a dot but the score isn't incremented. */
"pacManScoringAssessment.noScoreChange" = "Sphero a ramassé une pac-gomme mais le score n'a pas changé ! Vérifie que tu augmentes le score de un lorsque Sphero ramasse une pac-gomme.";

/* Assessment hint on pac man scoring page when the game is completed but the user doesn't call the winTheGame() function. */
"pacManScoringAssessment.noWin" = "Sphero a ramassé toutes les pac-gommes, mais tu n'as pas appelé la fonction `winTheGame` ! Vérifie que tu appelles `winTheGame` une fois que la variable `remainingDotCount` atteint zéro.";

/* ## is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nYou collected all the dots and won the game! \nOn to the next page' */
"pacManScoringAssessment.pass" = "### Bravo ! \nTu as ramassé toutes les pac-gommes et remporté la partie ! \nAllons à la [page suivante](@next).";

/* Assessment hint on pac man scoring page when the remainingDotCount variable is changed by the wrong amount. */
"pacManScoringAssessment.remainingCount.wrongValue" = "Tu as modifié la variable `remainingDotCount`, mais de la mauvaise valeur ! Vérifie que tu diminues la variable de un lorsque Sphero ramasse une pac-gomme.";

/* Assessment hint on pac man scoring page when the wrong number of points are awarded for collecting a dot. */
"pacManScoringAssessment.wrongValue" = "Tu as augmenté le score, mais de la mauvaise valeur ! Tu ne dois gagner qu'un seul point pour chaque pac-gomme ramassée.";

/* localize 'You've completed Sphero Pong!' */
"playBopIt.success.pageComplete" = "Tu as terminé Sphero Bop It !";

/* localize 'You've completed Sphero Pong!' */
"playSpheroPong.success.pageComplete" = "Tu as terminé Sphero Pong !";

/* power up image accessibility. */
"powerup.imageAccessibility.powerUpImage" = "Sphero roule vers la droite en passant sur des pac-gommes pour ramasser une super pac-gomme en forme d'éclair. Il y a des cercles derrière lui qui montrent qu'il se déplace.";

/* random game assessment failure, never called `randomNumber` function. */
"randomGame.fail.gameOver" = "Tu dois réussir trois mouvements. Réessaie !";

/* random game assessment failure, never called `randomNumber` function. */
"randomGame.fail.noRandomFunction" = "Tu n'as pas appelé la fonction `randomNumber`. Essaie d'utiliser cette fonction pour générer un mouvement aléatoire !";

/* random game assessment failure, user's `pickNextGesture` function was not random enough. %@ is a gesture name. ie: 'toss' */
"randomGame.fail.notRandom" = "Ta fonction `pickNextGesture` n'était pas très aléatoire. Le mouvement %@ n'a pas été assez utilisé ! Vérifie que tu utilises bien tous les `availableGestures`.";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], Congratulations\nGreat job on randomizing the gestures. On to the [next page]' */
"randomGame.success.pageComplete" = "### Bravo ! \nLes mouvements ont bien été rendus aléatoires. Allons à la [page suivante](@next).";

/* randomize game page accessibility, string describes an image on screen. */
"randomizeGame.machine.accessibility" = "Une machine est remplie de différents mouvements et en sort un de manière aléatoire.";

/* real world setup accessibility, describes a dashed path going from a pair of shoes to another pair of shoes, indicating a path the Sphero will roll. */
"realWorld.accessibilityContainer.accessibilityLabel" = "Sphero roule des chaussures du joueur 1 vers les chaussures du joueur 2 en laissant une trace derrière lui.";

/* real world setup image accessibility, image is a piece of tape used to mark where player 1 should stand. */
"realWorld.bottomRuler.accessibility" = "Un morceau de ruban adhésif Sphero indique la limite inférieure du Sphero Pong.";

/* real world setup image accessibility, image is a pair of blue shoes. */
"realWorld.bottomShoes.accessibility" = "Les chaussures bleues du joueur 2 sont derrière le morceau de ruban adhésif du bas.";

/* real world page assessment failure, user tried to set the `distanceApart` variable to something more than 250 cm */
"realWorld.fail.boardTooBig" = "La zone de jeu est trop grande ! La valeur de `distanceApart` ne peut pas être supérieure à 250 cm.";

/* real world page assessment failure, user tried to set the `distanceApart` variable to something less than 150 cm */
"realWorld.fail.boardTooSmall" = "La zone de jeu est trop petite ! La valeur de `distanceApart` ne peut pas être inférieure à 150 cm.";

/* real world page assessment fail, user didn't reach the target distance. first %.1f is the target distance in cm the second %.1f is how far the robot rolled in cm. */
"realWorld.fail.distanceFail" = "Tu voulais parcourir %1$.1f cm mais Sphero a roulé sur %2$.1f cm. Essaie d'ajuster la vitesse ou le délai de `roll` pour te rapprocher de ton objectif.";

/* assessment failure, Sphero was never told to start rolling.  */
"realWorld.fail.noRoll" = "Tu n'as pas dit à Sphero de rouler. Essaie d'appeler la fonction `roll`.";

/* assessment failure, Sphero was never told to stop rolling. */
"realWorld.fail.noStop" = "Tu n'as pas dit à Sphero de s’arrêter. Essaie d'appeler la fonction `stopRoll`.";

/* assessment failure, user told Sphero to roll too slowly, 50 is the minimum speed */
"realWorld.fail.tooSlow" = "Sphero doit se déplacer plus vite pour jouer au Pong ! Essaie d'utiliser une vitesse d'au moins 50.0 dans la fonction `roll`.";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Nice work! Your game area is set up. You can adjust the size of your game area or continue on to the next page.' */
"realWorld.success.pageComplete" = "### Beau travail ! \nLa zone de jeu est prête. Tu peux ajuster la taille de la zone de jeu ou poursuivre en allant à la [page suivante](@next).";

/* real world setup image accessibility, image is a piece of tape used to mark where player 2 should stand. */
"realWorld.topRuler.accessibility" = "Un morceau de ruban adhésif Sphero indique la limite supérieure du Sphero Pong.";

/* real world setup image accessibility, image is a pair of red shoes. */
"realWorld.topShoes.accessibility" = "Les chaussures rouges du joueur 2 sont derrière le morceau de ruban adhésif du haut.";

/* real world page accessibility for sensor view. %.1f is how far Sphero has travelled this run of the program in centimeters, example string: 153.5 cm */
"realWorldSetup.sensorView.accessibility" = "Distance parcourue. %.1f centimètres";

/* how far Sphero has travelled this run of the program in centimeters, example string: 153.5 cm */
"realWorldSetup.sensorView.sensorValue" = "%.1f cm";

/* real world setup, sensor view header label, tracks sphero's distance */
"realWorldSetup.sensorView.titleLabel.text" = "Distance parcourue";

/* roll page image accessbility, image is of rolling to the right */
"roll.accessibilityContainer.MovingAccessibility" = "Sphero roule vers la droite en laissant une traînée de cercles indiquant qu'il se déplace.";

/* roll page image accessbility, image is of Sphero sitting in the middle of the screen */
"roll.accessibilityContainer.NoSpeedAccessibility" = "Sphero est à l’arrêt.";

/* zero delay fail assessment */
"roll.fail.zeroDelay" = "Sphero n'a pas attendu ! Essaie d'utiliser un délai plus long dans la fonction `wait`.";

/* zero speed fail assessment */
"roll.fail.zeroSpeed" = "Sphero n'a pas bougé ! Essaie d'utiliser une vitesse plus rapide dans la fonction `roll`.";

/* roll velocity sensor accesibility, %.0f is how fast the robot is travelling in centimeters per second, i.e. 13 cm/s */
"roll.sensorView.accesibilityText." = "Vitesse. %.0f centimètres par seconde";

/* roll velocity sensor display, %.0f is how fast the robot is travelling in centimeters per second, i.e. 13 cm/s */
"roll.sensorView.sensorValue" = "%.0f cm/s";

/* sensor view title label, title for how fast Sphero is travelling */
"roll.sensorView.title" = "Vitesse";

/* second roll success message, change wait function delay and run again */
"roll.success.changeDelay" = "Bravo, tu as modifié la vitesse ! Essaie maintenant de modifier le délai, égal à `3.0` pour le moment, et de ré-exécuter le programme.";

/* first roll success message, increase robot speed and run program again */
"roll.success.changeSpeed" = "Super, tu as exécuté ton code ! Essaie maintenant de modifier la vitesse, égale à `50.0` pour le moment, et de ré-exécuter le programme.";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nOn to the next page' */
"roll.success.pageComplete" = "### Bravo ! \nAllons à la [page suivante](@next).";

/* image accessibility text. Image is of Sphero rolling to the right collection dots. */
"scoring.imageAccessibility.scoringImage" = "Sphero roule vers la droite et mange des pac-gommes pour gagner des points. Il y a des cercles derrière lui qui montrent qu'il se déplace.";

/* shake assessment failure, user didn't increment their `tapCount` variable when a collision occured. */
"shake.fail.noTapIncrease" = "Sphero a détecté une collision, mais tu n'as pas augmenté `collisionCount`. Essaie d'augmenter `collisionCount` dans la fonction `onCollision`.";

/* shake assessment failure, user didn't reset `tapCount` after the timer went off. */
"shake.fail.noTapReset" = "Il s'est écoulé %d secondes entre les collisions. La variable `collisionCount` aurait dû être réinitialisée à 1.";

/* shake assessment failure, user did not update their `lastTapTimeStamp` variable */
"shake.fail.noTimeUpdate" = "Tu n'as pas mis à jour la variable `lastCollisionTimeStamp` après que Sphero a détecté une collision. Essaie de mettre à jour `lastCollisionTimeStamp` à l'aide de `data.timestamp`.";

/* shake assessment failure, call `gestureComplete` function.. */
"shake.fail.noWin" = "La variable `collisionCount` a atteint 3 mais tu n'as pas appelé la fonction `gestureComplete`.";

/* shake assessment failure, user called `gestureComplete` too early. */
"shake.fail.wrongCount" = "Tu as appelé `gestureComplete` alors que `collisionCount` n'avait pas atteint 3.";

/* shake assessment failure, user called the `gestureComplete` function with the wrong parameter. */
"shake.fail.wrongGesture" = "Tu as appelé la fonction `gestureComplete` alors que tu n'as pas terminé le mouvement Secoue.";

/* shake gesture title */
"shake.gesture.title" = "Secoue";

/* shake impact acceleration sensor display, %.1fg is how hard the collision was, in 'g's, ie 1.8 g */
"shake.sensorView.sensorValue" = "%.1f g";

/* title for impact acceleration sensor view */
"shake.sensorView.titleLabel.text" = "Accélération à l'impact";

/* accessibility for the shake detection view, first %d is number of shakes detected out of second %d total shakes required, ie 2 of 3 shakes detected. 3rd %.1f is the g-force of the current shake. ie 1.2 gs */
"shake.shakeCounter.accessibilityLabel" = "Détection du mouvement Secoue : %1$d secousse(s) sur %2$d détectée(s). Accélération à l'impact : %3$.1f force g.";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Nice work! \nYou've built the four gestures for the game! On to the next page' */
"shake.success.pageComplete" = "### Beau travail ! \nTu as construit les quatre mouvements du jeu ! Allons à la [page suivante](@next).";

/* First hint given to the user on the joystick page when their code shouldn't detect joystick movement but it does. %@ is replaced with the joystick direction the user's code outputted. ie 'both small but your code returned `.left` */
"simpleControls.assessment.falsePositive.first" = "Les variables `roll` et `pitch` étaient toutes les deux petites mais ton code a renvoyé `%@`.";

/* Second hint given to the user on the joystick page when their code shouldn't detect joystick movement but it does. */
"simpleControls.assessment.falsePositive.second" = "Vérifie que ton code renvoie `.none` quand `roll` et `pitch` se trouvent tous les deux entre `-angleThreshold` et `angleThreshold`.";

/* ### is bold indicator.Success message for joystick page. Translate: 'Great!\n Your code detected each direction correctly. Try the [next page] */
"simpleControls.assessment.pass" = "### Super !\nTon code a détecté toutes les directions correctement. Tu peux aller à la [page suivante](@next).";

/* First hint given to the user on the joystick page when their code detects a joystick movement in the wrong direction. %1$@ (roll/pitch) and %2$d (26 degrees) are replaced with a variable name and its value (the variable is what determines the direction of the joystick movement), and %3$@ (.left) and %4$@ (.right) are replaced with the result of the user's code and the expected result respectively. Example output: The `roll` variable was `27` but your code returned `.left` instead of `.right`! */
"simpleControls.assessment.wrongDirection.first" = "La variable `%1$@` était égale à `%2$d`, mais ton code a renvoyé `%3$@` au lieu de `%4$@` !";

/* Second hint given to the user on the joystick page when their code detects a joystick movement in the wrong direction.  This explains how to fix the code. %1$@ is replaced with the variable used to determine the joystick direction. %2$@ is the correct direction. example outout: Make sure your code checks if the `pitch` variable is smaller than `angleThreshold` and returns `.up`. */
"simpleControls.assessment.wrongDirection.second.negative" = "Assure-toi que ton code vérifie que la variable `%1$@` est inférieure à `-angleThreshold` et renvoie `%2$@`.";

/* Second hint given to the user on the joystick page when their code detects a joystick movement in the wrong direction.  This explains how to fix the code. %1$@ is replaced with the variable used to determine the joystick direction. .%2$@ is the correct direction. example outout: Make sure your code checks if the `roll` variable is greater than `angleThreshold` and returns `.left`. */
"simpleControls.assessment.wrongDirection.second.positive" = "Assure-toi que ton code vérifie que la variable `%1$@` est supérieure à `angleThreshold` et renvoie `%2$@`.";

/* color for highlighting a directional arrow */
"simpleControls.correctDirectionColor" = "vert";

/* keypad accessibility, image of 4 arrow directions on laid out like a keyboard. */
"simpleControls.keypad.accessibility" = "Pavé directionnel. Aucune direction n'est mise en valeur.";

/* keypad accessibility, image of 4 arrow directions on laid out like a keyboard. The %1$@ is a one of the directional arrows and %2$@ is a color ie: Keypad. Up highlighted green. */
"simpleControls.keypad.directionAccessibility" = "Pavé directionnel. La flèche %1$@ est mise en valeur en %2$@.";

/* color for highlighting a directional arrow */
"simpleControls.wrongDirectionColor" = "rouge";

/* sphero changed directions to be travelling down */
"spheroPacMan.accessibility.movedDown" = "Sphero se déplace maintenant vers le bas.";

/* sphero changed directions to be travelling left */
"spheroPacMan.accessibility.movedLeft" = "Sphero se déplace maintenant vers la gauche.";

/* sphero changed directions to be travelling right */
"spheroPacMan.accessibility.movedRight" = "Sphero se déplace maintenant vers la droite.";

/* sphero changed directions to be travelling up */
"spheroPacMan.accessibility.movedUp" = "Sphero se déplace maintenant vers le haut.";

/* directions sphero can move accessibility string. %@ is a joined string ie: 'Can Move: Up, Right' */
"spheroPacMan.accessibility.movement" = "Déplacement possible : %@";

/* accessibility for the sphero pac man board. */
"spheroPacMan.gameboard.accessibility" = "Le plateau de jeu de Sphero Pac-Man. Sphero doit se déplacer pour ramasser les pac-gommes tout en évitant les ennemis.";

/* accessibility label for number of lives remaining */
"spheroPacMan.livesView.accessibilityText" = "%d vies restantes";

/* score label text, %d is their score. ie, Score: 23 */
"spheroPacMan.scoreLabel.text" = "Score : %d";

/* VoiceOver message for restarting volley in Sphero pong. %d is replaced with 1 or 2. */
"SpheroPong_AccessibilityRestartVolleyMessage" = "Place Sphero devant le joueur %1$d et oriente-le vers le joueur %2$d.";

/* VoiceOver message when Sphero rolls towards a player in Sphero pong. */
"SpheroPong_AccessibilityRollMessage" = "Sphero roule vers le joueur %d.";

/* VoiceOver message when a player scores a point in Sphero Pong. */
"SpheroPong_AccessibilityScorePointMessage" = "Le joueur %1$d a marqué. Sphero apparaît du haut de l'écran, rebondit contre le sol et touche le score du joueur %1$d, qui passe de %3$d à %2$d.";

/* VoiceOver message when a player wins a game of Sphero pong. %d is replaced with 1 or 2 depending on who won. */
"SpheroPong_AccessibilityWinMessage" = "Le joueur %d gagne.";

/* Label under players' scores in Sphero pong. %d is replaced with 1 or 2. */
"SpheroPong_PlayerLabel" = "JOUEUR %d";

/* VoiceOver message for restarting volley in Sphero pong. %d is replaced with 1 or 2. */
"SpheroPong_ResetMessage" = "Place Sphero devant le joueur %1$d\net oriente-le vers le joueur %2$d.";

/* Title of message prompting user to place Sphero in the middle of the playfield */
"SpheroPong_ResetMessageTitle" = "ON REPREND !";

/* Scoring message for Sphero pong. %d is replaced with 1 or 2. */
"SpheroPong_ScoringMessage" = "LE JOUEUR %d\nMARQUE !";

/* VoiceOver description of sound mode in original pong. Sound mode is an accessibility feature which plays sounds to tell the user where the ball is relative to the paddle. */
"SpheroPong_SoundModeAccessibilityExplanation" = "Une pulsation est jouée quand Sphero roule vers ta raquette. Un son aigu signifie que Sphero est au-dessus de ta raquette. Un son grave signifie que Sphero est au-dessous de ta raquette. Plus le son de la pulsation est fort et rapide, plus Sphero est loin de ta raquette.";

/* VoiceOver message when sound mode is turned off in original pong. Sound mode is an accessibility feature which plays sounds to tell the user where the ball is relative to the paddle. */
"SpheroPong_SoundModeOffAccessibilityMessage" = "Mode audio désactivé";

/* VoiceOver message when sound mode is turned on in original pong. Sound mode is an accessibility feature which plays sounds to tell the user where the ball is relative to the paddle. */
"SpheroPong_SoundModeOnAccessibilityMessage" = "Mode audio activé";

/* VoiceOver description of a stopwatch that counts down in between rounds of SpheroPong */
"SpheroPong_TimerAccessibilityDescription" = "Un chronomètre fait le compte à rebours.";

/* VoiceOver description of the winning image in sphero pong */
"SpheroPong_TrophyImageDescription" = "Sphero est content, il est dans un trophée et des étoiles jaillissent de derrière lui.";

/* Label in between the 2 players' labels (PLAYER 1 and PLAYER 2) in Sphero pong */
"SpheroPong_VS" = "CONTRE";

/* Message when a player wins Sphero pong. %d is replaced with 1 or 2. */
"SpheroPong_WinningMessage" = "LE JOUEUR %d GAGNE !";

/* VoiceOver description of Sphero pong game in action. */
"SpheroPongScene_RollingPlayAreaDescription" = "Sphero se déplace rapidement, des lignes de vitesse traversent l'écran derrière lui.";

/* VoiceOver description of Sphero pong game. */
"SpheroPongScene_StoppedPlayAreaDescription" = "Sphero avec des lignes qui traversent l'écran derrière lui.";

/* VoiceOver description of Sphero simulator. */
"SpheroSimulator_AccessibilityDescription" = "Une simulation de Sphero qui se déplace en fonction de ce que tu lui ordonnes.";

/* Accessibility hint for Sphero image in Sphero simulator. */
"SpheroSimulator_AccessibilitySpheroHint" = "Sphero";

/* VoiceOver description for Sphero heading Backward */
"SpheroSimulator_AngleDescription_Backward" = "en arrière";

/* VoiceOver description for Sphero heading Backward Left */
"SpheroSimulator_AngleDescription_BackwardLeft" = "en arrière vers la gauche";

/* VoiceOver description for Sphero heading Backward Right */
"SpheroSimulator_AngleDescription_BackwardRight" = "en arrière vers la droite";

/* VoiceOver description for Sphero heading Forward */
"SpheroSimulator_AngleDescription_Forward" = "en avant";

/* VoiceOver description for Sphero heading Forward Left */
"SpheroSimulator_AngleDescription_ForwardLeft" = "en avant vers la gauche";

/* VoiceOver description for Sphero heading Forward Right */
"SpheroSimulator_AngleDescription_ForwardRight" = "en avant vers la droite";

/* VoiceOver description for Sphero heading Left */
"SpheroSimulator_AngleDescription_Left" = "vers la gauche";

/* VoiceOver description for Sphero heading Right */
"SpheroSimulator_AngleDescription_Right" = "vers la droite";

/* VoiceOver description of Sphero detecting a collision. */
"SpheroSimulator_CollisionMessage" = "Sphero a détecté une collision.";

/* VoiceOver description for Sphero rolling */
"SpheroSimulator_RollActionDescription" = "roule";

/* VoiceOver description for Sphero rolling quickly */
"SpheroSimulator_RollQuicklyActionDescription" = "roule rapidement";

/* VoiceOver description for Sphero rolling slowly */
"SpheroSimulator_RollSlowlyActionDescription" = "roule doucement";

/* VoiceOver description for Sphero action. %1$@ is replaced with an action and %2$@ is replaced with a direction (e.g. Sphero rolls quickly heading forward-left) */
"SpheroSimulator_SpheroActionMessage" = "Sphero %1$@ %2$@.";

/* VoiceOver description for Sphero stopping */
"SpheroSimulator_StopActionDescription" = "Sphero s’arrête.";

/* spin assessment failure, user never completed the spin gesture. */
"spin.fail.noGestureComplete" = "Sphero tournait plus rapidement que le seuil, mais tu n'as pas appelé la fonction `gestureComplete`.";

/* spin assessment failure, user called the `gestureComplete` function but Sphero wasn't spinning fast enough. */
"spin.fail.wrongComplete" = "Tu as appelé la fonction `gestureComplete` alors que Sphero ne tournait pas plus vite que `spinThreshold`.";

/* tap assessment failure, user called the `gestureComplete` function with the wrong parameter. */
"spin.fail.wrongGesture" = "Tu as appelé la fonction `gestureComplete` alors que tu n'as pas réussi le mouvement Tourne.";

/* spin gesture title */
"spin.gesture.title" = "Tourne";

/* title for gyro sensor view, how fast Sphero is spinning around z axis */
"spin.sensorView.titleLabel.text" = "Fréquence de rotation (axe z)";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nOn to the [next page]' */
"spin.success.pageComplete" = "### Bravo ! \nAllons à la [page suivante](@next).";

/* tap assessment failure, user never completed the tap gesture. */
"tap.fail.noGestureComplete" = "Sphero a détecté une collision mais n'a pas identifié le mouvement. Essaie d'appeler la fonction `gestureComplete`.";

/* tap assessment failure, user called the `gestureComplete` function with the wrong parameter. */
"tap.fail.wrongGesture" = "Tu as appelé la fonction `gestureComplete` alors que tu n'as pas terminé le mouvement Tape.";

/* tap gesture title */
"tap.gesture.title" = "Tape";

/* accessibility label for impact acceleration sensor view, %.1f is how hard the robot collided with an object in gs. ie 1.2g */
"tap.sensorView.accessibilityLabel" = "Accélération à l'impact. %.1f force g";

/* tap impact acceleration sensor display, %.1fg is how hard the robot collided with the wall, in 'g's, ie 1.8g */
"tap.sensorView.sensorValue" = "%.1f g";

/* title for impact acceleration sensor view */
"tap.sensorView.titleLabel.text" = "Accélération à l'impact";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Nice work! \nYou recognized your first gesture! On to the [next page]' */
"tap.success.pageComplete" = "### Beau travail ! \nTu as identifié ton premier mouvement ! Allons à la [page suivante](@next).";

/* accessibility for accelerometer sensor view. %.0f is the acceleration the robot in g's. ie 1.4 g's */
"template.accelSensor.accessibilityLabel" = "Accéléromètre. %.1f force g";

/* value of accelerometer sensor readout, %.1f is the robots acceleration in g's. ie 1.4 g's */
"template.accelSensor.sensorValue.text" = "%.1f g";

/* accelerometer sensor title, accelerometer is how fast Sphero is accelerating */
"template.accelSensor.titleLabel" = "Accéléromètre";

/* accessibility for gyro sensor view. %.0f is the robots rate of rotation in degrees per second, ie 500 °/s */
"template.gyroSensor.accessibilityLabel" = "Gyroscope. %0.f degrés par seconde";

/* value of the gyro sensor readout, %.0f is the robots rate of rotation in degrees per second, ie 500 °/s */
"template.gyroSensor.sensorValue.text" = "%.0f °/s";

/* gyro sensor title, gyroscope is have fast Sphero is spinning */
"template.gyroSensor.titleLabel" = "Gyroscope";

/* accessibility for heading sensor view. %.0f is the direction the robot is heading in degrees. ie 130 degrees */
"template.headingSensor.accessibilityLabel" = "Direction. %0.f degrés";

/* value of heading sensor readout, %.0f is the robots heading in degrees, ° is the symbol for degrees. */
"template.headingSensor.sensorValue.text" = "%.0f°";

/* heading sensor title, heading is the direction Sphero is rolling */
"template.headingSensor.titleLabel" = "Direction";

/* accessibility for velocity sensor view. %.1f is the robots speed in centimeters per second, ie 13 cm/s */
"template.velocitySensor.accessibilityLabel" = "Vitesse. %.1f centimètres par seconde";

/* velocity sensor title, velocity is how fast Sphero is rolling */
"template.velocitySensor.titleLabel" = "Vitesse";

/* value of the velocity sensor readout, %.1f is the robots speed in centimeters per second, ie 13 cm/s */
"template.velocitySesnor.sensorValue.text" = "%.1f cm/s";

/* toss assessment failure, user never completed the toss gesture. */
"toss.fail.noGestureComplete" = "L'accélération verticale de Sphero a presque atteint 0, mais tu n'as pas terminé le mouvement.";

/* toss assessment failure, user called the `gestureComplete` function but Sphero wasn't tossed. */
"toss.fail.wrongComplete" = "Tu as appelé la fonction `gestureComplete` alors que la valeur de `verticalAcceleration` n'a pas atteint une valeur inférieure à 0.1 g.";

/* toss assessment failure, user called the `gestureComplete` function with the wrong parameter. */
"toss.fail.wrongGesture" = "Tu as appelé la fonction `gestureComplete` alors que tu n'as pas terminé le geste Lance.";

/* toss gesture title */
"toss.gesture.title" = "Lance";

/* accessibility label for z-acceleration sensor view, %.1f is the vertical acceleration of sphero,  ie 1.2g */
"toss.sensorView.accessibilityLabel" = "Accélération sur l'axe z. %.1f force g";

/* title for z-acceleration sensor view, the vertical (z-axis) acceleration of sphero */
"toss.sensorView.titleLabel.text" = "accélération sur l'axe z";

/* the z acceleration of the robot in g-forces, ie 1.2 g */
"toss.sensorView.value.text" = "%.1f g";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nOn to the [next page]' */
"toss.success.pageComplete" = "### Bravo ! \nAllons à la [page suivante](@next).";

/* BB-8 robot */
"toy.name.bb8" = "BB-8";

/* Generic Sphero robot */
"toy.name.sphero" = "Sphero";

/* SPRK+ robot */
"toy.name.sprk" = "SPRK+";

/* BOLT robot */
"toy.name.bolt" = "BOLT";

/* Mini robot */
"toy.name.mini" = "Mini";

/* description of a trophy image, bronze colored trophy */
"trophy.bronze" = "Bronze";

/* description of a trophy image, gold colored trophy */
"trophy.gold" = "Or";

/* description of a trophy image, silver colored trophy */
"trophy.silver" = "Argent";

/* back and forth accessibility, describing sp */
"volley.accessibilityContainer.accessibilityLabel" = "Sphero roule des chaussures du joueur 1 vers celles du joueur 2, fait demi-tour et retourne vers le joueur 1.";

/* volley setup image accessibility, image is a piece of tape used to mark where player 1 should stand. */
"volley.bottomRuler.accessibility" = "Un morceau de ruban adhésif Sphero indique la limite inférieure du Sphero Pong.";

/* real world setup image accessibility, image is a pair of blue shoes. */
"volley.bottomShoes.accessibility" = "Les chaussures bleues du joueur 2 sont derrière le morceau de ruban adhésif du bas.";

/* volley assessment fail, user didn't update Sphero's color properly. */
"volley.fail.noLEDChange" = "Tu n'as pas modifié la couleur de Sphero pour le nouveau joueur. Change la couleur de Sphero à partir de la valeur de `currentPlayer`.";

/* volley assessment fail, user didn't set Sphero's color at all. 'collision handler' is describing the function that handles when Sphero runs into something */
"volley.fail.noLEDSet" = "Tu n'as pas réglé la couleur principale de la LED de Sphero dans le gestionnaire de collision. Essaie d'appeler la fonction `setMainLed`.";

/* volley assessment fail, user never called the roll function to start Sphero rolling */
"volley.fail.noRoll" = "Tu n'as pas dit à Sphero de rouler. Essaie d'appeler la fonction `roll`.";

/* volley assessment fail, user didn't provide a roll function to tell Sphero to roll after a collision. 'collision handler' is describing the function that handles when Sphero runs into something */
"volley.fail.noRollBack" = "Tu n'as pas dit à Sphero de revenir après la collision ! Essaie d'appeler la fonction `roll` dans le gestionnaire de collision.";

/* volley assessment fail, user didn't send the Sphero back towards the other player. */
"volley.fail.wrongReturnAngle" = "Sphero doit revenir vers le joueur opposé. Vérifie que la variable `currentPlayer` est à jour et que l'angle de base défini dans la fonction `volley` est correct.";

/* ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations! \nOn to the next page' */
"volley.success.pageComplete" = "### Bravo ! \nAllons à la [page suivante](@next).";

/* volley setup image accessibility, image is a piece of tape used to mark where player 2 should stand. */
"volley.topRuler.accessibility" = "Un morceau de ruban adhésif Sphero indique la limite supérieure du Sphero Pong.";

/* real world setup image accessibility, image is a pair of red shoes. */
"volley.topShoes.accessibility" = "Les chaussures rouges du joueur 2 sont derrière le morceau de ruban adhésif du haut.";

/* winning the game assessment fail, user didn't return the correct player number. %zd is a player number, i.e. Player 1 */
"winningGame.fail.noWinner" = "Le joueur %zd aurait dû gagner, mais ton code ne l'a pas déclaré vainqueur. Pour renvoyer le bon numéro de joueur, corrige la fonction `checkForWinner`.";

/* winning the game assessment fail, user declared the wrong winner even though they have not yet reached the required points to win the game. first %zd is player number, i.e Player 1. second %zd is the required score, i.e. 3 */
"winningGame.fail.wrongWinner" = "Le joueur %1$zd a été déclaré vainqueur alors qu'il n'a pas encore marqué %2$zd points. Corrige `checkForWinner` et réessaie !";

/* %zd is player number, ### is bold indicator, [] indicator that the text will be hyper linked, @(next) is URL link that is applied to [next page], localize 'Congratulations, player 2 was the winner!\nOn to the next page' */
"winningGame.success.pageComplete" = "### Bravo, le joueur %zd était le vainqueur ! \nAllons à la [page suivante](@next).";

/* winning the game page image accessibility */
"winningGame.trophyImage.accessibility" = "Sphero est content, il est dans un gros trophée.";

