diff --git a/app/Router.coffee b/app/Router.coffee
index 07ddec112..1dd9e7a3b 100644
--- a/app/Router.coffee
+++ b/app/Router.coffee
@@ -15,8 +15,7 @@ module.exports = class CocoRouter extends Backbone.Router
     @initializeSocialMediaServices = _.once @initializeSocialMediaServices
 
   routes:
-    '': go('HomeView')  # This will go somewhere deprecated when FrontView is done.
-    'front': go('FrontView')  # This will become '' when it is done.
+    '': go('HomeView')
 
     'about': go('AboutView')
 
@@ -85,7 +84,6 @@ module.exports = class CocoRouter extends Backbone.Router
 
     'play-old': go('play/MainPlayView')  # This used to be 'play'.
     'play': go('play/WorldMapView')
-    'play-hero': go('play/WorldMapView')  # Legacy URL for /play; leave up until start of 2015, I guess.
     'play/ladder/:levelID': go('play/ladder/LadderView')
     'play/ladder': go('play/ladder/MainLadderView')
     'play/level/:levelID': go('play/level/PlayLevelView')
diff --git a/app/lib/LevelOptions.coffee b/app/lib/LevelOptions.coffee
index 0e6e45542..3750fae6e 100644
--- a/app/lib/LevelOptions.coffee
+++ b/app/lib/LevelOptions.coffee
@@ -141,6 +141,7 @@ module.exports = LevelOptions =
     hidesRealTimePlayback: true
     requiredGear: {'right-hand': 'simple-sword', 'programming-book': 'programmaticon-i', torso: 'tarnished-bronze-breastplate'}
     restrictedGear: {feet: 'leather-boots'}
