diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee
index 9ff9cc0f4..9230b62cb 100644
--- a/app/locale/fr.coffee
+++ b/app/locale/fr.coffee
@@ -102,7 +102,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     blog: "Blog"
     forum: "Forum"
     account: "Compte"
-#    my_account: "My Account"
+    my_account: "Mon compte"
     profile: "Profil"
     stats: "Stats"
     code: "Code"
@@ -112,24 +112,24 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     about: "À propos"
     contact: "Contact"
     twitter_follow: "Suivre"
-#    students: "Students"
+    students: "Étudiants"
     teachers: "Enseignants"
     careers: "Emplois"
-#    facebook: "Facebook"
-#    twitter: "Twitter"
-#    create_a_class: "Create a Class"
-#    other: "Other"
-#    learn_to_code: "Learn to Code!"
-#    toggle_nav: "Toggle navigation"
-#    jobs: "Jobs"
-#    schools: "Schools"
-#    educator_wiki: "Educator Wiki"
-#    get_involved: "Get Involved"
-#    open_source: "Open source (GitHub)"
-#    support: "Support"
-#    faqs: "FAQs"
-#    help_pref: "Need help? Email"
-#    help_suff: "and we'll get in touch!"
+    facebook: "Facebook"
+    twitter: "Twitter"
+    create_a_class: "Créer une classe"
+    other: "Autre"
+    learn_to_code: "Apprenez à programmer!"
+    toggle_nav: "Basculer la navigation"
+    jobs: "Emplois"
+    schools: "Écoles"
+    educator_wiki: "Wiki pour les éducateurs"
+    get_involved: "Devenez impliqué"
+    open_source: "Code libre (GitHub)"
+    support: "Support"
+    faqs: "FAQs"
+    help_pref: "Besoin d'aide? Email"
+    help_suff: "et nous entrerons en contact!"
 
   modal:
     close: "Fermer"
@@ -182,55 +182,55 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     campaign_old_multiplayer: "(Obsolète) Ancienne arènes multijoueurs"
     campaign_old_multiplayer_description: "Reliques d'un âge plus civilisé. Il n'y a aucune simulation pour ces vielles arènes multijoueur vides de tout héros."
 
-#  code:
+  code:
 #    if: "if" # Keywords--these translations show up on hover, so please translate them all, even if it's kind of long. (In the code editor, they will still be in English.)
-#    else: "else"
-#    elif: "else if"
-#    while: "while"
-#    loop: "loop"
-#    for: "for"
-#    break: "break"
-#    continue: "continue"
-#    pass: "pass"
-#    return: "return"
-#    then: "then"
-#    do: "do"
-#    end: "end"
-#    function: "function"
-#    def: "define"
-#    var: "variable"
-#    self: "self"
-#    hero: "hero"
-#    this: "this"
-#    or: "or"
-#    "||": "or"
-#    and: "and"
-#    "&&": "and"
-#    not: "not"
-#    "!": "not"
-#    "=": "assign"
-#    "==": "equals"
-#    "===": "strictly equals"
-#    "!=": "does not equal"
-#    "!==": "does not strictly equal"
-#    ">": "is greater than"
-#    ">=": "is greater than or equal"
-#    "<": "is less than"
-#    "<=": "is less than or equal"
-#    "*": "multiplied by"
-#    "/": "divided by"
-#    "+": "plus"
-#    "-": "minus"
-#    "+=": "add and assign"
-#    "-=": "subtract and assign"
-#    True: "True"
-#    true: "true"
-#    False: "False"
-#    false: "false"
-#    undefined: "undefined"
-#    null: "null"
-#    nil: "nil"
-#    None: "None"
+    else: "Sinon"
+    elif: "et sinon"
+    while: "tant que"
+    loop: "boucle"
+    for: "pour"
+    break: "break"
+    continue: "continue"
+    pass: "passe"
+    return: "retourne"
+    then: "alors"
+    do: "fait"
+    end: "fin"
+    function: "fonction"
+    def: "definit"
+    var: "variable"
+    self: "soi-même"
+    hero: "héros"
+    this: "ceci"
+    or: "or"
+    "||": "ou"
+    and: "et"
+    "&&": "et"
+    not: "n'est pas"
+    "!": "n'est pas"
+    "=": "assigner"
+    "==": "équivalent à"
+    "===": "strictement équivalent à"
+    "!=": "n'est pas équivalent à"
+    "!==": "n'est pas strictement équivalent à"
+    ">": "est plus grand que"
+    ">=": "est plus grand que ou équivalent à"
+    "<": "is less than"
+    "<=": "est plus petit ou  équivalent à"
+    "*": "multiplié par"
+    "/": "divisé par"
+    "+": "plus"
+    "-": "moins"
+    "+=": "ajoute et assigne"
+    "-=": "soustrait et assigne"
+    True: "Vrai"
+    true: "vrai"
+    False: "Faux"
+    false: "faux"
+    undefined: "non défini"
+    null: "nul"
+    nil: "nil"
+    None: "Aucune valeur"
 
   share_progress_modal:
     blurb: "Vous faites beaucoup de progrès ! Partagez ce que vous avez appris grâce à CodeCombat avec vos amis !" # {change}
@@ -263,15 +263,15 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     school_name: "Nom et ville de votre école"
     optional: "facultatif"
     school_name_placeholder: "Exemple : Lycée Champollion, Figeac"
-#    or_sign_up_with: "or sign up with"
-#    connected_gplus_header: "You've successfully connected with Google+!"
-#    connected_gplus_p: "Finish signing up so you can log in with your Google+ account."
-#    gplus_exists: "You already have an account associated with Google+!"
-#    connected_facebook_header: "You've successfully connected with Facebook!"
-#    connected_facebook_p: "Finish signing up so you can log in with your Facebook account."
-#    facebook_exists: "You already have an account associated with Facebook!"
-#    hey_students: "Students, enter the class code from your teacher."
-#    birthday: "Birthday"
+    or_sign_up_with: "ou abonnez-vous avec"
+    connected_gplus_header: "Vous avez réussi à vous connecter avec votre compte Google+!"
+    connected_gplus_p: "Finissez de vous abonnez pour pouvoir vous connecter avec votre compte Google+."
+    gplus_exists: "Vous avez déjà un compte associé à Google+!"
+    connected_facebook_header: "Vous avez réussi à vous connecter avec votre compte Facebook!"
+    connected_facebook_p: "Finissez de vous abonnez pour pouvoir vous connecter avec votre compte Facebook."
+    facebook_exists: "Vous avez réussi à vous connecter avec votre compte Facebook!"
+    hey_students: "Étudiants, entrez le code de cours de votre enseignant."
+    birthday: "Anniversaire"
 
   recover:
     recover_account_title: "Récupérer son compte"
@@ -308,7 +308,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     submit_patch: "Soumettre un correctif"
     submit_changes: "Soumettre des Changements"
     save_changes: "Sauvegarder les modifications"
-#    required_field: "Required field"
+    required_field: "Champ requis"
 
   general:
     and: "et"
@@ -341,7 +341,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     subject: "Sujet"
     email: "E-mail"
     password: "Mot de passe"
-#    confirm_password: "Confirm Password"
+    confirm_password: "Confirmez votre mot de passe"
     message: "Message"
     code: "Code"
     ladder: "Companion"
@@ -360,9 +360,9 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     warrior: "Guerrier"
     ranger: "Ranger"
     wizard: "Magicien"
-#    first_name: "First Name"
-#    last_name: "Last Name"
-#    username: "Username"
+    first_name: "Prénom"
+    last_name: "Nom de famille"
+    username: "Nom d'utilisateur"
 
   units:
     second: "seconde"
@@ -381,7 +381,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     years: "années"
 
   play_level:
-#    level_complete: "Level Complete"
+    level_complete: "Niveau complété"
     completed_level: "Niveau terminé:"
     course: "Cours:"
     done: "Fait"
@@ -425,7 +425,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     victory_new_item: "Nouvel item"
     victory_viking_code_school: "Par la barbe d'Odin, c'est un niveau difficile que tu viens de compléter! Si tu n'est pas un développeur de logiciel, tu devrais l'être ! Ceci vient de te propulser dans l'école de Code Vikings où tu pourras amener tes habilités au prochain niveau et devenir un développer web profesionnel en deux semaines."
     victory_become_a_viking: "Devenez un viking"
-#    victory_no_progress_for_teachers: "Progress is not saved for teachers. But, you can add a student account to your classroom for yourself."
+    victory_no_progress_for_teachers: "La progression n'est pas sauvegardé pour les enseignants. Mais vous pouvez ajouter un compte étudiant à votre salle de cours pour vous."
     guide_title: "Guide"
     tome_cast_button_run: "Exécuter"
     tome_cast_button_running: "En cours d'exécution"
@@ -505,15 +505,15 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     tip_strong_opponents: "Même les ennemis les plus puissant ont une faiblesse. - Itachi Uchiha"
     tip_paper_and_pen: "Avant de commencer à coder, vous pouvez plannifier les choses sur papier."
     tip_solve_then_write: "D'abord, résolvez le problème. Ensuite, écrivez le code. - John Johnson"