+    suspectCode: [{name: 'enemy-in-quotes', pattern: /['"]enemy/m}]  # '
   'master-of-names':
     hidesHUD: true
     hidesSay: true
diff --git a/app/lib/Tracker.coffee b/app/lib/Tracker.coffee
index 3b3af4d69..18b1ce7ac 100644
--- a/app/lib/Tracker.coffee
+++ b/app/lib/Tracker.coffee
@@ -12,7 +12,7 @@ module.exports = class Tracker
 
   identify: (traits) ->
     console.log 'Would identify', traits if debugAnalytics
-    return unless me and @isProduction and analytics?
+    return unless me and @isProduction and analytics? and not me.isAdmin()
     # https://segment.io/docs/methods/identify
     traits ?= {}
     for userTrait in ['email', 'anonymous', 'dateCreated', 'name', 'wizardColor1', 'testGroupNumber', 'gender']
@@ -20,14 +20,14 @@ module.exports = class Tracker
     analytics.identify me.id, traits
 
   trackPageView: ->
-    return unless @isProduction and analytics?
+    return unless @isProduction and analytics? and not me.isAdmin()
     url = Backbone.history.getFragment()
     console.log 'Going to track visit for', "/#{url}" if debugAnalytics
     analytics.pageview "/#{url}"
 
   trackEvent: (event, properties, includeProviders=null) =>
     console.log 'Would track analytics event:', event, properties if debugAnalytics
-    return unless me and @isProduction and analytics?
+    return unless me and @isProduction and analytics? and not me.isAdmin()
     console.log 'Going to track analytics event:', event, properties if debugAnalytics
     properties = properties or {}
     context = {}
diff --git a/app/locale/id.coffee b/app/locale/id.coffee
index be6888644..f09fc2691 100644
--- a/app/locale/id.coffee
+++ b/app/locale/id.coffee
@@ -1,42 +1,42 @@
 module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Indonesian", translation:
-#  home:
+  home:
 #    slogan: "Learn to Code by Playing a Game"
-#    no_ie: "CodeCombat does not run in Internet Explorer 8 or older. Sorry!" # Warning that only shows up in IE8 and older
-#    no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!" # Warning that shows up on mobile devices
-#    play: "Play" # The big play button that just starts playing a level
-#    old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" # Warning that shows up on really old Firefox/Chrome/Safari
-#    old_browser_suffix: "You can try anyway, but it probably won't work."
-#    campaign: "Campaign"
-#    for_beginners: "For Beginners"
-#    multiplayer: "Multiplayer" # Not currently shown on home page
-#    for_developers: "For Developers" # Not currently shown on home page.
-#    or_ipad: "Or download for iPad"
+    no_ie: "Maaf, CodeCombat tidak bisa dijalankan pada Internet Explorer 8 dan sebelumnya" # Warning that only shows up in IE8 and older
+    no_mobile: "Maaf. CodeCombat tidak dibuat untuk perangkat mobile" # Warning that shows up on mobile devices
+    play: "Play" # The big play button that just starts playing a level
+    old_browser: "Uh oh, Maaf. Versi broser anda terlalu lama " # Warning that shows up on really old Firefox/Chrome/Safari
+    old_browser_suffix: "Anda bisa mencoba, tapi mungkin tidak akan berjalan."
+    campaign: "Campaign"
+    for_beginners: "Pemula"
+    multiplayer: "Multiplayer" # Not currently shown on home page
+    for_developers: "Developers" # Not currently shown on home page.
+    or_ipad: "atau download untuk iPad"
 
-#  nav:
-#    play: "Levels" # The top nav bar entry where players choose which levels to play
-#    community: "Community"
-#    editor: "Editor"
-#    blog: "Blog"
-#    forum: "Forum"
-#    account: "Account"
-#    profile: "Profile"
-#    stats: "Stats"
-#    code: "Code"
-#    admin: "Admin" # Only shows up when you are an admin
-#    home: "Home"
+  nav:
+    play: "Levels" # The top nav bar entry where players choose which levels to play
+    community: "Community"
+    editor: "Editor"
+    blog: "Blog"
+    forum: "Forum"
+    account: "Akun"
+    profile: "Profile"
+    stats: "Mulai"
+    code: "Code"
+    admin: "Admin" # Only shows up when you are an admin
+    home: "Home"
 #    contribute: "Contribute"
-#    legal: "Legal"
+    legal: "Legal"
 #    about: "About"
-#    contact: "Contact"
-#    twitter_follow: "Follow"
+    contact: "Kontak"
+    twitter_follow: "Follow"
 #    teachers: "Teachers"
 
-#  modal:
-#    close: "Close"
-#    okay: "Okay"
+  modal:
+    close: "Close"
+    okay: "Okay"
 
-#  not_found:
-#    page_not_found: "Page not found"
+  not_found:
+    page_not_found: "Alamat tidak ditemukan"
 
   diplomat_suggestion:
 #    title: "Help translate CodeCombat!" # This shows up when a player switches to a non-English language using the language selector.
@@ -46,22 +46,22 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
 #    learn_more: "Learn more about being a Diplomat"
 #    subscribe_as_diplomat: "Subscribe as a Diplomat"
 
-#  play:
+  play:
 #    play_as: "Play As" # Ladder page
 #    spectate: "Spectate" # Ladder page
 #    players: "players" # Hover over a level on /play
 #    hours_played: "hours played" # Hover over a level on /play
 #    items: "Items" # Tooltip on item shop button from /play
 #    unlock: "Unlock" # For purchasing items and heroes
-#    confirm: "Confirm"
+    confirm: "Konfirmasi"
 #    owned: "Owned" # For items you own
-#    locked: "Locked"
-#    available: "Available"
+    locked: "Terkunci"
+    available: "Trsedia"
 #    skills_granted: "Skills Granted" # Property documentation details
-#    heroes: "Heroes" # Tooltip on hero shop button from /play
+    heroes: "Heroes" # Tooltip on hero shop button from /play
 #    achievements: "Achievements" # Tooltip on achievement list button from /play
-#    account: "Account" # Tooltip on account button from /play
-#    settings: "Settings" # Tooltip on settings button from /play
+    account: "Akun" # Tooltip on account button from /play
+    settings: "Settings" # Tooltip on settings button from /play
 #    next: "Next" # Go from choose hero to choose inventory before playing a level
 #    change_hero: "Change Hero" # Go back from choose inventory to choose hero
 #    choose_inventory: "Equip Items"
@@ -70,10 +70,10 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
 #    anonymous: "Anonymous Player"
 #    level_difficulty: "Difficulty: "
 #    campaign_beginner: "Beginner Campaign"
-#    awaiting_levels_adventurer_prefix: "We release five levels per week."
+    awaiting_levels_adventurer_prefix:"Kami meliris lima level per minggu"
 #    awaiting_levels_adventurer: "Sign up as an Adventurer"
 #    awaiting_levels_adventurer_suffix: "to be the first to play new levels."
-#    choose_your_level: "Choose Your Level" # The rest of this section is the old play view at /play-old and isn't very important.
+    choose_your_level: "Pilih Level Anda" # The rest of this section is the old play view at /play-old and isn't very important.
 #    adventurer_prefix: "You can jump to any level below, or discuss the levels on "
 #    adventurer_forum: "the Adventurer forum"
 #    adventurer_suffix: "."
@@ -81,7 +81,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
 #    campaign_old_beginner_description: "... in which you learn the wizardry of programming."
 #    campaign_dev: "Random Harder Levels"
 #    campaign_dev_description: "... in which you learn the interface while doing something a little harder."
-#    campaign_multiplayer: "Multiplayer Arenas"
+    campaign_multiplayer: "Arena Multiplayer"
 #    campaign_multiplayer_description: "... in which you code head-to-head against other players."
 #    campaign_player_created: "Player-Created"
 #    campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>."
@@ -90,11 +90,11 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
 #    campaign_forest: "Forest Campaign"
 #    campaign_dungeon: "Dungeon Campaign"
 
-#  login:
-#    sign_up: "Create Account"
-#    log_in: "Log In"
-#    logging_in: "Logging In"
-#    log_out: "Log Out"
+  login:
+    sign_up: "Buat Akun"
+    log_in: "Masuk"
+    logging_in: "Logging In"
+    log_out: "Keluar"
 #    recover: "recover account"
 #    authenticate_gplus: "Authenticate G+"
 #    load_profile: "Load G+ Profile"
@@ -106,7 +106,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
 #    description: "It's free. Just need a couple things and you'll be good to go:"
 #    email_announcements: "Receive announcements by email"
 #    coppa: "13+ or non-USA "
-#    coppa_why: "(Why?)"
+#    coppa_why: "(Kenapa?)"
 #    creating: "Creating Account..."
 #    sign_up: "Sign Up"
 #    log_in: "log in with password"
diff --git a/app/locale/nb.coffee b/app/locale/nb.coffee
index 89be9a4cf..1893eecad 100644
--- a/app/locale/nb.coffee
+++ b/app/locale/nb.coffee
@@ -1,27 +1,27 @@
 module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norwegian (Bokmål)", translation:
   home:
-    slogan: "Lær å Kode ved å Spille et Spill"
+    slogan: "Lær å kode ved å spille et spill"
     no_ie: "CodeCombat kjører ikke på IE8 eller eldre. Beklager!" # Warning that only shows up in IE8 and older
-    no_mobile: "CodeCombat ble ikke designet for mobile enheter, og vil muligens ikke virke!" # Warning that shows up on mobile devices
+    no_mobile: "CodeCombat ble ikke designet for mobile enheter, og vil kanskje ikke virke!" # Warning that shows up on mobile devices
     play: "Spill" # The big play button that just starts playing a level
-#    old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" # Warning that shows up on really old Firefox/Chrome/Safari
-#    old_browser_suffix: "You can try anyway, but it probably won't work."
+    old_browser: "Å nei, nettleseren din er for gammel til å kjøre CodeCombat. Beklager!" # Warning that shows up on really old Firefox/Chrome/Safari
+    old_browser_suffix: "Du kan prøve likevel, men det vil kanskje ikke virke."
 #    campaign: "Campaign"
-    for_beginners: "For Begynnere"
+    for_beginners: "For nybegynnere"
     multiplayer: "Flerspiller" # Not currently shown on home page
     for_developers: "For Utviklere" # Not currently shown on home page.
-#    or_ipad: "Or download for iPad"
+    or_ipad: "Eller last ned til iPad"
 
   nav:
     play: "Spill" # The top nav bar entry where players choose which levels to play
-#    community: "Community"
+    community: "Fellesskap"
     editor: "Editor"
     blog: "Blogg"
     forum: "Forum"
-    account: "bruker"
+    account: "Konto"
     profile: "Profil"
 #    stats: "Stats"
-#    code: "Code"
+    code: "Kode"
     admin: "Administrator" # Only shows up when you are an admin
     home: "Hjem"
     contribute: "Bidra"
@@ -33,104 +33,104 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
 
   modal:
     close: "Lukk"
-    okay: "Ok"
+    okay: "OK"
 
   not_found:
     page_not_found: "Finner ikke siden"
 
   diplomat_suggestion:
-    title: "Hjelp med oversettelse av CodeCombat!" # This shows up when a player switches to a non-English language using the language selector.
+    title: "Hjelp til å oversette CodeCombat!" # This shows up when a player switches to a non-English language using the language selector.
     sub_heading: "Vi trenger dine språkkunnskaper."
-    pitch_body: "Vi utvikler CodeCombat på Engelsk, men vi vi har allerede spillere over hele verden. Mange av dem vil spille på Norsk, men snakker ikke Engelsk, så hvis du kan snakke begge språk, vennligst vurder å meld deg på som Diplomat og hjelp å oversette både CodeCombat web siden og alle nivåene til Norsk."
-    missing_translations: "Inntil vi har oversatt alt til Norsk vil du se Engelsk hvor Norsk ikke er tilgjengelig."
+    pitch_body: "Vi utvikler CodeCombat på engelsk, men vi har allerede spillere over hele verden. Mange av dem vil spille på norsk, men snakker ikke engelsk, så hvis du kan snakke begge språk, vennligst vurder å meld deg på som Diplomat og hjelp å oversette både CodeCombat websiden og alle brettene til norsk."
+    missing_translations: "Inntil vi har oversatt alt til norsk vil du se engelsk der hvor norsk ikke er tilgjengelig."
     learn_more: "Lær mer om hvordan det er å være en Diplomat"
     subscribe_as_diplomat: "Meld deg på som Diplomat"
 
   play:
     play_as: "Spill som" # Ladder page
-#    spectate: "Spectate" # Ladder page
+    spectate: "Vær tilskuer" # Ladder page
     players: "spillere" # Hover over a level on /play
     hours_played: "Timer spilt" # Hover over a level on /play
-    items: "Gjenstander" # Tooltip on item shop button from /play
-#    unlock: "Unlock" # For purchasing items and heroes
-#    confirm: "Confirm"
-#    owned: "Owned" # For items you own
-#    locked: "Locked"
-#    available: "Available"
+    items: "Utstyr" # Tooltip on item shop button from /play
+    unlock: "Lås opp" # For purchasing items and heroes
+    confirm: "Bekreft"
+    owned: "Eid" #"Owned" # For items you own
+    locked: "Låst"
+    available: "Tilgjengelig"
 #    skills_granted: "Skills Granted" # Property documentation details
     heroes: "Helter" # Tooltip on hero shop button from /play
-    achievements: "Oppnåelser" # Tooltip on achievement list button from /play
+    achievements: "Prestasjoner" # Tooltip on achievement list button from /play
     account: "Bruker" # Tooltip on account button from /play
     settings: "Innstillinger" # Tooltip on settings button from /play
     next: "Neste" # Go from choose hero to choose inventory before playing a level
-    change_hero: "Endre Helt" # Go back from choose inventory to choose hero
-#    choose_inventory: "Equip Items"
-#    buy_gems: "Buy Gems"
-#    older_campaigns: "Older Campaigns"
+    change_hero: "Bytt Helt" # Go back from choose inventory to choose hero
+    choose_inventory: "Ta i bruk gjenstander" # "Equip Items"
+    buy_gems: "Kjøp Juveler"
+    older_campaigns: "Gamle felttog" # "Older Campaigns"
     anonymous: "Anonym Spiller"
     level_difficulty: "Vanskelighetsgrad: "
     campaign_beginner: "Begynner Felttog"
-#    awaiting_levels_adventurer_prefix: "We release five levels per week."
-#    awaiting_levels_adventurer: "Sign up as an Adventurer"
-#    awaiting_levels_adventurer_suffix: "to be the first to play new levels."
+    awaiting_levels_adventurer_prefix: "Vi lanserer fem nye brett hver uke" #"We release five levels per week."
+    awaiting_levels_adventurer: "Registrer deg som Eventyrer" #"Sign up as an Adventurer"
+    awaiting_levels_adventurer_suffix: "for å få spille nye brett før alle andre." #"to be the first to play new levels."
     choose_your_level: "Velg Ditt Nivå" # The rest of this section is the old play view at /play-old and isn't very important.
-    adventurer_prefix: "Du kan hoppe til hvilket som helts nivå under, eller diskutere nivåene på"
-    adventurer_forum: "Adventurer forumet"
+    adventurer_prefix: "Du kan hoppe til hvilket som helst brett under, eller diskutere nivåene på "
+    adventurer_forum: "Eventyrer forumet"
     adventurer_suffix: "."
-#    campaign_old_beginner: "Old Beginner Campaign"
-    campaign_old_beginner_description: "... hvor du lærer trolldommen bak programmering."
-    campaign_dev: "Tilfeldig Vanskeligere Nivåer"
-    campaign_dev_description: "... hvor du lærer grensesnittet mens du stadig gjør mer vanskeligere utfordringer."
-    campaign_multiplayer: "Multispiller Arenaer"
+    campaign_old_beginner: "Gammel Nybegynner Kampanje" #"Old Beginner Campaign"
+    campaign_old_beginner_description: "... hvor du lærer magien bak programmering." #FIXME?
+    campaign_dev: "Noen Litt Vanskeligere" #FIXME?
+    campaign_dev_description: "... hvor du lærer grensesnittet mens du gjør litt vanskeligere oppgaver."
+    campaign_multiplayer: "Flerspiller Arenaer"
     campaign_multiplayer_description: "... hvor du spiller direkte mot andre spillere."
-    campaign_player_created: "Spiller-Lagde"
-    campaign_player_created_description: "... hvor du kjemper mot kreativiteten til en av dine medspillende <a href=\"/contribute#artisan\">Artisan Trollmenn</a>."
-#    campaign_classic_algorithms: "Classic Algorithms"
-#    campaign_classic_algorithms_description: "... in which you learn the most popular algorithms in Computer Science."
-#    campaign_forest: "Forest Campaign"
-#    campaign_dungeon: "Dungeon Campaign"
+    campaign_player_created: "Laget Av Spillere"
+    campaign_player_created_description: "... hvor du kjemper mot kreativiteten til en av dine medspillende <a href=\"/contribute#artisan\">Artisan Trollmenn</a>." #FIXME
+    campaign_classic_algorithms: "Klassiske Algoritmer"
+    campaign_classic_algorithms_description: "... hvor du lærer noen av de mest populære algoritmene i informatikk" #"... in which you learn the most popular algorithms in Computer Science." #FIXME
+    campaign_forest: "Skogsfelttog" # "Forest Campaign"
+    campaign_dungeon: "Katakombefelttog" # "Dungeon Campaign"
 
   login:
     sign_up: "Lag konto"
-    log_in: "Logg Inn"
-    logging_in: "Logg ut"
-    log_out: "Logg Ut"
-    recover: "gjenåpne konto"
-#    authenticate_gplus: "Authenticate G+"
-#    load_profile: "Load G+ Profile"
-#    load_email: "Load G+ Email"
-#    finishing: "Finishing"
+    log_in: "Logg inn"
+    logging_in: "Logger inn"
+    log_out: "Logg ut"
+    recover: "glemt passord"
+    authenticate_gplus: "Autentiser G+"
+    load_profile: "Last G+ Profil"
+    load_email: "Last G+ Epost"
+    finishing: "Fullfører"
 
   signup:
-    create_account_title: "Opprett konto for å lagre fremgrang"
-    description: "Det er gratis. Trenger bare noen få avklaringer, så er du klar:"
-    email_announcements: "Motta kunngjøringer på epost"
-    coppa: "13+ eller ikke fra USA"
+    create_account_title: "Opprett konto for å lagre fremgang"
+    description: "Det er gratis. Vi trenger bare noen få detaljer, så er du klar:"
+    email_announcements: "Motta kunngjøringer på epost" #FIXME
+    coppa: "13+ år eller ikke fra USA"
     coppa_why: "(Hvorfor?)"
     creating: "Oppretter Konto..."
-    sign_up: "Registrer deg"
+    sign_up: "Lag konto"
     log_in: "logg inn med passord"
-    social_signup: "Eller du kan registrere deg gjennom Facebook eller Google+:"
-#    required: "You need to log in before you can go that way."
+    social_signup: "Eller du kan registrere deg med Facebook eller Google+:"
+    required: "Du må være logget inn for å gå dit." #"You need to log in before you can go that way."
 
-#  recover:
-#    recover_account_title: "Recover Account"
-#    send_password: "Send Recovery Password"
-#    recovery_sent: "Recovery email sent."
+  recover:
+    recover_account_title: "Tilbakestill Passord" #"Recover Account"
+    send_password: "Send nytt passord" #"Send Recovery Password"
+    recovery_sent: "Epost sendt." #"Recovery email sent."
 
-#  items:
-#    primary: "Primary"
-#    secondary: "Secondary"
-#    armor: "Armor"
-#    accessories: "Accessories"
-#    misc: "Misc"
-#    books: "Books"
+  items:
+    primary: "Første" # "Primary"
+    secondary: "Andre" # "Secondary"
+    armor: "Rustning"
+    accessories: "Tilbehør"
+    misc: "Diverse"
+    books: "Bøker"
 
   common:
     loading: "Laster..."
     saving: "Lagrer..."
-#    sending: "Sending..."
-#    send: "Send"
+    sending: "Sender..."
+    send: "Send"
     cancel: "Avbryt"
     save: "Lagre"
     publish: "Publiser"
@@ -138,7 +138,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
     manual: "Manuelt"
 #    fork: "Fork"
     play: "Spill" # When used as an action verb, like "Play next level"
-#    retry: "Retry"
+    retry: "Prøv igjen"
 #    watch: "Watch"
 #    unwatch: "Unwatch"
 #    submit_patch: "Submit Patch"
@@ -147,25 +147,25 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
     and: "og"
     name: "Navn"
     date: "Dato"
-#    body: "Body"
-#    version: "Version"
-#    commit_msg: "Commit Message"
-#    version_history: "Version History"
-#    version_history_for: "Version History for: "
-#    result: "Result"
-#    results: "Results"
-#    description: "Description"
+    body: "Kropp"
+    version: "Versjon"
+    commit_msg: "Commit-melding"
+    version_history: "Versjonshistorikk"
+    version_history_for: "Versjonshistorikk for: "
+    result: "Resultat"
+    results: "Resultater"
+    description: "Beskrivelse"
     or: "eller"
-#    subject: "Subject"
+    subject: "Emne"
     email: "Epost"
-#    password: "Password"
+    password: "Passord"
     message: "Melding"
-#    code: "Code"
-#    ladder: "Ladder"
+    code: "Kode"
+    ladder: "Stige"
     when: "Når"
-#    opponent: "Opponent"
-#    rank: "Rank"
-#    score: "Score"
+    opponent: "Motstander"
+    rank: "Plassering"
+    score: "Poengsum"
     win: "Seier"
     loss: "Tap"
     tie: "uavgjort"
@@ -173,13 +173,13 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
     medium: "Middels"
     hard: "Vanskelig"
     player: "Spiller"
-#    player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard
+    player_level: "Nivå" # Like player level 5, not like level: Dungeons of Kithgard
 
   units:
     second: "sekund"
     seconds: "sekunder"
-    minute: "minut"
-    minutes: "minuter"
+    minute: "minutt"
+    minutes: "minutter"
     hour: "time"
     hours: "timer"
     day: "dag"
@@ -194,90 +194,90 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
   play_level:
     done: "Ferdig"
     home: "Hjem" # Not used any more, will be removed soon.
-#    level: "Level" # Like "Level: Dungeons of Kithgard"
-#    skip: "Skip"
-    game_menu: "Spill Meny"
+    level: "Brett" # Like "Level: Dungeons of Kithgard"
+    skip: "Hopp over"
+    game_menu: "Spillmeny"
     guide: "Guide"
     restart: "Start på nytt"
     goals: "Mål"
     goal: "Mål"
-#    running: "Running..."
-    success: "Vellyket!"
-#    incomplete: "Incomplete"
-#    timed_out: "Ran out of time"
-#    failing: "Failing"
+    running: "Kjører..."
+    success: "Vellykket!"
+    incomplete: "Ufullstendig"
+    timed_out: "Tiden er ute"
+    failing: "Mislykkes" #"Failing"
     action_timeline: "Hendelsestidslinje"
     click_to_select: "Klikk på en enhet for å velge den."
-#    control_bar_multiplayer: "Multiplayer"
+    control_bar_multiplayer: "Flerspiller"
 #    control_bar_join_game: "Join Game"
 #    reload: "Reload"
-    reload_title: "Laste All Koden på Nytt?"
+    reload_title: "Laste all koden på nytt?"
     reload_really: "Er du sikker på at du vil laste dette nivået på nytt, tilbake til begynnelsen?"
     reload_confirm: "Last Alle på Nytt"
-#    victory_title_prefix: ""
+    victory_title_prefix: ""
     victory_title_suffix: " Ferdig"
-    victory_sign_up: "Tegn deg på for Oppdateringer"
+    victory_sign_up: "Tegn deg på for Oppdateringer" #FIXME
     victory_sign_up_poke: "Vil du ha siste nytt på epost? Opprett en gratis konto, så vil vi holde deg oppdatert!"
     victory_rate_the_level: "Bedøm nivået: " # Only in old-style levels.
-#    victory_return_to_ladder: "Return to Ladder"
-#    victory_play_continue: "Continue"
+    victory_return_to_ladder: "Tilbake til stige"
+    victory_play_continue: "Fortsett"
 #    victory_play_skip: "Skip Ahead"
-    victory_play_next_level: "Spill Neste Nivå"
-#    victory_play_more_practice: "More Practice"
-#    victory_play_too_easy: "Too Easy"
-#    victory_play_just_right: "Just Right"
-#    victory_play_too_hard: "Too Hard"
-#    victory_saving_progress: "Saving Progress"
+    victory_play_next_level: "Spill neste brett"
+    victory_play_more_practice: "Mer trening"
+    victory_play_too_easy: "For lett"
+    victory_play_just_right: "Passe vanskelig"
+    victory_play_too_hard: "For vanskelig"
+    victory_saving_progress: "Lagrer framskritt"
     victory_go_home: "Gå Hjem" # Only in old-style levels.
     victory_review: "Fortell oss mer!" # Only in old-style levels.
     victory_hour_of_code_done: "Er du ferdig?"
-    victory_hour_of_code_done_yes: "Ja, jeg er ferdig med min Time i Koding!"
+    victory_hour_of_code_done_yes: "Ja, jeg er ferdig med min Kodetime!"
     guide_title: "Guide"
-    tome_minion_spells: "Din Minions' Trylleformularer" # Only in old-style levels.
+    tome_minion_spells: "Din Minions' Trylleformularer" # Only in old-style levels. #FIXME
     tome_read_only_spells: "Kun-Lesbare Trylleformularer" # Only in old-style levels.
     tome_other_units: "Andre Enheter" # Only in old-style levels.
-#    tome_cast_button_run: "Run"
-#    tome_cast_button_running: "Running"
-#    tome_cast_button_ran: "Ran"
-#    tome_submit_button: "Submit"
-#    tome_reload_method: "Reload original code for this method" # Title text for individual method reload button.
-#    tome_select_method: "Select a Method"
-#    tome_see_all_methods: "See all methods you can edit" # Title text for method list selector (shown when there are multiple programmable methdos).
-    tome_select_a_thang: "Velg Noe for å "
+    tome_cast_button_run: "Kjør"
+    tome_cast_button_running: "Kjører"
+    tome_cast_button_ran: "Kjørte"
+    tome_submit_button: "Send inn"
+    tome_reload_method: "Tilbakestill denne metoden til den orginale koden" #"Reload original code for this method" # Title text for individual method reload button.
+    tome_select_method: "Velg en metode"
+    tome_see_all_methods: "Se alle metodene du kan redigere" # Title text for method list selector (shown when there are multiple programmable methdos).
+    tome_select_a_thang: "Velg Noe for å " #FIXME
     tome_available_spells: "Tilgjenglige Trylleformularer"
-#    tome_your_skills: "Your Skills"
-#    tome_current_method: "Current Method"
-#    hud_continue_short: "Continue"
+    tome_your_skills: "Dine Ferdigheter" #"Your Skills"
+    tome_current_method: "Gjeldende Metode" #"Current Method"
+    hud_continue_short: "Fortsett"
     code_saved: "Kode lagret"
-#    skip_tutorial: "Skip (esc)"
-#    keyboard_shortcuts: "Key Shortcuts"
-#    loading_ready: "Ready!"
-#    loading_start: "Start Level"
-#    problem_alert_title: "Fix Your Code"
-#    time_current: "Now:"
-#    time_total: "Max:"
-#    time_goto: "Go to:"
-#    infinite_loop_try_again: "Try Again"
-#    infinite_loop_reset_level: "Reset Level"
-#    infinite_loop_comment_out: "Comment Out My Code"
-#    tip_toggle_play: "Toggle play/paused with Ctrl+P."
-#    tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
-#    tip_guide_exists: "Click the guide, inside game menu (at the top of the page), for useful info."
-#    tip_open_source: "CodeCombat is 100% open source!"
-#    tip_beta_launch: "CodeCombat launched its beta in October, 2013."
-#    tip_think_solution: "Think of the solution, not the problem."
+    skip_tutorial: "Hopp over (esc)" #"Skip (esc)"
+    keyboard_shortcuts: "Hurtigtaster"
+    loading_ready: "Klar!" #"Ready!"
+    loading_start: "Start Brett" #"Start Level"
+    problem_alert_title: "Fiks koden din"
+    time_current: "Nå:"
+    time_total: "Maks:"
+    time_goto: "Gå til:"
+    infinite_loop_try_again: "Prøv igjen"
+    infinite_loop_reset_level: "Tilbakestill Brett" #"Reset Level"
+    infinite_loop_comment_out: "Kommenter ut koden min"
+    tip_toggle_play: "Ctrl+P er play/pause" #"Toggle play/paused with Ctrl+P."
+    tip_scrub_shortcut: "Ctrl+[ and Ctrl+] spoler bakover og fremover på tidslinjen." #"Ctrl+[ and Ctrl+] rewind and fast-forward."
+    tip_guide_exists: "Sjekk Guiden i spillmenyen på toppen av siden for nyttig informasjon." #"Click the guide, inside game menu (at the top of the page), for useful info."
+    tip_open_source: "CodeCombat er 100% åpen kildekode!"
+    tip_beta_launch: "CodeCombat ble lansert i betautgave i oktober 2013." #"CodeCombat launched its beta in October, 2013."
+    tip_think_solution: "Tenk på løsningen, ikke på problemet."
 #    tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra"
 #    tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis"
 #    tip_debugging_program: "If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra"
-#    tip_forums: "Head over to the forums and tell us what you think!"
+    tip_forums: "Stikk innom forumene og fortell oss hva du synes!" #"Head over to the forums and tell us what you think!"
 #    tip_baby_coders: "In the future, even babies will be Archmages."
 #    tip_morale_improves: "Loading will continue until morale improves."
-#    tip_all_species: "We believe in equal opportunities to learn programming for all species."
+    tip_all_species: "Vi tror på like muligheter til å lære programmering for alle arter." #"We believe in equal opportunities to learn programming for all species."
 #    tip_reticulating: "Reticulating spines."
 #    tip_harry: "Yer a Wizard, "
 #    tip_great_responsibility: "With great coding skill comes great debug responsibility."
-#    tip_munchkin: "If you don't eat your vegetables, a munchkin will come after you while you're asleep."
-#    tip_binary: "There are only 10 types of people in the world: those who understand binary, and those who don't."
+    tip_munchkin: "Hvis du ikke spiser grønnsakene dine kommer en munchkin og tar deg når du sover" # "If you don't eat your vegetables, a munchkin will come after you while you're asleep."
+    tip_binary: "Det finnes 10 typer mennesker i verden: de som forstår binærtall, og de som ikke gjør det."
 #    tip_commitment_yoda: "A programmer must have the deepest commitment, the most serious mind. ~ Yoda"
 #    tip_no_try: "Do. Or do not. There is no try. - Yoda"
 #    tip_patience: "Patience you must have, young Padawan. - Yoda"
@@ -289,193 +289,205 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
 #    tip_hofstadters_law: "Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law."
 #    tip_premature_optimization: "Premature optimization is the root of all evil. - Donald Knuth"
 #    tip_brute_force: "When in doubt, use brute force. - Ken Thompson"
-    customize_wizard: "Spesiallag Trollmann"
+    customize_wizard: "Spesiallag Trollmann" #FIXME
 
   game_menu:
 #    inventory_tab: "Inventory"
-#    save_load_tab: "Save/Load"
-#    options_tab: "Options"
+    save_load_tab: "Lagre/Laste"
+    options_tab: "Innstillinger"
+    guide_tab: "Guide"
 #    guide_tab: "Guide"
     multiplayer_tab: "Flerspiller"
-#    auth_tab: "Sign Up"
-#    inventory_caption: "Equip your hero"
-#    choose_hero_caption: "Choose hero, language"
-#    save_load_caption: "... and view history"
-#    options_caption: "Configure settings"
-#    guide_caption: "Docs and tips"
-#    multiplayer_caption: "Play with friends!"
+    auth_tab: "Lag konto" #"Sign Up"
+    inventory_caption: "Utstyr helten din" #"Equip your hero"
+    choose_hero_caption: "Velg helt og språk"
+    save_load_caption: "... og se historikk"
+    options_caption: "Velg innstillinger"
+    guide_caption: "Dokumentasjon og tips"
+    multiplayer_caption: "Spill med venner" #"Play with friends!"
 #    auth_caption: "Save your progress."
 
-#  inventory:
-#    choose_inventory: "Equip Items"
-#    equipped_item: "Equipped"
-#    available_item: "Available"
-#    restricted_title: "Restricted"
-#    should_equip: "(double-click to equip)"
-#    equipped: "(equipped)"
-#    locked: "(locked)"
-#    restricted: "(restricted in this level)"
-#    equip: "Equip"
-#    unequip: "Unequip"
+  inventory:
+    choose_inventory: "Velg utstyr"
+    equipped_item: "I Bruk" #"Equipped"
+    available_item: "Tilgjengelig" #"Available"
+    restricted_title: "Ikke tilgjengelig"
+    should_equip: "(dobbel-klikk for å bruke)" #"(double-click to equip)"
+    equipped: "(i bruk)" #"(equipped)"
+    locked: "(låst)" #"(locked)"
+    restricted: "(Ikke tilgjengelig i dette nivået)"
+    equip: "Bruk" #"Equip"
+    unequip: "Ta av"
 
-#  buy_gems:
+  buy_gems: #FIXME
 #    few_gems: "A few gems"
+    few_gems: "Noen få juveler"
 #    pile_gems: "Pile of gems"
+    pile_gems: "En haug juveler"
 #    chest_gems: "Chest of gems"
-#    purchasing: "Purchasing..."
-#    declined: "Your card was declined"
-#    retrying: "Server error, retrying."
+    chest_gems: "Kiste med juveler"
+    purchasing: "Kjøper..."
+    declined: "Kortet ditt ble avvist"
+    retrying: "Server-feil, prøver igjen."
 
-#  choose_hero:
-#    choose_hero: "Choose Your Hero"
-#    programming_language: "Programming Language"
-#    programming_language_description: "Which programming language do you want to use?"
-#    default: "Default"
-#    experimental: "Experimental"
-#    python_blurb: "Simple yet powerful, great for beginners and experts."
+  choose_hero:
+    choose_hero: "Velg Din Helt"
+    programming_language: "Programmeringsspråk"
+    programming_language_description: "Hvilket programmeringsspråk vil du bruke??"
+    default: "Standard"
+    experimental: "Eksperimentelt"
+    python_blurb: "Enkelt og likevel kraftig, bra for både nybegynnere og eksperter." #"Simple yet powerful, great for beginners and experts."
 #    javascript_blurb: "The language of the web. (Not the same as Java.)"
 #    coffeescript_blurb: "Nicer JavaScript syntax."
-#    clojure_blurb: "A modern Lisp."
-#    lua_blurb: "Game scripting language."
-#    io_blurb: "Simple but obscure."
+    clojure_blurb: "En moderne Lisp."
+    lua_blurb: "Et skriptspråk for spill." #"Game scripting language."
+    io_blurb: "Enkelt, men obskurt." #"Simple but obscure."
 #    status: "Status"
-#    weapons: "Weapons"
-#    weapons_warrior: "Swords - Short Range, No Magic"
+    weapons: "Våpen"
+    weapons_warrior: "Sverd - Kort rekkevidde, Ingen magi"
 #    weapons_ranger: "Crossbows, Guns - Long Range, No Magic"
 #    weapons_wizard: "Wands, Staffs - Long Range, Magic"
-#    attack: "Damage" # Can also translate as "Attack"
-#    health: "Health"
-#    speed: "Speed"
-#    regeneration: "Regeneration"
-#    range: "Range" # As in "attack or visual range"
-#    blocks: "Blocks" # As in "this shield blocks this much damage"
-#    skills: "Skills"
+    attack: "Angrep" # Can also translate as "Attack" (was "Damage")
+    health: "Helse"
+    speed: "Fart"
+    regeneration: "Regenerering"
+    range: "Rekkevidde" # As in "attack or visual range"
+    blocks: "Blokkerer" # As in "this shield blocks this much damage"
+    skills: "Ferdigheter" #"Skills"
 
-#  skill_docs:
+  skill_docs:
 #    writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
 #    read_only: "read-only"
-#    action_name: "name"
+    action_name: "navn"
 #    action_cooldown: "Takes"
 #    action_specific_cooldown: "Cooldown"
-#    action_damage: "Damage"
-#    action_range: "Range"
+    action_damage: "Skade"
+    action_range: "Rekkevidde"
 #    action_radius: "Radius"
-#    action_duration: "Duration"
-#    example: "Example"
-#    ex: "ex" # Abbreviation of "example"
-#    current_value: "Current Value"
-#    default_value: "Default value"
-#    parameters: "Parameters"
-#    returns: "Returns"
-#    granted_by: "Granted by"
+    action_duration: "Varighet"
+    example: "Eksempel"
+    ex: "f.eks." # Abbreviation of "example"
+    current_value: "Nåværende verdi"
+    default_value: "Standard verdi" #"Default value"
+    parameters: "Parametere"
+    returns: "Returnerer"
+    granted_by: "Gitt av" #"Granted by"
 
-#  save_load:
-#    granularity_saved_games: "Saved"
-#    granularity_change_history: "History"
+  save_load:
+    granularity_saved_games: "Lagret"
+    granularity_change_history: "Historikk"
 
-#  options:
-#    general_options: "General Options" # Check out the Options tab in the Game Menu while playing a level
-#    volume_label: "Volume"
-#    music_label: "Music"
-#    music_description: "Turn background music on/off."
-#    autorun_label: "Autorun"
-#    autorun_description: "Control automatic code execution."
-#    editor_config: "Editor Config"
-#    editor_config_title: "Editor Configuration"
-#    editor_config_level_language_label: "Language for This Level"
-#    editor_config_level_language_description: "Define the programming language for this particular level."
-#    editor_config_default_language_label: "Default Programming Language"
+  options:
+    general_options: "Generelle innstillinger" #"General Options" # Check out the Options tab in the Game Menu while playing a level
+    volume_label: "Volum"
+    music_label: "Musikk"
+    music_description: "Bakgrunnsmusikk på/av."
+    autorun_label: "Auto-kjør"
+    autorun_description: "Kontroller automatisk kode-kjøring."
+    editor_config: "Editor Oppsett"
+    editor_config_title: "Editor Oppsett"
+    editor_config_level_language_label: "Språk for dette brettet"
+    editor_config_level_language_description: "Definer programmeringsspråk for dette brettet."
+    editor_config_default_language_label: "Standard programmeringsspråk" #"Default Programming Language"
 #    editor_config_default_language_description: "Define the programming language you want to code in when starting new levels."
-#    editor_config_keybindings_label: "Key Bindings"
-#    editor_config_keybindings_default: "Default (Ace)"
-#    editor_config_keybindings_description: "Adds additional shortcuts known from the common editors."
+    editor_config_default_language_description: "Velg det programmeringsspråket du vil kode i når du starter på nye brett."
+    editor_config_keybindings_label: "Hurtigtaster"
+    editor_config_keybindings_default: "Standard (Ace)" #"Default (Ace)"
+    editor_config_keybindings_description: "Legger til ekstra hurtigtaster kjent fra vanlige editorer." #"Adds additional shortcuts known from the common editors."
 #    editor_config_livecompletion_label: "Live Autocompletion"
 #    editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
-#    editor_config_invisibles_label: "Show Invisibles"
-#    editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
-#    editor_config_indentguides_label: "Show Indent Guides"
-#    editor_config_indentguides_description: "Displays vertical lines to see indentation better."
+    editor_config_invisibles_label: "Vis usynlige tegn"
+    editor_config_invisibles_description: "Viser usynlige tegn som mellomrom eller tab."
+    editor_config_indentguides_label: "Vis innrykkslinjer" #"Show Indent Guides"
+    editor_config_indentguides_description: "Viser vertikale linjer for å se antall innrykk bedre." #"Displays vertical lines to see indentation better."
 #    editor_config_behaviors_label: "Smart Behaviors"
 #    editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
 
-#  about:
-#    why_codecombat: "Why CodeCombat?"
+  about:
+    why_codecombat: "Hvorfor CodeCombat?"
 #    why_paragraph_1: "If you want to learn to program, you don't need lessons. You need to write a lot of code and have a great time doing it."
+    why_paragraph_1: "Hvis du vil lære å programmere trenger du ikke å ta timer. Du trenger å skrive masse kode og ha det kjempegøy mens du gjør det."
 #    why_paragraph_2_prefix: "That's what programming is about. It's gotta be fun. Not fun like"
-#    why_paragraph_2_italic: "yay a badge"
-#    why_paragraph_2_center: "but fun like"
-#    why_paragraph_2_italic_caps: "NO MOM I HAVE TO FINISH THE LEVEL!"
+    why_paragraph_2_prefix: "Det er det programmering handler om. Det må være gøy. Ikke gøy som i"
+    why_paragraph_2_italic: "jippi et merke" #"yay a badge" #FIXME
+    why_paragraph_2_center: "men gøy som i" #"but fun like"
+    why_paragraph_2_italic_caps: "NEI MOR JEG MÅ FULLFØRE DETTE BRETTET!"
 #    why_paragraph_2_suffix: "That's why CodeCombat is a multiplayer game, not a gamified lesson course. We won't stop until you can't stop--but this time, that's a good thing."
+    why_paragraph_2_suffix: "Det er derfor CodeCombat er et flerspiller spill, ikke et spillaktig programmeringskurs. Vi slutter ikke før du ikke klarer å slutte – men i denne sammenhengen er det en god ting."
 #    why_paragraph_3: "If you're going to get addicted to some game, get addicted to this one and become one of the wizards of the tech age."
-#    press_title: "Bloggers/Press"
+    why_paragraph_3: "Hvis du skal bli avhengig av et spill, bli avhengig av dette og bli en av trollmennene i den nye teknologiske tidsalderen."
+    press_title: "Bloggere/Presse"
 #    press_paragraph_1_prefix: "Want to write about us? Feel free to download and use all of the resources included in our"
-#    press_paragraph_1_link: "press packet"
-#    press_paragraph_1_suffix: ". All logos and images may be used without contacting us directly."
-#    team: "Team"
-#    george_title: "CEO"
-#    george_blurb: "Businesser"
-#    scott_title: "Programmer"
-#    scott_blurb: "Reasonable One"
-#    nick_title: "Programmer"
-#    nick_blurb: "Motivation Guru"
-#    michael_title: "Programmer"
-#    michael_blurb: "Sys Admin"
-#    matt_title: "Programmer"
-#    matt_blurb: "Bicyclist"
+    press_paragraph_1_prefix: "Har du lyst til å skrive om oss? Last gjerne ned og bruk alle ressursene i vår"
+    press_paragraph_1_link: "presse pakke"
+    press_paragraph_1_suffix: ". Alle logoer og bilder kan brukes uten å kontakte oss direkte."
+    team: "Teamet"
+    george_title: "Adm.dir." #"CEO"
+    george_blurb: "Business-nisse" #"Businesser"
+    scott_title: "Programmerer"
+    scott_blurb: "Den fornuftige" #"Reasonable One"
+    nick_title: "Programmerer"
+    nick_blurb: "Motivasjonsguru"
+    michael_title: "Programmerer"
+    michael_blurb: "System Administrator"
+    matt_title: "Programmerer"
+    matt_blurb: "Syklist" #Bicyclist"
 
 #  versions:
-#    save_version_title: "Save New Version"
+    save_version_title: "Lagre ny versjon"
 #    new_major_version: "New Major Version"
-#    cla_prefix: "To save changes, first you must agree to our"
+    cla_prefix: "For å lagre endringer må du først signere på vår" #"To save changes, first you must agree to our"
 #    cla_url: "CLA"
 #    cla_suffix: "."
-#    cla_agree: "I AGREE"
+    cla_agree: "BEKREFT" #"I AGREE"
 
   contact:
     contact_us: "Kontakt CodeCombat"
-    welcome: "Bra å høre fra deg! Bruk dette skjemaet for å sende oss en epost."
+    welcome: "Vi setter pris på å høre fra deg! Bruk dette skjemaet for å sende oss en epost."
     contribute_prefix: "Hvis du er interessert i å bidra, sjekk ut vår "
-    contribute_page: "bidrags side"
+    contribute_page: "bidragsside"
     contribute_suffix: "!"
     forum_prefix: "For allment tilgjengelige henvendelser, vennligst prøv "
     forum_page: "forumet vårt"
-    forum_suffix: " i steden."
+    forum_suffix: " i stedet."
     send: "Send Tilbakemelding"
 #    contact_candidate: "Contact Candidate" # Deprecated
 #    recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 15% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns." # Deprecated
 
   account_settings:
     title: "Kontoinnstillinger"
-    not_logged_in: "Logg inn eller opprett en konto for å endre innstillingene dine."
-    autosave: "Endringer Lagres Automatisk"
+    not_logged_in: "Logg inn eller lag en konto for å endre innstillingene dine."
+    autosave: "Endringer lagres automatisk"
     me_tab: "Meg"
     picture_tab: "Bilde"
-#    upload_picture: "Upload a picture"
+    upload_picture: "Last opp bilde"
     password_tab: "Passord"
     emails_tab: "Epost"
 #    admin: "Admin"
     new_password: "Nytt Passord"
-    new_password_verify: "Verifiser"
+    new_password_verify: "Bekreft passord"
     email_subscriptions: "Epost Abonnement"
-#    email_subscriptions_none: "No Email Subscriptions."
+    email_subscriptions_none: "Ingen Epost Abonnement."
     email_announcements: "Kunngjøringer"
     email_announcements_description: "Få epost om siste nytt og utvikling fra CodeCombat."
-#    email_notifications: "Notifications"
+    email_notifications: "Varsler"
 #    email_notifications_summary: "Controls for personalized, automatic email notifications related to your CodeCombat activity."
-#    email_any_notes: "Any Notifications"
-#    email_any_notes_description: "Disable to stop all activity notification emails."
-#    email_news: "News"
-#    email_recruit_notes: "Job Opportunities"
+    email_notifications_summary: "Innstillinger for personlige, automatiske epostvarsler relatert til din CodeCombat aktivitet."
+    email_any_notes: "Alle Varsler" #"Any Notifications"
+    email_any_notes_description: "Skru av for å stoppe alle aktivitetsvarsler" #"Disable to stop all activity notification emails."
+    email_news: "Nyheter"
+    email_recruit_notes: "Jobbtilbud" #"Job Opportunities"
 #    email_recruit_notes_description: "If you play really well, we may contact you about getting you a (better) job."
-    contributor_emails: "Contributor Klasse Epost"
-    contribute_prefix: "Vi leter etter folk som vil delta på festen vår! Sjekk ut "
-    contribute_page: "bidra siden"
+    email_recruit_notes_description: "Hvis du spiller veldig godt kontakter vi deg kanskje angående en (bedre) jobb."
+    contributor_emails: "Epost for bidragsyter-klasser"
+    contribute_prefix: "Vi leter etter folk som vil være med på festen vår! Sjekk ut " #FIXME
+    contribute_page: "bidragssiden"
     contribute_suffix: " for å finne ut mer."
-    email_toggle: "Vis Alle"
+    email_toggle: "Alle på/av"
     error_saving: "Lagring Feilet"
     saved: "Endringer Lagret"
     password_mismatch: "Passordene er ikke like."
-#    password_repeat: "Please repeat your password."
+    password_repeat: "Vennligst gjenta passordet."
 #    job_profile: "Job Profile" # Rest of this section (the job profile stuff and wizard stuff) is deprecated
 #    job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks."
 #    job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job."
@@ -484,296 +496,301 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
     wizard_tab: "Trollmann"
     wizard_color: "Farge på Trollmannens Klær"
 
-#  keyboard_shortcuts:
-#    keyboard_shortcuts: "Keyboard Shortcuts"
-#    space: "Space"
+  keyboard_shortcuts:
+    keyboard_shortcuts: "Hurtigtaster"
+    space: "Mellomrom"
 #    enter: "Enter"
 #    escape: "Escape"
 #    shift: "Shift"
-#    run_code: "Run current code."
-#    run_real_time: "Run in real time."
+    run_code: "Kjør koden." #"Run current code."
+    run_real_time: "Kjør i sanntid."
 #    continue_script: "Continue past current script."
 #    skip_scripts: "Skip past all skippable scripts."
-#    toggle_playback: "Toggle play/pause."
-#    scrub_playback: "Scrub back and forward through time."
-#    single_scrub_playback: "Scrub back and forward through time by a single frame."
+    toggle_playback: "Play/Pause."
+    scrub_playback: "Spol tiden frem og tilbake" #"Scrub back and forward through time."
+    single_scrub_playback: "Spol tiden frem og tilbake, steg for steg" #"Scrub back and forward through time by a single frame."
 #    scrub_execution: "Scrub through current spell execution."
 #    toggle_debug: "Toggle debug display."
 #    toggle_grid: "Toggle grid overlay."
 #    toggle_pathfinding: "Toggle pathfinding overlay."
-#    beautify: "Beautify your code by standardizing its formatting."
-#    maximize_editor: "Maximize/minimize code editor."
-#    move_wizard: "Move your Wizard around the level."
+    beautify: "Gjør koden penere med standard formattering." #"Beautify your code by standardizing its formatting."
+    maximize_editor: "Maksimer/minimer kode editor."
+    move_wizard: "Flytt trollmannen din rundt på brettet."
 
-#  community:
-#    main_title: "CodeCombat Community"
+  community:
+    main_title: "CodeCombat Fellesskapet"
 #    introduction: "Check out the ways you can get involved below and decide what sounds the most fun. We look forward to working with you!"
-#    level_editor_prefix: "Use the CodeCombat"
+    introduction: "Sjekk ut de forskjellige måtene du kan involvere deg på og velg det du synes er gøy. Vi ser frem til å jobbe sammen med deg!"
+    level_editor_prefix: "Bruk CodeCombat's" #"Use the CodeCombat"
 #    level_editor_suffix: "to create and edit levels. Users have created levels for their classes, friends, hackathons, students, and siblings. If create a new level sounds intimidating you can start by forking one of ours!"
-#    thang_editor_prefix: "We call units within the game 'thangs'. Use the"
+    level_editor_suffix: "til å lage og redigere brett. Brukere har laget sine egne brett for klassen sin, venner, elever og søsken. Hvis det høres overveldende ut å lage et nytt brett kan du begynne med å kopiere et av våre!"
+    thang_editor_prefix: "Vi kaller gjenstander i spillet for 'thang'. Bruk vår" #"We call units within the game 'thangs'. Use the"
 #    thang_editor_suffix: "to modify the CodeCombat source artwork. Allow units to throw projectiles, alter the direction of an animation, change a unit's hit points, or upload your own vector sprites."
+    thang_editor_suffix: "to modify the CodeCombat source artwork. Allow units to throw projectiles, alter the direction of an animation, change a unit's hit points, or upload your own vector sprites." #FIXME
 #    article_editor_prefix: "See a mistake in some of our docs? Want to make some instructions for your own creations? Check out the"
-#    article_editor_suffix: "and help CodeCombat players get the most out of their playtime."
-#    find_us: "Find us on these sites"
-#    social_blog: "Read the CodeCombat blog on Sett"
-#    social_discource: "Join the discussion on our Discourse forum"
-#    social_facebook: "Like CodeCombat on Facebook"
-#    social_twitter: "Follow CodeCombat on Twitter"
-#    social_gplus: "Join CodeCombat on Google+"
-#    social_hipchat: "Chat with us in the public CodeCombat HipChat room"
-#    contribute_to_the_project: "Contribute to the project"
+    article_editor_prefix: "Funnet en feil i dokumentasjonen? Vil du skrive instruksjoner til noe du har laget selv? Sjekk ut vår"
+    article_editor_suffix: "og hjelp CodeCombat spillere til å få mest mulig ut av spillet." #"and help CodeCombat players get the most out of their playtime."
+    find_us: "Finn oss på disse tjenestene" #"Find us on these sites"
+    social_blog: "Les CodeCombat bloggen på Sett" #"Read the CodeCombat blog on Sett"
+    social_discource: "Diskuter CodeCombat i forumet vårt på Discourse" #"Join the discussion on our Discourse forum"
+    social_facebook: "Lik CodeCombat på Facebook"
+    social_twitter: "Følg CodeCombat på Twitter"
+    social_gplus: "Følg CodeCombat på Google+"
+    social_hipchat: "Chat med oss i det åpne CodeCombat rommet på HipChat"
+    contribute_to_the_project: "Bidra på prosjektet"
 
-#  classes:
-#    archmage_title: "Archmage"
-#    archmage_title_description: "(Coder)"
+  classes:
+    archmage_title: "Erketrollmann" #"Archmage"
+    archmage_title_description: "(Koder)" #"(Coder)"
 #    artisan_title: "Artisan"
-#    artisan_title_description: "(Level Builder)"
-#    adventurer_title: "Adventurer"
-#    adventurer_title_description: "(Level Playtester)"
-#    scribe_title: "Scribe"
-#    scribe_title_description: "(Article Editor)"
+    artisan_title_description: "(Brettbygger)" #"(Level Builder)"
+    adventurer_title: "Eventyrer" #"Adventurer"
+    adventurer_title_description: "(Spilltester)" #"(Level Playtester)"
+    scribe_title: "Skriver" #"Scribe"
+    scribe_title_description: "(Artikkelforfatter)" #"(Article Editor)"
 #    diplomat_title: "Diplomat"
-#    diplomat_title_description: "(Translator)"
-#    ambassador_title: "Ambassador"
-#    ambassador_title_description: "(Support)"
+    diplomat_title_description: "(Oversetter)" #"(Translator)"
+    ambassador_title: "Ambassadør"
+    ambassador_title_description: "(Brukerstøtte)" #"(Support)"
 
-#  editor:
-#    main_title: "CodeCombat Editors"
-#    article_title: "Article Editor"
-#    thang_title: "Thang Editor"
-#    level_title: "Level Editor"
-#    achievement_title: "Achievement Editor"
-#    back: "Back"
+  editor:
+    main_title: "CodeCombat Editorer"
+    article_title: "Artikkel Editor"
+    thang_title: "Thang Editor"
+    level_title: "Brett Editor"
+    achievement_title: "Prestasjons Editor"
+    back: "Tilbake"
 #    revert: "Revert"
 #    revert_models: "Revert Models"
-#    pick_a_terrain: "Pick A Terrain"
+    pick_a_terrain: "Velg Terreng" #"Pick A Terrain"
 #    small: "Small"
 #    grassy: "Grassy"
 #    fork_title: "Fork New Version"
 #    fork_creating: "Creating Fork..."
 #    generate_terrain: "Generate Terrain"
-#    more: "More"
+    more: "Mer"
 #    wiki: "Wiki"
 #    live_chat: "Live Chat"
 #    level_some_options: "Some Options?"
 #    level_tab_thangs: "Thangs"
-#    level_tab_scripts: "Scripts"
-#    level_tab_settings: "Settings"
-#    level_tab_components: "Components"
-#    level_tab_systems: "Systems"
-#    level_tab_docs: "Documentation"
+    level_tab_scripts: "Skript" #"Scripts"
+    level_tab_settings: "Innstillinger"
+    level_tab_components: "Komponenter"
+    level_tab_systems: "Systemer"
+    level_tab_docs: "Dokumentasjon"
 #    level_tab_thangs_title: "Current Thangs"
 #    level_tab_thangs_all: "All"
 #    level_tab_thangs_conditions: "Starting Conditions"
 #    level_tab_thangs_add: "Add Thangs"
-#    delete: "Delete"
+    delete: "Slett"
 #    duplicate: "Duplicate"
-#    rotate: "Rotate"
-#    level_settings_title: "Settings"
+    rotate: "Rotér"
+    level_settings_title: "Innstillinger"
 #    level_component_tab_title: "Current Components"
-#    level_component_btn_new: "Create New Component"
+    level_component_btn_new: "Lag Ny Komponent"
 #    level_systems_tab_title: "Current Systems"
-#    level_systems_btn_new: "Create New System"
-#    level_systems_btn_add: "Add System"
+    level_systems_btn_new: "Lag Nytt System"
+    level_systems_btn_add: "Legg Til System"
 #    level_components_title: "Back to All Thangs"
 #    level_components_type: "Type"
-#    level_component_edit_title: "Edit Component"
+    level_component_edit_title: "Rediger Component"
 #    level_component_config_schema: "Config Schema"
-#    level_component_settings: "Settings"
-#    level_system_edit_title: "Edit System"
-#    create_system_title: "Create New System"
-#    new_component_title: "Create New Component"
+    level_component_settings: "Innstillinger"
+    level_system_edit_title: "Rediger System"
+    create_system_title: "Lag Nytt System"
+    new_component_title: "Lag Ny Komponent"
 #    new_component_field_system: "System"
-#    new_article_title: "Create a New Article"
+    new_article_title: "Lag Ny Artikkel"
 #    new_thang_title: "Create a New Thang Type"
-#    new_level_title: "Create a New Level"
-#    new_article_title_login: "Log In to Create a New Article"
+    new_level_title: "Lag et nytt Brett"
+    new_article_title_login: "Logg inn for å lage en ny Artikkel"
 #    new_thang_title_login: "Log In to Create a New Thang Type"
-#    new_level_title_login: "Log In to Create a New Level"
-#    new_achievement_title: "Create a New Achievement"
-#    new_achievement_title_login: "Log In to Create a New Achievement"
-#    article_search_title: "Search Articles Here"
+    new_level_title_login: "Logg inn for å lage et nytt Brett"
+    new_achievement_title: "Lag en ny Prestasjon"
+    new_achievement_title_login: "Logg inn for å lage en ny Prestasjon"
+    article_search_title: "Søk i Artikler her"
 #    thang_search_title: "Search Thang Types Here"
-#    level_search_title: "Search Levels Here"
-#    achievement_search_title: "Search Achievements"
-#    read_only_warning2: "Note: you can't save any edits here, because you're not logged in."
-#    no_achievements: "No achievements have been added for this level yet."
+    level_search_title: "Søk i Brett her"
+    achievement_search_title: "Søk i Prestasjoner"
+    read_only_warning2: "Merk: Du kan ikke lagre endringene fordi du ikke er logget inn." #"Note: you can't save any edits here, because you're not logged in."
+    no_achievements: "Ingen prestasjoner er lagt til på dette brettet ennå." #"No achievements have been added for this level yet."
 #    achievement_query_misc: "Key achievement off of miscellanea"
 #    achievement_query_goals: "Key achievement off of level goals"
 #    level_completion: "Level Completion"
 #    pop_i18n: "Populate I18N"
 
-#  article:
-#    edit_btn_preview: "Preview"
-#    edit_article_title: "Edit Article"
+  article:
+    edit_btn_preview: "Forhåndsvis"
+    edit_article_title: "Rediger Artikkel"
 
-#  contribute:
-#    page_title: "Contributing"
-#    character_classes_title: "Character Classes"
-#    introduction_desc_intro: "We have high hopes for CodeCombat."
-#    introduction_desc_pref: "We want to be where programmers of all stripes come to learn and play together, introduce others to the wonderful world of coding, and reflect the best parts of the community. We can't and don't want to do that alone; what makes projects like GitHub, Stack Overflow and Linux great are the people who use them and build on them. To that end, "
-#    introduction_desc_github_url: "CodeCombat is totally open source"
-#    introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
-#    introduction_desc_ending: "We hope you'll join our party!"
-#    introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Matt"
-#    alert_account_message_intro: "Hey there!"
-#    alert_account_message: "To subscribe for class emails, you'll need to be logged in first."
-#    archmage_summary: "Interested in working on game graphics, user interface design, database and server organization, multiplayer networking, physics, sound, or game engine performance? Want to help build a game to help other people learn what you are good at? We have a lot to do and if you are an experienced programmer and want to develop for CodeCombat, this class is for you. We would love your help building the best programming game ever."
-#    archmage_introduction: "One of the best parts about building games is they synthesize so many different things. Graphics, sound, real-time networking, social networking, and of course many of the more common aspects of programming, from low-level database management, and server administration to user facing design and interface building. There's a lot to do, and if you're an experienced programmer with a hankering to really dive into the nitty-gritty of CodeCombat, this class might be for you. We would love to have your help building the best programming game ever."
-#    class_attributes: "Class Attributes"
-#    archmage_attribute_1_pref: "Knowledge in "
-#    archmage_attribute_1_suf: ", or a desire to learn. Most of our code is in this language. If you're a fan of Ruby or Python, you'll feel right at home. It's JavaScript, but with a nicer syntax."
-#    archmage_attribute_2: "Some experience in programming and personal initiative. We'll help you get oriented, but we can't spend much time training you."
-#    how_to_join: "How To Join"
-#    join_desc_1: "Anyone can help out! Just check out our "
+  contribute:
+    page_title: "Bidrag" #"Contributing"
+    character_classes_title: "Karakterklasser" #"Character Classes"
+    introduction_desc_intro: "Vi har store forventninger til CodeCombat."
+    introduction_desc_pref: "Vi ønsker at det skal være stedet hvor programmerere av alle slag kommer for å lære og leke sammen, for å introdusere andre for programmeringens fabelaktige verden, og som gjenspeiler de beste sidene ved felleskapet. Vi hverken kan eller ønsker å gjøre det alene; det som gjør prosjekter som GitHub, Stack Overflow and Linux så bra er at folk som bruker dem også bygger videre på dem. Derfor er "
+    introduction_desc_github_url: "CodeCombat helt åpen kildekode"
+    introduction_desc_suf: ", og vi ønsker å gi deg så mange måter å delta på som mulig og gjøre prosjektet til like mye ditt som vårt."
+    introduction_desc_ending: "Vi håper du vil være med på moroa!" #"We hope you'll join our party!"
+    introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy og Matt"
+    alert_account_message_intro: "Heisann!" #"Hey there!"
+    alert_account_message: "For å abonnere på klasse-eposter må du være logget inn først."
+    archmage_summary: "Interesert i å jobbe med spillgrafikk, brukergrensesnitt, database and server organisering, flerspiller nettverk, fysikk, lyd, eller spillmotor ytelse? Vil du hjelpe til å lage et spill som hjelper folk å lære det som du allerede er flink til? Vi hare mye å gjøre og hvis du er en erfaren programmerer som har lyst til å videreutvikle CodeCombat, da er dette klassen for deg. Vi vil gjerne ha din hjelp til å lage det beste programmeringsspillet noensinne."
+    archmage_introduction: "En av de beste tingene med å lage spill er at det bestaår av så mye forskjellig. Grafikk, lyd, sanntidsnettverk, sosiale nettverk, og selvfølgelig mange av de vanlige aspektene ved programmering, fra lav-nivå database drift og server administrasjon til design og bygging av brukergrensesnitt. Det er mye å gjøre og hvis du er en erfaren utvikler som har lyst til å dykke ned i de tekniske detaljene i CodeCombat, da er dette kanskje klassen for deg. Vi vil veldig gjerne ha din hjelp til å lage det beste programmeringsspillet noensinne."
+    class_attributes: "Klasseegenskaper" #Class Attributes"
+    archmage_attribute_1_pref: "Kunnskap om "
+    archmage_attribute_1_suf: ", eller lyst til å lære. Mesteparten av koden vår er skrevet i dette språket. Hvis du liker Python eller Ruby vil du føle deg hjemme. Det er JavaScript, men med en penere syntaks."
+    archmage_attribute_2: "Litt erfaring med programmering og masse personlig initativ. Vi hjelper deg til å få oversikten, men vi kan ikke bruke mye tid på å lære deg opp."
+    how_to_join: "Hvordan bli med" #"How To Join"
+    join_desc_1: "Alle kan hjelpe til! Ta en titt på siden vår på "
 #    join_desc_2: "to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email. Want to chat about what to do or how to get more deeply involved? "
-#    join_desc_3: ", or find us in our "
-#    join_desc_4: "and we'll go from there!"
-#    join_url_email: "Email us"
-#    join_url_hipchat: "public HipChat room"
-#    more_about_archmage: "Learn More About Becoming an Archmage"
-#    archmage_subscribe_desc: "Get emails on new coding opportunities and announcements."
-#    artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to"
-#    artisan_summary_suf: ", then this class is for you."
-#    artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to"
-#    artisan_introduction_suf: ", then this class might be for you."
-#    artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!"
-#    artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix."
-#    artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!"
-#    artisan_join_desc: "Use the Level Editor in these steps, give or take:"
-#    artisan_join_step1: "Read the documentation."
-#    artisan_join_step2: "Create a new level and explore existing levels."
-#    artisan_join_step3: "Find us in our public HipChat room for help."
-#    artisan_join_step4: "Post your levels on the forum for feedback."
-#    more_about_artisan: "Learn More About Becoming an Artisan"
-#    artisan_subscribe_desc: "Get emails on level editor updates and announcements."
-#    adventurer_summary: "Let us be clear about your role: you are the tank. You are going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class is for you."
-#    adventurer_introduction: "Let's be clear about your role: you are the tank. You're going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class might be for you."
-#    adventurer_attribute_1: "A thirst for learning. You want to learn how to code and we want to teach you how to code. You'll probably be doing most of the teaching in this case, though."
-#    adventurer_attribute_2: "Charismatic. Be gentle but articulate about what needs improving, and offer suggestions on how to improve."
-#    adventurer_join_pref: "Either get together with (or recruit!) an Artisan and work with them, or check the box below to receive emails when there are new levels to test. We'll also be posting about levels to review on our networks like"
-#    adventurer_forum_url: "our forum"
-#    adventurer_join_suf: "so if you prefer to be notified those ways, sign up there!"
-#    more_about_adventurer: "Learn More About Becoming an Adventurer"
-#    adventurer_subscribe_desc: "Get emails when there are new levels to test."
-#    scribe_summary_pref: "CodeCombat is not just going to be a bunch of levels. It will also be a resource of programming knowledge that players can hook into. That way, each Artisan can link to a detailed article that for the player's edification: documentation akin to what the "
-#    scribe_summary_suf: " has built. If you enjoy explaining programming concepts, then this class is for you."
-#    scribe_introduction_pref: "CodeCombat isn't just going to be a bunch of levels. It will also include a resource for knowledge, a wiki of programming concepts that levels can hook into. That way rather than each Artisan having to describe in detail what a comparison operator is, they can simply link their level to the Article describing them that is already written for the player's edification. Something along the lines of what the "
+    join_desc_2: "for å komme i gang, og kryss av i boksen nedenfor for å merke deg selv som en modig Erketrollmann og få de siste nyhetene på epost. Vil du prate med oss om hva du kan gjøre og hvordan du kan involvere deg mer? "
+    join_desc_3: ", eller finn oss i vårt "
+    join_desc_4: "så tar vi det derfra!"
+    join_url_email: "Send oss en epost"
+    join_url_hipchat: "offentlige HipChat rom"
+    more_about_archmage: "Lær mer om å bli en Erketrollmann"
+    archmage_subscribe_desc: "Få epost om nye muligheter til å kode og kunngjøringer."
+    artisan_summary_pref: "Vil du lage nye brett eller utvide arsenalet i CodeCombat? Folk spiller gjennom innholdet vår raskere enn vi kan lage det! Foreløpig er brett-editoren vår ganske enkel, så vær forberedt. Å lage nye brett vil være litt utfordrende og ustabilt. Hvis du har visjoner om kampanjer med alt fra for-løkker til"
+    artisan_summary_suf: ", da er denne klassen for deg."
+    artisan_introduction_pref: "Vi må konstruere flere nye brett! Folk skriker etter mer innhold, og vi klarer bare å bygge så mange selv. Akkurat nå er arbeidsverktøyet ditt bare på nivå 1; brett-editoren vår er bare såvidt brukbar, selv for de som har laget den, så vær forberedt. Hvis du har visjoner om kampanjer med alt fra for-løkker til"
+    artisan_introduction_suf: ", da er denne klassen kanskje for deg."
+    artisan_attribute_1: "All tidligere erfaring med å lage lignende innhold er et pluss, som for eksempel Blizzard's brett-editor. Men det er ikke påkrevd!"
+    artisan_attribute_2: "Lyst til å gjøre massevis av testing og repetisjoner. For å lage gode brett må man gi dem til andre og observere når de spiller dem, og være forberedt på å finne massevis av tings som må fikses."
+    artisan_attribute_3: "Inntil videre bør man ha utholdenhet på nivå med en Eventyrer. Brett-editoren vår er i en veldig tidlig fase og kan være frustrerende å bruke. Du er herved advart!"
+    artisan_join_desc: "Brett-editoren brukes omtrent på følgende måte"
+    artisan_join_step1: "Les dokumentasjonen." 
+    artisan_join_step2: "Lag et nytt brett og utforsk eksisterende brett."
+    artisan_join_step3: "Finn oss i det offentlige HipChat rommet vårt for å få hjelp."
+    artisan_join_step4: "Legg ut brettene dine på forumet for å få tilbakemeldinger."
+    more_about_artisan: "Lær mer om å bli en Artisan"
+    artisan_subscribe_desc: "Få epost om oppdateringer i brett-editoren og kunngjøringer."
+    adventurer_summary: "La oss være tydelige på hva din rolle er: du må ta støyten. Du kommer til å få mye juling. Vi trenger folk som kan prøve helt nye brett og hjelpe oss å finne ut hvordan de kan gjøres bedre. Smerten vil bli enorm; å lage gode spill er en lang prosess og ingen får ting riktig første gangen. Hvis du kan holde ut og tåler en støyt, da er denne klassen for deg."
+    adventurer_introduction: "La oss være tydelige på hva din rolle er: du må ta støyten. Du kommer til å få mye juling. Vi trenger folk som kan prøve helt nye brett og hjelpe oss å finne ut hvordan de kan gjøres bedre. Smerten vil bli enorm; å lage gode spill er en lang prosess og ingen får ting riktig første gangen. Hvis du kan holde ut og tåler en støyt, da er kanskje denne klassen for deg."
+    adventurer_attribute_1: "Tørster etter kunnskap. Du vil lære å kode og vi vil gjerne lære deg å kode. Selv om det kanskje blir du som gjør mesteparten av bortlæringen i dette tilfellet."
+    adventurer_attribute_2: "Karismatisk. Vær hyggelig men tydelig på hvor det trengs forbedringer, og kom med forslag til hvordan ting kan bli bedre."
+    adventurer_join_pref: "Finn (eller rekrutter!) en Artisan og jobb sammen med dem, eller kryss av i boksen under for å motta epost når det er nye brett som må testes. Vi poster også om brett som trenger testing på nettverkene våre, som"
+    adventurer_forum_url: "forumet vårt" 
+    adventurer_join_suf: ", så hvis du foretrekker å få varsler derfra i stedet kan du registrere deg der!"
+    more_about_adventurer: "Lær mer om å bli en Eventyrer"
+    adventurer_subscribe_desc: "Få epost når det er nye brett som må testes."
+    scribe_summary_pref: "CodeCombat skal ikke bare være en samling av brett. Det skal også være en kilde til kunnskap om programmering som spillerene kan bruke. På den måten kan en Artisan linke til en detaljert artikkel som spilleren kan lære av, noe lignende det som "
+    scribe_summary_suf: " har bygget opp. Hvis du liker å forklare programmeringskonsepter, da er denne klassen for deg."
+    cribe_introduction_pref: "CodeCombat skal ikke bare være en samling av brett. Det skal også være en kilde til kunnskap, en wiki med programmeringskonsepter som kan brukes i brettene. Slik at i stedet for at hver Artisan må forklare i detalj hva en sammenligningsoperator er kan de bare linke brettet sitt til en eksisterende Artikkelen som forklarer konseptet. Noe lignende det som "
 #    scribe_introduction_url_mozilla: "Mozilla Developer Network"
-#    scribe_introduction_suf: " has built. If your idea of fun is articulating the concepts of programming in Markdown form, then this class might be for you."
-#    scribe_attribute_1: "Skill in words is pretty much all you need. Not only grammar and spelling, but able to convey complicated ideas to others."
-#    contact_us_url: "Contact us"
-#    scribe_join_description: "tell us a little about yourself, your experience with programming and what sort of things you'd like to write about. We'll go from there!"
-#    more_about_scribe: "Learn More About Becoming a Scribe"
-#    scribe_subscribe_desc: "Get emails about article writing announcements."
-#    diplomat_summary: "There is a large interest in CodeCombat in other countries that do not speak English! We are looking for translators who are willing to spend their time translating the site's corpus of words so that CodeCombat is accessible across the world as soon as possible. If you'd like to help getting CodeCombat international, then this class is for you."
-#    diplomat_introduction_pref: "So, if there's one thing we learned from the "
-#    diplomat_launch_url: "launch in October"
-#    diplomat_introduction_suf: "it's that there is sizeable interest in CodeCombat in other countries! We're building a corps of translators eager to turn one set of words into another set of words to get CodeCombat as accessible across the world as possible. If you like getting sneak peeks at upcoming content and getting these levels to your fellow nationals ASAP, then this class might be for you."
-#    diplomat_attribute_1: "Fluency in English and the language you would like to translate to. When conveying complicated ideas, it's important to have a strong grasp in both!"
-#    diplomat_i18n_page_prefix: "You can start translating our levels by going to our"
-#    diplomat_i18n_page: "translations page"
-#    diplomat_i18n_page_suffix: ", or our interface and website on GitHub."
-#    diplomat_join_pref_github: "Find your language locale file "
-#    diplomat_github_url: "on GitHub"
-#    diplomat_join_suf_github: ", edit it online, and submit a pull request. Also, check this box below to keep up-to-date on new internationalization developments!"
-#    more_about_diplomat: "Learn More About Becoming a Diplomat"
-#    diplomat_subscribe_desc: "Get emails about i18n developments and levels to translate."
-#    ambassador_summary: "We are trying to build a community, and every community needs a support team when there are troubles. We have got chats, emails, and social networks so that our users can get acquainted with the game. If you want to help people get involved, have fun, and learn some programming, then this class is for you."
-#    ambassador_introduction: "This is a community we're building, and you are the connections. We've got Olark chats, emails, and social networks with lots of people to talk with and help get acquainted with the game and learn from. If you want to help people get involved and have fun, and get a good feel of the pulse of CodeCombat and where we're going, then this class might be for you."
-#    ambassador_attribute_1: "Communication skills. Be able to identify the problems players are having and help them solve them. Also, keep the rest of us informed about what players are saying, what they like and don't like and want more of!"
-#    ambassador_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll go from there!"
-#    ambassador_join_note_strong: "Note"
-#    ambassador_join_note_desc: "One of our top priorities is to build multiplayer where players having difficulty solving levels can summon higher level wizards to help them. This will be a great way for ambassadors to do their thing. We'll keep you posted!"
-#    more_about_ambassador: "Learn More About Becoming an Ambassador"
-#    ambassador_subscribe_desc: "Get emails on support updates and multiplayer developments."
-#    changes_auto_save: "Changes are saved automatically when you toggle checkboxes."
-#    diligent_scribes: "Our Diligent Scribes:"
-#    powerful_archmages: "Our Powerful Archmages:"
-#    creative_artisans: "Our Creative Artisans:"
-#    brave_adventurers: "Our Brave Adventurers:"
-#    translating_diplomats: "Our Translating Diplomats:"
-#    helpful_ambassadors: "Our Helpful Ambassadors:"
+    scribe_introduction_suf: " har bygget opp. Hvis du synes det gøy å forklare programmeringskonsepter i Markdown format, da er denne klassen kanskje for deg."
+    scribe_attribute_1: "Å være flink med ord er egentlig det eneste som trengs. Ikke bare grammatikk og rettskriving, men også evne til å formidle kompliserte konsepter til andre."
+    contact_us_url: "Kontakt oss"
+    scribe_join_description: "fortell oss litt om deg selv, din erfaring med programmering og hva slags ting du har lyst til å skrive om. Så tar vi det derfra!"
+    more_about_scribe: "Ler mer om å bli en Skriver"
+    scribe_subscribe_desc: "Få epost om kunngjøringer relatert til artikkelskriving."
+    diplomat_summary: "Det er stor interesse for CodeCombat i land der de ikke snakker engelsk! Vi er på jakt etter oversettere som er villig til å bruke tid på å oversette all teksten i spillet og på nettsidene slik at CodeCombat er tilgjengelig over hele verden så snart som mulig. Hvis du vil hjelpe til å gjøre CodeCombat internasjonalt, da er denne klassen for deg."
+    diplomat_introduction_pref: "Hvis det er en ting vi lærte av "
+    diplomat_launch_url: "lanseringen i Oktober" #"launch in October"
+    diplomat_introduction_suf: "så er det at det er stor interesse for CodeCombat i andre land! Vi bygger et korps av oversettere som er ivrige etter å gjøre om ett sett av ord til et annet sett av ord, slik at CodeCombat blir tilgengelig i så store deler av verden som mulig. Hvis du liker å få sniktitte på kommende innhold og å bringe disse brettene til dine lansdmenn fortere enn svint, da er denne klassen kanskje for deg."
+    diplomat_attribute_1: "Gode kunnskaper i engelsk og det språket du vil oversette til. Når man skal formidle kompliserte konsepter er det viktig å mestre begge språkene godt!"
+    diplomat_i18n_page_prefix: "Du kan beynne å oversette brett ved å gå til vår" #"You can start translating our levels by going to our"
+    diplomat_i18n_page: "oversettingsside" #"translations page"
+    diplomat_i18n_page_suffix: ", eller oversette grensesnittet og websidene på GitHub."
+    diplomat_join_pref_github: "Finn din 'locale' fil " #"Find your language locale file "
+    diplomat_github_url: "på GitHub"
+    diplomat_join_suf_github: ", rediger den online, og send oss en 'pull request'. Og kryss av i boksen under for å motta oppdateringer relatert til internasjonalisering!"
+    more_about_diplomat: "Lær mer om å bli en Diplomat"
+    diplomat_subscribe_desc: "Få epost om i18n oppdateringer og nye brett som må oversettes."
+    ambassador_summary: "Vi prøver å bygge et fellesskap, og alle felleskap trenger støttespillere når det oppstår problemer. Vi har chat, epost og sosiale nettverk som spillerne kan bruke til å bli bedre kjent med spillet. Hvis du har lyst til å hjelpe folk til å involvere seg mer, ha det gøy, og lære litt programmering, da er denne klassen for deg."
+    ambassador_introduction: "Det er et felleskap vi prøver å bygge her, og dere er bindeleddene. Vi har Olark chat, epost, og sosiale nettverkmed mange mennesker så snakke med og hjelpe med å bli bedre kjent med spillet. Hvis du vil hjelpe folk å bli mer involvert, ha det gøy, og får en god følelse av stemningen i CodeCombat og hva vi prøver å få til, da er denne klassen kanskje for deg.."
+    ambassador_attribute_1: "Flink til å kommunisere. Flink til å identifisere problemene spillere har og hjelpe dem med å løse dem. Og i tillegg holde resten av oss informert om hva spillerne sier, hva de liker og ikke liker, og hva de vil ha mer av!"
+    ambassador_join_desc: "fortell oss litt om deg selv, hva du har drevet med tidligere og hva du er interessert i å gjøre. Så tar vi det derfra!"
+    ambassador_join_note_strong: "Merk" #"Note"
+    ambassador_join_note_desc: "En ting vi prioriterer høyt er å utvikle funksjonalitet i flerspillerdelen som lar spillere som har vanskeligheter med oppgaven tilkalle erfarne trollmenn som kan hjelpe dem. Dette vil være en flott måte for Ambasadører å hjelpe til på. Vi holder dere oppdatert!"
+    more_about_ambassador: "Lær mer om å bli en Ambassadør"
+    ambassador_subscribe_desc: "Få epost om oppdateringer relatert til brukerstøtte."
+    changes_auto_save: "Endringene lagres automatisk når klikker på avkryssingsboksene."
+    diligent_scribes: "Våre flittige Skrivere:" #"Our Diligent Scribes:"
+    powerful_archmages: "Våre mektige Erketrollmenn:" #"Our Powerful Archmages:"
+    creative_artisans: "Våre kreative Artisaner:" #"Our Creative Artisans:"
+    brave_adventurers: "Våre tapre Eventyrere:" #"Our Brave Adventurers:"
+    translating_diplomats: "Våre oversettende Diplomater:" #"Our Translating Diplomats:"
+    helpful_ambassadors: "Våre hjelpsomme Ambassadører:" #Our Helpful Ambassadors:"
 
-#  ladder:
+  ladder:
 #    please_login: "Please log in first before playing a ladder game."
-#    my_matches: "My Matches"
-#    simulate: "Simulate"
-#    simulation_explanation: "By simulating games you can get your game ranked faster!"
-#    simulate_games: "Simulate Games!"
-#    simulate_all: "RESET AND SIMULATE GAMES"
-#    games_simulated_by: "Games simulated by you:"
-#    games_simulated_for: "Games simulated for you:"
-#    games_simulated: "Games simulated"
-#    games_played: "Games played"
-#    ratio: "Ratio"
-#    leaderboard: "Leaderboard"
-#    battle_as: "Battle as "
-#    summary_your: "Your "
-#    summary_matches: "Matches - "
-#    summary_wins: " Wins, "
-#    summary_losses: " Losses"
-#    rank_no_code: "No New Code to Rank"
-#    rank_my_game: "Rank My Game!"
-#    rank_submitting: "Submitting..."
-#    rank_submitted: "Submitted for Ranking"
-#    rank_failed: "Failed to Rank"
-#    rank_being_ranked: "Game Being Ranked"
-#    rank_last_submitted: "submitted "
-#    help_simulate: "Help simulate games?"
-#    code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in."
-#    no_ranked_matches_pre: "No ranked matches for the "
-#    no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked."
-#    choose_opponent: "Choose an Opponent"
-#    select_your_language: "Select your language!"
+    my_matches: "Mine kamper"
+    simulate: "Simuler"
+    simulation_explanation: "Ved å simulere spill kan du få ditt spill rangert raskere!" #"By simulating games you can get your game ranked faster!"
+    simulate_games: "Simuler Spill!"
+    simulate_all: "TILBAKESTILL OG SIMULER SPILL"
+    games_simulated_by: "Spill simulert av deg:"
+    games_simulated_for: "Spill simulert for deg:"
+    games_simulated: "Spill simulert"
+    games_played: "Spill spilt"
+    ratio: "Forhold"
+    leaderboard: "Poengtavle" #"Leaderboard"
+    battle_as: "Kjemp som " #"Battle as "
+    summary_your: "Ditt "
+    summary_matches: "Kamper - "
+    summary_wins: " Seire, "
+    summary_losses: " Tap"
+    rank_no_code: "Ingen ny kode å rangere"
+    rank_my_game: "Ranger spillet mitt!"
+    rank_submitting: "Sender inn..."
+    rank_submitted: "Sendt inn for rangering"
+    rank_failed: "Rangering feilet"
+    rank_being_ranked: "Spillet blir rangert"
+    rank_last_submitted: "innsendt "
+    help_simulate: "Hjelpe til å simulere spill?"
+    code_being_simulated: "Koden din blir simulert av andre spillere for rangering. Listen vil bli oppdatert når nye resultater kommer inn."
+    no_ranked_matches_pre: "Ingen nye rangerte kamper for "
+    no_ranked_matches_post: " laget! Spill mot noen motstandere og kom tilbake hit etterpå for å få spillet ditt rangert."
+    choose_opponent: "Velg en motstander"
+    select_your_language: "Velg språk!" #"Select your language!"
 #    tutorial_play: "Play Tutorial"
-#    tutorial_recommended: "Recommended if you've never played before"
+    tutorial_recommended: "Anbefalt hvis du ikke har spilt før" #"Recommended if you've never played before"
 #    tutorial_skip: "Skip Tutorial"
-#    tutorial_not_sure: "Not sure what's going on?"
+    tutorial_not_sure: "Usikker på hva som foregår?" #"Not sure what's going on?"
 #    tutorial_play_first: "Play the Tutorial first."
-#    simple_ai: "Simple AI"
-#    warmup: "Warmup"
-#    friends_playing: "Friends Playing"
-#    log_in_for_friends: "Log in to play with your friends!"
+    simple_ai: "Enkel AI"
+    warmup: "Oppvarming"
+    friends_playing: "Venner som spiller" #"Friends Playing"
+    log_in_for_friends: "Logg inn for å spille med vennene dine" #"Log in to play with your friends!"
 #    social_connect_blurb: "Connect and play against your friends!"
-#    invite_friends_to_battle: "Invite your friends to join you in battle!"
+    invite_friends_to_battle: "Inviter vennene dine til å møte deg i strid!" #"Invite your friends to join you in battle!"
 #    fight: "Fight!"
-#    watch_victory: "Watch your victory"
-#    defeat_the: "Defeat the"
-#    tournament_ends: "Tournament ends"
-#    tournament_ended: "Tournament ended"
-#    tournament_rules: "Tournament Rules"
+    watch_victory: "Se seieren" #"Watch your victory"
+    defeat_the: "Overvinn" #"Defeat the"
+    tournament_ends: "Turneringen slutter" #"Tournament ends"
+    tournament_ended: "Turneringen sluttet " #"Tournament ended"
+    tournament_rules: "Turneringsregler" #"Tournament Rules"
 #    tournament_blurb: "Write code, collect gold, build armies, crush foes, win prizes, and upgrade your career in our $40,000 Greed tournament! Check out the details"
 #    tournament_blurb_criss_cross: "Win bids, construct paths, outwit opponents, grab gems, and upgrade your career in our Criss-Cross tournament! Check out the details"
 #    tournament_blurb_blog: "on our blog"
-#    rules: "Rules"
-#    winners: "Winners"
+    rules: "Regler"
+    winners: "Vinnere"
 
-#  user:
+  user:
 #    stats: "Stats"
-#    singleplayer_title: "Singleplayer Levels"
-#    multiplayer_title: "Multiplayer Levels"
-#    achievements_title: "Achievements"
-#    last_played: "Last Played"
+    singleplayer_title: "Enspiller Brett" #"Singleplayer Levels"
+    multiplayer_title: "Flerspiller Brett" #"Multiplayer Levels"
+    achievements_title: "Prestasjoner"
+    last_played: "Sist Spilt"
 #    status: "Status"
-#    status_completed: "Completed"
-#    status_unfinished: "Unfinished"
-#    no_singleplayer: "No Singleplayer games played yet."
-#    no_multiplayer: "No Multiplayer games played yet."
-#    no_achievements: "No Achievements earned yet."
-#    favorite_prefix: "Favorite language is "
+    status_completed: "Fullført"
+    status_unfinished: "Uferdig"
+    no_singleplayer: "Du har ikke spilt noen enspiller brett ennå." #"No Singleplayer games played yet."
+    no_multiplayer: "Du har ikke spilt noen flerspiller brett ennå." #"No Multiplayer games played yet."
+    no_achievements: "Ingen prestasjoner oppnådd ennå." #"No Achievements earned yet."
+    favorite_prefix: "Favorittspråket er " #"Favorite language is "
 #    favorite_postfix: "."
 
-#  achievements:
-#    last_earned: "Last Earned"
+  achievements:
+    last_earned: "Sist oppnådd" #"Last Earned"
 #    amount_achieved: "Amount"
-#    achievement: "Achievement"
-#    category_contributor: "Contributor"
+    achievement: "Prestasjon"
+    category_contributor: "Bidragsyter" #"Contributor"
 #    category_ladder: "Ladder"
-#    category_level: "Level"
-#    category_miscellaneous: "Miscellaneous"
-#    category_levels: "Levels"
-#    category_undefined: "Uncategorized"
+#    category_level: "Level" #FIXME: Brett eller nivå?
+    category_miscellaneous: "Forskjellig"
+#    category_levels: "Levels" #FIXME: Brett eller nivå?
+    category_undefined: "Ukategorisert"
 #    current_xp_prefix: ""
 #    current_xp_postfix: " in total"
 #    new_xp_prefix: ""
@@ -782,22 +799,22 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
 #    left_xp_infix: " until level "
 #    left_xp_postfix: ""
 
-#  account:
-#    recently_played: "Recently Played"
-#    no_recent_games: "No games played during the past two weeks."
+  account:
+    recently_played: "Nylig Spilt" #"Recently Played"
+    no_recent_games: "Ingen spill spilt de siste to ukene." #"No games played during the past two weeks."
 
 #  loading_error:
 #    could_not_load: "Error loading from server"
-#    connection_failure: "Connection failed."
-#    unauthorized: "You need to be signed in. Do you have cookies disabled?"
-#    forbidden: "You do not have the permissions."
-#    not_found: "Not found."
-#    not_allowed: "Method not allowed."
-#    timeout: "Server timeout."
-#    conflict: "Resource conflict."
-#    bad_input: "Bad input."
-#    server_error: "Server error."
-#    unknown: "Unknown error."
+    connection_failure: "Tilkobling feilet." #"Connection failed."
+    unauthorized: "Du må være pålogget. Har du informasjonskapsler (cookies) skrudd på?" #"You need to be signed in. Do you have cookies disabled?"
+    forbidden: "Du har ikke tilgang" #"You do not have the permissions."
+    not_found: "Ikke funnet."
+    not_allowed: "Metoden er ikke tillat" #"Method not allowed."
+    timeout: "Tidsavbrudd på server" #"Server timeout."
+    conflict: "Ressurskonflikt."
+    bad_input: "Feil i inndata" #"Bad input."
+    server_error: "Server feil."
+    unknown: "Ukjent feil."
 
 #  resources:
 #    sessions: "Sessions"
@@ -859,8 +876,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
 
   multiplayer:
     multiplayer_title: "Flerspillerinnstillinger" # We'll be changing this around significantly soon. Until then, it's not important to translate.
-#    multiplayer_toggle: "Enable multiplayer"
-#    multiplayer_toggle_description: "Allow others to join your game."
+    multiplayer_toggle: "Aktiver flerspiller"
+    multiplayer_toggle_description: "Tillat andre å bli med i spillet ditt."
     multiplayer_link_description: "Gi denne lenken til de du vil spille med."
     multiplayer_hint_label: "Hint:"
     multiplayer_hint: " Klikk lenken for å velge alle, så trykker du Apple-C eller Ctrl-C for å kopiere lenken."
@@ -948,18 +965,18 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
 #    license: "license"
 #    oreilly: "ebook of your choice"
 
-#  wizard_settings:
+  wizard_settings:
 #    title: "Wizard Settings"
 #    customize_avatar: "Customize Your Avatar"
-#    active: "Active"
-#    color: "Color"
-#    group: "Group"
-#    clothes: "Clothes"
-#    trim: "Trim"
-#    cloud: "Cloud"
-#    team: "Team"
+    active: "Aktiv"
+    color: "Farge"
+    group: "Gruppe"
+    clothes: "Klær"
+    trim: "Detaljer"
+    cloud: "Sky"
+    team: "Lag"
 #    spell: "Spell"
-#    boots: "Boots"
+    boots: "Støvler"
 #    hue: "Hue"
 #    saturation: "Saturation"
 #    lightness: "Lightness"
diff --git a/app/locale/tr.coffee b/app/locale/tr.coffee
index 9c75fda6f..5c3f716b8 100644
--- a/app/locale/tr.coffee
+++ b/app/locale/tr.coffee
@@ -10,7 +10,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
     for_beginners: "Yeni Başlayanlar için"
     multiplayer: "Çoklu-oyuncu Kipi" # Not currently shown on home page
     for_developers: "Geliştiriciler için" # Not currently shown on home page.
-#    or_ipad: "Or download for iPad"
+    or_ipad: "Ya da iPad için indir"
 
   nav:
     play: "Oyna" # The top nav bar entry where players choose which levels to play
@@ -52,11 +52,11 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
     players: "oyuncu" # Hover over a level on /play
     hours_played: "saat oynandı" # Hover over a level on /play
     items: "Ögeler" # Tooltip on item shop button from /play
-#    unlock: "Unlock" # For purchasing items and heroes
-#    confirm: "Confirm"
-#    owned: "Owned" # For items you own
-#    locked: "Locked"
-#    available: "Available"
+    unlock: "Kilidi aç" # For purchasing items and heroes
+    confirm: "Devam et"
+    owned: "Sahipsin" # For items you own
+    locked: "Kilitli"
+    available: "Açık"
 #    skills_granted: "Skills Granted" # Property documentation details
     heroes: "Kahramanlar" # Tooltip on hero shop button from /play
     achievements: "Başarımlar" # Tooltip on achievement list button from /play
@@ -65,13 +65,13 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
     next: "İleri" # Go from choose hero to choose inventory before playing a level
     change_hero: "Kahramanı Değiştir" # Go back from choose inventory to choose hero
     choose_inventory: "Ögeleri Giy"
-#    buy_gems: "Buy Gems"
+    buy_gems: "Taş satın a"
     older_campaigns: "Daha Eski Görevler"
     anonymous: "Anonim Oyuncu"
     level_difficulty: "Zorluk: "
     campaign_beginner: "Acemi Seferi"
 #    awaiting_levels_adventurer_prefix: "We release five levels per week."
-#    awaiting_levels_adventurer: "Sign up as an Adventurer"
+    awaiting_levels_adventurer: "Maceracı olmak için kayıt ol"
 #    awaiting_levels_adventurer_suffix: "to be the first to play new levels."
     choose_your_level: "Seviye Seçimi" # The rest of this section is the old play view at /play-old and isn't very important.
     adventurer_prefix: "Aşağıdaki seviyelerden birini doğrudan oynayabilirsiniz, veya seviye ile ilgili "
@@ -87,8 +87,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
     campaign_player_created_description: "<a href=\"/contribute#artisan\">Zanaatkâr Büyücüler</a>in yaratıcılıklarına karşı mücadele etmek için..."
     campaign_classic_algorithms: "Klasik Algoritmalar"
     campaign_classic_algorithms_description: "... Bilgisayar Bilimleri'nde öğrendiğiniz en yaygın algoritmalar."
-#    campaign_forest: "Forest Campaign"
-#    campaign_dungeon: "Dungeon Campaign"
+    campaign_forest: "Orman Senaryosu"
+    campaign_dungeon: "Zindan Senaryosu"
 
   login:
     sign_up: "Hesap Oluştur"
@@ -119,12 +119,12 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
     recovery_sent: "Kurtarma e-postası gönderildi."
 
   items:
-#    primary: "Primary"
-#    secondary: "Secondary"
+    primary: "Birincil"
+    secondary: "İkincil"
     armor: "Zırh"
     accessories: "Aksesuarlar"
     misc: "Çeşitli"
-#    books: "Books"
+    books: "Kitaplar"
 
   common:
     loading: "Yükleniyor..."
@@ -137,7 +137,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
     create: "Oluştur"
     manual: "El ile"
     fork: "Çatalla"
-    play: "Oyna" # When used as an action verb, like "Play next level"
+    play: "Oyna" # When used as an action verb, like "Sonraki Seviyeyi Oyna"
     retry: "Yeniden Dene"
     watch: "İzle"
     unwatch: "İzlemeyi Bırak"
@@ -201,16 +201,16 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
     restart: "Yeniden başlat"
     goals: "Hedefler"
     goal: "Amaç"
-#    running: "Running..."
+    running: "Çalıştırılıyor..."
     success: "Başarılı!"
     incomplete: "Tamamlanmamış"
     timed_out: "Süre bitti"
     failing: "Başarısız"
     action_timeline: "Eylem Çizelgesi"
     click_to_select: "Birimi seçmek için üzerine tıklayın."
-#    control_bar_multiplayer: "Multiplayer"
-#    control_bar_join_game: "Join Game"
-#    reload: "Reload"
+    control_bar_multiplayer: "Çoklu Oyuncu"
+    control_bar_join_game: "Oyuna Katıl"
+    reload: "Yeniden Yükle"
     reload_title: "Tüm kod yeniden yüklensin mi?"
     reload_really: "Bu seviyeyi en baştan yüklemek istediğinizden emin misiniz?"
     reload_confirm: "Tümünü Yeniden Yükle"
@@ -247,13 +247,13 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
     tome_available_spells: "Kullanılabilir Büyüler"
     tome_your_skills: "Yetenekleriniz"
 #    tome_current_method: "Current Method"
-#    hud_continue_short: "Continue"
+    hud_continue_short: "Devam"
     code_saved: "Kod Kaydedildi"
     skip_tutorial: "Atla (ESC)"
     keyboard_shortcuts: "Klavye Kısayolları"
     loading_ready: "Hazır!"
     loading_start: "Seviyeyi Başlat"
-#    problem_alert_title: "Fix Your Code"
+    problem_alert_title: "Kodunu Düzelt"
     time_current: "Şimdi:"
     time_total: "Max:"
     time_goto: "Git:"
@@ -308,20 +308,20 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
 
   inventory:
     choose_inventory: "Ögeleri Donan"
-#    equipped_item: "Equipped"
-#    available_item: "Available"
+    equipped_item: "Giyilmiş"
+    available_item: "Açık"
 #    restricted_title: "Restricted"
-#    should_equip: "(double-click to equip)"
-#    equipped: "(equipped)"
-#    locked: "(locked)"
+    should_equip: "(iki kere tıklayarak giy)"
+    equipped: "(giyildi)"
+    locked: "(kitli)"
 #    restricted: "(restricted in this level)"
-#    equip: "Equip"
-#    unequip: "Unequip"
+    equip: "Giy"
+    unequip: "Çıkar"
 
-#  buy_gems:
-#    few_gems: "A few gems"
-#    pile_gems: "Pile of gems"
-#    chest_gems: "Chest of gems"
+  buy_gems:
+    few_gems: "Bir avuç taş"
+    pile_gems: "Bir Torba"
+    chest_gems: "Sandık dolusu taş"
 #    purchasing: "Purchasing..."
 #    declined: "Your card was declined"
 #    retrying: "Server error, retrying."
@@ -330,7 +330,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
     choose_hero: "Kahramanınızı Seçin"
     programming_language: "Programlama Dili"
     programming_language_description: "Hangi programlama dilini kullanmak istiyorsunuz?"
-#    default: "Default"
+#    default: "Normal"
 #    experimental: "Experimental"
     python_blurb: "Basit ancak güçlü. Python mükemmel bir genel amaçlı dildir."
     javascript_blurb: "Web'in dili."
@@ -347,8 +347,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
     health: "Sağlık"
     speed: "Hız"
 #    regeneration: "Regeneration"
-#    range: "Range" # As in "attack or visual range"
-#    blocks: "Blocks" # As in "this shield blocks this much damage"
+    range: "Menzil" # As in "attack or visual range"
+    blocks: "Blok" # As in "this shield blocks this much damage"
     skills: "Yetenekler"
 
 #  skill_docs:
diff --git a/app/locale/zh-HANS.coffee b/app/locale/zh-HANS.coffee
index 6da6959ee..3d1b46287 100644
--- a/app/locale/zh-HANS.coffee
+++ b/app/locale/zh-HANS.coffee
@@ -10,7 +10,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
     for_beginners: "适合初学者"
     multiplayer: "多人游戏" # Not currently shown on home page
     for_developers: "适合开发者" # Not currently shown on home page.
-#    or_ipad: "Or download for iPad"
+    or_ipad: "或者下载iPad版本" # Or download for iPad
 
   nav:
     play: "关卡选择" # The top nav bar entry where players choose which levels to play
@@ -208,8 +208,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
     failing: "失败"
     action_timeline: "行动时间轴"
     click_to_select: "点击选择一个单元。"
-#    control_bar_multiplayer: "Multiplayer"
-#    control_bar_join_game: "Join Game"
+    control_bar_multiplayer: "多人游戏"
+    control_bar_join_game: "加入游戏"
     reload: "重载"
     reload_title: "重载所有代码?"
     reload_really: "确定重载这一关,返回开始处吗?"
diff --git a/app/schemas/models/thang_type.coffee b/app/schemas/models/thang_type.coffee
index 75a8a6d6b..a90b465a4 100644
--- a/app/schemas/models/thang_type.coffee
+++ b/app/schemas/models/thang_type.coffee
@@ -133,6 +133,17 @@ _.extend ThangTypeSchema.properties,
   rasterIcon: { type: 'string', format: 'image-file', title: 'Raster Image Icon' }
   containerIcon: { type: 'string' }
   featureImage: { type: 'string', format: 'image-file', title: 'Feature Image' }
+  featureImageHair: { type: 'string', format: 'image-file', title: 'Feature Image Hair' }
+  featureImageThumb: { type: 'string', format: 'image-file', title: 'Feature Image Thumb' }
+  dollImages: c.object { title: 'Paper Doll Images' },
+    male: { type: 'string', format: 'image-file', title: ' Male' }
+    female: { type: 'string', format: 'image-file', title: ' Female' }
+    maleThumb: { type: 'string', format: 'image-file', title: 'Thumb (Male)' }
+    femaleThumb: { type: 'string', format: 'image-file', title: 'Thumb (Female)' }
+    maleRanger: { type: 'string', format: 'image-file', title: 'Glove (Male Ranger)' }
+    maleRangerThumb: { type: 'string', format: 'image-file', title: 'Thumb (Male Ranger)' }
+    femaleRanger: { type: 'string', format: 'image-file', title: 'Glove (Female Ranger)' }
+    femaleRangeThumbr: { type: 'string', format: 'image-file', title: 'Thumb (Female Ranger)' }
   colorGroups: c.object
     title: 'Color Groups'
     additionalProperties:
diff --git a/app/styles/game-menu/inventory-modal.sass b/app/styles/game-menu/inventory-modal.sass
index 1aab744f6..5c19397e9 100644
--- a/app/styles/game-menu/inventory-modal.sass
+++ b/app/styles/game-menu/inventory-modal.sass
@@ -1,8 +1,9 @@
 @import "app/styles/mixins"
 
-$itemSlotSize: 55px
+$itemSlotSize: 48px
 $itemSlotInnerWidth: $itemSlotSize - 4
-$itemSlotGridHeight: 70px
+$itemSlotGridWidth: 51px
+$itemSlotGridHeight: 51px
 
 .ui-effects-transfer
   outline: 2px solid #28f
@@ -83,15 +84,6 @@ $itemSlotGridHeight: 70px
     height: 450px
     overflow: hidden
 
-    #hero-image
-      @include filter(contrast(0%) brightness(0%))
-      opacity: 0.4
-      width: 225px
-      height: 410px
-      position: absolute
-      left: 10px
-      top: 20px
-
     .item-slot
       width: $itemSlotSize
       height: $itemSlotSize
@@ -101,6 +93,7 @@ $itemSlotGridHeight: 70px
       position: relative
       cursor: pointer
       @include transition(0.5s ease)
+      z-index: 20
 
       //&.disabled
       //  opacity: 0.5
@@ -134,36 +127,36 @@ $itemSlotGridHeight: 70px
         background-image: url(/images/pages/game-menu/slot-icons.png)
   
 
-      // A terrible awful bit of styling, but will be gone or messed around with soon anyway
+      // Positioning the slots manually
+
+      &[data-slot]
+        position: absolute
+        top: 10px
+        left: 10px
 
       &[data-slot="misc-1"]
         display: none // hiding for now
-        position: absolute
-        left: 250px
-        top: 20px + ($itemSlotGridHeight * 3)
+        left: 10px + ($itemSlotGridWidth * 0)
+        top: 15px + ($itemSlotGridHeight * 3)
         .placeholder
           background-position: (-0 * $itemSlotInnerWidth) 0px
   
       &[data-slot="misc-0"]
         display: none // hiding for now
-        position: absolute
-        left: 250px
-        top: 20px + ($itemSlotGridHeight * 2)
+        left: 10px + ($itemSlotGridWidth * 0)
+        top: 15px + ($itemSlotGridHeight * 2)
         .placeholder
           background-position: (-4 * $itemSlotInnerWidth) 0px
 
-
       &[data-slot="minion"]
-        position: absolute
-        left: 250px
-        top: 20px + ($itemSlotGridHeight * 1)
+        left: 10px + ($itemSlotGridWidth * 0)
+        top: 15px + ($itemSlotGridHeight * 0)
         .placeholder
           background-position: (-1 * $itemSlotInnerWidth) 0px
   
       &[data-slot="programming-book"]
-        position: absolute
-        left: 250px
-        top: 20px + ($itemSlotGridHeight * 4)
+        left: 10px + ($itemSlotGridWidth * 0)
+        top: 15px + ($itemSlotGridHeight * 0)
         .placeholder
           background-position: (-3 * $itemSlotInnerWidth) 0px
   
@@ -172,100 +165,86 @@ $itemSlotGridHeight: 70px
       //  background-position: (-2 * $itemSlotInnerWidth) 0px
   
       &[data-slot="wrists"]
-        position: absolute
-        left: 20px
-        top: 20px + ($itemSlotGridHeight * 2.5)
+        left: 10px + ($itemSlotGridWidth * 0)
+        top: 15px + ($itemSlotGridHeight * 0)
         .placeholder
           background-position: (-5 * $itemSlotInnerWidth) 0px
   
       &[data-slot="left-ring"]
-        position: absolute
-        left: 250px
-        top: 20px + ($itemSlotGridHeight * 2)
+        left: 10px + ($itemSlotGridWidth * 4)
+        top: 15px + ($itemSlotGridHeight * 0)
         .placeholder
           background-position: (-6 * $itemSlotInnerWidth) 0px
   
       &[data-slot="right-ring"]
-        position: absolute
-        left: 250px
-        top: 20px + ($itemSlotGridHeight * 3)
+        left: 10px + ($itemSlotGridWidth * 1)
+        top: 15px + ($itemSlotGridHeight * 0)
         .placeholder
           background-position: (-7 * $itemSlotInnerWidth) 0px
   
       &[data-slot="torso"]
-        position: absolute
-        left: 90px
-        top: 20px + ($itemSlotGridHeight * 3)
+        left: 10px + ($itemSlotGridWidth * 5)
+        top: 15px + ($itemSlotGridHeight * 2)
         .placeholder
           background-position: (-8 * $itemSlotInnerWidth) 0px
   
       &[data-slot="feet"]
-        position: absolute
-        left: 90px
-        top: 20px + ($itemSlotGridHeight * 5)
+        left: 10px + ($itemSlotGridWidth * 0)
+        top: 15px + ($itemSlotGridHeight * 7.2)
         .placeholder
           background-position: (-9 * $itemSlotInnerWidth) 0px
   
       &[data-slot="neck"]
-        position: absolute
-        left: 90px
-        top: 20px + ($itemSlotGridHeight * 2)
+        left: 10px + ($itemSlotGridWidth * 3)
+        top: 15px + ($itemSlotGridHeight * 0)
         .placeholder
           background-position: (-10 * $itemSlotInnerWidth) 0px
   
       &[data-slot="waist"]
-        position: absolute
-        left: 90px
-        top: 20px + ($itemSlotGridHeight * 4)
+        left: 10px + ($itemSlotGridWidth * 0)
+        top: 15px + ($itemSlotGridHeight * 1)
         .placeholder
           background-position: (-11 * $itemSlotInnerWidth) 0px
   
       &[data-slot="eyes"]
-        position: absolute
-        left: 90px
-        top: 20px + $itemSlotGridHeight
+        left: 10px + ($itemSlotGridWidth * 2)
+        top: 15px + ($itemSlotGridHeight * 0)
         .placeholder
           background-position: (-12 * $itemSlotInnerWidth) 0px
   
       &[data-slot="head"]
-        position: absolute
-        left: 90px
-        top: 20px
+        left: 10px + ($itemSlotGridWidth * 5)
+        top: 15px + ($itemSlotGridHeight * 1)
         .placeholder
           background-position: (-13 * $itemSlotInnerWidth) 0px
         
       &[data-slot="pet"]
-        position: absolute
-        left: 250px
-        top: 20px
+        left: 10px + ($itemSlotGridWidth * 5)
+        top: 15px + ($itemSlotGridHeight * 7.2)
         .placeholder
           background-position: (-14 * $itemSlotInnerWidth) 0px
   
       &[data-slot="gloves"]
-        position: absolute
-        left: 160px
-        top: 20px + ($itemSlotGridHeight * 2.5)
+        left: 10px + ($itemSlotGridWidth * 0)
+        top: 15px + ($itemSlotGridHeight * 2)
         .placeholder
           background-position: (-15 * $itemSlotInnerWidth) 0px
   
       &[data-slot="left-hand"]
-        position: absolute
-        left: 160px
-        top: 20px + ($itemSlotGridHeight * 3.5)
+        left: 10px + ($itemSlotGridWidth * 5)
+        top: 15px + ($itemSlotGridHeight * 3)
         .placeholder
           background-position: (-16 * $itemSlotInnerWidth) 0px
   
       &[data-slot="right-hand"]
-        position: absolute
-        left: 20px
-        top: 20px + ($itemSlotGridHeight * 3.5)
+        left: 10px + ($itemSlotGridWidth * 0)
+        top: 15px + ($itemSlotGridHeight * 3)
         .placeholder
           background-position: (-17 * $itemSlotInnerWidth) 0px
   
       &[data-slot="flag"]
-        position: absolute
-        left: 250px
-        top: 20px + ($itemSlotGridHeight * 5)
+        left: 10px + ($itemSlotGridWidth * 5)
+        top: 15px + ($itemSlotGridHeight * 0)
         .placeholder
           background-position: (-2 * $itemSlotInnerWidth) 0px
   
@@ -498,3 +477,130 @@ $itemSlotGridHeight: 70px
     #equip-item-viewed
       background: rgb(84,128,44)
       color: white
+
+  //- Paper doll positioning
+
+  #hero-image
+    //@include filter(contrast(0%) brightness(0%))
+    //opacity: 0.4
+    //width: 225px
+    display: block
+    position: absolute
+    z-index: 12
+
+    &.male
+      left: 65px
+      bottom: 31px
+
+    &.female
+      left: 80px
+      bottom: 31px
+
+  #hero-image-hair
+    position: absolute
+    z-index: 16
+
+    &.female
+      left: 103px
+      bottom: 218px
+
+    &.male
+      left: 124px
+      bottom: 228px
+
+  #hero-image-thumb
+    position: absolute
+    z-index: 16
+
+    &.female
+      left: 81px
+      bottom: 150px
+      @include rotate(-15deg)
+
+    &.male
+      left: 68px
+      bottom: 121px
+      @include rotate(-15deg)
+
+  .doll-image
+    position: absolute
+    z-index: 15
+
+    &.feet
+      z-index: 13
+
+      &.female
+        left: 101px
+        bottom: 37px
+
+      &.male
+        left: 98px
+        bottom: 37px
+
+    &.right-hand
+      &.female
+        left: 48px
+        bottom: 132px
+        @include rotate(-15deg)
+        
+      &.male
+        left: 40px
+        bottom: 111px
+        @include rotate(-15deg)
+
+    &.left-hand
+      z-index: 17
+      &.female
+        left: 193px
+        bottom: 72px
+        
+      &.male
+        left: 193px
+        bottom: 72px
+
+    &.torso
+      z-index: 14
+
+      &.female
+        left: 72px
+        bottom: 105px
+        
+      &.male
+        left: 55px
+        bottom: 69px
+
+    &.gloves
+      z-index: 15
+
+      &.female
+        left: 78px
+        bottom: 133px
+
+        &.female-thumb
+          z-index: 16
+          left: 81px
+          bottom: 150px
+          @include rotate(-15deg)
+        
+      &.male
+        left: 65px
+        bottom: 109px
+
+        &.male-thumb
+          z-index: 16
+          left: 68px
+          bottom: 121px
+          @include rotate(-15deg)
+        
+    &.head
+      z-index: 16
+
+      &.female
+        left: 72px
+        bottom: 105px
+        
+      &.male
+        left: 119px
+        bottom: 180px
+
+
diff --git a/app/styles/home.sass b/app/styles/home.sass
index 203e3ffe0..0092035f6 100644
--- a/app/styles/home.sass
+++ b/app/styles/home.sass
@@ -70,3 +70,15 @@
   .alert
     top: 213px
     border: 5px solid darkred
+
+  &.hour-of-code
+    #site-footer
+      background-color: rgb(70, 58, 44)
+      height: 185px
+
+      .hour-of-code-explanation
+        color: #9e8777
+        text-align: center
+
+        a
+          color: lighten(#0b63bc, 10%)
diff --git a/app/styles/play/level/modal/hero-victory-modal.sass b/app/styles/play/level/modal/hero-victory-modal.sass
index 4e4c8b523..2ca7c5c2b 100644
--- a/app/styles/play/level/modal/hero-victory-modal.sass
+++ b/app/styles/play/level/modal/hero-victory-modal.sass
@@ -231,6 +231,23 @@
       width: calc(33.333333% - 10px)
       margin: 5px
 
+  .hour-of-code-done
+    clear: both
+    padding-top: 10px
+
+    strong
+      color: white
+      display: block
+      margin-bottom: 10px
+      font-weight: normal
+
+    .image-link
+      float: right
+      margin-left: 10px
+
+    .text-link
+      color: lighten(#0b63bc, 10%)
+
 
 html.no-borderimage
   #hero-victory-modal
diff --git a/app/templates/base.jade b/app/templates/base.jade
index 4892d7148..53a4f0732 100644
--- a/app/templates/base.jade
+++ b/app/templates/base.jade
@@ -86,3 +86,5 @@ block footer
         a(href="http://www.fullyillustrated.com/") Fully Illustrated
       a.firebase-bade(href="https://www.firebase.com/")
         img(src="/images/pages/base/firebase.png", alt="Powered by Firebase")
+
+    block extra_footer_content
diff --git a/app/templates/community.jade b/app/templates/community.jade
index d3a297291..238a8f11c 100644
--- a/app/templates/community.jade
+++ b/app/templates/community.jade
@@ -26,7 +26,7 @@ block content
       p
         span(data-i18n="community.thang_editor_prefix") We call units within the game 'thangs'. Use the
         a.spl.spr(href="/editor/thang", data-i18n="editor.thang_title")
-        span(data-i18n="community.level_editor_suffix") to modify the CodeCombat source artwork. Allow units to throw projectiles, alter the direction of an animation, change a unit's hit points, or upload your own vector sprites.
+        span(data-i18n="community.thang_editor_suffix") to modify the CodeCombat source artwork. Allow units to throw projectiles, alter the direction of an animation, change a unit's hit points, or upload your own vector sprites.
 
     .community-columns
       a(href="/editor/article")
diff --git a/app/templates/game-menu/inventory-modal.jade b/app/templates/game-menu/inventory-modal.jade
index f1d45ca8e..b06d91793 100644
--- a/app/templates/game-menu/inventory-modal.jade
+++ b/app/templates/game-menu/inventory-modal.jade
@@ -10,7 +10,11 @@
 
     #equipped
       if selectedHero && selectedHero.get('featureImage')
-        img(src="/file/"+selectedHero.get('featureImage'))#hero-image
+        img(src="/file/"+selectedHero.get('featureImage'), draggable="false")#hero-image
+        if selectedHero.get('featureImageHair')
+          img(src="/file/"+selectedHero.get('featureImageHair'), draggable="false")#hero-image-hair
+        if selectedHero.get('featureImageThumb')
+          img(src="/file/"+selectedHero.get('featureImageThumb'), draggable="false")#hero-image-thumb
 
       for slot in ['head', 'eyes', 'neck', 'torso', 'gloves', 'wrists', 'left-hand', 'right-hand', 'waist', 'feet', 'left-ring', 'right-ring', 'minion', 'flag', 'pet', 'programming-book', 'misc-0', 'misc-1']
         .item-slot(data-slot=slot)
diff --git a/app/templates/home.jade b/app/templates/home.jade
index d28401a6a..304791189 100644
--- a/app/templates/home.jade
+++ b/app/templates/home.jade
@@ -22,4 +22,13 @@ block outer_content
       strong(data-i18n="home.old_browser") Uh oh, your browser is too old to run CodeCombat. Sorry!
       br
       span(data-i18n="home.old_browser_suffix") You can try anyway, but it probably won't work.
-  
\ No newline at end of file
+
+block extra_footer_content
+  if true || explainHourOfCode
+    // Does not show up unless lang is en-US.
+    div.hour-of-code-explanation
+      | The 'Hour of Code' is a nationwide initiative by 
+      a(href="http://csedweek.org") Computer Science Education Week
+      |  and 
+      a(href="http://code.org") Code.org
+      |  to introduce millions of students to one hour of computer science and computer programming.
\ No newline at end of file
diff --git a/app/templates/play/level.jade b/app/templates/play/level.jade
index 3c5b8d968..095b4434c 100644
--- a/app/templates/play/level.jade
+++ b/app/templates/play/level.jade
@@ -37,11 +37,3 @@
 #play-footer
   p(class='footer-link-text')
     a(title='Send CodeCombat a message', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Contact
-  if explainHourOfCode
-    // Does not show up unless lang is en-US.
-    div.hour-of-code-explanation
-      | The 'Hour of Code' is a nationwide initiative by 
-      a(href="http://csedweek.org") Computer Science Education Week
-      |  and 
-      a(href="http://code.org") Code.org
-      |  to introduce millions of students to one hour of computer science and computer programming.
\ No newline at end of file
diff --git a/app/templates/play/level/modal/hero-victory-modal.jade b/app/templates/play/level/modal/hero-victory-modal.jade
index 6a7559e8b..5302dc502 100644
--- a/app/templates/play/level/modal/hero-victory-modal.jade
+++ b/app/templates/play/level/modal/hero-victory-modal.jade
@@ -69,3 +69,12 @@ block modal-footer-content
       button.btn.btn-primary.return-to-ladder-button(data-href="/play/ladder/#{level.get('slug')}#my-matches", data-dismiss="modal", data-i18n="play_level.victory_return_to_ladder") Return to Ladder
     else
       button.btn.btn-success.world-map-button.next-level-button.hide#continue-button(data-i18n="play_level.victory_play_continue") Continue
+
+  if showHourOfCodeDoneButton
+    .hour-of-code-done
+      hr
+      a.image-link(href="http://code.org/api/hour/finish")
+        img(src="/images/level/csedweek-logo-final-small.jpg", alt="CS Ed Week Hour of Code", title="I'm finished with my Hour of Code", width=80)
+      strong(data-i18n="play_level.victory_hour_of_code_done") Are You Done?
+      a.text-link(href="http://code.org/api/hour/finish")
+        span(data-i18n="play_level.victory_hour_of_code_done_yes") Yes, I'm finished with my Hour of Code!
diff --git a/app/views/FrontView.coffee b/app/views/FrontView.coffee
deleted file mode 100644
index c137b4afd..000000000
--- a/app/views/FrontView.coffee
+++ /dev/null
@@ -1,34 +0,0 @@
-RootView = require 'views/kinds/RootView'
-template = require 'templates/front-view'
-{me} = require '/lib/auth'
-ModalView = require 'views/kinds/ModalView'
-
-module.exports = class FrontView extends RootView
-  id: 'front-view'
-  template: template
-
-  events:
-    'click .platform-ios a': 'onIOSClicked'
-
-  getRenderData: ->
-    c = super()
-    if $.browser
-      majorVersion = $.browser.versionNumber
-      c.isOldBrowser = true if $.browser.mozilla && majorVersion < 21
-      c.isOldBrowser = true if $.browser.chrome && majorVersion < 17
-      c.isOldBrowser = true if $.browser.safari && majorVersion < 6
-    else
-      console.warn 'no more jquery browser version...'
-    c
-
-  afterRender: ->
-    super()
-
-  onIOSClicked: (e) ->
-    header = 'Sorry, the iPad app isn\'t ready yet'
-    body = '''
-      <p class="lead">We are working on it!</p>
-      <p>For now, try playing on the web, and totally sign up (with emails enabled) so you can be the first to hear when it is ready.</p>
-    '''
-    notImplementedModal = new ModalView headerContent: header, bodyContent: body
-    @openModalView notImplementedModal
diff --git a/app/views/HomeView.coffee b/app/views/HomeView.coffee
index fd6abd2df..18ff30fa6 100644
--- a/app/views/HomeView.coffee
+++ b/app/views/HomeView.coffee
@@ -16,6 +16,12 @@ module.exports = class HomeView extends RootView
   constructor: ->
     super()
     window.tracker?.trackEvent 'Homepage', Action: 'Loaded'
+    if not me.get('hourOfCode') and @getQueryVariable 'hour_of_code'
+      @setUpHourOfCode()
+    elapsed = (new Date() - new Date(me.get('dateCreated')))
+    if me.get('hourOfCode') and elapsed < 86400 * 1000 and me.get('preferredLanguage', true) is 'en-US'
+      # Show the Hour of Code footer explanation in English until it's been more than a day
+      @explainsHourOfCode = true
 
   getRenderData: ->
     c = super()
@@ -28,6 +34,7 @@ module.exports = class HomeView extends RootView
       console.warn 'no more jquery browser version...'
     c.isEnglish = (me.get('preferredLanguage') or 'en').startsWith 'en'
     c.languageName = me.get('preferredLanguage')
+    c.explainsHourOfCode = @explainsHourOfCode
     c
 
   onClickBeginnerCampaign: (e) ->
@@ -39,3 +46,17 @@ module.exports = class HomeView extends RootView
 
   afterInsert: ->
     super(arguments...)
+    @$el.addClass 'hour-of-code' if @explainsHourOfCode
+    if me.isAdmin() and me.get('slug') is 'nick'
+      LevelSetupManager = require 'lib/LevelSetupManager'
+      setupManager = new LevelSetupManager levelID: 'dungeons-of-kithgard', hadEverChosenHero: true, parent: @
+      setupManager.open()
+
+  setUpHourOfCode: ->
+    elapsed = (new Date() - new Date(me.get('dateCreated')))
+    if elapsed < 5 * 60 * 1000
+      me.set 'hourOfCode', true
+      me.patch()
+    # We may also insert the tracking pixel for everyone on the WorldMapView so as to count directly-linked visitors.
+    $('body').append($('<img src="http://code.org/api/hour/begin_codecombat.png" style="visibility: hidden;">'))
+    application.tracker?.trackEvent 'Hour of Code Begin', {}
diff --git a/app/views/contribute/DiplomatView.coffee b/app/views/contribute/DiplomatView.coffee
index 2e369c515..70cf1a066 100644
--- a/app/views/contribute/DiplomatView.coffee
+++ b/app/views/contribute/DiplomatView.coffee
@@ -76,7 +76,7 @@ module.exports = class DiplomatView extends ContributeClassView
     bg: []             # български език, Bulgarian
     no: ['bardeh', 'torehaug']             # Norsk, Norwegian
     nn: []             # Norwegian (Nynorsk), Norwegian Nynorsk
-    nb: ['mcclane654']             # Norsk Bokmål, Norwegian (Bokmål)
+    nb: ['ebirkenes','mcclane654']             # Norsk Bokmål, Norwegian (Bokmål)
     he: ['OverProgram', 'monetita']             # עברית, Hebrew
     lt: []             # lietuvių kalba, Lithuanian
     sr: []             # српски, Serbian
diff --git a/app/views/game-menu/InventoryModal.coffee b/app/views/game-menu/InventoryModal.coffee
index b47f93f9a..3f7bfb16b 100644
--- a/app/views/game-menu/InventoryModal.coffee
+++ b/app/views/game-menu/InventoryModal.coffee
@@ -54,6 +54,7 @@ module.exports = class InventoryModal extends ModalView
       'components'
       'original'
       'rasterIcon'
+      'dollImages'
       'gems'
       'tier'
       'description'
@@ -144,6 +145,7 @@ module.exports = class InventoryModal extends ModalView
     @canvasHeight = @$el.find('canvas').innerHeight()
     @inserted = true
     @requireLevelEquipment()
+    @onEquipmentChanged()
 
   #- Draggable logic
 
@@ -269,6 +271,7 @@ module.exports = class InventoryModal extends ModalView
     @makeEquippedSlotDraggable slotEl
     @requireLevelEquipment()
     @onSelectionChanged()
+    @onEquipmentChanged()
 
   unequipSelectedItem: ->
     slotEl = @getSelectedSlot()
@@ -283,7 +286,7 @@ module.exports = class InventoryModal extends ModalView
     @showItemDetails(item, 'equip')
     @requireLevelEquipment()
     @onSelectionChanged()
-
+    @onEquipmentChanged()
 
   #- Select/equip helpers
 
@@ -399,6 +402,7 @@ module.exports = class InventoryModal extends ModalView
     @$el.removeClass('Warrior Ranger Wizard').addClass(@selectedHero.get('heroClass'))
     @requireLevelEquipment()
     @render()
+    @onEquipmentChanged()
 
   onShown: ->
     # Called when we switch tabs to this within the modal
@@ -515,13 +519,56 @@ module.exports = class InventoryModal extends ModalView
     return if @destroyed
     @$el.find('.unlock-button').popover 'destroy'
 
+
+  #- Paper doll equipment updating
+  onEquipmentChanged: ->
+    @removeDollImages()
+    heroClass = @selectedHero?.get('heroClass') ? 'Warrior'
+    gender = if @selectedHero?.get('slug') in heroGenders.male then 'male' else 'female'
+    equipment = @getCurrentEquipmentConfig()
+    slotsWithImages = []
+    for slot, original of equipment
+      item = _.find @items.models, (item) -> item.get('original') is original
+      continue unless dollImages = item?.get('dollImages')
+      didAdd = @addDollImage slot, dollImages, heroClass, gender
+      slotsWithImages.push slot if didAdd
+    @$el.find('#hero-image, #hero-image-hair, #hero-image-thumb').removeClass().addClass "#{gender} #{heroClass}"
+    @$el.find('#hero-image-hair').toggle not ('head' in slotsWithImages)
+    @$el.find('#hero-image-thumb').toggle not ('gloves' in slotsWithImages)
+
+  removeDollImages: ->
+    @$el.find('.doll-image').remove()
+
+  addDollImage: (slot, dollImages, heroClass, gender) ->
+    heroClass = @selectedHero?.get('heroClass') ? 'Warrior'
+    gender = if @selectedHero?.get('slug') in heroGenders.male then 'male' else 'female'
+    didAdd = false
+    if slot is 'gloves'
+      if heroClass is 'Ranger'
+        imageKeys = ["#{gender}#{heroClass}", "#{gender}#{heroClass}Thumb"]
+      else
+        imageKeys = ["#{gender}", "#{gender}Thumb"]
+    else
+      imageKeys = [gender]
+    for imageKey in imageKeys
+      imageURL = dollImages[imageKey]
+      if not imageURL
+        console.log "Hmm, should have #{slot} #{imageKey} paper doll image, but don't have it."
+      else
+        imageEl = $('<img>').attr('src', "/file/#{imageURL}").addClass("doll-image #{slot} #{heroClass} #{gender} #{_.string.underscored(imageKey).replace(/_/g, '-')}").attr('draggable', false)
+        @$el.find('#equipped').append imageEl
+        didAdd = true
+    didAdd
+
   destroy: ->
     @$el.find('.unlock-button').popover 'destroy'
     @stage?.removeAllChildren()
     super()
 
 
-
+heroGenders =
+  male: ['knight', 'samurai', 'trapper', 'potion-master']
+  female: ['captain', 'ninja', 'forest-archer', 'librarian', 'sorcerer']
 
 gear =
   'simple-boots': '53e237bf53457600003e3f05'
diff --git a/app/views/play/MainPlayView.coffee b/app/views/play/MainPlayView.coffee
index 0c2301a86..453dc5ce3 100644
--- a/app/views/play/MainPlayView.coffee
+++ b/app/views/play/MainPlayView.coffee
@@ -319,6 +319,13 @@ playerCreated = [
     image: '/file/db/level/526711d9add4f8965f000002/hunter_triplets_icon.png'
     description: 'There is a horde of ogres marching on your village.  Stay out of reach and use your bow to take them out! - by Danny Whittaker'
   }
+  {
+    name: "IFC - Videira"
+    difficulty: 3
+    id: 'ifc-videira'
+    image: '/file/db/level/52602ecb026e8481e7000001/generic_1.png'
+    description: 'A level inspired by IFC Videira. - by Leonardo Meneguzzi.'
+  }
 ]
 
 campaigns = [
diff --git a/app/views/play/WorldMapView.coffee b/app/views/play/WorldMapView.coffee
index 79e6727ca..50c3f68ed 100644
--- a/app/views/play/WorldMapView.coffee
+++ b/app/views/play/WorldMapView.coffee
@@ -10,6 +10,8 @@ MusicPlayer = require 'lib/surface/MusicPlayer'
 storage = require 'lib/storage'
 AuthModal = require 'views/modal/AuthModal'
 
+trackedHourOfCode = false
+
 class LevelSessionsCollection extends CocoCollection
   url: ''
   model: LevelSession
@@ -70,6 +72,12 @@ module.exports = class WorldMapView extends RootView
     @listenTo me, 'change:spent', -> @renderSelectors('#gems-count')
     window.tracker?.trackEvent 'World Map', Action: 'Loaded', ['Google Analytics']
 
+    # If it's a new player who didn't appear to come from Hour of Code, we register her here without setting the hourOfCode property.
+    elapsed = (new Date() - new Date(me.get('dateCreated')))
+    if not trackedHourOfCode and not me.get('hourOfCode') and elapsed < 5 * 60 * 1000
+      $('body').append($('<img src="http://code.org/api/hour/begin_codecombat.png" style="visibility: hidden;">'))
+      trackedHourOfCode = true
+
   destroy: ->
     @setupManager?.destroy()
     $(window).off 'resize', @onWindowResize
diff --git a/app/views/play/level/PlayLevelView.coffee b/app/views/play/level/PlayLevelView.coffee
index 6f7e7b44a..e9e26ad55 100644
--- a/app/views/play/level/PlayLevelView.coffee
+++ b/app/views/play/level/PlayLevelView.coffee
@@ -93,8 +93,6 @@ module.exports = class PlayLevelView extends RootView
   constructor: (options, @levelID) ->
     console.profile?() if PROFILE_ME
     super options
-    if not me.get('hourOfCode') and @getQueryVariable 'hour_of_code'
-      @setUpHourOfCode()
 
     @isEditorPreview = @getQueryVariable 'dev'
     @sessionID = @getQueryVariable 'session'
@@ -114,12 +112,6 @@ module.exports = class PlayLevelView extends RootView
       @load()
       application.tracker?.trackEvent 'Started Level Load', level: @levelID, label: @levelID, ['Google Analytics']
 
-  setUpHourOfCode: ->
-    me.set 'hourOfCode', true
-    me.patch()
-    $('body').append($('<img src="http://code.org/api/hour/begin_codecombat.png" style="visibility: hidden;">'))
-    application.tracker?.trackEvent 'Hour of Code Begin', {}
-
   setLevel: (@level, givenSupermodel) ->
     @supermodel.models = givenSupermodel.models
     @supermodel.collections = givenSupermodel.collections
@@ -152,10 +144,6 @@ module.exports = class PlayLevelView extends RootView
   getRenderData: ->
     c = super()
     c.world = @world
-    if me.get('hourOfCode') and me.get('preferredLanguage', true) is 'en-US'
-      # Show the Hour of Code footer explanation until it's been more than a day
-      elapsed = (new Date() - new Date(me.get('dateCreated')))
-      c.explainHourOfCode = elapsed < 86400 * 1000
     c
 
   afterRender: ->
@@ -606,7 +594,7 @@ module.exports = class PlayLevelView extends RootView
   #   Current real-time multiplayer session
   #   Internal multiplayer create/joined/left events
   #
-  # Real-time state variables. 
+  # Real-time state variables.
   # Each Ref is Firebase reference, and may have a matching Data suffixed variable with the latest data received.
   #   @realTimePlayerRef - User's real-time multiplayer player for this level
   #   @realTimePlayerGameRef - User's current real-time multiplayer player game session
@@ -727,7 +715,7 @@ module.exports = class PlayLevelView extends RootView
 
       @realTimeSessionRef = new Firebase "#{@multiplayerFireHost}multiplayer_level_sessions/#{@levelID}/#{e.realTimeSessionID}"
       @realTimePlayersRef = @realTimeSessionRef.child 'players'
-      
+
       # Look for opponent
       @realTimeSessionRef.once 'value', (multiplayerSessionSnapshot) =>
         if @realTimeSessionData = multiplayerSessionSnapshot.val()
@@ -751,7 +739,7 @@ module.exports = class PlayLevelView extends RootView
           console.error 'Could not lookup multiplayer session data.'
         @realTimeSessionRef.on 'value', @onRealTimeSessionChanged
 
-      @realTimePlayerGameRef = @realTimeSessionRef.child "players/#{me.id}" 
+      @realTimePlayerGameRef = @realTimeSessionRef.child "players/#{me.id}"
 
     # TODO: Follow up in MultiplayerView to see if double joins can be avoided
     # else
@@ -817,7 +805,7 @@ module.exports = class PlayLevelView extends RootView
     unless @realTimeSessionRef?
       console.error 'Real-time multiplayer cast without multiplayer session.'
       return
-    unless @realTimeSessionData? 
+    unless @realTimeSessionData?
       console.error 'Real-time multiplayer cast without multiplayer data.'
       return
     unless @realTimePlayersData?
diff --git a/app/views/play/level/modal/HeroVictoryModal.coffee b/app/views/play/level/modal/HeroVictoryModal.coffee
index 84e77ef26..1e20eb431 100644
--- a/app/views/play/level/modal/HeroVictoryModal.coffee
+++ b/app/views/play/level/modal/HeroVictoryModal.coffee
@@ -80,7 +80,7 @@ module.exports = class HeroVictoryModal extends ModalView
             @readyToContinue = true
             @updateSavingProgressStatus()
           me.fetch() unless me.loading
-            
+
     @readyToContinue = true if not @achievements.models.length
 
   getRenderData: ->
@@ -117,6 +117,23 @@ module.exports = class HeroVictoryModal extends ModalView
       {key: 'continue', link: @continueLevelLink, 'choice-explicit': 'next_level', 'choice-implicit': 'just_right'}
       {key: 'more_practice', link: @morePracticeLevelLink, 'choice-explicit': 'more_practice', 'choice-implicit': 'too_hard'}
     ]
+
+    elapsed = (new Date() - new Date(me.get('dateCreated')))
+    isHourOfCode = me.get('hourOfCode') or elapsed < 120 * 60 * 1000
+    # Later we should only check me.get('hourOfCode'), but for now so much traffic comes in that we just assume it.
+    if isHourOfCode
+      # Show the Hour of Code "I'm Done" tracking pixel after they played for 20 minutes
+      enough = elapsed >= 20 * 60 * 1000
+      tooMuch = elapsed > 120 * 60 * 1000
+      showDone = elapsed >= 30 * 60 * 1000 and not tooMuch
+      if enough and not tooMuch and not me.get('hourOfCodeComplete')
+        $('body').append($('<img src="http://code.org/api/hour/finish_codecombat.png" style="visibility: hidden;">'))
+        me.set 'hourOfCodeComplete', true  # Note that this will track even for players who don't have hourOfCode set.
+        me.patch()
+        window.tracker?.trackEvent 'Hour of Code Finish', {}
+      # Show the "I'm done" button between 30 - 120 minutes if they definitely came from Hour of Code
+      c.showHourOfCodeDoneButton = me.get('hourOfCode') and showDone
+
     return c
 
   afterRender: ->
diff --git a/app/views/play/modal/PlayHeroesModal.coffee b/app/views/play/modal/PlayHeroesModal.coffee
index 3dec5461a..6fce8b46a 100644
--- a/app/views/play/modal/PlayHeroesModal.coffee
+++ b/app/views/play/modal/PlayHeroesModal.coffee
@@ -35,7 +35,7 @@ module.exports = class PlayHeroesModal extends ModalView
     @confirmButtonI18N = options.confirmButtonI18N ? "common.save"
     @heroes = new CocoCollection([], {model: ThangType})
     @heroes.url = '/db/thang.type?view=heroes'
-    @heroes.setProjection ['original','name','slug','soundTriggers','featureImage','gems','heroClass','description','components','extendedName','unlockLevelName','i18n']
+    @heroes.setProjection ['original','name','slug','soundTriggers','featureImage','featureImageHair','featureImageThumb','gems','heroClass','description','components','extendedName','unlockLevelName','i18n']
     @heroes.comparator = 'gems'
     @listenToOnce @heroes, 'sync', @onHeroesLoaded
     @supermodel.loadCollection(@heroes, 'heroes')
diff --git a/server/levels/thangs/thang_type_handler.coffee b/server/levels/thangs/thang_type_handler.coffee
index 088d6a454..e6a537e69 100644
--- a/server/levels/thangs/thang_type_handler.coffee
+++ b/server/levels/thangs/thang_type_handler.coffee
@@ -23,6 +23,9 @@ ThangTypeHandler = class ThangTypeHandler extends Handler
     'raster'
     'rasterIcon'
     'featureImage'
+    'featureImageHair'
+    'featureImageThumb'
+    'dollImages'
     'spriteType'
     'i18nCoverage'
     'i18n'
diff --git a/server/payments/payment_handler.coffee b/server/payments/payment_handler.coffee
index 989df7bee..ccd2e206f 100644
--- a/server/payments/payment_handler.coffee
+++ b/server/payments/payment_handler.coffee
@@ -271,7 +271,7 @@ PaymentHandler = class PaymentHandler extends Handler
 
   sendPaymentHipChatMessage: (options) ->
     try
-      message = "#{options.user?.get('name')} bought #{options.payment?.get('amount')} via #{options.payment?.get('service'}."
+      message = "#{options.user?.get('name')} bought #{options.payment?.get('amount')} via #{options.payment?.get('service')}."
       hipchat.sendHipChatMessage message
     catch e
       log.error "Couldn't send HipChat message on payment because of error: #{e}"