-#    tip_compiler_ignores_comments: "Sometimes I think that the compiler ignores my comments."
-#    tip_understand_recursion: "The only way to understand recursion is to understand recursion."
-#    tip_life_and_polymorphism: "Open Source is like a totally polymorphic heterogeneous structure: All types are welcome."
-#    tip_mistakes_proof_of_trying: "Mistakes in your code are just proof that you are trying."
-#    tip_adding_orgres: "Rounding up ogres."
-#    tip_sharpening_swords: "Sharpening the swords."
-#    tip_ratatouille: "You must not let anyone define your limits because of where you come from. Your only limit is your soul. - Gusteau, Ratatouille"
-#    tip_nemo: "When life gets you down, want to know what you've gotta do? Just keep swimming, just keep swimming. - Dory, Finding Nemo"
-#    tip_internet_weather: "Just move to the internet, it's great here. We get to live inside where the weather is always awesome. - John Green"
+    tip_compiler_ignores_comments: "Des fois, je pense que le compilateur ignore mes commentaires."
+    tip_understand_recursion: "La seule manière de comprendre la récursion est de comprendre la récursion."
+    tip_life_and_polymorphism: "Le code libre est une structure hétérogène polymorphique. Tous les types sont les bienvenues."
+    tip_mistakes_proof_of_trying: "Les erreurs dans votre code sont la preuve que vous essayez."
+    tip_adding_orgres: "Rassembler les ogres."
+    tip_sharpening_swords: "Aiguiser les épées."
+    tip_ratatouille: "Tu ne dois laisser personne définir où se trouvent tes limites. La seule vraie limite est c'est ton âme. - Gusteau, Ratatouille"
+    tip_nemo: "Quand la vie vous rabaisse, vous savez ce que vous devenez faire ? Juste continuer de nager, juste continuer de nager. - Dory, Finding Nemo"
+    tip_internet_weather: "Just move to the internet, it's great here. We get to live inside where the weather is always awesome. - John Green"
 #    tip_nerds: "Nerds are allowed to love stuff, like jump-up-and-down-in-the-chair-can't-control-yourself love it. - John Green"
 #    tip_self_taught: "I taught myself 90% of what I've learned. And that's normal! - Hank Green"
 #    tip_luna_lovegood: "Don't worry, you're just as sane as I am. - Luna Lovegood"
@@ -1689,27 +1689,27 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     retrying: "Erreur interne, réessayez"
     success: "Paiement accepté, merci !"
 
-#  account_prepaid:
-#    purchase_code: "Purchase a Subscription Code"
-#    purchase_code1: "Subscription Codes can be redeemed to add premium subscription time to one or more CodeCombat accounts."
+  account_prepaid:
+    purchase_code: "Acheter un code d'abonnement"
+    purchase_code1: "Les codes d'abonnement peuvent seulement être racheter pour ajouter des comptes prenium à un ou plusieurs comptes de CodeCombat"
 #    purchase_code2: "Each CodeCombat account can only redeem a particular Subscription Code once."
 #    purchase_code3: "Subscription Code months will be added to the end of any existing subscription on the account."
-#    users: "Users"
-#    months: "Months"
-#    purchase_total: "Total"
+    users: "Utilisateurs"
+    months: "Mois"
+    purchase_total: "Total"
 #    purchase_button: "Submit Purchase"
-#    your_codes: "Your Codes"
+    your_codes: "Vos codes"
 #    redeem_codes: "Redeem a Subscription Code"
 #    prepaid_code: "Prepaid Code"
 #    lookup_code: "Lookup prepaid code"
 #    apply_account: "Apply to your account"
 #    copy_link: "You can copy the code's link and send it to someone."
-#    quantity: "Quantity"
+    quantity: "Quantité"
 #    redeemed: "Redeemed"
-#    no_codes: "No codes yet!"
-#    you_can1: "You can"
-#    you_can2: "purchase a prepaid code"
-#    you_can3: "that can be applied to your own account or given to others."
+    no_codes: "Pas de code soumis"
+    you_can1: "Vous pouvez"
+    you_can2: "achetez un code pré-payé"
+    you_can3: "qui pourra être appliqué à votre compte ou donné à un autre."
 
 #  coppa_deny:
 #    text1: "Can’t wait to learn programming?"
@@ -1869,19 +1869,19 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     license: "Licence"
     oreilly: "ebook de votre choix"
 
-#  calendar:
-#    year: "Year"
-#    day: "Day"
-#    month: "Month"
-#    january: "January"
-#    february: "February"
-#    march: "March"
-#    april: "April"
-#    may: "May"
-#    june: "June"
-#    july: "July"
-#    august: "August"
-#    september: "September"
-#    october: "October"
-#    november: "November"
-#    december: "December"
+  calendar:
+    year: "Année"
+    day: "Jour"
+    month: "Mois"
+    january: "Janvier"
+    february: "Février"
+    march: "Mars"
+    april: "Avril"
+    may: "Mai"
+    june: "Juin"
+    july: "Juillet"
+    august: "Août"
+    september: "Septembre"
+    october: "Octobre"
+    november: "Novembre"
+    december: "Décembre"